Kódování obrazu podle standardu MPEG 2

Podobné dokumenty
Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.


Digitální magnetický záznam obrazového signálu

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

Kompresní metody první generace

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.

Kosinová transformace 36ACS

BPC2E_C09 Model komunikačního systému v Matlabu

Kompresní algoritmy grafiky. Jan Janoušek F11125

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Datové formáty videa a jejich využití. Tomáš Kvapil, Filip Le Manažerská informatika Multimédia

DIGITÁLNÍ VIDEO. pokus o poodhalení jeho neskutečné obludnosti (bez jednosměrné jízdenky do blázince)

Moderní multimediální elektronika (U3V)

Komprese obrazu. Úvod. Rozdělení metod komprese obrazů. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda

VIDEO DATOVÉ FORMÁTY, JEJICH SPECIFIKACE A MOŽNOSTI VYUŽITÍ SMOLOVÁ BÁRA

Grafika na počítači. Bc. Veronika Tomsová

Osnova. Idea ASK/FSK/PSK ASK Amplitudové... Strana 1 z 16. Celá obrazovka. Konec Základy radiotechniky

Základní principy přeměny analogového signálu na digitální

Komprese obrazu. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda

Vliv šumu na kompresi videa

Signál v čase a jeho spektrum

OBJEKTIVNÍ HODNOCENÍ KVALITY VIDEA V PROSTŘEDÍ MATLAB

Informační systémy ve zdravotnictví

Základy a aplikace digitálních. Katedra radioelektroniky (13137), blok B2, místnost 722

DINOX IP kamery řady: DDC-xxxx DDR-xxxx DDX-xxxx DDB-xxxx

Algoritmy komprese dat

Obraz jako data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011

1. Základy teorie přenosu informací

Záznam dat Úvod Záznam dat zahrnuje tři základní funkce: Záznam dat v prostředí třídy Záznam dat s MINDSTORMS NXT

1 Základní funkce pro zpracování obrazových dat

TECHNIKY PRO DETEKCI A PREDIKCI POHYBU VE VIDEO SEKVENCÍCH

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

Uživatelský manuál. Format Convert V3.1

SignEditor 1 - návod k použití

37MK Mobilní komunikace. Video v mobilních sítích

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VPCO - video pult centrální ochrany

1 Komprese obrazových signálů

Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO

Budovy a místnosti. 1. Spuštění modulu Budovy a místnosti

Kapitola 1: Úvod. 1.1 Obsah balení. 1.2 Požadavky na systém. Česky

Analýza a zpracování digitálního obrazu

Videosekvence. vznik, úpravy, konverze formátů, zachytávání videa...

Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol

Evropský projekt digitální televize DVB a základní principy jeho standardu

Software pro úpravu snímků LAB-10. Návod k obsluze

ednáška a metody digitalizace telefonního signálu Ing. Bc. Ivan Pravda

PDR3MS 1 KANÁLOVÉ MINI DVR UŽIVATELSKÝ NÁVOD

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

4x standardní vstupy

VY_32_INOVACE_E 15 03

Popis programu EnicomD

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY ZTRÁTOVÁ KOMPRESE VIDEOSIGNÁLŮ - KVANTOVÁNÍ LOSSY VIDEO SIGNAL COMPRESSION - QUANTISATION

Multimediální systémy

Charakteristiky zvuk. záznamů

Modulační parametry. Obr.1

Abstrakt. Klíčová slova

ochranným obvodem, který chrání útlumové články před vnějším náhodným přetížením.

Základní pojmy. Multimédia. Multimédia a interaktivita

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol

Jasové transformace. Karel Horák. Rozvrh přednášky:

3.cvičen. ení. Ing. Bc. Ivan Pravda

UniLog-D. v1.01 návod k obsluze software. Strana 1

gdmss Lite Android DVR Mobile Client Návod k obsluze aplikace

Téma 10: Správa hardwarových zařízení a ovladačů II

VY_32_INOVACE_ENI_2.MA_05_Modulace a Modulátory

PCM30U-ROK 2 048/256 kbit/s rozhlasový kodek stručný přehled

5. A/Č převodník s postupnou aproximací

UniLog-L. v0.81 návod k obsluze software. Strana 1

Katedra radioelektroniky K13137, FEL ČVUT Praha. zakódování dané informace. Tento trend postihl i oblast záznamu a přenosu širokopásmových

LAN se používá k prvnímu nastavení Vašeho DVR a když potřebujete nastavit síť na Vašem DVR pro používání po internetu.

Obslužný software. PAP ISO 9001

Návod k obsluze DivX / MPEG 4 přehrávače. Technosonic MP-107

Komprese obrazu. Multimedia Technology Group, K13137, FEE CTU 0

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

1 Přenos: Kodování, formáty dat

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

1. Přednáška: Obecné Inf. + Signály a jejich reprezentace

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

ZÁPADOČESKÁ UNIVERZITA V PLZNI

