PAL-NTSC-FILM-Umrechner
Start Reviews Links Sitemap Kontakt

H.264/AVC

H.264/AVC ist auch als MPEG-4 bekannt. Der Standard bietet gegenüber MPEG-2 weitreichende Vorteile die im Folgenden näher erläutert werden. Die neue Version des Videokompressionsstandards ist insbesondere für folgende Verwendungen vorgesehen:
  • Fernsehübertragungen über Kabel, Satellit, Terrestrik (DVB-T2, der künftige Nachfolger des DVB-T-Standards, wird MPEG-4 zur Kodierung nutzen), DSL usw.
  • Video-on-Demand (VoD), Multimedia Messaging Services (MMS) oder andere Multimedia-Streamingdienste über Modem, ISDN, DSL, Ethernet, LAN, WLAN, drahtlose oder mobile Funkverbindungen usw.
  • Speicherung auf Datenträgern wie DVD, Blu-ray Disc, HD-DVD usw.
H.264/AVC Video enthält einen Video Coding Layer (VCL) und einen Network Abstraction Layer (NAL).


1.1 Video Coding Layer (VCL)

Der Video Coding Layer des H.264/AVC-Standards ist vergleichbar mit dem Standard für MPEG-2 Video. Der VCL enthält den Videoinhalt, kodiert mit zum Teil bekannten MPEG-2-Möglichkeiten wie I-Bildern oder Makroblocks. Gegenüber MPEG-2 Video bietet H.264/AVC aber auch folgende Neuerungen:
  • Variable block-size motion compensation with small block sizes
    Bewegungskompensation (Motion Compensation) mit variabler Blockgröße von 4x4 Luminanzpunkten bis zu 16x16 Luminanzpunkten pro Block.

  • Quarter-sample-accurate motion compensation
    Verbesserung gegenüber den meisten älteren Standards, die in der Regel höchstens half-sample motion vector accuracy ermöglichen.

  • Motion vectors over picture boundaries
    Bewegungsvektoren können nun auch über Bildgrenzen hinaus angewendet werden. Der Bewegungsvektor ist nicht mehr nur auf das gerade dekodierte Referenzbild bezogen.

  • Multiple reference picture motion compensation
    P-Bilder in MPEG-2 werden nur aus einem vorangegangenen Referenzbild prädiziert. Bei H.264/AVC kann auf mehrere Referenzbilder zurückgegriffen werden.

  • Decoupling of referencing order from display order
    Entkopplung der Kodierreihenfolge (Stream Order bzw. Referencing Order) von der Bildausgabeabfolge (Display Order).

  • Decoupling of picture representation methods from picture referencing capability
    Entkopplung der Bilddarstellungsmethoden von den Bildkodiermöglichkeiten. Durch das Wegfallen dieser Restriktion ist es nun möglich, dass Bidirectionally Predictive-Coded Pictures (B-Bilder) auch als Referenz für die Prädiktion von anderen Bildern in einer Videosequenz verwendet werden können. Bei früheren Standards konnten B-Bilder nicht als Referenz genutzt werden.

  • Weighted prediction
    Die Prädiktion in B- und P-Slices kann mit einem Faktor gewichtet werden um die Kodiereffizienz zu erhöhen.

  • Improved "skipped" and "direct" motion inference
    Verbesserte Bewegungsrückschlüsse bei übersprungenen (P-Bildern) oder direkt aufeinanderfolgenden Szenen (B-Slices).

  • Directional spatial prediction for intra coding
    Verbessert das Prädiktionssignal und ermöglicht die Prädiktion von anliegenden Bildteilen, welche nicht intrakodiert sind.

  • In-the-loop deblocking filtering
    Blockbasierte Videokodierung verursacht typische Blockartefakte. Ein adaptiver Deblocking Filter, wie er in H.264/AVC angewendet werden kann, verbessert die Videoqualität sichtlich. Ein positiver Multiplikatoreffekt ergibt sich, indem die Prädiktion von interkodierten Bildern durch verbesserte Dekodierung optimiert wird, und dadurch auch die folgenden Prädiktionen genauer werden.

  • Small block-size transform (4x4 transform)
    Transformation und Quantisierung mit 4x4 Blocks. H.264/AVC greift hauptsächlich auf die Kodierung von kleinen 4x4 Blockgrößen zurück, wobei ältere Standards zur Videokodierung meist eine Transformation mit 8x8 Blockgröße benutzen.

  • Hierarchical block transform
    Bei der Blocktransformation mit hierarchischer Ordnung kann die effektive Blockgröße bezüglich der Chrominanz auf ein 8x8 Array erweitert werden.

  • Short word-length transform
    Ältere Standards zur Videokodierung benötigen eine 32-Bit Prozessarchitektur, wohingegen H.264/AVC lediglich auf 16-Bit zurückgreifen muss.

  • Exact-match inverse transform
    Abhängig vom jeweiligen Dekoder ergibt sich beim Prozess von Kodierung und Dekodierung normalerweise eine geringe Abweichung bei der dargestellten Videoqualität. Bei H.264/AVC wird durch inverse Transformation mit allen Dekodern die gleiche dekodierte Videoqualität erzeugt.

  • Context-adaptive entropy coding
    H.264/AVC bietet zwei Möglichkeiten von Entropie-Kodierung (Entropy Coding): CAVLC (Context-Adaptive Variable-Length Coding) und CABAC (Context-Adaptive Binary Arithmetic Coding). Beide basieren auf sogenannter lernfähiger kontextabhängiger Entropie-Kodierung, entweder mit variabler Codelänge oder binär arithmetischer Kodierung und erreichen dadurch Leistungsvorteile im Kodierungsprozess gegenüber älteren Standards. CABAC bietet gegenüber CAVLC höhere Kodiereffizienz verbunden mit höherer Komplexität.

  • Flexible slice size
    Im Gegensatz zu MPEG-2 können Slices im H.264/AVC-Standard mit weitaus variablerer Größe definiert werden.

  • Flexible Macroblock Ordering (FMO)
    Ein Bild kann in mehrere Slice-Gruppen eingeteilt werden, wobei jedes Slice unabhängig von anderen Slices dekodiert werden kann. Datenverlust oder Fehler im Bitstream können mit FMO effektiver kompensiert werden.

  • Arbitrary Slice Ordering (ASO)
    In Ergänzung zu FMO bietet ASO Zugriff in beliebiger Reihenfolge auf Slices innerhalb eines Bildes. Hilfreich ist diese Erweiterung wenn z. B. Datenpakete über das Internet für Echtzeitanwendungen empfangen und gesendet werden, und dabei Slices - wegen vorrangiger Performanceausrichtung - übersprungen werden müssen.

  • Redundant pictures
    Um die Videoqualität bei Datenverlust zu verbessern, kann der Dekoder "überflüssige" Slices, welche die primären Slices (mit geringerer Qualität) approximieren können, zusätzlich ausgeben.

  • Data partitioning
    Ein Slice kann in drei unterschiedliche Bereiche aufgeteilt werden, um Prioritäten bei der Übertragung festzulegen. So ist es möglich, wichtigeren Elementen zur Videowiedergabe (wie z. B. Prädiktionssignale oder Bewegungsvektoren) eine höhere Priorität gegenüber weniger wichtigen Elementen zu geben.

  • SP/SI synchronization/switching pictures
    Bildtypen, welche dem Dekoder ermöglichen, zwischen unterschiedlich dargestellten Videoinhalten (z. B. durch verschiedene Datenraten) zu wechseln. SP- und SI-Bilder ermöglichen eine exakte Synchronisation des Dekodierungsprozesses einiger Dekoder, die in Verbindung mit anderen Dekodern einen Videostream erzeugen, ohne dabei einen Performanceverlust aller Dekoder, aufgrund der Ausgabe eines I-Bildes, zu verursachen.

