
MPEG: Fragen und Antworten
]
Was ist MPEG?
MPEG ist eine Gruppe von Personen innerhalb der ISO (International Standards Organization), die zusammenkommen, um Standards für die digitale Video- und Audiokomprimierung zu entwickeln. Insbesondere identifizierten sie einen komprimierten Durchfluss und einen Dekompressor dafür. Die Komprimierungsalgorithmen werden von jedem Hersteller individuell festgelegt, was der Vorteil des veröffentlichten International Standard ist. Die MPEG-Gruppe trifft sich ungefähr viermal im Jahr für ungefähr eine Woche. Der größte Teil der Arbeit wird zwischen Besprechungen, Organisation und Planung für sie erledigt.
Hat es etwas mit JPEG zu tun?
Ja, die Namen sind Konsonanten und die Gruppen gehören zusammen mit JBIG und MHEG demselben ISO-Unterausschuss an und treffen sich am selben Ort und zur selben Zeit. Es sind jedoch unterschiedliche Menschen mit unterschiedlichen Zielen und Bedürfnissen. JPEG dient zum Komprimieren von Standbildern, MPEG zum Live-Video und zugehörigem Audio.
Was sind JBIG und MHEG?
JBIG dient zur Komprimierung von Binärbildern (Faxen, …) und MHEG für Multimediadaten zur Integration von Standbildern, Video, Audio, Text usw.
Wie funktioniert MPEG-Video?
Ein digitales Farbbild der komprimierten Sequenz wird in den YUV-Farbraum (YCbCr) konvertiert. Die Y-Komponente repräsentiert die Intensität und die U- und V-Komponenten repräsentieren die Chromatizität. Da das menschliche Auge weniger empfindlich auf Chroma als auf Intensität reagiert, kann die Auflösung der Farbkomponenten zweimal vertikal oder sowohl vertikal als auch horizontal reduziert werden. Bei Animationen und hochwertigen Studio-Videos wird kein Downsampling angewendet, um die Qualität zu erhalten. Bei Heimanwendungen, bei denen die Streams geringer und die Ausrüstung billiger sind, führt diese Aktion nicht zu einem spürbaren Verlust. auf visuelle Wahrnehmung, während wertvolle Daten gespeichert werden.
Die Grundidee des gesamten Schemas besteht darin, die Bewegung von einem Frame zum anderen vorherzusagen und dann eine diskrete Cosinustransformation (DCT) anzuwenden, um die Redundanz im Raum neu zu verteilen. Die DCT wird in 8×8-Punktblöcken durchgeführt, die Bewegungsvorhersage im Intensitätskanal (Y) in 16×16-Punktblöcken oder, abhängig von den Eigenschaften der ursprünglichen Bildsequenz (Interlaced-Scan, Inhalt), in Blöcken 16×8 Punkte. Mit anderen Worten, ein gegebener 16 × 16-Pixelblock wird in dem aktuellen Rahmen in dem entsprechenden größeren Bereich in den vorherigen oder nachfolgenden Rahmen gesucht. Die DCT-Koeffizienten (die Originaldaten oder die Differenz zwischen diesem und seinem entsprechenden Block) werden quantisiert, dh sie werden durch eine bestimmte Zahl geteilt, um unbedeutende Bits zu verwerfen. Viele Koeffizienten nach einer solchen Operation erweisen sich als Null.
Wie hängen die Frames zusammen?
Es gibt drei Arten von codierten Frames. I-Frames sind Frames, die als Standbilder ohne Bezug zum nächsten oder nächsten codiert sind. Sie werden als Ausgangspunkte verwendet. P-Frames sind vorhergesagte Frames aus vorherigen I- oder P-Frames. Jeder Makroblock in dem P-Rahmen kann mit einem Vektor und der DCT-Koeffizientendifferenz des entsprechenden Blocks vom zuletzt decodierten I oder P kommen, oder er kann wie in I codiert sein, wenn der entsprechende Block nicht gefunden wurde.
Und schließlich gibt es die B-Frames, die aus den beiden nächsten I- oder P-Frames vorhergesagt werden, einen vor und einen nach. In diesen Frames werden die entsprechenden Blöcke durchsucht und der beste ausgewählt. Der direkte Vektor wird gesucht, dann die Umkehrung, und der Durchschnitt zwischen den entsprechenden Makroblöcken in der Vergangenheit und der Zukunft wird berechnet. Wenn dies nicht funktioniert, kann der Block als I-Frame codiert werden.
Die Reihenfolge der decodierten Frames sieht im Allgemeinen so aus
IBBPBBPBBPBBIBBPBBPB …
Es gibt 12 Frames von I bis I Frame. Dies basiert auf der Direktzugriffsanforderung, dass der Startpunkt alle 0,4 Sekunden wiederholt werden muss. Die Beziehung von P nach B basiert auf Erfahrung.
Damit der Decoder funktioniert, muss der erste P-Frame in der Sequenz vor dem ersten B liegen, damit die komprimierte Sequenz folgendermaßen aussieht:
0 xx 3 1 2 6 4 5 …
Dabei sind die Zahlen die Anzahl der Frames. xx kann nichts sein, wenn es der Anfang einer Sequenz ist, oder Frames B -2 und -1, wenn es sich in der Mitte einer Sequenz befindet.
Sie müssen zuerst den I-Frame dekodieren, dann P und dann, wenn beide im Speicher sind, B dekodieren. Während der Decodierung wird P angezeigt. I-Frame, B wird sofort angezeigt und das decodierte P wird während der Decodierung des nächsten angezeigt.
