23.07.2013 Aufrufe

Seminar Differential Encoding 2002

Seminar Differential Encoding 2002

Seminar Differential Encoding 2002

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Titel<br />

<strong>Seminar</strong><br />

<strong>Differential</strong> <strong>Encoding</strong><br />

<strong>2002</strong><br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 1


Einleitung<br />

• <strong>Differential</strong> encoding (differentielle Kodierung) ist ein weit verbreitetes Verfahren<br />

zur Datenkompression<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 2


Einleitung<br />

• <strong>Differential</strong> encoding (differentielle Kodierung) ist ein weit verbreitetes Verfahren<br />

zur Datenkompression<br />

• Voraussetzungen:<br />

aufeinanderfolgende Signalproben/ Abtastwerte duerfen sich nicht sehr<br />

unterscheiden<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 2


Einleitung<br />

• <strong>Differential</strong> encoding (differentielle Kodierung) ist ein weit verbreitetes Verfahren<br />

zur Datenkompression<br />

• Voraussetzungen:<br />

aufeinanderfolgende Signalproben/ Abtastwerte duerfen sich nicht sehr<br />

unterscheiden<br />

• auch bekannt als “vorbestimmte Kodierung “<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 2


Einleitung<br />

• <strong>Differential</strong> encoding (differentielle Kodierung) ist ein weit verbreitetes Verfahren<br />

zur Datenkompression<br />

• Voraussetzungen:<br />

aufeinanderfolgende Signalproben/ Abtastwerte duerfen sich nicht sehr<br />

unterscheiden<br />

• auch bekannt als “vorbestimmte Kodierung “<br />

• Wesen:<br />

der Unterschied zwischen dem tatsaechlichen Abtastwert und einer Vorhersage<br />

wird kodiert und uebertragen<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 2


Quantisierer (allgemeine Erlaeuterung)<br />

• zentrales Element: Quantisierer<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 3


Quantisierer (allgemeine Erlaeuterung)<br />

• zentrales Element: Quantisierer<br />

• digitale Umsetzung eines analogen Signals (z.B. eines Sprachsignals) erfolgt im<br />

einfachsten Fall mit einem Analog - Digital - Wandler<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 3


Quantisierer (allgemeine Erlaeuterung)<br />

• zentrales Element: Quantisierer<br />

• digitale Umsetzung eines analogen Signals (z.B. eines Sprachsignals) erfolgt im<br />

einfachsten Fall mit einem Analog - Digital - Wandler<br />

• Analogsignal wird in periodischen Zeitintervallen abgetastet und in einen<br />

entsprechenden Zahlenwert umgewandelt (→ quantisiert)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 3


Quantisierer (allgemeine Erlaeuterung)<br />

• zentrales Element: Quantisierer<br />

• digitale Umsetzung eines analogen Signals (z.B. eines Sprachsignals) erfolgt im<br />

einfachsten Fall mit einem Analog - Digital - Wandler<br />

• Analogsignal wird in periodischen Zeitintervallen abgetastet und in einen<br />

entsprechenden Zahlenwert umgewandelt (→ quantisiert)<br />

• bei der Quantisierung wird ein bestimmter Wertebereich des Analogsignals zu<br />

einem Zahlenwert zusammengefasst<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 3


Quantisierer (allgemeine Erlaeuterung)<br />

• zentrales Element: Quantisierer<br />

• digitale Umsetzung eines analogen Signals (z.B. eines Sprachsignals) erfolgt im<br />

einfachsten Fall mit einem Analog - Digital - Wandler<br />

• Analogsignal wird in periodischen Zeitintervallen abgetastet und in einen<br />

entsprechenden Zahlenwert umgewandelt (→ quantisiert)<br />

• bei der Quantisierung wird ein bestimmter Wertebereich des Analogsignals zu<br />

einem Zahlenwert zusammengefasst<br />

• dies verursacht Quantisierungsfehler; auch als Quantisierungsrauschen<br />

bezeichnet<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 3


Quantisierer (allgemeine Erlaeuterung)<br />

• zentrales Element: Quantisierer<br />

• digitale Umsetzung eines analogen Signals (z.B. eines Sprachsignals) erfolgt im<br />

einfachsten Fall mit einem Analog - Digital - Wandler<br />

• Analogsignal wird in periodischen Zeitintervallen abgetastet und in einen<br />

