PatentDe  


Dokumentenidentifikation DE102006028735A1 27.12.2007
Titel Einrichtung zur Interpolation und Filterung von digitalen Bilddaten
Anmelder sci-worx GmbH, 30419 Hannover, DE
Erfinder Altmann, Jens, 36469 Tiefenort, DE;
Franke, Roland, 31515 Wunstorf, DE
Vertreter GRAMM, LINS & PARTNER GbR, 38122 Braunschweig
DE-Anmeldedatum 20.06.2006
DE-Aktenzeichen 102006028735
Offenlegungstag 27.12.2007
Veröffentlichungstag im Patentblatt 27.12.2007
IPC-Hauptklasse H04N 1/46(2006.01)A, F, I, 20060620, B, H, DE
IPC-Nebenklasse H04N 1/409(2006.01)A, L, I, 20060620, B, H, DE   H04N 1/00(2006.01)A, L, I, 20060620, B, H, DE   
Zusammenfassung Eine Einrichtung (1) zur Interpolation und Filterung von digitalen Bilddaten (2) im Bayer-Mosaik mit einem Zeilenpuffer (3) zur zeilenweise Abspeicherung von Bayer-Bilddaten aus einem seriellen, zeilenorientierten Datenstrom, einem an dem Zeilenpuffer (3) angeschlossenen Matrixspeicher (4) zur Zwischenspeicherung einer Bilddatenmatrix in Bayer-Mosaik-Verteilung, eine Interpolations-Recheneinheit (5) am Ausgang des Matrix-Speichers (4) zur Interpolation von Bilddaten und Generierung fehlender Farbwertpixel und Farbdifferenzpixel und mit einer Filtereinheit (6) zur Filterung der durch die am Ausgang der Interpolations-Recheneinheit (5) anliegenden Bilddaten wird beschrieben, um einen RGB-Bilddatenstrom mit Rot-, Grün- und Blau-Informationen im RGB-Format zu erzeugen.
Die Interpolations-Recheneinheit (5) ist eingerichtet, um am Ausgang parallel alle für die Filtereinheit (6) erforderlichen mehreren Bilddatenzeilen bereitzustellen. Der Matrixspeicher (4) ist in seiner Größe derart auf die Interpolations-Recheneinheit (5) abgestimmt, dass die im Matrixspeicher (4) abgelegte Bildmatrix mindestens so groß ist, dass die Interpolations-Recheneinheit (5) eine für die Filtereinheit (6) ausreichende Anzahl an Bilddatenzeilen parallel generieren kann.

Beschreibung[de]

Die Erfindung betrifft eine Einrichtung zur Interpolation und Filterung von digitalen Bilddaten im Bayer-Mosaik mit einem Zeilenpuffer zur zeilenweisen Abspeicherung von Bayer-Bilddaten aus einem seriellen, zeilenorientierten Datenstrom, einem an den Zeilenpuffer angeschlossenen Matrixspeicher zur Zwischenspeicherung einer Bilddatenmatrix in Bayer-Mosaik-Verteilung, einer Interpolations-Recheneinheit am Ausgang des Matrixspeichers zur Interpolation von Bilddaten und zur Generierung fehlender Farbwertpixel und Farbdifferenzpixel, und mit einer Filtereinheit zur Filterung der durch die am Ausgang der Interpolations-Recheneinheit anliegenden Bilddaten um einen RGB-Bilddatenstrom mit Rot-, Grün- und Blau-Informationen im RGB-Format zu erzeugen.

Die Erfindung betrifft weiterhin eine digitale Kamera mit einem Bildsensor mit einer Sensor-Matrix zur Erfassung von Bildblöcken mit entsprechend eines Bayer-Mosaik angeordneten Farb-Informationen, wobei der Bildsensor mit der oben beschriebenen Einrichtung verbunden ist. Bei der digitalen Bildbearbeitung ist die Interpolation von Farb- und Helligkeitswerten von Bildpixeln aus Bildblöcken ein an sich hinreichend bekanntes und gelöstes Problem. Insbesondere für ladungsgekoppelte Bildsensoren (Charge-Device CCD), die in Bildkameras genutzt werden, ist eine solche Interpolation erforderlich. Schaltungen und Verfahren zur Interpolation sind z. B: in der EP 1 289 310 A2, dem US-Patent 4,630,307 und der US 2003/0095703 A1 beschrieben.

