C:/Dokumente und Einstellungen/Engel/Eigene Dateien ... · FFT Schnelle Fourier Transformation...
Transcript of C:/Dokumente und Einstellungen/Engel/Eigene Dateien ... · FFT Schnelle Fourier Transformation...
Universität Erlangen-Nürnberg
Lehrstuhl für Multimediakommunikation und
Signalverarbeitung
Prof. Dr.-Ing. André Kaup
Diplomarbeit
Dreidimensionale frequenzselektive
Extrapolation und ihre Anwendung in der
Videokommunikation
von Sandra Martin
Dezember 2005
Betreuerin: Dipl.-Ing. Katrin Meisinger
Erklärung
Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer
als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder
ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen hat und von dieser
als Teil einer Prüfungsleistung angenommen wurde. Alle Ausführungen, die wörtlich
oder sinngemäß übernommen wurden, sind als solche gekennzeichnet.
Sandra Martin Erlangen, den 23.Dezember 2005
Zum Flughafen 25
91074 Herzogenaurach
Inhaltsverzeichnis
Zusammenfassung IV
Abkürzungen V
Formelzeichen VII
Abbildungsverzeichnis X
Tabellenverzeichnis XIII
1 Einleitung 1
2 Grundlagen zur Videocodierung 3
2.1 Bewegungskompensierte Prädiktion . . . . . . . . . . . . . . . . . . . 3
2.2 Hybride Videocodierung . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Algorithmen zur zeitlichen Fehlerverschleierung 8
3.1 „Temporal Blockreplacement“ Algorithmus . . . . . . . . . . . . . . . 9
3.2 „Boundary Matching“ Algorithmus . . . . . . . . . . . . . . . . . . . 10
3.2.1 „Extended Boundary Matching“ Algorithmus . . . . . . . . . . 12
3.2.2 „Boundary Matching“ Algorithmus und „Mesh-Based Warping“ 12
3.2.3 „Multiframe Recovery“ Prinzip . . . . . . . . . . . . . . . . . . 13
3.3 „Decoder Motion-Vector Estimation“ Algorithmus . . . . . . . . . . . 14
3.4 Bewegungsfeldinterpolation . . . . . . . . . . . . . . . . . . . . . . . 15
I
INHALTSVERZEICHNIS
4 Dreidimensionale frequenzselektive Extrapolation 17
4.1 Sukzessive Approximation . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.1 Zweidimensionale Signalextrapolation . . . . . . . . . . . . . . 18
4.1.2 Erweiterung für dreidimensionale Signale . . . . . . . . . . . . 21
4.2 Herleitung im Ortsbereich . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.1 Berechnung der Koeffizienten . . . . . . . . . . . . . . . . . . 23
4.2.2 Auswahl der Basisfunktionen . . . . . . . . . . . . . . . . . . 27
4.3 Frequenzbereichsdarstellung . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Gewichtung des Fehlermaßes . . . . . . . . . . . . . . . . . . . . . . . 36
5 Anwendung des Verfahrens zur Fehlerverschleierung 41
5.1 Messung der objektiven Bildqualität (PSNR) . . . . . . . . . . . . . . 41
5.2 Parameterwahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.1 Abbruchkriterium . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.2 Anzahl verwendeter Bilder . . . . . . . . . . . . . . . . . . . . 50
5.2.3 FFT Größe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2.4 Gewichtungsfunktion . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.5 Approximationsregion . . . . . . . . . . . . . . . . . . . . . . 55
5.3 Ergebnisse für uncodierte Bilder . . . . . . . . . . . . . . . . . . . . . 56
5.4 Vergleich mit Referenzalgorithmen . . . . . . . . . . . . . . . . . . . . 64
6 Integration des Verfahrens in den H.264 Decoder 70
6.1 Besonderheiten des H.264 Codecs . . . . . . . . . . . . . . . . . . . . 71
6.1.1 Zerlegung der Daten . . . . . . . . . . . . . . . . . . . . . . . 72
6.1.2 Bildtypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.3 Intra-Prädiktion . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.4 Inter-Prädiktion . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1.5 Transformation und Quantisierung . . . . . . . . . . . . . . . 76
6.1.6 Rekonstruktionsfilter . . . . . . . . . . . . . . . . . . . . . . . 76
6.1.7 Entropiecodierung . . . . . . . . . . . . . . . . . . . . . . . . 77
6.1.8 Profile und Level . . . . . . . . . . . . . . . . . . . . . . . . . 77
II
INHALTSVERZEICHNIS
6.2 Fehlerverschleierung im H.264 Decoder . . . . . . . . . . . . . . . . . 79
6.2.1 Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2.2 Verschleierungsverfahren in der Referenzsoftware . . . . . . . . 80
6.3 Realisierung des neuen Verfahrens im H.264 . . . . . . . . . . . . . . 81
6.4 Simulation und Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . 82
6.4.1 Ergebnisse für intercodierte Bilder . . . . . . . . . . . . . . . . 83
6.4.2 Ergebnisse für intracodierte Bilder . . . . . . . . . . . . . . . 92
6.4.3 Schlussfolgerungen . . . . . . . . . . . . . . . . . . . . . . . . 93
7 Anwendung des Verfahrens zur Prädiktion 97
7.1 Durchführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.2 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8 Abschließende Betrachtungen 109
A Diagramme zur Parameterwahl für Zeilenverluste 112
B Zusätzliche Ergebnisse für uncodierte Bilder 119
C Verschleierung von intercodierten Bildern 130
D Verschleierung von intracodierten Bildern 135
III
Zusammenfassung
In dieser Arbeit wird ein frequenzselektives Extrapolationsverfahren für dreidimen-
sionale Signale hergeleitet. Die Extrapolation setzt ein Signal über einen bekann-
ten Ausschnitt an Abtastwerten hinweg möglichst gleichmäßig fort. Ein bereits ent-
wickeltes Verfahren erlaubt die frequenzselektive Extrapolation von zweidimensio-
nalen Signalen. Als zeitliche Erweiterung der zweidimensionalen Extrapolation stellt
der dreidimensionale Ansatz ein kombiniertes örtlich - zeitliches Verfahren dar. In
der Videokommunikation spielt die Signalextrapolation in vielen Anwendungen eine
wichtige Rolle. Da beispielsweise die durch Kanalstörungen auftretenden Übertra-
gungsfehler zu einer erheblichen Verschlechterung der Bildqualität führen, ist es
notwendig, im Empfänger die verloren gegangenen Bildbereiche durch ein geeignetes
Verfahren möglichst gut zu schätzen. Im Rahmen dieser Arbeit wird das dreidimen-
sionale Extrapolationsverfahren für diese Anwendung ausführlich analysiert. Dabei
werden bekannte Signalwerte sowohl aus örtlicher als auch zeitlicher Richtung durch
eine gewichtete Linearkombination von Basisfunktionen approximiert und in den un-
bekannten Bildbereich extrapoliert. Nach zahlreichen Auswertungen für uncodierte
Sequenzen wird das Verfahren im neuen Videocodierungsstandard H.264 getestet.
Neben der Verschleierung verloren gegangener Bildbereiche kann die dreidimensio-
nale Signalextrapolation auch zur Prädiktion von Bildsignalen eingesetzt werden.
Unter der Annahme, dass in Bildsequenzen zwischen aufeinander folgenden Bildern
große Ähnlichkeit besteht, wird in heutigen Videocodierungsverfahren die blockba-
sierte Bewegungskompensation zur Redundanzreduktion verwendet. In dieser Arbeit
wird untersucht, ob die dreidimensionale Signalextrapolation zur Prädiktion geeig-
net ist und eine Alternative zur blockbasierten Bewegungskompensation darstellt.
IV
Abkürzungen
Abb. Abbildung
ASO Arbitrary Slice Ordering
AR Autoregressiv
AVC Advanced Video Codec
bzw. beziehungsweise
BER Bitfehlerrate (Bit Error Rate)
BMA „Boundary Matching“ Algorithmus
CIF Common Intermediate Format
DCT Diskrete Cosinus Transformation
DFT Diskrete Fourier Transformation
DVB-T Digital Video Broadcasting - Terrestrial
d.h. das heißt
DMVA „Decoder Motion-Vector“ Algorithmus
DP Data Partitioning
EBMA „Extended Boundary Matching“ Algorithmus
FFT Schnelle Fourier Transformation (Fast Fourier Transform)
FMO Flexible Macroblock Ordering
Gl. Gleichung
HDTV High Definition Television
IDFT Inverse Diskrete Fourier Transformation
IEC International Electrotechnical Commission
ISDN Integrated Services Digital Network
V
ABKÜRZUNGEN
ISO International Organization for Standardization
ITU International Telecommunication Union
ITU-T ITU Telecommunication Standardization Sector
JPEG Joint Photographics Experts Group
MBW “Mesh-Based Warping“
MFI-BM „Motion Field Interpolation“ - „Boundary Matching“
MPEG Motion Picture Experts Group
MTU Maximum Transfer Unit
NAL Network Abstraction Layer
PSNR Signal-Rauschabstand (Peak Signal to Noise Ratio)
QP Quantisierungsparameter
RS Redundant Slices
s. siehe
sog. sogenannte
SAD Summe absoluter Differenzen
Tab. Tabelle
TV Television
UDP/IP Internet User Datagram Protocol/Internet Protocol
VCL Video Coding Layer
VLC Variable Length Coding
vgl. vergleiche
z.B. zum Beispiel
VI
Formelzeichen
L betrachteter Bildbereich
A Bereich bekannter, informationstragender Pixel
B unbekannter Bildbereich
m Zeilenindex
n Spaltenindex
t Zeitindex
M×N Blockgröße (Höhe×Breite)
T Anzahl der verwendeten Bilder
NB Anzahl der Bildpunkte im Bereich B
f [m,n] zweidimensionales Originalsignal
f [m,n, t] dreidimensionales Originalsignal
g[m,n] parametrisches Modell der zweidimensionalen sukzessiven
Approximation
g[m,n, t] parametrisches Modell der dreidimensionalen sukzessiven
Approximation
ϕk,l[m,n] 2D DFT Basisfunktion
ϕk,l,p[m,n, t] 3D DFT Basisfunktion
(k, l) allgemeiner Index der 2D DFT Basisfunktionen
(k, l, p) allgemeiner Index der 3D DFT Basisfunktionen
(u, v) Index der ausgewählten 2D DFT Basisfunktionen
(u, v, w) Index der ausgewählten 3D DFT Basisfunktionen
K Menge der verwendeten Basisfunktionen
VII
FORMELZEICHEN
ck,l komplexer Erweiterungskoeffizient für die zweidimensionale
Extrapolation
ck,l,p komplexer Erweiterungskoeffizient für die dreidimensionale
Extrapolation
NV Anzahl vorheriger Bilder
NN Anzahl nachfolgender Bilder
E(ν)A Fehlermaß bezogen auf den Bereich A nach ν Iterationsschritten
w[m,n] zweidimensionale Gewichtungsfunktion der Restfehlerenergie
w[m,n, t] dreidimensionale Gewichtungsfunktion der Restfehlerenergie
b[m,n] zweidimensionale Fensterfunktion (informationstragende Pixel)
b[m,n, t] dreidimensionale Fensterfunktion (informationstragende Pixel)
r(ν)[m,n] zweidimensionales Restfehlersignal nach ν Iterationen
r(ν)[m,n, t] dreidimensionales Restfehlersignal nach ν Iterationen
r(ν)w [m,n] gewichtetes zweidimensionales Restfehlersignal nach ν
Iterationen
r(ν)w [m,n, t] gewichtetes dreidimensionales Restfehlersignal nach ν
Iterationen
∆g[m,n] Änderung des zweidimensionalen parametrischen Modells
(von ν auf ν + 1)
∆g[m,n, t] Änderung des dreidimensionalen parametrischen Modells
(von ν auf ν + 1)
∆c Änderung der Erweiterungskoeffizienten (von ν auf ν + 1)
∆E(ν)A Änderung des Fehlermaßes (von ν auf ν + 1)
W [k, l] 2D-DFT der Gewichtungsfunktion (diskretes Spektrum)
W [k, l, p] 3D-DFT der Gewichtungsfunktion (diskretes Spektrum)
R(ν)[k, l] zweidimensionales Spektrum des Restfehlers nach ν Iterationen
R(ν)[k, l, p] dreidimensionales Spektrum des Restfehlers nach ν Iterationen
R(ν)w [k, l] zweidimensionales Spektrum des gewichteten Restfehlers nach ν
Iterationen
VIII
FORMELZEICHEN
R(ν)w [k, l, p] dreidimensionales Spektrum des gewichteten Restfehlers nach ν
Iterationen
IDFT {G[k, l]} inverse 2D-DFT des Spektrums der parametrischen Nachbildung
IDFT {G[k, l, p]} inverse 3D-DFT des Spektrums der parametrischen Nachbildung
wisotrop[m,n] Amplitudenwerte des 2D isotropen Korrelationsmodells
wisotrop[m,n, t] Amplitudenwerte des 3D isotropen Korrelationsmodells
ρ Korrelationskoeffizient einer isotropen AR-Gewichtungsfunktion
µY Mittelwert der Y-Komponente
µU Mittelwert der U-Komponente
µV Mittelwert der V-Komponente
σY Standardabweichung der Y-Komponente
σU Standardabweichung der U-Komponente
σV Standardabweichung der V-Komponente
IX
Abbildungsverzeichnis
2.1 Blockbasierte Bewegungsschätzung . . . . . . . . . . . . . . . . . . . 4
2.2 Bildcodierungstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Bewegungskompensierter Hybrid-Coder/Decoder . . . . . . . . . . . . 7
3.1 Anpassungsbereich beim BMA Algorithmus . . . . . . . . . . . . . . 11
3.2 Anpassungsbereich beim DMVE Algorithmus . . . . . . . . . . . . . 15
4.1 Sukzessive Approximation 2D . . . . . . . . . . . . . . . . . . . . . . 19
4.2 DCT und DFT Basisbilder . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Sukzessive Approximation 3D . . . . . . . . . . . . . . . . . . . . . . 22
4.4 Orthogonale Projektion . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5 Suchraum für 2D-DFT Basisfunktionen . . . . . . . . . . . . . . . . . 28
4.6 Suchraum für 3D-DFT Basisfunktionen . . . . . . . . . . . . . . . . . 30
4.7 Flussdiagramm der dreidimensionalen frequenzselektiven Extrapolation 35
4.8 Isotropes Korrelationsmodell . . . . . . . . . . . . . . . . . . . . . . . 38
4.9 2D isotrope AR Funktion . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.10 3D isotrope AR Funktion . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.1 Block- und Zeilenverluste . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 Verwendete Sequenzen . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 PSNR-Messwerte in Abhängigkeit der maximalen Anzahl an Iterationen
(Blockverluste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.4 PSNR-Messwerte in Abhängigkeit des Schwellwertes Emin (Blockver-
luste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
X
ABBILDUNGSVERZEICHNIS
5.5 PSNR-Messwerte in Abhängigkeit der Anzahl verwendeter Bilder (Block-
verluste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.6 PSNR-Messwerte in Abhängigkeit der FFT-Länge (Blockverluste) . . 52
5.7 PSNR-Messwerte in Abhängigkeit des Korrelationskoeffizienten (Block-
verluste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.8 Ergebnisbilder für die „Flowergarden“-Sequenz . . . . . . . . . . . . . 57
5.9 Ergebnisbilder für die „Crew“-Sequenz . . . . . . . . . . . . . . . . . . 58
5.10 Veränderung des parametrischen Modells mit der Anzahl an Iterationen 59
5.11 Ausschnitt aus der „Flowergarden“-Sequenz für verschiedene Schwell-
werte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.12 Ausschnitt aus der „Crew“-Sequenz für verschiedene Schwellwerte . . . 61
5.13 Vergleich mit Referenzverfahren: Blockverluste bei „Flowergarden“ . . 68
5.14 Vergleich mit Referenzverfahren: Blockverluste bei „Crew“ . . . . . . 69
6.1 Flexible Macroblock Ordering . . . . . . . . . . . . . . . . . . . . . . 73
6.2 H.264 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.3 Zustände der Makroblöcke . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4 Bild 63 aus der Sequenz „Crew“ . . . . . . . . . . . . . . . . . . . . . 87
6.5 Bild 53 aus der Sequenz „Vimto“ . . . . . . . . . . . . . . . . . . . . . 88
6.6 Bild 14 aus der Sequenz „Kanu“ . . . . . . . . . . . . . . . . . . . . . 90
6.7 Bild 33 aus der Sequenz „Fast Food“ . . . . . . . . . . . . . . . . . . 91
6.8 Bild 3 aus der Sequenz „Kanu“ . . . . . . . . . . . . . . . . . . . . . . 94
6.9 Bild 8 aus der Sequenz „Fast Food“ . . . . . . . . . . . . . . . . . . . 95
7.1 Bearbeitungsreihenfolge der Makroblöcke . . . . . . . . . . . . . . . . 99
7.2 Prädizierte Bilder: Sequenz „Flowergarden“ . . . . . . . . . . . . . . . 105
7.3 Histogramm über Differenzwerte. Sequenz: ’Flowergarden“ . . . . . . 105
7.4 Prädizierte Bilder: Sequenz „Crew“ . . . . . . . . . . . . . . . . . . . 106
7.5 Histogramm über Differenzwerte. Sequenz: “Crew“ . . . . . . . . . . . 106
7.6 Prädizierte Bilder: Sequenz „Foreman“ . . . . . . . . . . . . . . . . . 107
7.7 Histogramm über Differenzwerte. Sequenz: “Foreman“ . . . . . . . . . 107
XI
ABBILDUNGSVERZEICHNIS
7.8 Prädizierte Bilder: Sequenz „Table Tennis“ . . . . . . . . . . . . . . . 108
7.9 Histogramm über Differenzwerte. Sequenz: “Table Tennis“ . . . . . . 108
A.1 PSNR-Messwerte in Abhängigkeit der maximalen Anzahl an Iterationen
(Zeilenverluste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A.1 PSNR-Messwerte in Abhängigkeit des Schwellwertes Emin (Zeilenver-
luste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.2 PSNR-Messwerte in Abhängigkeit der Anzahl verwendeter Bilder (Zeilen-
verluste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
A.3 PSNR-Messwerte in Abhängigkeit der FFT-Länge (Zeilenverluste) . . 117
A.4 PSNR-Messwerte in Abhängigkeit des Korrelationskoeffizienten (Zeilen-
verluste) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
B.1 Ergebnisbilder für die „Foreman“-Sequenz . . . . . . . . . . . . . . . . 120
B.2 Ergebnisbilder für die „Table Tennis“-Sequenz . . . . . . . . . . . . . 121
B.3 Ausschnitt aus der „Foreman“-Sequenz für verschiedene Schwellwerte . 122
B.4 Ausschnitt aus der „Table Tennis“-Sequenz für verschiedene Schwell-
werte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
B.5 Vergleich mit Referenzverfahren: Blockverluste bei „Foreman“ . . . . 124
B.6 Vergleich mit Referenzverfahren: Blockverluste bei „Table Tennis“ . . 125
B.7 Vergleich mit Referenzverfahren: Zeilenverluste bei „Flowergarden“ . . 126
B.8 Vergleich mit Referenzverfahren: Zeilenverluste bei „Foreman“ . . . . 127
B.9 Vergleich mit Referenzverfahren: Zeilenverluste bei „Table Tennis“ . . 128
B.10 Vergleich mit Referenzverfahren: Zeilenverluste bei „Crew“ . . . . . . 129
C.1 Bild 29 aus der Sequenz „Crew“ . . . . . . . . . . . . . . . . . . . . . 131
C.2 Bild 37 aus der Sequenz „Crew“ . . . . . . . . . . . . . . . . . . . . . 132
C.3 Bild 8 aus der Sequenz „Kanu“ . . . . . . . . . . . . . . . . . . . . . . 133
C.4 Bild 43 aus der Sequenz „Fast Food“ . . . . . . . . . . . . . . . . . . 134
D.1 Bild 5 aus der Sequenz „Kanu“ . . . . . . . . . . . . . . . . . . . . . . 136
D.2 Bild 4 aus der Sequenz „Fast Food“ . . . . . . . . . . . . . . . . . . . 137
XII
Tabellenverzeichnis
5.1 PSNR-Messwerte in Abhängigkeit des Korrelationsmodells und des
Korrelationskoeffizienten. . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2 PSNR-Werte für verschiedene Parametersets (Blockverluste) . . . . . 62
5.3 Vergleich der PSNR-Werte mit und ohne Bewegungskompensation . . 63
5.4 Vergleich der PSNR-Werte verschiedener Verschleierungsverfahren . . 67
6.1 Auswertungen für intercodierte Sequenzen im CIF-Format . . . . . . 86
6.2 Auswertungen für intercodierte Sequenzen im PAL-Format . . . . . . 89
6.3 Auswertungen für intracodierte Sequenzen im PAL-Format . . . . . . 93
7.1 Prädiktionergebnisse für „Flowergarden“ und „Crew“ . . . . . . . . . . 103
7.2 Prädiktionsergebnisse für „Foreman“ und „Table Tennis“ . . . . . . . 104
B.1 PSNR-Werte für verschiedene Parametersets (Zeilenverluste) . . . . . 122
XIII
Kapitel 1
Einleitung
Um den wachsenden Anforderungen moderner Multimedia-Anwendungen gerecht zu
werden, muss eine fehlerfreie Übertragung von digitalen Bild- und Videodaten über
verschiedenste Kommunikationskanäle gewährleistet werden. Durch Redundanz- und
Irrelevanzreduktion komprimierte Daten sind besonders anfällig für Übertragungs-
fehler. Obwohl heutige Videokompressionsstandards über eine Vielzahl von Mecha-
nismen zur Erzeugung eines fehlerrobusten Datenstroms verfügen, treten dennoch
bei der Übertragung über mobile Kanäle oder das Internet häufig hohe Fehlerraten
auf. Im Decoder wird durch Fehlerverschleierungsverfahren versucht, die verloren
gegangene Information aus fehlerfrei übertragener Information zu rekonstruieren.
Ein möglicher Ansatz besteht darin, die verloren gegangenen Bildbereiche durch
Signalextrapolation aus den umliegenden, korrekt empfangenen Bilddaten zu schät-
zen. Durch Extrapolation wird ein Signal über einen bekannten Ausschnitt an Ab-
tastwerten hinweg möglichst gleichmäßig fortgesetzt. Ein bereits am Lehrstuhl für
Multimediakommunikation und Signalverarbeitung (LMS) entwickelter Algorithmus
erlaubt die frequenzselektive Extrapolation von zweidimensionalen Daten.
Im Rahmen dieser Arbeit soll ein geeigneter Ansatz zur Extrapolation dreidimensio-
naler Signale hergeleitet werden. Die Signalextrapolation spielt in der Videokommu-
nikation für verschiedenste Zwecke eine große Rolle. Es sollen zwei Anwendungsfälle
der dreidimensionalen Signalextrapolation untersucht werden, zum einen die Fehler-
verschleierung und zum anderen die Prädiktion.
1
KAPITEL 1. EINLEITUNG
Eine kurze Einführung zu den Grundlagen der Videocodierung, die für das Ver-
ständnis der Arbeit erforderlich sind, erfolgt in Kapitel 2.
In Kapitel 3 werden zu Beginn die Fehlerverschleierungsverfahren in drei Kategorien
eingeteilt: örtliche, zeitliche und hybride Verfahren. Das bereits existierende zwei-
dimensionale Verfahren wird zur örtlichen Fehlerverschleierung eingesetzt. Da die
dreidimensionale Signalextrapolation eine zeitliche Erweiterung der zweidimensio-
nalen Extrapolation darstellt, wird für die zeitlichen Fehlerverschleierungsverfahren
in diesem Kapitel der Stand der Technik erläutert.
Zu Beginn des 4. Kapitels wird das Prinzip der zweidimensionalen Extrapolation
beschrieben und anschließend für dreidimensionale Signale erweitert. Die Herleitung
wird sowohl im Ortsbereich als auch im Frequenzbereich durchgeführt.
Im 5. Kapitel wird die Anwendung der dreidimensionalen Signalextrapolation zur
Fehlerverschleierung uncodierter Sequenzen erörtert. Dabei wird zunächst anhand
zahlreicher Auswertungen die Wahl geeigneter Parameter diskutiert. Anschließend
werden Ergebnisse präsentiert, bei denen Block- und Zeilenverluste mit der drei-
dimensionalen frequenzselektiven Extrapolation verschleiert wurden. Diese werden
am Ende des Kapitels mit den Ergebnissen von Referenzalgorithmen verglichen.
Kapitel 6 stellt in den ersten beiden Abschnitten den neuen Videokompressions-
standard H.264 vor. Dabei wird auf dessen Besonderheiten bezüglich Prädiktion,
Transformation, Codierung und Fehlerrobustheit eingegangen und das in der Refe-
renzsoftware JM93 implementierte Verfahren zur Fehlerverschleierung beschrieben.
Der dritte Abschnitt dieses Kapitels befasst sich mit der Realisierung der dreidimen-
sionalen Signalextrapolation im H.264 Decoder und der vierte Abschnitt stellt die
Verschleierungsergebnisse vor, die mit diesem Verfahren erzielt werden können.
In Kapitel 7 wird die Anwendung des Extrapolationsverfahrens zur Prädiktion dis-
kutiert und die damit erzielten Ergebnisse werden mit den Ergebnissen der block-
basierten Bewegungskompensation verglichen.
Kapitel 8 fasst die Erkenntnisse dieser Arbeit zusammen und gibt einen Ausblick
auf weiterführende Untersuchungen.
2
Kapitel 2
Grundlagen zur Videocodierung
In diesem Kapitel werden kurz einige Grundlagen zur Videocodierung erklärt, die
zum Verständnis der vorliegenden Arbeit notwendig sind. Hierbei wird besonders
auf die bewegungkompensierte Prädiktion eingegangen, die bei der Videocodierung
zur Redundanzreduktion eingesetzt wird.
2.1 Bewegungskompensierte Prädiktion
Die bewegungskompensierte Prädiktion ist ein zentraler Bestandteil heutiger Video-
codierungsverfahren. Dabei wird die Tatsache ausgenutzt, dass in Bildsequenzen
zwischen aufeinander folgenden Bildern große Ähnlichkeit besteht. Mit Ausnahme
von Szenenwechseln setzen sich Bilddetails von einem Bild zum nächsten fort. Bei
der bewegungskompensierten Prädiktion geht man davon aus, dass Bewegungen von
einem Bild zum nächsten durch Verschiebungen von Bildblöcken beschrieben werden
können. Dazu werden die Bilddaten in Blöcke der Größe 16× 16 Bildpunkte zerlegt
und für jeden dieser Makroblöcke wird die Bewegung von einem Bild zum nächsten
geschätzt. Als Prädiktionsblock wird derjenige ausgewählt, für den man die beste
Übereinstimmung und somit den kleinsten Prädiktionsfehler (minimale Verzerrung)
zum Block im aktuellen Bild erhält. Die Verschiebung eines Blockes in x- und y-
Richtung wird durch einen Bewegungsvektor beschrieben. Dieser Bewegungsvektor
gibt die relative Position des Prädiktionsblockes zur Position des aktuellen Blockes
3
KAPITEL 2. GRUNDLAGEN ZUR VIDEOCODIERUNG
Referenzbild aktuelles Bild
Bewegungsvektor
Prädiktionsblock
aktueller Block
Abbildung 2.1: Blockbasierte Bewegungsschätzung: Der Bewegungsvektor gibt die re-
lative Position des Prädiktionsblockes zur Position des aktuellen Blockes an.
an (vgl. Abb. 2.1). Ein mögliches Maß für den Prädiktionsfehler ist der mittlere
quadratische Abstand, d.h. die Summe der Quadrate der Differenzen aller Intensi-
tätswerte der beiden betrachteten Blöcke. Subtrahiert man nun das prädizierte Bild
vom aktuellen Bild entsteht ein Fehlerbild, das zusammen mit den Bewegungsvek-
toren codiert und gespeichert wird.
2.2 Hybride Videocodierung
Die modernen Videocodecs wie MPEG-2 oder MPEG-4 Part 10 Advanced Video Co-
ding (AVC), auch bekannt als H.264 Standard, gehören zu der Gruppe der Hybrid-
Coder. Sie kombinieren eine bewegungskompensierte zeitliche Prädiktion mit an-
schließender räumlicher blockweiser Transformation des zu übertragenden Signals.
Voraussetzung für diesen Ansatz ist der Aufbau einer rekursiven Struktur. Das be-
deutet, dass im Encoder in einem rückgekoppelten Zweig die Decodierung, wie sie
später im Decoder durchgeführt wird, nachgebildet werden muss. Abb. 2.3 zeigt
oben das Blockschaltbild eines solchen Hybrid-Encoders.
Die zu übertragenden Intensitätswerte werden transformiert, quantisiert und entropie-
4
KAPITEL 2. GRUNDLAGEN ZUR VIDEOCODIERUNG
codiert. Die zweidimensionale Diskrete Cosinus Transformation (2D-DCT) ist auf-
grund ihrer guten Dekorrelations- und Energieeigenschaften eine wichtige Transfor-
mation in der Bildcodierung und wird sowohl bei den ISO/IEC (International Or-
ganization for Standardization/International Electrotechnical Commission) MPEG-
Standards als auch bei den ITU-T (International Telecommunication Union - Tele-
communication Standardization Sector) Standards H.261 und H.263 zur Dekorrela-
tion der Bilddaten eingesetzt (vgl. [14, 22]). Bei dem neuen H.264/AVC Standard
wird anstelle einer Diskreten Cosinus Transformation (DCT) auf 8 × 8 Blöcke eine
von der DCT abgeleitete Integertransformation auf 4 × 4-Blöcke angewendet (vgl.
Kapitel 6).
Das gerade übertragene codierte Bild läuft nach der Quantisierung in die Prädik-
tionsschleife, wird invers transformiert und steht dann zur Bewegungskompensation
des folgenden Bildes zur Verfügung. Im Bewegungsschätzer werden die Bewegungs-
vektoren ermittelt und als „Seiten“-Information übertragen. Aus dem vorher über-
tragenen Bild und den Bewegungsvektoren wird das folgende Bild geschätzt und
die Differenz zwischen dem geschätzten Bild und dem Originalbild berechnet. Das
Differenzbild, das auch als Prädiktionsfehlerbild bezeichnet wird, wird wie oben be-
schrieben transformiert, quantisiert, entropie-codiert und übertragen.
Um den wahlfreien Zugriff zum einen und die Flexibilität zum anderen zu gewährleis-
ten, ist eine Einteilung in drei Kategorien von Bildtypen vorgesehen: Man unterschei-
det zwischen referenzierten Bildern (prädiktiv oder bidirektional codierte Bilder)
und solchen, welche nur auf sich selbst verweisen (intracodierte Bilder). Intracodier-
te Bilder („I-Bilder“) sind beispielsweise bei einem Szenenwechsel sinnvoll. Sie sind
aber auch im normalen Ablauf von Zeit zu Zeit notwendig, um Bilder einer Sequenz
relativ direkt anzuspringen, Bildfolgen schneller vorwärts oder rückwärts abspielen
zu können sowie Übertragungsfehler auf kurze Sequenzen einzudämmen. Die In-
tracodierung verläuft ähnlich zum JPEG-Codierstandard. Die prädiktiv codierten
Bilder („P-Bilder“) referenzieren auf „I-Bilder“ oder voran laufende „P-Bilder“. Die
bidirektional codierten Bilder („B-Bilder“) referenzieren auf das je nächste vor- und
nachlaufende „I-Bild“ oder „P-Bild“ und werden selbst nicht mehr als Referenzen
5
KAPITEL 2. GRUNDLAGEN ZUR VIDEOCODIERUNG
herangezogen. In Abb. 2.2 ist ein Beispiel für eine solche Bildgruppe dargestellt.
Abb. 2.3 zeigt unten das Blockschaltbild eines Hybrid-Decoders. Im Decoder erfolgt
I B B B B B PP
Abbildung 2.2: Bildcodierungstypen: I: intracodiertes Bild. P: prädiktiv codiertes
Bild. B: bidirektional codiertes Bild.
die Rekonstruktion der codierten Bilder. Das übertragene Signal wird entropie-
decodiert und invers transformiert. Zusätzlich muss nun bei prädiktiv oder bidi-
rektional codierten Bildern das decodierte Prädiktionsfehlerbild zum bewegungsge-
schätzten Bild, das aus dem vorher übertragenem Bild und den Bewegungsvektoren
ermittelt werden kann, hinzu addiert werden. Durch die Prädiktionsschleife bei der
Hybridcodierung wird die Ähnlichkeit zwischen aufeinander folgenden Bildern aus-
genutzt und somit die Datenkompression erhöht.
Nähere Informationen zur bewegungskompensierten Prädiktion, zur Hybridcodierung
von Bildsequenzen und zu den ISO/IEC und den ITU-T Standards können im Buch
„Digitale Bildcodierung“ von Jens-Rainer Ohm ([18]) oder im Internet ([14, 15, 16,
22]) nachgelesen werden.
6
KAPITEL 2. GRUNDLAGEN ZUR VIDEOCODIERUNG
Tranformation
und
Quantisierung
Entropie-
codierung
Bewegungsschätzung
und
Bewegungskompensation
Inverse
Transformation
-
+
zum Kanal
zum Kanal
A B C
D
E
F
G
A Eingangssignal E Bewegungskompensiertes Signal
B Prädiktionsfehler F Codierter Datenstrom
C DCT Koeffizienten G Bewegungsvektoren
D Rekonstruiertes Signal
Entropie-
decodierung
Inverse
Transformation
Bewegungs-
kompensation
Bildspeicher
+vom Kanal F B D
EG
Abbildung 2.3: Bewegungskompensierter Hybrid-Coder (oben) und Hybrid-Decoder
(unten).
7
Kapitel 3
Algorithmen zur zeitlichen
Fehlerverschleierung
Das wachsende Angebot an Multimediadiensten fordert eine fehlerfreie Übertragung
von digitalen Bild- oder Videodaten über verschiedenste Kommunikationskanäle.
Da die Daten oft stark komprimiert und damit sehr anfällig für Übertragungfehler
sind, führt die Übertragung von codierten Datenströmen über gestörte Kanäle wie
Mobilfunk oder Internet häufig zu Datenverlusten. Bei blockweiser Codierung von
beispielsweise MPEG-Daten entstehen durch Übertragungsfehler Block- oder sogar
Zeilenverluste, die zu einer erheblichen Verschlechterung der Bildqualität führen
können. Bei prädiktiv oder bidirektional codierten Bildern ist die Ursache für einen
Blockverlust meistens eine fehlerhafte Übertragung des Bewegungsvektors oder des
Differenzbildes oder von beidem. Um die Auswirkungen solcher Kanalfehler zu redu-
zieren, kann eine Verschleierung der entstandenen Datenfehler durchgeführt werden.
Bei der Fehlerverschleierung wird die zeitliche oder örtliche Korrelation von Bildda-
ten ausgenutzt, um den verloren gegangenen Bildbereich wiederherzustellen. Dabei
wird ein robuster Datenstrom vorausgesetzt, um bei Übertragungsfehlern die Orte
der Paketverluste und somit der Block- bzw. Zeilenverluste bestimmen zu können.
Vorteile der Fehlerverschleierung sind, dass die Bitrate nicht erhöht und keine Än-
derung im Encoder gefordert wird. Deshalb ist die Fehlerverschleierung besonders
geeignet für Echtzeitanwendungen mit geringer Bitrate.
8
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
Abhängig von der Information, die für die Verschleierung verwendet wird, können
die Verschleierungsverfahren in drei Kategorien eingeteilt werden: örtliche Verfah-
ren, zeitliche Verfahren und Hybrid-Verfahren. Örtliche Fehlerverschleierungsverfah-
ren nutzen die örtliche Korrelation von Videosignalen und versuchen den Bildinhalt
fehlender oder beschädigter Blöcke durch bekannte Nachbarbildpunkte zu schät-
zen. Zeitliche Fehlerverschleierungsverfahren nutzen die zeitliche Korrelation von
Videosignalen und versuchen den fehlenden Bildinhalt durch bekannte Pixel eines
Referenzbildes, z.B. dem vorher empfangenem Bild, zu approximieren. Sowohl ört-
liche als auch zeitliche Ansätze bringen allerdings Nachteile mit sich. Mit örtlichen
Verfahren können meist keine hochfrequenten und detaillierten Bildinhalte nachge-
bildet werden. Zeitliche Verfahren scheitern dann, wenn komplexe Objektbewegun-
gen wie Rotation oder Deformation, schnelle Objektbewegungen oder Szenenwechsel
auftreten. Deshalb wird bei Hybrid-Verfahren sowohl die örtliche als auch die zeit-
liche Korrelation von Videosignalen zur Fehlerverschleierung ausgenutzt. Mit dieser
Kombination lassen sich meist bessere Ergebnisse als mit einer rein örtlichen oder
zeitlichen Fehlerverschleierung erzielen.
Im nächsten Kapitel wird ein neues Hybrid-Verfahren, die dreidimensionale frequenz-
selektive Signalextrapolation, vorgestellt. Die dreidimensionale Signalextrapolation
nutzt zur Fehlerverschleierung sowohl die örtliche als auch die zeitliche Korrelation
zwischen Bildpunkten aus. Da sie eine zeitliche Erweiterung der zweidimensionalen
frequenzselektiven Signalextrapolation darstellt, die in [4] von Katrin Meisinger und
André Kaup beschrieben wird, werden in diesem Kapitel einige bereits existierende
zeitliche Verschleierungsverfahren präsentiert.
3.1 „Temporal Blockreplacement“ Algorithmus
Der einfachste Ansatz der zeitlichen Fehlerverschleierung ist ein Algorithmus, bei
dem der örtlich sich an der gleichen Stelle befindende Block aus dem vorhergehen-
den Bild an die Stelle des verloren gegangenen Blockes kopiert wird. Dieses Verfahren
wird als Temporal Blockreplacement bezeichnet. Das Ersetzen des fehlenden Blockes
9
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
mit dem örtlich sich an der gleichen Stelle befindenden Block im vorherigen Bild
entspricht bei der blockbasierten Bewegungskompensation einem Bewegungsvektor
der Länge null. Für stationäre Bildbereiche ist dieser Algorithmus zur Fehlerver-
schleierung gut geeignet. Bei Bewegung führt dieses Verfahren jedoch zu starken
Blockartefakten. Deshalb wird bei der bewegungskompensierten Prädiktion oft der
aus den Bewegungsvektoren der umliegenden Blöcke gemittelte Vektor zur Kompen-
sation verwendet.
3.2 „Boundary Matching“ Algorithmus
Der als Boundary Matching bezeichnete Algorithmus (BMA) (vgl. [6], [7], [8]) zählt
ebenfalls zu den zeitlichen Fehlerverschleierungsverfahren. Der BMA geht einen
Schritt weiter und nutzt die Tatsache aus, dass benachbarte Bildpunkte in Video-
bildern miteinander korreliert sind. Es wird aus einer Menge von Testvektoren der-
jenige ausgewählt, bei dem der Fehler, der sich an den Blockgrenzen zwischen dem
rekonstruierten Block und den angrenzenden Blöcken ergibt, minimal wird. Der
BMA bezieht also bei der Auswahl des Bewegungsvektors das Ortssignal der um-
liegenden korrekt empfangenen Blöcke mit ein. Dadurch können wesentlich bessere
Ergebnisse erzielt werden als z.B. bei der Mittelwertbildung aus den umliegenden
Bewegungsvektoren. Im Folgenden wird zunächst der Fall behandelt, bei dem nur
der Bewegungsvektor des fehlenden Blockes verloren gegangen ist.
Als Testvektoren kommen folgende Vektoren in Frage:
• Bewegungsvektor des örtlich sich an der gleichen Stelle befindenden Blockes
im vorherigen Bild
• Bewegungvektoren der Nachbarblöcke
• Median der Bewegungsvektoren der Nachbarblöcke
• Mittelwert der Bewegungsvektoren der Nachbarblöcke
• Nullvektor
10
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
Bildpunkte vom Block oberhalb
des fehlenden Blockes
Bildpunkte vom Block links
des fehlenden Blockes
Bildpunkte vom Block unterhalb
des fehlenden Blockes
Bildpunkte aus dem zuletzt decodierten Bild
Abbildung 3.1: Anpassungsbereich beim BMA Algorithmus.
Für jeden der Testbewegungsvektoren wird der verloren gegangene Block geschätzt
und der übertragene Prädiktionsfehler dazu addiert. Dann werden die Differenzqua-
drate zwischen den bekannten umliegenden Bildpunkten und den Bildpunkten am
Rand des geschätzten Blockes aufsummiert.
BM =
x0+N−1∑
x=x0
(
f rx+vx,y0+vy
− fx,y0−1
)2
+
y0+N−1∑
y=y0
(
f rx0+vx,y+vy
− fx0−1,y
)2
+
x0+N−1∑
x=x0
(
f rx+vx,y0+N−1+vy
− fx,y0+N
)2
(3.1)
x0, y0 Koordinaten des obersten linken Bildpunktes des verloren gegangenen
Blockes
fx,y Bildpunkte im beschädigten Bild
f rx,y Bildpunkte im Referenzbild, zu denen der übertragene Prädiktionsfehler
addiert wurde
vx, vy Bewegungsvektor aus der Menge der Testbewegungsvektoren
N × N Größe des verloren gegangenen Blockes
11
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
Die für die Fehlerberechnung verwendeten Bildpunkte sind in Abb. 3.1 dargestellt. Es
wird also derjenige Testvektor als Bewegungsvektor ausgewählt, der das Boundary
Matching Fehlermaß (BM) in Gl. 3.1 minimiert und damit die geringste Intensitäts-
differenz an den Blockgrenzen liefert.
3.2.1 „Extended Boundary Matching“ Algorithmus
Der in Abschnitt 3.2 dargestellte Algorithmus setzt voraus, dass das Differenzbild
fehlerfrei übertragen wird. In [6] wird der sog. Extended Boundary Matching Algo-
rithmus (EBMA) als eine Erweiterung des BMA beschrieben. Dieser Algorithmus
kann angewendet werden, wenn nicht nur der Bewegungsvektor, sondern auch das
Differenzbild zwischen dem vorherigen und dem aktuellen Block bei der Übertragung
verloren gegangen ist oder fehlerhaft übertragen wurde. Beim EBMA wird zunächst
angenommen, dass das fehlende Differenzbild dem Differenzbild des oberhalb liegen-
den Blockes entspricht. Für diese Annahme wird dann der Bewegungsvektor, wie in
Abschnitt 3.2 erklärt, berechnet. Dieses Vorgehen wird nun für die Differenzbilder
der Blöcke, die links und unterhalb vom verloren gegangenen Block liegen, und für
ein mit Nullwerten gefülltes Differenzbild wiederholt. Der EBMA wählt dann die-
jenige Kombination aus Differenzbild und geschätztem Bewegungsvektor aus, die
das geringste BM Fehlermaß liefert. Voraussetzung hierfür ist natürlich, dass die
Differenzbilder der umliegenden Blöcke fehlerfrei übertragen wurden. Auch die in
Abschnitt 3.2 aufgelisteten Testvektoren können nur dann verwendet werden, wenn
die entsprechenden Bewegungsvektoren der Nachbarblöcke zur Verfügung stehen.
3.2.2 „Boundary Matching“ Algorithmus und „Mesh-Based
Warping“
In [8] wird ein Hybridverfahren vorgestellt, das auf dem BMA Algorithmus basiert
und die dabei entstehenden Artefakte aufgrund von schnellen Bewegungen, Rotation
und Deformation durch Mesh-Based Warping (MBW) reduziert. Im ersten Schritt
wird der verloren gegangene Block mit Hilfe des BMA durch einen Block im vorhe-
12
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
rigen Bild ersetzt. Mit dem BMA können nur translatorische Bewegungen und kei-
ne Rotationsbewegungen oder Deformationen nachgebildet werden. Daher kommt
es häufig zu Blockartefakten, die nun durch Mesh-Based Warping beseitigt werden
können. Dabei wird die Textur jedes Blockes durch eine gitter-basierte affine Trans-
formation verzerrt. Oft kann eine Deformation innerhalb eines Blockes nicht durch
eine einzige Transformation beschrieben werden. Deshalb wird ein Block meist in
mehrere kleine Blöcke zerlegt. Die Deformation der Textur des jeweiligen Blockes
hängt von der Verschiebung der Knotenpunkte ab, die wiederum durch den umlie-
genden Bildinhalt beeinflusst wird. Die Form und Größe der Blöcke und damit die
Verteilung der Knotenpunkte muss geeignet gewählt werden. Verschiedene Möglich-
keiten zur Verteilung der Knotenpunkte sind in [8] aufgelistet. Die Knotenpunkte
werden in äußere Kontrollpunkte, die am Rand des Blockes liegen, und innere Kon-
trollpunkte, die sich innerhalb des Blockes befinden, aufgeteilt. Die Verschiebung
der äußeren Kontrollpunkte wird dadurch bestimmt, dass der Bildinhalt an den
Blockgrenzen möglichst gut an den Bildinhalt der Umgebung angepasst wird. Die
Verschiebung der inneren Kontrollpunkte wird dann durch Interpolation der äuße-
ren Kontrollpunkte berechnet. Abschließend wird dann die Textur entsprechend der
Verschiebung des Gitternetzes deformiert.
3.2.3 „Multiframe Recovery“ Prinzip
In [12] wird das sog. Multiframe Recovery Prinzip erklärt, das als Erweiterung für ört-
liche und zeitliche Fehlerverschleierungsverfahren angewendet werden kann. Bei den
meisten Verschleierungsverfahren wird die örtliche oder zeitliche Korrelation zwi-
schen Bildpunkten nur auf ein Bild, nämlich das beschädigte Bild, angewendet. Auch
wenn das Verschleierungsverfahren den fehlenden Block gut rekonstruiert, bleibt da-
bei ein Restfehler vorhanden, der sich bei bewegungskompensierter Prädiktion so
lange fortpflanzt, bis ein intracodiertes Bild folgt. Aufgrund der Fehlerfortpflanzung
erhält man für darauf folgende Bilder eine schlechtere Qualität, auch wenn diese
Bilddaten korrekt empfangen wurden. Das Multiframe Recovery Prinzip analysiert
13
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
die Fortpflanzung des Fehlers, der bei der Rekonstruktion des verloren gegangenen
Blockes entstanden ist, und versucht dadurch die Fortpflanzung von Fehlern über
mehrere Bilder zu minimieren. In [12] wird dieses Prinzip in Kombination mit einem
örtlichen und einem zeitlichen Fehlerverschleierungsverfahren getestet. Als zeitliches
Verfahren wird hier der BMA verwendet, bei dem das BM Fehlermaß nun nicht nur
bezüglich des zu rekonstruierenden Blockes, sondern auch bezüglich derjenigen Blö-
cke, die von der Fehlerfortpflanzung betroffen sind, minimiert wird. Dabei können
deutlich bessere Ergebnisse erzielt werden, was in [12] durch die Gegenüberstellung
der Ergebnisse des BMA mit und ohne Multiframe Recovery Prinzip belegt wird.
3.3 „Decoder Motion-Vector Estimation“ Algorith-
mus
Während der in Abschnitt 3.2 vorgestellte Algorithmus die örtliche Korrelation zwi-
schen Bildpunkten zur Schätzung des Bewegungsvektors ausnutzt, wird bei dem sog.
Decoder Motion-Vector Algorithmus (DVME) die zeitliche Korrelation zwischen auf-
einander folgenden Bildern für die Schätzung des Bewegungsvektors herangezogen.
Beim DMVE Algorithmus werden mehrere Linien (zwei bis acht) an Bildpunkten,
die den verloren gegangenen Block umschließen, verwendet, um denjenigen Block
im vorherigen Bild zu bestimmen, dessen Umgebung am besten zur Umgebung des
verloren gegangenen Blockes im aktuellen Bild passt. Dazu werden die Bildpunkte
der Blöcke benutzt, die oberhalb, links oberhalb, links, links unterhalb und unter-
halb des verloren gegangenen Blockes liegen. Die Information dieser Blöcke wird
auch dann verwendet, wenn sie selbst geschätzt wurden. Wenn man davon ausgeht,
dass zwei umliegende Linien an Bildpunkten benutzt werden und alle umliegenden
Blöcke im aktuellen Bild zur Verfügung stehen, dann werden diejenigen Bildpunkte
zur Bewegungsvektorsuche verwendet, die in Abb. 3.2 schraffiert dargestellt sind.
Der DVME Algorithmus führt nun eine Vollsuche im vorherigen Bild durch, um die-
jenigen Linien zu finden, die am besten zu den Bildpunkten passen, die den verloren
14
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
Bildpunkte vom Block oberhalbdes fehlenden Blockes
Bildpunkte vom Block links oberhalbdes fehlenden Blockes
Bildpunkte vom Block linksdes fehlenden Blockes
Bildpunkte vom Block links unterhalbdes fehlenden Blockes
Bildpunkte vom Block unterhalbdes fehlenden Blockes
Fehlender Block
Abbildung 3.2: Anpassungsbereich beim DMVE Algorithmus.
gegangenen Block im aktuellen Bild umgeben. Je mehr Information aus der Umge-
bung des verloren gegangenen Blockes in die Suche einfließt, desto wahrscheinlicher
ist es, dass ein Block gefunden wird, der optimal zur Umgebung passt. Deshalb wer-
den bei diesem Algorithmus meist die Bildpunkte aus acht umliegende Linien zur
Schätzung verwendet.
Um die Komplexität dieses Algorithmus zu reduzieren, kann die Menge der mög-
lichen Bewegungsvektoren wie beim BMA auf eine Menge von Testvektoren be-
schränkt werden (optional candidate search). Die Rechenkomplexität kann ebenfalls
verringert werden, indem man einen Kompromiss zwischen Genauigkeit und Re-
chenzeit eingeht und die Anzahl der verwendeten Linien, die den gesuchten Block
umschließen, entsprechend reduziert. Ergebnisse für die verschiedenen Abwandlun-
gen des DMVE Algorithmus und ein Vergleich mit den Ergebnissen, die der BMA
liefert, können in [7] nachgelesen werden.
3.4 Bewegungsfeldinterpolation
Die in Abschnitt 3.2 und 3.3 vorgestellten Verfahren arbeiten in zwei Schritten: Zu-
erst wird ein Bewegungsvektor wiederhergestellt, um anschließend damit die Bewe-
gung zu kompensieren. In [9], [10] und [13] wird eine Methode präsentiert, die durch
15
KAPITEL 3. ZEITLICHE FEHLERVERSCHLEIERUNG
Bewegungsvektorfeldinterpolation einen Bewegungsvektor pro Bildpunkt berechnet.
Dadurch können nicht nur translatorische Bewegungen, sondern auch Rotation und
Skalierung nachgebildet werden. Ausgehend von Kontrollpunkten, nämlich den Be-
wegungsvektoren der Nachbarblöcke, wird das Bewegungsfeld für jeden Bildpunkt
interpoliert und kompensiert. Auf diese Weise kann ein glatteres Bewegungsfeld als
bei den vorher erwähnten Algorithmen erzeugt werden. Allerdings ist dieses Verfah-
ren sehr abhängig vom Erhalt der Bewegungsvektoren der Nachbarblöcke. Deshalb
ist es sinnvoll, das Bewegungsfeld durch eine Überlagerung von Bewegungsfeldin-
terpolation und Boundary Matching Algorithmus zu beschreiben, um weniger auf
die Nachbarvektoren angewiesen zu sein. Dieser kombinierte MFI-BM (Motion Field
Interpolation-Boundary Matching) Ansatz liefert laut [10] meistens ein besseres Er-
gebnis als bei Verwendung von nur einem der beiden Verfahren. In [11] wird der
kombinierte Ansatz auf mehrere Bilder angewendet und zur Kompensation wird
dann eine gewichtete Überlagerung eingesetzt. Dadurch kann eine weitere visuelle
Verbesserung der Ergebnisse erzielt werden.
16
Kapitel 4
Dreidimensionale frequenzselektive
Extrapolation
In [4] wird von Katrin Meisinger und André Kaup ein Ansatz zur zweidimensionalen
frequenzselektiven Signalextrapolation vorgestellt, der zur örtlichen Verschleierung
fehlerhafter oder verloren gegangener Bildbereiche angewendet wird (vgl. [1] und
[2]). Die Übertragung von Bildern oder Videos, die mit einem blockbasierten Ver-
fahren wie JPEG oder MPEG codiert sind, führt bei fehlerhaften Kanälen wie z.B.
Mobilfunk oder Internet zu typischen Blockverlusten von 16 × 16 Bildpunkten. Bei
der zweidimensionalen frequenzselektiven Extrapolation wird der Bildinhalt der um-
liegenden, korrekt empfangenen Blöcke sukzessive durch eine gewichtete Linearkom-
bination von Basisfunktionen approximiert und der fehlende Bildinhalt durch Extra-
polation geschätzt.
Da die visuelle Qualität dieses Verfahrens beachtlich ist und sowohl glatte Flächen,
Kanten als auch rauschartige Bildbereiche gut rekonstruiert werden können, soll
dieses Verfahren nun auch in zeitlicher Richtung angewendet werden. Hierzu ist es
zunächst notwendig, den Ansatz zur Extrapolation zweidimensionaler Signale für
dreidimensionale Signale zu erweitern. In diesem Kapitel werden die entsprechenden
Überlegungen ausführlich erklärt und die notwendigen Formeln für die Extrapolation
dreidimensionaler Signale hergeleitet.
17
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
4.1 Sukzessive Approximation
Der Grundgedanke der Signalextrapolation ist die Schätzung eines Bildbereichs
durch den umliegenden, korrekt empfangenen Bildinhalt. Bei dem in [1] und [2]
vorgestellten Verfahren wird, wie bereits erwähnt, der umliegende Bildinhalt durch
eine gewichtete Linearkombination von Basisfunktionen dargestellt. Abschnitt 4.1.1
beschreibt das Prinzip der Signalextrapolation für zweidimensionale Signale. An-
schließend wird in Abschnitt 4.1.2 das Verfahren für dreidimensionale Signale erwei-
tert.
4.1.1 Zweidimensionale Signalextrapolation
Bei der zweidimensionalen Signalextrapolation handelt es sich um einen Algorith-
mus, der zur Wiederherstellung eines fehlenden Bildbereichs nur den Bildinhalt aus
dem jeweiligen Bild verwendet. Man spricht hier von einem „intraframe“- Verfahren.
In Abb. 4.1 ist ein 8 × 8 Blockverlust B (grau hinterlegt) dargestellt. Der umlie-
gende Bildinhalt, der zur Rekonstruktion des fehlenden Bildmaterials herangezogen
wird, ist mit A bezeichnet (weiß). Die Gesamtregion - Blockverlust und umliegen-
der Bildinhalt - ist mit L gekennzeichnet. Der bekannte Bildinhalt A wird durch ein
parametrisches Modell angenähert und der fehlende Bereich durch Extrapolation er-
setzt. Das parametrische Modell g[m,n], das den Bildbereich A approximieren soll,
wird als gewichtete Linearkombination von Basisfunktionen definiert.
Als Basisfunktionen werden die zweidimensionalen Basisfunktionen der DFT (Dis-
krete Fourier Transformation) verwendet:
ϕk,l[m,n] = ej 2πM
mk · ej 2πN
nl (4.1)
Im Allgemeinen sind sämtliche periodische Funktionen als Basisfunktionen für die
Signalapproximation und -extrapolation geeignet. Ein Vergleich der DCT (Diskrete
Cosinus Transformation) und DFT Basisfunktionen zeigt jedoch, dass die DFT Ba-
sisfunktionen für die Extrapolation besser geeignet sind, weil sie zusätzlich zu den
vertikalen und horizontalen Frequenzen der DCT auch diagonale Strukturen nach-
18
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
A
L = A ∪ B
B
Abbildung 4.1: Blockverlust B und bekannter Bildbereich A, der für die Rekonstruk-
tion des fehlenden Blockes verwendet wird.
(a) (b)
Abbildung 4.2: 8x8 Basisbilder. links: DCT. rechts: Realteil der DFT.
bilden können (s. Abb. 4.2, vgl. [1]).
Um reelle Signalwerte zu erhalten, wählt man für das parametrische Modell eines
Blockes der Größe M × N folgenden Ansatz:
g[m,n] =1
2MN
∑
(k,l)∈K
(ck,l · ϕk,l[m,n] + cM−k,N−l · ϕM−k,N−l[m,n]) (4.2)
Dabei stellt K die Menge der tatsächlich für die Approximation verwendeten Basis-
funktionen ϕk,l[m,n] dar und die Koeffizienten ck,l entsprechen den komplexen Ex-
pansionskoeffizienten bzw. DFT Koeffizienten, mit denen die jeweilige Basisfunktion
gewichtet wird. Für ein reellwertiges Signal ergibt sich sowohl für die Basisfunktio-
nen ϕk,l[m,n] als auch für die Expansionskoeffizienten ck,l eine konjugiert komplexe
19
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
Symmetrie gemäß:
cM−k,N−l = c∗k,l (4.3)
ϕM−k,N−l[m,n] = ϕ∗k,l[m,n] (4.4)
Das parametrische Modell wird zu Beginn des Algorithmus mit g[m,n] = 0 initia-
lisiert. Darüber hinaus wird ein Fehlermaß definiert, das die Qualität der Approxi-
mation beurteilt und diese unter bestimmten Bedingungen abbricht. Als Fehlermaß
wird die Energie EA des Restfehlers zwischen dem Originalsignal f [m,n] und dem
parametrischen Modell g[m,n] verwendet (vgl. Gl. 4.5).
EA =∑
(m,n)∈A
w[m,n] · (f [m,n] − g[m,n])2 (4.5)
Die Energie des Restfehlers kann nur in dem Bereich A der bekannten Bildpunkte
berechnet werden. Dabei stellt w[m,n] zunächst eine beliebige Gewichtungsfunktion
dieser Restfehlerenergie dar.
w[m,n] =
beliebig, (m,n) ∈ A
0, (m,n) ∈ B(4.6)
Diese Gewichtungsfunktion dient dazu, entfernte Bildpunkte weniger und nahe lie-
gende Bildpunkte mehr in die Berechnung einfließen zu lassen. In Abschnitt 4.4 wird
diese Gewichtungsfunktion genauer betrachtet. Um die Restfehlerenergie zu mini-
mieren, muss Gl. 4.5 partiell nach den Expansionskoeffizienten abgeleitet und zu
null gesetzt werden:∂EA
∂ck,l
!= 0 und
∂EA
∂cM−k,N−l
!= 0 (4.7)
Man erhält schließlich ein Gleichungssystem, das nicht eindeutig lösbar ist, weil mehr
Basisfunktionen für die Approximation zur Verfügung stehen als Pixel sich in der
bekannten Bildregion A befinden. Die Anzahl der Basisfunktionen M×N entspricht
der Anzahl an Bildpunkten in der Region L und ist damit größer als die Anzahl an
Bildpunkten im bekannten Bildbereich A.
Um dennoch eine Lösung zu erhalten, kann mit Hilfe des parametrischen Modells
20
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
und der Einführung des Fehlermaßes nun eine sukzessive Approximation des be-
kannten Bildbereichs durchgeführt werden. Dabei wird das parametrische Modell in
jedem Iterationsschritt verfeinert bis eine Annäherung mit ausreichender Genauig-
keit an den originalen Bildausschnitt erreicht ist. Um für eine bestmögliche Approxi-
mation die Anzahl an Iterationen so klein wie möglich zu halten, werden in jedem
Iterationsschritt eine geeignete Basisfunktion ϕk,l[m,n] ausgewählt und ein Expan-
sionskoeffizient ck,l berechnet, so dass die Abnahme der Restfehlerenergie maximal
wird. Der Algorithmus bricht dann ab, wenn entweder die Abnahme der gewichte-
ten Fehlerenergie unter einen definierten Schwellwert Emin fällt oder die maximale
Anzahl an Iterationen überschritten wird.
Die sukzessive Approximation liefert als Ergebnis ein parametrisches Modell g[m,n],
das den bekannten Bildbereich A bestmöglich approximiert und gleichzeitig eine
Signalextrapolation für den Bildbereich B darstellt. Der fehlende Bildinhalt wird nun
aus dem parametrischen Modell g[m,n] „ausgeschnitten“ und an der entsprechenden
Stelle eingefügt.
4.1.2 Erweiterung für dreidimensionale Signale
Das Verfahren der sukzessiven Approximation soll nun für dreidimensionale Signale
erweitert werden, um bei Videosequenzen auch Information aus vorherigen und/oder
nachfolgenden Bildern über den fehlenden und zu rekonstruierenden Bildinhalt zu
gewinnen. Im Gegensatz zum zweidimensionalen Verfahren wird also nicht nur der
Bildinhalt innerhalb des Bildes, in dem sich der Blockverlust befindet, zur Rekon-
struktion verwendet, sondern auch der Bildinhalt vorheriger und/oder nachfolgender
Bilder. Es handelt sich hier also um ein „interframe“-Verfahren. In Abb. 4.3 ist eine
mögliche Anordnung von Bildern dargestellt, deren Informationsgehalt zur Wieder-
herstellung des fehlenden Blockes B (grau hinterlegt) in Bild τ genutzt wird. Ab-
gebildet sind hier nur die jeweiligen Bildausschnitte, die für die Rekonstruktion des
fehlerhaften Bereiches herangezogen werden. Der Bereich A, der zur Rekonstrukti-
on genutzt wird, beschränkt sich also nicht mehr auf das zweidimensionale Bild, in
21
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
=
=ABm
nt
ττ − 3 τ − 2 τ − 1 τ + 1 τ + 2 τ + 3
Abbildung 4.3: Blockverlust B und bekannter Bildbereich A, der für die dreidimen-
sionale Extrapolation verwendet wird.
dem sich der Blockverlust befindet, sondern erstreckt sich auf ein Volumen, das aus
dem Bild τ und den vorherigen und/oder nachfolgenden Bildern der betrachteten
Videosequenz gebildet wird. Auch die Gesamtregion L - bestehend aus dem Block-
verlust B und der Bildregion A - wird auf ein Volumen ausgedehnt. Die bekannten
Bildpunkte im Bild τ sowie in den Bildern τ − 1, ..., τ − NV , τ + 1, ..., τ + NN
(NV = Anzahl vorheriger Bilder, NN = Anzahl nachfolgender Bilder) können nun
durch ein dreidimensionales parametrisches Modell g[m,n, t] approximiert werden
und es kann, wie im zweidimensionalen Fall, eine Signalextrapolation für den zu
rekonstruierenden Bereich durchgeführt werden. Um das dreidimensionale Modell
g[m,n, t] als Linearkombination von Basisfunktionen beschreiben zu können, wer-
den entsprechend Gl. 4.1 die zweidimensionalen DFT Basisfunktionen um eine dritte
Dimension, die Zeit t, erweitert.
ϕk,l,p[m,n, t] = ej 2πM
mk · ej 2πN
nl · ej 2πT
tp (4.8)
Für den Fall, dass ein Block der Größe M ×N approximiert werden soll und dazu T
Bilder inklusive dem Bild, das den Blockverlust enthält, verwendet werden, erhält
22
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
man für das parametrische Modell g[m,n, t] entsprechend Gl. 4.2 folgenden Ansatz:
g[m,n, t] =1
2MNT
∑
(k,l,p)∈K
(
ck,l,p · ϕk,l,p[m,n, t]
+cM−k,N−l,T−p · ϕM−k,N−l,T−p[m,n, t])
(4.9)
Wie beim zweidimensionalen Ansatz stellt K die Menge der tatsächlich für die Ap-
proximation verwendeten Basisfunktionen ϕk,l,p dar und die Koeffizienten ck,l,p ent-
sprechen den komplexen Expansionskoeffizienten, mit denen die jeweilige Basisfunk-
tion gewichtet wird. Für die Energie EA des Restfehlers zwischen dem dreidimen-
sionalen Originalsignal f [m,n, t] und dem parametrischen Modell g[m,n, t] gilt
EA =∑
(m,n,t)∈A
w[m,n, t] · (f [m,n, t] − g[m,n, t])2 , (4.10)
wobei die Gewichtungsfunktion w[m,n, t] zunächst folgendermaßen definiert ist:
w[m,n, t] =
beliebig, (m,n, t) ∈ A
0, (m,n, t) ∈ B(4.11)
Um die Restfehlerenergie zu minimieren, muss nun Gl. 4.10 partiell nach den Ex-
pansionskoeffizienten abgeleitet und zu null gesetzt werden:
∂EA
∂ck,l,p
!= 0 und
∂EA
∂cM−k,N−l,T−p
!= 0 (4.12)
Das Verfahren der sukzessiven Approximation wird nun entsprechend Abschnitt
4.1.1 für den dreidimensionalen Fall angewendet. Eine ausführliche Herleitung für die
dreidimensionale Signalextrapolation - sowohl im Orts- als auch im Frequenzbereich -
folgt in Abschnitt 4.2 und 4.3.
4.2 Herleitung im Ortsbereich
4.2.1 Berechnung der Koeffizienten
Für die Berechnung der Expansionskoeffizienten ck,l,p wird zunächst die Restfehler-
energie betrachtet. Um die gewichtete Restfehlerenergie zwischen dem Originalsignal
23
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
f [m,n, t] und dem approximierten Signal g[m,n, t] zu bestimmen, wird zunächst eine
Fensterfunktion
b[m,n, t] =
1, (m,n, t) ∈ A
0, (m,n, t) ∈ B(4.13)
eingeführt, die die Berechnung des Restfehlers auf den bekannten Bildbereich A
einschränkt. Für den Restfehler im ν-ten Iterationsschritt gilt demzufolge:
r(ν)[m,n, t] = b[m,n, t] ·(
f [m,n, t] − g(ν)[m,n, t])
(4.14)
Das parametrische Modell g(ν)[m,n, t], das den bekannten Bildinhalt so gut wie
möglich beschreiben soll, kann im ν-ten Iterationsschritt als Summe von gewichteten
Basisfunktionen dargestellt werden:
g(ν)[m,n, t] =1
2MNT
∑
(k,l,p)∈Kν
(
c(ν)k,l,p · ϕk,l,p[m,n, t]
+c(ν)M−k,N−l,T−p · ϕM−k,N−l,T−p[m,n, t]
)
(4.15)
Die Menge Kν enthält alle Basisfunktionen, die in diesem Iterationsschritt zur Ap-
proximation genutzt werden. Unter der Annahme, dass für den (ν+1)-ten Iterations-
schritt bereits eine geeignete Basisfunktion ϕu,v,w[m,n, t] mit den Frequenzen u, v
und w ausgewählt wurde, so ergibt sich für diesen Iterationsschritt ein verbleibender
Fehler von
r(ν+1)[m,n, t] = r(ν)[m,n, t] − b[m,n, t] · ∆g[m,n, t]
= r(ν)[m,n, t] − b[m,n, t] ·
1
2MNT(∆c · ϕu,v,w[m,n, t] + ∆c∗ · ϕM−u,N−v,T−w[m,n, t])
(4.16)
Dabei präsentiert ∆g[m,n, t] die Veränderung des parametrischen Modells vom ν-
ten zum (ν+1)-ten Iterationsschritt. Mit Hilfe von Gl. 4.16 lässt sich in Abhängig-
keit des Fensters b[m,n, t], der Gewichtungsfunktion w[m,n, t] und der Veränderung
∆g[m,n, t] die gewichtete Energie des Restfehlers E(ν+1)A im (ν+1)-ten Iterations-
schritt berechnen (vgl. Gl. 4.17).
24
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
ϕ1
ϕ2 g = c1ϕ1 + c2ϕ2
f − g
f
Ebene aufgespannt von ϕ1 und ϕ2
Abbildung 4.4: Die beste Näherung von g an f erhält man durch Projektion von f
auf die von ϕ1 und ϕ2 aufgespannte Ebene. Der Vektor f − g steht senkrecht auf der
von ϕ1 und ϕ2 aufgespannten Ebene.
E(ν+1)A =
∑
(m,n,t)∈A
w[m,n, t] ·(
r(ν+1)[m,n, t])2
=∑
(m,n,t)∈A
w[m,n, t] ·(
r(ν)[m,n, t] − b[m,n, t] · ∆g[m,n, t])2
(4.17)
Um im (ν+1)-ten Iterationsschritt eine beste Näherung von g an f zu erhalten, muss
das zu approximierende Element f auf die von den Basisfunktionen aufgespannte
Ebene orthogonal projiziert werden (s. Abb. 4.4, vgl. [5, 29]). Der Restfehlervektor
f − g hat dann minimale Länge und ist orthogonal zu allen Vektoren der aufge-
spannten Ebene und damit auch zu allen Basisfunktionen ϕk,l,p ∈ Kν .
Diese Orthogonalitätsbedingung wird bei der Koeffizientenberechnung durch die Mi-
nimierung der gewichteten Restfehlerenergie erzwungen. Um die optimalen Koeffi-
zienten für den (ν+1)-ten Schritt zu bestimmen, muss die Restfehlerenergie partiell
nach den Expansionskoeffizienten abgeleitet werden (vgl. Gl. 4.12).
∂E(ν+1)A
∂∆c!= 0 und
∂E(ν+1)A
∂∆c∗!= 0 (4.18)
Unter Anwendung des Wirtinger-Kalküls (vgl. [3]) und unter der Annahme, dass
w[m,n, t] · b[m,n, t] = w[m,n, t] gilt, ergibt sich Gl. 4.19.
25
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
∂E(ν+1)A
∂∆c∗= 2 ·
∑
(m,n,t)∈A
w[m,n, t] ·(
r(ν)[m,n, t] −1
2MNT
(
∆c · ϕu,v,w[m,n, t] +
∆c∗ · ϕM−u,N−v,T−w[m,n, t])
)
·(
−1
2MNT· ϕM−u,N−v,T−w[m,n, t]
)
!= 0 (4.19)
Das Auflösen von Gl. 4.19 führt zu Gl. 4.20.
1
4M2N2T 2
∑
(m,n,t)∈A
w[m,n, t] · ∆c · ϕu,v,w[m,n, t] · ϕM−u,N−v,T−w[m,n, t]+
1
4M2N2T 2
∑
(m,n,t)∈A
w[m,n, t] · ∆c∗ · ϕM−u,N−v,T−w[m,n, t] · ϕM−u,N−v,T−w[m,n, t]
=1
2MNT
∑
(m,n,t)∈A
w[m,n, t] · r(ν)[m,n, t] · ϕM−u,N−v,T−w[m,n, t]
(4.20)
Die Einführung einer neuen Variablen r(ν)w [m,n, t] = w[m,n, t] · r(ν)[m,n, t] verein-
facht Gl. 4.20 zu Gl. 4.21.
∑
(m,n,t)∈A
w[m,n, t] · ∆c · ϕu,v,w[m,n, t] · ϕM−u,N−v,T−w[m,n, t]+
∑
(m,n,t)∈A
w[m,n, t] · ∆c∗ · ϕM−u,N−v,T−w[m,n, t] · ϕM−u,N−v,T−w[m,n, t]
= 2MNT ·∑
(m,n,t)∈A
r(ν)w [m,n, t] · ϕM−u,N−v,T−w[m,n, t]
(4.21)
Für ∂E(ν+1)A
∂∆cerhält man eine zu Gl. 4.21 konjugiert komplexe Gleichung:
∑
(m,n,t)∈A
w[m,n, t] · ∆c · ϕu,v,w[m,n, t] · ϕu,v,w[m,n, t]+
∑
(m,n,t)∈A
w[m,n, t] · ∆c∗ · ϕM−u,N−v,T−w[m,n, t] · ϕu,v,w[m,n, t]
= 2MNT ·∑
(m,n,t)∈A
r(ν)w [m,n, t] · ϕu,v,w[m,n, t]
(4.22)
Gl. 4.21 und Gl. 4.22 werden nun nach ∆c und ∆c∗ aufgelöst, was in Abschnitt 4.3
ausführlicher beschrieben wird. Anschließend werden die entsprechenden Koeffizien-
ten c(ν+1)u,v,w und c
(ν+1)M−u,N−v,T−w erneuert (vgl. Gl. 4.23 und 4.24).
26
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
c(ν+1)u,v,w = c(ν+1)
u,v,w + ∆c (4.23)
c(ν+1)M−u,N−v,T−w = c
(ν+1)M−u,N−v,T−w + ∆c∗ (4.24)
Wichtig hierbei ist, dass auch der konjugiert komplexe Koeffizient aufgrund der
Symmetriebedingungen für reelle Signale erneuert werden muss.
4.2.2 Auswahl der Basisfunktionen
Bei der Berechnung der Koeffizienten wurde bereits die Auswahl einer optimalen
Basisfunktion für die Erweiterung des Modells vom ν-ten zum (ν + 1)-ten Iterati-
onsschritt vorausgesetzt. Im Folgenden soll nun erläutert werden, anhand welcher
Kriterien diese ausgewählt wird. Wie bereits erwähnt, sucht man nach genau der Ba-
sisfunktion ϕu,v,w[m,n, t], die die Abnahme des Fehlermaßes vom ν-ten zum (ν +1)-
ten Iterationsschritt maximiert. Unter der Annahme, dass w[m,n, t] · b[m,n, t] =
w[m,n, t] gilt und dass der verbleibende Restfehler im (ν + 1)-ten Iterationsschritt
orthogonal zur auserwählten Basisfunktion ist und damit Mischterme entfallen, er-
hält man für die gewichtete Restfehlerenergie E(ν+1)A folgenden Ausdruck:
E(ν+1)A =
∑
(m,n,t)∈A
w[m,n, t]·(
r(ν)[m,n, t])2−
∑
(m,n,t)∈A
w[m,n, t]·(∆g[m,n, t])2 (4.25)
Um die Basisfunktion ϕu,v,w[m,n, t] auszuwählen, die die größtmögliche Verringerung
der Fehlerenergie bewirkt, muss Gl. 4.26 maximiert werden.
∆E(ν)A =
∑
(m,n,t)∈A
w[m,n, t] · (∆g[m,n, t])2
=∑
(m,n,t)∈A
w[m,n, t] ·( 1
2MNT·(
∆c · ϕu,v,w[m,n, t] + ∆c∗ · ϕM−u,N−v,T−w[m,n, t])
)2
=1
4M2N2T 2·
∑
(m,n,t)∈A
w[m,n, t] ·(
2 · ∆c · ∆c∗ · ϕu,v,w[m,n, t] · ϕM−u,N−v,T−w[m,n, t]
+ ∆c2 · ϕu,v,w[m,n, t]2 + ∆c∗2
· ϕM−u,N−v,T−w[m,n, t]2)
=1
2M2N2T 2·(
|∆c|2∑
(m,n,t)∈A
w[m,n, t] · ϕu,v,w[m,n, t] · ϕM−u,N−v,T−w[m,n, t]
+ ℜ{
∆c2∑
(m,n,t)∈A
w[m,n, t] · (ϕu,v,w[m,n, t])2})
(4.26)
27
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
0 N2 N − 1
l
(u, v)
(M − u,N − v)
k
M − 1
M2
0
Abbildung 4.5: grau: Suchraum für 2D-DFT Basisfunktionen. weiß: konjugiert kom-
plexe Werte.
Wegen der Symmetrieeigenschaften dreidimensionaler, reellwertiger Signale ist der
Suchraum für die jeweils optimale Basisfunktion eingeschränkt. Der Suchraum für
die Basisfunktionen der zweidimensionalen Extrapolation ist in Abb. 4.5 dargestellt.
Abb. 4.6 zeigt den Suchraum für die 3D-DFT Basisfunktionen. In Abb. 4.6(a) sind
in blau die reellwertigen DFT-Werte hervorgehoben. In allen weiteren Abbildungen
kennzeichnet die Farbe lila den Symmetriepunkt der 3D-DFT, die Farbe rot den
Suchraum für die Basisfunktionen und die Farbe grün die dazu konjugiert komple-
xen Werte. In Abb. 4.6(b) sind die Symmetrieeigenschaften für die inneren Bild-
punkte und in den drei weiteren Abbildungen die Symmetrieeigenschaften für die
drei Schnittebenen mit p = T2, l = N
2und k = M
2markiert. In diesen Schnittebenen
sind die 2D Symmetrieeigenschaft aus Abb. 4.5 wieder zuerkennen. Abb. 4.6(f) zeigt
schließlich die 3D-DFT Symmetrieeigenschaften für die Randpunkte und die letzte
Abbildung stellt den Gesamtsuchraum im Ganzen dar. Die ausgewählte Basisfunk-
tion wird dann in die Menge der verwendeten Basisfunktionen K aufgenommen, falls
sie noch nicht in einem vorherigen Schritt verwendet wurde.
Kν+1 = Kν ∪ {u, v, w} if u, v, w /∈ Kν (4.27)
28
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
(a) (b)
(c) (d)
(e) (f)
29
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
Abbildung 4.6: blau: reellwertige Koeffizienten. lila: Symmetriepunkt. rot: Suchraum
für 3D-DFT Basisfunktionen. grün: konjugiert komplexe Werte. (a) reellwertige Ko-
effizienten (b) Symmetrieeigenschaften für innere Bildpunkte (c) Symmetrieeigen-
schaften in der Schnittebene p = T2
(d) Symmetrieeigenschaften in der Schnittebene
l = N2
(e) Symmetrieeigenschaften in der Schnittebene k = M2
(f) Symmetrieeigen-
schaften für Randbildpunkte (g) Gesamtsuchraum.
30
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
4.3 Frequenzbereichsdarstellung
Die Herleitung der dreidimensionalen Signalextrapolation ist bisher direkt im Orts-
bereich erfolgt. Durch die Verwendung der 3D-DFT Basisfunktionen und durch die
in Abschnitt 4.1.1 genannten Eigenschaften dieser Transformation erhält man die
Möglichkeit, eine weniger komplexe und zeitaufwendige Implementierung im Fre-
quenzbereich zu realisieren. Hierbei ist nur eine DFT-Hintransformation am Anfang
und eine DFT-Rücktransformation am Ende nötig. Alle dazwischen liegenden Re-
chenschritte lassen sich im Frequenzbereich formulieren und effizient auswerten. Im
Frequenzbereich können entscheidende Terme der komplexen Gleichungen als ver-
schobene 3D-DFT Spektren dargestellt und somit vereinfacht werden.
∑
(m,n,t)∈A
w[m,n, t] · ϕk,l,p[m,n, t] · ϕ∗u,v,w[m,n, t] = W ∗[k − u, l − v, p − w]
∑
(m,n,t)∈A
w[m,n, t] · ϕ∗k,l,p[m,n, t] · ϕ∗
u,v,w[m,n, t] = W [k + u, l + v, p + w]
∑
(m,n,t)∈A
w[m,n, t] · ϕk,l,p[m,n, t] · ϕu,v,w[m,n, t] = W ∗[k + u, l + v, p + w]
(4.28)
Damit lassen sich die Gleichungen 4.21 und 4.22 im Frequenzbereich folgendermaßen
beschreiben:
∆c · W [0, 0, 0] + ∆c∗ · W [2u, 2v, 2w] = 2MNT · R(ν)W [u, v, w] (4.29)
∆c · W ∗[2u, 2v, 2w] + ∆c∗ · W [0, 0, 0] = 2MNT · R(ν)∗
W [u, v, w] (4.30)
Multipliziert man nun Gl. 4.29 mit W[0,0,0] und subtrahiert davon Gl. 4.30, die
vorher mit W[2u,2v,2w] multipliziert wurde, erhält man Gl. 4.31.
2MNT ·(
R(ν)W [u, v, w] · W [0, 0, 0] − R
(ν)∗
W [u, v, w] · W [2u, 2v, 2w])
= ∆c ·(
W [0, 0, 0]2 − |W [2u, 2v, 2w]|2)
(4.31)
31
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
Das Auflösen dieser Gleichung nach ∆c führt zu Gl. 4.32.
∆c = 2MNT ·R
(ν)W [u, v, w] · W [0, 0, 0] − R
(ν)∗
W [u, v, w] · W [2u, 2v, 2w]
W [0, 0, 0]2 − |W [2u, 2v, 2w]|2(4.32)
Für ∆c∗ erhält man die konjugiert komplexe Lösung zu Gl. 4.32.
∆c∗ = 2MNT ·R
(ν)∗
W [u, v, w] · W [0, 0, 0] − R(ν)W [u, v, w] · W ∗[2u, 2v, 2w]
W [0, 0, 0]2 − |W [2u, 2v, 2w]|2(4.33)
Betrachtet man die diskreten Frequenzen, bei denen das Spektrum rein reell ist,
kann das Ergebnis für ∆c vereinfacht werden. Diese diskreten Frequenzen (vgl. Abb.
4.6(a)), nämlich (0, 0, 0), (M2, 0, 0), (0, N
2, 0), (0, 0, T
2), (M
2N2, 0), (M
2, 0, T
2), (0, N
2, T
2)
und (M2, N
2, T
2), werden in der Menge M zusammengefasst. Für die Koeffizienten und
die Basisfunktionen, deren Frequenzen in der Menge M enthalten sind, gilt:
∆c = ∆c∗ (4.34)
ϕu,v,w[m,n, t] = ϕ∗u,v,w[m,n, t] (4.35)
Das Einsetzen dieser Gleichungen in Gl. 4.29 führt zu Gl.4.36.
2 · ∆c · W [0, 0, 0] = 2MNT · R(ν)W [u, v, w] (4.36)
Zusammenfassend ergibt sich für die gesuchten Koeffizienten folgender Ausdruck:
∆c =
MNT · R(ν)[u,v,w]W [0,0,0]
, falls (u, v, w) ∈ M
2MNT ·R
(ν)W
[u,v,w]·W [0,0,0]−R(ν)∗W
[u,v,w]·W [2u,2v,2w]
W [0,0,0]2−|W [2u,2v,2w]|2, sonst
(4.37)
Gl. 4.33 liefert die entsprechende konjugiert komplexe Lösung.
Zur Auswahl der optimalen Basisfunktion wird auch die Restfehlerenergie in den
Frequenzbereich transformiert. Mit Hilfe der Gleichungen 4.28 lässt sich Gl. 4.26 im
Frequenzbereich folgendermaßen beschreiben:
∆E(ν)A =
1
2M2N2T 2·(
|∆c|2 · W [0, 0, 0] + ℜ{
∆c2 · W ∗[2u, 2v, 2w]})
(4.38)
32
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
Für den Term |∆c|2 ·W [0, 0, 0] = ∆c ·∆c∗ ·W [0, 0, 0] erhält man mit Hilfe der Glei-
chungen 4.32 und 4.33 folgenden Ausdruck:
|∆c|2 · W [0, 0, 0] =4M2N2T 2
(W [0, 0, 0]2 − |W [2u, 2v, 2w]|2)2 ·
(
|R(ν)W [u, v, w]|2 · W [0, 0, 0]3
− R(ν)W [u, v, w]2 · W [0, 0, 0]2 · W ∗[2u, 2v, 2w]
− R(ν)∗W [u, v, w]2 · W [0, 0, 0]2 · W [2u, 2v, 2w]
+ |R(ν)W [u, v, w]|2 · W [0, 0, 0] · |W [2u, 2v, 2w]|2
)
(4.39)
Für den Term ∆c2 · W ∗[2u, 2v, 2w] gilt:
∆c2 · W ∗[2u, 2v, 2w] =4M2N2T 2
(W [0, 0, 0]2 − |W [2u, 2v, 2w]|2)2 ·
(
|R(ν)W [u, v, w]|2 · W ∗[2u, 2v, 2w] · W [0, 0, 0]2
− 2 · |R(ν)W [u, v, w]|2 · W [0, 0, 0] · |W [2u, 2v, 2w]|2
+ R(ν)∗W [u, v, w]2 · W [2u, 2v, 2w] · |W [2u, 2v, 2w]|2
)
(4.40)
Setzt man nun diese beiden Gleichungen in Gl. 4.38 ein, ergibt sich für die Ab-
nahme der Restfehlerenergie Gl. 4.41.
∆E(ν)A =
2
(W [0, 0, 0]2 − |W [2u, 2v, 2w]|2)2 ·
(
|R(ν)W [u, v, w]|2 · W [0, 0, 0] ·
(
W [0, 0, 0]2 − |W [2u, 2v, 2w]|2)
−ℜ{
R(ν)W [u, v, w]2 · W ∗[2u, 2v, 2w]
}
· W [0, 0, 0]2
+ℜ{
R(ν)∗W [u, v, w]2 · W [2u, 2v, 2w]
}
· |W [2u, 2v, 2w]|2)
= 2 ·|R
(ν)W [u, v, w]|2 · W [0, 0, 0] −ℜ
{
R(ν)W [u, v, w]2 · W ∗[2u, 2v, 2w]
}
(W [0, 0, 0]2 − |W [2u, 2v, 2w]|2)
(4.41)
33
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
Berücksichtigt man auch die diskreten Frequenzen, bei denen das Spektrum reell ist,
lässt sich die Abnahme der Fehlerenergie im Frequenzbereich wie folgt darstellen:
∆E(ν)A =
2 ·R
(ν)W
[u,v,w]2
W [0,0,0], falls (u, v, w) ∈ M
2 ·|R
(ν)W
[u,v,w]|2·W [0,0,0]−ℜ{R(ν)W
[u,v,w]2·W ∗[2u,2v,2w]}
(W [0,0,0]2−|W [2u,2v,2w]|2), sonst
(4.42)
Es wird nun diejenige Basisfunktion mit den Frequenzen u, v und w ausgewählt, die
diese Gleichung maximiert. Auf Grund der Symmetrieeigenschaften der 3D-DFT
kann die Suchregion für eine geeignete Basisfunktion auf etwa das halbe Volumen,
wie in den Abbildungen 4.6 dargestellt, begrenzt werden.
Gemäß Gl. 4.16 und auf Grund der Linearität der diskreten Fourier Transformation,
kann das Spektrum des gewichteten Restfehlers nach jedem Iterationsschritt ange-
passt werden:
∑
(m,n,t)∈A
w[m,n, t] · r(ν+1) · ϕ∗k,l,p[m,n, t] =
∑
(m,n,t)∈A
(
w[m,n, t] · r(ν) · ϕ∗k,l,p[m,n, t]
− w[m,n, t] ·1
2MNT·(
∆c · ϕ∗k,l,p[m,n, t] · ϕu,v,w[m,n, t]
+ ∆c∗ · ϕ∗k,l,p[m,n, t]) · ϕ∗
u,v,w[m,n, t])
=⇒ R(ν+1)W [k, l, p] = R
(ν)W [k, l, p] −
1
2MNT·(
∆c · W [k − u, l − v, p − w]
+∆c∗ · W [k + u, l + v, p + w])
(4.43)
Somit lassen sich alle für die sukzessive Approximation notwendigen Operationen
effizient im dreidimensionalen Frequenzbereich durchführen.
Der Algorithmus für die dreidimensionale frequenzselektive Signalextrapolation ist
in Abb. 4.7 in einem Flussdiagramm zusammenfassend dargestellt. Wie bereits er-
wähnt, bricht der Algorithmus dann ab, wenn die Abnahme der gewichteten Rest-
fehlerenergie unter einen definierten Schwellwert fällt oder die maximale Anzahl an
Iterationen überschritten wird. Obwohl der Algorithmus im bekannten Bereich A
34
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
Ersetzen des fehlenden
Blockes mit dem
extrapolierten Signal
g[m,n,t] für (m,n,t) B
Energieabnahme EA
(k,l,p)
Ja
Nein
-
Restfehlersignal
Signalextrapolation
Parametrisches Modell
( )
, , , ,
( , , )
, , , ,
1[ , , ] [ , , ]
2
[ , , ]
v
k l p k l p
k l p K
M k N l T p M k N l T p
g m n t c m n tMNT
c m n t
Originalsignal
f[m,n,t]
Initialisierung
g0[m,n,t]
( )
A minE < E
maxit
Koeffizientenerneuerung für
(u,v,w)
Auswahl der Basisfunktion
u,v,w
Berechnung des
Restfehlersignals R( +1)
A
Abbildung 4.7: Flussdiagramm der dreidimensionalen frequenzselektiven Extra-
polation.
35
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
konvergiert, sind diese beiden Abbruchkriterien sinnvoll, um den Rechenaufwand
in Grenzen zu halten. Durch Anwendung der inversen DFT Transformation wird
nach Beendigung der Iterationsschleife das parametrische Modell vom Frequenzbe-
reich in den Ortsbereich zurück transformiert (vgl. Gl. 4.44) und somit in den bisher
unbekannten Bildbereich extrapoliert.
g[m,n, t] = IDFTM,N,T {G[k, l, p]} (4.44)
Anschließend wird der zu rekonstruierende Block - in diesem Fall der fehlende Be-
reich B - aus dem Signal „herausgeschnitten“ und an der entsprechenden Stelle im
Bild eingesetzt. Da alle Formeln im Frequenzbereich formuliert werden können, müs-
sen insgesamt nur zwei Transformationen durchgeführt werden: eine Hintransforma-
tion des Restfehlers zu Beginn des iterativen Algorithmus und eine Rücktransfor-
mation des parametrischen Modells nach Abbruch des Algorithmus.
4.4 Gewichtung des Fehlermaßes
Um eine gute Approximation des fehlenden Bildbereichs zu erzielen, ist es sinnvoll,
Bildpunkte, die nahe am zu ersetzenden Bildbereich liegen, stärker zu gewichten
als weiter entfernte Bildpunkte. Diese sollen zwar in die Berechnung einfließen, aber
mit zunehmender Distanz zum gesuchten Bildbereich an Bedeutung verlieren, da die
Korrelation zwischen dem Bildinhalt des fehlenden und des umliegenden Bereichs
mit der Entfernung abnimmt.
Mit Hilfe der Gewichtungsfunktion w[m,n, t] in Gl. 4.11 kann eine solche distanz-
abhängige Gewichtung der umliegenden Bildpunkte bei der Berechnung des para-
metrischen Modells berücksichtigt werden. Ein Beispiel für eine nicht distanzab-
hängige Gewichtungsfunktion wäre eine binäre Gewichtung. Hier würden bei der
Berechnung der Restfehlerenergie in Gl. 4.10 alle zur Rekonstruktion verwendeten
Bildpunkte mit 1 gewichtet werden. Da in diesem Fall sowohl nahe liegende als auch
weit entfernte Bildinformation gleich gewichtet wird, lassen sich mit einer solchen
binären Gewichtungsfunktion, wie nicht anders zu erwarten, nur mäßige Ergebnisse
36
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
erzielen (vgl. [1]). Verwendet man dagegen Korrelationsmodelle, die eine distanzab-
hängige Gewichtung der Bildpunkte berücksichtigen, können erheblich bessere Er-
gebnisse erreicht werden. Die Verwendung eines isotropen Korrelationsmodells führt
bei der zweidimensionalen Signalextrapolation zu einer Verbesserung der Bildquali-
tät von bis zu 1.8 dB für 8 × 8 Blöcke und bis zu 2.2 dB für 16 × 16 Blöcke (vgl.
[2]). Für die zweidimensionale Extrapolation liefert das isotrope Korrelationsmodell
gegenüber anderen Modellen das beste Ergebnis und soll deshalb auch für die drei-
dimensionale Extrapolation als Gewichtungsfunktion getestet werden.
Das zweidimensionale isotrope Korrelationsmodell, das der Autokorrelationsfunkti-
on des zweidimensionalen autoregressiven (AR) Modells gleicht (s. Abb. 4.8), ist für
einen Block der Größe M × N folgendermaßen definiert:
wisotrop[m,n] = ρ
q(m−M−1
2 )2+(n−N−1
2 )2
, ρ < 1 (4.45)
Aus der Formel ist ersichtlich, dass der Einfluss der Bildpunkte nur vom Betrag
ihres Abstandes zum Mittelpunkt der betrachteten Bildregion bei (M−12
,N−12
) ab-
hängig ist. Der Einfluss nimmt also radialsymmetrisch mit der Entfernung ab. Der
Parameter ρ bestimmt die Ausmaße der Funktion und muss geeignet gewählt wer-
den, um ein zufrieden stellendes Ergebnis zu erhalten. Den Verlauf einer solchen
isotropen AR-Funktion zeigt Abb. 4.9. Hier ist in der dritten Dimension der Be-
trag der Gewichtungsfunktion in Abhängigkeit der Parameter m und n und damit
in Abhängigkeit der Distanz vom Mittelpunkt eines quadratischen 42 × 42 Blockes
dargestellt (fehlender Block der Größe 16 × 16, 13 verwendete Randbildpunkte).
Aufgrund der guten Ergebnisse in [2] wird nun die im Zweidimensionalen definierte
isotrope Gewichtungsfunktion wisotrop auch zur Gewichtung der dreidimensionalen
Restfehlerenergie verwendet.
Eine Möglichkeit besteht darin, das Korrelationsmodell auf eine dritte Dimension
zu erweitern.
wisotrop[m,n, t] = ρ
q(m−M−1
2 )2+(n−N−1
2 )2+(t−T−1
2 )2
, ρ < 1 (4.46)
Abb. 4.10 zeigt ein dreidimensionales isotropes Korrelationsmodell mit Kugeln um
den Mittelpunkt (M−12
, N−12
, T−12
) als Orte konstanter Korrelation. Vorteil davon ist,
37
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
0 N−12
n
m
M−12
0
Abbildung 4.8: Isotropes Korrelationsmodell mit Kreisen als Orte konstanter Kor-
relation.
dass alle Bildpunkte mit gleicher Distanz zum Mittelpunkt, sowohl in örtlicher als
auch zeitlicher Richtung, gleich gewichtet werden. Allerdings kann man aufgrund
der Formel für das dreidimensionale Korrelationsmodell (vgl. Gl. 4.46), die örtliche
und zeitliche Korrelation nicht getrennt voneinander betrachten.
Eine andere Möglichkeit ist, jedes Bild, das für das dreidimensionale Verfahren ver-
wendet wird, mit der zweidimensionale isotropen Korrelationsfunktion zu gewich-
ten. Die zeitliche Abhängigkeit in der dritten Dimension kann zum Beispiel durch
Variation des Korrelationswertes ρ in die Gewichtung einfließen. Auf die Wahl einer
geeigneten Gewichtungsfunktion wird im folgenden Kapitel näher eingegangen.
Treten nicht nur Blockverluste, sondern auch Zeilenverluste auf, dann wird bei der
Signalextrapolation eines Blockes der vorherige bereits wiederhergestellte Block mit
0.1 gewichtet (vgl. 4.9(b)). Auf diese Weise können auch Zeilenverluste, wie in [2]
beschrieben, erfolgreich verschleiert werden.
38
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
0
20
40
0
20
400
0.1
0.2
0.3
0.4
ρ=0.80
m n
wis
otr
op[m
,n]
(a)
0
20
40
0
20
400
0.1
0.2
0.3
0.4
ρ=0.80
m n
wis
otr
op[m
,n]
(b)
Abbildung 4.9: Fläche einer 2D isotropen AR-Funktion zur Gewichtung des Fehler-
maßes (ρ=0.8). Fehlender Block der Größe 16× 16 (Bereich B). 13 Randbildpunkte
(Bereich A), deren Bildinhalt zur Rekonstruktion verwendet wird. 4.9(a): Blockver-
lust. 4.9(b): Zeilenverlust.
39
KAPITEL 4. 3D FREQUENZSELEKTIVE EXTRAPOLATION
(a)
(b)
Abbildung 4.10: Volumen einer 3D isotropen AR-Funktion zur Gewichtung des
Fehlermaßes (ρ=0.8). Kugeln als Orte konstanter Korrelation. 4.10(a): 21 Bilder.
4.10(b): 7 Bilder.
40
Kapitel 5
Anwendung des Verfahrens zur
Fehlerverschleierung
In diesem Kapitel wird die Anwendung des dreidimensionalen Extrapolationsver-
fahrens zur Verschleierung von Block- und Zeilenverlusten in uncodierten YUV-
Sequenzen untersucht. Da zur Berechnung des parametrischen Modells zunächst nur
vorherige und/oder nachfolgende Bilder verwendet werden, deren Bildinhalt fehler-
frei ist, wird zur Beurteilung des Verfahrens nur die Bildqualität des verschleierten
Bereichs betrachtet. Die Auswirkungen auf nachfolgende Bilder durch Fehlerfort-
pflanzung werden erst im nächsten Kapitel behandelt.
5.1 Messung der objektiven Bildqualität (PSNR)
Zur Beurteilung der Güte der dreidimensionalen Extrapolation ist die Kenntnis des
Originalbildes, in dem sich der beschädigte oder fehlende Block befindet, notwendig.
Als Maß für die Qualität der Approximation dient der „PSNR“-Wert (Peak Signal
to Noise Ratio), der für den Bereich B (s. Abb. 4.3) folgendermaßen definiert ist:
PSNRB[dB] = 10 · lg
{
2552
∑
(m,n,t)∈B (f [m,n, t] − g[m,n, t])2 · NB
}
(5.1)
mit NB = Anzahl der Bildpunkte im Bereich B
41
KAPITEL 5. FEHLERVERSCHLEIERUNG
Für jeden Bildpunkt des Bereiches B wird die Differenz zwischen dem originalen In-
tensitätswert f [m,n, t] und dem approximierten Intensitätswert g[m,n, t] berechnet.
Dann wird das Quadrat des Spitzenwertes zur normierten Summe der quadrierten
Differenzen ins Verhältnis gesetzt. Bei einer 8-Bit Auflösung pro Bildkomponente
beträgt der Spitzenwert 255. Je kleiner der PSNR-Wert, desto schlechter ist die
Ähnlichkeit des parametrischen Modells zum Originalsignal. Je größer der PSNR-
Wert, desto besser ist die Bildqualität des approximierten Bereiches. Für exakt die
gleichen Intensitätswerte gilt: PSNRB[dB] −→ ∞
Der PSNR-Wert dient somit als Maß für die Ähnlichkeit zweier Bildbereiche.
Im Folgenden werden sowohl Block- als auch Zeilenverluste in YUV-Sequenzen, die
im CIF-Format (352 × 288 Bildpunkte) vorliegen, betrachtet. Für den ersten Fall
werden 25 Blöcke der Größe 16× 16 - angeordnet in einem 5× 5 Muster - über das
Bild verteilt (s. Abb. 5.1(a)). Nach Anwendung der dreidimensionalen Extrapolation
wird dann für die Luminanzkomponente Y der resultierende PSNR-Wert für die Flä-
che dieser 25 Blöcke ermittelt. Für den zweiten Fall werden fünf Zeilen, die jeweils
aus 13 aneinander grenzenden 16 × 16 Blöcken bestehen (s. Abb. 5.1(b)), über das
Bild verteilt. Anhand von PSNR-Messungen wird untersucht, welche Parameter für
die dreidimensionale frequenzselektive Extrapolation die besten Ergebnisse liefern.
Abbildung 5.1: Sequenz „Flowergarden“: Links: Anordnung von 25 Blöcken mit 16×
16 Bildpunkten. Rechts: Anordnung von 5 Zeilen bestehend aus je 13 Blöcken mit
16 × 16 Bildpunkten.
42
KAPITEL 5. FEHLERVERSCHLEIERUNG
5.2 Parameterwahl
Für die dreidimensionale Approximation spielen insgesamt sechs Parameter eine Rol-
le. Zwei dieser Parameter sind für den Abbruch des iterativen Algorithmus zuständig.
Der Algorithmus bricht entweder ab, wenn eine maximale Anzahl an Iterationen
durchgeführt wurde oder wenn die Abnahme der gewichteten Fehlerenergie einen
definierten Schwellwert Emin unterschreitet. Auf diese beiden Parameter wird in
Abschnitt 5.2.1 eingegangen. Ein weiterer wichtiger Parameter, der in Abschnitt
5.2.2 behandelt wird, ist die Anzahl der vorherigen und nachfolgenden Bilder, deren
Information zur Schätzung des unbekannten Bildbereichs verwendet wird. Eben-
falls wichtig sind die FFT-Längen für die 3D Diskrete Fourier Transformation. Wel-
che FFT-Längen die besten Ergebnisse liefern, wird in Abschnitt 5.2.3 erläutert.
Die letzten beiden Abschnitte beschäftigen sich mit der Wahl einer geeigneten Ge-
wichtungsfunktion und einer geeigneten Approximationsregion. Eine geeignete Ge-
wichtung der Fehlerenergie ist nötig, um die Information nahe liegender Bildpunkte
höher zu gewichten als die Information entfernter Punkte (vgl. Abschnitt 4.4). Un-
ter der Approximationsregion versteht man den Bereich an informationstragenden
Bildpunkten, die in die Berechnung des parametrischen Modells einfließen. Aus Sym-
metriegründen werden alle vier Seiten eines 16× 16 Blockes um eine gleiche Anzahl
an Bildpunkten erweitert. Die Größe der Approximationsregion wird durch die An-
zahl verwendeter Randbildpunkte bezüglich einer Blockseite angegeben. Für jedes
zur Extrapolation verwendete vorherige und/oder nachfolgende Bild wird die gleiche
Approximationsregion wie im zweidimensionalen Bild, in dem sich der Blockverlust
befindet, ausgewählt. In den folgenden Abschnitten wird die Wahl eines geeigneten
Parametersets für die Extrapolation von 16 × 16 Blöcken anhand von ausgewerte-
ten Daten begründet. Die entsprechenden Auswertungen für Zeilenverluste sind im
Anhang beigefügt und werden an dieser Stelle nur kurz erwähnt.
43
KAPITEL 5. FEHLERVERSCHLEIERUNG
5.2.1 Abbruchkriterium
Um den iterativen Algorithmus der dreidimensionalen Extrapolation zu beenden,
muss die erwartete Qualität des parametrischen Modells zu Beginn der Bearbeitung
festgelegt werden. Als Maß hierfür dient die Abnahme der mittleren quadratischen
Abweichung pro Bildpunkt (vgl. Gl. 4.26) zwischen dem parametrischen Modell
g[m,n, t] und dem Originalsignal f [m,n, t] vom ν-ten zum (ν + 1)-ten Iterations-
schritt. Unterschreitet die Abnahme der gewichteten Fehlerenergie pro Bildpunkt
einen definierten Schwellwert Emin, so bricht der Algorithmus die Berechnung ab.
Ein zweites Abbruchkriterium ist das Erreichen einer maximal zulässigen Anzahl an
Iterationsschritten. Wird der Schwellwert für die Änderung der gewichteten Fehler-
energie innerhalb einer maximalen Anzahl an Iterationen nicht unterschritten, so
greift das zweite Abbruchkriterium und der Algorithmus terminiert, obwohl die er-
wünschte Qualität noch nicht erreicht ist. Dieses Abbruchkriterium ist vor allem
wichtig, um bei der Nachbildung von hochfrequenten Texturen, die viele Iterations-
schritte zur Schätzung benötigen, den Rechenaufwand und die damit verbundene
Rechenzeit in Grenzen zu halten.
Für die folgenden Auswertungen wurde jeweils ein Bild aus den Sequenzen „Flower-
garden“, „Foreman“, „Table Tennis“ und „Crew“ verwendet (s. Abb. 5.2). Gemäß
Abb. 5.1(a) wurden über jedes dieser Bilder 25 16 × 16 Blöcke verteilt. In Abb. 5.3
sind für jedes der Bilder die PSNR-Werte in Abhängigkeit der durchgeführten An-
zahl an Iterationen aufgetragen. Hierfür wurde der PSNR-Wert für bis zu maximal
1000 Iterationen in einem Intervall von 25 Iterationen berechnet. Für diese Auswer-
tungen wurde Emin = 0.0 gewählt, um das Abbruchkriterium für die Abnahme der
gewichteten Fehlerenergie außer Kraft zu setzen. Als Gewichtungsfunktion wurde
das dreidimensionale isotrope Korrelationsmodell (vgl. Gl. 4.46) mit ρ = 0.8 ver-
wendet. Die Transformationslänge der dreidimensionalen Diskreten Fourier Trans-
formation (3D DFT) ist von den Ausmaßen der Blöcke und von der Anzahl der
verwendeten Bilder abhängig. Um eine schnelle Berechnung mittels einer geeigneten
„FFT“ (Fast Fourier Transformation) zu ermöglichen, sollte die verwendete FFT-
44
KAPITEL 5. FEHLERVERSCHLEIERUNG
(a) (b)
(c) (d)
Abbildung 5.2: Verwendete Sequenzen. 5.2(a): 9. Bild aus der Sequenz „Flower-
garden“. 5.2(b): 205. Bild aus der Sequenz „Foreman“. 5.2(c): 82. Bild aus der Se-
quenz „Table Tennis“. 5.2(d): 316. Bild aus der Sequenz „Crew“.
45
KAPITEL 5. FEHLERVERSCHLEIERUNG
Länge eine Zweier-Potenz sein. Für die ersten beiden Dimensionen wurde gemäß
den Ergebnissen in [2] eine feste FFT-Länge von 64× 64 gewählt. Damit die gesam-
te Information des Bildsignals repräsentiert wird, müssen die jeweiligen Ausschnitte
- bestehend aus dem 16 × 16 Block und den verwendeten Randbildpunkten - bis
zur verwendeten FFT-Größe mit „0“-Bildpunkten aufgefüllt werden, was als „zero
padding“ bezeichnet wird. Für die im Folgenden betrachteten Auswertungen wur-
de zur Approximation des unbekannten Bildbereichs zusätzlich die Information aus
zwei vorherigen und zwei nachfolgenden Bildern der jeweiligen Sequenz verwendet
und für die FFT in zeitlicher Richtung eine Länge von 32 festgelegt. In Abb. 5.3
0 200 400 600 800 100022
23
24
25
26
27
28
29
Anzahl an Iterationen
PS
NR
[dB
]
"Flowergarden"
Randpixel=3Randpixel=6Randpixel=9Randpixel=12Randpixel=15
0 200 400 600 800 100032
33
34
35
36
37
38
39
Anzahl an Iterationen
PS
NR
[dB
]
"Foreman"
Randpixel=3Randspixel=6Randpixel=9Randpixel=12Randpixel=15
0 200 400 600 800 100025
26
27
28
29
30
31
32
Anzahl an Iterationen
PS
NR
[dB
]
"Table Tennis"
Randpixel=3Randpixel=6Randpixel=9Randpixel=12Randpixel=15
0 200 400 600 800 100028
29
30
31
32
33
34
35
Anzahl an Iterationen
PS
NR
[dB
]
"Crew"
Randpixel=3Randpixel=6Randpixel=9Randpixel=12Randpixel=15
Abbildung 5.3: PSNR-Messwerte in Abhängigkeit der maximalen Anzahl an
Iterationen. Messung über 25 Blöcke mit 16 × 16 Bildpunkten. Parameterset:
Emin=0.0 (kein Abbruchkriterium), NV =2, NN=2, FFT-Länge=32, ρ=0.8.
46
KAPITEL 5. FEHLERVERSCHLEIERUNG
steigt bei der „Flowergarden“-Sequenz der PSNR-Wert für alle Kurven stetig bis zu
200 durchgeführten Iterationen an. Für 9, 12 und 15 Randbildpunkte erhöht sich der
PSNR-Wert bis etwa 400 Iterationen erreicht sind und bleibt dann einigermaßen kon-
stant. Die größte Verbesserung des PSNR-Wertes zwischen 200 und 400 Iterationen
erhält man für die magentarote Kurve. Hier wird eine Verbesserung von 0.86 dB
(PSNR(200) = 27.46 dB, PSNR(400) = 28.32 dB) erreicht. Da die doppelte An-
zahl an Iterationen mit einem hohen Rechenaufwand verbunden ist und „nur“ eine
Verbesserung von maximal 0.86 dB liefert, erscheint es nicht sinnvoll, die maximale
Anzahl an Iterationen höher als 200 zu wählen.
Für die Auswertungen der drei anderen Bilder aus den Sequenzen „Foreman“, „Table
Tennis“ und „Crew“ kann ein ähnliches Verhalten beobachtet werden. Bei der „Fore-
man“ und „Table Tennis“-Sequenz liegt das Maximum des PSNR-Wertes der blauen
Kurve bei einer geringeren Anzahl an Iterationen, was bedeutet, dass sich der PSNR-
Wert bei 200 Iterationen bereits wieder verschlechtert hat. Entsprechendes gilt auch
für die „Crew“-Sequenz, bei der sich für nahezu alle Kurven der maximale PSNR-
Wert bei einer geringeren Anzahl an Iterationen befindet. Hier sollte auf jeden Fall
das Abbruchkriterium für die Abnahme der gewichteten Fehlerenergie der limitie-
rende Faktor sein. Spielt die Rechenzeit eine erhebliche Rolle, kann die maximale
Anzahl an Iterationen beispielsweise auf 150 oder weniger herabgesetzt werden.
In Abb. 5.4 sind für jedes Bild links die PSNR-Werte in Abhängigkeit des Schwell-
wertes Emin und rechts die dazu durchschnittlich benötigten Anzahlen an Iterationen
dargestellt. Die durchschnittlich benötigte Anzahl an Iterationen berechnet sich aus
der Summe der benötigten Iterationen für die Y-Komponente eines jeden Blockes
geteilt durch die Anzahl der Blöcke. Die maximale Anzahl an Iterationen wurde für
diese Auswertungen auf 500 begrenzt, so dass diese Schranke nur für Emin = 0.0
den Algorithmus terminiert. Je kleiner Emin, desto besser der PSNR-Wert und da-
mit die Bildqualität. Betrachtet man für die verschiedenen Schwellwerte sowohl den
PSNR-Wert als auch die dazu durchschnittlich benötigte Anzahl an Iterationen,
stellt sich Emin = 0.1 als gute Wahl heraus. Für alle Bilder wird bei einem Schwell-
wert von Emin = 0.1 ein PSNR-Wert erreicht, der nahe an den Endwert nach 500
47
KAPITEL 5. FEHLERVERSCHLEIERUNG
5 10 1524
25
26
27
28
29
30
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Flowergarden"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
5 10 1532
33
34
35
36
37
38
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Foreman"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Foreman"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
5 10 1527
28
29
30
31
32
33
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Table Tennis"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
48
KAPITEL 5. FEHLERVERSCHLEIERUNG
5 10 1528
29
30
31
32
33
34
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Crew"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
Abbildung 5.4: links: PSNR-Messwerte in Abhängigkeit des Schwellwertes Emin.
rechts: durchschnittliche Anzahl an Iterationen in Abhängigkeit des Schwellwertes
Emin. Messung über 25 Blöcke mit 16 × 16 Bildpunkten. Parameterset: maximale
Anzahl an Iterationen=200, NV =2, NN=2, FFT-Länge=32, ρ=0.8.
Iterationen herankommt. Bei der Sequenz „Flowergarden“ wäre hier die maximale
Anzahl an Iterationen für viele Blöcke der limitierende Faktor, was daran liegt, dass
die hochfrequente Struktur der Blumenwiese viele Iterationen für eine gute Nach-
bildung benötigt. Die „Foreman“-Sequenz ist eine Sequenz mit wenig Bewegung und
vielen glatten Bereichen. Zur Schätzung des Bildinhalts der 25 Blöcke genügen we-
nige Iterationen verglichen mit der „Flowergarden“- oder „Table Tennis“-Sequenz.
Man könnte sich anhand dessen überlegen, ob man den Schwellwert an die Bewe-
gung des Bildes anpasst und bei geringer Bewegung einen kleineren Schwellwert als
Abbruchkriterium wählt. Für einen Schwellwert Emin = 0.05 könnte man bei der
„Foreman“-Sequenz eine Verbesserung des PSNR-Wertes von bis zu 1 dB erreichen.
Die Bewegung des Bildes könnte beispielsweise mit Hilfe der mittleren Länge der Be-
wegungsvektoren, die für die Übertragung des Bildes berechnet wurden, geschätzt
werden. Voraussetzung hierfür ist, dass diese Vektoren nahezu vollständig zur Verfü-
gung stehen. Bei der „Table Tennis“-Sequenz werden weniger Iterationen als bei der
„Flowergarden“-Sequenz, aber mehr Iterationen als bei der „Foreman “-Sequenz benö-
tigt, um eine entsprechende Bildqualität zu erhalten. Das liegt daran, dass in dieser
49
KAPITEL 5. FEHLERVERSCHLEIERUNG
Sequenz sowohl bewegte Bereiche, nämlich die Hand des Tischtennisspielers, als auch
unbewegte und glatte Bereiche, beispielsweise der Tisch oder die Wand, nachgebildet
werden. Bei der „Flowergarden“-Sequenz wäre vermutlich ein größerer Schwellwert
aufgrund der wesentlich geringeren durchschnittlichen Anzahl an Iterationen und
einem dennoch guten PSNR-Wert eine sinnvolle Wahl. Die Auswertungen für die
„Crew“-Sequenz zeigen, dass für Emin = 0.25 und Emin = 0.5 fast genauso gu-
te PSNR-Werte wie für Emin = 0.1 erreicht werden. Obwohl die durchschnittliche
Anzahl an Iterationen für Emin = 0.1 geringer als bei der „Flowergarden“- oder
„Table Tennis“-Sequenz ist, könnte man sich durch einen höheren Schwellwert einige
Iterationen sparen und trotzdem nahezu gleichwertige Qualität erhalten. Unter der
Annahme, dass Rechenaufwand und -zeit eine nebensächliche Rolle spielen und ein
Parameterset zu finden ist, das für möglichst viele Sequenzen ein sehr gutes Ergebnis
liefert, wird als Abbruchkriterium eine maximale Anzahl von 200 Iterationen und
ein Schwellwert von Emin = 0.1 gewählt.
5.2.2 Anzahl verwendeter Bilder
Ein weiterer Parameter, der für die dreidimensionale Extrapolation eine große Rolle
spielt, ist die Anzahl vorheriger Bilder (NV ) und nachfolgender Bilder (NN), deren
Information zur Schätzung des parametrischen Modells verwendet wird. Ein besseres
Ergebnis wird immer erreicht, wenn sowohl vorherige als auch nachfolgende Bilder
zur Verfügung stehen (s. Abb. 5.5). Ob nun ein, zwei oder drei Bilder am besten
geeignet sind, hängt von der Bewegung in zeitlicher Richtung ab. Bei Sequenzen mit
geringer Bewegung, wie z.B. der „Foreman“-Sequenz und der „Crew“-Sequenz, sind
die Ergebnisse für jeweils ein, zwei oder drei vorherige und nachfolgende Bilder sehr
ähnlich. Bei der „Flowergarden“-Sequenz und „Table Tennis“-Sequenz dagegen, er-
hält man bei Verwendung von jeweils zwei oder drei Bildern einen deutlich höheren
PSNR-Wert als bei Verwendung von jeweils nur einem Bild. Stehen nur vorherige
Bilder zur Verfügung, ist für alle vier Sequenzen der PSNR-Wert bei Verwendung
von nur einem Bild am niedrigsten. Anhand dieser Auswertungen zeichnet sich ab,
50
KAPITEL 5. FEHLERVERSCHLEIERUNG
5 10 1518
20
22
24
26
28
30
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
5 10 1528
30
32
34
36
38
40
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Foreman"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
5 10 1522
24
26
28
30
32
34
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
5 10 1524
26
28
30
32
34
36
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
Abbildung 5.5: PSNR-Messwerte in Abhängigkeit der Anzahl verwendeter Bilder.
Messung über 25 Blöcke mit 16 × 16 Bildpunkten. Parameterset: maximale Anzahl
an Iterationen=200, Emin=0.1, FFT-Länge=32, ρ=0.8.
dass die Wahl von zwei vorherigen und nachfolgenden Bildern für alle Sequenzen
ein zufriedenstellendes Ergebnis liefert. Stehen keine nachfolgenden Bilder zur Ver-
fügung, erhält man für zwei oder drei vorherige Bilder das beste Ergebnis. Für die
in Abschnitt 5.3 präsentierten Ergebnisse wurden zwei verschiedene Parametersets
verwendet. Bei Parameterset A wurden zwei vorherige und zwei nachfolgende Bilder
verwendet. Bei Parameterset B wurden für den Fall, dass keine nachfolgenden Bilder
zur Verfügung stehen, zur Schätzung des parametrischen Modells nur zwei vorherige
Bilder verwendet.
51
KAPITEL 5. FEHLERVERSCHLEIERUNG
5.2.3 FFT Größe
Wie bereits in Abschnitt 5.2.1 erwähnt, wird eine FFT-Länge von 64×64 für die ers-
ten beiden Dimensionen als geeignet angenommen. In Abb. 5.6 sind die PSNR-Werte
in Abhängigkeit der FFT-Länge für die dritte Dimension, die Zeit t, aufgetragen.
Die PSNR-Werte für eine FFT-Länge von 8 liegen für alle Sequenzen deutlich unter
den PSNR-Werten für größere FFT-Längen. Da die Ergebnisse für FFT-Längen von
16, 32 und 64 sehr nahe beieinander liegen, erscheint es daher sinnvoll, eine FFT
der Länge 16 oder 32 zu verwenden, um die Rechenzeit nicht unnötig zu erhöhen.
5 10 1525.5
26
26.5
27
27.5
28
28.5
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
5 10 1535
35.5
36
36.5
37
37.5
38
Anzahl verwendeter Randpixel
PS
NR
[dB
]"Foreman"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
5 10 1528
28.5
29
29.5
30
30.5
31
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
5 10 1530
30.5
31
31.5
32
32.5
33
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
Abbildung 5.6: PSNR-Messwerte in Abhängigkeit der FFT-Länge für die dritte Di-
mension. Messung über 25 Blöcke mit 16×16 Bildpunkten. Parameterset: maximale
Anzahl an Iterationen=200, Emin=0.1, NV =2, NN=2, ρ=0.8.
52
KAPITEL 5. FEHLERVERSCHLEIERUNG
5.2.4 Gewichtungsfunktion
5 10 1524
25
26
27
28
29
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
5 10 1533
34
35
36
37
38
Anzahl verwendeter RandpixelP
SN
R [d
B]
"Foreman"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
5 10 1527
28
29
30
31
32
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
5 10 1528
29
30
31
32
33
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
Abbildung 5.7: PSNR-Messwerte in Abhängigkeit des Korrelationskoeffizienten.
Messung über 25 Blöcke mit 16 × 16 Bildpunkten. Parameterset: maximale Anzahl
an Iterationen=200, Emin=0.1, NV =2, NN=2, FFT-Länge=32.
In Abb. 5.7 sind für alle vier Sequenzen die PSNR-Werte in Abhängigkeit des
Korrelationskoeffizienten ρ bei Verwendung des in Abschnitt 4.4 definierten drei-
dimensionalen isotropen Korrelationsmodells (vgl. Gl. 4.46) dargestellt. Die besten
PSNR-Werte ergeben sich für ρ = 0.75, ρ = 0.8 und ρ = 0.85. In Abschnitt 4.4
wurde bereits auf die Möglichkeit hingewiesen, jedes Bild, das für die dreidimensio-
nale Extrapolation verwendet wird, mit der in Gl. 4.45 angegebenen zweidimensio-
nalen isotropen Korrelationsfunktion zu gewichten und den Korrelationskoeffizien-
ten entlang der dritten Dimension zu variieren, um so eine zeitliche Abhängigkeit
53
KAPITEL 5. FEHLERVERSCHLEIERUNG
2D isotropes Korrelationsmodell Flowergarden Crew
τ − 2 τ − 1 τ
ρ = 0.90 ρ = 0.85 ρ = 0.80 26.07 dB 29.92 dB
ρ = 0.85 ρ = 0.80 ρ = 0.75 26.53 dB 29.45 dB
ρ = 0.80 ρ = 0.75 ρ = 0.70 26.77 dB 30.25 dB
ρ = 0.70 ρ = 0.75 ρ = 0.80 23.90 dB 29.53 dB
ρ = 0.75 ρ = 0.80 ρ = 0.85 24.12 dB 30.08 dB
ρ = 0.80 ρ = 0.85 ρ = 0.90 23.12 dB 28.43 dB
ρ = 0.85 ρ = 0.75 ρ = 0.65 25.86 dB 26.69 dB
ρ = 0.90 ρ = 0.80 ρ = 0.70 25.81 dB 25.87 dB
ρ = 0.95 ρ = 0.85 ρ = 0.75 25.90 dB 26.18 dB
ρ = 0.65 ρ = 0.75 ρ = 0.85 21.24 dB 27.34 dB
ρ = 0.70 ρ = 0.80 ρ = 0.90 20.54 dB 28.29 dB
ρ = 0.75 ρ = 0.85 ρ = 0.95 20.10 dB 28.35 dB
3D isotropes Korrelationsmodell
ρ = 0.8 26.03 dB 30.82 dB
Tabelle 5.1: PSNR-Messwerte in Abhängigkeit des Korrelationsmodells und des Kor-
relationskoeffizienten. Messung über 25 Blöcke mit 16 × 16 Bildpunkten. Parame-
terset: maximale Anzahl an Iterationen=200, Emin=0.1, FFT-Länge=32, NV =2,
NN=0. 2D isotropes Modell: ρ variabel. 3D isotropes Modell: ρ = 0.8.
der Gewichtungsfunktion zu erreichen. In Tab. 5.1 sind die PSNR-Werte für die
„Flowergarden“-Sequenz und „Crew“-Sequenz bei Verwendung des 3D isotropen Mo-
dells und des 2D isotropen Modells mit Variation des Korrelationskoeffizienten ρ
gegenübergestellt.
Die PSNR-Werte für das zweidimensionale Korrelationsmodell sind nur für die grau
hinterlegten ρ-Werte minimal besser als der PSNR-Wert für das dreidimensionale
Modell. Ansonsten sind die PSNR-Werte für das zweidimensionale Modell schlech-
ter als die Werte für das dreidimensionale Modell. Die Anzahl an durchschnittlich
54
KAPITEL 5. FEHLERVERSCHLEIERUNG
benötigten Iterationen ist für beide Korrelationsmodelle in etwa gleich, so dass es
bezüglich der Rechenzeit keine Rolle spielt, welches Modell verwendet wird. Für alle
weiteren Auswertungen wird deshalb eine dreidimensionale isotrope Gewichtungs-
funktion mit ρ = 0.8 eingesetzt.
5.2.5 Approximationsregion
Ein letzter Parameter, der bestimmt werden muss, ist die Größe des Bereiches, der
den fehlenden Bildbereich umgibt und zur Schätzung des parametrischen Modells
verwendet wird. Dieser Bereich wird als Approximationsregion bezeichnet. Die Grö-
ße der Approximationsregion wird durch die Anzahl verwendeter Randbildpunkte
bezüglich einer Blockseite angegeben. Die bisherigen Auswertungen zeigen, dass man
meistens bei Verwendung von mehr als 10 Randbildpunkten bessere PSNR-Werte
erzielt als bei der Verwendung von weniger als zehn Randbildpunkten. Das liegt dar-
an, dass bei der Verwendung zu weniger Randpunkte nicht genügend Information
aus der Umgebung in die Berechnung einfließt. Ob nun 10 oder mehr Randbildpunk-
te zu einem besseren Ergebnis führen, hängt von der jeweiligen Sequenz und den
gewählten Parametern ab. Meistens liegen die PSNR-Werte für 10 bis 16 Randbild-
punkten nahe beieinander, so dass für alle folgende Berechnungen eine feste Anzahl
von 13 Randpunkten zur Schätzung des dreidimensionalen Modells verwendet wird.
Zusammenfassend haben sich für die Verschleierung von Blockverlusten folgende
Parameter als geeignet erwiesen: 200 maximal zulässige Iterationen, ein Schwellwert
von Emin=0.1, die Verwendung von zwei vorherigen und zwei nachfolgenden Bil-
dern, eine FFT-Länge von 32 für die Zeit t, eine Gewichtungsfunktion gemäß dem
dreidimensionalen isotropen Korrelationsmodell mit einem Korrelationskoeffizien-
ten von ρ=0.8 und die Verwendung von 13 umliegenden Randbildpunkten. Die für
Blockverluste geeigneten Parameter führen auch bei Zeilenverlusten zu sehr guten
Ergebnissen, was anhand entsprechender Auswertungen im Anhang A belegt ist.
55
KAPITEL 5. FEHLERVERSCHLEIERUNG
5.3 Ergebnisse für uncodierte Bilder
In diesem Abschnitt werden nun einige Ergebnisse der dreidimensionalen frequenz-
selektiven Extrapolation präsentiert. In Abb. 5.8 und Abb. 5.9 sind für die beiden
Sequenzen „Flowergarden“ und „Crew“ die Ergebnisse abgebildet, die man bei Ver-
wendung des im Abschnitt vorher ausgewählten Parametersets erhält. Für beide Se-
quenzen gelingt es, den fehlenden Bildinhalt bei Block- und Zeilenverlusten so gut
zu schätzen, dass der Beobachter den Unterschied zum Original kaum bemerkt. Bei
der „Flowergarden“-Sequenz werden für die Y-Komponente durchschnittlich 177.8
Iterationen pro Block zur Verschleierung der 25 Blockverluste und durchschnitt-
lich 154.73 Iterationen pro Block zur Verschleierung der 5 Zeilenverluste mit je 13
Blöcken benötigt. Dass pro Block nicht mehr Iterationen als nötig durchgeführt wer-
den, zeigen jeweils die untersten Graphen in Abb. 5.8 und Abb. 5.9. Für jeden Block
ist hier pro Bildkomponente die Anzahl an durchgeführten Iterationen aufgetragen.
An diesen Abbildungen wird deutlich, dass für die Y-Komponente meistens mehr
Iterationen benötigt werden als für die Farbkomponenten, um eine entsprechende
Bildqualität zu erreichen. Außerdem ist zu erkennen, dass für glatte Bildbereiche
nur wenige Iterationen nötig sind, wohingegen für hochfrequente Strukturen wie die
Blumenwiese bei der „Flowergarden“-Sequenz viele Iterationen durchgeführt wer-
den müssen. Der erreichte PSNR-Wert beträgt bei der „Flowergarden“-Sequenz für
25 Blockverluste 27.94 dB und für 5 Zeilenverluste mit je 13 Blöcken beachtliche
28.61 dB.
Bei der „Crew“-Sequenz werden zur Verschleierung etwas weniger Iterationen benö-
tigt. Für Blockverluste erhält man mit durchschnittlich 147.4 Iterationen pro Block
einen PSNR-Wert von 32.4 dB und für Zeilenverluste mit durchschnittlich 130.17
Iterationen pro Block einen PSNR-Wert von 32.09 dB. In Abb. 5.10 ist das Extrapo-
lationsergebnis für einen 16×16 Block nach der 1. Iteration, 2. Iteration, 3. Iteration,
usw. dargestellt. Es handelt sich hier um den 1. Blockverlust der 1. Zeile im 9. Bild
der „Flowergarden“-Sequenz (vgl. Abb. 5.1(a)). In Abb. 5.10 sind in der 1. Zeile
die Ergebnisse nach einer, zwei, drei, vier, und fünf Iterationen abgebildet. Ab der
56
KAPITEL 5. FEHLERVERSCHLEIERUNG
0 5 10 15 20 250
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Flowergarden"
Y−Komp.U−Komp.V−Komp
0 20 40 60 800
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Flowergarden"
Y−Komp.U−Komp.V−Komp
Abbildung 5.8: Ergebnisbilder für die „Flowergarden“-Sequenz bei 25 Blockverlusten
bestehend aus jeweils 16× 16 Bildpunkten und 5 Zeilenverlusten bestehend aus je 13
Blöcken mit 16×16 Bildpunkten. Oben: Block- und Zeilenverluste. Mitte: Ergebnisse
für Parameterset A. Unten: benötigte Anzahl an Iterationen pro Block.
57
KAPITEL 5. FEHLERVERSCHLEIERUNG
0 5 10 15 20 250
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Crew"
Y−Komp.U−Komp.V−Komp
0 20 40 60 800
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Crew"
Y−Komp.U−Komp.V−Komp
Abbildung 5.9: Ergebnisbilder für die „Crew“-Sequenz bei 25 Blockverlusten bestehend
aus jeweils 16 × 16 Bildpunkten und 5 Zeilenverlusten bestehend aus je 13 Blöcken
mit 16 × 16 Bildpunkten. Oben: Block- und Zeilenverluste. Mitte: Ergebnisse für
Parameterset A. Unten: benötigte Anzahl an Iterationen pro Block.
58
KAPITEL 5. FEHLERVERSCHLEIERUNG
Abbildung 5.10: Veränderung des parametrischen Modells mit der Anzahl an
Iterationen. 1. Zeile: 1. bis 5. Iteration. 2. Zeile: 10. bis 30. Iteration. 3. Zeile:
35. bis 55. Iteration. 4. Zeile: 60. bis 80. Iteration. 5. Zeile: 85. bis 105. Iteration.
6. Zeile: 110. bis 130. Iteration. 7. Zeile: 135. bis 155. Iteration.
59
KAPITEL 5. FEHLERVERSCHLEIERUNG
2. Zeile erhöht sich die Anzahl der durchgeführten Iterationen pro Bild um 5, bis
schließlich in der letzten Zeile das letzte Bild das Ergebnis nach der 155. Iteration
präsentiert. Anhand Abb. 5.10 wird deutlich, dass nach etwa 150 Iterationen, der
Ast sehr gut nachgebildet ist.
In Abb. 5.11 und Abb. 5.12 sind Bildausschnitte für verschiedene Schwellwerte Emin
dargestellt. In jedem Bildausschnitt wurden vier Blöcke der Größe 16×16 verschlei-
ert. Für die Bildausschnitte in der jeweils 1. Zeile wurden zwei vorherige und zwei
nachfolgende Bilder (Parameterset A) und für die Bildausschnitte in der jeweils
2. Zeile nur zwei vorherige Bilder (Parameterset B) zur Schätzung des verloren ge-
gangenen Bildbereichs verwendet. Für die Bildausschnitte in der jeweils 1. Spalte
wurde der Schwellwert für die maximale Abnahme der gewichteten Restfehlerenergie
auf Emin = 0.1 gesetzt, für die Bildausschnitte in der jeweils 2. Spalte auf Emin = 1.0
und für die Bildausschnitte in der jeweils 3. Spalte auf Emin = 2.0. Die Qualitätsan-
forderungen an das Ergebnis nehmen in den Abbildungen also von links nach rechts
ab. Dargestellt sind die Blöcke, bei denen der Unterschied am deutlichsten zu er-
kennen ist.
Die Ergebnisbilder im Ganzen zeigen, dass nicht nur bei der Verwendung von zwei
vorherigen und zwei nachfolgenden Bildern die fehlenden Bildinhalte sehr gut nach-
gebildet werden können, sondern dass auch bei der Verwendung von nur zwei vorhe-
rigen Bildern die Qualität der rekonstruierten Blöcke beachtlich ist (vgl. Tab. 5.2).
Setzt man durch Erhöhung des Schwellwertes Emin die Qualitätsanforderungen an
das Ergebnis herab, bricht der Algorithmus bereits nach weniger Iterationen ab.
Dennoch können mit einer deutlich geringeren Anzahl an Iterationen zufriedenstel-
lende Ergebnisse erreicht werden. Der Unterschied des PSNR-Wertes beträgt bei
beiden Sequenzen für Parameterset A etwa 1.4 dB, bei der „Flowergarden“-Sequenz
für Parameterset B 1.19 dB und bei der „Crew“-Sequenz für Parameterset B 0.63 dB
(vgl. Tab. 5.2). Visuell sind diese PSNR-Unterschiede kaum zu erkennen. Mit der
dreidimensionale Extrapolation können daher auch mit weniger Rechenaufwand vi-
suell sehr gute Verschleierungsergebnisse erzielt werden. Entsprechende Ergebnisse
für die „Foreman“-Sequenz und „Table Tennis“-Sequenz sind im Anhang B zu finden.
60
KAPITEL 5. FEHLERVERSCHLEIERUNG
(a) (b) (c)
(d) (e) (f)
Abbildung 5.11: Ausschnitt aus der „Flowergarden“-Sequenz für verschiedene
Schwellwerte Emin. Oben: Parameterset A. Unten: Parameterset B. 5.11(a)/5.11(d):
Emin=0.1 5.11(b)/5.11(e): Emin=1.0 5.11(c)/5.11(f): Emin=2.0.
(a) (b) (c)
(d) (e) (f)
Abbildung 5.12: Ausschnitt aus der „Crew“-Sequenz für verschiedene Schwellwerte
Emin. Oben: Parameterset A. Unten: Parameterset B. 5.12(a)/5.12(d): Emin=0.1
5.12(b)/5.12(e): Emin=1.0 5.12(c)/5.12(f): Emin=2.0.
61
KAPITEL 5. FEHLERVERSCHLEIERUNG
Sequenz Flowergarden Flowergarden Crew Crew
Parameterset A B A B
Emin = 0.1 27.94 dB 26.03 dB 32.40 dB 30.82 dB
177.80 It. 177.24 It. 147.40 It. 148.72 It.
Emin = 1.0 27.35 dB 25.48 dB 31.50 dB 30.60 dB
116.68 It. 103.96 It. 30.0 It. 30.76 It.
Emin = 2.0 26.57 dB 24.84 dB 30.98 dB 30.19 dB
73.8 It. 66.48 It. 17.44 It. 17.40 It.
Tabelle 5.2: PSNR-Werte für verschiedene Parametersets. Messung über 25 Blöcke
mit 16 × 16 Bildpunkten. Parameterset A: maximale Anzahl an Iterationen=200,
ρ=0.8, FFT-Länge=32, NV =2, NN=2. Parameterset B: maximale Anzahl an
Iterationen=200, ρ=0.8, FFT-Länge=32, NV =2, NN=0.
Die bisherigen Ergebnisse zeigen, dass die 3D frequenzselektive Extrapolation die
Möglichkeit bietet, nicht nur einfache Strukturen, sondern auch komplexe Bildinhal-
te nachzubilden. Auch Kanten können gut rekonstruiert werden. Die gute Nachbil-
dung der Baumkante im 9. Bild der „Flowergarden“-Sequenz belegt, dass mit der
dreidimensionalen Extrapolation auch Bewegungen geschätzt werden können. Die
„Crew“-Sequenz ist ein Beispiel dafür, dass mit diesem Verfahren außerdem Hellig-
keitsunterschiede nahezu einwandfrei nachgebildet werden können.
Um zu verdeutlichen, wie gut die Bewegungsnachbildung bei der dreidimensionalen
Signalextrapolation funktioniert, wurde folgendes getestet: Zunächst wurde für ein
und zwei vorherige Bilder bei allen vier Sequenzen die dreidimensionale Extra-
polation, wie in Kapitel 4 beschrieben, durchgeführt. Anschließend wurde im vor-
herigen Bild (τ − 1) nach dem Block gesucht, der dem zu verschleiernden Block
im aktuellen Bild (τ) am Ähnlichsten ist. Als Fehlermaß wurde hier, wie bei der
Bewegungskompensation, die Summe der absoluten Differenzen (SAD) verwendet.
Entsprechend wurde im Bild zum Zeitpunkt τ −2 nach dem Block gesucht, der dem
im vorherigen Bild gefundenen Block am Ähnlichsten ist. Hierbei wurde jeweils ein
62
KAPITEL 5. FEHLERVERSCHLEIERUNG
Bewegungskompensation ohne mit ohne mit
Anzahl vorheriger Bilder NV = 1 NV = 1 NV = 2 NV = 2
Flowergarden 22.36 dB 22.43 dB 26.03 dB 25.79 dB
179.36 It. 179.84 It. 177.24 It. 177.16 It.
Foreman 32.11 dB 31.70 dB 35.22 dB 35.15 dB
117.00 It. 117.00 It. 114.40 It. 114.00 It.
Table Tennis 25.77 dB 24.34 dB 26.27 dB 26.53 dB
162.40 It. 162.52 It. 164.36 It. 159.40 It.
Crew 28.43 dB 26.41 dB 30.82 dB 27.90 dB
153.64 It. 164.12 It. 148.72 It. 158.12 It.
Tabelle 5.3: Vergleich der PSNR-Werte nach Anwendung der 3D frequenzselektiven
Extrapolation mit und ohne Bewegungskompensation. Messung über 25 Blöcke mit
16 × 16 Bildpunkten. 3D Parameterset: maximale Anzahl an Iterationen=200,
Emin=0.1, ρ=0.8, FFT-Länge=32, NV =1 bzw. NV =2, NN=0.
Suchraum von +/- 8 Bildpunkten verwendet und eine Vollsuche durchgeführt. Die
auserwählten Blöcke der vorherigen Bilder wurden nun mit entsprechender Anzahl
an Randbildpunkten zur dreidimensionalen Extrapolation für den nachzubildenden
Block herangezogen. Tab. 5.3 zeigt, dass für die Sequenzen „Flowergarden“, „Fore-
man“ und „Table Tennis“ die Ergebnisse der dreidimensionalen Extrapolation mit
und ohne Bewegungskompensation sehr ähnlich sind. Das bedeutet, dass auch oh-
ne Bewegungskompensation mit der dreidimensionalen Extrapolation Bewegungen
gut nachgebildet werden können. Bei der „Crew“-Sequenz liegt der PSNR-Wert für
die 3D Extrapolation ohne bewegungskompensierte Blöcke sogar deutlich über dem
PSNR-Wert für die Extrapolation mit bewegungskompensierten Blöcken, da bei
Helligkeitsunterschieden nicht die tatsächliche Bewegung kompensiert wird. Dieses
Beispiel zeigt, dass mit der dreidimensionalen Extrapolation ohne Bewegungskom-
pensation Bewegungen sogar bei Helligkeitsunterschieden nachgebildet werden kön-
nen - sowohl lineare Bewegungen als auch Deformations- und Rotationsbewegungen.
63
KAPITEL 5. FEHLERVERSCHLEIERUNG
5.4 Vergleich mit Referenzalgorithmen
In diesem Abschnitt werden die Ergebnisse der dreidimensionalen frequenzselektiven
Extrapolation mit den Ergebnissen anderer Fehlerverschleierungsverfahren verglichen.
Zu diesem Zweck wurden der Temporal Blockreplacement Algorithmus, der Boundary
Matching Algorithmus und der Extended Boundary Matching Algorithmus imple-
mentiert (vgl. Kapitel 3). Um beim BMA und EBMA die Bewegungsvektoren und
Prädiktionsfehlerbilder für die 396 16 × 16 Blöcke der 352 × 288 großen Bilder zu
erhalten, wird zunächst eine bewegungskompensierte Prädiktion (vgl. Kapitel 2)
durchgeführt. Zur Bewegungsschätzung wird ein Suchraum von +/- 8 Bildpunkten
verwendet und eine Vollsuche durchgeführt. Anschließend werden für den BMA die
Bewegungsvektoren der zu verschleiernden Blöcke und für den EBMA zusätzlich die
entsprechenden Prädiktionsfehlerbilder verworfen.
Bei der Verschleierung von Blockverlusten wird beim BMA und EBMA nicht nur
der obere, linke und untere Rand (vgl. Abb. 3.1), sondern auch der rechte Rand
zur Berechnung des Fehlermaßes herangezogen. Ebenso wird beim EBMA das Feh-
lermaß zusätzlich für das Prädiktionsfehlerbild des rechten Blockes berechnet. Bei
der Verschleierung von Zeilenverlusten wird das Fehlermaß so berechnet, wie es in
Abschnitt 3.2 beschrieben ist.
In Tab. 5.4 sind die PSNR-Werte für die Y-Komponente der jeweiligen Verfahren
eingetragen. Für die Berechnung der zweidimensionalen Signalextrapolation wurde
der Algorithmus für die dreidimensionale Extrapolation mit NV = 0 und NN = 0
verwendet. Gemäß [2] wurden die maximal zulässige Anzahl an Iterationen auf 11,
der Schwellwert Emin auf 15 und der Korrelationskoeffizient ρ auf 0.74 gesetzt. Die
dreidimensionale Extrapolation wurde mit Parameterset A durchgeführt, d.h. die
maximal zulässige Anzahl an Iterationen wurde auf 200 und der Schwellwert Emin
auf 0.1 gesetzt, es wurden zwei vorherige und zwei nachfolgende Bilder, eine FFT-
Länge von 32 und ein Korrelationskoeffizient von 0.8 verwendet. Tab. 5.4 zeigt oben
die PSNR-Werte für Blockverluste und unten die PSNR-Werte für Zeilenverluste.
Für Zeilenverluste liegt bei allen vier Sequenzen der PSNR-Wert der 3D Extra-
64
KAPITEL 5. FEHLERVERSCHLEIERUNG
polation deutlich über den PSNR-Werten der vier Vergleichsverfahren. Bei Block-
verlusten ist nur bei der „Flowergarden“- Sequenz der PSNR-Wert des BMA um
etwa 1 dB besser als der PSNR-Wert der 3D Extrapolation. Bei allen anderen Se-
quenzen ist auch hier der PSNR-Wert der 3D Extrapolation am besten. Diese Er-
gebnisse werden anhand Abb. 5.13 und 5.14 sowie weiterer Abbildungen im Anhang
B bestätigt. In Abb. 5.13 sind die Ergebnisbilder der „Flowergarden“-Sequenz für
alle fünf getesteten Algorithmen dargestellt. Hier liefert, wie bereits erwähnt, der
BMA Algorithmus das beste Ergebnis. Das liegt daran, dass die Bewegung in der
„Flowergarden“-Sequenz sehr homogen ist und deshalb der Bewegungsvektor aus den
umliegenden Vektoren sehr gut geschätzt werden kann. Außerdem wurde angenom-
men, dass die Bewegungsvektoren der umliegenden Blöcke einwandfrei übertragen
wurden, was in der Praxis nicht unbedingt der Fall sein muss.
Bei den Ergebnisbildern des TR Algorithmus und des EBMA ist zu erkennen, dass
die rechte Baumkante an den Stellen der Blockverluste nicht nachgebildet werden
kann. Am schlechtesten können die Blockverluste mit der 2D Extrapolation ver-
schleiert werden. Auch hier kann die rechte Baumkante nicht rekonstruiert werden.
Außerdem heben sich manche Blöcke in der Blumenwiese oder der Hauswand nach
der Verschleierung immer noch von der Umgebung ab, so dass sie dem Betrachter
auffallen. Mit der 3D Extrapolation ist es möglich, fast den gesamten Bildinhalt sehr
gut nachzubilden. Nur an der rechten Baumkante sind bei genauer Betrachtung die
verschleierten Blöcke noch zu erkennen. Die 3D Extrapolation schafft es sogar, die
dünnen Baumäste der ersten beiden Blöcke nachzubilden, was mit der 2D Extra-
polation nicht gelingt.
Die Ergebnisbilder der „Crew“-Sequenz in Abb. 5.14 belegen, dass weder mit dem
TR-Algorithmus noch dem BMA oder EMBA Helligkeitsunterschiede nachgebildet
werden können. Mit der zweidimensionalen frequenzselektiven Signalextrapolation
können die fehlenden Bildinhalte relativ gut rekonstruiert werden. Dennoch weisen
die Blöcke, die mit dem dreidimensionalen Extrapolationsverfahren verschleiert wur-
den, die beste visuelle Qualität auf, da feine Strukturen wie Gesichtspartien oder
Abzeichen auf der Uniform nahezu optimal nachgebildet werden können. Die ent-
65
KAPITEL 5. FEHLERVERSCHLEIERUNG
sprechenden Abbildungen für die „Foreman“- und „Table Tennis“-Sequenz sind im
Anhang B zu finden. Da die „Foreman“-Sequenz eine Sequenz ist, die sehr wenig Be-
wegung beinhaltet, sind die PSNR-Unterschiede in den Ergebnisbildern nur schwer
zu erkennen. Bei der „Table-Tennis“-Sequenz zeigt sich der Unterschied zwischen
den verschiedenen Verfahren vor allem an der bewegten Hand des Tischtennisspie-
lers und dem Tischtennisnetz. Im Anhang B sind ebenso für alle vier Sequenzen
die Ergebnisbilder für die Verschleierung von Zeilenverlusten abgebildet. Auch hier
zeigt sich, dass die dreidimensionale Extrapolation im Vergleich mit den vier anderen
Verfahren eindeutig die besten Ergebnisse liefert.
66
KAPITEL 5. FEHLERVERSCHLEIERUNG
Flowergarden Foreman Table Tennis Crew
TR 17.79 dB 28.77 dB 19.75 dB 19.55 dB
BMA 28.99 dB 36.40 dB 25.19 dB 26.46 dB
EBMA 22.95 dB 32.13 dB 22.25 dB 24.44 dB
2D 17.04 dB 27.43 dB 19.94 dB 27.62 dB
3D 27.94 dB 37.06 dB 30.07 dB 32.40 dB
Flowergarden Foreman Table Tennis Crew
TR 17.99 dB 28.64 dB 20.40 dB 19.25 dB
BMA 26.16 dB 33.22 dB 25.16 dB 25.89 dB
EBMA 25.22 dB 33.46 dB 24.06 dB 24.02 dB
2D 16.12 dB 22.47 dB 19.25 dB 26.15 dB
3D 28.60 dB 36.11 dB 30.56 dB 32.09 dB
Tabelle 5.4: Vergleich der PSNR-Werte nach Anwendung des „Temporal Block-
replacement“ (TR) Algorithmus, des „Boundary Matching“ Algorithmus (BMA),
des „Extended Boundary Matching“ Algorithmus (EBMA) und der 2D und 3D
frequenzselektiven Signalextrapolation. 2D Parameterset: maximal zulässige Anzahl
an Iterationen=11, Emin=15, ρ=0.74, FFT-Länge=64×64. 3D Parameterset: maxi-
mal zulässige Anzahl an Iterationen=200, Emin=0.1, ρ=0.8, FFT-Länge=32, NV =2,
NN=2.
Oben: Messung über 25 Blöcke mit 16 × 16 Bildpunkten. Unten: Messung über 5
Zeilen bestehend aus je 13 Blöcken mit 16 × 16 Bildpunkten.
67
KAPITEL 5. FEHLERVERSCHLEIERUNG
(a) (b)
(c) (d)
(e) (f)
Abbildung 5.13: „Flowergarden“-Sequenz. 5.13(b): Temporal Blockreplacement.
5.13(c): Boundary Matching. 5.13(d): Extended Boundary Matching. 5.13(e): 2D
frequenzselektive Extrapolation. 5.13(f): 3D frequenzselektive Extrapolation.
68
KAPITEL 5. FEHLERVERSCHLEIERUNG
(a) (b)
(c) (d)
(e) (f)
Abbildung 5.14: „Crew“-Sequenz. 5.14(b): Temporal Blockreplacement. 5.14(c):
Boundary Matching. 5.14(d): Extended Boundary Matching. 5.14(e): 2D frequenz-
selektive Extrapolation. 5.14(f): 3D frequenzselektive Extrapolation.
69
Kapitel 6
Integration des Verfahrens in den
H.264 Decoder
Der H.264 Standard für Videokompression, der auch als MPEG-4 Advanced Video
Codec (AVC) bezeichnet wird, wurde im Jahr 2003 von der MPEG und ITU-T
Expertengruppe für Videocodierung verabschiedet. Verglichen mit früheren Video-
standards wie MPEG-2, der weltweit die Grundlage für digitales Fernsehen ist, er-
möglicht der H.264 Standard eine bis zu 50% erhöhte Datenkompression. Der H.264
Codec wurde nicht auf einen spezifischen Verwendungszweck zugeschnitten, sondern
entfaltet seine Leistung in einem breiten Spektrum an Anwendungen. Daher sind die
momentan aussichtsreichsten Einsatzgebiete auch von sehr verschiedener Gestalt:
Video Telephony, Broadcast, Streaming, Storage, Video on Demand, ect.
Neben der erhöhten Datenkompression und der Einsatzfähigkeit für verschiedene An-
wendungen stellt der neue Standard eine Reihe neuer Werkzeuge zur Verbesserung
der Fehlerrobustheit zur Verfügung.
Im Folgenden werden zunächst einige Besonderheiten des H.264 Codecs vorgestellt,
die alle dazu beitragen, dass dieser Standard den bisherigen Standards weit über-
legen ist. Anschließend wird das im H.264 Decoder verwendete Verfahren zur Feh-
lerverschleierung, das dem Boundary-Matching Algorithmus ähnlich ist, präsentiert.
Der letzte Abschnitt dieses Kapitels beschäftigt sich mit der Implementierung der
dreidimensionalen frequenzselektiven Signalextrapolation in den H.264 Decoder. An-
70
KAPITEL 6. H.264 DECODER
hand von simulierten Paketverlusten werden die Ergebnisse der Fehlerverschleierung
gemäß dem in dieser Arbeit vorgestellten Verfahren mit den Ergebnissen des in der
Referenzsoftware JM93 verwendeten Verfahrens verglichen.
6.1 Besonderheiten des H.264 Codecs
Wie auch alle vorherigen Standards definiert der H.264 Standard nur die Syntax
und Semantik des Bitstroms sowie den Decodierprozess. Die Umsetzung des Enco-
ders samt seiner Codierstrategie und Optimierungen bleibt den Herstellern und Pro-
grammierern der Applikation überlassen – wichtig ist nur, dass der erzeugte Bitstrom
standardkonform ist. H.264/AVC unterscheidet zwischen der Videocodierungsebene
VCL (Video Coding Layer), die die eigentlichen codierten Videodaten verarbeitet,
und der Netzwerkabstraktionsebene NAL (Network Abstraction Layer), die entspre-
chend dem eingesetzten Übertragungsverfahren oder Speichermedium die Daten aus
der Videocodierungsebene formatiert und mit Zusatzinformationen versieht.
Das Verfahren codiert Videodaten im YUV-Format und verarbeitet sowohl progres-
siv abgetastete als auch zeilenverschränkte Bilder. Halbbilder codiert H.264/AVC
entweder als zwei unabhängige Bilder oder aber zusammen als ein Vollbild. Wie bei
den Vorläufern MPEG-1/-2/-4, H.261 oder H.263 setzt die Videocodierungsebene
von H.264/AVC auf blockbasierte, hybride Videocodierung. Der Algorithmus nutzt
örtliche und zeitliche Abhängigkeiten des Videosignals zur Vorhersage sowie eine
Transformationscodierung für die Übertragung des Restfehlers aus. Während die
Videocodierungsebene für eine möglichst effiziente Codierung der Videodaten sorgt,
ist die Netzwerkabstraktionsebene für die geeignete Formatierung zur Übermittlung
oder Speicherung der Daten zuständig. Dazu verpackt die Netzwerkabstraktions-
ebene die VCL-Daten in NAL Units, deren Format für paketorientierte (z.B. übers
Internet) und byteorientierte (z.B. über Satellit, Kabel oder ISDN) Übertragung
identisch ist. In letzterem Fall werden die NAL Units mit einem Startcode-Präfix
versehen, um eine Abtrennung der einzelnen NAL Units im Bytestrom zu ermög-
lichen.
71
KAPITEL 6. H.264 DECODER
Innerhalb der Videocodierungsebene tragen viele Verbesserungen zur Leistungs-
steigerung des neuen Videocodecs bei, die im Folgenden aufgelistet sind. Genaueres
zu den genannten Verfahren kann in [20] bis [28] nachgeschlagen werden.
6.1.1 Zerlegung der Daten
Zur Codierung wird jedes Bild einer Sequenz in Makroblöcke zerlegt, die für die
Luminanzkomponente 16 × 16 und für die beiden Chrominanzkomponenten jeweils
8×8 Intensitätswerte enthalten. Alle Luminanz- und Chrominanzwerte eines Makro-
blockes werden entweder zeitlich oder örtlich prädiziert und anschließend transfor-
miert. Die Makroblöcke eines Bildes werden in Slices organisiert, die einen Bereich
des Bildes präsentieren und unabhängig voneinander codiert werden können. Da der
Beginn eines jeden Slices einen Resynchronisierungspunkt innerhalb des Bildes dar-
stellt und die Einteilung in Slices den Einsatz von Fehlerverschleierungsmethoden
ermöglicht, verbessert das sogenannte Slice Structured Coding die Fehlerrobustheit
des codierten Datenstroms. Dadurch, dass jedes Slice unabhängig von den anderen
Slices codiert werden kann, ist außerdem eine parallele Bearbeitung der Slices mög-
lich. Eine weitere Motivation für die Einteilung eines Bildes in Slices ist die Tatsache,
dass die Größe dieser Slices an die maximale Paketgröße des Netzwerkes angepasst
werden kann.
Die Auswirkung dieser Slices auf die Fehlerrobustheit des Datenstroms kann durch
den Einsatz einer neuen Technik, die sich Flexible Macroblock Ordering (FMO)
nennt, weiter verbessert werden. Diese Technik modifiziert die Zuordnung der Ma-
kroblöcke zu einem Slice. Mit FMO kann ein Bild in verschiedene Makroblock-Muster
zerlegt werden. In Verbindung mit Fehlerverschleierungsmethoden ist eine schach-
brettartige Anordnung, wie sie in Abb. 6.1(a) dargestellt ist, besonders gut geeignet.
Im Falle eines Slice-Verlustes sind fehlende Blöcke immer von korrekt decodierten
Blöcken umgeben, es sei denn, es sind bei der Übertragung mehrere Slices verloren
gegangen. Beliebt ist ebenfalls die in Abb. 6.1(b) dargestellte Zeilenanordnung.
72
KAPITEL 6. H.264 DECODER
Slice group #1 Slice group #2
(a)
Slice group #1 Slice group #2
(b)
Abbildung 6.1: Flexible Macroblock Ordering. 6.1(a): Schachbrettmuster. 6.1(b): Zei-
lenanordnung.
Ein anderes Konzept, das dem FMO sehr ähnlich ist, ist das Arbitrary Slice Ordering
(ASO), bei dem die Slices eines Bildes in jeder beliebigen Reihenfolge im Bitstrom
vorkommen können, d.h. die Slices müssen nicht so angeordnet sein, dass die Adres-
se des ersten Makroblockes eines Slices mit fortschreitendem Bitstrom monoton an-
steigt. Zum einen kann dadurch die Verzögerungszeit reduziert werden, weil ein an-
deres Paket decodiert werden kann, während man auf ein noch nicht geliefertes Paket
wartet. Zum anderen kann durch ASO die Fehlerrobustheit verbessert werden, weil
man auf ein noch nicht geliefertes Paket länger warten kann. Die Wahrscheinlich-
keit, dass ein verspätetes Paket noch eintrifft, wird erhöht und die Anzahl verloren
gegangener Pakete gesenkt.
Eine verbesserte Fehlerrobustheit kann auch dadurch erreicht werden, dass wichtige
Daten wie Bewegungsvektoren oder Quantisierungsparameter und weniger wichtige
Daten getrennt übertragen werden. Man spricht hier von Data Partitioning (DA).
Diese Funktion ist allerdings nur im Extended Profil (vgl. 6.1.8) realisiert.
Werden Dublikate codierter Slices gesendet, kann die Fehlerrobustheit eines Codecs
ebenfalls erhöht werden. Diese Funktion ist wie FMO und ASO bereits im Baseline
Profil des neuen Standards verfügbar und wird als Redundant Slices (RS) bezeich-
net.
73
KAPITEL 6. H.264 DECODER
Da die vorgestellten Verfahren zur Erzeugung eines fehlerrobusten Datenstroms zu
einer Verringerung der Codiereffizienz führen, ist für jede Anwendung eine Abwä-
gung zwischen Codiereffizienz und Fehlerrobustheit notwendig.
6.1.2 Bildtypen
Zusätzlich zu den in Kapitel 2 beschriebenen I-, P- und B-Bildern definiert der H.264
Standard zwei neue Bildtypen: SP-Bilder und SI-Bilder. SP bedeutet Switching Pre-
dictive und SI bedeutet Switching Intra. Diese beiden Bildtypen werden dazu ver-
wendet, innerhalb eines Bitstroms von einer Stelle zur anderen oder zwischen ver-
schiedenen Bitströmen effizient hin und her zu springen. In früheren Standards war
dieses Umschalten innerhalb eines Bitstroms oder zwischen verschiedenen Bitströ-
men nur mit I-Bildern möglich. SP-Bilder sind weniger effizient als reguläre P-Bilder,
aber effizienter als reguläre intracodierte Bilder. SI-Bilder nutzen im Gegensatz zu
SP-Bildern nur Intra-Prädiktion und sind fast so effizient wie I-Bilder. SP- und SI-
Bilder können allerdings nur im Extended Profil genutzt werden. Mehr Details zu
SP- und SI-Bildern können in [30] nachgelesen werden.
6.1.3 Intra-Prädiktion
Im Gegensatz zu früheren Standards wird die Intra-Prädiktion nicht im Transfor-
mationsraum, sondern im Ortsbereich durchgeführt. Zur Intra-Prädiktion wird die
Information bereits codierter Nachbarblöcke benutzt. Wenn diese Nachbarblöcke
inter-prädiziert wurden, kann es bei gestörter Übertragung zu einer örtlich-zeitlichen
Fehlerfortpflanzung kommen. Deshalb kann zusätzlich gefordert werden, dass zur
Intra-Prädiktion nur die Information intracodierter Nachbarblöcke verwendet wer-
den darf. Handelt es sich um einen Bildbereich mit vielen Details werden die Lumi-
nanzwerte eines 4 × 4 Blockes durch eine richtungsabhängige lineare Kombination
bereits codierter Luminanzkomponenten geschätzt. Der Encoder kann zwischen dem
„DC“-Modus, bei dem der Mittelwert zur Prädiktion des gesamten Blockes benutzt
wird, und acht Richtungsprädiktionsmodi wählen. Bei glatten Bereichen werden die
74
KAPITEL 6. H.264 DECODER
Luminanzwerte eines 16 × 16 Makroblockes zusammen prädiziert. In diesem Fall
sind nur vier Richtungsprädiktionsmodi möglich. Die Chrominanzwerte eines Ma-
kroblockes werden ähnlich wie die Luminanzwerte eines Makroblockes prädiziert.
Intra-Prädiktion über Slice-Grenzen hinaus ist nicht erlaubt, um alle Slices unab-
hängig voneinander codieren zu können (vgl. Abschnitt 6.1.1).
6.1.4 Inter-Prädiktion
Bei der bewegungskompensierten Prädiktion nutzt man die Ähnlichkeit zwischen
Makroblöcken des aktuellen Bildes und Makroblöcken bereits übertragener Referenz-
bilder aus. In früheren Standards wie MPEG-4 oder H.263 konnten nur Blöcke der
Größe 16 × 16 oder 8 × 8 prädiziert werden. Beim neuen Standard können Makro-
blöcke in kleinere Partitionen zerlegt werden. Für die Luminanzkomponente werden
Blöcke der Größe 16 × 16, 16 × 8, 8 × 16 und 8 × 8 unterstützt. Ein Unterblock
der Größe 8 × 8 kann wiederum in Blöcke der Größe 8 × 4, 4 × 8 oder 4 × 4 zerlegt
werden. In bisherigen Standards konnte als Referenzsignal nur ein Bild verwendet
werden. Im Gegensatz dazu kann im H.264 Standard bei der Inter-Prädiktion nicht
nur auf ein, sondern auf mehrere bereits übertragene Bilder referenziert werden.
Dazu muss zusätzlich mit den Bewegungsvektoren ein Bildreferenzparameter über-
tragen werden, der angibt, welche der bereits übertragenen Bilder zur Prädiktion
des aktuellen Makroblockes verwendet wurden. Die Bewegungskompensation wird
auf 1/4 Bildpunkt genau berechnet. Dabei wird zur Generierung der Zwischenbild-
punkte nicht mehr eine einfache bilineare Filterung eingesetzt, sondern es wird ein
FIR-Filter verwendet, der die Bildschärfe besser erhält.
Der H.264 Standard erweitert das Konzept der B-Bilder gegenüber früheren Stan-
dards, indem er B-Bilder als Referenzbilder für die Bewegungskompensation nutzt.
Der Unterschied zwischen P- und B-Bilder schmilzt damit auf die Art der Inter-
Prädiktion zusammen. Bisher wurde das Prädiktionssignal bei B-Bildern aus einer
linearen Mittelung zweier Prädiktionswerte gebildet. Im H.264 Standard ist nun eine
beliebig gewichtete Mittelung der Prädiktionswerte möglich.
75
KAPITEL 6. H.264 DECODER
6.1.5 Transformation und Quantisierung
Ähnlich wie bei früheren Standards wird auch beim H.264 Codec zur Redundanz-
reduktion eine Transformation des zu übertragenden Signals durchgeführt. Beim
H.264 Standard wird allerdings nicht wie bisher eine DCT auf 8 × 8 Blöcke, son-
dern eine von der DCT abgeleitete separierbare Integertransformation auf 4 × 4
oder 2 × 2 Blöcke angewendet. Die Berechnung dieser Transformation kommt mit
Additionen, Subtraktionen und binären Verschiebeoperationen aus, was eine Hard-
wareimplementierung deutlich vereinfacht. Durch die geringere Blockgröße werden
außerdem Ringing-Artefakte minimiert. Für die Quantisierung der Koeffizienten
setzt H.264/AVC eine lineare Skala ein. Für jeden Makroblock wird einer von 52
möglichen Quantisierern durch den Quantisierungsparameter (QP) ausgewählt. Die
Quantisierer sind so festgelegt, dass eine Erhöhung des QP um eins einer um circa
zwölf Prozent niedrigeren Bitrate entspricht. Die Transformationskoeffizienten wer-
den in einem Zickzackmuster gescannt und mittels Entropiecodierung übertragen.
6.1.6 Rekonstruktionsfilter
Steht für die Codierung eines Makroblockes aufgrund der vorgegebenen Datenra-
te ein zu geringes Bitreservoir zur Verfügung, treten bei blockbasierten Codierver-
fahren Blockartefakte auf, weil die Blöcke stark quantisiert und daher die Block-
ränder ungenauer rekonstruiert werden. Deshalb definiert der H.264 Standard ein
„Schleifen-Filter“ innerhalb der Codierschleife, dessen Filterstärke adaptiv gesteuert
wird. Durch dieses Filter lassen sich Blockartefakte gut kaschieren, ohne die Schärfe
des Bildinhalts stark zu beeinflussen. Sowohl im Encoder als auch im Decoder wird
dieses Rekonstruktionsfilter nach der inversen Transformation angewendet. Ein wei-
terer positiver Nebeneffekt des Filters ist, dass es die Bitrate um etwa fünf bis zehn
Prozent bei derselben objektiven Qualität wie ungefiltertes Video reduziert.
76
KAPITEL 6. H.264 DECODER
6.1.7 Entropiecodierung
H.264/AVC unterstützt zwei Methoden der Entropiecodierung. Beim Variable Length
Coding (VLC) wird eine einzige unendliche Codewort-Tabelle für alle Syntaxele-
mente außer den Transformationskoeffizienten benutzt. Somit wird, anstatt eine
eigene VLC-Tabelle für jedes einzelne Syntaxelement zu entwerfen, nur die Abbil-
dung der Werte auf die Codewort-Tabelle anhand von statistischen Eigenschaften
angepasst. Als Codewort-Tabelle verwendet H.264/AVC einen Exp-Golomb-Code,
der sehr einfache und regelmäßige Decodiereigenschaften besitzt. Zur Übertragung
der quantisierten Transformationskoeffizienten setzt H.264/AVC eine aufwendigere
Methode namens Context-Adaptive Variable Length Coding (CAVLC) ein. CAVLC
schaltet in Abhängigkeit von bereits übertragenen Daten zwischen verschiedenen
VLC-Tabellen für das zu codierende Element um. Da die VLC-Tabellen anhand von
Statistiken sorgfältig konstruiert wurden, erzielt man so eine deutliche Leistungs-
steigerung gegenüber dem Exp-Golomb-Code.
Die Effizienz der Entropiecodierung erhöht sich nochmals, wenn man Context-Adaptive
Binary Arithmetic Coding (CABAC) benutzt. Der Einsatz arithmetischer Codierung
ermöglicht die Zuordnung gebrochener Bit-Anzahlen für jedes Symbol eines Alpha-
bets, was besonders für Wahrscheinlichkeiten deutlich größer als 0,5 von Vorteil ist.
Eine weitere wichtige Eigenschaft von CABAC ist die Kontextmodellierung: Dabei
zieht man die Statistiken bereits codierter Daten zur Schätzung bedingter Wahr-
scheinlichkeiten heran. Letztere benutzt man zum Umschalten zwischen mehreren
Wahrscheinlichkeitsmodellen. Der Kern des arithmetischen Coders und die dazuge-
hörige Wahrscheinlichkeitsschätzung sind in H.264/AVC als Methoden mit niedriger
Komplexität implementiert, die nur Tabellen- und Shift-Operationen verwenden.
6.1.8 Profile und Level
Wie bereits erwähnt, deckt H.264/AVC ein breites Spektrum unterschiedlicher An-
wendungsgebiete ab – von Streaming bei niedrigsten Bitraten bis hin zu Video in
HDTV-Qualität. Zur Klassifikation bestimmter Parameter und Anwendungsberei-
77
KAPITEL 6. H.264 DECODER
che definiert man Profile und Level, die die Kommunikation zwischen verschiedenen
Anwendungen des H.264/AVC-Standards mit ähnlichen funktionalen Anforderun-
gen sicherstellen sollen. „Profile“ definieren eine Auswahl an Codiermethoden, die
zur Erzeugung eines standardkonformen Bitstroms eingesetzt werden dürfen. „Level“
legen Grenzen für verschiedene Parameter des Bitstroms und damit für die Hardwa-
re des Decoders fest. Alle Decoder, die zu einem entsprechenden Profil konform sind,
müssen alle darin enthaltenen Funktionen unterstützen. Encoder müssen hingegen
nicht alle Komponenten des Profils einsetzen, aber natürlich einen standardkonfor-
men Bitstrom erzeugen. Für H.264/AVC sind drei Profile definiert:
I- & P-Bilder
Verschiedene Blockgrößen
1/4 Pel Bewegungskompensation
Rekonstruktionsfilter
Intra-Prädiktion
Mehrere ReferenzbilderFMO
ASO
RS
Data Partitioning
CAVLC
SI- & SP-Bilder
B-Bilder
CABAC
Baseline Main
Extended
Codiermethodenfür
zeilenverschränkteBildsignale
GewichtetePrädiktion
Abbildung 6.2: H.264 Profile.
Baseline unterstützt alle Codieroptionen von H.264/AVC, außer den folgenden zwei
Gruppen von Codiermethoden:
1. Gruppe 1: B-Slices, gewichtete Prädiktion, CABAC, Codiermethoden für zei-
lenverschränkte Bildsignale
2. Gruppe 2: SP-und SI-Bilder
78
KAPITEL 6. H.264 DECODER
Main unterstützt zusätzlich Gruppe 1, jedoch nicht Flexible Macroblock Ordering,
welches in Baseline enthalten ist. Extended unterstützt zusätzlich zu Baseline die
Gruppen 1 und 2 außer CABAC. Abb. 6.2 gibt einen Überblick über die definier-
ten Profile und die darin enthaltenen Funktionen. Die Level-Definitionen sind jeweils
identisch, wobei eine spezielle Implementierung für verschiedene Profile unterschied-
liche Level unterstützen kann.
6.2 Fehlerverschleierung im H.264 Decoder
Trotz einer Vielzahl an Mechanismen zur Erzeugung eines robusten Datenstroms
sind Paketverluste bei der Übertragung von Videodaten über gestörte Kanäle un-
vermeidbar. Da nahezu alle Protokolle wie beispielsweise UDP/IP (Internet User
Datagram Protocol/Internet Protocol) über Methoden zur Erkennung von Paket-
oder Bitfehlern verfügen, kann mit hoher Wahrscheinlichkeit ein fehlerhaftes Da-
tenpaket identifiziert werden. Der H.264 Standard geht davon aus, dass fehlerhafte
Pakete vom Empfänger erkannt und verworfen werden. Es ist nun die Aufgabe des
Decoders, verloren gegangene Slices mit einem geeigneten Fehlerverschleierungsver-
fahren zu rekonstruieren.
6.2.1 Vorgehensweise
Bevor der Bildinhalt verloren gegangener Slices geschätzt wird, werden zuerst alle
korrekt empfangenen Slices eines Bildes decodiert. Für jedes Bild wird eine Liste mit
dem Empfangszustand der einzelnen Makroblöcke angelegt und mit „lost“ initiali-
siert. Der Eintrag für jeden zum Decodieren zur Verfügung stehenden Makroblock
wird auf „correctly received“ gesetzt. Nachdem das zu dieser Liste gehörende Bild
decodiert worden ist, wird für alle Makroblöcke (16 × 16 für Y, 8 × 8 für U,V) mit
dem Eintrag „lost“ eine Fehlerverschleierung durchgeführt. Nach der Verschleierung
eines Makroblockes wird dieser als „concealed“ markiert.
Falls zur Fehlerverschleierung eines verloren gegangenen Makroblockes keine kor-
rekt empfangenen Nachbarblöcke zur Verfügung stehen, kann auch die Information
79
KAPITEL 6. H.264 DECODER
korrekt empfangen
verloren
verschleiert
aktueller MB
verlorenes Slice
Abbildung 6.3: Zustände der Makroblöcke.
aus verschleierten Nachbarblöcken zur Rekonstruktion des Makroblockes verwen-
det werden. Da sich in diesem Fall ein schlechtes Verschleierungsergebnis von einem
zum nächsten Makroblock fortsetzt, spielt die Reihenfolge, in der verloren gegangene
Makroblöcke verschleiert werden, eine große Rolle. Man beginnt mit der Fehlerver-
schleierung am rechten und linken Bildrand und arbeitet sich dann spaltenweise bis
zur Mitte des Bildes vor. Innerhalb einer Spalte wird die Verschleierung ebenfalls
vom Bildrand zur Spaltenmitte hin durchgeführt. Abb. 6.3 verdeutlicht diese Vor-
gehensweise. Hier ist ein Ausschnitt aus der Liste dargestellt, in der die Zustände
der Makroblöcke gespeichert werden. Anhand der Einträge, die durch verschiede-
ne Farben gekennzeichnet sind, kann die Bearbeitungsreihenfolge der Makroblöcke
nachvollzogen werden.
6.2.2 Verschleierungsverfahren in der Referenzsoftware
In [19] werden nicht normative Methoden zur Fehlerverschleierung vorgeschlagen,
die in der Referenzsoftware JM93 implementiert sind und im Folgenden als Stan-
dardverfahren bezeichnet werden.
Für intracodierte Makroblöcke wird zur Schätzung des fehlenden Bildbereichs pro
Bildpunkt eine gewichtete Mittelwertbildung über zur Verfügung stehende Nach-
barbildpunkte durchgeführt. Die Gewichtung erfolgt umgekehrt proportional zum
Abstand des jeweiligen Nachbarbildpunktes. Falls der zu verschleiernde Makroblock
80
KAPITEL 6. H.264 DECODER
von mindestens zwei korrekt empfangenen Nachbarblöcken umgeben ist, werden nur
die Bildpunkte korrekt empfangener Nachbarblöcke zur Verschleierung verwendet.
Ansonsten werden auch verschleierte Blöcke zur Schätzung herangezogen.
Zur Fehlerverschleierung von intercodierten Makroblöcken wird ein Verfahren einge-
setzt, das dem Boundary Matching Algorithmus (vgl. Kapitel 3.2) sehr ähnlich ist.
Falls die mittlere Länge der Bewegungsvektoren aller korrekt empfangenen Makro-
blöcke im aktuellen Bild kleiner ist als ein definierter Schwellwert (1/4 Bildpunkt
pro Bewegungsvektor-Komponente), werden alle verloren gegangenen Slices des ak-
tuellen Bildes durch die örtlich sich an der gleichen Stelle befindenden Bildpunkte
des vorherigen Bildes ersetzt. Anderenfalls werden die Bewegungsvektoren der zu
verschleiernden Makroblöcke durch die Bewegungsvektoren der umliegenden 16×16
oder 8×8 Blöcke geschätzt. Als Testvektoren werden der Nullvektor und die korrekt
empfangenen Bewegungsvektoren der Nachbarblöcke verwendet. Falls kein Bewe-
gungsvektor der umliegenden Blöcke korrekt empfangen wurde, besteht die Menge
der Testvektoren aus dem Nullvektor und den geschätzten Bewegungsvektoren dieser
Blöcke. Für jeden dieser Testvektoren wird der verloren gegangene Block geschätzt
und die Summe der absoluten Differenzen zwischen den Randbildpunkten des ge-
schätzten Blockes und den angrenzenden Bildpunkten der umliegenden decodierten
oder verschleierten Blöcke berechnet. Aus der Menge von Testvektoren wird der-
jenige als Bewegungsvektor ausgewählt, für den das Fehlermaß minimal wird. Das
verloren gegangene Prädiktionsfehlersignal wird nicht rekonstruiert. Falls bei der
Inter-Prädiktion im Encoder die Option mehrerer Referenzbilder (vgl. 6.1.4) genutzt
wurde, wird das Referenzbild des ausgewählten Testvektors auch als Referenzbild
für den zu verschleiernden Makroblock verwendet.
6.3 Realisierung des neuen Verfahrens im H.264
Der Algorithmus der sukzessiven Approximation wurde in Version JM93 des H.264
Decoders implementiert. Findet in einem Bild wenig Bewegung statt, so dass die
mittlere Länge der Bewegungsvektoren aller korrekt empfangenen Blöcke eines Bil-
81
KAPITEL 6. H.264 DECODER
des kleiner ist als ein definierter Schwellwert (vgl. Kapitel 6.2.2), werden die ver-
loren gegangenen Makroblöcke wie bisher durch die sich örtlich an der gleichen
Stelle befindenden Makroblöcke im vorherigen Bild ersetzt. Liegt die mittlere Län-
ge der Bewegungsvektoren über dem definierten Schwellwert, wird der Bildinhalt
der verloren gegangenen Blöcke nicht mit dem Standardverfahren des H.264 Deco-
ders, sondern mit dem neuen dreidimensionalen Extrapolationsverfahren geschätzt.
Bei Anwendung des neuen Extrapolationsverfahrens wird sowohl der Bildinhalt kor-
rekt empfangener Makroblöcke als auch der Bildinhalt bereits verschleierter Ma-
kroblöcke zur Berechnung des parametrischen Modells verwendet. Die Implemen-
tierung erlaubt es, zwischen dem neuen Fehlerverschleierungsverfahren und dem
Standardverfahren des H.264 Decoders hin und her zu schalten und diese bei-
den Verfahren zu vergleichen. Für intracodierte Blöcke wird weiterhin das Intra-
Verschleierungsverfahren des H.264 Referenzdecoders verwendet. Für die folgenden
Auswertungen wurde der Schwellwert Emin für die Abnahme der gewichteten Fehler-
energie auf 0.5 und der Korrelationskoeffizient ρ auf 0.8 gesetzt. Die maximal zuläs-
sige Anzahl an Iterationen wurde von 200 auf 150 herabgesetzt, um den enormen
Rechenaufwand zu minimieren. Für die durchgeführten Simulationen wurde zur Co-
dierung und Decodierung der YUV-Testsequenzen das Baseline Profil des H.264
Codecs verwendet. Da im Baseline Profil keine B-Bilder, sondern nur P-Bilder un-
terstützt werden, konnten zur Berechnung des parametrischen Modells nur vorherige
Bilder eingesetzt werden.
6.4 Simulation und Ergebnisse
Im Abschnitt 6.4.1 werden die Ergebnisse vorgestellt, die mit dem neuen Extra-
polationsverfahren bei der Inter-Verschleierung im H.264 Decoder erzielt wurden.
Die Ergebnisse werden den Ergebnissen des Referenzverfahrens gegenübergestellt
und analysiert. Da für die dreidimensionale Extrapolation keine Information über
Bewegungsvektoren benötigt wird, kann diese auch zur Intra-Verschleierung einge-
setzt und mit dem Intra-Verschleierungsverfahren der Referenzsoftware verglichen
82
KAPITEL 6. H.264 DECODER
werden. Die Ergebnisse und Auswertungen für die Intra-Verschleierung werden im
Abschnitt 6.4.2 präsentiert. Abschließend werden die gewonnenen Erkenntnisse kurz
zusammengefasst.
6.4.1 Ergebnisse für intercodierte Bilder
Um die dreidimensionale Signalextrapolation mit dem in der Referenzsoftware imple-
mentierten Inter-Verschleierungsverfahren zu vergleichen, wurden Paketverluste für
verschiedene Bildformate und Datenraten simuliert. Wie in Kapitel 6.1.1 beschrie-
ben, kann ein Bild im Encoder durch FMO in verschiedene Makroblock-Muster
zerlegt werden. Für die folgenden Auswertungen wurden die beiden Makroblock-
Muster verwendet, die in Abb. 6.1 dargestellt sind. Bei Anordnung der Makroblöcke
in Zeilen wurden die Makroblöcke in zwei Slice groups und bei Anordnung der Ma-
kroblöcke als Schachbrettmuster in vier Slice groups eingeteilt.
Es wurden zwei verschiedene Szenarien untersucht, eine IP-basierte Übertragung im
Internet und eine DVB-T (Digital Video Broadcasting - Terrestrial) ähnliche Video-
übertragung in TV Qualität. Für das Szenario der IP-basierten Übertragung wurden
die Sequenzen „Crew“ und „Vimto“ im CIF-Format (352× 288 Bildpunkte) verwen-
det. Da die MTU (Maximum Transfer Unit) Größe eines Paketes bei IP-basierter
Übertragung etwa 1500 Bytes beträgt, wurden für dieses Szenario die Sequenzen mit
einer festen Slice-Größe von 1000 Bytes codiert. Für das zweite Szenario wurden die
Sequenzen „Kanu“ und „Fast Food“ im PAL-Format (720×576 Bildpunkte) verwen-
det. Um einen DVB-T ähnlichen MPEG-2 Datenstrom zu simulieren, wurden diese
Sequenzen mit einer festen Slice-Größe von 180 Bytes codiert. Für die bewegungs-
kompensierte Prädiktion wurde bei den Sequenzen im CIF-Format ein Suchraum
von +/- 16 Bildpunkten und bei den Sequenzen im PAL-Format ein Suchraum von
+/- 32 Bildpunkten gewählt.
Von der „Crew“- und der „Vimto“-Sequenz wurden jeweils 100 Bilder mit einem Quan-
tisierungsparameter QP=28 codiert. Die entsprechenden Datenraten für 15 Bilder
pro Sekunde sind in Tab. 6.1 angegeben. Von der „Kanu“-Sequenz wurden 50 Bilder
83
KAPITEL 6. H.264 DECODER
mit QP=30 und von der „Fast Food“-Sequenz 65 Bilder mit QP=28 codiert. Auch
hier können die entsprechenden Datenraten für 25 Bilder pro Sekunde Tab. 6.2
entnommen werden. Bei allen vier Sequenzen wurde jedes 20. Bild intracodiert. Al-
le anderen Bilder wurden intercodiert. Nach der Codierung wurden anhand von
zwei verschiedenen Bitfehlerraten (BER: 5.1 · 10−4, 1.7 · 10−4) Paketverluste simu-
liert. Alle Pakete, in denen ein oder mehrere Bitfehler auftraten, wurden während
der Simulation verworfen. Jeder Paketverlust hatte den Verlust von einem Slice
zur Folge. Der Bildinhalt der verloren gegangenen Slices wurde nach der in Ab-
schnitt 6.3 beschriebenen Implementierung einmal mit dem Verschleierungsverfah-
ren der Referenzsoftware und einmal mit der dreidimensionalen frequenzselektiven
Extrapolation geschätzt. Um eine statistische Grundlage für den Vergleich der zwei
Fehlerverschleierungsverfahren zu gewährleisten, wurden für jede Kombination aus
Makroblock-Muster und BER mehrere Durchläufe simuliert. Für die CIF-Sequenzen
wurden jeweils fünf Durchläufe und für die PAL-Sequenzen zehn Durchläufe ausge-
wertet. Anschließend wurde der mittlere PSNR-Wert berechnet und in die entpre-
chende Tabelle zum Vergleich eingetragen.
Bei der „Crew“-Sequenz wurden zwei vorherige Bilder zur Berechnung des para-
metrischen Modells eingesetzt. Bei der „Vimto“-Sequenz wurde jedoch nur ein vorhe-
riges Bild verwendet, weil diese Sequenz starke Bewegungen und viele Szenenwechsel
beinhaltet. Bei der „Crew“-Sequenz sind die gemittelten PSNR-Werte für beide Ver-
fahren sehr ähnlich (vgl. Tab. 6.1) . Die Helligkeitsunterschiede der „Crew“-Sequenz
haben in Kapitel 5.4 beim Boundary Matching Algorithmus zu schlechten Verschleie-
rungsergebnissen geführt. Im Vergleich dazu sind die Ergebnisse, die mit dem Refe-
renzverfahren erreicht werden, wesentlich besser. Das liegt zum einen daran, dass die
Makroblöcke für die Bewegungssuche in kleinere Blöcke bis zu einer Größe von 4×4
Bildpunkten zerlegt werden können und zum anderen daran, dass die Bewegungssu-
che beim H.264 Standard nicht wie in Kapitel 5.4 mit einer Genauigkeit von einem
Bildpunkt, sondern mit einer Genauigkeit von 1/4 Bildpunkt durchgeführt wird.
Außerdem können mehrere Referenzbilder verwendet werden. Das bedeutet, dass
aus fünf Referenzbildern das Bild als Referenz ausgewählt werden kann, für das der
84
KAPITEL 6. H.264 DECODER
Helligkeitsunterschied am geringsten ist. Die Helligkeitsunterschiede sind dennoch
bei den Sequenzen, die mit dem H.264 Verfahren verschleiert wurden, zu erkennen
(vgl. Abb. 6.4). Da es mit der dreidimensionalen Extrapolation bei dieser Sequenz
nicht möglich ist, Details genauso gut wie mit dem Standardverfahren nachzubil-
den, sind die PSNR-Werte für beide Verfahren vergleichbar. Für die menschliche
Wahrnehmung wirken die Helligkeitsunterschiede allerdings störender als die un-
scharf rekonstruierten Bilddetails.
Bei der „Vimto“-Sequenz sind die PSNR-Werte für die dreidimensionale Extrapolation
nur dann besser, wenn Blockverluste nach einem Szenenschnitt auftreten. Da beim
H.264 Verfahren das Prädiktionsfehlersignal nicht rekonstruiert wird, haben die aus
Referenzbildern eingefügten Blöcke meist einen anderen Bildinhalt und fallen des-
halb stark auf (vgl. Abb. 6.5). Anhand der Auswertungen für beide Sequenzen wird
deutlich, dass die Ergebnisse für die dreidimnsionale Extrapolation besser sind, wenn
die Makroblöcke bei der Codierung als Schachbrettmuster angeordnet werden.
Für die Auswertungen der „Kanu“- und „Fast Food“-Sequenz im PAL-Format sind
bei einer Anordnung der Makroblöcke als Schachbrettmuster die gemittelten PSNR-
Werte für das dreidimensionale Extrapolationsverfahren immer besser als die gemit-
telten PSNR-Werte für das Standardverfahren.
Bei der „Kanu“-Sequenz liefert die dreidimensionale Extrapolation auch für eine An-
ordnung der Makroblöcke in Zeilen ein besseres Ergebnis als das Referenzverfahren.
Für eine Bitfehlerrate von 5.1 · 10−4 kann ein PSNR-Gewinn von 0.18 dB und für
eine Bitfehlerrate von 1.7 · 10−4 ein PSNR-Gewinn von 0.08 dB erzielt werden. Bei
Anordnung der Makroblöcke als Schachbrettmuster liegen die PSNR-Werte für das
Extrapolationsverfahren um 0.3 dB und 0.11 dB höher als für das Verfahren der
Referenzsoftware. In Abb. 6.6 ist für eine Anordnung der Blöcke als Schachbrett-
muster und für eine Bitfehlerrate von 5.1 ·10−4 das 53. Bild aus der „Kanu“-Sequenz
nach der Verschleierung mit dem neuen Verfahren (s. Abb. 6.6(a)) und nach der
Verschleierung mit dem Verfahren der Referenzsoftware (s. Abb. 6.6(b)) dargestellt.
Die verschleierten Blöcke fallen in Abb. 6.6(b) wesentlich stärker auf als in Abb.
6.6(a). Ein weiteres Bildbeispiel für die „Kanu“-Sequenz ist im Anhang C beigefügt.
85
KAPITEL 6. H.264 DECODER
Für die Auswertungen der „Fast Food“-Sequenz sind bei einer Anordnung der Blö-
cke in Zeilen die PSNR-Werte für das neue Verfahrens bis zu 1 dB schlechter als
für das Standardverfahren. Das liegt daran, dass diese Sequenz starke Bewegungen
beinhaltet und deshalb beim Ausfall mehrerer Zeilen der Algorithmus die verloren
gegangenen Bilddaten nicht so gut wie der bewegungskompensierte Ansatz rekon-
struieren kann. Werden die Blöcke als Schachbrettmuster angeordnet, kann mit dem
neuen Verfahren jedoch gegenüber dem Standardverfahren eine Verbesserung des
PSNR-Wertes von bis zu 1 dB erzielt werden. In Abb. 6.7 ist für eine Anordnung
der Makroblöcke in Zeilen und eine Bitfehlerrate von 1.7 · 10−4 das 33. Bild aus der
Sequenz „Fast Food“ nach der Verschleierung mit den beiden Verfahren abgebildet.
Ein weiteres Bild aus dieser Sequenz ist im Anhang C zu finden.
Des weiteren ist anhand Tab. 6.2 zu erkennen, dass bei einer Anordnung der Blöcke
in Zeilen für NV = 2 deutlich bessere PSNR-Werte als für NV = 1 erreicht wer-
den. Bei einer Anordnung der Blöcke als Schachbrettmuster sind die Ergebnisse für
NV = 1 und NV = 2 ähnlich.
BER Verfahren Crew Vimto
- - 37.57 dB 37.77 dB
Zeilenanordnung 5.1 · 10−4 3D 35.95 dB 32.31 dB
15Hz H.264 36.13 dB 33.59 dB
Crew: 287.52 kbit/s 1.7 · 10−4 3D 36.99 dB 35.19 dB
Vimto: 381.87 kbit/s H.264 37.01 dB 35.75 dB
- - 37.54 dB 37.73 dB
Schachbrettmuster 5.1 · 10−4 3D 36.19 dB 33.77 dB
15Hz H.264 36.14 dB 33.60 dB
Crew: 319.08 kbit/s 1.7 · 10−4 3D 36.85 dB 36.25 dB
Vimto: 440.73 kbit/s H.264 36.83 dB 35.78 dB
Tabelle 6.1: Auswertungen für die „Crew- und „Vimto“-Sequenz im CIF-Format.
86
KAPITEL 6. H.264 DECODER
(a)
(b)
Abbildung 6.4: Bild 63 aus der Sequenz „Crew“. Zeilenanordnung. BER 5.1 · 10−4.
6.4(a): 3D Extrapolation. 6.4(b): H.264.
87
KAPITEL 6. H.264 DECODER
(a)
(b)
Abbildung 6.5: Bild 53 aus der Sequenz „Vimto“. Schachbrettmuster. BER 1.7 ·10−4.
6.5(a): 3D Extrapolation. 6.5(b): H.264.
88
KAPITEL 6. H.264 DECODER
BER Verfahren Kanu Fast Food
- - 34.65 dB 36.86 dB
Zeilenanordnung 5.1 · 10−4 3D NV = 2 29.72 dB 29.37 dB
25Hz 3D NV = 1 29.03 dB 27.92 dB
Kanu: 5.19 Mbit/s H.264 29.54 dB 30.48 dB
Fast Food: 3.47 Mbit/s 1.7 · 10−4 3D NV = 2 32.76 dB 34.72 dB
3D NV = 1 32.33 dB 33.66 dB
H.264 32.68 dB 35.64 dB
- - 34.58 dB 36.81 dB
Schachbrettmuster 5.1 · 10−4 3D NV = 2 32.39 dB 34.53 dB
25Hz 3D NV = 1 32.63 dB 34.46 dB
Kanu: 6.02 Mbit/s H.264 32.33 dB 33.52 dB
Fast Food: 4.19 Mbit/s 1.7 · 10−4 3D NV = 2 33.87 dB 36.00 dB
3D NV = 1 33.82 dB 35.88 dB
H.264 33.76 dB 35.65 dB
Tabelle 6.2: Auswertungen für intercodierte Sequenzen im PAL-Format.
89
KAPITEL 6. H.264 DECODER
(a)
(b)
Abbildung 6.6: Bild 14 aus der Sequenz „Kanu“. Schachbrettmuster. BER 5.1 · 10−4.
6.6(a): 3D Extrapolation. 6.6(b): H.264.
90
KAPITEL 6. H.264 DECODER
(a)
(b)
Abbildung 6.7: Bild 33 aus der Sequenz „Fast Food“. Zeilenanordnung.
BER 1.7 · 10−4. 6.7(a): 3D Extrapolation. 6.7(b): H.264.
91
KAPITEL 6. H.264 DECODER
6.4.2 Ergebnisse für intracodierte Bilder
Zur Verschleierung von verloren gegangenen Makroblöcken in intracodierten Bildern
wird im H.264 Decoder eine gewichtete Mittelung über Nachbarbildpunkte durchge-
führt (vgl. Abschnitt 6.2.2). Das in der Referenzsoftware implementierte Verfahren
zur Fehlerverschleierung von intercodierten Bildern kann zur Verschleierung von
intracodierten Bildern nicht eingesetzt werden, weil keine Bewegungsvektoren als
Testvektoren zur Verfügung stehen. Das Verfahren der dreidimensionalen Extra-
polation kann jedoch zur Verschleierung von intracodierten Blöcken verwendet wer-
den, weil keine Bewegungsinformation für dieses Verfahren notwendig ist. Wichtig
ist nur, dass man auf die vorherigen Bilder, die man zur Extrapolation benötigt,
Zugriff hat. Um das Intra-Verschleierungsverfahren der Referenzsoftware mit der
dreidimensionalen Extrapolation zu vergleichen, wurden 10 Bilder der Sequenzen
„Kanu“ und „Fast Food“ mit einer festen Slice-Größe von 180 Bytes und QP=28
intracodiert. Die Makroblöcke wurden einmal als Schachbrettmuster und einmal in
Zeilen angeordnet. Die entsprechenden Datenraten für 25 Bilder pro Sekunde kön-
nen Tab. 6.3 entnommen werden. Wie in Abschnitt 6.4.1 beschrieben wurden auch
hier zwei Bitfehlerraten simuliert und für jede Kombination aus Makroblock-Muster
und BER zehn Durchläufe ausgewertet.
Anhand der gemittelten PSNR-Werte in Tab. 6.3 wird deutlich, dass das neue Extra-
polationsverfahren für jede Kombination aus Makroblock-Muster und BER deutlich
bessere Ergebnisse liefert als das Verfahren der Referenzsoftware. Bei der „Kanu“-
Sequenz sind die PSNR-Werte für die dreidimensionale Extrapolation bis zu 0.5 dB
besser als für das Standardverfahren. Abb. 6.8 zeigt für eine Anordnung der Makro-
blöcke als Schachbrettmuster und eine Bitfehlerrate von 1.7 · 10−4 das 3. Bild aus
der „Kanu“-Sequenz nach der Verschleierung mit dem neuen Verfahren und nach der
Verschleierung mit dem Referenzverfahren. Bei genauer Betrachtung sind in Abb.
6.8(b) die verschleierten Blöcke vor allem an der oberen Bootkante zu erkennen. In
Abb. 6.8(a) dagegen ist die Bootkante nahezu einwandfrei rekonstruiert.
Für die Auswertungen der „Fast Food“-Sequenz ergeben sich bei Anordnung der
92
KAPITEL 6. H.264 DECODER
Makroblöcke in Zeilen PSNR-Gewinne von mehr als 2 dB. Abb. 6.9 bestätigt dieses
Ergebnis. Während in Abb. 6.9(b) die verschleierten Blöcke als störend empfunden
werden, fallen diese in Abb. 6.9(a) dem Betrachter kaum auf. Weitere Bildbeispiele
zur Intra-Verschleierung sind im Anhang D beigefügt.
BER Verfahren Kanu Fast Food
- - 38.32 dB 37.35 dB
Zeilenanordnung 5.1 · 10−4 3D NV = 2 35.91 dB 35.70 dB
25Hz 3D NV = 1 35.79 dB 34.75 dB
Kanu: 6.34 Mbit/s H.264 35.69 dB 33.58 dB
Fast Food: 5.31 Mbit/s 1.7 · 10−4 3D NV = 2 37.59 dB 36.93 dB
3D NV = 1 37.52 dB 36.44 dB
H.264 37.46 dB 35.94 dB
- - 38.32 dB 37.34 dB
Schachbrettmuster 5.1 · 10−4 3D NV = 2 37.25 dB 36.30 dB
25Hz 3D NV = 1 37.25 dB 36.22 dB
Kanu: 5.37 Mbit/s H.264 36.72 dB 35.34 dB
Fast Food: 4.30 Mbit/s 1.7 · 10−4 3D NV = 2 37.99 dB 37.00 dB
3D NV = 1 38.01 dB 36.99 dB
H.264 37.80 dB 36.71 dB
Tabelle 6.3: Auswertungen für intracodierte Sequenzen im PAL-Format
6.4.3 Schlussfolgerungen
Die Auswertungen für die Inter- und Intra-Verschleierung haben gezeigt, dass das
neue Extrapolationsverfahren vor allem für die Sequenzen im PAL-Format deutlich
bessere Ergebnisse liefert als die Verschleierungsverfahren der Referenzsoftware. Bei
einer Anordnung der Makroblöcke als Schachbrettmuster sind sowohl die visuelle
als auch die gemessene Bildqualität beachtlich. Werden die Makroblöcke in Zeilen
93
KAPITEL 6. H.264 DECODER
(a)
(b)
Abbildung 6.8: Bild 3 aus der Sequenz „Kanu“. Schachbrettmuster. BER 1.7 · 10−4.
6.8(a): 3D Extrapolation. 6.8(b): H.264.
94
KAPITEL 6. H.264 DECODER
(a)
(b)
Abbildung 6.9: Bild 8 aus der Sequenz „Fast Food“. Zeilenanordnung. BER 5.1·10−4.
6.9(a): 3D Extrapolation. 6.9(b): H.264.
95
KAPITEL 6. H.264 DECODER
angeordnet, können mit dem neuen Verfahren bei der Inter-Verschleierung nicht im-
mer bessere Ergebnisse erzielt werden. Bei einer Anordnung der Blöcke in Zeilen
hängt die Qualität des verschleierten Bildbereichs stark von der Größe des Verlus-
tes ab. Fällt zu viel Bildsignal aus, wie es bei der „Vimto“-Sequenz im CIF-Format
aufgetreten ist, kann mit der dreidimensionalen Extrapolation kein zufriedenstellen-
des Ergebnis erreicht werden. Dennoch ist die Qualität mit dem Referenzverfahren
vergleichbar.
Bei der Intra-Verschleierung dagegen sind die Verschleierungsergebnisse der drei-
dimensionalen Extrapolation auch für eine Anordnung der Blöcke in Zeilen besser
als die Ergebnisse des Referenzverfahrens. Bei der „Fast Food“-Sequenz beträgt der
PSNR-Gewinn sogar mehr als 2 dB.
Um qualitativ noch höherwertige Verschleierungsergebnisse mit dem neuen Extra-
polationsverfahren erzielen zu können, könnte man bei der Inter-Verschleierung die
Anzahl der verwendeten Bilder in Abhängigkeit der mittleren Länge der Bewegungs-
vektoren wählen. Man könnte einen zweiten Schwellwert einführen, der bei starker
Bewegung die Anzahl der verwendeten Bilder von zwei auf eins herabsetzt. Ebenso
wäre es möglich, den Schwellwert Emin und die maximale Iterationszahl an die Be-
wegung und den Bildinhalt anzupassen. Da mit der dreidimensionalen Extrapolation
nicht für alle getesteten Anwendungsfälle bessere Ergebnisse als mit dem Referenz-
verfahren erzielt werden, könnte man auch anhand von Bildmerkmalen entscheiden,
welches der beiden Verfahren eingesetzt werden soll. Treten beispielsweise bei der
„Vimto“-Sequenz Blockverluste nach einem Szenenschnitt auf, kann mit dem neuen
Verfahren der Bildinhalt besser geschätzt werden als mit dem Referenzverfahren des
H.264 Decoders. An dieser Stelle wäre es auf jeden Fall günstig, das Extrapolations-
verfahren einzusetzen. Denkbar wäre auch, bei einem Szenenschnitt oder zu starker
Bewegung anstelle der dreidimensionalen die zweidimensionale Extrapolation zur
Verschleierung zu verwenden.
96
Kapitel 7
Anwendung des Verfahrens zur
Prädiktion
In diesem Kapitel wird die Anwendung der dreidimensionalen frequenzselektiven
Signalextrapolation zur Prädiktion diskutiert und die damit erzielten Ergebnisse
werden mit den Ergebnissen der blockbasierten Bewegungskompensation verglichen.
Wie in Kapitel 2 beschrieben, wird bei heutigen Videocodierungsverfahren für je-
den Makroblock ein Bewegungsvektor berechnet, der die Bewegung von einem Bild
zum nächsten beschreibt. Der H.264 Codec kann einen 16 × 16 Makroblock auch
in kleinere Blöcke bis zu einer Größe von 4 × 4 Bildpunkten zerlegen und für jeden
dieser Blöcke einen solchen Bewegungsvektor bestimmen. Nach der blockbasierten
Bewegungssuche wird der Block des aktuellen Bildes durch den ausgewählten Prä-
diktionsblock des Referenzbildes ersetzt. Wurden alle Blöcke eines Bildes auf diese
Weise geschätzt, wird das prädizierte Bild vom Originalbild subtrahiert und das
entstehende Differenzbild zusammen mit den ermittelten Bewegungsvektoren über-
tragen.
Wird die dreidimensionale Extrapolation zur Prädiktion verwendet, wird jeder Ma-
kroblock des aktuellen Bildes durch den umliegenden Bildinhalt und den Bildinhalt
vorheriger und/oder nachfolgender Bilder geschätzt. Die Bilder, die zur Prädiktion
im Encoder verwendet werden, müssen auch im Decoder zur Verfügung stehen, um
den Prädiktionsprozess beim Decodieren zu wiederholen und dann durch Addition
97
KAPITEL 7. PRÄDIKTION
des Differenzbildes das aktuelle Bild wiederherzustellen. Wenn diese Voraussetzung
gegeben ist, kann der Bildinhalt der vorherigen und nachfolgenden Bilder vollstän-
dig zur Extrapolation genutzt werden. Nur bei Bearbeitung der Randblöcke des
aktuellen Bildes sind außerhalb des Bildes auch in vorherigen und nachfolgenden Bil-
dern keine informationstragenden Bildpunkte vorhanden. Der Vorteil der dreidimen-
sionalen Extrapolation gegenüber der blockbasierten Bewegungskompensation liegt
vor allem darin, dass keine Bewegungsvektoren übertragen werden müssen. Diese
spielen beim bisherigen Verfahren eine große Rolle, da ohne die Bewegungsvektoren
das Bild im Decoder nicht mehr prädiziert werden kann.
7.1 Durchführung
Bei Verwendung der dreidimensionalen frequenzselektiven Signalextrapolation wer-
den die Makroblöcke eines Bildes zeilenweise und innerhalb einer Zeile von links nach
rechts bearbeitet. In Abb. 7.1 ist diese Bearbeitungsreihenfolge dargestellt. Der erste
Makroblock des zu prädizierenden Bildes wird durch den sich örtlich an der gleichen
Stelle befindenden Block des vorherigen Bildes oder eines Referenzbildes ersetzt,
da im aktuellen Bild noch keine prädizierten Bildpunkte als informationstragende
Signalwerte zur Verfügung stehen. Im günstigsten Fall können in den vorherigen
und/oder nachfolgenden Bildern die Bildpunkte aller umliegenden Blöcke und des
sich örtlich an der gleichen Stelle befindenden Blockes und im aktuellen Bild die
Bildpunkte der Blöcke links, links oberhalb, oberhalb, und rechts oberhalb vom ak-
tuellen Block in die Berechnung der Extrapolation einfließen. Wird ein Randblock
prädiziert, stehen in vorherigen und/oder nachfolgenden Bildern entsprechend we-
niger Blöcke zur Extrapolation zur Verfügung. Auch im aktuellen Bild können nicht
immer alle vier Nachbarblöcke (links, links oberhalb, oberhalb, rechts oberhalb) zur
Berechnung des parametrischen Modells verwendet werden. In Abb. 7.1 sind die Blö-
cke, für deren Prädiktion alle vier Nachbarblöcke benutzt werden können, grau und
die Randblöcke, deren Rekonstruktion mit weniger als vier Nachbarblöcken erfolgen
muss, farbig gekennzeichnet. Wird das Extrapolationsverfahren zur Prädiktion ein-
98
KAPITEL 7. PRÄDIKTION
1
1413 17
11
2218
6543 9
12
1087
20
2
19 21
2423
1615
86 8887
...
...
aktueller Block zur Verfügung stehende Nachbarblöcke
kopiert aus Referenzbild
MB links verfügbar
MB oberhalb und rechts oberhalbverfügbar
MB links, links oberhalb undoberhalb verfügbar
MB links, links oberhalb, oberhalbund rechts oberhalb verfügbar
Abbildung 7.1: Bearbeitungsreihenfolge der Makroblöcke und zur Verfügung stehen-
de Nachbarblöcke
gesetzt, genügt in zeitlicher Richtung eine FFT-Länge von 16. Die Auswertungen
in Kapitel 5 haben gezeigt, dass die PSNR-Werte bei einer FFT-Länge von 16 fast
ebenso gut sind wie bei einer FFT-Länge von 32. Da bei der Prädiktion jeder Makro-
block prädiziert werden muss, kann durch eine FFT-Länge von 16 im Vergleich zu
32 der Rechenaufwand erheblich reduziert werden, ohne dass sich die Bildqualität
des zu schätzenden Bildinhaltes entscheidend verschlechtert. Um den Rechenauf-
wand zu minimieren wurde bei den folgenden Auswertungen zusätzlich die maximal
zulässige Anzahl an Iterationen auf 100 beschränkt. Der Schwellwert Emin für die
Abnahme der Restfehlerenergie wurde auf 0.1 und der Korrelationskoeffizient ρ auf
0.8 gesetzt. Da im aktuellen Bild nur wenige Nachbarblöcke zur Verfügung stehen,
wurden zur Schätzung des Modells 16 Randbildpunkte verwendet, so dass der ge-
samte Bildinhalt der Nachbarblöcke in die Berechnung des parametrischen Modells
einfließen kann.
Prädiziert wurden die bereits in Kapitel 5 verwendeten Bilder der Sequenzen „Flower-
garden“, „Crew“, „Foreman“ und „Table Tennis“. Um die Prädiktionsergebnisse der
dreidimensionalen Extrapolation mit den Ergebnissen der blockbasierten Bewegungs-
kompensation zu vergleichen, werden die PSNR-Werte der prädizierten Bilder und
99
KAPITEL 7. PRÄDIKTION
die Verteilungseigenschaften der zu übertragenden Differenzwerte betrachtet. Je klei-
ner der Betrag des Mittelwertes µ und die Standardabweichung σ sind, desto besser
ist die Verteilungsfunktion zur Transformation geeignet, da viel Energie in wenigen
Koeffizienten konzentriert werden kann.
Der Mittelwert µ berechnet sich aus der Summe der Intensitätswerte xi,j geteilt
durch die Anzahl der Bildpunkte M × N .
µ =1
M · N
M∑
i=1
N∑
j=1
(xi,j) (7.1)
Die quadrierte Standardabweichung σ2 entspricht der Varianz. Diese berechnet sich
aus der Summe der quadrierten Differenzen zwischen den Intensitätswerten xi,j und
dem Mittelwert µ, normiert auf die Anzahl der Bildpunkte M × N .
σ =
√
√
√
√
1
M · N
M∑
i=1
N∑
j=1
(xi,j − µ)2 (7.2)
Für die folgenden Auswertungen wurde der Suchraum der Bewegungssuche im Ver-
gleich zu Kapitel 5.4 von +/- 8 Bildpunkten auf +/ -16 Bildpunkten vergrößert und
die Genauigkeit auf 1/2 Bildpunkt erhöht. Nach einer vollen Bewegungssuche auf
den ganzzahligen Positionen wurden die Halbpixelpositionen um die gefundene Po-
sition herum untersucht. Wie in Kapitel 6.1.4 beschrieben wird im H.264 Standard
ein aufwendigeres und effizienteres Verfahren zur Inter-Prädiktion eingesetzt. Die
16 × 16 Makroblöcke werden in kleinere Partitionen bis zu 4 × 4 Blöcken zerlegt
und die Bewegungssuche wird auf 1/4 Bildpunkt genau berechnet. Außerdem ste-
hen mehrere Referenzbilder für die Bewegungssuche zur Verfügung. An dieser Stelle
genügt es, eine vereinfachte Bewegungssuche durchzuführen, da nur eine grobe Ab-
schätzung gemacht werden soll, ob es sinnvoll ist, diesen Anwendungsfall genauer zu
untersuchen.
7.2 Ergebnisse
In Tab. 7.1 und 7.2 sind die PSNR-Werte der prädizierten Bilder, die Mittelwerte
und die Standardabweichungen der Luminanzkomponente und der beiden Chromi-
100
KAPITEL 7. PRÄDIKTION
nanzkomponenten angegeben. Die sukzessive Approximation wurde zur Prädiktion
mit einem vorherigen Bild (NV = 1), mit zwei vorherigen Bildern (NV = 2), mit
einem vorherigen und einem nachfolgenden Bild (NV = NN = 1) und mit zwei
vorherigen und zwei nachfolgenden Bildern (NV = NN = 2) getestet. Das beste
Ergebnis bezüglich der PSNR-Werte, der Mittelwerte und der Standardabweichun-
gen wurde immer für zwei vorherige und zwei nachfolgende Bilder erreicht, weil
hier am meisten Information über den zu prädizierenden Bildinhalt zur Verfügung
steht. Diese Kombination kann allerdings nur für bidirektional prädizierte Bilder
eingesetzt werden, da die nachfolgenden Bilder bereits decodiert sein müssen, um
den Prädiktionsprozess nachbilden zu können. Bezüglich des PSNR-Wertes und der
Standardabweichungen sind die Ergebnisse für zwei vorherige Bilder meistens besser
als für ein vorheriges und ein nachfolgendes Bild.
Die blockbasierte Bewegungssuche wurde mit einer Genauigkeit von einem und ei-
nem halben Bildpunkt durchgeführt. Die Ergebnisse sind ebenfalls in Tab. 7.1 und
7.2 dargestellt. Wie zu erwarten sind die Ergebnisse nach der Subpixelsuche ein
wenig besser als nach der Vollpixelsuche. Aus Tab. 7.1 und 7.2 geht hervor, dass
die PSNR-Werte, Mittelwerte und Standardabweichungen für NV = NN = 2 mit
den Werten für die 1/2 Bildpunkt genaue Bewegungssuche vergleichbar sind. Der
PSNR-Wert für NV = NN = 2 liegt zwar meistens unter dem PSNR-Wert für die
Subpixelsuche, aber die Mittelwerte und Standarabweichungen sind sehr ähnlich.
Während bei der dreidimensionalen Extrapolation die Mittelwerte und Standardab-
weichungen der Luminanzwerte etwas schlechter als bei der Subpixelsuche sind, sind
die Mittelwerte und Standardabweichungen der Chrominanzwerte etwas besser als
bei der Subpixelsuche. Die Ergebnisse für NV = 1 sind eindeutig am Schlechtesten,
weil hier nur Information aus dem vorherigen Bild verwendet wird und somit kaum
Bewegungen nachgebildet werden können.
Bei der „Crew“-Sequenz liefert die dreidimensionale Extrapolation ein entscheidend
besseres Prädiktionsergebnis als die bewegungskompensierte Prädiktion. Das liegt
an den Helligkeitsunterschieden der „Crew“-Sequenz. Diese waren auch der Grund
für die schlechten Ergebnisse des „Boundary Matching“ Algorithmus in Kapitel 5.4.
101
KAPITEL 7. PRÄDIKTION
Die Auswertungen in Kapitel 6.4 haben jedoch gezeigt, dass sich im H.264 Stan-
dard Helligkeitsunterschiede weniger stark auswirken, weil zur Inter-Prädiktion ins-
gesamt fünf Referenzbilder zur Verfügung stehen. Um eine zuverlässige Aussage über
die Einsatzfähigkeit der dreidimensionalen Extrapolation zur Prädiktion machen zu
können, müsste dieser Anwendungsfall in einem realen Coder getestet werden.
In Abb. 7.2, 7.4, 7.6 und 7.8 sind jeweils die Originalbilder und die prädizierten
Bilder für NV = 1, für NV = 2, für NV = NN = 1, für NV = NN = 2 und
für die Subpixelsuche abgebildet. Für NV = NN = 2 und die Subpixelsuche sind
die Verteilungsfunktionen der Differenzwerte in Abb. 7.3, 7.5, 7.7 und 7.9 darge-
stellt. Anhand der Abbildungen ist deutlich zu erkennen, dass bei den Sequenzen
„Flowergarden“, „Foreman“ und „Table Tennis“ die Verteilungen der Luminanzwerte
für die Subpixel genaue Suche besser als für das Extrapolationsverfahren sind, weil
die Verteilungen schmaler sind und deshalb bei der Transformation weniger Koeffi-
zienten benötigt werden. Bei der „Crew“-Sequenz dagegen sind die Verteilungen der
Luminanz- und Chrominanzwerte für das Extrapolationsverfahren eindeutig besser
als für die Subpixelsuche. Die Verteilungen sind gleichmäßiger und weisen sowohl
kleinere Mittelwerte als auch kleinere Standardabweichungen auf. Ob nun die drei-
dimensionale frequenzselektive Extrapolation zur Prädiktion besser geeignet ist als
die bisher verwendete Bewegungssuche, die beim H.264 Standard bis zu einer Ge-
nauigkeit von 1/4 Bildpunkt und mit mehreren Referenzbildern durchgeführt wird,
muss noch genauer untersucht werden.
Die in diesem Kapitel dargestellten Auswertungen haben gezeigt, dass die Verteilun-
gen der Luminanzwerte für das Extrapolationsverfahren meistens etwas schlechter
sind als die Verteilungen für die bewegungskompensierte Prädiktion. Dabei muss
allerdings beachtet werden, dass bei der Extrapolation keine Bewegungsinformation
nötig ist. Eine höhere Datenrate zur Codierung der Transformationskoeffizienten
muss daher nicht unbedingt zu einer insgesamt höheren Datenrate als bei der Be-
wegungssuche führen.
102
KAPITEL 7. PRÄDIKTION
NV = 1 NV = 2 NV = NN = 1 NV = NN = 2 Vollpixel Halbpixel
Flower-
garden
PSNR [dB] 19.17 24.81 22.68 27.72 26.68 28.00
µY 0.93 0.30 0.26 0.13 0.19 0.19
µU -0.09 -0.03 -0.33 -0.00 -0.05 -0.05
µV 0.18 -0.02 -0.38 0.01 0.04 -0.05
σY 28.04 14.66 18.73 10.48 11.82 10.15
σU 10.79 4.52 8.20 3.30 5.78 5.38
σV 6.15 2.95 4.99 2.18 3.92 3.62
Crew
PSNR [dB] 22.49 26.84 25.28 29.53 21.15 21.55
µY -3.30 -1.77 -3.38 -2.04 -10.17 -9.98
µU -0.35 -0.65 -0.62 -0.64 -7.16 -7.19
µV -0.20 0.42 -0.25 -0.09 3.30 3.39
σY 18.85 11.47 13.50 8.27 19.89 18.86
σU 6.11 3.64 4.69 3.21 9.87 9.61
σV 7.9 4.66 5.25 3.20 13.88 13.55
Tabelle 7.1: Prädiktionsergebnisse für „Flowergarden“ und „Crew“.
103
KAPITEL 7. PRÄDIKTION
NV = 1 NV = 2 NV = NN = 1 NV = NN = 2 Vollpixel Halbpixel
Foreman
PSNR [dB] 24.30 32.83 29.69 34.35 34.95 36.23
µY -0.29 0.01 0.01 0.03 -0.08 -0.01
µU 0.15 0.04 0.08 0.04 0.05 0.06
µV 0.01 0.02 0.00 0.01 0.00 0.00
σY 15.53 5.82 8.36 4.89 4.56 3.94
σU 4.27 2.08 3.11 1.82 3.67 3.49
σV 4.02 1.67 2.82 1.44 2.64 2.53
Table
Tennis
PSNR [dB] 21.86 22.54 22.62 28.79 29.05 30.31
µY 0.73 0.41 0.21 0.21 0.19 0.14 d
µU -0.20 -0.05 -0.15 0.09 -0.02 -0.02
µV 0.65 -0.00 0.14 0.05 -0.01 -0.01
σY 20.57 19.03 18.86 9.08 8.99 7.78
σU 8.25 4.18 7.07 2.73 5.77 4.90
σV 9.52 5.25 6.64 3.18 6.78 5.88
Tabelle 7.2: Prädiktionsergebnisse für „Foreman“ und „Table Tennis“.
104
KAPITEL 7. PRÄDIKTION
(a) (b) (c)
(d) (e) (f)
Abbildung 7.2: Prädizierte Bilder: Sequenz „Flowergarden“. 7.2(a): Originalbild.
7.2(b): NV = 1. 7.2(c): NV = 2. 7.2(d): NV = NN = 1. 7.2(e): NV = NN = 2.
7.2(f): Bewegungskompensierte Prädiktion (Halbpixelpositionen).
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
Abbildung 7.3: Histogramm über Differenzwerte. Sequenz: “Flowergarden“. oben:
NV = NN = 2. unten: Bewegungskompensierte Prädiktion (Halbpixelpositionen).
105
KAPITEL 7. PRÄDIKTION
(a) (b) (c)
(d) (e) (f)
Abbildung 7.4: Prädizierte Bilder: Sequenz „Crew“. 7.4(a): Originalbild. 7.4(b):
NV = 1. 7.4(c): NV = 2. 7.4(d): NV = NN = 1. 7.4(e): NV = NN = 2. 7.4(f):
Bewegungskompensierte Prädiktion (Halbpixelpositionen).
−60 −40 −20 0 20 40 600
0.5
1
1.5
2x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−60 −40 −20 0 20 40 600
0.5
1
1.5
2x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−60 −40 −20 0 20 40 600
0.5
1
1.5
2x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
−60 −40 −20 0 20 40 600
0.5
1
1.5
2x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−60 −40 −20 0 20 40 600
0.5
1
1.5
2x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−60 −40 −20 0 20 40 600
0.5
1
1.5
2x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
Abbildung 7.5: Histogramm über Differenzwerte. Sequenz: “Crew“. oben: NV =
NN = 2. unten: Bewegungskompensierte Prädiktion (Halbpixelpositionen).
106
KAPITEL 7. PRÄDIKTION
(a) (b) (c)
(d) (e) (f)
Abbildung 7.6: Prädizierte Bilder: Sequenz „Foreman“. 7.6(a): Originalbild. 7.6(b):
NV = 1. 7.6(c): NV = 2. 7.6(d): NV = NN = 1. 7.6(e): NV = NN = 2. 7.6(f):
Bewegungskompensierte Prädiktion (Halbpixelpositionen).
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
Abbildung 7.7: Histogramm über Differenzwerte. Sequenz: “Foreman“. oben: NV =
NN = 2. unten: Bewegungskompensierte Prädiktion (Halbpixelpositionen).
107
KAPITEL 7. PRÄDIKTION
(a) (b) (c)
(d) (e) (f)
Abbildung 7.8: Prädizierte Bilder: Sequenz „Table Tennis“. 7.8(a): Originalbild.
7.8(b): NV = 1. 7.8(c): NV = 2. 7.8(d): NV = NN = 1. 7.8(e): NV = NN = 2.
7.8(f): Bewegungskompensierte Prädiktion (Halbpixelpositionen).
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
Y-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
U-Komponente
−40 −20 0 20 400
0.5
1
1.5
2
2.5
3
3.5x 10
4
Anzahlder
Bildpunkte
Quantisierte Differenzwerte
V-Komponente
Abbildung 7.9: Histogramm über Differenzwerte. Sequenz: “Table Tennis“. oben:
NV = NN = 2. unten: Bewegungskompensierte Prädiktion (Halbpixelpositionen).
108
Kapitel 8
Abschließende Betrachtungen
In der vorliegenden Arbeit wurde ein Verfahren zur Extrapolation dreidimensionaler
Signale hergeleitet und als iterativer Algorithmus implementiert. Dieser Algorithmus
wurde dann zunächst zur Fehlerverschleierung von Block- und Zeilenverlusten ein-
gesetzt, die bei der Übertragung von komprimierten Videodaten über fehlerhafte
Kanäle entstehen. Dabei hat sich gezeigt, dass bei guter Parameterwahl das dreidi-
mensionale Extrapolationsverfahren sehr gute Ergebnisse liefert und vielen existie-
renden Verfahren überlegen ist.
Nach der Herleitung des dreidimensionalen Extrapolationsverfahrens wurden in Ka-
pitel 5.2 anhand von zahlreichen Auswertungen geeignete Werte für den Schwell-
wert Emin, die maximal zulässige Anzahl an Iterationen, die FFT-Länge in zeit-
licher Richtung und die Anzahl vorheriger und nachfolgender Bilder bestimmt. Als
Gewichtungsfunktion wurde das dreidimensionale isotrope Korrelationsmodell mit
einem Korrelationskoeffizienten ρ = 0.8 ausgewählt. Anschließend wurden Block-
und Zeilenverluste in uncodierten Bildern mit dem neuen Extrapolationsverfahren
verschleiert. Die Auswertungen und Bildbeispiele in Kapitel 5.3 haben gezeigt, dass
mit der dreidimensionalen Extrapolation sowohl Bewegungen als auch Helligkeitsun-
terschiede nachgebildet werden können. Anhand der beiden Abbruchkriterien, dem
Schwellwert Emin und der maximal zulässigen Anzahl an Iterationen, kann die Qua-
lität des geschätzten Bildinhaltes beeinflusst werden.
Um ein qualitativ hochwertiges Ergebnis zu erzielen, müssen jedoch sehr viele Iterationen
109
KAPITEL 8. ABSCHLIEßENDE BETRACHTUNGEN
durchgeführt werden. Dieser extrem hohe Rechenaufwand ist ein entscheidender
Nachteil dieses Verfahrens. Deshalb wäre es wünschenswert, durch eine Erweite-
rung des Extrapolationsalgorithmus eine optimale Anpassung der Parameter an den
zu verschleiernden Bildinhalt zu erreichen, um die Anzahl an Iterationen auf ein
Minimum zu begrenzen. Die Parameter könnten beispielsweise an die im Bild ent-
haltene Bewegung angepasst werden. Eine weitere Entscheidungsschwelle könnte für
homogene Bildbereiche, Bildbereiche mit vielen Details und Szenenwechsel einge-
führt werden. Die Auswertungen in Kapitel 5.2 haben erkennen lassen, dass für
die beiden Abbruchkriterien zur Terminierung des Algorithmus und für die Anzahl
vorheriger und/oder nachfolgender Bilder die optimalen Parameterwerte von der
jeweiligen Sequenz abhängig sind. Für die Auswertungen in Kapitel 5.3, 5.4 und
6.4 wurden Parameterwerte verwendet, die aufgrund der Auswertungen in Kapitel
5.2 für alle betrachteten Sequenzen ein gutes, aber kein optimales Ergebnis lieferten.
Eine Erhöhung der Adaptivität könnte daher zu einer Verminderung des Rechenauf-
wandes führen. Des weiteren könnte man in jedem Iterationsschritt Berechnungen
sparen, indem man anstelle der gewichteten Restfehlerenergie den Betrag des ge-
wichteten Restfehlers als Kriterium zur Auswahl der Basisfunktion verwendet.
In Kapitel 6 wurden zunächst einige Besonderheiten des H.264 Standards und das im
H.264 Decoder verwendete Verfahren zur Fehlerverschleierung beschrieben. Um das
neue Extrapolationsverfahren mit dem Inter- und Intra-Verschleierungsverfahren der
Referenzsoftware JM93 des H.264 Decoders zu vergleichen, wurde der iterative Algo-
rithmus der dreidimensionalen Extrapolation in die Referenzsoftware implementiert.
Die Auswertungen für die Verschleierung intercodierter Bilder haben ergeben, dass
bei Anordnung der Makroblöcke als Schachbrettmuster mit der dreidimensionalen
frequenzselektiven Extrapolation eindeutig bessere Ergebnisse als mit dem Stan-
dardverfahren erzielt werden können. Bei der Verschleierung von intracodierten Blö-
cken sind die Ergebnisse, die mit der dreidimensionalen Signalextrapolation erreicht
werden können, besonders beeindruckend. Das neue Verfahren führt sogar bei An-
ordnung der Blöcke in Zeilen zu einer Verbesserung des PSNR-Wertes von mehr als
2 dB. Dieser PSNR-Gewinn wird durch die visuell gute Qualität der decodierten
110
Daten bestätigt.
In Kapitel 7 wurde die Anwendung der dreidimensionalen frequenzselektiven Signal-
extrapolation zur Prädiktion diskutiert. Die prädizierten Bilder und die Verteilungs-
funktionen der Differenzwerte wurden mit denen der bewegungskompensierten Prä-
diktion verglichen. Die Ergebnisse, die mit dem neuen Extrapolationsverfahren er-
reicht werden, sind ähnlich den Ergebnissen, die mit der Subpixel genauen Bewe-
gungssuche erzielt werden. Der Vorteil des neuen Extrapolationsverfahren liegt vor
allem darin, dass keine Bewegungsvektoren übertragen werden müssen. Um bei dem
neuen Verfahren eine Aussage über die Datenrate der zu übertragenden Information
zu machen, müsste das Verfahren allerdings im H.264 Codec zur Prädiktion einge-
setzt und mit der standardgemäß verwendeten Bewegungssuche verglichen werden.
Danksagung
An dieser Stelle möchte ich mich bei allen bedanken, die durch ihre fachliche und
persönliche Unterstützung zum Gelingen meiner Diplomarbeit beigetragen haben.
Bedanken möchte ich mich bei Professor André Kaup, der mir die Bearbeitung
meiner Diplomarbeit am Lehrstuhl für Multimediakommunikation und Signalverar-
beitung (LMS) ermöglichte und stets Interesse an meiner Arbeit zeigte.
Ein besonderes Dankeschön gilt Katrin Meisinger, die mich während meiner Arbeit
hervorragend betreute, mich durch konstruktive Vorschläge unterstützte und immer
ein offenes Ohr für meine Fragen und Probleme zur Durchführung meiner Arbeit
hatte.
Ebenfalls danken möchte ich allen Mitarbeitern des LMS für die allseits vorhande-
ne Hilfsbereitschaft und fachliche Unterstützung sowie bei allen Kommilitonen und
Freunden für die fachlichen Gespräche und Anregungen, die seelische Unterstützung
und das Korrekturlesen meiner Arbeit .
Anhang A
Diagramme zur Parameterwahl für
Zeilenverluste
112
ANHANG A. DIAGRAMME ZUR PARAMETERWAHL FÜRZEILENVERLUSTE
0 200 400 600 800 100022
23
24
25
26
27
28
29
30
Anzahl an Iterationen
PS
NR
[dB
]
"Flowergarden"
Randpixel=3Randpixel=6Randpixel=9Randpixel=12Randpixel=15
0 200 400 600 800 100030
31
32
33
34
35
36
37
38
Anzahl an Iterationen
PS
NR
[dB
]
"Foreman"
Randpixel=3Randspixel=6Randpixel=9Randpixel=12Randpixel=15
0 200 400 600 800 100024
25
26
27
28
29
30
31
32
Anzahl an Iterationen
PS
NR
[dB
]
"Table Tennis"
Randpixel=3Randpixel=6Randpixel=9Randpixel=12Randpixel=15
0 200 400 600 800 100026
27
28
29
30
31
32
33
34
Anzahl an Iterationen
PS
NR
[dB
]
"Crew"
Randpixel=3Randpixel=6Randpixel=9Randpixel=12Randpixel=15
Abbildung A.1: PSNR-Messwerte in Abhängigkeit der maximalen Anzahl an
Iterationen. Messung über 5 Zeilen bestehend aus je 13 Blöcken mit 16 × 16 Bild-
punkten. Parameterset: Emin=0.0 (kein Abbruchkriterium), NV =2, NN=2, FFT-
Länge=32, ρ=0.8.
113
ANHANG A. DIAGRAMME ZUR PARAMETERWAHL FÜRZEILENVERLUSTE
5 10 1525
26
27
28
29
30
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Flowergarden"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
5 10 1532
33
34
35
36
37
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Foreman"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Foreman"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
5 10 1527
28
29
30
31
32
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Table Tennis"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
114
ANHANG A. DIAGRAMME ZUR PARAMETERWAHL FÜRZEILENVERLUSTE
5 10 1528
29
30
31
32
33
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
5 10 150
100
200
300
400
500
Anzahl verwendeter Randpixel
Dur
chsc
hnitt
liche
Anz
ahl a
n Ite
ratio
nen
"Crew"
Emin
=0.0
Emin
=0.05
Emin
=0.1
Emin
=0.25
Emin
=0.5
Emin
=1.0
Emin
=2.0
Abbildung A.1: links: PSNR-Messwerte in Abhängigkeit des Schwellwertes Emin.
rechts: durchschnittliche Anzahl an Iterationen in Abhängigkeit des Schwellwer-
tes Emin. Messung über 5 Zeilen bestehend aus je 13 Blöcken mit 16 × 16 Bild-
punkten. Parameterset: maximale Anzahl an Iterationen=200, NV =2, NN=2, FFT-
Länge=32, ρ=0.8.
115
ANHANG A. DIAGRAMME ZUR PARAMETERWAHL FÜRZEILENVERLUSTE
5 10 1518
20
22
24
26
28
30
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
5 10 1526
28
30
32
34
36
38
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Foreman"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
5 10 1520
22
24
26
28
30
32
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
5 10 1522
24
26
28
30
32
34
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
NV=1, N
N=0
NV=2, N
N=0
NV=3, N
N=0
NV=1, N
N=1
NV=2, N
N=2
NV=3, N
N=3
Abbildung A.2: PSNR-Messwerte in Abhängigkeit der Anzahl verwendeter Bilder.
Messung über 5 Zeilen bestehend aus je 13 Blöcken mit 16 × 16 Bildpunkten. Para-
meterset: maximale Anzahl an Iterationen=200, Emin=0.1, FFT-Länge=32, ρ=0.8.
116
ANHANG A. DIAGRAMME ZUR PARAMETERWAHL FÜRZEILENVERLUSTE
5 10 1526
26.5
27
27.5
28
28.5
29
29.5
30
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
5 10 1533
33.5
34
34.5
35
35.5
36
36.5
37
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Foreman"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
5 10 1527
27.5
28
28.5
29
29.5
30
30.5
31
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
5 10 1529
29.5
30
30.5
31
31.5
32
32.5
33
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
FFT−Länge=8FFT−Länge=16FFT−Länge=32FFT−Länge=64
Abbildung A.3: PSNR-Messwerte in Abhängigkeit der FFT-Länge für die dritte Di-
mension. Messung über 5 Zeilen bestehend aus je 13 Blöcken mit 16× 16 Bildpunk-
ten. Parameterset: maximale Anzahl an Iterationen=200, Emin=0.1, NV =2, NN=2,
ρ=0.8.
117
ANHANG A. DIAGRAMME ZUR PARAMETERWAHL FÜRZEILENVERLUSTE
5 10 1524
25
26
27
28
29
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Flowergarden"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
5 10 1533
34
35
36
37
38
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Foreman"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
5 10 1527
28
29
30
31
32
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Table Tennis"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
5 10 1528
29
30
31
32
33
Anzahl verwendeter Randpixel
PS
NR
[dB
]
"Crew"
ρ=0.6ρ=0.65ρ=0.7ρ=0.75ρ=0.8ρ=0.85ρ=0.9
Abbildung A.4: PSNR-Messwerte in Abhängigkeit des Korrelationskoeffizienten.
Messung über 5 Zeilen bestehend aus je 13 Blöcken mit 16 × 16 Bildpunkten. Pa-
rameterset: maximale Anzahl an Iterationen=200, Emin=0.1, NV =2, NN=2, FFT-
Länge=32.
118
Anhang B
Zusätzliche Ergebnisse für uncodierte
Bilder
119
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
0 5 10 15 20 250
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Foreman205"
Y−Komp.U−Komp.V−Komp
(e)
0 20 40 60 800
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Foreman205"
Y−Komp.U−Komp.V−Komp
(f)
Abbildung B.1: Ergebnisbilder für die „Foreman“-Sequenz bei 25 Blockverlusten be-
stehend aus jeweils 16 × 16 Bildpunkten und 5 Zeilenverlusten bestehend aus je 13
Blöcken mit 16×16 Bildpunkten. Oben: Block- und Zeilenverluste. Mitte: Ergebnisse
für Parameterset A. Unten: benötigte Anzahl an Iterationen pro Block.
120
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
0 5 10 15 20 250
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Table Tennis"
Y−Komp.U−Komp.V−Komp
(e)
0 20 40 60 800
50
100
150
200
n−ter fehlender Block
Anz
ahl a
n Ite
ratio
nen
pro
Blo
ck
"Table Tennis"
Y−Komp.U−Komp.V−Komp
(f)
Abbildung B.2: Ergebnisbilder für die „Table Tennis“-Sequenz bei 25 Blockverlusten
bestehend aus jeweils 16× 16 Bildpunkten und 5 Zeilenverlusten bestehend aus je 13
Blöcken mit 16×16 Bildpunkten. Oben: Block- und Zeilenverluste. Mitte: Ergebnisse
für Parameterset A. Unten: benötigte Anzahl an Iterationen pro Block.
121
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
Sequenz Foreman Foreman Table Tennis Table Tennis
Parameterset A B A B
Emin = 0.1 27.94 dB 26.03 dB 32.40 dB 30.82 dB
17780 It. 177.24 It. 147.40 It. 148.72 It.
Emin = 1.0 27.35 dB 25.48 dB 31.50 dB 30.60 dB
116.68 It. 103.96 It. 30.0 It. 30.76 It.
Emin = 2.0 26.57 dB 24.84 dB 30.98 dB 30.19 dB
73.8 It. 66.48 It. 17.44 It. 17.40 It.
Tabelle B.1: PSNR-Werte für verschiedene Parametersets. Messung über 5 Zeilen
bestehend aus je 13 Blöcken mit 16 × 16 Bildpunkten. Parameterset A: maximale
Anzahl an Iterationen=200, ρ=0.8, FFT-Länge=32, NV =2, NN=2. Parameterset
B: maximale Anzahl an Iterationen=200, ρ=0.8, FFT-Länge=32, NV =2, NN=0.
(a) (b) (c)
(d) (e) (f)
Abbildung B.3: Ausschnitt aus der „Foreman“-Sequenz für verschiedene Schwellwer-
te Emin. Oben: Parameterset A. Unten: Parameterset B. B.3(a)/B.3(d): Emin=0.1
B.3(b)/B.3(e): Emin=1.0 B.3(c)/B.3(f): Emin=2.0.
122
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
(a) (b) (c)
(d) (e) (f)
Abbildung B.4: Ausschnitt aus der „Table Tennis“-Sequenz für verschiedene Schwell-
werte Emin. Oben: Parameterset A. Unten: Parameterset B. B.4(a)/B.4(d):
Emin=0.1 B.4(b)/B.4(e): Emin=1.0 B.4(c)/B.4(f): Emin=2.0.
123
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
(a) (b)
(c) (d)
(e) (f)
Abbildung B.5: „Foreman“-Sequenz. B.5(b): Temporal Blockreplacement. B.5(c):
Boundary Matching. B.5(d): Extended Boundary Matching. B.5(e): 2D frequenz-
selektive Extrapolation. B.5(f): 3D frequenzselektive Extrapolation.
124
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
(a) (b)
(c) (d)
(e) (f)
Abbildung B.6: „Table Tennis“-Sequenz. B.6(b): Temporal Blockreplacement. B.6(c):
Boundary Matching. B.6(d): Extended Boundary Matching. B.6(e): 2D frequenzse-
lektive Extrapolation. B.6(f): 3D frequenzselektive Extrapolation.
125
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
(a) (b)
(c) (d)
(e) (f)
Abbildung B.7: „Flowergarden“-Sequenz. B.7(b): Temporal Blockreplacement.
B.7(c): Boundary Matching. B.7(d): Extended Boundary Matching. B.7(e): 2D fre-
quenzselektive Extrapolation. B.7(f): 3D frequenzselektive Extrapolation.
126
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
(a) (b)
(c) (d)
(e) (f)
Abbildung B.8: „Foreman“-Sequenz. B.8(b): Temporal Blockreplacement. B.8(c):
Boundary Matching. B.8(d): Extended Boundary Matching. B.8(e): 2D frequenz-
selektive Extrapolation. B.8(f): 3D frequenzselektive Extrapolation.
127
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
(a) (b)
(c) (d)
(e) (f)
Abbildung B.9: „Table Tennis“-Sequenz. B.9(b): Temporal Blockreplacement. B.9(c):
Boundary Matching. B.9(d): Extended Boundary Matching. B.9(e): 2D frequenzse-
lektive Extrapolation. B.9(f): 3D frequenzselektive Extrapolation.
128
ANHANG B. ZUSÄTZLICHE ERGEBNISSE FÜR UNCODIERTEBILDER
(a) (b)
(c) (d)
(e) (f)
Abbildung B.10: „Crew“-Sequenz. B.10(b): Temporal Blockreplacement. B.10(c):
Boundary Matching. B.10(d): Extended Boundary Matching. B.10(e): 2D frequenz-
selektive Extrapolation. B.10(f): 3D frequenzselektive Extrapolation.
129
Anhang C
Verschleierung von intercodierten
Bildern
130
ANHANG C. VERSCHLEIERUNG VON INTERCODIERTEN BILDERN
(a)
(b)
Abbildung C.1: Bild 29 aus der Sequenz „Crew“. Schachbrettmuster. BER 5.1 · 10−4.
C.1(a): 3D Extrapolation. C.1(b): H.264.
131
ANHANG C. VERSCHLEIERUNG VON INTERCODIERTEN BILDERN
(a)
(b)
Abbildung C.2: Bild 37 aus der Sequenz „Vimto“. Zeilenanordnung. BER 1.7 · 10−4.
C.2(a): 3D Extrapolation. C.2(b): H.264.
132
ANHANG C. VERSCHLEIERUNG VON INTERCODIERTEN BILDERN
(a)
(b)
Abbildung C.3: Bild 8 aus der Sequenz „Kanu“. Zeilenanordnung. BER 5.1 · 10−4.
C.3(a): 3D Extrapolation. C.3(b): H.264.
133
ANHANG C. VERSCHLEIERUNG VON INTERCODIERTEN BILDERN
(a)
(b)
Abbildung C.4: Bild 43 aus der Sequenz „Fast Food“. Schachbrettmuster.
BER 1.7 · 10−4. C.4(a): 3D Extrapolation. C.4(b): H.264.
134
Anhang D
Verschleierung von intracodierten
Bildern
135
ANHANG D. VERSCHLEIERUNG VON INTRACODIERTEN BILDERN
(a)
(b)
Abbildung D.1: Bild 5 aus der Sequenz „Kanu“. Zeilenanordnung. BER 1.7 · 10−4.
D.1(a): 3D Extraplation. D.1(b): H.264.
136
ANHANG D. VERSCHLEIERUNG VON INTRACODIERTEN BILDERN
(a)
(b)
Abbildung D.2: Bild 4 aus der Sequenz „Fast Food“. Schachbrettmuster. BER 5.1 ·
10−4. D.2(a): 3D Extraplation. D.2(b): H.264.
137
Literaturverzeichnis
[1] Katrin Meisinger, André Kaup. Spatial error concealment of corrupted image
data using frequency selective extrapolation. Conf. Rec. IEEE International Con-
ference on Acoustics, Speech and Signal Processing (ICASSP), Montreal, Ca-
nada, Mai 2004
[2] Katrin Meisinger, André Kaup. Minimizing a weighted error criterion for spatial
error concealment of missing image data.. Proc. IEEE International Conference
on Image Processing (ICIP), S. 813-816, Singapur, Oktober 2004
[3] Robert Fischer. Der Wirtinger-Kalkül. Seminar Ausgewählte Kapitel der Nach-
richtentechnik (Matrizen in der modernen Kommunikationstechnik), Lehrstuhl
für Informationstechnik, Erlangen, Sommersemester 2005
[4] André Kaup, Katrin Meisinger, Til Aach. Frequency selective signal extra-
polation with applications to error concealment in image communications. Inter-
national Journal of Electronics and Communications (AEÜ), vol. 59, S. 147-156,
2005
[5] André Kaup. Modelle zur regionenorientierten Bildbeschreibung. Dissertati-
on RWTH Aachen. Düsseldorf: VDI-Verlag. Fortschritts-Berichte Reihe 10,
no. 381, 1995
[6] Wai-Man lam, Amy R. Reibman, Bede Lui. Recovery of lost or erroneously
received motion vectors. IEEE International Conference on Acoustic, Speech
and Signal Processing (ICASSP), vol. 5, S. 417-420, 1993
138
LITERATURVERZEICHNIS
[7] Jian Zhang, John F. Arnold, Michael R. Frater. A cell loss concealment
technique for MPEG-2 coded video. IEEE Transactions on Circuits and Sys-
tems for Video Technology, vol. 10, no. 4, S. 659-665, June 2000
[8] Luigi Atzori, Francesco G.B. De Natale, Christina Perra. A spatio-temporal con-
cealment technique using boundary matching algorithm and mesh based warping
(BMA-MBW). IEEE Transactions on Multimedia, vol. 3, no. 3, S. 326-338, Sep-
tember 2001
[9] Mohammed E. Al-Mualla, Nishan Canagarajah, David R. Bull. Error conceal-
ment using motion field interpolation. International Conference on Image Pro-
cessing (ICIP), Proceedings, vol. 3, S. 512-516, 1998
[10] Mohammed E. Al-Mualla, Nishan Canagarajah, David R. Bull. Motion field
interpolation for temporal concealment. IEEE Proc.-Vis. Image Signal Process.,
vol. 147, no. 5, October 2000
[11] Mohammed E. Al-Mualla, Nishan Canagarajah, David R. Bull. Multiple-
reference temporal error concealment. Proc. IEEE International Symposium on
Circuits and Systems (ISCAS), vol. 5, S. 149-152, Mai 2001
[12] Yen-Chi Lee, Yucel Altunbasak, Russell M. Merserau. Multiframe error conceal-
ment for MPEG-coded video delivery over error-prone networks. IEEE Transac-
tions on Image Processing, vol. 11, no. 11, S. 1314-1331, November 2002
[13] Mohammed E. Al-Mualla, Nishan Canagarajah, David R. Bull. Temporal con-
cealment using motion field interpolation. Electronics Letter, vol. 35, no. 3,
S. 215-217, Februar 1999
[14] WWW-Seiten von Björn Eisert.
http://www.cybersite.de/german/service/Tutorial/mpeg/#washeisst
(19.9.2005)
[15] WWW-Seiten der Technischen Universität München, Lehrstuhl für Prozessrech-
ner. http://www.lpr.ei.tum.de/courses/seminar/realzeit_bv/mpeg (19.9.2005)
139
LITERATURVERZEICHNIS
[16] WWW-Seiten von Wikipedia. http://en.wikipedia.org/wiki/H.263 (19.9.2005)
[17] André Kaup. Vorlesungsskript zu Multimediakommunikation 1. Friedrich-
Alexander Universität Erlangen-Nürnberg, Technische Fakultät, Lehrstuhl für
Multimediakommunikation und Signalverarbeitung, SS 2003
[18] Jens Rainer Ohm. Digitale Bildcodierung. Berlin, Springer-Verlag, 1995
[19] Ye-Kui Wang, Miska M. Hannuksela, Viktor Varsa, Ari Hourunranta, Mon-
cef Gabbouj. The error concealment feature in the H.26L Test Model. Proc.
International Conference on Image Processing (ICIP), vol. 2, S. 729-732, Sep-
tember 2002
[20] Stephan Wenger. H.264/AVC Over IP. IEEE Transactions on Circuits and
Systems for Video Technology, vol. 13, no. 7, S. 645-656, Juli 2003
[21] Thomas Stockhammer, Miska M. Hannuksela. H.264/AVC Video For Wire-
less Transmission. IEEE Wireless Communications, vol. 12, no. 4, S. 6-13, Au-
gust 2005
[22] WWW-Seiten von Wikipedia. http://en.wikipedia.org/wiki/H.264 (19.9.2005)
[23] Jörn Österreicher, Jan Bormans, Peter List, Detlev Marpe, Matthias Narrosch-
kek, Fernando Pereira, Thomas Stochhammer, Thomas Wedi. Video coding with
H.264/AVC: Tools, Performance, and Complexity. IEEE Circuits and Systems
Magazine Communications, vol. 4, no. 1, S. 7-28, 2004
[24] Gary J. Sullivan, Thomas Wiegand. Video Compression - From concepts to
the H.264/AVC Standard. Proceedings of the IEEE, vol. 93, no. 1, S. 18-31
Januar 2005
[25] Ralf Schäfer, Thomas Wiegand, Heiko Schwarz. The emerging H.264/AVC stan-
dard. EBU Technical Review, Januar 2003
[26] Thomas Stockhammer, Miska M. Hannuksela. The h.264/AVC Advanced Video
Coding Standard: Overview and Introduction to the Fidelity Range Extensions.
140
LITERATURVERZEICHNIS
SPIE Conference on Applications of Digital Image Processing XXVII, vol. 5558,
no. 53, S. 53-74, August 2004
[27] Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, Ajay Luthra. Overview
of the H.264/AVC Video Coding Standard. IEEE Transactions on Circuits and
Systems for Video Technology, vol. 13, no. 7, S. 560-576, Juli 2003
[28] Thomas Stockhammer, Miska M. Hannuksela, Thomas Wiegand. H.264/AVC
in Wireless Environments. IEEE Transactions on Circuits and Systems for Vi-
deo Technology, vol. 13, no. 7, S. 657-673, Juli 2003
[29] Walter Kellermann. Vorlesungsskript zur Systemtheorie II. Friedrich-Alexander
Universität Erlangen-Nürnberg, Technische Fakultät, Lehrstuhl für Multime-
diakommunikation und Signalverarbeitung, Wintersemester 2002/2004
[30] M. Karczewicz, R. Kurceren. The SP and SI frames design for H.264/AVC.
IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7,
S. 637-644, Juli 2003
141