Current Page: Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: m04 » Learning Units » Unit ID: 05_37
Last Modified:Tuesday, 2015-05-05 - 08:09:06
 
Tools: ValidatePreview XML Preview HTML Preview PDF
Alternative: Printable HTML

 

Learning Unit ID: 05_37
Title: MPEG-4 Visual
Abstract: Der Visual-Teil des MPEG-4 Standards (ISO/IEC 14496-2) beinhaltet verschiedene Technologien um Visuelles darzustellen. Dabei sind Tools zur Kodierung von Textur von stehenden Bildern und die Animation von Gesichtern und Körpern standardisiert. Der Visual-Teil erstreckt sich über ein weites Feld von Applikationen, von solchen mit niedriger Bitrate für mobile Geräte über TV-Qualität bis zu Applikationen in Studios mit sehr hoher Auflösung und Qualität.
 
Status: Final for Review #2 - captions and applets missing (DOUBLE <Data> BUG WITH EXPORTER IN LAST-1 CorPU!!!) Version: 2004-10-14
History: 2004-10-14 (Thomas migl): pda abb. eingefügt
2004-09-17 (Thomas Migl): Statuseintrag geändert
2004-08-16 (Robert Fuchs): Checked, fixed and exported for Review #2.
2004-07-29 (Thomas Migl): eine Abb ausgetauscht +++ LOD1 LOD2 LOD3 fertig +++ NOCH ZU MACHEN pda Ansicht einer Abbildung fehlt noch, Applet implementieren +++ Applet 55404

Author
Author 1: Eva Wohlfart E-Mail: evawohlfart@gmx.at
Author 2: (empty) E-Mail: (empty)
Author 3: (empty) E-Mail: (empty)
Author 4: (empty) E-Mail: (empty)
Author 5: (empty) E-Mail: (empty)
Organization: Technische Universität Wien; Institut für Softwaretechnik und Interaktive Systeme; Arbeitsgruppe für Interaktive Multimediale Systeme; http://www.ims.tuwien.ac.at/

Content

Einführung

1

  • Visual
    • sehr wichtiger Teil des Standards
  • Objekte
    • natürliche
    • synthetische
  • Standard bietet Tools

2

Der MPEG-4 Visual Standard ist einer der wichtigsten Teile des MPEG-4 Standards (siehe Lerneinheit MPEG-4). Wie der Name schon sagt, geht es darin um die Kodierung und Repräsentation von visuellen Objekten. Hierbei wird zwischen natürlichen (pixel-basierten) Bildern und Video und synthetischen, also vom Computer generierten, Szenen unterschieden. Dadurch wird etwa die virtuelle Präsenz von Teilnehmern an einer Videokonferenz möglich.

Was dieser Standard also bietet, sind Tools zur Kodierung von natürlichen stehenden Bildern und Videosequenzen und genauso Tools und Algorithmen zur Komprimierung von synthetischen graphischen und geometrischen Parametern zur Darstellung von 2D- und 3D-Inhalten.

Allgemeines

1

Unterstützte Formate

  • Formate: progressives und interlaced Video (siehe auch MPEG-2 Interlaced Kodierung)
  • Bitraten: typischerweise zwischen 5 kbit/s und mehr als 1Gbit/s
  • Auflösungen: sub-QCIF (siehe modul1 robert Link auf modul1) bis zu „Studio“-Auflösungen (4kx4k Pixel).

Effizienz der Kompression

  • Effiziente Komprimierung
    • Texturen
    • akzepable Qualität bis beinahe verlustfrei
  • Video
    • beliebiger Zugriff

Content-basierte Funktionalitäten

  • Separates Kodieren unterschiedlicher Objekte
  • Warping von
    • Synthetischenund natürlichem Text
    • Texturen Bilder
    • Teile eines Videos

Skalierbarkeit von Texturen, Bildern und Video

  • Objekte können skaliert werden
  • Skalierung
    • rechteckig oder
    • beliebige Form
Objektbasierte Skalierbarkeit PC vivo2001

Objektbasierte Skalierbarkeit PDA_Phone vivo2001

 

Weitere Möglichkeiten der Skalierbarkeit von MPEG-4

  • Skalierbarkeit der Komplexität des Encoders
  • Skalierbarkeit der Komplexität des Decoders
  • Anzeige in reduzierter räumlicher Auflösung
  • Anzeige in reduzierter zeitlicher Auflösung
  • Qualität
  • Fine Granularity

2

In diesem Abschnitt werden einige grundsätzliche Dinge zum Visual-Standard erläutert. Dazu gehören die unterstützten Formate und einige content-basierte Funktionalitäten, die der Standard bietet. Außerdem wird auf die Effizienz der Kompression eingegangen.

Unterstützte Formate

Folgende Formate und Bitraten werden von MPEG-4 Visual unterstützt:

  • Formate: progressives und interlaced Video (siehe auch MPEG-2 Interlaced Kodierung)
  • Bitraten: typischerweise zwischen 5 kbit/s und mehr als 1Gbit/s
  • Auflösungen: sub-QCIF (siehe modul1 robert Link auf modul1) bis zu „Studio“-Auflösungen (4kx4k Pixel).

