DE112010005854T5 - Eingeben eines Befehls - Google Patents

Eingeben eines Befehls Download PDF

Info

Publication number
DE112010005854T5
DE112010005854T5 DE112010005854T DE112010005854T DE112010005854T5 DE 112010005854 T5 DE112010005854 T5 DE 112010005854T5 DE 112010005854 T DE112010005854 T DE 112010005854T DE 112010005854 T DE112010005854 T DE 112010005854T DE 112010005854 T5 DE112010005854 T5 DE 112010005854T5
Authority
DE
Germany
Prior art keywords
pattern
sensor
command
program
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112010005854T
Other languages
English (en)
Inventor
Robert Campbell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112010005854T5 publication Critical patent/DE112010005854T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0428Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by sensing at the edges of the touch surface the interruption of optical paths, e.g. an illumination plane, parallel to the touch surface which may be virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Burglar Alarm Systems (AREA)
  • Position Input By Displaying (AREA)

Abstract

Ein Ausführungsbeispiel schafft das Eingeben eines Befehls in ein System. Das Verfahren umfasst das Erfassen eines Musters, das im Sichtfeld eines Sensors platziert ist. Das Muster kann erkannt werden und einer Betriebscodesequenz zugeordnet werden. Die Betriebscodesequenz kann ausgeführt werden, wenn der Sensor eine Überschneidung zwischen dem erkannten Muster und einem Objekt erfasst.