Aus dem US-Patent 6,091,862 ist eine Schaltungsanordnung und ein Verfahren zur Pixel-Interpolation von in einem so genannten Bayer-Mosaik angeordneten Bildblöcken bekannt. Das Interpolationsergebnis wird durch Richtungsfaktoren für einzelne Pixel verbessert, die in Abhängigkeit von der Texturrichtung der Bildpixel bestimmt werden.

Aus dem US-Patent 6,549,233 B1 ist eine Farbinterpolationstechnik für Bilder im Bayer-Mosaik bekannt, bei der im Bezug auf einen Bildpixel eines Bildblocks die maximalen Gradienten der Bildpixelwerte bestimmt werden. Hierzu werden die minimalen und maximalen Intensitätswerte der Bildpixel eines Bildblocks bestimmt und gemittelt.

EP 0 632 633 A2 offenbart ein Interpolationsverfahren, bei dem die Texturrichtung (Gradienten) aus der Differenz von Luminanzwerten in vertikaler und horizontaler Bildrichtung bestimmt und mit einem Schwellwert verglichen wird. Die Interpolation zusätzlicher Luminanzwerte erfolgt dann in Richtung des erkannten Gradienten.

Ebenso ist in dem US-Patent 5,373,322 ein Interpolationsverfahren beschrieben, bei dem die Gradienten (Texturrichtung von Bildpixeln) bestimmt und die Interpolation in Abhängigkeit von der Texturrichtung durchgeführt wird. Die Interpolation erfolgt hierbei linear.

Diesen beschriebenen Interpolationsverfahren liegt grundsätzlich das Problem zugrunde, dass bei Digitalkameras Bilddaten über Sensor-Areas aufgenommen werden, die an jeder Bildposition eine der möglichen drei Farbkomponenten (Rot, Grün und Blau) aufnehmen. Die fehlenden Farbkomponenten der Farbpunkte müssen nachträglich über den so genannten Demosaik-Vorgang rekonstruiert werden, um ein komplettes Farbbild mit Rot-, Grün- und Blau-Informationen zu erhalten.

Die Sensoren in einem Digitalkamera-Sensor und die damit vorhandenen Farbinformationen im Ausgangsbild des Digitalkamera-Sensors sind oftmals im so genannten Bayer-Mosaik-Muster angeordnet, was eine bestimmte Anordnung von Rot-, Grün- und Blau-Information beschreibt. Die fehlenden Farbkomponenten eines Bildpunktes müssen nachträglich über dem Demosaik-Vorgang rekonstruiert werden, um ein komplettes Farbbild mit Rot-, Grün- und Blau-Informationen (RGB) zu erhalten.

Beim Demosaik-Vorgang werden die fehlenden Farbinformationen des Bildes interpoliert, wobei auffällige und störende Fehler (Artefakte) auftreten können, die vom angewendeten Algorithmus und vom Bildinhalt abhängig sind. Besonders störend für den Betrachter sind so genannte Feder- oder Fransen-Artefakte, die beim Interpolieren von Kanten auftreten.

Das übliche Demosaik-Verfahren ist, zu einem Bildpunkt die fehlenden Komponenten durch lineare bzw. bilineare Interpolation aus den vorhandenen Farbwerten der umliegenden acht Punkte zu berechnen. Es werden auch komplexere Interpolationstechniken mit nicht linearen Filtern, wie Median-Filtern angewendet. Darüber hinaus gibt es auch Anwendungen, die aus den vorhandenen Grün-Farbinformationen die Helligkeit abschätzen und bei der Interpolation von Rot und Blau einbeziehen. Außerdem gibt es Anwendungen, die versuchen, Kanten im Bildinhalt durch Analyse der Farb-Information der umliegenden Punkte zu detektieren und diese bei der Interpolation möglichst fehlerfrei zu rekonstruieren. Dabei handelt es sich meist um Software-Verfahren, die die Möglichkeit ausnutzen, mehrere aufeinander folgende Berechnungsschritte auf das gesamte Bild durchzuführen.

In Schaltungsimplementierungen kommen einfachere bilineare Verfahren zum Einsatz, die üblicherweise die 3×3-Umgebung berücksichtigen und damit zwei Zeilenspeicher benötigen, teilweise aber recht starke Artefakte im Ausgangsbild zur Folge haben. Komplexere Verfahren erfordern fast immer zumindest zusätzliche Zeilenspeicher.

Da die Bildsensoren immer höhere Auflösungen erzielen, wird die Fläche für einen Sensor-Bildpunkt immer kleiner. Das hat zur Folge, dass der Rauschabstand sich deutlich verschlechtert. Das erhöhte Rauschen wirkt sich neben einem verschlechterten Bildeindruck auch nachteilig auf den Kompressionsfaktor nachfolgender Datenreduktionsverfahren, beispielsweise nach dem JPEG oder MPEG-Standard aus.

