|
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.
4 Kvantování prahování
Kvantování probíhá stejných cyklech jako DCT/DWT, blok 8x8 ihned transformaci
kvantuje základě rovnice Kvantizační parametr kontroluje míru kvantování, větší
hodnoty znamenají větší míru kvantování.
3.3 Diskrétní vlnková transformace
Diskrétní vlnková transformace (m-file koder_DWT_Q. Transformace jasové složky barevných složek probíhá odděleně
z důvodu možného vzorkování barevných složek.m) provádí blocích 8x8.
Y_DWT(blok 8x8) DWT(Y(blok 8x8)); DWT bloku 8x8.1.2 Diskrétní kosinová transformace
Diskrétní kosinová transformace (m-file koder_DCT_Q. Výpočet DWT bloku 8x8
se provádí funkcí DWT (m-file DWT.
for 1:8:radky Posun blocích 8x8. Pro
rychlejší zpracování nevyužívá funkce dct2, ale funkce dctmtx, jejíž výstupem matice
DCT.
=
5555555534343434
5555555534343434
5555555534343434
5555555534343434
34343434121288
34343434121288
343434348877
343434348878
qDWT
(14)
. Zpracování všech vzorků obrazu zajišťují dva cykly
for, vždy vybere blok 8x8, provede transformace uloží nové proměnné matice
– odpovídající pozici. Samotná transformace pak provede vynásobením bloku 8x8 zleva DCT maticí
a zprava transponovanou DCT maticí. cykly for pro zpracování snímku blocích 8x8.1.
Tato funkce obsahuje tři stupně transformace, každý stupeň obstarán funkcí dwt2 se
vstupní vlnkou db1 (Daubechies wavelet). Kvantované bloky jsou následně prahovány funkcí
round, která zaokrouhluje hodnoty vzorků nejbližší celé číslo, tím dochází eliminaci
desetinných čísel, které potřebují přenosu více bitů také dochází odstranění hodnot
blízkých nule, což znamená další ušetření bitové rychlosti. potřeba dodat, rozměry vstupního
obrazu musí být dělitelné respektive 16.
3.
Y_Prahovane=round(Y_Kvantovane); Prahování kvantovaných vzorků.
for 1:8:sloupce
Y_DCT(blok 8x8) d*(Y(blok 8x8))*d'; DCT bloku 8x8.m) stejnou strukturu zpracování
jako DCT, tzn. Kvantizační matice použitá pro
DWT uvedena rovnici [14]./(Q*Qp)- …
(sign(Y_DxT(blok 8x8))/2) Kvantování.
dwtL1 [cA1, cH1; cV1, cD1]; Blok 8x8 prvního stupně DWT.
[cA1,cH1,cV1,cD1] dwt2(data,'db1'); DWT bloku 8x8.1.
Y_Kvantovane(blok 8x8) (16* Y_DxT(blok 8x8)).m).
d dctmtx(8); Výpočet DCT matice 8x8.21
3