MPEG-4


MPEG-4 w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania

MPEG-4 – oznaczenie grupy standardów kodowania audio i wideo wraz z pokrewnymi technologiami, opracowanej przez grupę ISO/IEC MPEG i wprowadzonej pod koniec 1998. Główne zastosowania MPEG-4 to media strumieniowe w sieci Web, dystrybucja CD, wideokonferencje i telewizja.

MPEG-4 przejął wiele elementów standardów MPEG-1, MPEG-2 i pokrewnych, dodając nowe możliwości, takie jak (rozszerzona) obsługa VRML dla renderowania 3D, zorientowane obiektowo pliki złożone (zawierające obiekty audio, wideo i VRML), obsługa technologii DRM (zdefiniowanych jako zewnętrzne standardy) i różnoraką interaktywność.

To, jakie elementy zaimplementowane będą w obrębie MPEG-4, pozostawiane jest jako indywidualna decyzja programisty. Oznacza to, że prawdopodobnie w chwili obecnej nie istnieje pełna implementacja całego zestawu standardów składających się na MPEG-4. Rozwiązanie tego problemu osiągnięto poprzez koncepcję "profili" i "poziomów", pozwalających konkretnym zbiorom możliwości być zdefiniowanymi w sposób odpowiedni dla podzbioru aplikacji.

Spis treści

Implementacje MPEG-4 | edytuj kod

Standard MPEG-4 w różnych wariantach stosowany jest także w plikach WMA i WMV systemu Windows Media, w oprogramowaniu multimedialnym Apple QuickTime, formacie Nero Digital, w plikach wideo zapisywanych przez niektóre telefony komórkowe z wbudowanymi kamerami wideo oraz DivX/XviD.

Funkcje MPEG-4 | edytuj kod

Transport | edytuj kod

W zasadzie MPEG-4 nie definiuje warstwy transportu, lecz w wielu przypadkach zostało zdefiniowane dostosowanie warstwy transportu w sposób następujący: transport przez MPEG-2 Transport Stream transport przez IP (w kooperacji z IETF, the Internet Engineering Task Force).

DMIF (Delivery Multimedia Integration Framework) jest to interfejs pomiędzy aplikacją i transportem, który jest tak naprawdę odpowiedzialny za transport w standardzie MPEG-4. Twórcy aplikacji zgodnej ze standardem MPEG-4 nie muszą się martwić o transport pomiędzy warstwami dzięki wprowadzeniu DMIF. Konkretniej mówiąc DMIF jest niewidoczny dla twórców aplikacji.

System | edytuj kod

MPEG-4 definiuje zestaw zaawansowanych algorytmów kompresji audio i informacji wizualnej. Strumienie danych podstawowych (ES - Elementary Streams), które wynikają z procesu kodowania mogą być przekazywane lub przechowywane oddzielnie, i muszą mieć możliwość odtworzenia tak aby po stronie odbiorcy ukazać aktualną prezentację multimedialną.

Część systemów MPEG-4 zajmuje się opisem relacji pomiędzy elementami audio-wizualnymi. Ten związek jest opisany w dwóch głównych poziomach.

Binary Format Scenes (BIFS) opisuje czasowo-przestrzenne układy scen. Widzowie mogą mieć możliwość interakcji z obiektami, np. przez przekształcenie ich w scenie lub zmieniając ich własny punkt widzenia w wirtualnym środowisku 3D. Opis sceny stanowi bogaty zbiór węzłów dla operatorów kompozycji 2-D i 3-D oraz grafiki. Object Descriptors (ODs) określają związek między podstawowymi strumieniami (ES) odnoszącymi się do poszczególnych obiektów ODs, jak również podają dodatkowe informacje, takie jak np adres URL, niezbędne do uzyskania dostępu do strumienia podstawowego.