Um störende Artefakte und das Bildrauschen zu reduzieren, sowie um die subjektive Bildschärfe zu optimieren, ist eine Bildnachbearbeitung durch entsprechende Filter erstrebenswert. In diesem weiteren Filterverfahren wird somit das Rauschen reduziert und die Bildschärfe optimiert, indem hochfrequente Bildanteile adaptiv verstärkt oder gedämpft werden. Bildsignalverarbeitungseinheiten benutzen eine Reihe von Zeilenspeichern, die in den fortlaufend ankommenden Bilddatenstromspeichern speichern, um eine ausreichend große Nachbarschaft für die Interpolation eines Pixels bereitzustellen zu können. Für eine Verarbeitungskette, bei der die Filterung nach der Interpolation ausgeführt wird, werden zusätzliche Zeilenspeicher für den interpolierten Rot-Grün-/Blaukanal benötigt. Der Grund für diese mögliche Aufstellung der Verarbeitungskette ist, dass viele Rauschreduktionsfilter entworfen sind, um auf RGB-Bilddaten zu arbeiten. Der erhöhte Zeilenspeicherbedarf wirkt sich auf die Chipfläche und damit auf die Produktionskosten aus.

Problematisch ist dabei die Entwicklung einer digitalen Schaltung mit der Vorgabe, einen Bildpunkt je Takt berechnen zu können, dafür jedoch ein Minimum an Chipfläche zu verbrauchen. Die horizontale Filterung ist dabei relativ unproblematisch, da der serielle Datenstrom nur in wenigen Registern gespeichert werden muss. Für die vertikale Filterung ist jedoch ein Pufferspeicher notwendig. So sind für ein Fünf-Zeilen-Filter je Farbkomponente vier Zeilenspeicher notwendig. Für einen Filter im RGB-Farbraum werden somit zwölf Zeilenspeicher erforderlich. Durch eine Farbraumkonvertierung und ein Subsampling der Farbdifferenzsignale könnte der erforderlichen Zeilenspeicher gegebenenfalls auf acht Zeilenspeicher reduziert werden. Hinzu kommen dann noch mindestens zwei Zeilenspeicher mit Bayer-Daten für das Demosaiking, um das Eingangsbild ausreichend genau interpolieren zu können.

Für den Fall, dass mehrere Filteroperationen nacheinander ausgeführt werden müssen, sind zudem für jeden weiteren Filterprozess erneut separate Zeilenspeicher erforderlich. Es ist daher erstrebenswert, einen Filter zu verwenden, der alle erforderlichen Algorithmen zur Rauschreduktion und zur Bildschärte-Optimierung zu einem Prozess vereint.

Aufgabe der vorliegenden Erfindung ist es daher, eine verbesserte Einrichtung zur Interpolation und Filterung von digitalen Bilddaten im Bayer-Mosaik zu schaffen, die eine möglichst geringe Anzahl von Taktzyklen sowie möglichst wenig Speicher benötigt, um auf geringster Fläche implementiert werden zu können.

Die Aufgabe wird mit der Einrichtung der eingangs genannten Art dadurch gelöst, dass die Interpolations-Recheneinheit eingerichtet ist, um am Ausgang parallel alle für die Filtereinheit erforderlichen mehreren Bilddatenzeilen bereitzustellen, und der Matrixspeicher in seiner Größe derart auf die Interpolations-Recheneinheit abgestimmt ist, dass in von dem Matrixspeicher abgelegte Bilddatenmatrix mindestens so groß ist, dass die Interpolations-Rechnereinheit eine für die Filtereinheit ausreichende Anzahl an Bilddatenzeilen parallel generieren kann. Dadurch, dass im Interpolations-Prozess (Demosaiking) alle für den Filterprozess erforderlichen Ausgangsdaten parallel generiert werden, und nicht wie herkömmlich nur eine Ausgangszeile berechnet wird, kann der Zeilenspeicher für den Filter entfallen. Um eine ausreichende Anzahl Ausgangszeilen zu erhalten, muss der Zeilenspeicher für den Interpolationsprozess erhöht werden. Da jedoch die Bayer-Daten nur eine Farbkomponente je Bildpunkt enthalten, wird deutlich weniger Zeilenspeicher benötigt, als im Stand der Technik. So reichen bereits vier Zeilenspeicher aus, um fünf Zeilen mit Gründaten sowie jeweils drei Zeilen mit relevanten Farbdifferenzsignalen R-G (Rot-Grün) und B-G (Blau-Grün) parallel zu rekonstruieren. Die Anzahl der Zeilen mit Farbdifferenzsignalen ist geringer, weil die äußeren beiden Zeilen aus den gleichen Bayer-Daten interpoliert werden müssten, wie die benachbarten Zeilen, und so keine zusätzliche Information enthalten, die zum Beispiel zur Rauschreduktion beiträgt.

