05.04.2013 Views

SERWIS ELEKTRONIKI

SERWIS ELEKTRONIKI

SERWIS ELEKTRONIKI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Telewizja HDTV<br />

ki D. W trybach 3-8 prognozowane próbki s¹ wartoœci¹ œredni¹<br />

wa¿on¹ próbek A-M.<br />

Koder wybiera taki tryb predykcji, który najlepiej minimalizuje<br />

sygna³ b³êdu Dn. Dla prognozowanego bloku koder<br />

wylicza próbki we wszystkich trybach 0-8, nastêpnie obliczany<br />

jest b³¹d prognozy. W efekcie koñcowym wybierana jest<br />

prognoza z najmniejszym b³êdem.<br />

Prognozowanie „Intra” makrobloków luminancji 16×16<br />

Dla prognozowania makrobloków o wymiarach 16×16 stosowane<br />

s¹ cztery tryby pokazane na rysunku 9.<br />

Tryb 0 - pionowy Tryb 1 - poziomy Tryb 2- DC Tryb 3 - "plane"<br />

H H H H<br />

V ...... V .<br />

V<br />

WartoϾ<br />

œrednia V<br />

.<br />

.<br />

(H+V)<br />

Rys.9. Tryby prognozowania makrobloków 16×16<br />

Wykorzystywane jest prognozowanie w kierunku poziomym,<br />

pionowym, DC i p³askie. W trybie poziomym próbki<br />

s¹siedniego lewego makrobloku s³u¿¹ do tworzenia prognozowanego<br />

bloku. W trybie pionowym próbki górnego makrobloku<br />

s³u¿¹ do tworzenia prognozowanego makrobloku. W trybie<br />

DC makroblok jest prognozowany na podstawie wartoœci<br />

œredniej z próbek górnego i lewego makrobloku. W trybie p³askim<br />

- „plane” próbki z górnego i lewego makrobloku s³u¿¹<br />

do wyliczenia wartoœci prognozowanego makrobloku. Przy<br />

prognozowaniu pe³nych makrobloków metoda przyjêta do prognozowania<br />

jest wybierana przez koder na podstawie treœci<br />

makrobloku.<br />

Prognozowanie „Intra” bloków chrominancji 8×8<br />

Bloki chrominancji s¹ prognozowane na podstawie próbek<br />

chrominancji pochodz¹cych z obrazu odniesienia poprzednio<br />

zakodowanego i zrekonstruowanego. Próbki musz¹ le¿eæ od<br />

góry i z lewej strony prognozowanego bloku. Wykorzystuje<br />

siê cztery metody prognozowania analogicznie jak przy prognozowaniu<br />

makrobloków luminancji 16×16, zamienione s¹<br />

tylko numery trybów:<br />

• tryb 0 oznacza metodê DC,<br />

• tryb 1 metodê poziom¹, tryb 2 metodê pionow¹,<br />

• tryb 3 metodê „plane”.<br />

Ta sama metoda jest przyjmowana dla obu bloków 8×8 sygna³u<br />

chrominancji (dla obu sygna³ów ró¿nicowych koloru).<br />

Je¿eli makroblok luminancji odpowiadaj¹cy sygna³owi chrominancji<br />

jest kodowany metod¹ „Intra”, oba sygna³y chrominancji<br />

s¹ równie¿ kodowane metod¹ „Intra”.<br />

Predykcja typu „Inter”<br />

Standard AVC dokonuje prognozowania typu „Inter” na<br />

blokach o rozmiarach od 16×16 do 4×4. Sygna³ luminancji z<br />

ka¿dego makrobloku o wymiarach 16×16 mo¿e byæ podzielony<br />

na partycje o nastêpuj¹cych rozmiarach: 16×16, 16×8, 8×16,<br />

8×8. Je¿eli wybrana zostaje partycja 8×8, to mo¿e ona byæ dzielona<br />

dalej na mniejsze podpartycje: 8×8, 8×4, 4×8, 4×4. Na<br />

rysunku 10 przedstawiono partycje i podpartycje makrobloku.<br />

Dla ka¿dej partycji i podpartycji tworzony jest oddzielny<br />

wektor ruchu. Ka¿dy wektor ruchu musi byæ zakodowany i<br />

przes³any dalej. Dodatkowo w strumieniu wyjœciowych z ko<br />

dera H.264 musi byæ dodana informacja o wielkoœci partycji.<br />

