Najčastejšie používané kompresné metódy

 

MPEG-1

Štandard kódovania videa MPEG-1 (ISO/IEC 11172) bol vytvorený pre kódovanie videa s bitovými rýchlosťami okolo 1.5 Mbps. Kvalita videa, kódovaného touto metódou je porovnateľná s kvalitou VHS videa a teda nieje prijateľná pre prenos klasického (napríklad aj televízneho) vysielania.

MPEG-2

Štandard MPEG-2 (Motion Picture Expert Group) je rozširením už spomenutého štandardu MPEG-1. Tento štandard vznikol na prenos vysoko kvalitného videa cez počítačové siete a sú tendencie, aby bol práve tento štandard primárnym kompresným protokolom pre prenos videa cez ATM siete. Kompresná metóda MPEG-2 (rovnako ako MPEG-1) používa algoritmus diskrétnej kosínovej transformácie (DCT – Discrete Cosine Transformation) na transformovanie blokov 8x8 pixelov (bodov) do kódov premenlivej dĺžky (VLC – Variable Length Code). Tieto kódy reprezentujú kvantované koeficienty z DCT.

Obr. predikcia medzi MPEG-2 rámcami

Kodéry MPEG-2 produkujú 3 typy rámcov: I-rámce (Intra frames), P-rámce (Predictive frames) a B-rámce (Bidirectional frames). Ako naznačujú ich názvy, I-rámce používajú len intra-frame kompresiu a preto sú značne väčšie, ako B a P rámce. Rámce medzi jednotlivými I rámcami tvoria skupinu obrázkov. P-rámce používajú predikciu s kompenzáciami pohybu z predchádzajúcich I a P rámcov video sekvencie. Táto dopredná predikcia je v obrázku indikovaná hornými šípkami. B-rámce používajú predikciu s kompenzovaním pohybu buď s dopredným predikovaním z budúcich I alebo P rámcov, buď spätnú predikciu z predchádzajúcich I alebo P rámcov, alebo interpoláciu medzi oboma – nasledujúcim a predchádzajúcim I alebo P rámcom. Táto obojsmerná predikcia je v obrázku indikovaná spodnými šípkami. B rámce dosahujú najvyššie stupne kompresie a preto sú i najmenšie.

Obr. postupné skladanie blokov do vyšších celkov v MPEG-2

Jednotlivé rámce sú MPEG-2 kodérom najskôr tvorené generovaním blokov po 8x8 pixeloch. Štyri takéto bloky potom formujú tzv. makroblok, čo je blok 16x16 pixelov. Makrobloky sú potom zoskupované do tzv. slice-ov (plátkov), z ktorých sa potom skladá rámec (viď. obrázok). Adresa a vektor pohybu (motion vector) prvého makrobloku v plátku sú kódované absolútne, parametre ostatných makroblokov v plátku sú kódované diferenčne s ohľadom na prvý makroblok v plátku. V prípade vzniku chyby pri prenose teda závisí od prvého makrobloku v korektnom plátku odkiaľ sa bude pokračovať v dekódovaní. MPEG-2 vo všeobecnosti obsahuje črty potrebné na multiplexovanie a synchronizáciu videa, audia a dát. Video toky sú rozdelené do blokov, ktoré sa nazývajú VAU (Video Access Unit), čo sú prakticky jednotlivé, už skôr spomenuté I, P alebo B rámce. Zhluk VAU tvorí tzv. základný video tok (video elementary stream), pričom viaceré takéto toky, ktoré prejdu procesom zpaketovania (packetization – vytvorenie paketov zo vstupného dátového toku), formujú PES (Packetized Elementary Stream – zpaketizovaný elementárny tok). PES toky už môžu byť priamo prenášané alebo ukladané (nap. vo video serveri VoD), no vo väčšine prípadov sú ešte transformované do programových (PS – program stream), alebo transportných (TS – transport stream) tokov. Programové toky PS obsahujú pakety variabilnej dĺžky a sú určené pre média, s veľmi nízkou pravdepodobnosťou bitových chýb alebo straty dát. Transportné toky TS sú toky s konštantnou dĺžkou rámca, pričom každý TS rámec je 188 byteov dlhý so 4 bytemi pre záhlavie (header). TS sú určené pre médiá, kde je strata dát a chybovosť pravdepodobnejšia.

Synchronizačná informácia je v MPEG-2 obsiahnutá vo forme časových známok (time stamp). MPEG-2 obsahuje dva druhy takýchto známok, ktoré sú uložené v záhlaví PES: PTS (Presentation Time Stamp) a DTS (Decoder Time Stamp), ktoré hovoria dekodéru, kedy má užívateľovi zobraziť dekódovanú informáciu a kedy má dekódovať informáciu z jeho bufferu. Rovnako musia byť synchronizované i časovače kodéru a dekodéru, čo je dosahované pomocou blohu PCR (Program Clock Reference), ktoré sú do záhlavia vkladané v pravidelných synchronizačných intervaloch.

H.261

ITU-T odporúčanie H.261 popisuje štandard na obojsmerný prenos audia a videa, pričom používa buffering na vyrovnávanie fluktuácií bitovej rýchlosti z video kodéru. Spätnovezobným hlásením stavu bufferu do kodéru sa dosahuje takmer konštantná bitová rýchlosť. Ak je buffer takmer plný, môže kodér znížiť bitovú rýchlosť zvýšením veľkosti kvantizačného skoku, čo síce zníži kvalitu videa, ale zabráni preplneniu bufferu a tak strate dát. H.261 štandardne podporuje dve rozlíšenia: 352x288 a 176x144 a rovnako ako MPEG-2 obsahuje predikciu s kompenzovaním pohybu. Video konferencovanie cez ATM je realizované prostredníctvom emulácie okruhov použitím čŕt AAL1.

Motion JPEG

Štandard motion JPEG je rozšírením spoločného ITU a ISO JPEG štandardu pre stacionárne obrázky (Joint Photographic Experts Group). Je to symetrická kompresná metóda s typickými kompresnými pomermi medzi 10:1 až 50:1. Motion JPEG však na rozdiel od MPEG-2 vykonáva len kompresiu jednotlivých záberov a nie inter-frame kompresiu, čo je dôsledkom pomerne horších kompresných pomerov. Výhodné to však môže byť pre aplikácie, ktoré požadujú priamy prístup ku zvolenému rámcu (a teda obrázku), pretože motion JPEG na rozdiel od MPEG metód nepotrebuje mať k dispozícii i okolité rámce (vzhľadom na to, že nepoužíva inter-frame kompresiu). Nevýhodou oproti MPEG však je, že kompresná metóda motion JPEG nezahŕňa kompresiu audia.