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- undbearbeitungstechnik 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, Vi-deo2000) 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.
Inhaltsverzeichnis
1. Einleitung
2. Grundlagen
2.1. Notation der Bildtransformationen
2.2. Begriffsklärungen
2.2.1. Motion Estimation
2.2.2. True Motion Estimation
2.2.3. Motion Detection
2.2.4. Motion Tracking
2.2.5. Motion Trajectory
2.2.6. Motion-Adaptive Filter
2.2.7. Motion-Compensated Filter
2.2.8. Field, Frame
2.2.9. Field Dominance
2.2.10. De-interlaced, Interlaced
2.2.11. De-Interlacing
2.2.12. Videobeiträge
2.3. Das analoge Videosignal
2.4. Farbraum
2.5. Bewertung der bearbeiteten Bilder
2.5.1. Objektives Verfahren
2.5.2. Subjektives Verfahren
3. Entfernen des Zeilensprunges („De-Interlacing“)
3.1. Problem: Video- und Fernsehsignale als Quellmaterial
3.2. Entwurf eines Algorithmus zum De-Interlacing
3.3. Unterscheidung nach Luminanz- und Chrominanz-Komponenten
3.4. Konkrete Algorithmen zum De-Interlacing des Luminanzsignals
3.4.1. Räumliche Filter
3.4.1.1. Zeilenwiederholung („Line Repeat“)
3.4.1.2. Zeilendurchschnitt („Line Average“)
3.4.1.3. Zeileninterpolation („Line Interpolation“)
3.4.1.3.1. Exkurs: Interpolation und perfekte Rekonstruktion
3.4.1.3.2. Die implementierten Interpolationsfunktionen
3.4.1.3.2.1. Linear: Dreieck („Triangle“)
3.4.1.3.2.2. Kubisch: Hermite
3.4.1.3.2.3. Kubisch: Catmull-Rom
3.4.1.3.2.4. Kubisch: Mitchell-Netravali
3.4.1.3.3. Zusammenfassung und Qualitätsvergleich
3.4.1.3.4. Schnellere Interpolation über Look-up-Tables
3.4.2. Der zeitliche Filter („Field Repeat“)
3.4.3. Zeitlich-räumliche Filter
3.4.3.1. Halbbild-Durchschnitt („Field Average“)
3.4.3.2. Vertikal-zeitlicher Median
3.4.3.3. Vertikal-zeitlicher Filter
3.4.3.4. Kantenbasierter Zeilendurchschnitt
3.4.3.4.1. Grundform des ELA nach Doyle
3.4.3.4.2. ELA mit vertikaler Median-Filterung
3.4.3.4.3. ELA mit Hoch- / Tiefpass-Signaltrennung
3.4.3.4.4. Adaptiver ELA mit Behandlung horizontaler Kanten
3.4.3.4.4.1. Kantendetektion
3.4.3.4.4.2. Berechnung des Kantenwertes
3.4.3.5. Adaptiver gewichteter Median
3.4.3.5.1. Gewichteter Median
3.4.3.5.2. Bewegungserkennung
3.4.3.6. Bewegungsadaptiver Algorithmus nach Roberts
3.4.3.7. Andere nicht implementierte Algorithmen
3.4.3.7.1. Weitgehend verwandte Algorithmen
3.4.3.7.2. Entfernen des Zeilensprunges mittels Fuzzy-Logic
3.5. De-Interlacing der Chrominanz-Komponenten
3.6. Vergleich der Filter
3.7. Bewegungskompensiertes De-Interlacing
3.7.1. Probleme von Filtern mit Bewegungsvektoren
3.7.2. Algorithmen
3.7.2.1. Bewegungskompensierte Halbbild-Wiederholung
3.7.2.2. Bewegungskompensierter vertikal-zeitlicher Median
3.7.2.3. Bewegungskompensierter vertikal-zeitlicher Filter
3.7.2.4. Rekursive Filter
3.7.2.4.1. Der zeitrekursive Filter
3.7.2.4.2. Adaptiv-rekursiver Filter
3.7.2.4.2.1. Mischverhältnis für die existente Zeile: k1
3.7.2.4.2.2. Mischverhältnis für die fehlende Zeile: k2
3.7.2.5. Weitere Verfahren
3.7.2.5.1. Andere nicht implementierte Verfahren
3.7.2.5.2. Verallgemeinerung des Abtasttheorems
3.7.3. Vergleich der Verfahren
3.7.4. Bewertung dieser Vergleichsergebnisse
4. Bewegungsschätzung
4.1. Bewegungsarten
4.1.1. Globale Bewegung
4.1.2. Blockbasierte Bewegung
4.1.3. Pixelbasierte Bewegung
4.1.4. Objektbasierte Bewegung
4.2. Visualisierung der Bewegungsvektoren
4.2.1. Pfeilverfahren
4.2.2. Färbungsverfahren
4.2.3. Anzeige eines konkreten Bewegungsvektors.
4.3. Notation der Bewegungsschätzung
4.4. Algorithmen zur lokalen Bewegungsschätzung
4.4.1. “3D-Recursive Search Block Matching with Y-Predictor”
4.4.1.1. Block-Matching in 3D-RS
4.4.1.1.1. Verfahren zur Berechnung der Abweichung
4.4.1.1.2. Grundprobleme der Bewegungsschätzung
4.4.1.1.2.1. Rechenaufwand
4.4.1.1.2.2. Rotationen und Skalierung
4.4.1.1.2.3. Helligkeitsschwankungen und Rauschen
4.4.1.1.2.4. Genauigkeit an Objektgrenzen im Verhältnis zur Blockgröße
4.4.1.1.2.5. Sehr kleine Objekte
4.4.1.1.2.6. True Motion Estimation
4.4.1.1.2.7. Szenenwechsel
4.4.1.1.2.8. Periodische Strukturen im Bild
4.4.1.1.2.9. Hohe Objektgeschwindigkeiten
4.4.1.1.2.10. Aufgedeckte und verdeckte Pixel
4.4.1.1.2.11. 3D-Rotationen
4.4.1.1.3. Lösungsansätze
4.4.1.1.3.1. Reduktion der Blockvergleiche durch effiziente Suchstrategien
4.4.1.1.3.1.1. n-Schritt-Algorithmus
4.4.1.1.3.1.2. One-At-A-Time-Suchverfahren
4.4.1.1.3.1.3. Das hierarchische Modell
4.4.1.1.3.1.4. Pel-Recursive-Verfahren
4.4.1.1.3.1.5. Zusammenfassung der bisherigen Suchstrategien
4.4.1.1.3.1.6. Block-Matching mit 3D-RS
4.4.1.1.3.1.6.1. Block-Subsampling
4.4.1.1.3.1.6.2. Pixel-Subsampling
4.4.1.1.3.1.6.3. Auswahl der Kandidatenvektoren
4.4.1.1.3.1.6.4. Eigene Erweiterung: Rückwärts-Gegencheck der Blöcke
4.4.1.1.3.1.6.5. Interpolation der fehlenden Bewegungsvektoren
4.4.1.1.3.2. Rotation und Skalierung
4.4.1.1.3.3. Helligkeitsschwankungen und Rauschen
4.4.1.1.3.4. Genauigkeit an Objektgrenzen im Verhältnis zur Blockgröße
4.4.1.1.3.5. Sehr kleine Objekte
4.4.1.1.3.6. True Motion Estimation
4.4.1.1.3.7. Szenenwechsel
4.4.1.1.3.8. Periodische Strukturen im Bild
4.4.1.1.3.9. Hohe Objektgeschwindigkeiten
4.4.1.1.3.10. Aufgedeckte und verdeckte Pixel
4.4.1.1.3.10.1. Differenz der Bewegungsvektoren
4.4.1.1.3.10.2. Differenz der bewegungskompensierten Frames
4.4.1.1.3.11. 3D-Rotationen
4.4.1.1.3.12. Übertragbarkeit der Lösungsansätze
4.4.2. Phase Plane Correlation
4.4.2.1. Einführung in das Verfahren
4.4.2.2. Die erste Stufe des Verfahrens
4.4.2.2.1. Mathematische Beschreibung der PPC
4.4.2.2.2. Beispiele zum Verständnis der PDM
4.4.2.2.2.1. Zyklisch verschobener Bildblock
4.4.2.2.2.2. Zwei identische Bildblöcke
4.4.2.2.2.3. Mehrere verschobene Objekte im Bild
4.4.2.2.3. Problematische Phasen-Differenz-Matrizen
4.4.2.2.3.1. Minderung von Bildrauschen
4.4.2.2.3.1.1. Tiefpass-Filter
4.4.2.2.3.1.2. Gewichtete Filterung
4.4.2.2.3.2. Objekte mit Geschwindigkeiten außerhalb der zulässigen Grenzen
4.4.2.2.3.3. Leckeffekt bei der diskreten Fouriertransformation
4.4.2.2.3.4. Halbbild-Flimmern
4.4.2.2.3.5. Pixel am Randbereich: Aufdecken und Verdecken von Pixeln
4.4.2.2.3.6. Rotationen und Skalierungen
4.4.2.2.3.7. Viele kleine bewegte Objekte im Bildblock
4.4.2.2.4. Implementierung der FFT
4.4.2.3. Zweite Stufe des Verfahrens
4.4.2.3.1. Ermittlung der Maxima in der PDM
4.4.2.3.1.1. Eindimensionale parabolische Interpolation
4.4.2.3.1.2. Übertragung auf den zweidimensionalen Fall
4.4.2.3.2. Zuweisung der Kandidatenvektoren zu den Pixeln
4.4.2.3.2.1. Auswahl der Bewegungsvektoren
4.4.2.3.2.1.1. Reduktion bei ähnlichen Vektorrichtungen
4.4.2.3.2.1.2. Reduktion unterhalb eines Schwellwertes
4.4.2.3.2.1.3. Entfernen der „zweifelhaften“ Vektoren
4.4.2.3.2.1.4. Reduktion durch globale Bewegungskompensation
4.4.2.3.2.1.5. Ergebnis der Reduktion
4.4.2.3.2.2. Blockvergleiche auf Pixelbasis
4.4.2.3.2.3. Nachträgliche Vereinheitlichung der Vektoren
4.4.2.4. Rechenaufwand
4.4.2.4.1. Komplexität des implementierten Verfahrens auf der ersten Stufe
4.4.2.4.2. Schnellere Berechnung der Phase
4.4.2.4.3. Inverse Fouriertransformation mit gleichzeitiger Bestimmung des Maximums
4.4.2.4.4. Berechnung der PPC auf einem verkleinerten Bild
4.4.2.4.5. Eigene Vorschläge für den Ausbau des PPC-Verfahrens
4.4.2.4.5.1. Hierarchisches Verfahren
4.4.2.4.5.2. Blockweise PPC
4.4.2.4.6. Implementation dieser Optimierungen
4.4.2.5. Testen der PPC in MCFilter
4.4.2.6. Weitere Fourier-basierte Algorithmen zur Bewegungsschätzung
4.4.2.6.1. Frequenz-Komponenten-Algorithmus
4.4.2.6.2. Shape Adaptive Phase Correlation
4.4.3. Andere Bewegungsschätzungs-Verfahren
4.4.4. Bewegungsschätzung unter Zuhilfenahme der Farbkomponenten
4.4.5. Vergleich der lokalen Bewegungsschätzung mittels 3D-RS und PPC
4.5. Globale Bewegungsschätzung
4.5.1. Das parametrische Modell
4.5.1.1. Exkurs: Berechnung der Abtastdichte
4.5.1.2. Berechnung der Parameter des globalen Modells
4.5.1.3. Einsatz dieses Verfahrens bei 3D-RS
4.5.1.4. Parametrisches Modell für komplexere globale Bewegungstypen
4.5.2. Globale Bewegungsschätzung mit Phase Plane Correlation (PPC)
4.5.3. Weitere Algorithmen zur globalen Bewegungsschätzung
4.5.4. Auswertung der globalen Bewegungserkennung
5. Anwendung der Bewegungsvektoren: 3D-Filter
5.1. Rauschen
5.1.1. Definition von Rauschen
5.1.2. Filter zum Entrauschen von Videosignalen
5.1.3. Schätzen der Rauschparameter
5.2. Allgemeine Probleme bei 3D-Filtern
5.3. Bewegungskompensation
5.3.1. Anzahl der Umgebungsframes
5.3.2. Vorwärts- und Rückwärtsvektoren
5.3.3. Ergebnis der Bewegungskompensation
5.4. Implementierte 3D-Algorithmen
5.4.1. 3D-Median
5.4.1.1. Zuverlässigkeit der Bewegungsvektoren
5.4.1.2. Kern des Filter-Algorithmus
5.4.2. 3D-Alpha-Trimmed Mean-Filter
5.4.3. 3D-K-Nearest Neighbour (3D-KNN)
5.4.4. Entrauschen über 3D-Wavelets
5.5. Auswertung der Filter zur Rauschunterdrückung
5.5.1. Künstliches Rauschen
5.5.2. Entfernen von typischem Videorauschen auf einem detailreichen Frame
5.5.3. Entfernen von Line Jitter und starkem Videorauschen
5.5.4. Die entrauschten Videobeiträge auf der Video-DVD
5.5.5. Zusammenfassung der Auswertung
6. Implementierung allgemeiner Filter und Algorithmen
6.1. Gauß’scher Weichzeichner
6.1.1. Grundlagen
6.1.2. Algorithmen für die Weichzeichnung
6.1.2.1. Faltung („Brute-Force“)
6.1.2.2. Filterung durch zwei separate 1D-Filterkerne
6.1.2.3. Wiederholte Anwendung kleinerer Filterkerne
6.1.2.4. SKIPSM-Algorithmus
6.2. Zoom-Filter
6.3. Verschiebungsfilter (Shift, Pan, Tilt)
6.4. Median-Filter
6.4.1. Implementierung
6.4.1.1. Median-Vergleichsnetzwerk
6.4.1.2. Median-Quick-Select
6.5. Quicksort
6.6. Randbehandlung
7. Benutzerhandbuch „MCFilter“
7.1. Systemvoraussetzungen
7.2. Programminstallation
7.3. Programmdeinstallation
7.4. Bedienung des Programms
7.4.1. Überblick
7.4.2. Öffnen oder Anlegen eines Projekts in After Effects
7.4.3. Beschleunigung des Experimentierens
7.4.4. Nummerierung der Frames im Arbeitsspeicher
7.5. Testfilter
7.5.1. Der FFT-Filter
7.5.2. Der Color Space-Filter
7.5.3. Der Centered-Zoom-Filter und der Zoom-Filter
7.5.4. Der Window-Filter
7.5.5. Der Shift-Filter
7.5.6. Der Denoise-Filter
7.5.7. Der Border-Filter
7.5.8. Der Morphology-Filter
7.6. Fehlermeldungen und Probleme
7.6.1. Wiederanlaufbedingungen
7.6.2. Fehler- und Warnungsmeldungen in MCFilter
7.6.3. Antworten auf häufige Probleme (FAQ)
7.6.3.1. Mit welchen Frameformaten kommt MCFilter zurecht ?
7.6.3.2. Ich bekomme visuell nicht das erwartete Ergebnis. Woran kann es liegen ?
7.6.3.3. Die angezeigten PSNR-Werte können nicht stimmen.
7.6.3.4. Bei der Auswahl einer anderen PPC- bzw. FFT-Blockgröße bekomme ich ganz andere Ergebnisse.
7.6.3.5. Das Ergebnis des nicht-bewegungskompensierten und das des bewegungskompensierten De-Interlacing unterscheiden sich nicht.
7.6.3.6. Ich sehe zwei verflochtene Halbbilder, aber nicht die, die es eigentlich sein sollten.
8. Programmierhandbuch
8.1. Entwicklungsumgebung
8.1.1. Installation / Deinstallation
8.1.1.1. After Effects 5.5 SDK
8.1.1.2. MCFilter
8.1.1.3. FFTW-Bibliothek
8.1.2. Laden des Programms in MS Visual C++
8.1.3. Analyse und Planung des Programms
8.1.3.1. Überblick über das Programm
8.1.3.2. Speicherbedarf
8.1.3.3. Objektorientierte C++-Programmierung
8.1.3.4. Bezeichnerkonventionen
8.1.3.5. Sprache
8.2. Die Beschreibung der Klassen und Units
8.2.1. Das Hauptprogramm MCFilter
8.2.2. Die Klassen und Headerdateien zur Beschreibung spezieller Typen
8.2.2.1. Types.h
8.2.2.2. Die Klassen Y_Space und YCC_Space
8.2.2.3. SeqContent.h
8.2.2.4. Die Klasse Vector2D
8.2.2.5. Die Klasse Peaks
8.2.3. Definitionen von Makros, Konstanten und Aufzählungstypen
8.2.3.1. Global.h
8.2.3.2. Macro.h
8.2.3.3. Error.h
8.2.3.4. MCFilterStrings
8.2.4. Statische Hilfsklassen
8.2.4.1. Die Klasse CS_ColorSpace
8.2.4.2. Die Klasse MotionVectors
8.2.4.3. Die Klasse MathUtility
8.2.4.4. Die Klasse Median
8.2.4.5. Das Modul Border
8.2.4.6. Die Selector-Klasse
8.2.5. Die Interpolations-Klassen
8.2.5.1. Die Klasse MotionCompensatedFields
8.2.6. Die Farbraum- und Pixelklassen
8.2.7. Die Klasse SimpleFilter
8.2.8. Die De-Interlacing-Klassen
8.2.9. Die MC-De-Interlace-Klassen
8.2.10. Die MotionEstimation-Klassen
8.2.10.1. Die Klassen für globale Bewegungsschätzung
8.2.10.2. Die Klassen für lokale Bewegungsschätzung
8.2.11. Die Subpixelblock-Klassen
8.2.12. Die Klassen für morphologische Operationen
8.2.13. Die 2D-NoiseFilter Klassen
8.2.14. Die 3D-Noise Filter Klassen
8.2.15. Die Windowklassen
8.2.16. Die Klassen zur After Effects-Unterstützung
8.2.16.1. Die After Effects Units
8.2.16.2. Die Klassen AE_ InOutData und AE_InOutDataParams
8.2.16.3. Die Klassen für die Speicherverwaltung
8.2.16.4. Die Klasse UserInteraction
8.2.17. Die Klasse Evaluation
8.2.18. Die Klasse Warnings
8.3. Ablauf in MCFilter
8.3.1. Ablauf in den Bildbearbeitungsalgorithmen
8.3.2. Ringstruktur bei den zwischengespeicherten Elementen
8.4. Programmorganisationsplan
8.5. Optimierungen
8.5.1. Allgemeines
8.5.2. Speicherbelegung
8.5.3. MMX-/SSE-Optimierung
8.6. Beschränkungen und Ausbaumöglichkeiten
8.6.1. Andere Anwendungsgebiete für 3D-Filter
8.6.2. Unterstützung von Videobeiträgen im progressiven Format
8.6.3. Cross-Plattformkompatibilität
8.6.4. Parallele Implementierung für ein Rendernetzwerk
8.6.5. Besondere Fähigkeiten von After Effects
8.6.6. Interaktion zwischen MCFilter, After Effects und dem Benutzer
8.6.7. 16-Bit-Videodateien
9. Fazit
9.1. Die Entwicklung von MCFilter
9.2. Verwertbarkeit von MCFilter
Zielsetzung und Themen
Die Diplomarbeit hat das Ziel, zu evaluieren, ob die Entwicklung und Vermarktung von Software-Filtern zur Qualitätsverbesserung alter Videoaufnahmen auf PC-Ebene wirtschaftlich sinnvoll ist. Hierzu wird eine Studie durchgeführt, die den Stand der Technik analysiert, die algorithmischen Herausforderungen untersucht und das eigens entwickelte Plug-in „MCFilter“ für Adobe After Effects als Demonstrator für verschiedene 3D-Filter und Bewegungsanalyseverfahren nutzt.
- Entwicklung und Implementierung von bewegungskompensierten 3D-Filtern zur Video-Restaurierung.
- Analyse von Algorithmen zur Bewegungsschätzung (3D-Recursive Search und Phase Plane Correlation).
- Evaluierung von Verfahren zur Entfernung des Zeilensprungverfahrens (De-Interlacing).
- Implementierung von Entrauschungsfiltern und deren Qualitätsbewertung mittels PSNR und subjektiven Kriterien.
- Untersuchung der technischen Möglichkeiten und Einschränkungen für Consumer-PCs.
Auszug aus dem Buch
Die implementierten Interpolationsfunktionen
Die lineare Dreieck-Funktion setzt sich folgendermaßen zusammen:
r(x) = { 1-|x| ,|x|<1 ; 0 ,sonst (17) }
Sie wird auch Bartlett-Funktion genannt. Diese lineare Funktion führt bereits zu brauchbaren Interpolationsergebnissen.
Dieses Interpolationsverfahren basiert auf einem der sog. Hermite-Polynome und hat folgende Form:
r(x) = { 2x^3 - 3x^2 + 1 ,|x|<1 ; 0 ,sonst (18) }
Nicht alle Hermite-Polynome haben gute Interpolationseigenschaften. Das hier verwendete liefert aber, obwohl es nur in dem Intervall von |x| ≤ 1 arbeitet, hervorragende Ergebnisse.
Keys beschreibt einen kubischen Faltungskern r(x), der die Sinc-Funktion im Intervall |x| < 2 approximieren soll, mit folgenden Eigenschaften: der Kern ist symmetrisch, Null außerhalb des Intervalls ]-2,2[, stetig mit einer stetigen Ableitung und es gilt: r(0)=1, r(x)=0 für |x|=1 und |x|=2.
Zusammenfassung der Kapitel
1. Einleitung: Diese Einleitung stellt die Motivation der Arbeit dar, die in der Marktlücke für hochwertige, erschwingliche Videorestaurierungs-Software für Consumer liegt.
2. Grundlagen: Hier werden die mathematische Notation für Bildtransformationen, Fachbegriffe der Videobearbeitung und Grundlagen zu Farbräumen und der Qualitätsbewertung von Filtern erläutert.
3. Entfernen des Zeilensprunges („De-Interlacing“): Das Kapitel behandelt die Problematik von interlaced Quellmaterial und stellt diverse räumliche, zeitliche und bewegungskompensierte Algorithmen vor.
4. Bewegungsschätzung: Es werden verschiedene Arten der Bewegung und konkrete Algorithmen (3D-RS und PPC) zur lokalen und globalen Bewegungsschätzung detailliert beschrieben.
5. Anwendung der Bewegungsvektoren: 3D-Filter: Dieses Kapitel erläutert, wie die Bewegungsvektoren zur Rauschunterdrückung eingesetzt werden können, und präsentiert Implementierungen für 3D-Filter.
6. Implementierung allgemeiner Filter und Algorithmen: Hier werden grundlegende Bildbearbeitungsroutinen wie Gauß-Weichzeichner, Zoom-Filter und Median-Filter sowie Optimierungsstrategien vorgestellt.
7. Benutzerhandbuch „MCFilter“: Dieser Abschnitt dient als Anleitung für die Installation und Bedienung des entwickelten Plug-ins „MCFilter“ in Adobe After Effects.
8. Programmierhandbuch: Das Kapitel bietet einen Einblick in die Architektur, die Klassenstruktur und die technische Implementierung des Software-Projekts.
9. Fazit: Die Arbeit schließt mit einer zusammenfassenden Bewertung der Entwicklung von MCFilter und einer Einschätzung zur kommerziellen Verwertbarkeit der Ergebnisse.
Schlüsselwörter
Videorestaurierung, De-Interlacing, Bewegungsschätzung, Motion Compensation, 3D-Filter, Rauschunterdrückung, PSNR, After Effects, Bildverarbeitung, Bewegungsvektoren, Interpolation, Videobearbeitung, Software-Architektur
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit untersucht, ob es technisch und wirtschaftlich sinnvoll ist, PC-basierte Software zur Qualitätsverbesserung von altem, im Zeilensprungverfahren aufgenommenem Videomaterial zu entwickeln.
Was sind die zentralen Themenfelder?
Die Schwerpunkte liegen auf der algorithmischen Bildbearbeitung, speziell dem Entfernen von Zeilensprung (De-Interlacing), der Bewegungsschätzung (Motion Estimation) und verschiedenen Filtertechniken zur Rauschunterdrückung.
Was ist das primäre Ziel oder die Forschungsfrage?
Das primäre Ziel ist es, eine Entscheidungshilfe zu schaffen, ob ein Markt für anspruchsvolle Videorestaurierungs-Tools im Consumer-Bereich existiert und welche methodischen Ansätze hierfür am besten geeignet sind.
Welche wissenschaftliche Methode wird verwendet?
Es handelt sich um eine Machbarkeitsstudie, die den Stand der Technik anhand existierender Literatur analysiert und diese durch die Implementierung eines eigenen Test-Plug-ins (MCFilter) in Adobe After Effects praktisch validiert.
Was wird im Hauptteil behandelt?
Der Hauptteil umfasst theoretische Grundlagen, die detaillierte Beschreibung zahlreicher Algorithmen zur Bildbearbeitung und Bewegungsschätzung sowie die technische Dokumentation der eigenen Softwareimplementierung.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wichtige Begriffe sind insbesondere De-Interlacing, Bewegungskompensation, 3D-Filterung, Bildrestaurierung, Bewegungsvektoren und die Performance-Optimierung von Bildbearbeitungsalgorithmen.
Wie unterscheidet sich das 3D-RS Verfahren von der Phase Plane Correlation (PPC)?
3D-RS ist ein blockbasierter Algorithmus, der auf einer schnellen, rekursiven Suche nach Bewegungsvektoren basiert, während die PPC ein rechenintensiveres Verfahren im Frequenzraum ist, das Phasenbeziehungen nutzt, um Translationen zu bestimmen.
Warum ist die Randbehandlung in der digitalen Bildbearbeitung so wichtig?
Da lokale Filter benachbarte Pixel für Berechnungen benötigen, führt das Fehlen dieser Informationen am Bildrand zu Artefakten; die Implementierung einer künstlichen Randbehandlung sorgt für eine korrekte Filterung über das gesamte Bild hinweg.
- 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