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