12 <strong>SERWIS</strong> <strong>ELEKTRONIKI</strong> 6/2007<br />

Du¿e partycje (16×16, 16×8, 8×16) oznaczaj¹ wiêc mniejsz¹<br />

liczbê bitów wymaganych do przes³ania informacji. Ma³e partycje<br />

wymagaj¹ wiêkszej liczby bitów do przes³ania wektora<br />

ruchu i rozmiaru partycji. Zatem wybór wielkoœci partycji ma<br />

zasadniczy wp³yw na efektywnoœæ kompresji. Du¿e partycje<br />

wybierane s¹ dla obrazów jednorodnych o niewielkiej iloœci<br />

zmian w obrazie. Ma³e partycje s¹ wykorzystywane przy przesy³aniu<br />

obrazów o du¿ej iloœci detali.<br />

Partycje makrobloku 16×16<br />

16×16<br />

0<br />

8×16<br />

Podpartycje partycji 8×8<br />

8×8<br />

4×8<br />

0<br />

0<br />

0<br />

8×16<br />

1<br />

4×8<br />

1<br />

16×8<br />

Ka¿demu blokowi sygna³u luminancji odpowiadaj¹ dwa<br />

bloki sygna³u chrominancji o wymiarach poziomych i pionowych<br />

o po³owê mniejszych. Ka¿dy blok chrominancji jest dzielony<br />

w taki sam sposób jak blok luminancji. Wektor ruchu dla<br />

bloków chrominancji jest równie¿ dwa razy mniejszy w kierunku<br />

poziomym i pionowym w stosunku do wektora ruchu<br />

dla sygna³u luminancji.<br />

Ka¿da partycja makroblokou prognozowanego metod¹ „Inter”<br />

jest tworzona z partycji o takim samym rozmiarze pochodz¹cej<br />

z obrazu odniesienia. RozdzielczoϾ wektora ruchu (najmniejszy<br />

wektor ruchu) jest równa 1/4 piksela sygna³u luminancji<br />

i 1/8 piksela sygna³u chrominancji. Tak du¿a rozdzielczoœæ<br />

wektora ruchu uzyskiwana jest metod¹ interpolacji próbek<br />

pochodz¹cych z kilku obrazów odniesienia.<br />

Kodowanie wektora ruchu dla ka¿dej partycji mo¿e wymagaæ<br />

du¿ej liczby bitów, szczególnie gdy partycje maj¹ ma³e<br />

rozmiary. Wektory ruchu w s¹siaduj¹cych partycjach s¹ bardzo<br />

podobne do siebie, dlatego te¿ ka¿dy wektor ruchu jest<br />

prognozowany na podstawie wektorów z s¹siaduj¹cych, poprzednio<br />

zakodowanych partycji. Prognozowany wektor ruchu<br />

MVp jest tworzony z poprzednio wyliczonych wektorów<br />

ruchu. Tworzony jest wektor MVD bêd¹cy ró¿nic¹ wektora<br />

bie¿¹cego i prognozowanego MVp. Wektor MVD jest dalej<br />

kodowany i przesy³any.<br />

Metoda tworzenia wektora MVp zale¿y od rozmiaru partycji<br />

i od dostêpnoœci s¹siednich wektorów ruchu. W torze dekodera<br />

wektor prognozowany MVp jest tworzony w ten sam<br />

sposób i dodawany do wektora MVD. W ten sposób odtwarzany<br />

jest wektor ruchu bie¿¹cego bloku.<br />

Filtr kodera i dekodera H.264<br />

Wad¹ kodowania operuj¹cego na blokach jest powstawanie<br />

zak³óceñ na krawêdziach bloków. Filtr stosowany w torze<br />

kodera i dekodera ma za zadanie usuniêcie tych zak³óceñ.<br />

Filtr umieszczony jest w torze przed uk³adem tworz¹cym<br />

obraz odniesienia. Filtr przetwarza krawêdzie bloków i uzupe³nia<br />

ich zawartoœæ w s¹siaduj¹cych blokach. Korzyœci p³y-<br />

0<br />

1<br />

16×8<br />

8×4<br />

0<br />

1<br />

8×4<br />

8×8<br />

0<br />

2<br />

8×8<br />

4×4<br />

0<br />

2<br />

4×4<br />

Rys.10. Partycje i podpartycje makrobloku<br />

8×8<br />

1<br />

3<br />

8×8<br />

4×4<br />

1<br />

3<br />

4×4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!