Kompresja bezstratna
Transkrypt
Kompresja bezstratna
Wrocław, dnia 27 marca 2009 Dawid Twardowski Kompresja bezstratna 1. Kompresja bezstratna plików graficznych Nieskompresowany plik graficzny TIFF poddajemy kompresji bezstratnej na trzech różnych programach: GIMP 2, Photoshop CS2, Corel Paint Shop Pro X2. LindaDumas.tif – rozmiar: 38 479 980 bajtów, rozdzielczość: 4794x2674 TIFF - komputerowy format plików graficznych. Służy do zapisywania grafiki bitmapowej. Format TIFF pozwala na zapisywanie obrazów stworzonych w trybie kreskowym, skali szarości oraz w wielu trybach koloru i wielu głębiach bitowych koloru. Przechowuje ścieżki i kanały alfa, profile koloru, komentarze tekstowe. TIFF umożliwia stosowanie kompresji bezstratnej typu LZW oraz CCITT Group 4. Aparaty cyfrowe zapisują zdjęcia w nieskompresowanym formacie TIFF. Zwykle są to pliki o dużej pojemności, które zajmują dużo miejsca na dyskach. Poniższy test pokazuje jak najlepiej zmniejszyć wielkość takich plików, nie tracąc przy tym jakości i tym samym nie zapychać miejsca na dysku. I. Program do kompresji TIFF używający algorytmu LZW, dający pliki o najmniejszym rozmiarze. LZW (ang. Lempel Zif Welsh) - algorytm kompresji przeznaczony dla obrazów bitmapowych. LZW jest kompresją bezstratną - mimo zmniejszenia objętości pliku graficznego zachowana jest pełna informacja o geometrii i kolorystyce obrazu Nazwa programu GIMP 2 Photoshop CS2 Corel Paint Shop Pro X2 Rozmiar zdjęcia przed kompresją [bajty] Rozmiar zdjęcia po kompresji [bajty] Stosunek oryginalnego zdjęcia do zdjęcia po kompresji [%] 38 479 980 10 858 026 28,22 % 38 479 980 10 894 664 28,31 % 38 479 980 11 155 289 28,99 % Wniosek: Najlepszym programem do kompresji bezstratnej plików z rozszerzeniem TIFF, używającym algorytmu LZW jest GIMP 2. II. Algorytm kompresji bezstratnej na przykładzie formatu TIFF, dająy najmniejszy rozmiar. Nazwa programu Algorytm kompresji Rozmiar zdjęcia przed kompresją [bajty] Rozmiar zdjęcia po kompresji [bajty] Stosunek oryginalnego zdjęcia do zdjęcia po kompresji [%] GIMP 2 GIMP 2 Photoshop CS2 Photoshop CS2 Corel Paint Shop Pro X2 LZW Deflacja 38 479 980 38 479 980 10 858 026 9 829 290 28,22 % 25,54 % LZW 38 479 980 10 894 664 28,31 % ZIP 38 479 980 9 306 188 24,18 % LZW 38 479 980 11 155 289 28,99 % Wniosek: Programem umożliwiającym kompresję bezstratną o najmniejszym rozmiarze pliku (wśród testowanych programów) jest Photoshop CS2 używający algorytmu ZIP. 2. Kompresja bezstratna arkuszy kalkulacyjnych (Excel). Tworzymy dwa podobne arkusze kalkulacyjne w programie Excel, z tą różnicą, że w pierwszym są wpisane same litery, a w drugim same liczby. Oba pliki mają ten sam rozmiar. Później poddajemy każdy plik z osobna kompresji w programie WinRAR. Arkusz Rozmiar pliku przed kompresją [bajty] Rozmiar pliku po kompresji [bajty] Stosunek oryginalnego pliku do pliku po kompresji [%] Litery Liczby 14 366 14 366 1 803 1 687 12,55 % 11,74 % Wniosek: Arkusz kalkulacyjny z liczbami (chociaż posiadał więcej znaków) został skompresowany do mniejszego rozmiaru niż arkusz z literami. 3. Test programów do kompresji plików. Znajdujemy pliki. Dwa dokumenty (jeden o dużym rozmiarze i jeden o małym zawierające sam tekst), dwa zdjęcia (jedno o dużym rozmiarze i jedno o małym) oraz jeden plik .doc zawierający tekst razem ze zdjęciami. Wszystkie pliki poddajemy różnym kompresją w programach: 7-Zip, PowerArchiver, UltiamateZip, WinRAR oraz ZipGenius. Legenda: kolor żółty – najlepszy wynik kolor szary – najlepszy wynik w obrębie jednego programu kolor czerwony – najgorszy wynik Dokument doc Duży rozmiar pliku Nazwa programu 7-Zip PowerArchiver UltimateZip WinRAR ZipGenius Rozszerzenie Rozmiar pliku przed kompresją [bajty] Rozmiar pliku po kompresji [bajty] Stosunek oryginalnego pliku do pliku po kompresji [%] .zip 392 192 77 770 19,82957 % .7z 392 192 64 422 16,42614 % .bz2 392 192 69 514 17,72448 % .gz 392 192 77 678 19,80612 % .zip 392 192 85 370 21,7674 % .cab 392 192 71 226 18,161 % .7z 392 192 64 422 16,42614 % .lzh 392 192 90 441 23,06039 % .bh 392 192 85 178 21,71844 % .zip 392 192 85 252 21,73731 % .cab 392 192 84 292 21,49253 % .jar 392 192 85 252 21,73731 % .lzh 392 192 90 441 23,06039 % .7z 392 192 64 307 16,39682 % .bh 392 192 85 178 21,71844 % .zip 392 192 84 476 21,53945 % .rar 392 192 60 450 15,41337 % .zip 392 192 85 252 21,73731 % .cab 392 192 71 226 18,161 % .sqx 392 192 81 379 20,74979 % 3 3 2 1 UltimateZip PowerArchiver 7-Zip Program WinRAR ZipGenius Stosunek oryginalnego pliku do pliku po kompresji (dokument - duży rozmiar) .sqx .cab .zip .rar .zip .bh .7z .lzh .jar .cab .zip .bh .lzh .7z .cab .zip .gz .bz2 .7z .zip 0,00% Stosunek oryginalnego pliku do pliku po kompresji 5,00% 10,00% 15,00% 20,00% 25,00% Wartość procentowa Wniosek: Najlepszy wynik przy kompresji dużych plików tekstowych osiągnął program WinRAR z rozszerzeniem .rar (plik o rozmiarze 392 192 bajtów skompresował do 60 450 bajtów). Najgorszy wynik osiągnął program UltimataZip oraz PowerArchiver z rozszerzeniem .lzh (plik o rozmiarze 392 192 bajtów skompresowały do 90 441 bajtów). Ogólnie dokumenty zawierające tekst najlepiej kompresować do rozszerzeń .rar oraz .7z. doc Mały rozmiar pliku Nazwa programu 7-Zip PowerArchiver UltimateZip WinRAR ZipGenius Rozszerzenie Rozmiar pliku przed kompresją [bajty] Rozmiar pliku po kompresji [bajty] Stosunek oryginalnego pliku do pliku po kompresji [%] .zip 23 040 3 536 15,34722 % .7z 23 040 3 210 13,93229 % .bz2 23 040 3 633 15,76823 % .gz 23 040 3 446 14,9566 % .zip 23 040 3 820 16,57986 % .cab 23 040 3 472 15,06944 % .7z 23 040 3 210 13,93229 % .lzh 23 040 3 670 15,92882 % .bh 23 040 3 638 15,78993 % .zip 23 040 3 710 16,10243 % .cab 23 040 3 676 15,95486 % .jar 23 040 3 710 16,10243 % .lzh 23 040 3 696 16,04167 % .7z 23 040 3 227 14,00608 % .bh 23 040 3 638 15,78993 % .zip 23 040 3 532 15,32986 % .rar 23 040 3 710 16,10243 % .zip 23 040 3 710 16,10243 % .cab 23 040 3 472 15,06944 % .sqx 23 040 3 701 16,06337 % 1 3 1 2 UltimateZip PowerArchiver 7-Zip Program WinRAR ZipGenius Stosunek oryginalnego pliku do pliku po kompresji (dokument - mały rozmiar) .sqx .cab .zip .rar .zip .bh .7z .lzh .jar .cab .zip .bh .lzh .7z .cab .zip .gz .bz2 .7z .zip 12,00% Stosunek oryginalnego pliku do pliku po kompresji 13,00% 14,00% 15,00% 16,00% 17,00% Wartość procentowa Wniosek: Najlepszy wynik przy kompresji małych plików tekstowych osiągnął program 7Zip oraz PowerArchiver z rozszerzeniem .7z (plik o rozmiarze 23 040 bajtów skompresował do 3 210 bajtów). Najgorszy wynik osiągnął program PowerArchiver z rozszerzeniem .zip (plik o rozmiarze 23 040 bajtów skompresował do 3 820 bajtów). Ogólnie dokumenty zawierające tekst o małym rozmiarze najlepiej kompresować do rozszerzeń .7z. Zdjęcie jpg Duży rozmiar Nazwa programu 7-Zip PowerArchiver UltimateZip WinRAR ZipGenius Rozszerzenie Rozmiar pliku przed kompresją [bajty] Rozmiar pliku po kompresji [bajty] Stosunek oryginalnego pliku do pliku po kompresji [%] .zip 3 157 110 3 141 284 99,49872 % .7z 3 157 110 3 156 756 99,98879 % .bz2 3 157 110 3 118 682 98,78281 % .gz 3 157 110 3 141 193 99,49584 % .zip 3 157 110 3 148 670 99,73267 % .cab 3 157 110 3 139 829 99,45263 % .7z 3 157 110 3 157 110 100 % .lzh 3 157 110 3 157 149 100,0012 % .bh 3 157 110 3 148 483 99,72674 % .zip 3 157 110 3 148 556 99,72906 % .cab 3 157 110 3 146 814 99,67388 % .jar 3 157 110 3 148 556 99,72906 % .lzh 3 157 110 3 157 149 100,0012 % .7z 3 157 110 3 156 424 99,97827 % .bh 3 157 110 3 148 483 99,72674 % .zip 3 157 110 3 145 789 99,64141 % .rar 3 157 110 3 150 541 99,79193 % .zip 3 157 110 3 157 232 100,0039 % .cab 3 157 110 3 139 829 99,45263 % .sqx 3 157 110 3 152 390 99,8505 % 3 1 2 2 UltimateZip PowerArchiver 7-Zip Program WinRAR ZipGenius Stosunek oryginalnego pliku do pliku po kompresji (zdjęcie - duży rozmiar) .sqx .cab .zip .rar .zip .bh .7z .lzh .jar .cab .zip .bh .lzh .7z .cab .zip .gz .bz2 .7z .zip 98,00% Stosunek oryginalnego pliku do pliku po kompresji 98,50% 99,00% 99,50% 100,00% 100,50% Wartość procentowa Wniosek: Najlepszy wynik przy kompresji dużych plików jpg osiągnął program 7Zip z rozszerzeniem .bz2 (plik o rozmiarze 3 157 110 bajtów skompresował do 3 118 682 bajtów). Najgorszy wynik osiągnął program ZipGenius z rozszerzeniem .zip (plik o rozmiarze 3 157 110 bajtów skompresował do 3 157 232 bajtów). Ogólnie pliki JPG o dużym rozmiarze najlepiej kompresować do rozszerzeń .bz2. jpg Mały rozmiar Nazwa programu 7-Zip PowerArchiver UltimateZip WinRAR ZipGenius Rozszerzenie Rozmiar pliku przed kompresją [bajty] Rozmiar pliku po kompresji [bajty] Stosunek oryginalnego pliku do pliku po kompresji [%] .zip 385 688 383 979 99,5569 % .7z 385 688 386 795 100,287 % .bz2 385 688 382 455 99,16176 % 1 .gz 385 688 383 455 99,42103 % 2 .zip 385 688 384 774 99,76302 % .cab 385 688 384 681 99,73891 % .7z 385 688 386 795 100,287 % .lzh 385 688 385 727 100,0101 % .bh 385 688 384 587 99,71454 % .zip 385 688 384 660 99,73346 % .cab 385 688 384 238 99,62405 % .jar 385 688 384 660 99,73346 % .lzh 385 688 385 727 100,0101 % .7z 385 688 386 793 100,2865 % .bh 385 688 384 587 99,71454 % .zip 385 688 384 156 99,60279 % .rar 385 688 385 034 99,83043 % .zip 385 688 385 810 100,0316 % .cab 385 688 385 857 100,0438 % .sqx 385 688 385 262 99,88955 % 3 UltimateZip PowerArchiver 7-Zip Program WinRAR ZipGenius Stosunek oryginalnego pliku do pliku po kompresji (zdjęcie - mały rozmiar) .sqx .cab .zip .rar .zip .bh .7z .lzh .jar .cab .zip .bh .lzh .7z .cab .zip .gz .bz2 .7z .zip 98,50% Stosunek oryginalnego pliku do pliku po kompresji 99,00% 99,50% 100,00% 100,50% Wartość procentowa Wniosek: Najlepszy wynik przy kompresji małych plików jpg osiągnął program 7Zip z rozszerzeniem .bz2 (plik o rozmiarze 385 688 bajtów skompresował do 382 455 bajtów). Najgorszy wynik osiągnął program 7Zip oraz PowerArchiver z rozszerzeniem .zip (plik o rozmiarze 385 688 bajtów skompresowały do 386 795 bajtów). Ogólnie pliki JPG o małym rozmiarze najlepiej kompresować do rozszerzeń .bz2. doc + jpg Dokument zawierający tekst wraz ze zdjęciem Nazwa programu 7-Zip PowerArchiver UltimateZip WinRAR ZipGenius Rozszerzenie Rozmiar pliku przed kompresją [bajty] Rozmiar pliku po kompresji [bajty] Stosunek oryginalnego pliku do pliku po kompresji [%] .zip 1 826 304 1 782 983 97,62794 % .7z 1 826 304 1 791 417 98,08975 % .bz2 1 826 304 1 776 268 97,26026 % 1 .gz 1 826 304 1 782 894 97,62307 % 2 .zip 1 826 304 1 785 724 97,77803 % .cab 1 826 304 1 785 351 97,7576 % .7z 1 826 304 1 791 417 98,08975 % .lzh 1 826 304 1 785 550 97,7685 % .bh 1 826 304 1 785 547 97,76833 % .zip 1 826 304 1 785 618 97,77222 % .cab 1 826 304 1 785 288 97,75415 % .jar 1 826 304 1 785 618 97,77222 % .lzh 1 826 304 1 785 444 97,76269 % .7z 1 826 304 1 790 638 98,04709 % .bh 1 826 304 1 785 547 97,76833 % .zip 1 826 304 1 785 830 97,78383 % .rar 1 826 304 1 783 037 97,6309 % .zip 1 826 304 1 786 102 97,79872 % .cab 1 826 304 1 826 823 100,0284 % .sqx 1 826 304 1 789 488 97,98413 % 3 UltimateZip PowerArchiver 7-Zip Program WinRAR ZipGenius Stosunek oryginalnego pliku do pliku po kompresji (dokument - tekst + zdjęcie) .sqx .cab .zip .rar .zip .bh .7z .lzh .jar .cab .zip .bh .lzh .7z .cab .zip .gz .bz2 .7z .zip 95,00% Stosunek oryginalnego pliku do pliku po kompresji 96,00% 97,00% 98,00% 99,00% 100,00% 101,00% Wartość procentowa Wniosek: Najlepszy wynik przy kompresji pliku dokumentu zawierającego tekst wraz ze zdjęciem osiągnął program 7Zip z rozszerzeniem .bz2 (plik o rozmiarze 1 826 304 bajtów skompresował do 1 776 268 bajtów). Najgorszy wynik osiągnął program ZipGenius oraz .cab (plik o rozmiarze 1 826 304 bajtów skompresował do 1 826 823 bajtów). Ogólnie wyżej wymienionego rodzaju pliki najlepiej kompresować do rozszerzeń .bz2.