-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft ein Verfahren zur Interpolation von Farbwerten an Bildpunkten eines Bildsensors.
-
STAND DER TECHNIK
-
Digitale Farb-Kameras weisen zumeist einen einzigen Flächensensor (CCD- oder CMOS-Chip) auf, vor dem ein sogenanntes „Bayer”-Farbfilter (Bayer Color Filter Array, kurz: Bayer-CFA) angeordnet ist. 1 zeigt ein derartiges Bayer Color Filter Array. Vor jedem Bildpunkt (Pixel) ist ein Farbfilter einer Farbe positioniert, so dass pro Bildpunkt nur einer von den drei Farbwerten R (für „rot”), G (für „grün”), B (für „blau”) gemessen wird. Es fehlen für diesen Bildpunkt somit die Farbinformationen der anderen beiden Farbwerte; diese werden mit der sogenannten Demosaicing-Methode ermittelt. Anstelle eines RGB-Farbfilters kann auch ein CMY-Farbfilter in den Farben cyan (C), magenta (M), gelb (Y) vorgesehen sein.
-
Die Aufgabe einer Demosaicing-Methode besteht somit darin, aus den umgebenden Messwerten eines Bildpunktes die jeweils fehlenden zwei Farbwerte zu rekonstruieren. Als Ergebnis erhält man ein vollständiges Bild, bei dem an jedem Pixel alle drei Farbwerte R, G und B beziehungsweise C, M und Y vorliegen.
-
Bisher wurden schon viele Demosaicing-Methoden beschrieben, zum Beispiel in der
US 4,774,565 A , in der
US 5,629,734 A oder in der
US 7,053,908 B2 . Die dabei erzielte Bildqualität ist jedoch noch nicht sehr zufriedenstellend. Gemessen wird die Qualität der jeweiligen Demosaicing-Methode typischerweise als mittlere quadratische Abweichung gegenüber dem Originalbild im RGB-Farbraum, im HSI-Farbraum (H = Hue (Chrominanz), S = Saturation (Sättigung), I = Intensity (Intensität)), oder im YUV-Farbraum (Y = der menschlichen Wahrnehmung angepasste Intensität, U = gewichtete Farbdifferenz B – Y, V = gewichtete Farbdifferenz R – Y). Außerdem muss der menschliche Beobachter einen guten visuellen Eindruck vom Ergebnis haben (Faille, F: „Comparison of demosaicing methods for color information extraction”, Proceedings of ”Computer Vision and Graphics International Conference”, ICCVG 2004, p. 820–825, Warsaw, Poland, September 2004”. ISBN: 978-1-4020-4178-5).
-
Sehr gute Ergebnisse insbesondere bei Bildern mit ausgeprägten Kanten und Linien, das heißt bei hohen Ortsfrequenzen können mit dem von Hirakawa & Parks im Jahr 2005 (Hirakawa, K., Parks, T. W. „Adaptive homogeneity-directed demosaicing algorithm”, IEEE Transactions an Image Processing, Vol. 14, No. 3, March 2005) vorgestellten „Adaptive homogeneity-directed demosaicing algorithm” (kurz: AHD) erzielt werden.
-
Bei stark verrauschten Bildern schneidet ein relativ einfaches Verfahren, wie z. B. der „High-quality linear interpolation for demosaicing”-Algorithmus von Malvar, He & Cutler (Malvar, H. S.; He Li-Wei & Cutler, R., „High-quality linear interpolation for demosaicing of Bayer-patterned color images”, IEEE International Conference an Acoustics, Speech, and Signal Processing, 2004 (ICASSP '04), p. 485–488), besser ab, als der aufwändige „Adaptive homogeneity-directed demosaicing algorithm” von Hirakawa und Parks.
-
Darstellung des „Adaptive homogeneity-directed demosaicing algorithm” (AHD)
-
Die Darstellung erfolgt beispielhaft anhand eines RGB-Farbraums.
-
1. Schritt:
-
Interpoliere an den Rot/Blau-Pixeln (in 1 zum Beispiel R23 oder B32) zunächst die fehlenden Grünwerte, und zwar je einen für die horizontale (G_h) und die vertikale (G_v) Vorzugsrichtung mit folgendem Filterkern: |–1/4 +1/2 +1/2 +1/2 – 1/4| (in vertikaler Richtung ist der Filterkern zu transponieren), zum Beispiel: G23_h = (–R21 + 2·G22 + 2·R23 + 2·G24 – R25)/4; G23_v = (–R03 + 2·G13 + 2·R23 + 2·G33 – R43)/4;
-
Abschließend erfolgt noch eine Medianbildung in der Vorzugsrichtung: G23_h = Median(G22, G23_h, G24); G23_v = Median(G13, G23_v, G33);
-
Falls der Algorithmus auf Hardware mit starken Speicherrestriktionen (FPGAs, ASICs) implementiert werden soll, ist der 1. Schritt nur in einem 7×7 Pixel großen zentralen Bereich innerhalb eines 11×11 Pixel großen Einzugsgebiets um das aktuelle Pixel herum auszuführen.
-
2. Schritt:
-
- a) Interpoliere an den R-Pixeln (in 1 zum Beispiel R43) die fehlenden B-Werte, bzw. an den B-Pixeln (in 1 zum Beispiel B34) die fehlenden R-Werte, und zwar je einen für die horizontale (R_h, B_h) und die vertikale (R, B) Vorzugsrichtung, z. B.: R34_h = G34_h + (R23 – G23_h + R25 – G25_h + R43 – G43_h + R45 – G45_h)/4; R34_v = G34_v + (R23 – G23_v + R25 – G25_v + R43 – G43_v + R45 – G45_v)/4; B43_h = G43_h + (B32 – G32_h + B34 – B34_h + B52 – G52_h + B54 – G54_h/4; B43_v = G43_v + (B32 – G32_v + B34 – G34_v + B52 – G52_v + B54 – G54_v)/4;
- b) Interpoliere an den G-Pixeln (in 1 zum Beispiel G33) die fehlenden R/B-Werte, und zwar je einen für die horizontale (R_h, B_h) und die vertikale (R, B) Vorzugsrichtung, z. B.: R33_h = G33 + (R23 – G23_h + R43 – G43_h)/2; R33_v = G33 + (R23 – G23_v + R43 – G43_v)/2; B33_h = G33 + (B32 – G32_h + B34 – G34_h)/2; B33_v = G33 + (B32 – G32_v + B34 – G34_v)/2;
-
Falls der Algorithmus auf Hardware mit starken Speicherrestriktionen (FPGAs, ASICs) implementiert werden soll, ist der 2. Schritt nur in einem 5×5 Pixel großen zentralen Bereich innerhalb eines 11×11 Pixel großen Einzugsgebiets um das aktuelle Pixel herum auszuführen.
-
3. Schritt:
-
Umrechnung der RGB-Farbwerte über den CIE-XYZ- in den CIE-Lab-Farbraum:
-
- a) Transformation von RGB nach CIE-XYZ mit folgender Matrizenoperation: |X| |0.412453, 0.357580, 0.180423| |R|
|Y| = |0.212671, 0.715160, 0.072169|·|C|
|Z| |0.019334, 0.119193, 0.950227| |B|
- b) Transformation von CIE-XYZ nach CIE-Lab: L = 116·f(Y/Yn) – 16; a = 500·(f(X/Xn) – f(Y/Yn)); b = 200·(f(Y/Yn) – f(Z/Zn)); dabei ist der Weißpunkt bei einem planckschen Strahler bei 6500 K:
{Xn, Yn, Zn} = {0.950456, 1, 1.088754};
und
f(x) = x1/3 falls x > 0.008856,
= 7.787·x + 16/116.0 sonst;
-
4. Schritt:
-
Erstellen der Homogenitäts-Karten für die horizontale (homo_h) und die vertikale (homo_v) Vorzugsrichtung:
-
- a) Berechnung der absoluten Differenzen der L-Werte zu den jeweiligen vier Nachbarpositionen (rechts, links, oben, unten), z. B.:
horizontale Vorzugsrichtung: L44_h_r = |L45_h – L44_h|; (rechts) L44_h_l = |L43_h – L44_h|; (links) L44_h_o = |L34_h – L44_h|; (oben) L44_h_u = |L54_h – L44_h|; (unten) vertikale Vorzugsrichtung: L44_h_r = |L45_h – L44_h|; (rechts) L44_h_l = |L43_h – L44_h|; (links) L44_h_o = |L34_h – L44_h|; (oben) L44_h_u = |L54_h – L44_h|; (unten)
- b) Berechnung der absoluten Differenzen der ab-Werte zu den jeweiligen vier Nachbarpositionen (rechts, links, oben, unten), z. B.:
horizontale Vorzugsrichtung: ab44_h_r = (a45_h – a44_h)2 + (b45_h – b44_h)2; (rechts) ab44_h_l = (a43_h – a44_h)2 + (b43_h – b44_h)2; (links) ab44_h_o = (a34_h – a44_h)2 + (b34_h – b44_h)2; (oben) ab44_h_u = (a54_h – a44_h)2 + (b54_h – b44_h)2; (unten) vertikale Vorzugsrichtung: ab44_h_r = (a45_v – a44_v)2 + (b45_v – b44_v)2; (rechts) ab44_h_l = (a43_v – a44_v)2 + (b43_v – b44_v)2; (links) ab44_h_o = (a34_v – a44_v)2 + (b34_v – b44_v)2; (oben) ab44_h_u = (a54_v – a44_v)2 + (b54_v – b44_v)2, (unten)
- c) Berechnung der Grenzwerte (z. B. L44_eps, ab44_eps) als Vergleichsmaß für die Homogenität, z. B.: L44_h_max = max(L44_h_r, L44_h_l); L44_v_max = max(L44_h_o, L44_h_u); L44_eps = min(L44_h_max, L44_v_max); ab44_h_max = max(ab44_h_r, ab44_h_l); ab44_v_max = max(ab44_h_o, ab44_h_u); ab44_eps = min(ab44_h_max, ab44_v_max);
- d) Berechnung der Homogenitätswerte (z. B. homo44_h, homo44_v), z. B.: homo44_h = homo44_v = 0; /*Initialisierung*/ if(L44_h_r <= L44_eps && ab44_h_r <= ab44_eps)homo44_h += 1; if(L44_h_l <= L44_eps && ab44_h_l <= ab44_eps)homo44_h += 1; if(L44_h_o <= L44_eps && ab44_h_o <= ab44_eps)homo44_h += 1; if(L44_h_u <= L44_eps && ab44_h_u <= ab44_eps)homo44_h += 1; if(L44_h_r <= L44_eps && ab44_h_r <= ab44_eps)homo44_h += 1; if(L44_h_l <= L44_eps && ab44_h_l <= ab44_eps)homo44_h += 1; if(L44_h_o <= L44_eps && ab44_h_o <= ab44_eps)homo44_h += 1; if(L44_h_u <= L44_eps && ab44_h_u <= ab44_eps)homo44_h += 1;
-
5. Schritt:
-
Entscheidung ob der horizontale oder der vertikale Farbwert ausgewählt wird.
- a) Tiefpass-Filterung der beiden Homogenitätskarten mit einem 3 × 3 gleitenden Mittelwert: ho44_h = homo33_h + homo34_h + homo35_h +
homo43_h + homo44_h + homo45_h +
homo53_h + homo54_h + homo55_h; ho44_v = homo33_v + homo34_v + homo35_v +
homo43_v + homo44_v + homo45_v +
homo53_v + homo54_v + homo55_v;
- b) Auswahl des vertikalen oder horizontalen Farbwerts, oder Mittelung, z. B.:
-
6. Schritt:
-
Medianfilterung der Farbdifferenzen (R-G) und (B-G), wobei verschiedene Filterkerne möglich sind, wie z. B. der 3 × 3-Filterkern der nächsten Nachbarn:
-
Hinweis: beim 6. Schritt werden auch die ursprünglich gemessenen Farbwerte (sogenannte Hotpixel) verändert.
-
Die Grundidee des „Adaptive homogeneity-directed demosaicing algorithm” von Hirakawa und Parks besteht in der strikt getrennten Berechnung von Farbwerten für die horizontale und die vertikale Vorzugsrichtung. Diese Grundidee wird aber in Schritt 2b) verletzt, indem in grün-blauen Zeilen an den grünen Hotpixeln (in 1 zum Beispiel G33) die Berechnung des Rot-Werts in horizontaler Richtung (R33_h) mit Hilfe der Farbdifferenzen (R23 – G23_h + R43 – G43_h) in vertikaler Richtung erfolgt (2a), und die Berechnung des Blau-Werts in vertikaler Richtung (B33_v) mit Hilfe der Farbdifferenzen (B32 – G32_v + B34 – G34_v) in horizontaler Richtung erfolgt.
-
Ebenso wird die Grundidee in Schritt 2b) verletzt, indem in grün-roten Zeilen an den grünen Hotpixeln (in 1 zum Beispiel G44) die Berechnung des Rot-Werts in vertikaler Richtung (R33_h) mit Hilfe der Farbdifferenzen (R23 – G23_h + R43 – G43_h) in horizontaler Richtung erfolgt, und die Berechnung des Blau-Werts in horizontaler Richtung (B33_v) mit Hilfe der Farbdifferenzen (B32 – G32_v + B34 – G34_v) in vertikaler Richtung erfolgt (2b).
-
Nachteile des AHD sind: der Algorithmus ist sehr rauschempfindlich, d. h. bei unkorreliertem, unbuntem (gleicher Zufallswert wird auf alle drei Farbwerte eines Bildpunktes addiert) Rauschen treten starke Farbartefakte auf; bei Sprüngen im Chrominanz-Wert treten ebenso starke Farbartefakte auf, wie im Bereich der maximalen Ortsfrequenz (Bildpunkte abwechselnd weiß bzw. schwarz); in relativ homogenen Bildbereichen mit geringem Rauschen erzeugt der AHD leicht erkennbare Substrukturen.
-
DARSTELLUNG DER ERFINDUNG
-
Der Erfindung liegt die Aufgabe beziehungsweise das technische Problem zugrunde Das bekannte Demosaicing-Verfahren so weiterzubilden, daß die Bildqualität noch weiter verbessert und das Rauschen noch weiter reduziert wird.
-
Diese Aufgabe wird gelöst durch das Verfahren zur Interpolation von Farbwerten an Bildpunkten eines Bildsensors mit den Merkmalen des Anspruchs 1.
-
Das erfindungsgemäße Verfahren weist die folgenden Schritte auf:
- 1) Interpolieren der F2-Farbwerte an den F1-Bildpunkten und an den F3-Bildpunkten jeweils in einer ersten Richtung und in einer zweiten Richtung über den betreffenden Bildpunkt hinweg;
weiterhin zunächst
- 2a1) Interpolieren der F3-Farbwerte an den F1-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F1-Bildpunkt umgebenden F3-Bildpunkte;
und
- 2a2) Interpolieren der F1-Farbwerte an den F3-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F3-Bildpunkt umgebenden F1-Bildpunkte;
und danach
- 2b1) Interpolieren der F3-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a1 an den jeweils dem F2-Bildpunkt benachbarten F1-Bildpunkten interpolierten F3-Farbwerte;
- 2b2) Interpolieren der F1-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a2 an den jeweils dem F2-Bildpunkt benachbarten F3-Bildpunkten interpolierten F1-Farbwerte.
-
Die technische Lösung des Problems besteht somit darin, für die Berechnung des horizontalen F1-Farbwerks (z. B. des Rotwerts) bzw. F3-Farbwerts (z. B. des Blauwerts) auch die horizontalen Farbdifferenzen heranzuziehen, sowie für die Berechnung des vertikalen F1-Farbwerts (z. B. des Rotwerts) bzw. F3-Farbwerts (z. B. des Blauwerts) auch die vertikalen Farbdifferenzen zu verwenden. Erfindungsgemäß werden dabei zuerst an den (z. B. roten) F1-Bildpunkten die fehlenden F3-Farbwerte (z. B. die Blauwerte) berechnet (Schritt 2a1) und an den (z. B. blauen) F3-Bildpunkten die fehlenden F1-Farbwerte (z. B. die Rotwerte) berechnet (Schritt 2a2). Erst danach werden die fehlenden F3-Farbwerte und die fehlenden F1-Farbwerte an den (z. B. grünen) F2-Bildpunkten, wie in den Schritten 2b1 und 2b2 angegeben, berechnet. In dem aus dem Stand der Technik bekannten Algorithmus von Hirakawa und Parks spielt diese Reihenfolge der Schritte 2b nach den Schritten 2a keine Rolle.
-
VORTEILE
-
Durch die vorgeschlagene technische Lösung verbessert sich das Demosaicing-Ergebnis deutlich messbar und sichtbar. Die Abweichungen der F1- und F3-Farbwerte (Rot- und Blauwerte beim RGB-Farbraum) von den originalen Werten verringern sich deutlich (ca. 10–15% niedrigere mittlere quadratische Abweichungen), wobei sich die F2-Farbwerte (Grünwerte beim RGB-Farbraum) kaum merklich verändern (ca. ±2% Veränderungen bei den mittleren quadratischen Abweichungen). Dies gilt ebenso bei stark verrauschten Bildern. Vom visuellen Eindruck her verringern sich die Farbabweichungen durch die vorgeschlagene technische Lösung deutlich sichtbar.
-
Eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens umfaßt die zusätzlichen Schritte
- 3a) Berechnen der absoluten Differenzen der F1-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3b) Berechnen der absoluten Differenzen der F2-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3c) Berechnen der absoluten Differenzen der F3-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3d) Berechnen der Grenzwerte als Vergleichsmaß für die Homogenität;
- 4) Berechnen der Homogenitätswerte;
- 5) Entscheiden, ob der horizontale Farbwert oder der vertikale Farbwert ausgewählt wird.
-
Alternativ kann das erfindungsgemäße Verfahren mit den folgenden Schritten weitergebildet werden:
- 3) Umrechnen der in den Schritten 1) bis 2b2) interpolierten Farbwerte über den CIE-XYZ- in den CIE-Lab-Farbraum;
- 4a) Berechnen der absoluten Differenzen der L-Werte des Lab-Farbraums zu den jeweiligen vier Nachbarpositionen;
- 4b) Berechnen der absoluten Differenzen der ab-Werte des Lab-Farbraums zu den jeweiligen vier Nachbarpositionen;
- 4c) Berechnen der Grenzwerte als Vergleichsmaß für die Homogenität;
- 4d) Berechnen der Homogenitätswerte;
- 5) Entscheiden, ob der horizontale Farbwert oder der vertikale Farbwert ausgewählt wird.
-
Eine alternative, zweite Lösung der der Erfindung zugrundeliegenden Aufgabe ist ein Verfahren mit den folgenden Schritten:
- 1) Interpolieren der F2-Farbwerte an den F1-Bildpunkten und an den F3-Bildpunkten jeweils in einer ersten Richtung und in einer zweiten Richtung über den betreffenden Bildpunkt hinweg;
- 2a1) Interpolieren der F3-Farbwerte an den F1-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F1-Bildpunkt umgebenden F3-Bildpunkte; und
- 2a2) Interpolieren der F1-Farbwerte an den F3-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F3-Bildpunkt umgebenden F1-Bildpunkte;
- 2b1) Interpolieren der F3-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a1 an den jeweils dem F2-Bildpunkt benachbarten F1-Bildpunkten interpolierten F3-Farbwerte;
- 2b2) Interpolieren der F1-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a2 an den jeweils dem F2-Bildpunkt benachbarten F3-Bildpunkten interpolierten F1-Farbwerte;
- 3a) Berechnen der absoluten Differenzen der F1-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3b) Berechnen der absoluten Differenzen der F2-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3c) Berechnen der absoluten Differenzen der F3-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3d) Berechnen der Grenzwerte als Vergleichsmaß für die Homogenität;
- 4) Berechnen der Homogenitätswerte;
- 5) Entscheiden, ob der in der ersten Richtung interpolierte Farbwert oder der in der zweiten Richtung interpolierte Farbwert ausgewählt wird, durch Bilden eines endgültigen Farbwerts auf der Basis der Homogenitätswerte zu einem vom Homogenitätsunterschied bestimmten Anteil X aus dem in der ersten Richtung interpolierten Farbwert, und dem dazu komplementären Anteil 100-X aus dem in der zweiten Richtung interpolierten Farbwert.
-
In einer Abwandlung kann diese zweite Lösung folgende Schritte aufweisen:
- 1) Interpolieren der F2-Farbwerte an den F1-Bildpunkten und an den F3-Bildpunkten jeweils in einer ersten Richtung und in einer zweiten Richtung über den betreffenden Bildpunkt hinweg;
- 2a1) Interpolieren der F3-Farbwerte an den F1-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F1-Bildpunkt umgebenden F3-Bildpunkte; und
- 2a2) Interpolieren der F1-Farbwerte an den F3-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F3-Bildpunkt umgebenden F1-Bildpunkte;
- 2b1) Interpolieren der F3-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a1 an den jeweils dem F2-Bildpunkt benachbarten F1-Bildpunkten interpolierten F3-Farbwerte;
- 2b2) Interpolieren der F1-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2 Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a2 an den jeweils dem F2-Bildpunkt benachbarten F3-Bildpunkten interpolierten F1-Farbwerte;
- 3) Umrechnen der in den Schritten 1) bis 2b2) interpolierten Farbwerte über den CIE-XYZ- in den CIE-Lab-Farbraum;
- 4a) Berechnen der absoluten Differenzen der L-Werte des Lab-Farbraums zu den jeweiligen vier Nachbarpositionen;
- 4b) Berechnen der absoluten Differenzen der ab-Werte des Lab-Farbraums zu den jeweiligen vier Nachbarpositionen;
- 4c) Berechnen der Grenzwerte als Vergleichsmaß für die Homogenität;
- 4d) Berechnen der Homogenitätswerte;
- 5) Entscheiden, ob der in der ersten Richtung interpolierte Farbwert oder der in der zweiten Richtung interpolierte Farbwert ausgewählt wird, durch Bilden eines endgültigen Farbwerts auf der Basis der Homogenitätswerte zu einem vom Homogenitätsunterschied bestimmten Anteil X aus dem in der ersten Richtung interpolierten Farbwert, und dem dazu komplementären Anteil 100-X aus dem in der zweiten Richtung interpolierten Farbwert.
-
Die zweite Lösung des Problems besteht nun darin, die in den Homogenitätskarten enthaltenen Informationen besser auszunutzen. Bei kleinen Unterschieden in den Homogenitätswerten, wird keine Ja/Nein-Entscheidung getroffen, sondern der endgültige Farbwert wird zu einem vom Homogenitätsunterschied bestimmten Anteil (beispielsweise dem Prozentsatz) „X” aus dem in der ersten Richtung interpolierten (zum Beispiel horizontalen) Farbwert, und dem komplementären Anteil (beispielsweise dem Prozentsatz) „100-X” aus dem in der zweiten Richtung interpolierten (zum Beispiel vertikalen) Farbwert zusammengesetzt. Je größer die Unterschiede in den Homogenitätswerten sind, desto stärker werden die Farbwerte der homogeneren Vorzugsrichtung gewichtet. Dadurch verbessert sich das Demosaicing-Ergebnis deutlich messbar und sichtbar.
-
Bei den vorgenannten Alternativlösungen kann zusätzlich als weiterer Schritt vorgesehen sein:
- 6) Durchführen einer Medianfilterung der Farbdifferenzen (F1 – F2) und (F3 – F2), wobei die Farbwerte, die Hotpixel betreffen, also vom Sensor direkt gemessen wurden, unverändert bleiben.
-
Eine dritte Lösung des der Erfindung zugrundeliegenden Problems, weist die folgenden Schritte auf:
- 1) Interpolieren der F2-Farbwerte an den F1-Bildpunkten und an den F3-Bildpunkten jeweils in einer ersten Richtung und in einer zweiten Richtung über den betreffenden Bildpunkt hinweg;
- 2a1) Interpolieren der F3-Farbwerte an den F1-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F1-Bildpunkt umgebenden F3-Bildpunkte; und
- 2a2) Interpolieren der F1-Farbwerte an den F3-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F3-Bildpunkt umgebenden F1-Bildpunkte;
- 2b1) Interpolieren der F3-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a1 an den jeweils dem F2-Bildpunkt benachbarten F1-Bildpunkten interpolierten F3-Farbwerte;
- 2b2) Interpolieren der F1-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a2 an den jeweils dem F2-Bildpunkt benachbarten F3-Bildpunkten interpolierten F1-Farbwerte;
- 3a) Berechnen der absoluten Differenzen der F1-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3b) Berechnen der absoluten Differenzen der F2-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3c) Berechnen der absoluten Differenzen der F3-Farbwerte zu den jeweiligen vier Nachbarpositionen;
- 3d) Berechnen der Grenzwerte als Vergleichsmaß für die Homogenität;
- 4) Berechnen der Homogenitätswerte;
- 5) Entscheiden, ob der in der ersten Richtung interpolierte Farbwert oder der in der zweiten Richtung interpolierte Farbwert ausgewählt wird, durch Bilden eines endgültigen Farbwerts auf der Basis der Homogenitätswerte;
und mit dem weiteren Schritt:
Durchführen einer Medianfilterung der Farbdifferenzen (F1 – F2) und (F3 – F2), wobei die Farbwerte, die Hotpixel betreffen, also vom Sensor direkt gemessen wurden, unverändert bleiben.
-
Alternativ kann die dritte Lösung folgende Schritte aufweisen:
- 1) Interpolieren der F2-Farbwerte an den F1-Bildpunkten und an den F3-Bildpunkten jeweils in einer ersten Richtung und in einer zweiten Richtung über den betreffenden Bildpunkt hinweg;
- 2a1) Interpolieren der F3-Farbwerte an den F1-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F1-Bildpunkt umgebenden F3-Bildpunkte; und
- 2a2) Interpolieren der F1-Farbwerte an den F3-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der den F3-Bildpunkt umgebenden F1-Bildpunkte;
- 2b1) Interpolieren der F3-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a1 an den jeweils dem F2-Bildpunkt benachbarten F1-Bildpunkten interpolierten F3-Farbwerte;
- 2b2) Interpolieren der F1-Farbwerte an den F2-Bildpunkten in der ersten Richtung unter Verwendung der im Schritt 1 in der ersten Richtung interpolierten F2-Farbwerte und in der zweiten Richtung unter Verwendung der in Schritt 1 in der zweiten Richtung interpolierten F2-Farbwerte anhand der im Schritt 2a2 an den jeweils dem F2-Bildpunkt benachbarten F3-Bildpunkten interpolierten F1-Farbwerte;
- 3) Umrechnen der in den Schritten 1) bis 2b2) interpolierten Farbwerte über den CIE-XYZ- in den CIE-Lab-Farbraum;
- 4a) Berechnen der absoluten Differenzen der L-Werte des Lab-Farbraums zu den jeweiligen vier Nachbarpositionen;
- 4b) Berechnen der absoluten Differenzen der ab-Werte des Lab-Farbraums zu den jeweiligen vier Nachbarpositionen;
- 4c) Berechnen der Grenzwerte als Vergleichsmaß für die Homogenität;
- 4d) Berechnen der Homogenitätswerte;
- 5) Entscheiden, ob der in der ersten Richtung interpolierte Farbwert oder der in der zweiten Richtung interpolierte Farbwert ausgewählt wird, durch Bilden eines endgültigen Farbwerts auf der Basis der Homogenitätswerte;
und mit dem weiteren Schritt:
Durchführen einer Medianfilterung der Farbdifferenzen (F1 – F2) und (F3 – F2), wobei die Farbwerte, die Hotpixel betreffen, also vom Sensor direkt gemessen wurden, unverändert bleiben.
-
Die Verbesserung gegenüber dem Stand der Technik besteht bei der dritten technischen Lösung darin, dass jene Farbwerte, die Hotpixel sind, also vom Sensor direkt gemessen wurden, unverändert bleiben. Dadurch verbessert sich das Demosaicing-Ergebnis deutlich messbar und sichtbar. Die Abweichungen aller drei Farbwerte F1, F2, F3 (zum Beispiel rot, grün, blau) von den originalen Werten verringern sich gegenüber dem Stand der Technik deutlich (ca. 40–45% niedrigere mittlere quadratische Abweichungen), wobei sich die Abweichungen mit zunehmendem Rauschen tendenziell noch stärker verringern als ohne Rauschen. Vom visuellen Eindruck her verringern sich die Farbabweichungen durch die vorgeschlagene dritte technische Lösung deutlich sichtbar.
-
Alle vorgenannten alternativen Lösungen können untereinander auch kombiniert werden. So kann vorzugsweise bei der zweiten und dritten Lösung die Interpolation der F3-Farbwerte (z.B. der Blauwerte) in Schritt 2b1 anhand der jeweils dem (zum Beispiel grünen) F2-Bildpunkt benachbarten (zum Beispiel roten) F1-Bildpunkte erfolgen und die Interpolation der F1-Farbwerte (zum Beispiel der Rotwerte) in Schritt 2b2 kann anhand der jeweils dem (zum Beispiel grünen) F2-Bildpunkt benachbarten (zum Beispiel blauen) F3-Bildpunkte erfolgen.
-
Ebenso kann bei der ersten und der dritten Lösung auch das Merkmal vorgesehen sein, dass die Entscheidung in Schritt 5, ob der der in einer ersten Richtung interpolierte (zum Beispiel horizontale) Farbwert oder der in einer zweiten Richtung interpolierte (zum Beispiel vertikale) Farbwert ausgewählt wird, durch Bilden eines endgültigen Farbwerts auf der Basis der Homogenitätswerte zu einem vom Homogenitätsunterschied bestimmten Anteil (zum Beispiel einem Prozentsatz) X aus dem in der ersten Richtung interpolierten Farbwert, und dem dazu komplementären Anteil (zum Beispiel einem Prozentsatz) 100-X aus dem in der zweiten Richtung interpolierten Farbwert, durchgeführt wird.
-
Der Schritt der Medianfilterung der Farbdifferenzen (F1 – F2) und (F3 – F2), wobei die Farbwerte, die Hotpixel betreffen, also vom Sensor direkt gemessen wurden, unverändert bleiben, wird bevorzugt als Schritt 6) nach dem Schritt der Entscheidung, ob der in der ersten Richtung interpolierte Farbwert oder der in der zweiten Richtung interpolierte Farbwert ausgewählt wird, durchgeführt.
-
Vorteilhaft ist auch, wenn der Schritt der Medianfilterung der Farbdifferenzen (F1 – F2) und (F3 – F2), wobei die Farbwerte, die Hotpixel betreffen, also vom Sensor direkt gemessen wurden, unverändert bleiben, vor dem Schritt der Entscheidung, ob der in der ersten Richtung interpolierte Farbwert oder der in der zweiten Richtung interpolierte Farbwert ausgewählt wird, durchgeführt wird. Dabei ist es besonders vorteilhaft, wenn der Schritt der Medianfilterung der Farbdifferenzen (F1 – F2) und (F3 – F2), wobei die Farbwerte, die Hotpixel betreffen, also vom Sensor direkt gemessen wurden, unverändert bleiben, unmittelbar nach den Schritten 2a1) bis 2b2) als Schritt 2c) durchgeführt wird.
-
Dadurch verringern sich die Abweichungen aller drei Farbwerte F1, F2, F3 (zum Beispiel rot, grün, blau) von den originalen Werten, wodurch auch die horizontal/vertikal-Entscheidung, also die Entscheidung bezüglich der Auswahl der in der ersten oder zweiten Richtung interpolierten Farbwerte, positiv beeinflusst wird.
-
Schließlich ist es bei allen Varianten der vorliegenden Erfindung vorteilhaft, wenn nach dem ersten Schritt eine Medianbildung der beiden in Schritt 1 interpolierten F2-Farbwerte in der ersten Richtung und in der zweiten Richtung erfolgt.
-
Die drei Farben F1, F2, F3 sind vorzugsweise rot, grün und blau oder alternativ gelb, magenta und cyan.
-
Vorzugsweise sind die erste Richtung und die zweite Richtung rechtwinklig zueinander gelegen.
-
Bevorzugte Ausführungsbeispiele der Erfindung mit zusätzlichen Ausgestaltungsdetails und weiteren Vorteilen sind nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen näher beschrieben und erläutert.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es zeigt:
-
1 einen Flächensensor vor den ein sogenanntes „Bayer”-Farbfilter angeordnet ist;
-
2a ein Beispiel der Berechnung des horizontalen Rot-Werts mit vertikalen Farbdifferenzen gemäß dem Stand der Technik;
-
2b ein Beispiel der Berechnung des horizontalen Blau-Werts mit vertikalen Farbdifferenzen gemäß dem Stand der Technik;
-
3a die Mischung des horizontalen und vertikalen Farbwerts in Abhängigkeit vom Homogenitätsunterschied bei linearer Farbmischung;
-
3b die Mischung des horizontalen und vertikalen Farbwerts in Abhängigkeit vom Homogenitätsunterschied bei einer Farbmischung gemäß komplementärer Sigmoid-Funktionen;
-
4 einen Bildausschnitt aus dem Muster „USAF” als Vergleich der erfindungsgemäßen Verfahren mit Verfahren aus dem Stand der Technik;
-
5 einen Bildausschnitt aus dem Muster „Lighthouse” als Vergleich der erfindungsgemäßen Verfahren mit Verfahren aus dem Stand der Technik und
-
6 einen Bildausschnitt aus dem verrauschten Muster „USAF” als Vergleich der erfindungsgemäßen Verfahren mit Verfahren aus dem Stand der Technik.
-
DARSTELLUNG VON BEVORZUGTEN AUSFÜHRUNGSBEISPIELEN
-
Erstes Ausführungsbeispiel
-
Eine erste beispielhafte technische Lösung des Problems besteht darin, für die Berechnung des horizontalen Rot- bzw. Blau-Werts auch die horizontalen Farbdifferenzen heranzuziehen, sowie für die Berechnung des vertikalen Rot- bzw. Blau-Werts auch die vertikalen Farbdifferenzen, d. h. z. B.: R33_h = G33 + (R32_h – G32_h + R34_h – G34_h)/2; B33_v = G33 + (B23_v – G23_v + B43_v – G43_v)/2; R44_v = G44 + (R34_v – G34_v + R54_v – G54_v)/2; B44_h = G44 + (B43_h – G43_h + B45_h – G45_h)/2;
-
Voraussetzung dafür ist allerdings, dass zuerst an den R-Pixeln (in 1 zum Beispiel R43) die fehlenden B-Werte, bzw. an den B-Pixeln (in 1 zum Beispiel B34) die fehlenden R-Werte berechnet werden (Schritte 1.2a1 und 1.2a2), und erst danach die fehlenden R/B-Werte an den grünen Hotpixeln (in 1 zum Beispiel G33, G44, Schritte 1.2b1 und 1.2b2). Im aus dem Stand der Technik bekannten Algorithmus von Hirakawa und Parks spielt diese Reihenfolge keine Rolle.
-
Falls der Algorithmus auf Hardware mit starken Speicherrestriktionen (FPGAs, ASICs) implementiert werden soll, muss das ursprünglich 11×11 Pixel große Einzugsgebiet auf 13×13 Pixel um das aktuell zu berechnende Pixel herum vergrößert werden. Denn man benötigt zur Berechnung des vertikalen Blau-Werts 833_v am grünen Hotpixel G33 den vertikalen Blauwert B23_v, und dafür wiederum benötigt man die vertikalen Grünwerte G12_v, G14_v, G32_v, G34_v. Kritisch sind hier die beiden vertikalen Grünwerte G12_v, G14_v, da man für deren Berechnung gemäß dem 1. Schritt die blauen Hotpixel B–12 und B–14 benötigt, so dass sich das Einzugsgebiet eben auf 13×13 Pixel vergrößert. Abhilfe kann hier dadurch geschaffen werden, dass für die Berechnung des vertikalen Blauwerts B23_v ein vereinfachter Algorithmus herangezogen wird, wie zum Beispiel der eingangs bereits erwähnte „High-quality linear interpolation for demosaicing”-Algorithmus von Malvar, He & Cutler: B23_v = ((B12 + B14 + B32 + B34)·2 + R23·6 – (R03 + R43 + R21 + R25)·1.5)/8; und ebenso für die horizontalen Rot-Werte, wie z. B. R32_h: R32_h = ((R21 + R41 + R23 + R43)·2 + B32·6 – (B12 + B52 + B30 + B34)·1.5)/8;
-
Damit bleibt das nötige Einzugsgebiet auf 11×11 Pixel beschränkt und die Qualität des Ergebnisses verändert sich gegenüber dem AHD-Verfahren von Hirakawa & Parks kaum.
-
Durch die vorgeschlagene technische Lösung verbessert sich das Demosaicing-Ergebnis deutlich messbar und sichtbar. Die Abweichungen der Rot- und Blau-Werte von den originalen Werten verringern sich deutlich (ca. 10–15% niedrigere mittlere quadratische Abweichungen), wobei sich die Grün-Werte kaum merklich verändern (ca. ±2% Veränderungen bei den mittleren quadratischen Abweichungen). Dies gilt ebenso bei stark verrauschten Bildern. Vom visuellen Eindruck her verringern sich die Farbabweichungen durch die vorgeschlagene technische Lösung deutlich sichtbar.
-
Zweites Ausführungsbeispiel
-
Eine zweite Lösung des der Erfindung zugrundeliegenden Problems ist die Nutzung der Homogenitäts-Information für eine weichere Entscheidung zwischen dem Horizontal- und dem Vertikal-Kanal.
-
Im Schritt 5b) des AHD-Verfahrens von Hirakawa und Parks wird nur im Fall exakt gleicher horizontaler und vertikaler Homogenitätswerte (ho44_h == ho44_v) eine Mittelung der horizontalen und vertikalen Farbwerte durchgeführt, wie z. B.: R44 = (R44_h + R44_v)/2; G44 = (G44_h + G44_v)/2; B44 = (B44_h + B44_v)/2;
-
Ansonsten wird jeweils zu 100% ausschließlich der horizontale oder der vertikale Farbwert ausgewählt. Dies führt in relativ homogenen Bildbereichen (Bereiche niedriger Ortsfrequenzen) zu deutlich sichtbaren blockartigen Artefakten, da der Algorithmus, bedingt auch durch die Tiefpassfilterung der Homogenitätswerte (Schritt 5a des AHD-Verfahrens), ein gewisses Beharrungsvermögen hinsichtlich der Vorzugsrichtung aufweist. Dies wirkt sich bei hohen Ortsfrequenzen (Kanten, Linien) positiv aus, da kleinere Störungen durch dieses Beharrungsvermögen ausgebügelt werden. Bei niedrigen Ortsfrequenzen (homogene Bildbereiche) wirkt es sich jedoch negativ aus, da häufig über mehrere Pixel hinweg die gleiche Vorzugsrichtung beibehalten wird, bevor die Richtung gewechselt wird. Dadurch entstehen in den homogenen Bildbereichen blockartige Artefakte mit einer Seitenlänge von 4–8 Pixel (siehe 6d), die trotz eher geringer Farbunterschiede wegen der homogenen Umgebung sichtbar werden. Ein weiteres Problem der relativ harten horizontal/vertikal-Entscheidung im Stand der Technik ist die große Empfindlichkeit gegenüber Rauschen.
-
Das erfindungsgemäße Verfahren gemäß der zweiten Ausführungsform löst das der Erfindung zugrundeliegende Problem dadurch, dass die in den Homogenitätskarten enthaltenen Informationen besser ausgenutzt werden. Bei kleinen Unterschieden in den Homogenitätswerten, wird keine Ja/Nein-Entscheidung getroffen (wie beim AHD-Verfahren), sondern der endgültige Farbwert wird zu einem vom Homogenitätsunterschied bestimmten Prozentsatz „X” aus dem horizontalen Farbwert, und dem komplementären Prozentsatz „100-X” aus dem vertikalen Farbwert zusammengesetzt.
-
Je größer die Unterschiede in den Homogenitätswerten sind, desto stärker werden die Farbwerte der homogeneren Vorzugsrichtung gewichtet. Ein möglicher Algorithmus zur Gewichtung der Vorzugsrichtungen ist ein linearer Term. Sei „S” ein Zahlenwert, der die Breite des Übergangsbereichs für die weiche Entscheidung vorgibt, dann gilt für die Farbmischung beim linearen Ansatz z. B. (siehe
3a):
-
Anstelle einer linearen Gewichtung der beiden Vorzugsrichtungen mittels eines Prozentsatzes (Prozentsatz X aus der ersten Richtung und komplementärer Prozentsatz 100-X aus der zweiten Richtung) können auch beliebige andere Funktionen, wie zum Beispiel die in 3b dargestellten Sigmoid-Funktionen: 1/(1 + exp(–a·X)) und deren Komplement zu 1: 1/(1 + exp(a·X)) zur Bestimmung des endgültigen Farbwerts verwendet werden. Auch diese beiden Funktionen addieren sich für jeden Wert X zu 1.
-
Durch diese vorgeschlagene technische Lösung verbessert sich das Demosaicing-Ergebnis deutlich messbar und sichtbar. Ein Optimum bei einem Mix aus 50% unverrauschten (siehe 4 und 5) und 50% verrauschten Bildern (siehe 6) ergibt sich bei einer Breite des Übergangsbereichs von S = 11. Bei diesem Wert verringern sich die Abweichungen aller drei Farbwerte (Rot, Grün, Blau) von den originalen Werten deutlich, nämlich zu ca. 15 bis 25% niedrigerer mittlerer quadratischer Abweichungen, wobei sich die Abweichungen mit zunehmendem Rauschen tendenziell noch stärker verringern als ohne Rauschen.
-
Die optimale Breite des Übergangsbereichs von S = 11 ist unabhängig davon, ob die Homogenitätskarten im CIE-Lab-Farbraum oder im RGB-Farbraum erstellt werden (dritter Schritt des AHD-Verfahrens von Hirakawa & Parks). Für den rein visuellen Eindruck bei unverrauschten Bildern (4 und 5) liegt das Optimum für den Übergangsbereich bei S = 3, bei verrauschten Bildern (6) liegt das Optimum bei S = 13. Somit kann über den Parameter S, der die Breite des Übergangsbereichs beschreibt, eine Anpassung an die Charakteristik des zu bearbeitenden Bildmaterials vorgenommen werden.
-
Drittes Ausführungsbeispiel:
-
Im dritten Ausführungsbeispiel des erfindungsgemäßen Verfahrens erfolgt eine Median-Filterung der Farbdifferenzen (R – G) und (B – G) in einer 3 × 3-Umgebung des Bildpunktes und eine Korrektur der Farbwerte nach der horizontal/vertikal-Entscheidung und nur an Bildpunkten, die keine Hotpixel sind, wobei unter „Hotpixel” jene Bildpunkte verstanden werden, an denen der Farbwert direkt gemessen, also nicht interpoliert, wird. Diese Medianfilterung erfolgt nach der Formel:
-
Im sechsten Schritt des aus dem Stand der Technik bekannten AHD-Verfahrens von Hirakawa und Parks wird die Median-Filterung der Farbdifferenzen (R – G) und (B – G) an allen Bildpunkten durchgeführt.
-
Im dritten Ausführungsbeispiel des erfindungsgemäßen Verfahrens bleiben hingegen die Farbwerte, die Hotpixel sind (also vom Sensor direkt gemessen wurden, wie z. B. G22, G33, R23, B32), unverändert. Der Median-Filter kann selbstverständlich auch auf andere Filterkerne, als den oben erwähnten 3 × 3-Filterkern der nächsten benachbarten Bildpunkte erweitert werden.
-
Durch die vorgeschlagene technische Lösung verbessert sich das Demosaicing-Ergebnis deutlich messbar und sichtbar. Die Abweichungen aller drei Farbwerte (Rot, Grün, Blau) von den originalen Werten verringern sich gegenüber dem aus dem AHD-Verfahren bekannten Medianfilter bei dreifacher Anwendung deutlich (ca. 40–45% niedrigere mittlere quadratische Abweichungen), wobei sich die Abweichungen mit zunehmendem Rauschen tendenziell noch stärker verringern als ohne Rauschen. Vom visuellen Eindruck her verringern sich die Farbabweichungen durch die vorgeschlagene technische Lösung deutlich sichtbar.
-
Viertes Ausführungsbeispiel
-
Im vierten Ausführungsbeispiel des erfindungsgemäßen Verfahrens erfolgt die Median-Filterung der Farbdifferenzen Median (R – G) und (B – G) in einer 3 × 3-Umgebung des Bildpunktes und Korrektur der Farbwerte vor der horizontal/vertikal-Entscheidung und nur an Bildpunkten, die keine Hotpixel sind, nach der Formel:
-
Die Median-Filterung gemäß dem dritten Ausführungsbeispiel wird beim Verfahren des vierten Ausführungsbeispiels bereits vor der horizontal/vertikal-Entscheidung, das heißt direkt nach dem zweiten Schritt des AHD-Algorithmus' eingesetzt. Dadurch verringern sich die Abweichungen aller drei Farbwerte F1, F2, F3 (z. B. Rot, Grün, Blau) von den originalen Werten, wodurch auch die horizontal/vertikal-Entscheidung, das heißt der fünfte Schritt des AHD-Algorithmus' positiv beeinflusst wird.
-
Voraussetzung für die Median-Filterung vor der horizontal/vertikal-Entscheidung ist, dass alle drei Farbwerte F1, F2, F3 (z. B. Rot, Grün, Blau) für die zu berechnenden Bildpunkte bis zu einem Abstand (nach der Manhattan-Norm) von drei Bildpunkten bereits vorliegen. Falls in einer technischen Realisierung des vorgeschlagenen Demosaicing-Verfahrens die Lösung der Aufgabe gemäß dem ersten Ausführungsbeispiel angewendet wird, liegen die benötigten Farbwerte bereits vor. Ansonsten müssten die benötigten Farbwerte gemäß dem Verfahren des ersten Ausführungsbeispiels vorher berechnet werden.
-
Durch die vorgeschlagene technische Lösung gemäß dem vierten Ausführungsbeispiel verbessert sich das Demosaicing-Ergebnis deutlich messbar und sichtbar. Die Abweichungen aller drei Farbwerte Farbwerte F1, F2, F3 (z. B. Rot, Grün, Blau) von den originalen Werten verringern sich bei einfacher Anwendung schon merklich (ca. 24 bis 42% niedrigere mittlere quadratische Abweichungen), bei dreifacher Anwendung sehr deutlich (ca. 45 bis 60% niedrigere mittlere quadratische Abweichungen), wobei sich die Abweichungen mit zunehmenden Rauschen tendenziell noch stärker verringern als ohne Rauschen. Vom visuellen Eindruck her verringern sich die Farbabweichungen durch die vorgeschlagene technische Lösung deutlich sichtbar.
-
Abwandlung der Ausführungsbeispiele ohne Konvertierung in den CIE-Lab-Farbraum
-
Die im dritten Schritt des in der Beschreibungseinleitung beschriebenen AHD-Algorithmus' vorgesehene Konvertierung vom RGB- in den CIE-Lab-Farbraum entfällt und es werden anstelle des vierten Schritts des in der Beschreibungseinleitung beschriebenen AHD-Algorithmus' die folgenden Verfahrensschritte durchgeführt:
-
Erstellen der Homogenitäts-Karten für die horizontale (homo_h) und die vertikale (homo_v) Vorzugsrichtung:
-
a) Berechnung der absoluten Differenzen der R-Werte zu den jeweiligen vier Nachbarpositionen (rechts, links, oben, unten), z. B.:
horizontale Vorzugsrichtung: R44_h_r = |R45 – R44_h|; (rechts) R44_h_l = |R43 – R44_h|; (links) R44_h_o = |R34_h – R44_h|; (oben) R44_h_u = |R54_h – R44_h|; (unten) vertikale Vorzugsrichtung: R44_v_r = |R45 – R44_v|; (rechts) R44_v_l = |R43 – R44_v|; (links) R44_v_o = |R34_v – R44_v|; (oben) R44_v_u = |R54_v – R44_v|; (unten)
-
b) Berechnung der absoluten Differenzen der G-Werte zu den jeweiligen vier Nachbarpositionen (rechts, links, oben, unten), z. B.:
horizontale Vorzugsrichtung: G44_h_r = |G45_h – G44|; (rechts) G44_h_l = |G43_h – G44|; (links) G44_h_o = |G34_h – G44|; (oben) G44_h_u = |G54_h – G44|; (unten) vertikale Vorzugsrichtung: G44_v_r = |G45_v – G44|; (rechts) G44_v_l = |G43_v – G44|; (links) G44_v_o = |G34_v – G44|; (oben) G44_v_u = |G54_v – G44|; (unten)
-
c) Berechnung der absoluten Differenzen der B-Werte zu den jeweiligen vier Nachbarpositionen (rechts, links, oben, unten), z. B.:
horizontale Vorzugsrichtung: B44_h_r = |B45_h – B44_h|; (rechts) B44_h_l = |B43_h – B44_h|; (links) B44_h_o = |B34 – B44_h|; (oben) B44_h_u = |B54 – B44_h|; (unten) vertikale Vorzugsrichtung: B44_v_r = |B45_v – B44_v|; (rechts) B44_v_l = |B43_v – B44_v|; (links) B44_v_o = |B34 – B44_v; (oben) B44_v_u = |B54 – B44_v|; (unten)
-
Kombination der Ausführungsbeispiele
-
Generell sind alle Verfahren der vier Ausführungsbeispiele auch einzeln anwendbar und leisten jeweils einen Beitrag zur Verbesserung der Bildqualität. Werden einige oder alle Merkmale der jeweiligen Ausführungsbeispiele miteinander kombiniert, so addieren sich näherungsweise ihre jeweiligen Beiträge zur Verbesserung der Bildqualität.
-
Die Abweichungen aller drei Farbwerte F1, F2, F3 (z. B. Rot, Grün, Blau) verringern sich durch Kombination der Merkmale aller vier Ausführungsbeispiele gegenüber den Abweichungswerten, die mit dem aus dem Stand der Technik bekannten AHD-Verfahren von Hirakawa & Parks erzielt werden können, deutlich. Eine Kombination der Merkmale aller vier Ausführungsbeispiele des erfindungsgemäßen Verfahrens erzielt ca. 58 bis 78% niedrigere mittlere quadratische Abweichungen, wobei sich die Abweichungen mit zunehmenden Rauschen tendenziell noch stärker verringern als ohne Rauschen. In den nachstehend erläuterten 4, 5 und 6 sind die Verbesserungen für den visuellen Eindruck dargestellt.
-
4 zeigt einen Bildausschnitt aus dem Muster „USAF”. Die Zahlenwerte hinter den Klammern (b) bis (d) stellen die Summe der mittleren quadratischen Abweichungen der drei Farbwerte R, G, B von den originalen Farbwerten (Bild a) dar. Je niedriger die Abweichungen sind, umso besser ist die Qualität. Es bedeuten:
- (a) das Originalbild,
- (b) Aufbereitung mit einem bilinearen Filter,
- (c) „High Quality Linear Interpolation” nach Malvar, He & Cutler,
- (d) Aufbereitung mit dem AHD-Verfahren von Hirakawa & Parks,
- (e) Aufbereitung mit dem erfindungsgemäßen Demosaicing-Verfahren.
-
5 zeigt einen Bildausschnitt aus dem Muster „Lighthouse”. Die Zahlenwerte hinter den Klammern (b) bis (d) stellen die Summe der mittleren quadratischen Abweichungen der drei Farbwerte R, G, B von den originalen Farbwerten (Bild a) dar. Je niedriger die Abweichungen sind, umso besser ist die Qualität. Es bedeuten:
- (a) das Originalbild,
- (b) Aufbereitung mit einem bilinearen Filter,
- (c) „High Quality Linear Interpolation” nach Malvar, He & Cutler,
- (d) Aufbereitung mit dem AHD-Verfahren von Hirakawa & Parks,
- (e) Aufbereitung mit dem erfindungsgemäßen Demosaicing-Verfahren.
-
6 zeigt einen Bildausschnitt aus dem verrauschten Muster „USAF”. Die Zahlenwerte hinter den Klammern (b) bis (d) stellen die Summe der mittleren quadratischen Abweichungen der drei Farbwerte R, G, B von den originalen Farbwerten (Bild a) dar. Je niedriger die Abweichungen sind, umso besser ist die Qualität. Es bedeuten:
- (a) das Originalbild,
- (b) Aufbereitung mit einem bilinearen Filter,
- (c) „High Quality Linear Interpolation” nach Malvar, He & Cutler,
- (d) Aufbereitung mit dem AHD-Verfahren von Hirakawa & Parks,
- (e) Aufbereitung mit dem erfindungsgemäßen Demosaicing-Verfahren.
-
Die technischen Lösungen gemäß dem dritten und vierten Ausführungsbeispiel (die Median-Filterung der Farbdifferenzen) können im übrigen auch auf andere Demosaicing-Verfahren angewendet werden.
-
Alle Merkmale der erfindungsgemäßen technischen Lösungen sind auch im Rahmen von Echtzeit-Anwendungen bzw. Hardware-Lösungen anwendbar (wie zum Beispiel in ASICs (= Application Specific Integrated Circuits), in FPGAs (= Field Programmable Gate Arrays), oder in GPUs (= Graphical Processing Units, das heißt in programmierbaren Grafikkarten), da sich die jeweilige technische Lösung als nichtlinearer Filterkern darstellen lässt.
-
Durch die Erfindung wird somit das bekannte AHD-Verfahren zur Interpolation von Farbwerten an Bildpunkten eines Bildsensors, wobei der Bildsensor eine Vielzahl von Bildpunkten aufweist und wobei vor jedem Bildpunkt ein Farbfilter in einer von drei Farben, zum Beispiel rot (R), grün (G), blau (B) oder cyan (C), magenta (M), gelb (Y), vorgesehen ist, durch unterschiedliche Abwandlungen einzelner Verfahrensschritte, die einzeln oder in Kombination vorgesehen sein können, verbessert.
-
Bezugszeichen in den Ansprüchen, der Beschreibung und den Zeichnungen dienen lediglich dem besseren Verständnis der Erfindung und sollen den Schutzumfang nicht einschränken.