-
GEBIET DER TECHNIK
-
Die vorliegende Erfindung betrifft eine Pixelinterpolationsvorrichtung und ein Pixelinterpolationsverfahren und eine Bildverarbeitungsvorrichtung und ein Programm und ein Aufzeichnungsmedium.
-
TECHNISCHER HINTERGRUND
-
Es wurde eine Bildlesevorrichtung realisiert, bei der ein zu lesendes Objekt (Original) von einer eindimensionalen Bilderzeugungsvorrichtung (Zeilensensor) gelesen wird und Bilddaten, die dem Original entsprechen, erzeugt werden. Zeilensensoren, bei denen eine Vielzahl von Sensorchips, die jeweils eine Vielzahl von photoelektrischen Umwandlungselementen aufweisen, in der Längsrichtung des Zeilensensors ausgerichtet und aneinandergefügt sind, werden in großem Umfang verwendet.
-
Die Sensorchips werden anhand von Halbleiterfertigungstechnologie so ausgebildet, dass die Intervalle zwischen photoelektrischen Umwandlungselementen relativ klein sind. Im Gegensatz dazu wird der Zeilensensor durch Aneinanderfügen einer Vielzahl von Sensorchips und Fixieren derselben auf einer Platte oder in einem ähnlichen Verfahren gefertigt. Demgemäß ist das Intervall zwischen den photoelektrischen Umwandlungselementen, die an den aneinander angrenzenden Enden der aneinandergefügten Sensorchips positioniert sind, relativ groß. Wenn ein solcher Zeilensensor zum Lesen des Originals verwendet wird, um Bilddaten zu erfassen, wird an einer Position zwischen den aneinander angrenzenden Enden der aneinandergefügten Sensorchips kein Pixelwert erhalten. Es ist notwendig, einen Pixelwert für solch ein Pixel zu interpolieren.
-
Außerdem gibt es Situationen, bei denen der Pixelwert eines Pixelsignals, das durch Lesen mittels eines photoelektrischen Umwandlungselements erhalten wird, nicht korrekt oder nicht zuverlässig ist, wofür Gründe etwa eine Unregelmäßigkeit des photoelektrischen Umwandlungselements in dem Sensorchip oder eine Verschmierung eines Teils, das in dem optischen Weg zwischen dem photoelektrischen Umwandlungselement im Sensorchip und dem Original positioniert ist und das transparent sein sollte, sind. Für solch einen Pixelwert ist ebenfalls eine Interpolation erforderlich.
-
Das Pixel an einer Position, wo kein photoelektrisches Umwandlungselement vorhanden ist, und das Pixel, für das eine Interpolation notwendig ist, weil der Pixelwert nicht korrekt ist oder nicht zuverlässig ist, oder wegen irgendeinem anderen Grund, werden als Pixel mit einem fehlenden Pixelwert oder einfach als fehlendes Pixel bezeichnet.
-
Es wurden verschiedene Interpolationsverfahren für die Interpolation des fehlenden Pixels vorgeschlagen. Das Patentdokument 1 zeigt die Verwendung eines Musterabgleichs für die Interpolation eines fehlenden Pixels, wenn das fehlende Pixel in einer Bildregion zu finden ist, in der der Pixelwert periodisch variiert.
-
DOKUMENTE DES STANDES DER TECHNIK
-
PATENTDOKUMENTE
-
Patentdokument 1: Patent Nr. 5,699,621 (Absätze 0037 bis 0068, 2)
-
KURZFASSUNG DER ERFINDUNG
-
DER ERFINDUNG ZUGRUNDE LIEGENDE PROBLEME
-
In dem im Patentdokument 1 offenbarten Verfahren ist es notwendig, vorab für jede Periode der Pixelwertvariation ein geeignetes Muster zu erstellen. Falls die Zahl der Muster nicht ausreicht, kann ein Pixelwert berechnet werden, der bewirkt, dass das fehlende Pixel unnatürlich aussieht. Eine Erhöhung der Zahl von Mustern ist mit einem Problem verbunden, dass die Speicherkapazität oder die Datenverarbeitungsmenge gesteigert werden muss.
-
MITTEL ZUR LÖSUNG DES PROBLEMS
-
Eine Pixelinterpolationsvorrichtung gemäß der vorliegenden Erfindung umfasst:
- eine Vielzahl von Interpolationsrechnern, die jeweils einen Pixelwert eines fehlenden Pixels in einem eingegebenen Bild auf Basis von Pixelwerten von Pixeln, die das eingegebene Bild bilden, interpolieren;
- einen Entscheider; und
- einen Ausgeber, wobei
- jeder von der Vielzahl von Interpolationsrechnern den Pixelwert des fehlenden Pixels interpoliert und den interpolierten Pixelwert als Interpolationskandidatenwert ausgibt, eine Vielzahl von nicht-fehlenden Pixeln in der Nähe des fehlenden Pixels als Testpixel behandelt, einen Pixelwert von jedem der Testpixel interpoliert und den interpolierten Pixelwert als interpolierten Testwert des Testpixels ausgibt,
- die Interpolation der Testpixel mit einem gleichen Interpolationsverfahren wie die Interpolation des fehlenden Pixels durchgeführt wird,
- die Vielzahl von Interpolationsrechnern eine erste Gruppe von Interpolationsrechnern und eine zweite Gruppe von Interpolationsrechnern einschließt,
- die erste Gruppe von Interpolationsrechnern die Interpolation mittels einer mittelwerterhaltenden Interpolationsrechnung durchführt,
- die erste Gruppe von Interpolationsrechnern sich in einer Zahl von Pixeln, auf die Bezug genommen wird, unterscheiden,
- die zweite Gruppe von Interpolationsrechnern die Interpolation durch eine Interpolationsrechnung durchführt, die von der mittelwerterhaltenden Interpolationsrechnung verschieden ist,
- die zweite Gruppe von Interpolationsrechnern sich in einem Interpolationsrechenverfahren und/oder einer Zahl von Pixeln, auf die Bezug genommen wird, unterscheiden,
- der Entscheider Fehlerindexwerte, die jeweilige Interpolationsrechner betreffen, auf Basis von absoluten Differenzwerten zwischen den interpolierten Testwerten, welche die jeweiligen Testpixel in der Nähe der einzelnen fehlenden Pixel betreffen, und den Pixelwerten der Testpixel berechnet und einen von der Vielzahl von Interpolationsrechnern auf Basis der errechneten Fehlerindexwerte auswählt, und
- der Ausgeber für jedes fehlende Pixel den Interpolationskandidatenwert, der von dem von dem Entscheider ausgewählten Interpolationsrechner ausgegeben wird, aus den Interpolationskandidatenwerten auswählt, die von der Vielzahl von Interpolationsrechnern ausgegeben werden, und den ausgewählten Interpolationskandidatenwert ausgibt.
-
WIRKUNG DER ERFINDUNG
-
Gemäß der vorliegenden Erfindung ist es möglich, eine Interpolation durchzuführen, durch die das interpolierte Pixel nicht unnatürlich wirkt, und dass trotzdem die Speicherkapazität und die Datenverarbeitungsmenge, die notwendig sind, relativ klein sind.
-
Figurenliste
-
- 1 ist eine Funktionsblockskizze, die schematisch eine Konfiguration einer Pixelinterpolationsvorrichtung einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
- 2 ist eine schematische Skizze, die einen Kontaktbildsensor darstellt.
- 3 ist eine Skizze, die Einzelheiten eines Fugenteils zwischen Sensorchips zeigt, die den in 3 gezeigten Kontaktbildsensor bilden.
- 4 ist eine Skizze, die Pixel zeigt, auf die bei der Interpolation durch einen mittelwerterhaltenden Interpolationsrechner, der in 1 gezeigt ist, Bezug genommen wird.
- 5 ist eine Funktionsblockskizze, die ein Beispiel für eine Konfiguration des in 1 gezeigten mittelwerterhaltenden Interpolationsrechners zeigt.
- 6 ist eine Skizze, die Pixel zeigt, auf die bei der Interpolation durch den mittelwerterhaltenden Interpolationsrechner, der in 5 gezeigt ist, Bezug genommen wird.
- 7 ist eine Funktionsblockskizze, die ein Beispiel für eine Konfiguration des in 5 gezeigten mittelwerterhaltenden Interpolationsrechners zeigt.
- 8 ist eine Funktionsblockskizze, die schematisch eine Konfiguration einer Pixelinterpolationsvorrichtung einer dritten Ausführungsform der vorliegenden Erfindung zeigt.
- 9 ist eine Skizze, die Pixel zeigt, auf die bei der Interpolation durch einen mittelwerterhaltenden Interpolationsrechner, der in 8 gezeigt ist, Bezug genommen wird.
- 10 ist eine Funktionsblockskizze, die ein Beispiel für eine Konfiguration des in 8 gezeigten mittelwerterhaltenden Interpolationsrechners zeigt.
- 11 ist eine Funktionsblockskizze, die schematisch eine Konfiguration einer Bildverarbeitungsvorrichtung einer vierten Ausführungsform der vorliegenden Erfindung zeigt.
-
ART DER AUSFÜHRUNG DER ERFINDUNG
-
Erste Ausführungsform
-
1 ist eine Funktionsblockskizze, die schematisch eine Konfiguration einer Pixelinterpolationsvorrichtung 1 einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
-
Die Pixelinterpolationsvorrichtung 1 interpoliert Pixelwerte von fehlenden Pixeln in einem Bild, das durch Bilddaten Di dargestellt wird, die an einen Eingabeanschluss 1a geliefert werden.
-
Die Bilddaten Di werden beispielsweise durch Lesen eines zu lesenden Objekts (Original) mittels einer Bilderzeugungsvorrichtung, die mit einem in 2 gezeigten Kontaktbildsensor 900 ausgestattet ist, erhalten.
-
Der in 2 gezeigte Kontaktbildsensor 900 wird durch Anordnen einer Vielzahl von Sensorchips 902 in einer Zeile auf einer Platte 904 und Aneinanderfügen derselben ausgebildet. Die Längsrichtung des Kontaktbildsensors 900 wird die Hauptabtastrichtung.
-
3 zeigt detailliert einen Fugenteil zwischen einander benachbarten Sensorchips 902.
-
Wie dargestellt, weist jeder von den Sensorchips 902 eine Vielzahl von photoelektrischen Umwandlungselementen 906 auf.
-
In jedem Sensorchip 902 ist die Vielzahl von photoelektrischen Umwandlungselementen 906 in einer Zeile mit einem konstanten Intervall da angeordnet. Dagegen sind die photoelektrischen Umwandlungselemente, die an den einander benachbarten Enden von zwei aneinandergefügten Sensorchips 902 positioniert sind, durch einen Abstand db getrennt. Im Allgemeinen kann der Abstand db nicht so klein gemacht werden wie das Intervall da.
-
In diesem Fall ist es erstrebenswert, dass die Sensorchips so angeordnet werden, dass db zweimal da ist. Der Grund dafür ist, dass in einem Fall, wo eine solche Beziehung wahr ist, der Interpolationsprozess unter der Annahme einer Situation durchgeführt werden kann, in der genau ein Pixel zwischen den Sensorchips fehlt, wodurch es möglich ist, ein exaktes Interpolationsergebnis zu erhalten. Die folgende Beschreibung wird für einen solchen Fall gegeben.
-
Allerdings muss db nicht zweimal da sein. Es ist auch möglich, die Interpolation gemäß dem Verhältnis zwischen da und db durchzuführen.
-
Darüber hinaus kann der unten beschriebene Interpolationsprozess nicht nur auf eine Interpolation eines Pixels an einer Position zwischen Sensorchips, wo kein photoelektrisches Umwandlungselement vorhanden ist, angewendet werden, sondern auch auf eine Interpolation in einer Situation, wo der Pixelwert eines Pixelsignals, das durch Lesen mittels eines photoelektrischen Umwandlungselements in dem Sensorchip erhalten wird, nicht korrekt oder nicht zuverlässig ist. Der Grund dafür, dass der Pixelwert nicht korrekt oder nicht zuverlässig ist, kann eine Unregelmäßigkeit des photoelektrischen Umwandlungselements oder eine Verschmierung eines Teils, das in dem optischen Weg liegt und das transparent sein sollte, sein.
-
In der folgenden Beschreibung bezieht sich „fehlende Pixel“ auf Pixel, die sich an einer Position befinden, wo kein photoelektrisches Umwandlungselement vorhanden ist, und auf Pixel, die eine Interpolation brauchen, weil der Pixelwert nicht korrekt oder nicht zuverlässig ist. Pixel, die einen Pixelwert haben und keine Interpolation brauchen, werden als nicht-fehlende Pixel bezeichnet.
-
Durch einmaliges Durchführen einer Bilderzeugung mittels des Kontaktbildsensors 900 wird ein Bildsignal Ai erhalten, das ein Bild einer einzigen Zeile darstellt, und durch eine Analog-zu-digital-Umwandlung des Bildsignals Ai werden Bilddaten Di erhalten.
-
Durch Bewegen des Originals in einer Unterabtastungsrichtung bezüglich des Kontaktbildsensors 900 werden nacheinander Bilddaten Di für eine Vielzahl von Zeilen erhalten.
-
In der folgenden Beschreibung wird das Bild, das von den Bilddaten Di dargestellt wird, als eingegebenes Bild bezeichnet und wird mit den gleichen Bezugszeichen Di benannt. Ferner wird der Pixelwert, der von den Bilddaten Di dargestellt wird, als ein originaler Pixelwert bezeichnet und wird mit den gleichen Bezugszeichen Di benannt. Ähnliche Regeln gelten für andere Bilder und Pixelwerte.
-
Die Pixelinterpolationsvorrichtung 1 kann durch Verarbeitungsschaltung implementiert werden. Die Verarbeitungsschaltung kann aus zweckgebundener Hardware oder Software oder einer Kombination aus Hardware und Software konfiguriert werden. Wenn sie als Software konfiguriert wird, wird die Pixelinterpolationsvorrichtung aus einem Mikrocomputer gebildet, der eine CPU (zentrale Verarbeitungseinheit), einen DSP (Digitaler Signalprozessor) oder dergleichen einschließt.
-
Die Pixelinterpolationsvorrichtung 1 umfasst einen Datenspeicher 2, eine Vielzahl von Interpolationsrechnern 11-1 bis 11-N, 21-1 bis 21-M, einen Entscheider 4, einen Ausgeber 5 und einen Einfüger 6 von interpolierten Daten.
-
Der Datenspeicher 2 speichert die Bilddaten Di.
-
Die im Datenspeicher 2 gespeicherten Bilddaten Di werden gelesen und zu der Vielzahl von Interpolationsrechnern 11-1 bis 11-N, 21-1 bis 21-M, zum Entscheider 4 und zum Einfüger 6 von interpolierten Daten geliefert.
-
Jeder von der Vielzahl von Interpolationsrechnern 11-1 bis 11-N, 21-1 bis 21-M interpoliert jeweils den Pixelwert der einzelnen fehlenden Pixel in dem eingegebenen Bild Di und liefert den interpolierten Pixelwert (den interpolierten Wert) als Interpolationskandidatenwert P(h) des fehlenden Pixels an den Ausgeber 5. Er behandelt außerdem eine Vielzahl von nicht-fehlenden Pixeln in der Nähe (Nachbarschaft) des fehlenden Pixels als Testpixel, interpoliert den Pixelwert jedes Testpixels und liefert den interpolierten Pixelwert (den interpolierten Wert) als interpolierten Testwert P(t) des Testpixels an den Entscheider 4.
-
Die Interpolation der Testpixel wird als Testinterpolation bezeichnet. Die Testinterpolation wird hypothetisch unter der Annahme durchgeführt, dass der Pixelwert des Testpixels unbekannt ist.
-
Bei der Interpolation jedes fehlenden Pixels wird auf Pixel in der Nachbarschaft des fehlenden Pixels Bezug genommen.
-
Bei der Interpolation jedes Testpixels (Testinterpolation) wird auf Pixel in der Nachbarschaft des Testpixels Bezug genommen.
-
Die relativen Positionen der bei der Testinterpolation der einzelnen Testpixel als Bezug genommenen, bezüglich des Testpixels benachbarten Pixel sind den relativen Positionen der bezüglich des fehlenden Pixels benachbarten Pixel gleich, auf die bei der Interpolation jedes fehlenden Pixels Bezug genommen wird.
-
Das Interpolationsrechenverfahren, das für die Testinterpolation verwendet wird, ist dem Interpolationsrechenverfahren gleich, das für die Interpolation des fehlenden Pixels verwendet wird.
-
Die Testinterpolation, bei der eine Vielzahl von nicht-fehlenden Pixeln in der Nähe jedes fehlenden Pixels als Testpixel behandelt werden, kann als Testinterpolation hinsichtlich des bestimmten fehlenden Pixels bezeichnet werden.
-
Die Vielzahl von Interpolationsrechnern 11-1 bis 11-N, 21-1 bis 21-M schließt eine erste Gruppe von Interpolationsrechnern 11-1 bis 11-N und eine zweite Gruppe von Interpolationsrechnern 21-1 bis 21-M ein.
-
Die erste Gruppe von Interpolationsrechnern 11-1 bis 11-N besteht aus einem ersten bis N-ten mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N. N ist eine ganze Zahl nicht kleiner als 2.
-
Der erste bis N-te mittelwerterhaltende Interpolationsrechner 11-1 bis 11-N führen eine Interpolation durch eine mittelwerterhaltende Interpolationsrechnung durch.
-
Der erste bis N-te mittelwerterhaltende Interpolationsrechner 11-1 bis 11-N unterscheiden sich voneinander in der Zahl der Pixel, auf die bei der Interpolation Bezug genommen wird.
-
Die Operation der mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N wird nachstehend beschrieben. Zunächst wird die Operation während der Interpolation eines fehlenden Pixels erläutert.
-
4 zeigt einen Teil des eingegebenen Bildes Di und gibt die Positionen der Pixel an, auf die bei der Interpolation von einem von den mittelwerterhaltenden Interpolationsrechnern 11-1 bis 11-N, d.h. dem n-ten mittelwerterhaltenden Interpolationsrechner 11-n, Bezug genommen wird (wobei n irgendeines von 1 bis N ist). Es wird angenommen, dass die Position des fehlenden Pixels MP in dem eingegebenen Bild Di vorab bekannt war. Die nicht-fehlenden Pixel werden durch „O“ angegeben und das fehlende Pixel MP wird durch „x“ angegeben.
-
Bezugszeichen MS und NA geben jeweils Pixelfelder an, die jeweils von einer Vielzahl aufeinanderfolgender Pixel gebildet werden. Das Pixelfeld MS schließt das fehlende Pixel MP ein, und das Pixelfeld NA schließt das fehlende Pixel MP nicht ein. Das Pixelfeld MS wird als fehlstellenbehafteter Teil bezeichnet und das Pixelfeld NA wird als fehlstellenfreier Teil bezeichnet. Wie aus der folgenden Beschreibung hervorgeht, wird bei der Interpolation auf die Pixel in dem fehlstellenbehafteten Teil MS und in dem fehlstellenfreien Teil NA Bezug genommen. Die Zahl der Pixel, die den fehlstellenbehafteten Teil MS bilden, und die Zahl der Pixel, die den fehlstellenfreien Teil NA bilden, sind einander gleich. Diese Zahl wird mit k benannt. In dem dargestellten Beispiel ist k gleich 3.
k wird in jedem mittelwerterhaltenden Interpolationsrechner als Parameter voreingestellt.
-
Parameter k von untereinander verschiedenen Werten werden in der Vielzahl von mittelwerterhaltenden Interpolationsrechnern 11-1 bis 11-N eingestellt, mit dem Ergebnis, dass sich die mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N in der Zahl der Pixel unterscheiden, auf die bei der Interpolation Bezug genommen wird.
-
Der mittelwerterhaltende Interpolationsrechner 11-n interpoliert den Pixelwert des fehlenden Pixels MP so, dass der Mittelwert der Pixelwerte der Pixel in dem fehlstellenbehafteten Teil MS dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich ist. Das heißt, der interpolierte Wert P wird so bestimmt, dass der Mittelwert der Pixel in dem fehlstellenbehafteten Teil MS außer dem fehlenden Pixel MP und des interpolierten Werts P des fehlenden Pixels MP dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich ist.
-
5 ist eine Funktionsblockskizze, die ein Beispiel für eine Konfiguration des mittelwerterhaltenden Interpolationsrechners 11-n zeigt.
-
Der mittelwerterhaltende Interpolationsrechner 11-n umfasst einen Addierer 101 für den fehlstellenbehafteten Teil, einen Addierer 102 für den fehlstellenfreien Teil und einen Subtrahierer 103.
-
Die Bilddaten Di, die aus dem Datenspeicher 2 gelesen werden, werden in den Addierer 101 für den fehlstellenbehafteten Teil und den Addierer 102 für den fehlstellenfreien Teil eingegeben.
-
Der Addierer 101 für den fehlstellenbehafteten Teil bestimmt eine Summe der Pixelwerte der Pixel außer dem fehlenden Pixel MP von den k Pixeln, die in dem fehlstellenbehafteten Teil MS enthalten sind, und gibt die Summe als Gesamtsumme MQ für den fehlstellenbehafteten Teil aus.
-
Der Addierer 102 für den fehlstellenfreien Teil bestimmt eine Summe der Pixelwerte der Pixel, die in dem fehlstellenfreien Teil NA enthalten sind, und gibt die Summe als Gesamtsumme SA für den fehlstellenfreien Teil aus.
-
Der Subtrahierer 103 subtrahiert die Gesamtsumme MQ für den fehlstellenbehafteten Teil von der Gesamtsumme SA für den fehlstellenfreien Teil.
-
Der Differenzwert, der als Ergebnis der Subtraktion erhalten wird, wird als der interpolierte Wert P des fehlenden Pixels MP verwendet.
-
Der oben beschriebene Prozess kann anhand der folgenden mathematischen Gleichung ausgedrückt werden.
-
Der interpolierte Wert P, der vom Subtrahierer 103 als Ergebnis des oben beschriebenen Prozesses ausgegeben wird, ist einer, der so bestimmt wird, dass der Mittelwert der Pixelwerte der Pixel in dem fehlstellenbehafteten Teil MS dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich ist.
-
Der Grund dafür wird nachstehend erläutert.
-
Der Mittelwert MSav der Pixelwerte der Pixel in dem fehlstellenbehafteten Teil MS wird wie folgt angegeben:
Der Mittelwert NAav der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA wird wie folgt angegeben:
Damit MSav und NAav einander gleich sind, recht es aus, wenn der interpolierte Wert P so bestimmt wird, dass die folgende Gleichung erfüllt ist.
Durch Transformieren der Gleichung (4) wird die Gleichung (1) erhalten.
-
Falls der interpolierte Wert P durch den Prozess bestimmt wird, der von der Gleichung (1) dargestellt wird, ist demgemäß der Mittelwert der Pixelwerte der Pixel in dem fehlstellenbehafteten Teil MS dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich.
-
Die für die einzelnen fehlenden Pixel in den einzelnen mittelwerterhaltenden Interpolationsrechnern 11-n berechneten interpolierten Werte P werden als Interpolationskandidatenwerte P(h) an den Ausgeber 5 geliefert.
-
Die mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N sind in der Lage, in Bildkantenteilen und Bildteilen, wo der Pixelwert periodisch variiert, eine Interpolation mit hoher Genauigkeit durchzuführen. Was die Bildteile betrifft, in denen der Pixelwert periodisch variiert, so variiert die Variationsperiode (und somit die Ortsfrequenz) des Pixelwerts, für den eine exakte Interpolation möglich ist, abhängig von der Zahl der Pixel, auf die Bezug genommen wird. Die Zahlen der Pixel, auf die bei der Interpolation durch die mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N Bezug genommen wird, wird daher gemäß dem Bereich der Variation (dem Bereich der Ortsfrequenz) des Pixelwerts, für den eine exakte Interpolation gewünscht ist, bestimmt.
-
Der mittelwerterhaltende Interpolationsrechner 11-n, der in 5 gezeigt ist, wird auch für die Testinterpolation verwendet.
-
Die Operation, die von dem mittelwerterhaltenden Interpolationsrechner 11-n während der Testinterpolation durchgeführt wird, ist identisch mit der oben beschriebenen Operation, die während der Interpolation des fehlenden Pixels MP (der Berechnung des Interpolationskandidatenwerts P(h)) durchgeführt wird. Jedoch wird während der Testinterpolation die Interpolationsrechnung durch Behandeln jedes Testpixels als fehlendes Pixel durchgeführt, und der errechnete Pixelwert P wird als interpolierter Testwert P(t) ausgegeben.
-
Die zweite Gruppe von Interpolationsrechnern 21-1 bis 21-M umfasst einen ersten bis M-ten Interpolationsrechner 21-1 bis 21-M. M ist eine ganze Zahl nicht kleiner als 2.
-
Der erste bis der M-te Interpolationsrechner 21-1 bis 21-M führen eine Interpolation in einem Interpolationsrechenverfahren durch, das von der oben beschriebenen mittelwerterhaltenden Interpolationsrechnung verschieden ist.
-
Der erste bis der M-te Interpolationsrechner 21-1 bis 21-M unterscheiden sich voneinander in dem Interpolationsrechenverfahren, das für die Interpolation verwendet wird, und/oder der Zahl der Pixel, auf die bei der Interpolation Bezug genommen wird.
-
Beispiele für die Interpolationsrechnung, die vom ersten bis M-ten Interpolationsrechner 21-1 bis 21-M durchgeführt wird, schließen eine lineare Interpolationsrechnung, eine bikubische Interpolationsrechnung und eine Lanczos-Interpolationsrechnung ein.
-
Wie der erste bis der N-te mittelwerterhaltende Interpolationsrechner 11-1 bis 11-N berechnen der erste bis der M-te Interpolationsrechner 21-1 bis 21-M nicht nur Interpolationskandidatenwerte P(h) jedes fehlenden Pixels und liefern diese an den Ausgeber 5, sondern berechnen auch interpolierte Testwerte P(t), die jedes von der Vielzahl von nicht-fehlenden Pixeln in der Nähe des fehlenden Pixels betreffen, und liefern sie an den Entscheider 4.
-
Der Entscheider 4 empfängt nicht nur die interpolierten Testwerte P(t), die von den Interpolationsrechnern 11-1 bis 11-N und 21-1 bis 21-M geliefert werden, sondern auch die Pixelwerte (die originalen Pixelwerte) Di der Testpixel aus dem Datenspeicher 2.
-
Der Entscheider 4 führt eine Evaluierung auf Basis der interpolierten Testwerte P(t) durch, die von den Interpolationsrechnern 11-1 bis 11-N und 21-1 bis 21-M eingegeben werden, und der originalen Pixelwerte Di, die aus dem Datenspeicher 2 eingegeben werden, durch und berechnet Fehlerindexwerte, welche die Ergebnisse der Evaluation angeben. Die Evaluation wird für jeden von den Interpolationsrechnern und für jedes fehlende Pixel durchgeführt.
-
Zum Beispiel werden die Fehlerindexwerte, welche die einzelnen Interpolationsrechner betreffen, durch Sammeln der Ergebnisse der Testinterpolationen, welche die einzelnen fehlenden Pixel betreffen, bestimmt. Zum Beispiel werden die Fehlerindexwerte, welche die einzelnen Interpolationsrechner betreffen, durch Sammeln absoluter Differenzwerte zwischen den interpolierten Testwerten P(t), die von dem Interpolationsrechner für die jeweiligen Testpixel in der Nähe des fehlenden Pixels berechnet werden, und den originalen Pixelwerten der Testpixel über alle Testpixeln in der Nähe des fehlenden Pixels bestimmt.
-
Zum Beispiel kann der oben genannte Fehlerindexwert ein Wert, der durch Teilen eines akkumulierten Wertes der oben genannten absoluten Differenzwerte über alle Testpixeln durch die Zahl der Testpixel erhalten wird, d.h. ein Durchschnittswert (Differenzdurchschnittswert) der oben genannten absoluten Differenzwerte, sein.
-
Falls die Zahl der Testpixel, für welche die interpolierten Testwerte P(t) berechnet werden, zwischen den Interpolationsrechnern gleich ist, kann der oben genannte Fehlerindexwert der akkumulierte Wert (der akkumulierte Differenzwert) der oben genannten absoluten Differenzwerte über alle Testpixeln sein.
-
Der oben genannte Fehlerindexwert stellt die Eignung jedes Interpolationsrechners, d.h. die Genauigkeit der Interpolationsrechnung jedes Interpolationsrechners, in der Nähe jedes fehlenden Pixels dar, und man kann sagen, dass die Genauigkeit umso höher ist (der Fehlergrad umso kleiner ist), je kleiner der Fehlerindexwert ist.
-
Für jeden von den Interpolationsrechnern 11-1 bis 11-N und 21-1 bis 21-M wird der oben genannte Fehlerindexwert für jedes fehlende Pixel berechnet.
-
Der Entscheider 4 identifiziert den Interpolationsrechner, der den kleinsten Fehlerindexwert geliefert hat, für jedes fehlende Pixel und gibt ein Signal (Auswahlsignal) HS, das den identifizierten Interpolationsrechner angibt, an den Ausgeber 5 aus.
-
Wie beschrieben, werden die interpolierten Werte P, die von den Interpolationsrechnern 11-1 bis 11-N und 21-1 bis 21-M für jedes fehlende Pixel berechnet werden, als Interpolationskandidatenwerte P(h) in den Ausgeber 5 eingegeben.
-
Der Ausgeber 5 wählt die Ausgabe des Interpolationsrechners, der durch das Auswahlsignal HS vom Entscheider 4 angegeben wird, aus den Ausgaben (Interpolationskandidatenwerten) P(h) der Interpolationsrechner 11-1 bis 11-N und 21-1 bis 21-M aus und gibt die ausgewählte Ausgabe als interpolierten Wert HV des fehlenden Pixels aus.
-
Der Einfüger 6 für interpolierte Daten empfängt die Bilddaten Di, die aus dem Datenspeicher 2 gelesen wurden, und empfängt den interpolierten Wert HV, der vom Ausgeber 5 ausgegeben wurde, fügt den interpolierten Wert HV, der das fehlende Pixel betrifft, der vom Ausgeber 5 ausgegeben wurde, als den Pixelwert des fehlenden Pixels in dem eingegebenen Bild Di ein und gibt die Bilddaten Du, die mit dem Pixelwert des fehlenden Pixels aufgefüllt sind, aus.
-
Die Bilddaten Du schließen den interpolierten Wert HV für das fehlende Pixel und die originalen Pixelwerte für die nicht-fehlenden Pixel ein. Das heißt, der Pixelwert Du, der von den Bilddaten Du dargestellt wird, ist dem interpolierten Wert bezüglich jedes fehlenden Pixels und dem originalen Pixelwert Di bezüglich jedes nicht-fehlenden Pixels gleich.
-
Durch Bilden der Pixelinterpolationsvorrichtung auf die oben beschriebene Weise ist es möglich, als Interpolationsrechnung für jedes fehlende Pixel die Interpolationsrechnung auszuwählen, deren interpolierte Testwerte den originalen Pixelwerten Di mit Bezug auf die Testpixel in der Nähe des fehlenden Pixels am nächsten kommen. Daher ist es möglich, die Pixelinterpolation, bei der das Ergebnis der Interpolationsrechnung verwendet wird, die sich gemäß dem Merkmal des Bildes (des Bildteils in der Nähe des fehlenden Pixels) am besten eignet, durchzuführen.
-
Wie oben erläutert, können die mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N in den Bildkantenteilen und in den Bildteilen, wo der Pixelwert periodisch variiert, eine Interpolation mit hoher Genauigkeit durchführen. Im Hinblick auf die Bildteile, wo der Pixelwert periodisch variiert, wird einer von der Vielzahl von mittelwerterhaltenden Interpolationsrechnern, der sich am besten eignet, gemäß der Periode der Pixelwertvariation ausgewählt. In den Teilen, bei denen es sich nicht um die Bildkantenteile und die Bildteile handelt, in denen der Pixelwert periodisch variiert, kann eine Interpolation durch einen von den Interpolationsrechnern, bei denen es sich nicht um die mittelwerterhaltenden Interpolationsrechner handelt, eine Interpolation mit höherer Genauigkeit erreichen. In einem solchen Fall wird der Interpolationsrechner ausgewählt, bei dem es sich nicht um einen der mittelwerterhaltenden Interpolationsrechner handelt und der die Interpolation mit einer höheren Genauigkeit erreicht. Daher wird in der Pixelinterpolationsvorrichtung der vorliegenden Ausführungsform der am besten geeignete Rechner gemäß dem Merkmal des Bildes ausgewählt.
-
Außerdem ist es durch Einbeziehung der mittelwerterhaltenden Interpolation als Interpolationsrechnung möglich, die Bildteile, die periodisch mit einer hohen Frequenz variieren, und die Kantenteile mit hoher Genauigkeit zu reproduzieren.
-
Zweite Ausführungsform
-
Die Gesamtkonfiguration der Pixelinterpolationsvorrichtung 1 gemäß einer zweiten Ausführungsform ist wie in 1 gezeigt.
-
Die zweite Ausführungsform unterscheidet sich von der ersten Ausführungsform im Inhalt des Prozesses, der in den einzelnen mittelwerterhaltenden Interpolationsrechnern 11-1 bis 11-N durchgeführt wird.
-
In der ersten Ausführungsform sind die Zahl der Pixel in dem fehlstellenbehafteten Teil und die Zahl der Pixel in dem fehlstellenfreien Teil, auf die bei der Interpolation durch die einzelnen mittelwerterhaltenden Interpolationsrechner 11-n Bezug genommen wird, einander gleich. In der zweiten Ausführungsform ist die Zahl der Pixel in dem fehlstellenfreien Teil größer als die Zahl der Pixel in dem fehlstellenbehafteten Teil.
-
6 zeigt einen Teil des eingegebenen Bildes Di und gibt die Positionen der Pixel an, auf die bei der Interpolation durch den mittelwerterhaltenden Interpolationsrechner 11-n in der vorliegenden Ausführungsform Bezug genommen wird.
-
Wie in 4 wird angenommen, dass die Position des fehlenden Pixels MP in dem eingegebenen Bild Di vorab bekannt war. Die nicht-fehlenden Pixel werden durch „O“ angegeben und das fehlende Pixel MP wird durch „x“ angegeben.
-
Der fehlstellenbehaftete Teil MS und der fehlstellenfreie Teil NA sind, wie in 4, Pixelfelder, die jeweils eine Vielzahl von Pixeln umfassen, der fehlstellenbehaftete Teil MS schließt das fehlende Pixel MP ein, und der fehlstellenfreie Teil NA schließt das fehlende Pixel MP nicht ein.
-
Anders als in 4 ist die Zahl der Pixel, kb, die den fehlstellenfreien Teil NA bilden, größer als die Zahl der Pixel, ka, die den fehlstellenbehafteten Teil MS bilden.
-
In dem dargestellten Beispiel gilt ka=3, kb=6.
ka und kb sind als Parameter in jedem mittelwerterhaltenden Interpolationsrechner voreingestellt.
-
Die Vielzahl von mittelwerterhaltenden Interpolationsrechnern 11-1 bis 11-N unterscheiden sich voneinander in dem Wert von mindestens einem der Parameter ka und kb.
-
Die Zahl der Pixel, auf die bei der Interpolation Bezug genommen wird, hängt von den Werten der Parameter ka, kb ab. Daher unterscheiden sich die Vielzahl von mittelwerterhaltenden Interpolationsrechnern 11-1 bis 11-N voneinander in der Zahl der Pixel, auf die bei der Interpolation Bezug genommen wird.
-
Wie in der ersten Ausführungsform interpoliert der mittelwerterhaltende Interpolationsrechner 11-n den Pixelwert P des fehlenden Pixels MP so, dass der Mittelwert der Pixelwerte der Pixel in dem fehlstellenbehafteten Teil MS dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich ist.
-
7 ist eine Funktionsblockskizze, die ein Beispiel für eine Konfiguration des mittelwerterhaltenden Interpolationsrechners 11-n zeigt, der in der zweiten Ausführungsform verwendet wird.
-
Der mittelwerterhaltende Interpolationsrechner 11-n in 7 ist im Allgemeinen identisch mit dem mittelwerterhaltenden Interpolationsrechner 11-n in 5. Ein Unterschied ist, dass ein Multiplizierer 104 hinzugefügt ist.
-
Der Multiplizierer 104 multipliziert die Ausgabe SA des Addierers 102 für den fehlstellenfreien Teil mit einem Parameterverhältnis ka/kb.
-
Der Subtrahierer 103 subtrahiert die Ausgabe MQ des Addierers 101 für den fehlstellenbehafteten Teil von der Ausgabe (SA- ka/kb) des Multiplizierers 104.
-
Der Differenzwert, der als Ergebnis der Subtraktion erhalten wird, wird als der interpolierte Wert P des fehlenden Pixels MP verwendet.
-
Der oben beschriebene Prozess kann anhand der folgenden mathematischen Gleichung ausgedrückt werden.
-
Der interpolierte Wert P, der vom Subtrahierer 103 als Ergebnis des oben beschriebenen Prozesses ausgegeben wird, ist einer, der so bestimmt wird, dass der Mittelwert der Pixelwerte der Pixel in dem fehlstellenbehafteten Teil MS dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich ist.
-
Der für das fehlende Pixel MP interpolierte Wert P wird als Interpolationskandidatenwert P(h) an den Ausgeber 5 geliefert.
-
Die Testinterpolation wird auf die gleiche Weise durchgeführt wie die Interpolation des fehlenden Pixels, und die interpolierten Werte P werden als interpolierte Testwerte P(t) an den Entscheider 4 geliefert.
-
In 6 besteht der fehlstellenfreie Teil aus einer Vielzahl von aufeinanderfolgenden Pixeln. Der fehlstellenfreie Teil kann alternativ dazu aus nicht aufeinanderfolgende Pixel bestehen. Zum Beispiel kann der fehlstellenfreie Teil eine Vielzahl von aufeinander folgenden Pixeln, die auf einer Seite (der linken Seite in der Zeichnung) des fehlenden Pixels MP positioniert sind, und eine Vielzahl von aufeinanderfolgenden Pixeln, die auf der anderen Seite (der rechten Seite in der Zeichnung) des fehlenden Pixels MP positioniert sind, umfassen.
-
Durch Ausbilden der mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N auf die oben beschriebene Weise wird die Zahl der Pixel in dem fehlstellenfreien Teil groß, und der Interpolationswert wird im Vergleich zu dem Verfahren der ersten Ausführungsform natürlicher.
-
Dritte Ausführungsform
-
Eine Pixelinterpolationsvorrichtung 1c gemäß einer dritten Ausführungsform weist eine Konfiguration auf wie allgemein in 8 dargestellt.
-
Die in 8 gezeigte Pixelinterpolationsvorrichtung 1c ist im Allgemeinen identisch mit der Pixelinterpolationsvorrichtung 1 in 1, unterscheidet sich aber in den folgenden Punkten.
-
Das heißt, anstelle der mittelwerterhaltenden Interpolationsrechner 11-1 bis 11-N in 1 werden mittelwerterhaltende Interpolationsrechner 13-1 bis 13-N bereitgestellt.
-
Der erste bis N-te mittelwerterhaltende Interpolationsrechner 13-1 bis 13-N führen alle die mittelwerterhaltende Interpolationsrechnung aus, unterscheiden sich aber voneinander in der Zahl der Pixel, auf die bei der Interpolation Bezug genommen wird.
-
Jeder vom ersten bis N-ten mittelwerterhaltenden Interpolationsrechner 13-1 bis 13-N, d.h. der n-te mittelwerterhaltende Interpolationsrechner 13-n, ähnelt dem n-ten mittelwerterhaltenden Interpolationsrechner 11-n in der ersten Ausführungsform, unterscheidet sich aber in der Anordnung der Pixel, auf die bei der Interpolation Bezug genommen wird, und hat die Funktion, eine Differenz zwischen einer Summe der Pixelwerte einer Vielzahl von nicht-fehlenden Pixeln, die auf einer Seite des fehlenden Pixels positioniert sind, und einer Summe der Pixelwerte einer Vielzahl von nicht-fehlenden Pixeln, die auf der anderen Seite des fehlenden Pixels positioniert sind, zu bestimmen.
-
Der Betrieb der mittelwerterhaltenden Interpolationsrechner 13-1 bis 13-N wird nachstehend im Vergleich zu den mittelwerterhaltenden Interpolationsrechnern 11-1 bis 11-N der ersten und der zweiten Ausführungsform beschrieben. Zunächst wird die Interpolation eines fehlenden Pixels erläutert.
-
9 zeigt einen Teil des eingegebenen Bildes Di und gibt die Positionen der Pixel an, auf die bei der Interpolation durch den mittelwerterhaltenden Interpolationsrechner 13-n in der vorliegenden Ausführungsform Bezug genommen wird.
-
Wie in 4 und 6 wird angenommen, dass die Position des fehlenden Pixels MP in dem eingegebenen Bild Di vorab bekannt war. Die nicht-fehlenden Pixel werden durch „O“ angegeben und das fehlende Pixel MP wird durch „x“ angegeben.
-
Wie in 6 ist der fehlstellenbehaftete Teil MS ein Pixelfeld, das aus ka Pixel besteht, und der fehlstellenbehaftete Teil MS schließt das fehlende Pixel MP ein.
-
Anders als in 4 und 6 umfasst der fehlstellenfreie Teil NA einen ersten Teil NL, der auf einer Seite des fehlenden Pixels MP positioniert ist, und einen zweiten Teil NR, der auf der anderen Seite des fehlenden Pixels MP positioniert ist.
-
In der folgenden Beschreibung wird der erste Teil NL als linksseitiger Teil bezeichnet und der zweite Teil NR wird als rechtsseitiger Teil bezeichnet.
-
Sowohl der linksseitige Teil NL als auch der rechtsseitige Teil NR ist ein Pixelfeld, das aus einer Vielzahl von Pixeln besteht und das fehlende Pixel MP nicht einschließt.
-
Der linksseitige Teil NL und der rechtsseitige Teil NR bestehen aus der gleichen Zahl von Pixeln und sind so ausgebildet, dass sie in Bezug auf das fehlende Pixel MP symmetrisch sind.
-
Zum Beispiel ist die Zahl der Pixel kc, die den linksseitigen Teil NL und den rechtsseitigen Teil NR bilden, der Zahl der Pixel ka gleich, die den fehlstellenbehafteten Teil MS bilden.
-
In dem dargestellten Beispiel gilt ka=kc=3.
-
Demgemäß ist die Zahl der Pixel kb, die den fehlstellenfreien Teil NA bilden, der den linksseitigen Teil NL und den rechtsseitigen Teil NR umfasst, das Doppelte von kc.
ka und kc sind als Parameter in jedem mittelwerterhaltenden Interpolationsrechner voreingestellt.
-
Der erste bis N-te mittelwerterhaltende Interpolationsrechner 13-1 bis 13-N unterscheiden sich voneinander in dem Wert von mindestens einem der Parameter ka und kc. Demgemäß unterscheiden sie sich in der Zahl der Pixel, auf die bei der Interpolation Bezug genommen wird.
-
Dabei können anstelle von ka und kc ka und kb als Parameter in jedem mittelwerterhaltenden Interpolationsrechner voreingestellt werden.
-
Wie der n-te mittelwerterhaltende Interpolationsrechner 11-n in der ersten und der zweiten Ausführungsform interpoliert der n-te mittelwerterhaltende Interpolationsrechner 13-n den Pixelwert des fehlenden Pixels MP so, dass der Mittelwert der Pixelwerte der Pixel in dem fehlstellenbehafteten Teil MS dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich ist. Jedoch schließt der fehlstellenfreien Teil NA den linksseitigen Teil NL und den rechtsseitigen Teil NR ein.
-
10 ist eine Funktionsblockskizze, die ein Beispiel für eine Konfiguration des mittelwerterhaltenden Interpolationsrechners 13-n zeigt.
-
Der mittelwerterhaltende Interpolationsrechner 13-n in 10 schließt einen Addierer 101 für den fehlstellenbehafteten Teil, einen Addierer 105 für den linksseitigen Teil, einen Addierer für den rechtsseitigen Teil 106, einen Gesamtsummenrechner 107, einen Multiplizierer 104, einen Subtrahierer 103 und einen Differenzrechner 108 ein.
-
Der Addierer 101 für den fehlstellenbehafteten Teil bestimmt eine Summe der Pixelwerte der Pixel außer dem fehlenden Pixel MP von den ka Pixeln, die in dem fehlstellenbehafteten Teil MS enthalten sind, und gibt die Summe als Gesamtsumme MQ für den fehlstellenbehafteten Teil aus.
-
Der Addierer 105 für den linksseitigen Teil bestimmt eine Summe der Pixelwerte von kc Pixeln, die in dem linksseitigen Teil NL enthalten sind, und gibt die Summe als linksseitige Teilsumme SL aus.
-
Der Addierer 106 für den rechtsseitigen Teil bestimmt eine Summe der Pixelwerte der kc Pixel, die in dem rechtsseitigen Teil NR enthalten sind, und gibt die Summe als rechtsseitige Teilsumme SR aus.
-
Der Gesamtsummenrechner 107 addiert die linksseitige Teilsumme SL und die rechtsseitige Teilsumme SR und gibt das Ergebnis der Addition als Gesamtsumme SA eines fehlstellenfreien Teils aus.
-
Der Addierer 105 für den linksseitigen Teil, der Addierer 106 für den rechtsseitigen Teil und der Gesamtsummenrechner 107 bilden in Kombination einen Addierer 102c für den fehlstellenfreien Teil.
-
Der Multiplizierer 104 multipliziert die Ausgabe SA des Addierers 102c für den fehlstellenfreien Teil mit dem Parameterverhältnis ka/kb.
-
Der Subtrahierer 103 subtrahiert die Ausgabe MQ des Addierers 101 für den fehlstellenbehafteten Teil von der Ausgabe (SA·ka/kb) des Multiplizierers 104.
-
Der Differenzwert, der als Ergebnis der Subtraktion erhalten wird, wird als der interpolierte Wert des fehlenden Pixels MP verwendet.
-
Der oben beschriebene Prozess kann anhand der folgenden mathematischen Gleichung ausgedrückt werden.
-
Als Ergebnis des oben beschriebenen Prozesses ist der interpolierte Wert P des fehlenden Pixels MP, das vom Subtrahierer 103 ausgegeben wird, eines, das auf Basis der Teilsummen SL, SR und der Gesamtsumme MQ des fehlstellenbehafteten Teils so bestimmt wird, dass der Mittelwert der Pixelwerte der Pixel im fehlstellenbehafteten Teil MS dem Mittelwert der Pixelwerte der Pixel in dem fehlstellenfreien Teil NA gleich ist.
-
Der für das fehlende Pixel MP interpolierte Wert P wird als Interpolationskandidatenwert P(h) an den Ausgeber 5 geliefert.
-
Der Differenzrechner 108 berechnet einen absoluten Differenzwert zwischen der Ausgabe (der linksseitigen Teilsumme) SL des Addierers 105 des linksseitigen Teils und der Ausgabe (der rechtsseitigen Teilsumme) SR des Addierers des rechtsseitigen Teils 106. Der berechnete absolute Differenzwert wird als Links-Rechts-Differenzwert DLR an den Entscheider 4c gesendet.
-
Der Links-Rechts-Differenzwert DLR, der für die einzelnen fehlenden Pixel berechnet wird, stellt eine Differenz zwischen der Summe der Pixelwerte der Pixel im linksseitigen Teil, der auf der linken Seite des fehlenden Pixels positioniert ist (im ersten Teil, der auf einer Seite positioniert ist) und der Summe der Pixelwerte der Pixel im rechtsseitigen Teil, der auf der rechten Seite des fehlenden Pixels positioniert ist (im zweiten Teil, der auf der anderen Seite positioniert ist), dar.
-
Die Berechnung der interpolierten Testwerte wird auf die gleiche Weise wie oben angegeben durchgeführt. Das heißt, wie der mittelwerterhaltende Interpolationsrechner 11-n behandelt jeder mittelwerterhaltende Interpolationsrechner 13-n eine Vielzahl von nicht-fehlenden Pixeln in der Nähe des fehlenden Pixels als Testpixel, führt die Interpolationsrechnung für jedes von den Testpixeln durch, um den interpolierten Wert P zu berechnen, und liefert den berechneten interpolierten Wert P als interpolierten Testwert P(t) an den Entscheider 4c.
-
Jedoch wird der Links-Rechts-Differenzwert DLR für die Testpixel nicht berechnet.
-
Die Operation der Interpolationsrechner 21-1 bis 21-M ist die gleiche wie in der ersten Ausführungsform.
-
Der Entscheider 4c berechnet die Fehlerindexwerte auf Basis der interpolierten Testwerte P(t), die von den mittelwerterhaltenden Interpolationsrechnern 13-1 bis 13-N und den Interpolationsrechnern 21-1 bis 21-M geliefert werden, auf die gleiche Weise wie in der ersten und der zweiten Ausführungsform.
-
Der Entscheider 4c der dritten Ausführungsform unterscheidet sich von dem Entscheider 4 in der ersten Ausführungsform und der zweiten Ausführungsform in der Operation in dem Fall, wo der Interpolationsrechner, der den kleinsten Fehlerindexwert liefert, einer von den mittelwerterhaltenden Interpolationsrechnern 13-1 bis 13-N ist.
-
In der oben genannten Situation bestimmt der Entscheider 4c, ob der Links-Rechts-Differenzwert DLR, der zu dem mittelwerterhaltenden Interpolationsrechner korrespondiert, von dem bestimmt wurde, dass er den kleinsten Fehlerindexwert liefert, größer ist als ein vorgegebener Schwellenwert DRLth, und falls der Links-Rechts-Differenzwert DLR größer ist als der Schwellenwert DLRth, wählt der Entscheider 4c einen zuvor dafür bestimmten Interpolationsrechner unter den Interpolationsrechnern 21-1 bis 21-M aus und übermittelt das Ergebnis der Auswahl an den Ausgeber 5.
-
Der zuvor dafür bestimmte Interpolationsrechner ist beispielsweise einer, der eine Interpolationsrechnung unter Verwendung von Pixeln durchführt, die dem fehlenden Pixel nahe sind, z.B. daran angrenzen. Als Interpolationsrechnung wird beispielsweise eine lineare Interpolationsrechnung oder eine bikubische Interpolationsrechnung verwendet. Wenn die lineare Interpolationsrechnung durchgeführt wird, wird ein Mittelwert eines Paares von nicht-fehlenden Pixeln, die an das fehlende Pixel angrenzen, bestimmt. Wenn die bikubische Interpolationsrechnung durchgeführt wird, werden ein Paar von nicht-fehlenden Pixeln, die an das fehlende Pixel angrenzen, und Pixel, die an das oben genannte Paar von nicht-fehlenden Pixeln angrenzen (Pixel, die an irgendeines von dem Paar von nicht-fehlenden Pixeln angrenzen und auf der zum fehlenden Pixel entgegengesetzten Seite positioniert sind) als Referenzpixel verwendet.
-
Wenn eine große Differenz des Pixelwerts zwischen der linken Seite und der rechten Seite des fehlenden Pixels besteht, kann die mittelwerterhaltende Interpolation einen unnatürlichen Pixelwert erzeugen. Gemäß der vorliegenden Ausführungsform wird ein Interpolationsrechenverfahren verwendet, das für eine solche Situation geeignet ist, um einen natürlicheren Pixelwert zu erhalten.
-
In der oben beschriebenen Ausführungsform wird der Links-Rechts-Differenzwert in jedem von einer Vielzahl von mittelwerterhaltenden Interpolationsrechnern 13-1 bis 13-N bestimmt, und es wird eine Entscheidung darüber getroffen, ob der Links-Rechts-Differenzwert, der von dem auf Basis der Fehlerindexwerte ausgewählten mittelwerterhaltenden Interpolationsrechner von der Vielzahl von mittelwerterhaltenden Interpolationsrechnern 13-1 bis 13-N bestimmt wird, größer ist als der Schwellenwert.
-
Als Alternative kann der Links-Rechts-Differenzwert in einem von der Vielzahl von mittelwerterhaltenden Interpolationsrechnern 13-1 bis 13-N bestimmt werden, und es kann eine Entscheidung darüber getroffen werden, ob der bestimmte Links-Rechts-Differenzwert größer ist als ein Schwellenwert.
-
Als Alternative kann der Links-Rechts-Differenzwert in einem der zweiten Gruppe von Interpolationsrechnern 21-1 bis 21-M bestimmt werden, und es kann eine Entscheidung darüber getroffen werden, ob der bestimmte Links-Rechts-Differenzwert größer ist als ein Schwellenwert.
-
Ferner kann der Links-Rechts-Differenzwert in zwei oder mehr Interpolationsrechnern von der Vielzahl von Interpolationsrechnern bestimmt werden, ein Differenzindexwert kann auf Basis der zwei oder mehr Links-Rechts-Differenzwerte bestimmt werden, die bestimmt worden sind, und eine Entscheidung kann darüber getroffen werden, ob der bestimmte Differenzindexwert größer ist als ein Schwellenwert.
-
Wesentlich ist, dass der (mindestens eine) Links-Rechts-Differenzwert in einem oder mehreren Interpolationsrechnern von der Vielzahl von Interpolationsrechnern (13-1 bis 13-N, 21-1 bis 21-M) bestimmt wird und dass eine Entscheidung darüber getroffen wird, ob der bestimmte Links-Rechts-Differenzwert oder ein Differenzindexwert, der aus dem (mindestens einen) Links-Rechts-Differenzwert errechnet wird, größer ist als ein Schwellenwert.
-
In der dritten Ausführungsform werden Ausdrücke „links“ und „rechts“ in Verbindung mit den Positionen der Pixel und den Positionen der fehlstellenfreien Teile verwendet. Dies dient jedoch nur der Bequemlichkeit, und gemeint ist eigentlich eine Seite und die andere Seite des fehlenden Pixels.
-
Das heißt, es reicht aus, wenn der Entscheider einen zuvor dafür bestimmten Interpolationsrechner von der zweiten Gruppe von Interpolationsrechnern auswählt, wenn ein absoluter Differenzwert zwischen der Summe der Pixelwerte im ersten Teil NL und der Summe der Pixelwerte im zweiten Teil NR oder ein Differenzindexwert, der auf Basis des (mindestens einen) absoluten Differenzwerts bestimmt wird, größer ist als ein vorgegebener Schwellenwert.
-
In der ersten bis dritten Ausführungsform können die Bilddaten, die vom Datenspeicher 2 ausgegeben werden, Daten sein, welche die Luminanz des Bildes darstellen, oder Daten sein, welche Farbkomponenten des Bildes darstellen. Anders ausgedrückt können die von der Pixelinterpolationsvorrichtung verarbeiteten Pixelwerte Luminanzwerte oder Farbkomponentenwerte sein.
-
Wenn das Bild ein Farbbild ist, kann die in der ersten bis dritten Ausführungsform beschriebene Pixelinterpolationsvorrichtung für jeden Farbkomponentenwert bereitgestellt sein.
-
Im Folgenden wird eine Bildverarbeitungsvorrichtung als vierte Ausführungsform beschrieben, in der drei oder mehr jeweilige Pixelinterpolationsvorrichtungen für drei oder mehr Farbkomponentenwerte bereitgestellt werden und Clipping-Prozesse an den Farbdifferenzkomponentenwerten durchgeführt werden.
-
Vierte Ausführungsform
-
11 ist eine Funktionsblockskizze, die schematisch eine Konfiguration einer Bildverarbeitungsvorrichtung der vierten Ausführungsform der vorliegenden Erfindung zeigt.
-
Die in 11 gezeigte Bildverarbeitungsvorrichtung schließt eine R-Pixelinterpolationsvorrichtung 201, eine G-Pixelinterpolationsvorrichtung 202, eine B-Pixelinterpolationsvorrichtung 203, einen Luminanz-Farbdifferenzrechner 205, einen Farbdifferenzrechner 206, einen Clip-Wertebestimmer 207, einen Clip-Prozessor 208 und einen Farbkomponentenwiederhersteller 209 ein.
-
Jede von der R-Pixelinterpolationsvorrichtung 201, der G-Pixelinterpolationsvorrichtung 202 und der B-Pixelinterpolationsvorrichtung 203 weist eine ähnliche Konfiguration auf wie die Pixelinterpolationsvorrichtung in der ersten, der zweiten oder der dritten Ausführungsform. Während die Pixelinterpolationsvorrichtung in der ersten, der zweiten oder der dritten Ausführungsform die Bilddaten Di empfängt und die Bilddaten Du ausgibt, empfangen die R-Pixelinterpolationsvorrichtung 201, die G-Pixelinterpolationsvorrichtung 202 und die B-Pixelinterpolationsvorrichtung 203 in der vorliegenden Ausführungsform R-Bilddaten Ri, G-Bilddaten Gi bzw. B-Bilddaten Bi und geben R-Bilddaten Ru, G-Bilddaten Gu bzw. B-Bilddaten Bu aus.
-
Die R-Bilddaten Ri, die G-Bilddaten Gi und die B-Bilddaten Bi werden beispielsweise durch Lesen eines Originals mittels einer Bilderzeugungsvorrichtung erhalten, die photoelektrische Umwandlungselemente mit Empfindlichkeit für R-, G- und B-Licht (Wellenlängenkomponenten) aufweist. Die photoelektrischen Umwandlungselemente mit Empfindlichkeit für das R-, G- und B-Licht sind beispielsweise photoelektrische Umwandlungselemente, die mit Farbfiltern versehen sind, die R-, G- und B-Licht durchlassen.
-
Die R-Pixelinterpolationsvorrichtung 201 interpoliert Pixelwerte (R-Komponentenwerte) der fehlenden Pixel in dem Bild, das von den eingegebenen R-Bilddaten Ri dargestellt wird. Das heißt, sie bestimmt die interpolierten Werte der fehlenden Pixel auf Basis der originalen Pixelwerte (R-Komponentenwerte) Ri, die von den R-Bilddaten Ri dargestellt werden, und gibt die Bilddaten Ru, die mit den interpolierten Werten gefüllt sind, als R-Komponentenwerte der fehlenden Pixel aus.
-
Der R-Komponentenwert Ru, der von den Bilddaten Ru dargestellt wird, ist identisch mit dem interpolierten Wert bezüglich jedes fehlenden Pixels und identisch mit dem originalen Pixelwert (dem eingegebenen R-Komponentenwert) Ri bezüglich jedes nicht-fehlenden Pixels.
-
Die G-Pixelinterpolationsvorrichtung 202 interpoliert Pixelwerte (G-Komponentenwerte) der fehlenden Pixel in dem Bild, das von den eingegebenen G-Bilddaten Gi dargestellt wird. Das heißt, sie bestimmt die interpolierten Werte der fehlenden Pixel auf Basis der originalen Pixelwerte (G-Komponentenwerte) Gi, die von den G-Bilddaten Gi dargestellt werden, und gibt die Bilddaten Gu, die mit den interpolierten Werten gefüllt sind, als G-Komponentenwerte der fehlenden Pixel aus.
-
Der G-Komponentenwert Gu, der von den Bilddaten Gu dargestellt wird, ist identisch mit dem interpolierten Wert bezüglich jedes fehlenden Pixels und identisch mit dem originalen Pixelwert (dem eingegebenen G-Komponentenwert) Gi bezüglich jedes nicht-fehlenden Pixels.
-
Die B-Pixelinterpolationsvorrichtung 203 interpoliert Pixelwerte (B-Komponentenwerte) der fehlenden Pixel in dem Bild, das von den eingegebenen B-Bilddaten Bi dargestellt wird. Das heißt, sie bestimmt die interpolierten Werte der fehlenden Pixel auf Basis der originalen Pixelwerte (B-Komponentenwerte) Bi, die von den B-Bilddaten Bi dargestellt werden, und gibt die Bilddaten Bu, die mit den interpolierten Werten gefüllt sind, als B-Komponentenwerte der fehlenden Pixel aus.
-
Der B-Komponentenwert Bu, der von den Bilddaten Bu dargestellt wird, ist identisch mit dem interpolierten Wert bezüglich jedes fehlenden Pixels und identisch mit dem originalen Pixelwert (dem eingegebenen B-Komponentenwert) Bi bezüglich jedes nicht-fehlenden Pixels.
-
Die Pixelinterpolation, die in jeder von der R-Pixelinterpolationsvorrichtung 201, der G-Pixelinterpolationsvorrichtung 202 und der B-Pixelinterpolationsvorrichtung 203 durchgeführt wird, kann der Pixelinterpolation in der Pixelinterpolationsvorrichtung irgendeiner von der ersten, der zweiten und der dritten Ausführungsform gleich sein. Jedoch können die Zahl der Interpolationsrechner, die in der Pixelinterpolationsvorrichtung enthalten sind, die in den einzelnen Interpolationsrechnern für die Interpolation verwendeten Interpolationsrechenverfahren und die Zahl der Pixel, auf die für die Interpolation Bezug genommen wird, zwischen den Farbkomponenten verschieden sein. Dadurch ist es möglich, eine Interpolation für die einzelnen Farbkomponente durchzuführen, die sich besser für das Merkmal des Bildes jeder Farbkomponente eignet.
-
Der Luminanz-Farbdifferenzrechner 205 wandelt den R-Komponentenwert Ru, den G-Komponentenwert Gu und den B-Komponentenwert Bu, die dasselbe Pixel betreffen, in den Bilddaten Ru, Gu und Bu in einen Luminanzwert Yu und in Farbdifferenzkomponentenwerte Cbu, Cru um und gibt den Luminanzwert Yu und die Farbdifferenzkomponentenwerte Cbu, Cru, die durch die Umwandlung erhalten wurden, aus.
-
Für die Umwandlung werden bekannte Umwandlungsformeln verwendet. Wenn die Farbkomponentenwerte beispielsweise durch 8 Bits dargestellt werden, werden die folgenden Formeln verwendet.
-
Der Farbdifferenzrechner
206 wandelt den R-Komponentenwert Ri, den G-Komponentenwert Gi und den B-Komponentenwert Bi, die dasselbe Pixel betreffen, in den Bilddaten Ri, Gi und Bi in Farbdifferenzkomponentenwerte Cbi, Cri um und gibt die Farbdifferenzkomponentenwerte Cbi, Cri, die durch die Umwandlung erhalten wurden, aus. Für die Umwandlung der Farbdifferenzkomponentenwerte CBi, Cri können bekannte Formeln für die Umwandlung von RGB in YCbCr verwendet werden. Da Y (Luminanzwert) nicht verwendet wird, muss er jedoch nicht berechnet werden. Wenn die Farbkomponentenwerte durch 8 Bits dargestellt werden, werden die folgenden Formeln verwendet.
-
Der Clip-Wertebestimmer 207 sieht Pixel innerhalb eines vorgegebenen Bereichs des eingegebenen Bildes als Pixel vor, auf die für die Berechnung von Clip-Werten Bezug genommen werden soll (Clip-Werteberechnungs-Bezugspixel), und bestimmt die Clip-Werte aus dem Cb-Komponentenwert und dem Cr-Komponentenwert, die durch die Umwandlung am Farbdifferenzrechner 206 erhalten werden, für die Clip-Werteberechnungs-Bezugspixel.
-
Zum Beispiel bestimmt der Clip-Wertebestimmer 207 die Clip-Werte für jedes fehlende Pixel. In diesem Fall ist der oben genannte vorgegebene Bereich ein Bereich, der aus Pixeln in der Nachbarschaft des fehlenden Pixels besteht.
-
Nachbarschaft des fehlenden Pixels bedeutet beispielsweise einen Bereich, in dem der Abstand von dem fehlenden Pixel nicht größer ist als ein vorgegebener Wert.
-
Als Clip-Werte werden ein oberer Clip-Wert und ein unterer Clip-Wert für sowohl die Cb-Komponente als auch die Cr-Komponente bestimmt.
-
Zum Beispiel wird der größte Wert von den Farbdifferenzkomponentenwerten Cbi der Clip-Werteberechnungs-Bezugspixel oder ein Wert, der nahe an dem größten Wert liegt, als ein oberer Clip-Wert Cbmax der Cb-Komponente bestimmt, wird der kleinste Wert von den Farbdifferenzkomponentenwerten Cbi der Clip-Werteberechnungs-Bezugspixel oder ein Wert, der nahe an dem kleinsten Wert liegt, als unterer Clip-Wert Cbmin der Cb-Komponente bestimmt, wird der größte Wert von den Farbdifferenzkomponentenwerten Cri der Clip-Werteberechnungs-Bezugspixel oder ein Wert, der nahe an dem größten Wert liegt, als oberer Clip-Wert Crmax der Cr-Komponente bestimmt und wird der kleinste Wert von den Farbdifferenzkomponentenwerten Cri der Clip-Werteberechnungs-Bezugspixel oder ein Wert, der nahe an dem kleinsten Wert liegt, als unterer Clip-Wert Crmin der Cr-Komponente bestimmt.
-
Ein „Wert nahe dem größten Wert“ ist beispielsweise ein Wert an einem vorgegebenen Ort, wenn die Farbdifferenzkomponentenwerte ihrer Größe nach angeordnet werden. Der vorgegebene Ort kann gemäß der Zahl der Clip-Werteberechnungs-Bezugspixel bestimmt werden. Zum Beispiel kann er bei einer Ordnungszahl bestimmt werden, die mit der Zahl übereinstimmt, die einem vorgegebenen Anteil der Clip-Werteberechnungs-Bezugspixel entspricht.
-
Ebenso ist ein „Wert nahe dem kleinsten Wert“ beispielsweise ein Wert an einem vorgegebenen Ort, wenn die Farbdifferenzkomponentenwerte ihrer Kleinheit nach angeordnet werden. Der vorgegebene Ort kann gemäß der Zahl der Clip-Werteberechnungs-Bezugspixel bestimmt werden.
-
Der Clip-Prozessor 208 führt einen Clipping-Prozess an den Farbdifferenzkomponentenwerten Cbu, Cru unter Verwendung des oberen Clip-Werts und des unteren Clip-Werts, die vom Clip-Wertebestimmer 207 als oberer Grenzwert und unterer Grenzwert bestimmt worden sind, durch und gibt geclippte bzw. beschnittene Farbdifferenzkomponentenwerte Cbe, Cre aus.
-
Der Farbkomponentenwiederhersteller 209 führt eine Umwandlung von den Farbdifferenzkomponentenwerten Cbe, Cre, die vom Clip-Prozessor 208 ausgegeben werden, und dem Luminanzwert Yu, der vom Luminanz-Farbdifferenzrechner 205 ausgegeben wird, in die Farbkomponentenwerte durch und gibt die durch die Umwandlung erhaltenen R-, G-, B-Komponentenwerte Ro, Go, Bo aus.
-
Für die Umwandlung können bekannte Formeln verwendet werden. Wenn Yu, Cbe, Cre beispielsweise durch 8 Bits dargestellt werden, können die folgenden Formeln verwendet werden.
-
In dem obigen Beispiel wird der Clipping-Prozess an dem Cb-Komponentenwert und dem Cr-Komponentenwert durchgeführt, die durch Umwandlung von RGB in CbCr erzeugt werden. Jedoch kann der Clipping-Prozess an einem Pb-Komponentenwert und einem Pr-Komponentenwert durchgeführt werden, die durch Umwandlung in YPbPr erzeugt werden. Ebenso kann der Clipping-Prozess an einem U-Komponentenwert und einem V-Komponentenwert durchgeführt werden, die durch Umwandlung in YUV erzeugt werden.
-
Wesentlich ist, dass der Clipping-Prozess an Farbdifferenzkomponenten durchgeführt wird, die durch Umwandlung in eine Luminanzkomponente und in Farbdifferenzkomponenten erzeugt werden.
-
Mit einer solchen Anordnung wird die Luminanz nicht geändert, während die Erzeugung falscher Farben beschränkt werden kann.
-
In dem obigen Beispiel schließen die Clip-Werte den oberen Clip-Wert und den unteren Clip-Wert ein. Es kann auch nur einer vom oberen Clip-Wert und unteren Clip-Wert verwendet werden.
-
Durch Ausbilden der Pixelinterpolationsvorrichtung auf die oben beschriebene Weise wird eine Interpolationsrechnung für jede der R-, G- und B-Farbkomponenten unabhängig durchgeführt, und es ist möglich, die Erzeugung von falschen Farben in dem fehlstellenbehafteten Teil in dem Farbbild zu beschränken. Ebenso ist es möglich, zu verhindern, dass die interpolierten Pixel in dem Farbbild unnatürlich werden.
-
Die Erfindung wurde als Pixelinterpolationsvorrichtung und als Bildverarbeitungsvorrichtung beschrieben. Ein in der oben beschriebenen Pixelinterpolationsvorrichtung durchgeführtes Pixelinterpolationsverfahren und ein Bildverarbeitungsverfahren, das in der oben beschriebenen Bildverarbeitungsvorrichtung durchgeführt wird, sind ebenfalls Teil der vorliegenden Erfindung.
-
Ebenso sind ein Programm, das bewirkt, dass ein Computer die Verfahren in der oben beschriebenen Pixelinterpolationsvorrichtung oder dem Pixelinterpolationsverfahren ausführt, und ein Programm, das bewirkt, dass ein Computer die Prozesse in der oben beschriebenen Bildverarbeitungsvorrichtung oder dem Bildverarbeitungsverfahren ausführt, Teil der vorliegenden Erfindung.
-
Ferner ist auch ein computerlesbares Aufzeichnungsmedium, in dem das (mindestens eine) oben genannte Programm aufgezeichnet ist, Teil der vorliegenden Erfindung.
-
Bezugszeichenliste
-
- 1, 1c
- Pixelinterpolationsvorrichtung;
- 2
- Datenspeicher;
- 4, 4c
- Ent-scheider;
- 5
- Ausgeber;
- 6
- Einfüger von interpolierten Daten;
- 11-1 bis 11-N, 13-1 bis 13-N
- mittelwerterhaltender Interpolationsrechner;
- 21-1 bis 21-M
- Inter-polationsrechner;
- 101
- Addierer für fehlstellenbehafteten Teil;
- 102
- Addierer für fehlstellenfreien Teil;
- 103
- Subtrahierer;
- 104
- Multiplizierer;
- 105
- Addierer fur den linksseitigen Teil
- 106
- Addierer für den rechtsseitigen Teil;
- 107
- Ge-samtsummenrechner;
- 108
- Differenzrechner;
- 201
- R-Pixelinterpolationsvor-richtung;
- 202
- G-Pixelinterpolationsvorrichtung;
- 203
- B-Pixelinterpolationsvor-richtung;
- 205
- Luminanz-Farbdifferenzrechner;
- 206
- Farbdifferenzrechner;
- 207
- Clip-Wertebestimmer;
- 208
- Clip-Prozessor;
- 209
- Farbkomponentenwie-derhersteller.