Effizienz der Kompression

Die Algorithmen, die zur Kompression verwendet werden, sind sehr effizient. Auch Texturen werden mit einer Qualität kodiert, die man zwischen akzeptabler Qualität (für hohe Kompressionsraten) und nahezu verlustfreier Kompression regulieren kann. Texturen, die auf 2D- und 3D-Meshes gemapt werden, werden ebenfalls effizient komprimiert. Bei Video ist beliebiger Zugriff auf gespeichertes Video, wie schnelles Vor- oder Rückspulen, möglich.

Content-basierte Funktionalitäten

Das content-basierte Kodieren von Bildern und Video erlaubt separates Dekodieren und Rekonstruktion von unterschiedlich geformten Videoobjekten. In Videosequenzen kann beliebig auf Videoobjekte zugegriffen werden und Funktionalitäten wie etwa Pause und schnelles Vor- und Rückspulen dieser werden ermöglicht. Inhalte in Videosequenzen können auch noch weitgehender manipuliert werden, MPEG-4 erlaubt Warping von synthetischem oder natürlichem Text, Texturen, Bildern und Teilen des Videos. Ein Beispiel hierfür ist das Verknüpfen von Text mit einem sich bewegenden Objekt, sodass sich der Text mitbewegt.

Skalierbarkeit von Texturen, Bildern und Video

MPEG-4 erlaubt das Kodieren von Bildern und Video mit zeitlicher oder räumlicher Skalierbarkeit, sowohl in „konventioneller“ rechteckiger als auch in beliebiger Form. Skalierbarkeit meint hier, nur einen Teil des Bitstroms zu dekodieren und so einzelne Bilder oder Bildsequenzen zu rekonstruieren. Diese Funktionalität ist etwa zur progressiven Kodierung von Bildern oder für Video, das in unterschiedlichen Qualitäten abrufbar sein soll, wichtig. Ein besonderer Fall der Skalierbarkeit ist die sogenannte objektbasierte Skalierbarkeit, bei der ausgesuchte Objekte eines Videos skaliert werden können.

Objektbasierte Skalierbarkeit

Durch die objektbasierte Skalierbarkeit bekommt der Enduser mehr Möglichkeiten, mit den medialen Inhalten zu interagieren. Objekte können dabei während der Wiedergabe zum Beispiel in der Größe, der Framerate und der visuellen Qualität skaliert werden. Ebenso wird dadurch das Verbessern der Qualität des Videos nur in einer bestimmten interessanten Bildregion möglich, dies kann dynamisch während der Wiedergabe erfolgen. Diese Features ergeben sich durch die unabhängige Kodierung jedes einzelnen Objekts. Wie auch die folgende Abbildung zeigt, kann jedes Objekt unterschiedlich geformt, unterschiedliche zeitliche Auflösung, visuelle Qualität oder Größe haben.

Objektbasierte Skalierbarkeit PC vivo2001

Objekt-basierte Skalierbarkeit ermöglicht das unabhängige und beliebige Zugreifen auf ein Videoobjekt während der Wiedergabe. Jedes Objekt kann unterschiedlich kodiert sein,so könnte etwa in dieser Abbildung der Videoclip über Ballett im Hintergrund MPEG-2 kodiert sein, die zwei Personen in MPEG-4 und der Hintergrund und der Text „MPEG4 WORLD“ JPEG-kodiert sein

Objektbasierte Skalierbarkeit PDA_Phone vivo2001

Objekt-basierte Skalierbarkeit ermöglicht das unabhängige und beliebige Zugreifen auf ein Videoobjekt während der Wiedergabe. Jedes Objekt kann unterschiedlich kodiert sein,so könnte etwa in dieser Abbildung der Videoclip über Ballett im Hintergrund MPEG-2 kodiert sein, die zwei Personen in MPEG-4 und der Hintergrund und der Text „MPEG4 WORLD“ JPEG-kodiert sein

Weitere Möglichkeiten der Skalierbarkeit von MPEG-4

Außerdem bietet MPEG-4 Skalierbarkeit...

  • der Komplexität im Encoder, welche verschiedenen Encodern unterschiedlicher Komplexität erlaubt, gültige Bitstreams für eine gegebene Textur, ein gegebenes Bild oder Video zu erzeugen.
  • der Komplexität im Decoder, welche erlaubt, dass Decoder unterschiedlicher Komplexität Texturen, Bilder oder Video verarbeiten können, wobei die rekonstruierte Qualität von der Komplexität des Decoders abhängt.
  • räumlicher Art, durch die der Decoder nur einen Teil des Bitstreams dekodieren und Texturen, Bilder und Videos in reduzierter räumlicher Auflösung anzeigen kann.
  • zeitlicher Art, welche Decodern erlaubt, einen Teil des Bitstreams zu dekodieren und den Inhalt in reduzierter zeitlicher Auflösung zu präsentieren. Dabei sind in MPEG-4 drei Levels möglich.
  • der Qualität, durch die das Aufspalten eines Bitstreams in mehrere Layers unterschiedlicher Qualität ermöglicht wird, sodass aber trotzdem das Dekodieren eines sinnvollen Signals möglich ist. Das Aufteilen des Bitstreams kann entweder im Decoder oder während der Transmission erfolgen.
  • Fine Granularity Scalability ist eine Kombination der bereits erwähnten Skalierbarkeiten und unterstützt bis zu elf Levels. Diese Skalierbarkeit wurde durch den Bedarf eines Videokodierungsstandards zum Streamen von Video über das Internet entwickelt

