dvb
 
telewizja cyfrowa eon
Kompresja wizji MPEG2
 
 
 
 
 

 

Licznik odwiedzin

 

 

W standardzie MPEG-2 stosowana jest stratna metoda kompresji wizji, tzn. sygnał po dekompresji różni się od pierwotnego ale różnica jest niedostrzegalna okiem ludzkim (przy prawidłowo wybranych parametrach). Powtórna kompresja zdekompresowanego sygnału powoduje jednakże powstanie zniekształceń obrazu. Z tego powodu standard MPEG-2 jest przeznaczony przede wszystkim do wykorzystania do transmisji programów telewizyjnych: możliwości zastosowania w technice studyjnej (jak zresztą wszystkich innych metod stratnych) są ograniczone. Metoda kompresji stosowana w standardzie MPEG-2 wykorzystuje:

  • korelację przestrzenną (wewnątrzobrazową) - w większości obrazów występują jednolite lub nieznacznie tylko różniące się fragmenty, dzięki zastosowaniu dyskretnej transformaty kosinusowej DCT obszary takie mogą być efektywnie zakodowane;
  • korelację czasową - kolejne obrazy w sekwencji składającej się na obraz telewizyjny z reguły niewiele od siebie się różnią, na podstawie bieżącego obrazu można z dobrym przybliżeniem wyznaczyć następny obraz w sekwencji jeśli zostaną wykryte przesuwające się obiekty i prawidłowo zostanie opisany ich ruch, metoda ta nazywana jest także metodą kompensacji ruchu;
  • właściwości oka ludzkiego - oko ludzkie-nie jest idealnym przetwornikiem, nie jest w stanie dostrzec wszystkich detali w transmitowanych obrazach, a więc z obrazów tych można usunąć część informacji nie powodując przy tym pogorszenia subiektywnej oceny jakości obrazu. Właściwości oka ludzkiego wykorzystywano także w analogowych standardach telewizyjnych - mniejsza rozdzielczość oka dla obrazów kolorowych niż monochromatycznych pozwala na ponad dwukrotne ograniczenie pasma sygnału chrominancji w stosunku do pasma sygnału luminancji;
  • właściwości statystyczne sygnału - w transmitowanym sygnale pewne symbole pojawiają się częściej, a inne rzadziej, zastosowanie do ich kodowania słów o różnej długości krótszych słów dla symboli częściej się pojawiających, dłuższych dla pozostałych pozwala na zmniejszenie przepływności binarnej sygnału.

 

Rys. 5.12. Przykładowa struktura grupy obrazów w MPEG-2 [7]

 

W standardzie MPEG-2 cała sekwencja podzielona jest na grupy obrazów - rys. 5.12, każda grupa składa się z trzech typów obrazów:

  • obrazów typu I (Intra Frame), przy kompresji których wykorzystywana jest korelacja przestrzenna;
  • obrazów typu P (Predicted Frame) komprymowanych przy użyciu jednokierunkowej kompensacji ruchu;
  • obrazów typu B (Bidirectional Predicted Frame)komprymowanych przy użyciu dwukierunkowej kompensacji ruchu.

Liczba obrazów poszczególnych typów jak i długość całej grupy obrazów nie jest określona w standardzie i może być różna w zależności od wymagań stawianych danemu systemowi transmisji. Struktura grupy obrazów nie musi być stała w czasie całej transmisji i może się zmieniać w zależności od aktualnej treści przekazywanego programu.

 


Rys. 5.13. Transformata kosinusowa bloku próbek w przypadku obrazu pasów pionowych.[7]

 