Bei separaten Demosaiking- und Filter-Modulen wären zwei Zeilenspeicher für das Demosaiking, vier Zeilenspeicher für Grün und jeweils drei Zeilenspeicher für die Farbdifferenzsignale erforderlich. Insgesamt wären somit zwölf Zeilenspeicher notwendig. Selbst bei Halbierung des Speicherbedarfs durch Subsampling der Farbdifferenzsignale wären immer noch neun Zeilenspeicher erforderlich.

Ein weiterer Vorteil des im Vergleich zum Stand der Technik vergrößerten Demosaiking-Zeilenspeichers ist eine verbesserte symmetrische Kantenerkennung und damit verbunden eine verbesserte Interpolation mit reduzierten Kanten- und Farbartefakten. Der im Vergleich zum Stand der Technik größere Matrixspeicher für die Bayer-Matrix kann parallel zur Texturerkennung des Filters genutzt werden.

Nachteilig ist der erhöhte Aufwand für das Demosaiking insbesondere für die Kantenerkennung für die zusätzlichen Zeilen. Da jedoch ein Teil der Berechnungen redundant ist und die erste und die letzte Zeile keine eigene Kantenerkennung benötigen, wächst der Aufwand nicht linear, sondern deutlich weniger. Der Aufwand für die Interpolation ist vernachlässigbar. Da jedoch der Aufwand für das Demosaiking konstant bleibt, während die Größe der Zeilenspeicher proportional zur horizontalen Auflösung des Bildsensors wächst, vergrößert sich die Einsparung an Chipfläche mit steigender Auflösung.

Vorzugsweise ist eine Texturerkennungseinheit mit dem Matrixspeicher verbunden und so eingerichtet, um durch Zugriff auf die im Matrixspeicher abgelegte Bilddatenmatrix Kanten und/oder Texturen in der Bilddatenmatrix zu detektieren. Der Ausgang dieser Texturerkennungseinheit ist vorzugsweise mit der Interpolations-Recheneinheit gekoppelt, um die Interpolations-Recheneinheit in Abhängigkeit von den detektierten Kanten und/oder Texturen zu steuern.

Der Ausgang der Texturerkennungseinheit kann zudem mit einer Filtersteuereinheit verbunden sein, die zur dynamischen Steuerung der Filtereinheit in Abhängigkeit von den detektierten Kanten und/oder Texturen und/oder Texturklassifikationen eingerichtet ist.

Um für die der Interpolation nachfolgende Filterprozesse keinen weiteren Zeilenspeicher zu verwenden, sollten alle Algorithmen in einem Prozess vereint werden. Dabei kann ausgenutzt werden, dass nicht alle Bildbereiche gleich bearbeitet werden müssen. Das Rauschen wird beispielsweise besonders in dunklen sowie in detailarmen Bildbereichen sichtbar. Die Ursache dafür ist das dynamische Auflösungsvermögen des Auges. Es ist daher sinnvoll, eine Klassifizierung der Umgebung eines Bildpunktes vorzunehmen, um die Filtercharakteristik anzupassen. Dadurch ist zum Beispiel eine optimale Filterung von Kanten möglich. Um die Steilheit einer Kante zu verbessern, ist nur eine Hochpassfilterung in einer Richtung senkrecht zur Kante erforderlich. Parallel zur Kante kann dann zusätzlich eine Tiefpassfilterung vorgenommen werden, um das Rauschen zu reduzieren. Um dies zu ermöglichen, ist es sinnvoll, den Filter in einen Vertikal-Filter und einen nachgeschalteten Horizontal-Filter aufzuteilen. Dadurch wird die Generierung der Filter-Koeffizienten vereinfacht. Außerdem werden die Anzahl der Koeffizienten und die Anzahl der erforderlichen Multiplizierer reduziert. Durch eine Modifizierung des Vertikal-Filters sind auch diagonale Filterfunktionen möglich.

