Standarts der Datenkomprimierung

  • JPEG (Joint Photografic Expert Group)
    ist ein Kompressionsstandard, der sich besonders für fotografische Motive eignet (weniger für Zeichnungen und Cartoons; vor allem deren harte Kanten bilden deutlich erkennbare Artefakte , da das JPEG-Kompressionsverfahren verlustbehaftet ist). Das Basissystem dieses Standards , das in allen JPEG-Implementierungen vorhanden sein muß, betrifft vor allem die Kompressionsmethode, weniger das Datenformat. Es nutzt die Diskrete Cosinus-Transformation, DCT (oder auch FDCT für FastDCT, eine beschleunigte Version), auf die hier kurz eingegangen werden soll. Dem ganzen liegt die Fourier-Transformation zugrunde, die zweidimensional (jeweils für die Spalten und die Zeilen) angewandt wird . Dazu wird das Bild in Blöcke von 8x8 Pixel zerlegt (liefert die Bildquelle die Information nicht in diesem Format, ist ein externer SRAM [ Static RAM; Speichertechnologie, die auf "Flip-Flops" beruht] -Puffer nötig , in dem jeweils 8 Zeilen zwischengespeichert werden können). Diese 64 -Pixel-Matrix wird mit Hilfe einer Transformationsmatrix (mit feststehenden Koeffizienten) in eine Ergebnismatrix transformiert, in deren linker oberer Ecke der sogenannte DC-Koeffizient ( "Direct Current" , engl. Gleichstrom) angesiedelt ist. In den anderen Feldern befinden sich die AC-Koeffizienten ("Alternative Current" für Wechselstrom) ,die die Schwankungen in der Eingangsfrequenz darstellen. Sie sind so angeordnet, daß die AC-Koeffizienten für die niedrigeren Frequenzen in der Nähe des DC-Koeffizienten oben links stehen, die für die höheren Frequenzen in Richtung unten rechts. Durch diesen Algorithmus wird die Bild - information im Frequenzbereich mit weniger Daten beschrieben. Bei der anschließeden Quantisierung können Anteile vergröbert und mit dem RLE kodiert werden. Um möglichst gleichartige , aufeinanderfolgende Werte zu bekommen , wird die Ergebnismatrix im Zig-Zag-Scan ausgelesen ( siehe Schema ) . Kurz zusammengefaßt werden die 8x8-Pixelblöcke also in Anteile an Farbänderungen zerlegt , und da viele Blöcke eines Bildes nur geringe Farbschwankungen haben, reduziert sich die Menge der notwendigen Informationen . Die hochfrequenten Bildanteile , die das menschliche Auge sowieso nicht wahrnimmt, werden ausgefiltert. Die Rücktransformation erfolgt über die inverse DCT.

    Schema der Diskreten Cosinus-Transformation :


    Nach der eventuellen Transformation des Bildes in einen sinnvollen Farbraum ( YUV), der Beseitigung von Redundanzen durch die DCT , der Quantisierung der DCT-Koeffizienten, der Lauflängenkodierung (die die AC-Koeffizienten zusammenfaßt), der Kodierung der DC-Koeffizienten der aufeinanderfolgenden Blöcke (nach einem DPCM-Verfahren) erfolgt die Kodierung der quantisierten DCT-Koeffizienten nach einem Huffmann-Verfahren oder (im erweiterten JPEG-System) nach einer arithmetischen Kodierung. Daraus ist ersichtlich , daß die JPEG-Kodierung ziemlich komplex ist . Sie wird in drei Stufen unterteilt :
    - Basissystem (baseline system )
    - Erweitertes System ( extended system )
    - spezielle Funktionen , die eine verlustfreie Kompression
    unterstützen
    Bei JPEG als einem symmetrischen Algorithmus erfolgt die Dekomprimierung in der gleichen Zeit und mit dem leichen Rechenaufwand wie die Komprimierung.

  • M - JPEG (Motion - JPEG)
    ist die Video-Variante von JPEG und funktioniert prinzipiell genauso. Sie ist vor allem für den Videoschnitt interessant, da (im Gegensatz zu MPEG) jedes einzelne Bild komprimiert wird und Filmschnitte somit an jeder beliebigen Stelle möglich sind. M-JPEG ist deshalb recht rechenintensiv, es erreicht auch nicht so hohe Kompressionsraten wie MPEG.

  • MPEG (Moving Picture Experts Group )
    Damit wird ein offener Standart zur Bewegtbildkomprimierung einschließlich Audio definiert. Bei der Entwicklung von MPEG wurde auf Erfahrungen von H.261 zurückgegrifen.

    Aufgrund der schnellen Aufeinanderfolge von Bildern wird ein komprimiertes Einzelbild flüchtiger wahrgenommen. Das bedeutet es kann mit einer geringeren Auflösung gearbeitet werden. Hiebei wird außerdem berücksichtigt das aufeinanderfolgende Bilder sich meistens sehr ähnlich sind. Viele Teile eines Bildes bleiben gegenüber dem vorhergehenden unverändert, werden aber bei einer Folge von Einzelbildern noch einmal übertragen. Diese redundanten Informationen werden bei MPEG beseitigt. Es ergeben sich Kompressionsraten von 150 bis 200:1.

    Die Auflösung von 720x480 Pixel wird im Helligkeitsbereich (Luminaz) auf 352x240 Pixel reduziert. Für die Farbkomponenten wird die Auflösung von 360x480 Pixel auf 176x144 Pixel reduziert. Damit ergibt sich eine maximale Auflösung von 352x288 Pixel und dieser Wert liegt etwas bei der Videorecorderqulatität mit Standart VHS.

    Bei MPEG werden 3 verschiedene Arten von Bildern unterschieden, Intrabilder, prädiktive Bilder und bidirektionale Bilder. Eigentlich gibt es noch eine vierte Art von Bildern die DC-Bilder (auch DC-Pictures) die für eine schnelle Suchfunktion, zum Beispiel bei digitalen Bandaufzeichnungen, wichtig sind, aber bei der Kompression keine Rolle spielen.


    Diese Schema soll das Zusammenwirken der 3 unterschiedlichen Arten von Bildern zeigen. Hierbei handelt es sich um eine mögliche Abfolge, etwa hinsichtlich der Häufigkeit bestimmter Bildtypen. Die Intrabilder (I) werden am wenigsten komprimiert, da sie als Punkte für den wahlfreien Zugriff (Random Access Points) dienen haben sie keine Referenzen auf andere Bilder.Prädiktive Bilder (P) beziehen sich auf die Informationen von Intrabildern oder auf andere prädiktive Bilder. Sie dienen selbst als Refernez für andere Bilder gleicher Art. Die bidirektionalen Bilder (B) weisen den höchsten Komprimierungsgrad auf und erfordern Referenzen in beide Richtungen, auf ein Intra- oder prädiktives Bild.

    Die Kompression für ein Intrabild gleicht in den wesentlichen Zügen der bei JPEG beschriebenen Methode. Für den Bezug der Folgebilder ist das Kompressionsverfahren der Bewegungskompensation (motion compensation) sehr wichtig. Damit wird aus den Bezugsbildern mittels Bewegungsvektoren die Position von Bildelementen zu einem späteren Zeitpunkt vorhersagbar, da sich die Folgebilder aus dem vorhergehenden ableiteten. Diese Methode wird auch Bewegungsabschätzung, motion estimation genannt. Die Bewegungen werden in Blöcken von 16x16 Pixeln erfaßt und als Bewegungsvektoren kodiert. Vom Folgebild werden nur die Differenzdaten übertragen. Diese werden auch motion-compensation-prediction-error genannt.

    Der vollständige Bewegungsablauf wird durch Zwischenwertbildung (Interpolation) ermittelt, die sich auf vorhergehende und nachfolgende Bilder bezieht. Dieses Verfahren nennt man motion-compensaton-interpolation und bei MPEG bidirektionale Prädiktion. Dieser Algorithmus beruht darauf, da immer ein Bild nach dem JPEG-Verfahren gespeichert und im weiteren nur noch die Unterschiede zum folgenden Bild gespeichert. In bestimmten Abständen wird immer wieder ein ganzes Bild gespeichert um den wahlfreien Zugriff an jeder beliebigen Stelle zu ermöglichen.

    MPEG ist ein stark asymmetrisches Kompressionverfahren. Die Firma Texas Instruments hat einen Versuch durchgeführt, welcher die benötigte Rechenleistung verdeutlichen soll.Für die Kompression ergab sich ein Wert von 1041 MIPS (million instructions per second) und für die Dekompression ein Wert von 58 MIPS.

    Zur Zeit wird die MPEG-Kompression auf leistungsstarken Workstations durchgeführt, da für ein Einzelbild, das die volle Bildschirmfläche nutzt, eine Rechenzeit von 3 bis 5 Sekunden und für eine Sekunde Video würde dann eine Rechenzeit von etwa 90 bis 120 Sekunden anfallen.

    MPEG1, für Übertragungsraten bis 1,5 Mbit/s, Videos
    MPEG2, für Übertragungsraten bis 10 Mbit/s, Fernsehen
    MPEG4, für Übertragungsraten bis 64 kbit/s, ISDN

  • MHEG (Multimedia and Hypermedia coding Expert Group)
    Zu den Bemühungen um Standardisierungen bei der Datenkomprimierung wurde es zunehmend notwendig, das unterschiedliche Plattformen nicht nur auf Datenebene sondern auch auf der Codeebene kompatibel zueinander sind. In den letzten Jahren zeigte sich ein stark zunehmendes Interesse an interaktiver multimedialer Informationsverarbeitung. Solche multimedialen Anwendungen bestehen aus zeitunabhänigen (wie z.B: Text, Bild) und zeitabhänigen Medien (wie z.B. Video, Audio oder Animaitonen) und aus Strukturinformationen, die die Inhalte miteinander verknüpfen. Die ISO hat daraufhin eine Arbeitsgruppe gegründet mit dem Namen MHEG geründet, welche sich mit der Definition eines universellen Standartaustauschformats zur Verarbeitung multimedialer Anwendungen auf verschiedenen Plattformen beschäfigen soll. MHEG-Daten repräsentieren eine Multimedia-Anwendung in einer ausführbaren Darstellung, sie sind syntaktisch und schematisch analysiert, aber noch nicht an eine spezifische Laufzeitumgebung angepaßt, diese geschieht erst beim decodieren durch die MHEG-Engine, somit wird erreicht, das die MHEG-Daten systemunabhänig sind.