Obrazy typu I kodowane są w sposób następujący: cały obraz jest dzielony na bloki o wymiarach 8x8 pikseli (sygnał luminancji niezależnie od sygnału chrominancji), a następnie dla każdego bloku (niezależnie od pozostałych bloków) wyznaczana jest jego transformata kosinusowa - rys. 5.13. Transformata kosinusowa jest przekształceniem odwracalnym i z jej współczynników można odtworzyć pierwotny blok. Współczynniki transformaty kosinusowej zawierają informację o tym jak szybko zmieniają się wartości próbek w przetwarzanym bloku. W większości obrazów występują obszary stałe, wartości próbek bloków należących do takich obszarów niewiele różnią się od siebie. Natomiast współczynniki transformaty kosinusowej mają znacznie różniące się wartości - tylko współczynnik odpowiadający składowej stałej i sąsiednie współczynniki odpowiadające niskim częstotliwościom mają duże wartości, pozostałe odpowiadające wyższym częstotliwościom są równe lub bliskie zeru. Z badań nad właściwościami wzroku ludzkiego wiadomo, że oko jest znacznie bardziej wrażliwe na składowe niskoczęstotliwościowe obrazu niż na składowe wysokoczęstotliwościowe. Jeśli więc będziemy kwantować współczynniki transformaty kosinusowej to współczynniki niskoczęstotliwościowe powinny być kwantowane dokładniej, z dużą liczbą bitów, a współczynniki wysokoczęstotliwościowe mniej dokładnie. W wyniku takiej kwantyzacji większość współczynników wysokoczęstotliwościowych, które były bliskie zeru, przyjmie zerowe wartości. Na etapie kwantyzacji następuje nieodwracalna utrata części informacji o obrazie, ze skwantowanych współczynników zostaną odtworzone próbki różniące się od pierwotnych.

 

Tab. 5.1. Wybieranie zygzakowe współczynników transformaty kosinusowej [7]

 

Jeśli jednak poszczególne współczynniki będą wystarczająco dokładnie skwantowane (zostanie im przypisana dostatecznie duża liczba bitów), to różnice pomiędzy pierwotnym, a odtworzonym blokiem obrazu będą niedostrzegalne przez człowieka. Kolejnym etapem jest wybieranie "zygzakowe" współczynników transformaty kosinusowej - tab. 5.1. Taki sposób wybierania powoduje powstanie ciągów liczb, w których znajdują się długie sekwencje kolejno po sobie następujących zer. Sekwencje te zapisywane są za pomocą kodu RLC (Run Length Coding), tzn. w postaci symboli <długość sekwencji, wartość>. Niezerowe współczynniki i symbole kodu RLC są następnie zapisywane w kodzie o zmiennej długości słów (VLC - Variable Length Coding), w którym za pomocą krótkich słów koduje się częściej pojawiające się symbole, a za pomocą dłuższych słów pozostałe symbole. Jak łatwo przewidzieć strumień danych po kompresji nie będzie stały i będzie się zmieniał w zależności od zawartości aktualnie przetwarzanego bloku. Ponieważ jednak w większości systemów transmisyjnych szybkość bitowa musi być stała, na wyjściu kodera - rys. 5.14 - znajduje się bufor, a cały koder objęty jest pętlą sprzężenia zwrotnego. Jeśli bufor zaczyna się przepełniać to wysyłany jest odpowiedni sygnał do bloku kwantyzacji, który powoduje, że współczynniki transformaty kodowane są mniej dokładnie. W odwrotnym przypadku, gdy w buforze zaczyna brakować danych do wysłania zwiększana jest dokładność kwantyzacji współczynników. Stałe kontrolowanie stanu zapełnienia bufora pozwala na utrzymanie stałej szybkości bitowej strumienia danych na wyjściu kodera.

 


Rys. 5.14. Koder obrazów typu I [7]

 