Description

  • Hintergrund
  • Frühe Systeme zum Eingeben von Befehlen in Programme verwendeten Tastaturen, um Textzeichenfolgen einzugeben, die die Namen der Befehle, irgendwelche Eingabeparameter und irgendwelche Schalter umfassten, um den Betrieb der Befehle zu modifizieren. In den letzten Jahrzehnten wurden diese Systeme beinahe vollständig ersetzt durch grafische Eingabesysteme, die eine Zeigevorrichtung verwenden, um ein Icon zu bewegen, wie z. B. eine grafische Darstellung eines Pfeils, um auf Objekte zu zeigen, die auf dem Bildschirm angezeigt sind, und dann dieselben für weitere Operationen auszuwählen. Die Auswahl kann beispielsweise durchgeführt werden durch Setzen des Icons über das Objekt und Klicken einer Taste auf der Zeigevorrichtung. In den letzten Jahren wurden Systeme zum Eingeben von Befehlen entwickelt, die die physikalische Realität stärker emulieren, beispielsweise die physikalische Auswahl von Elementen auf einem berührungsempfindlichen Bildschirm ermöglichen.
  • Kurze Beschreibung der Zeichnungen
  • Bestimmte beispielhafte Ausführungsbeispiele sind in der folgenden detaillierten Beschreibung und mit Bezugnahme auf die Zeichnungen beschrieben.
  • 1 ist eine Zeichnung eines Systems gemäß einem Ausführungsbeispiel;
  • 2 ist ein Blockdiagramm eines Systems, das verwendet werden kann, um ein Ausführungsbeispiel zum implementieren;
  • 3 ist eine Zeichnung einer Befehlsschablone gemäß einem Ausführungsbeispiel;
  • 4 ist ein Beispiel einer Schablone gemäß einem Ausführungsbeispiel;
  • 5 ist ein Verfahren zum Eingeben von Befehlen in einem System gemäß einem Ausführungsbeispiel;
  • 6 ist ein Verfahren, das verwendet werden kann, um Befehle in ein System einzugeben, gemäß einem Ausführungsbeispiel; und
  • 7 ist ein nichtflüchtiges computerlesbares Medium, das verwendet werden kann, um Codemodule zu halten, die konfiguriert sind, um einen Prozessor anzuweisen, Befehle einzugeben, gemäß einigen Ausführungsbeispielen.
  • Detaillierte Beschreibung spezifischer Ausführungsbeispiele
  • Hierin beschriebene Ausführungsbeispiele schaffen ein optisches Befehlseingabesystem, das ein optisches Sensorsystem verwenden kann, um Befehle einzugeben, die von einer Schablone ausgewählt werden. Das optische Sensorsystem kann konfiguriert sein, um einen dreidimensionalen Raum vor einem Bildschirm zu überwachen, um Positionen von Objekten bezüglich der Anzeige zu bestimmen. Ein Mustererkennungsmodul kann ein Bild des Bereichs vor der Anzeige überwachen, wie es durch das optische Sensorsystem gesammelt wird. Falls eine Schablone mit gedruckten Muster im Sichtfeld des Sensors platziert ist, kann das Mustererkennungsmodul die Muster identifizieren, ihre Positionen abbilden und dieselben bestimmten Befehlen zuordnen, wie z. B. für eine Anwendung. Ein Befehlsmodul kann eine Position eines Objekts, wie z. B. eines Fingers, einer Hand oder eines anderen Objekts vor der Anzeige bestimmen, und falls die Position des Objekts eines der Muster schneidet, kann der Befehl, der diesem Muster zugeordnet ist, zu einer Anwendung weitergeleitet werden. Falls bei einigen Ausführungsbeispielen eines der Muster einer bestimmten Anwendung zugeordnet ist, kann das Platzieren der Schablone vor die Anzeige bewirken, dass das Mustererkennungsmodul die zugeordnete Anwendung startet.
  • 1 ist eine Zeichnung eines Systems 100, beispielsweise eines Allzweck-Computersystems, das Steuereingaben von einem oder mehreren Sensoren 102 erhalten kann, gemäß einem Ausführungsbeispiel. Wie es hierin verwendet wird, ist ein Allzweck-Computersystem ein Computer, der eine Anzeige, einen Prozessor, Speicher, Laufwerke und andere Funktionseinheiten in einem einzigen Gehäuse umfasst. Ausführungsbeispiele sind jedoch nicht auf das Allzweck-Computersystem beschränkt, da Ausführungsbeispiele einen unabhängigen Bildschirm umfassen können, der Sensoren aufweist, oder einen unabhängigen Bildschirm, an dem separate Sensoren angebracht sind. Die Sensoren 102 können in dem Gehäuse 104 des Systems 100 eingebaut sein oder können als getrennte Einheiten angebracht sein. Bei einem Ausführungsbeispiel können die Sensoren 102 in jeder der oberen Ecken einer Anzeige 106 positioniert sein. Bei diesem Ausführungsbeispiel kann jeder Sensor 102 ein überlappendes Volumen 108 eines dreidimensionalen Raums vor der Anzeige 106 abdecken.
  • Die Sensoren 102 können Bewegungssensoren, Infrarotsensoren, Kameras, Infrarotkameras oder jede andere Vorrichtung umfassen, die in der Lage ist, ein Bild aufzunehmen. Bei einem Ausführungsbeispiel können die Sensoren 102 ein Infrarotarray oder eine Kamera umfassen, die die Positionen von Zielen erfasst unter Verwendung einer Laufzeitberechnung für jedes Pixel in dem Infrarotarray. Bei diesem Ausführungsbeispiel kann ein Infrarotemitter Infrarotlichtpulse emittieren, die von einem Ziel reflektiert werden und zu dem Infrarotarray zurück gesendet werden. Ein Rechensystem, das dem Infrarotarray zugeordnet ist, verwendet die Zeit, die das Infrarotlicht benötigt, um ein Ziel zu erreichen und zurück zu dem Infrarotsensorarray reflektiert zu werden, um eine Abstandskarte zu erzeugen, die den Abstand von dem Sensor zu dem Ziel für jedes Pixel in dem Infrarotsensorarray anzeigt. Das Infrarotarray kann auch ein rohes Infrarotbild erzeugen, in dem die Helligkeit jedes Pixels das Infrarotreflexionsvermögen des Zielbilds an diesem Pixel darstellt. Ausführungsbeispiele sind jedoch nicht auf ein Infrarotsensorarray begrenzt, da jede Anzahl von anderen Sensoren, die ein Bild erzeugen, bei einigen Ausführungsbeispielen verwendet werden kann.
  • Das Volumen 108, das durch die Sensoren 102 abgebildet wird, kann sich über die Anzeige 106 hinaus erstrecken, beispielsweise zu einer Oberfläche 110, die das System 100, eine Tastatur 112 oder eine Maus 114 tragen kann. Eine Schablone 116 kann auf die Oberfläche 110 vor dem System 100 platziert sein, im Sichtfeld der Sensoren 102. Das System 100 kann konfiguriert sein um das Vorliegen der Schablone 116 wahrzunehmen, beispielsweise durch Erkennen von Muster 118 auf der Schablone. Das System kann beispielsweise ein Identifizierungsmuster 120 erkennen, das einem bestimmten Programm zugeordnet ist, wie z. B. unter anderem einer Zeichenanwendung oder einem computerunterstützten Entwurfsprogramm, oder durch Erkennen von Muster, die einzelnen Befehlen zugeordnet sind. Die Mustererkennung kann durch jede Anzahl von Techniken durchgeführt werden, die in der Technik bekannt sind, beispielsweise Erzeugen eines Hashcodes von dem Muster und Vergleichen des Hashcodes mit einer Bibliothek von Codes. Jede Anzahl von anderen Techniken kann ebenfalls verwendet werden.
  • Das System 100 kann auf eine Anzahl von Weisen ansprechen auf das Erkennen eines Musters, beispielsweise das Identifizierungsmuster 120 auf der Schablone 116. Bei einem Ausführungsbeispiel kann das System 100 ein Programm starten, das dem Identifizierungsmuster 120 zugeordnet ist. Das System 100 kann die Schablone 116 für andere Muster analysieren, die spezifischen Funktionen zugeordnet sein können, wie z. B. unter anderem Speichern 122, Rückgängig 124, Wiederherstellen 126 oder Füllen 128.
  • Das System 100 kann es ermöglichen, dass zum Bilden einer Schnittstelle mit Programmen Gesten verwendet werden. Beispielsweise kann ein Element 130 in einem Programm, das auf der Anzeige 106 gezeigt ist, durch eine Geste ausgewählt werden, wie z. B. durch Verwenden eines Fingers 132, um die Position des Elements 130 auf der Anzeige 106 zu berühren. Ferner kann eine Funktion, die auf der Schablone 116 identifiziert ist, ausgewählt werden, beispielsweise durch Verwenden eines Fingers 132, um das relevante Muster 128 zu berühren. Das Berühren des Musters 128 kann eine Betriebscodesequenz auslösen, die dem Muster 128 zugeordnet ist, beispielsweise Füllen eines vorher ausgewählten Elements 130 mit einer Farbe. Jede Anzahl von Funktionen und/oder Formen kann im Zusammenhang mit einem ausgewählten Element oder mit offenen Dokumenten, dem Betriebssystem selbst und dergleichen verwendet werden, wie z. B. unter anderem Drucken, Speichern, Löschen oder Schließen von Programmen. Das Entfernen der Schablone 116 oder anderer Muster aus dem Sichtfeld der Sensoren 102 kann Aktionen auslösen, wie z. B. Abfragen des Nutzers über Schließen des Programms, Sichern des Dokuments und dergleichen.
  • 2 ist ein Blockdiagramm eines Systems 200, das verwendet werden kann, um ein Ausführungsbeispiel zu implementieren. Das System 200 kann durch ein Allzweck-Computersystem 202 implementiert werden, oder kann unter Verwendung eines modularen Computersystems implementiert werden. Bei einem modularen System können beispielsweise die Sensoren in einem Bildschirm eingebaut sein, können aufgebaut sein, um über eine obere Oberfläche des Bildschirms zu passen oder können frei stehende Sensoren sein, die in der Nähe des Bildschirms platziert sind.
  • In dem Allzweck-Computersystem 202 kann ein Bus 204 Kommunikation bereitstellen zwischen einem Prozessor 206 und einem Sensorsystem 208, wie z. B. den Sensoren 102, die mit Bezugnahme auf 1 beschrieben sind. Der Bus 204 kann ein PCI, PCIe oder jeder andere geeignete Bus oder jede andere geeignete Kommunikationstechnologie sein. Der Prozessor 206 kann ein Einkernprozessor, ein Mehrkernprozessor oder ein Rechencluster sein. Der Prozessor 206 kann über den Bus 204 auf ein Speichersystem 210 zugreifen. Das Speichersystem 210 kann alle Kombinationen von nichtflüchtigen computerlesbaren Medien umfassen, einschließlich Direktzugriffsspeichern (RAM), Nur-Lese-Speichern (ROM), Festplatten, optischen Laufwerken, RAM-Laufwerken und dergleichen. Das Speichersystem 210 kann Code- und Datenstrukturen halten, die verwendet werden, um Ausführungsbeispiele der vorliegenden Techniken zu implementieren, einschließlich beispielsweise eines Sensorbetriebsmoduls 212, das konfiguriert ist, um den Prozessor 206 anzuweisen, das Sensorsystem 208 zu betreiben. Ein Mustererkennungsmodul 214 kann Code umfassen, um den Prozessor 206 anzuweisen, ein Muster von dem Sensorsystem 208 zu erhalten und das Muster zu einer mathematischen Darstellung umzuwandeln, die das Muster identifizieren kann. Das Mustererkennungsmodul 214 kann auch eine Datenstruktur umfassen, die eine Bibliothek von Muster hält, beispielsweise umgewandelt in mathematische Darstellungen. Ein Befehlseingabemodul 216 kann das Sensorbetriebsmodul 212 verwenden, um zu bestimmen, ob ein Befehl auf einer Schablone ausgewählt wurde und die geeignete Befehlszeichenfolge zu einer Anwendung 218 weiterzuleiten.
  • Andere Einheiten sind allgemein in dem Allzweck-Computersystem 202 enthalten, um Funktionalität bereitzustellen. Beispielsweise kann eine Mensch-Maschine-Schnittstelle enthalten sein, um eine Schnittstelle zu bilden mit einer Tastatur oder einer Zeigevorrichtung. Bei einigen Ausführungsbeispielen können entweder die Zeigevorrichtung oder die Tastatur oder beide ausgelassen sein zugunsten der Verwendung der Funktionalität, die durch das Sensorsystem bereitgestellt wird, beispielsweise Verwenden einer Tastatur auf dem Bildschirm oder einer Tastatur, die als eine Schablone bereitgestellt oder projiziert wird. Eine Anzeige 220 ist allgemein in das Allzweck-Computersystem 202 eingebaut. Wie es hierin gezeigt ist, umfasst die Anzeige 220 Treiberelektronik, gekoppelt mit dem Bus 204 sowie dem Bildschirm selbst. Andere Einheiten, die vorliegen können, können eine Netzschnittstellenkarte (NIC) zum Koppeln des Allzweck-Computersystems mit einem Netz 226 umfassen. Die NIC kann eine Ethernetkarte, eine Drahtlosnetzkarte, eine mobile Breitbandkarte oder jede Kombination davon umfassen.
  • 3 ist eine Zeichnung einer Befehlsschablone 300, die verwendet werden kann, um Programme gemäß einem Ausführungsbeispiel zu betreiben. Bei diesem Ausführungsbeispiel identifiziert kein spezifisches Muster ein Programm für die Verwendung mit der Schablone. Stattdessen kann die Anwendung manuell gestartet werden oder kann automatisch ausgelöst werden durch eine Mustererkennung einer Ansammlung von Muster, die beispielsweise verwendet werden kann, um ein Medienabspielgerät zu betreiben, wie z. B. WINDOWS MEDIA PLAYER®, REAL PLAYER®, iTUNES® und dergleichen. Die Muster können Tasten umfassen, unter anderem für Abspielen 302, Stopp 304, Rückspulen 306, Pause 308, Lauter 310 und Leiser 312. Es ist klar, dass die Steuerungen nicht auf diese Tasten oder diese Anordnung begrenzt sind, da jede Anzahl von anderen Steuerungen verwendet werden kann. Solche zusätzliche Steuerungen können weitere Icons umfassen oder können Texttasten umfassen, wie z. B. eine Taste 314 zum Auswählen anderer Medien, oder eine Taste 316 zum Erhalten von Informationen über ein Programm. Die Schablone 300 kann mit einem System gedruckt und verteilt werden. Alternativ kann die Schablone 300 ausgedruckt werden oder von Hand gezeichnet werden durch einen Nutzer, beispielsweise für ein Computersystem, das einen Infrarotsensor verwendet, die Muster können unter Verwendung eines infrarotabsorbierenden Materials erzeugt werden, wie z. B. des Toners in einem Laserdrucker oder eines Graphitstifts. Schablonen können auch von Softwarefirmen mit Programmen geliefert werden, wie sie mit Bezugnahme auf 4 erörtert werden.
  • 4 ist ein Beispiel einer Schablone 400, die mit einem kommerziellen Programm geliefert werden kann, gemäß einem Ausführungsbeispiel. Wie es oben erörtert wurde, kann die Schablone 400 ein Programmmuster 402 aufweisen, das ein Programm identifizieren kann. Platzieren der Schablone 400 im Sichtfeld der Sensoren 102 (1) kann zu einer automatischen Aktivierung des zugeordneten Programms führen. Alternativ kann ein Nutzer das Programm manuell aktivieren.
  • Befehlsmuster 404 auf der Schablone 400 können erkannt werden und Befehlen für das zugeordnete Programm zugeordnet werden. Beispielsweise können die Befehlsmuster 404 Befehle umfassen wie z. B. Speichern 406, Öffnen 408, Linienzeichnen 410 und dergleichen. Auswählen eines Befehls, wie z. B. durch Berühren eines Befehlsmusters 404 auf der Schablone, kann verwendet werden, um den zugeordneten Befehl zu aktivieren, beispielsweise allgemein entsprechend dem in 5 gezeigten Verfahren.
  • 5 ist ein Verfahren 500 zum Eingeben von Befehlen in ein System gemäß Ausführungsbeispielen der vorliegenden Techniken. Das System kann das System sein, das mit Bezugnahme auf 1 und 2 erörtert wurde. Das Verfahren 500 beginnt bei Block 502, wenn das System erfasst, dass eine Schablone oder ein Muster vorliegt. Die Erfassung kann auf dem Identifizieren eines Musters basieren, das im Sichtfeld eines Bilderzeugungssensors vorliegt. Das Muster kann auf die Schablone gezeichnet oder gedruckt sein, ist aber nicht auf eine bestimmte Implementierung beschränkt. In der Tat kann das Muster von Hand gezeichnet werden auf den Schreibtisch vor dem System, solange der Computer die Form als ein Programm oder einen Befehl identifizierend erkennen kann.
  • Bei Block 504 können die Muster auf der Schablone erkannt werden, beispielsweise durch Vergleichen eines Hashcodes, der von dem Muster erzeugt wird, mit einer Bibliothek von Codes, die für verschiedene Muster gespeichert sind. Sobald bei Block 506 ein Muster identifiziert ist, kann dasselbe einer Betriebscodesequenz zugeordnet werden, wie z. B. einem Befehl für ein Programm. Das Programm kann manuell ausgewählt werden durch den Nutzer oder kann automatisch ausgewählt werden durch ein Muster auf der Schablone. Ferner können äquivalente Muster unterschiedlichen Befehlen zugeordnet sein, abhängig von dem ausgewählten Programm. Beispielsweise können die Muster Abspielen 302 und Rückspulen 306, die mit Bezugnahme auf 3 erörtert wurden, Kanal-nach-oben und Kanal-nach-unten in einer TV-Tuner-Anwendung zugeordnet sein. Falls ein Nutzer ein anderes Programm wählen sollte, können die Muster automatisch dem korrekten Befehl zugeordnet werden, beispielsweise für das Programm, das aktuell für die Anzeige ausgewählt ist.
  • 6 ist ein Verfahren 600, das verwendet werden kann, um Befehle in ein Computersystem einzugeben, gemäß einem Ausführungsbeispiel. Das Verfahren 600 beginnt bei Block 602 damit, dass das Computersystem eine Schablone erfasst. Die Erfassung kann nach allen Muster suchen, die in einer Bibliothek von Muster vorliegen, oder kann nach Muster suchen, die spezifische Programme identifizieren. Die letztere Situation kann verwendet werden zum Verringern von Rechenkosten auf einem System, wenn eine große Anzahl von Muster vorliegt. Falls bei Block 604 erkannt wird, dass eine Schablone vorliegt, schreitet der Fluss zu Block 606 fort, bei dem die Muster erkannt werden und relevanten Befehlen zugeordnet werden. Bei Block 608 kann ein Programm, das einem Muster auf der Schablone zugeordnet ist, automatisch geladen werden. Ausführungsbeispiele sind jedoch nicht auf das automatische Laden eines Programms beschränkt. Bei einigen Ausführungsbeispielen kann ein Nutzer ein Programm, das mit der Schablone zu verwenden ist, manuell auswählen.
  • Nachdem Muster Befehlen zugeordnet sind für ein geladenes Programm, bei Block 610, kann das Computersystem eine Eingabe identifizieren, die einer Nutzeraktion entspricht. Die Eingabe kann das Berühren eines Musters auf einer Schablone mit einem Finger oder anderen Objekt durch den Nutzer umfassen. Beispielsweise kann ein Erfassungssystem in dem Computersystem ein Objekt in dem dreidimensionalen Raum vor dem Bildschirm lokalisieren. Wenn das Objekt und eine Befehlsposition, wie z. B. ein Muster auf der Schablone sich schneiden, kann das Erfassungssystem einen Befehl an das Programm senden durch das Betriebssystem. Bei einigen Ausführungsbeispielen kann das Objekt dreidimensionale Formen umfassen, die spezifische Befehle oder Codemodule aktivieren, die relevant sind für die gewählte Form und Position.
  • Ein Beispiel einer solchen Form könnte ein pyramidenförmiges Objekt sein, das einen Drucker darstellt. Falls ein Muster auf der Schablone durch die Druckerform berührt wird, kann der zugeordnete Befehl mit einem Parameter ausgeführt werden, der durch die Form gesteuert wird. Solche Formen können auch einen Programmparameter darstellen, wie z. B. eine Betriebsauswahl. Beispielsweise kann das Berühren eines Musters auf einer Schablone durch eine erste Form ein Codemodul initiieren, das das Objekt druckt, während das Berühren eines Musters auf einer Schablone durch eine zweite Form ein Codemodul initiieren kann, das die aktuelle Datei speichert. Andere Formen können Codemodule aktivieren, die das Objekt modifizieren, oder die Daten, die das Objekt darstellen, zu einem anderen System oder einer anderen Position übertragen.
  • Fall bei Block 612 ein Schablonenmuster ausgewählt wurde, schreitet der Prozessfluss weiter zu Block 614, wo ein zugeordneter Befehl in das Programm eingegeben werden kann. Bei Block 616 kann das System bestimmen, ob die Schablone von dem abgetasteten Bereich entfernt wurde. Falls nicht, kann der Prozessfluss zurückkehren zu Block 610, um die Suche nach Nutzereingabe fortzusetzen. Obwohl das Computersystem besonders nach Eingaben sucht, die für die vorliegende Schablone relevant sind, kann dasselbe auch die Platzierung einer anderen Schablone im Sichtfeld der Bilderzeugungssensoren erfassen, beispielsweise durch Fortsetzen der parallelen Ausführung von Block 602.
  • Falls bei Block 616 bestimmt wird, dass die Schablone nicht mehr in dem abgebildeten Volumen vor dem Computersystem ist, kann der Prozessfluss fortschreiten zu Block 618, wo das System eine Reihe von Aktionen durchführen kann, um das Programm zu schließen. Ausführungsbeispiele sind jedoch nicht auf das automatische Schließen des Programms begrenzt, da der Nutzer das Programm zu jedem Zeitpunkt manuell schließen kann. Bei einem Ausführungsbeispiel kann es sein, dass das Entfernen der Schablone keinen Effekt hat, außer das Eliminieren der Auswahl der zugeordneten Befehle unter Verwendung der Schablone. Das System kann auch andere Schritte durchführen zum Schließen des Programms, wie z. B. Sichern der Dateien in dem Programm oder Auffordern eines Nutzers, die Dateien zu speichern.
  • 7 ist ein nichtflüchtiges computerlesbares Medium 700, das verwendet werden kann, um Codemodule zu halten, die konfiguriert sind, um einen Prozessor 702 anzuweisen, Befehle einzugeben, gemäß einigen Ausführungsbeispielen. Der Prozessor 702 kann einen Einkernprozessor, einen Mehrkernprozessor oder ein Rechencluster umfassen. Der Prozessor 702 kann auf das nichtflüchtige computerlesbare Medium 700 zugreifen über einen Bus 704, einschließlich, beispielsweise eines PCI-Busses, eines PCIe-Busses, einer Ethernetverbindung und jede Anzahl von anderen Kommunikationstechnologien. Die Codemodule können ein Mustererfassungsmodul 706 umfassen, das konfiguriert ist, um einen Prozessor anzuweisen, ein Muster zu erfassen, das im Sichtfeld eines Sensors platziert ist, wie es hierin beschrieben ist. Ein Mustererkennungsmodul 708 kann das Muster erkennen und bei einigen Ausführungsbeispielen ein zugeordnetes Programm starten. Ein Musterzuordnungsmodul 710 kann Muster im Sichtfeld des Sensors erkennen und die Muster bestimmten Betriebscodesequenzen, wie z. B. Befehlen, zuordnen. Ein Befehlseingabemodul 712 kann eine Überschneidung eines Objekts, wie z. B. einer Hand oder einer anderen dreidimensionale Form, mit einem Muster erfassen und den zugeordneten Befehl in ein Programm eingeben.