Komprese obrazů. Václav Hlaváč. České vysoké učení technické v Praze

Modulace 2. Obrázek 1: Model klíčování amplitudovým posuvem v programu MATLAB

Pulzní (diskrétní) modulace

Návod k použití aplikace Reliview

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol

Jan Kaiser ČVUT, Fakulta elektrotechnická, katedra Radioelektroniky Technická 2, Praha 6

UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

Video. Co je to video. Vlastnosti videa. Frame rate. Prokládání

Ladibug Software pro vizuální prezentaci Document Camera Návod k použití

PROFILOVÁ ČÁST MATURITNÍ ZKOUŠKY 2013 v oboru: M/001 OBRAZOVÁ A ZVUKOVÁ TECHNIKA TECHNICKÉ ZAMĚŘENÍ

CZ.1.07/2.2.00/ )

Úloha D - Signál a šum v RFID

1 Zadání. 2 Teoretický úvod. 7. Využití laboratorních přístrojů v elektrotechnické praxi

TECHNICKÁ UNIVERZITA V LIBERCI

Transkript:

Laboratorní úloha z předmětu Televize Kódování obrazu podle standardu MPEG 2 (návod ke cvičení) Cílem tohoto experimentu je praktické seznámení s jednotlivými procesy, které jsou součástí zdrojového kódování podle standardu MPEG 2. Nejprve bude na statickém snímku názorně demonstrován vliv transformačního kódování pomocí diskrétní kosinové transformace DCT. Následně se provede ukázka prediktivní metody DPCM spojené s kompenzací pohybu na sekvenci snímků obsahující pohyb ve scéně. Posledním krokem je experiment s kódováním sekvence snímků podle standardu MPEG 2. V závěru měření je možné si prakticky vyzkoušet některou z dalších metod kódování obrazu jako je vektorová kvantizace VQ, či wavelety. Veškeré simulace budou realizovány s využitím nástroje pro demonstraci obrazových kompresních metod VCDemo. 1 Úkol měření Hlavním úkolem tohoto měření je s využitím demonstračního programu ověřit funkci jednotlivých obrazových kompresních algoritmů pro statické snímky i videosekvence a sledovat průběh komprese podle standardu MPEG 2. 1. Zopakujte si základní principy kódování obrazu podle standardu MPEG 2 a seznamte se s programem VCDemo Vycházejte zejména z přednášek a doporučené literatury, případně z Teoretického úvodu k této úloze. Soustřeďte se na popis blokového schématu hybridní DCT. 2. Analyzujte kompresi statického snímku pomocí DCT 3. Proveďte kompresi statického snímku s využitím standardního kodeku JPEG 4. Vyzkoušejte vliv DPCM a kompenzace pohybu na kódování videosekvence 5. Proveďte analýzu kódování videosekvence podle standardu MPEG 2 6. Seznamte se s dalšími kompresními nástroji dostupnými v programu VCDemo V úkolech 2. až 6. proveďte experimenty podle odstavce Postup měření. 2 Přístrojové vybavení pracoviště Počítač PC-AT Patřičné softwarové vybavení program VCDemo v2.01 (26.4.2004) 1

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 2 3 Teoretický úvod Digitální televizní vysílání se rozvíjí ve světě a v poslední době i u nás mohutným tempem. V řadě zemí dochází u pozemního systému DVB-T k přechodu od experimentálního vysílání ke stálým multiplexům. V DVB-T použité zdrojové kódování zahrnuje redukci bitového toku, zvukových a datových signálů podle celosvětově přijatého standardu MPEG 2. 3.1 Kódování obrazu podle standardu MPEG 2 Zkratka MPEG 2 vznikla z názvu skupiny expertů pro pohyblivé obrazy (Moving Picture Experts Group). Skupina pracuje od roku 1988 a v roce 1993 dokončila návrh standardu MPEG 1 pro kódování obrazu a přidruženého zvuku s bitovým tokem do 1, 5 Mbit / s. Práce na standardu MPEG 2 přímo navazovaly včetně zajištění jednostranné slučitelnosti, základní části standardu byly dokončeny koncem roku 1994. Nejdůležitější vlastností standardu MPEG je jeho pružnost a otevřenost. Standard MPEG 2 je založen na definování syntaxe přenášeného bitového toku a vlastností dekodéru. Každý dekodér MPEG 2 musí umět dekódovat všechny bitové toky až do maximálního pro danou úroveň (Level) a daný profil (Profile) a také všechny úrovně a profily nižší. Vlastnosti kodéru nejsou jednoznačně definovány a konkrétní řešení je ponecháno na výrobcích. Takto není norma omezujícím faktorem pro budoucí technický rozvoj a podporuje tak permanentní postupné zdokonalování kodérů bez změny dekodérů. Dalším aspektem tohoto přístupu je skutečnost, že kodéry mohou být složité a drahé, zatímco dekodéry by měly být zejména při větších sériích levné. 3.2 Členění obrazu ve standardu MPEG 2 MPEG 2 rozeznává tyto hierarchické struktury obrazu: sekvence, skupina obrázků GOP (Group of Pictures), obrázek (picture) tj. snímek nebo půlsnímek, pruh makrobloků (slice), makroblok, blok a vzorek (sample). Vzorky jsou reprezentovány osmibitovými informacemi o jasu nebo chrominanci obrazových prvků. Skupina 8x 8jasových nebo chrominančních vzorků tvoří blok, čtyři jasové bloky spolu s odpovídajícími chrominančním bloky tvoří makroblok. Počet bloků v makrobloku závisí na způsobu vzorkování chrominančních informací. V nejběžnějším systému označovaném 4:2:0 je v makrobloku po jednom bloku C a C (Obr. 1). Y CB CR B R 88 x 88 x 88 x 88 x 88 x 88 x Obr. 1: Makroblok 4:2:0 představuje celkem 6 bloků 8x8 Několik za sebou následujících makrobloků pokrývajících na obrazovce stejných 16 řádků tvoří pruh makrobloků. Při 720 aktivních vzorcích na řádku může pruh zabírat maximálně 45 makrobloků, pruh může být samozřejmě i kratší a jeho velikost se může v podstatě libovolně měnit. Nejkratší pruh tvoří jeden makroblok. Dalším stupněm je obrázek tvořený buď jedním televizním půlsnímkem, nebo snímkem. Na jeden snímek připadá maximálně 45x 36 = 1620 makrobloků. Rozlišujeme obrázky typu I, P a B.

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 3 Obrázek I je zásadně kódován vnitrosnímkově (intraframe) nebo vnitropůlsnímkově (intrafield), nemá tedy žádnou vazbu na předcházející a následující obrázky. Obrázek P (predicted) je kódován ve vztahu k předcházejícímu obrázku I nebo P na základě diferenční pulsně kódové modulace DPCM. Kódování probíhá po makroblocích (a blocích), přenášejí se pouze rozdíly signálu vzhledem k již přenesenému referenčnímu makrobloku z předcházejícího obrázku, přičemž polohu referenčního makrobloku v paměti udává tzv. pohybový vektor (Obr. 2). Pohybové vektory se vytváří v kodéru podle složitých algoritmů analýzou všech makrobloků ve vyhledávací oblasti, do dekodérů jsou přenášeny spolu se signálem. Na základě souřadnic pohybového vektoru vyhledá dekodér ve své paměti již přenesený makroblok a přidá k němu přenášený rozdíl, a tak získá původní hodnoty právě kódovaného makrobloku. kódovaný makroblok vyhledávací oblast A 12 48 4 B 32 referenční makroblok z paměti již přeneseného snímku Obr. 2: Princip detekce a kompenzace pohybu, pohybový vektor (12, 4) Obrázek B (bidirectionally predicted) může používat jako referenci makrobloky jak z předcházejícího, tak i následujícího obrázku I nebo P. Aby dekodér v přijímači mohl používat i následující obrázky, mění kodér jejich pořadí při vysílání tak, že při přenosu obrázku B jsou příslušné referenční obrázky I nebo P již uloženy v paměti přijímače. Správné pořadí pro zobrazení zajišťuje dekodér. Význam obrázků B spočívá v možnosti nalézt podobné bloky při odkrývání podrobností za pohybujícím se objektem v popředí, případně při pohybu kamery na okrajích obrazu. Tyto podrobnosti jsou pak obsaženy někdy pouze v předcházejícím a jindy pouze v následujícím obrázku. Referenční makrobloky jsou určeny dvojicí pohybových vektorů. Skupina obrázků GOP je tvořena obrázky mezi dvěma obrázky typu I. Pro GOP je charakteristická jeho celková délka N a periodicita M (Obr. 3) udávající, jak se opakují obrázky typu P (včetně obrázků I). Těmito dvěma konstantami je stanoveno pořadí obrázků různých typů ve skupině GOP (mezery mezi obrázky I a P jsou vyplněny obrázky B). jednosměrná predikce I B B P B B P B B P B B I M = 3 M = 3 N = 12 obousměrná predikce Obr. 3: Používané způsoby predikce ve skupině obrázků GOP, délka skupiny N, periodicita M (pro obrázky P, I) Sekvence je nejvyšší struktura při kódování obrazu ve standardu MPEG 2, je tvořena skupinami GOP. V záhlaví sekvence se přenášejí údaje týkající se způsobu kódování celé sekvence. Podobně v záhlaví nižších obrazových složek (GOP, obrázek, pruh makrobloků,

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 4 makroblok) se přenášejí společné údaje týkající se těchto složek. U makrobloku jsou to zejména adresa a typ makrobloku, způsob kvantizace a pohybové vektory. 3.3 Kompresní prostředky MPEG 2 Komprese bitového toku v systému MPEG 2 je založena na diskrétní kosinové transformaci DCT, pohybově kompenzované mezisnímkové predikci na principu DPCM, kvantizaci koeficientů DCT a jejich kódování kódem RLC a VLC. Transformace DCT spolu s pohybově kompenzovanou DPCM se nazývá hybridní DCT. 88 x 88 x přímá DCT Obrazové prvky inverzní DCT Koeficienty DCT Obr. 4: Dvourozměrná diskrétní kosinová transformace pro N=8 Diskrétní kosinová transformace DCT nahrazuje hodnoty obrazových prvků jednotlivých bloků 8x 8spektrálními koeficienty DCT, které jsou opět uspořádány do bloků 88 x (Obr. 4). Jedná se o převod z oblasti signálových hodnot (jas a chrominance) do kmitočtové oblasti (spektrální koeficienty), analogicky jako u analogové Fourierovy transformace a DFT. V důsledku velké korelace (závislosti) mezi sousedními obrazovými prvky má ve většině případů největší hodnotu koeficient reprezentující stejnosměrnou složku daného bloku, umístěný v matici vlevo nahoře. Velikosti dalších koeficientů směrem k vyšším kmitočtům (směrem doprava se zvyšuje horizontální, směrem dolů vertikální prostorový kmitočet) obvykle velmi rychle klesají a velké množství koeficientů má hodnoty blízké nule. Uvedená transformace nijak nezmenšuje počet bitů nutných k popisu bloku. Její zásadní význam však spočívá v dekorelaci signálu, neboť koncentruje převážnou část energie do stejnosměrné složky a nízkofrekvenčních koeficientů. Kvantizace koeficientů představuje místo, kde dochází k zásadní redukci objemu dat. Protože většina spektrálních koeficientů (především vyšších harmonických) je malá, vhodnou volbou kvantizačních matic je možné dosáhnout jejich vynulování. Čísla v matici (jimiž se dělí příslušný koeficient DCT) se obvykle zvyšují směrem k vyšším prostorovým kmitočtům v souladu se skutečností, že lidské oko je na ně méně citlivé a mohou být kvantovány hruběji. Po uvedeném vážení koeficientů kvantizační maticí se provádí konečná kvantizace zaokrouhlením s tím, že je možné rozšířit tzv. mrtvou zónu kolem nuly za účelem vynulování maximálního počtu koeficientů DCT. Tato redukce dat je redukcí irelevance, nikoliv redundance obrazu a tudíž zde (a jedině zde) také dochází ke ztrátě kvality obrazu. Protože malé odchylky kolem nuly jsou způsobovány také šumem, jejich potlačení obvykle zlepšuje subjektivní kvalitu obrazu. Kvantované spektrální koeficienty jsou nyní seřazeny do sériové posloupnosti. Koeficienty se čtou v pořadí stoupající pravděpodobnosti jejich nulové amplitudy, tedy

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 5 v pořadí stoupajícího prostorového kmitočtu. Ve snímkovém módu jsou koeficienty čteny metodou cik-cak. Stejnosměrné složky jsou navíc zakódovány pomocí DPCM. Pro kódování řetězce nul se s výhodou využijí vlastnosti kódu RLC (Run-Lenght Coding), který dvojicí čísel udává počet za sebou následujících nul a hodnotu prvního nenulového koeficientu. Tyto dvojice jsou pak kódovány kódem s proměnnou délkou slova VLC (Variable Lenght Coding), který přiděluje častějším kombinacím kratší kódová slova. Hodnoty kódu VLC jsou určeny tabulkově, tzv. Huffmanovy tabulky jsou odlišné pro DC a AC koeficienty. V případě, že se daná kombinace v tabulce nevyskytuje, zakóduje se pomocí speciálního znaku (escape code) s následujícím šestibitovým slovem udávajícím počet nulových koeficientů a dalším slovem určujícím hodnotu prvního nenulového koeficientu. Při kódování obrázků P a B se nejdříve vytvoří rozdíl hodnot daného bloku a referenčního (předikovaného bloku) a až tento rozdíl se transformuje pomocí DCT. Při statickém obrazu a malých změnách jsou rozdíly nepatrné a po transformaci dochází k vynulování velkého množství koeficientů DCT a tím k značné úspoře bitového toku. Aby bylo dosaženo úspory i při pohyblivých obrázcích, využívají se principy detekce a kompenzace pohybu, přičemž se stanoví vektory pohybu vždy pro celý makroblok. Jedna ze základních metod detekce pohybu spočívá v postupném porovnávání právě kódovaného makrobloku s různými makrobloky z předcházejícího obrázku v celé vyhledávací oblasti (Obr. 2). Ta může mít rozměr např. 32x 16 obrazových prvků s přesností na polovinu obrazového bodu, která se dosahuje interpolací mezi sousedními prvky. V každé poloze se vytvoří absolutní hodnota rozdílu pro všechny prvky makrobloku. Makroblok s nejmenším součtem rozdílových hodnot se použije jako referenční a jeho relativní poloha je určena pohybovým vektorem. Uvedený postup je velmi náročný na počet výpočetních operací v kodéru, pro dekodér je však jednoduchý, protože zde stačí na základě přeneseného pohybového vektoru vyhledat referenční makroblok a přičtením diferencí získat hodnoty právě dekódovaného bloku daného makrobloku. vstup + Σ predikce DCT v módu Intra rozpojeno kvantizace Q Q -1 IDCT Σ kódování entropie pohybové vektory vyrovnávací paměť výstup kompenzace pohybu snímková paměť detekce pohybu Obr. 5: Princip hybridní DCT Je nutné si uvědomit, že kodér při kompenzaci pohybu vyhledává nejpodobnější makroblok, což nemusí být vždy původní, v důsledku pohybu posunutý makroblok. I když se nenajde příliš podobný referenční makroblok, nedochází k chybám přenosu, pouze úspora bitového toku je malá nebo žádná. Důležitou součástí každého dekodéru je vyrovnávací paměť, která vyrovnává proměnný bitový tok v závislosti na charakteru obrazu i použitých kompresních prostředcích. Aby se

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 6 zamezilo přetečení vyrovnávací paměti, je tato paměť monitorována a pomocí zpětné vazby se zajišťuje její přiměřené zaplnění. Zpětná vazba ovládá jemnost kvantování koeficientů DCT a tím zmenšování bitového toku a snižování kvality při hrubším kvantování. Kódování stejnosměrného koeficientu se provádí odděleně a s největším počtem bitů. Obrázky I se kódují pouze s využitím DCT. Proto je možno na začátku GOP bezproblémově stříhat, protože vnitrosnímková DCT je nezávislá na předchozích snímcích. Podobnost mezi časově sousedními televizními snímky se využívá u obrázků P, ale hlavně u obrázků B, které umožňují maximální kompresi signálu. Na Obr. 5 přichází vstupní obrazový signál po makroblocích na rozdílový obvod, kde se od něj odečítá referenční makroblok z obrazové paměti a tím se vytvoří rozdíl (predikční chyba), který se transformuje přímou DCT. Následuje kvantování rozdílových spektrálních koeficientů, přičemž se bere v úvahu i stav obsazení výstupní vyrovnávací paměti. Kvantované koeficienty DCT se po inverzní DCT (ve tvaru obrazových diferencí) přidávají k pohybově kompenzovanému referenčnímu makrobloku na vstupu obrazové paměti, která tedy ukládá kompletní obrázek pro další predikce. Ve výstupní části kodéru se kvantované spektrální koeficienty kódují kódem VLC a po multiplexování s pohybovými vektory se ukládají do výstupní vyrovnávací paměti, odkud postupují na výstup kodéru. V případě, že na vstupu je obrázek typu I, rozpojí se predikční část a na obrázek se aplikuje transformace DCT přímo, bez DPCM. Zpětná vazba z vyrovnávací paměti zajišťuje při naplnění hrubší kvantizaci spektrálních koeficientů, tím snížení bitového toku a postupné vyprazdňování paměti. 4 Postup měření Veškeré experimenty jsou v této úloze prováděny pomocí nástroje pro demonstraci obrazových kompresních metod VCDemo. Protože ovládání tohoto programu je poměrně jednoduché a intuitivní, není zde uveden podrobný popis, ale pouze základní seznámení. V další části jsou uvedeny pokyny k vlastnímu měření a náměty k dalšímu experimentování. 4.1 Program VCDemo základní seznámení Po spuštění programu VCDemo je třeba načíst obrázek, se kterým se bude dále pracovat. Volbou File Open Image nebo kliknutím na příslušnou ikonu panelu nástrojů se zobrazí obsah zvolené složky. Lze zvolit jakýkoliv obrázek *.bmp, či *.tif avšak je třeba pamatovat na to, že některé kompresní metody jsou omezeny na obrázky o rozměrech se sudými čísly či mocninami dvou. Vhodný rozměr obrázku je například 256x 256, či 512x 512. Při experimentech s kompresí videosekvencí lze po zvolení File Open Sequence, nebo kliknutím na příslušnou ikonu panelu nástrojů, otevřít buď YUV sekvenci *.yuv specifického formátu, nebo sekvenci obrázků *.bmp. Již dříve komprimovaná sekvence ve formátu MPEG s příponami *.m1v (pro MPEG 1) a *.m2v (pro MPEG 2) se otevře pomocí File Open MPEG stream. Po otevření výchozího obrázku či sekvence jsou přístupná menu a tlačítka kompresí na panelu nástrojů. Nejsou-li některé volby aktivní je to způsobeno rozměry výchozího obrázku, nebo jeho typem (statický obrázek, sekvence obrázků, zakódovaná sekvence MPEG). Kliknutím na tlačítko jedné z kompresních metod se objeví menu umožňující nastavit specifické parametry zvolené metody. Po stisknutí tlačítka Apply se provede komprese s použitím nastavených parametrů a na pracovní ploše programu se zobrazí výsledky. Ve spodní části menu je textové okno, které zobrazí číselné charakteristiky pro danou kompresi, jako je bitový tok, odstup signálu od šumu a další. Všechny důležité informace o kódovaném

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 7 obrázku lze také získat kliknutím pravým tlačítkem myši nad obrázkem a volbou Image Information. V jednom okamžiku je možné na výchozí obrázek aplikovat různé kompresní algoritmy a porovnávat jejich vlastnosti. Obr. 6: Pracovní plocha programu VCDemo po aplikaci DCT na statický obrázek 4.2 Komprese statického snímku s využitím DCT V této části měření je proveden experiment s kódováním statického snímku pomocí DCT. Nejprve do programu VCDemo načtěte obrázek Lena256B.bmp. Stisknutím tlačítka DCT na panelu nástrojů spusťte modul DCT komprese. V menu parametrů DCT na záložce Size nastavte nejprve velikost bloku DCT na hodnotu 2x 2 a stiskněte Apply. a) b) Obr. 7: Zobrazení a) originálních, b) kódovaných koeficientů DCT v režimu kolekce koeficientů pro rozměr bloku 2x2 Po stisknutí Apply se na pracovní ploše zobrazí mimo originálního obrázku ještě další tři: koeficienty DCT originálního obrázku Obr. 7 a), koeficienty DCT kódovaného obrázku Obr. 7 b) a vlastní kódovaný obrázek po zpětné DCT. V zobrazení znázorněném na Obr. 7

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 8 odpovídá každý ze čtyř kvadrantů (zvolen blok DCT o velikosti 2x 2) kolekci koeficientů DCT se stejným indexem ze všech bloků obrázku. Z kódovaných složek DCT je vidět, že přenosu informace se účastní pouze stejnosměrná složka F (0,0) a nejnižší z koeficientů F (1, 0). Stejnosměrná složka je na Obr. 7 znázorněna přímo (nabývá pouze kladných hodnot), zatímco ostatní koeficienty DCT jsou podloženy tak, aby nulové hodnotě odpovídala šedá. Nyní v menu parametrů DCT na záložce Size nastavte velikost bloku DCT na hodnotu 16x 16, dále na záložce Display zvolte zobrazení DCT Blocks a stiskněte Apply. a) b) Obr. 8: Zobrazení a) originálních, b) kódovaných koeficientů DCT v režimu bloků DCT pro rozměr bloku 16x16 Po stisknutí Apply se koeficienty DCT objeví ve tvaru znázorněném na Obr. 7, kde jsou postupně vedle sebe umístěny jednotlivé bloky DCT (zvolen blok DCT o velikosti 16x 16 ). Z kódovaných složek DCT je vidět jak dochází k potlačení vyšších harmonických složek. Hlavním úkolem této části měření je vynést křivky závislosti odstupu špičkového signálu od šumu PSNR[ db ] (Peak Signal-to-Noise Ratio) u kódovaného obrázku na počtu bitů nutných k přenesení informace o jednom obrazovém bodu BR[ bpp ] (bpp bits per pixel), tedy změřit funkci PSNR = f ( BR). Charakteristika PSNR[ db ] je definována vztahem 255 255 PSNR[ db] = 10 log10 = 10 log10 MSE 1 2 2 M N MN i= 1 j= 1 [ x(, i j) y(, i j) ] kde 255 odpovídá maximální úrovni signálu při osmibitovém kvantování, MSE (Mean Square Error) je střední kvadratická odchylka, x(, i j ) a yi (, j ) jsou obrazové body matice původního a komprimovaného obrázku o rozměru MxN obrazových bodů. Měření bude provedeno pro všechny v programu VCDemo dostupné hodnoty bitového toku (záložka Bitrate), velikost bloku DCT koeficientů 8x 8(záložka Size) a to vše jak se zapnutým, tak i vypnutým kódováním entropie (zatržítko Entropy Coding na záložce Bitrate). Měření je vhodné provést opět na obrázku Lena256B.bmp. Rovněž si pro všechna nastavení zaznamenejte subjektivní kvalitu komprimovaného obrazu (vhodná je pětistupňová škála zkreslení s bodovým ohodnocením: 5) nevnímatelné; 4) vnímatelné neruší; 3) vnímatelné mírně ruší; 2) rušivé; 1) velmi rušivé), přinejmenším pak bitový tok, při kterém je rozdíl mezi původním a komprimovaným obrazem prakticky nerozpoznatelný. 2, (1)

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 9 50 40 PSNR [db] 30 20 10 S kódováním entropie Bez kódování entropie 0 4 3 2 BR [bpp] 1 0 Obr. 9: Ukázka možného průběhu závislosti PSNR na bitovém toku BR pro DCT kodér 4.3 Komprese statického snímku pomocí standardního kodeku JPEG V této části měření je proveden experiment s kódováním statického snímku pomocí standardního kodeku JPEG s lokální kvantizací pomocí různých kvantizačních matic. Nejprve do programu VCDemo načtěte obrázek Lena256B.bmp. Stisknutím tlačítka JPEG na panelu nástrojů spusťte modul komprese JPEG. V menu parametrů komprese JPEG na záložce Quant nastavte nejprve standardní kvantizační matici jasového kanálu Standard Y. Pro stejný rozsah bitové hloubky na jeden obrazový bod BR[ bpp ] jako v předchozí úloze proveďte měření PSNR[ db ]. Měření opakujte též pro plochou kvantizační matici Flat a kvantizační matici se zdůrazněním vyšších prostorových kmitočtů High-Emphasis. 60 50 PSNR [db] 40 30 20 10 Flat Standard Y High-Emphasis 0 4 3 2 BR [bpp] 1 0 Obr. 10: Ukázka možného průběhu závislosti PSNR na bitovém toku BR pro kodér JPEG a různé kvantizační matice (Flat plochá, Standard Y doporučená pro kódování jasové složky, High-Emphasis zvýraznění vf) Popište vliv kvantizační matice na kvalitu komprimovaného obrazu, všimněte si artefaktů kodéru JPEG. Vyzkoušejte vliv vyhlazovacího filtru (záložka Smooth, zatržítko Smooth Output) na potlačení blokové struktury zejména pro vysoké kompresní poměry. S nastavenou standardní kvantizační matici (Quant - Standard Y) změřte závislost potřebného bitového toku na kvalitě komprimovaného obrazu BR[ bpp] = f ( Q) (záložka Bitrate, tlačítko Quality, nastavení Set Quality) se zapnutým a vypnutým Huffmanovým kodérem (záložka Huffman, tlačítka FLC a Standard VLC).

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 10 18 16 FLC 14 Standard VLC BR [bpp] 12 10 8 6 4 2 0 100 80 60 40 20 Q [%] 0 Obr. 11: Ukázka možného průběhu závislosti potřebného bitového roku BR na nastavené kvalitě kódování Q pro kodér JPEG s vypnutým a zapnutým standardním Huffmanovým kodérem (FLC Fixed Length Coding, VLC Variable Length Coding) Zajímavé je si povšimnout, že pro nejvyšší kvalitu komprese je v případě vypnutého Huffmanova kodéru potřebný počet bitů větší než u nekomprimovaného obrázku (nutná přesnost kódování DCT koeficientů). 4.4 Kódování videosekvence pomocí DPCM a kompenzace pohybu Ve všech předchozích experimentech jsme se zabývali kódováním statických snímků, tedy redukcí prostorové redundance a irelevance. Redukce časové redundance obrazového signálu předpokládá dekorelaci jednotlivých snímků pohyblivého obrazu. Dekorelace je realizována pomocí DPCM tak, že se kódují pouze odchylky od predikovaných hodnot. Dokonalejší predikční metodu představuje metoda využívající kompenzaci pohybu ve scéně. Pohyb má většinou charakter posunutí, které je možné při určování predikce respektovat zavedením pohybových vektorů. Pohybový vektor vyjadřuje směr a velikost posunutí příslušné části obrazu a predikční odchylka se počítá vzhledem k tomuto posunutí, čímž se významným způsobem minimalizuje. Ještě dokonalejší metodou může být obousměrná predikce, která určuje odchylku nejen vzhledem k minulému snímku, ale i vzhledem ke snímku následujícímu. Zatímco redukce prostorové redundance pomocí DCT je založena na bloku o velikosti 8x 8obrazových bodů, je redukce časové redundance pomocí pohybově kompenzované mezisnímkové predikce založena na bloku o rozměrech 16x 16 obrazových bodů, který se nazývá makroblok. Jeho velikost je dána kompromisem mezi složitostí výpočtu a minimalizací predikční chyby. V této části měření je proveden experiment s kódováním krátké sekvence snímků pomocí standardní DPCM a DPCM s kompenzací pohybu. Nejprve do programu VCDemo načtěte sekvenci obrázků Car.seq (z nabídky File Open Sequence, nebo kliknutím na příslušnou ikonu z panelu nástrojů). Volbou přehrávače Vply na panelu nástrojů a následným stiskem tlačítka Play je možno si zvolenou sekvenci přehrát. Po aktivaci modulu kompenzace pohybu ME se objeví menu pro nastavení jednotlivých parametrů metody. V první části měření zvolte režim plného vyhledávání (záložka Search, tlačítko Full), velikost bloku 8x 8 (záložka Block, zatržítko 8x8), rozsah vyhledávání 15 obrazových bodů (záložka Max.Displ., zatržítko 15) a stiskem Apply spusťte vlastní proces kódování.

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 11 a) b) c) d) Obr. 12: Ukázka výstupu kódování videosekvence pomocí DPCM a kompenzace pohybu.obr. a) originální snímek sekvence, obr b) pohybově kompenzovaná predikce aktuálního snímku se superponovaným zobrazením pohybových vektorů počátek vektoru označen černou tečkou, obr c) rozdíl po sobě následujících snímků a d) pohybově kompenzovaný rozdíl snímků Mimo grafické znázornění procesu predikce (Obr. 12) je možné v textovém okně sledovat rozptyl v originálním snímku a ve snímcích rozdílových bez a s pohybovou kompenzací. Z hodnot rozptylu je vidět, že energie v rozdílových snímcích nabývá menších hodnot, zejména pak ve snímku pohybově kompenzovaném. Pro další experimentování s redukcí časové redundance ve videosekvenci při použitím DPCM a kompenzace pohybu je vhodná zejména sekvence GrandMother.yuv. Tato sekvence je typickou ukázkou známou z televizní praxe, kdy je snímán obličej mluvící osoby s nepatrnými rozdíly mezi jednotlivými snímky. 4.5 Kódování videosekvence podle standardu MPEG 2 V této části měření bude provedena simulace dekódování, případně kódování videosekvence podle standardu MPEG 2. Standard MPEG 2 v sobě obsahuje všechny výše zkoumané kompresní metody redukující prostorovou, případně časovou redundanci a irelevanci. Program VCDemo umožňuje experimentovat s řadou parametrů procesu kódování i dekódování a vhodně zobrazovat výsledky analýzy. Pro seznámení s procesy probíhajícími při kompresi podle standardu MPEG 2 je vhodné provést analýzu již dříve zakódované sekvence.