Robustheit

1

Resynchronisation

  • Untersuchung, wie groß Fehler ist
    • Tools können zur Verminderung der Störungen beitragen

Methoden zur Resynchronisation

  • Packet Approach
  • Video Packet Approach
  • Fixed interval Synchronisation

Video Packet Approach PC grin1999

Video Packet Approach PDA_Phone grin1999

Datenrekonstruktion

  • Wichtiges Tool ist das Reversible Variable Length Codes
    • Codes für Variablenlängen
      • vorwärts und rückwärts lesbar
      • dadurch gute Performance

Reversible Variable Length Codes PC koen2002

Reversible Variable Length Codes PDA_Phone koen2002

Error concealment

  • Einfachste Methode
    • Block in einem Bild wird als fehlerhaft erkannt
    • wird durch Block des vorhergegenden Frames ersetzt
  • MPEG-4 biete eigenen fehlerresistenten Modus
    • Markierung zwischen Textur- und Bewegungsinformation
    • Geht Textur verloren, Textur aus vorigem Frame +Bewegungsinformation

2

Durch den starken Anstieg an mobiler Kommunikation ist es extrem wichtig, dass visuelle Informationen auch über drahtlose Netzwerke, die meist in Bereichen niedriger Bitraten liegen, abrufbar sind. Da in diesen Umgebungen oft Fehler in der Übertragung auftreten können, ist Robustheit sehr wichtig. Die Tools zur Behandlung von solchen Fehlern können in drei große Bereiche aufgeteilt werden: Resynchronisation, Datenrekonstruktion und Error concealment (Verbergen von Fehlern).

Resynchronisation

Die Tools zur Rekonstruktion versuchen bei einem Fehler in der Übertragung von Daten zwischen dem Decoder und dem Bitstrom herauszufinden, wie groß die verlorene Datenmenge genau ist. Die Daten zwischen dem Synchronisationspunkt vor dem Fehler und dem ersten Punkt nachdem die Synchronisation wiederhergestellt ist, sind verloren, allerdings können, falls der Versuch zur Resynchronisation erfolgreich ist, die jeweiligen anderen Tools zur Datenrekonstruktion oder zum Vermindern der Effekte des aufgetretenen Fehlers eingreifen.

Methoden zur Resynchronisation

Zur Resynchronisation wurden in MPEG-4 teilweise Prinzipien aus anderen Standards übernommen, wie etwa der packet approach, dessen Struktur ähnlich zur Group of blocks-Struktur im Standard für Videokonferenzen H.261 und H.263 ist. Dabei werden immer eine fixe Anzahl an Makroblöcken zu einer Gruppe zusammengefasst, und am Beginn der Gruppe wird ein header platziert, durch den die Synchronisation erfolgt. Eine andere Methode ist der video packet approach, bei dem im Bitstream am Beginn jedes video packets periodisch Markierungen gesetzt werden. Der „Abstand“ zwischen den Markierungen ist eine festgelegte Anzahl an Bits. Wird diese überschritten, wird zu Beginn des nächsten Makroblocks ein neues video packet erzeugt und eine Markierung gesetzt. Die Markierung beinhaltet die Nummer des Makroblocks zu Beginn des packets und den Quantisierungsparameter zur Dekodierung dieses ersten Makroblocks. Eine dritte Methode zur Resynchronisation ist die fixed interval synchronization, bei der Markierungen zur Resynchronisation in fixen Intervallen im Bitstrom platziert werden.

Video Packet Approach PC grin1999

Beim video packet approach wird eine bestimmte Anzahl von Bits zu video packets zusammengefasst. Jedes video packet wird unabhängig von den anderen kodiert und dekodiert. Dadurch wird die Fehlerrate erheblich vermindert. Links oben sieht man das ursprüngliche fehlerhafte Bild, rechts oben die einzelnen video packets, links unten den Fehler, der ohne video packets entstehen würde, und reachts unten den Fehler mit video packets.

Video Packet Approach PDA_Phone grin1999

eim video packet approach wird eine bestimmte Anzahl von Bits zu video packets zusammengefasst. Jedes video packet wird unabhängig von den anderen kodiert und dekodiert. Dadurch wird die Fehlerrate erheblich vermindert. Links oben sieht man das ursprüngliche fehlerhafte Bild, rechts oben die einzelnen video packets, links unten den Fehler, der ohne video packets entstehen würde, und reachts unten den Fehler mit video packets

Datenrekonstruktion

Nachdem die Synchronisation erfolgt ist, versuchen Tools zur Datenrekonstruktion die verlorenen Daten wiederherzustellen. Ein wichtiges Tool, das dabei verwendet wird, ist Reversible Variable Length Codes (RVLC). Dabei sind die Codes, die die Variablenlängen beschreiben, so designt, dass sie sowohl vorwärts als auch rückwärts gelesen werden können. Dadurch kann ein guter Teil von verlorenen Daten zwischen zwei Synchronisationspunkten wiedergewonnen werden.

