Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Digital Video Broadcasting - Terrestrial DVB-T, pozemní digitální vysílání, Set Top Box, digitální televize, digitalizace vysílání, doplňkové služby (EPG, MHP)

DOC
Stáhnout kompletní materiál zdarma (789 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu DOC.

Obr. 4 - Dvourozměrná diskrétní kosinová transformace pro N = 8

Diskrétní kosinová transformace DCT nahrazuje hodnoty obrazových prvků jednotlivých bloků 8 x 8 spektrálními koeficienty DCT, které jsou opět uspořádány do bloků 8 x 8 (obr. 4). Jedná se v podstatě o převod z oblasti signálových hodnot (jas a chrominance) do kmitočtové oblasti (spektrální koeficienty), analogicky jako např. u analogové Fourierovy transformace a diskrétní Fourierovy transformace DFT. V digitální televizi DVB je DCT dvourozměrná a je omezena na 8 x 8 prvků. 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 bloku vlevo nahoře. Velikosti dalších koeficientů směrem k vyšším prostorový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.

Obr. 5 - Příklad transformace DCT 4 x 4

Příklad diskrétní kosinové transformace DCT pro 4 x 4 prvky ukazuje obr. 5. Jas šestnácti obrazových prvků (pixelů) bloku se transformuje na 16 koeficientů DCT vyjadřujících amplitudy jednotlivých "harmonických". Každá z těchto harmonických má opět tvar čtvercové matice (v našem příkladě 4 x 4) s hodnotami mezi -1 a +1, přičemž její koeficient DCT udává, jak se tato harmonická podílí na hodnotách obrazových prvků daného bloku. Levý horní koeficient se označuje F(0,0) a udává dvojnásobek průměrného jasu celého bloku. Z příkladu je také zřejmé, že v tomto konkrétním případě je většina (celkem 9) koeficientů po zaokrouhlení nulových. Obecně platí, že čím větší je počet nulových koeficientů, tím je lepší komprese. Poznamenejme ale, že pokud by se každý koeficient přenášel pomocí konstantního počtu bitů (tj. slovem konstantní délky), k žádné kompresi by nedošlo. Proto je nutno využít úsporného kódování řetězců nul. Po vynulování některých koeficientů a vytvoření jednorozměrné časové řady (snímáním koeficientů bloku z dvourozměrné matice podle předepsaných pravidel "cik-cak" nebo "prokládaně") lze pro kódování řetězce nul výhodně využít vlastností 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. Vychází přitom ze skutečnosti, že krátké série nul jsou pravděpodobnější než dlouhé a že malé hodnoty koeficientů jsou pravděpodobnější než velké. Hodnoty kódu VLC jsou určeny tabulkově. 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ž 64) a dalším slovem určujícím hodnotu prvního nenulového koeficientu. Transformace DCT se uvedeným způsobem aplikuje přímo na obrazové prvky bloků v obrázcích typu I a stupeň komprese závisí na charakteru obrázků i na způsobu kvantování koeficientů DCT. K tomu se používají tzv. kvantizační matice 8 x 8, v nichž jsou uvedena vždy na odpovídající pozici osmibitová čísla, jimiž se dělí příslušný koeficient DCT. Tato čísla se obvykle zvětš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 tedy být kvantovány hruběji. Po uvedeném vážení koeficientů DCT kvantizační maticí se provádí konečná kvantizace (obvykle na základě lineární stupňovité křivky) 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. Protože malé odchylky kolem nuly jsou způsobovány také šumem, jejich potlačení obvykle zlepšuje subjektivní kvalitu obrazu. Standard MPEG 2 používá dva typy standardních kvantizačních matic, v podstatě ale může kodér vytvořit libovolnou kvantizační matici a spolu se signálem ji přenést do dekodéru. Dekodér pak využívá tuto matici do doby, než dostane z kodéru matici jinou nebo příkaz k použití jedné ze dvou standardních kvantizačních matic. Při kódování obrázků P a B se nejdříve vytvoří rozdíl hodnot daného bloku a referenčního (predikovaného) bloku a až tento rozdíl se transformuje pomocí DCT. Při statickém obrazu a při 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 být např. 32 obrazových prvků ve vodorovném a 16 obrazových prvků ve svislém směru s přesností na polovinu obrazového prvku, která se dosahuje interpolací mezi sousedními prvky. V každé poloze se vytvoří absolutní hodnota rozdílu příslušných hodnot a tyto absolutní hodnoty se sečtou pro celý makroblok a uloží do paměti. Makroblok s nejmenším součtem se pak použije jako referenční, jeho relativní poloha v paměti je určena pohybovým vektorem. Uvedený způsob 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 v paměti referenční makroblok a přičtením diferencí (po inverzní transformaci DCT) získat správné hodnoty právě dekódovaného bloku daného makrobloku. 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 kodéru a 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 zamezilo přetečení vyrovnávací paměti, je tato paměť trvale monitorována a pomocí zpětné vazby se zajišťuje přiměřené zaplnění paměti. Zpětná vazba obvykle ovládá jemnost kvantování koeficientů DCT (a jejich diferencí) a tím zmenšování bitového toku a snižování kvality při hrubším kvantování (obr. 6). Vzhledem k tomu, že se jedná o jemnost kvantování koeficientů DCT, má kvalita v rámci kódovaného bloku "globální" charakter. Rozdíl mezi bloky by se mohl projevit pouze v případě špatného kódování koeficientu F(0,0) odpovídajícího průměrnému jasu bloku. Tento koeficient se proto kóduje vždy odděleně a s největším počtem bitů.Obrázky I se kódují pouze s využitím DCT. Tím je možno na začátku skupiny snímků GOP bezproblémově stříhat obrazové signály, protože vnitrosnímková DCT je nezávislá na předcházející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.

Témata, do kterých materiál patří