-
ALLGEMEINER STAND DER TECHNIK
-
Benutzerschnittstellen sind für einen Benutzer praktisch, der durch Manipulation von Bildschirminhalt auf Informationen zugreift. Ein Benutzer kann beispielsweise eine Maus oder ein Tastfeld einsetzen, um Bildschirminhalt, der an der Benutzerschnittstelle angezeigt wird, zu aktivieren. Dabei kann der Benutzer beliebige Daten manipulieren, die mit dem Bildschirminhalt verknüpft sind. Ein Benutzer kann auch mit der Benutzerschnittstelle über eine Berührungsbildschirmvorrichtung interagieren, um ähnliche Aufgaben zu erfüllen. Ein Benutzer, der diese Vorrichtungen einsetzt, kann jedoch Schwierigkeiten bei ihrer Bedienung haben. Beispielsweise kann ein Benutzer, der Bildschirminhalt mit den Fingern manipuliert, eine Maskierung oder Verdeckung diverser Objekte auf dem Bildschirm erfahren, während er den Bildschirm berührt. Zusätzlich ist es schwierig, kleine Objekte auf dem Bildschirm auszuwählen, insbesondere falls die Finger des Benutzers relativ größer sind als die Finger eines durchschnittlichen Benutzers, für den die Benutzerschnittstellenvorrichtung gestaltet wurde. Ferner gibt es auf Grund der binären Funktion entweder des Berührens oder des Nicht-Berührens des manipulierten Objekts ein Limit dafür, was ein Benutzer mit einem Bildschirmobjekt machen kann.
-
In dem Maße wie die Benutzerschnittstellen auch immer unterschiedlicher und einzigartiger werden, wird es immer schwieriger, Daten dazwischen zu manipulieren und zu übertragen. Auf Grund der Vielfalt und Einzigartigkeit der diversen Arten von Benutzerschnittstellen bleibt einem Benutzer tatsächlich nicht anderes übrig, als mehrere Arten von Bedienelementen für jede Benutzerschnittstelle zu verwenden oder einzusetzen. Zusätzlich kann es sein, dass den Benutzerschnittstellen die Unterstützung fehlt, die verwendet wird, um Daten zwischen diesen zu manipulieren.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die beiliegenden Zeichnungen bilden diverse Beispiele der hier beschriebenen Grundlagen ab und sind Teil der Beschreibung. Die Beispiele schränken den Umfang der Ansprüche nicht ein. Es zeigen:
-
1 ein Diagramm eines Benutzerschnittstellensystems gemäß einem Beispiel der hier beschriebenen Grundlagen.
-
2 ein Blockdiagramm einer Benutzerschnittstellenvorrichtung gemäß einem Beispiel der hier beschriebenen Grundlagen.
-
3 ein Ablaufschema, das ein Verfahren zum Manipulieren von Bildschirminhalt der Benutzerschnittstellenvorrichtung gemäß einem Beispiel der hier beschriebenen Grundlagen abbildet.
-
In allen Zeichnungen bezeichnen die gleichen Referenzzahlen ähnliche aber nicht unbedingt identische Elemente.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Das vorliegende System, Produkt und Verfahren offenbaren eine Benutzerschnittstelle, die eine Kamera einsetzt, um die Position des Auges und der Finger eines Benutzers mit Bezug auf die Benutzerschnittstelle zu verfolgen. Es kann einem Benutzer erlaubt werden, einen Cursor über einen beliebigen Bildschirm zu bewegen, indem er beispielsweise seinen Zeigefinger und Daumen in einer offenen Griffkonfiguration in einem gewissen Abstand vom Bildschirm der Benutzerschnittstelle hält. Die Position des Cursors am Bildschirm wird durch eine Linie oder einen Vektor bestimmt, die bzw. der durch die beiden räumlichen Punkte erstellt wird, die durch das Auge und die Finger des Benutzers definiert werden. Daher kann die Kamera den Punkt im Raum bestimmen, in dem sich das Auge des Benutzers befindet; den Punkt im Raum bestimmen, in dem sich der oder die Finger des Benutzers befindet bzw. befinden, und eine Linie oder einen Vektor bestimmen oder berechnen, die bzw. der durch diese beiden Punkte erstellt wird, um zu bestimmen, mit welcher Position am Bildschirm der Benutzerschnittstelle der Benutzer zu interagieren versucht.
-
Wie zuvor kurz besprochen, weist die Verwendung von Berührungsbildschirmsystemen eine gewisse Anzahl von Nachteilen auf. Insbesondere Handgeräte, wie etwa Tablets und Smartphones, erlauben es den Benutzern, direkt mit einer zweidimensionalen Benutzerschnittstelle zu interagieren, welche diverse Bildschirminhalte abbildet. Ein Finger und manchmal ein Griffel kann verwendet werden, um diesen Bildschirminhalt zu manipulieren. Wenn er jedoch direkt mit der Oberfläche des Bildschirms an der Benutzerschnittstelle interagiert, kann es sein, dass der Benutzer andere Bildschirminhalte oder manipulierbare Objekte am Bildschirm verdeckt oder maskiert. Dies wirkt sich unmittelbar auf die Fähigkeit des Benutzers aus, mit dem Bildschirminhalt mühelos zu interagieren.
-
Zusätzlich kann es für einen Benutzer schwierig sein, Objekte am Bildschirm einer Benutzerschnittstelle genau auszuwählen oder zu manipulieren. Dieses Problem kann auftreten, wenn die Bildschirmgröße relativ klein ist, die Objekte am Bildschirm relativ klein sind, wenn die Finger des Benutzers relativ groß sind, oder bei Kombinationen davon. Wenn dies vorkommt, kann es sein, dass die Benutzerschnittstelle nicht in der Lage ist zu unterscheiden, welche der gegebenenfalls vorhandenen Objekte am Bildschirm zu manipulieren sind.
-
Ferner ist eine Benutzerschnittstelle eines Berührungsbildschirms binär, was die Ausdrucksmöglichkeiten der Interaktion des Benutzers einschränken kann. Insbesondere kann ein Objekt auf einem Berührungsbildschirm nicht manipuliert werden, es sei denn dass und bis der Benutzer den Bildschirm tatsächlich berührt. Daher kann der Bildschirm nur ein ausgewähltes oder nicht ausgewähltes Bildschirmobjekt erfassen. Dies schränkt die Fähigkeit des Benutzers weiter ein, einen Schwebezustand oder einen provisorischen Auswahlzustand des Bildschirminhalts einzuleiten. Der Wunsch, die Fähigkeit zu haben, Bildschirminhalt auf einem Berührungsbildschirm provisorisch auszuwählen, hat zu unpraktischen zeitweiligen Betriebsarten geführt, die verwendet werden, um zu bestimmen, ob ein ausgewähltes Objekt an einer Benutzerschnittstelle lange genug ausgewählt wurde, um als provisorisch ausgewähltes Objekt zu zählen oder nicht.
-
Ferner kann sich die Verwendung eines Berührungsbildschirms als unerwünscht erweisen, insbesondere falls der Berührungsbildschirm in einer öffentlichen Umgebung verwendet werden soll. Die Verwendung einer einzigen Vorrichtung durch mehrere Personen kann zur Verbreitung von Bakterien und Viren führen. Demnach kann dies Benutzer davon abhalten, den Berührungsbildschirm zu berühren, was zu einer Verringerung der Verwendung der Dienste führt, die durch den Berührungsbildschirm bereitgestellt werden.
-
Benutzerschnittstellen gibt es auch in diversen Formen, von denen einige eventuell nicht vollständig miteinander kompatibel sind. Die Verwendung von zahlreichen unterschiedlichen Arten von Benutzerschnittstellen kann dazu führen, dass der Benutzer ein anderes Interaktionsverfahren mit jeder Benutzerschnittstelle einsetzt. Beispielsweise kann es sein, dass ein Benutzer bei einer Vorrichtung eine Reihe von Druckknöpfen betätigen muss, bei einer anderen Vorrichtung eine Fernbedienung verwenden muss, bei noch einer anderen einen Bildschirm berühren muss und für eine andere Vorrichtung eine externe Hardware-Vorrichtung verwenden muss, wie etwa eine Maus. Dies kann beim Verwenden dieser unterschiedlichen Arten von Eingabeverfahren zu Verwirrung und Unzufriedenheit seitens des Benutzers führen. Zusätzlich kann es sein, dass es keine Interaktionsunterstützung gibt, die es den Benutzern erlaubt, Daten zwischen den diversen Anzeigen zu manipulieren. Beispielsweise kann ein Benutzer, der sich ein Bild auf einer mobilen Vorrichtung ansieht, wünschen, die Daten, die mit diesem Bild verknüpft sind, auf eine andere Vorrichtung zu verschieben, um das Bild auf der anderen Vorrichtung zu visualisieren. Folglich wird die erste Vorrichtung kommunikationsmäßig mit der anderen Vorrichtung gekoppelt und die Daten werden auf die andere Vorrichtung übertragen. Die Übertragung dieser Informationen erfolgt gewöhnlich über ein physisches Kabel zwischen den beiden Vorrichtungen oder über eine Funkverbindung.
-
In der nachstehenden Beschreibung werden zum Zweck der Erklärung zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der vorliegenden Systeme und Verfahren bereitzustellen. Für den Fachmann auf diesem Gebiet ist es jedoch ersichtlich, dass die vorliegenden Geräte, Systeme und Verfahren ohne diese spezifischen Einzelheiten in die Praxis umgesetzt werden können. Die Bezugnahme in der Beschreibung auf „ein Beispiel” oder ein ähnlicher Wortlaut gibt an, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Charakteristik, das bzw. die in Zusammenhang mit diesem Beispiel beschrieben wird, wie beschrieben enthalten ist, jedoch in anderen Beispielen nicht enthalten sein kann.
-
In der vorliegenden Beschreibung und in den beiliegenden Ansprüchen versteht sich der Begriff „Benutzerschnittstelle” im weitesten Sinne als eine beliebige Hardware oder eine Kombination aus Hardware und Software, die es einem Benutzer ermöglicht, mit einem System, einem Programm oder einer Vorrichtung zu interagieren. Bei einem Beispiel der vorliegenden Beschreibung kann die Benutzerschnittstelle einen Bildschirm umfassen. Bei einem anderen Beispiel kann die Benutzerschnittstelle einen Bildschirm und eine Kamera umfassen. Bei noch einem anderen Beispiel kann die Benutzerschnittstelle einen Bildschirm und eine Kamera umfassen, in die eine mobile Vorrichtung integriert sind, wie etwa unter anderem in einen Tablet-Computer, ein Smartphone, einen persönlichen digitalen Assistenten (PDA), einen Laptop-Computer oder einen Bürocomputer, einen Fernseher und einen Drucker.
-
Zusätzlich versteht sich in der vorliegenden Beschreibung und in den beiliegenden Ansprüchen der Begriff „Benutzerschnittstellenvorrichtung” im weitesten Sinne als eine beliebige Vorrichtung, die es einem Benutzer ermöglicht, mit einem System, einem Programm oder einer Vorrichtung über eine beliebige Hardware oder eine Kombination aus Hardware und Software zu interagieren. Bei einem Beispiel kann eine Benutzerschnittstellenvorrichtung eine mobile Vorrichtung umfassen, wie etwa unter anderem einen Tablet-Computer, ein Smartphone, einen persönlichen digitalen Assistenten (PDA), einen Laptop-Computer oder einen Bürocomputer, einen Fernseher und einen Drucker.
-
Ferner versteht sich in der vorliegenden Beschreibung und in den beiliegenden Ansprüchen der Begriff „Bildschirminhalt” im weitesten Sinne als beliebige Daten oder Symbole, die Daten darstellen, die auf einem zweidimensionalen Bildschirm angezeigt werden, der zu einer mobilen Vorrichtung gehört, wie etwa unter anderem zu einem Tablet-Computer, einem Smartphone, einem persönlichen digitalen Assistenten (PDA), einem Laptop-Computer oder einem Bürocomputer, einem Fernseher und einem Drucker.
-
1 ist ein Diagramm eines Benutzerschnittstellensystems (100) gemäß einem Beispiel der hier beschriebenen Grundlagen. Das System (100) kann eine Benutzerschnittstellenvorrichtung (105) und eine Kamera (110) umfassen. Wie zuvor kurz beschrieben, ermittelt das Benutzerschnittstellensystem (100) die räumliche Position des Auges (120) und der Finger (125) eines Benutzers (115). Das System (100) kann dann die X-, Y- und Z-Koordinaten oder die räumliche Position sowohl der Gesichtszüge oder des Auges (120) als auch der Finger (125) des Benutzers bestimmen. Das System kann auch unter Verwendung dieser Informationen berechnen, wohin der Benutzer (115) am Bildschirm (130) der Benutzerschnittstellenvorrichtung (105) blickt.
-
Wie zuvor beschrieben, kann die Benutzerschnittstellenvorrichtung (105) unter anderem ein Tablet-Computer, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein Laptop-Computer, ein Bürocomputer, ein Fernseher und ein Drucker sein. Wie es nachstehend beschrieben wird, kann die Benutzerschnittstellenvorrichtung (105) Hardware oder eine Kombination aus Hardware und Software enthalten, die mindestens die Funktion des Bestimmens der räumlichen Position des Auges (120) und der Finger (125) eines Benutzers (115) und des Bestimmens der Position am Bildschirm (130) der Benutzerschnittstellenvorrichtung (105) durch Berechnen einer Linie oder eines Vektors (135) unter Verwendung der beiden räumlichen Positionen erfüllt.
-
Die Kamera (110) kann eine beliebige Art von Kamera sein, die eine gewisse Anzahl von aufeinanderfolgenden Einzelbildern innerhalb eines gewissen Zeitraums aufnimmt. Bei einem Beispiel kann die Kamera eine Bildrate von bis zu 30 Einzelbildern pro Sekunde aufweisen. Bei einem anderen Beispiel kann die Bildrate mehr als 30 Einzelbilder pro Sekunde betragen. Bei einem anderen Beispiel kann es einem Benutzer (115) erlaubt sein, die Bildrate der Kamera (110) anzupassen. Dies kann derart erfolgen, dass die Kamera (110) die räumliche Position der Gesichtszüge oder des Auges (120) und der Finger (125) des Benutzer (115) ausreichend bestimmen kann und dabei noch die Verarbeitungszeit der Bilder erhöhen oder verringern kann, wenn sie erzeugt und analysiert werden.
-
Die Kamera (110) kann ferner den Abstand eines Objekts mit Bezug auf den Bildschirm (130) der Benutzerschnittstellenvorrichtung (105) bestimmen. Bei einem Beispiel kann die Kamera eine Entfernungsbildkamera sein, die den Abstand von Objekten zur Kamera (110) bestimmt. Die Bilder, die von der Kamera (110) aufgenommen werden, können dann verarbeitet werden, um die räumliche Position des Auges (120) und der Finger (125) des Benutzers (115) zu bestimmen. Zusätzlich kann ein Prozessor mit der Kamera (110) verwendet werden, um die Gesichtszüge eines menschlichen Gesichts sowie die Finger (125) des Benutzers (115) zu erkennen. Die Kamera (110) kann ferner Bilder vom Gesicht des Benutzers (115) mit einer ausreichenden Auflösung aufnehmen, um die Position des Gesichts, der Augenhöhle, des Augapfels, der Pupille des Benutzers (115) oder Kombinationen davon zu bestimmen. Die Auflösung der Bilder kann erhöht werden, um genauer zu bestimmen, wohin der Benutzer (115) am Bildschirm blickt.
-
Bei einem Beispiel kann der Prozessor ferner verwendet werden, um das dominante Auge (120) des Benutzers zu verfolgen und das andere Auge zu vernachlässigen. Bei diesem Beispiel kann der Benutzer sein dominantes Auge (120) identifizieren, indem er die Informationen in die Benutzerschnittstellenvorrichtung (105) eingibt.
-
Bei einem Beispiel ist die Kamera ist eine dreidimensionale Bildgebungskamera, die eine gewisse Anzahl von Linsen verwendet, die jeweils ein Bild auf einmal aufnehmen, und dieses Bild kombiniert, um ein dreidimensionales Bild zu formen. Aus dem dreidimensionalen Bild kann das System (100) in der Lage sein, die räumliche Position des Auges (120) und der Finger (125) des Benutzers (115) zu bestimmen und die Position am Bildschirm (130) zu berechnen, auf die der Benutzer (115) blickt. Wie zuvor besprochen, kann das System (100) mit einer Bildrate von beispielsweise ungefähr 30 Einzelbilder pro Sekunde bestimmen, ob der Benutzer (115) den Abstand zwischen seinen Fingern (135) anpasst, wobei ein gewisser Abstand dadurch bestimmt, ob der Benutzer Bildschirminhalt am Bildschirm (130) der Benutzerschnittstellenvorrichtung (105) auswählt.
-
2 ist ein Blockdiagramm einer Benutzerschnittstellenvorrichtung (105) gemäß einem Beispiel der hier beschriebenen Grundlagen. Die Benutzerschnittstellenvorrichtung (105) kann Hardware oder Hardware und Software umfassen, die es einem Benutzer (1, 115) ermöglicht bzw. ermöglichen, Objekte oder Daten auf einem Bildschirm (1, 130) der Benutzerschnittstellenvorrichtung (105) zu manipulieren. Die Benutzerschnittstellenvorrichtung (105) kann unter anderem eine Kamera (205), einen Bildprozessor (210), eine gewisse Anzahl von Ausgabevorrichtungen (215), eine Eingabevorrichtung (220), einen Prozessor (230) und eine Datenspeichervorrichtung (234), wozu ein Arbeitsspeicher (RAM) (250), ein Festspeicher (ROM) (255), ein Festplattenlaufwerk-(HDD)Speicher (240) und ein Flash-Speicher (245) gehören, umfassen. Jedes Element davon wird nun ausführlicher beschrieben.
-
Die Kamera (205) kann eine beliebige Art von Kamera sein, die eine Reihe von aufeinanderfolgenden Einzelbildern in einem spezifischen Zeitraum aufnimmt. Die Kamera (205) kann Teil der Benutzerschnittstellenvorrichtung (105) sein oder kann eine Peripherievorrichtung sein, die kommunikationsmäßig mit der Benutzerschnittstellenvorrichtung (105), z. B. über einen Peripherievorrichtungsadapter (260), gekoppelt ist. Wie zuvor erwähnt, kann die Kamera eine gewisse Anzahl von aufeinanderfolgenden Bildern des Auges (1, 120) und der Finger (1, 125) eines Benutzers (1, 115) aufnehmen und verarbeiten, so dass die Position des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) mit einer ausreichend hohen Rate bestimmt werden kann. Beispielsweise kann die Kamera (105) eine gewisse Anzahl von aufeinanderfolgenden Bildern des Auges (1, 120) und der Finger (1, 125) eines Benutzers (1, 115) aufnehmen, die ausreicht, um zu bestimmen, ob der Benutzer sein Auge (1, 120) und/oder seine Finger (1, 125) bewegt, was bedeutet, dass der Benutzer (1, 115) versucht, mit dem Bildschirminhalt am Bildschirm (1, 130) der Benutzerschnittstellenvorrichtung (105) zu interagieren. Bei einem Beispiel kann die Bildrate kleiner oder gleich ungefähr 30 Einzelbilder pro Sekunde sein. Bei einem anderen Beispiel kann die Bildrate über 30 Einzelbilder pro Sekunde hinausgehen.
-
Die Benutzerschnittstellenvorrichtung (105) kann auch einen Bildprozessor (210) umfassen. Der Bildprozessor (210) kann eine Hardware-Architektur umfassen, die ausführbaren Code aus einer Datenspeichervorrichtung (235) abruft und den ausführbaren Code ausführt. Der ausführbare Code kann, wenn er von dem Bildprozessor (210) ausgeführt wird, bewirken, dass der Bildprozessor (210) mindestens die Funktion des Bestimmens der räumlichen Position des Auges (1, 120) und der Finger (1, 125) eines Benutzers (1, 115) umsetzt. Der ausführbare Code kann auch, wenn er von dem Bildprozessor (210) ausgeführt wird, bewirken, dass der Bildprozessor eine Position am Bildschirm (1, 130) der Benutzerschnittstellenvorrichtung (105) basierend auf den räumlichen Positionen des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) bestimmt. Der Bildprozessor (210) kann dies für jedes Einzelbild vornehmen, das von der Kamera (205) aufgenommen wird.
-
Die Benutzerschnittstellenvorrichtung (105) kann ferner eine gewisse Anzahl von Ausgabevorrichtungen (215) umfassen. Bei einem Beispiel ist die Ausgabevorrichtung (215) ein Bildschirm (1, 130). Wie zuvor beschrieben, kann der Bildschirm (Fig. 130) Daten grafisch darstellen, die von einem Benutzer (1, 115) manipuliert werden können. Die grafische Darstellung von Daten am Bildschirm (130) kann durch einen Prozessor (230) gesteuert werden. Der Prozessor (230) kann auch eine Hardware-Architektur umfassen, die ausführbaren Code aus der Datenspeichervorrichtung (235) abruft und den ausführbaren Code ausführt. Der ausführbare Code kann, wenn er von dem Prozessor (230) ausgeführt wird, bewirken, dass der Prozessor (230) mindestens die Funktion des Anzeigens von Bildschirminhalt am Bildschirm (1, 130) umsetzt.
-
Bei einem anderen Beispiel kann die Anzahl von Ausgabevorrichtungen unter anderem eine Vorrichtung, um eine haptische Rückmeldung zu erzeugen, wie etwa einen Vibrationsmotor oder ein anderes Stellglied, und einen Lautsprecher umfassen. Diese anderen Ausgabevorrichtungen (215) können in Zusammenarbeit mit dem Bildschirm (1, 130) funktionieren, so dass visuelle Änderungen am Bildschirm (1, 130) vom Benutzer (1, 115) gespürt oder gehört werden können.
-
Die Benutzerschnittstellenvorrichtung (105) kann ferner eine Datenspeichervorrichtung (235) und einen Peripherievorrichtungsadapter (260) umfassen. Die Datenspeichervorrichtung (235) kann digital Daten speichern, die von einem Prozessor (210, 230) empfangen oder erzeugt werden, der zu der Benutzerschnittstellenvorrichtung (105) gehört. Die Datenspeichervorrichtung (235) kann einen Arbeitsspeicher (RAM) (250), einen Festspeicher (ROM) (255), einen Flash-Speicher (245) und einen Festplattenlaufwerk-(HDD)Speicher (240) umfassen. Viele andere Arten von Speicher sind verfügbar und die vorliegende Beschreibung zieht die Verwendung einer beliebigen Art von Datenspeichervorrichtung (235) in Betracht, wie sie für eine bestimme Anwendung der hier beschriebenen Grundlagen geeignet sein kann. Bei bestimmten Beispielen können verschiedene Arten von Speicher in der Datenspeichervorrichtung (235) für verschiedene Datenspeicherbedürfnisse verwendet werden.
-
Der Peripherievorrichtungsadapter (260) kann eine Schnittstelle zwischen der Benutzerschnittstellenvorrichtung (105) und der Kamera (205) bereitstellen. Der Peripherievorrichtungsadapter (260) kann dadurch die Übertragung von Daten ermöglichen, die sich auf die aufgenommenen Bilder beziehen, die der Benutzerschnittstellenvorrichtung (105) und genauer gesagt dem Bildprozessor (210) bereitzustellen sind.
-
Eine Eingabevorrichtung (230) kann ebenfalls in der Benutzerschnittstellevorrichtung (105) enthalten sein. Bei einem Beispiel kann die Benutzerschnittstellenvorrichtung (220) Eingabevorrichtungen (220) umfassen, wie etwa unter anderem ein Mikrofon, eine virtuelle alphanumerische Tastatur und eine materielle alphanumerische Tastatur.
-
Während des Betriebs der Benutzerschnittstellenvorrichtung (105) kann der Benutzer (1, 115) Bildschirminhalt manipulieren, indem er zwei Finger, wie etwa den Zeigefinger und den Daumen, in einer offenen Griffposition zwischen dem Auge (1, 120) des Benutzers (1, 115) und dem Bildschirm (1, 130) der Benutzerschnittstellenvorrichtung (105) hält. Wie zuvor beschrieben, kann die Kamera (205) eine gewisse Anzahl von aufeinanderfolgenden Bildern auf einer vorbestimmten Bildrate aufnehmen und diese Bilder einem Bildprozessor (210) bereitstellen. Zusätzlich zum Bestimmen der räumlichen Position des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) und zum Bestimmen, wohin der Benutzer (1, 115) am Bildschirm (1, 130) blickt, kann die Benutzerschnittstellenvorrichtung (105) ferner bestimmen, ob der Benutzer (1, 115) mit seinen Fingern eine Aktion ausführt, die eine Auswahl oder Manipulation von beliebigem Bildschirminhalt angibt.
-
Bei einem Beispiel kann der Benutzer (1, 115) kann den Abstand zwischen seinen Fingern (1, 125) schließen, was von der Benutzerschnittstellenvorrichtung (105) als eine Auswahl des Bildschirminhalts, den der Benutzer betrachtet, ausgelegt werden kann. Nachdem der Benutzer (1, 115) den Bildschirminhalt ausgewählt hat, kann er dann den Bildschirminhalt in andere Positionen am Bildschirm, aus dem Bildschirm heraus, in eine temporäre Datei ziehen, wie etwa in einen Papierkorb für Daten, die gelöscht wurden, oder kann den Bildschirminhalt weiter manipulieren, indem er die Datei öffnet, die zu dem Bildschirminhalt gehört.
-
Bei einem anderen Beispiel kann der Benutzer (1, 115), nachdem er den Bildschirminhalt ausgewählt hat, den Bildschirminhalt aus dem Bildschirm (1, 130) heraus ziehen, wodurch die Illusion geschaffen wird, dass der Inhalt aus der Benutzerschnittstellenvorrichtung (105) entfernt wird. Wie es später besprochen wird, kann der Benutzer (1, 115) dann diese Informationen auf den Bildschirm einer anderen Benutzerschnittstellenvorrichtung ziehen.
-
Bei noch einem anderen Beispiel kann der Benutzer (1, 115), nachdem er den Bildschirminhalt ausgewählt hat, seine Finger (1, 125) näher an den Bildschirm (Fig. 130) heran bringen oder davon entfernen, um das ausgewählte Objekt weiter zu manipulieren. Wenn der Benutzer (1, 115) beispielweise seine Finger (1, 125) von dem Bildschirm (1, 130) entfernt, kann das ausgewählte Objekt größer werden. Wenn der Benutzer (1, 115) zusätzlich seine Finger (1, 125) dem Bildschirm (1, 130) nähert, kann das ausgewählte Objekt kleiner werden.
-
Bei einem anderen Beispiel kann der Benutzer (1, 115) einen einzigen Finger (1, 125) verwenden, um den Bildschirminhalt zu manipulieren. Bei diesem Beispiel kann die Kamera (2, 205) ein Bild des Auges (1, 120) und des Fingers (1, 125) des Benutzers (1, 115) aufnehmen. Der Prozessor (2, 210, 230) kann dann die räumliche Position des Auges (1, 120) und des Fingers (1, 125) des Benutzers (1, 115) bestimmen und ferner bestimmen, wohin der Benutzer (1, 115) am Bildschirm (1, 130) blickt.
-
Bei noch einem anderen Beispiel kann der Benutzer (1, 115) andere Eingabevorrichtungen (220) verwenden, die zu der Benutzerschnittstellenvorrichtung (105) gehören, um den ausgewählten Bildschirminhalt weiter zu manipulieren. Beispielsweise kann der Benutzer (1, 115), nachdem er den Bildschirminhalt ausgewählt hat, ein Mikrofon (270) verwenden, das kommunikationsmäßig mit der Benutzerschnittstellenvorrichtung gekoppelt ist, um beispielsweise den ausgewählten Inhalt zu öffnen, indem er das Wort „Öffnen” ausspricht. Ähnliche Aktionen können über dieses Verfahren ausgeführt werden, und die vorliegende Beschreibung zieht die Verwendung von zusätzlichen Befehlen in Betracht, um den Bildschirminhalt weiter zu manipulieren.
-
Bei noch einem weiteren Beispiel kann die Benutzerschnittstellenvorrichtung (105), und genauer gesagt der Bildprozessor (210), einen Wimpernschlag des Benutzers (1, 115) ermitteln. Nachdem der Bildprozessor (210) den Wimpernschlag ermittelt hat, kann er den Wimpernschlag beispielsweise als einen Befehl zum Öffnen von Elementen deuten und kann bewirken, dass der von dem Benutzer (1, 115) ausgewählte Bildschirminhalt geöffnet wird. Auch hier können ähnliche Aktionen über dieses Verfahren ausgeführt werden, und die vorliegende Beschreibung zieht die Verwendung eines Wimpernschlags in Betracht, um zusätzliche oder andere Befehle darzustellen, um den Bildschirminhalt weiter zu manipulieren.
-
Wie zuvor erwähnt, kann der Benutzer (1, 115) den Bildschirminhalt derart manipulieren, dass er die Informationen auf eine getrennte Benutzerschnittstellenvorrichtung überträgt oder kopiert. Die Benutzerschnittstellenvorrichtung (105) kann daher kommunikationsmäßig mit einer anderen Benutzerschnittstellenvorrichtung derart gekoppelt sein, dass die Kamera (205) der ersten Benutzerschnittstellenvorrichtung (105) das Auge (1, 120) und die Finger (1, 125) eines Benutzers (1, 115) aus dem Bildschirm (1, 130) der ersten Benutzerschnittstellenvorrichtung (105) heraus und in den der zweiten Benutzerschnittstellenvorrichtung herein verfolgen kann. Bei einem Beispiel kann die zweite Benutzerschnittstellenvorrichtung auch eine Kamera umfassen, die ähnlich ist wie die der ersten Benutzerschnittstellenvorrichtung (105), um ähnlich das Auge (1, 120) und die Finger (1, 125) des Benutzers (1, 115) von der ersten Benutzerschnittstellenvorrichtung (105) hinüber zu der zweiten Benutzerschnittstellenvorrichtung zu verfolgen. Daher kann der Benutzer (1, 115) Bildschirminhalt virtuell von einer Benutzerschnittstellenvorrichtung (105) zur anderen ziehen. Die Prozessoren (210, 230) können verwendet werden, um zwischen getrennten Benutzerschnittstellenvorrichtungen zu koordinieren, um Informationen und Daten zwischen Benutzerschnittstellenvorrichtungen virtuell zu übertragen. Zusätzlich können die Prozessoren (210, 230) Code ausführen, der bewirkt, dass die erste Benutzerschnittstellenvorrichtung (105) die Daten, die zu dem ausgewählten Bildschirminhalt gehören, über einen Netzwerkadapter (265) an die zweite Benutzerschnittstellenvorrichtung sendet. Daher können Daten sowohl virtuell als auch elektronisch von einer Benutzerschnittstellenvorrichtung zur anderen übertragen oder kopiert werden.
-
Die Benutzerschnittstellenvorrichtung (105) kann es einem Benutzer (1, 115) ferner erlauben, mehrere Bildschirmobjekte unter Verwendung einer beliebigen Anzahl von Fingern oder Fingergruppen auszuwählen. Bei einem Beispiel kann der Benutzer (1, 115) beide Gruppen aus Daumen und Zeigefinger an beiden Händen verwenden, um eine Vielzahl von Bildschirmobjekten auszuwählen. Insbesondere kann die Kamera ein Bild des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) an beiden Händen aufnehmen und dieses Bild dem Bildprozessor (210) bereitstellen. Wie zuvor beschrieben, kann der Bildprozessor die Position des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) an beiden Händen bestimmen und die Position am Bildschirm (1, 130) bestimmen, auf die der Benutzer blickt. Der Bildprozessor (210) kann eine erste Position am Bildschirm (1, 130) bestimmen, die der Benutzer (1, 115) betrachtet, bestimmen, ob der Benutzer (1, 115) diesen Bildschirminhalt auswählt, und erlauben, dass dieses Element ausgewählt wird. Während der Bildschirminhalt ausgewählt wird, kann der Benutzer (1, 115) einen anderen Bildschirminhalt betrachten und diesen Inhalt mit der anderen Fingergruppe (1, 125) auswählen.
-
Bei einem anderen Beispiel kann es die Benutzerschnittstellenvorrichtung (105) einem Benutzer (1, 115) erlauben, mehrere Objekte am Bildschirm (1, 130) unter Verwendung einer einzigen Fingergruppe auszuwählen. Bei einem Beispiel, das ähnlich wie das zuvor beschriebene ist, kann der Benutzer (1, 115) eine Anzahl von einzelnen Fingern verwenden, um eine Anzahl von Objekten am Bildschirm (130) auszuwählen. Bei diesem Beispiel kann der Bildprozessor (210) die Position des Auges (1, 120) des Benutzers (1, 115) sowie einer Anzahl von Fingern (1, 125) des Benutzers (1, 115) bestimmen. Die Benutzerschnittstellenvorrichtung (105) kann dann eine Auswahl von Bildschirminhalt ermitteln, wenn der Benutzer (1, 115) einen Finger in Richtung auf den Bildschirm (1, 130) bewegt. Bei einem anderen Beispiel kann der Benutzer (1, 115) seinen Zeigefinger und Daumen in einer offenen Griffkonfiguration verwenden, so dass eine gewisse Anzahl von Bildschirminhaltsobjekten aussieht, als ob sie zwischen Daumen und Zeigefinger des Benutzers (1, 115) läge. Wie zuvor beschrieben, kann der Benutzer dann die Auswahl dieses Bildschirminhalts betätigen, indem er beispielsweise blinzelt oder hörbar einen Auswahlbefehl angibt. Bei diesem Beispiel kann der Benutzer (1, 115) die Größe der auswählbaren Fläche am Bildschirm (1, 130) erhöhen, indem er den Zwischenraum zwischen Daumen und Zeigefinger des Benutzers (1, 115) vergrößert oder verkleinert.
-
Nun mit Bezug auf 3 wird ein Ablaufschema gezeigt, das ein Verfahren zum Manipulieren von Bildschirminhalt der Benutzerschnittstellenvorrichtung gemäß einem Beispiel der hier beschriebenen Grundlagen abbildet. Das Verfahren kann damit beginnen, dass die Kamera (2, 205) Bilder des Auges (1, 120) und der Finger (1, 125) eines Benutzers (1, 115) aufnimmt (Block 305). Wie zuvor erwähnt, kann die Kamera eine dreidimensionale Kamera sein und kann eine beliebige Anzahl von aufeinanderfolgenden Einzelbildern pro Sekunde aufnehmen.
-
Nachdem die Kamera (2, 205) ein Bild des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) aufgenommen hat (Block 305), kann ein Bildprozessor (2, 210) die räumliche X-, Y-, Z-Position des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) bestimmen (Block 310). Wie zuvor besprochen, kann dies dadurch erfolgen, dass ein Prozessor (1, 210, 230) derart Code ausführt, dass diese räumlichen Positionen bestimmt werden können (Block 310).
-
Ein Prozessor (2, 210, 230) kann dann bestimmen (Block 315), wohin der Benutzer (1, 115) auf einem Bildschirm (1, 130) der Benutzerschnittstellenvorrichtung (2, 105) blickt. Dies kann unter Verwendung der räumlichen Position des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115), die zuvor bestimmt wurde (Block 310), bestimmt werden.
-
Nachdem bestimmt wurde (Block 315), wohin der Benutzer (1, 115) am Bildschirm (1, 130) blickt, kann die Benutzerschnittstellenvorrichtung (2, 105) das Auge (1, 120) und die Finger (1, 125) des Benutzers (1, 115) auf Angaben einer Manipulation von Bildschirminhalt überwachen (Block 320). Wie zuvor beschrieben, kann der Benutzer Bildschirminhalt verschiedenartig manipulieren, wie etwa durch Blinzeln, durch einen hörbaren Befehl, oder indem er den Abstand zwischen seinen Fingern (1, 125) vergrößert oder verkleinert.
-
Wenn der Benutzer (1, 115) angegeben hat, dass Bildschirminhalt zu manipulieren ist, kann die Benutzerschnittstellenvorrichtung (2, 105) den Bildschirminhalt basierend auf diesen Angaben manipulieren (Block 325). Daher ändert sich der Bildschirminhalt basierend auf Positionsänderungen des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115), wie zuvor beschrieben.
-
Während des Prozesses kann die Kamera (2, 205) damit fortfahren, eine gewisse Anzahl von Bildern eines zweiten Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115) aufzunehmen. Jedes Einzelbild kann dann analysiert werden, um die räumlichen Positionen des Auges (1, 120) und der Finger des Benutzers (1, 115) zu bestimmen (Block 310). (1, 125), sowie um zu bestimmen (Block 315), wohin der Benutzer am Bildschirm (1, 130) der Benutzerschnittstellenvorrichtung (2, 105) blickt. Jedes aufgenommene Bild (Block 205) kann verwendet werden, um das Auge (1, 120) und die Finger (1, 125) des Benutzers (1, 115) auf Angaben einer Manipulation von Bildschirminhalt zu überwachen (Block 320).
-
Die zuvor beschriebenen Verfahren können zusammen mit einem Computerprogrammprodukt, das ein nicht vorübergehendes computerlesbares Medium umfasst, das, wenn es von einem Prozessor ausgeführt wird, die obigen Prozesse und Verfahren ausführt, durchgeführt werden. Insbesondere kann das Computerprogrammprodukt computerverwendbaren Programmcode umfassen, der darin ausgebildet ist und der, wenn er von einem Prozessor ausgeführt wird, ein aufgenommenes Bild von einer Kamera (1, 110) empfängt und die räumliche Position des Auges (1, 120) und der Finger (1, 125) eines Benutzers (1, 115) bestimmt (3, Block 310). Das Computerprogrammprodukt kann ferner computerverwendbaren Programmcode umfassen, der darin ausgebildet ist und der, wenn er von einem Prozessor ausgeführt wird, bestimmt (3, 315), wohin auf einem Bildschirm (1, 130) der Benutzerschnittstellenvorrichtung (1, 105) der Benutzer (1, 115) blickt, basierend auf der räumlichen Position des Auges (1, 120) und der Finger (1, 125) des Benutzers (1, 115). Das Computerprogrammprodukt kann ferner noch computerverwendbaren Programmcode umfassen, der darin ausgebildet ist und der, wenn er von einem Prozessor ausgeführt wird, das Auge (1, 120) und die Finger (1, 125) des Benutzers (1, 115) auf Angaben einer Manipulation von Bildschirminhalt überwacht (3, Block 320). Das Computerprogrammprodukt kann ferner noch computerverwendbaren Programmcode umfassen, der darin ausgebildet ist und der, wenn er von einem Prozessor ausgeführt wird, Bildschirminhalt manipuliert (3, 325), basierend auf Angaben des Benutzers (1, 115) von Manipulationen des Bildschirminhalts.
-
Die Beschreibung und die Figuren beschreiben eine Benutzerschnittstellenvorrichtung. Die Benutzerschnittstellenvorrichtung umfasst eine Kamera und einen Prozessor. Der Prozessor kann Bilder von der Kamera empfangen und die räumliche Position der Gesichtszüge und Finger eines Benutzers bestimmen und unter Verwendung dieser Informationen bestimmen, wohin der am Bildschirm blickt, wenn er Bildschirminhalt betrachtet. Diese Benutzerschnittstellenvorrichtung kann eine gewisse Anzahl von Vorteilen aufweisen, wozu die Manipulation von Bildschirminhalt ohne Berührung des Bildschirms oder Verwendung einer Maus oder eines Tastfelds gehört. Zusätzlich erlaubt es die Benutzerschnittstellenvorrichtung einem Benutzer, Bildschirminhalt von dem Bildschirm der Benutzerschnittstellenvorrichtung auf einen anderen Bildschirm einer anderen Benutzerschnittstellenvorrichtung zu ziehen. Ferner ermöglicht es die Benutzerschnittstellenvorrichtung der vorliegenden Beschreibung einem Benutzer, Bildschirminhalt auszuwählen, ohne die Sicht auf den Bildschirminhalt, beispielsweise mit einem Finger, zu verdecken.
-
Die vorstehende Beschreibung wurde vorgelegt, um Beispiele der beschriebenen Grundlagen zu erläutern und zu beschreiben. Diese Beschreibung ist nicht dazu gedacht, vollständig zu sein oder diese Grundlagen auf eine genaue offenbarte Form einzuschränken. Angesichts der obigen Lehre sind zahlreiche Änderungen und Variationen möglich.