-
Ausführungsbeispiele
gemäß der vorliegenden
Erfindung beziehen sich auf das Gebiet einer Bildverarbeitung. Insbesondere
beziehen sich Ausführungsbeispiele
gemäß der vorliegenden
Erfindung auf ein Erfassen einer Bewegung, was ein Zerlegen von
Bildern in mehrere Frequenzbänder
beinhaltet.
-
In
jüngster
Zeit wurden elektronische Vorrichtungen entwickelt, die in der Lage
sind, die Bewegung der elektronischen Vorrichtung durch ein Vergleichen
von Bildern, die durch die elektronische Vorrichtung zu unterschiedlichen
Zeitpunkten abgetastet werden, zu verfolgen. Optische Computermäuse zum
Beispiel vergleichen Bilder einer Oberfläche, über die die Maus bewegt wird,
um eine Bewegung der optischen Maus zu bestimmen.
-
In
einem herkömmlichen
System weist die elektronische Vorrichtung eine kleine lichtemittierende
Diode (LED) auf, die Licht emittiert, die Licht von fast jeder Oberfläche weg
und zurück
zu einem Komplementär-Metalloxid-Halbleiter-(CMOS-) Sensor in der
elektronischen Vorrichtung reflektiert. Dies erzeugt ein zweidimensionales
Bild eines Abschnitts der Oberfläche.
Der CMOS-Sensor digitalisiert das zweidimensionale Bild und sendet
jedes digitalisierte Bild an einen Digitalsignalprozessor (DSP),
der das gegenwärtige
Bild mit einem zuvor erfassten Referenzbild vergleicht, um die Bewegung
der elektronischen Vorrichtung zu bestimmen.
-
Eine
derartige optische Navigation weist viele Vorteile auf, zu denen
das Fehlen sich bewegender Teile zählt, die Schmutz ansammeln
und unter einer mechanischen natürlichen
Gebrauchsabnutzung leiden. Ein weiterer Vorteil einer optischen
Maus besteht darin, dass sie kein Maus-Pad benötigt, da sie im allgemeinen
in der Lage ist, auf beliebigen Oberflächen zu navigieren, solange
dieselben nicht optisch merkmalslos sind. Eine optische Navigation funktioniert
für eine
Vielzahl von Oberflächen
ziemlich gut. Aufgrund der Natur einiger Oberflächen jedoch verfolgt die elektronische
Vorrichtung gut, wenn sie in einigen Richtungen über die Oberfläche bewegt wird,
hat jedoch Schwierigkeiten mit einer Verfolgung, wenn sie in einer
anderen Richtung über
die Oberfläche
bewegt wird.
-
Da
eine optische Navigation auf einem Vergleich von Bildern basiert,
können
es sich wiederholende Merkmale in einer Oberfläche schwierig machen, die Bilder
ordnungsgemäß zu vergleichen.
Einige optische Mäuse
zum Beispiel treffen auf Schwierigkeiten, wenn sie auf einigen gemaserten
Holzoberflächen
arbeiten. Körnige
Oberflächen
können
abhängig
von einer Merkmalsgröße sowie
einer Ausrichtung ebenso Probleme darstellen.
-
So
besteht ein Problem bei herkömmlichen Verfahren
zum Erfassen einer Bewegung unter Verwendung von Bildverarbeitungsverfahren
in der Schwierigkeit, mit einem breiten Spektrum von Bildern zu
arbeiten. Ein weiteres Problem bei herkömmlichen Verfahren zur Erfassung
einer Bewegung unter Verwendung von Bildverarbeitungsverfahren ist die
Schwierigkeit einer Erfassung einer Bewegung in Bezug auf einige
Oberflächen.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Vorrichtung zum
Verarbeiten eines Bilds, ein optisches Navigationssystem oder ein
Verfahren zur Bewegungserfassung mit verbesserten Charakteristika
zu schaffen.
-
Diese
Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein System gemäß Anspruch
12 oder ein Verfahren gemäß Anspruch
19 gelöst.
-
Die
vorliegende Erfindung bezieht sich auf eine Vorrichtung zur Erfassung
einer Bewegung unter Verwendung einer Teilband-Bildverarbeitung.
Ein Ausführungsbeispiel
gemäß der Erfindung
ist eine Vorrichtung, die eine Zerlegungslogik aufweist, die ein
Eingangsbild in zusammengesetzte Bilder zerlegt, die unterschiedliche
Frequenzbänder
des Eingangsbilds aufweisen. Die Vorrichtung weist ebenso eine Speicherung
auf, die mit der Zerlegungslogik gekoppelt ist, um zusammengesetzte
Bilder als Referenzbilder zum Vergleich mit einem späteren Eingangsbild
zu speichern. Die Vorrichtung weist ferner eine Vergleichslogik
zum Vergleichen der zusammengesetzten Bilder mit den Referenzbildern
auf, um vorläufige
Bewegungswerte für
die unterschiedlichen Frequenzbänder
zu erzeugen. Die Vorrichtung weist ebenso eine Logik zur Bestimmung
eines letztendlichen Bewegungswertes aus den vorläufigen Bewegungswerten
auf.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beigefügten
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Flussdiagramm, das ein Verfahren einer Bewegungserfassung durch
ein Zerlegen von Bildern in Frequenzbänder gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
2 ein
Blockdiagramm, das ein System zur Erfassung einer Bewegung durch
ein Zerlegen von Bildern in Frequenzbänder gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
3 ein
Blockdiagramm, das ein System zum Erfassen einer Bewegung durch
ein Zerlegen von Bildern in Frequenzbänder mit einer Filterbank gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
4 ein
Flussdiagramm, das ein Verfahren zum Erfassen einer Bewegung durch
ein Zerlegen von Bildern in Frequenzbänder unter Verwendung einer
diskreten Wavelet-Transformation gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
5A ein
Diagramm, das Frequenzbänder darstellt,
die aus einem Bild durch ein Ausführungsbeispiel gemäß der vorliegenden
Erfindung zerlegt wurden; und
-
5B ein
Diagramm, das ein „x"- und ein „y"-Komponentenfrequenzband
darstellt, das aus einem Bild durch ein Ausführungsbeispiel gemäß der vorliegenden
Erfindung zerlegt wurden.
-
In
der folgenden detaillierten Beschreibung von Ausführungsbeispielen
der vorliegenden Erfindung sind zahlreiche spezifische Details dargelegt, um
ein gründliches
Verständnis
der vorliegenden Erfindung bereitzustellen. Ausführungsbeispiele der vorliegenden
Erfindung können
jedoch ohne diese spezifischen Details oder durch ein Verwenden
alternativer Elemente oder Verfahren praktiziert werden. In anderen
Fällen
werden bekannte Verfahren, Prozeduren, Komponenten und Schaltungen
nicht detailliert beschrieben, um Aspekte der vorliegenden Erfindung
nicht unnötig
zu verschleiern.
-
Ausführungsbeispiele
gemäß der vorliegenden
Erfindung erfassen eine Bewegung einer Vorrichtung, die über eine
Oberfläche
bewegt wird, für die
ein Erfassen von Unterschieden zwischen Merkmal für herkömmliche
Techniken schwierig ist. Ausführungsbeispiele
der vorliegenden Erfindung sind zum Beispiel in der Lage, sich wiederholende
Informationen herauszufiltern, die eine genaue Bestimmung einer
Bewegung einer optischen Maus, die über eine Oberfläche bewegt
wird, stören
könnten, würden die
sich wiederholenden Informationen nicht entfernt werden.
-
1 ist
ein Flussdiagramm, das ein Verfahren 100 eines Erfassens
einer Bewegung durch ein Aufbrechen von Bildern in Frequenzbänder darstellt. Schritte
des Verfahrens 100 können
als Instruktionen auf einem computerlesbaren Medium gespeichert und
auf einem Universalprozessor ausgeführt werden, der mit demselben
durch einen Bus gekoppelt ist. Bei Schritt 110 wird ein
Eingangsbild empfangen. Das Verfahren 100 ist jedoch nicht
so eingeschränkt. Bei
einem Ausführungsbeispiel
gemäß der vorliegenden
Erfindung wird das Eingangsbild von einem CMOS-Sensor durch eine
Digitalsignalverarbeitungskomponente einer optischen Maus empfangen. Die
vorliegende Erfindung ist jedoch nicht so eingeschränkt.
-
Bei
Schritt 120 wird das Eingangsbild in mehrere Frequenzbandbilder
zerlegt. Jedes Frequenzbandbild enthält einen Abschnitt der Frequenzinformationen
des Eingangsbilds für
einen Bereich von Frequenzen. Im Allgemeinen sind die Frequenzbandbilder
jeweils auf einen separaten Bereich von Frequenzen fokussiert. Es
kann jedoch auch zu einer Überlappung
von Frequenzen zwischen zwei oder mehr der Frequenzbandbilder kommen.
Die Natur der Bildzerlegung wandelt z. B. unter Umständen das Eingangsbild
nicht in das ideale Frequenzband um. Ferner schließt die vorliegende
Erfindung nicht aus, absichtlich eine Überlappung bei dem Frequenzband von
zwei oder mehr Frequenzbandbildern aufzuweisen.
-
Die
minimale Anzahl von Frequenzbandbildern beträgt zwei. Das Maximum ist auf
keine Zahl beschränkt.
Die Anzahl von Frequenzbandbildern, in die das Eingangsbild zerlegt
wird, beeinflusst üblicherweise
die Ergebnisse der letztendlichen Bewegungserfassung. Die Ergebnisse
verbessern sich üblicherweise
mit einer größeren Anzahl
von Frequenzbandbildern, zumindest dann, wenn nur einige verwendet
werden. Deshalb kann die Anzahl von Frequenzbandbildern, in die
das Eingangsbild zerlegt wird, ausgewählt werden, um erwünschte Ergebnisse
zu erzielen.
-
Bei
Schritt 125 werden die Frequenzbandbilder zur Verwendung
als Referenzbandbilder bei einer späteren Iteration des Verfahrens 100 gespeichert. Die
Referenzbandbilder werden zum Beispiel bei der Verarbeitung des
nächsten
Eingangsbildes, das bei Schritt 110 empfangen wird, verwendet.
Für jedes
bei Schritt 120 erzeugte Frequenzbandbild gibt es ein entsprechendes
Referenzfrequenzbandbild, das Informationen aus dem Eingangsbild
für das
gleiche Frequenzband enthält.
-
Bei
Schritt 130 werden die in Schritt 120 erzeugten
Frequenzbandbilder mit Referenzfrequenzbandbildern verglichen, die
bei Schritt 125 einer vorherigen Iteration des Verfahrens 100 gespeichert wurden.
Jedes Frequenzbandbild zum Beispiel wird mit dem entsprechenden
Referenzfrequenzbandbild verglichen, das den gleichen Bereich von
Frequenzinformationen aufweist. Der Vergleich kann eine Kreuzkorrelation
sein, wobei die vorliegende Erfindung jedoch nicht so eingeschränkt ist.
-
Obwohl
die Bilder der Frequenz nach getrennt sind, werden die Bilder in
Schritt 130 bei einigen Ausführungsbeispielen der vorliegenden
Erfindung in dem Raumbereich verarbeitet (zum Beispiel durch Kreuzkorrelation).
Die Erfindung ist jedoch nicht auf eine Verarbeitung in dem Raumbereich
eingeschränkt.
Bei einigen Ausführungsbeispielen
gemäß der Erfindung
wird die Verarbeitung in Schritt 130 durch weitere Kreuzkorrelations-
oder Nicht-Kreuzkorrelationsverfahren in dem Frequenzbereich durchgeführt. Bei
anderen Ausführungsbeispielen
gemäß der Erfindung
wird die Verarbeitung in Schritt 130 durch Kreuzkorrelations-
oder Nicht-Kreuzkorrelationsverfahren in dem Raum-Frequenz-Bereich
durchgeführt.
-
Das
Ergebnis des Vergleichs aus Schritt 130 ist ein Satz vorläufiger Bewegungswerte.
Bei einem Ausführungsbeispiel
weist ein Bewegungswert eine Veränderung
in einer „x"- und einer „y"-Koordinate auf.
Es kann einen oder mehrere derar tige Bewegungswerte geben, die für jeden
der Vergleiche erzeugt werden. Die vorliegende Erfindung ist jedoch nicht
darauf eingeschränkt,
dass die Bewegungswerte Veränderungen
des „x"- und des „y"-Koordinatenwerts
sind.
-
Bei
Schritt 140 wird ein letztendlicher Bewegungswert aus den
vorläufigen
Bewegungswerten bestimmt. Die vorläufigen Bewegungswerte können zum
Beispiel mit ausgewählten
Bewegungswerten summiert werden, denen mehr Gewicht als anderen gegeben
wird, die vorliegende Erfindung ist jedoch nicht so eingeschränkt. Dadurch,
dass bestimmte Frequenzen ein größeres Gewicht
gegeben wird, wird ein bestimmter Frequenzbereich mehr oder weniger
hervorgehoben. Es kann zum Beispiel bestimmt werden, dass ein bestimmter
Frequenzbereich Informationen enthalten kann, die beim Bestimmen
einer Bewegung mehr oder weniger nützlich sind.
-
Ferner
werden durch ein geringeres Hervorheben eines bestimmten Frequenzbandes
sich wiederholende Informationen unter Umständen entfernt. Dies erlaubt
es, dass eine Verfolgung auf weniger, auffallenderen Merkmalen basieren
kann. Ferner basiert bei Ausführungsbeispielen
gemäß der vorliegenden
Erfindung die Gewichtung auf der Richtung einer Bewegung oder basiert
auf Oberflächeneigenschaften,
wie zum Beispiel einer Feinheit des Korns. Ein Frequenzband zum
Beispiel, das für
die X-Richtung gut oder schlecht funktioniert, funktioniert für die Y-Richtung
unter Umständen
nicht gut oder schlecht. Dies ist unter Umständen aufgrund eines Faktors, wie
zum Beispiel einer Maserung, so, die üblicherweise in einer bestimmten
Richtung auf einem Tisch läuft,
und kann davon abhängen,
wie nahe die Maserungen auf dem Tisch beabstandet sind, obwohl es auch
weitere Faktoren geben kann. So unterscheidet sich bei einem Ausführungsbeispiel
gemäß der vorliegenden
Erfindung die Gewichtung für
die Veränderungen
der X-Werte von der Gewichtung für
die Veränderungen
der Y-Werte. Bei einem Ausführungsbeispiel
ist das Maß einer
Gewichtung vorbestimmt; die vorliegende Erfindung ist jedoch nicht
so eingeschränkt.
Bei einem wei teren Ausführungsbeispiel wird
die Gewichtung dynamisch während
einer optischen Navigation durch eine statistische Verarbeitung
der vorherigen Bilder bestimmt. Das Verfahren 100 kehrt
dann zu Schritt 110 zurück,
um ein weiteres Eingangsbild zu verarbeiten.
-
2 ist
ein Blockdiagramm, das ein System 200 zum Erfassen einer
Bewegung durch ein Zerlegen eines Bildes in Frequenzbänder gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung darstellt. Das System 200 umfasst
einen Bildsensor 210. Bei einem Ausführungsbeispiel gemäß der vorliegenden
Erfindung ist der Bildsensor 210 ein CMOS-Sensor. Die vorliegende
Erfindung ist jedoch nicht so eingeschränkt.
-
Der
Bildsensor 210 sendet Bilder an die Bildzerlegungslogik 220.
In dieser gesamten Anmeldung kann die Bildzerlegungslogik 220 auch
als Transformationslogik bezeichnet werden. Die Bildzerlegungslogik 220 zerlegt
die Bilder in Frequenzbandbilder. Jedes Frequenzbandbild enthält einen
Abschnitt der Frequenzinformationen des Eingangsbildes für einen Bereich
von Frequenzen. Die Bildzerlegungslogik 220 sendet die
Frequenzbandbilder an die Referenzbildspeicherung 225 zur
Verwendung bei einer Verarbeitung eines späteren Eingangsbildes. Ferner
sendet die Bildzerlegungslogik 220 die Frequenzbandbilder
an die Bildvergleichslogik 230.
-
Die
Bildvergleichslogik 230 führt einen Vergleich der Frequenzbandbilder
aus der Bildzerlegungslogik 220 mit den Referenzbildern
aus dem Referenzbildspeicher 225 durch. Die Ausgabe der
Bildvergleichslogik 230 ist ein Bewegungswert für jeden Vergleich.
Dies führt
zu einem Bewegungswert für
jedes Frequenzband. Es ist ersichtlich, dass ein Bewegungswert zum
Beispiel in Bezug auf eine X-Koordinate und eine Y-Koordinate ausgedrückt sein
kann.
-
Die
Bewegungswertlogik 240 gibt die Bewegungswerte aus der
Bildvergleichslogik 230 ein und berechnet daraus einen letztendlichen
Bewegungswert. Der letztendliche Bewegungswert wird aus der Bewegungswertlogik
ausgegeben.
-
Bei
einem Ausführungsbeispiel
gemäß der Erfindung
ist die Bildzerlegungslogik 220 mit einer Filterbank implementiert.
Ein Ausführungsbeispiel
einer Filterbank wird Bezug nehmend auf 3 detaillierter
erläutert.
Bei einem weiteren Ausführungsbeispiel
gemäß der Erfindung
kann die Bildzerlegungslogik 220 eine diskrete Wavelet-Transformation durchführen. Ein
Ausführungsbeispiel
der vorliegenden Erfindung ist eine redundante diskrete Wavelet-Transformation,
bei der kein Abwärts-Abtasten durchgeführt wird.
Ausführungsbeispiele
der vorliegenden Erfindung sind jedoch für alle Implementierungen der
diskreten Wavelet-Transformation und ihre Varianten gut geeignet.
Ein Ausführungsbeispiel einer
diskreten Wavelet-Transformation wird Bezug nehmend auf 4 detaillierter
erläutert.
-
Die
Vergleichslogik 230 ist bei einem Ausführungsbeispiel in der Lage,
eine Kreuzkorrelation durchzuführen,
wobei die vorliegende Erfindung jedoch nicht so eingeschränkt ist.
Die vorliegende Erfindung ist nicht auf eine Verarbeitung in dem
Raumbereich eingeschränkt.
Bei einigen Ausführungsbeispielen
gemäß der Erfindung
ist die Vergleichslogik 230 in der Lage, weitere Kreuzkorrelations-
oder Nicht-Kreuzkorrelationsverfahren in dem Frequenzbereich durchzuführen.
-
Die
verschiedenen Logiken in 2 können bei einem Ausführungsbeispiel
in einer anwendungsspezifischen integrierten Schaltung implementiert sein.
Bei einem weiteren Ausführungsbeispiel
sind die Bildvergleichslogik 230, die Bildzerlegungslogik 220 und
die Bewegungswertlogik 290 durch einen Prozessor implementiert,
der auf einem computerlesbaren Medium gespeicherte Instruktionen
ausführt.
-
3 ist
ein Flussdiagramm, das ein System 300 zum Erfassen einer
Bewegung durch ein Zerlegen von Bildern in Frequenzbänder gemäß einem Ausführungsbeispiel
der vorliegen den Erfindung darstellt. Bei dem Ausführungsbeispiel
aus 3 wird eine Filterbank 320 verwendet,
um das Eingangsbild zu zerlegen; die vorliegende Erfindung ist jedoch nicht
auf diese Technik zum Zerlegen des Eingangsbilds eingeschränkt. Das
System 300 umfasst einen Bildsensor 210, der ein
Eingangsbild digitalisiert und an die Filterbank 320 sendet.
Bei einem Ausführungsbeispiel
gemäß der vorliegenden
Erfindung ist der Bildsensor 210 ein CMOS-Sensor. Die vorliegende
Erfindung ist jedoch nicht so eingeschränkt.
-
Die
Filterbänke 320 werden
bei diesem Ausführungsbeispiel
verwendet, um das Eingangsbild in Frequenzbandbilder zu zerlegen.
Die Filter können ein
Tiefpassfilter, ein Hochpassfilter und Bandpassfilter umfassen.
Die vorliegende Erfindung ist auf keine bestimmte Kombination von
Filtern eingeschränkt. So
ist es nicht erforderlich, dass ein Tiefpassfilter, ein Bandpassfilter
oder ein Hochpassfilter vorliegt. Dieses Ausführungsbeispiel der vorliegenden
Erfindung filtert das Eingangsbild in zumindest zwei Frequenzbandbilder
(in 3 nicht dargestellt), die unterschiedliche Frequenzinformationen
enthalten. Es gibt keine maximale Anzahl von Frequenzbandbildern. 3 stellt
die Filterbänke 320 dar,
die „n" Frequenzbandbilder
erzeugen.
-
Die
Filterbank 320 sendet ihre Ausgabe an eine Kreuzkorrelationslogik 340a–n. Jedes
der „n" Frequenzbandbilder
wird bei diesem Ausführungsbeispiel
mit seinem entsprechenden Referenzfrequenzbandbild 330a–n durch
ein Durchführen
einer Kreuzkorrelation verglichen. So gibt es „n" Kreuzkorrelationen 340a–n, die
in 3 dargestellt sind. Die Kreuzkorrelation wird
bei Ausführungsbeispielen
gemäß der Erfindung
bezüglich
eines Teilsatzes der Pixel durchgeführt. Eine Rechenzeit wird gespeichert und
der Schaltungsaufbau kann durch ein Durchführen der Kreuzkorrelation in
Bezug auf einen Teilsatz der Pixel in dem Bild weniger komplex sein.
Die Ergebnisse der Kreuzkorrelation sind Bewegungswerte für jeden
Vergleich. Die Bewegungswerte beschreiben die Diffe renz eines physischen
Orts zwischen dem gegenwärtigen
Eingangsbild und dem Referenzbild. So beschreiben die Bewegungswerte
bei einem Ausführungsbeispiel
einer optischen Maus, wie weit eine optische Maus, die die Bilder
erfasst hat, durch einen Benutzer zwischen der Zeit, zu der das Referenzbild
und das gegenwärtige
Bild erfasst wurden, bewegt wurde.
-
Eine
Gewichtungs- oder Mittelungsfunktion 350 erzeugt basierend
auf den vorläufigen
Bewegungswerten einen letztendlichen Bewegungswert. Bei diesem Ausführungsbeispiel
weist der letztendliche Bewegungswert einen Delta-x- und einen Delta-y-Wert
auf. Bei einem Ausführungsbeispiel
werden der Delta-x- und der Delta-y-Wert durch ein Gewichten oder
Mitteln des vorläufigen
Delta-x- und Delta-y-Werts bestimmt. Die vorliegende Erfindung ist
jedoch nicht so eingeschränkt.
-
Wie
oben angemerkt wurde, wird bei einem weiteren Ausführungsbeispiel
gemäß der vorliegenden
Erfindung ein Eingangsbild durch ein rekursives Anwenden einer diskreten
Wavelet-Transformation in Frequenzbandbilder zerlegt. Die diskrete
Wavelet-Transformation ist Fachleuten auf diesem Gebiet bekannt.
Dem folgt eine Quantisierung durch eine Schwellenbildung. Die Quantisierung
durch eine Schwellenbildung ist jedoch kein notwendiges Merkmal
der vorliegenden Erfindung. Dann werden die Frequenzbandbilder mit
Referenzfrequenzbandbildern kreuzkorreliert, um vorläufige Bewegungswerte zu
erzeugen. Die vorläufigen
Bewegungswerte können
gewichtet oder gemittelt werden, um letztendliche Bewegungswerte
zu erzeugen, wobei die vorliegende Erfindung jedoch nicht so eingeschränkt ist.
-
4 ist
ein Flussdiagramm, das ein Verfahren eines Erfassens einer Bewegung
durch ein Zerlegen von Bildern in Frequenzbänder mit einer redundanten
diskreten Wavelet-Transformation
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt. Eine redundant diskrete Wave let-Transformation
ist eine diskrete Wavelet-Transformation, die ohne Abwärts-Abtasten
durchgeführt
wird. Bei Schritt 510 wird ein Eingangsbild empfangen.
Das Bild wurde unter Umständen
durch einen CMOS-Sensor erfasst, wobei die vorliegende Erfindung
jedoch nicht so eingeschränkt
ist.
-
Schritt 515 ist
der Anfang einer Schleife zum Durchführen einer diskreten Wavelet-Transformation für eine vorbestimmte
Anzahl von Malen. Die Schleife wird verlassen, nachdem die diskrete
Wavelet-Transformation die vorbestimmte Anzahl von Malen durchgeführt wurde.
Die diskrete Wavelet-Transformation kann abhängig von dem verwendeten Typ
von „Wavelet" mit vielen unterschiedlichen
Sätzen
von Filterkoeffizienten durchgeführt
werden. Der Typ verwendeten Wavelets bestimmt, wie die Frequenzbänder aus
dem Bild extrahiert werden. Ausführungsbeispiele
der vorliegenden Erfindung sind für alle Sätze von Filterkoeffizienten
gut geeignet. Ferner sind Ausführungsbeispiele
der vorliegenden Erfindung für
alle Verfahren oder Algorithmen eines Implementierens der diskreten
Wavelet-Transformation gut geeignet.
-
Bei
Schritt 520 wird eine diskrete Wavelet-Transformation in
Bezug auf das Eingangsbild oder ein Bild durchgeführt, das
zuvor durch eine diskrete Wavelet-Transformation verarbeitet wurde,
abhängig
davon, welche Iteration der Schleife gerade durchgeführt wird.
Jede zusätzliche
diskrete Wavelet-Transformation zerlegt unterschiedliche Frequenzinformationen
aus dem Eingangsbild. Jedes Mal, wenn die diskrete Wavelet-Transformation durchgeführt wird,
können
jedoch die gleichen Filterkoeffizienten verwendet werden. Dies vereinfacht das
Verfahren gegenüber
Techniken, die unterschiedliche Sätze von Filterkoeffizienten
zur Extrahierung unterschiedlicher Frequenzinformationen verwenden,
stark. Eine pipelinemäßige Verarbeitung wird
zum Beispiel stark vereinfacht und ein Schaltungsaufbau zum Ausführen des
Verfahrens ist einfacher.
-
Bei
Schritt 525 werden die Ergebnisse der diskreten Wavelet-Transformation
aus Schritt 520 zur Verwendung als ein zukünftiges
Referenzbild gespeichert. Das Referenzbild wird zum Beispiel verwendet,
wenn das nächste
bei Schritt 510 empfangene Eingangsbild verarbeitet wird.
-
Bei
Schritt 530 wird eine Kreuzkorrelation zwischen der Ausgabe
der gegenwärtigen
diskreten Wavelet-Transformation und einem zuvor gespeicherten Referenzbild
aus einem vorherigen Eingangsbild durchgeführt.
-
Bei
Schritt 535 wird das Ergebnis der Kreuzkorrelation analysiert.
Schritt 540 ist ein Test zur Bestimmung, ob das Ergebnis
der gegenwärtigen Kreuzkorrelation
eine Bewegung anzeigt. Falls dies nicht der Fall ist, kehrt das
Verfahren 500 zu Schritt 515 zurück, um eine
weitere diskrete Wavelet-Transformation durchzuführen. Wenn eine Bewegung durch
die Ergebnisse der Kreuzkorrelation angezeigt wird, fährt das
Verfahren 500 mit Schritt 545 fort.
-
Schritt 545 ist
ein Test zur Bestimmung, ob das Ergebnis aus Schritt 535 eine
wesentliche Abweichung von dem Ergebnis aus Schritt 535 für die vorherige
Iteration der Schleife anzeigt. Das Kreuzkorrelationsergebnis der
dritten diskreten Wavelet-Transformation mit ihrem Referenzbild
wird zum Beispiel mit dem Kreuzkorrelationsergebnis der zweiten
diskreten Wavelet-Transformation mit ihrem Referenzbild verglichen.
Wenn das gegenwärtige Kreuzkorrelationsergebnis
nicht wesentlich von dem vorherigen Kreuzkorrelationsergebnis abweicht, kehrt
das Verfahren 500 zurück
zu Schritt 515. Wenn keine wesentliche Abweichung vorliegt,
besteht kein Bedarf, die Bewegungswerte zu aktualisieren. Der Ausdruck „wesentliche
Abweichung" in diesem
Kontext ist dahingehend flexibel gemeint, dass das, was als wesentlich
erachtet wird, für
die bestimmte Anwendung, in der das Verfahren 500 praktiziert
wird, bestimmt werden kann. Wenn in der Kreuzkorrelation eine wesentliche
Abweichung vorliegt, fährt
das Verfahren 500 mit Schritt 550 fort, um die
Bewegungswerte zu aktualisieren.
-
Ein
Bestimmen, ob in den Ergebnissen eine wesentliche Abweichung vorliegt,
ermöglicht
die Entfernung sich wiederholender Merkmale. Wenn sich zum Beispiel
das dritte Kreuzkorrelationsergebnis wesentlich von dem zweiten
Kreuzkorrelationsergebnis unterscheidet, kann dies anzeigen, dass
das zweite Kreuzkorrelationsergebnis durch sich wiederholende Informationen
beeinflusst wurde. Die zweite Kreuzkorrelation wurde unter Umständen aufgrund des
Frequenzinhalts ihrer Eingangsbilder angesichts der Natur der Oberfläche, für die die
Bilder erfasst wurden, und der Geschwindigkeit und der Richtung einer
Bewegung beeinflusst. Deshalb werden die Ergebnisse von der zweiten
Kreuzkorrelation nicht berücksichtigt.
Wenn das Ergebnis der dritten diskreten Wavelet-Transformation sich wesentlich von dem
Ergebnis der zweiten diskreten Wavelet-Transformation unterscheidet,
werden die Ergebnisse der dritten diskreten Wavelet-Transformation
in Schritt 550 als die korrekten Bewegungswerte gespeichert.
Bei einem Ausführungsbeispiel
wird ein Register, das Bewegungswerte enthält, durch ein Überschreiben
vorheriger Bewegungswerte aktualisiert.
-
Nach
einer Aktualisierung der Bewegungswerte in Schritt 550 kehrt
das Verfahren zurück
zu Schritt 515. Wenn die diskrete Wavelet-Transformation
wieder durchgeführt
werden soll, fährt
das Verfahren mit Schritt 520 fort. Andernfalls geht das
Verfahren 500 zu Schritt 555, bei dem die Bewegungswerte für dieses
Eingangsbild ausgegeben werden. Dann geht das Verfahren 500 zu
Schritt 505, bei dem ein neues Eingangsbild empfangen wird.
Das Verfahren 500 analysiert dann dieses Eingangsbild,
wobei die Referenzbilder, die aus einer Analysierung des vorherigen
Eingangsbildes gespeichert wurden, als die Referenzbilder dienen.
-
5A stellt
eine exemplarische Sequenz diskreter Wavelet-Transformationen und
die daraus erzeugten Frequenzband bilder dar. Es ist zu erkennen,
dass das Beispiel aus 5A exemplarisch ist, und dass
viele andere Sequenzen diskreter Wavelet-Transformationen innerhalb
des Schutzbereichs der vorliegenden Erfindung liegen. Jede diskrete Wavelet-Transformation
erzeugt zwei oder mehr Frequenzbandbilder. Bei diesem Ausführungsbeispiel erzeugt
jede diskrete Wavelet-Transformation zwei Frequenzbandbilder. Bei
diesem Ausführungsbeispiel
der vorliegenden Erfindung wird eines der beiden Frequenzbandbilder
durch eine zusätzliche
diskrete Wavelet-Transformation weiter verarbeitet. Jede nachfolgende
Anwendung der diskreten Wavelet-Transformation extrahiert ein unterschiedliches Band
von Frequenzinformationen.
-
Die
erste Anwendung der diskreten Wavelet-Transformation 620a auf
das Eingangsbild 605 erzeugt ein Tiefpass- und ein Hochpassfrequenzbandbild 625a und 625b.
Bei diesem Ausführungsbeispiel wird
das Tiefpassfrequenzbandbild 625a durch die zweite diskrete
Wavelet-Transformation 620b weiter verarbeitet, was ein
weiteres Tiefpassfrequenzbandbild 625a und ein Bandpassfrequenzbandbild 625d erzeugt.
Das Tiefpassfrequenzbandbild 625c und das Bandpassfrequenzbandbild 625d weisen
Frequenzbänder
innerhalb des Tiefpassfrequenzbandbildes 625a auf. Bei
diesem Beispiel wird das Bandpassfrequenzbandbild 625d durch
die dritte diskrete Wavelet-Transformation 620c weiter
verarbeitet, um weitere Bandpassfrequenzbandbilder 625e und 625f zu
erzeugen. Dieses Verfahren kann weiter fortfahren, um weitere Frequenzinformationen
aus dem Eingangsbild zu extrahieren. Ferner kann das Frequenzbandbild,
das durch die nächste
diskrete Wavelet-Transformation verarbeitet wird, zugeschnitten werden,
um die Frequenzinformationen von Interesse zu extrahieren. Anstatt
dessen oder zusätzlich dazu
zum Beispiel, dass die zweite diskrete Wavelet-Transformation 620b das
Tiefpassfrequenzbandbild 625a eingibt, kann das Hochpassfrequenzbandbild 625b verarbeitet
werden.
-
Es
ist nicht unwahrscheinlich, dass die gerade abgetastete Oberfläche in der „x"- und der „y"-Richtung unterschiedliche
Merkmale aufweist. Ein gemaserter Holztisch zum Beispiel kann eine
Maserung aufweisen, die in der „x"-Richtung läuft. Es gibt jedoch viele weitere
Möglichkeiten,
um Variationen bei den Merkmalen basierend auf einer Ausrichtung
zu erzeugen. Durch ein Erzeugen von Bildern, bei denen die „x"- und die „y"-Komponente unterschiedliche
Frequenzbänder
aufweisen können,
sind Ausführungsbeispiele
der vorliegenden Erfindung in der Lage, Informationen selektiv zu
filtern, die sich in einem ersten Intervall entlang einer der Achsen
wiederholen, sowie sich wiederholende Informationen, die sich bei
einem unterschiedlichen Intervall entlang der anderen Achse wiederholen. 5B stellt
eine exemplarische Sequenz diskreter Wavelet-Transformationen und „x"- und „y"-Komponente-Frequenzbandbilder, die
aus denselben erzeugt werden, dar. Es ist zu erkennen, dass das
Beispiel aus 5B exemplarisch ist, und dass
viele andere Sequenzen diskreter Wavelet-Transformationen innerhalb
des Schutzbereichs der vorliegenden Erfindung sind. Jede diskrete
Wavelet-Transformation erzeugt bei diesem Ausführungsbeispiel vier Frequenzbandbilder.
Bei diesem Ausführungsbeispiel
der vorliegenden Erfindung werden die vier Frequenzbandbilder durch
vier zusätzliche
diskrete Wavelet-Transformationen
weiter verarbeitet. Jede aufeinander folgende Anwendung der diskreten
Wavelet-Transformation extrahiert bei diesem Ausführungsbeispiel
ein unterschiedliches Frequenzband von „x"- und „y"-Komponente-Frequenzbandinformationen.
-
Die
erste Anwendung der diskreten Wavelet-Transformation 620e auf
das Eingangsbild 605 erzeugt ein Bild „a" 610, ein Bild „b" 615, ein
Bild „c" 620 und
ein Bild „d" 625. Das
Bild „a" 610 weist
ein „x"-Komponente-Tiefpassfrequenzband
(-lpfb) und ein „y"-Komponente-Tiefpassfrequenzband
auf. Das Bild „b" 615 weist
ein „x"-Komponente-Tiefpassfrequenzband
und ein „y"-Komponente-Hochpassfrequenzband
(-lpfb) auf. Das Bild „c" 620 weist
ein „x"-Komponente-Hochpassfre quenzband
und ein „y"-Komponente-Tiefpassfrequenzband
auf. Das Bild „d" 625 weist
ein „x"-Komponente-Hochpassfrequenzband
und ein „y"-Komponente-Hochpassfrequenzband
auf. So weisen die vier Bilder (610, 615, 620, 625),
die durch die erste diskrete Wavelet-Transformation 620e erzeugt
werden, „x"- und „y"-Komponenten mit
unterschiedlichen Frequenzbändern
auf.
-
Bei
diesem Ausführungsbeispiel
wird jedes der vier Bilder 610, 615, 620 und 625 durch
eine jeweilige zusätzliche
diskrete Wavelet-Transformation 620f–620i verarbeitet.
Jede dieser zusätzlichen
diskreten Wavelet-Transformationen erzeugt vier Bilder. So gibt
es insgesamt sechzehn Bilder 630–645 auf dieser Ebene. Es ist
ersichtlich, dass die Ausdrücke „Tiefpass"-Frequenzband und „Hochpass"-Frequenzband in
den Elementen 630–645 relativ
zu den Eingangsbildern 610–625 sind. So gibt
die diskrete Wavelet-Transformation 620f das Bild „a" 610 ein
und erzeugt ein Bild „a"_1" 630, das
ein „x"- und ein „y"-Komponente-Tiefpassfrequenzband
aufweist. Diese Tiefpassbänder
sind relativ zu dem Tiefpassfrequenzband des Bilds „a" 610. Als
eine weitere Darstellung weist ein Bild „a_2" 631 ein „y"-Komponente-Hochpassfrequenzband auf.
Es ist zu erkennen, dass dieses Hochpass-Frequenzband relativ zu
dem Tiefpass-Frequenzband des Bildes „a" 610 ist. So extrahiert das
in 5B dargestellte Verfahren Informationen, für die die „x"- und die „y"-Komponente in einem
bestimmten Bild unterschiedliche Frequenzbänder voneinander aufweisen
können.
So kann die „x"- und die „y"-Richtung auf eine
derartige Weise verarbeitet werden, um Fälle zu handhaben, bei denen
Merkmale sich nicht in dem gleichen Intervall entlang der „x"-Achse wiederholen,
wie sie dies entlang der „y"-Achse tun. Das Verfahren
in 5B kann fortfahren, um weitere Frequenzinformationen aus
dem Eingangsbild zu extrahieren.
-
Es
ist nicht erforderlich, dass alle Bilder, die durch die DWTs erzeugt
werden, verwendet werden. Die Bilder 610, 634 und 639 könnten zum
Beispiel für eine
weitere Verarbeitung ausgewählt
sein, während andere
Bilder verworfen werden. Deshalb kann ein Teilsatz von Bildern aus
den Bildern 610-625 von
der anfänglichen
DWT 620e gemeinsam mit oder unabhängig von einem Teilsatz von
Bildern 630 bis 645 von der nächsten Ebene einer DWT-Verarbeitung 620f–i zur Arbeit
ausgewählt
werden. Um bei der Berechnung zu sparen, müssen, wenn ein Bildteilsatz von 610–625 ausgewählt wird,
die entsprechenden DWTs nicht durchgeführt werden (zum Beispiel DWT der
Gruppe 620f–620i).
Beim Auswählen
der Bilder 610, 634 und 639 zum Beispiel
müssen
nur die DWTs 620e, 620g und 620h durchgeführt werden.
Die DWT 620f wird nicht benötigt, da die durch dieselbe
zerlegten Frequenzinformationen bereits in dem Bild 610 vorhanden
sind. Die DWT 620i wird nicht benötigt, da die zerlegten Bildbänder, die
aus derselben resultieren, bei diesem Beispiel nicht verwendet werden.
-
Ausführungsbeispiele
der vorliegenden Erfindung können
als Instruktionen auf einem computerlesbaren Medium gespeichert
und auf einem Universalprozessor, der durch einen Bus mit demselben gekoppelt
ist, ausgeführt
werden. Die vorliegende Erfindung ist jedoch nicht auf eine Softwareimplementierung
eingeschränkt.
Ausführungsbeispiele
der vorliegenden Erfindung können
als eine anwendungsspezifische integrierte Schaltung implementiert
sein. Einige Ausführungsbeispiele
der vorliegenden Erfindung können
durch eine Kombination aus Hardware und Software implementiert sein.
-
Während die
vorliegende Erfindung in bestimmten Ausführungsbeispielen beschrieben
wurde, sollte ersichtlich sein, dass die vorliegende Erfindung nicht
als durch derartige Ausführungsbeispiele
eingeschränkt
aufgefasst werden sollte, sondern vielmehr gemäß den folgenden Ansprüchen aufgefasst
werden sollte.