Inne informacje dotyczące systemu MPEG-4:

  • Standardowy format plików wspiera wymianę treści MPEG-4.
  • Wspierana interaktywność, ogólny model zdarzeń uruchamiania lub kierowania działaniami użytkowników.
  • Stosowana jest Java (MPEG-J), aby móc wysyłać zapytania do terminala, wspierane jest środowisko Javy, istnieje również silnik aplikacji Javy - MPEGlets.
  • Narzędzie do przeplatania wielu strumieni w jeden strumień - FlexMux.
  • Narzędzie do przechowywania danych MPEG-4 w pliku (MPEG-4 Format "MP4").
  • Interfejsy do różnych aspektów terminal i sieci, w postaci Java API (MPEGJ) niezależności warstwy transportu.
  • Reprezentacja mający obsługa wielu języków, czcionek i wybór stylu, możliwość synchronizacji.

Audio | edytuj kod

Kodek audio MPEG-4 umożliwia szeroki zakres zastosowań. W szczególności wspiera wysoce wydajną reprezentację obiektów audio składających się z:

Ogólne sygnały audio:

MPEG-4 posiada ogólne kodowania audio, począwszy od bardzo niskiej prędkości transmisji do wysokiej jakości, zastosowane przez przekształcenie technik kodowania. Funkcjonalności obejmują szeroki zakres strumienia bitów i przepustowości. Rozpoczyna się od strumienia bitów o wartości 6 kbit/s i przepustowości poniżej 4 kHz a rozciąga się na jakości transmisji od przesyłu mono(jednokanałowego) do wielokanałowego. Wysoką jakość można osiągnąć przy małych opóźnieniach. Parametry Audio Coding pozwalają na manipulację dźwiękami przy małych prędkościach.

Sygnały mowy:

Kodowanie mowy może być wykonane przy użyciu strumienia bitów od 2 kbit/s do 24 kbit/s przy użyciu narzędzi kodowania mowy. Niższe strumienie bitów, takie jak 1,2 kbit/s, jest możliwe przy dostępnej zmiennej wartości kodowania. Niskie opóźnienie jest możliwe dla aplikacji połączeniowych. Podczas korzystania z narzędzia HVXC, prędkość i wysokość dźwięku mogą być zmieniane przez użytkownika w czasie odtwarzania. Jeśli używane są narzędzia CELP, zmianę prędkości odtwarzania można osiągnąć za pomocą dodatkowych narzędzi do przetwarzania efektów.

Dźwięk syntetyczny:

Structured Audio opisuje narzędzia (małe programy, które generują dźwięk) oraz wyniki (wejścia opisujące różne obiekty). Tymi obiektami nie są instrumenty muzyczne, lecz są to formuły matematyczne, które mogą generować dźwięki instrumentów muzycznych np. pianina, dźwięki przyrody np. spadającej wody.

Syntetyczna mowa skalowalna:

Kodeki TTS ze strumieniem bitów od 200 bit/s do 1,2 Kbit/s pozwalają na generowane mowy syntetycznej. Jest to sztuczna mowa ludzka.

Video i Obrazy | edytuj kod

Standard MPEG-4 Visual umożliwia kodowanie hybrydowe naturalnych obrazów i wideo wraz z syntetycznymi scenami (generowanymi przez komputer). Pozwala to na przykład na wirtualną obecność uczestników wideokonferencji. W tym celu standardowe narzędzia wizualne wspierają algorytmy kodowania naturalnych zdjęć i sekwencji wideo, a także narzędzia do obsługi kompresji syntetycznych grafiki 2-D i 3-D.

Poniższe podrozdziały zawierają szczegółowy przegląd funkcjonalności narzędzi i algorytmów w standardzie MPEG-4.

Obsługiwane formaty:

MPEG-4 wspiera następujące formaty i strumienie bitów:

  • Strumienie bitów: zazwyczaj od 5 kbit/s, do ponad 1 Gbit/s
  • Formaty: progresywne, także filmy z przeplotem
  • Rozdzielczości: zazwyczaj od sub-QCIF do Studio-resolution (4k x 4k piksele)

