[go: up one dir, main page]

DE20122526U1 - Eine Vorrichtung zum Erfassen und Lokalisieren einer Interaktion eines Benutzerobjekts und virtuelle Übertragungsvorrichtung - Google Patents

Eine Vorrichtung zum Erfassen und Lokalisieren einer Interaktion eines Benutzerobjekts und virtuelle Übertragungsvorrichtung Download PDF

Info

Publication number
DE20122526U1
DE20122526U1 DE20122526U DE20122526U DE20122526U1 DE 20122526 U1 DE20122526 U1 DE 20122526U1 DE 20122526 U DE20122526 U DE 20122526U DE 20122526 U DE20122526 U DE 20122526U DE 20122526 U1 DE20122526 U1 DE 20122526U1
Authority
DE
Germany
Prior art keywords
plane
virtual
optical
user
optical system
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.)
Expired - Lifetime
Application number
DE20122526U
Other languages
English (en)
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.)
Celluon Inc Suwon
Celluon Inc
Canesta Inc
Original Assignee
Celluon Inc Suwon
Celluon Inc
Canesta Inc
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 Celluon Inc Suwon, Celluon Inc, Canesta Inc filed Critical Celluon Inc Suwon
Priority claimed from EP01970695A external-priority patent/EP1336172B1/de
Publication of DE20122526U1 publication Critical patent/DE20122526U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0421Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by interrupting or reflecting a light beam, e.g. optical touch-screen

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)
  • Position Input By Displaying (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

System, das es einem mit einer virtuellen Übertragungsvorrichtung verwendeten benutzermanipulierten Benutzerobjekt ermöglicht, Information an eine begleitende Vorrichtung zu übertragen, mit:
einer zentralen Prozessoreinheit, die einen Speicher umfasst, der zumindest eine Softwareroutine speichert;
einem ersten optischen System, das eine Ebene definiert, die im Wesentlichen parallel zu und beabstandet über einem angenommenen Gebiet der virtuellen Übertragungsvorrichtung ist;
einem zweiten optischen System, das ein relevantes Sichtfeld besitzt, welches zumindest Teile der Ebene umschließt und auf ein Eindringen des Benutzerobjekts in die Ebene anspricht, um mit der virtuellen Übertragungsvorrichtung zu interagieren;
einem Mittel zum Bestimmen der relativen Position eines Bereichs des Benutzerobjekts auf der Ebene;
wobei das System Information zu der begleitenden Vorrichtung überträgt, so dass das Benutzerobjekt mit der virtuellen Übertragungsvorrichtung den Betrieb der begleitenden Vorrichtung bewirken kann.

Description

  • BEZUGNAHME AUF FRÜHER EINGEREICHTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der anhängigen vorläufigen U.S. Patentanmeldung der Anmelderin mit der Nr. 60/287,115, die am 27. April 2001 eingereicht wurde mit dem Titel „Input Methods Using Planar Range Sensors", der anhängigen vorläufigen U.S. Patentanmeldung 60/272,120, die am 27. Februar 2001 eingereicht wurde mit dem Titel „Vertical Triangulation System for a Virtual Touch-Sensitive Surface", und der anhängigen U.S. provisional Patentanmeldung 60/231,184, die am 7. September 2000 eingereicht wurde mit dem Titel „Application of Image Processing Techniques for a Virtual Keyboard System". Ferner ist diese Anmeldung eine continuation-in-part aus der anhängigen U.S. Patentanmeldung mit der Nr. 09/502,499, die am 11. Februar 2000 eingereicht wurde mit dem Titel „Method And Apparatus for Entering Data Using A Virtual Input Device". Jede dieser Anmeldungen wird hiermit durch Bezugnahme aufgenommen.
  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft allgemein eine Vorrichtung zum Erkennen bzw. Erfassen einer Annäherung eines Stifts oder eines Benutzerfingers relativ zu einer Vorrichtung, um Befehle und/oder Daten einem System einzugeben oder zu diesem zu übertragen, und insbesondere betrifft es eine solche Erfassung relativ zu einer virtuellen Vorrichtung, die zur Eingabe oder zur Übertragung von Befehlen und/oder Daten und/oder anderen Informationen zu einem System benutzt wird.
  • HINTERGRUND DER ERFINDUNG
  • Es ist sehr häufig wünschenswert, virtuelle Eingabevorrichtungen zu verwenden, um Befehle und/oder Daten einzugeben und/oder andere Informationen zu elektronischen Systemen zu übertragen, bspw. zu einem Computersystem, einem Musikinstrument, oder sogar Telefonen. Obgleich Computer nun in nahezu Taschengröße realisiert werden können, kann das Eingeben von Daten oder Befehlen auf einer Minitastatur zeitaufwändig und fehleranfällig sein. Während viele Mobilfunktelefone heutzutage E-Mail-Kommunikation handhaben können, kann das tatsächliche Eingeben von Nachrichten unter Verwendung des kleinen Telefon-Touchpads schwierig sein.
  • Ein PDA besitzt bspw. sehr viel der Funktionalität eines Computers, leidet aber an einem kleinen oder nicht existierenden Keyboard bzw. Tastatur. Falls ein System verwendet werden könnte, um zu bestimmen, wenn der Finger eines Benutzers oder ein Stift eine virtuelle Tastatur berührte, und welche Finger welche virtuellen Tasten darauf berührten, könnte die Ausgabe des Systems vielleicht einem PDA anstelle der Tastatur-Information eingegeben werden. (Die Begriffe „Finger" oder „Finger" und „Stift" werden hier austauschbar verwendet.) Bei diesem Beispiel könnte eine virtuelle Tastatur ein Stück Papier sein, bspw. das sich auf die Größe einer Tastatur entfaltet, wobei Tasten aufgedruckt sind, um die Benutzerhände zu führen. Es versteht sich, dass die virtuelle Tastatur oder andere Eingabevorrichtungen einfach eine Arbeitsfläche darstellen und keine Sensoren oder mechanische oder elektronische Komponenten besitzen. Das Papier und die Tasten würden nicht tatsächlich Information eingeben, sondern die Interaktion oder Schnittstelle zwischen den Benutzerfingern und Bereichen des Papiers unterstützen. Falls kein Papier verwendet wird, könnten Bereiche einer Arbeitsfläche, wo Tasten existieren würden, zur Eingabe von Information in den PDA verwendet werden. Eine ähnliche virtuelle Vorrichtung und ein System könnten nützlich sein, um E-Mail in Mobiltelefone einzugeben. Eine virtuelle klavierähn liche Tastatur könnte verwendet werden, um ein reales Musikinstrument zu spielen. Die Herausforderung besteht jedoch darin, zu detektieren oder erfassen, wo die Benutzerfinger oder ein Stift relativ zu der virtuellen Vorrichtung sind.
  • US-Patent 5,767,848 von Korth (1998) mit dem Titel „Method and Device For Optical Input of Commands or Data" versucht, virtuelle Vorrichtungen zu implementieren, indem eine zweidimensionale TV-Videokamera eingesetzt wird. Solche optischen Systeme beruhen auf Beleuchtungsdaten und erfordern eine stabile Umgebungslicht-Quelle, allerdings können unglücklicherweise Beleuchtungsdaten ein Abbildungs-System stören. Beispielsweise kann ein Benutzerfinger im Abbildungs-Vordergrund nicht unterscheidbar sein von Bereichen im Hintergrund. Ferner könnten Schatten oder andere bildblockierende Phänomene, die sich aus der die virtuellen Vorrichtung behindernden Benutzerhand resultieren, die Umsetzung eines Korth-Systems im Betrieb etwas unpräzise erscheinen lassen. Korth würde ebenfalls die Prüfung der Kontur eines Benutzerfingers, die Fingerposition relativ zu der virtuellen Vorrichtung und eine Bestimmung der Fingerbewegung erfordern.
  • US-Patent Nr. ... von Bamji et al. (2001) mit dem Titel „CMOS-Compatible Three-Dimensional Image Sensor IC", mit der Anmeldenummer 09/406,059, eingereicht am 22. September 1999, offenbart ein weit entwickeltes dreidimensionales Abbildungs-System, das virtuelle Vorrichtungen verwendet, um Befehle und Daten in elektronische Systeme einzugeben. Bei diesem Patent waren verschiedene Entfernungsmessungssysteme offenbart, die verwendet werden könnten, um die Schnittstelle zwischen einer Benutzerfingerspitze und einer virtuellen Eingabevorrichtung, bspw. einer Tastatur zu erfassen. Die Abbildung wurde dreidimensional erfasst, indem Laufzeitmessungen verwendet werden. Eine Lichtquelle emittierte optische Energie in Richtung eines Zielobjekts, bspw. eine virtuelle Vorrichtung, und die Energie, die von Bereichen des Objekts innerhalb des Abbildungs-Pfads reflektiert wurde, wurde von einer Gruppe von Photodioden erfasst. Indem verschiedene hochentwickelte Techniken verwendet werden, wurde die aktuelle Laufzeit zwischen den Emissionen der optischen Energie und deren Erfassung durch die Photodiodengruppe bestimmt. Diese Messung erlaubte die Berechnung der Vektorentfernung zu dem Punkt auf dem Zielobjekt in drei Dimensionen, bspw. (x, y, z). Das beschriebene System prüfte die reflektierte emittierte Energie und konnte ohne Umgebungslicht funktionieren. Falls bspw. das Zielobjekt ein Layout einer Computertastatur wäre, vielleicht ein Stück Papier mit aufgedruckten Tasten, könnte das System erfassen, welcher Benutzerfinger welchen Bereich auf dem Ziel, bspw. welche virtuelle Taste, in welcher Reihenfolge berührte. Selbstverständlich wäre das Stück Papier optional und würde zur Führung der Benutzerfinger verwendet werden.
  • Dreidimensionale Daten, die mit der Bamji-Erfindung erhalten werden, könnten per Software verarbeitet werden, um die Benutzerfinger zu lokalisieren, wenn sie in Kontakt mit einer Berührungs-Fläche kämen, bspw. einer virtuellen Eingabevorrichtung. Die Software könnte den Fingerkontakt mit einem Ort auf der Fläche als eine Anforderung identifizieren, ein Tastatur-Event einer Anwendung einzugeben, die auf der verknüpften elektronischen Vorrichtung oder dem System abläuft, bspw. ein Computer, ein PDA, ein Mobilfunkgerät, eine Kioskvorrichtung, eine Kassenvorrichtung, etc. Während das Bamji-System arbeitete und eingesetzt werden könnte, um Befehle und/oder Daten in ein Computersystem einzugeben, in dem eine dreidimensionale Abbildung verwendet wird, um die Schnittstelle von Benutzerfingern und einer virtuellen Eingabevorrichtung zu analysieren, ist ein weniger komplexes und vielleicht weniger hochentwickeltes System wünschenswert. Wie das Bamji-System sollte ein solches neues System relativ kostengünstig für eine Massenproduktion sein und sollte relativ wenig Energie verbrauchen, so dass ein Batteriebetrieb leicht möglich ist.
  • Die vorliegende Erfindung stellt ein solches System bereit.
  • ZUSAMMENFASSUNG DER VORLIEGENDEN ERFINDUNG
  • Die vorliegende Erfindung lokalisiert eine Interaktion zwischen einem Benutzerfinger oder einem Stift und einer passiven Berührungs-Fläche (bspw. einer virtuellen Eingabevorrichtung), die oberhalb einer Arbeitsfläche definiert ist, indem eine planare quasi dreidimensionale Erfassung verwendet wird. Die quasi dreidimensionale Erfassung impliziert, dass die Bestimmung eines Interaktionspunkts im Wesentlichen in drei Dimensionen ausgeführt werden kann, indem als Referenz eine zweidimensionale Fläche verwendet wird, die beliebig im dreidimensionalen Raum orientiert ist. Sobald eine Berührung erfasst wird, lokalisiert die Erfindung das Berührungs-Gebiet, um festzulegen, wo auf einer virtuellen Eingabevorrichtung die Berührung stattfand, und welche Daten oder Befehlstastenfolgen, entsprechend dem lokalisierten Gebiet, das berührt wurde, in Antwort auf die Berührung ausgeführt werden soll. Alternativ könnte die virtuelle Eingabevorrichtung eine virtuelle Maus oder ein Trackball umfassen. Bei einer solchen Ausführungsform würde die vorlie gende Erfindung die Koordinaten des Berührungs-Punktes mit der virtuellen Eingabevorrichtung erfassen und berichten, welche Koordinaten mit einer Anwendung verknüpft sind, vielleicht um einen Cursor auf einem Display (bei einer virtuellen Maus oder einer Trackball-Implementierung) bewegen und/oder sog. digitale Tinte für eine Zeichnung oder eine Schreibanwendung aufbringen zu können (ein virtueller Füller oder eine Stiftanwendung). In verschiedenen Ausführungsformen werden vorzugsweise Triangulationsanalyseverfahren verwendet, um zu bestimmen, wo eine „Berührung" von Benutzer und Objekt mit der virtuellen Eingabevorrichtung auftritt.
  • Bei einer Ausführungsform mit sog. strukturiertem Licht umfasst die Erfindung ein erstes optisches System (OS1), das eine Ebene von optischer Energie erzeugt, die einen Fächerstrahl eines Strahlwinkels ϕ parallel zu und in einem kleinen Abstand ΔY über der Arbeitsfläche erzeugt, auf der die virtuelle Eingabevorrichtung definiert werden könnte. Bei dieser Ausführungsform ist die interessierende Ebene die Ebene des Lichts, das von OS1 erzeugt wird, typischerweise einem Laser oder einem LED-Lichtgenerator. Die zwei parallelen Ebenen können typischerweise horizontal sein, können jedoch auch vertikal liegen oder jeden anderen beliebigen und geeigneten Winkel besitzen. Die Erfindung umfasst ferner ein zweites optisches System (OS2), das auf optische Energie der gleichen Wellenlänge anspricht, wie von OS1 emittiert wird. Vorzugsweise ist die OS2 über OS1 angeordnet und angewinkelt mit einem Offsetwinkel von θ relativ zu der Fächerstrahlebene, in Richtung des Bereichs, wo die virtuelle Eingabevorrichtung definiert ist. OS2 spricht auf Energie an, die von OS1 emittiert wird, wobei die Wellenlänge der optischen Energie aber nicht für Menschen sichtbar sein muss.
  • Die Erfindung kann auch implementiert werden, indem Konfigurationen mit nicht strukturiertem Licht verwendet werden, die aktiv oder passiv sein können. Bei einer passiven Triangulationsausführungsform ist OS1 eine Kamera und nicht eine aktive Quelle optischer Energie, und OS2 ist eine Kamera, die auf die gleiche optische Energie wie OS1 anspricht und vorzugsweise wie zuvor beschrieben angeordnet ist. Bei einer solchen Ausführungsform ist die interessierende Ebene die Projektionsebene einer Abtastlinie der OS1-Kamera. Bei einer Ausführungsform mit nicht strukturiertem Licht, wie bspw. einer aktiven Triangulationsausführungsform, sind OS1 und OS2 Kameras und die Erfindung umfasst ferner eine aktive Lichtquelle, die optische Energie mit Wellenlängen emittiert, auf die OS1 und OS2 ansprechen. Optional bei einer solchen Ausführungsform können OS1 und OS2 jeweils einen Shutter-Mechanismus bzw. Verschluss- oder Blendenmechanismus umfassen, der synchronisiert ist, um die aktive Lichtquelle derart auszugeben, dass die Verschlüsse in OS1 und OS2 offen sind, wenn optische Energie emittiert wird, und die ansonsten geschlossen sind. Ein Vorteil einer Konfiguration mit nicht strukturiertem Licht, die zwei Kameras verwendet, besteht darin, dass Unebenheiten oder Unregelmäßigkeiten auf der Arbeitsfläche besser toleriert werden. Die Ebene, die durch OS1 definiert wird, kann ausgewählt werden, indem eine passende Reihe von OS1-Erfassungspixelelementen gewählt wird, um mit dem höchsten Punkt in der y-Dimension (bspw. ein Hügel) der Arbeitsfläche übereinzustimmen.
  • Bei der Ausführungsform mit strukturiertem Licht wird OS2 die optische Energie nicht detektieren bis ein Objekt, bspw. ein Benutzerfinger oder ein Stift, beginnt, das Arbeitsflächengebiet zu berühren, auf dem die virtuelle Eingabevorrichtung definiert ist. Sobald jedoch das Objekt die Ebene der optischen Energie durchdringt, die von OS1 emittiert wird, wird der Bereich des Fingers oder des Stifts, der die Ebene schneidet, beleuchtet werden (sichtbar oder unsichtbar für den Benutzer). OS2 erfasst das Durchschneiden bzw. Durchkreuzen der interessierenden Ebene, indem die optische Energie erfasst wird, die in Richtung OS2 durch Beleuchten des Objektgebiets reflektiert wird. Im Wesentlichen ist nur eine Ebene für die vorliegende Erfindung von Interesse, die durch die Konfiguration von OS1 bestimmt wird, und alle anderen Ebenen, die im dreidimensionalen Raum parallel zu der virtuellen Eingabevorrichtung definierbar wären, können als irrelevant ignoriert werden. Somit erfasst ein planares dreidimensionales Sensorsystem Benutzerinteraktionen mit einer virtuellen Eingabevorrichtung, die in der Ebene des emittierten Fächerstrahls auftreten, und ignoriert jegliche Interaktionen mit anderen Ebenen.
  • Auf diese weise erfasst bzw. erkennt die vorliegende Erfindung, dass ein Objekt die virtuelle Eingabevorrichtung berührt hat. Indem erfasst wird, dass eine relevante Berührungs-Durchkreuzung aufgetreten ist, lokalisiert dann die Erfindung in zwei Dimensionen den Ort der Berührung auf der Ebene der virtuellen Vorrichtung. Bei der bevorzugten Implementierung können lokalisierte Vorgänge das Identifizieren umfassen, welche virtuellen Tasten auf einer virtuellen Computertastatur oder einem Musikkeyboard von dem Benutzer berührt werden. Der Benutzer kann mehr als eine virtuelle Taste gleichzeitig berühren, bspw. die „Shift"-Taste und eine andere Taste. Es ist ebenfalls anzumerken, dass die zeitliche Reihenfolge der Berührungen durch die vorliegende Erfindung bestimmt wird. Falls somit der Benutzer virtuelle Tasten für „Shift" und „t" berührt und dann für die Buchstaben „h" und dann „e", wird die vorliegende Erfindung erkennen, dass „T" dann „h" und dann „e", oder „The" eingegeben wurde. Es versteht sich, dass die vorliegende Erfindung sich nicht auf Umgebungslicht stützt und dass sie ebenfalls bei nicht vorhandenem Umgebungslicht voll funktionsfähig ist unter der Annahme, dass der Benutzer den Ort der virtuellen Eingabevorrichtung kennt.
  • Passive Triangulationsverfahren mit strukturiertem Licht und/oder nicht strukturiertem Licht können verwendet werden, um einen Berührungs- bzw. Kontaktpunkt (x, z) zwischen einer Benutzerhand und der Erfassungsebene zu bestimmen. Da die Basislinienentfernung B zwischen OS1 und OS2 bekannt ist, wird ein Dreieck zwischen OS1, OS2 und dem Punkt (x, z) gebildet, dessen Seiten B sind, und die Projektionsstrahlen R1 und R2 von OS1, OS2 bis (x, z). OS1 und OS2 ermöglichen die Bestimmung einer Dreieckwinkelentfernung von einer Referenzebene sowie der Winkel α1 und α2, die durch die Projektionsstrahlen gebildet werden, und die Trigonometrie führt zu dem Abstand z zu dem Oberflächenpunkt (x, z) sowie zu den Projektionsstrahllängen.
  • Eine Prozessoreinheit, die mit der vorliegenden Erfindung verknüpft ist, führt Software aus, um jeden Schnittpunkt eines benutzergesteuerten Objekts mit der virtuellen Eingabevorrichtung zu identifizieren und daraus die richtigen vom Benutzer gewünschten Eingangsdaten und/oder Befehle zu bestimmen, vorzugsweise indem eine Triangulationsanalyse verwendet wird. Die Daten und/oder Befehle können dann von der vorliegenden Erfindung als Eingangssignale in eine Vorrichtung oder ein System eingegeben werden, für die bzw. das die virtuelle Eingabevorrichtung verwendet wird. Falls gewünscht, kann die vorliegende Erfindung innerhalb der begleitenden Vorrichtung (engl.: companion device) oder Systems implementiert werden, insbesondere in PDAs, Mobilfunkgeräten und anderen kleinbauenden Vorrichtungen oder Systemen, denen es häufig an einer großen Benutzereingabevorrichtung, wie bspw. einer Tastatur mangelt.
  • Andere Merkmale und Vorteile der Erfindung werden aus der nachfolgenden Beschreibung klar, in der die bevorzugten Ausführungsformen im Detail ausgeführt sind, in Verbindung mit den begleitenden Zeichnungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A zeigt ein planares quasi dreidimensionales Erfassungssystem mit strukturiertem Licht, das verwendet wird, um eine Benutzereingabe auf einer virtuellen Eingabevorrichtung zu erfassen, entsprechend der vorliegenden Erfindung;
  • 1B zeigt ein planares quasi dreidimensionales Erfassungssystem mit nicht strukturiertem aktivem Licht, das verwendet wird, um eine Benutzereingabe auf einer virtuellen Eingabevorrichtung zu erfassen, entsprechend der vorliegenden Erfindung;
  • 1C zeigt ein planares quasi dreidimensionales Erfassungssystem mit nicht strukturiertem passivem Licht, das verwendet wird, um Benutzereingaben auf einer virtuellen Eingabevorrichtung zu erfassen, entsprechend der vorliegenden Erfindung;
  • 2A zeigt die Geometrie, die mit der Ortsbestimmung verknüpft ist, indem Triangulation verwendet wird, entsprechend der vorliegenden Erfindung;
  • 2B zeigt den Einsatz eines optischen Emitters und eines davon beabstandeten Reflektors, als ein erstes optisches System, entsprechend der vorliegenden Erfindung;
  • 3A3E zeigen Designkompromisse, die mit variierenden Ausrichtungen des OS2-Sensors, der OS2-Linse und der Erfassungsebene bei wirksamen Sichtfeld und Bildqualität verknüpft sind, entsprechend der vorliegenden Erfindung;
  • 4 ist ein Blockdiagramm, das Funktionen darstellt, die von einer Prozessoreinheit in dem beispielhaften System von 1B ausgeführt werden, entsprechend einer Ausführungsform der vorliegenden Erfindung;
  • 5A zeigt eine Ausführungsform, bei der die virtuelle Vorrichtung vier benutzerwählbare Gebiete aufweist und die begleitende Vorrichtung ein Monitor ist, entsprechend der vorliegenden Erfindung;
  • 5B zeigt eine Ausführungsform, bei der die virtuelle Vorrichtung eine Computertastatur und die begleitende Vorrichtung ein Mobilfunksender/Empfänger ist entsprechend der vorliegenden Erfindung;
  • 5C zeigt eine Ausführungsform, bei der die virtuelle Vorrichtung auf einer Wand befestigt oder projiziert ist und die begleitende Vorrichtung ein Monitor ist, entsprechend der vorliegenden Erfindung;
  • 6 zeigt eine planare Entfernungsmessung entsprechend der vorliegenden Erfindung; und
  • 7 zeigt Koordinatenentfernungsmessungen, die bei einer beispielhaften Berechnung eines Berührungsorts verwendet werden, zur Verwendung bei der Ausgabe entsprechender Information oder Daten oder Befehle, entsprechend der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 1A zeigt eine bevorzugte Ausführungsform eines quasi planaren dreidimensionalen Erfassungssystems 10 mit – in einer Ausführungsform mit strukturiertem Lichtsystem – einem ersten optischen System (OS1) 20, das eine Fächerstrahlebene 30 von optischer Energie parallel zu einer planaren Arbeitsfläche 40 emittiert, auf welcher Arbeitsfläche eine virtuelle Eingangsvorrichtung 50 und/oder 50' und/oder 50'' definiert ist. Vorzugsweise definiert der Fächerstrahl einen Fächerwinkel ϕ und ist von der Arbeitsfläche um einen kleinen Entfernungsabstand ΔY beabstandet. Ein Objekt (bspw. ein Benutzerfinger oder Stift), der versucht, die Arbeitsfläche zu berühren, muss als Erstes den Fächerstrahl berühren und wird dadurch mit der ausgestrahlten optischen Energie beleuchtet (sichtbar oder nicht sichtbar). Während die Fächerstrahlebene 30 und die Arbeitsflächenebene 40 horizontal angeordnet in 1A gezeigt sind, können diese beiden Ebenen auch vertikal oder tatsächlich in jedem anderen Winkel angeordnet sein, der für ein System gewünscht wird. Es sei angemerkt, dass ohne Einschränkung eine Arbeitsfläche 40 ein Teil eines Schreibtisches, eine Tischoberfläche, ein Teil eines Fahrzeugs, bspw. ein Tablett in einem Flugzeug, eine Windschutzscheibe oder ein Armaturenbrett, eine Wand, ein Display mit einer projizierten Abbildung oder ein Display, wie bspw. ein CRT, ein LCD, sein könnte. Hier wird der Begriff „Ebene" so verstanden, dass er eine Untermenge einer gesamten Ebene einschließt. Beispielsweise wird die Fächerstrahlebene 30 als eine Ebene bezeichnet, obgleich sie eine endliche Breite besitzt und sich nicht in alle Richtungen endlich erstreckt.
  • Mit „virtuelle Eingabevorrichtung" ist gemeint, dass eine Abbildung einer Eingabevorrichtung auf der Arbeitsfläche 40 vorhanden sein kann, vielleicht durch Platzieren eines Papiers, das ein gedrucktes Bild trägt, oder vielleicht durch ein System 10, das ein sichtbares Bild der Eingabevorrichtung auf die Arbeitsfläche projiziert, oder es effektiv kein irgendwie sichtbares Bild auf der Arbeitsfläche 40 gibt. Die virtuelle Eingabevorrichtung 50, 50', 50'' erfordert keine mechanischen Teile, wie Bedientasten und muss nicht auf die Berührung durch einen Finger oder einen Stift ansprechen; kurz gesagt, die virtuelle Eingabevorrichtung ist vorzugsweise passiv.
  • In dem Beispiel von 1A ist die virtuelle Eingabevorrichtung 50 eine Computertastatur, die volle Größe haben kann oder vergrößert oder verkleinert gegenüber einer üblich dimensio nierten Tastatur sein kann. Falls gewünscht, kann die virtuelle Eingabevorrichtung einen virtuellen Trackball 50' und/oder ein virtuelles Touchpad 50'' enthalten oder umfassen. Wenn das System 10 mit einer virtuellen Tastatur-Eingabevorrichtung 50, oder einem virtuellen Trackball 50' oder einem virtuellen Touchpad 50'' verwendet wird, wird ein Fächerwinkel ϕ von etwa 50° bis 90° und vorzugsweise etwa 90° gewährleisten, so dass der Fächerstrahl 30 die gesamte virtuelle Eingabevorrichtung in üblich verwendeten Entfernungen umgeben wird. Bei einer solchen virtuellen Eingabevorrichtung hat sich ein Entfernungsabstand ΔY von bis zu einigen wenigen mm, vorzugsweise etwa 1 mm als sehr gut herausgestellt.
  • Das System 10 umfasst ferner ein zweites optisches System (OS2) 60, typischerweise eine Kamera mit einem ebenen Sensor, die vorzugsweise beabstandet von und über OS1 20 angeordnet ist und in Richtung der Arbeitsfläche 40 und der Ebene 30 in einem Winkel θ, von etwa 10° bis etwa 90°, und vorzugsweise etwa 25° geneigt ist. Das System 10 umfasst ferner ein elektronisches Verarbeitungssystem 70, das neben anderen Aufgaben OS1 und OS2 überwacht. Das System 70 umfasst vorzugsweise zumindest eine zentrale Prozessoreinheit (CPU) und zugehörigen Speicher, der Read-only-Memory bzw. Nur-Lesespeicher (ROM) und Random Access Memory bzw. Speicher mit wahlfreiem Zugriff (RAM) umfassen kann.
  • In 1A sind System 10-Elemente OS1 20, OS2 60 und die Prozessoreinheit 70 gezeigt, wobei sie auf oder in einer Vorrichtung 80 angeordnet sind. Die Vorrichtung 80 kann als Stand-Alone-Implementierung des Systems 10 ausgeführt sein oder kann tatsächlich ein System oder eine Vorrichtung sein, für die die virtuelle Eingabevorrichtung 50 zur Eingabe von Daten oder Befehlen benutzt wird. Im letztgenannten Fall kann die Vorrichtung 80 ohne Einschränkung ein Computer, ein PDA (wie in 1A gezeigt), ein Mobilfunktelefon, ein Musikinstrument, etc. sein. Falls das System oder die Vorrichtung 80 nicht von der virtuellen Eingabevorrichtung gesteuert wird, kann die Vorrichtung 90, die so gesteuert wird, elektrisch mit dem System/Vorrichtung 80 gekoppelt sein, um Daten und/oder Befehlseingaben von der virtuellen Vorrichtung 50 zu empfangen. Wenn die virtuelle Vorrichtung ein Trackball (oder Maus) 50' oder ein Touchpad 50'' ist, kann die Benutzerinteraktion mit einer solchen virtuellen Vorrichtung direkt Rohinformation oder Daten ausgeben, die Berührungs-Koordinaten (x, z) zur Verwendung durch die Vorrichtung 80 umfassen. Beispielsweise könnte die Benutzerinteraktion mit der virtuellen Eingabevorrichtung 50' oder 50'' eine Neupositionierung eines Cursors 160 auf einem Display 140 sein oder könnte eine Anwendung ändern, die von der Vorrichtung 80 ausgeführt wird, oder könnte einen Ort für eine sog. digitale Tinte 180 festlegen, der dem nachfolgt, was ein Benutzer „schreibt", indem eine virtuelle Maus oder Trackball 50' verwendet wird, oder ein Stift 120' verwendet wird oder ein virtuelles Touchpad 50''. Das System/die Vorrichtung 90 kann elektrisch mit dem System 80 über ein Medium 100 gekoppelt sein, das ohne Einschränkung Leitungen umfassen kann oder drahtlos aufgebaut sein kann oder ein Netzwerk einschließlich des Internets sein kann.
  • Bei einer Ausführungsform mit strukturiertem Licht emittiert OS1 20 optische Energie in einem Fächerstrahl 30 parallel zu der x-z Ebene 30. OS1 kann einen Laserzeilengenerator oder einen LED Zeilengenerator aufweisen, obgleich andere optische Energiequellen verwendet werden könnten, um die Ebene 30 auszustrahlen. Ein Zeilengenerator OS1 wird so benannt, da er eine Ebene von Licht ausstrahlt die, wenn von einer zweiten Ebene geschnitten, beleuchtet, was OS2 als eine Zeile auf der zweiten Ebene sehen würde. Beispielsweise falls ein zylindrisches Objekt Ebene 30 schneiden würde, würde OS2 diesen Vorgang als einen beleuchteten Abschnitt eines elliptischen Bogens sehen, dessen Aspekt-Verhältnis abhängen würde von dem Abstand von OS2 über der Ebene 30 und der Oberfläche 40. Somit bemerkt die Erfassung durch OS2 eines elliptischen Bogens auf der Ebene 30 einen Berührungs-Vorgang, bspw. dass ein Objekt, wie bspw. 120R die Ebene 30 berührt oder durchdrungen hat, wobei Umgebungslicht ausgeschlossen wird. Obgleich eine Vielzahl von optischen Emittern verwendet wird, könnte eine Laserdiode, die etwa 3 mW Durchschnittsleistung mit einer Wellenlänge von etwa 300 nm bis vielleicht 1000 nm ausgibt, verwendet werden. Während die Umgebungslichtwellenlängen (bspw. etwa 350 nm bis 700 nm) verwendet werden könnten, könnten die Wirkungen des Umgebungslichts minimiert werden, ohne Filtern oder ohne Blenden bzw. Verschlüsse, falls solche Wellenlängen vermieden werden. Somit könnten Wellenlängen von etwa 600 nm (sichtbares Rot) bis etwa 1000 nm (tiefes Infrarot) verwendet werden. Eine Laserdiode, die optische Energie bei einer Wellenlänge von 850 nm ausgibt, würde einen ökonomischen Emitter darstellen, obgleich OS2 bevorzugt einen Filter zur Reduzierung der Wirkungen des Umgebungslichts umfassen würde.
  • Während OS1 in einer Ausführungsform mit strukturiertem Licht vorzugsweise stationär ist, versteht sich, dass ein Fächerstrahl 30 durch mechanisches Schwenken einer einzelnen emittierten Zeile optischer Energie erzeugt werden könnte, um die Fächerstrahlebene 30 zu definieren. Wie in 2B gezeigt, kann OS1 tatsächlich einen optischen Energieemitter 20-A umfassen, der einen Fächerstrahl emittiert, und einen reflektierenden Spiegel 20-B, der den Fächerstrahl 30 im Wesentlichen parallel zu der Fläche 40 richtet. Für die vorliegende Erfindung kann bei der Ausführungsform mit strukturiertem Licht die optische Energie, die von OS1 20 emittiert wird, für Menschen sichtbar oder unsichtbar sein. OS2 60 umfasst vorzugsweise ein Kamerasystem, das auf optische Energie der Wellenlänge anspricht, die von OS1 20 emittiert wird. Unter „Ansprechen" ist gemeint, dass OS2 Energie der gleichen Wellenlänge erkennt, die von OS1 emittiert wird, und Idealerweise Energie nicht erkennt oder darauf nicht anspricht, die sich wesentlich von der Wellenlänge unterscheidet. Beispielsweise kann OS2 ein Filtersystem umfassen, derart, dass optische Energie der Wellenlänge, die nicht die von OS1 emittierte Wellenlänge ist, nicht detektiert wird, bspw. ein Farbfilter.
  • Falls gewünscht, könnte OS2 im Wesentlichen nur auf optische Energie ansprechen, die von OS1 emittiert wird, indem OS1 und OS2 synchron gleichzeitig ein- und ausgeschaltet werden, bspw. unter der Kontrolle der Einheit 70. OS1 und OS2 würden vorzugsweise Blenden, bzw. Verschlussmechanismen umfassen, die als Elemente 22 dargestellt sind, die funktional in synchroner Weise öffnen und schließen. Das elektronische Verarbeitungssystem 70 könnte bspw. synchron OS1, OS2 oder die Verschlussmechanismen 22 für eine Zeitperiode t1 mit einem gewünschten Taktverhältnis einschalten, wobei t1 etwa im Bereich von etwa 0,1 ms bis etwa 35 ms liegt und würde dann OS1 und OS2 ausschalten. Falls gewünscht, könnte OS1 immer betrieben werden, wenn die Ebene 30 nur strahlen kann, wenn der Verschluss 22 vor OS1 20 offen ist. In den verschiedenen Verschlusskonfigurationen beträgt die Wiederholungsrate des synchronen Schaltens vorzugsweise etwa 20 Hz bis etwa 300 Hz, um eine adäquate Bilddatenerfassungsgeschwindigkeit zu unterstützen. Um Betriebsleistung zu sparen und Berechnungsoverhead zu reduzieren, stellt eine Wiederholungsrate von etwa 30 Hz bis 100 Hz eine akzeptable Geschwindigkeit dar. Selbstverständlich können andere Vorrichtungen und Verfahren ebenfalls verwendet werden, um zu gewährleisten, dass OS2 im Wesentlichen nur auf optische Energie anspricht, die von OS1 emittiert wird. Zur Vereinfachung der Darstellung sind die Verschlüsse 22 als mechanische Elemente dargestellt, aber in der Praxis wird das Konzept der Verschlüsse 22 so verstanden, dass es ein- und ausschaltende Lichtquellen und Kameras in jeglicher Variation umfasst.
  • Falls gewünscht, könnten eine Quelle oder Quellen optischer Energie, die bei der vorliegenden Erfindung verwendet werden, ausgelegt werden, um eine sog. Signatur zu tragen, um zu ermöglichen, dass solche Energie besser von der Umgebungslichtenergie unterschieden werden kann. Beispielsweise könnten solche Quellen moduliert werden mit einer festen Frequenz, so dass Kameras oder andere Sensoreinheiten, die bei der vorliegenden Erfindung verwendet werden, leichter solche Energie erkennen können, während die Umgebungslichtenergie aufgrund des Fehlens einer solchen Signatur im Wesentlichen zurückgewiesen werden würde, wobei dieses Beispiel nicht einschränkend ist. Kurz gesagt, können Signaturtechniken, wie bspw. die Wellenlängenauswahl für optische Energie, die sich von Umgebungslicht unterscheidet, Techniken, die synchronen Betrieb der Lichtquellen und der Kamerasensoren umfassen, und modulierte oder anders markierte Lichtquellenenergie, jeweils das Signal/Rauschver hältnis der Information verbessern, die von der vorliegenden Erfindung erlangt wird.
  • Es sei angemerkt, dass keine Forderung bzw. Notwendigkeit besteht, die Arbeitsfläche 40 mit Bezug auf die Wellenlänge reflektierend oder nicht reflektierend zu machen, welche Wellenlänge von OS1 emittiert wird, da der Fächerstrahl oder jede andere Emission von optischer Energie die Oberfläche als solche nicht erreicht. Es sei auch angemerkt, dass die virtuelle Eingabevorrichtung bevorzugt vollständig passiv ist. Da die Vorrichtung 50 passiv ist, kann sie größenmäßig so dimensioniert sein, dass sie kleiner ist als eine volldimensionierte Vorrichtung, falls notwendig. Ferner sind die Kosten für eine passive virtuelle Eingabevorrichtung Null, insbesondere falls die „Vorrichtung" einfach ein Blatt Papier ist, das ein graphisches Bild einer aktuellen Eingabevorrichtung trägt.
  • In 1A sei zunächst angenommen, dass der Benutzer des Systems 10 nicht in der Nähe der virtuellen Eingabevorrichtung 50 ist. Bei einer Ausführungsform mit strukturiertem Licht, erfasst OS2 nichts, obgleich OS1 eine Fächerstrahlebene optischer Energie 30 emittieren kann, da kein Objekt die Ebene 30 schneidet. Es sei nun angenommen, dass ein Abschnitt 110 eines Fingers der linken oder rechten Hand 120L, 120R eines Benutzers sich nach unten bewegt, um einen Bereich des Gebiets der Arbeitsfläche 40 zu berühren, auf der die virtuelle Eingabevorrichtung 50 definiert ist. Alternativ könnte ein Bereich 110' eines vom Benutzer kontrollierten Stifts 120' nach unten bewegt werden, um einen relevanten Bereich der Arbeitsfläche 40 zu berühren. Innerhalb des Kontexts der vorliegenden Erfindung wird eine Berührung durch Software interpretiert, die mit der Erfindung verknüpft ist, als eine Anforderung, ein Tastatur-Event an eine Anwendung zu senden, die auf einer begleitenden Vorrichtung oder einem System 80 oder 90, bspw. ein Notebook, ein PDA, ein Mobilfunkgerät, eine Kiosk- bzw. Verkaufsstand-Vorrichtung, eine Kassenvorrichtung, etc. abläuft.
  • In 1A wird, da der Finger des Benutzers sich nach unten bewegt und beginnt, die optische Energieebene 30 zu schneiden, ein Bereich der Fingerspitze, die OS1 zugewandt ist, nun optische Energie 130 reflektieren. Zumindest etwas der reflektierten optischen Energie 130 wird durch OS2 erfasst, da die Wellenlänge der reflektierten Energie die gleiche ist wie die Energie, die von OS1 emittiert wird, und OS2 auf Energie einer solchen Wellenlänge anspricht. Somit erfasst das planare quasi dreidimensionale Erfassungssystem 10 optische Energie, die durch die Interaktion eines von einem Benutzer gesteuerten Objekts (bspw. ein Finger, ein Stift, etc.) reflektiert wird, wobei die Interaktion an einer interessierenden Ebene auftritt, die von der Fächerstrahlebene 30 definiert wird. Jegliche Interaktion, die auf jeder anderen Ebene auftritt, wird als nicht relevant betrachtet und kann von der vorliegenden Erfindung ignoriert werden.
  • Ist somit ein Objekt, wie bspw. ein Bereich einer Benutzerhand oder vielleicht eines Stifts die optische Energieebene 30, die von OS1 emittiert wird, schneidet, gibt es somit keine reflektierte optische Energie 130, die von OS2 60 erfasst werden kann. Unter solchen Bedingungen weiß das System 10, dass keine Benutzereingabe vorgenommen wird. Sobald jedoch die optische Energieebene durchdrungen wird, wird das Einschneiden des eindringenden Objekts (bspw. Fingerspitze, Stiftspitze, etc.) von OS2 60 erfasst, und der Ort (x, z) des Eindringens kann durch die Prozessoreinheit 70 bestimmt werden, die mit dem System 10 verknüpft ist. In 1A kann, falls der linke Zeigefinger des Benutzers den Bereich der virtuellen Eingabevorrichtung 50, der mit den Koordinaten (x7, z3) definiert ist, berührt, dann die mit der Erfindung verknüpfte Software bestimmen, dass der Buchstabe „t" „gedrückt" wurde. Da keine „Shift-Taste" ebenfalls gedrückt wurde, würde der gedrückte Buchstabe als „t" verstanden werden.
  • Bei der gezeigten Ausführungsform kann das System 10 Tastenfolgen generieren und dem System 80 oder 90 eingeben, die Daten und/oder Befehle darstellen, die ein Benutzer auf einem tatsächlichen Keyboard eingegeben hätte. Eine solche Eingabe in ein System 80 oder 90 kann verwendet werden, um Information 140 auf einem Display 150 darzustellen, wenn die Information von dem Benutzer auf einer virtuellen Eingabevorrichtung 50 eingegeben wird. Falls gewünscht, könnte ein vergrößertes Cursorgebiet 160 implementiert werden, um eine zusätzliche visuelle Eingabe bereitzustellen, um dem Benutzer zu helfen, der Information eingibt. Falls gewünscht, könnte die Prozessoreinheit 70 das System 80 und/oder 90 veranlassen, ein hörbares Feedback abzugeben, um dem Benutzer zu helfen, bspw. ein elektronisches Tastenklickgeräusch 170, das dem „Drücken" einer virtuellen Taste der virtuellen Eingabevorrichtung 50 entspricht. Es versteht sich, dass – falls das System 80 oder 90 ein Musikinstrument und nicht ein Computer oder ein PDA oder ein Mobilfunkgerät wäre – Musiktöne 170 emittiert würden, und die virtuelle Eingabevorrichtung 50 stattdessen den Aufbau ähnlich einer Pianotastatur oder eines Keyboards haben könnte, die mit synthetischen Musikgeneratoren verknüpft sind.
  • 1B zeigt ein nicht strukturiertes aktives Lichtsystem 10, in welchem eine Kamera 20' in einem ersten optischen System OS1 eine interessierende Ebene 30' definiert, die im Wesentlichen die Ebene 30 ersetzt, die von dem optischen Emitter OS1 in der Ausführungsform von 1A definiert wird. Die Kamera 20' OS1 ist vorzugsweise ähnlich der Kamera 60 OS2, die ähnlich zu der Kamera 60 OS2 in der Ausführungsform von 1A sein kann. Beispielsweise kann OS1 20' ein Sensorarray aufweisen, das zumindest eine Zeile und vorzugsweise mehrere Zeilen von Pixeldetektorelementen umfasst. Die Ausführungsform von 1B ist aktiv insofern, als ein oder mehrere Lichtquellen 190, die zwischen OS1 20' und OS2 60 angeordnet sind, optische Energie einer Wellenlänge erzeugen, die von der Kamera OS1 20' und von der Kamera OS2 60 erfassbar ist. Um die Wirkungen des Umgebungslichts auf die Erfassung durch die Kameras OS1 und OS2 zu reduzieren, arbeitet vorzugsweise jede Kamera und jeder optische Energieemitter 190 zusammen mit einem Verschlussmechanismus, vorzugsweise synchronisiert, bspw. durch die Einheit 70. Während der Zeiten, zu denen die Verschlüsse 22 ein Abstrahlen optischer Energie von dem Emitter 190 in Richtung der virtuellen Eingabevorrichtung 50, 50', 50'' erlauben, werden ähnliche Verschlüsse 22 den Kameras OS1 und OS2 ermöglichen, optische Energie zu erfassen. Die Interaktion des Benutzerobjekts, bspw. 120L mit der Ebene 30' wird durch OS1 und durch OS2 erfasst. Der Ort des Schnittpunkts wird dann berechnet, bspw. durch Einsatz von Triangulationsverfahren, die später beschrieben werden.
  • In 1B ist ein Hügel oder eine Unregelmäßigkeit in der Ebene der Arbeitsfläche 40 nahe des Kontaktpunkts 110 mit dem Benutzerobjekt 120L gezeigt. Ein Vorteil der vorhandenen zwei ten Kamera OS1 20' liegt darin, dass die interessierende Ebene 30' ausgewählt sein kann, vielleicht durch Einheit 70, um direkt über dem höchsten irregulären Bereich der Arbeitsfläche 40 zu liegen. Falls Unregelmäßigkeiten in der Arbeitsfläche 40 in der Ausführungsform von 1A vorhanden wären, würde es notwendig sein, eine Neupositionierung der Laserebene 30 relativ zu der Arbeitsfläche durchzuführen. Aber in 1B wird die Wirkung einer solchen Neupositionierung elektronisch erreicht, einfach durch Auswahl einer geeigneten Zeile von Pixeln von dem Detektorarray bei OS1 20'.
  • Es sei angemerkt, dass die Konfiguration von 1B sich für verschiedene Verfahren eignet, um das Signal/Rausch-Verhältnis zu verbessern. Beispielsweise können es die Verschlüsse 22 den Kameras OS1 und OS2 ermöglichen, Abbildungs-Daten während einer Zeit zu sammeln, zu der die Emitter 190 ausgeschaltet sind, bspw. über die Steuerungseinheit 70. Jegliche Abbildungs-Daten, die von OS1 und/oder OS2 erfasst werden, werden das Hintergrundrauschen darstellen, das sich aus dem Umgebungslicht ergibt. (Es ist wiederum zu verstehen, dass zur Minimierung der Wirkung von Umgebungslicht die Emitter 190 und die Kameras OS1, OS2 vorzugsweise mit einer Wellenlängenvorgabe arbeiten, die sich von dem Umgebungslicht unterscheidet.) Wenn dasjenige erfasst ist, was sich als Hintergrundrauschsignal bezeichnet, können die Kameras OS1 und OS2 nun normal und synchron mit den Emittern(n) 190 arbeiten. Abbildungs-Daten, die von den Kameras OS1 und OS2 synchron mit den Emittern(n) 190 erfasst werden, werden aktuelle Daten umfassen, bspw. die Benutzerobjektschnittstelle mit der Ebene 30' plus jegliche (unerwünschten) Wirkungen aufgrund von Umgebungslicht. Die Prozessoreinheit 70 (oder eine andere Einheit) kann dann dynamisch das Hintergrund rauschsignal aus den aktuellen Daten plus Rauschsignal subtrahieren, um zu einem aktuellen Datensignal zu gelangen, so dass das Signalrausch-Verhältnis verbessert wird.
  • 1C zeigt eine nicht strukturierte passive Ausführungsform der vorliegenden Erfindung. Das System 10 in 1C ist passiv, egal welche Umgebungslicht-Quelle 195 vorhanden ist, und stellt optische Energie bereit, die während der Abbildung benutzt wird. Ähnlich zu dem System 10 in 1B ist OS1 eine Kamera 20', die eine interessierende Ebene 30' definiert, und OS2 ist eine Kamera 60. Typischerweise wird die Ebene 30' einen Abstand ΔY' über der Arbeitsfläche 40 definieren, typischerweise in einem Abstand von wenigen mm. Eine Benutzerobjektinteraktion mit der Ebene 30' wird von OS1 und OS2 erfasst, indem optische Energie von der Umgebungslichtquelle 195 benutzt wird. Triangulationsverfahren können dann eingesetzt werden, um den Interaktionspunkt oder den Schnittpunkt mit der Ebene 30' zu lokalisieren, wie an anderer Stelle hier beschrieben.
  • 2A zeigt die Geometrie, mit der der Ort (x, z) des Schnittpunkts zwischen einem Benutzerfinger oder Objekt 120R und der Ebene 30 bestimmt werden kann, indem das Triangulationsverfahren verwendet wird. 2A und 2B können verwendet werden, um die Analyse der verschiedenen Ausführungsformen zu beschreiben, die in 1A1C gezeigt sind.
  • Wie nachfolgend angegeben, hilft die Triangulation, die Form von Oberflächen in einem Sichtfeld von Interesse zu bestimmen, durch geometrische Analyse der Dreiecke, die von den Projektionsstrahlen, bspw. R1, R2 auf zwei optische Systeme bspw. OS1 20, OS2 60 projiziert werden. Eine Basislinie B stellt die be kannte Länge der Zeile dar, die die Mittelpunkte der Projektion der zwei optischen Systeme OS1, OS2 verbindet. Für einen Punkt (x, z) auf einer sichtbaren Fläche in dem Sichtfeld von Interesse, kann ein Dreieck durch den Ort des Punkts und durch die Orte von OS1 und OS2 definiert werden. Die drei Seiten des Dreiecks sind B, R1 und R2. OS1 und OS2 können den Winkelabstand des Dreiecks von einer Bezugsebene bestimmen, sowie die Winkel α1 und α2, die durch die Projektionsstrahlen gebildet werden, die den Oberflächenpunkt mit den Mittelpunkten der Projektion der zwei optischen Systeme verbindet. Winkel α1 und α2 und die Basislinie B bestimmen vollständig die Form des Dreiecks. Eine einfache Trigonometrie kann verwendet werden, um die Entfernung zu dem Oberflächenpunkt (x, z) sowie die Länge des Projektionsstrahls R1 und/oder R2 zu berechnen.
  • Es ist erforderlich, dass OS1 20 als eine einzelne Einheit implementiert wird. Beispielsweise zeigt 2B eine Ausführungsform mit strukturiertem Licht, bei der das erste optische System sich gabelförmig teilt: ein Bereich OS1-A 20-A ist ein Lichtemitter, der im Abstand B von OS2 und von dem zweiten Bereich OS1-B 20-B angeordnet ist, einer lichtreflektierenden Vorrichtung, wie bspw. einem Spiegel. Der eingehende Fächerstrahl, der von OS1-A erzeugt wird, wird durch die Spiegel 20-B abgelenkt, um die Ebene 30 zu bilden. Bei der Ausrichtung von 2B ist der Spiegel 20-B schräg um etwa 45° relativ zu der horizontalen Ebene, und die Ablenkung erfolgt im Wesentlichen an einer vertikalen Ebene bis zu einer im Wesentlichen horizontalen Ebene. In 2B wird tatsächlich eine passive Lichtausführungsform OS2 60 eine Kamera sein, die in einem Winkel ϕ im Allgemeinen in Richtung des Sichtfelds von Interesse gerichtet ist, nämlich wo ein Benutzerfinger oder Stift eine virtuelle Eingangsvorrichtung benützen wird, die unter der Fächerebene 30 angeordnet ist.
  • Die Triangulation entsprechend der vorliegenden Erfindung benutzt vorzugsweise eine Standardkamera mit einem planaren Sensor als OS2 60. Die Natur von OS1 20 unterscheidet zwischen zwei ziemlich weiten Klassen von Triangulation. Bei einer strukturierten Lichttriangulation, ist OS1 20 typischerweise ein Laser oder Ähnliches, dessen Strahl als eine einzelne Zeile geformt werden kann, die bewegt wird, um einen Bewegungspunkt auf eine Fläche zu projizieren. Alternativ kann der Laserstrahl planar sein und bewegt werden, um eine planare Kurve zu projizieren. Wie angemerkt, kann eine andere Klasse von Triangulationssystem als passive Triangulation bezeichnet werden, bei der eine Kamera als OS1 20 benutzt wird. Systeme mit strukturiertem Licht tendieren dazu, komplexer zu sein, um mehr Leistung aufzuweisen und zu verbrauchen aufgrund des Bedürfnisses, eine Ebene von Licht zu projizieren. Passive Systeme sind weniger teuer und verbrauchen weniger Energie. Allerdings müssen passive Systeme das sog. Korrespondenzproblem lösen, bspw. um zu bestimmen, welche Paare der Punkte in den zwei Abbildungen Projektionen des gleichen Punkts in der realen Welt sind. Wie nachfolgend beschrieben werden wird, können passive nicht strukturierte Lichttriangulationsausführungsformen entsprechend der vorliegenden Erfindung benutzt werden.
  • Ob das System 10 als ein strukturiertes Lichtsystem implementiert wird, in dem OS1 aktiv Licht emittiert und OS2 eine Kamera ist, oder als ein passives System, in dem OS1 und OS2 beide Kameras sind, wird Information von OS2 und OS1 mit einer Verarbeitungseinheit gekoppelt, bspw. 70, die dann festlegen kann, welche Events auftreten. Wenn ein Objekt, bspw. 120R, die Projektionsebene 30 schneidet, die mit OS1 20 verknüpft ist, ist der Schnitt mit jeder Ausführungsform erfassbar. Bei einer Ausführungsform mit strukturiertem Licht, bei der OS1 optische Energie emittiert, wird der Schnitt durch optische Energie erkannt, die von dem schneidenden Objekt 120R reflektiert und von OS2 erfasst wird, typischerweise einer Kamera. Bei einer passiven Lichtausführungsform wird der Schnitt von OS1, einer Kamera, und ebenfalls von OS2, einer Kamera, gesehen. Bei jeder Ausführungsform wird der Schnitt mit der Ebene 30 erfasst, als ob der Bereich der Fläche 40 unter der (x, z) Ebenenschnitt von dem Objekt 120R berührt würde. Das System 10 umfasst vorzugsweise ein Computersystem 70, das Daten von OS1, OS2 empfängt und die Geometrie verwendet, um die Position des Ebenenschnitts (x, z) aus den reflektierten Abbildungs-Koordinaten in einer Ausführungsform mit strukturiertem Licht zu bestimmen, oder aus den Kameraabbildungskoordinaten in einem passiven System. Als solches kann die doppelte Aufgabe des anfänglichen Erfassens und des kontinuierlichen Erfassens von Berührungen und dem Durchdringen der Ebene 30 (bspw. Berührungs-Events) und dem Bestimmen der Schnittkoordinatenpositionen auf der Ebene dadurch erreicht werden.
  • Um soweit zusammenzufassen, werden Berührungs-Events erfasst und deklariert, wenn OS1 den Schnitt der Ebene 30 durch ein eindringendes Objekt, wie bspw. 120R erkennt. In einem Zwei-Kamera-System wird ein Verhältnis zwischen den Punkten in dem erhaltenen Bild von OS1 und von jenem von OS2 aufgebaut. Danach werden die Koordinaten der OS2-Kamera in Berührungs-Gebiet-Koordinaten (x-Achse, z-Achse) umgewandelt, um die (x, z)-Koordinatenposition des Events innerhalb des Gebiets der Ebene 30 von Interesse umzuwandeln. Vorzugsweise werden solche Umwandlungen durch die Prozessoreinheit 70 ausgeführt, die Algorithmen ausführt, um die Schnittpositionen in der Ebene 30 aus Abbildungs-Koordinaten der sichtbaren Punkte von OS2 zu berechnen. Ferner muss ein passives Lichtsystem eindringende Objekte von dem Hintergrund in Abbildungen von OS1 und OS2 unterscheiden. Wenn das System 10 ein passives Lichtsystem ist, müssen entsprechende Forderungen zwischen den Abbildungen der Kamera OS1 und der Kamera OS2 gestellt werden. Wenn das System 10 ein System mit strukturiertem Licht ist, ist es wünschenswert, die Interferenz durch Umgebungslicht zu minimieren.
  • Es sei nun die Berechnung des (X, Z)-Schnittpunkts oder der Fingerspitzenposition auf der Ebene 30 betrachtet. In einer perspektivischen Projektion wird eine Ebene im Raum und dessen Abbildung über eine Transformation in Bezug gesetzt, die Homographie genannt wird. Es sei ein Punkt (X, Z) auf einer solchen Ebene durch den Spaltenvektor P = (X, Z, 1)T dargestellt, wobei die Hochstellung T die Transponierung bezeichnet. In ähnlicher Weise sei der entsprechende Abbildungs-Punkt dargestellt durch p = (x, z, 1)T.
  • Eine Homographie ist dann eine lineare Transformation P = Hp, wobei H eine 3 × 3 Matrix ist.
  • Diese Homographiematrix kann aufgefunden werden, in dem eine Kalibrierungsprozedur verwendet wird. Da der Sensor auf der Fläche ruht, ist die Sensorposition relativ zu der Fläche konstant, und die Kalibrierungsprozedur muss nur einmal ausgeführt werden. Zum Kalibrieren wird ein Gitter mit bekanntem Raster auf eine flache Fläche platziert, auf der der Sensor ruht. Die Koordinaten Pi der Abbildungs-Punkte, die den Gitter-Scheitelpunkten, Pi, entsprechen, werden in der Abbildung gemessen. Ein direkter linearer Transformations-(DLT)-Algorithmus kann verwendet werden, um die Homographiematrix X zu bestimmen. Eine solche DLT-Umwandlung ist im Stand der Technik bekannt; vgl. bspw. Richard Hartley und Andrew Zisserman. Multiple View Geometry in Computer Vision, Cambridge University Press, Cambridge, UK, 2000.
  • Sobald H bekannt ist, wird der Flächenpunkt P entsprechend einem Punkt p in der Abbildung sofort durch die Matrix-Vektormultiplikation wie zuvor angegeben, berechnet. Vorzugsweise werden solche Berechnungen von dem System 70 ausgeführt.
  • Eine Abbildungs-Übereinstimmung für passive Lichtausführungsformen wird nun beschrieben werden. Die Kameras OS1 20 und OS2 60 sehen die gleiche Ebene im Raum. Im Ergebnis wird das Aufeinanderabbilden der Abbildung der Zeilenabtastkamera von OS1 und der Kameraabbildung von OS2 selbst eine Homographie sein. Dies ist ähnlich zu der Abbildung zwischen der OS2-Kameraabbildung und der Ebenen-30-Berührungs-Fläche, wie zuvor mit Bezug auf die Berechnung der Fingerspitzenschnittposition beschrieben. Somit kann eine ähnliche Prozedur verwendet werden, um dieses Abbilden bzw. Mappen zu berechnen.
  • Es sei angemerkt, dass, da die Zeilenabtastkamera OS1 20 im Wesentlichen die Berührungs-Fläche, die zu einer einzelnen Zeile kollabiert ist, sieht oder streift, die Homographie zwischen den beiden Abbildungen verschlechtert wird. Für jeden OS2-Kamerapunkt gibt es einen OS1-Zeilenabtastabbildungspunkt, aber für jeden OS1-Zeilenabtastabbildungspunkt gibt es eine komplette Zeile von OS2-Kamerapunkten. Aufgrund dieser Entartung wird der zuvor beschriebene DLT-Algorithmus (leicht) modifiziert, um eine Punkt-zu-Zeilen-Übereinstimmung zu erhalten. Durch Definition besitzt eine passive Lichtausführungsform der vorliegenden Erfindung keine Kontrolle über die Umgebungsbeleuchtung und dies kann die Unterscheidung von eindringenden Schnittobjekten oder Spitzen von dem allgemeinen Hintergrund erschweren. Kurz gesagt, wie soll festgestellt werden, ob ein bestimmter Abbildungs-Punkt in einer OS1-Abbildung oder OS2-Abbildung die Abbildung eines Punkts auf einem Objekt, wie bspw. 120R darstellt, oder ein Punkt im Allgemeinen Hintergrund ist. Ein Algorithmus, der vom System 70 ausgeführt wird, wird nun beschrieben.
  • Anfänglich wird von einer oder mehreren Hintergrundabbildungen I1,..., In ausgegangen, wobei nur der Berührungs-Flächenbereich der Ebene 30 in Sicht ist. Es wird angenommen, dass die Kameras OS1 und OS2 auf Farbe ansprechen können, und es sollen Rbi(x, z), Gbi(x, z), Bbi(x, z), die rote, grüne und blaue Komponente der Hintergrundabbildungs-Intensität Ii an der Pixelposition (x, z) sein. Es soll sb(x, z) eine Zusammenfassung von Rbi(x, z), Gbi(x, z), Bbi(x, z) über alle Abbildungen sein. Beispielsweise kann sb(x, z) ein Drei-Vektor sein mit den Mittelwerten, Zentralwerten oder anderen Statistikwerten von Rbi(x, z), Gbi(x, z), Bbi(x, z) an der Pixelposition (x, z) über alle Hintergrundabbildungen I1,..., In, wobei möglichst eine Normalisierung vorgenommen wurde, um Variationen in der Abbildungs-Helligkeit auszugleichen.
  • Als Nächstes wird eine ähnliche Zusammenfassung st für die Spitze- bzw. Tip-Pixel über eine neue Reihe von Abbildungen J1, ..., Jm gesammelt. Diese zweite Zusammenfassung bzw. Summe ist ein einzelner Vektor und nicht eine Abbildung von Vektoren, wie für sb(x, z). Mit anderen Worten heißt das, dass st nicht von der Pixelposition (x, z) abhängt. Diese neue Summe kann bspw. berechnet werden, indem ein Benutzer gebeten wird, Fingerspitzen oder einen Stift in das sensitive Gebiet der Fläche zu bringen und indem Werte nur an Pixelpositionen (x, z) aufgezeichnet werden, dessen Farbe sich von der Hintergrundsumme sb(x, z) an der Position (x, z) unterscheidet, und in dem Statistiken über alle Werte von j, x, z berechnet werden.
  • Bei einer vorgegebenen neuen Abbildung mit Farbkomponenten c(x, z)=(R(x, z), G(x, z), B(x, z)) trägt dann ein bestimmtes Pixel dazu bei (x, z), entweder der Spitze oder dem Hintergrund durch eine geeignete Diskriminierungsregel zugeordnet zu werden. Beispielsweise kann eine Entfernung d(c1, c2) zwischen Drei-Vektoren (Euklidscher Abstand ist ein Beispiel) definiert werden, und Pixel werden basierend auf der nachfolgenden beispielhaften Regel zugeordnet:
    Hintergrund falls d(c(x, z), sb(x, z)) ≪ d(c(x, z), st).
    Spitze falls d(c(x, z), sb(x, z)) ≫ d(c(x, z), st) .
    Unbekannt sonst.
  • Techniken zur Reduzierung von Umgebungslichtinterferenz, insbesondere für die Ausführungsform mit strukturierter Lichttriangulation, werden nun beschrieben. Bei einer solchen Ausführungsform muss OS2 zwischen Umgebungslicht und Licht unterscheiden, das von dem Zeilengenerator erzeugt wurde und von einem eindringenden Objekt zurückreflektiert wurde.
  • Bei Einsatz eines ersten Verfahrens emittiert OS1 Energie in einem Bereich des Lichtspektrums, in dem Umgebungslicht wenig Energie hat, bspw. im nahen Infrarotbereich. Ein Infrarotfilter auf der Kamera OS2 kann gewährleisten, dass das von dem OS2-Sensor erfasste Licht hauptsächlich das von dem Objekt (bspw. 120R) in die Linse der Kamera OS2 reflektierte ist.
  • Bei einem zweiten Verfahren arbeitet OS1 im sichtbaren Bereich des Spektrums, aber ist wesentlich heller als Umgebungslicht. Obgleich dies im Prinzip mit jeder Farbe der Lichtquelle erreicht werden kann, ist es für Anwendungen im Haus nützlicher, eine Blau-Grün-Lichtquelle für OS1 (500 nm bis 550 nm) zu benutzen, da die Standardleuchtstofflampen relativ wenig Ausstrahlung in diesem Band haben. Vorzugsweise wird OS2 ein angepasstes Filter aufweisen, um zu gewährleisten, dass ein Ansprechen auf andere Wellenlängen im Wesentlichen gedämpft wird.
  • Ein drittes Verfahren zur Reduzierung der Wirkungen von Umgebungslicht benutzt eine Standardlaserquelle im sichtbaren Bereich für OS1 und einen Farbkamerasensor für OS2. Dieses Verfahren benutzt den gleichen Hintergrund-Subtraktionsalgorithmus, wie zuvor beschrieben. Es sei die nachfolgende Kombination definiert, die die gleiche Terminologie wie zuvor benutzt:
    C(x, z) = min ⎨ d(c(x, z), sb(x, z)), d(c(x, z), st) ⎬.
  • Diese Kombination wird exakt Null sein, wenn c(x, z) gleich der Spitzen-Summe st (da in d(st, st) = 0) des repräsentativen Objekts ist und für die Hintergrundabbildung sb(x, z) (da d(sb(x, z), sb(x, z)) = 0), und nahe Null für andere Objektspit zenabbildungs-Bereiche und für sichtbare Teile des Hintergrunds. Mit anderen Worten, werden die Objektspitzen und der Hintergrund in der C(x, z) kaum sichtbar sein. Durch Vergleich an Positionen, wo die Projektionsebene 30 von dem Laseremitter OS1 die Objektspitzen 120 schneidet, wird der Term d(c(x, z), st) deutlich nicht Null sein, was hier wiederum zu einem im Wesentlichen Nicht-Null-Wert für C(x, z) führt. Diese Methode erreicht das gewünschte Ziel der Identifizierung von im Wesentlichen nur den Objektspitzenpixeln, die von dem Laser (oder einem anderen Emitter) OS1 bestrahlt werden. Dieses Verfahren kann variiert werden, um Lichtemitter unterschiedlicher Farbe zu benutzen, um andere Abstandsdefinitionen für den Abstand d zu benutzen, und um unterschiedliche Summen sb(x, z) und st zu benutzen.
  • Bezug nehmend auf 1A, falls eine Vorrichtung 80 ein kompaktes System ist, wie bspw. ein PDA oder ein Mobilfunkgerät, wäre es insbesondere wünschenswert, die Größe zu reduzieren, die zur Implementierung der vorliegenden Erfindung benötigt wird. Ein kleinerer Gesamt-Formfaktor kann sich ergeben, wenn OS2 in einem bestimmten Winkel θ, wie in 1A1C, 2A, 2B gezeigt, mit Bezug auf die Ebene 30 oder die Fläche 40 geneigt wird. Aber wenn der Winkel θ sinkt, sieht die Kamera OS2 die Ebene 30 aus einem flacheren Winkel. Für eine feste Größe des berührungsempfindlichen Gebiets der Ebene 30, d.h, der Rechteckfläche, die „zu berühren" ist durch ein Benutzerobjekt, um eine darunter liegende virtuelle Eingabevorrichtung zu manipulieren, sinkt das wirksame Gebiet, das von dem Sichtfeld umgeben wird, da der Abstand B und der Winkel θ sinken. Das Ergebnis besteht darin, dass die effektive OS2-Auflösung sinkt und damit die Genauigkeit der z-Tiefen-Messung, wie in 3A ge zeigt, sinkt, wobei L eine Kameralinse bezeichnet, die mit OS2 verknüpft ist, dessen Ebene von Pixeldetektoren als eine gerade Linie gezeigt ist, die mit OS2 bezeichnet ist.
  • Wie in 3A angegeben, führt eine Bewegung von OS2 näher an die Ebene 30 zu einem flacheren Blickpunkt und zu einer kleineren weniger akkurat aufgenommenen Kameraabbildung. Diese nachteiligen Nebeneffekte können reduziert werden, wie in 3B gezeigt ist, durch Kippen der Ebene der Pixeldetektoren in der Kamera OS2, wobei nahezu parallel zu der Ebene 30 gekippt wird. Bei der gekippten Konfiguration von 3B ist festzustellen, dass eine wesentlich größere Anzahl von Abbildungs-Abtastzeilen den Strahlenkegel von dem sensitiven Gebiet auf der Ebene 30 schneiden, was die Tiefenauflösung entsprechend erhöht. Es sei bspw. der relativ kleine Abstand Dx in 3A mit dem großen Abstand Dx' in 3B verglichen, was die große Anzahl von Abbildungs-Abtastzeilen darstellt, die nun in Benutzung sind. Wenn die OS2-Kamerasensorebene paralleler zu der Ebene der Berührungs-Fläche oder der Ebene 30 wird, führt dies zu einer geringeren Störung der Berührungs-Flächenabbildung. Dies impliziert, dass parallele Zeilen auf der Berührungs-Fläche (oder der Ebene 30) parallel in der OS2-Kameraabbildung bleiben werden. Ein Vorteil ist die Einfachheit der Homographie H für eine affine Transformation (ein Verschieben und Skalieren). Ferner wird die Abbildungs-Auflösung über das gesamte sensitive Gebiet innerhalb des interessierenden Blickfelds gleichmäßiger gemacht.
  • Es sei nun die Konfiguration von 3C betrachtet. Es ist ersichtlich, dass unterschiedliche Punkte auf dem berührungsempfindlichen Gebiet auf der Ebene 30 in unterschiedlichen Abständen von der Linse L der Kamera OS2 sind. Dies bedeutet, dass man das gesamte sensitive Gebiet von Interesse nicht präzise fokussieren kann, falls die Linse L wie in 3A oder in 3B gezeigt positioniert ist. Während ein Schließen der Kamerablende die Tiefe des Sichtfelds, d.h. die Tiefenschärfe erhöhen könnte, würden die sich daraus ergebenden Abbildungen lichtärmer werden, und das Abbildungs-Signalrausch-Verhältnis würde verschlechtert werden.
  • Entsprechend kann die Konfiguration von 3C verwendet werden, wobei die Linse L relativ zu 3B neu positioniert wird. Bei dieser Konfiguration werden die Berührungs-Fläche 30, der Kamera OS2-Sensor und die Kameralinse L als die sog. Scheimpflug-Bedingung erfüllend betrachtet, bei der deren jeweiligen Ebenen sich entlang einer gemeinsamen Linie schneiden, einer Linie, die in 3C im Unendlichen liegt. Weitere Details zu der Scheimpflug-Bedingung finden sich in The Optical Society of America, Handbook of Optics, Michael Bass, Editor in Chief, McGraw-Rill, Inc., 1995. Bezug nehmend auf die 3C, wenn das relevante optische System diese Bedingung erfüllt, werden alle Punkte auf der Berührungs-Fläche 30 im Brennpunkt liegen. Durch Verwendung eines passend gekippten Sensors OS2 und einer passend positionierten Linse S, die die Scheimpflug-Bedingung erfüllt, wird die Abbildung, die von OS2 gesehen wird, der interessierenden Punkte auf der Oberflächenebene 30 im Brennpunkt sein und werden eine hohe Auflösung mit geringer Verzerrung zeigen. Allerdings kann die Erfüllung der Scheimpflug-Bedingung zu einem Verlust von Abbildungs-Helligkeit führen, da gegenüber der Konfiguration von 3B der Winkel, den die Linse einnimmt, wenn von der Mitte des sensitiven Gebiets auf der Ebene 30 betrachtet, reduziert wird. Als Folge davon, ist es bei einigen Anwendungen bevorzugt, einen Kompromiss zwischen Schärfe des Brennpunkts und Abbildungs-Helligkeit zu erreichen, in dem die OS2-Kameralinse in eine Ausrichtung gebracht wird, die zwischen jener von 3B und jener von 3C liegt. 3D zeigt eine solche Zwischenkonfiguration, bei der die Linse L zweckmäßigerweise leicht weg von der Scheimpflug-erfüllenden Ausrichtung mit Bezug auf die Ebenen von OS2 und 30 gekippt ist.
  • Solche Zwischenausrichtungen erfüllen nicht die Scheimpflug-Bedingung, allerdings nur um einen geringen Grad, und zeigen deshalb gute Fokussiereigenschaften gegenüber einer Konfiguration, dessen Linsenachse direkt in Richtung der Mitte des sensitiven Gebiets der Ebene 30 gerichtet ist. 3E zeigt eine andere alternative Zwischenkonfiguration, eine, bei der die Scheimpflug-Bedingung exakt eingehalten ist, aber der Kamerasensor OS2 weg von der Horizontalen gekippt ist. Die Konfiguration von 3E kann eine exakte Fokussierung erreichen, aber mit etwas geringerer Bildauflösung und mehr Störung als bei der Konfiguration von 3C.
  • 4 ist ein Blockdiagramm, das wirksame Bereiche der Prozessoreinheit 70 innerhalb des Systems 10 zeigt, welche Prozessoreinheit vorzugsweise die verschiedenen Triangulations- und anderen Berechnungen ausführt, die hier beschrieben sind, um (x, z)-Schnittpunkte mit der interessierenden Ebene 30 zu erfassen und zu identifizieren. Als linker Bereich von 4 wird Information von OS1 20 und OS2 30 jeweils in Pixeltabellen 200-1, 200-2 eingegeben. In 4 beziehen sich die OS1- und OS2-Eingaben auf einen Strom von Bildern der digitalisierten Abbildungen, die vom optischen System 1 (20) und vom optischen System 2 (60) in einem planaren Entfernungssensorsystem 10 entsprechend der vorliegenden Erfindung erzeugt wurden. Bei einer bevorzugten Ausführungsform erzeugt das optische System zumindest etwa 30 Bilder pro Sekunde (fps). Höhere Bildraten als 30 fps sind wünschenswert, da sich die Fingerspitze des Benutzers oder des Stifts zwischen zwei Bildern um mehrere Pixel bewegen kann, während auf einer virtuellen Eingabevorrichtung "getippt" wird. Pixelabbildungsmodule 200-1, 200-2 bauen digitale Bilder aus OS1 und OS2 im Speicher auf, der mit der Berechnungseinheit 70 verknüpft ist. Ein Synchronisierungsmodul 210 gewährleistet, dass die zwei optischen Systeme Bilder der digitalisierten Abbildungen in etwa derselben Zeit produzieren. Falls erwünscht, kann ein doppelpufferndes System implementiert sein, um den Aufbau eines Bildes zu ermöglichen, während das vorhergehende Bild (in der Zeit) durch andere Module verarbeitet wird. Ein Berührungs-Erfassungsmodul 220 erkennt eine Berührung (bspw. dass der Finger eines Benutzers oder des Stifts die durch OS1 erfasste optische Ebene durchdringt), wenn der Umriss einer Fingerspitze oder eines Stifts in einer ausgewählten Zeile des Bilds erscheint. Wenn eine Berührung erkannt wird, zeichnet das Spitzen-Erfassungsmodul 230 den Umriss der entsprechenden Fingerspitze in der geeigneten Pixeltabelle 200-1 oder 200-2 auf. In 4 wird keine Tabelle erzeugt, bei einer Ausführungsform mit strukturiertem Licht, wo OS1 ein Lichtstrahlgenerator ist, und die Berührungs-Erfassung wird das Eingangssignal von OS2 und nicht das von OS1 benutzen.
  • Das Berührungs-Positionsmodul 240 benutzt die Spitzen-Pixelkoordinaten von dem Spitzen-Erfassungsmodul 230 zu dem Zeitpunkt, zu dem eine Berührung von dem Berührungs-Erfassungsmodul 220 gemeldet wird, um die (x-z)-Koordinaten der Berührung auf der Berührungs-Fläche zu finden. Wie angegeben, ist eine Berührung gleichbedeutend mit einer Durchdringung der Ebene 30, die mit einem optischen Emitter OS1 in einer Ausführungsform mit strukturiertem Licht verknüpft ist, oder bei einer Ausführungsform mit passivem Licht, die mit einer Sichtebene einer Kamera OS1 verknüpft ist. Mathematische Methoden zur Umwandlung der Pixelkoordinaten in die X-Z-Berührungs-Position werden hier an anderer Stelle beschrieben.
  • Ein Tastenidentifikationsmodul 260 benutzt die X-Z-Position einer Berührung und bildet die Position auf eine Tastenidentifikation ab, in dem eine Tastatur-Layouttafel 250 eingesetzt wird, vorzugsweise im Speicher abgespeichert, der mit der Berechnungseinheit 70 verknüpft ist. Die Tastatur-Layouttafel 250 definiert typischerweise die oberen/unteren/linken und rechten Koordinaten jeder Taste relativ zu einem Null-Ursprungspunkt. Als solches ist eine Funktion des Tastenidentifikationsmoduls 260, die Ausführung einer Suche in der Tafel 250 und die Bestimmung, welche Taste die (x, z)-Koordinaten des Berührungs-Punkts enthält. Wenn die berührte (virtuelle) Taste identifiziert ist, bildet das Übersetzungsmodul 270 die Taste auf einem vorbestimmten TASTATURCODE-Wert ab. Der TASTATUR-Wert bzw. KEYCODE-WERT wird ausgegeben oder an eine Anwendung gereicht, die in der begleitenden Vorrichtung oder dem System 80 ausgeführt wird (das auf einer begleitenden Vorrichtung ausgeführt wird), die darauf wartet, eine Meldung eines Tastaturdrück-Ereignisses zu empfangen. Die Anwendung, die gerade ausgeführt wird, interpretiert das Tastendrück-Ereignis und ordnet ihm eine Bedeutung zu. Beispielsweise benutzt eine Texteingabeanwendung den Wert, um zu bestimmen, welches Symbol bzw. Zeichen eingetippt wurde. Eine elektronische Klavieranwendung bestimmt, welche Musiknote gedrückt wurde und spielt diese Note, etc.
  • Alternativ, wie in 4 gezeigt, können die X-Z-Berührungs-Koordinaten direkt der Anwendung 280 zugeführt werden. Die Anwendung 280 könnte die Koordinatendaten verwenden, um die Position eines Cursors auf einem Display in einer virtuellen Maus oder virtuellen Trackball-Ausführungsformm zu steuern, oder um eine digitale Tinte schnell zu steuern, dessen Ort auf einem Display für eine Zeichen- oder Handschriftanwendung mit einem virtuellen Füllfederhalter oder einer virtuellen Stiftausführungsform gezeigt wird.
  • 5A ist eine vereinfachte Ansicht des Systems 10, bei dem eine virtuelle Vorrichtung 50 nun eine Steuerung mit fünf Gebieten ist, und bei der die begleitende Vorrichtung 80, 90 einen Monitor umfasst. Bei dieser Ausführungsform ist die begleitende Vorrichtung 80 oder 90 mit einem Display bzw. einer Anzeige 150 gezeigt, die Icons 140 umfassen kann, von denen eines von einem Cursor 310 umgeben ist, und ein Benutzer kann diesen bewegen, in dem er eine virtuelle Vorrichtung 50' verwendet, hier bspw. einen virtuellen Trackball oder eine Maus. Innerhalb einer virtuellen Vorrichtung 50' wird bspw., falls ein Bereich der Benutzerhand 120R (oder des Stifts) einen virtuellen Bereich 300-1 drückt, der dargestellte Cursor 310 auf der begleitenden Vorrichtung 80, 90 angewiesen, sich nach links zu bewegen. Falls das virtuelle Gebiet 300-2 gedrückt wird, sollte sich der Cursor nach oben bewegen. Falls das virtuelle Gebiet 300-3 gedrückt wird, sollte sich der Cursor nach rechts bewegen, bspw. um das Icon eines Brotlaibs „auszuwählen", und falls das virtuelle Gebiet 300-4 gedrückt wird, sollte sich der Cursor in Richtung des Bodens der Anzeige auf der Vorrichtung 80, 90 bewegen. Falls der Benutzer das fünfte Gebiet 300-5 drückt, ein „Daumen-nach-oben"-Gebiet, weiß die begleitende Vorrichtung 80, 90, dass die Benutzerauswahl abgeschlossen ist. In 5A, falls der Benutzer nun das Gebiet 300-5 drückt, wird das „Hotdog"-Icon ausgewählt. Falls die Vorrichtung 80, 90 ein Kiosk in einem Supermarkt wäre, würde das Auswählen des „Hotdog"-Icons eine Anzeige hervorbringen, die zeigt, wo im Markt Hotdogs zu finden sind, oder den Preis von verschiedenen Marken von Hotdogs, die verkauft werden, oder die Vorrichtung 80, 90 könnte sogar Hotdogs ausgeben. Falls die Vorrichtung 80, 90 in einer Transporteinstellung verwendet würde, könnten die Icons (oder Wörter) verschiedene Ziele angeben, und die Vorrichtung 80 oder 90 könnte die Strecken, Zeitpläne und Preise zu den Zielen angeben, und könnte sogar Fahrkarten zur Verwendung in einem Bus, einer U-Bahn, einer Fluglinie einem Boot, etc. ausgeben. Ein Benutzer könnte bspw. zwei Gebiete der Eingangsvorrichtung 50' drücken, die den Reise-Ausgangspunkt und den Reise-Zielpunkt darstellen, wobei das System 10 eine Darstellung geeigneter darzustellender Transportfahrzeuge, Zeitpläne, Gebühren, etc. veranlassen könnte, und falls gewünscht, auszudrucken. Es versteht sich, dass die Information, die vom System 10 erzeugt wird, einfach die Roh(x, z)-Koordinaten sein können, die eine Softwareanwendung, die von einer begleitenden Vorrichtung ausgeführt wird, verwendet werden können, um einen Cursor oder eine andere Information auf einem Monitor neu zu positionieren.
  • Es versteht sich in 5A, dass die virtuelle Vorrichtung 50' passiv ist; ihr Umriss kann ausgedruckt oder auf eine darunter liegende Arbeitsfläche gemalt werden oder vielleicht kann des sen Umriss vom System 10 projiziert werden. Die verschiedenen Gebiete von Interesse bei der virtuellen Vorrichtung 50 können im Hinblick auf Koordinaten identifiziert werden, relativ zu der x-z-Ebene. Es sei die Information in der nachfolgenden Tabelle 1 berücksichtigt, die der Information im Tastatur-Layout 250 in 4 entspricht:
  • TABELLE 1
    Figure 00420001
  • Wenn der Finger des Benutzers (oder ein Stift) ein Gebiet der virtuellen Eingabevorrichtung 50 berührt, bestimmt das Berührungs-Positionsmodul 240 (siehe 4) die (x, z)-Koordinaten des Berührungs-Punkts 110. In 5 liegt der Berührungs-Punkt 110 innerhalb des „B"-Gebiets 300-4. Das Tastenidentifikationsmodul 260 benutzt die Information des Tastatur-Layouts 250, in diesem Beispiel wie in Tabelle 1 gezeigt, um zu bestimmen, wo in der relevanten (x, z)-Ebene die Berührungs-Punktkoordinaten aufgetreten sind. Beispielhaft sei angenommen, dass die Berührungs-Koordinaten (x, z) (1,5; 0,5) sind. Eine Suchroutine, die vorzugsweise mit der Einheit 70 (siehe 1A) verknüpften Speicher gespeichert sind und die von der Einheit 70 ausgeführt wird, bestimmt, dass 1 < x < 2 und –1 < z < 1 ist. Durch Suchen von Information in der Tabelle 1 wird das Tastenidentifikationsmodul bestimmen, dass der Berührungs-Punkt 110 innerhalb des Eintrags B fällt. Bei diesem Beispiel empfängt die begleitende Vorrichtung 80 und 90 Daten von dem System 10, die das Gebiet B anweisen, dass es gedrückt wurde. Die Prozessoreinheit 70 in dem System 10 kann veranlassen, dass die begleitende Vorrichtung solche andere Information erhält als sie zur Ausführung der verknüpften Rufgabe mit dem Event gefordert wird, bspw. um den Cursor nach unten auf der Anzeige zu bewegen.
  • 5B zeigt eine Ausführungsform des Systems 10 ähnlich zu jener, die in 1A gezeigt. In 5B ist die virtuelle Eingabevorrichtung 50 eine Computertastatur und die begleitende Vorrichtung 80, 90 ist ein mobiler Empfänger/Sender, bspw. ein Mobilfunktelefon. Es versteht sich, dass das System 10 tatsächlich innerhalb der Vorrichtung 80, 90 implementiert sein könnte. Als solches könnte OS1 einen Fächerstrahl 30 von einem unteren Bereich der Vorrichtung 80, 90 ausstrahlen, und OS2 könnte in einem oberen Bereich der gleichen Vorrichtung vorgesehen sein. Die virtuelle Eingabevorrichtung 50 könnte – falls gewünscht – optisch von einer Vorrichtung 80, 90 projiziert werden. Alternativ könnte die virtuelle Eingabevorrichtung 50 auf ein faltbares Substrat, bspw. aus Plastik, Papier, etc. aufgedruckt sein, das innerhalb der Vorrichtung 80, 90 aufgenommen werden kann, dann entfernt und entfaltet oder entrollt und auf einer flachen Arbeitsfläche in Front vor der Vorrichtung 80, 90 platziert werden könnte. Der Ort der virtuellen Eingabevorrichtung 50 vor einer Vorrichtung 80, 90 wäre so, dass OS1 einen Fächerstrahl 30 emittieren kann, der die virtuelle Eingabevorrichtung umgibt, und OS2 könnte ein Schneiden 110 eines Objekts, bspw. der Finger eines Benutzers oder einen Stift, etc., wobei ein Ort des Fächerstrahls jeden interessierenden Bereich in der virtuellen Eingabevorrichtung 50 überdeckt bzw. darüber liegt.
  • In 5B wird OS2 nicht reflektierte optische Energie erfassen, bis das Objekt 120R den Fächerstrahl 130 durchschneidet, wobei einige optische Energie, die von OS1 emittiert wurde, reflektiert werden wird (130) und von OS2 erfasst werden wird. Relativ zu dem (x, z)-Koordinatensystem, das in 1A gezeigt ist, ist der Schnittpunkt 110 etwa der Ort (13,5). Bezug nehmend auf 4 versteht sich, dass die Tastatur-Layouttafel 250 zumindest einen Eintrag für jede virtuelle Taste besitzt, bspw. „1", „2",... „Q", „W",... „SHIFT", die auf der virtuellen Eingabevorrichtung 50 definiert sind. Ein Eintrag-Suchprozess ähnlich zu dem, der mit Bezug auf 5A beschrieben wurde, wird ausgeführt, vorzugsweise durch die Einheit 70, und die relevante virtuelle Taste, die unter dem Berührungs-Punkt 110 liegt, kann identifiziert werden. In 5B ist die relevante Taste „I", welcher Buchstabe „I" auf der Anzeige 150 als Teil eines E-Mail-Nachrichtentextes 140 gezeigt ist, der in das Mobilfunktelefon 80, 90 von einem Bereich der Benutzerhand 120R (oder durch einen Stift) eingegeben wird. Die Möglichkeit, schnell Nachrichten durch Berührung in das Mobilfunkgerät 80, 90 einzugeben, indem die virtuelle Tastatur 50 benutzt wird, steht im Gegensatz zu der aufwändigen Eingabe von Nachrichten, indem die Mobilfunktastatur verwendet wird.
  • In 5C ist eine Ausführungsform eines Systems 10 gezeigt, bei dem der Arbeitsraum 40 eine vertikale Wand ist, vielleicht in einem Geschäft oder einem Geschäftszentrum, und die virtuelle Eingabevorrichtung 50 ist ebenfalls vertikal angeordnet. Bei dieser Ausführungsform ist die virtuelle Eingabevorrichtung 50 mit mehreren Icons und/oder Wörtern 320 gezeigt, die, wenn sie von einer Benutzerhand 120 berührt werden, bspw. an einem Berührungs-Punkt 110, einen passenden Text und/oder eine Graphik abbildung 140 auf dem Display 150 in der begleitenden Vorrichtung 80, 90 erscheinen lassen. Bei diesem gezeigten Beispiel können die Icons 320 Orte oder Bereiche in einem Speicher darstellen, und die Anzeige 150 wird interaktiv weitere Information in Antwort auf die Benutzerberührung eines Icon-Gebiets bereitstellen. In einem Geschäftszentrum können die verschiedenen Icons ganze Geschäfte darstellen, oder Abteilungen oder Gebiete innerhalb eines Geschäfts, etc. Die Erfassung und Lokalisierung der Berührungs-Punkte, wie der bei 110, wird bevorzugt ausgeführt, wie dies mit Bezug auf die Ausführungsformen von 3A und 3B beschrieben wurde. Vorzugsweise führt eine Prozessoreinheit 70 innerhalb des Systems 10 Software aus, die ebenfalls innerhalb oder ladbar aus einer Prozessoreinheit 70 gespeichert ist um zu bestimmen, welches Icon oder welcher Textabschnitt einer virtuellen Eingabevorrichtung 50 erfasst wurde, und welche Befehle und/oder Daten zu einem Host-System 80, 90 übertragen werden sollen.
  • Bezug nehmend auf die Ausführungsform von 5C, falls die virtuelle Eingabevorrichtung 50 geeignet ist, häufig geändert zu werden, bspw. wenn es ein Menü in einem Restaurant ist, wo die Anzeige 150 detaillierte Informationen, wie bspw. Kalorien, Inhalt der Soßen, etc. anzeigen kann, kann die Vorrichtung 50 innerhalb einer Wand 40 rückprojiziert werden. Es ist verständlich, dass, falls das Layout und der Ort der verschiedenen Icons 320 sich ändern, sich die Abbildungs-Information, die innerhalb der Einheit 70 im System 10 gespeichert ist, ebenfalls ändern wird. Die Fähigkeit, schnell die Natur und den Inhalt der virtuellen Eingabevorrichtung zu ändern, ohne notwendigerweise auf Icons mit einer festen Größe an einem festen Ort eingeschränkt zu sein, kann sehr nützlich sein. Falls ge wünscht, können tatsächlich einige Icons hinsichtlich ihrer Größe und ihres Orts auf der Vorrichtung 50 fest sein, und deren Berührung durch einen Benutzer kann verwendet werden, um eine Neu-Abbildung von dem auszuwählen, was auf der Eingabevorrichtung 50 gezeigt ist, und was durch Software innerhalb der Einheit 70 abgebildet ist. Es versteht sich, dass zusätzlich zur Vereinfachung der Anzeigeinformation, die Werbung umfassen kann, die begleitenden Vorrichtungen 80, 90 verwendet werden können, um Werbecoupons 330 für Benutzer auszugeben.
  • Es sei nun auf 6 Bezug genommen. Die Art der Registrierung eines Berührungs-Ereignisses und die Lokalisierung dessen Position, wird von dem System 10 bestimmt in einer Weise, die davon abhängt, ob das System 10 ein System mit strukturiertem Licht oder ein passives Lichtsystem ist. Wie früher angemerkt, kann in einem strukturierten Lichtsystem OS1 ein Zeilenerzeugungs-Lasersystem sein, und in einem passiven Lichtsystem kann OS1 eine digitale Kamera sein. Jedes System definiert eine Ebene 30, die, wenn sie von einem Objekt wie bspw. 120R, geschnitten wird, ein Berührungs-Ereignis auslöst, dessen (x, z)-Koordinaten dann zu bestimmen sind. Sobald die (x, z)-Koordinaten der virtuellen Berührung bestimmt sind, kann die vorliegende Erfindung entscheiden, welche Eingabe oder Befehl von der Person gemeint ist, die das System benutzt. Eine solche Eingabe oder Befehl kann zu einer begleitenden Vorrichtung übertragen werden, die natürlich auch die vorliegende Erfindung enthalten kann.
  • Falls das System 10 ein passives Lichtsystem ist, wird ein Berührungs-Ereignis registriert, wenn der Umriss einer Fingerspitze in einer ausgewählten Bildzeile von OS1 erscheint, einer digitalen Kamera. Der Berührungs-Ort auf der (x, z)-Ebene 30 wird bestimmt durch die Pixelposition der entsprechenden Objektspitze (bspw. 120R) in OS2, wenn eine Berührung in OS1 erfasst wird. Wie in 6 gezeigt, ist die Entfernung oder der Abstand von der Kamera OS1 zu dem Berührungs-Punkt eine affine Funktion der Anzahl der Pixel von dem „nahen" Ende des Pixelbildes.
  • Wie angemerkt, wird in einer Ausführungsform mit strukturiertem Licht, OS1 typischerweise ein Laserzeilengenerator sein, und OS2 wird eine Kamera sein, die hauptsächlich für die Wellenlänge der Lichtenergie empfindlich ist, die von OS1 emittiert wird. Wie angemerkt, kann dies erreicht werden, indem ein schmalbandiges Lichtfilter auf OS2 installiert wird, derart, dass nur Wellenlänge entsprechend jener, die von OS1 emittiert wird, passieren kann. Alternativ kann OS2 eine Blende bzw. ein Verschluss aufweisen, der synchron mit einem Impulsausgangssignal von OS1 öffnet und schließt, bspw. kann OS2 optische Energie nur zu Zeiten sehen, zu denen OS1 optische Energie emittiert. In beiden Ausführungsformen eines strukturierten Lichtsystems, wird OS2 vorzugsweise nur Objekte erfassen, die die Ebene 30 schneiden und damit Energie reflektieren, die von OS1 emittiert wurde.
  • In dem zuvor genannten Fall werden die Berührungs-Erfassungsdetektion und Entfernungsberechnung von dem System 10 ausgeführt. Somit wird ein Berührungs-Ereignis registriert, wenn der Umriss eines Objekts, bspw. die Fingerspitze 120R, innerhalb des Sichtbereichs von OS2 erscheint. Wie in dem zuvor genannten Beispiel, kann der Entfernungsabstand als eine affine Funktion der Anzahl der Pixel von dem „nahen" Ende des Pixelbildes berechnet werden.
  • Ein weiteres Beispiel analytischer Schritte, die in 4 durch die vorliegende Erfindung ausgeführt werden, werden nun angegeben. Es sei angenommen, dass die virtuelle Eingabevorrichtung eine Tastatur 50 ist, wie sie in 1A gezeigt ist, und das System 10 Ausgabeinformation erwartet, die zumindest den Scancode umfasst, der der virtuellen Taste entspricht, die der Benutzer auf der virtuellen Tastatur 50 „berührt" hat. In 1A und in 2A sei angenommen, dass der obere Bereich (d.h. die Reihe mit den virtuellen Tasten „ESC", „F1", „F2", etc.) in einem Abstand von etwa 20 cm von dem optischen System OS1 20 liegt. Es sei weiter angenommen, dass die Kamera OS2 60 auf einem PDA oder einer anderen Vorrichtung 80 angebracht ist, etwa 10 cm hoch ist und in einem bekannten Winkel α1 = 120° relativ zu der Ebene 30 platziert ist. Es sei auch angenommen, dass die Kamera OS2 60 eine Linse mit einer Brennweite von etwa 4 mm besitzt, und einen Kamerasensor, der eine Gruppe von 480 Zeilen und 640 Spalten hat.
  • Die Z-Koordinate der oberen linken Ecke der virtuellen Tastatur 50 soll durch Konvention bei x = 0 und z = 0 gesetzt sein, bspw. (0,0). Die Homographie H, die die Punkte in der Abbildung auf Punkte auf der virtuellen Vorrichtung abbildet, hängt von der Neigung der Kamera OS2 60 ab. Eine beispielhafte Homographiematrix für die zuvor erwähnte Konfiguration ist wie folgt:
  • Figure 00480001
  • Die zuvor erwähnte Matrix braucht vorzugsweise nur einmal während einer Kalibrierungsphase bestimmt werden, wie an anderer Stelle hier beschrieben werden wird.
  • Es sei nun auf 1A und 7 Bezug genommen. Es sei angenommen, dass der Benutzer 120L den Bereich der virtuellen Tastatur 50 berührt, der dem Buchstaben „T" entspricht, welcher Buchstabe „T" auf einem Substrat aufgedruckt sein kann, um den Benutzerfingern Führung zu geben, oder der Teil einer Abbildung der virtuellen Eingabevorrichtung sein kann, die bspw. durch das System 10 projiziert werden kann. Wenn das Koordinatensystem, das zuvor definiert wurde, verwendet wird, kann die Taste „T" als zwischen den horizontalen Koordinaten xmin = 10,5 und xmax = 12,4 cm und zwischen vertikalen Koordinaten zmin = 1,9 und zmax = 3,8 cm liegend gesehen werden, wie in 7 gezeigt.
  • Es wird nun auf 6 Bezug genommen. Bevor der Benutzerfinger 120L (oder Stift) die Ebene des Sensors OS1 20 schneidet, erfasst dieser kein Licht und sieht eine Abbildung, die aus schwarzen Pixeln besteht, wie in der Vignette 340 am unteren Bildrand dargestellt ist. Sobald jedoch das Benutzerobjekt die optische Ebene 30 schneidet, wird das Schnitt-Ereignis oder die Schnittstelle für OS1 20 sichtbar. OS1 20 erzeugt nun eine Abbildung ähnlich zu jener, die in der Vignette 350 am unteren Rand von 6 gezeigt ist. Wenn die sich nach unten bewegende Spitze 110 des Benutzerobjekts (bspw. der Finger 120L) die Ebene 40 erreicht, werden mehr des Fingers sichtbar. Die Fingerkontur kann nun bestimmt werden, bspw. durch die Einheit 70, in dem eine Rand- bzw. Kantenerfassung durchgeführt wird. Eine solche Bestimmung ist am unteren Rand von 6 als „TOUCH"-Ereignis-Vignette 360 dargestellt. Ein Berührungs-Erfassungs modul 220 in 4 bestimmt dann, dass das Benutzerobjekt die Fläche 40 berührt hat und informiert das Spitzen-Erfassungsmodul 230 von diesem Ereignis.
  • Wie in 1A zu sehen, ist die virtuelle „T"-Taste in der zweiten Reihe bzw. Zeile der virtuellen Tastatur 50, und ist deshalb relativ nahe an dem Sensor OS1 20. In 6 entspricht diese Situation der Fingerspitze in Position 110'. Wie weiter in 6 gezeigt, ist die Projektion des Bodens der Fingerspitzenposition 110' auf den Sensor des optischen Systems OS2 60 relativ nahe zu der Spitze der Abbildung. Der Rand der Fingerspitzenabbildung, der so erzeugt wird, ist ähnlich zu dem, wie er in der Vignette 370 oben von 6 gezeigt ist. In der Vignette 370 stellen zwei graue Quadrate die unteren bzw. Bodenrandpixel der Fingerspitze dar.
  • Hat der Benutzer stattdessen die Leerzeichen-Taste oder eine andere Taste näher an dem unteren Bereich der virtuellen Tastatur 50 gedrückt, d.h. weiter weg von dem Sensor OS1 20, würde die durch die Fingerspitzenposition 110 in 6 dargestellte Situation nicht auftauchen. Eine solche relativ weit entfernte Stelle auf der virtuellen Tastatur wird auf ein Pixel abgebildet, das näher an dem Boden der Abbildung ist, und eine Randabbildung ähnlich zu der, wie sie in der Vignette 380 an der Spitze von 6 skizziert ist, wäre stattdessen aufgetaucht. Zwischensituationen virtueller Tastenberührungen würden Randabbildungen erzeugen, die ähnlicher sind zu denen, die als Vignette 390 an der Spitze von 6 dargestellt sind.
  • Bei dem zuvor erläuterten Beispiel, bei dem die virtuelle Taste „T" gedrückt wird, lässt das Spitzen-Erfassungsmodul 230 in
  • 4 einen Rand-Erfassungsalgorithmus ablaufen und findet dadurch die Bodenmitte des „Blob", das den allgemeinen Bereich der Berührung darstellt, die in der Abbildungs-Zeile 65 und Spalte 492 liegt. Der homogene Abbildungs-Koordinatenvektor p, der nachfolgend gegeben wird, wird deshalb gebildet als:
  • Figure 00510001
  • Dieser homogene Abbildungs-Koordinatenvektor p wird dann multipliziert mit der Homographiematrix H, um die Koordinaten P der Benutzerfingerspitze in dem Referenzbild der virtuellen Tastatur zu erhalten:
  • Figure 00510002
  • Das Benutzerobjekt oder der Finger 120L wird somit als die virtuelle Tastatur 50 an einem Ortspunkt berührend festgestellt, der die Koordinaten x = 11,53 und z = 2,49 cm besitzt. Das Tastenidentifikationsmodul 260 in 4 sucht das Tastatur-Layout 250 für eine Taste, derart, dass xmin ≤ 11,53 < xmax und ymin ≤ 2,49 < ymax Diese Bedingungen werden für die virtuelle Taste „T" erfüllt, da 10,5 < 11,53 < 12,4 und 1,9 < 2,49 < 3,8. Es wird nun Bezug genommen auf 4. Das Tastenidentifikationsmodul 260 bestimmt deshalb, dass ein Benutzerobjekt die virtuelle Taste „T" auf der virtuellen Tastatur 50 berührt und informiert das Übersetzungsmodul 270 von diesem Ereignis.
  • Dieses Ereignis muss nicht notwendigerweise ein Tastendruck sein. Beispielsweise kann das Benutzerobjekt oder der Finger früher die „T"-Taste berührt haben und kann danach in diesem Berührungs-Kontakt mit der Taste geblieben sein. In einem solchen Fall sollte kein Tastendruck-Ereignis an die Anwendung 280 übertragen werden, die auf der begleitenden Vorrichtung 80 oder 90 abläuft.
  • Das Tastenübersetzungsmodul 270 speichert vorzugsweise den Oben-Status oder den Unten-Status jeder Taste intern. Dieses Modul bestimmt für jedes Bild, ob eine Taste ihren Zustand geändert hat. Bei dem zuvor erwähnten Beispiel, falls die Taste „T" als in dem Unten-Status in dem aktuellen Bild aufgefunden wird, aber in dem vorhergehenden Rahmen in dem Oben-Status war, würde das Übersetzungsmodul 270 eine KEYCODE-Nachricht an die Anwendung 280 senden. Der KEYCODE-Code wird ein „TASTE-UNTEN"-Ereignis-Identifizierer enthalten zusammen mit einem „KEY ID"-Kennzeichen, das die „T"-Taste identifiziert und dadurch die Anwendung 280 informiert, dass die „T"-Taste gerade von dem Benutzerobjekt „gedrückt" wurde. Falls die „T"-Taste als in dem Unten-Zustand der vorhergehenden Bilder aufgefunden worden wäre, würde der KEYCODE einen „KEY HELD"-Ereignis-Identifizierer enthalten zusammen mit der „KEY ID", die mit der „T"-Taste verknüpft ist. Ein Senden des „KEY HELD"-Ereignisses bei jedem Bild (mit Ausnahme des ersten Bildes), bei dem die Taste in einem Unten-Zustand ist, befreit die Anwendung 280 davon, jeden Zustand über die Tasten aufrechtzuerhalten. Sobald die „T"-Taste als in dem Oben-Zustand in dem aktuellen Bild aufgefunden wird, und in den vorherigen Bildern in dem Unten-Zustand war, sendet das Übersetzungsmodul 270 einen KEYCODE mit einem „KEY UP"-Ereignis-Identifizierer wieder mit einem „KEY ID"-Kennzei chen, das die „T"-Taste identifiziert, und informiert die Anwendung 280, dass die „T"-Taste gerade von dem Benutzerobjekt „freigegeben" wurde.
  • Aus dem zuvor Beschriebenen ergibt sich, dass es ausreicht, dass die Bildabbildungen nur die Spitzen des Benutzerobjekts, bspw. die Fingerspitzen enthalten. Die verschiedenen Ausführungsformen der vorliegenden Erfindung benutzen weniger als volle dreidimensionale Abbildungs-Information, die innerhalb eines relativ flachen Raums erfasst wird, der nur wenig oberhalb einer virtuellen Eingabe oder einer virtuellen Übertragungsvorrichtung definiert ist. Ein System, das diese Ausführungsformen implementiert, kann relativ kostengünstig hergestellt werden und arbeitet mit einer eigenen Batteriequelle. Tatsächlich könnte das System konstruiert sein, dass es innerhalb allgemeiner Vorrichtungen, wie bspw. PDAs, Mobilfunkgeräten, etc. enthalten ist, um die Eingabe oder die Übertragung von Information von einem Benutzer zu beschleunigen. Wie beschrieben, können unerwünschte Effekte durch Umgebungslicht reduziert werden, indem die Wellenlängen in den Ausführungsformen mit aktivem Licht ausgewählt werden, indem Kamera(s) und Lichtquellen synchronisiert werden, indem Signalverarbeitungstechniken verwendet werden, die Abbildungen erfassen und Abbildungen heraussubtrahieren, die Hintergrundrauschen darstellen.
  • Modifikationen und Variationen sind bei den offenbarten Ausführungsformen möglich, ohne den Rahmen der vorliegenden Erfindung, wie sie in den nachfolgenden Ansprüchen definiert ist, zu verlassen.

Claims (14)

  1. System, das es einem mit einer virtuellen Übertragungsvorrichtung verwendeten benutzermanipulierten Benutzerobjekt ermöglicht, Information an eine begleitende Vorrichtung zu übertragen, mit: einer zentralen Prozessoreinheit, die einen Speicher umfasst, der zumindest eine Softwareroutine speichert; einem ersten optischen System, das eine Ebene definiert, die im Wesentlichen parallel zu und beabstandet über einem angenommenen Gebiet der virtuellen Übertragungsvorrichtung ist; einem zweiten optischen System, das ein relevantes Sichtfeld besitzt, welches zumindest Teile der Ebene umschließt und auf ein Eindringen des Benutzerobjekts in die Ebene anspricht, um mit der virtuellen Übertragungsvorrichtung zu interagieren; einem Mittel zum Bestimmen der relativen Position eines Bereichs des Benutzerobjekts auf der Ebene; wobei das System Information zu der begleitenden Vorrichtung überträgt, so dass das Benutzerobjekt mit der virtuellen Übertragungsvorrichtung den Betrieb der begleitenden Vorrichtung bewirken kann.
  2. System nach Anspruch 1, wobei das Mittel zum Bestimmen derart ausgebildet ist, dass es die Bestimmung der relativen Position durch Triangulationsanalyse ausführt.
  3. System nach Anspruch 1, wobei das Mittel zum Bestimmen eine Prozessoreinheit umfasst, die die Routine ausführt, um die relative Position zu bestimmen.
  4. System nach Anspruch 1, wobei: das erste optische System ein Mittel zum Erzeugen einer Ebene von optischer Energie; und das zweite optische System einen Kamerasensor aufweist, der einen reflektierten Teil der optischen Energie erfasst, wenn das Benutzerobjekt in die Ebene eindringt.
  5. System nach Anspruch 1, wobei: das erste optische System zumindest einen Laser aufweist, um die Ebene zu erzeugen, oder eine LED aufweist, um die Ebene zu erzeugen; und das zweite optische System einen Kamerasensor aufweist, der einen reflektierten Teil der optischen Energie erfasst, wenn das Benutzerobjekt in die Ebene eindringt.
  6. System nach Anspruch 1, ferner mit einem Mittel zur Verbesserung der Ansprechempfindlichkeit des zweiten optischen Systems auf das Eindringen eines Benutzerobjekts, während die Empfindlichkeit gegenüber Umgebungslicht reduziert wird.
  7. System nach Anspruch 6, wobei das Mittel zum Verbessern zumindest eines der nachfolgenden Merkmale umfasst: (a) Bereitstellen einer Signatur, die mit der Erzeugung der Ebene verknüpft ist, (b) Auswahl einer gemeinsamen Wellenlänge für die Energie innerhalb der Ebene, die von dem ersten optischen System definiert wird und für das Ansprechverhalten des zweiten optischen Systems, und (c) eine Synchronisation des ersten optischen Systems mit dem zweiten optischen System.
  8. System nach Anspruch 1, wobei das erste optische System einen ersten Kamerasensor aufweist, der die Ebene bildet.
  9. System nach Anspruch 1, wobei: das erste optische System einen ersten Kamerasensor aufweist, der die Ebene bildet; das zweite optische System eine zweite Kamera aufweist, um das Eindringen zu erfassen; und ferner mit: einer Quelle optischer Energie, die in Richtung der virtuellen Übertragungsvorrichtung gerichtet ist; und ein Mittel zum Synchronisieren des Betriebs von zumindest zwei des ersten optischen Systems, des zweiten optischen Systems und der Quelle der optischen Energie; wobei die Wirkung des Umgebungslichts auf die Genauigkeit der Information, die mit dem System erhalten wird, reduziert wird.
  10. System nach Anspruch 1, wobei: das erste optische System einen Generator für optische Energie einer gewünschten Wellenlänge aufweist; und das zweite optische System im Wesentlichen nur auf optische Energie der gewünschten Wellenlänge anspricht.
  11. System nach Anspruch 1, wobei die begleitende Vorrichtung ein PDA, eine tragbare Kommunikationsvorrichtung, eine elektronische Vorrichtung, eine elektronische Spielvorrichtung, und/oder ein Musikinstrument sein kann, und die virtuelle Übertragungsvorrichtung eine virtuelle Tastatur, eine virtuelle Maus, ein virtueller Trackball, ein virtueller Stift, ein virtueller Trackpad und/oder ein Benutzerschnittstellen-Auswahlmittel sein kann.
  12. System nach Anspruch 1, wobei die virtuelle Übertragungsvorrichtung auf eine Arbeitsfläche abgebildet wird, die eine Tischfläche, eine Schreibtischfläche, eine Wand, eine Kassenanwendung, eine Verkaufsanwendung, ein Kiosk, eine Oberfläche in einem Fahrzeug, eine projizierte Anzeige, eine physikalische Anzeige, ein CRT und/oder ein LCD sein kann.
  13. System nach Anspruch 1, wobei zumindest das erste Betriebssystem oder das zweite Betriebssystem ein Kamerasensor ist mit einer Linse und einer Abbildungs-Ebene; wobei die Linse und/oder die Abbildungs-Ebene geneigt ist, um die Auflösung und/oder die Tiefenschärfe zu verbessern.
  14. System nach Anspruch 1, ferner mit einem Mittel zum Verbessern der Unterscheidbarkeit des Benutzerobjekts von einem Hintergrundobjekt.
DE20122526U 2000-09-07 2001-09-07 Eine Vorrichtung zum Erfassen und Lokalisieren einer Interaktion eines Benutzerobjekts und virtuelle Übertragungsvorrichtung Expired - Lifetime DE20122526U1 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US23118400P 2000-09-07 2000-09-07
US231184P 2000-09-07
US27212001P 2001-02-27 2001-02-27
US272120P 2001-02-27
US28711501P 2001-04-27 2001-04-27
US287115P 2001-04-27
EP01970695A EP1336172B1 (de) 2000-09-07 2001-09-07 Quasi-dreidimensionales verfahren und vorrichtung zur erkennung und lokalisierung der interaktion von benutzer und objekt und virtuelle transfereinrichtung

Publications (1)

Publication Number Publication Date
DE20122526U1 true DE20122526U1 (de) 2006-06-01

Family

ID=36590888

Family Applications (1)

Application Number Title Priority Date Filing Date
DE20122526U Expired - Lifetime DE20122526U1 (de) 2000-09-07 2001-09-07 Eine Vorrichtung zum Erfassen und Lokalisieren einer Interaktion eines Benutzerobjekts und virtuelle Übertragungsvorrichtung

Country Status (1)

Country Link
DE (1) DE20122526U1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077505A1 (de) 2006-12-22 2008-07-03 Kaltenbach & Voigt Gmbh Eingabevorrichtung zur bedienung von geräten eines zahnärztlichen arbeitsplatzes, sowie zahnärztliche behandlungseinheit mit einer solchen eingabevorrichtung
DE102008036762A1 (de) * 2008-08-07 2010-02-11 Airbus Deutschland Gmbh Steuer- und Anzeigesystem
DE102009025833A1 (de) * 2009-01-06 2010-09-23 Pixart Imaging Inc. Elektronisches Gerät mit virtuellem Dateneingabegerät
DE102012110460A1 (de) 2012-10-31 2014-04-30 Audi Ag Verfahren zum Eingeben eines Steuerbefehls für eine Komponente eines Kraftwagens
US10018835B2 (en) 2016-03-18 2018-07-10 Stmicroelectronics S.R.L. Projective MEMS device for a picoprojector of the flying spot type and related manufacturing method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077505A1 (de) 2006-12-22 2008-07-03 Kaltenbach & Voigt Gmbh Eingabevorrichtung zur bedienung von geräten eines zahnärztlichen arbeitsplatzes, sowie zahnärztliche behandlungseinheit mit einer solchen eingabevorrichtung
DE102008036762A1 (de) * 2008-08-07 2010-02-11 Airbus Deutschland Gmbh Steuer- und Anzeigesystem
DE102009025833A1 (de) * 2009-01-06 2010-09-23 Pixart Imaging Inc. Elektronisches Gerät mit virtuellem Dateneingabegerät
DE102012110460A1 (de) 2012-10-31 2014-04-30 Audi Ag Verfahren zum Eingeben eines Steuerbefehls für eine Komponente eines Kraftwagens
WO2014067626A1 (de) 2012-10-31 2014-05-08 Audi Ag Verfahren zum eingeben eines steuerbefehls für eine komponente eines kraftwagens
US9612655B2 (en) 2012-10-31 2017-04-04 Audi Ag Method for inputting a control command for a component of a motor vehicle
US10018835B2 (en) 2016-03-18 2018-07-10 Stmicroelectronics S.R.L. Projective MEMS device for a picoprojector of the flying spot type and related manufacturing method
US10895740B2 (en) 2016-03-18 2021-01-19 Stmicroelectronics S.R.L. Projective MEMS device for a picoprojector of the flying spot type and related manufacturing method

Similar Documents

Publication Publication Date Title
US4468694A (en) Apparatus and method for remote displaying and sensing of information using shadow parallax
EP0055366B1 (de) Vorrichtung zum Fernanzeigen und -lesen von Information mit Hilfe der Schattenparallaxe
DE69532662T2 (de) Hinweisvorrichtungsschittstelle
US8123361B2 (en) Dual-projection projector and method for projecting images on a plurality of planes
DE102009032637B4 (de) Bildvergrößerungssystem für eine Computerschnittstelle
JP6078884B2 (ja) カメラ式マルチタッチ相互作用システム及び方法
EP0963563B1 (de) Anordnung und verfahren zur detektion eines objekts in einem von wellen im nichtsichtbaren spektralbereich angestrahlten bereich
US6710770B2 (en) Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
DE69530395T2 (de) Interaktives projektiertes videobildanzeigesystem
KR100452413B1 (ko) 컴퓨터-생성 투사 영상의 캘리브레이션을 위한 방법 및 장치
US6346933B1 (en) Interactive display presentation system
US6760009B2 (en) Coordinate position inputting/detecting device, a method for inputting/detecting the coordinate position, and a display board system
US7460106B2 (en) Method and apparatus for computer input using six degrees of freedom
US6429856B1 (en) Coordinate position inputting/detecting device, a method for inputting/detecting the coordinate position, and a display board system
US20030071858A1 (en) Information input and output system, method, storage medium, and carrier wave
US20030226968A1 (en) Apparatus and method for inputting data
DE102009023875A1 (de) Gestenerkennungsschittstellensystem mit vertikaler Anzeigefläche
DE102009025236A1 (de) Schnittstellensystem zur Gestenerkennung mit einem lichtstreuenden Bildschirm
JP2004513416A (ja) ユーザオブジェクトと仮想転送装置との相互作用を検出しそして位置決めする擬似三次元方法及び装置
DE112015002463T5 (de) Systeme und Verfahren zum gestischen Interagieren in einer im Umfeld vorhandenen Computerumgebung
US20130335299A1 (en) Display control device, display, display system and computer-readable medium
CN102053763A (zh) 光学位置检测装置及带位置检测功能的显示装置
DE102004044999A1 (de) Eingabesteuerung für Geräte
CN1701351A (zh) 检测和定位用户-对象与虚拟传送设备的交互作用的准三维方法和装置
DE20122526U1 (de) Eine Vorrichtung zum Erfassen und Lokalisieren einer Interaktion eines Benutzerobjekts und virtuelle Übertragungsvorrichtung

Legal Events

Date Code Title Description
R207 Utility model specification

Effective date: 20060706

R150 Term of protection extended to 6 years

Effective date: 20060601

R151 Term of protection extended to 8 years

Effective date: 20080411

R152 Term of protection extended to 10 years

Effective date: 20091111

R071 Expiry of right