Kompresja i archiwizacja
danych
Archiwizacja danych
Archiwizacja danych to proces
wykonywania kopii danych w celu
zabezpieczenia ich przed utratą
wskutek np. awarii sprzętu lub
oprogramowania czy skasowanie ich
przez użytkownika. Pod pojęciem
archiwizacji rozumie się również
proces przenoszenia danych z
systemów komputerowych na inne
nośniki.
Aby zmniejszyć objętość takich danych
poddawane są one najczęściej
kompresji. Istnieje oprogramowanie
ułatwiające wykonywanie takich kopii
oraz odtwarzanie.
Kompresja danych
Za twórcę uważa się Claude’a Shannona,
który pracował nad komunikacją,
informacją i sposobem przesyłania i
przechowywania danych. Należy jednak
zwrócić uwagę, że prawdziwym
prekursorem kompresji i zarazem autorem
jej skuteczności był Samuel Morse.
Kompresja danych jest technologią, która
pozwala na zmniejszenie ich objętości bez
uszczerbku dla zawartej w nich informacji.
Polega w uproszczeniu, na wyszukaniu
w zbiorze danych często
powtarzających się znaków lub
ciągów znaków i zastąpieniu ich
takim zapisem, który zajmuje
znacznie mniej miejsca. Wyróżnić
możemy dwa rodzaje kompresji:
Ilościowa (bezstratna)
Jakościowa (stratna)
Rodzaje kompresji:
Kompresja ilościowa
(bezstratna)
Kompresja jakościowa
(stratna)
W przypadku wielokrotnej
kompresji i dekompresji
nie powodują utraty
danych żadnej części
informacji. Dane są
wiernie zakodowywane i
rozkodowywane. Zwykle
wykorzystuje się w tym
celu częstsze
występowanie pewnych
kodów w całym lub części
pliku.
Kompresja jakościowa
jest stosowana w
popularnych formatach
zapisu obrazów lub
dźwięków oraz
urządzeniach
audiowizualnych i
powoduje, najczęściej
niezauważalną dla
naszych zmysłów,
utratę szczegółów.
Kody te zapisuje się
jako ciągi bitowe o
długości odwrotnie
proporcjonalnej do
częstości
występowania.
W zamian uzyskuje
się bardzo wysoki
współczynnik
kompresji.
Współczynnik kompresji jest miarą
stosunku rozmiaru pliku pierwotnego
do jego rozmiaru po kompresji. Jeśli
plik kompresji jest dwa razy mniejszy
od pierwotnego to oznacza to, że
współczynnik kompresji wynosi
2:1.większy współczynnik np. 3:1
oznacza silniejszą kompresję. Dla
różnych typów plików istnieją różne
współczynniki
kompresji.
Współczynniki kompresji:
•
Pliki tekstowe
– pliki tworzone przez
edytory kompresują się dobrze.
•
Pliki baz danych
– pliki tworzone przez
programy np. Access firmy Microsoft,
FileMarker for Windows i podobne, mają
zwykle wysoki współczynnik kompresji.
•
Pliki graficzne
– do najlepiej
kompresujących się plików graficznych
należą pliki grafiki bitowej BMP.
Statystyczne kodowanie
Davida
Huffmana
•
Jest najczęściej stosowanym kodowaniem
algorytmem w programach kompresujących.
Jej celem jest ułożenie kodu o zmiennej
długości słowa, dopasowanego do
zawartości zbioru danych. Procedura
rozpoczyna się od zebrania statystyki
wystąpień poszczególnych bajtów w całym
zborze. Drugi etap polega na zbudowaniu
drzewa binarnego. Drzewo tworzy się, łącząc
kolejno w pary elementy o najmniejszej
liczbie powtórzeń.
Wygenerowanie nowego kodu dla
wybranego znaku następuje w wyniku
przejścia drogi od wierzchołka drzewa
do odpowiedniego liścia, przy czym
każdy krok w lewą stronę powoduje
dodanie do słowa kodowego zera, krok
w prawo – jedynki. Powstający w ten
sposób unikatowy alfabet kodu musi
być dołączony do kompresowanego
zbioru.
•
Metoda Shanon-fano działa na
podobnej zasadzie, co Huffmana.
Polega na tym samym, mniej
efektywnym sposobie budowania
drzewa binarnego – od wierzchołka
do liści. Związku z tym, iż działanie
takiego algorytmu doprowadza do
powstania takiego samego drzewa
jak w metodzie Huffmana.
Kodowanie statyczne ma następujące
wady:
•
Odkodowanie wymaga przesłania do
pliku wyjściowego informacji, jak
wygląda drzewo, co w przypadku
małych plików jest nieopłacalne,
samo zapisanie informacji potrzebnej
do dekompresji spowoduje
zwiększenie pliku.