Eine Filterung der Grün-Komponente sowie der Farbdifferenzsignale ist deshalb sinnvoll, da die Auflösung vorwiegend von der Grün-Komponente bestimmt wird. Durch das Übersprechen aus den Farbkanälen enthält die Grün-Komponente bereits einen vom jeweiligen Sensor abhängigen Rot- und Blau-Anteil. Sie entspricht somit weitgehend dem Luminanz-Signal und kann dementsprechend verarbeitet werden.

Vorzugsweise ist die Filtersteuerungseinheit somit zur Auswahl von Filter-Koeffizienten in Abhängigkeit der aus den detektierten Kanten und/oder Texturen generierten Steuerungssignalen eingerichtet. Damit sollte die Texturerkennungseinheit zur Ermittlung der mittleren Helligkeit, des Kontrastes, von Bilddetails und/oder dominierenden Kantenrichtungen als Steuersignale eingerichtet sein.

Die Erfindung wird nachfolgend anhand der beigefügten Zeichnungen anhand eines Ausführungsbeispiels näher erläutert. Es zeigen:

1 – Blockdiagramm einer Ausführungsform der Einrichtung zur Interpolation und Filterung von digitalen Bilddaten im Bayer-Mosaik;

2 – Blockdiagramm der Einrichtung aus 1 mit Detailansicht des Filters für den Grün-Kanal;

3 – Blockdiagramm einer Filtersteuereinheit zur dynamischen Steuerung der Filtereinheit;

4a – 3×5 Bayer-Matrix für eine Fünf-Zeilen-Interpolation mit Grün im Zentrum;

4b – 3×5 Bayer-Matrix für eine Fünf-Zeilen-Interpolation mit Blau im Zentrum;

5 – Blockdiagramm einer Interpolations-Recheneinheit zum Demosaiking von fünf Zeilen.

Die 1 lässt eine Einrichtung 1 zur Interpolation und Filterung von digitalen Bilddaten 2 im Bayer-Mosaik erkennen. Die Bilddaten 2 werden in einen Zeilenpuffer 3 für vier Bildzeilen abgelegt, um einschließlich der aktuellen, nicht zwischenzuspeichernden Bilddatenzeile in einem 5×5-Matrixspeicher 4 zur Zwischenspeicherung einer 5×5-Bilddatenmatrix in Bayer-Mosaik-Verteilung abgelegt zu werden.

An den Ausgang des Matrixspeichers 4 ist eine Interpolation-Recheneinheit 5 angeschlossen, um in an sich bekannter Weise fünf Zeilen mit Grün-Daten sowie jeweils drei Zeilen mit relevanten Farbdifferenzsignalen Rot-Grün (R-G) und Blau-Grün (B-G) parallel zu rekonstruieren. Da die äußeren beiden Zeilen der Bayer-Matrix aus den gleichen Bilddaten interpoliert werden müssen, wie die benachbarten Zeilen, und so keine zusätzliche Information enthalten, ist die Anzahl der Zeilen mit Farbdifferenzsignalen geringer als die Anzahl der Grün-Daten.

Am Ausgang der Interpolations-Recheneinheit stehen fünf Zeilen mit Grün-Informationen und sechs Zeilen mit Farbdifferenzinformationen an, die an eine Filtereinheit 6 geleitet werden. Die parallele Bereitstellung der Zeilen bietet den Vorteil, dass der Demosaik-Prozess und die nachfolgende Filterung miteinander kombiniert werden können und damit Zeilenspeicher eingespart werden kann. Dies wird durch den im Vergleich zum Stand der Technik größeren Zeilenpuffer 3 und Matrixspeicher 4 sowie die parallele Interpolation mehrerer Bildzeilen möglich.

Am Ausgang der Filtereinheit 6 steht dann ein RGB-Bilddatenstrom 7 an.

Die Nutzung des 5×5-Matrixspeichers 4 hat den Vorteil, dass eine verbesserte symmetrische Kantenerkennung und damit verbunden eine verbesserte Interpolation mit reduzierten Kanten- und Farbartefakten möglich ist. Hierzu ist eine Texturerkennungseinheit 8 an den Matrixspeicher 4 angeschlossen, um aus der zwischengespeicherten Bayer-Matrix Kanten und Texturen zu detektieren und diese zu klassifizieren. Der Ausgang der Texturerkennungseinheit 8 ist an eine Interpolations-Steuerungseinheit 9 angeschlossen, um die Interpolations-Recheneinheit in Abhängigkeit von den erkannten Kanten und Texturen anzusteuern.

