|
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.
Blokové schéma kódování proměnnou délkou slova.
while y<=delka_bloku; Smyčka zpracování vektoru.35
3.1 Kódování délky běhu
Kódování délky běhu cíl zredukovat délku vektoru kvantovaných AC/DCT koeficientů
za pomoci čítání běhu nul následného vytvoření skupin složených délky běhu nul
a následující nenulové hodnoty. toho první hodnota,
odpovídající koeficientu, kóduje přímo Huffmanovým kódováním. snímku typu nebo blok DCT koeficientů
převede vektor hodnot.
3. }
else
while blok(y)==0; Smyčka čítání běhu nul. }
Cik-cak
vyčítání
koeficientů
Kódování
délky běhu
Huffmanovo
kódování
Snímek I/P
Vektory
pobyhu
Huffmanovo
dekódování
Dekódování
délky běhu
Inverzní
cik-cak
vyčítání koef.
{ Inkrementace čítače nul. Ten celý zpracován kódováním délky běhu následným
Huffmanovým kódováním.
Snímek I/P
Vektory
pobyhu
Přenos zakódovaných vektorů
pohybuPřenos zakódovaných koeficientů
pohybuPřenos zakódovaných AC/DCT koeficientů
koeficientů pohybu
AC/DCT
koeficienty
DC koeficienty
AC/DCT
koeficienty
DC koeficienty
VLC tabulky MPEG-2/4
VLC tabulky MPEG-2/4
. 44. Každý blok 8x8 DCT
koeficientů cik-cak vyčítáním převede vektor hodnot.
U snímku typu koeficienty zpracovávají odděleně.
if sum(do konce bloku)==0 Podmínka pro zápis NaN (EoB).3 Kódování proměnnou délkou slova
Zdrojový kód pro kódování proměnnou délkou slova odpovídá blokovému schématu na
obr. První tři bloky tvoří část kodéru, část dekodéru tvořena stejných počtem bloků,
ovšem inverzními funkcemi. zbývajících 63
hodnot, odpovídajících koeficientům, aplikuje kódování délky běhu tento výsledek
je zpracován Huffmanovým kódováním. ilustrováno následujícím
úryvkem kódu:
for i=1:size(data,1) Smyčka zpracování vektorů.
{ Zápis identifikátoru NaN (EoB). 44.3.
Obr. Pokud konce vektoru zbývají samé nuly, poslední
platnou skupinu zapsán identifikátor EoB (End Block).
% Zápis skupiny: běh nul hodnota. Vektory pohybu kódují přímo Huffmanovým kódováním