Kompresja danych (FAQ) 2000-10-30 (10:13)
Kompresja danych (FAQ)
1. Na czym polega kompresja w "ciągłym" trybie i jakie korzyści mogę dzięki niej osiągnąć?
2. Ustawiłem maksymalny dostępny stopień kompresji. Czy jest szansa na to, by rezultaty pakowania były jeszcze lepsze?
3. W trakcie dekompresji archiwum okazało się, że jeden z plików jest uszkodzony. Czy mogę go w jakiś sposób odzyskać?
4. Zapomniałem hasła do jednego z moich zaszyfrowanych archiwów. Czy mogę w jakiś sposób zdekodować znajdujące się w nim pliki?
5. Posiadam dużo plików w formacie JPEG. Próbowałem je kompresować, ale efekty były bardzo mizerne. Dlaczego?
W trakcie pracy w tym trybie pracy archiwizer traktuje wszystkie pliki dołączane do tworzonego archiwum jako jeden strumień danych. Algorytm ten wspaniale spisuje się przy kompresji wielu małych plików bądź zbiorów o podobnej zawartości. Dzięki temu rezultaty kompresji mogą być do kilkudziesięciu procent lepsze niż przy pracy w klasycznym systemie. Wadą tego rozwiązania jest nieco większe obciążenie systemu ze względu na konieczność jednoczesnego operowania na większych zbiorach danych oraz dłuższy czas dostępu do pojedynczych plików znajdujących się w tak przygotowanym archiwum.
[na początek]
Jeżeli to możliwe, zwiększmy do maksimum rozmiar słownika (dictionary). Spowoduje to co prawda wzrost zapotrzebowania na pamięć wymaganą zarówno w czasie kompresji, jak i dekompresji, ale jednocześnie zwiększy stopień kompresji. Spójrzmy na rezultaty archiwizacji programem WinAce katalogu z grą "Star trek: Armada" w zależności od zdefiniowanego rozmiaru słownika:
Rozmiar słownika
Rozmiar archiwum (MB)
Czas kompresji (min.)
32K
58,56
3:38
64K
57,72
3:47
128K
56,76
3:55
256K
55,71
4:01
512K
54,89
4:07
1024K
54,25
4:13
2048K
53,99
4:21
4096K
53,80
4:34
Po zwiększeniu rozmiaru słownika do 4MB archiwum zmniejszyło swą wielkość o 5 megabajtów. Koszt? Wydłużenie czasu kompresji o minutę.
Jak widać, stosunkowo niewielkim kosztem wydłużenia czasu kompresji zyskujemy całkiem sporo.
Jeżeli archiwum zostało zabezpieczone za pomocą mechanizmów ochrony danych, a uszkodzenie jest nieznaczne, istnieje duża szansa na to, że wyjdziemy z tego bez szwanku. Bądźmy ostrożni przy wykorzystywaniu trybu "ciągłego" do przechowywania ważnych danych. Ze względu na to, że algorytm traktuje wszystkie dane jako jeden wielki zbiór, uszkodzenie któregokolwiek z nich powoduje niemożność rozpakowania plików znajdujących się za nim.
Niestety, nie ma możliwości dekompresji zaszyfrowanego archiwum bez znajomości hasła. W przypadku krótszych haseł możliwe jest jego odkrycie przy wykorzystaniu metod "brute force", polegających na testowaniu wszystkich kombinacji znaków w nadziei na trafienie na tę właściwą. Dostępny jest całkiem pokaźny zbiór narzędzi tego typu.
5. Posiadam dużo plików w formacie JPEG. Próbowałem je skompresować, ale efekty były bardzo mizerne. Dlaczego?
Kompresja plików MP3 i JPEG.
Archiwizer
Współczynnikkompresji plików w formacie MP3(%)
Współczynnikkompresji plików w formacie JPEG(%)
WinAce
99,42
97,90
WinRAR
99,33
97,58
WinZIP
99,60
99,57
Formaty MP3 oraz JPEG ze względu na własne algorytmy kompresji opornie poddają się późniejszym próbom archwizacji.
Pliki w tym formacie są już skompresowane, stąd też próba ich kompresji nie przyniesie pozytywnych rezultatów. Z podobnych powodów nie ma sensu próba kompresji plików muzycznych MP3 czy też filmów w formacie MPEG. Spójrzmy na efekt kompresji dla trzech wybranych archiwizerów. Oszczędność dla plików JPEG nie przekroczyła 3%, natomiast dla MP3 zysk wyniósł średnio 0,5% !
Zobacz także:Test porównawczy ośmiu archiwizerów
TECH-KOMP