|
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.
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
. Blokové schéma kódování proměnnou délkou slova.
if sum(do konce bloku)==0 Podmínka pro zápis NaN (EoB).
Obr. snímku typu nebo blok DCT koeficientů
převede vektor hodnot.3.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.
while y<=delka_bloku; Smyčka zpracování vektoru. toho první hodnota,
odpovídající koeficientu, kóduje přímo Huffmanovým kódováním. }
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.
U snímku typu koeficienty zpracovávají odděleně. 44. 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. Pokud konce vektoru zbývají samé nuly, poslední
platnou skupinu zapsán identifikátor EoB (End Block). }
else
while blok(y)==0; Smyčka čítání běhu nul.
{ Inkrementace čítače nul.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. Každý blok 8x8 DCT
koeficientů cik-cak vyčítáním převede vektor hodnot.
{ Zápis identifikátoru NaN (EoB). ilustrováno následujícím
úryvkem kódu:
for i=1:size(data,1) Smyčka zpracování vektorů.
3. Vektory pohybu kódují přímo Huffmanovým kódováním. 44.
% Zápis skupiny: běh nul hodnota