Der Ausgang der Texturerkennungseinheit 8 ist weiterhin an eine Filtersteuerungseinheit 10 angeschlossen, um die Filtereinheit 6 in Abhängigkeit von den detektierten Kanten und/oder Texturen und insbesondere den Texturklassifikationen dynamisch zu steuern.

Die Einrichtung 1 zur Interpretation und Filterung von digitalen Bilddaten 2 im Bayer-Mosaik ist in der 2 nochmals im Detail erkennbar. Die digitalen Bilddaten 2 eines Bildsensors stehen an einer zwölf-Bit-Leitung zur Verfügung, die an den Zeilenpuffer 3 angeschlossen ist. Die weitere Beschaltung des Matrixspeichers 4 und der Interpolations-Recheneinheit 5 entspricht der in 1 bereits dargestellten Form.

Erkennbar ist, dass die Texturerkennungseinheit 8 die Interpolations-Recheneinheit 5 über die Interpolationssteuerungseinheit 9 mit einer sechs-Bit-Leitung ansteuert.

Weiterhin ist erkennbar, dass die Filtersteuereinheit 10 mit einem drei-Bit-Texturklassifikationssignal 11 und einem zwei-Bit-Kantenrichtungssignal 12 angesteuert wird. Das Texturklassifikationssignal 11 und das Kantenrichtungssignal 12 werden in eine dynamische Filtermodus-Steuerungseinheit 13 geleitet, um in Abhängigkeit von den Texturklassifikationssignalen 11 und Kantenrichtungssignalen 12 eine geeignete Filtermaske zu selektieren. Dies erfolgt mit Hilfe eines ersten Multiplexers 14 für die vertikalen Filter-Koeffizienten und eines zweiten Multiplexers 15 für die horizontalen Filter-Koeffizienten. Mit Hilfe dieser vertikalen und horizontalen Filter-Koeffizienten wird ein 5×5-Vertikal- oder Diagonal-Filter 16 angesteuert, um im grünen Kanal aus fünf Zeilen mit Grün-Information eine Zeile mit Grüninformation zu extrahieren. Diese Zeile wird in einen 5×1-Horizontal-Filter 17 geführt, der mit den horizontalen Koeffizienten beaufschlagt ist und ein Grün-Bildsignal 18 am zwölf-Bit-Ausgang abgibt.

Die 3 lässt ein Blockdiagramm der Filtersteuereinheit 10 erkennen. In Konfigurationsregistern 19 sind Filtermaskensätze abgelegt, die über einen Multiplexer 20 ausgewählt und als vertikale Grün-Filtermasken 21 und horizontale Grün-Filtermasken 22 zur Ansteuerung der Filtereinheit 6 an diese weitergeleitet werden können.

Die Ansteuerung des Multiplexers 20 erfolgt über eine Textur-Klassifikation durch die Texturerkennungseinheit 8 mit Hilfe des Textur-Klassifikationssignals 11 und des Kantenrichtungssignals 12.

Über einen Filtermodus 23 für die horizontale Filterung der Chrominanz-Bilddaten und über einen Filtermodus 24 für die vertikale Filterung der Chrominanz-Bilddaten wird in Verbindung mit dem Textur-Klassifikationssignal 11 und dem Kantenrichtungssignal 12, das die Richtung der Kanten angibt, in einer horizontalen Chrominanz-Filter-Selektionseinheit 25 eine Filtermaske 26 zur horizontalen Chrominanz-Filterung und mit Hilfe einer vertikalen Chrominanz-Filterselektionseinheit 27 eine Filtermaske 28 für die vertikale Chrominanz-Filterung selektiert.

Die Struktur der Fünf-Zeilen-Interpolations-Recheneinheit 5 wird in Verbindung mit den 4 und 5 näher erläutert.

Die 4a zeigt eine 3×5-Bayer-Matrix für die Fünf-Zeilen-Interpolation mit fünf Zeilen und drei Spalten und einer Grün-Information G22 im Zentrum. Neben den Grün-Informationen in den Zeilen sind Blau-Informationen BXY und Rot-Informationen RXY jeweils in den Zeilen enthalten, wobei sich die Blau- und Rot-Informationen von Zeile zu Zeile abwechseln.

Die 4b zeigt eine 3×5-Bayer-Matrix für die Fünf-Zeilen-Interpolation mit Blau-Information B22 im Zentrum.

Die 5 lässt die Struktur des Fünf-Zeilen-Demosaiking als Blockdiagramm erkennen.