TE Laboratorní cvičení Kódování obrazu podle standardu MPEG 2 12 Nejprve pomocí File Open MPEG stream či stisknutím příslušného tlačítka na panelu nástrojů otevřete některou zakódovanou sekvenci s příponou *.mpg. Následně stisknutím tlačítka MDec na panelu nástrojů spusťte dekodér MPEG. Stisknutím tlačítka Apply přehrajte sekvenci dekódovaných snímků (volba Decoded Frames na záložce Operation), snímkové predikce (volba Frames Prediction) a kódovaných rozdílových snímků (Coded Difference). Zatrhnutím volby Frame-by-Frame na záložce Video můžete přehrávat sekvenci snímek po snímku. Pro analýzu je vhodné zapnout zobrazení pohybových vektorů (zatržítko Motion Vector Overlay na záložce Display). a) b) Obr. 13: Ukázka výstupu dekódování videosekvence standardu MPEG. Obr. a) pohybově kompenzovaná predikce snímku se superponovanými pohybovými vektory, obr b) kódovaná diference aktuálního snímku a jeho pohybově kompenzované predikce se superponovanými pohybovými vektory Prohlédněte si proces dekódování několika sekvencí s různými vlastnostmi (struktura GOP apod.) a seznamte se s jevy, které jsou charakteristické pro kompresní algoritmy standardu MPEG. 4.6 Další kompresní metody Program VCDemo nabízí mimo výše zkoumané kompresní nástroje některé další algoritmy. Můžete se zaměřit například na vektorovou kvantizaci statických snímků (tlačítko VQ na panelu nástrojů), či na waveletovou transformaci využívající kompresní standard JPEG2000 (tlačítko JPG2). Rovněž je zajímavé experimentálně zkoumat některé elementární metody zpracování obrazu jako je podvzorkování (tlačítko SS), vliv bitové hloubky PCM (tlačítko PCM) či redukce prostorové redundance pomocí DPCM (tlačítko DPCM). 5 Doporučená literatura [1] VÍT, V. Televizní technika: přenosové barevné soustavy. Vydání první. Praha: BEN, 1997. 719 s. ISBN 80-86056-04-X. [2] KLÍMA, M., et al. Zpracování obrazové informace. Vydání první. Praha: Vydavatelství ČVUT, 1996. 177 s. ISBN 80-01-01436-3. [3] Sborník přednášek vzdělávacího kurzu Radiokomunikace 2000: Digitální televizní vysílání. Hozman, J., Editor. Praha: katedra radioelektroniky FEL ČVUT, 2000. 592 s. ISBN 80-01-02142-4. [4] LÍŠKA, D. Digitální terestriální televize DVB-T: Technické minimum MPEG 2. Telekomunikace, 4/2000, s. 10 15. [5] LAGEDIJK, I. VCDemo. Ver. 4.14. TU-Delft, August 2002. Počítačový program pro demonstraci obrazových kompresních metod. Operační systémy Win NT, Win 9x, Win 2000, Win XP. Freeware pro výukové účely. < http://www-ict.ewi.tudelft.nl/vcdemo/ >