Przejdź do zawartości

Moving Picture Experts Group

Z Wikipedii, wolnej encyklopedii
(Przekierowano z MPEG)

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]