Tuesday, October 7, 2008

Ještě větší komprimace signálu lze dosáhnout s podporou vektorů pohybu. Využívá se
toho, že sousední snímky jsou si značně podobné a obsahují prakticky stejné objekty, ale
posunuté do jiných poloh. Vytváření snímků P s podporou vektorů pohybu je naznačeno
. Pro každý blok právě kódovaného snímku se neprohledává celý předchozí snímek,
ale jen tzv. vyhledávací prostor v předchozím snímku a zkoumá se, zda se bloky svým
obsahem shodují. Pokud ano, je určen vektor pohybu a jeho souřadnice x,y jsou přenášeny
v záhlaví makrobloku. Pokud je snímán statický obraz, jsou rozdíly v hodnotách vzorků
makrobloku nulové a rovněž vektory pohybu jsou nulové. V případě, že není nalezen přesně
stejný makroblok, je povolena určitá nepřesnost (rozdíl součtů vzorků obou makrobloků) a
přenáší se pouze souřadnice vektoru pohybu. Jestliže i tato nepřesnost je překročena, vytváří
se rozdílový makroblok, který se běžně zpracuje (FDCT, atd.). Vytváření snímků B
s podporou vektorů pohybu je obdobné, výsledkem jsou souřadnice dvou vektorů pohybu.
Stanovení vektoru pohybu se provádí současně pro jasový signál (na úrovni makrobloků) i
oba chrominanční signály (na úrovni bloků). Jasovému a chrominančnímu signálu potom
přísluší jeden společný vektor pohybu. Stanovení vektorů pohybu spolu s výpočtem
koeficientů DCT patří k nejnáročnějším operacím kódování a z hlediska hardwaru je
nejnákladnější. Pro snímky I resp. snímky P a B se používají různé kvantizační tabulky, které
se rovněž liší pro standardy JPEG a MPEG.

No comments: