Moving Picture Experts Group
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 przenośnych odtwarzaczach muzycznych (MP3) oraz opracowany dość dawno przez grupę niezależnych ekspertów standard do zapisu filmów (Video CD, DVD) i transmisji telewizji cyfrowej (MPEG 2).
Powstanie grupy
[edytuj | edytuj kod]Grupa MPEG powstała w 1988, 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 zwykle 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 29,2 megabajtów. 1,5-godzinny film w tym formacie zajmuje ponad 156 gigabajtów, a do jego zapisania potrzebne byłyby 224 płyty 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.
Formaty
[edytuj | edytuj kod]W 1991 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 warstwa 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 13 Mb/s.
MPEG-3 został oryginalnie zaprojektowany dla HDTV, porzucono go jednak, 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 chroniące przed błędami przesyłu. Ich usunięcie i drobne usprawnienia w części 2 standardu przez francuskiego hakera Jérôme Rota (ur. 1973 w Montpellier) zaowocowało powstaniem kodeka "DivX;-)" (emotikon jest częścią nazwy tego kodeka). Od tej pory rozpoczął się dynamiczny rozwój tej gałęzi multimediów, oraz powstanie coraz bardziej wydajnych kodeków, takich jak XviD. Część 3. standardu MPEG-4 opisuje kodek audio AAC. Część 10. opisuje jeszcze wydajniejszy algorytm kompresji, nazwany AVC - Advanced Video Coding (zalecenie ITU-T 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ą standaryzację treści multimedialnych.
Techniki kompresji
[edytuj | edytuj kod]W kodowaniu obrazu MPEG 1, 2 i 4 wykorzystywane są różne metody kompresji bazujące na znajomości ograniczeń ludzkiego postrzegania obrazów:
- Podpróbkowanie chrominancji. W obrazie cyfrowym kolor każdego punktu kodowany jest przy pomocy trzech 8-bitowych wartości. Informują one o nasyceniu punktu składowymi barw: czerwonej (Red), zielonej (Green) oraz niebieskiej (Blue)- reprezentacja RGB. W cyfrowym obrazie wideo do zdefiniowania koloru punktu używa się reprezentacji YCbCr, opartej na składowych luminancji (jasności, oznaczenie Y) oraz chrominancji (odcień i nasycenie, oznaczenie Cb i Cr). Aby obejrzeć taki obraz należy przeprowadzić konwersję danych o kolorach z reprezentacji YCbCr na RGB. Jak wykazały badania, informacja kolorystyczna ma mniejsze znaczenie dla ludzkiego oka, dlatego stosuje się "podpróbkowanie" - najczęściej na każde 2x2 punkty luminancji przypada zaledwie jeden punkt chrominancji Cb i jeden Cr.
- 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 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 transformacją kosinusową (DCT), która zamienia treść bloku 64 punktów na informację o wolnych i szybkich zmianach luminancji i chrominancji w różnych kierunkach, a ponieważ składowe szybkozmienne są mniej intensywne, odpowiadające im wartości liczbowe (współczynniki transformaty DCT) mają wartości bliskie zeru i mogą być pominięte lub zapisane zgrubnie bez znaczącej straty jakości.
- 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. Uzyskuje się dwa rodzaje klatek: kluczowe — zawierające pełne obrazy oraz predykcyjne, zawierające różnice między skompensowanymi ruchowo klatkami kluczowymi i oryginalnymi w filmie. Następnie strumienie bitów z klatek predykcyjnych są poddawane odwrotnej transformacji kosinusowej celem odtworzenia przybliżonych obrazów, będących wynikiem poprzesuwania bloków z klatki odniesienia zgodnie z wektorami ruchu. Następnie obrazy te są dodawane do klatek odniesienia (również odtworzonych za pomocą odwrotnej transformacji kosinusowej), dzięki czemu odtworzone zostają pozostałe klatki filmu. Tak w skrócie wygląda uzyskanie obrazu poddanego kompresji MPEG.
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ą w czasie rzeczywistym.
Rozwój technologii 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.
Zobacz też
[edytuj | edytuj kod]Linki zewnętrzne
[edytuj | edytuj kod]- Oficjalna strona grupy MPEG. chiariglione.org. [zarchiwizowane z tego adresu (2008-11-09)].