데이터 압축

(파일 압축에서 넘어옴)

데이터 압축데이터를 더 적은 저장 공간에 효율적으로 기록하기 위한 기술, 또는 그 기술의 실제 적용을 가리킨다.

크게 데이터를 더 작은 크기로 변환시키는 인코딩 과정과 저장된 데이터를 다시 불러와 원래 데이터 형태로 복원시키는 디코딩 과정으로 이루어진다. 이때 인코딩하기 전의 데이터 크기와 인코딩하고 나서의 데이터 크기의 비율을 압축률이라고 한다.

압축 기술의 종류에 따라 데이터의 내용을 바꾸지 않고 원래 내용 그대로 디코딩할 수 있는 무손실 압축과 더 높은 압축률을 얻을 수 있지만 디코딩한 데이터의 세부적인 디테일을 일부 희생시키는 손실 압축이 존재한다. 대표적인 무손실 압축 알고리즘에는 반복 길이 부호화허프만 부호화, 산술 부호화 등이 있다. 손실 압축 알고리즘은 인간의 감각 기관의 특성을 역이용하여 압축률을 높이므로, 음성, 정지화상, 동영상 등 데이터의 종류에 따라 각각 다른 알고리즘이 사용된다. MPEG 표준 압축기술이 많이 쓰인다.

압축률 비교 편집

다른 방식의 데이터 압축에 대한 테스트 결과이다. 괄호 안의 숫자는 압축 방식의 순위이다. [1] [2]

  • .htm, .txt와 같은 텍스트 파일은 압축하기 쉬우며 압축률이 높은 경우가 많다.
  • 이미 압축되어 있는 파일들(.rar, .zip과 같은 알려진 압축파일, .mpg, .mp3, .jpg와 같은 멀티미디어 파일)은 더 이상 압축할 여지가 적기 때문에, 한 번 더 압축할 때에는 용량이 크게 줄어들지 않는다. 그러므로 압축률이 낮다고 할 수 있다. 헤더 데이터가 추가되기 때문에, 파일이 오히려 더 커질 가능성도 있다.
