Ukladanie dát v počítači, kompresia

 

V nasledujúcich súboroch je uložená informácia: „Toto je pokusný text pre prednášku z Informatiky pre manažérov“

 

priklad.txt                                         62 B

priklad.doc                                 19 456 B

priklad.zip                                       179 B

prikladdoc.zip                               1 782 B

priklad.gif                                     2 340 B

priklad.wav                               148 778 B

 

txt - ASCII

 

doc

 

 

gif

 

1Byte = 8bitov = 256 možností

2Byty = 16bitov = 65 536 možností

4bity = 16 možností

 

Napr. číslo 41h (100 0001b) môže znamenať v súbore:

o        číslo 65, číslo 41

o        časť čísla (ako keď zo 150 zoberiete číslo/číslicu „5“)

o        písmeno A

o        modrú farbu – alebo inú

o        že nasledujúci znak/číslo/slovo bude zobrazené tučne/podčiarknuto/...

o        že program pokračuje o 65 bytov ďalej 

o        ... (hocičo iné)

                                                                   

V súboroch sa preto ukladajú (môžu ukladať) nielen zadané dáta ale aj ich popis - štruktúra.

 

Ak súbor neobsahuje informácie popisujúce štruktúru, sú nasledujúce možnosti

o        aplikácia pozná štruktúru dát

o        aplikácia môže získať informácie o štruktúre, napr. z kodeku

o        súbor je nepoužiteľný

 

 

Príklad dát bez popisu: 333333 – čo to len môže znamenať?

 

 

 

Kompresia, pakovanie, komprimácia, balenie, zipovanie, rarovanie

 

je postup, pri ktorom z jedného alebo viacerých  súborov, získame jeden súbor (archív), ktorého veľkosť je menšia ako súčet veľkostí pakovaných súborov.

 

poznámky k definícií“:

o        predpokladá sa, že sa zachová informačná hodnota – aspoň na istej úrovni

o        nie vždy je archív menší

o        niekedy sa archív skladá z viacerých súborov

o        väčšinou sú súbory v archíve priamo nepoužiteľné, treba najskôr rozpakovať

 

kompresie delíme podľa

zachovania informácií

o        stratová

o        bezstratová

náročnosti (času) kompresie

o        symetrická

o        asymetrická

o        rýchlejšie komprimuje

o        rýchlejšie dekomprimuje

 

Metódy

RLE Run-Length Encoding

 

Biela - 1, Žltá – 2

 

1,1,1,1,1,1,1,1,1,1,1 pakujem 11,1 alebo &,11,1 

1,1,1,1,2,2,2,2,2,2,1 pakujem 4,1,6,2,1,1 alebo &,4,1,&,6,2,1

 

 

 

 

 

 

text: aabacaaddbaa     

ak znak = byte ==> text =12bytov

pretože máme 4 znaky ==> každý („spravodlivo“) znak = 2bity ==> text = 3byty

Huffmanovo kódovanie frekvenčný slovník = a – 7x, b – 2x, d – 2x, c – 1x

Spravodlivejšie a = 0, b = 10, d = 110, c=111 ==> text=2,5bytu

 

 

Využitie vzoriek

 

  - 1

*          - 2

* -3

 - 4

1, 1, 1, 4, 2, 2, 3, 3, 2, 3, 4

 

LZ, LZW Lempel-Ziv-Welsh

text: aababaababaa

vzorky v slovníku napr: aa-1, bab-2; výsledok: 12121

 

Ak nechceme do archívu pridávať aj slovník, možno uviesť vždy prvý výskyt a potom iba odkaz naň.

výsledok: aa&bab&1&2&1

 

 

Parametre pre porovnávanie kompresných programov

o       veľkosť archívu

o       rýchlosť

o       pomer veľkosti archívu a rýchlosti k zachovaným informáciám – pri stratových kompresiách

 

 

 

Najpoužívanejšie pakovače:

o       WinArj

o       WinZip

o       PowerArchiver

o       WinAce