Výukový videokodek

| Kategorie: Diplomové, bakalářské práce  | Tento dokument chci!

Prvním cílem diplomové práce je prostudování základních principů komprimace obrazových signálů. Seznámení se s technikami používanými pro redukci zbytečnosti a nadbytečnosti v obrazovém signálu. Druhým cílem je, na základě těchto informací, realizovat jednotlivé komprimační nástroje v programovém prostředí Matlab a sestavit tak jednoduchý model video kodeku. Diplomová práce obsahuje popis realizace tří základních komprimačních bloků a sice - kódování uvnitř snímku, mezi snímkové kódování a kódování s proměnnou délkou slova - podle standardu MPEG-2.

Vydal: FEKT VUT Brno Autor: Martin Dvořák

Strana 47 z 72

Vámi hledaný text obsahuje tato stránku dokumentu který není autorem určen k veřejnému šíření.

Jak získat tento dokument?






Poznámky redaktora
} else for n=1:12; Smyčka prohledávání VLC tabulky. 3. { Uložení řetězce NaN skupiny.. { Zapsání kódu vektoru.2 Kódování AC/DCT koeficientů Zdrojový kód VLC pro AC/DCT koeficienty (m-file koder_VLC. Pokud není splněna, následuje čítání běhu nul pomocí smyčky while následný zápis skupiny. VLC tabulky pro AC/DCT koeficienty vektory pohybu obsahují VLC kódy přímo pro hodnoty, které vyskytují vektoru dat.2. } 3.3.2 Huffmanovo kódování Huffmanovo kódování lze standardu MPEG-2 rozdělit podle principu zpracování na kódování koeficientů kódování AC/DCT koeficientů.3. { Zapsání VLC kódu vektoru. if isequal(); Testování shody VLC tabulkou.m) tvořen cyklem for zajištujícím načítání vektorů AC/DCT koeficientů.36 Zdrojový kód RLE (m-file koder_RLE.1 Kódování koeficientů Zdrojový kód VLC pro koeficienty (m-file koder_VLC_dc. Podmínka zajišťuje detekci hodnoty NaN (EoB), jinak se načte skupina formátu běh nul hodnota Následuje cyklus for pro prohledávání VLC tabulky, pokud VLC kód nalezen, zapsán kódovaných dat. Smyčka while obstarává zpracování vybraného vektoru, délka vektoru pro koeficienty snímku nebo pro DCT koeficienty snímků P/B. opačném případě dochází za pomocí cyklu for prohledávání VLC tabulky, při shodě vektoru zapsán VLC kód spolu s binárně vyjádřenou hodnotou koeficientu. if isequal(); Testování shody VLC tabulkou. { Zápis VLC kódu vektoru. if isnan(data(i)); Podmínka pro detekci NaN (EoB).m) obsahuje cyklus for pro načítání koeficientů. if data(i)==0; Podmínka pro nulovou hodnotu. VLC tabulky pro koeficienty obsahují VLC kódy, které definují počet bitů, jimiž lze vyjádřit hodnotu koeficientu. Pokud je podmínka splněná, zapsán identifikátor EoB, respektive NaN (Not Number). } else { Načtení skupiny: běh nul hodnota. while i<=length(data); Smyčka procházení vektoru RLE dat. } elseif n==113 Není definován VLC kód skupiny. for i=1:length(data); Smyčka načítání koeficientů. Pokud není pro skupinu VLC kód definován, vygeneruje nový VLC kód formátu únikový kód (6b) binárně vyjádřená délka běhu (6b) binárně vyjádřená hodnota (8b) celkově tedy bitů. Podmínka kontroluje, zda nejsou konce vektoru pouze nulové hodnoty. { Vygenerování zápis VLC kódu vektoru. Nulová hodnota koeficientu kódována přímo VLC kódem, k čemuž slouží podmínka if, která testuje nulovou hodnotu.m) obsahuje smyčku while pro načítání RLE kódovaných dat. 3.2.3. } end; for n=1:113; Smyčka prohledávání VLC tabulky