Drei Pixel von Bilddaten aus der ersten Zeile der Bayer-Matrix werden in eine 3×2 Kernel-Interpolationseinheit 29 geleitet, um eine Interpolation mit drei Pixeln der zweiten Zeile der Bayer-Matrix durchzuführen und die erste Zeile von Grün-Informationen zu erhalten. Diese wird als oberste Zeile der Filtereinheit 6 zugeführt.

Die drei Pixel der ersten und zweiten Zeile der Bayer-Matrix werden zusammen mit drei Pixeln der dritten Zeile in eine zweite 3×3 Kernel-Interpolationseinheit 30 geleitet, um die zweite Zeile mit Grün-Information sowie eine zweite Zeile mit den Farbdifferenzwerten Blau-Grün (B-G) und Rot-Grün (R-G) zu gewinnen.

Drei Pixel der zweiten Zeile, dritten Zeile und vierten Zeile der Bayer-Matrix werden in eine dritte 3×3 Kernel-Interpolationseinheit 31 geleitet, um die dritte Zeile mit Grün-Information sowie die dritte Zeile mit Farbdifferenzwerten Blau-Grün und Rot-Grün zu gewinnen. Die dritte Zeile ist die Zeile im Zentrum des Filters.

Eine vierte 3×3 Kernel-Interpolationseinheit 32 wird mit jeweils drei Pixeln der dritten, vierten und fünften Zeile der Bayer-Matrix versorgt, um eine vierte Zeile mit Grün-Information sowie eine vierte Zeile mit Farbdifferenzwerten Blau-Grün und Rot-Grün zu erzeugen.

Drei Pixel der vierten Zeile und fünften Zeile der Bayer-Matrix werden in eine fünfte 3×2 Kernel-Interpolationseinheit 33 geleitet, um die fünfte Zeile mit Grün-Information als unterste Zeile für das Filter zu generieren.

Mit diesen Interpolationseinheiten 29 bis 33 können somit parallel alle fünf Zeilen mit Grün-Information sowie die drei Zeilen mit Farbdifferenzinformationen parallel erzeugt und der nachfolgenden Filtereinheit 6 zugeführt werden.

Es ist deutlich, dass die aus einem seriellen, zeilenorientierten Datenstrom mit linearen RGB-Bayer-Daten 2 bestehenden Eingangs-Bilddaten 2 mit Hilfe des vier-Zeilenpuffers 3 in einen Datenstrom von fünf Zeilen mit RGB-Bayer-Daten umgewandelt werden, der dann mit Hilfe von vier weiteren Registerstufen auf eine 5×5-Matrix erweitert wird. Diese wird in der 5×5-Matrix 4 abgelegt. Der in der 5 dargestellte mehrzeilige Demosaik-Prozess generiert hieraus einen Datenstrom von fünf Zeilen für Grün sowie drei Zeilen mit den Farbdifferenzsignalen R-G und B-G. Die Ausgangsdaten sind dann Basis für den anschließenden oben erläuterten Filterprozess.

Da die Grün-Komponente die höchste Auflösung besitzt und den höchsten Anteil an der Helligkeit liefert, wird vorteilhafterweise für die Grün-Komponente ein „Rausch-Reduktions- und Schärfe"-Algorithmus („Noise-Reduction and Sharpen-Filter") angewendet. Dabei werden für jedes Pixel je nach Textur der umgebenden 5×5-Bayer-Matrix die Filter-Koeffizienten neu bestimmt. In einer Registerbank befinden sich mehrere Sätze von Filter-Koeffizienten, deren Charakteristik frei programmierbar ist. Es können zum Beispiel Tiefpass-Verhalten zur Rauschreduktion oder Hochpass-Verhalten zur Erhöhung der Bildschärfe programmiert werden. Ebenso sind Filterfunktionen mit Nullstellen möglich, um bestimmte Frequenzanteile zu eliminieren.

Die Farbdifferenz-Komponenten werden separat gefiltert, um das Farbrauschen und Farbartefakte durch Aliasing, welche durch geringere Verteilung der roten und blauen Pixel im Bayer-Raster verursacht werden, effektiv unterdrücken zu können. Die Bildschärfe wird dabei kaum beeinflusst. Das Farbdifferenz-Filter besteht aus einem vierstufigen dynamischen Tiefpass, der in drei-Zeilen-Vertikal-Filter und ein nachfolgendes sieben-Pixel-Horizontal-Filter aufgeteilt ist (2).