Top

1.2 Network Abstraction Layer (NAL)

Der Network Abstraction Layer beschreibt die Inhalte des VCL. Der NAL enthält sogenannte Header-Informationen wie Sequenzparameter (definiert eine Reihe von aufeinanderfolgend kodierten Bildern) und Bildparameter (definiert, wie einzelne unabhängige Bilder dekodiert werden). Die wichtige Eigenschaft des NAL ist zweifellos seine vielseitige Verwendungsmöglichkeit. Durch ihn kann der VCL-Inhalt von H.264/AVC vielen unterschiedlichen Übertragungsschichten (Transport Layers) zugänglich gemacht werden. Hierbei kann der Inhalt unter anderem für folgende Transport Layer erzeugt werden:
  • MPEG-2 Systeme (wie z. B. Fernsehübertragungen)
  • ISO MP4, MMS (Dateiformate und Speichermedien)
  • H.32X (Drahtlose und drahtgebundene Gesprächsdienste wie z. B. Videotelefonie)
  • RTP/IP (Drahtlose und drahtgebundene Internetdienste in Echtzeit wie z. B. Streaming)

Top

1.3 Profiles und Levels

Profiles und Levels sollten eingehalten werden, um die systemweite Durchführbarkeit zwischen verschiedenen Anwendungen zu erreichen. Ein Profile definiert, welche Kodiermöglichkeiten und Algorithmen genutzt werden können um einen normgerechten Bitstream zu erzeugen. Ein Level zeigt hingegen Bestimmungen zu Schlüsselparametern eines Bitstreams, welche notwendig eingehalten werden müssen.