Reversible Variable Length Codes PC koen2002

Reversible Variable Length Codes. Diese Codes beschreiben die Variablenlängen und können von rückwärts und vorwärts gelesen werden. Dadurch kann ein Teil der verlorenen Daten zwischen zwei Synchronisationspunkten gerettet werden. QP und HEC beschreiben Regionen im Header des video packets, die für Quantisierungsparameter und den Header Extension Code reserviert sind.

Reversible Variable Length Codes PDA_Phone koen2002

Reversible Variable Length Codes. Diese Codes beschreiben die Variablenlängen und können von rückwärts und vorwärts gelesen werden. Dadurch kann ein Teil der verlorenen Daten zwischen zwei Synchronisationspunkten gerettet werden. QP und HEC beschreiben Regionen im Header des video packets, die für Quantisierungsparameter und den Header Extension Code reserviert sind.

Error concealment

Die Effektivität eines Error concealment Tools hängt sehr von der vorangehenden Arbeit der Tools zur Resynchronisation ab. Können diese den aufgetretenen Fehler genau lokalisieren, so wird das Problem des Error concealment viel leichter behandelbar. Für Applikationen in Bereichen mit niedrigen Biraten haben sehr einfache Concealment-Methoden, wie zum Beispiel das Kopieren von Blocks aus dem vorigen Frame.

MPEG-4 bietet außerdem auch noch einen zusätzlichen fehlerresistenten Modus, da der Bedarf an erweiterten Möglichkeiten zur Fehlerbehandlung besteht. Darin wird die Resynchronisation von Textur und Bewegung durch Setzen einer zweiten Markierung zwischen Textur- und Bewegungsinformation getrennt. Geht die Information über die Textur verloren, werden die Informationen über die Bewegung dazu genutzt, um aus dem vorigen Frame die jetzige Textur zu konstruieren.

Visuelle Objekte und Video Object Planes

1

auto

  • natürliche Objekte
  • künstliche Objekte
  • Bilder in MPEG-2 werden in MPEG4 zu Video Object Planes

Kodierung eines Videos in MPEG-4 PC repp2000

Kodierung eines Videos in MPEG-4 PDA_Phone repp2000

Natürliche Videoobjekte

  • Drei Bereiche werden kodiert
    • Textur
    • Umriss (Shape)
    • Bewegung
  • Sprites
    • Standbild
    • werden nur einmal übertragen
    • nur Änderung der Sichtperspektive möglich
  • jedes Objekt für sich kodiert

Synthetische Objekte

  • Tools für
    • Gesichtsanimation
    • Körperanimation
    • 2D Gittermodelle

Animation von Gesichtern und Körpern

Gesichtsanimation PC vida2000

Gesichtsanimation PDA_Phone vida2000

Body Definition Parameter

 

MPEG-4 Facial Animation Applet (applet55404)

Kodierung von Meshes

  • Meshes
    • Darstellung einer Form durch Unterteilung in Polygone
    • auf Polygone können Texturen gelegt werden
  • Arten von Meshes
    • 2D Meshes
    • 3D Meshes
2D-Gittermodell PC koen2002

.

2D-Gittermodell PDA_Phone koen2002

2D-Meshes

  • Tools zur Kodierung von 2D-Meshes
    • Mesh-basierte Vorhersage und animierte Texturen
    • Motion-tracking von animierten Objekten
    • Vorhersagen von Bewegungen und Übertragung von dynamischen Meshes
    • Kompression für Bewegungsvektoren (motion vectors)
    • Kompression von 2D-Meshes

3D-Meshes

  • Tools zur Kodierung von 3D Meshes
    • Polygone repräsentieren 3D Objekte
    • Auf Netz Schattierungen, Farben Texturen angebracht
    • Skalierung der Gitterpunkte
      • Rekonstruktion auch in verminderter Qualität möglich
      • 3D Meshes auch für einfacher Hardware geeignet

2

auto

Der Visual-Teil des MPEG-4 Standards unterscheidet zwischen natürlichen und künstlichen visuellen Objekten. Für beide Arten von Objekten sind Kodier- und Komprimierungsverfahren standardisiert, welche im Folgenden kurz vorgestellt werden. Die Objekte sind als Teil einer Szene definiert, auf das unabhängig von anderen Objekten zugegriffen werden kann. Die Bilder, welche in MPEG-2 kodiert wurden, werden zu Video Object Planes. Schneidet ein Videoobjekt eine Video Object Plane, so kann es durch Intra-Coding, Forward-Prediction oder Bidirectional Prediction beschrieben werden

Kodierung eines Videos in MPEG-4 PC repp2000

Ein Videoobjekt wird bei der Kodierung in einzelne Datenströme unterteilt. Die Kodierung von Umriss, Textur und Bewegung erfolgt unabhängig voneinander. Die resultierenden Datenströme werden durch einen Multiplexer zu einem Datenstron zusammengefasst

Kodierung eines Videos in MPEG-4 PDA_Phone repp2000