Gesteuert werden die Filter durch eine Textur-Klassifizierung, die auf der 5×5-Bayer-Matrix basiert, sowie durch programmierte Schwellwerte und Filter-Koeffizienten. Die Textur-Klassifizierung ermittelt die mittlere Helligkeit, den Kontrast der Details sowie die dominierende Kantenrichtung (horizontal, vertikal, diagonal, steigend oder fallend). Daraus werden Steuersignale für den Multiplexer 20 der Filter-Koeffizienten generiert. Damit kann eine optimale Anpassung an den Bildinhalt, den verwendeten Bildsensor und dessen Optik erzielt werden.

Am Ausgang werden aus den Farbdifferenzsignalen durch Addition der Grün-Komponente die Rot- und Blau-Komponenten generiert.


Anspruch[de]
Einrichtung (1) zur Interpolation und Filterung von digitalen Bilddaten (2) im Bayer-Mosaik mit einem Zeilenpuffer (3) zur zeilenweisen Abspeicherung von Bayer-Bilddaten aus einem seriellen, zeilenorientierten Datenstrom, einem an den Zeilenpuffer (3) angeschlossenen Matrixspeicher (4) zur Zwischenspeicherung einer Bilddatenmatrix im Bayer-Mosaik-Verteilung, einer Interpolations-Recheneinheit (5) am Ausgang des Matrixspeichers (4) zur Interpolation von Bilddaten und Generierung fehlender Farbwertpixel und Farbdifferenzpixeln und mit einer Filtereinheit (6) zur Filterung der durch die am Ausgang der Interpolations-Recheinheit (5) anliegenden Bilddaten, um einen RGB-Bilddatenstrom mit Rot-, Grün- und Blau-Information im RGB-Format zu erzeugen, dadurch gekennzeichnet, dass die Interpolations-Recheneinheit (5) eingerichtet ist, um am Ausgang parallel alle für die Filtereinheit (6) erfoderlichen mehreren Bilddatenzeilen bereitzustellen, und dass der Matrixspeicher (4) in seiner Größe derart auf die Interpolations-Recheneinheit (5) abgestimmt ist, dass die im Matrixspeicher (4) abgelegte Bilddatenmatrix mindestens so groß ist, dass die Interpolaltions-Recheneinheit (5) eine für die Filtereinheit (6) ausreichende Anzahl an Bilddatenzeilen parallel generieren kann. Einrichtung (1) nach Anspruch 1, gekennzeichnet durch eine Texturerkennungseinheit (8), die mit dem Matrixspeicher (4) verbunden und eingerichtet ist, um durch Zugriff auf die im Matrixspeicher (4) abgelegte Bilddatenmatrix Kanten und/oder Texturen in der Bilddatenmatrix zu detektieren. Einrichtung (1) nach Anspruch 2, dadurch gekennzeichnet, dass der Ausgang der Texturerkennungseinheit (8) mit der Interpolations-Recheinheit (5) gekoppelt ist, um die Interpolations-Recheinheit (5) in Abhängigkeit von den detektierten Kanten und/oder Texturen zu steuern. Einrichtung (1) nach Anspruch 2, dadurch gekennzeichnet, dass der Ausgang der Texturerkennungseinheit (8) mit einer Interpolationssteuerungseinheit (9) für die Interpolations-Recheneinheit (5) verbunden ist, die zur Klassifikation der detektierten Kanten und/oder Texturen und Steuerung der Interpolations-Recheneinheit (5) in Abhängigkeit von der Klassifikation eingerichtet ist. Einrichtung (1) nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass der Ausgang der Texturerkennungseinheit (8) mit einer Filtersteuereinheit (10) verbunden ist, die zur dynamischen Steuerung der Filtereinheit (6) in Abhängigkeit von den detektierten Kanten und/oder Texturen und/oder Texturklassifikationen eingerichtet ist. Einrichtung (1) nach Anspruch 5, dadurch gekennzeichnet, dass die Filtersteuereinheit (10) zur Auswahl von Filterkoeffizienten in Abhängigkeit der aus den detektierten Kanten und/oder Texturen generierten Steuersignalen eingerichtet ist. Einrichtung (1) nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, dass die Texturerkennungseinheit (8) zur Ermittlung der mittleren Helligkeit, der Kontrastes, von Bilddetails und/oder von dominierenden Kantenrichtungen als Steuerungssignale eingerichtet sind. Digitale Kamera mit einem Bildsensor mit einer Sensormatrix zur Erfassung von Bildblöcken mit entsprechend eines Bayer-Mosaiks abgeordneten Farb-Informationen, dadurch gekennzeichnet, dass der Bildsensor mit der Einrichtung nach einem der vorhergehenden Ansprüche verbunden ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com