Hallo,
vor nicht allzu langer Zeit kaufte ich mir einen Panasonic NV-GS 500. Vor allem wegen des ProCinema Modus. Daß dieser nicht die volle vertikale Auflösung bieten würde, war mir klar, da dies (im Gegensatz zum echten ProScan) technisch nicht geht. Schließlich wird hier ein Interlaced-CCD progressiv ausgelesen...
Zur Erklärung: eine gut gebaute Interlaced-Kamera hat niemals mehr als 66% der nominellen Auflösung (Kell-Faktor). Hätte sie mehr, würde dies zu Problemen mit dünnen horizontal orientierten Objekten - z.B. Oberleitungen - führen, die sich mit der Fieldrate nach oben oder unten bewegen. Diese wären dann entweder gar nicht im Bild sichtbar oder würden wegen des Time-Aliasing zyklisch "aufflackern". Wenn Interesse besteht, erkläre ich dies genauer (mit Bildern)...
Zurück zur Panasonic: Erwartet hatte ich also, dass beide Fields simultan ausgelesen würden und sich somit etwa diese 66% der nominellen vertikalen Auflösung einstellen würden. Entsetzt war ich, als ich feststellen musste, dass die Auflösung real irgendwo zwischen 50% und 66% liegt und das Bild mit Alias-Artefakten (Treppchen...) ruiniert wird. (Auf Wunsch Beispielbilder...) Also habe ich mich wieder an mein Hobby-Projekt aus den Zeiten meiner GR-DV 145 gemacht: den x-ten Deinterlacer dieses Planeten. Ziel: bei Bildbewegungen die fehlenden Daten so exakt wie möglich interpolieren. Folgendes Konzept ist dabei herausgekommen:
Die beiden Fields sind aliased, somit ist eine direkte subpixel-akurate Bestimmung der Bewegungsvektoren zwischen zwei aufeinanderfolgenden Fields unmöglich. Es gibt jedoch einen Bereich im Frequenzspektrum, der für beide Fields aliasfrei ist(wenn der Kamera-Hersteller nicht geschludert hat...): 0-0,33. Tiefpassfiltert man die Fields sowohl horizontal, wie vertikal auf den genannten Frequenzbereich (SIN(X)/(X)), so kann man den aliasfreien Frequenzbereich extrahieren und subpixel-genau bewegungskompensieren.
Hat man die Bewegungsvektoren, kann man die fehlenden Bilddaten über zwei gekoppelte SINC-Rekonstruktions-filter aus dem Ziel-Field und dem verschobenen Field zurückrechnen.
Das klappt mittlerweile so gut, dass die Ergebnisse immer dann, wenn eine Rekonstruktion überhaupt möglich ist, d.h. die Objekte werden nur verschoben aber nicht geändert, besser sind als der ProCinema-Modus. An den Bildstellen, die nicht rekonstruierbar sind, habe ich im Moment einen Median-Deinterlacer als Schutzfunktion eingebaut, finde diese Lösung aber suboptimal., da sie die mühsam rekonstruierte Auflösung wieder zunichte macht... Alternativ probiert: Linear-Blend der beiden Fields. Auch suboptimal (eigentlich noch suboptimaler...).
Da mir an genau dem Punkt die Idee fehlt, wie man das besser machen kann... Ideen? Vorschläge?
cu
Stefan