Ein Videoobjekt wird bei der Kodierung in einzelne Datenströme unterteilt. Die Kodierung von Umriss, Textur und Bewegung erfolgt unabhängig voneinander. Die resultierenden Datenströme werden durch einen Multiplexer zu einem Datenstron zusammengefasst

Natürliche Videoobjekte

Ein natürliches Videoobjekt ist ein Bereich von Textur, der sich mit der Zeit ändert. Bei der Kodierung eines solchen natürlichen Videoobjekts sind drei Bereiche wichtig: die Form des Objekts (shape coding), die aufgebrachte Textur (texture coding) und Informationen über die Bewegung des Objekts (motion coding). Eine besondere Art von Videoobjekten sind auch noch stehende Texturen, sogenannte Sprites, die nur einmal übertragen werden und bei denen sich nur mehr die Sichtperspektive auf sie ändern kann. Je nach der gewünschten Qualität kann das effektivste Kompressionsverfahren gewählt werden, und es ist auch möglich, ein Videoobjekt in sich zu skalieren (siehe auch Kapitel Skalierbarkeit). Nach der Kodierung werden die Informationen durch einen Multiplexer zusammengefasst und ergeben einen elementaren Datenstrom. Videoobjekte und ihre Kodierung werden in der Lerneinheit Videoobjects un Video Object Planes genauer beschrieben.

Synthetische Objekte

Um synthetische Objekte darstellen zu können, wurden in MPEG-4 viele Dinge aus VRML (Virtual Reality Modeling Language) übernommen. Zusätzlich wurden außerdem Tools zur Darstellung und Animation von Gesichtern (facial animation) und Körpern (body animation) und von 2D-Gittermodellen (2D-Meshes) standardisiert. Diese werden in den folgenden Abschnitten beschrieben.

Animation von Gesichtern und Körpern

MPEG-4 standardisiert Tools zur Definition und Animation von synthetischen Gesichtern und Körpern. Modelle für diese Gesichter und Körper sind nicht standardisiert, nur die Parameter um sie zu definieren. Gesichter werden durch Gitter (Meshes) von 84 Punkten, sogenannten Feature Control Points, definiert, welche die Form des Gesichtes bestimmen. Zu Beginn enthält das Gesichtsobjekt ein generisches Gesicht mit einem neutralen Ausdruck. Durch die Facial Definition Parameter erhält es dann spezifische Züge. Ein Gesicht wird mit einem neutralen Ausdruck übertragen und kann durch die FAPs (Facial Animation Parameters) animiert werden. Zur Artikulation wird frame-basierte und temporale DCT-Kodierung verwendet. Parameter für Viseme und Lippenstellungen, die bestimmten Lauten zugeordnet sind, sind ebenfalls in den Tools enthalten, außerdem die Kodierung von Texturen für Gesichter und das Hinzufügen von personellen Besonderheiten, die die Mimik betreffen.

Das Binary Format for Scenes (BIFS) im Systems-Teil bietet ebenfalls Gesichtsanimation, falls spezielle Modelle benötigt werden:

  • FDPs in BIFS
  • Face Animation Table (FAT) innerhalb der FDPs. Mittels dieser Tabelle werden eintreffende FAPs den jeweiligen Bewegungen der Feature Control Points zugeordnet.
  • Face Interpolation Technique (FIT) in BIFS. Hierbei werden eintreffende FAPs zu einem vollständigen Set von FAPs mittels polynomieller Funktionen gemapt. Dies kann zum Beispiel zur Interpolation eines Gesichts verwendet werden, wenn FAPs verlorengehen.
Gesichtsanimation PC vida2000

Ein Gesichtsobjekt enthält zu Beginn immer ein generisches Gesicht mit einem neutralen Ausdruck. Dieses ist hier abgebildet. Durch die übermittelten Facial Definition Parameters erhält es dann spezifische Gesichtszüge, die Facial Animation Parameters animieren das Gesicht.

Gesichtsanimation PDA_Phone vida2000

Ein Gesichtsobjekt enthält zu Beginn immer ein generisches Gesicht mit einem neutralen Ausdruck. Dieses ist hier abgebildet. Durch die übermittelten Facial Definition Parameters erhält es dann spezifische Gesichtszüge, die Facial Animation Parameters animieren das Gesicht.

Body Definition Parameter

Die Body Definition Parameter des Standards zur Modellierung von Körpern bestehen im Prinzip aus Längen von Körpersegmenten und Positionen, an denen sich diese berühren. Body Animation Parameter sind in drei Leveln standardisiert: Level 1 definiert Rotationen an Berührungspunkten von Körpersegmenten. Das 2. Level ist eine Spezifikation von globalen Parametern und erlaubt z.B. Übermittlung von endgültigen Positionen im Raum anstatt Berührungswinkeln. Das dritte Level ist als Spezifikation von Aktionen angelegt, etwa Bewegungen wie „springen“, „gehen“ oder „heben“.