entsprechenden Zahlenwert umgewandelt (→ quantisiert)<br />

• bei der Quantisierung wird ein bestimmter Wertebereich des Analogsignals zu<br />

einem Zahlenwert zusammengefasst<br />

• dies verursacht Quantisierungsfehler; auch als Quantisierungsrauschen<br />

bezeichnet<br />

• um Quantisierungsrauschen moeglichst klein zu halten, muss Aufloesung des<br />

A-D-Wandlers vergroessert werden, d.h. das Ausgabewort muss eine hoehere<br />

Bitbreite aufweisen<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 3


Beispiel<br />

• fuer gesprochene Sprache gilt, dass sie eine begrenzte Bandbreite besitzt<br />

→ Abstand zwischen zwei Abtastwerten ist nicht beliebig gross<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 4


Beispiel<br />

• fuer gesprochene Sprache gilt, dass sie eine begrenzte Bandbreite besitzt<br />

→ Abstand zwischen zwei Abtastwerten ist nicht beliebig gross<br />

• Wertebereich der Differenzen ist in jedem Fall kleiner als der Wertebreich des<br />

Signals selbst<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 4


Beispiel<br />

• fuer gesprochene Sprache gilt, dass sie eine begrenzte Bandbreite besitzt<br />

→ Abstand zwischen zwei Abtastwerten ist nicht beliebig gross<br />

• Wertebereich der Differenzen ist in jedem Fall kleiner als der Wertebreich des<br />

Signals selbst<br />

• Ausnutzung, indem man nicht das Signal, sondern nur den Unterschied<br />

zwischen zwei Abtastwerten kodiert<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 4


Beispiel<br />

• fuer gesprochene Sprache gilt, dass sie eine begrenzte Bandbreite besitzt<br />

→ Abstand zwischen zwei Abtastwerten ist nicht beliebig gross<br />

• Wertebereich der Differenzen ist in jedem Fall kleiner als der Wertebreich des<br />

Signals selbst<br />

• Ausnutzung, indem man nicht das Signal, sondern nur den Unterschied<br />

zwischen zwei Abtastwerten kodiert<br />

• Datenrate ( weil kleinerer Wertebereich) wird reduziert<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 4


• tatsaechliche Daten : 9, 10, 7, 6<br />

Beispiel<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 5


• tatsaechliche Daten : 9, 10, 7, 6<br />

Beispiel<br />

• vorherige (vorausgesagte) Daten : 0, 9, 10, 7<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 5


• tatsaechliche Daten : 9, 10, 7, 6<br />

Beispiel<br />

• vorherige (vorausgesagte) Daten : 0, 9, 10, 7<br />

• kodierte Daten : 9, 1, -3,-1<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 5


grundlegender Algorithmus<br />

• man betrachte eine Quellenausgabesequenz {xn}<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 6


grundlegender Algorithmus<br />

• man betrachte eine Quellenausgabesequenz {xn}<br />

• xn−1 ist das vorher kodierte und uebertragene Symbol<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 6


grundlegender Algorithmus<br />

• man betrachte eine Quellenausgabesequenz {xn}<br />

• xn−1 ist das vorher kodierte und uebertragene Symbol<br />

• Differenzsequenz {dn} ergibt sich aus<br />

dn = xn − xn−1<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 6


grundlegender Algorithmus<br />

• man betrachte eine Quellenausgabesequenz {xn}<br />

• xn−1 ist das vorher kodierte und uebertragene Symbol<br />

• Differenzsequenz {dn} ergibt sich aus<br />

dn = xn − xn−1<br />

• dn wird quantisiert, man erhaelt die Sequenz { ˆ dn}<br />

ˆdn = Q[dn] = dn + qn<br />

wobei qn . . . Quantisierungsfehler<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 6


grundlegender Algorithmus<br />

• man betrachte eine Quellenausgabesequenz {xn}<br />

• xn−1 ist das vorher kodierte und uebertragene Symbol<br />

• Differenzsequenz {dn} ergibt sich aus<br />

dn = xn − xn−1<br />

• dn wird quantisiert, man erhaelt die Sequenz { ˆ dn}<br />

ˆdn = Q[dn] = dn + qn<br />

wobei qn . . . Quantisierungsfehler<br />

• beim Empfaenger erhaelt man die rekonstruierte Sequenz {ˆxn} durch<br />

ˆxn = ˆxn−1 + ˆ dn<br />

wobei ˆxn−1 das vorher rekonstuierte Symbol ist<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 6


grundlegender Algorithmus ff<br />

• angenommen, Uebertraeger und Empfaenger starten beide mit demselben<br />

Wert x0, so dass<br />

ˆx0 = x0<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 7


grundlegender Algorithmus ff<br />

• angenommen, Uebertraeger und Empfaenger starten beide mit demselben<br />

Wert x0, so dass<br />

ˆx0 = x0<br />

• fuer den Quantisierungs - und Rekonstruktionsprozess ergibt sich<br />

d1 = x1 − x0<br />

ˆd1 = Q[d1] = d1 + q1<br />

ˆx1 = x0 + ˆ d1 = x0 + d1 + q1 = x1 + q1<br />

d2 = x2 − x1<br />

ˆd2 = Q[d2] = d2 + q2<br />

ˆx2 = ˆx1 + ˆ d2 = x1 + q1 + d2 + q2 = x2 + q1 + q2<br />

→ diesen Prozess fortfuehrend ergibt sich ˆxn = xn + n<br />

qk<br />

k=1<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 7


grundlegender Algorithmus ff<br />

• angenommen, Uebertraeger und Empfaenger starten beide mit demselben<br />

Wert x0, so dass<br />

ˆx0 = x0<br />

• fuer den Quantisierungs - und Rekonstruktionsprozess ergibt sich<br />

d1 = x1 − x0<br />

ˆd1 = Q[d1] = d1 + q1<br />

ˆx1 = x0 + ˆ d1 = x0 + d1 + q1 = x1 + q1<br />

d2 = x2 − x1<br />

ˆd2 = Q[d2] = d2 + q2<br />

ˆx2 = ˆx1 + ˆ d2 = x1 + q1 + d2 + q2 = x2 + q1 + q2<br />

→ diesen Prozess fortfuehrend ergibt sich ˆxn = xn + n<br />

qk<br />

k=1<br />

• offensichtlich, dass der Quantisierungsfehler mit fortfuehrenden Prozess stark<br />

zunimmt → unerwuenscht !<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 7


grundlegender Algorithmus ff<br />

• Kodierer und Dekodierer arbeiten mit verschiedenen Informationen<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 8


grundlegender Algorithmus ff<br />

• Kodierer und Dekodierer arbeiten mit verschiedenen Informationen<br />

• Kodierer generiert die Differenzsequenz basierend auf den Orginalabtastwerten<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 8


grundlegender Algorithmus ff<br />

• Kodierer und Dekodierer arbeiten mit verschiedenen Informationen<br />

• Kodierer generiert die Differenzsequenz basierend auf den Orginalabtastwerten<br />

• Dekodierer greift bei quantisierter Differenz auf eine verzerrte Version des<br />

Orginalsignals zurueck<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 8


grundlegender Algorithmus ff<br />

• Problemloesung : Kodierer und Dekodierer nutzen dieselbe Informationen<br />

waehrend der Operationen<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 9


grundlegender Algorithmus ff<br />

• Problemloesung : Kodierer und Dekodierer nutzen dieselbe Informationen<br />

waehrend der Operationen<br />

• die einzige dem Empfaenger erhaeltliche Information ueber die Sequenz {xn}<br />

ist die rekonstruierte Sequenz {ˆxn}<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 9


grundlegender Algorithmus ff<br />

• Problemloesung : Kodierer und Dekodierer nutzen dieselbe Informationen<br />

waehrend der Operationen<br />

• die einzige dem Empfaenger erhaeltliche Information ueber die Sequenz {xn}<br />

ist die rekonstruierte Sequenz {ˆxn}<br />

• also modifiziere die Differenzoperation mit Benutzung des vorherig<br />

rekonstruierten Abtastwertes<br />

dn = xn − ˆxn−1<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 9


grundlegender Algorithmus ff<br />

• diese neue Operation benutzend, wiederholen wir die Untersuchung des<br />

Quantisierungs - und Rekonstruktionsprozesses<br />

ˆx0 = x0<br />

d1 = x1 − x0<br />

ˆd1 = Q[d1] = d1 + q1<br />

ˆx1 = x0 + ˆ d1 = x0 + d1 + q1 = x1 + q1<br />

d2 = x2 − ˆx1<br />

ˆd2 = Q[d2] = d2 + q2<br />

ˆx2 = ˆx1 + ˆ d2 = ˆx1 + d2 + q2 = x2 + q2<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 10


grundlegender Algorithmus ff<br />

• diese neue Operation benutzend, wiederholen wir die Untersuchung des<br />

Quantisierungs - und Rekonstruktionsprozesses<br />

ˆx0 = x0<br />

d1 = x1 − x0<br />

ˆd1 = Q[d1] = d1 + q1<br />

ˆx1 = x0 + ˆ d1 = x0 + d1 + q1 = x1 + q1<br />

d2 = x2 − ˆx1<br />

ˆd2 = Q[d2] = d2 + q2<br />

ˆx2 = ˆx1 + ˆ d2 = ˆx1 + d2 + q2 = x2 + q2<br />

• fuer die n-te Iteration ergibt sich<br />

ˆxn = xn + qn<br />

→ keine Anhaeufung des Quantisierungsrauschens<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 10


grundlegender Algorithmus ff<br />

• diese neue Operation benutzend, wiederholen wir die Untersuchung des<br />

Quantisierungs - und Rekonstruktionsprozesses<br />

ˆx0 = x0<br />

d1 = x1 − x0<br />

ˆd1 = Q[d1] = d1 + q1<br />

ˆx1 = x0 + ˆ d1 = x0 + d1 + q1 = x1 + q1<br />

d2 = x2 − ˆx1<br />

ˆd2 = Q[d2] = d2 + q2<br />

ˆx2 = ˆx1 + ˆ d2 = ˆx1 + d2 + q2 = x2 + q2<br />

• fuer die n-te Iteration ergibt sich<br />

ˆxn = xn + qn<br />

→ keine Anhaeufung des Quantisierungsrauschens<br />

• genaugenommen entsteht das Quantisierungsrauschen des n-ten<br />

rekonstruierten Symbols bei der Quantisierung der n-ten Differenzsymbols<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 10


Blockdiagramm des grundlegenden Algorithmus<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 11


DPCM (Differentielle Puls-Code-Modulation)<br />

• baut auf eben erklaertem Prinzip auf<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 12


DPCM (Differentielle Puls-Code-Modulation)<br />

• baut auf eben erklaertem Prinzip auf<br />

• die differentielle Quantisierung nutzt die Korrelation zwischen den Abtastwerten<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 12


DPCM (Differentielle Puls-Code-Modulation)<br />

• baut auf eben erklaertem Prinzip auf<br />

• die differentielle Quantisierung nutzt die Korrelation zwischen den Abtastwerten<br />

• bestimmt aus den vorhergegangenen N Werten mit Hilfe eines bestimmten<br />

Algorithmus den naechsten Abtastwert<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 12


DPCM (Differentielle Puls-Code-Modulation)<br />

• baut auf eben erklaertem Prinzip auf<br />

• die differentielle Quantisierung nutzt die Korrelation zwischen den Abtastwerten<br />

• bestimmt aus den vorhergegangenen N Werten mit Hilfe eines bestimmten<br />

Algorithmus den naechsten Abtastwert<br />

• dieser extrapolierte Wert wird mit dem tatsaechlichen Wert verglichen<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 12


Blockdiagramm des DPCM<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 13


DPCM Hintergrund<br />

• wir wollen unsere Differenzwerte so klein wie moeglich haben<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 14


DPCM Hintergrund<br />

• wir wollen unsere Differenzwerte so klein wie moeglich haben<br />

• d.h. ˆxn−1 sollte so nah wie moeglich bei xn sein<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 14


DPCM Hintergrund<br />

• wir wollen unsere Differenzwerte so klein wie moeglich haben<br />

• d.h. ˆxn−1 sollte so nah wie moeglich bei xn sein<br />

• bestimmte Funktionen f(. . .) der vorherig Werte der rekonstruierten Sequenz<br />

garantieren eine bessere Vorhersage von xn<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 14


DPCM Hintergrund<br />

• wir wollen unsere Differenzwerte so klein wie moeglich haben<br />

• d.h. ˆxn−1 sollte so nah wie moeglich bei xn sein<br />

• bestimmte Funktionen f(. . .) der vorherig Werte der rekonstruierten Sequenz<br />

garantieren eine bessere Vorhersage von xn<br />

• man ersetzt im Blockdiagramm den Delayblock durch den Predictorblock<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 14


DPCM Hintergrund<br />

• wir wollen unsere Differenzwerte so klein wie moeglich haben<br />

• d.h. ˆxn−1 sollte so nah wie moeglich bei xn sein<br />

• bestimmte Funktionen f(. . .) der vorherig Werte der rekonstruierten Sequenz<br />

garantieren eine bessere Vorhersage von xn<br />

• man ersetzt im Blockdiagramm den Delayblock durch den Predictorblock<br />

• die Ausgabe des Predictors ist die Prediction ( Vorhersage ) Sequenz {pn}<br />

pn = f(ˆxn−1, ˆxn−2, . . . , ˆx0)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 14


DPCM Hintergrund<br />

• wir wollen unsere Differenzwerte so klein wie moeglich haben<br />

• d.h. ˆxn−1 sollte so nah wie moeglich bei xn sein<br />

• bestimmte Funktionen f(. . .) der vorherig Werte der rekonstruierten Sequenz<br />

garantieren eine bessere Vorhersage von xn<br />

• man ersetzt im Blockdiagramm den Delayblock durch den Predictorblock<br />

• die Ausgabe des Predictors ist die Prediction ( Vorhersage ) Sequenz {pn}<br />

pn = f(ˆxn−1, ˆxn−2, . . . , ˆx0)<br />

• das DPCM wurde von Bell Laboratories wenige Jahre nach dem zweiten<br />

Weltkrieg entwickelt<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 14


DPCM Hintergrund<br />

• wir wollen unsere Differenzwerte so klein wie moeglich haben<br />

• d.h. ˆxn−1 sollte so nah wie moeglich bei xn sein<br />

• bestimmte Funktionen f(. . .) der vorherig Werte der rekonstruierten Sequenz<br />

garantieren eine bessere Vorhersage von xn<br />

• man ersetzt im Blockdiagramm den Delayblock durch den Predictorblock<br />

• die Ausgabe des Predictors ist die Prediction ( Vorhersage ) Sequenz {pn}<br />

pn = f(ˆxn−1, ˆxn−2, . . . , ˆx0)<br />

• das DPCM wurde von Bell Laboratories wenige Jahre nach dem zweiten<br />

Weltkrieg entwickelt<br />

• es ist ein weit verbreitetes Sprachkodierungssystem und wird u.a. in der<br />

Telefonkommunikation verwendet<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 14


DPCM Prediction<br />

• mathematische Formulierung des prediction problems<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 15


DPCM Prediction<br />

• mathematische Formulierung des prediction problems<br />

• definiere σ2 d<br />

σ2 d = E[(xn − pn) 2 ]<br />

E[. . .] . . . Erwartungswert<br />

als die Varianz (Abweichung) der Differenzsequenz<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 15


DPCM Prediction<br />

• mathematische Formulierung des prediction problems<br />

• definiere σ2 d<br />

σ2 d = E[(xn − pn) 2 ]<br />

E[. . .] . . . Erwartungswert<br />

als die Varianz (Abweichung) der Differenzsequenz<br />

• p(n) . . . Predictorausgabe<br />

p(n) = f(ˆxn−1, ˆxn−1, . . . , ˆx0)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 15


DPCM Prediction<br />

• mathematische Formulierung des prediction problems<br />

• definiere σ2 d<br />

σ2 d = E[(xn − pn) 2 ]<br />

E[. . .] . . . Erwartungswert<br />

als die Varianz (Abweichung) der Differenzsequenz<br />

• p(n) . . . Predictorausgabe<br />

p(n) = f(ˆxn−1, ˆxn−1, . . . , ˆx0)<br />

• wesentlich fuer die Konstruktion eines guten Predictors ist die Auswahl der<br />

Funktion f(. . .), welche σ2 d minimieren soll<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 15


• Problem : ˆxn = xn + qn<br />

DPCM Prediction ff<br />

qn ist abhaengig von der Varianz von dn<br />

Auswirkungen auf ˆxn, σ2 d , f(. . .)<br />

diese Gegebenheiten verkomplizieren das Problem sehr<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 16


• Problem : ˆxn = xn + qn<br />

DPCM Prediction ff<br />

qn ist abhaengig von der Varianz von dn<br />

Auswirkungen auf ˆxn, σ2 d , f(. . .)<br />

diese Gegebenheiten verkomplizieren das Problem sehr<br />

• fine quantization assumption (Annahme) :<br />

Quantisierungsschritte so klein, dass wir ˆxn durch xn ersetzen koennen<br />

→ pn = f(xn−1, xn−2, . . . , x0)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 16


• Problem : ˆxn = xn + qn<br />

DPCM Prediction ff<br />

qn ist abhaengig von der Varianz von dn<br />

Auswirkungen auf ˆxn, σ2 d , f(. . .)<br />

diese Gegebenheiten verkomplizieren das Problem sehr<br />

• fine quantization assumption (Annahme) :<br />

Quantisierungsschritte so klein, dass wir ˆxn durch xn ersetzen koennen<br />

→ pn = f(xn−1, xn−2, . . . , x0)<br />

• weitere Annahme : wir legen fest, dass die Predictor Funktion linear ist<br />

→ p(n) = N<br />

ai ∗ xn−i<br />

i=1<br />

N spezifiziert die Ordnung des Predictors<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 16


• Problem : ˆxn = xn + qn<br />

DPCM Prediction ff<br />

qn ist abhaengig von der Varianz von dn<br />

Auswirkungen auf ˆxn, σ2 d , f(. . .)<br />

diese Gegebenheiten verkomplizieren das Problem sehr<br />

• fine quantization assumption (Annahme) :<br />

Quantisierungsschritte so klein, dass wir ˆxn durch xn ersetzen koennen<br />

→ pn = f(xn−1, xn−2, . . . , x0)<br />

• weitere Annahme : wir legen fest, dass die Predictor Funktion linear ist<br />

→ p(n) = N<br />

ai ∗ xn−i<br />

i=1<br />

N spezifiziert die Ordnung des Predictors<br />

• finde {ai} fuer die Minimierung von σ 2 d<br />

σ 2 d = E[(xn − N<br />

ai ∗ xn−i)<br />

i=1<br />

2 ]<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 16


DPCM Prediction ff<br />

• man nehme den <strong>Differential</strong>quotienten von σ 2 d bzgl. ai und setze ihn 0<br />

δσ 2 d<br />

δa1 = −2E[(xn − N<br />

δσ 2 d<br />

δa2 = −2E[(xn − N<br />

.<br />

δσ 2 d<br />

δa N = −2E[(xn − N<br />

ai ∗ xn−i)xn−1] = 0<br />

i=1<br />

ai ∗ xn−i)xn−2] = 0<br />

i=1<br />

ai ∗ xn−i)xn−N] = 0<br />

i=1<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 17


DPCM Prediction ff<br />

• man nehme den <strong>Differential</strong>quotienten von σ 2 d bzgl. ai und setze ihn 0<br />

δσ 2 d<br />

δa1 = −2E[(xn − N<br />

δσ 2 d<br />

δa2 = −2E[(xn − N<br />

.<br />

δσ 2 d<br />

δa N = −2E[(xn − N<br />

ai ∗ xn−i)xn−1] = 0<br />

i=1<br />

ai ∗ xn−i)xn−2] = 0<br />

i=1<br />

ai ∗ xn−i)xn−N] = 0<br />

i=1<br />

• dies laesst sich umschreiben zu<br />

N<br />

i=1<br />

N<br />

i=1<br />

. N<br />

i=1<br />

aiRxx(i − 1) = Rxx(1)<br />

aiRxx(i − 2) = Rxx(2)<br />

aiRxx(i − N) = Rxx(N)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 17


DPCM Prediction ff<br />

• wobei Rxx(k) die Autokorrelationsfunktion von xn ist<br />

Rxx(k) = E[xnxn+k]<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 18


DPCM Prediction ff<br />

• wobei Rxx(k) die Autokorrelationsfunktion von xn ist<br />

Rxx(k) = E[xnxn+k]<br />

• man schreibe diese Gleichungen in Matrixform als<br />

RA = P<br />

⎛<br />

⎜<br />

R = ⎜<br />

⎝<br />

Rxx(0)<br />

Rxx(1)<br />

Rxx(2)<br />

.<br />

Rxx(1)<br />

Rxx(0)<br />

Rxx(1)<br />

.<br />

Rxx(2)<br />

Rxx(1)<br />

Rxx(0)<br />

. . .<br />

. . .<br />

. . .<br />

Rxx(N − 1)<br />

Rxx(N − 2)<br />

Rxx(N − 3)<br />

Rxx(N − 1) Rxx(N − 2) Rxx(N − 3) . . . Rxx(0)<br />

A =<br />

⎛<br />

⎜<br />

⎝<br />

a1<br />

a2<br />

a3<br />

.<br />

aN<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎟ ⎜<br />

⎟ P = ⎜<br />

⎠ ⎝<br />

Rxx(1)<br />

Rxx(2)<br />

Rxx(3)<br />

.<br />

Rxx(N)<br />

⎞<br />

⎟<br />

⎠<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 18<br />

⎞<br />

⎟<br />


DPCM Prediction ff<br />

• man beachte den Fakt, dass Rxx(−k) = Rxx(k)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 19


DPCM Prediction ff<br />

• man beachte den Fakt, dass Rxx(−k) = Rxx(k)<br />

• kennt man die Autokorrelationswerte {Rxx(1)}, so findet man die Predictor<br />

Koeffizienten als<br />

A = R −1 P<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 19


Bsp. Prediction<br />

• fuer eine Sprachsequenz ist ein Predictor gesucht<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 20


Bsp. Prediction<br />

• fuer eine Sprachsequenz ist ein Predictor gesucht<br />

• man schaetze die Autokorrelationswerte in Abhaengigkeit von den Daten<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 20


Bsp. Prediction<br />

• fuer eine Sprachsequenz ist ein Predictor gesucht<br />

• man schaetze die Autokorrelationswerte in Abhaengigkeit von den Daten<br />

• geg. seien M Datenpunkte, man benutze folgenden Durchschnitt um die Werte<br />

fuer Rxx(k) zu finden<br />

M−k <br />

Rxx(k) = 1<br />

M−k<br />

i=1<br />

xixi+k<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 20


Bsp. Prediction<br />

• fuer eine Sprachsequenz ist ein Predictor gesucht<br />

• man schaetze die Autokorrelationswerte in Abhaengigkeit von den Daten<br />

• geg. seien M Datenpunkte, man benutze folgenden Durchschnitt um die Werte<br />

fuer Rxx(k) zu finden<br />

M−k <br />

Rxx(k) = 1<br />

M−k<br />

i=1<br />

xixi+k<br />

• mit diesen Autokorrelationswerten erhaelt man folgende Koeffizienten fuer drei<br />

verschiedene Predictoren<br />

− fuer N = 1 → a1 = 0.66<br />

− fuer N = 2 → a1 = 0.596, a2 = 0.096<br />

− fuer N = 3 → a1 = 0.577, a2 = −0.025, a3 = 0.204<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 20


Bsp. Prediction ff<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 21


• einfacher Fall des DPCM<br />

Delta Modulation (DM)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 22


• einfacher Fall des DPCM<br />

Delta Modulation (DM)<br />

• DM kann betrachtet werden als ein DPCM System mit einem 1 Bit Quantisierer<br />

( Quantisierer auf zwei Stufen reduziert )<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 22


• einfacher Fall des DPCM<br />

Delta Modulation (DM)<br />

• DM kann betrachtet werden als ein DPCM System mit einem 1 Bit Quantisierer<br />

( Quantisierer auf zwei Stufen reduziert )<br />

• der digetale Quantisierer kennt nur zwei Aussagen :<br />

− ob der vorhergesagte Wert groesser (logisch ’1’) ist als der abgetastete<br />

− ob der vorhergesagte Wert kleiner (logisch ’0’) ist als der abgetastete<br />

• formal wird der Deltamodulator wie folgt beschrieben<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 22


• einfacher Fall des DPCM<br />

Delta Modulation (DM)<br />

• DM kann betrachtet werden als ein DPCM System mit einem 1 Bit Quantisierer<br />

( Quantisierer auf zwei Stufen reduziert )<br />

• der digetale Quantisierer kennt nur zwei Aussagen :<br />

− ob der vorhergesagte Wert groesser (logisch ’1’) ist als der abgetastete<br />

− ob der vorhergesagte Wert kleiner (logisch ’0’) ist als der abgetastete<br />

• formal wird der Deltamodulator wie folgt beschrieben<br />

dn ≤ 0 → cn = ∆<br />

dn ≥ 0 → cn = −∆<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 22


