TopTehnični slovarKompresija

Kompresija

Temeljna vprašanja

 

Izvorni podatki, ki predstavljajo slike in video sekvence in so shranjeni v formatu RGB, vsebujejo nepotrebne in nebistvene informacije. Prve izmed njih je možno rekonstruirati na podlagi drugih podatkov, ki se nanašajo na isto sliko. Po drugi strani pa so nebistvene informacije tiste, katerih odstranitev ne povzroča opaznega poslabšanja kakovost slike. Algoritmi kompresije so oblikovani tako, da lahko samodejno ocenijo, katere informacje, spoznane kot nebistvene, povzročajo deformacije, ki so kar najmanj opazne za opazovalca. Dosežena stopnja kompresije je v veliki meri odvisna od vsebine slike, pa tudi od sprejemljivosti izgube kakovosti slike. Spodnji graf (sl. 1) predstavlja teoretično odvisnost med podatkovnim tokom in deformacijo.

 

Sl. 1. Deformacija slike v funkciji velikosti podatkovnega toka

 

A - Podatkovni tok B - Deformacija

Kompresijo delimo na znotrajslično in medslično. V prvem primeru se kodira celotna posamezna slika neodvisno od drugih sličic v zaporedju. V drugem primeru pa je kodiranje odvisno od predhodnih in naslednjih sličic.

 

Prikaz barv

 

Predmet kompresije so praviloma barvne slike. V monitorju se slike ustvarjajo z mešanjem treh osnovnih barv: rdeče, zelene in modre (RGB). Vsak piksel predstavlja vsoto teh treh komponent. Žal so tako shranjeni podatki zelo obsežni. Glede na naravo človeških oči je bolje shraniti podatke v obliki svetilnosti Y in dveh diferenčnih krominanc Cr in Cb, kjer je:

 

Y = 0.299R + 0.587G + 0.114B,
Cb = 0.564(B-Y), Cr = 0.713(R-Y). 

Bistvo dobitka je to, da je človeško oko najbolj občutljivo na spremembo svetlosti točk, predstavljenih z osvetlitvijo, manj pa na spremembo barve, ki jo predstavlja krominanca. Signal krominance je torej možno podvreči decimaciji. Že v sistemih analogne televizije kot so bili PAL, SECAM in NTSC, se je izkoriščalo to lastnost in je bil namenjen za prenašanje signala barvnosti približno dvakrat manjši pas, ne da bi se opazno zmanjšala kakovost slike.

 

Znotrajslična kompresija

 

Bistvo sodobnih tehnik znotrajslične kompresije je dejstvo, da je spekter video signala visoko koncentriran okoli najnižjih frekvenc. Zadostuje torej izračunati spekter signala in shraniti natančno le majhno število koeficientov, ki so bistveni (pretežno z najnižjimi frekvencami), preostale (večinoma ustrezajoče višjim frekvencam) pa se lahko shrani na zelo majhnem številu bitov.

 

V praksi so slike razdeljene na bloke 8x8 točk in se izračunava kosinusno transformacijo (modificirana Fourierjeva transformacija). Dobljena sekvenca se deli s posebno kvantizirno tabelo. S to operacjo se dobi veliko ponavljajočih se ničel. Dobljeno reprezentanco se shrani v parih tipa: število ničel, vrednosti neničelnega koeficienta. Dobljene rezultate se shrani s pomočjo kodov s spremenljivo dolžino bitov. To pomeni, da se parom, ki se pogosteje pojavljajo, dodeli kode z manjšim številom bitov, tistim, ki se pojavljajo redkeje, pa kode z večjim številom bitov.

 

Medslična kompresija

 

Bistvo medsličnega kodiranje je izkoriščanje dejstva, da sta si prejšnja in naslednja sličica v video sekvenci praviloma zelo podobni. Zato se lahko enostavno samo pošlje napako predvidevanja, torej razliko med sliko in predvidevanjem le-te. V najpreprostejšem primeru se predvideva, da bo naslednja slika enaka predhodni.

 

V naprednejših kodirnikih se za predvidevanja izkorišča kompenzacijo gibanja. Za kvadrate 16x16 vzorcev svetilnosti se poišče njim najbolj podobne kvadrate na naslednji sliki. Razlike med pozicijami teh kvadratov so ravno vektorji gibanja. Z izkoriščanjem kompenzacije gibanja ali ne se, odvisno od kodirnika, generira predvidena slika, ki se primerja z dejansko. Razlika, kodirana podobno kot v primeru znotrajsličnega kodiranja, se pošlje do sprejemnika.

 

Sl. 2. Načelo predvidevanja gibanja v medsličnem kodiranju

 

A - Blok 16x16 pikslov na predhodni sliki B - Najbolj podoben blok 16x16 pikslov na predmetni sliki