Während dem Aufbau eines Körpers besteht dieser wie auch bei der Gesichtsanimation zu Beginn noch aus einem generischen „default“-Körper mit einer „default“-Haltung. Werden BDPs empfangen, wird der generische Körper dementsprechend geändert. Ebenso produzieren eintreffende BAPs Bewegungen des Körpers. Ist irgendeine Komponente null, wird beim Rendering der default-Wert des generischen Körpers eingesetzt. Die default-Haltung des Körpers ist eine stehende Haltung, bei der die Füße nach vorne zeigen und die Arme am Körper anliegen mit den Handflächen nach innen.

MPEG-4 Facial Animation Applet (applet55404)

  • Kurzbeschreibung
    • Der User kann sich aus verschiedenen Gesichtern eines auswählen, je nach Belieben drehen und wenden, wie er will. Weiters kann man dem Gesicht verschiedene Gemütszustände geben.
  • Autor
    • gor.Pandzic@fer.hr
  • www

Kodierung von Meshes

Meshes oder Gittermodelle sind die Darstellung einer Form durch Unterteilung in Polygone. Über diese Polygone können dann Texturen gelegt werden. MPEG-4 beinhaltet sowohl die Kodierung von Gittermodellen im zwei- als auch im dreidimensionalen Raum.

2D-Gittermodell PC koen2002

Mit 2D-Gittermodellen (Meshes) werden Formen in Polygone unterteilt. Über diese Polygone werden dann Texturen gelegt. Durch Manipulation der Knotenpunkte des Gitters (und damit auch Manipulation und Verformung der Textur) entsteht der Eindruck von Bewegung.

2D-Gittermodell PDA_Phone koen2002

Mit 2D-Gittermodellen (Meshes) werden Formen in Polygone unterteilt. Über diese Polygone werden dann Texturen gelegt. Durch Manipulation der Knotenpunkte des Gitters (und damit auch Manipulation und Verformung der Textur) entsteht der Eindruck von Bewegung.

2D-Meshes

Unter einem 2D-Mesh oder -Gittermodell versteht man die Aufteilung eines zweidimensionalen Bereichs in Polygone, wobei die Schnittpunkte der Polygone als Knotenpunkte des Modells bezeichnet werden. MPEG-4 unterstützt nur die Aufteilung in Dreiecke. Auf das Gittermodell werden dann Texturen gelegt. Bei einer Animation wird dann die Textur des ursprünglichen Bilds über das manipulierte Gittermodell gelegt (texture mapping). Durch Manipulation der Koordinaten kann dann der Eindruck erweckt werden, dass ein Objekt sich bewegt.

Die Tools zur Kodierung von 2D-Meshes beinhalten

  • Mesh-basierte Vorhersage und animierte Texturen
  • Motion-tracking von animierten Objekten
  • Vorhersagen von Bewegungen und Übertragung von dynamischen Meshes
  • Kompression für Bewegungsvektoren (motion vectors)
  • Kompression von 2D-Meshes

3D-Meshes

MPEG-4 beinhaltet auch Tools zur Kodierung von 3D-Meshes. Diese bestehen aus Polygonen und werden zur Repräsentation von Objekten im dreidimensionalen Raum verwendet. Dabei werden auf diese Netze dann Schattierung von Oberflächennormalen, Farben und Texturen angebracht. Es ist möglich, Texturen in Polygonen proportional zu den emfangenen Bits anzuzeigen. Dadurch kann inkrementell gerendert werden. Falls manche Informationen über das Gittermodell verloren gehen, kann es trotzdem teilweise rekonstruiert werden. Außerdem kommt hier auch die Skalierbarkeit des Standards zum Tragen: Eine vereinfachte Version eines Meshes kann angezeigt werden, indem nur ein Teil der Knotenpunkte aus einem Teil des empfangenen Bitstroms zur Rekonstruktion des Meshes benutzt wird. Dadurch wird weniger leistungsfähigen Renderingmaschinen ermöglicht, das Objekt in reduzierter Qualität zu rendern.

Profile im Visual-Teil

1

Frage an Thomas => Ist es Absicht oder Fehler, dass die untenstehenden Auflistungen für "Visuelle Profile in MPEG-4, Version 1" und "Visuelle Profile in MPEG-4, Version 4" identisch sind? AW: habs ausgebessert

An Martin => In dieser CorPU wird beim ersten Block ein doppletes <Data> erzeugt... warum?

Visuelle Profile in MPEG-4 Version 1

Natürliche Videoinhalte

Simple Visual Profile
erlaubt effizientes Kodieren von rechteckigen Videoobjekten, passend für Applikationen in mobilen Netzwerken.
Simple Scalable Visual Profile
fügt zum Simple Profile Kodierung von zeitlich und räumlich skalierbaren Objekten hinzu, nützlich für Applikationen, die Inhalte durch unterschiedliche Bitraten der User in verschiedener Qualität präsentieren, z.B. Internet
Core Visual Profile
fügt zum Simple Profile Kodierung von beliebig geformten Objekten und zeitlich skalierbaren Objekten hinzu. Dieses Profile wird für Anwendungen benutzt, die nur sehr einfache Interaktion mit dem Content bieten (z.B. Multimediaapplikationen im Internet).
Main Visual Profile
fügt zum CoreVisual Profile Kodierung von interlaced, halbtransparenten und Sprite-Objekten hinzu und ist für TV Broadcasting und DVD-Applikationen gedacht.
N-Bit Visual Profile
fügt zum Core Visual Profile Kodierung von Videoobjekten mit Pixeltiefen von 4 bis 12 bits hinzu und wird in Applikationen zur Überwachung verwendet.

