-
Referenz zu verbundenen Anwendungen
-
Diese
Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 61/000,053, eingereicht
am 22. Oktober 2007, und der nicht-vorläufigen
US-Anmeldung Nr. 12/082,577, eingereicht am 11. April 2008.
-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
Erfindung betrifft allgemein die Autofokussierung elektronisch aufgezeichneter
Bilder.
-
2. Hintergrundinformationen
-
Fotografische
Ausrüstungen
wie Digitalkameras und digitale Camcorder können elektronische Bildsensoren
enthalten, die Licht für
das weitere Verarbeiten in Fotos bzw. Videobildern erfassen. Elektronische
Bildsensoren enthalten typischerweise Millionen von lichterfassenden
Elementen wie etwa Fotodioden.
-
Viele
bilderfassende Geräte
wie Kameras enthalten ein Autofokussierungs-System. Der Prozess
der Autofokussierung umfasst die Schritte des Erfassens eines Bildes,
des Verarbeitens des Bildes, um festzustellen, ob es im Fokus liegt
und falls es nicht im Fokus ist, des Erzeugens eines Rückkopplungssignals,
das verwendet wird, um den Fokus des Objektivs zu verstellen. Es
gibt zwei Haupt-Autofokussierungstechniken: Die erste Technik gründet auf Kontrastmessung,
die andere Technik auf der Phasendifferenz zwischen zwei Bildern.
Bei der Kontrastmethode wird die Intensitätsdifferenz zwischen angrenzenden
Pixels analysiert. Der Fokus wird angepasst, bis ein Maximum an
Kontrast erreicht wird. Obgleich die Kontrasttechnik für unbewegte
Bilder ausreichend ist, so ist sie doch für bewegte Videobilder nicht
geeignet.
-
Bei
der Phasendifferenz-Methode wird ein eingehendes Bild in zwei Bilder
gesplittet, die von separaten Bildsensoren erfasst werden. Die beiden
Bilder werden dann verglichen, um eine Phasendifferenz zu ermitteln.
Der Fokus wird angepasst, bis die beiden Bilder übereinstimmen. Für die Phasendifferenz-Methode sind weitere
Teile erforderlich, wie Strahlteiler und ein weiterer Bildsensor.
Dazu kommt, dass beim Phasendifferenz-Ansatz ein relativ schmales
Band von festen Erfassungspunkten analysiert wird. Dies macht die
Methode fehleranfällig,
da ein oder mehrere Erkennungspunkte von Rauschen überlagert
werden können.
Diese Technik ist ebenfalls ineffizient, wenn die Erkennungspunkte
nicht mit Bildkanten übereinstimmen.
Und schließlich
wird die Lichtmenge, die auf den Lichtsensor fällt, halbiert, da die Phasendifferenz
das Licht splittet. Dies kann in dunklen Umgebungen zu Problemen
führen,
in denen die Lichtintensität
bereits niedrig ist.
-
KURZE ZUSAMMENFASSUNG DER
ERFINDUNG
-
Ein
Autofokus-Bildsystem mit einem Bildsensor gekoppelt an ein Steuergerät. Der Bildsensor
erfasst ein Bild, das mindestens eine Kante mit einer Breite hat.
Das Steuergerät
erzeugt ein Fokussignal, das eine Funktion der Kantenbreite ist.
-
KURZE ZUSAMMENFASSUNG DER
ZEICHNUNGEN
-
ist
eine Illustration eines Autofokus-Bildsystems;
-
ist
ein Ablaufdiagramm, das einen Autofokusprozess zeigt;
-
ist
ein Schaltbild, das das Steuergerät des Systems zeigt;
-
ist
ein Schaltbild, das eine weitere Ausführungsform des Steuergeräts zeigt;
-
ist
ein Schaltbild, das eine weitere Ausführungsform des Steuergeräts zeigt;
-
ist
eine Grafik, welche die Impulsantwort eines Gauss'schen Filters zeigt;
-
ist
eine Grafik, die einen Schwellwert-Filter zeigt;
-
ist
eine Illustration, die horizontale und vertikale Gradienten mehrerer
Bildpixel zeigen;
-
ist
eine Illustration, die horizontale Kanten zeigt;
-
ist
eine Illustration, die vertikale Kanten zeigt;
-
und
b zeigen die Gradienten mehrerer Pixel in einem Winkel von fast
45 Grad zu vertikalen und horizontalen Kanten;
-
und
d zeigen die gestörte
Erkennung der Kanten in einer Anordnung von Pixels aus den und ;
-
ist
eine Illustration, welche die Erkennung von vertikalen Kanten mittels
Gradienten-Hysterese zeigt;
-
ist
eine Illustration, welche die Erkennung von horizontalen Kanten
mittels Gradienten-Hysterese zeigt;
-
ist
ein Ablaufdiagramm, das den Prozess zeigt, mit dem die Kantenbreite
bestimmt wird;
-
ist eine Illustration, welche die Pixel einer
ausgewählten
Kante zeigt.
-
ist eine Illustration, welche die Pixel zeigt,
die Gradienten haben, die einen Schwellwert überschreiten;
-
ist eine Illustration, die einen Luminanzwert
für eine
fokussierte und eine unfokussierte Kante zeigt;
-
ist eine Illustration, die einen Gradientenwert
für eine
fokussierte und eine unfokussierte Kante zeigt;
-
ist eine Illustration, die Luminanzwerte für die Pixel
einer Kante zeigt;
-
ist eine Illustration, die Gradientenwerte
für die
Pixel zweier Kanten zeigt;
-
ist
ein Schaltbild, das eine alternative Ausführungsform des Steuergeräts zeigt;
-
ist
ein Ablaufdiagramm, das den Prozess zeigt, mit dem die Polarität von Kanten
bestimmt wird;
-
ist
ein Schaltbild, das eine alternative Ausführungsform des Steuergeräts zeigt;
-
ist
ein Ablaufdiagramm, das den Prozess zeigt, mit dem die Kantenbreite
bestimmt wird;
-
ist ein Histogramm von Kantenbreiten für ein unfokussiertes
Bild;
-
ist ein Histogramm von Kantenbreiten für ein fokussiertes
Bild;
-
ist ein Histogramm von bewerteten Kantenbreiten
für ein
unfokussiertes Bild;
-
ist ein Histogramm von bewerteten Kantenbreiten
für ein
fokussiertes Bild;
-
GENAUE BESCHREIBUNG
-
Beschrieben
wird ein Autofokus-Bildsystem mit einem Bildsensor gekoppelt an
ein Steuergerät. Der
Bildsensor empfängt
ein Bild, das mindestens eine Kante mit einer Breite hat. Das Steuergerät erzeugt
ein Fokussignal, das eine Funktion der Kantenbreite ist. Eine Linse
empfängt
ein Fokussignal und korrigiert den Fokus. Die Kantenbreite kann
mit verschiedenen Techniken bestimmt werden, einschließlich der
Verwendung von Gradienten. Ein Histogramm mit Kantenbreiten kann
verwendet werden, um festzustellen, ob ein bestimmtes Bild fokussiert oder
unfokussiert ist. Ein Histogramm mit einer großen Population an dünnen Kantenbreiten
ist ein Zeichen für
ein fokussiertes Bild.
-
Bezug
nehmend auf die Zeichnungen nach Referenznummer zeigt eine
Ausführungsform eines
Autofokus-Bildsystems 102. Das System 102 kann
Teil einer digitalen Fotokamera sein, aber es sollte betont werden,
dass dieses System ebenfalls in jedem Gerät verwendet werden kann, das
eine kontrollierte Fokussierung eines Bildes erfordert. Das System 102 kann
Folgendes enthalten: eine Linse 104, eine Blende 106,
ein Bildsensor 108, einen A/D-Konverter 110, einen
Prozessor 112, ein Display 114, eine Speicherkarte 116 und
einen Linse-Antrieb 118.
Das Licht einer Szene tritt durch die Linse 104 ein. Die
Blende 106 kontrolliert die Lichtmenge, die auf den Bildsensor 108 fällt. Der
Bildsensor 108 erzeugt ein analoges Signal, das vorn A/D-Konverter 110 in
ein digitales Signal umgewandelt wird. Das Digitalsignal wird dann
an den Prozessor 112 gesendet, der verschiedene Prozesse
wie die Interpolation durchführt.
Der Prozessor 112 erzeugt ein Fokus-Steuersignal, das zum
Linse-Antrieb 118, um sowohl die Blende 106 als
auch die Linse 104 zu steuern. Schließlich wird ein fokussiertes
Bild an das Display 114 gesendet und/oder auf der Speicherkarte 116 gespeichert.
Der Algorithmus/die Algorithmen, der/die verwendet werden, um zu
fokussieren, werden vom Prozessor 112 berechnet. Der Bildsensor 108,
der A/D-Converter 110 und der Prozessor 112 können auf
dem gleichen integrierten Schaltungschip sitzen.
-
ist
ein Ablaufdiagramm, das den Prozess der Autofokussierung eines Bildes
zeigt. Ein Bild wird in der aktuellen Fokusposition in Block 202 erfasst.
In Block 204 wird das Bild verarbeitet, um ein Fokussignal,
FEV, zu bestimmen. Im Entscheidungsblock 206 bestimmt der
Prozessor, ob das Bild fokussiert oder unfokussiert ist, basierend
auf dem Fokussignal FEV. Wenn das Bild als unscharf erachtet wird, schreitet
der Prozess zu Block 208 fort, in dem eine andere Fokusposition
gewählt
wird. Die Prozesse in den Blöcken 202, 204 und 206 werden
wiederholt. Wem das Bild fokussiert ist, wird der Prozess beendet.
-
zeigt
ein Bild mit Einheit 302, verbunden mit einem Autofokus-Steuergerät 304.
Einheit 302 liefert Bilder an das Steuergerät 304.
Der Steuergerät 304 kann
als Teil eines elektronischen Geräts implementiert werden, wie
beispielsweise einer Verarbeitungseinheit in einer Kamera oder einem ähnlichen
Gerät.
Eine Bildgebende-Einheit 302 kann eine digitale Fotokamera
sein, ist aber nicht auf eine solche Ausführungsform beschränkt. Die
Einheit 302 kann ein Scanner, ein digitaler Camcorder,
ein Webcam oder jedes Gerät
sein, das digitale Bilder bereitstellen kann und eine Anpassung
der fokalen Distanz des Bildes zur Linse ermöglicht. Die Einheit 302 kann ebenfalls
eine Speicherkarte, eine Harddisk mit digitalen Bildern oder jedes
Gerät sein,
das dem Steuergerät 304 digitale
Bilder mit variierenden fokalen Distanzen liefert.
-
Der
Fokus-Steuergerät 304 kann
eine Kantenerkennungs-Einheit 306 mit einer Breitenmesseinheit 308 sowie
eine Fokussignal-Erzeugereinheit enthalten. Die Kantenerkennungs-Einheit 306 erkennt
die Präsenz
von Kanten aus den Daten in den digitalen Bildern, die durch die
bildgebende Einheit 302 bereitgestellt wurden. Die erkannten
Kanten werden an die Breitenmesseinheit 308 gesendet, wo
die Breite der Kanten gemessen und berechnet wird. Die berechneten
Kantenbreiten werden an die Fokussignal-Erzeugereinheit 310 weitergeleitet,
wo die Schärfe
des Bildes auf Basis der Kantenbreite gemessen wird. Die Schärfe des
Bildes wird von einem Fokussignal 312 angezeigt, das von
dem Steuergerät 304 erzeugt
wird.
-
zeigt
eine andere Ausführungsform eines
Fokus-Steuergeräts 400 verbunden
mit einer bildgebenden Einheit 402. Der Steuergerät 400 umfasst
eine Gradienten-Messeinheit 404 und eine Fokussignal-Erzeugereinheit 406.
Die Gradienten-Messeinheit 404 erkennt die Präsenz von
Kanten aus den Daten in den digitalen Bildern, die durch die bildgebende
Einheit 402 bereitgestellt wurden. Die Daten der erkannten
Kanten werden dann an die Fokussignal-Erzeugereinheit 406 gesendet,
die ein Fokussignal 408 erzeugt, das die Schärfe des
Bildes anzeigt.
-
zeigt
eine Ausführungsform
einer Kantenerkennungs-Einheit 306, die ein Bild 502 empfängt. Die
Kantenerkennungs-Einheit 306 umfasst eine RGB-Wandlereinheit 504,
die das Bild so umwandelt, dass die drei Signale eines Bildes, rot, grün und blau
in ein einziges Signal konvertiert. Das Signal kann erzeugt werden,
indem das Bild in ein Grauskalabild umgewandelt wird. Diverse Techniken können verwendet
werden, um ein Bild in ein Grauskalabild umzuwandeln. RGB-Werte
können
verwendet werden, um einen Luminanz- oder Chrominanzwert zu berechnen.
Ein bestimmtes Verhältnis
von RGB-Werten kann ebenfalls verwendet werden, um das Grauskalabild
zu erstellen. Der Luminanzwert kann beispielsweise mit der folgenden
Gleichung berechnet werden: Y = 0.2126·R + 0.7152·G + 0.0722·B, wobei
Y = Luminanzwert
-
Das
Signal des Grauskalabildes wird dann durch die Rauschunterdrückungseinheit 506 weiterverarbeitet,
wobei eine frühere
Rauschunterdrückung
beim Bild durchgeführt
wird. Die Rauschunterdrückungseinheit 506 kann
ein Tiefpassfilter oder ein Gauss'scher Filter sein. illustriert
die Impulsantwort eines Gauss'schen
Filters zeigt. Der Gauss'sche
Filter glättet
Pixelsignalwerte unter benachbarten Pixels.
-
Bezug
nehmend auf die , wird dann der Gradient des
verarbeiteten Bildes mit der Gradientenerzeugungseinheit 508 berechnet.
Es gibt verschiedene Methoden, um den Gradienten zu berechnen, einschließlich der
Laplace- und der Sobel-Methode. In einer Ausführung erkennt die Kantenerkennungseinheit 306 vertikale
und horizontale Ecken separat. Daher die Gradienten über den
Spalten und Reihen berechnet werden, um die vertikalen, bzw. die horizontalen
Kanten zu erkennen, mittels eines Sobel-X-Operators beziehungsweise
eines Sobel-V-Operators. Sobel X-Operator an der Pixelposition [k,
q] wobei k die Reihennummer und q die Spaltennummer ist, vorgegeben
durch die Gleichung Sx[k, q] = G[k, q + 1] – G[k, q – 1]. Der Sobel V-Operator
an der gleichen Position ist gegeben durch die Gleichung Sy[k, q]
= G[k + 1, q] – G[k – 1, q].
-
Sobald
der Gradient berechnet ist, weist ein Filter in einer Zuweisungseinheit
für abgeschrägte Kanten 510 entweder
den horizontalen oder vertikalen Kanten abgeschrägte Kanten zu. Der Filter kann ein
einfacher Schwellwert-Filter oder ein Hysterese-Filter sein. zeigt
einen Schwellwert-Filter. zeigt
mehrere Pixel aus einem Bildteil mit den horizontalen und vertikalen
Gradienten für
jedes Pixel. Der horizontale Gradient jedes Pixels wird in der linken
oberen Ecke jedes Quaders angezeigt, wobei jeder Quader ein Pixel
darstellt, während
der vertikale Gradient unten rechts angezeigt wird. Bei dem in der gezeigten
Schwellenfilter wird eine Kante als vertikale Kante gekennzeichnet,
wenn ihr horizontaler Gradient größer als ihr vertikaler Gradient
ist und anders herum. Die und zeigen
Pixel, die als horizontale Kanten H und vertikalen Kanten V gekennzeichnet
sind, aus dem Gradient in .
-
Eine
weitere Technik, um Kanten zuzuweisen, ist das Verwenden einer Hysterese.
Angenommen, die Pixel werden in den Spalten von oben nach unten
und nacheinander, Spalte für
Spalte von links nach rechts abgetastet. (Ein alternatives Abtastschema
kann horizontal nach Reihen sein und dann nacheinander Zeile für Zeile
von oben nach unten.) Die Zuweisung eines Pixels zu einer vertikalen
oder horizontalen Kante wird für
Pixel vorgenommen, die bereits abgetastet sind. Für ein aktuelles
Pixel sind die drei nächstliegenden
Pixel, die bereits abgetastet sind oben, links und links oben. Unter
diesen drei Pixels wird dasjenige mit dem größten Gradienten unabhängig davon
ob vertikal oder horizontal als Referenzpixel ausgewählt. Die
Kantenausrichtung des ausgewählten
Referenzpixels ist die bevorzugte Ausrichtung des aktuellen Pixels.
Ein positiver Gradient-Hysteresewert
wird vergeben. Wenn die bevorzugte Ausrichtung horizontal ist, wird
das aktuelle Pixel dann als horizontal gekennzeichnet, wenn der
horizontale Gradient nicht größer als
die Summe des vertikalen Gradienten und der Gradienten-Hysterese ist,
andernfalls wird das Pixel als vertikal gekennzeichnet. Wenn die
bevorzugte Ausrichtung vertikal ist, wird das aktuelle Pixel als
vertikal gekennzeichnet, wenn der vertikale Gradient nicht größer als
die Summe des horizontalen Gradienten und der Gradienten-Hysterese
ist, andernfalls wird das Pixel als horizontal gekennzeichnet. Die und zeigen
eine vertikale Kantengradientenkarte beziehungsweise eine horizontale
Kantengradientenkarte unter Verwendung einer Hysterese von 2. Ein
Vorteil der Hysterese-Filtermethode gegenüber der Schwellwert-Filtermethode
ist die geringere Wahrscheinlichkeit einer Kantenfragmentierung,
die aus der zufälligen
Zuweisung von Pixels in einer Kante von annähernd 45 Grad zu horizontalen
und vertikalen Kanten wegen nahezu gleicher vertikaler und horizontaler Gradientengrößen resultiert.
Das kann dazu führen, dass
eine Kante in mehrere schmale Kanten aufgesplittet wird, wie in
den und . Dies sollte
mit den Resultaten in den und verglichen
werden, bei denen keine solchen Probleme zu sehe sind.
-
Bezug
nehmend wiederum auf präzisiert eine Kantenverfeinerungseinheit 512 die
Kanten, deren Daten von der Einheit zur Zuweisung von abgeschrägten Kanten
geliefert wurden. Eine solche Verfeinerung ist notwendig, wenn es
an einer Position mehrere Kanten gibt, sodass sich mehrere Kanten vielleicht überlappen.
Eine solche Verfeinerung stellt sicher, dass nur die steilsten Kanten
unter mehreren sich überlappenden
Kanten bleiben. Nach der Verfeinerung wird das verarbeitete Bild
an die Rauschunterdrückungseinheit 514 weitergeleitet,
die das Rauschen entfernt. Die Rauschunterdrückungseinheit 514 kann
Kanten mit Gradienten entfernen, die außerhalb eines bestimmten Bereichs
liegen. Der Zweck der Rauschunterdrückungseinheit 514 ist
sicherzustellen, dass unechte Kanten, erzeugt von Rauschen in hellen
und dunklen Bereichen, eliminiert werden. Bearbeitete Daten 516 wird
durch Einheit 514 bereitgestellt.
-
zeigt
einen Prozess, der von der Kantenverfeinerungseinheit 512 durchgeführt wird.
Der maximale Gradient unter den Pixeln der gleichen Kante wird anfänglich im
Prozess in Block 902 festgestellt. Pixels sind in der gleichen
Kante, wenn sie zusammenhängend
sind, als Null andere Gradienten haben, und die gleiche Gradientenpolarität haben. Danach
werden Gradienten mit Größen unter
einer festgelegten Schwelle in Block 904 eliminiert. Die verbleibenden
Gradienten werden abgetastet, um den Anfang und das Ende der Abhang
in den Blöcken 906 und 908 auszusuchen.
-
zeigt den Trend der Gradienten einer Kante,
die an Position 2 beginnt und an Position 9 endet, bevor die Kantenverfeinerung
durchgeführt wird.
Der höchste
Wert des Trends an Position 4 repräsentiert die Stelle, an der
die Kante am deutlichsten hervortritt. Die Kantenverfeinerung wird
durchgeführt,
wenn sich mehrere Kanten an einer Stelle zusammendrängen, was
eine Überlagerung
von Gradientensignalen hervorruft. Daher werden nur signifikante
Gradienten nahe dem Höchstwert
des Gradiententrends berücksichtigt,
wenn die Breite der Kante berechnet wird. Der Schwellwert 1004 wird
als vorher festgelegter Bruchteil des höchsten Gradienten 1002 einer
Kante berechnet, daher werden die Pixel mit Gradienten unter dem
Schwellwert 1004 entfernt, wobei in diesem Beispiel nur
drei Pixel mit Gradienten über
dem Schwellwert 1004 bleiben. Daher beträgt die Breite
dieser Kante 3 Pixel. Der Abhang beginnt an Position 3 und endet
an Position 5.
-
Die
Rauschunterdrückungseinheit 514 aus untersucht
jede Kante und entscheidet, ob die Größe des Gradienten der Kante
zu niedrig ist. Ist dies der Fall, wird die Kante verwerfen. Der
Vorteil ist, dass unechte Kanten in einem dunkleren Bereich aufgrund
von Rauschen entfernt werden, oder in einem helleren Bereich aufgrund
von einer geringen Änderung
im Reflexionsvermögen
der Szene, die keine echten Kanten repräsentieren. Eine Ausführungsform
der Rauschunterdrückungseinheit 514 nimmt
die Differenz des Luminanzsignals (oder allgemein das Ausgabesignal
der RGB-Wandlereinheit 504) an der Anfangs- und der Endposition
der Kante auf. Die Größen an den
Positionen, die von der Kantenverfeinerungseinheit 514 geliefert
werden und die in den Blöcken 906 und 908 des
Ablaufdiagramms ( ) beschrieben sind, werden
mit einem bestimmten Bruchteil des Mittelwerts des Signals an den
gleichen Anfangs- und Endpositionen (auch als Schwellwert für die Kantenzurückweisung
bezeichnet) verglichen. Wenn die Differenz geringer ist, dann wird
die Kante als unecht zurückgewiesen.
In einer anderen Ausführungsform
der Rauschunterdrückungseinheit 514 wird
die maximale Gradientengröße innerhalb
der Kante mit einem bestimmten Bruchteil des Mittelwerts des Luminanzsignals
(oder allgemein das Ausgabesignal der RGB-Wandlereinheit 504)
an der Anfangs- und Endposition der Kante verglichen und die Kante
wird als unecht verwerfen, wenn die maximale Gradientengröße geringer
ist.
-
zeigt die Technik der Verwendung einer Kantenübergangsbreite,
um ein Fokus-Rückkopplungssignal
zu erzeugen. Die Linie 1006 ist das Bildsignal eines relativ
unfokussiertes Bild einer Kante. Die Linie 1008 ist das
Bildsignal eines relativ scharfen Bildes über einer Kante. Die Signalwerte können der
Luminanzwert der des Bildes oder der des Chrominanzkanals sein.
Die horizontale Achse ist die Pixelzahl von links nach rechts. Die
vertikale Achse ist der Signalwert. Das weniger fokussierte Bildsignal 1008 benötigt ungefähr 5 Pixel,
um den Übergang
vom niedrigeren Signalwert auf der linken Seite zum höheren Signalwert
auf der rechten Seite zu vollziehen, beginnend mit Pixel 3 und endend
bei Pixel 7. Das besser fokussierte Bildsignal 1008 benötigt ungefähr 3 Pixel,
um den Übergang
zu vollziehen, von Pixel 4 bis 6. Die Übergangsbreite des weniger fokussierten
Bildsignals 1006 ist 5, also ist sie größer als die Übergangsbreite
des besser fokussierten Bildsignals 1008, die 3 beträgt.
-
illustriert die Verwendung des Gradienten
und Schwellwert eines Anteils des maximalen Gradienten bei benachbarten
Pixels, um die Übergangsbreite
zu berechnen. Hier wird der Gradient über den Sobel-Operator berechnet.
Der Gradient bei Pixel 5 ist beispielsweise ein Signalwert bei Pixel
7 minus dem Signalwert bei 5. Eine andere Gradienten-Berechnungsmethode
kann verwendet werden, wenn diese Werte hervorbringt, die proportional zur
Steilheit der Übergangsgefälle sind.
Linie 1010 repräsentiert
eine Gradientenkurve des weniger fokussierten Bildsignals 1006.
Linie 1012 repräsentiert eine
Gradientenkurve des schärfer
fokussierten Bildsignals 1008. Der Maximalwert des fokussierten
Bildes liegt bei 60; der Maximalwert des weniger fokussierten Bildes
ist mit circa 40 niedriger. Der Gradientenschwellwert wird berechnet
aus einem Drittel (1/3) des Maximalwertes in der Pixelumgebung,
in diesem Fall 60 für 1012 beziehungsweise
30 für 1010,
was für 1012 20
ergibt und für 1010 einen
Wert von 10. Die Gradientenschwellwerte werden als Linie 1014 beziehungsweise 1016 gezeigt.
Für die
Berechnung der Kantenübergangsbreite
für 1008 werden
die zusammenhängenden
Pixel, deren Gradienten 1012 über denn Schwellwert von 1016 liegen,
gezählt,
was 3 ergibt. Genauso ergibt diese Berechnung für 1006 einen Wert
von 5.
-
zeigt Luminanzsignalwerte für Pixel
von zwei benachbarten Kanten und die Mittelwerte für eine erste
Kante 1102 und 1104. zeigt die
Gradientengrößen der
gleichen Pixel. Eine erste Kante beginnt bei Position 2 und endet
bei Position 5. Eine zweite Kante mit einem viel kleineren maximalen
Gradient beginnt bei Position 8 und endet bei Position 9. Die Kantenzurückweisungslevel 1106 und 1108 für die erste
bzw. die zweite Kante sind in den Mittelwerten in zu erkennen. Der maximale Gradient der ersten
Kante tritt bei der Position 4 auf und liegt damit über dem
Schwellenwert der Kantenzurückweisung 1106,
daher wird die erste Kante 1102 nicht verwerfen. Die zweite
Kante hingegen hat einen maximalen Gradienten bei Position 8, der
unter dem Schwellwert der Kantenzurückweisung 1108 liegt, sodass
die zweite Kante 1104 zurückgewiesen wird. Der Schwellwert
für eine
Kantenzurückweisung
kann beispielsweise 5% des Mittelwerts des Luminanzsignals der Kante
betragen. Bei der Berechnung des Schwellwerts der Kantenzurückweisung
kann der Mittelwert des Kantensignals der Mittelwert aller Pixel einer
Kante sein, oder der Mittelwert der Start- und Endpositionen, oder
eine Formel, die den durchschnittlichen Signalwert innerhalb einer
Kante proportional angibt.
-
zeigt
eine Ausführungsform
einer Kantenerkennungseinheit 306, die ein Bild 1202 empfängt. Das
Bild wird an die RGB-Wandlereinheit 1204 weitergegeben,
wo die drei Signale des Bildes, rot, grün und blau in ein einziges
Signal konvertiert werden. Das Signal kann erzeugt werden, indem
das Bild in ein Graustufenbild umgewandelt wird. Diverse Techniken
können
verwendet werden, um ein Bild in ein Grauskalabild umzuwandeln.
RGB-Werte können verwendet
werden, um einen Luminanz- oder Chrominanzwert zu berechnen. Ein
bestimmtes Verhältnis von
RGB-Werten kann ebenfalls verwendet werden, um das Grauskalabild
zu erstellen. Der Luminanzwert kann beispielsweise mit der folgenden
Gleichung berechnet werden: Y = 0.2126·R + 0.7152·G + 0.0722·B, wobei
Y = Luminanzwert
-
Das
Signal des Grauskalabildes wird dann durch die Rauschunterdrückungseinheit 1206 weiterverarbeitet,
wobei eine frühere
Rauschunterdrückung
beim Bild durchgeführt
wird. Die Rauschunterdrückungs-Einheit 1206 kann
ein Tiefpassfilter oder ein Gauss'scher Filter sein. Der Gradient des
verarbeiteten Bildes wird dann mit der Gradientenerzeugungseinheit 1208 berechnet.
Es gibt verschiedene Methoden, um den Gradienten zu berechnen, einschließlich der
Laplace- und der Sobel-Methode. Der berechnete Gradient repräsentiert
die Kanten innerhalb des Bildes und kann verwendet werden, um die Schärfe des
Bildes zu bestimmen. Die Gradientenerzeugungseinheit 1208 liefert
weiterverarbeitete Daten 1210.
-
ist
ein Ablaufdiagramm eines Prozesses, der von den Gradientenerzeugungseinheiten 508 und 1208 durchgeführt werden
kann. In Block 1302 wird der Sobel-Kantenerkennungs-Operator auf
das Bild angewendet. Der Sobel-Operator erkennt eine Änderung
in dem Bild, basierend auf dem Signal, das dem Operator zugeführt wird.
Beispielsweise können,
wie oben beschrieben, die Bildluminanz, die Bildchrominanz oder
einfach ein Verhältnis zwischen
den Rot-, Grün-
und Blauwerten als Signal G dem Sobel-Operator zugeführt werden.
Der Sobel X-Operator an der Pixelposition [k, q] wobei k die Reihennummer
und q die Spaltennummer ist, wird von der Gleichung Sx[k, q] = G[k,
q + 1] – G[k,
q – 1]
vorgegeben. Der Sobel V-Operator an der gleichen Position ist gegeben
durch die Gleichung Sy[k, q] = G[k + 1, q] – G[k – 1, q]. In dieser Ausführungsform
erkennt der Sobel-Operator eine sich abnehmende Änderung in den Signalpegeln
durch Kennzeichnen eines negativen Gradienten und eine anwachsende Änderung
durch die Verwendung eines positiven Gradienten. Abhängig davon,
wie der Sobel-Operator
angewendet wird, können
andere Bezeichnungen verwendet werden, um die Änderungen der Signalniveaus
auszudrücken.
In Block 1204 kann die Differenz in der Polarität verwendet
werden, um die Kanten und ihre entsprechenden Breiten zu bestimmen.
-
Bezug
nehmend auf die empfängt die Breitenmesseinheit 308 Kanten,
die von der Kantenerkennungseinheit 306 erkannt wurden.
In einer Ausführungsform
empfängt
die Breitenmesseinheit 308 die Anfangs- und Endpositionen
von jeder Kante, die beispielsweise in den Schritten 906 und 908 ( )
erstellt werden und durch die Rauschunterdrückungseinheit 514 ( )
gegangen sind. Die Breite der Kante ist die Differenz zwischen der
End- und der Anfangspositionen plus 1.
-
Illustriert
wird dies in , die eine vertikale Kanten-Gradientenabbildung
zeigt. Bei einer Abtastung von links nach rechts und nacheinander von
der obersten bis zur untersten Reihe, und unter Berücksichtigung
der Tatsache, dass alle Pixel, deren Gradienten unter 5 liegt, verwerfen
werden, wobei die Pixel mit einem Gradienten über diesem Wert akzeptiert
werden, hat die erste der Breitenmesseinheit 308 zu meldende
Kante eine Breite von 3, beginnend bei Reihe R1, Spalte C1, endend
in Reihe R1, Spalte C3. Die zweite Kante hat eine Breite von 3,
beginnend in Reihe R2, Spalte C2, endend in Reihe R2, Spalte C4.
Die dritte Kante hat eine Breite von 3, beginnend in Reihe R3, Spalte
C3, endend in Reihe R3, Spalte C5. Die vierte und letzte Kante hat
eine Breite von 3, beginnend in Reihe R4, Spalte C4, endend in Reihe
R4, Spalte C6.
-
Die
horizontale Gradientenabbildung in wird ähnlich abgetastet,
außer
bei der Transponierung, d. h. vertikale Abtastung der Spalten von oben
nach unten und nacheinander von der linken Spalte bis zur rechten
Spalte. Zwei Kanten werden gefunden, eine erste Kante in Spalte
C5 mit einer Breite von 1 und eine zweite Kante in Spalte 6 mit
einer Breite von 2.
-
zeigt
eine Ausführungsform
der Fokussignal-Erzeugereinheit 310.
Die Breiten 1402 aus der Breitenmesseineheit 308 werden
von der Fokussignal-Erzeugereinheit 310 verwendet, um die
Schärfe
des Bildes zu messen. Breiten, die außerhalb der vorbestimmten Schwellwerte
liegen, werden verwerfen, während
die verbleibenden Kanten in der Breitenauswahleinheit 1404 ausgewählt werden.
Eine Fokussignal-Berechnungseinheit 1406 erzeugt ein Fokussignal 1408 basierend
auf den ausgewählten Kantenbreiten.
Alternativ kann die Durchschnittsbreite aller Breiten berechnet
durch die Breitenmesseinheit 308 als das Fokussignal 1408 verwendet
werden.
-
ist
ein Ablaufdiagramm, das den Prozess zeigt, mit dem der Durchschnitt
der Kantenbreite bestimmt wird; Kantenbreiten werden basierend auf
vorbestimmten Schwellwerten in den Blöcken 1502 und 1504 verwerfen.
In den Blöcken 1506 und 1506 kann
das Fokussignal durch Bilden des Mittelwerts der verbleibenden Breiten
oder durch eine Beeinflussung der Daten wie etwa der Platzierung größere Gewichte
an größere Breiten
vor dem Bilden des Mittelwerts berechnet werden.
-
Die und zeigen
typische Breitenverteilungen eines unscharfen Bildes beziehungsweise
eines scharfen Bildes. Die X-Achse zeigt die Breite, während die
Y-Achse die Population der Kanten zeigt. Es wurde beobachtet, dass
unscharfe Bilder größere Breiten
von 4 bis 5 Pixels aufweisen, während
scharfe Bilder Breiten von 2 bis 3 Pixels haben. Die Beziehung zwischen
der Schärfe
eines Bildes und der Kantenbreite ist die Basis des erzeugten Fokussignals.
-
Die
typische Änderung
des Histogramms von einer fokussierten Position wie in in eine unfokussierte Position wie in ist solcherart, dass die höchste Populationsanzahl in
den breiteren Behältern
in der unfokussierten Position geringer ist als die höchste Population
in den schmäleren
Behältern
der fokussierten Position. Das kann wie folgt erklärt werden.
In der fokussierten Position gibt es zahlreiche schmale Kanten.
Diese schmalen Kanten können
an unfokussierten Positionen verschwinden, da ihre Gradienten unter
den vorbestimmten Schwellwert fallen oder sie werden zusammengefasst,
um breitere Ecken zu formen, die dann dafür in geringerer Zahl auftreten.
Statistisch gesehen ist die Anzahl der breiten Kanten umgekehrt
proportional zu den Kantenbreiten. Um diesem Effekt entgegen zu
wirken, sodass die breiteren Kanten-Behälter an einer unfokussierten
Position Zahlen wie die schmäleren
Behälter
an fokussierter Position haben, wird die Population in jedem Behälter mit
einem anderen Gewicht derart multipliziert, dass breitere Behälter größere Gewichte
erhalten. zeigt eine Breitenverteilung
eines unscharfen Bildes vor der Anwendung von Gewichtes, und zeigt eine Breitenverteilung nach der Anwendung
von Gewichtes. In dieser Ausführungsform
ist für
jede Breite das Gewicht, das für
die Population der Kanten angesetzt wird, die Breite selbst. Wenn
es beispielsweise eine Population von 10 Kanten mit Breite 2 gibt,
werden diese 10 Kanten mit 2 multipliziert, um eine neue Population
von 20 zu erhalten.
-
Ein
Vorteil des Autofokus-Steuergeräts
ist, dass das minimale Fokussignal FEV von verschiedenen Bildern
ungefähr
die gleichen Werte hat. Dies stellt sicher, dass das Objektiv in
der gleichen Position bleibt, selbst wenn die Kamera wackelt – das Bild bleibt
scharf. Ein anderen Vorteil ist, dass der Bereich zwischen dem größten und
dem kleinsten Fokussignal für
eine Szene mit verschiedenen fokalen Distanzen groß genug
ist, um sicherzustellen, dass eine optimale Fokussierung erreicht
werden kann.
-
Auch
wenn hier verschiedene beispielhafte Ausführungsformen beschrieben und
gezeigt wurden, sollte klar sein, dass solche Ausführungsformen eher
der Illustration dienen und keine Einschränkung der Erfindung darstellen sollen.
Diese Erfindung ist nicht auf bestimmte Konstruktionen und die Zusammenstellungen
beschränkt,
die hier gezeigt und beschrieben wurden, da Experten mehrere weitere
Variationen erstellen könnten.
-
ZUSAMMENFASSUNG
-
Ein
Autofokus-Bildsystem mit einem Bildsensor gekoppelt an ein Steuergerät. Der Bildsensor
erfasst ein Bild, das mindestens eine Kante mit einer Breite hat.
Das Steuergerät
erzeugt ein Fokussignal, das eine Funktion der Kantenbreite ist.
Eine Linse empfängt
ein Fokussignal und korrigiert den Fokus. Die Kantenbreite kann
mit verschiedenen Techniken bestimmt werden, einschließlich der
Verwendung von Gradienten. Ein Histogramm mit Kantenbreiten kann
verwendet werden, um festzustellen, ob ein bestimmtes Bild fokussiert
oder unfokussiert ist. Ein Histogramm mit einer großen Population
an dünnen Kantenbreiten
ist ein Zeichen für
ein fokussiertes Bild.