Im Mai 2003 wurden die ersten Versionen von H.264/AVC mit den Standards ITU-T H.264 sowie ISO/IEC 14496-10 veröffentlicht. Die drei folgenden ursprünglichen Profiles waren enthalten:
  • Baseline Profile
  • Extended Profile
  • Main Profile
Im Juli 2004 wurde H.264/AVC unter anderem mit vier neuen Profiles erweitert:
  • High Profile
  • High 10 Profile
  • High 4:2:2 Profile
  • High 4:4:4 Profile
In der folgenden Tab. 1 wird jedoch nur das High Profile betrachtet.

Kodierung (normativ): H.264/AVC HDTV Bitstreams sollten den High Profile Level 4 Restriktionen aus dem ISO/IEC 14496-10 Standard entsprechen. Hierbei ist vorgeschrieben, dass der Befehl level_idc entweder den Wert 30, 31, 32 oder 40 annehmen sollte. Der Befehl level_idc zeigt dem Dekoder, mit welchem Level der Bitstream definiert ist.

Dekodierung (normativ): H.264/AVC HDTV IRDs (Integrated-Receiver-Decoders) sollten die Dekodierung des High Profile Level 3 und 4 Bitstreams unterstützen. Die Levels 3 und 4 sind optional, sofern es sich nicht um High Profiles handelt.

Top

1.4 Vergleich der Profiles

H.264/AVC Profiles
Baseline ProfileExtended ProfileMain ProfileHigh Profile
I SlicesI SlicesI SlicesI Slices
P SlicesP SlicesP SlicesP Slices
CAVLCCAVLCCAVLCCAVLC
4x4 Transform4x4 Transform4x4 Transform4x4 Transform
 Weighted PredictionWeighted PredictionWeighted Prediction
 B SlicesB SlicesB Slices
  CABACCABAC
   Quantization Matrix
   8x8 Transform
ASOASO  
FMOFMO  
Redundant SlicesRedundant Slices  
 Data Partitioning  
 SP Slices, SI Slices  

Tabelle 1: H.264/AVC Profiles


Erläuterungen, sofern nicht bereits unter Abschnitt 1.1 Video Coding Layer (VCL) weiter oben beschrieben:
  • I Slices
    Alle Makroblocks in einem I-Slice sind intrakodiert.

  • P Slices
    Einige Makroblocks in einem P-Slice können interkodiert sein, wobei es ein Prädiktionssignal in einem Prädiktionsblock gibt.

  • B Slices
    Einige Makroblocks in einem P-Slice können interkodiert sein, wobei es zwei Prädiktionssignale in einem Prädiktionsblock gibt.

  • Quantization Matrix
    Die in der DCT bestimmten Koeffizienten werden quantisiert. Die Art der Quantisierungsmatrix (niedrige oder hohe Kompression) spiegelt sich in der Bildqualität wider.

  • 8x8 Transform
    Transformation und Quantisierung mit 8x8 Blocks.

  • SP Slices
    Switching P-Slices. Ermöglichen ein effizientes Wechseln zwischen unterschiedlich vorkodierten Bildern.

  • SI Slices
    Switching I-Slices. Ermöglichen eine exakte Kopie eines Makroblocks in einem SP-Slice, falls Fehler im Bitstream auftauchen sollten.

Top

Weitere Informationen zu MPEG und H.264/AVC


Referenzen

[1] EBU/ETSI TS 102 005 V1.1.1 (2005-03) Technical Specification, Digital Video Broadcasting (DVB); Specification for the use of video and audio coding in DVB services delivered directly over IP, European Broadcasting Union/European Telecommunications Standards Institute

[2] Overview of the H.264/AVC Video Coding Standard von Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard und Ajay Luthra; Juli 2003, IEEE Transactions on Circuits and Systems for Video Technology


25.10.2006
Top

Copyright © 2004-2019 Paradiso-Design.net - Alle Rechte vorbehalten.