-
VERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung beansprucht Priorität gegenüber und den Nutzen der vorläufigen U.S. Patentanmeldung mit der Nummer 63/174.470, eingereicht am 13. April 2021 unter dem Titel „IMAGE COLOR CORRECTION SYSTEMS AND METHODS“, die hiermit durch Verweis in ihrer Gesamtheit enthalten ist.
-
GEBIET DER TECHNIK
-
Eine oder mehrere Ausführungsformen beziehen sich allgemein auf die Abbildung und im Besonderen zum Beispiel auf Bildfarbkorrektursysteme und Verfahren.
-
STAND DER TECHNIK
-
Abbildungssysteme können eine Anordnung von Detektoren umfassen, wobei jeder Detektor als ein Pixel zur Erzeugung eines zweidimensionalen Bilds fungiert. Es gibt eine Vielzahl von Bilddetektoren, wie etwa Bilddetektoren für sichtbares Licht, Bilddetektoren für Infrarotlicht oder andere Arten von Bilddetektoren, die in einer Bilddetektoranordnung zur Erfassung eines Bilds bereitgestellt werden können. Zum Beispiel kann eine Mehrzahl von Sensoren in einer Bilddetektoranordnung zur Erkennung elektromagnetischer (EM) Strahlung auf gewünschten Wellenlängen bereitgestellt werden. In einigen Fällen, wie etwa bei der Abbildung von sichtbarem Licht, können die durch die Detektoren erfassten Bilddaten zeitmultiplexiert durch eine Ausleseschaltung ausgelesen werden. Die ausgelesenen Daten können an andere Schaltungen übermittelt werden, wie etwa zur Verarbeitung, Speicherung und/oder Anzeigen.
-
ZUSAMMENFASSUNG
-
In einer oder mehreren Ausführungsformen umfasst ein Verfahren den Empfang eines Bilds. Das Verfahren umfasst ferner auf der Basis zumindest des Bilds das Bestimmen eines ersten Skalierungswertes und eines zweiten Skalierungswertes. Das Verfahren umfasst ferner das Anwenden des ersten Skalierungswertes auf das Bild, um ein skaliertes Bild zu erhalten. Das Verfahren umfasst ferner das Anwenden einer Farbkorrekturmatrix (CCM) auf das skalierte Bild, um ein CCM-Bild zu erhalten. Das Verfahren umfasst ferner das Anwenden des zweiten Skalierungswertes auf das CCM-Bild, um ein farbkorrigiertes Bild zu erhalten.
-
In einer oder mehreren Ausführungsformen umfasst ein Verfahren das Empfangen eines Bilds. Das Verfahren umfasst ferner das Erhalten einer korrelierten Farbtemperatur, die dem Bild zugeordnet ist. Das Verfahren umfasst ferner das Erhalten einer CCM auf der Basis der korrelierten Farbtemperatur. Das Verfahren umfasst ferner das Erzeugen eines farbkorrigierten Bilds auf der Basis der CCM.
-
In einer oder mehreren Ausführungsformen umfasst ein System eine Verarbeitungsschaltung, die für den Empfang eines Bilds gestaltet ist. Die Verarbeitungsschaltung ist ferner so gestaltet, dass sie auf der Basis zumindest des Bilds einen ersten Skalierungswert und einen zweiten Skalierungswert bestimmt. Die Verarbeitungsschaltung ist ferner so gestaltet, dass sie den ersten Skalierungswert auf das Bild anwendet, um ein skaliertes Bild zu erhalten. Die Verarbeitungsschaltung ist ferner so gestaltet, dass sie eine Farbkorrekturmatrix (CCM) auf das skalierte Bild anwendet, um ein CCM-Bild zu erhalten. Die Verarbeitungsschaltung ist ferner so gestaltet, dass sie den zweiten Skalierungswert auf das CCM-Bild anwendet, um ein farbkorrigiertes Bild zu erhalten.
-
Der Umfang der vorliegenden Offenbarung ist durch die Ansprüche definiert, die durch Verweis in diesem Abschnitt enthalten sind. Die Berücksichtigung der folgenden genauen Beschreibung einer oder mehrerer Ausführungsformen ermöglicht dem Fachmann auf dem Gebiet ein umfassenderes Verständnis der Ausführungsformen der vorliegenden Offenbarung sowie das Erkennen zusätzlicher Vorteile dieser. Es wird auf die anhängigen Seiten der Zeichnungen verwiesen, die zuerst kurz beschrieben werden.
-
Figurenliste
-
- 1 zeigt ein Blockdiagramm eines Beispiels für das Abbildungssystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung.
- 2 zeigt ein Blockdiagramm eines Beispiels für die Bildsensoreinheit gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung.
- 3 zeigt ein Flussdiagramm eines beispielhaften Prozesses zur Ermöglichung der Farbkorrektur gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung.
- 4 zeigt ein Flussdiagramm eines beispielhaften Prozesses zum Erhalten einer Farbkorrekturmatrix für ein Bild durch Benutzereingabe gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung.
- 5 und 6 zeigen jeweils ein Flussdiagramm eines beispielhaften Prozesses zum Erhalten einer Farbkorrekturmatrix für ein Bild gemäß einer berechneten korrelierten Farbtemperatur des Bilds gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung.
- 7A zeigt ein beispielhaftes Bild ohne angewendete Farbkorrektur.
- 7B zeigt ein Bild in einer Zielqualität.
- 7C zeigt das Bild aus 7A mit angewendeter linearer Farbkorrekturmatrix.
- 7D zeigt das Bild aus 7A mit angewendeter polynomer Farbkorrekturmatrix und sRGB Gamma.
-
Die Ausführungsformen der vorliegenden Offenbarung und deren Vorteile werden unter Verweis auf die folgende genaue Beschreibung am besten verständlich. Hiermit wird festgestellt, dass die Größen der verschiedenen Komponenten und die Abstände zwischen diesen Komponenten in den Abbildungen nicht maßstabsgetreu dargestellt sind. Es wird darauf hingewiesen, dass für die Bezeichnung übereinstimmender Elemente, die in einer oder mehreren der Abbildungen dargestellt sind, übereinstimmende Bezugszeichen verwendet werden.
-
GENAUE BESCHREIBUNG
-
Die nachstehend ausgeführte genaue Beschreibung dient der Beschreibung verschiedener Gestaltungen der gegenständlichen Technologie und sie dient nicht der Darstellung der einzigen Gestaltungen, in denen die gegenständliche Technologie ausgeführt werden kann. Die anhängigen Zeichnungen sind hierin enthalten und sind Teil der genauen Beschreibung. Die genaue Beschreibung beinhaltet spezifische Einzelheiten zum Zwecke der Vermittlung eines umfassenden Verständnisses der gegenständlichen Technologie. Für den Fachmann auf dem Gebiet ist es jedoch deutlich erkennbar und ersichtlich, dass die gegenständliche Technologie nicht auf die hierin ausgeführten spezifischen Einzelheiten beschränkt ist, und dass sie unter Verwendung einer oder mehrerer Ausführungsformen ausgeführt werden kann. In einem Fall oder in mehreren Fällen sind Strukturen und Komponenten in Blockdiagrammdarstellung dargestellt, um eine Verschleierung der Konzepte der gegenständlichen Technologie zu verhindern. Eine oder mehrere Ausführungsformen der gegenständlichen Offenbarung sind durch eine oder mehrere Abbildungen dargestellt und/oder in Verbindung mit diesen beschrieben und in den Ansprüchen ausgeführt.
-
Es werden verschiedene Techniken zur Ermöglichung der Farbkorrektur von Bildern bereitgestellt. Die Farbkorrektur von Bildern kann eine Farbwidergabe und eine hohe Farbgenauigkeit ermöglichen, was verschiedene Anwendungen erleichtern kann, wie etwa Anwendungen des maschinellen Sehens. Anwendungen des maschinellen Sehens können unter anderem und ohne einzuschränken in Anwendungen der Biowissenschaft, medizinischen Anwendungen, in der Mikroskope und/oder in anderen Gebieten/Anwendungen eingesetzt werden. Zum Beispiel kann ein unter einem Mikroskop aufgenommenes Bild Blutzellen bzw. Blutkörperchen enthalten, deren Farben korrigiert werden müssen (z.B. für eine verbesserte Farbgenauigkeit), um die Analyse zu erleichtern (z.B. durch einen/mehrere Anwender und/oder durch eine/mehrere Maschinen).
-
Eine Farbkorrektur kann durch ein Abbildungssystem vorgenommen werden. Ein Abbildungssystem kann eine Bildsensorvorrichtung und eine Verarbeitungsschaltung umfassen. Die Bildsensorvorrichtung umfasst Detektoren (die z.B. auch als Detektorpixel, Detektorelemente oder einfach als Pixel bezeichnet werden). Jedes Detektorpixel erkennt einfallende elektromagnetische Strahlung und erzeugt Bilder (z.B. Bilder sichtbaren Lichts), welche die erkannte elektromagnetische Strahlung einer Szene anzeigen. Die durch die Bildsensorvorrichtung erzeugten Bilder können zumindest teilweise auf einer der Bildsensorvorrichtung zugeordneten spektralen Ansprechfunktion basieren. Die Verarbeitungsschaltung kann eine Farbkorrektur an Bildern vornehmen, um die Farbtreue/Genauigkeit dieser Bilder zu verbessern. Die Verarbeitungsschaltung kann Bilder der Szene von der Bildsensorvorrichtung empfangen und/oder aus einem Speicher gespeicherte Bilder abrufen, die von der Bildsensorvorrichtung erfasst worden sind. Diesbezüglich können die Bilder von der Bildsensorvorrichtung an die Verarbeitungsschaltung bereitgestellt werden, wenn die Bilder durch die Bildsensorvorrichtung (z.B. etwa in Echtzeit) aufgenommen werden. In anderen Fällen können die Bilder in einem Speicher des Abbildungssystems gespeichert werden (z.B. durch die Bildsensorvorrichtung und/oder die Verarbeitungsschaltung) und durch die Verarbeitungsschaltung zumindest für die Farbkorrektur abgerufen werden. Der Speicher kann Teil des Abbildungssystems sein oder allgemein jeder Speicher, auf den die Verarbeitungsschaltung zugreifen kann. Die gespeicherten Bilder können nach Bedarf für eine Anwendung abgerufen werden.
-
In verschiedenen Ausführungsformen kann die Farbkorrektur auf der Anwendung einer polynomen Farbkorrekturmatrix (CCM) auf Bilder basieren. Diesbezüglich kann für die polynome CCM ein (R, G, B)T Vektor unter Verwendung von Polynomregression erweitert werden, um zusätzliche polynome Terme hinzuzufügen. Gemäß einem Aspekt kann in einem nicht einschränkenden Beispiel der (R, G, B)T Vektor auf einen Vektor (R, G, B, R2, G2, B2, RG, GB, RB)T mit Termen zweiter Ordnung (z.B. den Quadrattermen (z.B. R2) und Cross-Channel-Terme (z.B. RG) erweitert werden). In diesem Beispiel kann die polynome CCM als eine 3 x 9 Matrix bereitgestellt werden. Einträge/Elemente der polynomen CCM können auf der Basis eines Kalibrierungsbilds bestimmt werden. Das Kalibrierungsbild kann ein Standard-Testbild sein, das in der Bildverarbeitung verwendet wird, wie etwa eine Farbtestskala (z.B. Macbeth-Farbskala), oder allgemein jedes Bild mit bekannten/standardisierten Eigenschaften (z.B. Reflexionswerten für jeden der R, G und B Kanäle, gemessen mit einem Spektrophotometer oder Standard/veröffentlichten Werten, bekanntem Leuchtkörper, etc.).
-
Wenn sich für die 3 x 9 CCM eine durchschnittliche Helligkeit eines Bilds (z.B. auch als ein aktuelles Bild bezeichnet), auf das die 3 x 9 CCM angewendet werden soll, von dem Kalibrierungsbild aufgrund einer anderen Szenenbeleuchtung und/oder einer anderen Kamerabelichtung unterscheidet (z.B. um einen Faktor k), skalieren sich einzelne Komponenten des erweiterten Vektors um k (z.B. für die Terme erster Ordnung) oder k2 (z.B. für die Terme zweiter Ordnung), und auch die einzelnen Einträge/Elemente der 3 × 9 polynomen CCM müssen sich aufgrund des Unterschieds der durchschnittlichen Helligkeit ändern.
-
Um in bestimmten Ausführungsformen diesen Unterschied der durchschnittlichen Helligkeit zwischen dem aktuellen Bild und dem Kalibrierungsbild zu reduzieren/anzugehen, kann die Verarbeitungsschaltung das aktuelle Bild vor und nach der Anwendung der polynomen CCM unter Verwendung von Skalierungswerten (z.B. auch als Skalierungsfaktoren bezeichnet) skalieren. Das aktuelle Bild kann durch einen ersten Skalierungswert (bezeichnet als Skalierung1) skaliert werden, um ein skaliertes Bild zu erhalten. Der Skalierungswert Skalierung1 kann auf der Basis des aktuellen Bilds und des Kalibrierungsbilds bestimmt werden, um den Unterschied der durchschnittlichen Helligkeit zwischen dem aktuellen Bild und dem Kalibrierungsbild zu behandeln. Als ein Beispiel kann der Skalierungswert Skalierung1 bereitgestellt werden durch Skalierung1 = Icalib/Iim, wobei Icalib und Iim entsprechend die durchschnittliche relative Luminanz des Kalibrierungsbilds bzw. des aktuellen Bilds bezeichnen, um den Unterschied der durchschnittlichen Helligkeit zwischen diesen Bildern zu behandeln. Die Verarbeitungsschaltung kann die CCM auf das skalierte Bild anwenden, um ein CCM-Bild zu erhalten, und sie kann dann das CCM-Bild unter Verwendung eines zweiten Skalierungswertes (bezeichnet als Skalierung2) skalieren, um ein farbkorrigiertes Bild zu erhalten. Gemäß einem Aspekt kann der Skalierungswert Skalierung2 ein Kehrwert des Skalierungswertes Skalierung1 sein, so dass folgendes gilt: Skalierung2 = 1/Skalierung1 = Iim/Icalib. In einer Ausführungsform kann die Skalierung der Bildhelligkeit insgesamt vor und nach der Anwendung der polynomen CCM die Belichtungsabhängigkeit verringern und die Farbqualität verbessern. In bestimmten Fällen kann ein standardisiertes RGB (sRGB) Gamma vor der Anzeige auf das farbkorrigierte Bild angewendet werden (z.B. wenn es sich bei dem aktuellen Bild um einen auf einem Monitor (z.B. einem kalibrierten Monitor) betrachteten Menschen handelt). Wenngleich vorstehend eine Polynomregression vorgesehen ist, die zu einer 3 x 9 Farbkorrekturmatrix führt, wird hiermit festgestellt, dass auch andere Polynomregressionen in bestimmtem Ausmaß und/oder CCMs mit anderen Größen (z.B. 3 x 9, 3 x 10) für die Farbkorrektur eingesetzt werden können.
-
Für jedes gegebene Bild, bei dem eine Farbkorrektur vorgenommen werden soll, kann die Verarbeitungsschaltung eine CCM bestimmen (z.B. durch Schätzung, Auswahl), die auf der Basis einer korrelierten Farbtemperatur (CCT), die einer durch das Bild erfassten Szene zugeordnet ist, auf das Bild angewendet werden soll. In bestimmten Fällen kann die korrelierte Farbtemperatur für eine Szene durch einen Benutzer spezifiziert werden. Zum Beispiel kann für den Benutzer eine Benutzerschnittstelle bzw. Benutzeroberfläche (z.B. auf einem Bildschirm) mit Optionen für die korrelierte Farbtemperatur bereitgestellt werden, welche der Benutzer auswählen kann. In anderen Fällen kann die korrelierte Farbtemperatur durch die Verarbeitungsschaltung bestimmt werden, wie zum Beispiel auf der Basis des Inhalts/der Eigenschaften (z.B. RGB-Eigenschaften) des aktuellen Bilds.
-
In einem Aspekt kann es sich bei der CCM um eine beliebige CCM einer in einem Speicher gespeicherten vorbestimmten Gruppe von CCMs handeln, wobei jede CCM einer korrelierten Farbtemperatur zugeordnet ist. Die Verarbeitungsschaltung kann zum Beispiel zur Anwendung auf das aktuelle Bild die CCM auswählen, die einer korrelierten Farbtemperatur zugeordnet ist, die der korrelierten Farbtemperatur am nächsten kommt, die der Szene zugeordnet ist. Diesbezüglich kann angenommen werden, dass jede CCM Farbkorrekturparameter darstellt, die für die korrelierte Farbtemperatur kalibriert sind, und es kann angenommen werden, dass die zur Anwendung auf das aktuelle Bild ausgewählte CCM die geeignete CCM (z.B. auf der Basis der korrelierten Farbtemperatur) für die Anwendung auf das Bild ist, um eine hohe Farbgenauigkeit zu erreichen. Gemäß einem anderen Aspekt kann die CCM auf der Basis der korrelierten Farbtemperatur bestimmt werden (z.B. aus dem Stand).
-
Wenngleich verschiedene Ausführungsformen für die Farbkorrektur hauptsächlich in Bezug auf die Abbildung bei sichtbarem Licht beschrieben werden, können auch unter Verwendung der hierin beschriebenen Verfahren und Systeme erzeugte farbkorrigierte Bilder in Verbindung mit anderen Vorrichtungen und Systemen verwendet werden wie etwa Infrarot-Abbildungssysteme, Abbildungssysteme mit Abbildungsfunktionalität in Verbindung mit sichtbarem Licht und Infrarotlicht, Abbildungssysteme mit kurzwelligem Infrarot (SWIR), Light Detection and Ranging (LIDAR)-Abbildungssysteme, RADAR-Abbildungssysteme (Systeme mit funkgestützter Ortung und Abstandsmessung), MMW-Abbildungssysteme (Systeme mit Millimeter-Wellenlänge), Ultraschall-Abbildungssysteme, Röntgen-Abbildungssysteme, Mikroskopsysteme, mobile Digitalkameras, Videoüberwachungssysteme, Videoverarbeitungssysteme oder sonstige Systeme oder Vorrichtungen, die Bilddaten in einem oder mehreren Teilen des EM-Spektrums erhalten müssen. Die farbkorrigierten Bilder können zum Beispiel Bilder sichtbaren Lichts einer Szene sein, die mit Infrarotbildern der Szene zusammengeführt/gemischt werden können.
-
In folgendem Bezug auf die Zeichnungen zeigt 1 ein Blockdiagramm eines beispielhaften Abbildungssystems 100 (z.B. eine Kamera für sichtbares Licht, ein Tablet-Computer, ein Laptop, ein Personal Digital Assistant (PDA), ein Mobilgerät, ein Desktopcomputer oder ein anderes elektronisches Gerät) gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung. Es sind jedoch nicht alle dargestellten Komponenten erforderlich, und eine oder mehrere Ausführungsformen können zusätzliche Komponenten aufweisen, die nicht in der Abbildung dargestellt sind. Die Anordnung und die Art der Komponenten können geändert werden, ohne dabei vom Umfang Geist oder Umfang der hierin ausgeführten Ansprüche abzuweichen. Zusätzliche Komponenten, andere Komponenten und/oder weniger Komponenten können bereitgestellt sein.
-
Gemäß einer Ausführungsform dieser Offenbarung kann das Abbildungssystem 100 zur Erfassung und Verarbeitung von Bildern eingesetzt werden. Bei dem Abbildungssystem 100 kann es sich um jede Art von Abbildungssystem handeln, das einen oder mehrere Bereiche (z.B. Wellenbereiche) elektromagnetischer Strahlung erkennt und repräsentative Daten bereitstellt (z.B. ein oder mehrere Standbilder oder Videoteilbilder). Das Abbildungssystem 100 kann ein Gehäuse aufweisen, das zumindest teilweise die Komponenten des Abbildungssystems 100 beherbergt, um etwa die Kompaktheit und den Schutz des Abbildungssystems 100 zu verbessern. Zum Beispiel kann die in 1 mit 175 bezeichnete Box ein Gehäuse des Abbildungssystems 100 darstellen. Das Gehäuse kann mehr, weniger und/oder andere Komponenten des Abbildungssystems 100 als in der Box aus 1 dargestellt aufweisen. In einer Ausführungsform kann das Abbildungssystem 100 eine portable Vorrichtung aufweisen und etwa in einem Fahrzeug oder einer nicht mobilen Installation integriert werden, die es erfordert, dass Bilder gespeichert und/oder angezeigt werden. Bei dem Fahrzeug kann es sich um ein Landfahrzeug (z.B. ein Kraftfahrzeug, einen Lkw), ein Wasserfahrzeug, ein Luftfahrzeug (z.B. eine Drohne), ein Raumfahrzeug oder allgemein jede Art von Fahrzeug handeln, welches das Abbildungssystem 100 aufnehmen kann (z.B. in dem Fahrzeug installiert, an dem Fahrzeug angebracht, etc.). In einem anderen Beispiel kann das Abbildungssystem 100 über eine oder mehrere Arten von Halterungen mit verschiedenen Arten fester Standorte gekoppelt werden (z.B. einer Halterung für eine Haussicherheitseinheit, einer Halterung für Camping- oder Outdoor-Anwendungen, oder einem anderen Standort).
-
Bei einer Implementierung umfasst das Abbildungssystem 100 eine Verarbeitungskomponente 105, eine Speicherkomponente 110, eine Bilderfassungskomponente 115, eine Bildschnittstelle 120, eine Steuerkomponente 125, eine Anzeigekomponente 130, eine Sensorkomponente 135, und/oder eine Netzwerkschnittstelle 140. In verschiedenen Ausführungsformen umfasst die Verarbeitungskomponente 105 eines oder mehrere der folgenden: einen Prozessor, einen Mikroprozessor, eine Zentraleinheit (CPU), eine Grafikkarte (GPU), einen Single-Core-Prozessor, einen Multi-Core-Prozessor, einen Mikrocontroller, eine programmierbare logische Vorrichtung (PLD) (z.B. eine Field Programmable Gate Array (FPGA)), eine anwendungsspezifische integrierte Schaltung (ASIC), eine digitale Signalverarbeitungs-Vorrichtung (DSP) oder eine andere logische Vorrichtung, die konfigurierbar ist durch feste Verkabelung, die Ausführung von Softwarebefehlen oder eine Kombination aus beiden Möglichkeiten, um für Ausführungsformen der Offenbarung verschiedene hierin erörterte Operationen auszuführen. Die Verarbeitungskomponente 105 kann so konfiguriert werden, dass sie mit den verschiedenen anderen Komponenten (z.B. 110, 115, 120, 125, 130, 135, 140, etc.) des Abbildungssystems 100 eine Schnittstellenverbindung aufweist und kommuniziert, um diese Operationen auszuführen. Die Verarbeitungskomponente 105 kann zum Beispiel so konfiguriert werden, dass sie von der Bilderfassungskomponente 115 empfangene erfasste Bilddaten verarbeitet, die Bilddaten in der Speicherkomponente 110 speichert und/oder gespeicherte Bilddaten aus der Speicherkomponente 110 abruft. Gemäß einem Aspekt kann die Verarbeitungskomponente 105 so konfiguriert werden, dass sie verschiedene Systemsteuerungsoperationen ausführt (z.B. zur Steuerung der Kommunikation und der Operationen verschiedener Komponenten des Abbildungssystems 100), sowie andere Bildverarbeitungsoperationen (z.B. Datenkonvertierung, Farbkorrektur, Videoanalyse, etc.).
-
Die Speicherkomponente 110 umfasst in einer Ausführungsform eine oder mehrere Speichervorrichtungen, die zum Speichern von Daten und Informationen konfiguriert sind, darunter Bilddaten und -informationen für sichtbares Licht. Die Speicherkomponente 110 kann eine oder mehrere verschiedene Arten von Speichervorrichtungen aufweisen, darunter flüchtige und nicht-flüchtige Speichervorrichtungen, wie etwa Direktzugriffsspeicher (RAM), dynamischer RAM (DRAM), statischer RAM (SRAM), nicht-flüchtiger Direktzugriffsspeicher (NVRAM), Nur-Lese-Speicher (ROM), programmierbarer Nur-Lese-Speicher (PROM), löschbarer, programmierbarer Nur-Lese-Speicher (EPROM), elektrisch löschbarer, programmierbarer Nur-Lese-Speicher (EEPROM), Flash-Speicher, Festplattenlaufwerk und/oder andere Arten von Speicher. Wie vorstehend beschrieben, kann die Verarbeitungskomponente 105 so gestaltet sein, dass sie in der Speicherkomponente 110 gespeicherte Softwarebefehle ausführt, um Verfahren und Verfahrensschritte und/oder Operationen auszuführen. In einer oder mehreren Ausführungsformen können diese Befehle, wenn sie durch die Verarbeitungskomponente 105 ausgeführt werden, bewirken, dass das Abbildungssystem 100 Operationen ausführt, die der Farbkorrektur von Bildern zugeordnet sind. Die Verarbeitungskomponente 105 und/oder die Bildschnittstelle 120 können so gestaltet sein, dass sie in der Speicherkomponente 110 Bilder oder digitale Bilddaten speichern, die durch die Bilderfassungskomponente 115 erfasst worden sind, Farbkorrekturmatrizen, und/oder andere Daten.
-
In bestimmten Ausführungsformen kann ein separates, maschinenlesbares Medium 145 (z.B. ein Speicher, wie etwa eine Festplatte, eine Compact Disk, eine digitale Videodisk oder ein Flash-Speicher) die Softwarebefehle und/oder Konfigurationsdaten speichern, die durch einen Computer (z.B. eine Logikvorrichtung oder ein System auf Prozessorbasis) ausgeführt werden können oder auf die durch einen solchen Computer zugegriffen werden kann, um verschiedene Verfahren und Operationen auszuführen, wie etwa Verfahren und Operationen, die der Verarbeitung von Bilddaten zugeordnet sind. Gemäß einem Aspekt kann das maschinenlesbare Medium 145 portabel sein und/oder getrennt von dem Abbildungssystem 100 sein, wobei die gespeicherten Softwarebefehle und/oder Daten dem Abbildungssystem 100 dadurch bereitgestellt werden, dass das maschinenlesbare Medium 145 mit dem Abbildungssystem 100 gekoppelt wird, und/oder dadurch, dass das Abbildungssystem 100 diese von dem maschinenlesbaren Medium 145 herunterlädt (z.B. über eine Kabelverbindung und/oder eine Funkverbindung). Hiermit wird festgestellt, dass verschiedene Module in Software und/oder Hardware als Teil der Verarbeitungskomponente 105 integriert werden können, wobei Code (z.B. Software oder Konfigurationsdaten) für die Module zum Beispiel in der Speicherkomponente 110 gespeichert werden.
-
Das Abbildungssystem 100 kann eine bildgebende bzw. Abbildungsvorrichtung darstellen, wie etwa eine Videokamera und/oder einen Fotoapparat, zur Erfassung und Verarbeitung von Bildern und/oder Videos einer Szene 160. Diesbezüglich kann die Bilderfassungskomponente 115 des Abbildungssystems 100 so konfiguriert werden, dass sie Bilder (z.B. Standbilder und/oder Videobilder) der Szene 160 in einem bestimmten Spektrum oder Modus aufnimmt. Die Bilderfassungskomponente 115 umfasst den Bilddetektorschaltkreis 165 und den Ausleseschaltkreis 170. Die Bilderfassungskomponente 115 kann zum Beispiel einen Abbildungssensorfür sichtbares Licht umfassen. In bestimmten Fällen kann die Bilddetektorschaltung 165 alternativ zusätzlich zu der Erfassung von Strahlung aus dem Spektrum von sichtbarem Licht eine Schaltkreisanordnung zur Erfassung von Strahlung aus einem oder mehreren anderen Wellenbereichen des elektromagnetischen Spektrums aufweisen, wie etwa Infrarotlicht, UV-Licht usw. Die Bilderfassungskomponente 115 kann z.B. einen IR-Abbildungssensor (z.B. eine IR-Abbildungssensoranordnung) aufweisen, der so gestaltet ist, dass er Infrarotstrahlung im nahen, mittleren und/oder entfernten IR-Spektrum erkennt und IR-Bilder (z.B. IR-Bilddaten oder -signal) bereitstellt, welche die IR-Strahlung von der Szene 160 darstellen. Die Bilddetektorschaltung 165 kann z.B. IR-Strahlung mit Wellenlängen im Bereich von etwa 700 nm bis etwa 2 mm oder einen Teil davon erfassen (z.B. erkennen, messen). In bestimmten Aspekten kann die Bilddetektorschaltung 165 z.B. empfindlich sein (z.B. bessere Erkennung) in Bezug auf SWIR-Strahlung, Mittelwellen-IR-Strahlung (MWIR) (z.B. elektromagnetische Strahlung mit einer Wellenlänge von 2 µm bis 5 µm), und/oder Langwellen-IR-Strahlung (LWIR) (z.B. elektromagnetische Strahlung mit einer Wellenlänge von 7 µm bis 14 µm), oder alle beliebigen gewünschten IR-Wellenlängen (z.B. allgemein im Bereich von 0,7 µm bis 14 µm).
-
Die Bilddetektorschaltung 165 kann Bilddaten (z.B. Bilddaten im sichtbaren Lichtbereich) erfassen, die der Szene 160 zugeordnet sind. Für die Erfassung eines Detektorausgangsbilds kann die Bilddetektorschaltung 165 Bilddaten der Szene 160 erkennen (z.B. in Form von elektromagnetischer Strahlung) und Pixelwerte des Bilds auf der Basis der Szene 160 erzeugen. Jedes Bild kann als Teilbild, Frame oder Image Frame bezeichnet werden. In bestimmten Fällen kann die Bilddetektorschaltung 165 eine Anordnung von Detektoren aufweisen (z.B. auch als Pixelanordnung bzw. Pixelarray bezeichnet), die Strahlung eines bestimmten Wellenbereichs erkennen kann, die erkannte Strahlung in elektrische Signale umwandeln kann (z.B. Spannungen, Ströme, etc.), und die auf der Basis der elektrischen Signale Pixelwerte erzeugen kann. Jeder Detektor der Anordnung kann einen entsprechenden Abschnitt bzw. Teil der Bilddaten erfassen und auf der Basis des durch den Detektor erfassten entsprechenden Teils einen Pixelwert erzeugen. Der durch den Detektor erzeugte Pixelwert kann als eine Ausgabe des Detektors bezeichnet werden. In einem Beispiel kann jeder Detektor ein Photodetektor sein. Die Anordnung von Detektoren kann in Zeilen und Spalten angeordnet sein.
-
Das Detektorausgangsbild kann eine Datenstruktur sein oder als eine solche angesehen werden, die Pixel aufweist und das der Szene 160 zugeordnete Bild darstellt, wobei jedes Pixel einen Pixelwert aufweist, der elektromagnetische Strahlung darstellt, die von einem Teil der Szene 160 emittiert oder reflektiert und von einem Detektor empfangen wird, der den Pixelwert erzeugt. Kontextabhängig kann sich ein Pixel auf einen Detektor der Bilddetektorschaltung 165 beziehen, der einen zugeordneten Pixelwert erzeugt oder ein Pixel (z.B. Pixelposition, Pixelkoordinate) des Detektorausgangsbilds, das aus den erzeugten Pixelwerten gebildet wird. In einem Beispiel kann das Detektorausgangsbild ein Bild im sichtbaren Lichtbereich sein.
-
Gemäß einem Aspekt können die durch die Bilddetektorschaltung 165 erzeugten Pixelwerte als digitale Zählwerte dargestellt werden, erzeugt auf der Basis elektrischer Signale, die durch Umwandlung der erkannten Strahlung erhalten werden. Zum Beispiel für den Fall, dass die Bilddetektorschaltung 165 eine Analog-Digital-Umsetzerschaltung (ADU) aufweist oder ansonsten mit einer solchen gekoppelt ist, kann die ADU-Schaltung digitale Zählwerte (z.B. für jeden Farbkanal) auf der Basis der elektrischen Signale erzeugen. Bei einer ADU-Schaltung, die ein elektrisches Signal unter Verwendung von 14 Bits darstellen kann, kann der digitale Zählwert von 0 bis 16.383 reichen. In diesen Fällen kann der Pixelwert des Detektors die Ausgabe des digitalen Zählwerts von der ADU-Schaltung sein. In anderen Fällen (z.B. in Fällen ohne ADU-Schaltung) kann der Pixelwert analog zu einem Wert sein, der dem Wert des elektrischen Signals entspricht oder diesen anzeigt.
-
Der Ausleseschaltkreis 170 kann verwendet werden als Schnittstelle zwischen der Bilddetektorschaltung 165, welche die Bilddaten erkennt, und der Verarbeitungskomponente 105, welche die erkannten Bilddaten wie durch den Ausleseschaltkreis 170 ausgelesen verarbeitet, wobei die Daten von dem Ausleseschaltkreis 170 zu der Verarbeitungskomponente 105 übermittelt werden, ermöglicht durch die Bildschnittstelle 120. Eine Bilderfassungsfrequenz kann sich auf die Frequenz beziehen (z.B. Ausgangsbilder des Detektors pro Sekunde), mit der Bilder in einer Sequenz durch die Bilddetektorschaltung 165 erkannt/ausgegeben und durch den Ausleseschaltkreis 170 an die Verarbeitungskomponente 105 bereitgestellt werden. Der Ausleseschaltkreis 170 kann die durch die Bilddetektorschaltung 165 erzeugten Pixelwerte gemäß einer Integrationszeit ausgeben (z.B. auch als Integrationszeitraum bezeichnet).
-
In bestimmten Fällen kann die Bilderfassungskomponente 115 einen oder mehrere Filter aufweisen, die Strahlung bestimmter Wellenlängen hindurchlassen und Strahlung anderer Wellenlängen substanziell Blockieren. Die Bilderfassungskomponente 115 kann z.B. eine Abbildungsvorrichtung bzw. bildgebende Vorrichtung für sichtbares Licht sein, die einen oder mehrere Filter aufweist, die sichtbares Licht hindurchlassen und Strahlung anderer Wellenlängen substanziell Blockieren. In diesem Beispiel können derartige Filter eingesetzt werden, um die Bilderfassungskomponente 115 für eine erhöhte Empfindlichkeit in Bezug auf einen gewünschten Wellenlängenbereich von sichtbarem Licht zu gestalten.
-
In bestimmten Ausführungsformen kann die Bilderfassungskomponente 115 eine Sensorvorrichtung für sichtbares Licht aufweisen, die unter Verwendung eines/mehrerer CMOS (Complementary Metal-oxide Semiconductor) Sensors/Sensoren oder eines/mehrerer ladungsgekoppelter (CCD) Sensors/Sensoren implementiert wird. In bestimmten Fällen können andere Abbildungssensoren in der Bilderfassungskomponente 115 ausgeführt werden und unabhängig von oder in Verbindung mit der Sensorvorrichtung für sichtbares Licht betrieben werden, und sie können einen Photomischdetektor-Abbildungssensor (PMD) oder einen Abbildungssensor mit anderer Laufzeit (ToF), eine LIDAR-Abbildungsvorrichtung, eine RADAR-Abbildungsvorrichtung, eine Millimeter-Abbildungsvorrichtung, einen PET-Scanner (Positron-Emissions-Tomographie), einen SPECT-Scanner (Einzelphotonen-Emissionscomputertomographie), eine Infrarot-Abbildungsvorrichtung, eine Ultraschall-Abbildungsvorrichtung oder andere Abbildungsvorrichtungen aufweisen, die in bestimmten Moden und/oder Spektren betrieben werden.
-
Die durch die Bilderfassungskomponente 115 bereitgestellten Bilder oder digitalen Bilddaten, die den Bildern entsprechen, können entsprechenden Bildgrößen zugeordnet sein (auch als Pixelgrößen bezeichnet). Jede Bildgröße oder Pixelgröße bezieht sich allgemein auf die Anzahl der Pixel in einem Bild, die zum Beispiel ausgedrückt werden kann durch die Breite multipliziert mit der Höhe für zweidimensionale Bilder oder wie dies anderweitig angemessen ist für die relevante Größe oder Form des Bilds. Bilder mit einer nativen Auflösungen können somit in eine kleinere Größe angepasst werden (z.B. mit kleineren Pixelgrößen), um etwa die Kosten für die Verarbeitung und Analyse der Bilder zu reduzieren. Filter (z.B. eine Ungleichmäßigkeitsschätzung) können auf der Basis einer Analyse der Bilder mit geänderter Größe erzeugt werden. Die Filter können dann auf die native Auflösung und die Größen der Bilder neu in der Größe angepasst werden, bevor sie auf die Bilder angewendet werden.
-
Die Bildschnittstelle 120 kann in bestimmten Ausführungsformen entsprechende Eingangsanschlüsse, Verbindungen, Schalter und/oder Schaltkreisanordnungen für eine Schnittstellenverbindung mit externen Vorrichtungen aufweisen (z.B. einer entfernten Vorrichtung 150 und/oder sonstigen Vorrichtungen), um Bilder zu empfangen (z.B. digitale Bilddaten), die durch externe Vorrichtungen erzeugt oder anderweitig auf diesen gespeichert sind. Gemäß einem Aspekt kann die Bildschnittstelle 120 eine serielle Schnittstelle und eine Telemetrieleitung zur Bereitstellung von Bilddaten zugeordneten Metadaten aufweisen. Die empfangenen Bilder oder Bilddaten können an die Verarbeitungskomponente 105 bereitgestellt werden. Diesbezüglich können die empfangenen Bilder oder Bilddaten zur Verarbeitung durch die Verarbeitungskomponente 105 in Signale oder Daten umgewandelt werden. In einer Ausführungsform kann die Bildschnittstelle 120 z.B. für den Empfang analoger Videodaten und deren Umwandlung in geeignete digitale Daten zur Bereitstellung an die Verarbeitungskomponente 105 gestaltet sein.
-
Die Bildschnittstelle 120 kann verschiedene andere standardmäßige Videoanschlüsse aufweisen, die mit einem Videoplayer, einer Videokamera oder anderen Geräten verbunden werden können, die Standard-Videosignale erzeugen und die empfangenen Videosignale in digitale Video-/Bilddaten umwandeln können, die sich zur Verarbeitung durch die Verarbeitungskomponente 105 eignen. In bestimmten Ausführungsformen kann die Bildschnittstelle 120 auch für eine Schnittstellenverbindung und den Empfang von Bildern (z.B. Bilddaten) von der Bilderfassungskomponente 115 gestaltet sein. In anderen Ausführungsformen kann die Bilderfassungskomponente 115 direkt mit der Verarbeitungskomponente 105 verbunden werden.
-
Die Steuerkomponente 125 umfasst in einer Ausführungsform eine Benutzereingabe- und/oder eine Schnittstellenvorrichtung, wie etwa einen Drehknopf (z.B. Potentiometer), Druckknöpfe, einen Schieber, eine Tastatur und/oder andere Vorrichtungen, die sich zur Erzeugung eines Benutzereingabesteuersignals eignet bzw. eignen. Die Verarbeitungskomponente 105 kann zur Erfassung von Steuereingabesignalen durch einen Benutzer über die Steuerkomponente 125 sowie zur Reaktion auf alle davon empfangenen erfassten Steuereingabesignale gestaltet sein. Die Verarbeitungskomponente 105 kann so gestaltet sein, dass sie ein solches Steuereingabesignal als einen Wert interpretiert, wie dies für den Fachmann auf dem Gebiet allgemein bekannt ist. In einer Ausführungsform kann die Steuerkomponente 125 eine Steuereinheit (z.B. eine verkabelte oder drahtlose Steuereinheit als Handgerät) mit Tasten aufweisen, die für eine Schnittstellenverbindung mit einem Benutzer und den Empfang von Eingabesteuerwerten geeignet sind. In einer Implementierung können die Tasten bzw. Drucktasten der Steuereinheit zur Steuerung verschiedener Funktionen des Abbildungssystems 100 verwendet werden, wie zum Beispiel für den Autofokus, für die Menüfreigabe und -auswahl, das Bildfeld, Helligkeit, Kontrast, Rauschfiltern, Bildverbesserung und/oder verschiedene andere Merkmale eines Abbildungssystems oder einer Kamera.
-
Die Anzeigekomponente 130 umfasst in einer Ausführungsform eine Bildanzeigevorrichtung (z.B. eine Flüssigkristallanzeige (LCD)) oder verschiedene andere Arten allgemein bekannter Videobildschirme oder -monitore. Die Verarbeitungskomponente 105 kann zum Anzeigen von Bilddaten und -informationen auf der Anzeigekomponente 130 gestaltet sein. Die Verarbeitungskomponente 105 kann zum Abrufen von Bilddaten und -informationen von der Speicherkomponente110 und zum Anzeigen aller abgerufenen Bilddaten und -informationen auf der Anzeigekomponente 130 gestaltet sein. Die Anzeigekomponente 130 kann Anzeigeschaltungen umfassen, die von der Verarbeitungskomponente 105 zum Anzeigen von Bilddaten und -informationen verwendet werden können. Die Anzeigekomponente 130 kann sich dazu eignen, Bilddaten und -informationen direkt von der Bilderfassungskomponente 115, der Verarbeitungskomponente 105, und/oder der Bildschnittstelle 120 zu empfangen, oder die Bilddaten und -informationen können über die Verarbeitungskomponente 105 direkt von der Speicherkomponente 110 übertragen werden. In bestimmten Aspekten kann die Steuerkomponente 125 als Teil der Anzeigekomponente 130 implementiert werden. Zum Beispiel kann ein Touchscreen des Abbildungssystems 100 sowohl die Steuerkomponente 125 (z.B. für den Empfang von Benutzereingaben über Klick-, Wisch- und/oder andere Gesten) als auch die Anzeigekomponente 130 des Abbildungssystems 100 bereitstellen.
-
Die Sensorkomponente 135 umfasst in einer Ausführungsform einen oder mehrere Sensoren verschiedener Arten, abhängig von der jeweiligen Anwendung oder den Anforderungen für die Implementierung, wie dies für den Fachmann auf dem Gebiet verständlich ist. Die Sensoren der Sensorkomponente 135 stellen Daten und/oder Informationen zumindest an die Verarbeitungskomponente 105 bereit. Gemäß einem Aspekt kann die Verarbeitungskomponente 105 für die Kommunikation mit der Sensorkomponente 135 gestaltet sein. In verschiedenen Implementierungen kann die Sensorkomponente 135 Informationen über die Umgebungsbedingungen bereitstellen, wie etwa die Außentemperatur, die Lichtbedingungen (z.B. Tag, Nacht, Abenddämmerung und/oder Morgendämmerung), Luftfeuchtigkeit, spezifische Wetterbedingungen (z.B. Sonne, Regen und/oder Schnee), Entfernung/Abstand (z.B. Laser-Entfernungsmesser oder TOF-Kamera), und/oder ob in einen Tunnel oder eine andere Einfriedung ein- oder ausgefahren wird. Bei der Sensorkomponente 135 kann es sich um für den Fachmann auf dem Gebiet allgemein bekannte herkömmliche Sensoren für die Überwachung verschiedener Bedingungen (z.B. Umgebungsbedingungen) handeln, die sich auf die durch die Bilderfassungskomponente 115 bereitgestellten Bilddaten auswirken können (z.B. auf das Erscheinungsbild des Bilds).
-
In bestimmten Implementierungen kann die Sensorkomponente 135 (z.B. ein oder mehrere Sensoren) verschiedene Vorrichtungen aufweisen, die Informationen über Kabel- und/oder drahtlose Verbindung an die Verarbeitungskomponente 105 übermitteln. Zum Beispiel kann die Sensorkomponente 135 in der Lage sein, Informationen von einem Satelliten über lokale Übermittlung zu empfangen (z.B. Hochfrequenz (HF))-Übermittlung, über ein Mobilfunknetz und/oder über Beacons in einer Infrastruktur (z.B. einer Verkehrs- oder Autobahninformationsinfrastruktur), oder über verschiedene andere kabelgebundene und/oder kabellose Techniken. In bestimmten Ausführungsformen kann die Verarbeitungskomponente 105 die von der Sensorkomponente 135 abgerufenen Informationen (z.B. Messdaten) dazu verwenden, eine Konfiguration der Bilderfassungskomponente 115 zu verändern (z.B. Anpassung eines Lichtempfindlichkeitswertes, Anpassung einer Ausrichtung oder eines Winkels der Bilderfassungskomponente 115, Anpassung einer Blendeneinstellung, etc.).
-
In bestimmten Ausführungsformen können verschiedene Komponenten des Abbildungssystems 100 über ein Netzwerk 155 verteilt angeordnet sein und sich in Kommunikationsverbindung miteinander befinden. Dabei kann das Abbildungssystem 100 eine Netzwerkschnittstelle 140 aufweisen, die so gestaltet ist, dass sie die kabelgebundene und/oder kabellose Kommunikation zwischen den verschiedenen Komponenten des Abbildungssystems 100 über das Netzwerk 155 ermöglicht. In diesen Ausführungsformen können Komponenten auch mehrfach vorkommen, sofern dies für bestimmte Anwendungen des Abbildungssystems 100 gewünscht ist. Das heißt, Komponenten, die für die gleichen oder ähnliche Operationen konfiguriert sind, können über ein Netzwerk verteilt angeordnet werden. Ferner können alle oder ein Teil jeder der verschiedenen Komponenten unter Verwendung geeigneter Komponenten der entfernten Vorrichtung 150 (z.B. ein herkömmlicher digitaler Videorekorder DVR), ein für die Bildverarbeitung konfigurierter Computer und/oder eine andere Vorrichtung) in Kommunikation mit verschiedenen Komponenten des Abbildungssystems 100 über die Netzwerkschnittstelle 140 des Netzwerks 155 implementiert werden, sofern dies gewünscht ist. Somit können etwa die gesamte Verarbeitungskomponente 105 oder ein Teil dieser, die gesamte Speicherkomponente 110 oder ein Teil dieser, und/oder die gesamte Anzeigekomponente 130 oder ein Teil dieser an der entfernten Vorrichtung 150 implementiert oder repliziert werden. In bestimmten Ausführungsformen kann das Abbildungssystem 100 an Stelle von Abbildungssensoren (z.B. Bilderfassungskomponente 115) Bilder oder Bilddaten von Abbildungssensoren aufweisen, die getrennt und entfernt von der Verarbeitungskomponente 105 und/oder sonstigen Komponenten des Abbildungssystems 100 angeordnet sind. Hiermit wird festgestellt, dass viele weitere Kombinationen verteilter Implementierungen des Abbildungssystems 100 möglich sind, ohne dabei vom Umfang und Geist der Offenbarung abzuweichen.
-
Ferner können in verschiedenen Ausführungsformen verschiedene Komponenten des Abbildungssystems 100 kombiniert und/oder implementiert oder nicht implementiert werden, wie dies gewünscht ist, oder abhängig von der jeweiligen Anwendung oder den Anforderungen. In einem Beispiel kann die Verarbeitungskomponente 105 kombiniert werden mit der Speicherkomponente 110, der Bilderfassungskomponente 115, der Bildschnittstelle 120, der Anzeigekomponente 130, der Sensorkomponente 135, und/oder der Netzwerkschnittstelle 140. In einem anderen Beispiel kann die Verarbeitungskomponente 105 mit der Bilderfassungskomponente 115 kombiniert werden, so dass bestimmte Funktionen der Verarbeitungskomponente 105 durch Schaltungen (z.B. einen Prozessor, einen Mikroprozessor, eine Logikvorrichtung, einen Mikrocontroller, etc.) in der Bilderfassungskomponente 115 ausgeführt werden.
-
In einer Ausführungsform kann die entfernte Vorrichtung 150 als eine Host-Vorrichtung bezeichnet werden. Die Host-Vorrichtung kann über die Netzwerkschnittstelle 140 und das Netzwerk 155 mit dem Teil bzw. Abschnitt 175 des Abbildungssystems 100 kommunizieren. Der Teil des 175 Abbildungssystems 100 kann z.B. eine Kamera sein, die mit der entfernten Vorrichtung 150 kommunizieren kann. Die Netzwerkschnittstelle 140 und das Netzwerk 155 können gemeinsam entsprechende Schnittstellen, Anschlüsse, Verbindungen, Schalter, Antennen, Schaltkreise und/oder allgemein beliebige sonstige Komponenten des Teils 175 des Abbildungssystems 100 und der entfernten Vorrichtung 150 bereitstellen, die eine Kommunikation zwischen dem Teil 175 des Abbildungssystems 100 und der entfernten Vorrichtung ermöglichen. Zu den möglichen Kommunikationsschnittstellen zählen eine Ethernet-Schnittstelle (z.B. eine Ethernet GigE-Schnittstelle, eine Ethernet GigE Vision-Schnittstelle), eine Universal Serial Bus (USB)-Schnittstelle, eine sonstige kabelgebundene Schnittstelle, eine Mobilfunkschnittstelle, eine WLAN-Schnittstelle, eine sonstige kabellose Schnittstelle sowie allgemein jede andere Schnittstelle, die eine Datenkommunikation zwischen dem Teil 175 des Abbildungssystems 100 und der entfernten Vorrichtung 150 ermöglicht.
-
2 zeigt ein Blockdiagramm einer beispielhaften Bildsensoreinheit 200 gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung. Allerdings sind nicht alle dargestellten Komponenten erforderlich, und eine oder mehrere Ausführungsformen können zusätzliche Komponenten aufweisen, die in der Abbildung nicht dargestellt sind. Hinsichtlich der Anordnung und der Art der Komponenten sind Variationen möglich, ohne dabei vom Geist oder Umfang der hierin ausgeführten Anspüche abzuweichen. Es können zusätzliche Komponenten, andere Komponenten und/oder weniger Komponenten bereitgestellt werden. In einer Ausführungsform kann die Bilderfassungskomponente 115 aus 1 die Bildsensoreinheit 200 darstellen, aufweisen oder einen Teil dieser darstellen.
-
Die Bildsensoreinheit 200 umfasst eine Elementarzellenanordnung 205, die Spalten-Multiplexer 210 und 215, die Spaltenverstärker 220 und 225, einen Zeilen-Multiplexer 230, eine Steuerungs-Bias- und Zeitsteuerungs-Schaltkreisanordnung 235, einen Digital-Analog-Umsetzer (DAU) 240 und einen Datenausgabepuffer 245. In bestimmten Aspekten können Operationen der und/oder in Bezug auf die Elementarzellenanordnung 205 und andere Komponenten gemäß einem Systemtakt und/oder Synchronisationssignalen (z.B. Leitungssynchronisationssignale (LSYNC)) ausgeführt werden. Die Elementarzellenanordnung 205 umfasst eine Anordnung von Elementarzellen. Gemäß einem Aspekt kann jede Elementarzelle einen Detektor (z.B. ein Pixel) und eine Schnittstellenschaltkreisanordnung umfassen. Die Schnittstellenschaltkreisanordnung jeder Elementarzelle kann als Reaktion auf ein durch den Detektor der Elementarzelle bereitgestelltes Erkennungssignal (z.B. Erkennungsstrom, Erkennungsspannung) ein Ausgangssignal bereitstellen, wie etwa eine Ausgangsspannung oder einen Ausgangsstrom. Das Ausgangssignal kann die Stärke der von dem Detektor empfangenen elektromagnetischen Strahlung anzeigen und als Bildpixeldaten oder einfach Bilddaten bezeichnet werden. Der Spalten-Multiplexer 215, der Spaltenverstärker 220, der Zeilen-Multiplexer 230 und der Datenausgabepuffer 245 können eingesetzt werden, um die Ausgangssignale von der Elementarzellenanordnung 205 als ein Datenausgangssignal auf einer Datenausgangsleitung 250 bereitzustellen. Die Ausgangssignale auf der Datenausgangsleitung 250 können an stromabwärts liegende Komponenten der Bildsensoreinheit 200 bereitgestellt werden, wie etwa eine Verarbeitungsschaltkreisanordnung (z.B. die Verarbeitungskomponente 105 aus 1), einen Speicher (z.B. die Speicherkomponente 110 aus 1), eine Anzeigevorrichtung (z.B. die Anzeigekomponente 130 aus 1), und/oder eine andere Komponente, um die Verarbeitung, das Speichern und/oder Anzeigen der Ausgangssignale zu ermöglichen. Bei dem Datenausgangssignal kann es sich um ein aus den Pixelwerten für die Bildsensoreinheit 200 gebildetes Bild handeln. Dabei können der Spalten-Multiplexer 215, der Spaltenverstärker 220, der Zeilen-Multiplexer 230 und der Datenausgabepuffer 245 gemeinsam eine Ausleseschaltung (oder einen Teil dieser) der Bildsensoreinheit 200 bereitstellen. In einem Aspekt kann die Schnittstellenschaltkreisanordnung als Teil der Ausleseschaltung oder als eine Schnittstelle zwischen den Detektoren und der Ausleseschaltung betrachtet werden. In bestimmten Ausführungsformen können die Komponenten der Bildsensoreinheit 200 so implementiert werden, dass die Elementarzellenanordnung 205 und die Ausleseschaltung Teil eines einzelnen Chips sind.
-
Der Spaltenverstärker 225 kann allgemein jede für eine bestimmte Anwendung (analog und/oder digital) geeignete Spalten-Verarbeitungsschaltung darstellen und ist nicht auf Verstärkerschaltkreisanordnungen für analoge Signale beschränkt. Diesbezüglich kann der Spaltenverstärker 225 gemäß diesem Aspekt allgemeiner als Spaltenprozessoren bezeichnet werden. Von dem Spaltenverstärker 225 empfangene Signale, wie etwa analoge Signale auf einem analogen Bus und/oder digitale Signale auf einem digitalen Bus können gemäß der analogen oder digitalen Art des Signals verarbeitet werden. Zum Beispiel kann der Spaltenverstärker 225 eine Schaltkreisanordnung zur Verarbeitung digitaler Signale umfassen. Als weiteres Beispiel kann es sich bei dem Spaltenverstärker 225 um einen Pfad handeln (z.B. keine Verarbeitung), durch den digitale Signale von der Elementarzellenanordnung 205 verlaufen, um den Spalten-Multiplexer 215 zu erreichen. Als ein weiteres Beispiel kann der Spaltenverstärker 225 einen ADU zur Umwandlung analoger Signale in digitale Signale umfassen (z.B. um digitale Zählwerte zu erhalten). Diese digitalen Signale können an den Spalten-Multiplexer 215 bereitgestellt werden.
-
Jede Elementarzelle kann ein Bias-Signal (z.B. Bias-Spannung, Bias-Strom) zur Vormagnetisierung des Detektors der Elementarzelle empfangen, um unterschiedliche Antwortmerkmale der Elementarzelle zu kompensieren, die etwa Temperaturabweichungen, Fertigungstoleranzen und/oder anderen Faktoren zuzuordnen sind. Die Steuerungs-Bias- und Zeitsteuerungs-Schaltkreisanordnung 235 kann zum Beispiel Bias-Signale erzeugen und diese an die Elementarzellen bereitstellen. Durch die Bereitstellung entsprechender Bias-Signale an jede Elementarzelle, kann die Elementarzellenanordnung 205 wirksam kalibriert werden, um als Reaktion auf auf die Detektoren der Elementarzellen einfallendes Licht (z.B. sichtbares Licht), präzise Bilddaten bereitzustellen. In einem Aspekt kann die Steuerungs-Bias- und Zeitsteuerungs-Schaltkreisanordnung 235 eine logische Schaltung darstellen, umfassen oder ein Teil dieser sein.
-
Die Steuerungs-Bias- und Zeitsteuerungs-Schaltkreisanordnung 235 kann Steuersignale zur Adressierung der Elementarzellenanordnung 205 darstellen, um Zugriff auf und das Auslesen von Bilddaten aus einem adressierten Teil der Elementarzellenanordnung 205 zu ermöglichen. Die Elementarzellenanordnung 205 kann adressiert werden für den Zugriff auf und das Auslesen von Bilddaten aus der Elementarzellenanordnung 205 Zeile für Zeile, wobei die Elementarzellenanordnung 205 in anderen Implementierungen auch Spalte für Spalte oder anderweitig adressiert werden kann.
-
Die Steuerungs-Bias- und Zeitsteuerungs-Schaltkreisanordnung 235 kann Bias-Werte und Zeitsteuerungsspannungen erzeugen. In bestimmten Fällen kann der DAU 240 die als oder als Teil des Dateneingangssignals auf einer Dateneingangssignalleitung 255 empfangenen Bias-Werte in Bias-Signale (z.B. analoge Signale auf der/den analogen Signalleitung(en) 260) umwandeln, die durch den Betrieb des Spalten-Multiplexers 210, des Spaltenverstärkers 220 und des Zeilen-Multiplexers 230 an einzelne Elementarzellen bereitgestellt werden können. Der DAU 240 kann zum Beispiel digitale Steuersignale (die z.B. als Bits bereitgestellt werden) auf entsprechende analoge Signalwerte für die Elementarzellen steuern. Bei bestimmten Technologien kann ein digitales Steuersignal von 0 oder 1 auf einen geeigneten niedrigen logischen Spannungswert oder entsprechend auf einen geeigneten hohen logischen Spannungswert gesteuert werden. Gemäß einem weiteren Aspekt kann die Steuerungs-Bias- und Zeitsteuerungs-Schaltkreisanordnung 235 die Bias-Signale (z.B. analoge Signale) erzeugen und die Bias-Signale an die Elementarzellen bereitstellen, ohne den DAU 240 zu nutzen. Diesbezüglich umfassen bestimmte Implementierungen nicht den DAU 240, die Dateneingangssignalleitung 255, und/oder eine/mehrere analoge Signalleitung(en) 260. In einer Ausführungsform kann die Steuerungs-Bias- und Zeitsteuerungs-Schaltkreisanordnung 235 die Verarbeitungskomponente 105 und/oder die Bilderfassungskomponente 115 aus 1 darstellen, diese umfassen, ein Teil dieser sein oder anderweitig mit dieser gekoppelt sein.
-
In einer Ausführungsform kann die Bildsensoreinheit 200 als Teil eines Abbildungssystems (z.B. 100) implementiert werden. Zusätzlich zu den verschiedenen Komponenten der Bildsensoreinheit 200 kann das Abbildungssystem auch einen oder mehrere Prozessoren, Speicher, Logik, Anzeigen, Schnittstellen, Optik (z.B. Linsen, Spiegel, Strahlenteiler) und/oder sonstige Komponenten umfassen, wie dies für die verschiedenen Implementierungen zweckmäßig ist. Gemäß einem Aspekt kann das Datenausgangssignal auf der Datenausgangsleitung 250 zur weiteren Verarbeitung an die Prozessoren (nicht abgebildet) bereitgestellt werden. Das Datenausgangssignal kann zum Beispiel ein Bild sein, das aus den Pixelwerten aus den Elementarzellen of der Bildsensoreinheit 200 gebildet wird. Die Prozessoren können Operationen wie Ungleichmäßigkeitskorrektur (z.B. FFC oder eine andere Kalibrierungstechnik), räumliches und/oder zeitliches Filter und/oder andere Operationen ausführen. Die Bilder (z.B. verarbeitete Bilder) können in Speicher (z.B. außerhalb des oder in dem Abbildungssystem) gespeichert und/oder auf einer Anzeigevorrichtung (z.B. außerhalb des oder integriert in dem Abbildungssystem) angezeigt werden. Die verschiedenen Komponenten aus f 2 können auf einem einzelnen oder auf mehreren Chips implementiert werden. Wenngleich verschiedene Komponenten als eine Anordnung einzelner Blöcke dargestellt sind, können verschiedene Blöcke zusammengeführt werden oder verschiedene Blöcke aus 2 können in einzelne Blöcke getrennt.
-
Hiermit wird festgestellt, dass die Elementarzellenanordnung 205 in 2 als eine Anordnung von 8 x 8 Elementarzellen (z.B. 8 Zeilen und 8 Spalten von Elementarzellen) dargestellt ist. Die Elementarzellenanordnung 205 kann aber auch andere Anordnungsgrößen aufweisen. Zu den möglichen Beispielen für die Elementarzellenanordnung 205 zählen unter anderem 512 x 512 (z.B. 512 Zeilen und 512 Spalten von Elementarzellen), 1024 x 1024, 2048 x 2048, 4096 x 4096, 8192 x 8192 und/oder sonstige Anordnungsgrößen. In bestimmten Fällen kann die Anordnungsgröße eine Zeilengröße aufweisen (z.B. Anzahl von Detektoren in einer Zeile), die sich von der Spaltengröße (z.B. Anzahl von Detektoren in einer Spalte) unterscheidet. Zu den Beispielen für Bildfrequenzen oder Bildfolgen der Bilderfassung und/oder Bildübertragungstragen zählen 30 Hz, 60 Hz und 120 Hz, wobei die Bildfrequenzen in verschiedenen Ausführungsformen auch geändert werden können. In einem Aspekt kann jede Elementarzelle der Elementarzellenanordnung 205 ein Pixel darstellen.
-
Die Abbildungen 3 bis 6 zeigen Flussdiagramm beispielhafter Prozessor zur Ermöglichung einer Farbkorrektur gemäß einer oder mehreren Ausführungsformen of der vorliegenden Offenbarung. Die Prozesse in diesen Abbildungen sind aus Gründen der Erläuterung hierin zwar primär in Bezug auf das Abbildungssystem 100 aus 1 beschrieben, jedoch können die Prozesse alternativ oder zusätzlich (z.B. über eine Kamera und eine Host-Vorrichtung verteilte Verarbeitung) an anderen Abbildungssystemen ausgeführt werden, bei denen Farbkorrektur zum Einsatz kommt. Hiermit wird festgestellt, dass eine oder mehrere Operationen aus diesen Abbildungen kombiniert, weggelassen und/oder in andere Reihenfolge ausgeführt werden können, wenn dies gewünscht ist.
-
3 zeigt ein Flussdiaramm eines beispielhaften Prozesses 300 zur Ermöglichung einer Farbkorrektur gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung. In dem Block 305 empfängt eine Verarbeitungsschaltung (z.B. die Verarbeitungskomponente 105) eines Abbildungssystems (z.B. des Abbildungssystems 100) ein Bild (z.B. Bild im sichtbaren Bereich). Die Verarbeitungsschaltung kann in einem Abbildungssystem (z.B. dem Abbildungssystem 100) implementiert sein, welches das Bild erfasst, in einer oder mehreren von dem Abbildungssystem entfernten Vorrichtungen (z.B. der entfernten Vorrichtung 150) oder dem Abbildungssystem und der/den entfernte(n) Vorrichtung(en) (z.B. ist die Verarbeitung über das Abbildungssystem und die entfernte(n) Vorrichtung(en) verteilt).
-
Das Bild kann in dem Farbraum eines Bildumsetzers (z.B. dem RGB Farbraum des Bildumsetzers) dargestellt werden, der dem Bildumsetzer zugeordnet ist, der für die Bilderfassung verwendet wird. Zum Beispiel kann das Bild von einer Bildsensorvorrichtung (z.B. der Bilderfassungskomponente 115) des Abbildungssystems erfasst werden. Die Bildsensorvorrichtung kann das Bild als Reaktion auf Strahlung (z.B. Strahlung im sichtbaren Bereich) einer Szene (z.B. der Szene 160) erfasst werden, die von der Bildsensorvorrichtung empfangen wird. In bestimmten Fällen kann die Bildsensorvorrichtung und/oder eine mit der Bildsensorvorrichtung gekoppelte Schaltkreisanordnung die Strahlung in elektrische Signale (z.B. Spannungen, Ströme, etc.) umwandeln und auf der Basis der elektrischen Signale Pixelwerte erzeugen. Gemäß einem Aspekt können die durch die Bildsensorvorrichtung und/oder zugeordnete Schaltkreisanordnung erzeugten Pixelwerte als digitale Zählwerte dargestellt werden, die auf der Basis der elektrischen Signale erzeugt werden, die durch die Umwandlung der erkannten Strahlung im sichtbaren Bereich erhalten werden. Für den Fall, dass die Bildsensorvorrichtung zum Beispiel eine ADU-Schaltung umfasst oder mit einer solchen gekoppelt ist, kann die ADU-Schaltung auf der Basis der elektrischen Signale für jeden Farbkanal digitale Zählwerte erzeugen. Als weiteres Beispiel kann die Verarbeitungsschaltung das Bild von einer Bildsensorvorrichtung außerhalb des Abbildungssystems und/oder einem Speicher (z.B. der Speicherkomponente 110) des Abbildungssystems oder einem anderen System, das erfasste Bilder speichert, empfangen oder abrufen.
-
In dem Block 310 erhält die Verarbeitungsschaltung eine dem Bild zugeordnete korrelierte Farbtemperatur. Gemäß einem Aspekt kann die Verarbeitungsschaltung die korrelierte Farbtemperatur durch den Empfang einer Benutzereingabe erhalten (z.B. durch manuelle Eingabe durch den Benutzer des Abbildungssystems), wobei die Eingabe die dem Bild zuzuordnende korrelierte Farbtemperatur anzeigt. Der Benutzer kann zum Beispiel aus einer vorbestimmten Gruppe von Optionen für die korrelierte Farbtemperatur und/oder einer vorbestimmten Gruppe von Optionen der spektralen Strahlungsverteilung von Leuchtkörper auswählen (z.B. die wiederum korrelierten Farbtemperaturen zugeordnet sein können). Die vorbestimmte Gruppe korrelierter Farbtemperaturen und/oder die vorbestimmte Gruppe der spektralen Strahlungsverteilungen von Leuchtkörper können auf einer Benutzerschnittstelle bzw. Benutzeroberfläche e (z.B. auf der Anzeigekomponente 130) dem Benutzer zur Auswahl durch den Benutzer angezeigt werden. Dem Benutzer kann unter anderem eine Liste korrelierter Farbtemperaturen bereitgestellt werden, darunter 2.700 K, 3.000 K, 4.000 K, 5.500 K und/oder 7.000 K. Die verschiedenen korrelierten Farbtemperaturen können numerisch durch ihre Temperaturwerte und/oder Namen/Bezeichner identifiziert werden, wie etwa Kunstlicht (z.B. 2.700 K), Warmweiß (z.B. 3.000 K), Kaltweiß (z.B. 4.000 K), mittleres Sonnenlicht (z.B. 5.500 K) und/oder Bewölkung (z.B. 7.000 K).
-
Gemäß einem weiteren Aspekt kann die Verarbeitungsschaltung die dem Bild zugeordnete korrelierte Farbtemperatur bestimmen. Auf der Basis der Analyse des Bilds kann die Verarbeitungsschaltung in bestimmten Fällen die korrelierte Farbtemperatur auf der Basis von Chromatizitätskoordinaten (z.B. XY Chromatizitätskoordinaten) bestimmen, welche die durch das Bild erfasste Szene kennzeichnen. Die Chromatizitätskoordinaten können anhand von Histogrammdaten des Bilds bestimmt werden. In einem Fall basieren die Chromatizitätskoordinaten auf einer Statistik der Histogrammdaten, wie zum Beispiel dem Histogrammdurchschnitt. Die Histogrammdaten können erfasst werden, bevor digitale Kanalverstärkungen oder andere Verarbeitungen angewendet werden. Die Histogrammdaten können auf einem einzigen Histogramm basieren, welches das Bild kennzeichnet, oder auf einer Gruppe von Histogrammen, die über Bereiche des Bilds zusammengetragen werden. In bestimmten Fällen können die Histogrammdaten auf einem Teil des Bilds basieren. Ausreißer (z.B. Pixel, die in Bereiche fallen, die Übersättigungswerten zugeordnet sind) in jedem Farbkanal können etwa aus dem Histogramm entfernt werden, und der Mittelwert des Histogramms kann ohne die Ausreißer ermittelt werden.
-
In einem nicht einschränkenden Ansatz kann die Verarbeitungsschaltung einen Weißabgleich der Histogrammstatistik vornehmen, von dem Farbraum des Bildumsetzers in einen Standardfarbraum umwandeln (z.B. Standard RGB-Farbraum), auf Werte zwischen 0 und 1 normalisieren, in CIE XYZ Tristimuluswerte umwandeln (z.B. unter Verwendung von D50 als Referenzleuchtkörper) und diese XYZ-Werte umwandeln, um die Chromatizitätskoordinaten zu erhalten. Eine Abbildung (z.B. McCamy-Beziehung) kann verwendet werden, um die Chromatizitätskoordinaten auf die korrelierte Farbtemperatur abzubilden. Neben dem vorstehenden beispielhaften Ansatz und der beispielhaften Abbildung zur Bestimmung der Chromatizitätskoordinaten können andere Abbildungen, andere Leuchtkörper, andere Histogrammstatistiken und/oder andere Merkmale verwendet werden, die dem Bild zugeordnet sind, um die Chromatizitätskoordinaten und/oder die korrelierte Farbtemperatur zu bestimmen.
-
In dem Block 315 erhält die Verarbeitungsschaltung eine CCM auf der Basis der dem Bild zugeordneten korrelierten Farbtemperatur. Gemäß einem Aspekt kann die Verarbeitungsschaltung die CCM aus einer vorbestimmten Menge von CCMs anhand der korrelierten Farbtemperatur auswählen. Die vorbestimmten CCMs können als angelernte CCMs bezeichnet werden. Die vorbestimmte Menge bzw. Gruppe von CCMs kann in einem Speicher (z.B. der Speicherkomponente 110) des Abbildungssystems oder in eines anderen Systems gespeichert werden. Jede der gespeicherten CCMs ist z.B. einer korrelierten Farbtemperatur zugeordnet, und die a Verarbeitungsschaltung kann die CCM auswählen, die einer korrelierten Farbtemperatur zugeordnet ist, die der korrelierten Farbtemperatur am nächsten ist, die durch die Verarbeitungsschaltung in Block 310 erhalten wird. In bestimmten Fällen kann es sich bei der durch die Verarbeitungsschaltung in Block 310 erhaltenen CCM um eine polynome CCM handeln. Zum Beispiel kann die polynome CCM eine 3 x 9 Matrix sein, die einem Vektor (R, G, B, R2, G2, B2, RG, GB, RB)T zugeordnet ist, erweitert von einem (R, G, B)T Vektor unter Verwendung von Polynomregression.
-
In Bezug auf eine bestimmte korrelierte Farbtemperatur kann eine CCM auf der Basis einer bekannten Spektralempfindlichkeit des für die Bilderfassung verwendeten Bildumsetzers angelernt werden sowie der spektralen Strahlungsverteilung (SPD) und/oder empirisch unter Verwendung einer Farbkarte. Als ein nicht einschränkendes Beispiel kann der empirische Ansatz den Einsatz einer Gruppe von Patches mit einer bekannten Farbe umfassen (z.B. ColorChecker wie etwa Macbeth-ColorChecker). Diesbezüglich weisen diese Patchs Bodendatenwerte auf (z.B. Bodendaten-RGB-Werte). Der empirische Ansatz kann die Erfassung eines Bilds des ColorCheckers bei bekannter Beleuchtung umfassen (z.B. bekannte gleichmäßige Be- bzw. Ausleuchtung), die Bestimmung von Farbwerten (z.B. RGB-Werten) in dem Farbraum des Bildumsetzers für jedes der Farbpatches und die Bestimmung einer CCM, welche die Farbwerte in dem Farbraum des Bildumsetzers ordnungsgemäß auf die Farbbodengrundwerte abbildet. Die bestimmte CCM kann gespeichert werden (z.B. als Teil der vorbestimmten Gruppe von CCMs). In bestimmten Fällen können die CCMs vorab angelernt und für eine spätere Anwendung an Bildern gespeichert werden, die entsprechenden korrelierten Farbtemperaturen zugeordnet sind. In anderen Fällen kann alternativ oder zusätzlich eine CCM im Fluge zur Verwendung mit dem Bild angelernt werden.
-
In dem Block 320 bestimmt die Verarbeitungsschaltung auf der Basis des Bilds einen Skalierungswert Skalierung1 und einen Skalierungswert Skalierung2. Gemäß einem Aspekt können die Skalierungswerte Skalierung1 and Skalierung2 auf der Basis der relativen Luminanz des Bilds bestimmt werden. In bestimmten Fällen können die Skalierungswerte Skalierung1 and Skalierung2 ferner auf einer relativen Luminanz eines Kalibrierungsbilds bestimmt werden, das der in Block 315 erhaltenen CCM zugeordnet ist. In einem Beispiel kann der Skalierungswert Skalierung1 bereitgestellt werden durch Skalierung1 = Icalib/Iim, wobei Icalib und Iim entsprechend einer relativen Luminanz des Kalibrierungsbilds bzw. des in Block 305 empfangenen Bilds entsprechen. Gemäß einem Aspekt kann der Skalierungswert Skalierung2 ein Kehrwert des Skalierungswertes Skalierung1 sein.
-
In dem Block 325 wendet die Verarbeitungsschaltung den Skalierungswert Skalierung1 auf das Bild an, um ein skaliertes Bild zu erhalten. In dem Block 330 wendet die Verarbeitungsschaltung die in dem Block 315 erhaltene CCM auf das skalierte Bild an, um ein CCM-Bild zu erhalten. In dem Block 335 wendet die Verarbeitungsschaltung den Skalierungswert Skalierung2 auf das CCM-Bild an, um ein farbkorrigiertes Bild zu erhalten. Diesbezüglich erzeugt die Verarbeitungsschaltung das farbkorrigierte Bild auf der Basis des Skalierungswertes Skalierung1, des Skalierungswertes Skalierung2 und der CCM. In einer Ausführungsform kann die Skalierung der Helligkeit insgesamt des in Block 305 empfangenen Bilds vor und nach Anwendung der CCM (z.B. polynome CCM) die Belichtungsabhängigkeit verringern und die Farbqualität verbessern. In dem Block 340 stellt die Verarbeitungsschaltung das farbkorrigierte Bild zum Speichern, zur Anzeige und/oder zur weiteren Verarbeitung bereit. Als Beispiel kann ein sRGB Gamma auf das farbkorrigierte Bild angewendet werden, und dieses Bild mit angewendetem Gamma wird auf einer Anzeigevorrichtung (z.B. einem Monitor, der zum Anzeigen in einem Standardfarbraum kalibriert ist, wie etwa ein sRGB-Monitor) zur Betrachtung durch Menschen bereitgestellt. Als weiteres Beispiel kann das in dem Block 305 erhaltene Bild ein Bild im sichtbaren Lichtbereich sein, das danach mit einem einem anderen Wellenbereich zugeordneten Bild, wie etwa einem Infrarotbild (z.B. einem Wärmeinfrarotbild) kombiniert/verschmolzen werden kann.
-
4 zeigt ein Flussdiagramm eines beispielhaften Prozesses bzw. Ablaufs 400 zum Erhalten einer CCM für ein Bild über eine Benutzereingabe gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung. In dem Block 405 empfängt eine Verarbeitungsschaltung (z.B. die Verarbeitungskomponente 105) eines Abbildungssystems (z.B. des Abbildungssystems 100) eine Benutzereingabe, welche eine korrelierte Farbtemperatur für die Zuordnung zu einem Bild anzeigt (z.B. empfangen von einer Bildsensorvorrichtung oder aus einem Speicher, der vorher erfasste Bilder speichert). In dem Block 410 wählt/ruft die Verarbeitungsschaltung aus einem Speicher (z.B. der Speicherkomponente 110) eine CCM ab (z.B. aus einer vorbestimmten Gruppe von in dem Speicher gespeicherten CCMs), die der durch die empfangene Benutzereingabe angezeigten korrelierten Farbtemperatur zugeordnet ist. Der Benutzer kann zum Beispiel eine korrelierte Farbtemperatur aus einer Gruppe von korrelierten Farbtemperaturen auswählen, die dem Benutzer über die Benutzerschnittstelle angezeigt werden, wobei jede dieser korrelierten Farbtemperaturen einer vorab angelernten CCM zugeordnet werden kann. In bestimmten Fällen kann die in Block 410 ausgewählte CCM in dem Prozess 300 (z.B. in Block 330 aus 3) zur Farbkorrektur des Bilds angewendet werden. In anderen Fällen kann die in Block 410 ausgewählte CCM in anderen Prozessen eingesetzt werden, die sich auf die Farbkorrektur des Bilds beziehen, wie etwa eine Farbkorrektur, bei der die CCM auf das Bild angewendet wird (z.B. ohne die Anwendung eines Skalierungswertes vor der Anwendung der CCM und/oder die Anwendung eines Skalierungswertes nach der Anwendung der CCM). In einer Ausführungsform kann der Block 405 den Block 310 aus 3 implementieren und/oder der Block 410 kann den Block 315 aus 3 implementieren.
-
5 veranschaulicht ein Flussdiagramm eines beispielhaften Prozesses 500 zum Erhalten einer CCM für ein Bild gemäß einer berechneten (z.B. geschätzten) korrelierten Farbtemperatur eines Bilds gemäß einem oder mehreren Ausführungsformen der vorliegenden Offenbarung. In dem Block 505 bestimmt (z.B. schätzt) eine Verarbeitungsschaltung (z.B. die Verarbeitungskomponente 105) eines Abbildungssystems (z.B. des Abbildungssystems 100) eine korrelierte Farbtemperatur für die Zuordnung zu einem Bild (z.B. empfangen von einer Bildsensorvorrichtung oder aus einem Speicher, der zuvor erfasste Bilder speichert). In einem Beispiel kann die Verarbeitungsschaltung Histogrammdaten auf der Basis des Bilds bestimmen, Chromatizitätskoordinaten auf der Basis der Histogrammdaten bestimmen und die korrelierte Farbtemperatur auf der Basis der Chromatizitätskoordinaten bestimmen. In dem Block 510 wählt/ruft die Verarbeitungsschaltung aus einem Speicher (z.B. der Speicherkomponente 110) eine CCM aus/ab (z.B. aus einer vorbestimmten Gruppe von in dem Speicher gespeicherten CCM), die der in Block 505 bestimmten korrelierten Farbtemperatur zugeordnet ist. Die Verarbeitungsschaltung kann zum Beispiel die CCM auswählen, die einer korrelierten Farbtemperatur zugeordnet ist, die der in Block 505 bestimmten korrelierten Farbtemperatur am nächsten ist. In bestimmten Fällen kann die in Block 510 ausgewählte CCM in dem Prozess 300 (z.B. in Block 330 aus 3) zur Farbkorrektur des Bilds verwendet werden. In anderen Fällen kann die in Block 510 ausgewählte CCM in anderen Prozessen in Bezug auf die Farbkorrektur des Bilds verwendet werden, wie etwa einer Farbkorrektur, bei der die CCM auf das Bild angewendet wird (z.B. ohne die Anwendung eines Skalierungswertes vor der Anwendung der CCM und/oder die Anwendung eines Skalierungswertes nach der Anwendung der CCM). In einer Ausführungsform kann der Block 505 den Block 310 aus 3 implementieren und/oder der Block 510 kann den Block 315 aus 3 implementieren.
-
6 zeigt ein Flussdiagramm eines beispielhaften Prozesses 600 zum Erhalten einer CCM für ein Bild gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung. In Block 605 bestimmt (z.B. schätzt) eine Verarbeitungsschaltung (z.B. die Verarbeitungskomponente 105) eines Abbildungssystems (z.B. des Abbildungssystems 100) eine korrelierte Farbtemperatur für die Zuordnung zu einem Bild (z.B. empfangen von einer Bildsensorvorrichtung oder aus einem Speicher, der zuvor erfasste Bilder speichert).
-
In dem Block 610 bestimmt die Verarbeitungsschaltung, ob eine der in Block 605 bestimmten korrelierten Farbtemperatur zugeordnete CCM zum Abruf verfügbar ist. Eine der korrelierten Farbtemperatur zugeordnete CCM kann zum Abruf verfügbar sein, wenn die CCM vorab angelernt worden ist, wie etwa durch einen Hersteller des Abbildungssystems (z.B. integriert in das Abbildungssystem und/oder als eine Aktualisierung des Abbildungssystems nach Auslieferung an den Benutzer), durch einen Benutzer des Abbildungssystems, durch Benutzer anderer Abbildungssysteme (z.B. und die vorab angelernte CCM, die durch solche Benutzer zur Verwendung durch andere Benutzer bereitgestellt wird), und/oder durch andere.
-
Gemäß einem Aspekt gilt für eine gegebene, in Block 605 bestimmte korrelierte Farbtemperatur eine CCM als verfügbar für die korrelierte Farbtemperatur, wenn sich die korrelierten Farbtemperatur innerhalb eines bestimmten Grenzbereichs/Prozentsatzes um die korrelierte Farbtemperatur der CCM befindet. Für eine CCM (die z.B. in einem Speicher gespeichert ist), die einer korrelierten Farbtemperatur von 3.000 K zugeordnet ist, kann die Verarbeitungsschaltung zum Beispiel bestimmen, dass diese CCM für die in Block 605 bestimmte korrelierte Farbtemperatur zur Verfügung steht, wenn die in Block 605 bestimmte korrelierte Farbtemperatur zwischen 3.000 K ± 300 K (z.B. oder äquivalent 3.000 K ± 10%) liegt. In bestimmten Fällen können unterschiedliche CCMs unterschiedlichen Grenzbereichen/Prozentsätzen um eine nominale korrelierte Farbtemperatur zugeordnet sein. In bestimmten Fällen können die Grenzbereiche/Prozentsätze durch einen Benutzer, einen Hersteller (z.B. als Standardgrenzbereiche/Prozentsätze) und/oder dem Einsatz und/oder der Konfiguration des Abbildungssystems 100 zugeordnete Sonstige festgelegt werden. Zum Beispiel kann der Grenzbereich/Prozentsatz mit 0 K oder 0% festgelegt werden (z.B. weist die korrelierte Farbtemperatur, die der CCM zugeordnet ist, keine Übereinstimmung mit der in Block 605 bestimmten korrelierten Farbtemperatur zur Berücksichtigung einer CCM auf, die verfügbar ist für die in Block 605 bestimmte korrelierte Farbtemperatur).
-
Wenn die Verarbeitungsschaltung in Block 610 bestimmt, dass die CCM für die in Block 605 bestimmte korrelierte Farbtemperatur verfügbar ist, fährt der Prozess 600 mit Block 615 fort. In Block 615 wählt/ruft die Verarbeitungsschaltung aus einem Speicher (z.B. der Speicherkomponente 110) eine CCM aus/ab, die der in Block 605 bestimmten korrelierten Farbtemperatur zugeordnet ist. Die in Block 615 ausgewählte CCM kann (z.B. in Block 330 aus 3) zur Farbkorrektur des Bilds verwendet werden.
-
Wenn die Verarbeitungsschaltung in Block 610 bestimmt, dass keine CCM für die in Block 605 bestimmte korrelierte Farbtemperatur verfügbar ist, fährt der Prozess 600 mit Block 620 fort. In Block 620 bestimmt die Verarbeitungsschaltung eine CCM auf der Basis der in Block 605 bestimmten korrelierten Farbtemperatur. CCM-Einträge/Elemente können bestimmt/angelernt (z.B. nebenbei) werden. Gemäß einem Aspekt können für eine bestimmte Gruppe von Leuchtkörpern (z.B. Tageslichtleuchtkörper) spektrale Strahlungsverteilungen für verschiedene farbkorrelierte Temperaturen bestimmt werden (z.B. farbkorrelierte Temperaturen aus einem Bereich von etwa 2.500 K bis etwa 30.000 K). Somit kann auf der Basis der in Block 605 bestimmten farbkorrelierten Temperatur parallel bzw. nebenbei eine zugeordnete spektrale Strahlungsverteilung bestimmt werden. Einträge/Elemente einer CCM können nebenbei auf der Basis der spektralen Strahlungsverteilung und der bekannten Spektralempfindlichkeit des für die Erfassung des Bilds verwendeten Bildumsetzers bestimmt/angelernt werden, auf das die CCM angewendet werden soll.
-
Als ein Beispiel kann die spektrale Strahlungsverteilung und die bekannte Spektralempfindlichkeit des Bildumsetzers die Simulation von RGB-Werten ermöglichen, und diese simulierten RGB-Werte können mit RGB-Bodengrundwerten verglichen werden. Gemäß einem Aspekt können die RGB-Bodengrundwerte das Kalibrierungsbild bereitstellen/definieren, und eine durchschnittliche relative Luminanz der RGB-Bodengrundwerte kann bereitstellen Icalib, das bei der Bestimmung der Skalierungswerte eingesetzt wird (z.B. in Block 320 aus 3). Derartige Vergleiche zwischen den simulierten Werten und den Bodengrundwerten können zur Bestimmung der Einträge/Elemente der CCM verwendet werden. In einem Beispiel können während einem CCM-Kalibrierungsschritt sowohl der RGB-Bodengrundwert als auch der RGB-Wert des Kameraraums simuliert werden gemäß RGB' = Empfindlichkeit'[Leuchtkörper SPD ⊙ standardisiertes Reflexionsvermögen], wobei RGB die RGB-Werte bereitstellt, wobei Empfindlichkeit eine Kameraspektralempfindlichkeit ist, wenn Kamera RGB simuliert wird, oder ein CIE-Normalbeobachter (auch bekannt als Farbabstimmungsfunktion), wenn RGB-Bodengrundwert simuliert wird, wobei standardisiertes Reflexionsvermögen für eine Gruppe von Reflexionswerten bei bestimmten Wellenlängen steht, und wobei ⊙ einen Multiplikationsoperator je Element bezeichnet. Icalib wird in dem Kalibrierungsprozess nicht verwendet, doch kann Icalib als Parameter gemeinsam mit der zugeordneten CCM gespeichert werden.
-
In Block 625 führt die Verarbeitungsschaltung eine Zwischenspeicherung/Speicherung der in Block 620 bestimmten CCM in einem Speicher durch (z.B. der Speicherkomponente 110). Die in Block 620 bestimmte CCM kann zur Farbkorrektur des Bilds verwendet werden (z.B. in Block 330 aus 3) und sie kann durch die Verarbeitungsschaltung in Block 615 ausgewählt/abgerufen werden für folgende Bilder (z.B. um wiederholte Berechnungen zu vermeiden) mit einer korrelierten Farbtemperatur, die der in Block 620 bestimmten CCM zugeordnet ist. In bestimmten Fällen kann die in Block 620 bestimmte CCM in anderen Prozessen in Bezug auf die Farbkorrektur des Bildes verwendet werden, wie etwa bei einer Farbkorrektur, bei der die CCM auf das Bild angewendet wird (z.B. ohne die Anwendung eines Skalierungswertes vor der Anwendung der CCM und/oder die Anwendung eines Skalierungswertes nach der Anwendung der CCM). In bestimmten Aspekten kann die parallele Bestimmung von CCMs und das Speichern dieser, wenn sie bestimmt werden, an Stelle des Anlernens und Speicherns einer großen Anzahl von CCMs (z.B. zur Berücksichtigung eines großen Bereichs möglicher Lichtbedingungen im Freien) Speicherressourcen einsparen, aber auch mehr Rechenressourcen verbrauchen. In einer Ausführungsform kann Block 605 Block 310 aus 3 implementieren und/oder die Blöcke 615 und/oder 620 können Block 315 aus 3 implementieren.
-
Die Farbkorrektur kann als weiteres Beispiel in der Biowissenschaft eingesetzt werden. 7A zeigt ein Beispielbild von Blutkörperchen ohne angewendete Farbkorrektur. 7B zeigt ein Bild in Zielqualität. 7C zeigt das Bild aus 7A mit angewendeter linearer CCM. 7D zeigt das Bild aus 7A mit angewendeter polynomer CCM und sRGB Gamma. Durch einen Vergleich des Bilds aus 7D mit den Bildern der 7A-7C wird deutlich, dass das Bild aus 7D dem in 7B dargestellten gewünschten Bild näher ist als die Bilder der 7A und 7C.
-
Sofern möglich, können die durch die vorliegende Offenbarung vorgesehenen verschiedenen Ausführungsformen unter Verwendung von Hardware, Software oder Kombinationen aus Hardware und Software implementiert werden. Sofern zutreffend, können die hierin ausgeführten verschiedenen Hardwarekomponenten und/oder Softwarekomponenten in Verbundkomponenten kombiniert werden, die Software, Hardware und/oder beides umfassen, ohne dabei vom Geist der Erfindung abzuweichen. Sofern zutreffend, können die hierin ausgeführten verschiedenen Hardwarekomponenten und/oder Softwarekomponenten in Teilkomponenten unterteilt werden, die Software, Hardware und/oder beides umfassen, ohne dabei vom Geist der Erfindung abzuweichen. Ferner ist es vorgesehen, dass die Softwarekomponenten als Hardwarekomponenten implementiert werden können und vice versa, sofern möglich.
-
Software im Sinne der vorliegenden Offenbarung, wie etwa nichtflüchtige Anweisungen, Programmcode und/oder Daten, kann auf einem oder mehreren nichtflüchtigen, maschinenlesbaren Medien gespeichert werden. Ferner ist es vorgesehen, dass hierin identifizierte Software unter Verwendung eines oder mehrerer Universal- oder Spezialrechner und/oder Rechnersysteme, vernetzt und/oder anderweitig implementiert werden kann. Soweit anwendbar, kann die Reihenfolge der hierin beschriebenen Schritte geändert, in Verbundschritte kombiniert und/oder in Teilschritte getrennt werden, um hierin beschriebene Merkmale bereitzustellen.
-
Die vorliegende Erfindung wird durch die vorstehende Beschreibung nicht auf die offenbarten exakten Ausführungen oder bestimmten Gebiete beschränkt. Die vorstehend beschriebenen Ausführungsformen dienen der Veranschaulichung der Erfindung, ohne diese einzuschränken. Vor dem Hintergrund dieser Offenbarung sind verschiedene andere Ausführungsformen und/oder Modifikationen der vorliegenden Erfindung möglich, ob hierin ausdrücklich beschrieben oder konkludent enthalten. Der Umfang der Erfindung ist somit ausschließlich durch die folgenden Ansprüche beschränkt.