Przy kodowaniu obrazów typu P korzysta się z podobieństwa obrazów w sekwencji. Dlatego też koduje się nie poszczególne obrazy ale różnice pomiędzy kolejnymi obrazami. Dwa kolejne obrazy są odejmowane od siebie i ich różnicę koduje się tak jak omówione wcześniej obrazy typu I, wykorzystując transformatę kosinusową i kwantyzację jej współczynników. Ponieważ jest to kompresja stratna więc transmitowana informacja różni się od wyniku odejmowania kolejnych obrazów. Ta różnica mogłaby spowodować rozbieżności pomiędzy procesami kodowania i dekodowania obrazów. Żeby tego uniknąć w koderze odtwarza się poprzez odwrotną transformatę kosinusową i odwrotną kwantyzację dokładnie taki sam obraz jaki powstanie w dekoderze - rys. 5.15 - obraz ten nazywany jest obrazem odniesienia. Kodowaniu poddawana jest więc różnica pomiędzy bieżącym obrazem a obrazem odniesienia. Przedstawiony niżej schemat kodowania jest skuteczny, jeśli kolejne obrazy w sekwencji niewiele różnią się od siebie, a więc gdy transmitowana scena jest prawie statyczna. Jeśli jednak występują w niej ruchome elementy, to metoda kompresji oparta na kodowaniu różnic, pomiędzy tymi obrazami przestaje być efektywna. Aby zwiększyć stopień kompresji na podstawie porównania kolejnych obrazów wyznaczana jest informacja o tym jakie fragmenty obrazu, jak szybko i w jakim kierunku się przemieszczają - oba obrazy dzielone są na makrobloki, dla każdego makrobloku w bieżącym obrazie znajdowany jest najbardziej podobny do niego makro-blok w obrazie odniesienia. Względne przesunięcia dopasowanych bloków - wektory ruchu - opisują ruch obiektów w przekazywanej scenie. Na podstawie wektorów ruchu modyfikowany jest obraz odniesienia - tworzona jest prognoza (predykcja) kolejnego obrazu z makrobloków obrazu odniesienia przesuniętych zgodnie z wyznaczonymi wektorami ruchu. Informacja o obrazie typu P składa się więc z dwóch części: wektorów ruchu oraz informacji o różnicy pomiędzy kodowanym obrazem i prognoza tego obrazu wyznaczoną na podstawie obrazu odniesienia i wektorów ruchu. Informacje o różnicach poddaje się transformacji DCT - analogicznie jak próbki obrazu I.

 


Rys. 5.15. Koder obrazów typu P [7]

 

Obrazy typu B kodowane są podobnie jak obrazy typu P, z tym że jednocześnie wykorzystuje się dwa obrazy odniesienia - wcześniejszy i późniejszy. Dla obu obrazów odniesienia wyznaczane są dwa zestawy wektorów ruchu. Prognoza kodowanego obrazu tworzona jest przez uśrednienie informacji pochodzących od obu obrazów odniesienia, dlatego też ten typ obrazu nazywany jest obrazem interpolowanym.

Poszczególne typy obrazów stosowane w standardzie MPEG-2 zapewniają różne stopnie kompresji. Najmniejszy stopień kompresji zapewniają obrazy typu I, gdyż zawierają pełną informację o obrazie. Obrazy te muszą być jednakże dość często transmitowane, gdyż odbiornik może rozpocząć dekodowanie sekwencji tylko od tego typu obrazu. Obrazy typu P zapewniają większy stopień kompresji, przy ich kodowaniu powstają jednak pewne zniekształcenia spowodowane skończoną dokładnością obliczeń, które kumulują się i dlatego liczba kolejno następujących po sobie obrazów typu P nie może być zbyt duża. Jeszcze większy stopień kompresji zapewniają obrazy typu B. W tym przypadku także występują wspomniane wcześniej zniekształcenia, a ponadto przy transmisji obrazów tego typu musi zostać zmieniona kolejność nadawania obrazów - najpierw muszą być wysłane oba obrazy odniesienia, a dopiero potem obraz typu B. Wymaga to wyposażenia dekodera w odpowiednio dużą pamięć.

 

 


O stronie:

Stronka poświęcona szeroko pojętej tematyce telewizyjnej. Zawarte informacje pomogą w zrozumieniu wielu zagadnień związanych z satelitarna telewizja cyfrowa DVB, zarówno teoretycznie, jak i praktycznie.

 

Ciekawe linki:

dvb-board-pl-com

satkurier.pl

happysat.org

dvbpl.com

dvbzone.prv.pl