Demosaicing
- Sensorbild vor Demosaicing
- Rekonstruiertes Bild nach Demosaicing
Als Demosaicing [ ] (auch Demosaicking) bezeichnet man in der Digitalfotografie die Rekonstruktion einer farbigen Rastergrafik aus den Helligkeitswerten eines mit Mosaik-Farbfiltern überlagerten Bildsensors.
Grundlagen
Die Bildsensoren der meisten Digitalkameras basieren auf Bayer-Sensoren. Dabei handelt es sich um CMOS-Sensoren, die mit einer Matrix aus regelmäßig angeordneten Rot-, Grün- und Blaufiltern überzogen sind. Da jedes Pixel nur den Helligkeitswert eines Farbkanals aufnehmen kann, ist die Farbinformation unvollständig. Zur Erzeugung einer farbigen Rastergrafik, die vollständige RGB-Werte für jedes Pixel speichert, müssen benachbarte Grundfarben-Werte interpoliert werden.
Neben den Bayer-Sensoren gibt es noch Bildsensoren mit RGBE (Rot, Grün, Blau, Cyan)- oder CYGM (Cyan, Gelb, Grün, Magenta)-Filtern, die ebenfalls Demosaicing erfordern. Beim Foveon-X3-Direktbildsensoren oder Three-Shot-Sensoren werden für jedes Pixel die Werte aller drei Grundfarben aufgenommen; hier ist kein Demosaicing nötig.
Das Demosaicing kann sowohl durch die Firmware der Kamera erfolgen, wobei meist ein JPEG- oder TIFF-Bild erzeugt wird, als auch später als Software auf ein Bild im Rohdatenformat angewandt werden.
Verfahren und Artefakte
Eine einfache Möglichkeit des Demosaicing ist die Interpolation mittels eines Rekonstruktionsfilters, zum Beispiel mittels bilinearer Filterung (siehe auch Skalierung). Hierbei kann es zu Unschärfe und anderen Bildartefakten kommen:
- „Reißverschlussartige“ Schachbrettmuster entstehen an Kanten, die nicht entlang der Farbfilter einer Grundfarbe verlaufen;
- Farbverschiebungen entstehen als Alias-Effekte, wenn die Farbfiltermatrix mit regelmäßig angeordneten Bilddetails interferiert.[1]
Es wurden zahlreiche weitere Demosaicing-Verfahren entwickelt, mit dem Ziel, diese Artefakte zu vermindern oder zu eliminieren.[2] Dazu gehören:
- Farbton-Interpolation: Anstatt RGB-Werte individuell zu interpolieren, werden nur die Farbton-Werte, definiert als , interpoliert.[3] Diese Methode zählt zu den ersten, die in kommerziellen digitalen Kamerasystemen zum Einsatz kamen.
- Medianfilter: Im ersten Schritt wird durch bilineare Filterung ein Bild erzeugt. Anschließend wird ein Medianfilter auf die Differenzen der Farbkanäle (z. B. R − G und B − G) in diesem Bild angewandt. Aus den beiden mediangefilterten Farbdifferenzbildern und dem ursprünglichen Sensorbild wird dann das Ausgabebild berechnet. Der Rotwert eines grünen Sensorpixels wird zum Beispiel berechnet, indem der Wert des mediangefilterten R−G-Bildes zum Grünwert addiert wird.[4]
- Kantenbasierte Interpolation: Im ersten Schritt wird aus den Grünwerten des Sensorbildes ein interpoliertes Helligkeitsbild erzeugt. Im zweiten Schritt wird aus den Rot- und Blauwerten ein interpoliertes Farbdifferenzbild erzeugt (R − G bzw. B − G). Dabei findet eine einfache Kantendetektion statt, so dass in der Regel nur zwischen zwei horizontal oder vertikal benachbarten Werten interpoliert wird. Aus diesen Farbdifferenzbildern werden dann die Chrominanzkanäle (R und B) rekonstruiert.[5]
- Mustererabgleich und -erkennung: Techniken wie Pattern Matching oder Mustererkennung werden verwendet, um die fehlenden Farbwerte zu rekonstruieren.[6]
Beispiel
Um ein Bild aus den durch das Farbfilterarray gesammelten Daten zu rekonstruieren, ist eine Form der Interpolation erforderlich, um die Lücken auszufüllen. Die Mathematik hier unterliegt der individuellen Umsetzung und wird Demosaicing genannt. In diesem Beispiel verwenden wir die bikubische Interpolation von Adobe Photoshop, um die Schaltung eines Bayer-Filtergeräts wie einer Digitalkamera zu simulieren. Das Bild unten simuliert die Ausgabe eines Bayer-Sensors. Jedes Pixel hat nur einen roten, grünen oder blauen Anteil. Das entsprechende Originalbild wird neben der demosaikierten Rekonstruktion am Ende dieses Abschnitts gezeigt.
Beispielbild eines Bayer-Sensors | ||
Rotanteil des Beispielbilds | Grünanteil des Beispielbilds | Blauanteil des Beispielbilds |
Originalbild | Rekonstruiertes Bild |
Das rekonstruierte Bild ist in gleichmäßig gefärbten Bereichen typischerweise genau, weist jedoch einen Verlust in der Bildauflösung (Detail und Schärfe) auf und weist Kantenartefakte auf.
Literatur
- Richard Szeliski: Computer Vision: Algorithms and Applications, S. 440 f. Springer, London 2011, ISBN 978-1-84882-934-3
Einzelnachweise
- ↑ Lanlan Chang , Yap-Peng Tan: Hybrid color filter array demosaicking for effective artifact suppression. Journal of Electronic Imaging 15, 1 (Jan.–März 2006): 013003, ISSN 1017-9909
- ↑ Rajeev Ramanath u. a.: Demosaicking methods for Bayer color arrays. Journal of Electronic Imaging 11, 3 (Juli 2002): 306–315 (PDF, 560 kB (Memento vom 20. April 2006 im Internet Archive))
- ↑ Patent US4642678: Signal processing method and apparatus for producing interpolated chrominance values in a sampled color image signal. Erfinder: David R. Cok.
- ↑ Patent US4724395: Median filter for reconstructing missing color samples. Erfinder: William T. Freeman.
- ↑ Siehe u. a.Patent US5373322: Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradients. Erfinder: Claude A. Laroche, Mark A. Prescott.
- ↑ Siehe etwa: W. XiaoLin, C. K. Wai, B. Paul: Color Restoration from Digital Camera Data by Pattern Matching. Proceedings of SPIE 3018 (1997): 12–17
Auf dieser Seite verwendete Medien
Autor/Urheber: Der ursprünglich hochladende Benutzer war Fibonacci in der Wikipedia auf Englisch, Lizenz: CC SA 1.0
Bayer G. Converted to en:PNG by Fibonacci.
File history for the previous image:
- 22:23, 19 July 2004 . . Toytoy (6899 bytes) (Bayer G)
Autor/Urheber:
Der ursprünglich hochladende Benutzer war Toytoy in der Wikipedia auf Englisch
Later versions were uploaded by Ilmari Karonen at en.wikipedia., Lizenz: CC SA 1.0Frame enlargement of the original.
Autor/Urheber: Der ursprünglich hochladende Benutzer war Fibonacci in der Wikipedia auf Englisch, Lizenz: CC SA 1.0
Bayer R. Converted to en:PNG by Fibonacci.
File history for the previous image:
- 22:24, 19 July 2004 . . Toytoy (3525 bytes) (Bayer R)
Autor/Urheber:
Der ursprünglich hochladende Benutzer war Toytoy in der Wikipedia auf Englisch
Later versions were uploaded by Ilmari Karonen at en.wikipedia., Lizenz: CC SA 1.0Frame enlargement of the reconstructed image.
Autor/Urheber: Der ursprünglich hochladende Benutzer war Fibonacci in der Wikipedia auf Englisch, Lizenz: CC SA 1.0
Bayer RGB. Converted to en:PNG by Fibonacci.
File history for the previous image:
- 22:39, 19 July 2004 . . Toytoy (21712 bytes) (Bayer RGB)
Autor/Urheber: Der ursprünglich hochladende Benutzer war Fibonacci in der Wikipedia auf Englisch, Lizenz: CC SA 1.0
Bayer B. Converted to en:PNG by Fibonacci.
File history for the previous image:
- 22:22, 19 July 2004 . . Toytoy (13831 bytes) (Bayer B)
Autor/Urheber: en:User:Cburnett, Lizenz: CC BY-SA 3.0
A Bayer pattern on a sensor in isometric perspective/projection