Claims (15)

  1. Ein Verfahren zum Eingeben eines Befehls in ein System, das folgende Schritte aufweist: Erfassen eines Musters, das im Sichtfeld eines Sensors platziert ist; Erkennen des Musters; Zuordnen des erkannten Musters zu einer Betriebscodesequenz; und Ausführen der Betriebscodesequenz zumindest teilweise basierend auf einer Überschneidung des erkannten Musters und eines Objekts, die durch den Sensor erfasst wird.
  2. Das Verfahren gemäß Anspruch 1, bei dem das Erfassen eines Musters das Analysieren eines Bildes aufweist, das von dem Sensor erhalten wird.
  3. Das Verfahren gemäß Anspruch 2, das ein Ändern eines Parameters aufweist, der der Betriebscodesequenz bereitgestellt wird, zumindest teilweise basierend auf einer Form eines Objekts, das das erkannte Muster berührt.
  4. Das Verfahren gemäß Anspruch 3, bei dem der Parameter eine Aktion bestimmen kann, die durch die Betriebscodesequenz durchgeführt wird.
  5. Das Verfahren gemäß Anspruch 1, das ein Aktivieren eines Programms aufweist, wenn ein Muster erfasst wird, das dem Programm zugeordnet ist.
  6. Das Verfahren gemäß Anspruch 1, das folgende Schritte aufweist: Erfassen, wenn das erkannte Muster aus dem Sichtfeld des Systems entfernt wird; und Durchführen von Schritten, um das Programm zu schließen.
  7. Ein Befehlseingabesystem, das folgende Merkmale aufweist: einen Prozessor; eine Anzeige; einen Sensor, der konfiguriert ist, um Eingabe von einem Volumen zu erhalten; ein Befehlsmodul, das konfiguriert ist, um den Prozessor anzuweisen, folgende Schritte durchzuführen: Identifizieren eines Befehls, zumindest teilweise basierend auf einem Bild, das in dem Volumen durch ein Mustererkennungsmodul identifiziert wird; und Bestimmen, ob der Befehl ausgewählt wurde, zumindest teilweise basierend auf einer Überschneidung des Musters und eines Objekts, die durch den Sensor erfasst wird.
  8. Das Befehlseingabesystem gemäß Anspruch 7, das eine Schablone aufweist, die eine Mehrzahl von Muster aufweist.
  9. Das Befehlseingabesystem gemäß Anspruch 8, bei dem ein Identifizierungsmuster in der Mehrzahl von Muster einer einer Mehrzahl von Anwendungen zugeordnet ist, und wenn das Mustererkennungsmodul das Identifizierungsmuster identifiziert, das Befehlsmodul das zugeordnete der Mehrzahl von Programmen startet.
  10. Das Befehlseingabesystem gemäß Anspruch 7, das ein Allzweck-Computersystem aufweist.
  11. Das Befehlseingabesystem gemäß Anspruch 8, bei dem die Mehrzahl von Muster in einem infrarotabsorbierenden Material gedruckt ist.
  12. Das Befehlseingabesystem gemäß Anspruch 7, bei dem das Objekt einen Schritt darstellt, der durch ein Programm durchgeführt werden kann.
  13. Das Befehlseingabesystem gemäß Anspruch 7, das einen unabhängigen Bildschirm mit einem zugeordneten Sensor aufweist.
  14. Ein nichtflüchtiges computerlesbares Medium, das Code aufweist, der konfiguriert ist, um einen Prozessor anzuweisen, folgende Schritte durchzuführen: Erfassen eines Musters, das im Sichtfeld eines Sensors platziert ist; Erkennen des Musters; Zuordnen des erkannten Musters zu einer Betriebscodesequenz; und Ausführen der Betriebscodesequenz zumindest teilweise basierend auf einer Überschneidung des erkannten Musters und eines Objekts, die durch den Sensor erfasst wird.
  15. Das nichtflüchtige computerlesbare Medium gemäß Anspruch 14, das Code aufweist, der konfiguriert ist, um den Prozessor anzuweisen, Bilder zu analysieren, die von dem Sensor erhalten werden.
