Entwurf eines softwarebasierten bewegungskompensierten Filters zur Qualitätsverbesserung von im Zeilensprungverfahren aufgenommenen Videodateien


Diploma Thesis, 2003

283 Pages, Grade: 1,3


Excerpt


Fachhochschule Wedel

Diplomarbeit

in der Fachrichtung
Technische Informatik

Thema:
Entwurf eines softwarebasierten bewegungskompensierten Filters zur Qualitätsverbesserung von im Zeilensprungverfahren aufgenommenen Videodateien

eingereicht von

Jan Angermüller

Erarbeitet im: 6. Verwaltungssemester

Abgegeben am: 15. Oktober 2003

 

Inhaltsverzeichnis

1. Einleitung ... 18

2. Grundlagen ... 23
2.1. Notation der Bildtransformationen ... 23
2.2. Begriffsklärungen ... 24
2.2.1. Motion Estimation ... 25
2.2.2. True Motion Estimation ... 25
2.2.3. Motion Detection ... 25
2.2.4. Motion Tracking ... 26
2.2.5. Motion Trajectory ... 26
2.2.6. Motion-Adaptive Filter ... 26
2.2.7. Motion-Compensated Filter ... 27
2.2.8. Field, Frame ... 27
2.2.9. Field Dominance ... 28
2.2.10. De-interlaced, Interlaced ... 28
2.2.11. De-Interlacing ... 28
2.2.12. Videobeiträge ... 28
2.3. Das analoge Videosignal ... 29
2.4. Farbraum ... 32
2.5. Bewertung der bearbeiteten Bilder ... 35
2.5.1. Objektives Verfahren ... 35
2.5.2. Subjektives Verfahren ... 37

3. Entfernen des Zeilensprunges („De-Interlacing“) ... 38
3.1. Problem: Video- und Fernsehsignale als Quellmaterial ... 38
3.2. Entwurf eines Algorithmus zum De-Interlacing ... 39
3.3. Unterscheidung nach Luminanz- und Chrominanz-Komponenten ... 40
3.4. Konkrete Algorithmen zum De-Interlacing des Luminanzsignals ... 41
3.4.1. Räumliche Filter ... 41
3.4.1.1. Zeilenwiederholung („Line Repeat“) ... 41
3.4.1.2. Zeilendurchschnitt („Line Average“) ... 41
3.4.1.3. Zeileninterpolation („Line Interpolation“) ... 42
3.4.1.3.1. Exkurs: Interpolation und perfekte Rekonstruktion ... 42
3.4.1.3.2. Die implementierten Interpolationsfunktionen ... 44
3.4.1.3.2.1. Linear: Dreieck („Triangle“) ... 44
3.4.1.3.2.2. Kubisch: Hermite ... 44
3.4.1.3.2.3. Kubisch: Catmull-Rom ... 44
3.4.1.3.2.4. Kubisch: Mitchell-Netravali ... 45
3.4.1.3.3. Zusammenfassung und Qualitätsvergleich ... 46
3.4.1.3.4. Schnellere Interpolation über Look-up-Tables ... 46
3.4.2. Der zeitliche Filter („Field Repeat“) ... 46
3.4.3. Zeitlich-räumliche Filter ... 47
3.4.3.1. Halbbild-Durchschnitt („Field Average“) ... 47
3.4.3.2. Vertikal-zeitlicher Median ... 48
3.4.3.3. Vertikal-zeitlicher Filter ... 49
3.4.3.4. Kantenbasierter Zeilendurchschnitt ... 50
3.4.3.4.1. Grundform des ELA nach Doyle ... 50
3.4.3.4.2. ELA mit vertikaler Median-Filterung ... 51
3.4.3.4.3. ELA mit Hoch- / Tiefpass-Signaltrennung ... 51
3.4.3.4.4. Adaptiver ELA mit Behandlung horizontaler Kanten ... 52
3.4.3.4.4.1. Kantendetektion ... 52
3.4.3.4.4.2. Berechnung des Kantenwertes ... 52
3.4.3.5. Adaptiver gewichteter Median ... 54
3.4.3.5.1. Gewichteter Median ... 54
3.4.3.5.2. Bewegungserkennung ... 54
3.4.3.6. Bewegungsadaptiver Algorithmus nach Roberts ... 55
3.4.3.7. Andere nicht implementierte Algorithmen ... 57
3.4.3.7.1. Weitgehend verwandte Algorithmen ... 57
3.4.3.7.2. Entfernen des Zeilensprunges mittels Fuzzy-Logic ... 57
3.5. De-Interlacing der Chrominanz-Komponenten ... 58
3.6. Vergleich der Filter ... 58
3.7. Bewegungskompensiertes De-Interlacing ... 59
3.7.1. Probleme von Filtern mit Bewegungsvektoren ... 59
3.7.2. Algorithmen ... 60
3.7.2.1. Bewegungskompensierte Halbbild-Wiederholung ... 60
3.7.2.2. Bewegungskompensierter vertikal-zeitlicher Median ... 60
3.7.2.3. Bewegungskompensierter vertikal-zeitlicher Filter ... 60
3.7.2.4. Rekursive Filter ... 61
3.7.2.4.1. Der zeitrekursive Filter ... 61
3.7.2.4.2. Adaptiv-rekursiver Filter ... 62
3.7.2.4.2.1. Mischverhältnis für die existente Zeile: k1 ... 62
3.7.2.4.2.2. Mischverhältnis für die fehlende Zeile: k2 ... 63
3.7.2.5. Weitere Verfahren ... 65
3.7.2.5.1. Andere nicht implementierte Verfahren ... 65
3.7.2.5.2. Verallgemeinerung des Abtasttheorems ... 65
3.7.3. Vergleich der Verfahren ... 66
3.7.4. Bewertung dieser Vergleichsergebnisse ... 68

4. Bewegungsschätzung ... 70
4.1. Bewegungsarten ... 70
4.1.1. Globale Bewegung ... 71
4.1.2. Blockbasierte Bewegung ... 71
4.1.3. Pixelbasierte Bewegung ... 71
4.1.4. Objektbasierte Bewegung ... 72
4.2. Visualisierung der Bewegungsvektoren ... 72
4.2.1. Pfeilverfahren ... 72
4.2.2. Färbungsverfahren ... 72
4.2.3. Anzeige eines konkreten Bewegungsvektors. ... 73
4.3. Notation der Bewegungsschätzung ... 74
4.4. Algorithmen zur lokalen Bewegungsschätzung ... 75
4.4.1. “3D-Recursive Search Block Matching with Y-Predictor” ... 75
4.4.1.1. Block-Matching in 3D-RS ... 75
4.4.1.1.1. Verfahren zur Berechnung der Abweichung ... 76
4.4.1.1.2. Grundprobleme der Bewegungsschätzung ... 76
4.4.1.1.2.1. Rechenaufwand ... 76
4.4.1.1.2.2. Rotationen und Skalierung ... 76
4.4.1.1.2.3. Helligkeitsschwankungen und Rauschen ... 77
4.4.1.1.2.4. Genauigkeit an Objektgrenzen im Verhältnis zur Blockgröße ... 77
4.4.1.1.2.5. Sehr kleine Objekte ... 77
4.4.1.1.2.6. True Motion Estimation ... 77
4.4.1.1.2.7. Szenenwechsel ... 77
4.4.1.1.2.8. Periodische Strukturen im Bild ... 78
4.4.1.1.2.9. Hohe Objektgeschwindigkeiten ... 78
4.4.1.1.2.10. Aufgedeckte und verdeckte Pixel ... 78
4.4.1.1.2.11. 3D-Rotationen ... 78
4.4.1.1.3. Lösungsansätze ... 78
4.4.1.1.3.1. Reduktion der Blockvergleiche durch effiziente Suchstrategien ... 78
4.4.1.1.3.1.1. n-Schritt-Algorithmus ... 79
4.4.1.1.3.1.2. One-At-A-Time-Suchverfahren ... 79
4.4.1.1.3.1.3. Das hierarchische Modell ... 80
4.4.1.1.3.1.4. Pel-Recursive-Verfahren ... 80
4.4.1.1.3.1.5. Zusammenfassung der bisherigen Suchstrategien ... 81
4.4.1.1.3.1.6. Block-Matching mit 3D-RS ... 81
4.4.1.1.3.1.6.1. Block-Subsampling ... 81
4.4.1.1.3.1.6.2. Pixel-Subsampling ... 82
4.4.1.1.3.1.6.3. Auswahl der Kandidatenvektoren ... 83
4.4.1.1.3.1.6.4. Eigene Erweiterung: Rückwärts-Gegencheck der Blöcke ... 88
4.4.1.1.3.1.6.5. Interpolation der fehlenden Bewegungsvektoren ... 88
4.4.1.1.3.2. Rotation und Skalierung ... 89
4.4.1.1.3.3. Helligkeitsschwankungen und Rauschen ... 89
4.4.1.1.3.4. Genauigkeit an Objektgrenzen im Verhältnis zur Blockgröße ... 92
4.4.1.1.3.5. Sehr kleine Objekte ... 94
4.4.1.1.3.6. True Motion Estimation ... 94
4.4.1.1.3.7. Szenenwechsel ... 97
4.4.1.1.3.8. Periodische Strukturen im Bild ... 98
4.4.1.1.3.9. Hohe Objektgeschwindigkeiten ... 99
4.4.1.1.3.10. Aufgedeckte und verdeckte Pixel ... 99
4.4.1.1.3.10.1. Differenz der Bewegungsvektoren ... 99
4.4.1.1.3.10.2. Differenz der bewegungskompensierten Frames ... 100
4.4.1.1.3.11. 3D-Rotationen ... 102
4.4.1.1.3.12. Übertragbarkeit der Lösungsansätze ... 102
4.4.2. Phase Plane Correlation ... 103
4.4.2.1. Einführung in das Verfahren ... 103
4.4.2.2. Die erste Stufe des Verfahrens ... 104
4.4.2.2.1. Mathematische Beschreibung der PPC ... 104
4.4.2.2.2. Beispiele zum Verständnis der PDM ... 106
4.4.2.2.2.1. Zyklisch verschobener Bildblock ... 106
4.4.2.2.2.2. Zwei identische Bildblöcke ... 107
4.4.2.2.2.3. Mehrere verschobene Objekte im Bild ... 108
4.4.2.2.3. Problematische Phasen-Differenz-Matrizen ... 108
4.4.2.2.3.1. Minderung von Bildrauschen ... 109
4.4.2.2.3.1.1. Tiefpass-Filter ... 109
4.4.2.2.3.1.2. Gewichtete Filterung ... 109
4.4.2.2.3.2. Objekte mit Geschwindigkeiten außerhalb der zulässigen Grenzen ... 110
4.4.2.2.3.3. Leckeffekt bei der diskreten Fouriertransformation ... 111
4.4.2.2.3.4. Halbbild-Flimmern ... 113
4.4.2.2.3.5. Pixel am Randbereich: Aufdecken und Verdecken von Pixeln ... 114
4.4.2.2.3.6. Rotationen und Skalierungen ... 114
4.4.2.2.3.7. Viele kleine bewegte Objekte im Bildblock ... 115
4.4.2.2.4. Implementierung der FFT ... 115
4.4.2.3. Zweite Stufe des Verfahrens ... 115
4.4.2.3.1. Ermittlung der Maxima in der PDM ... 115
4.4.2.3.1.1. Eindimensionale parabolische Interpolation ... 116
4.4.2.3.1.2. Übertragung auf den zweidimensionalen Fall ... 118
4.4.2.3.2. Zuweisung der Kandidatenvektoren zu den Pixeln ... 119
4.4.2.3.2.1. Auswahl der Bewegungsvektoren ... 120
4.4.2.3.2.1.1. Reduktion bei ähnlichen Vektorrichtungen ... 121
4.4.2.3.2.1.2. Reduktion unterhalb eines Schwellwertes ... 122
4.4.2.3.2.1.3. Entfernen der „zweifelhaften“ Vektoren ... 123
4.4.2.3.2.1.4. Reduktion durch globale Bewegungskompensation ... 123
4.4.2.3.2.1.5. Ergebnis der Reduktion ... 124
4.4.2.3.2.2. Blockvergleiche auf Pixelbasis ... 124
4.4.2.3.2.3. Nachträgliche Vereinheitlichung der Vektoren ... 124
4.4.2.4. Rechenaufwand ... 125
4.4.2.4.1. Komplexität des implementierten Verfahrens auf der ersten Stufe ... 125
4.4.2.4.2. Schnellere Berechnung der Phase ... 125
4.4.2.4.3. Inverse Fouriertransformation mit gleichzeitiger Bestimmung des Maximums ... 125
4.4.2.4.4. Berechnung der PPC auf einem verkleinerten Bild ... 126
4.4.2.4.5. Eigene Vorschläge für den Ausbau des PPC-Verfahrens ... 126
4.4.2.4.5.1. Hierarchisches Verfahren ... 126
4.4.2.4.5.2. Blockweise PPC ... 127
4.4.2.4.6. Implementation dieser Optimierungen ... 127
4.4.2.5. Testen der PPC in MCFilter ... 127
4.4.2.6. Weitere Fourier-basierte Algorithmen zur Bewegungsschätzung ... 128
4.4.2.6.1. Frequenz-Komponenten-Algorithmus ... 128
4.4.2.6.2. Shape Adaptive Phase Correlation ... 128
4.4.3. Andere Bewegungsschätzungs-Verfahren ... 129
4.4.4. Bewegungsschätzung unter Zuhilfenahme der Farbkomponenten ... 129
4.4.5. Vergleich der lokalen Bewegungsschätzung mittels 3D-RS und PPC ... 130
4.5. Globale Bewegungsschätzung ... 132
4.5.1. Das parametrische Modell ... 132
4.5.1.1. Exkurs: Berechnung der Abtastdichte ... 132
4.5.1.2. Berechnung der Parameter des globalen Modells ... 133
4.5.1.3. Einsatz dieses Verfahrens bei 3D-RS ... 136
4.5.1.4. Parametrisches Modell für komplexere globale Bewegungstypen ... 136
4.5.2. Globale Bewegungsschätzung mit Phase Plane Correlation (PPC) ... 136
4.5.3. Weitere Algorithmen zur globalen Bewegungsschätzung ... 138
4.5.4. Auswertung der globalen Bewegungserkennung ... 138

5. Anwendung der Bewegungsvektoren: 3D-Filter ... 141
5.1. Rauschen ... 141
5.1.1. Definition von Rauschen ... 141
5.1.2. Filter zum Entrauschen von Videosignalen ... 143
5.1.3. Schätzen der Rauschparameter ... 143
5.2. Allgemeine Probleme bei 3D-Filtern ... 144
5.3. Bewegungskompensation ... 145
5.3.1. Anzahl der Umgebungsframes ... 145
5.3.2. Vorwärts- und Rückwärtsvektoren ... 145
5.3.3. Ergebnis der Bewegungskompensation ... 147
5.4. Implementierte 3D-Algorithmen ... 147
5.4.1. 3D-Median ... 147
5.4.1.1. Zuverlässigkeit der Bewegungsvektoren ... 148
5.4.1.2. Kern des Filter-Algorithmus ... 150
5.4.2. 3D-Alpha-Trimmed Mean-Filter ... 151
5.4.3. 3D-K-Nearest Neighbour (3D-KNN) ... 152
5.4.4. Entrauschen über 3D-Wavelets ... 153
5.5. Auswertung der Filter zur Rauschunterdrückung ... 153
5.5.1. Künstliches Rauschen ... 154
5.5.2. Entfernen von typischem Videorauschen auf einem detailreichen Frame ... 155
5.5.3. Entfernen von Line Jitter und starkem Videorauschen ... 155
5.5.4. Die entrauschten Videobeiträge auf der Video-DVD ... 156
5.5.5. Zusammenfassung der Auswertung ... 157

6. Implementierung allgemeiner Filter und Algorithmen ... 159
6.1. Gauß’scher Weichzeichner ... 159
6.1.1. Grundlagen ... 159
6.1.2. Algorithmen für de Weichzeichnung ... 160
6.1.2.1. Faltung („Brute-Force“) 160
6.1.2.2. Filterung durch zwei separate 1D-Filterkerne ... 160
6.1.2.3. Wiederholte Anwendung kleinerer Filterkerne ... 160
6.1.2.4. SKIPSM-Algorithmus ... 161
6.2. Zoom-Filter ... 161
6.3. Verschiebungsfilter (Shift, Pan, Tilt) ... 163
6.4. Median-Filter ... 163
6.4.1. Implementierung ... 164
6.4.1.1. Median-Vergleichsnetzwerk ... 164
6.4.1.2. Median-Quick-Select ... 165
6.5. Quicksort ... 166
6.6. Randbehandlung ... 166

7. Benutzerhandbuch „MCFilter“ ... 170
7.1. Systemvoraussetzungen ... 170
7.2. Programminstallation ... 170
7.3. Programmdeinstallation ... 171
7.4. Bedienung des Programms ... 171
7.4.1. Überblick ... 171
7.4.2. Öffnen oder Anlegen eines Projekts in After Effects ... 171
7.4.3. Beschleunigung des Experimentierens ... 173
7.4.4. Nummerierung der Frames im Arbeitsspeicher ... 175
7.5. Testfilter ... 176
7.5.1. Der FFT-Filter ... 177
7.5.2. Der Color Space-Filter ... 177
7.5.3. Der Centered-Zoom-Filter und der Zoom-Filter ... 178
7.5.4. Der Window-Filter ... 178
7.5.5. Der Shift-Filter ... 178
7.5.6. Der Denoise-Filter ... 179
7.5.7. Der Border-Filter ... 179
7.5.8. Der Morphology-Filter ... 179
7.6. Fehlermeldungen und Probleme ... 179
7.6.1. Wiederanlaufbedingungen ... 179
7.6.2. Fehler- und Warnungsmeldungen in MCFilter ... 180
7.6.3. Antworten auf häufige Probleme (FAQ) ... 181
7.6.3.1. Mit welchen Frameformaten kommt MCFilter zurecht ? ... 181
7.6.3.2. Ich bekomme visuell nicht das erwartete Ergebnis. Woran kann es liegen ? ... 181
7.6.3.3. Die angezeigten PSNR-Werte können nicht stimmen. ... 182
7.6.3.4. Bei der Auswahl einer anderen PPC- bzw. FFT-Blockgröße bekomme ich ganz andere Ergebnisse. ... 182
7.6.3.5. Das Ergebnis des nicht-bewegungskompensierten und das des bewegungskompensierten De-Interlacing unterscheiden sich nicht. ... 182
7.6.3.6. Ich sehe zwei verflochtene Halbbilder, aber nicht die, die es eigentlich sein sollten. ... 183

8. Programmierhandbuch ... 184
8.1. Entwicklungsumgebung ... 184
8.1.1. Installation / Deinstallation ... 185
8.1.1.1. After Effects 5.5 SDK ... 185
8.1.1.2. MCFilter ... 185
8.1.1.3. FFTW-Bibliothek ... 186
8.1.2. Laden des Programms in MS Visual C++ ... 186
8.1.3. Analyse und Planung des Programms ... 187
8.1.3.1. Überblick über das Programm ... 187
8.1.3.2. Speicherbedarf ... 188
8.1.3.3. Objektorientierte C++-Programmierung ... 188
8.1.3.4. Bezeichnerkonventionen ... 189
8.1.3.5. Sprache ... 189
8.2. Die Beschreibung der Klassen und Units ... 190
8.2.1. Das Hauptprogramm MCFilter ... 194
8.2.2. Die Klassen und Headerdateien zur Beschreibung spezieller Typen ... 194
8.2.2.1. Types.h ... 194
8.2.2.2. Die Klassen Y_Space und YCC_Space ... 194
8.2.2.3. SeqContent.h ... 195
8.2.2.4. Die Klasse Vector2D ... 196
8.2.2.5. Die Klasse Peaks ... 196
8.2.3. Definitionen von Makros, Konstanten und Aufzählungstypen ... 196
8.2.3.1. Global.h ... 196
8.2.3.2. Macro.h ... 196
8.2.3.3. Error.h ... 197
8.2.3.4. MCFilterStrings ... 197
8.2.4. Statische Hilfsklassen ... 197
8.2.4.1. Die Klasse CS_ColorSpace ... 197
8.2.4.2. Die Klasse MotionVectors ... 197
8.2.4.3. Die Klasse MathUtility ... 198
8.2.4.4. Die Klasse Median ... 198
8.2.4.5. Das Modul Border ... 198
8.2.4.6. Die Selector-Klasse ... 198
8.2.5. Die Interpolations-Klassen ... 199
8.2.5.1. Die Klasse MotionCompensatedFields ... 200
8.2.6. Die Farbraum- und Pixelklassen ... 200
8.2.7. Die Klasse SimpleFilter ... 201
8.2.8. Die De-Interlacing-Klassen ... 201
8.2.9. Die MC-De-Interlace-Klassen ... 203
8.2.10. Die MotionEstimation-Klassen ... 203
8.2.10.1. Die Klassen für globale Bewegungsschätzung ... 204
8.2.10.2. Die Klassen für lokale Bewegungsschätzung ... 205
8.2.11. Die Subpixelblock-Klassen ... 205
8.2.12. Die Klassen für morphologische Operationen ... 206
8.2.13. Die 2D-NoiseFilter Klassen ... 206
8.2.14. Die 3D-Noise Filter Klassen ... 207
8.2.15. Die Windowklassen ... 207
8.2.16. Die Klassen zur After Effects-Unterstützung ... 207
8.2.16.1. Die After Effects Units ... 208
8.2.16.2. Die Klassen AE_ InOutData und AE_InOutDataParams ... 208
8.2.16.3. Die Klassen für die Speicherverwaltung ... 209
8.2.16.4. Die Klasse UserInteraction ... 210
8.2.17. Die Klasse Evaluation ... 210
8.2.18. Die Klasse Warnings ... 211
8.3. Ablauf in MCFilter ... 211
8.3.1. Ablauf in den Bildbearbeitungsalgorithmen ... 213
8.3.2. Ringstruktur bei den zwischengespeicherten Elementen ... 213
8.4. Programmorganisationsplan ... 214
8.5. Optimierungen ... 215
8.5.1. Allgemeines ... 215
8.5.2. Speicherbelegung ... 215
8.5.3. MMX-/SSE-Optimierung ... 216
8.6. Beschränkungen und Ausbaumöglichkeiten ... 217
8.6.1. Andere Anwendungsgebiete für 3D-Filter ... 217
8.6.2. Unterstützung von Videobeiträgen im progressiven Format ... 218
8.6.3. Cross-Plattformkompatibilität ... 218
8.6.4. Parallele Implementierung für ein Rendernetzwerk ... 218
8.6.5. Besondere Fähigkeiten von After Effects ... 219
8.6.6. Interaktion zwischen MCFilter, After Effects und dem Benutzer ... 219
8.6.7. 16-Bit-Videodateien ... 220

9. Fazit ... 221
9.1. Die Entwicklung von MCFilter ... 221
9.2. Verwertbarkeit von MCFilter ... 222

Nachwort ... 225

Anhang A : Die Videobeiträge ... 226
Anhang B : Vergleich der De-Interlacing-Algorithmen ... 229
Anhang C : Rauschunterdrückung bei der Christian-Sequenz ... 233
Anhang D : Bewegungskompensierte Frames ... 234
Anhang E : Weichzeichner und Median-Cross-Check beim 3D-RS ... 236
Anhang F : Beschreibung aller Parameter in MCFilter ... 237
Anhang G : Programmtest ... 246
Anhang H : Gewichtete Blockformen ... 251
Anhang I : Programmorganisationsplan ... 252
Anhang J : Literaturverzeichnis ... 272
Anhang K : Quellen im Internet ... 281

1. Einleitung
Ziel dieser Arbeit ist, eine Entscheidungshilfe dafür zu schaffen, ob es schon Sinn macht, auf PC-Ebene Programme zur deutlichen Qualitätsverbesserung von älteren Videoaufnahmen zu erstellen und zu vermarkten.

Die rasante Entwicklung in der Computer- und Unterhaltungselektronikindustrie in den vergangenen 10 Jahren hat den Markt der visuellen Medien revolutioniert. Die Einführung des digitalen Videos über das Medium DVD, steigende Qualität bei DV-Camcordern und digitalen Fotoapparaten, sinkende Preise und die Möglichkeit, auf DVD-Rs seine eigenen Videos Platz sparend, günstig sowie dauerhaft zu speichern und zu vervielfältigen, haben die Videoaufnahme- und - bearbeitungstechnik qualitativ auf ein Niveau gehoben, das vorher ausschließlich Profis vorbehalten war. Nicht zuletzt die Herstellung von Handys mit integrierter Videokamerafunktion und die Aussicht auf baldige Inbetriebnahme des dafür im Aufbau befindlichen UMTS-Netzes hat dem bis vor kurzem nur von einer Minderheit aktiv und gestaltend genutzten Videobereich den Weg zum Massenmarkt geöffnet.

Einen entscheidenden Anteil an diesem Erfolg hat der weltweite Siegeszug des PCs in den 90er Jahren. Digitale Bildbearbeitung ist zwar schon seit einigen Jahren am PC möglich. Die digitale Videobearbeitung ist aber erst seit kurzem erschwinglich geworden, läuft jetzt halbwegs stabil, in zumutbarer Rechengeschwindigkeit und aufgrund der meist rein digitalen Verarbeitung in der Regel mit sehr guter Qualität.

Das enorme Potential des digitalen Videomarktes bestätigt auch die im Vergleich zur Einführung des analogen Videoaufnahmesystems (VHS, Betamax, Video2000) extrem schnelle Verbreitung von DVD-Playern (siehe Darstellung 1).1 Auf die Nachfrage nach DVD-Playern folgt die Nachfrage nach digitalem Videomaterial. Aufgrund der - im Idealfall - hervorragenden Bild- und Toneigenschaften, des Bonusmaterials, der Mehrsprachigkeit und nicht zuletzt der guten Haltbarkeit und der einfachen Handhabung bietet die DVD ein deutliches Mehr gegenüber analogen Videokassetten. Dass der Konsument darauf gewartet hat, zeigt sich - trotz Wirtschaftsflaute und eines gegenüber VHS-Kassetten häufig um 30 - 50% höheren Preises - auch im Absatz.2

[...]

Mit steigender Bild- und Tonqualität in Kino und Fernsehen, sowie mit zunehmender Bandbreite und verbesserten Kompressionsverfahren im Internet wachsen die Ansprüche des Publikums an die ihnen gebotene Bild- bzw. Tonbeschaffenheit. Es ist heutzutage fast selbstverständlich, dass auch 50 Jahre alte Tonoder Filmaufnahmen weitgehend frei von Rauschen, Flimmern und sonstigen Störungen dargeboten werden.

Konsumiert wird das, was Qualität hat. Letztere ist aber leider in der Filmbranche Mangelware. Ein aktueller „schlechter“ Film mag in 10 Sprachen angeboten werden, noch so gut verpackt und mit Bonusmaterial angehäuft sein, er wird auch auf DVD kein großes Geschäft werden. Um dennoch vom derzeitigen Digital- Boom profitieren zu können, haben die Marketingabteilungen der großen Filmkonzerne und andere Filmarchive angefangen, alte Klassiker oder Raritäten aus Kino und Fernsehen neu in „digitaler Qualität“ zu vermarkten. Digital ist allerdings kein Qualitätsmerkmal, so dass „digitale Qualität“ nicht zwingend höchste Qualität bedeutet. Auf dieser Marktlage setzt die vorliegende Arbeit an.

Eine Filmrolle ist in der Regel schon nach wenigen Wochen im Dauergebrauch kaum noch verwertbar. Alte Filmrollen zeigen erhebliche Schäden verschiedener Art auf5 oder zerfallen aufgrund des minderwertigen Filmmaterials, welches bis in die 70er Jahre hinein verwendet wurde. Magnetisch aufgezeichnete Kamerasignale sind auch bei optimaler Lagerung einem zeitlichen Verfall unterworfen. Analoge Heimvideoaufnahmen aus den 80er oder 90er Jahren werden heute von aktuellen Consumer-Videoplayern mit erheblichem Bildrauschen wiedergegeben. Professionelle Abspielgeräte können dies zwar zum Teil durch aufwändige Mechanismen mindern, sind aber dem Verbraucher meist nicht zugänglich.

Der Bedarf, alte Film-, Fernseh- und Heimvideoaufnahmen vor dem vollständigen Zerfall zu bewahren, sie digital restauriert zu archivieren oder zu verwerten, ist somit in zunehmendem Maße vorhanden.

Es liegt hier eine Marktlücke auf dem Consumermarkt vor, denn weder die Standard-Videoschnittprogramme6 noch einfache VHS-nach-VCD/DVDKopierprogramme7 enthalten Filter zum hochwertigen Entfernen von Störungen. Lediglich für die im Internet frei verfügbare Videoformat-Konvertierungssoftware VirtualDub8 gibt es einige von verschiedenen Entwicklern gratis angebotene 2D-Entstörungsfilter9 und neuerdings auch einen 3D-Filter, der grobe Störungen wie Kratzer, Flecken oder Flimmern in Super-8-Videos entfernt.10 Leider ist die Bedienung dieser Software eher dem Tüftler vorbehalten und daher bisher nur in der „Videocommunity“ im Internet verbreitet.11

Kommerziell erhältlich ist zum einen das Restaurations-Tool Revival12 als Plug- In für die Hi-End-Schnittlösungen von Discreet. Zum anderen werden die Softwarekomplettlösung Diamant13 und die Echtzeit-Hardwarelösung Archangel Ph.c14 zur professionellen Filmrestauration für Fernsehanstalten und Filmarchive angeboten. Alle drei Lösungen scheiden aber bei Preisen von teilweise mehr als 100.000 € für den Consumerbereich aus.

Diese Arbeit liefert eine Studie über die Möglichkeiten diese Marktlücke zu schließen. Sie konzentriert sich dabei auf die Anwendung qualitativ hochwertiger räumlich und zeitlich arbeitender Bildbearbeitungsfilter (=3D-Filter). Sie ist ausgerichtet an der Bearbeitung von im Zeilensprungverfahren aufgenommenen Video- und Fernsehsignalen auf der Plattform eines aktuellen Consumer-PCs. Die Studie verschafft anhand vieler Beispielalgorithmen einen Überblick über den Stand der Technik. Schließlich wurde zur Veranschaulichung der Arbeit das Testprogramm MCFilter (=Motion-Compensated Filter) entwickelt, mit dem sich die hier vorgestellten Algorithmen in Wirkung, Qualität und Rechenaufwand eigenhändig testen lassen. Dieses Programm wurde für die Plug-In-Schnittstelle der sowohl im Amateur- als auch im Profibereich weit verbreiteten Videocompositing- Software Adobe After Effects geschrieben und lässt sich somit auf einfache Weise in einen möglicherweise bereits bekannten Arbeitsablauf integrieren. Als qualitativ hochwertige Anwendungen der 3D-Filter sind in MCFilter verschiedene sog. De-Interlacing-Filter (zum Begriff siehe Abschnitt 2.2.11) sowie drei Rauschunterdrückungsverfahren eingebaut. Neben der Filter-Qualität, dem programmiertechnischen Aufwand und der erforderlichen Rechenzeit werden in der Arbeit auch patentrechtliche Probleme, die mit der Neuheit der Verfahren zusammenhängen, kurz angesprochen.

Aufgrund des erheblichen Rechenaufwands der in MCFilter implementierten Verfahren werden auch mögliche Alternativalgorithmen vorgestellt, die zu deutlichen Zeitgewinnen führen sollen, aber aufgrund der beschränkten Zeit für diese Arbeit nicht mehr implementiert werden konnten.

Wie aktuell das Thema 3D-Filter ist, zeigt sich auch in der Vielzahl der in den letzten 5 Jahren veröffentlichten Forschungsarbeiten auf dem Gebiet der Video-bildbearbeitung. Selbst einfachst, d.h. mit einem aktuellen PC, ausgestatteten Forschungslaboratorien und Entwicklungsabteilungen ist es mittlerweile möglich, auf dem Gebiet der Videobildbearbeitung kostengünstig Studien durchzuführen - ein Forschungsgebiet, das noch bis Mitte der 90er Jahre teurer Spezialhardware vorbehalten war. Aufgrund steigender Komplexität und um den Umfang dieser Arbeit zu begrenzen, sind allerdings nur einige der ganz aktuellen Verfahren in MCFilter umgesetzt worden.

Der Inhalt der Arbeit ist folgendermaßen gegliedert:
Kapitel 2 führt zunächst in einige Grundlagen ein. Es werden die in der Arbeit verwendete Schreibweise für Bildtransformationen und einige kapitelübergreifende Fachbegriffe erklärt. Es folgen Ausführungen zum Basiswissen über Video- und Fernsehsignale, wie z.B. Farbraum, Auflösung, Fernsehsystem und Signalkomponenten. Kapitel 3 erläutert die Grundprobleme beim Versuch, ein im Zeilensprungverfahren aufgenommenes Bildsignal möglichst hochwertig zu bearbeiten und präsentiert die Lösung mittels verschiedener De-Interlacing- Verfahren. Kapitel 4 befasst sich mit der Beschreibung der Algorithmen zur Bewegungsschätzung. Im Anschluss wird in Kapitel 5 die Anwendung der Bewegungsschätzung anhand dreier Rauschunterdrückungsverfahren erprobt. In Kapitel 6 werden einige generelle (Bildbearbeitungs-) Algorithmen vorgestellt, die an verschiedenen Stellen in der Implementation benötigt werden. Kapitel 7 enthält das Benutzerhandbuch zu MCFilter, Kapitel 8 das Programmierhandbuch. Zuletzt fasst Kapitel 9 die Ergebnisse zusammen und gibt einen Ausblick. Im Anhang befinden sich schließlich noch die Auswertungen verschiedener implementierter Algorithmen anhand von Ausschnitten aus Bildsequenzen und einige Übersichten zum Programm MCFilter.

Die in diesem Text abgedruckten Screenshots, Ausschnitte aus Videobeiträgen und sonstigen Grafiken sind auch im Verzeichnis Bilder auf der DVD vorhanden. Trotz hochauflösenden Farbdrucks sind insbesondere die Vergleiche von Entrauschfiltern besser auf den Original-Computergrafiken zu erkennen.

2. Grundlagen
Dieses Kapitel führt in die Bearbeitung von Videosignalen ein. Zunächst wird die Notation der Bildtransformationen und einige Grundbegriffe erklärt. Es folgen Ausführungen zum Videosignal und Farbräumen bei der Videobildbearbeitung. Zuletzt werden allgemeine Verfahren zur Qualitätsbewertung der Bildbearbeitungsalgorithmen vorgestellt.

[...]


1 Vgl. auch Bonner, E.: DVD-Playern, 2003:„2002 wurden in Deutschland mehr DVD-Player abgesetzt als in jedem anderen europäischen Land: 5,2 Millionen...“ Hinzu kommen noch einige Millionen verkaufte DVD-Laufwerke in Computern. Welzhofer, Birgit: DVD, 2001: „DVD trotzt ...[dem negativen Wirtschaftstrend] sowohl im Hard- als auch im Softwarebereich. So kann die DVD-Arbeitsgemeinschaft e.V. ...ihre Prognose einer Verdoppelung des DVD-Player-Absatzes für 2001 im Vergleich zum Vorjahr bestätigen.

2 Vgl. PoS-Mail: Kino, 2002: „2001 wurden [in Deutschland] 17 DVD-Filme pro DVD-Player verkauft – mehr als jemals Videokassetten pro VHS-Rekorder in einem Jahr verkauft wurden.“ Welzhofer, Birgit: DVD, 2001: „So lag die [DVD-]Erstauslieferung [in der BRD] bei dem ... Titel ‚Was Frauen wollen’ mit M.Gibson und H.Hunt in den Hauptrollen bei über 250.000 Stück“ Bonner, E.: DVD-Playern, 2003: „[2002] wurden [in der BRD] rund 40 Millionen [DVDs] ... abgesetzt (etwa 90% mehr als im Vorjahr).“

[...]

5 Eine gute Übersicht über Filmschäden mit vielen Beispielclips zeigt Thallinger, G.: Film-Restoration, o.J.

6 z.B. Adobe Premiere, Ulead Media Studio, Sonic Foundry Vegas, Final Cut Pro, After Effects

7 z.B. GData DaVideo für VHS-Kassetten oder Magix Filme auf CD & DVD

8 Vgl. Lee, A.: VirtualDub, 2003

9 Vgl. z.B. Übersicht bei Graft, D.: Filters, o.J.

10 Vgl. Khlopenkov, Konstantin: SpotRemover, 2003. Seit Juni 2003 unterstützt dieses Plug-In auch im Zeilensprungverfahren aufgenommene Videos. Dieser Filter arbeitet allerdings nicht mit Bewegungsschätzung, sondern bewegungsadaptiv und kann daher die mögliche Qualität eines bewegungskompensierten Filters nicht erreichen.

11 Immerhin wurde das Programm vor kurzem in einem großen Bericht über Filmrestaurierung im Hamburger Abendblatt erwähnt, vgl. Küch, O.: Filme, 2003

12 Vgl. Da Vinci: Revival, o.J.

13 Vgl. HS-ART: Restoration, 2001 und Thallinger, G.: Diamant, o.J.

14 Vgl. Snell & Wilcox: Archangel

Excerpt out of 283 pages

Details

Title
Entwurf eines softwarebasierten bewegungskompensierten Filters zur Qualitätsverbesserung von im Zeilensprungverfahren aufgenommenen Videodateien
College
University of Applied Sciences Wedel  (Computer Graphics & Virtual Reality)
Grade
1,3
Author
Year
2003
Pages
283
Catalog Number
V35392
ISBN (eBook)
9783638353168
File size
3684 KB
Language
German
Notes
Die Arbeit stellt ein Verfahren vor um am PC ein bewegungskompensiertes Entrauschen und De-Interlacen von Videodateien durchzuführen. Ausführlich erläutert werden zwei algorithmen zur Motion Estimation, ca. 15 Algorithmen zum De-Interlacing, 3 Algorithmen zum De-Noising, sowie verschiedene andere benötigte Algorithmen (Deblurring, Median-Filtering, Motion Compensation). Das mit der Arbeit entwickelte C++-Plugin für Adobe After Effects ist ca. 30000 Zeilen Code lang und hier nicht mitenthalten.
Keywords
Entwurf, Filters, Qualitätsverbesserung, Zeilensprungverfahren, Videodateien
Quote paper
Jan Angermüller (Author), 2003, Entwurf eines softwarebasierten bewegungskompensierten Filters zur Qualitätsverbesserung von im Zeilensprungverfahren aufgenommenen Videodateien, Munich, GRIN Verlag, https://www.grin.com/document/35392

Comments

  • No comments yet.
Look inside the ebook
Title: Entwurf eines softwarebasierten bewegungskompensierten Filters zur Qualitätsverbesserung von im Zeilensprungverfahren aufgenommenen Videodateien



Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free