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ąć?
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.
2. Ustawiłem maksymalny dostępny stopień kompresji. Czy jest szansa na to, by rezultaty pakowania były jeszcze lepsze?
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 |
Rozmiar |
Czas kompresji |
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. |
Jak widać, stosunkowo niewielkim kosztem wydłużenia czasu kompresji zyskujemy całkiem sporo.
3. W trakcie dekompresji archiwum okazało się, że jeden z plików jest uszkodzony. Czy mogę go w jakiś sposób odzyskać?
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.
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?
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?
|
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% !