MPEG
Z Wikipedii
MPEG (ang. Moving Picture Experts Group) - grupa robocza ISO/IEC zajmująca się rozwojem standardów kodowania audio i wideo, a także zatwierdzona przez ISO grupa powszechnie stosowanych formatów zapisu danych zawierających obraz i dźwięk. Wśród tych standardów znajdują się m.in. najpopularniejszy format kompresji dźwięku, stosowany w komputerach osobistych i odtwarzaczach przenośnych MP3 oraz opracowany dość dawno przez grupę niezależnych ekspertów standard używany jest do zapisu filmów Video CD, DVD i transmisji telewizji cyfrowej (MPEG 2).
Grupa MPEG powstała w 1988 roku, do pierwszego spotkania doszło w maju 1988 w Ottawie. Jej celem było opracowanie standardu kodowania wideo wraz z dźwiękiem. Rozwój technologii wymógł konieczność opracowania sposobu kompresji, ponieważ np. obraz PAL składa się 25 klatek na sekundę, 720 punktów w poziomie i 576 punktów w pionie, a kolor każdego z tych punktów opisany jest 24 bitami. Oznacza to, że każda sekunda nieskompresowanego obrazu w standardzie PAL ma wielkość prawie 30 megabajtów. Jak łatwo wyliczyć półtoragodzinny film zajmie ponad 156 gigabajtów- zmieści się na 224 krążkach CD. Ponieważ taka ilość danych drastycznie przekraczała możliwości dostępnego na ówczesnym rynku konsumenckim sprzętu, zarówno jeśli chodzi o możliwości składowania danych, jak i ich przesyłu czy odczytu z nośników danych, cyfrowe odtwarzanie wideo wymagało opracowania wydajnych standardów kompresji.
Spis treści |
[edytuj] Formaty
W 1991 roku opracowano oficjalną specyfikację standardu MPEG-1. Obraz ma w nim rozdzielczość 352x240 punktów i jest wyskalowany do odtwarzania pełnoekranowego, a przepustowość wynosi 1,5 Mb/s. Trzecia wartswa standardu MPEG-1 dotyczy kodowania dźwięku i jest wykorzystywana w popularnym formacie MP3.
W roku 1994 pojawiła się specyfikacja standardu MPEG-2, w którym maksymalna rozdzielczość obrazu wynosi 1920x1152 punktów, a prędkość transferu waha się między 3 a 130 Mb/s.
MPEG-3 został oryginalnie zaprojektowany dla HDTV, został jednak porzucony gdy okazało się, że format MPEG-2 jest dla telewizji wysokiej rozdzielczości w zupełności wystarczający.
MPEG-4 jest przystosowany głównie do kompresji danych strumieniowych (wideokonferencje), dlatego posiadał zaimplementowane funkcje ochronne przed błędami przesyłu. Ich usunięcie i lekkie przekompilowanie kodeka przez młodego Francuza Jerome Rota zaowocowało powstaniem kodeka DivX ;-). Od tej pory rozpoczął się dynamiczny rozwój tej gałęzi multimediów, oraz powstanie coraz bardziej wydajnych kodeków, takich jak XviD. Część 10. standardu MPEG-4 opisuje jeszcze wydajniejszy algorytm kompresji, nazwany AVC - Advanced Video Coding (format H.264).
MPEG-7 to standard opisu danych multimedialnych. Umożliwia zapis informacji o cechach obrazu: kształtach, kolorach, teksturach. Na podstawie tych danych możliwe jest szybkie i trafne odnajdywanie obrazów podobnych do siebie.
MPEG-21 to przyszłościowy standard, mający na celu dalszą standardyzację treści multimedialnych.
[edytuj] Techniki kompresji
W kodowaniu obrazu MPEG 1, 2 i 4 wykorzystywane są różne metody kompresji bazujące na analizie możliwości i ograniczeń ludzkiego zmysłu wzroku:
- Podpróbkowanie chrominancji. W obrazie cyfrowym kolor każdego punktu kodowany jest przy pomocy trzech 8-bitowych wartości. Informują one o nasyceniu punktu kolorami: czerwonym (red), zielonym (green) oraz niebieskim (blue)- standard RGB. W cyfrowym obrazie wideo do zdefiniowania koloru punktu używa się standardu YUV, w którym używane są parametry luminancji (jasności, oznaczenie Y) oraz chrominancji (unikatowy kolor, oznaczenie U i V). Aby zobaczyć obraz wideo należy przeprowadzić konwersję danych o kolorach ze standardu RGB na YUV. Jak wykazały badania, informacja kolorystyczna ma mniejsze znaczenie dla ludzkiego oka, dlatego stosuje się "podpróbkowanie" - na każde 2x2 punkty luminancji przypada zaledwie jeden punkt chrominancji U i jeden V.
- Kodowanie transformatowe. Obraz każdej klatki dzielony jest na bloki o wielkości 8x8 punktów, a następnie dokonuje się na takim bloku operacji matematycznej nazywanej transformatą cosinusową, która informację o wszystkich 64 punktach pozwala zapisać na zaledwie kilku liczbach bez zauważalnej straty jakości.
- Kompensacja ruchu. Często w filmach występują momenty, w których na ekranie ruszają się tylko postacie, a tło pozostaje niezmienione (np. sceny rozmowy). Zamiast podawania w każdej klatce informacji o każdym pikselu, podaje się dane o pikselach, które zmieniły swoje cechy. Dla każdego makrobloku (16x16 punktów) oblicza się wektor, wskazujący na miejsce w klatce odniesienia (najczęściej jest to poprzednia klatka filmu), które jest najbardziej podobne do kodowanego makrobloku. Do odbiornika przesyła się wartość wektora i różnicę względem "podobnego" makrobloku. Ta operacja pozwala na ogromną redukcję przesyłanych danych.
- Kodowanie Huffmana. Informacja o wektorach ruchu i współczynnikach DCT jest kodowana kodem Huffmana. Wartości bardzo prawdopodobne są reprezentowane przez krótsze ciągi zer i jedynek, a mało prawdopodobne - przez dłuższe.
Podsumowując: najpierw następuje odtworzenie informacji zero-jedynkowej przy pomocy dekodowania Huffmana. Następnie tworzony jest przybliżony obraz, który jest wynikiem poprzesuwania bloków z klatki odniesienia zgodnie z wektorami ruchu. Wtedy z przesłanych współczynników DCT odtwarzane są bloki z punktami obrazu i dodawane do obrazu przybliżonego. Tak w skrócie wygląda uzyskanie obrazu poddanego kompresji MPEG.
Niestety, aby odtworzyć tak skompresowany film jest potrzebny komputer o odpowiedniej mocy obliczeniowej. Do VideoCD wystarczy już Pentium 166 MHz. Do DivX uważa się, że procesor 300 MHz obciążony minimalnie przez system operacyjny jest w stanie sobie poradzić z dekompresją i kompresją.
Rozwój techonologii informatycznej – rosnąca moc obliczeniowa i spadające koszty sprzętu komputerowego czynią tę przeszkodę coraz mniej istotną, co zaowocowało m.in. przenośnymi odtwarzaczami DVD czy możliwością odtwarzania plików wideo m.in. w standardzie H.264 na piątej generacji odtwarzaczy iPod.