Synthetische und hybride Videoinhalte

Simple Facial Animation Visual Profile
ermöglicht einfache Animation eines Gesichtsmodells, ist für Audio- und Videopräsentationen für behinderte Menschen gedacht.
Scalable Texture Visual Profile
erlaubt Kodierung von räumlich skalierbaren Bildern und Texturen für Applikationen mit mehreren Levels von Skalierbarkeit, z.B. das Mapping einer Textur auf ein bewegtes Objekt in einem Computerspiel.
Basic Animated 2-D Texture Visual Profile
ermöglicht räumliche Skalierung, SNR-Skalierung (siehe Kapitel "Begriffserklärungen") und auf Gittermodellen basierende Animation für Texturen und auch einfache Gesichtsanimation.
Hybrid Visual Profile
kombiniert Dekodierung von beliebig geformten und zeitlich skalierbaren Objekten (wie im Core Visual Profile) mit der Möglichkeit, auch einige synthetische und hybride Objekte wie etwa einfache Gesichter zu decodieren, was nützlich für Multimediaapplikationen ist, die sehr reich an Inhalten sind.

Visuelle Profile in MPEG-4 Version 2

Natürliche Videoinhalte

Advanced Real-Time Simple Profile
ermöglicht störungsunempfindliche Kodierungstechniken für rechteckige Videoobjekte und ist für Videotelefonie und Teleconferencing gedacht.
Core Scalable Profile
fügt zum Core Profile Kodierung von zeitlich und räumlich skalierbaren und beliebig geformten Objekten zum Core Profile hinzu.
Advanced Coding Eficiency Profile (AEC)
verbessert die Effizienz der Kodierung für rechteckige und auch andere Objekte und ist z.B. bei Aufnahme von Videosequenzen sinnvoll (Camcorder).

Synthetische und hybride Videoinhalte

Advanced Scalable Texture Profile
unterstützt Dekodierung von beliebig geformten Texturen und stehenden Bildern und enthält auch skalierbare Kodierung von Formen und Fehlerunempfindlichkeit. Nützlich für schnelles content-basiertes Browsen von Bildern im Internet.
Advanced Core Profile
kombiniert Dekodierung von beliebig geformten Objekten und Dekodierung von skalierbaren Bildobjekten. Für content-reiche Multimediaapplikationen und interaktives Streaming von Multimedia übers Internet
Simple Face and Body Animation Profile
 
fügt zum Simple Face Animation Profile die Animation von Körpern hinzu.

Später standardisierte Profile

Advanced Simple Profile
unterstützt wie das Simple Profile auch nur rechteckige Objekte, hat aber einige zusätzliche Features: B-Frames, globale Bewegungskompensation, und zusätzliche Quantisierungstabellen.
Fine Granularity Scalability Profile
erlaubt Beschneidung des Enhancement Layer Bitstroms, sodass die Qualität der Übertragung leicht angepasst werden kann.
Simple Studio Profile
hat nur I-Frames und unterstützt beliebige Formen und mehrfache Alpha-Kanäle. Da dieses Profile für Studioanwendungen mit hoher Qualität gedacht ist, treten hier Bitraten bis zu 2 Gigabit/s auf.
Core Studio Profile
fügt P-Frames zu dem Simple Studio Profile hinzu.

2

auto

Profile sind eine Auswahl an Tools, die für einen bestimmten Anwendungsbereich gedacht sind. Im Visual-Teil von MPEG-4 können natürliche, synthetische und auch hybride Objekte kodiert werden. Die folgende Tabelle zeigt eine Auflistung und kurze Beschreibung der Profile, die für die jeweilige Art von Objekten standardisiert wurden. Zu den anfänglich definierten Profilen in MPEG-4 Version 1 wurden in den weiteren Versionen noch einige hinzugefügt. Die Tabellen sind daher auch auf MPEG-4 Version 1, Version 2 und hinzugefügte Profile in späteren Versionen bezogen.

Frage an Thomas => Ist es Absicht oder Fehler, dass die untenstehenden Auflistungen für "Visuelle Profile in MPEG-4, Version 1" und "Visuelle Profile in MPEG-4, Version 4" identisch sind?

Visuelle Profile in MPEG-4 Version 1

Natürliche Videoinhalte

Simple Visual Profile
erlaubt effizientes Kodieren von rechteckigen Videoobjekten, passend für Applikationen in mobilen Netzwerken.
Simple Scalable Visual Profile
fügt zum Simple Profile Kodierung von zeitlich und räumlich skalierbaren Objekten hinzu, nützlich für Applikationen, die Inhalte durch unterschiedliche Bitraten der User in verschiedener Qualität präsentieren, z.B. Internet
Core Visual Profile
fügt zum Simple Profile Kodierung von beliebig geformten Objekten und zeitlich skalierbaren Objekten hinzu. Dieses Profile wird für Anwendungen benutzt, die nur sehr einfache Interaktion mit dem Content bieten (z.B. Multimediaapplikationen im Internet).
Main Visual Profile
fügt zum CoreVisual Profile Kodierung von interlaced, halbtransparenten und Sprite-Objekten hinzu und ist für TV Broadcasting und DVD-Applikationen gedacht.
N-Bit Visual Profile
fügt zum Core Visual Profile Kodierung von Videoobjekten mit Pixeltiefen von 4 bis 12 bits hinzu und wird in Applikationen zur Überwachung verwendet.