Wydajność kompresji:

  • Dla wszystkich wartości strumieni bitów algorytmy są bardzo wydajne. Obejmuje to kompaktowe kodowania tekstury w wysokiej jakości, regulowane w zakresie dobrej jakości i z bardzo wysokim współczynnikiem kompresji.
  • Kompresja tekstur do mapowania sieci 2-D i 3-D.
  • Dowolny dostęp do funkcji umożliwiających wstawienie pauzy, przewijanie do przodu i do tyłu.

Funkcje zarządzania treścią:

  • Oparte na treści kodowania obrazów i wideo pozwalają na oddzielne dekodowanie i rekonstrukcje dowolnie kształtowanych obiektów wideo.
  • Rozszerzone modyfikowanie treścią w sekwencjach wideo pozwala na zastosowanie funkcji, takich jak zniekształcenie, przekształcanie syntetycznego lub naturalnego tekstu, tekstury, grafiki i wideo.
  • Przykładem jest odwzorowanie tekstu, tzn tekst jest wyświetlany na wierzchu filmu i porusza się wraz z obiektem obrazu, w tym samym kierunku.

Skalowalność tekstur, obrazów i wideo:

  • Skalowalność złożoności kodowania pozwala na różną złożoność generowania strumieni bitów ważnych i istotnych dla danej tekstury, zdjęcia lub filmu wideo.
  • Skalowalność złożoności dekodowania pozwala na dekodowanie strumienia bitów danej tekstury, obrazu lub wideo przez dekodery o różnym stopniu złożoności. Zrekonstruowanie jakości, odnosi się do złożoności używanego dekodera. Może to oznaczać, że dekoder o mniejszej mocy może dekodować tylko część strumieni bitów.
  • Skalowalność przestrzenna pozwala na dekodowanie podzbioru całego strumienia bitów generowanych przez koder do rekonstrukcji i wyświetlania obiektów tekstury, obrazu i wideo o obniżonej rozdzielczości przestrzennej.
  • Czasowa skalowalność pozwala na dekodowanie podzbiorów całego strumienia bitów generowanego przez koder do rekonstrukcji i wyświetlania wideo w czasie obniżonej rozdzielczości. Obsługiwane są maksymalnie trzy poziomy.

Kodowanie kształtu i kanału alfa:

  • Kodowanie kształtu wspomaga opisanie i składanie konwencjonalnych obrazów jak również dowolnych kształtów wideo. Aplikacje, które korzystają z map kształtów binarnych są reprezentacją treści obiektu dla baz danych obrazu, interaktywnych gier i animacji. Mapa binarna alfa określa, czy piksel należy do obiektu. Wartość piksela może być ustawiona na "on" lub "off".
  • Płaszczyzna alfa określa "przejrzystość" obiektu, która nie zawsze jest jednolita i może różnić się w obiekcie, np. krawędzie są bardziej przejrzyste niż właściwa zawartość. Wielopoziomowe mapy alfa są często wykorzystywane do mieszania różnych warstw sekwencji obrazów. Inne aplikacje, które korzystają z map alfa binarne związane z obrazów opartych na treści oświadczenia obrazu dla baz danych obrazu, interaktywnych gier i animacji.

Odporność na błędy:

Elastyczne dostosowanie do występowania błędów pozwala na szeroki dostęp do zdjęć i wideo, oraz przesyłania mediów w szerokim zakresie. Jest to możliwe, dzięki funkcjonowaniu algorytmów kompresji obrazów i wideo w środowiskach narażonych na błąd niskiej jakości (tj. mniej niż 64 Kb/s). Istnieją narzędzia, które są odpowiednie do używania standardu przy paśmie o ograniczonej przepustowości i są one odporne na błąd dostępu do sieci.

Animacja twarzy i ciała:

Narzędzia animacji twarzy i ciała w standardzie MPEG-4 umożliwiają wysyłanie parametrów, które definiują, kalibrują i animują syntetyczne twarze i ciała. Modele te same w sobie nie są standardem MPEG-4, jedynie te parametry należą do standardu.

Narzędzia obejmują:

  • Definicje i kodowanie parametrów animacji twarzy i ciała
  • Cechy punktów pozycji i kierunków, ożywiające twarz i ciało
  • Wirtualne usta odwzorowujące ruchy prawdziwych ust podczas mowy
  • Parametry i definicje ruchów ciała i twarzy
  • Charakterystyki personalne
  • Kodowanie tekstury twarzy

Wersje MPEG-4 | edytuj kod

Wersja pierwsza standardu MPEG-4 została przyjęta przez MPEG w grudniu 1998 r., wersja druga została wdrożona w grudniu 1999 roku. Dużo narzędzi zostało dodanych w kolejnych zmianach standardu, które mogłyby zostać zakwalifikowane jako wersje, lecz ciężko sprecyzować ich odrębność jako wersje standardu. Rozróżnianie wersji nie jest ważne i jako tako potrzebne, dużo bardziej potrzeba wiedzieć o tym jak się dzielą profile. Wersje wszystkich głównych części standardu MPEG-4 (systemy, Audio, Video, DMIF) zostały zsynchronizowane, po tym, jak poszczególne części rozwijały się swoimi własnymi drogami.

Nowsze wersje warstwy systemu są zawsze kompatybilne z wcześniejszymi wersjami. W zakresie systemu, dźwięku i wizualnym, nowe wersje dodają nowe profile, ale nie zmieniają dotychczas istniejących. W rzeczywistości jest to bardzo ważne, że istniejące systemy zawsze będą zgodne, ponieważ starsze profile nigdy nie będą zmienione.


Części MPEG-4 | edytuj kod

Norma MPEG-4 składa się z kilkudziesięciu części:

Profile zdefiniowane są także w obrębie indywidualnych części, tak więc implementacja części zazwyczaj nie jest implementacją jej całości.

Profile w MPEG-4 | edytuj kod

MPEG-4 zapewnia bardzo duży i bogaty zestaw narzędzi do kodowania obiektów audio-wizualnych. W celu umożliwienia skutecznego wdrożenia standardu, zestawy narzędzi 'Systems', 'Visual' i 'Audio' MPEG-4 zostały podzielone na podgrupy, które mogą być użyte do poszczególnych zastosowań. Te podgrupy nazywają się profilami i zawierają limity zaimplementowanych narzędzi i funkcji kodujących. Dla każdego z profili dostępne są również poziomy. Najbardziej powszechną kombinacją profili i poziomów jest kombinacja 'Main Profile @ Main Level'.

Przykładowe profile 'Visual':

  • Simple Visual Profile
  • Simple Scalable Visual Profile
  • The Core Visual Profile
  • Main Visual Profile
  • N-Bit Visual Profile
  • Simple Face and Body Animation Profile
  • The Scalable Texture Visual Profile

Przykładowe profile 'Audio':

  • The Speech Profile
  • The Synthesis Profile
  • The Scalable Profile,
  • The Main Profile
  • The High Quality Audio Profile
  • The Low Delay Audio Profile

Przykładowe profile grafiki:

  • Simple 2-D Graphics Profile
  • Complete 2-D Graphics Profile
  • Complete Graphics Profile
  • The 3D Audio Graphics Profile

Obsługiwane formaty | edytuj kod

Przypisy | edytuj kod

  1. również jako PN-ISO/IEC 14496-10:2009 Technika informatyczna -- Kodowanie obiektów audiowizyjnych -- Część 10: Zaawansowane kodowanie wizji

Zobacz też | edytuj kod

Linki zewnętrzne | edytuj kod


Na podstawie artykułu: "MPEG-4" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy