Demosaicing
-
Sensorbild vor Demosaicing
-
Rekonstruiertes Bild nach Demosaicing
Als {{#invoke:Vorlage:lang|flat}} [<templatestyles src="IPA/styles.css" />
| ] <phonos file="{{{Tondatei}}}"></phonos>
}}{{#invoke:TemplatePar|check
|all= 1= |opt= 2= Tondatei= |template=Vorlage:IPA |errNS= 0 |cat=Wikipedia:Vorlagenfehler/Vorlage:IPA |format=@@@ }}] (auch {{#invoke:Vorlage:lang|flat}}) 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.<ref>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, {{#invoke:URIutil|{{#ifeq:1|1|linkISSN|targetISSN}}|1017-9909|0}}{{#ifeq:1|0|[!] }}{{#ifeq:0|1
|{{#switch:00
|11= (print/online)
|10= (print)
|01= (online)
}}
}}{{#ifeq:0|0
|{{#ifeq:0|0
|{{#if:{{#invoke:URIutil|isISSNvalid|1=1017-9909}}
|
|{{#invoke:TemplUtl|failure|ISSN ungültig}}}}}}
}}</ref>
Es wurden zahlreiche weitere Demosaicing-Verfahren entwickelt, mit dem Ziel, diese Artefakte zu vermindern oder zu eliminieren.<ref>Rajeev Ramanath u. a.: Demosaicking methods for Bayer color arrays. Journal of Electronic Imaging 11, 3 (Juli 2002): 306–315 (<templatestyles src="Webarchiv/styles.css" />{{#if:20060420082128
| {{#ifeq: 20060420082128 | *
| {{#if: PDF, 560 kB | {{#invoke:WLink|getEscapedTitle|PDF, 560 kB}} | {{#invoke:Webarchiv|getdomain|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20060420082128}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: PDF, 560 kB | {{#invoke:WLink|getEscapedTitle|PDF, 560 kB}} | {{#invoke:Webarchiv|getdomain|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20060420082128}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: PDF, 560 kB | {{#invoke:WLink|getEscapedTitle|PDF, 560 kB}} | {{#invoke:Webarchiv|getdomain|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: PDF, 560 kB | {{#invoke:WLink|getEscapedTitle|PDF, 560 kB}} | {{#invoke:Webarchiv|getdomain|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: PDF, 560 kB | {{#invoke:WLink|getEscapedTitle|PDF, 560 kB}} | {{#invoke:Webarchiv|getdomain|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf}} }} ({{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: PDF, 560 kB | {{#invoke:WLink|getEscapedTitle|PDF, 560 kB}} | {{#invoke:Webarchiv|getdomain|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf}} }}
}}}}}}}}{{#if:
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20060420082128|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf}}
|| {{#if: || }}
}}{{#if: PDF, 560 kB
| {{#if: {{#invoke:WLink|isBracketedLink|PDF, 560 kB}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://home.comcast.net/~rramanath/Research/demosaicking-JEI-02.pdf }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}})</ref> Dazu gehören:
- Farbton-Interpolation: Anstatt RGB-Werte individuell zu interpolieren, werden nur die Farbton-Werte, definiert als <math>\left(\frac{R}{G}, \frac{B}{G}\right)</math>, interpoliert.<ref>{{#if:{{#ifexpr:{{#if:US|0|1}} or {{#if:4642678|0|1}}|1}}|Fehlender Parameter {{#if:US||„Land“{{#if:4642678|| und }}}}{{#if:4642678||„V-Nr“}}|}}{{#if: {{#invoke:Expr|TemplateBooland}}|{{#ifeq:|Patentanmeldung|Patentanmeldung|{{#ifeq:|Gebrauchsmuster|Gebrauchsmuster|Patent}}}} {{#if:{{#invoke:TemplUtl|faculty|}}|US4642678|{{#switch: {{{DB}}}
| DEPATIS =US4642678 | WIPO = US4642678 | Google = US4642678 | #default =US4642678 }}}}{{#if:Signal processing method and apparatus for producing interpolated chrominance values in a sampled color image signalDavid R. Cok|:|.}}{{#if:Signal processing method and apparatus for producing interpolated chrominance values in a sampled color image signal| Signal processing method and apparatus for producing interpolated chrominance values in a sampled color image signal.}}{{#if:| Angemeldet am {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}{{#if:David R. Cok|,}}}}{{#if:|{{#if:| veröffentlicht am | Veröffentlicht am }}{{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}{{#if:David R. Cok|,}}}}{{#if:| Anmelder: {{{Anmelder}}}{{#if:David R. Cok|,}}}}{{#if:David R. Cok| Erfinder: David R. Cok}}{{#if:| ({{{Kommentar}}})}}{{#if:David R. Cok|.}}}}{{#invoke:TemplatePar|match |template= Vorlage:Patent |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Patent}} |format= |preview=@@@ |1=Land= ABC+ |2=V-Nr= /^[0-9A-Z]+$/ |3=Titel= * |4=Erfinder= * |5=Anmelder= * |6=A-Datum= * |7=V-Datum= * |8=Typ= ASCII |9=Code= ASCII |10=Kommentar= * |11=KeinLink= ASCII |12=DB=ASCII }}</ref> 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.<ref>{{#if:{{#ifexpr:{{#if:US|0|1}} or {{#if:4724395|0|1}}|1}}|Fehlender Parameter {{#if:US||„Land“{{#if:4724395|| und }}}}{{#if:4724395||„V-Nr“}}|}}{{#if: {{#invoke:Expr|TemplateBooland}}|{{#ifeq:|Patentanmeldung|Patentanmeldung|{{#ifeq:|Gebrauchsmuster|Gebrauchsmuster|Patent}}}} {{#if:{{#invoke:TemplUtl|faculty|}}|US4724395|{{#switch: {{{DB}}}
| DEPATIS =US4724395 | WIPO = US4724395 | Google = US4724395 | #default =US4724395 }}}}{{#if:Median filter for reconstructing missing color samplesWilliam T. Freeman|:|.}}{{#if:Median filter for reconstructing missing color samples| Median filter for reconstructing missing color samples.}}{{#if:| Angemeldet am {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}{{#if:William T. Freeman|,}}}}{{#if:|{{#if:| veröffentlicht am | Veröffentlicht am }}{{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}{{#if:William T. Freeman|,}}}}{{#if:| Anmelder: {{{Anmelder}}}{{#if:William T. Freeman|,}}}}{{#if:William T. Freeman| Erfinder: William T. Freeman}}{{#if:| ({{{Kommentar}}})}}{{#if:William T. Freeman|.}}}}{{#invoke:TemplatePar|match |template= Vorlage:Patent |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Patent}} |format= |preview=@@@ |1=Land= ABC+ |2=V-Nr= /^[0-9A-Z]+$/ |3=Titel= * |4=Erfinder= * |5=Anmelder= * |6=A-Datum= * |7=V-Datum= * |8=Typ= ASCII |9=Code= ASCII |10=Kommentar= * |11=KeinLink= ASCII |12=DB=ASCII }}</ref>
- 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.<ref>Siehe u. a.{{#if:{{#ifexpr:{{#if:US|0|1}} or {{#if:5373322|0|1}}|1}}|Fehlender Parameter {{#if:US||„Land“{{#if:5373322|| und }}}}{{#if:5373322||„V-Nr“}}|}}{{#if: {{#invoke:Expr|TemplateBooland}}|{{#ifeq:|Patentanmeldung|Patentanmeldung|{{#ifeq:|Gebrauchsmuster|Gebrauchsmuster|Patent}}}} {{#if:{{#invoke:TemplUtl|faculty|}}|US5373322|{{#switch: {{{DB}}}
| DEPATIS =US5373322 | WIPO = US5373322 | Google = US5373322 | #default =US5373322 }}}}{{#if:Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradientsClaude A. Laroche, Mark A. Prescott|:|.}}{{#if:Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradients| Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradients.}}{{#if:| Angemeldet am {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}{{#if:Claude A. Laroche, Mark A. Prescott|,}}}}{{#if:|{{#if:| veröffentlicht am | Veröffentlicht am }}{{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}{{#if:Claude A. Laroche, Mark A. Prescott|,}}}}{{#if:| Anmelder: {{{Anmelder}}}{{#if:Claude A. Laroche, Mark A. Prescott|,}}}}{{#if:Claude A. Laroche, Mark A. Prescott| Erfinder: Claude A. Laroche, Mark A. Prescott}}{{#if:| ({{{Kommentar}}})}}{{#if:Claude A. Laroche, Mark A. Prescott|.}}}}{{#invoke:TemplatePar|match |template= Vorlage:Patent |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Patent}} |format= |preview=@@@ |1=Land= ABC+ |2=V-Nr= /^[0-9A-Z]+$/ |3=Titel= * |4=Erfinder= * |5=Anmelder= * |6=A-Datum= * |7=V-Datum= * |8=Typ= ASCII |9=Code= ASCII |10=Kommentar= * |11=KeinLink= ASCII |12=DB=ASCII }}</ref>
- Mustererabgleich und -erkennung: Techniken wie Pattern Matching oder Mustererkennung werden verwendet, um die fehlenden Farbwerte zu rekonstruieren.<ref>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</ref>
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.
| Datei:Shades framed bayer.png | ||
| Beispielbild eines Bayer-Sensors | ||
| Datei:Shades bayer r.png | Datei:Shades bayer g.png | Datei:Shades bayer b.png |
| Rotanteil des Beispielbilds | Grünanteil des Beispielbilds | Blauanteil des Beispielbilds |
| Datei:Shades framed aa.jpg | Datei:Shades framed dc.jpg | |
| 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
<references />
- Seiten mit defekten Dateilinks
- Wikipedia:Vorlagenfehler/Parameter:ISSN
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Archiv-URL
- Wikipedia:Vorlagenfehler/Parameter:URL
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Linktext fehlt
- Algorithmus (Computergrafik)
- Digitalfotografie