Synthetische und hybride Videoinhalte

Simple Facial Animation Visual Profile
ermöglicht einfache Animation eines Gesichtsmodells, ist für Audio- und Videopräsentationen für behinderte Menschen gedacht.
Scalable Texture Visual Profile
erlaubt Kodierung von räumlich skalierbaren Bildern und Texturen für Applikationen mit mehreren Levels von Skalierbarkeit, z.B. das Mapping einer Textur auf ein bewegtes Objekt in einem Computerspiel.
Basic Animated 2-D Texture Visual Profile
ermöglicht räumliche Skalierung, SNR-Skalierung (siehe Kapitel "Begriffserklärungen") und auf Gittermodellen basierende Animation für Texturen und auch einfache Gesichtsanimation.
Hybrid Visual Profile
kombiniert Dekodierung von beliebig geformten und zeitlich skalierbaren Objekten (wie im Core Visual Profile) mit der Möglichkeit, auch einige synthetische und hybride Objekte wie etwa einfache Gesichter zu decodieren, was nützlich für Multimediaapplikationen ist, die sehr reich an Inhalten sind.

Visuelle Profile in MPEG-4 Version 4

Natürliche Videoinhalte

Simple Visual Profile
erlaubt effizientes Kodieren von rechteckigen Videoobjekten, passend für Applikationen in mobilen Netzwerken.
Simple Scalable Visual Profile
fügt zum Simple Profile Kodierung von zeitlich und räumlich skalierbaren Objekten hinzu, nützlich für Applikationen, die Inhalte durch unterschiedliche Bitraten der User in verschiedener Qualität präsentieren, z.B. Internet
Core Visual Profile
fügt zum Simple Profile Kodierung von beliebig geformten Objekten und zeitlich skalierbaren Objekten hinzu. Dieses Profile wird für Anwendungen benutzt, die nur sehr einfache Interaktion mit dem Content bieten (z.B. Multimediaapplikationen im Internet).
Main Visual Profile
fügt zum CoreVisual Profile Kodierung von interlaced, halbtransparenten und Sprite-Objekten hinzu und ist für TV Broadcasting und DVD-Applikationen gedacht.
N-Bit Visual Profile
fügt zum Core Visual Profile Kodierung von Videoobjekten mit Pixeltiefen von 4 bis 12 bits hinzu und wird in Applikationen zur Überwachung verwendet.

Synthetische und hybride Videoinhalte

Simple Facial Animation Visual Profile
ermöglicht einfache Animation eines Gesichtsmodells, ist für Audio- und Videopräsentationen für behinderte Menschen gedacht.
Scalable Texture Visual Profile
erlaubt Kodierung von räumlich skalierbaren Bildern und Texturen für Applikationen mit mehreren Levels von Skalierbarkeit, z.B. das Mapping einer Textur auf ein bewegtes Objekt in einem Computerspiel.
Basic Animated 2-D Texture Visual Profile
ermöglicht räumliche Skalierung, SNR-Skalierung (siehe Kapitel "Begriffserklärungen") und auf Gittermodellen basierende Animation für Texturen und auch einfache Gesichtsanimation.
Hybrid Visual Profile
kombiniert Dekodierung von beliebig geformten und zeitlich skalierbaren Objekten (wie im Core Visual Profile) mit der Möglichkeit, auch einige synthetische und hybride Objekte wie etwa einfache Gesichter zu decodieren, was nützlich für Multimediaapplikationen ist, die sehr reich an Inhalten sind.

Später standardisierte Profile

Advanced Simple Profile
unterstützt wie das Simple Profile auch nur rechteckige Objekte, hat aber einige zusätzliche Features: B-Frames, globale Bewegungskompensation, und zusätzliche Quantisierungstabellen.
Fine Granularity Scalability Profile
erlaubt Beschneidung des Enhancement Layer Bitstroms, sodass die Qualität der Übertragung leicht angepasst werden kann.
Simple Studio Profile
hat nur I-Frames und unterstützt beliebige Formen und mehrfache Alpha-Kanäle. Da dieses Profile für Studioanwendungen mit hoher Qualität gedacht ist, treten hier Bitraten bis zu 2 Gigabit/s auf.
Core Studio Profile
fügt P-Frames zu dem Simple Studio Profile hinzu.

Links und Literatur

3

Links und Literatur

MPEG Industry Forum http://www.m4if.org

Robust Compression and Transmission of MPEG-4 Video grin1999

MPEG-4 in Europe acts2000

The MPEG-4 Book pere2002

The MPEG Handbook watk2001-1

MPEG-4 Homepage koen2002


Notes
(empty)