next up previous contents
Next: Multimedia-KD-Verfahren Up: Datenkompressionsverfahren für multimediale Daten Previous: Kompressionsschritte

Beschreibung grundlegender Verfahren

Hybrid Verfahren: Die meisten in Multimedia-Systemen angewanden Verfahren zur Video- bzw Audiokodierung bestehen selbst wieder aus mehreren unterschiedlichen Verfahren. Die einfachsten berücksichtigen die menschliche Höhr- bzw. Sehfähigkeit. Bei der Bildkompression wird daher eine Darstellung über YUV Komponenten statt RGB(Rot, Gelb, Blau) gewählt, damit Helligkeits- und Farbveränderungen, auf die das Auge weniger empfindlicher reagiert, mit geringerer Auflösung an Zeilen und Spalten abgetastet werden können (Die Komponenten U und V werden unterabgetastet).

Lauflängenkodierung:  Mehr als 3 identische aufeinanderfolgende Bytes werden über ihre Anzahl kodiert. Es wird ein Markierungsbyte gesetzt und dahinter die Anzahl der identischen Bytes kodiert. Dabei ist darauf zu achten, daß das Markierungsbyte nicht im Quelltext enthalten ist. Finden alle 256 möglichen Zeichen (2 Byte Kodierung) im Quelltext Verwendung, definiert man einfach ein Byte, welches immer alleine im Quelltext steht als Markierungsbyte. Steht dieses im komprimierten File alleine, wird es als Markierungsbyte behandelt. Steht es zwei mal hintereinander, wird es als ein normales Byte behandelt.
Zum Beispiel: 9 mal "`A"' MA9, mit M als Markierungsbyte.

Nullunterdrückung: Nullen(Anzahl 3) werden mit Markierungsbyte und ihrer Anzahl kodiert, oder unterschiedliche Markierungsbytes repräsentieren unterschiedliche Anzahlen von Nullen.

Vektorquantisierung: In einer mehrdimensionalen Tabelle wird das Muster gesucht, welches dem Quellmuster (z.B. Block von 88 Pixeln) am nächsten kommt. Der zu dem Muster zugehörige Index wird in dem Datenstrom kodiert. Der Dekodierer approximiert mit derselben Tabelle den ursprünglichen Datenstrom nach den Indexwerten.

Pattern Substitution: Einzelne Bytes ersetzen häufig vorkommende Muster einzelner Bytes im Quelltext (z.B. BEGIN, IF, THEN in Programmtexten). Ein Markierungsbyte signalisiert, daß der Index eines Musters folgt.

Diatomic Encoding: Häufig auftretende Bytepaare werden durch ein im Quelltext nicht weiter vorkommende Bytes repräsentiert. Die Datenreduktion bei englischen ASCII-Texten liegt dabei im Bereich von 10%.

Statische Kodierung: Auf der Häufigkeit einzelner Bytes beruhend, wird eine Kodierung gewählt. Ähnlich dem Morsealphabet werden häufig verwendete Zeichen mit einer geringen Bitanzahl kodiert. Da der Quelltext für die Wahl der Kodierung gescannt werden muß, sind solche Kompressionsverfahren verhältnismäßig langsam. Die Huffman-Kodierung z.B. ermittelt über einen Binärbaum (Abbildung gif) und der relativen Wahrscheinlichkeit für das Auftreten einzelner Zeichen die minimale Anzahl der Bits.

 

Die Kodierung der Binärbaumkanten (Abbildung gif), die für jedes Einzelbild unterschiedlich gewählt werden kann, muß bei der Dekodierung vorliegen.

Arithmetische Kodierung: Jedes Zeichen wird abhängig von der Häufigkeit aller vorherigen Zeichen kodiert (Vgl. auch Huffman-Code). Daher muß der Quelltext immer wieder von Anfang an gescannt werden. Ein wahlfreier Zugriff ist nicht möglich.

Transformationskodierung: Die Daten werden in einen anderen mathematischen Raum transformiert, der sich besser für die Kompression eignet. (Zum Beispiel mit Fouriertransformation vom Zeit- in den Frequenzbereich.)

Subband-Kodierung: Nur der spektrale Anteil eines Signals im vorgegebenen Bereichen wie Frequenzbänder wird in einen anderen mathematischen Raum transformiert und dann komprimiert. Die Anzahl der Frequenzbänder ist hierbei ein Qualitätskriterium. Dieses Verfahren eignet sich gut für die Audiokompression (Sprache), bei der die Qualität des Klanges eine untergeordnete Rolle spielt.

 

Prädikation oder relative Kodierung Bei nahezu indentisch aufeinanderfolgenden Datenfolgen kann eine Differenzkodierung vorgenommen werden. Diese gibt dann nur die Änderung zur vorherigen Datenfolge an (siehe hierzu auch Kapitel gif ab Seite gif).

Delta Modulation: Die Differenzkodierung beschränkt sich hier auf nur ein Bit, was zu Ungenauigkeiten führt, wenn große Differenzen betrachtet werden.

ADPCM und DPCM:  Beide Verfahren verfolgen den Ansatz der Delta Modulation. Während bei DCPM die Differenzen zur vorherigen Bytefolge mit nur wenigen Bits kodiert werden, werden diese Abtastwerte bei der ADCPM-Kompression zusätzlich durch dem Datenstrom angepaßte Konstanten geteilt. Bei hohen Abtastwerten wird eine hohe Konstante gewählt, um den zu kodierenden Wert möglichst klein und mit wenigen Bits darstellen zu können. Diese Verfahren werden häufig bei der Audiokompression eingesetzt, bei denen das Signal in guter Qualität vorliegt. Gründe hierfür sind die Geschwindigkeit,mit der das Verfahren arbeitet, und die guten Kompressionsraten. Ein gewisser Qualitätsverlust wird dabei in Kauf genommen.


next up previous contents
Next: Multimedia-KD-Verfahren Up: Datenkompressionsverfahren für multimediale Daten Previous: Kompressionsschritte


Wed Dec 11 16:28:59 MET 1996