-
Die Erfindung betrifft ein Verfahren zur Interpolation fehlender Farbinformationen von Bildelementen, wie dies gattungsgemäß aus der
US 7 825 965 B2 bekannt ist.
-
In vielen digitalen Kameras wird ein "Color Filter Array" (CFA, Farbfilterarray) für die Bildaufnahme verwendet. Dieses hat die wesentliche Eigenschaft, dass jedes Bildelement (Pixel) einer matrixförmigen Anordnung von Bildsensoren in einem Bildsensorarray für einen speziellen Wellenlängenbereich empfindlich ist. Im Allgemeinen werden drei Frequenzbänder verwendet, je eines für die Wellenlängen von Rot, Blau und Grün. Um einen Farbeindruck des Pixels für das beim Menschen vorliegende trichromatische Sehen zu erzeugen, müssen Signale aller drei Farbkanäle vorhanden sein. Die nun jedem Bildelement fehlenden zwei weiteren Farbinformationen werden aus den Farbwerten der Umgebung des betreffenden Bildelements interpoliert. Die gebräuchlichste Anordnung von Filterelementen eines CFA ist das sogenannte Bayer-Muster, durch das eine sogenannte Bayer-Maske gebildet ist. In diesem Bayer-Muster wiederholt sich eine 2×2-Maske aus insgesamt vier Filterelementen über das gesamte Bildsensorarray. Dabei liegen sich Filterelemente für Rot und Blau diagonal gegenüber, die restlichen zwei sind Filterelemente für Grün. Filterelemente für Rot lassen im Wesentlichen Licht des Wellenlängenbereichs von rotem Licht durch, Filterelemente für Grün beziehungsweise Blau entsprechend für Licht des Wellenlängenbereichs von grünem beziehungsweise blauem Licht.
-
Auf Grund der weiten Verbreitung der Bayer-Maske in Digitalkameras gibt es eine Vielzahl von Interpolationsverfahren zum Bestimmen von drei Farbwerten für jedes Bildelement. Die bestehenden Verfahren führen die Interpolation entweder kantenrichtungsabhängig oder kantenrichtungsunabhängig durch. Fast alle Verfahren nutzen die höhere Empfindlichkeit des Grünkanals (Bildsensoren, denen ein grünes Filterelement vorgeordnet ist) aus und interpolieren erst den Grünkanal und danach die anderen beiden Farbkanäle. Übersichten über die Interpolationsverfahren finden sich z. B. in der vorgenannten
US 7 825 965 B2 und in
Gunturk, B. K. et al.: „Color Plane Interpolation Using Alternating Processing", IEEE Transactions on Image Processing, Vol II, No 9: 997–1013, Sept. 2002.
-
Bei der Interpolation können, bedingt durch die Geometrie der Bayer-Maske, unterschiedliche Artefakte auftreten. Die bekanntesten sind:
- 1. Zipper-Artefakte: glatte Kanten werden treppenförmig dargestellt,
- 2. Brick-Artefakte: hochfrequente Strukturen erhalten das Aussehen einer Ziegelwand, da feine Strukturen zufällig miteinander verbunden werden,
- 3. bunte Kanten und
- 4. bunte Pixel.
-
Eine Vielzahl der Artefakte steht im engen Zusammenhang mit der erreichten Auflösung im Bild. In der Regel gilt: je feiner (besser) die Auflösung, umso größer ist die Artefaktanzahl und ihre Ausprägung. Oftmals werden dabei Kanteninformationen gesammelt, wie dies beispielsweise in der
US 5 652 621 A offenbart ist. Zur Reduktion der Farbartefakte werden oftmals Farbdifferenzen wie beispielsweise {Rot – Grün; Blau – Grün} oder Farbquotienten {Rot/Grün; Blau/Grün} ermittelt und geglättet.
-
In einigen Verfahren werden unterschiedliche Interpolationsmethoden miteinander kombiniert oder es wird mehrmals über das Bild iteriert (Gunturk et al., 2002). In Gunturk et al. (2002) wird das Bild in Frequenzbänder für die einzelnen Farbkanäle zerlegt und die hochfrequenten Farbkanäle werden miteinander korreliert.
-
Bei fast allen besseren Interpolationsverfahren werden Kantenrichtungsinformationen verwendet, um die Artefakte an Kanten abzumildern und um scharfe Kantenbilder zu erreichen.
-
Um die Interpolation fehlender Farbinformationen durchzuführen, sind aus dem Stand der Technik Verfahren, beispielsweise die Schachbrettinterpolation, bekannt.
-
In der vorgenannten
US 7 825 965 B2 wird ein Verfahren zur Interpolation fehlender Farbinformationen eines von einem Farbfilterarray in Form einer Bayer-Maske überdeckten Bildsensorarrays beschrieben. Basierend auf Informationen zu lokalen Kantenverläufen werden für rote und blaue Filterelemente und diesen zugeordneten roten bzw. blauen Bildelementen Richtungen festgelegt. Für jedes rote bzw. blaue Bildelement wird in einer jeweiligen Richtung ein Grünwert interpoliert. Für jedes grüne Bildelement werden rote und blaue Farbwerte in einer jeweiligen Richtung interpoliert und für jedes blaue Bildelement wird ein roter Farbwert in einer jeweiligen Richtung interpoliert.
-
Für diesen Zweck wird ein Schachbrettfilter verwendet, wie dieses zum Beispiel schon in der
WO 2006/076227 A1 zum Berechnen eines gemittelten Grünkanals offenbart ist. Das Schachbrettfilter ist das aus der Literatur bekannte digitale Gauß-Glättungsfilter.
-
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Interpolation fehlender Farbinformationen von Bildelementen eines von einem Farbfilterarray in Form einer Bayer-Maske überdeckten Bildsensorarrays vorzuschlagen, bei dessen Durchführung die aus dem Stand der Technik bekannten Nachteile reduziert werden.
-
Die Aufgabe wird durch den Gegenstand des unabhängigen Anspruchs gelöst und durch die auf diese rückbezogenen Unteransprüche vorteilhaft ausgestaltet.
-
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen und Abbildungen näher erläutert. Die Ausführungsbeispiele sowie aufgezeigte alternative Lösungen sind miteinander frei kombinierbar.
-
Hierzu zeigen:
-
1 eine schematische Darstellung eines Ausführungsbeispiels eines Bildsensorarrays mit einer Bayer-Maske,
-
2 Erläuterungen zu Begriffen und Algorithmen,
-
3 ein Ablaufschema eines erfindungsgemäßen Verfahrens,
-
4a ein erster Teil des Ablaufschemas der erfindungsgemäßen Schachbrettinterpolation,
-
4b der zweite Teil des Ablaufschemas der erfindungsgemäßen Schachbrettinterpolation
-
5 ein Ablaufschema einer Farbglättung eines {Rm-Bm}-Bildes und
-
6 ein Schema der Entsättigung hochfrequenter Strukturen.
-
In 1 ist vereinfacht und beispielhaft ein Bildsensorarray 1 gezeigt, das aus Bildsensoren 2 gebildet ist, die in i = 5 Zeilen und j = 5 Spalten angeordnet sind. Durch jeden Bildsensor 2 ist ein Bildelement 3 (Pixel) gegeben. Das Bildsensorarray 1 ist von einem CFA in Form einer Bayer-Maske 4 überdeckt. Die Bayer-Maske 4 ist dem Bildsensorarray 1 optisch vorgeordnet, d. h. auf das Bildsensorarray 1 trifft nur Strahlung auf, die vorher die Bayer-Maske 4 durchdrungen hat. Die Bayer-Maske 4 besteht aus ebenfalls in i Zeilen und j Spalten mit grünen Filterelementen G alternierend angeordneten roten Filterelementen R bzw. blauen Filterelementen B. Die Filterelemente R, G und B überdecken jeweils genau einen Bildsensor 2. Die Filterelemente R, G und B sowie die Bildsensoren 2 können durch die Indizes i und j individualisiert und beispielsweise als Ri,j, Gi,j beziehungsweise Bi,j eindeutig identifiziert werden.
-
Bildelemente 3, denen ein grünes Filterelement G vorgeordnet ist, werden nachfolgend auch als grüne Bildelemente 3G bezeichnet. Entsprechendes gilt für Bildelemente 3, denen ein rotes Filterelement R (= rotes Bildelement 3R) beziehungsweise ein blaues Filterelement B (= blaues Bildelement 3B) vorgeordnet ist.
-
Bildelemente 3 (Pixel) sind die kleinsten Elemente, aus denen ein Bild zusammengesetzt ist. Bei der Verwendung von Bildsensorarrays 1 ist in der Regel durch jeden einzelnen Bildsensor 2 ein Bildelement 3 in Form von Bilddaten (Daten) erfasst. Die Daten sind Grauwerte (Intensitätswerte) eines gegebenen Spektralbereichs (rot, grün bzw. blau).
-
Mittels Verfahren der sogenannten Schachbrettinterpolation können fehlende Farbwerte eines bestimmten Bildelements
3 (zu interpolierendes Bildelement
3) anhand der Farbwerte von Bildelementen
3 in einer Umgebung um das zu interpolierende Bildelement
3 geschätzt werden. Zu diesem Zweck werden Interpolationsalgorithmen auf die Farbwerte der Bildelemente
3 der Umgebung angewendet. Algorithmen solcher Schachbrettinterpolationen sind im Stand der Technik beschrieben und beispielsweise aus der vorgenannten
US 7 825 965 B2 und
Gunturk et al.: „Color Plane Interpolation Using Alternating Processing", IEEE Transactions on Image Processing, Vol II, No 9: 997–1013, Sept. 2002 bekannt.
-
Unter einem Schachbrettfilter wird ein Filter bzw. ein Filteralgorithmus verstanden, durch den ein Median von Werten, beispielsweise von Grünwerten, in einer Umgebung eines zu filternden Bildelements
3 ermittelt werden kann. Beispielsweise ist ein solches Verfahren in der vorgenannten
WO 2006/076227 A1 beschrieben und stellt einen als Medianfilter bzw. Gauß-Glättungsfilter bezeichneten Filter bzw. Filteralgorithmus dar. In
2, erste Teilabbildung, sind beispielhaft zwei mögliche 3×3-Umgebungen gezeigt. Die grünen Bildelemente
3G sind schraffiert dargestellt. In der links gezeigten 3×3-Umgebung ist ein mittleres grünes Bildelement
3G, das durch die Indizes i und j auch als
3G 3,3 bezeichnet werden kann, vorhanden, an das diagonal angrenzend vier weitere grüne Bildelemente
3G vorhanden sind. Ein erfasster Grauwert des mittleren grünen Bildelements
3G 3,3 wird mit dem Faktor 4 multipliziert, während erfasste Grauwerte der anderen vier grünen Bildelemente
3G mit dem Faktor 1 multipliziert werden. Den Faktoren, die in der Summe acht ergeben, wird durch den Quotienten
8 Rechnung getragen. Eine zweite 3×3-Umgebung ist auf der rechten Seite der ersten Teilabbildung dargestellt. In der i = 2ten Zeile und in der j = 2ten Spalte sind alternierend je zwei grüne Bildelemente
3G angeordnet. Erfasste Grauwerte der horizontal in der i = 2ten Zeile gezeigten grünen Bildelemente
3G, die auch als
3G 2,1 und
3G 2,3 individualisiert werden können, werden ebenso mit einem Faktor 1 multipliziert, wie erfasste Grauwerte der vertikal in der j = 2ten Spalte angeordneten grünen Bildelemente
3G, die auch als
3G 1,2 und
3G 3,2 individualisiert werden können. Den Faktoren, die in der Summe vier ergeben, wird durch den Quotienten
4 Rechnung getragen.
-
Unter einem Schachbrettdifferenzfilter wird ein Filter verstanden, mittels dem zum Beispiel Differenzen von Datenarrays roter Bildelemente {3R} und blauer Bildelemente {3B} berechnet werden. Solche Datenarrays roter Bildelemente {3R} und blauer Bildelemente {3B} können beispielsweise Datenarrays gemittelter Rotwerte {Rm} beziehungsweise Datenarrays gemittelter Blauwerte {Bm} sein. Wie in 2 in der zweiten Teilabbildung links schematisch gezeigt, können in einer 3×3-Umgebung beispielsweise als mittleres Bildelement 3 ein rotes Bildelement 3R und an dieses diagonal angrenzend vier blaue Bildelemente 3B vorhanden sein. Ein erfasster Grauwert des einen roten Bildelements 3R wird mit einem Faktor 4 multipliziert, während die jeweils erfassten Grauwerte der blauen Bildelemente 3B jeweils mit dem Faktor –1 multipliziert werden. Statt des einen roten Bildelements 3R kann in einer anderen 3×3-Umgebung natürlich ein blaues Bildelement 3B mit dem Faktor 4 und vier rote Bildelemente 3R mit dem Faktor –1 versehen werden.
-
In einer zweiten Möglichkeit einer 3×3-Umgebung ist das mittlere Bildelement 3 ein grünes Bildelement 3G, wie dies in der zweiten Teilabbildung rechts gezeigt ist. Zur Erläuterung sollen vertikal blaue Bildelemente 3B und horizontal rote Bildelemente 3R an das mittlere Bildelement 3 angrenzen. Den roten Bildelementen 3R wird der Faktor 1 und den blauen Bildelementen 3B der Faktor –1 zugeordnet.
-
Ein Differenzfarbbild wird erzeugt, indem die Differenzen zwischen Bildelementen 3 zweier Bilder (Datenarrays) gebildet werden. Dabei ist es möglich, die Differenz gemäß der allgemeinen Formel Ci,j = Ai,j – Di,j + GWmax zu berechnen (2). Ai,j sind die Werte des jeweiligen Bildelements 3 der i-ten Zeile und j-ten Spalte, beispielsweise des Bayer-Maskenbilds BM, und Di,j sind die Werte des jeweiligen Bildelements 3 der i-ten Zeile und j-ten Spalte der Bilddaten, beispielsweise des gemittelten Bayer-Maskenbildes BMm. Durch die Addition eines aufgefundenen maximalen Grauwerts GWmax zu der berechneten Differenz Ai,j – Di,j wird sichergestellt, dass der Wert Ci,j immer positiv ist. Der maximale Grauwert GWmax ist bei der Digitalisierung in Abhängigkeit von der Bitauflösung durch einen maximal möglichen Grauwert bestimmt. Vorzugsweise wird der größte bei einer Aufnahme erfasste Grauwert als maximaler Grauwert GWmax verwendet.
-
In einer weiteren Möglichkeit zur Erzeugung eines Differenzfarbbildes können auch nur die absoluten Differenzen gemäß der allgemeinen Formel Ci,j = Ai,j – Di,j ermittelt werden (2), was im Folgenden durch die Verwendung des Index a gekennzeichnet wird. Die Bedeutung der Variablen Ai,j, Di,j und Ci,j ist sinnentsprechend, wie oben erläutert, zu verstehen.
-
Eine 3×3-Umgebung eines Bildelements 3 beschreibt neun in drei aufeinanderfolgenden Zeilen i und drei aufeinanderfolgenden Spalten j angeordnete Bildelemente 3 inklusive desjenigen Bildelements 3, für das die 3×3-Umgebung angegeben ist. In 1 ist beispielhaft eine 3×3-Umgebung für das rote Bildelement 3R 3,3 durch die Strichlinie umrissen. In 2 sind für die Erläuterung der Begriffe Schachbrettfilter und Schachbrettdifferenzfilter jeweils zwei 3×3-Umgebungen gezeigt.
-
Als Bayer-Maskenextraktion wird eine virtuell erfolgende Projektion eines erfassten Bayer-Maskenbilds BM auf das Bildsensorarray 1 verstanden. So kann ein gemitteltes Bayer-Maskenbild BMm erzeugt werden, indem ein gemitteltes Farbbild {Rm, Gm, Bm}n virtuell erneut durch die Bayer-Maske 4 auf das Bildsensorarray 1 projiziert wird (Bayer-Maskenextraktion). Es werden dann den Bildsensoren 2 zugeordnete virtuelle Bilddaten als das gemittelte Bayer-Maskenbild BMm erfasst.
-
In der letzten Teilabbildung der 2 ist schematisch gezeigt, dass aus jedem RGB-Farbtripel eines Bildelements 3 (Pixel) im RGB-Bild (Bayer-Maskenbild BM) eine Farbe entsprechend der Bayer-Maskenlage extrahiert, beispielsweise erneut virtuell durch die Bayer-Maske 4 auf das Bildsensorarray 1 projiziert, und in das gemittelte Bayer-Maskenbild BMm geschrieben wird.
-
Anhand des Ablaufschemas in 3 wird in einem Verfahren zur Interpolation fehlender Farbinformationen von Bildelementen 3 eines von einem Farbfilterarray in Form einer Bayer-Maske 4 überdeckten Bildsensorarrays 1 beschriebenen
-
In einem Schritt A werden Bilddaten erfasst, die jeweils einem Bildsensor 2 zugeordnet sind und durch diesen bereitgestellt werden. Durch die den Bildsensoren 2 zugeordneten Bilddaten ist ein Bayer-Maskenbild BM gegeben. Das Bayer-Maskenbild BM ist ein Datenarray.
-
Unter einem Datenarray wird jegliche Anordnung oder Schreibvariante verstanden, durch die Bilddaten in einer nachvollziehbaren und für eine nachfolgende rechentechnische Bearbeitung geeigneten Form dargestellt und gespeichert werden können. So sind beispielsweise durch ein Datenarray gemittelter Grünwerte {Gm} die mittleren Grünwerte eines Bildes dargestellt. Diese mittleren Grünwerte {Gm} können in nachfolgenden Schritten wieder eindeutig zur Bestimmung von Farbwerten einzelner Bildelemente 3, beispielsweise im Rahmen des Demosaicing (auch: Demosaiking), verwendet werden. Entsprechendes gilt für Datenarrays gemittelter Rotwerte {Rm} und gemittelter Blauwerte {Bm}. Die Spezifizierungen der Datenarrays sind in dieser Beschreibung aus Gründen der Unterscheidbarkeit auch in geschweiften Klammern angegeben.
-
In einem Schritt B wird ein gemitteltes Farbbild {Rm, Gm, Bm}n mittels einer erfindungsgemäßen Schachbrettinterpolation, die weiter unten im Zusammenhang mit 4a und 4b näher beschrieben ist, erstellt.
-
In einem Schritt C wird ein gemitteltes Bayer-Maskenbild BMm erzeugt, indem das in Schritt B erstellte gemittelte Farbbild {Rm, Gm, Bm}n virtuell erneut durch die Bayer-Maske 4 auf das Bildsensorarray 1 projiziert wird (Bayer-Maskenextraktion). Es werden dann den Bildsensoren 2 zugeordnete virtuelle Bilddaten als das gemittelte Bayer-Maskenbild BMm erfasst.
-
In einem Schritt D werden jeweils Differenzen zwischen erfassten Daten jedes Bildsensors 2 des Bayer-Maskenbildes BM und des gemittelten Bayer-Maskenbildes BMm gebildet. Aus den in einem Datenarray angeordneten Differenzen ist ein Bayer-Maskendifferenzbild dBM erzeugt. Dabei werden die Differenzen gemäß der allgemeinen Formel Ci,j = Ai,j – Di,j + GWmax berechnet, wobei die Differenzen des Bayer-Maskendifferenzbildes dBM durch Ci,j gegeben sind.
-
Durch die Addition eines aufgefundenen maximalen Grauwerts GWmax zu der berechneten Differenz Ai,j – Di,j wird sichergestellt, dass der Wert Ci,j immer positiv ist (mit „Bilddifferenz verschoben“ bezeichnet).
-
In einem Schritt E wird ein Differenzfarbbild {dRm, dGm, dBm} erzeugt, indem das in Schritt D erzeugte Bayer-Maskendifferenzbild dBM einer Schachbrettinterpolation unterzogen wird. Die Schachbrettinterpolation läuft ab, wie sie nachfolgend zu 4a und 4b beschrieben ist.
-
In Schritt F wird ein neues gemitteltes Farbbild {Rm, Gm, Bm}n+1 erzeugt, indem das gemittelte Farbbild {Rm, Gm, Bm} zu dem Differenzfarbbild {dRm, dGm, dBm} unter Abzug des maximalen Grauwertes (Gwmax) addiert wird.
-
Ein Schritt G betrifft eine Wiederholung der Schritte C bis F solange, bis ein Abbruchkriterium erreicht ist, wobei das in Schritt F erzeugte neue gemittelte Farbbild {Rm, Gm, Bm}n+1 als gemitteltes Farbbild {Rm, Gm, Bm}n in Schritt C verwendet wird.
-
Durch die Schritte C bis F sowie die Wiederholungen gemäß dem Schritt G ist ein Verfahren mit einem zweiten Interpolationsschritt vorgeschlagen. Dieses erfindungsgemäße Verfahren weist eine geringe Artefaktanzahl auf, die von der verwendeten Schachbrettinterpolation herrührt. Die Auflösung im neuen gemittelten Farbbild {Rm, Gm, Bm}n+1 wird durch den zweiten Interpolationsschritt in Schritt E vor allem an Kanten stark verbessert. Die wiederholte, iterative Anwendung des zweiten Interpolationsschrittes verbessert die Auflösung weiter.
-
Als Abbruchkriterium kann eine vorbestimmte Anzahl von Wiederholungen der Schritte C bis F genutzt werden. Es ist auch möglich, dass als Abbruchkriterium das Erreichen eines Schwellwertes einer Funktion, mit der die Veränderung eines neuen gemittelten Farbbilds {Rm, Gm, Bm}n+1 gegenüber dem vorhergehenden gemittelten Farbbild {Rm, Gm, Bm}n beschrieben ist, genutzt wird. So kann der Schwellwert eine minimal zulässige Veränderung sein. Würden weitere Wiederholungen der Schritte C bis F zu Veränderungen eines neuen gemittelten Farbbilds {Rm, Gm, Bm}n+1 gegenüber dem vorhergehenden gemittelten Farbbild {Rm, Gm, Bm}n führen, würden also die Differenzen von Wiederholung zu Wiederholung sehr gering ausfallen, erlaubt ein Abbruch der Wiederholung gemäß Schritt G die Vermeidung unnötigen Rechenaufwands, durch den zusätzliche Zeit beansprucht und Rechenkapazitäten belegt werden würden. Die Nutzung eines Schwellwerts einer Funktion erlaubt es vorteilhaft, ein individuelles Abbruchkriterium zu schaffen, durch das verschiedenen Entwicklungen eines Verlaufs der Funktion über die Iterationsschritte (Wiederholungen) flexibel Rechnung getragen werden kann.
-
Es ist weiterhin möglich, dass als Abbruchkriterium eine Kombination von vorbestimmter Anzahl von Wiederholungen und Erreichen eines Schwellwerts der Funktion verwendet wird. Durch eine solche Kombination ist es beispielsweise vermeidbar, dass sehr viele bis unendlich viele Wiederholungen der Schritte C bis F durchgeführt werden, falls sich die Funktion nur sehr langsam dem Schwellwert annähert oder diesen überhaupt nicht erreicht. In einem solchen Fall würde der Schritt G nach Erreichen der Anzahl beendet werden. Wird dagegen der Schwellwert vor dem Erreichen der vorbestimmten Anzahl erreicht, wird der Schritt G aufgrund des Erreichens des Schwellwerts abgebrochen.
-
In einer Ausgestaltung des Verfahrens kann nach dem Schritt A ein Schritt Aa (nicht gezeigt) eingefügt sein, in dem ein sogenannter Weißabgleich durchgeführt wird. Im Ergebnis eines Weißabgleichs sind Bildelementen 3, die Weiß oder Neutralgrau als Farbdaten besitzen, jeweils gleiche RGB-Werte zugeordnet. Die Verfahren des Weißabgleichs sind dem Fachmann bekannt.
-
Das hier vorgestellte Verfahren stellt ein Interpolationsverfahren dar, das vollkommen richtungsunabhängig arbeitet. Es weist im Ergebnis stark abgeschwächte Artefakte auf und erreicht eine hohe Auflösung, vor allem an den Kanten. Das Verfahren ist außerdem effizient in Hardware oder Software implementierbar und erlaubt eine schnelle Interpolation eines Bayer-Maskenbildes BM.
-
Nachfolgend wird anhand der 4a und 4b die Schachbrettinterpolation näher erläutert. Insbesondere kann die erfindungsgemäße Schachbrettinterpolation, wie bereits oben erwähnt, in einem Interpolationsverfahren, gemäß 3, verwendet werden. Das Verfahren zur Schachbrettinterpolation ist ein Verfahren zur Schachbrettinterpolation fehlender Farbinformationen von Bildelementen 3 in einer 3×3-Umgebung eines von einem Farbfilterarray in Form einer Bayermaske 4 überdeckten Bildsensorarrays 1 und weist die nachfolgenden Schritte auf. Das Verfahren zur Schachbrettinterpolation wird in 4a und 4b vereinfachend als Ablaufschema dargestellt.
-
In einem ersten Schritt IP1 erfolgt ein Bereitstellen eines aus den jeweiligen Bildsensoren 2 zugeordneten Bilddaten gebildeten Bayer-Maskenbildes BM.
-
In einem zweiten Schritt IP2 wird ein Datenarray gemittelter Rot- plus Blauwerte {RpBm} durch Anwenden eines Schachbrettfilters auf das Bayer-Maskenbild BM erzeugt.
-
In einem dritten Schritt IP3 erfolgt das Bilden jeweils von Differenzen zwischen erfassten Daten jedes Bildsensors 2 des Bayer-Maskenbildes BM und des Datenarrays gemittelter Rot- plus Blauwerte {RpBm}. Außerdem wird ein Bayer-Masken-Rot- plus Blauwert-Differenzfarbbild dBM_RpBm erzeugt, wobei ein aufgefundener maximaler Grauwert GWmax ermittelt und zu den Differenzen addiert wird. Die Bildung der Differenzen erfolgt wieder nach der allgemeinen Formel Ci,j = Ai,j – Di,j + GWmax (mit „Bilddifferenz verschoben“ bezeichnet), wie dies bereits oben erläutert wurde.
-
In einem vierten Schritt IP4 wird ein Datenarray {X} erzeugt, indem ein Schachbrettfilter auf das Bayer-Masken-Rot- plus Blauwert-Differenzfarbbild dBM_RpBm angewendet wird. Das Datenarray {X} wird abgespeichert.
-
In einem fünften Schritt IP5 erfolgt das Erzeugen eines Datenarrays {Y} durch Anwenden eines Schachbrettdifferenzfilters auf das Bayer-Masken-Rot- plus Blauwert-Differenzfarbbild dBM_RpBm und Abspeichern des Datenarrays {Y}.
-
In einem sechsten Schritt IP6 wird ein Datenarray {2HGm – 2RpBm + 2GWmax} erzeugt, indem das Doppelte des Datenarrays {X} (= 2{X}) und das Datenarray {Y} addiert und davon der maximale Grauwert GWmax subtrahiert wird.
-
In einem siebenten Schritt IP7 wird ein Datenarray {2DGm – 2RpBm + 2GWmax} erzeugt, indem das Datenarray {Y} von dem Doppelten des Datenarrays {X} (= 2{X}) subtrahiert und dazu der maximale Grauwert GWmax addiert wird.
-
In einem achten Schritt IP8 wird ein Datenarray {2HGm} berechnet, indem zu dem Datenarray {2HGm – 2RpBm + 2GWmax} zweimal das Datenarray gemittelter Rot- plus Blauwerte {RpBm} addiert und zweimal der maximale Grauwert GWmax subtrahiert wird.
-
In einem neunten Schritt IP9 wird ein Datenarray {2DGm} berechnet, indem zu dem Datenarray {2DGm – 2RpBm + 2GWmax} zweimal das Datenarray gemittelter Rot- plus Blauwerte {RpBm} addiert und zweimal der maximale Grauwert GWmax subtrahiert wird.
-
In einem zehnten Schritt IP10 wird ein gemittelter Grünwert {Gm} aus den Datenarrays {2HGm} und {2DGm} erzeugt.
-
In einem elften Schritt IP11 erfolgt das Bilden jeweils von Differenzen zwischen erfassten Daten jedes Bildsensors 2 des Bayer-Maskenbildes BM und des Datenarrays gemittelter Grünwerte {Gm}. Außerdem wird ein Bayer-Masken-Grünwert-Differenzfarbbild dBM_Gm erzeugt, wobei ein aufgefundener maximaler Grauwert GWmax ermittelt und zu den Differenzen addiert wird. Die Bildung der Differenzen erfolgt wieder nach der allgemeinen Formel Ci,j = Ai,j – Di,j + GWmax (mit „Bilddifferenz verschoben“ bezeichnet), wie dies bereits oben erläutert wurde.
-
In einem zwölften Schritt IP12 wird ein Datenarray {X} erzeugt, indem ein Schachbrettfilter auf das Bayer-Masken-Grünwert-Differenzfarbbild dBM_Gm angewendet wird. Das Datenarray {X} wird abgespeichert.
-
In einem dreizehnten Schritt IP13 erfolgt das Erzeugen eines Datenarrays {Y} durch Anwenden eines Schachbrettdifferenzfilters auf das Bayer-Masken-Grünwert-Differenzfarbbild dBM_Gm und Abspeichern des Datenarrays {Y}.
-
In einem vierzehnten Schritt IP14 wird ein Datenarray {2Rm – 2Gm + 2GWmax} erzeugt, indem das Doppelte des Datenarrays {X} (= 2{X}) und das Datenarray {Y} addiert und davon der maximale Grauwert GWmax subtrahiert wird.
-
In einem fünfzehnten Schritt IP15 wird ein Datenarray {2Bm – 2Gm + 2GWmax} erzeugt, indem das Datenarray {Y} von dem Doppelten des Datenarrays {X} (= 2{X}) subtrahiert und dazu der maximale Grauwert GWmax addiert wird.
-
In einem sechzehnten Schritt IP16 wird ein Datenarray {2Rm} berechnet, indem zu dem Datenarray {2Rm – 2Gm + 2GWmax} zweimal das Datenarray gemittelter Grünwerte {Gm} addiert und zweimal der maximale Grauwert GWmax subtrahiert wird.
-
In einem siebzehnten Schritt IP17 wird ein Datenarray {2Bm} berechnet, indem zu dem Datenarray {2Bm – 2Gm + 2GWmax} zweimal das Datenarray gemittelter Grünwerte {Gm} addiert und zweimal der maximale Grauwert GWmax subtrahiert wird.
-
In einem achtzehnten Schritt IP18 wird ein gemitteltes Farbbild {Rm, Bm, Gm} aus den Datenarrays {2Rm}, {2Bm} und {2Gm} erzeugt.
-
Die einfache Schachbrettinterpolation kann noch durch zwei Modifikationen dahingehend verbessert werden, dass Farbartefakte stärker unterdrückt werden. Dies wird zum einen durch eine Farbglättung des {Rm-Bm}-Bildes (Datenarray {Y}) und zum anderen durch eine Entsättigung hochfrequenter Strukturen erreicht. Hochfrequente Strukturen sind beispielsweise durch steile Kanten bewirkt.
-
In einer in 5 schematisch gezeigten Ausgestaltung des Schachbrettinterpolationsverfahrens wird in dem dreizehnten Schritt IP13 statt des Datenarrays {Y} ein Datenarray {Y_} erzeugt und abgespeichert, indem ein Schachbrettdifferenzfilter auf das Bayer-Masken-Grünwert-Differenzfarbbild dBM_Gm angewendet wird. Außerdem wird in einem zusätzlichen Schritt IP13a nach dem dreizehnten Schritt IP13 das Datenarray {Y} durch Anwenden eines Schachbrettfilters auf das Datenarray {Y_} erzeugt. Diese Ausgestaltung führt zu einer Farbglättung des {Rm-Bm}-Bildes.
-
Eine weitere Ausgestaltung des Schachbrettinterpolationsverfahrens ist in 6 schematisch dargestellt. In einem zusätzlichen Schritt IP11a, der nach dem Schritt IP11 ausgeführt wird, wird ein absolutes Bayer-Masken-Grünwert-Differenzfarbbild dBM_Ga erzeugt, wobei absolute Differenzen zwischen dem Bayer-Maskenbild BM und dem Datenarray gemittelter Grünwerte {Gm} ermittelt werden. In einem zusätzlichen Schritt IP11b wird nach dem Schritt IP11a ein Datenarray {GmG} erzeugt, indem ein Schachbrettfilter auf das absolute Bayer-Masken-Grünwert-Differenzfarbbild dBM_Ga angewendet wird. Das Datenarray {GmG} gibt die Interpolationsabweichungen des Grünbilds {Gm} (Datenarray gemittelter Grünwerte {Gm}; Grünabgleich) wieder („Grün minus Grün“). In dem sechzehnten Schritt IP16 wird das Datenarray {2Rm} berechnet, indem zu dem Datenarray {2Rm – 2Gm + 2GWmax} zweimal das Datenarray gemittelter Grünwerte {Gm} addiert, zweimal der maximale Grauwert GWmax subtrahiert und zweimal das Datenarray {GmG} addiert / subtrahiert wird. Durch die Addition bzw. Subtraktion werden die absoluten Farbdifferenzen (Rot – Grün, Blau – Grün) reduziert. Die Addition oder Subtraktion führt immer zu einer Verringerung der absoluten Farbdifferenz.
-
In dem siebzehnten Schritt IP17 wird das Datenarray {2Bm} berechnet, indem zu dem Datenarray {2Bm – 2Gm + 2GWmax} zweimal das Datenarray gemittelter Grünwerte {Gm} addiert, zweimal der maximale Grauwert GWmax subtrahiert und zweimal das Datenarray {GmG} addiert / subtrahiert wird. Diese Ausgestaltung stellt eine Entsättigung hochfrequenter Strukturen dar. Dabei werden Kanten grauer, da die Farbdifferenzen Rot – Grün (Rm – Gm) und Blau – Grün (Bm – Gm) absolut kleiner werden.
-
Zur Entsättigung wird der absolute Interpolationsfehler im Grün gemittelt und die Differenzen (Rm – Gm) und (Bm – Gm) werden um diesen Betrag verringert. Die Entsättigung hat als Voraussetzung ein weiß abgeglichenes Bild.
-
Bezugszeichenliste
-
- 1
- Bildsensorarray
- 2
- Bildsensor
- 3
- Bildelement
- 4
- Bayer-Maske
- BM
- Bayer-Maskenbild
- BMm
- gemitteltes Bayer-Maskenbild
- R
- rotes Filterelement
- B
- blaues Filterelement
- G
- grünes Filterelement
- 3R
- rotes Bildelement
- 3B
- blaues Bildelement
- 3G
- grünes Bildelement
- GWmax
- maximaler Grauwert
- {X}
- Datenarray
- {Y}
- Datenarray
- {Y_}
- Datenarray
- {GmG}
- Datenarray (Grünabgleich)
- {Rm}
- Datenarray (gemittelter Rotwerte)
- {Bm}
- Datenarray (gemittelter Blauwerte)
- {HGm}
- Datenarray (gemittelter Hellgrünwerte in der Rotzeile)
- {DGm}
- Datenarray (gemittelter Dunkelgrünwerte in der Blauzeile)
- {Gm}
- Datenarray (gemittelter Grünwerte)
- {RpBm}
- Datenarray (gemittelter Rot- + Blauwerte)
- {Ga}
- Datenarray (absolute Grünwertdifferenzen)
- dBM
- Bayer-Maskendifferenzbild
- dBM_Ga
- absolutes Bayer-Masken-Grünwert-Differenzfarbbild
- dBM_Gm
- Bayer-Masken-Grünwert-Differenzfarbbild
- dBM_RpBm
- Bayer-Masken-Rot- + Blauwert-Differenzfarbbild
- i
- Zeile
- j
- Spalte
- {Rm, Gm, Bm}n
- gemitteltes Farbbild
- {Rm, Gm, Bm}n+1
- neues gemitteltes Farbbild
- {dRm, dGm, dBm}
- Differenzfarbbild
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 7825965 B2 [0001, 0003, 0009, 0025]
- US 5652621 A [0005]
- WO 2006/076227 A1 [0010, 0026]
-
Zitierte Nicht-Patentliteratur
-
- Gunturk, B. K. et al.: „Color Plane Interpolation Using Alternating Processing", IEEE Transactions on Image Processing, Vol II, No 9: 997–1013, Sept. 2002 [0003]
- Gunturk et al., 2002 [0006]
- Gunturk et al.: „Color Plane Interpolation Using Alternating Processing", IEEE Transactions on Image Processing, Vol II, No 9: 997–1013, Sept. 2002 [0025]