-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung
zum Durchführen
einer lokalen Farbkorrektur.
-
HINTERGRUND DER ERFINDUNG
-
Eine
Farbtonreproduktion ist ein wichtiger Aspekt der Bildverarbeitung.
Traditionell wurde eine Tonkorrektur bisher für ein gegebenes Bild global
durchgeführt.
Globale Tonkorrekturoperationen wenden traditionell dieselbe Korrektur
auf alle Pixel eines Bildes an. Mit anderen Worten sind sie eindimensionale
Operationen, die jeden Eingangswert auf einen und nur einen Ausgangswert
abbilden.
-
Eine
globale Tonkorrektur führt
zu einer angemessenen Korrektur, wenn der Dynamikbereich des ursprünglichen
Bildes ziemlich begrenzt ist. Wenn das ursprüngliche Bild einen großen Dynamikbereich
aufweist, wird es immer schwieriger, eine globale Tonkorrektur durchzuführen, die
Einzelheiten sowohl bezüglich Schatten
als auch bezüglich
Spitzlichtern berücksichtigt.
-
Folglich
wurden zum Verarbeiten von Bildern mit einem großen Dynamikbereich bereits
mehrere lokale Tonkorrekturoperationen vorgeschlagen. Eine lokale
Tonkorrekturoperation bildet üblicherweise
einen Eingangswert auf verschiedene Ausgangswerte ab, je nach den
Werten der benachbarten Pixel. Dies ermöglicht gleichzeitige Schatten-
und Spitzlichtanpassungen.
-
Lokaltonkorrekturtechniken
des Standes der Technik umfassen manuelle Vorgänge, z.B. Abwedeln und Brennen,
sowie automatisierte Techniken, z.B. Histogrammentzerrung, stückweise
Gamma-Korrektur sowie Retinex-Algorithmen. Diese Techniken sind
ziemlich vielversprechend. Jedoch sind manche dieser Techniken ziemlich
komplex und zeitaufwändig.
Andere liefern keine einheitlich akzeptable Qualität. Deshalb
besteht in der Technik ein Erfordernis einer Lokaltonkorrekturtechnik,
die einfach und schnell ist und die qualitativ hochwertige Bilder
erzeugt.
-
Die
US 5,793,885 offenbart ein
System zum räumlichen
Filtern digitaler Farbbilder, um die Bilder schärfer zu machen. Pixel eines
RGB-Bildes werden räumlich
gefiltert, indem ein Hochpassfilter an das Bild angelegt wird. Aus
dem Eingangsbild werden Signale extrahiert, die für die Luminanz
repräsentativ
sind. Dann werden die extrahierten Luminanzsignale gefiltert. Anschließend werden
Quotientensignale entwickelt, die das Verhältnis zwischen jedem gefilterten
Luminanzsignal und dem entsprechenden ursprünglichen Luminanzsignal darstellen.
Quotientensignale werden mit den entsprechenden Pixeln jeder Ebene
des ursprünglichen
Bildes multipliziert, um ein Ausgangsbild zu liefern.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
Erfindung ist auf ein Verfahren zum Durchführen einer lokalen Farbkorrektur
gerichtet, wie es in den Ansprüchen
angeführt
ist. Ein Ausführungsbeispiel
der Erfindung ist ein aus zwei Teilen bestehender Prozess. Der erste
Teil gewinnt eine Bildmaske aus einem Eingangsbild. Bei manchen
Ausführungsbeispielen
ist die Maske eine invertierte, tiefpassgefilterte, monochrome Version
des Eingangsbildes. Der zweite Teil kombiniert die gewonnene Maske
mit dem Eingangsbild durch eine nicht-lineare Operation. Bei manchen
Ausführungsbeispielen
ist die Kombinationsoperation eine variable exponentielle Funktion,
die die Maskenwerte als Teil ihres Exponenten und die Pixelwerte
als Teil ihrer Basis aufweist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
In
den angehängten
Patentansprüchen
sind die neuartigen Merkmale der Erfindung dargelegt. Zu Veranschaulichungszwecken
sind jedoch mehrere Ausführungsbeispiele
der Erfindung in den folgenden Figuren dargelegt.
-
1 veranschaulicht
einen Lokalfarbkorrekturprozess, der bei manchen Ausführungsbeispielen
der Erfindung verwendet wird.
-
2 veranschaulicht
einen Prozess zum Erzeugen einer Tonmaske durch eine Tiefpassfilteroperation.
-
3 veranschaulicht
einen Prozess zum Kombinieren von Pixelwerten mit ihren entsprechenden Maskenwerten
aus der Tonmaske durch eine nicht-lineare, exponentielle Operation.
-
4 veranschaulicht
mehrere Kurven, die zeigen, wie Pixelfarbwerte in Abhängigkeit
von den jeweiligen Maskenwerten auf Ausgangsfarbwerte gebildet werden.
-
5 präsentiert
eine konzeptionelle Veranschaulichung einer zweidimensionalen Nachschlagtabelle,
die modifizierte Pixelfarbwerte speichert.
-
6 veranschaulicht
mehrere Stellen in einem Computer und einer Bildaufnahmevorrichtung
zum Integrieren der Erfindung.
-
7 veranschaulicht
ein Computersystem, das zum Implementieren mancher Ausführungsbeispiele der
Erfindung verwendet wird.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Die
Erfindung ist auf Verfahren zum Durchführen einer lokalen Farbkorrektur
gerichtet. In der folgenden Beschreibung werden zu Erläuterungszwecken
zahlreiche Einzelheiten dargelegt. Jedoch werden Fachleute erkennen,
dass die Erfindung ohne die Verwendung dieser spezifischen Einzelheiten
praktiziert werden kann. In anderen Fällen sind hinreichend bekannte
Strukturen und Vorrichtungen in Form eines Blockdiagramms gezeigt,
um die Beschreibung der Erfindung nicht mit unnötigen Einzelheiten zu verschleiern.
-
1 veranschaulicht
einen Prozess 100, der bei manchen Ausführungsbeispielen der Erfindung
verwendet wird. Wie in dieser Figur gezeigt ist, empfängt (bei 105)
der Prozess 100 anfänglich
ein digitales Farbbild, das durch eine Anzahl von Pixeln (d.h. Bildelementen)
gebildet wird. Im Einzelnen empfängt
der Prozess bei manchen Ausführungsbeispielen
Sätze von
Komponentenfarbwerten, die das digitale Farbbild darstellen. Jeder
Satz der Komponentenfarbwerte spezifiziert die Farbe eines Pixels
des digitalen Bildes. Bei manchen Ausführungsbeispielen der Erfindung
sind die Komponentenfarben die additiven Primärfarben Rot, Grün oder Blau
(„RGB"). Jedoch verwenden
andere Ausführungsbeispiele
andere Komponentenfarbwerte (z.B. CMYK-Werte, YCrCb-Werte, CIELAB-,
CIECAM97s-Werte usw.), um die Farben der Pixel des digitalen Bildes zu
spezifizieren.
-
Wie
in 1 gezeigt ist, erzeugt (bei 110) der
Prozess eine Tonmaske aus dem empfangenen digitalen Bild. Eine Tonmaske
ist ein Bild, das die Toneigenschaften des empfangenen digitalen
Bildes in abgekürzter Form
codiert. Mit anderen Worten enthält
die Maske Informationen über
den Farbton der Posten in dem empfangenen Bild, unabhängig von
dem Inhalt oder der Identität
der Posten. Die numerischen Werte in der Tonmaske weisen auf Schatten,
Spitzlichter und Mitteltöne
in dem empfangenen digitalen Bild hin.
-
Wie
auch das empfangene digitale Bild umfasst das Tonmaskenbild eine
Anzahl von Pixeln. Die Farbe jedes Pixels in der Tonmaske wird durch
einen Maskenfarbwert spezifiziert. Jedes Pixel in dem Tonmaskenbild entspricht
einem Pixel in dem digitalen Bild. Desgleichen ist der Maskenfarbwert
jedes Pixels in der Tonmaske den Komponentenfarbwerten des entsprechenden
Pixels in dem digitalen Bild zugeordnet.
-
Verschiedene
Ausführungsbeispiele
der Erfindung verwenden verschiedene Techniken, um die Tonmaske
des empfangenen digitalen Bildes zu erzeugen. Manche Ausführungsbeispiele
erzeugen diese Maske, indem sie eine iterative Operation an dem
empfangenen Bild durchführen.
Beispielsweise erzeugen manche Ausführungsbeispiele die Maske,
indem sie einen iterativen Prozess (z.B. einen Retinex-Prozess)
verwenden, der Annahmen bezüglich
des visuellen Systems des Menschen macht. Andere Ausführungsbeispiele
erzeugen diese Maske, indem sie eine nicht-iterative Operation an
dem empfangenen Bild durchführen.
Beispielsweise führen
manche Ausführungsbeispiele
eine Tiefpassfilteroperation an dem empfangenen Bild durch, um diese
Maske zu erzeugen. Ein derartiger Lösungsansatz wird nachstehend
unter Bezugnahme auf 2 beschrieben.
-
Wie
in 1 gezeigt ist, verwendet (bei 115) der
Prozess 100, nachdem er das Tonmaskenbild erzeugt, die
Werte in der Tonmaske, um die Pixelfarbwerte in dem empfangenen
Bild durch eine nicht-lineare Operation zu modifizieren. Die nicht-lineare
Kombination der Maskenwerte mit den Pixelfarbwerten steht im Gegensatz
zu bisherigen Techniken, die die Pixel- und Maskenwerte durch eine
lineare Additions- oder
Subtraktionsoperation kombinieren. Die nicht-lineare Anwendung der
Maske liefert einen allmählichen Übergang für die einen
hohen Kontrast aufweisenden Grenzen in dem empfangenen Bild.
-
Verschiedene
Ausführungsbeispiele
der Erfindung verwenden verschiedene nicht-lineare Operationen,
um die Pixelfarb werte mit den Maskenwerten zu modifizieren. Manche
Ausführungsbeispiele
verwenden gedrehte, skalierte Sinusfunktionen, während Andere S-förmige Funktionen
verwenden. Wieder andere Ausführungsbeispiele
verwenden exponentielle Funktionen, die die Maskenwerte als Teil
ihres Exponenten und die Pixelwerte als Teil ihrer Basis aufweisen.
Ein derartiger exponentieller Operator wird weiter unten unter Bezugnahme
auf 3 beschrieben.
-
2 veranschaulicht
einen Prozess 200 zum Erzeugen einer Tonmaske durch eine
Tiefpassfilteroperation. Wie in dieser Figur gezeigt ist, wandelt
(bei 205) der Prozess das empfangene Farbbild anfänglich in ein
monochromes Bild um (d.h. ein Bild, das lediglich schwarze und weiße Pixelwerte
enthält
oder Schwarz-, Weiß-
und Grau-Werte enthält).
Eine Art und Weise, ein monochromes Bild zu erzeugen, bestünde darin,
die Farbwerte für
eine Farbkomponente (z.B. für
Grün) zu
verwenden und die übrigen
Farbwerte zu verwerfen. Ein weiterer Lösungsansatz bestünde darin,
einen nichtlinearen Durchschnitt der Komponentenfarbwerte zu berechnen,
indem eine Skalierungsgleichung verwendet wird (z.B. 0,2R + 0,7G
+ 0,1B).
-
Als
Nächstes
invertiert (bei 210) der Prozess das monochrome Bild. Mit
anderen Worten subtrahiert der Prozess jeden Pixelwert von dem maximalen
digitalen Zählwert,
so dass Weiß-Werte
zu Schwarz-Werten werden, Schwarz-Werte zu Weiß-Werten werden, die meisten Grau-Werte
neue Grau-Werte annehmen und der Mittelgrau-Wert gleich bleibt.
Dann dezimiert (bei 215) der Prozess das invertierte monochrome
Bild. Manche Ausführungsbeispiele
dezimieren dieses Bild, indem sie jedes n.te (z.B. 20.te) horizontale
und vertikale Pixel in diesem Bild auswählen (d.h. den Pixelfarbwert
für jedes
n.te Pixel in der horizontalen und vertikalen Richtung auswählen) und
die übrigen
Pixel verwerfen.
-
Dann
führt der
Prozess (bei 220) an jedem Pixel in dem dezimierten, invertierten
monochromen Bild eine Glättungsope ration
durch. Bei manchem Ausführungsbeispiel
ist diese Glättungsoperation
eine 3×3-Faltungsoperation
mit einem 1/9-Kern. Im Wesentlichen würde eine derartige Faltungsoperation
jeden Pixelwert durch den durchschnittlichen Wert ersetzen, der
erhalten wird, indem eine 3×3-Pixel-Nachbarschaft um
das Pixel herum gemittelt wird.
-
Schließlich skaliert
(bei 225) der Prozess das geglättete, dezimierte, invertierte,
monochrome Bild wieder zurück
zu der Auflösung
des ursprünglichen
empfangenen Bildes. Bei manchen Ausführungsbeispielen führt der
Prozess diese Skalierungsoperation durch, indem er jeden Pixelwert
in dem geglätteten,
dezimierten, invertierten Bild als den Pixelwert für einen
n mal n (z.B. 20 mal 20) umfassenden Pixelbereich auswählt. Die Kombination
der Dezimierungs-, Glättungs-
und Skalierungsoperationen liefert die Tiefpassfilteroperation des Prozesses 200.
Das Ergebnis ist eine Tonmaske, in der keine feinen Einzelheiten
und nur große,
undeutliche Regionen sichtbar sind.
-
Die
durch den Prozess 200 erzeugte Maske ist monochrom, um
ein Verzerren der Farbenreinheit des Bildes zu vermeiden. Diese
Maske wird invertiert, so dass die Potenz des Exponenten für die Kombinationsoperation
das Gegenteil des Eingangswertes ist. Beispielsweise weist eine
helle Region in dem empfangenen Bild einen dunkleren Maskenwert
(d.h. einen höheren
Maskenwert) auf und wird somit verdunkelt. Andere Verwirklichungen,
die hier lediglich als Beispiele erwähnt werden, die für das Verständnis der
Erfindung nützlich sind,
invertieren das ursprüngliche
Bild nicht, um die Tonmaske zu erzeugen. Stattdessen erklären diese
Beispiele das Erfordernis einer Inversion in dem nicht-linearen
Operator, die verwendet wird, um die Maske mit dem empfangenen Bild
zu kombinieren.
-
Außerdem wird
die Maske dezimiert und anschließend geglättet, um den Prozess zum Erzeugen
der Maske zu beschleunigen. Manche Ausführungsbeispiele der Erfindung
dezimieren jedoch nicht das invertierte monochrome Bild, um ein
daumennagelgroßes
Bild zu erzeugen, das rasch geglättet
werden kann. Stattdessen führen
diese Ausführungsbeispiele
die Glättungsoperation
direkt an dem invertierten monochromen Bild durch.
-
Die
anhand des Prozesses 200 erzeugte Maske wird tiefpassgefiltert
(d.h. verschwommen gemacht), da die Maske andernfalls den Kontrast
in dem Bild abflachen würde.
Mit anderen Worten: Wenn das Maskenbild nicht verschwommen gemacht
wird, führt
die nicht-lineare Kombination der Maske und des empfangenen Bildes
zu einem Bild mit einem verringerten Bildkontrast. Wenn die Maske
dagegen zu stark verschwommen gemacht wird, dann wird der Prozess
der Erfindung auf eine einfache Gamma-Korrektur reduziert, und die
Lokaltonkorrektur hat eine geringere Wirkung.
-
Wie
oben erörtert
wurde, verwendet die Erfindung die Werte in der Tonmaske, um die
Pixelwerte in dem empfangenen Bild durch eine nicht-lineare Operation
zu modifizieren. 3 veranschaulicht einen Prozess 300 zum
Kombinieren der Pixelwerte mit ihren entsprechenden Maskenwerten
durch eine nicht-lineare, exponentielle Operation.
-
Der
Prozess 300 gewinnt (bei 305) anfänglich die
Komponentenfarbwerte für
ein Pixel in dem empfangenen digitalen Bild wieder. Dann gewinnt
(bei 310) der Prozess aus der Tonmaske einen Maskenwert
wieder, der den ausgewählten
Komponentenfarbwerten entspricht. Als Nächstes verwendet der Prozess
eine exponentielle Funktion, um einen modifizierten Komponentenfarbwert
für jeden
wiedergewonnenen Komponentenfarbwert zu berechnen (bei 315).
Bei manchen Ausführungsbeispielen
verwendet der Prozess einen wiedergewonnenen Komponentenfarbwert
als Teil der Basis der exponentiellen Funktion und verwendet den
wiedergewonnenen Maskenwert als Teil des Exponenten dieser Funktion.
-
Schließlich bestimmt
(bei 320) der Prozess, ob er alle Pixelfarbwerte in dem
empfangenen Bild modifiziert hat. Falls dies nicht der Fall ist,
wiederholt sich der Prozess für
das nächste
Pixel, indem er zu 305 zurückkehrt und indem er den nächsten Komponentenfarbwertsatz
für das
nächste
Pixel auswählt.
Andernfalls endet der Prozess.
-
Manche
Ausführungsbeispiele
der Erfindung verwenden die folgende Gleichung A als exponentielle Funktion
zum Modifizieren der Komponentenfarbwerte um ihre entsprechenden
Maskenwerte.
-
-
In
dieser Gleichung stellt O den modifizierten Ausgangsfarbwert dar,
I stellt einen Eingangskomponentenfarbwert dar, M stellt den Maskenwert
dar und C1 und C2 stellen konstante Werte dar. Manche Ausführungsbeispiele
der Erfindung verwenden Gleichung A für Pixelwerte jeder Komponentenfarbe.
Beispielsweise verwenden manche Ausführungsbeispiele diese Gleichung
bei Rot-, Grün-
und Blau-Werten jedes Pixels in dem empfangenen Bild, um modifizierte
Rot-, Grün- und Blau-Werte für all die
Bildpixel zu erhalten.
-
Die
durch die Gleichung A ausgeführte
Operation ist im Wesentlichen einem Durchführen einer pixelweisen Gamma-Korrektur (d.h. einer
Pixel um Pixel erfolgenden Gamma-Korrektur)
sehr ähnlich,
wobei jedes Pixel seinen eigenen bestimmten Gamma-Wert (auf Grund
seines bestimmten Maskenwerts) aufweist, der durch die tonalen Eigenschaften
des Pixels und seiner umgebenden Pixel bestimmt wird. Die Gleichung
A geht von einem 8-Bit-Bild aus und verwendet somit einen Wert von
255, um die Daten zu skalieren. Jedoch könnten Bilder einer größeren oder
einer geringeren Bildtiefe verwendet werden, wobei der Skalenwert
in diesem Fall dem maximalen digitalen Zählwert entsprechen würde.
-
Jeder
Maskenwert, der in die Gleichung A eingefügt ist, definiert eine Tonreproduktionskurve.
Mit anderen Worten kann für
jeden Maskenwert eine Tonreproduktionskurve verwendet werden, um
darzustellen, wie die Gleichung A die Eingangskomponentenfarbwerte
auf modifizierte Ausgangsfarbwerte abbildet. Desgleichen kann eine
Familie von Tonreproduktionskurven verwendet werden, um zu veranschaulichen,
wie die vorliegende Gleichung die Eingangswerte auf die modifizierten
Ausgangsfarbwerte für
alle Maskenwerte abbildet.
-
4 veranschaulicht
eine Familie von Tonreproduktionskurven für den Fall, in dem die Konstante
C1 gleich 1 ist, die Konstante C2 gleich 128 ist und die Maskenwerte
zwischen 0 und 255 liegen. Bei dieser Figur ist die x-Achse der
Eingangspixelwert, und die y-Achse ist der Ausgangswert. Die Maskenwerte
liegen in dem Bereich von 0 bis 255, wenn ein 8-Bit-Farbschema verwendet
wird (d.h. wenn jede Komponentenfarbe durch acht Bits dargestellt
wird). Bei diesem Beispiel führen
Maskenwerte von mehr als 128 zu einem Exponenten von weniger als
1, wohingegen Maskenwerte von weniger als 128 Exponenten liefern,
die größer als
1 sind. Maskenwerte, die gleich 128 sind, führen zu Exponenten, die gleich
1 sind, und verändert
nicht die Eingangsdaten.
-
Die
Konstanten C1 und C2 bestimmen die Mitte und Breite der Familie
von Tonreproduktionskurven. Im Einzelnen bestimmt die Konstante
C2 die Mitte der Kurvenfamilie. Bei dem in 4 gezeigten
Beispiel ist die Mitte die 45°-Linie,
die den Maskenwert 128 darstellt. Die Konstante C1 bestimmt die
Ausbreitung der Kurven in der Familie. Somit bewegt ein Verändern der
Konstante C2 die Kurvenfamilie nach oben oder unten, während ein
Verändern
der Konstante C1 die Kurvenfamilie ausbreitet oder zusammenzieht.
-
Manche
interaktiven Ausführungsbeispiele
der Erfindung (1) ermöglichen
es ihren Benutzern, auf der Basis der Bildei genschaften C1 und C2
zu modifizieren und/oder (2) eine oder beide dieser Konstanten automatisch
zu modifizieren. Ein Modifizieren dieser Konstanten verändert die
Größe der Potenzfunktion.
Somit verändern
derartige Modifikationen den Grad der Lokaltonkorrektur, der durch
den Prozess 300 durchgeführt wird, auf der Basis von
Benutzerpräferenzen
oder Bildeigenschaften. Wenn beispielsweise ein empfangenes ursprüngliches
Bild sehr leuchtstark ist, kann ein Benutzer die Familie von Tonreproduktionskurven
nach oben verschieben, so dass der Prozess das ursprüngliche
Bild stärker
verdunkeln kann, um einen besseren Kontrast zwischen den leuchtstarken
Objekten in dem Bild zu liefern.
-
Gleichung
A kann als Nachschlagtabelle implementiert sein, wobei die empfangenen
Pixelwerte und die erzeugten Maskenwerte als Indizes in diese Tabelle
verwendet werden, die die Position der vorab berechneten modifizierten
Pixelwerte für
verschiedene Kombinationen von Pixel- und Maskenwerten identifizieren. 5 präsentiert
eine konzeptionelle Veranschaulichung dieses Lösungsansatzes.
-
Die
Erfindung kann auf verschiedenen Stufen in der Bildverarbeitungspipeline
implementiert werden. 6 veranschaulicht mehrere solche
Stufen. Wie in dieser Figur gezeigt ist, kann eine Bildaufnahmevorrichtung 610 (z.B.
eine Digitalkamera oder ein Scanner) den Lokalfarbkorrekturprozess 605 der
Erfindung verwenden, um die Qualität der anhand dieser Vorrichtung
aufgenommenen Bilder zu verbessern. Die Erfindung kann dazu verwendet
werden, den Farbton von Bildern, die mit einer ungleichmäßigen Belichtung
oder Blitz-Beleuchtung
aufgenommen wurden, zu korrigieren. Die Erfindung kann auch dazu
verwendet werden, Bilder mit einem großen Dynamikbereich nachzubearbeiten.
-
Nach
dem Aufnehmen eines Bildes kann die Aufnahmevorrichtung rasch eine
Tonmaske für
das Bild erzeugen, indem sie den schnellen und effizienten Prozess 200 der 2 durchführt. Die
Aufnahmevorrichtung kann anschließend eine Nach schlagtabelle
(z.B. die anhand von 5 konzeptionell veranschaulichte) verwenden,
um die modifizierten Pixelwerte für jede Komponentenfarbe rasch
zu identifizieren. Mit anderen Worten kann die Aufnahmevorrichtung
die ursprünglichen
Pixelwerte und die erzeugten Maskenwerte als Indizes in die Nachschlagtabelle
verwenden, um modifizierte Pixelwerte wiederzugewinnen.
-
Wie
in 6 gezeigt ist, kann der Lokalfarbkorrekturprozess 605 der
Erfindung auch ein Teil einer Anwendung 615 sein, die auf
einem Computersystem 620 läuft. Das Computersystem kann
diese Anwendung ablaufen lassen, um die Farbe eines Bildes zu korrigieren,
das durch die Aufnahmevorrichtung 610 aufgenommen oder
durch eine andere Anwendung (z.B. eine Webbrowser-Anwendung) geliefert
wurde. Der Prozess 605 kann auch als Teil eines Vorrichtungstreibers 625 (z.B.
eines Druckertreibers) implementiert sein, so dass der Treiber an
einem Bild eine Lokaltonkorrektur durchführt, bevor die Anzeigevorrichtung 630 das
Bild anzeigt.
-
7 präsentiert
ein Blockdiagramm eines Computersystems 620, das bei manchen
Ausführungsbeispielen
der Erfindung verwendet wird. Bei manchen Ausführungsbeispielen ist das Computersystem 620 von der
Bildaufnahmevorrichtung 610 getrennt. Bei anderen Ausführungsbeispielen
der Erfindung ist dieses Computersystem 620 jedoch ein
Bestandteil der Bildaufnahmevorrichtung. Obwohl das Computersystem 620 nachstehend
beschrieben wird, wird Fachleuten außerdem einleuchten, dass andere
Computersysteme und Architekturen in Verbindung mit der Erfindung
verwendet werden können.
-
Wie
in 7 gezeigt ist, umfasst der Computer 620 einen
Bus 705, einen Prozessor 710, einen Systemspeicher 715,
einen Nur-Lese-Speicher 720, eine Permanentspeicherungsvorrichtung 725,
Eingabevorrichtungen 730 und Ausgabevorrichtungen 735.
Der Bus 705 repräsentiert
kollektiv alle System-, Peripherie- und Chipsatz-Busse, die die
zahlreichen internen Vorrichtungen des Computersystems 620 kommunikativ verbinden.
Beispielsweise verbindet der Bus 705 den Prozessor 710 kommunikativ
mit dem Nur-Lese-Speicher 720, dem Systemspeicher 715 und
der Permanentspeicherungsvorrichtung 725. Aus diesen verschiedenen Speichereinheiten
gewinnt der Prozessor 710 Anweisungen zum Ausführen und
Daten zum Verarbeiten wieder.
-
Der
Nur-Lese-Speicher (ROM) 720 speichert statische Daten und
Anweisungen, die der Prozessor 710 und andere Module des
Computersystems benötigen.
Die Permanentspeicherungsvorrichtung 725 ist dagegen eine
Lese-und-Schreib-Speichervorrichtung.
Diese Vorrichtung ist eine nichtflüchtige Speichereinheit, die
Anweisungen und Daten sogar dann speichert, wenn der Computer 620 ausgeschaltet
ist. Manche Ausführungsbeispiele
der Erfindung verwenden eine Massenspeicherungsvorrichtung (z.B.
eine magnetische oder optische Platte und ihr entsprechendes Plattenlaufwerk)
als Permanentspeicherungsvorrichtung 725. Andere Ausführungsbeispiele
verwenden eine entnehmbare Speicherungsvorrichtung (z.B. eine Floppy-Disk oder
eine zip®-Disk
und ihr entsprechendes Plattenlaufwerk) als Permanentspeicherungsvorrichtung.
-
Wie
auch die Permanentspeicherungsvorrichtung 725 ist der Systemspeicher 715 eine
Lese-und-Schreib-Speichervorrichtung.
Im Gegensatz zu der Speicherungsvorrichtung 725 ist der
Systemspeicher jedoch ein flüchtiger
Lese-und-Schreib-Speicher, z.B. ein Direktzugriffsspeicher. Der
Systemspeicher speichert manche der Anweisungen und Daten, die der
Prozessor 710 während
der Laufzeit benötigt.
Beispielsweise enthält
der Systemspeicher 715 bei manchen Ausführungsbeispielen die Nachschlagtabelle,
die die modifizierten Pixelfarbwerte speichert. Außerdem sind
bei manchen Ausführungsbeispielen
die Anweisungen, die zum Ausführen
des Prozesses der Erfindung nötig
sind, im Systemspeicher, in der Permanentspeicherungsvorrichtung 725 und/oder
im Nur-Lese-Speicher 720 gespeichert.
-
Der
Bus 705 ist auch mit den Eingabe- und Ausgabevorrichtungen 730 und 735 verbunden.
Die Eingabevorrichtungen ermöglichen
es dem Benutzer, Informationen an den Computer zu senden und Befehle
an den Computer auszuwählen.
Die Eingabevorrichtungen 730 umfassen alphanumerische Tastaturen
und Cursor-Steuerungen. Die Ausgabevorrichtungen 735 zeigen
durch den Computer erzeugte Bilder an. Beispielsweise zeigen diese
Vorrichtungen die modifizierten digitalen Bilder an, die die Lokalkorrekturtechniken
der Erfindung erzeugen. Die Ausgabevorrichtungen umfassen Drucker
und Anzeigevorrichtungen, z.B. Kathodenstrahlröhren (CRT – cathode ray tubes) oder Flüssigkristallanzeigen
(LCD – liquid
crystal displays).
-
Wie
in 7 gezeigt ist, koppelt der Bus 705 schließlich auch
den Computer 620 durch einen (nicht gezeigten) Netzwerkadapter
mit einem Netzwerk. Auf diese Weise kann der Computer ein Teil eines
Netzwerks von Computern (z.B. eines lokalen Netzwerks („LAN"), eines Weitverkehrsnetzwerks
(„WAN") oder eines Intranets)
oder eines Netzwerks von Netzwerken (z.B. des Internet) sein.
-
Die
Lokalfarbkorrekturtechnik der Erfindung weist zahlreiche Vorteile
auf. Beispielsweise kann die Lokalkorrektur der Erfindung gleichzeitig
Schatten aufhellen und Spitzlichter verdunkeln, indem sie eine einfache pixelweise „Gamma"-Korrektur der Eingangsdaten
verwendet. Außerdem
balancieren manche Ausführungsbeispiele
globale und lokale Kontrastveränderungen
aus und verringern Farbenreinheitsverzerrungen, indem sie eine invertierte,
tiefpassgefilterte, monochrome Version des ursprünglichen Bildes als Tonmaske
verwenden.
-
Außerdem liefert
die Erfindung ein einfaches und schnelles Verfahren zum Berechnen
und Anwenden einer Lokaltonkorrektur. Ihre Lokalfarbkorrektur liefert
eine bedeutende Verbesserung der Bildqualität relativ zu einer globalen
Korrektur. Ihre Korrektur ist auch der Korrektur, die durch andere
Lokaltonkorrekturverfahren wie z.B. Retinex oder Ableitungsalgorithmen
geliefert wird, ebenbürtig.
Im Gegensatz zu anderen Lokaltonkorrekturverfahren muss sich die
Erfindung jedoch nicht auf komplizierte visuelle Modelle oder Masken
stützen. Insgesamt
liefert die Erfindung einen einfachen, rechentechnisch effizienten
und ohne weiteres parameterisierten Rahmen zum Durchführen von
Lokalfarbkorrekturen.
-
Die
Lokaltonkorrektur der Erfindung kann bezüglich eines Verfeinerns oder
Verbesserns mehrerer Arten von Bildern nützlich sein. Beispielsweise
kann die herkömmliche
Photographie ein Bild erzeugen, bei dem eine Region des Bildes unterbelichtet
ist, während
eine andere Region korrekt belichtet ist. Die Blitz-Photographie
ist ein weiterer Fall, bei dem eine Region in dem Bild überbelichtet
sein kann, während
eine andere unterbelichtet ist. Bei diesen Situationen ist eine
komplexe Farbkorrekturtechnik, die auf dem visuellen System des
Menschen beruht, eventuell nicht geeignet. Außerdem weisen manche Bildszenen
einen großen
Dynamikbereich auf. Der einfache und schnelle Lokalkorrektur-Prozess der Erfindung
liefert eine ideale Lösung,
um die Bildqualität
in diesen Situationen rasch zu verbessern.
-
Schließlich ist
die Lokaltonkorrektur der Erfindung eine zu der traditionellen pixelbasierten
Verarbeitung komplementäre
Technologie. Nachdem die Erfindung zum Korrigieren der Farbe eines
Bildes verwendet wurde, kann das Bild beispielsweise unter Verwendung
einer traditionellen pixelbasierten Pipeline auf einem gegebenen
Drucker reproduziert werden. Eine Verwendung einer Nachbarschaftsbildverarbeitungstechnik
für einen
Teil der Bilderzeugungspipeline schließt eine anschließende pixelbasierte
Bildverarbeitung nicht aus. Dies legt nahe, dass Pixel- und Nachbarschaftsbilderzeugungsoperationen
verwendet werden könnten,
wo es angebracht ist, um die Gesamtqualität und die Geschwindigkeit der
Bilderzeugungspipeline zu optimieren.
-
Ein
Ausführungsbeispiel
der Erfindung wird durch Verwendung der Anwendung Adobe PhotoShop
implementiert. Im Einzelnen kann bei diesem Ausführungsbeispiel diese Anwendung
dazu verwendet werden, (1) ein ursprüngliches Bild einzugeben, (2)
das ursprüngliche
Bild in eine zweite Schicht zu kopieren, (3) das Bild unter Verwendung
des Gaußschen
Unschärfefilters
mit einem Radius von etwa 15 verschwommen zu machen, (4) das verschwommen
gemachte Bild zu invertieren, (5) das verschwommen gemachte Negativ
unter Verwendung der Farbton/Sättigung-Einstellung
zu entsättigen
und (6) den Soft-Light-Schicht-Operator zu verwenden, um die ursprünglichen
und erzeugten Bilder zu kombinieren, um das abschließende Bild
zu erzeugen. Ein Experimentieren mit dem Radius des Photoshop-Unschärfefilters
zeigt, wie der Gesamtbildkontrast eine Funktion des Radius ist.
Insbesondere ist der Gesamtkontrast umso besser, je größer der
Radius ist, wenn jedoch der Radius zu groß ist, dann hat die Lokaltonkorrektur
eine geringere Wirkung.
-
Obwohl
die Erfindung unter Bezugnahme auf zahlreiche spezifische Einzelheiten
beschrieben wurde, werden Fachleute erkennen, dass die Erfindung
in anderen spezifischen Formen verkörpert sein kann, ohne von dem
Schutzumfang der Erfindung, wie er durch die Patentansprüche definiert
ist, abzuweichen. Beispielsweise wird bei den oben beschriebenen
Ausführungsbeispielen
eine monochrome Maske dazu verwendet, Pixelwerte für alle Komponentenfarben
zu modifizieren. Fachleuten wird jedoch einleuchten, dass andere
Ausführungsbeispiele
getrennte Masken für
jede Komponentenfarbe verwenden. Bei diesen Ausführungsbeispielen kann jede
der Masken bezüglich
ihres Komponentenfarbwerts optimiert sein. Somit werden Fachleute
erkennen, dass die Erfindung nicht durch die vorstehenden veranschaulichenden
Einzelheiten eingeschränkt werden
soll, sondern vielmehr durch die angehängten Patentansprüche definiert
werden soll.