Użytkowanie multimediów
1. Standardy multimedialne
1.7. MPEG 4, czyli pułapki złożoności natury
Zmiana koncepcji kodowania wideo jest chyba największym wyróżnikiem kolejnej normy - MPEG-4. Zrealizowano w niej koncepcję kodowania obiektowego, z definicją obszaru obiektu o dowolnym kształcie, zgodnie z paradygmatem metod kompresji tzw. drugiej generacji. Obok kompresji sekwencji ramek typowych (definiowanych w prostokątnej dziedzinie pikseli) dopuszczono kompresję sekwencji regionów dowolnych kształtów (obszarów o kształtach zadanych mapą binarną). W normie dodano także możliwość syntetycznego kodowania obrazu i dźwięku. W porównaniu z MPEG-2 udoskonalono możliwości skalowalności strumienia kodowanego oraz dodano mechanizm odporności na błędy (error resilience).
Obok mechanizmów śledzenia obiektów o naturalnych kształtach w sekwencji czasowej, w normie zaproponowano nowatorskie narzędzie do kompresji obrazów pojedynczych - kodowanie wizualnej tekstury VTC (Visual Texture Coding), przewidziane dla scen multimedialnych zawierających obrazy statyczne. W algorytmie VTC wykorzystano falkową dekompozycję obrazu, realizując kodowanie w nieco uproszczonej wersji niż w JPEG2000.
Możliwe jest także kodowanie obrazów syntetycznych. W zależności od rodzaju syntezy obrazu sztucznego zaproponowano: kodowanie siatek dwuwymiarowych, kodowanie siatek wielokątnych trójwymiarowych, animację sztucznej twarzy i sztucznego ciała. Zdefiniowano trzy typy modelowania wizualnego: modele geometryczne opisujące kształt i wygląd prezentowanych obiektów, modele kinematyczne określające przemieszczenia i zniekształcenia obiektów oraz modele dynamiczne (w tym biomechaniczne), definiujące siły działające na obiekty i naprężenia wewnątrz tych obiektów.
Norma wzbogaca część systemową o narzędzia kompozycji i interakcji z mediami cyfrowymi. Ochrona praw autorskich znajduje odbicie w dwóch protokołach IPMP (Intelectual Property Management and Protection): IPMP-H (odpowiednik MPEG-2) oraz IPMP-X z nowymi funkcjonalnościami. Odpowiednikiem protokołu interakcji i sygnalizacji z MPEG-2 (DSM-CC) jest w przypadku MPEG-4 DMIF (Delivery Multimedia Integration Framework). DMIF jest protokołem sesji kontrolującej strumieniowanie mediów cyfrowych za pośrednictwem technik transportowych w sieci.
MPEG-4 określa mechanizmy budowy scen multimedialnych złożonych z równoczesnych prezentacji wideo, audio, obrazów statycznych, animacji, efektów grafiki komputerowej. Kluczowym narzędziem temu służącym jest binarny format strumieniowania BIFS (BInary Format for Streaming), w którym opisano hierarchiczną strukturę sceny, z mechanizmem zmiany konfiguracji sceny i jej animacji. Tekstowy opis sceny określono w rozszerzalnym tekstowym formacie XMT (eXtensible MPEG-4 Textual format), który w postaci XMT-A jest tekstową wersją BIFS. Cennym rozwiązaniem zamieszczonym w MPEG-4 jest mechanizm interakcji wielu użytkowników współdzielących tę samą scenę multimedialną, zgodnie z mechanizmem ''światów wielu użytkowników'' (MUW - multi-user worlds).
W normie zdefiniowano składnię formatu plikowego MP4 - dla kodowanej reprezentacji treści multimedialnych oraz metadanych wspomagających strumieniowanie, edycję, lokalne odtwarzanie i wymianę treści. Wprowadzono także pojęcie informacji o multimedialnej treści obiektów (OCI - Object Content Information).
W obszarze audio zaproponowano w MPEG-4 trzy nowe techniki kompresji dźwięku z przepływnościami bitowymi w zakresie od 2 kbit/s do 64 kbit/s. Ponadto, określono dwa narzędzia reprezentacji danych wspierających tworzenie dźwięku syntetycznego: interfejs systemu ''tekst w mowę'' (text to speech interface) oraz interfejs systemów dźwięku strukturalnego. Pierwszy z nich jest wykorzystywany do zapisu parametrów dźwiękowych (takich jak czas trwania głoski), które równolegle z tekstem są wprowadzane na wejście syntetyzera dźwięku. Określa też parametry umożliwiające synchronizację dźwięku z animowaną twarzą, dopuszcza różne języki w tekście i międzynarodowe symbole dla głosek, przy czym informacja jest wprowadzana do oryginalnego tekstu techniką specjalnych znaczników. W systemie dźwięku strukturalnego zdefiniowano język orkiestry (Structured Audio Orchestra Language), który umożliwia konfigurowanie sztucznej orkiestry złożonej z ''instrumentów'' reprezentowanych przez dynamicznie ładowane strumienie. Ponadto, język definiowania nut (Structured Audio Score Language) reprezentuje nie tylko zapis nutowy, ale umożliwia określanie nowych dźwięków i modyfikację dźwięków istniejących.
Obok części 2 standardu, opisującej obiektowe kodowanie wideo, w okresie późniejszym opracowano zupełnie inną koncepcję kodowania wideo, wracając do schematu blokowego i transformacji DCT, jednak na zupełnie innych warunkach adaptacji przyjętych schematów do realiów treści obrazowej. Część 10 zawiera specyfikację metody, w ramach innej ścieżki standaryzacyjnej zwaną H.264, która pozwala wyraźnie zwiększyć efektywność kodowania kosztem wyraźnego wzrostu złożoności obliczeniowej algorytmów. Co warto podkreślić, tak wysoką wydajność kodeka H.264 uzyskano metodą wielu drobnych modyfikacji, powodujących uelastycznienie modelu ruchu obiektów i wynikających z tego, konsekwentnych zmian w zakresie realizacji poszczególnych przekształceń, aż do formowania strumienia zakodowanych danych. Wprowadzono m.in. takie mechanizmy jak:
- predykcja wewnątrzramkowa INTRA, realizowana w blokach
(dla szczegółów) lub
(dla płaskich, łagodnych obszarów); nie jest to opcja obligatoryjna;
- wykorzystanie nadpróbkowania, sięgającego nawet 1/8 piksela do estymacji ruchu;
- wykorzystanie w estymacji i kompensacji ruchu bloków o różnej wielkości:
;
- stosowanie wielu obrazów referencyjnych do kompensacji ruchu, z możliwością ustalenia dowolnych wag, przy czym kierunek ruchu nieistotny, a klatki typu B mogą być referencyjne;
- całkowitoliczbowa wersja transformacji DCT liczona w bloku
, z możliwością rozszerzeń na dziedzinę
lub
poprzez wykorzystanie transformacji Hadamarda;
- adaptacyjny filtr redukcji efektów blokowych.