DE112010005854T 2010-10-05 2010-10-05 Eingeben eines Befehls Withdrawn DE112010005854T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/051487 WO2012047206A1 (en) 2010-10-05 2010-10-05 Entering a command

Publications (1)

Publication Number Publication Date
DE112010005854T5 true DE112010005854T5 (de) 2013-08-14

Family

ID=45927996

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010005854T Withdrawn DE112010005854T5 (de) 2010-10-05 2010-10-05 Eingeben eines Befehls

Country Status (6)

Country Link
US (1) US20130187893A1 (de)
CN (1) CN103221912A (de)
DE (1) DE112010005854T5 (de)
GB (1) GB2498485A (de)
TW (1) TWI595429B (de)
WO (1) WO2012047206A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109876A (ja) * 2012-11-30 2014-06-12 Toshiba Corp 情報処理装置、情報処理方法及びプログラム
EP3149561B1 (de) * 2014-05-30 2019-08-21 Hewlett-Packard Development Company, L.P. Positionseingabe auf anzeigen
US20170351336A1 (en) * 2016-06-07 2017-12-07 Stmicroelectronics, Inc. Time of flight based gesture control devices, systems and methods

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW430774B (en) * 1996-11-26 2001-04-21 Sony Corp Information input method and apparatus
US5909211A (en) * 1997-03-25 1999-06-01 International Business Machines Corporation Touch pad overlay driven computer system
US6104604A (en) * 1998-01-06 2000-08-15 Gateway 2000, Inc. Modular keyboard
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US8035612B2 (en) * 2002-05-28 2011-10-11 Intellectual Ventures Holding 67 Llc Self-contained interactive video display system
US7173605B2 (en) * 2003-07-18 2007-02-06 International Business Machines Corporation Method and apparatus for providing projected user interface for computing device
CN1926497A (zh) * 2003-12-09 2007-03-07 雷阿卡特瑞克斯***公司 自主交互式视频显示***
US7664323B2 (en) * 2005-01-28 2010-02-16 Microsoft Corporation Scalable hash-based character recognition
KR100987248B1 (ko) * 2005-08-11 2010-10-12 삼성전자주식회사 이동 통신 단말의 사용자 입력 방법 및 장치
KR100631779B1 (ko) * 2005-10-07 2006-10-11 삼성전자주식회사 데이터 입력 장치 및 상기 장치를 이용한 데이터 입력 감지방법
KR101286412B1 (ko) * 2005-12-29 2013-07-18 삼성전자주식회사 다중기능 가상 사용자 입력 장치 및 방법
US7770118B2 (en) * 2006-02-13 2010-08-03 Research In Motion Limited Navigation tool with audible feedback on a handheld communication device having a full alphabetic keyboard
CN101589425A (zh) * 2006-02-16 2009-11-25 Ftk技术有限公司 将数据输入计算***的***和方法
KR100756521B1 (ko) * 2006-05-03 2007-09-10 포텍마이크로시스템(주) 유아 교육용 프로젝션 키보드 시스템 및 이를 이용한 키입력 방법
JP2009245392A (ja) * 2008-03-31 2009-10-22 Brother Ind Ltd ヘッドマウントディスプレイ及びヘッドマウントディスプレイシステム
WO2010042880A2 (en) * 2008-10-10 2010-04-15 Neoflect, Inc. Mobile computing device with a virtual keyboard
US20110307842A1 (en) * 2010-06-14 2011-12-15 I-Jen Chiang Electronic reading device

