Seminar Differential Encoding 2002
Seminar Differential Encoding 2002
Seminar Differential Encoding 2002
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