|
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.
3. }
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.
while y<=delka_bloku; Smyčka zpracování vektoru. 44.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.
U snímku typu koeficienty zpracovávají odděleně.
{ Inkrementace čítače nul.
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
. Pokud konce vektoru zbývají samé nuly, poslední
platnou skupinu zapsán identifikátor EoB (End Block). Ten celý zpracován kódováním délky běhu následným
Huffmanovým kódováním.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.
if sum(do konce bloku)==0 Podmínka pro zápis NaN (EoB). První tři bloky tvoří část kodéru, část dekodéru tvořena stejných počtem bloků,
ovšem inverzními funkcemi. Vektory pohybu kódují přímo Huffmanovým kódováním. toho první hodnota,
odpovídající koeficientu, kóduje přímo Huffmanovým kódováním.
% Zápis skupiny: běh nul hodnota. snímku typu nebo blok DCT koeficientů
převede vektor hodnot.
Obr. 44.35
3. Blokové schéma kódování proměnnou délkou slova. Každý blok 8x8 DCT
koeficientů cik-cak vyčítáním převede vektor hodnot. }
else
while blok(y)==0; Smyčka čítání běhu nul. 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). 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.
3