Delta Modulation (DM) ff<br />

• Quantisierungsschrittweite ist auf einen bestimmten Wert begrenzt<br />

• moeglich, dass bei grossen Steigungen des Eingangssignals xn das Signal ˆxn<br />

nicht mehr folgen kann<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 23


Delta Modulation (DM) ff<br />

• Quantisierungsschrittweite ist auf einen bestimmten Wert begrenzt<br />

• moeglich, dass bei grossen Steigungen des Eingangssignals xn das Signal ˆxn<br />

nicht mehr folgen kann<br />

• es entsteht eine Steigungsueberlastung ( slope overload )<br />

(Effekt tritt auch bei stark fallendem Signal ein)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 23


Delta Modulation (DM) ff<br />

• Quantisierungsschrittweite ist auf einen bestimmten Wert begrenzt<br />

• moeglich, dass bei grossen Steigungen des Eingangssignals xn das Signal ˆxn<br />

nicht mehr folgen kann<br />

• es entsteht eine Steigungsueberlastung ( slope overload )<br />

(Effekt tritt auch bei stark fallendem Signal ein)<br />

• waehrend des slope overload produziert der Quantisierer eine Folge gleicher<br />

Bits<br />

(entweder lauter ’1’ bei steigender Flanke oder lauter ’0’ bei fallender Flanke)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 23


Delta Modulation (DM) ff<br />

• Quantisierungsschrittweite ist auf einen bestimmten Wert begrenzt<br />

• moeglich, dass bei grossen Steigungen des Eingangssignals xn das Signal ˆxn<br />

nicht mehr folgen kann<br />

• es entsteht eine Steigungsueberlastung ( slope overload )<br />

(Effekt tritt auch bei stark fallendem Signal ein)<br />

• waehrend des slope overload produziert der Quantisierer eine Folge gleicher<br />

Bits<br />

(entweder lauter ’1’ bei steigender Flanke oder lauter ’0’ bei fallender Flanke)<br />

• diese Steigungsueberlastung bleibt solange bestehen, bis die steigung des<br />

Eingangsignals xn wieder kleiner wird, s.d. ˆxn wieder genauso gross wie xn<br />

werden kann<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 23


• weiterer Nachteil :<br />

Delta Modulation (DM) ff<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 24


• weiterer Nachteil :<br />

Delta Modulation (DM) ff<br />

• wenn das Eingangssignal sich nur geringfuegig aendert<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 24


• weiterer Nachteil :<br />

Delta Modulation (DM) ff<br />

• wenn das Eingangssignal sich nur geringfuegig aendert<br />

• aufgrund der groben Quantisierung schwankt dann das Naeherungssignal<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 24


• weiterer Nachteil :<br />

Delta Modulation (DM) ff<br />

• wenn das Eingangssignal sich nur geringfuegig aendert<br />

• aufgrund der groben Quantisierung schwankt dann das Naeherungssignal<br />

• Quantisierer gibt alternierende Bitfolge aus (granulares Rauschen)<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 24


• weiterer Nachteil :<br />

Delta Modulation (DM) ff<br />

• wenn das Eingangssignal sich nur geringfuegig aendert<br />

• aufgrund der groben Quantisierung schwankt dann das Naeherungssignal<br />

• Quantisierer gibt alternierende Bitfolge aus (granulares Rauschen)<br />

• in einer relativ konstanten Region verkleinert man die Schrittweite zur<br />

Verringerung des granular noise<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 24


• weiterer Nachteil :<br />

Delta Modulation (DM) ff<br />

• wenn das Eingangssignal sich nur geringfuegig aendert<br />

• aufgrund der groben Quantisierung schwankt dann das Naeherungssignal<br />

• Quantisierer gibt alternierende Bitfolge aus (granulares Rauschen)<br />

• in einer relativ konstanten Region verkleinert man die Schrittweite zur<br />

Verringerung des granular noise<br />

• in Regionen mit starkem Steigen/Fallen vergroessert man die Schrittweite zur<br />

Verringerung des slope overloads<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 24


Abtastung bei DM<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 25


Ende<br />

• Literatur :<br />

− Introduction to data kompression, Khalid Seayood<br />

Matthias Moeser, <strong>Seminar</strong> Datenkompression <strong>2002</strong>, MLU Halle ❂ 75 75▲ ▼ 75 75 26

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!