-
Hintergrund
der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein digitales Weißausgleichsgerät, das bei
tragbaren Bildsystemen wie Kamerahandys einsetzbar ist, insbesondere
betrifft die Erfindung ein digitales automatisches Weißausgleichsgerät, das in
ein digitales Verarbeitungsverfahren implementiert ist und das einen
Grauweltalgorithmus (grey world algorithm) verwendet, sodass eine
Echtzeitverarbeitung ohne einen separaten Speicher oder einen Hochleistungsprozessor
möglich
ist, wobei das Gerät
unabhängig
von einem Bildsensor betrieben wird, sodass die Bilddaten mit hoher
Geschwindigkeit verarbeitet werden können.
-
Beschreibung
des Standes der Technik
-
Der
Begriff „Weißausgleich" bezieht sich im
Allgemeinen auf die Fähigkeit
einer Kamera wie einer TV-Kamera, ihren Farbausgleich auf der Basis
der weißen
Farbe anzupassen, wenn ein Bild aufgenommen wird. Das Licht hat
eine spezifische Farbeigenschaft, die als „Farbtemperatur" bezeichnet und in
Kelvin (K) ausgedrückt
wird. Auch wenn eine Bildszene wie eine Landschaft, die von einem
Betrachter gesehen wird, von Licht mit jeglicher Farbtemperatur
beleuchtet wird, passen Menschen automatisch ihre Farbempfindlichkeit
an, sodass keine Unterschiede bei der Farberkennung entstehen. Eine
TV-Kamera oder eine Filmkamera wird jedoch stark von der Farbtemperatur
beeinflusst, da die Farbtemperatur sich direkt in der Farbe widerspiegelt.
-
Wenn
der Himmel klar ist, wird beispielsweise der gesamte Bildschirm
als blau wahrgenommen, da Sonnenlicht eine hohe Farbtemperatur hat.
Bei Sonnenaufgang oder Sonnenuntergang wird der gesamte Schirm als
rot wahrgenommen, da die Farbtemperatur zu dieser Zeit niedrig ist.
Wenn die Kamera ein Bild unter diesen Verhältnissen aufnimmt, ohne eine
Bildverarbeitung vorzunehmen, wird da durch das Problem verursacht,
dass der gesamte Schirm einmal blau und im anderen Fall rot wahrgenommen
wird. Um ein derartiges Problem zu beseitigen, wird vor der Bildaufnahme
Licht, das von einer Lichtquelle emittiert wird, von einem weißen Papier
od. dgl. reflektiert, und das projizierte Bild des reflektierten
Lichts wird betrachtet, um eine RGB-Farbausgleichsanpassung durchzuführen, um
eine schöne
weiße
Farbe zu erhalten. RGB bedeutet rot, grün und blau. Da die meisten
Modelle der in eine Kamera integrierten Videobandrekorder (VTR)
eine automatische Weißausgleichsfunktion
haben, wird eine derartige Farbausgleichsanpassung automatisch in
der Kamera durchgeführt.
-
In
jüngster
Zeit gibt es eine steigende Nachfrage nach Kamerahandys, deren Bildqualität so hoch
wie bei einer Digitalkamera sein soll. Ebenso besteht Bedarf an
einem Bildverarbeitungs-IC, der für Kamerahandys geeignet ist.
Der Weißausgleich
ist eine der Bildverarbeitungsmethoden um ein Bild mit hoher Qualität zu erzielen.
Wenn ein Bild mit einem CMOS- oder CCD-Bildsensor bei Beleuchtungsbedingungen
mit unterschiedlichen Farbtemperaturen aufgenommen worden ist, sind
die roten, grünen
und blauen Komponenten des aufgenommenen Bildes zur Seite hin verschoben,
da die weiße
Farbe nicht gut erkannt wird. Dieses führt dazu, dass der Farbton
des Bildes gestört
ist. Der Weißausgleich
dient dazu, den gestörten
Farbton zu kompensieren. Dementsprechend ist das Gerät für den Weißausgleich
essentiell für
Kamerahandys, die eine hohe Bildqualität erfordern.
-
1 ist
eine grafische Darstellung und zeigt ein allgemeines zweidimensionales
Cb-Cr-Farbkoordinatensystem.
-
Von
den vielen Verfahren zur Durchführung
eines automatischen Weißausgleichs
basiert die am einfachsten und am leichtesten zu implementierende
auf einem Grau-Welt-Algorithmus (grey world algorithm). Unter der
Annahme, dass der Durchschnitt der Farbdifferenzkomponenten aller
Pixel eines Bildes grau ist, erhält
man mit dem Grau-Welt-Algorithmus Pixelverstärkungen für den Weißausgleich, das heißt die Koeffizienten
für den
Weißausgleich.
In dem RGB-Farbkoordinatensystem
ist grau als „R
= G = B" definiert.
-
Wenn
die Pixeltiefe eines Bildes beispielsweise 8 Bit beträgt, hat
jede der Komponenten der Farbdifferenz „Cb und Cr" einen Wert von 128 in „einer
RGB-zu-YcbCr-Farbkoordinatentransformationsgleichung", die durch die nachfolgende
Gleichung ausgedrückt
wird, die in der Norm ITU-R BT.601 empfohlen wird. Dementsprechend
kann der Weißausgleich
implementiert werden durch Einstellen der Verstärkung jedes Pixels, um den
Abstand „d" des durchschnittlichen
Farbdifferenzwertes von einem Weißausgleichspunkt (Cb = Cr = 128)
zu minimieren, wie in
1 gezeigt ist. Gleichung
1:
-
Es
gibt zwei wichtige herkömmliche
Verfahren zum Einstellen der Pixelverstärkung für den automatischen Weißausgleich.
Eine ist eine analoge Verstärkungseinstellungsmethode,
und die andere ist eine digitale Bildverarbeitungsmethode. Diese
wird nun unter Bezugnahme auf die 2 und 3 beschrieben.
-
2 ist
ein Blockdiagramm und zeigt die Konfiguration eines herkömmlichen
analogen Signalprozessors, der einen Weißausgleich auf analogem Weg
durchführt.
-
Wie
in dieser Figur gezeigt ist, umfasst der analoge Bildsignalprozessor
zum Durchführen
des analogen Weißausgleichs
einen analogen Signalprozessor 22, einen RGB-zu-YCbCr-Konverter 23,
eine Cb & Cr-Mittelwerteinheit 24 und
einen RGB-Verstärkungs-Controller 25.
Die Mittelwerteinheit 24 dient zur Bildung des Mittelwerts
der Farbdifferenzkomponenten Cb & Cr.
Der analoge Signalprozessor 22 nimmt ein Bild eines Subjekts
auf, das durch eine Linse 21 einfällt und führt eine Signalverarbeitung
bei dem aufgenommenen Bild durch. Der RGB-zu-YCbCr- Konverter 23 wandelt
ein analoges RGB-Signal, das von dem analogen Signalprozessor 22 empfangen
worden ist, in ein YCbCr-Signal um. Die Cb & Cr-Mittelwerteinheit 24 liefert
den Mittelwert von Farbdifferenzsignalen der YCbCr-Signale, die von
dem RGB-zu-YcbCr-Konverter 23 empfangen worden sind. Der
RGB-Verstärkungs-Controller 25 liefert
eine RGB-Verstärkung
auf der Basis der Signale der Cb & Cr-Mittelwerteinheit 24,
und gibt die erhaltene RGB-Verstärkung
an den analogen Signalprozessor 23 aus.
-
Der
analoge Signalprozessor 22 umfasst eine Fotozelle 22a,
einen analogen RGB-Verstärker 22b, und
einen A/D-Konverter 22c. Die Fotozelle 22a nimmt
ein durch die Linse 21 einfallendes Bild auf. Der analoge
RGB-Verstärker 22b justiert
die Verstärkung
eines Bildsignals von der Fotozelle 22a auf eine Verstärkung, die
durch den RGB-Verstärkungs-Controller 25 gesetzt
wird. Der A/D-Konverter 22c gibt ein Signal von dem analogen
RGB-Verstärker 22b aus,
nachdem es zu einem digitalen Signal umgewandelt worden ist.
-
Wenn
man sich ansieht, wie ein solcher herkömmlicher Bildsignalprozessor
den Weißausgleich
auf analoge weise durchführt,
erkennt man, dass ein Rückkopplungssystem
verwendet wird, sodass die Verstärkung
für jeden
der RGB-Kanäle
in dem Sensor geregelt wird, bis der Durchschnitt der Farbdifferenzkomponenten
berechnet ist und somit der Weißausgleich
abgeschlossen ist.
-
Ein
solches herkömmliches
analoges Weißausgleichverfahren
weist den Vorteil auf, dass eine relativ genaue Durchführung möglich ist,
da die analoge Verstärkung
geregelt wird, allerdings weist das Verfahren auch die nachfolgenden
Probleme auf, wenn der Sensor keinen Port hat zum Regeln der analogen
Verstärkung
oder wenn in dem Sensor keine Regelfunktion für die Verstärkung eingebettet ist, ist
ein solches herkömmliches
Verfahren nicht anwendbar, und die Implementierung dieses Verfahrens
ist auch dann schwierig, wenn die Verstärkungseigenschaften des analogen
Verstärkers
nicht richtig bekannt sind.
-
3 ist
ein Blockdiagramm und zeigt einen herkömmlichen Bildsignalprozessor,
der einen Weißausgleich
auf digitalem Weg durchführt.
-
Der
herkömmliche
Bildsignalprozessor, der in 3 gezeigt
ist, führt
einen digitalen Weißausgleich durch.
Dieser Prozessor verwendet ein anderes Verfahren im Vergleich zu
dem von 2 um einen automatischen Weißausgleich
durchzuführen.
Anders ausgedrückt
ist ein Weißausgleichsausgleichsalgorithmus
programmiert und ein digitaler Signalprozessor (DSP) oder ein Mikrocontroller
wird verwendet um den automatischen Weißausgleich zu implementieren.
-
Ein
solcher herkömmlicher
Bildsignalprozessor zum Durchführen
des Weißausgleichs
auf digitalem Weg umfasst eine Bildsensoreinheit 32, einen
digitalen Hochleistungssignalprozessor (oder Mikrocontroller) 33,
und einen Speicher 34, wie in 3 gezeigt
ist. Die Bildsensoreinheit 32 nimmt ein Bild eines Subjekts
auf, das durch eine Linse 31 einfällt. Der digitale Hochleistungssignalprozessor 33 regelt
die Verstärkung
eines Bildsignals von der Bildsensoreinheit 32. Der Speicher 34 speichert
temporäre
Bilddaten und ein Programm für
die Echtzeitbildverarbeitung in dem digitalen Signalprozessor 33.
-
Um
eine Bildsucherfunktion einer Kamera zu implementieren ist eine
Bildrate von 30 Bildern/Sekunde oder mehr erforderlich bei einem
Bild mit 300.000 Pixeln oder mehr, wobei eine Bildrate von wenigstens
15 Bildern/Sekunde erforderlich ist für ein Bild mit einer Million
Pixeln oder mehr. Um eine solch hohe Bildrate zu realisieren, ist
ein digitaler Hochleistungssignalprozessor oder ein Mikrocomputer,
der bei hoher Geschwindigkeit betrieben werden kann, erforderlich,
wie in 3 gezeigt ist, und ein Zusatzspeicher kann ebenso
erforderlich sein, wenn die Umstände
es erfordern.
-
Ein
solches herkömmliches
digitales Verarbeitungsverfahren weist den Vorteil auf, dass der
Algorithmus durch ein Programm implementiert werden kann, wodurch
sich die Flexibilität
des Systems erhöht,
da ein digitaler Signalprozessor (DSP) oder ein Mikrocomputer benutzt
wird. Das herkömmliche
digitale Verarbeitungsprogramm weist jedoch den Nachteil auf, dass
es für
die Anwendung bei Systemen wie tragbaren Bildsystemen umfassend
ein Kamerahandy nicht geeignet ist, bei denen geringere Abmessungen
und ein geringer Stromverbrauch erforderlich ist, ferner erhöht sich
der Systempreis, da ein hochpreisiger Prozessor benutzt wird.
-
In
der WO 99/63479 A1 wird ein Weißabgleich
mittels eines globalen Weißpunktes
beschrieben. Dazu werden Pixelkomponentenwerte eines Bildes mit
bestimmten Eigenschaften ausgewählt,
anschließend
wird der globale Weißpunkt
bestimmt, der globale Weißpunkt
besteht aus einer Mehrzahl von Weißwerten, wobei jeder Weißwert einem
der zuvor festgelegten Pixelkomponentenwerte zugeordnet ist.
-
In
der
US 4,736,241 A wird
eine Weißabgleich-Einstellvorrichtung
für den
automatischen Weißabgleich
einer Farbvideokamera beschrieben, bei der einem Verstärker Rot-
und Blau-Signale von Farbkomponentensignalen geliefert werden, die
durch Verarbeiten von Ausgangssignalen der Bildaufnahmevorrichtung erzeugt
worden sind. Zur Steuerung der Verstärker der Rot- und Blau-Farbkomponenten
wird eine Rückkopplungsschleife
benutzt.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung wurde unter Berücksichtigung der geschilderten
Probleme gemacht und es ist das Ziel der vorliegenden Erfindung,
ein automatisches digitales Weißausgleichsgerät zu schaffen,
das einfach bei einem digitalen Verarbeitungsverfahren implementiert
werden kann, das einen Grau-Welt-Algorithmus verwendet, sodass eine
Echtzeitverarbeitung möglich
ist, ohne dass ein separater Speicher oder ein Hochleistungsprozessor
benötigt
wird, und das unabhängig
von einem Bildsensor betrieben wird, sodass Bilddaten mit hoher
Geschwindigkeit verarbeitet werden können.
-
Erfindungsgemäß werden
die oben genannten und weitere Ziele erreicht durch die Schaffung
eines digitalen automatischen Weißausgleichsgeräts, umfassend:
einen Timing-Controller für
den Empfang eines vertikalen Synchronisationssignals und eines horizontalen
Synchronisationssignals eines eingegebenen Bildes, das in das Gerät eingegeben
worden ist, Erzeugen eines Zeitsteuersignals; einen RGB-Multiplizierer zum Multiplizieren
eingegebener RGB-Bilddaten, die in das Gerät eingegeben worden sind durch
empfangene RGB-Verstärkungen,
die jeweils den RGB-Kanälen
entsprechen; eine erste YCbCr-Mittelwerteinheit zum Konvertieren
eingegebener RGB-Bilddaten, die in das Gerät zu YCbCr-Bilddaten eingegeben
worden sind, und anschließendes
Erhalten erster YCbCr-Mittelwerte Y1avg, Cb1avg und Cr1avg dieser
YCbCr-Bilddaten; eine zweiten YCbCr-Mittelwerteinheit zum Konvertieren ausgegebener
RGB-Bilddaten, ausgegeben von dem RGB-Multiplizierer zu YCbCr-Bilddaten,
und anschließendes
Erhalten zweiter YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg dieser
YCbCr-Bilddaten; einen RGB-Verstärkungscontroller
zum Vergleichen der zweiten YCbCr-Mittelwerte mit festgelegten Ziel-YCbCr-Mittelwerten,
gemäß dem Zeitsteuersignal
von dem Timing-Controller, und Erhalten von RGB-Verstärkungen,
die den jeweiligen Kanälen
entsprechen, auf der Grundlage der ersten YCbCr-Mittelwerte, gemäß dem vergli chenen
Ergebnis, und anschließendes
zur Verfügung
Stellen der erhaltenen RGB-Verstärkungen
an den RGB-Multiplizierer.
-
Kurze Beschreibung
der Figuren
-
Die
oben genannten und weitere Ziele und weitere Vorteile der vorliegenden
Erfindung werden nachfolgend im Detail unter Bezugnahme auf die
zugehörigen
Zeichnungen erläutert,
in denen:
-
1 ist
eine grafische Darstellung und zeigt ein allgemeines zweidimensionales
Cb-Cr-Farbkoordinatensystem;
-
2 ist
ein Blockdiagramm und zeigt die Konfiguration eines herkömmlichen
Bildsignalprozessors der den Weißausgleich auf herkömmlichem
Weg durchführt;
-
3 ist
ein Blockdiagramm und zeigt einen herkömmlichen Bildsignalprozessor
der den Weißausgleich
digital durchführt;
-
4 ist
ein Blockdiagramm und zeigt die Konfiguration eines Bildsignalverarbeitungsgeräts bei dem die
vorliegende Erfindung implementiert ist;
-
5 ist
ein Blockdiagramm und zeigt die Konfiguration eines digitalen automatischen
Weißausgleichsgeräts gemäß der Erfindung;
-
6 ist
ein Flussdiagramm und zeigt das gesamte Betriebsverfahren des Weißausgleichsgeräts gemäß der Erfindung;
-
7 ist
ein Flussdiagramm und zeigt das detaillierte Betriebsverfahren des
Weißausgleichsgeräts gemäß der vorliegenden
Erfindung;
-
8a, 8b und 8c,
sind grafische Darstellungen und zeigen den gemessenen YCbCr- Mittelwert über der
RGB-Verstärkung,
eine grafische Darstellung der RGB-Verstärkung über dem gemessenen YCbCr-Mittelwert,
und eine grafische Darstellung der Weißausgleichssuche; und
-
9 zeigt
eine Darstellung des zeitlichen Verlaufs der Verarbeitungsschritte
gemäß der Erfindung.
-
Beschreibung
der bevorzugten Ausführungsbeispiele
-
Nachfolgend
werden bevorzugte Ausführungsbeispiele
der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben. In den Zeichnungen sind dieselben oder ähnliche
Elemente mit denselben Bezugszeichen versehen, auch wenn sie in
verschiedenen Zeichnungen dargestellt sind.
-
4 ist
ein Blockdiagramm und zeigt die Konfiguration eines Bildsignalverarbeitungsgeräts, bei
dem die vorliegende Erfindung implementiert ist.
-
Wie
in dieser Figur gezeigt ist, ist das Bildsignalverarbeitungsgerät, bei dem
die vorliegende Erfindung implementiert ist, aus einer Bildsensoreinheit 42 und
einem Bildsignalprozessor 43 zusammengesetzt. Die Bildsensoreinheit 42 nimmt
ein Bild eines Subjekts auf, das durch eine Linse 41 einfällt. Der
Bildsignalprozessor 43 verarbeitet Bilddaten, die von der
Bildsensoreinheit 42 empfangen werden. Ein digitales automatisches Weißausgleichsgerät gemäß der vorliegenden
Erfindung ist in dem Bildsignalprozessor 43 enthalten,
um den Weißausgleich
für ein
Bild durchzuführen.
-
5 ist
ein Blockdiagramm und zeigt den Aufbau eines digitalen automatischen
Weißausgleichsgeräts gemäß der vorliegenden
Erfindung.
-
Wie
in dieser Figur gezeigt ist, umfasst das digitale automatische Weißausgleichsgerät gemäß der vorliegenden
Erfindung einen Timing-Controller 510, der ein Zeitsteuersignal
gibt, einen RGB-Multiplizierer 520, eine erste YCbCr-Mittelwerteinheit 530,
eine zweite YCbCr-Mittelwerteinheit 540, und einen RGB- Verstärkungs-Controller 550.
Der Timing-Controller 510 empfängt ein eingegebenes vertikales
Synchronisationssignal Vsync und ein eingegebenes horizontales Synchronisationssignal
Hsync, die in das digitale automatische Weißausgleichsgerät eingegeben
werden, und produziert ein Zeitsteuersignal (Timing Control Signal).
Der RGB-Multiplizierer 520 multipliziert eingegebene RGB-Bilddaten
(R-Eingabe, G-Eingabe
und B-Eingabe) mit den jeweiligen RGB-Verstärkungen, die jeweils den RGB-Kanälen entsprechen,
die von dem RGB-Verstärkungs-Controller 550 empfangen
werden, und gibt die resultierenden RGB-Bilddaten (R-Ausgang, G-Ausgang und
B-Ausgang) aus. Die erste YCbCr-Mittelwerteinheit 530 konvertiert
die eingegebenen RGB-Bilddaten zu YCbCr-Bilddaten, und erhält erste
YCbCr-Mittelwerte Y1avg, Cb1avg und Cr1avg aus diesen YCbCr-Bilddaten.
Die zweite YCbCr-Mittelwerteinheit 540 konvertiert die
ausgegebenen RGB-Bilddaten von dem RGB-Multiplizierer 520 zu
YCbCr-Bilddaten, und erhält
dann zweite YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg aus diesen
YCbCr-Bilddaten. Dem Zeitsteuersignal des Timing-Controllers 510 vergleicht
der RGB-Verstärkungscontroller 550 die
zweiten YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg mit festgelegten
Ziel-Mittelwerten-YCbCr TY, TCb und TCr. Gemäß dem verglichenen Ergebnis
erhält
der RGB-Verstärkungs-Controller 550 Verstärkungen
Rg, Gg und Bg, die jeweils den RGB-Kanälen entsprechen, auf der Basis
der ersten YCbCr-Mittelwerte Y1avg, Cb1avg und Cr1avg, und stellt
die erhaltenen Verstärkungen
Rg, Gg und Bg dann dem RGB-Multiplizierer 520 zur Verfügung.
-
Die
erste YCbCr-Mittelwerteinheit 530 umfasst einen ersten
RGB-zu-YCbCr-Konverter 532 und einen ersten YCbCr-Mittelwertbilder 534.
Der erste RGB-zu-YCbCr-Konverter 532 konvertiert
die eingegebenen RGB-Bilddaten in YCbCr-Bilddaten. Der erste YCbCr-Mittelwertbilder 534 liefert
erste YCbCr-Mittelwerte Y1avg, Cb1avg und Cr1avg aus den YCbCr-Bilddaten
des ersten RGB-zu-YCbCr-Konverters 532.
-
Die
zweite YCbCr-Mittelwerteinheit 540 umfasst einen zweiten
RGB-zu-YCbCr-Konverter 542 und
einen zweiten YCbCr-Mittelwertbilder 544. Der zweite RGB-zu-YCbCr-Konverter 542 konvertiert
die ausgegebenen RGB-Bilddaten in YCbCr-Bilddaten. Der zweiten YCbCr-Mittelwertbilder 544 liefert
zweite YCbCr-Mittelwerte
Y2avg, Cb2avg und Cr2avg aus den YCbCr-Bilddaten des zweiten Y2avg,
Cb2avg und Cr2avg aus den YCbCr-Bilddaten des zweiten RGB-zu-YCbCr-Konverters 542.
-
Der
RGB-Verstärkungs-Controller 550 hat
vorgewählte
grobe, feine und gesperrte Bereiche. Falls die zweiten YCbCr-Mittelwerte
Y2avg, Cb2avg und Cr2avg innerhalb der groben oder feinen Bereiche
liegen, berechnet der RGB-Verstärkungs-Controller 550 die
RGB-Verstärkungen
Rg, Gg und Bg nochmals, die jeweils den RGB-Kanälen entsprechen, und stellt
sie dem RGB-Multiplizierer 520 zur Verfügung. Andererseits, falls die
zweiten YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg innerhalb des
gesperrten Bereichs liegen, stellt der RGB-Verstärkungs-Controller 550 die vorherigen
RGB-Verstärkungen
Rg, Gg und Bg, die jeweils den RGB-Kanälen entsprechen, dem RGB-Multiplizierer 520 zur
Verfügung.
-
Zusätzlich ändert der
RGB-Verstärkungs-Controller 550 Y/Cb/Cr
in den Schritten SY, SCb und SCr, die weiter unten beschrieben werden,
auf der Basis eines festgelegten groben Schrittes, falls die. zweiten
YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg innerhalb des groben
Bereichs sind. Anders ausgedrückt
vergleicht der RGB-Verstärkungs-Controller 550 die
zweiten YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg mit den Zielmittelwerten
für YCbCr
TY, TCb und TCr und verändert
Y/Cb/Cr in den Schritten SY, SCb und SCr durch Addieren oder Subtrahieren
des groben Schrittes zu oder von Y/Cb/Cr in den Schritten SY, SCb
und SCr auf der Basis des verglichenen Ergebnisses. Anschließend berechnet
der RGB-Verstärkungs-Controller 550 die RGB-Verstärkungen
Rg, Gg und Bg, die den jeweiligen RGB-Kanälen entsprechen, auf der Basis
der geänderten
Y/Cb/Cr in den Schritten SY, SCb und SCr, der ersten YCbCr-Mittelwerte
Y1avg, Cb1avg und Cr1avg und der Zielmittelwerte YCbCr TY, TCb und
TCr.
-
Andererseits ändert der
RGB-Verstärkungs-Controller 550 Y/Cb/Cr
in den Schritten SY, SCb und SCr auf der Basis eines festgelegten
feinen Schrittes, falls die zweiten YCbCr-Mittelwerte Y2avg, Cb2avg
und Cr2avg innerhalb des feinen Bereichs liegen. Anders ausgedrückt vergleicht
der RGB-Verstärkungs-Controller 550 die
zweiten YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg mit den Zielmittelwerten
YCbCr TY, TCb und TCr, und vereinbart Y/Cb/Cr in den Schritten SY, SCb
und SCr durch Addieren oder Subtrahieren des feinen Schrittes zu
oder von Y/Cb/Cr in den Schritten SY, SCb und SCr auf der Basis
des verglichenen Ergebnisses. Anschließend berechnet der RGB-Verstärkungs-Controller 550 die
RGB-Verstärkungen
RG, Gg und Bg, die den jeweiligen RGB-Kanälen entsprechen, auf der Basis
der geänderten
Y/Cb/Cr in den Schritten SY, SCb und SCr, der ersten YCbCr-Mittelwerte
Y1avg, Cb1avg und Cr1avg und der Zielmittelwerte YCbCr TY, TCb und TCr.
-
Es
wird bevorzugt, dass der RGB-Verstärkungs-Controller 550 die
RGB-Verstärkungen
Rg, Gg und Bg, die den jeweiligen RGB-Kanälen entsprechen, auf der Basis
einer festgelegten A/D-Umwandlungsauflösung (2N-1)
berechnet, wenn man die A/D-Umwandlungsauflösung (Pixeltiefe = N) berücksichtigt,
und auf der Basis der geänderten
Y/Cb/Cr mit den Schritten SY, SCb und SCr, den ersten YCbCr-Mittelwerten
Y1avg, Cb1avg und Cr1avg und den Zielmittelwerten YCbCr TY, TCb
und TCr.
-
Unterschiedliche
Betriebsweisen des RGB-Verstärkungs-Controllers 550 werden
ausgewählt,
abhängig
davon ob „RGB-Verstärkung ein
oder aus" gesetzt
ist gemäß der Auswahl
eines Benutzers. Falls die RGB-Verstärkung „ein" gesetzt ist, berechnet der RGB-Verstärkungs-Controller 550 die
RGB-Verstärkungen RG,
Gg, Bg wieder und stellt sie dem RGB-Multiplizierer 520 zur
Verfügung.
Im Gegensatz dazu, falls die RGB-Verstärkung „aus" gesetzt ist, stellt der RGB-Verstärkungs-Controller 550 festgelegte
RGB-Grundverstärkungen
dem RGB-Multiplizierer 520 zur Verfügung.
-
Im
Folgenden wird eine detaillierte Beschreibung der Betriebsweisen
und Vorteile der vorliegenden Erfindung unter Bezugnahme auf die
zugehörigen
Zeichnungen gegeben.
-
Die
vorliegende Erfindung schafft ein digitales automatisches Weißausgleichsgerät, das bei
tragbaren Bildsystemen wie Kamerahandys einsetzbar ist, das einfach
in ein digitales Verarbeitungsverfahren implementierbar ist und
einen Grau-Welt-Algorithmus
verwendet, sodass eine Echtzeitverarbeitung möglich ist ohne dass ein separater
Speicher oder ein Hochleistungsprozessor benötigt wird, und das auch unabhängig von
einem Bildsensor betreibbar ist, sodass Bilddaten bei hoher Geschwindigkeit
verarbeitet werden können.
Ein solches digitales automatisches Weißausgleichsgerät wird nun
unter Bezugnahme auf die 4 bis 9 beschrieben.
-
Ein
Bildsignalprozessor 43, bei dem das digitale automatische
Ausgleichsgerät
gemäß der Erfindung eingesetzt
wird, umfasst einen Linienpuffer 43a, einen ersten Bildprozessor 43b,
ein Weißausgleichsgerät 43c, einen
zweiten Bildprozessor 43d und einen Ausgabeformatierer 43e.
Dieses Ausgabebild hat im Allgemeinen die Form YCbCr.
-
Die
ersten und zweiten Bildprozessoren 43b und 43d führen eine
Bildverarbeitung und ein Upgrade durch, umfassend Interpolation,
Farbraumumwandlung, Gammakorrektur, Rauschreduzierung, Farbe/Sättigung,
Helligkeit/Kontrast, Histogrammausgleich, od. dgl. Zusätzlich,
um einen Grau-Welt-Algorithmus für
den Weißausgleich
bei einem eingegebenen Videobild zu implementieren und somit einen
automatischen Weißausgleich
in Echtzeit durchzuführen,
wird eine Folge von Verarbeitungsschritten, die in den 6 und 7 dargestellt
sind, durchgeführt,
um einen Zielwert oder einen optimalen Wert für die RGB-Verstärkung für den Weißausgleich
zu finden.
-
Bezug
nehmend auf 5 empfängt der Timing-Controller 510 des
digitalen Weißausgleichsgeräts gemäß der vorliegenden
Erfindung ein vertikales Synchronisationssignal Vsync und ein horizontales
Synchronisationssignal Hsync eines eingegebenen Bildes, und produziert
ein Zeitsteuersignal zum Steuern der Betriebszeit aller Bestandteile,
aus denen das Gerät
besteht.
-
Der
RGB-Multiplizierern 520 gemäß der vorliegenden Erfindung
multipliziert eingegebene RGB-Bilddaten mit den jeweiligen RGB-Verstärkungen
die den jeweiligen RGB-Kanälen
entsprechen und gibt die resultierenden RGB-Bilddaten aus. Der RGB-Mulitplizierer 520 empfängt die
RGB-Verstärkungen
von dem RGB-Verstärkungs-Controller 550,
der weiter unten beschrieben wird.
-
Die
erste YCbCr-Mittelwerteinheit 530 gemäß der vorliegenden Erfindung
wandelt eingegebene RGB-Bilddaten in YCbCr-Bilddaten um, und erhält erste
YCbCr-Mittelwerte
Y1avg, Cb1avg und Cr1avg dieser YCbCr-Bilddaten. Im Detail wandelt
der erste RGB-zu-YCbCr-Konverter 532 in der ersten YCbCr-Mittelwerteinheit 530 die
eingegebenen RGB-Bilddaten in YCbCr-Bilddaten um und gibt sie an
den ersten YCbCr-Mittelwertbilder 534 aus. Anschließend liefert
der erste YCbCr-Mittelwertbilder 534 erste YCbCr-Mittelwerte Y1avg,
Cb1avg und Cr1avg der YCbCr-Bilddaten, die empfangen worden sind
von dem ersten RGB-zu-YCbCr-Konverter 532, und stellt die
erhaltenen ersten YCbCr-Mittelwerte
dem RGB-Verstärkungs-Controller 550 zur
Verfügung.
-
Auf
dieselbe Weise wie die erste YCbCr-Mittelwerteinheit 530 arbeitet,
konvertiert die zweite YCbCr-Mittelwerteinheit 540 ausgegebene
RGB-Bilddaten von dem RGB-Multiplizierer 520 in YCbCr-Bilddaten, und
liefert dann zweite YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg aus
diesen YCbCr-Bilddaten. Im Detail wandelt der zweite RGB-zu-YCbCr-Konverter 542 in
der zweiten YCbCr-Mittelwerteinheit 540 die ausgegebenen
RGB-Bilddaten in YCbCr-Bilddaten um, und gibt diese an den zweiten
YCbCr-Mittelwertbilder 544 aus. Anschließend liefert
der zweite YCbCr-Mittelwertbilder 544 zweite YCbCr-Mittelwerte
Y2avg, Cb2avg und Cr2avg von dem YCbCr-Bild, das von dem zweiten
RGB-zu-YCbCr-Konverter 532 erhalten wurde, und stellt die
erhaltenen zweiten YCbCr-Mittelwerte dem RGB-Verstärkungs-Controller 550 zur
Verfügung.
-
Wie
oben beschrieben wurde liest jede der ersten und zweiten YCbCr-Mittelwerteinheiten 530 und 540 kontinuierlich
Bilddaten und akkumuliert Bilddaten bis alle Bilddaten eines Bildes
gelesen sind (S61–S64),
wie in 6 gezeigt ist. Wenn alle Bilddaten eines Bildes
gelesen worden sind, erhält
jede der ersten und zweiten YCbCr-Mittelwerteinheiten 530 und 540 einen
Mittelwert von allen gelesenen Bilddaten (S65).
-
Anschließend vergleicht
der RGB-Verstärkungs-Controller 550 gemäß dem Zeitsteuersignal
von dem Timing-Controller 510 die zweiten YCbCr-Mittelwerte Y2avg,
Cb2avg und Cr2avg mit festgelegten Zielmittelwerten YCbCr TY, TCb
und TCr. Gemäß dem verglichenen
Ergebnis liefert der RGB-Verstärkungs-Controller 550 RGB-Verstärkungen
Rg, Gg und Bg, die den jeweiligen RGB-Kanälen entsprechen, auf der Basis
der ersten YCbCr-Mittelwerte Y1avg, Cb1avg und Cr1avg, und stellt
die erhaltenen RGB-Verstärkungen
Rg, Gg und Bg dem RGB-Multiplizierer 520 zur
Verfügung.
Anschließend
multipliziert der RGB-Multiplizierer 520 die eingegebenen
RGB-Bilddaten mit den RGB-Verstärkungen
Rg, Gg und Bg, die von dem RGB-Verstärkungs-Controller 550 erhalten
worden sind, und gibt die resultierenden RGB-Bilddaten aus, wie
oben beschrieben wurde.
-
Nun
wird der Betrieb des RGB-Verstärkungs-Controllers 550 detailliert
beschrieben.
-
Wie
in den 5 bis 7 gezeigt ist, wurden Y/Cb/Cr
mit den Schritten SY, Scb und SCr, „N" in der A/D-Umwandlungsauflösung (2N-1) und die RGB-Verstärkungen, Rg, Gg und Bg im voraus
in dem RGB-Verstärkungs-Controller 550 (S71)
gesetzt. Anschließend
wurde ein grober Schritt, ein feiner Schritt, die Werte „a", „b", „c" und „d", die die Grenzen
des groben, feinen und gesperrten Bereiches gesetzt, um die Bereiche
festzulegen, ferner wurden Zielmittelwerte YCbCr TY, TCb und TCr
gesetzt (S72). Wenn die YCbCr-Mittelwerte in die groben, feinen
und gesperrten Bereiche eingeteilt sind, entsprechen die Grenzen
der groben, feinen und gesperrten Bereiche den Werten „a", „b", „c" oder „d".
-
Anschließend werden
die ersten YCbCr-Mittelwerte Y1avg, Cb1avg und Cr1avg und die zweiten
YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg, die jeweils bei der
ersten YCbCr-Mittelwerteinheit 530 und der zweiten YCbCr-Mittelwerteinheit 540 erhalten
werden, in den RGB-Verstärkungs-Controller 550 (S73)
eingegeben.
-
Anschließend bestimmt
der RGB-Verstärkungs-Controller 550,
ob die zweiten YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg innerhalb
des groben Bereichs liegen, ob sie innerhalb des feinen Bereichs
liegen und ob sie innerhalb des gesperrten Bereichs liegen (S74).
Falls das festgelegte Ergebnis ergibt, dass die zweiten YCbCr-Mittelwerte
Y2avg, Cb2avg und Cr2avg innerhalb des groben oder feinen Bereichs
liegen, berechnet der RGB-Verstärkungs-Controller 550 die
RGB-Verstärkung Rg,
Gg und Bg nochmal und macht ein Update, die den jeweiligen RGB-Kanälen entsprechen
(S75-S79), und stellt sie dem RGB-Multiplizierer 520 zur
Verfügung.
-
Der
RGB-Verstärkungs-Controller 550 bestimmt
die Y/Cb/Cr-Schritte SY, SCb und SCr auf die folgende Weise.
-
Bezug
nehmend auf 7 verändert der RGB-Verstärkungs-Controller 550 die
Y/Cb/Cr-Schritte SY, SCb und SCr auf der Basis eines festgelegten
groben Schrittes, falls die zweiten YCbCr-Mittelwerte Y2avg, Cb2avg
und Cr2avg innerhalb des groben Bereichs sind. Anders ausgedrückt vergleicht
der RGB-Verstärkungs-Controller 550 die
zweiten YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg mit den Zielmittelwerten
YCbCr TY, TCb und TCr, und verändert
die Y/Cb/Cr-Schritte SY, SCb und SCr durch Addieren oder Subtrahieren des
groben Schrittes zu oder von den Y/Cb/Cr-Schritten SY, SCb und SCr
auf der Basis des verglichenen Ergebnisses (S76).
-
Andererseits
verändert
der RGB-Verstärkungs-Controller 550 die
Y/Cb/Cr-Schritte SY, SCB und SCr auf der Basis eines festgelegten
feinen Schrittes falls die zweiten YCbCr-Mittelwerte Y2avg, Cb2avg
und Cr2avg innerhalb des feinen Bereichs liegen, wie in 7 gezeigt
ist. Anders ausgedrückt
vergleicht der RGB-Verstärkungs-Controller 550 die
zweiten YCbCr-Mittelwerte Y2avg, Cb2avg und Cr2avg mit den Zielmittelwerten
YCbCr TY, TCb und TCr, und verändert
die Y/Cb/Cr-Schritte SY, SCb und SCr durch Addieren oder Subtrahieren
des feinen Schrittes zu oder von den Y/Cb/Cr-Schritten SY, SCb und
SCr auf der Basis des verglichenen Ergebnisses (S77).
-
Der
grobe Schritt bezieht sich auf eine Schrittgröße zum Erreichen (oder zum
Suchen nach) eines Zielwertes für
den Weißausgleich
aus dem groben Bereich, wohingegen der feine Schritt sich auf eine
Schrittgröße zum Erreichen
(oder zum Suchen nach) des Zielwertes für den Weißausgleich aus dem feinen Bereich
bezieht.
-
Die
YCbCr-Zielmittelwerte TY, TCb und TCr sind Zielwerte für den Weißausgleich
entsprechend den Kanälen
Y, Cb und Cr.
-
Nach
der Festlegung der Y/Cb/Cr-Schritte SY, SCb und SCr berechnet der
RGB-Verstärkungs-Controller
550 die
RGB-Verstärkungen
Rg, Gg und Bg die den jeweiligen Kanälen entsprechen, wie durch
die folgende Gleichung ausgedrückt
wird, basierend auf einer festgelegten A/D-Umwandlungsauflösung (2
N-1 ), den geänderten Y/Cb/Cr-Schritten SY,
SCb und SCr, den ersten YCbCr-Mittelwerten Y1avg, Cb1avg und Cr1avg, und
den YCbCr-Zielmittelwerten TY, TCb und TCr. Gleichung
2:
-
Der
RGB-Verstärkungs-Controller 550 führt einen
Update der vorherigen RGB-Verstärkungen
mit den RGB-Verstärkungen,
die durch Gleichung 2 berechnet worden sind, durch, und gibt die
RGB-Verstärkungen nach
dem Update an den RGB-Multiplizierer 520 aus.
-
Andererseits
werden unterschiedliche Betriebsarten des RGB-Verstärkungs-Controllers 550 gemäß der Erfindung
ausgewählt,
in Abhängigkeit
davon, ob „RGB-Verstärkung ein
oder aus" gesetzt
ist. Anders ausgedrückt,
falls RGB-Verstärkung „ein" gesetzt ist, berechnet
der RGB-Verstärkungs-Controller 550 die RGB-Verstärkungen
Rg, Gg, Bg noch mal und stellt sie dem RGB-Multiplizierer 520 zur
Verfügung.
Andererseits, falls die RGB-Verstärkung „aus" gesetzt ist, stellt der RGB-Verstärkung-Controller 550 dem
Multiplizierer 520 festgelegte RGB-Grundverstärkungen zur Verfügung.
-
Die 8a, 8b und 8c sind
grafische Darstellungen und zeigen die RGB-Verstärkung über dem gemessenen YCbCr-Mittelwert,
eine grafische Darstellung der RGB-Verstärkung über dem gemessenen YCbCr-Mittelwert,
und eine Suchkurve für
den Weißausgleich.
Diese grafischen Darstellungen zeigen Kurven A und B um das Konzept
des Suchalgorithmus für
die Koeffizienten des Weißausgleichs
darzustellen, das in der vorliegenden Erfindung vorgeschlagen wird,
wobei ein eingegebenes Bild eine Pixeltiefe (N: Pixeltiefe) in dem
Bereich von 0 bis 2N-1 hat.
-
Die
gemessenen YCbCr-Durchschnittswerte werden im Wesentlichen in fünf Bereiche
eingeteilt (zwei grobe Bereiche, zwei feine Bereiche und ein gesperrter
Bereich), abhängig
davon wie weit die gemessenen YCbCr-Durchschnittswerte von dem Zielwert
entfernt sind. Die Breite eines jeden Bereichs hat sowohl einen Einfluss
auf die Qualität
eines ausgegebenen Weißausgleichsbilds
als auch auf die Geschwindigkeit zum Erreichen des optimalen Weißausgleichswerts.
-
In
den groben Bereichen, die weit von dem Zielwert für den Weißausgleich
entfernt sind, ist der Schritt zum Erreichen des Zielwertes in den
fünf Bereichen,
die in den 8a bis 8c gezeigt
sind, größer gewählt. Im
Gegensatz dazu ist der Schritt in den feinen Bereichen, die näher bei
dem Zielwert liegen, zum Erreichen des Zielwertes kleiner gewählt. In
dem gesperrten Bereich, der dem Zielwert am nächsten ist, wird der Suchalgorithmus
für den
Weißausgleich
gestoppt und die RGB-Verstärkungen,
die auf ein eingegebenes Bild anzuwenden sind, bleiben unverändert. Die
Schrittgrößen sind
einstellbare gesetzte Werte, die benutzt werden, wenn die RGB-Verstärkungen
berechnet werden. Die Werte für
die YCbCr-Zielmittelwerte TY, TCb und TCr und die Werte für „a", „b", „c" und „d" zum Einteilen der
Bereiche, wie in den 8a bis 8c gezeigt
ist, sind ebenso einstellbare gesetzte Werte. Im Allgemeinen wird
ein gewünschter
Weißausgleichslevel
innerhalb von 3–4
Bildern erreicht, nachdem die Bildeingabe begonnen hat.
-
8a ist
eine grafische Darstellung des gemessenen YCbCr-Mittelwertes und
der RGB-Verstärkung. 8b ist
eine grafische Darstellung des gemessenen YCbCr-Mittelwertes und
der RGB-Verstärkung,
und 8c ist ein Suchgraph für den Weißausgleich.
-
In
dem Graph von 8a zeigt die Kurve A den funktionalen
Zusammenhang des YCbCr-Pixelmittelwertes mit der RGB-Verstärkung (das
heißt
die Verstärkung
ist f (Mittelwert)). Anders ausgedrückt stellt die Funktion f RGB-Verstärkungen
(G1–G3)
dar, die auf das nächste
Bild angewendet werden, wenn ein Videobild Bild per Bild eingegeben
wird, und die YCbCr-Pixelmittelwerte (M1–M3) des aktuellen Bildes werden
erhalten.
-
In
der graphischen Darstellung von 8b zeigt
die Kurve B den funktionalen Zusammenhang der RGB-Verstärkung mit
dem YCbCr-Pixelmittelwert (der Mittelwert = g (Verstärkung)).
Die Funktion g stellt die erwarteten YCbCr-Mittelwerte (M2–M4) des
nächsten
Bildes dar, wenn die RGB-Verstärkungen
(G1–G3)
auf jedes Pixel des aktuellen Bildes angewendet werden.
-
Bezug
nehmend auf die 8a bis 8c, unter
der Annahme, dass ein Bild, dessen YCbCr-Mittelwert M1 ist, eingegeben
wird, wird der Suchalgorithmus für
den Weißausgleich
nachfolgend detailliert beschrieben. Beispielsweise beträgt eine
RGB-Verstärkung,
die einem Mittelwert M1 entspricht, „G1 = YCbCr (M1)" aus Kurve A. Wenn
die RGB-Verstärkung
G1 auf das eingegebene Bild angewendet wird, wird ein YCbCr-Mittelwert „M2 = g
(G1)" aus Kurve
B erhalten. Der Level des Weißausgleichs
des Bildes, das durch ein solches Verfahren erhalten wird, ist in
der Nähe
des Zielwertes aber nicht auf dem gewünschten Niveau, und somit wird
eine neue RGB-Verstärkung
auf dieselbe Weise nochmals gesucht.
-
Wenn
eine neue RGB-Verstärkung
(G2 = f (M2)) auf die Kurve A angewendet wird, wird ein YCbCr-Pixelmittelwert
(M3 = g (G2)) aus Kurve B erhalten. Falls eine neue RGB-Verstärkung (G3
= f (M3)) auf dieselbe Weise angewendet wird, wird das Bild in der
Folge geändert,
sodass es einen YCbCr-Pixelmittelwert (M4 = g (G3)) hat. Auf eine
solche Weise nähert
sich der YCbCr-Pixelmittelwert des Bildes näher und näher an den Zielwert an.
-
Eine
solche Folge von Prozessen verbessert allmählich den Weißausgleichslevel
des Bildes, was in 8c durch „A-B-C-D-E-F" dargestellt wird.
-
9 zeigt
eine Darstellung des zeitlichen Ablaufs gemäß der vorliegenden Erfindung.
-
9 zeigt
ein Zeitdiagramm für
jede Funktion des Betriebs des RGB-Verstärkungs-Controllers. Aus 9 ist
ersichtlich, dass eine für
das aktuelle Bild errechnete RGB-Verstärkung auf das nächste Bild
angewendet wird, und die Berechnung der RGB-Verstärkung wird
während
einer vertikalen Austastlücke
zwischen Bildern durchgeführt.
-
Aus
der obigen Beschreibung ergibt sich, dass ein digitales automatisches
Weißausgleichsgerät gemäß der vorliegenden
Erfindung die folgenden Vorteile aufweist. Es ist möglich, das
digitale automatische Weißausgleichsgerät zu geringen
Kosten zu implementieren, ohne dass ein separater Speicher oder
ein Hochleistungsprozessor erforderlich ist. Zusätzlich kann das Gerät auf eine
relativ kleine Größe oder
Fläche
implementiert werden, da es eine einfache Hardwarestruktur besitzt.
Da das Gerät
ein digitales Bildverarbeitungsverfahren verwendet, kann es unabhängig von
einem Bildsensor betrieben werden, ohne einen separaten Betrieb
des Sensors wie eine analoge Verstärkungsregelung. Ferner, da
eine Echtzeitverarbeitung von Bilddaten durchgeführt wird, kann eine Hochgeschwindigkeitsverarbeitung
des eingegebenen Bildes durchgeführt
werden, sodass eine Weißausgleichsberechnung
in Echtzeit ohne einen Speicher durchgeführt werden kann, wenn eine
Bildvorschaufunktion wie eine Suchbildfunktion benutzt wird.
-
Obwohl
die bevorzugten Ausführungsbeispiele
der vorliegenden Erfindung für
Darstellungszwecke offenbart wurden, ist es für einen Fachmann auf dem Gebiet
klar, dass vielfältige
Modifikationen, Ergänzungen und
Ersetzungen möglich
sind, ohne den Schutzbereich der Erfindungen zu verlassen, der durch
die Patentansprüche
festgelegt wird.