TopTechninis žodynasKompresija

Kompresija

Pagrindiniai klausimai

 

Originalūs duomenys, pristatantys vaizdus ir vaizdo sekas įrašyti RGB formate turi nereikalingas ir neesmines informacijas. Pirmas iš jų galima atkurti pagal kitus duomenis, susijusius su šiuo vaizdu. Tačiau neesminės informacijos, tai tokios informacijos, kurias pašalinus nepablogės vaizdas. Kompresijos algoritmai, yra tokiu būdu kuriami, kad automatiškai vertintų, kurios informacijos yra pripažinamos neesminėmis, priveda prie beveik nepastebimo stebėtojui iškraipymo. Pasiekiamas kompresijos lygis, gan stipriai priklauso nuo vaizdo turinio, o taip pat nuo vaizdo kokybės pripažinamo praradimo.. Žemiau pateiktame grafike (1 pieš.) yra pristatyta teoretiška duomenų srauto ir iškraipymo priklausomybė.

 

1 pieš. Vaizdo iškraipymas duomenų srauto dydžio funkcijoje

 

A - Duomenų srautas B - Deformacija

Kompresija skirstome į vidaus vaizdus ir išorės vaizdus. Pirmo kodavimo atveju yra koduojamas visas vaizdas, nepriklausomai nuo likusios kadrų sekos. Kitu atveju, kodavimas yra priklausomas nuo ankstesnių ir vėlesnių kadrų.

 

Spalvų pateikimas

 

Kompresijai nėra taikomi iš esmės spalvoti vaizdai. Monitoriuose vaizdai yra gaunami sumaišius tris pagrindines spalvas: raudoną, žalią ir mėlyną (RGB). Kiekvienas pikselis yra šių trijų komponentų suma. Deja, tokiu būdu išsaugoti duomenys pasižymi didžiule apimtimi. Dėl žmogaus akies specifikos geriau yra išsaugoti duomenis Y skaisčios pavidale, o taip pat dviejų skirtingų spalvotumų Cr ir Cb pavidale.

 

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

Esmė yra tame, kad žmogaus akis labiausiai jautri yra taškų šviesumo pasikeitimui, pristatomų skaisčio, o silpniau spalvų keitimuisi, pristatoma spalvotumo. Tuomet galima vektoriaus signalą pateikti decimacijai. Jau analoginės televizijos sistemose, tokiose kaip PAL, SECAM ar NTSC, buvo pasinaudota tomis savybėmis ir paskirta signalo spalvotumui, kur du kartus mažesnė juosta, neprarandant matomu būdu vaizdo kokybės.

 

Kompresija vaizdo viduje

 

Šiuolaikinių vaizdo vidaus kompresijos technikų esmė yra faktas, kad vaizdo signalo spektras stipriai kaupiasi aplink žemiausių dažnių. Pakanka apskaičiuoti signalo spektrą ir tiksliai užrašyti tik nedidelį koeficientų kiekį, turinčių esminę reikšmę (dažniausiai žemiausių dažnių), o likusios ( dažniausiai su aukštesniais dažniais) galima išsaugoti nedideliame bitų kiekyje.

 

Praktikoje vaizdai yra skirstomi į blokus 8x8 punktų ir skaičiuoja kosinuso transformaciją ( pakeista Fourier transformacija). Gaunama seka yra dalinama per specialią kvantinę lentelę. Šios operacijos rezultate yra gaunama daug pasikartojančių nulių. Gaunamą pristatymą išsaugojama porose tipo: nulių skaičius, nenulinio koeficiento vertė. Pasiekiami rezultatai yra išsaugojami dėl kodų su kintamu bitų ilgiu. Tai reiškia, kad porom, kurios pasitaiko dažniau, yra prirašomi kodai su mažesniu bitų kiekiu, tačiau tiems, kurie pasitaiko rečiau, kodai su didesniu bitų skaičiumi.

 

Kompresija tarp vaizdų

 

Tarp vaizdų kodavimo esmė, tai fakto išnaudojimas, kad sekantis ir ankstesnis kadras video sekoje yra dažniausiai labai panašūs. Pakanka mums atsiųsti rezultatų klaidą, t.y.skirtumą tarp vaizdo ir jo numatymo. Paprasčiausiu atveju yra numatoma, kad sekantis vaizdas yra identiškas kaip ankstesnis.

 

Labiau pažangiuose prognozavimo koduose yra panaudojamas judėjimo kompensavimas. Kvadratams 16x16 skaisčio mėginių yra surandami kuo labiau panašūs kvadratai sekančiame vaizde. Tų kvadratų padėties skirtumai, tai būtent yra judėjimo vektoriai. Panaudojant judėjimo kompensaciją arba ir ne, priklausomai nuo kodavimo, generuojamas yra numatomas vaizdas ir palyginamas su realiuoju. Skirtumas, koduojamas panašiai kaip vidaus vaizdo kodavimo atveju, siunčiamas yra į imtuvą.

 

2 pieš. Judėjimo prognozavimo tarp vaizdiniame kodavime taisyklė

 

A - Blokas 16x16 pikselių ankstesniame vaizde B - Labiausiai panašius blokas 16x16 pikselių aktualiame vaizde