Also Published As

Publication number Publication date
WO2012047206A1 (en) 2012-04-12
GB2498485A (en) 2013-07-17
TW201222425A (en) 2012-06-01
CN103221912A (zh) 2013-07-24
GB201307602D0 (en) 2013-06-12
TWI595429B (zh) 2017-08-11
US20130187893A1 (en) 2013-07-25

Similar Documents

Publication Publication Date Title
CN105210012B (zh) 用于与触敏表面一起使用的虚拟工具
DE102009025236B4 (de) Schnittstellensystem zur Gestenerkennung mit einem lichtstreuenden Bildschirm
DE112010002760B4 (de) Benutzerschnittstelle
DE102009034413B4 (de) Erkennung zusammengesetzter Gesten
CN103270483B (zh) 具有手势识别单元的***
DE112017007804B4 (de) Mobiles Endgerät und Hochfrequenz-Fingerabdruck-Identifikationsvorrichtung und -verfahren dafür
DE102014018429A1 (de) Bildverarbeitungsvorrichtung, Steuerverfahren für taktile Wahrnehmung, und Aufzeichnungsmedium
DE102009023875A1 (de) Gestenerkennungsschittstellensystem mit vertikaler Anzeigefläche
DE112015002463T5 (de) Systeme und Verfahren zum gestischen Interagieren in einer im Umfeld vorhandenen Computerumgebung
DE102015107813A1 (de) Elektronisches Gerät und Fingerabdruck-Erkennungsverfahren
CN102270037B (zh) 徒手人机界面操作***及其方法
US20140161309A1 (en) Gesture recognizing device and method for recognizing a gesture
CN108781252B (zh) 一种图像拍摄方法及装置
DE112012006448T5 (de) Umsetzung einer Berührungseingabe in eine lokale Eingabe auf der Grundlage eines Umsetzungsprofils für eine Anwendung
JP5799817B2 (ja) 指位置検出装置、指位置検出方法及び指位置検出用コンピュータプログラム
TW201322049A (zh) 電子設備及其文本導讀方法
DE102015110955A1 (de) Informationsverarbeitungsvorrichtung zum Erfassen eines Objekts von einem Bild, Verfahren zum Steuern der Vorrichtung und Speichermedien
WO2016006090A1 (ja) 電子機器、方法及びプログラム
CN107797748B (zh) 虚拟键盘输入方法和装置及机器人
DE112010005854T5 (de) Eingeben eines Befehls
DE102012219129B4 (de) Verfahren zum Betreiben einer Vorrichtung, die eine Benutzerschnittstelle mit einem Berührungssensor aufweist, sowie entsprechende Vorrichtung
CN108363485B (zh) 非触摸屏显示终端的控制方法、装置、***和计算机设备
JP5756762B2 (ja) ジェスチャ認識装置及びそのプログラム
JP2013080433A (ja) ジェスチャ認識装置及びそのプログラム
CN106339089B (zh) 一种人机交互动作识别***及方法

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0003048000

Ipc: G06F0003042000

R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee