Podręcznik
1. Standardy multimedialne
1.6. MPEG 1 i 2, czyli muzyka i telewizja cyfrowa
Norma MPEG-1 składa się z trzech podstawowych części, dotyczących: a) kodowania wideo, b) kodowania audio, c) multipleksacji (łączenia) strumieni wideo i audio (część systemowa, uwzględniająca tak istotny dla multimediów aspekt integracji różnych strumieni informacji). Części te uzupełnia referencyjne oprogramowanie i dokument opisujący testy zgodności ze standardem. MPEG-1, przeznaczony początkowo do kompresji materiałów cyfrowych przechowywanych na lokalnie dostępnych nośnikach pamięci zewnętrznej (dysk, CD-ROM), z powodzeniem został wykorzystany w strumieniowaniu wideo w lokalnych sieciach komputerowych. Jednak największy wpływ na współczesny świat multimediów wywarł fragment tego standardu, dotyczący kodowania audio (Audio Layer III), powszechnie znany i używany do strumieniowania i archiwizacji dźwięku jako MP3 (Wśród młodzieży bardzo popularny stał się odtwarzacz nazywany ''mp-trójką'', pozwalający odsłuchiwać niezłej jakości muzykę w niemal każdych warunkach). Określono kodowanie audio w trybie mono i stereo w trzech warstwach, będących kompromisem miedzy złożonością a wydajnością kompresji. Pierwsze dwie bazują na kodowaniu pasmowym, zaś trzecia (MP3) dodatkowo wykorzystuje mechanizmy dopasowania widma kodowanego sygnału do zdolności percepcyjnych odbiorcy w dziedzinie dyskretnej transformacji kosinusowej (DCT).
Podstawowy algorytm kompresji wideo bazuje na metodzie kompresji obrazów pojedynczych opisanej normą JPEG - z blokową dyskretną transformacją kosinusową, kwantyzacją z przedziałami i progami selekcji współczynników DCT opisanymi odpowiednią tablicą oraz binarnym kodowaniem skwantowanych wartości metodą entropijną. Metoda kompresji MPEG została jednak rozszerzona o dodatkowy mechanizm estymacji i kompensacji ruchu w celu usunięcia nadmiarowości czasowej, czyli istniejących zależności (korelacji) pomiędzy kolejnymi ramkami zapisu wideo.
Kompensacja ruchu wykorzystuje zasadę lokalnej predykcji kodowanego kadru na podstawie ustalonej ramki (lub ramek) odniesienia. Odbywa się w strukturze makrobloków, gdzie dla każdego kolejnego bloku obrazu o wymiarach $16 \times 16$ wyszukiwany jest (na etapie estymacji ruchu) najbardziej podobny blok ramki odniesienia, stanowiący predykcję informacji kodowanej. Różnicowy błąd predykcji makrobloków kodowany jest z wykorzystaniem blokowej DCT (transformacja niezależna w blokach $8 \times 8$) analogicznie jak w JPEG. Predykcja może się odbywać na podstawie ramek poprzedzających, a także następników przybierając formę interpolacji wzdłuż osi czasu (wymaga to zmiany naturalnej kolejności kodowania ramek znakowanych czasem, skorelowanej ze zmianą powrotną w dekoderze formującym strumień wyjściowy). Składnia strumienia MPEG przewiduje zapis tzw. wektorów ruchu, opisujących kolejno przesunięcie (przemieszczenie) najbardziej podobnego makrobloku obrazu odniesienia (referencyjnego) w położenie aktualnie kodowanego bloku ramki.
Kolejna norma, MPEG-2 jest kontynuacją, rozszerzeniem MPEG-1 zarówno w wersji systemowej, jak i algorytmicznej-sygnałowej (wideo, audio). Wprowadza elementy skalowalności jakościowej (SNR), czasowej i przestrzennej strumienia wideo, rozszerza spektrum rozdzielczości, dołączając profil telewizji wysokiej rozdzielczości HDTV, dodaje warstwę transportową do transmisji w sieciach rozległych (zastosowanie telewizji cyfrowej). W kolejnych dokumentach MPEG-2 pojawia się protokół interakcji i sygnalizacji (DSM-CC - Digital Storage Media Command and Control), ochrona praw autorskich (IP protection) oraz określenie czasowej precyzji dostawy strumienia transportowego (RTI - Real Time Interface).
W MPEG-2 oprócz rozszerzenia liczby kanałów dźwiękowych i zestawu dopuszczalnych
częstości próbkowania, dodano zupełnie nowy algorytm AAC (Advanced Audio Coding) wykorzystujący DCT, który przy tej samej jakości redukuje przepływność bitową strumienia audio o jedną trzecią w stosunku do MP3. Algorytm AAC zapewnia kilka trybów pracy z różną złożonością i wydajnością bitową.
W MPEG-2 wprowadzono możliwość dopisywania do strumienia dowolnych danych użytkownika (jako metadane), opisujących dane sygnałowe -- składnia i znaczenie metadanych wynikają już z konkretnej aplikacji.