다른 방식의 데이터 압축 비교
파일 *.avi *.dll *.doc *.exe *.gif *.htm *.jpg *.mp3 *.mpg *.pdf *.txt *.wav *.zip 표기 총합
파일 수 16 26 138 24 246 79 44 29 8 36 8 1 19   674
처음 크기 5,261,152 5,254,220 5,254,656 5,254,056 5,246,209 5,261,187 5,246,116 5,250,432 5,257,720 5,257,876 5,253,436 5,256,024 5,262,680   68,315,764
7z 4,524,067 (2) 1,543,179 (3) 147,690 (3) 3,910,541 (3) 4 620 354 (1) 341,996 (4) 4,770,061 (4) 5,053,813 (2) 4,879,067 (5) 4,258,863 (3) 1,270,884 (3) 3,670,225 (5) 5,226,742 (14) 16/20 44,217,482
arj 4,696,659 (9) 2,160,530 (15) 1,018,050 (17) 4,130,505 (11) 4,702,449 (12) 898,370 (17) 4,803,740 (11) 5,108,093 (17) 4,910,699 (16) 4,606,736 (15) 1,875,329 (16) 4,450,535 (12) 5,223,905 (13) 6.1/20 48,585,600
bh 4,703,291 (12) 2,156,986 (12) 1,010,284 (15) 4,128,594 (9) 4,693,021 (9) 889,650 (15) 4,806,914 (13) 5,105,811 (13) 4,904,209 (11) 4,601,545 (13) 1,848,972 (13) 4,451,648 (15) 5,201,639 (4) 7.5/20 48,502,564
bz2 4,720,926 (18) 2,095,832 (7) 573,721 (5) 4,273,885 (18) 4,896,084 (18) 645,243 (5) 4,743,918 (2) 5,069,593 (4) 4,888,293 (7) 4,444,829 (5) 1,531,448 (6) 3,771,508 (7) 5,238,677 (16) 11.7/20 46,893,957
bza 4,639,340 (6) 2,166,940 (17) 987,806 (11) 4,231,254 (17) 4,878,327 (17) 783,188 (8) 4,787,973 (7) 5,076,189 (5) 4,873,810 (2) 4,618,970 (17) 1,516,326 (5) 3,770,938 (6) 5,227,572 (15) 9.8/20 47,558,633
cab 4,701,113 (11) 2,148,386 (10) 893,796 (7) 4,127,044 (8) 4,678,810 (5) 842,129 (10) 4,798,500 (8) 5,099,787 (8) 4,900,314 (10) 4,584,969 (8) 1,846,233 (12) 4,451,857 (18) 5,201,717 (5) 10.8/20 48,274,655
gza 4,703,371 (13) 2,157,116 (13) 1,001,990 (13) 4,126,436 (7) 4,693,136 (10) 874,444 (12) 4,803,739 (10) 5,105,765 (12) 4,904,249 (12) 4,597,720 (11) 1,840,188 (11) 4,451,638 (14) 5,201,436 (3) 9.2/20 48,461,228
j 4,678,506 (8) 1,914,777 (5) 703,722 (6) 4,057,445 (5) 4,681,437 (6) 691,916 (6) 4,805,059 (12) 5,092,070 (7) 4,898,847 (8) 4,326,394 (4) 1,629,228 (8) 3,594,954 (4) 5,215,150 (12) 13/20 46,289,505
jar 4,704,088 (14) 2,158,273 (14) 1,017,205 (16) 4,129,816 (10) 4,705,456 (13) 893,622 (16) 4,809,136 (16) 5,107,254 (15) 4,904,615 (13) 4,603,367 (14) 1,849,394 (14) 4,451,718 (16) 5,202,611 (8) 6.2/20 48,536,555
lha 4,711,090 (16) 2,215,476 (18) 1,020,194 (18) 4,204,071 (15) 4,830,501 (15) 913,845 (18) 4,918,792 (19) 5,206,933 (19) 5,066,716 (19) 4,802,049 (19) 1,895,771 (17) 4,447,253 (10) 5,263,136 (18) 6.7/20 49,495,827
lzh 4,711,090 (16) 2,215,476 (18) 1,066,340 (19) 4,143,461 (14) 4,819,157 (14) 971,166 (19) 4,816,349 (18) 5,107,584 (16) 4,924,974 (18) 4,635,416 (18) 1,945,961 (19) 4,449,756 (11) 5,212,837 (11) 5.3/20 49,019,567
pkz 4,899,083 (20) 2,354,373 (20) 1,173,097 (20) 4,401,289 (20) 5,120,590 (19) 1,018,250 (20) 5,162,114 (20) 5,253,006 (20) 5,203,747 (20) 5,076,577 (20) 2,084,290 (20) 5,027,854 (20) 5,264,213 (19) 0.2/20 52,038,483
rar 4,634,009 (5) 1,693,150 (4) 173,313 (4) 3,948,241 (4) 4,639,881 (4) 318,269 (3) 4,780,095 (6) 5,081 085 (6) 4,887,973 (6) 4,258,775 (2) 1,318,381 (4) 2,657,731 (3) 5,202,579 (7) 15.5/20 43,593,482
rk 4,589,894 (3) 1,474,339 (2) 132,629 (1) 3,866,814 (1) 4,628,017 (3) 257,588 (1) 4,434,701 (1) 5,017,545 (1) 4,787,286 (1) 4,498,992 (6) 1,168,720 (1) 1,659,771 (1) 5,183,337 (1) 18.2/20 41,699,633
rs 4,625,725 (4) 2,137,145 (9) 937,954 (10) 4,221,864 (16) 4,850,493 (16) 768,711 (7) 4,776,635 (5) 5,066,886 (3) 4,878,852 (3) 4,612,537 (16) 1,560,879 (7) 3,804,335 (8) 5,240,116 (17) 10.7/20 47,482,132
sqx 4,662,560 (7) 2,078,866 (6) 991,992 (12) 4,105,933 (6) 4,699,518 (11) 878,469 (14) 4,808,697 (15) 5,102,452 (10) 4,908,341 (14) 4,590,245 (10) 1,836,245 (9) 4,415,575 (9) 5,208,275 (10) 9.8/20 48,287,168
gz 4,707,481 (15) 2,165,409 (16) 907,006 (8) 4,133,949 (12) 4,684,949 (7) 861,638 (11) 4,807,701 (14) 5,105,913 (14) 4,909,789 (15) 4,588,822 (9) 1,853,650 (15) 4,451,792 (17) 5,202,392 (6) 7.8/20 48,380,491
uha 4,498,275 (1) 1,474,005 (1) 136,880 (2) 3,879,360 (2) 4,625,014 (2) 284,363 (2) 4,760,572 (3) 5,104,837 (11) 4,879,047 (4) 4,237,400 (1) 1,233,812 (2) 2,435,124 (2) 5,187,408 (2) 17.3/20 44,736,097
yz1 4,814,935 (19) 2,128,899 (8) 924,706 (9) 4,279,162 (19) 4,686,669 (8) 804,198 (9) 4,810,966 (17) 5,124,596 (18) 4,922,886 (17) 4,568,274 (7) 1,901,300 (18) 4,561,179 (19) 5,207,874 (9) 6.4/20 48,735,644
zip 4,701,064 (10) 2,155,923 (11) 1,009,814 (14) 4,135,619 (13) 5,270,565 (20) 877,679 (13) 4,799,508 (9) 5,101,205 (9) 4,898,961 (9) 4,599,883 (12) 1,839,080 (10) 4,450,719 (13) 5,264,564 (20) 7.5/20 49,104,584
압축 크기
중간값
4,701,089 2,152,155 962,880 4,130,160 4,696,327 851,884 4,803,740 5,103,645 4,902,262 4,593,983 1,839,634 4,448,505 5,210,556   48,519,559
압축률
중간값
10.6 % 59.0 % 81.7 % 21.4 % 10.5 % 83.8 % 8.4 % 2.8 % 6.8 % 12.6 % 65.0 % 15.4 % 1.0 %   29.0 %

위에 나온 것들 가운데 가장 좋은 방식을 세 가지 들면, rk, rar 그리고 7z과 같다. WinRKWinRar은 상용 소프트웨어이지만, 7-Zip는 자유 오픈 소스이며 (LGPL 라이선스), 리눅스에서도 동작한다.

같이 보기 편집

각주 편집

  1. Airelle (2007). “압축파일 포맷별 압축률 비교(프랑스어)”. 2010년 3월 12일에 원본 문서에서 보존된 문서. 2010년 2월 1일에 확인함. 
  2. Airelle (2007). “Windows용 압축 프로그램별 압축률 비교(프랑스어)”. 2010년 3월 2일에 원본 문서에서 보존된 문서. 2010년 2월 1일에 확인함.