DE20122526U1 - Virtual input device operation method for computer system, cellular telephone, involves sensing penetration of stylus into optical beam plane to detect relative position of stylus in the plane - Google Patents

Virtual input device operation method for computer system, cellular telephone, involves sensing penetration of stylus into optical beam plane to detect relative position of stylus in the plane 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
German (de)
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/en
Publication of DE20122526U1 publication Critical patent/DE20122526U1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/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

An optical system (20) emits an optical fan-shaped beam such that the plane (30) of the beam is parallel to and spaced from the planar work surface (40) of a virtual input device (50). Penetration of stylus into the beam plane (30) is sensed to determine the relative position of stylus in the plane. An independent claim is also included for virtual input system.

Description

BEZUGNAHME AUF FRÜHER EINGEREICHTE ANMELDUNGENREFERENCE ON PREVIOUS SUBMITTED APPLICATIONS

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.These Application claims priority to pending provisional U.S. patents. Patent application the applicant with the number 60 / 287,115, filed on April 27, 2001 was titled "Input Methods Using Planar Range Sensors ", pending U.S. provisional patent application 60 / 272,120, filed February 27, 2001, entitled "Vertical Triangulation System for a Virtual Touch-Sensitive Surface ", and pending provisional patent application 60 / 231,184, which issued on September 7, 2000 was filed with the title "Application of Image Processing Techniques for a Virtual Keyboard System. "Furthermore, this application is a continuation-in-part from the pending U.S. Patent Application No. 09 / 502,499, filed on Feb. 11 2000, entitled "Method And Apparatus for Entering Data Using A Virtual Input Device. "Each of these applications is hereby incorporated incorporated by reference.

GEBIET DER ERFINDUNGAREA OF INVENTION

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.These The invention relates generally to a device for detecting or Capture an approach a pen or a user's finger relative to a device, to enter commands and / or data into a system or to this transferred to, and in particular, it relates to such detection relative to a virtual one Apparatus for entering or transmitting commands and / or Data and / or other information about a system is used.

HINTERGRUND DER ERFINDUNGBACKGROUND THE INVENTION

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.It is very common desirable, virtual input devices to use commands and / or data enter and / or other information about electronic systems transferred to, for example, to a computer system, a musical instrument, or even Phones. Although computer now realized in almost pocket size can be may be typing data or commands on a mini keyboard time consuming and error prone be. While Many mobile phones today can handle e-mail communication the actual Entering messages using the small phone touchpad to be difficult.

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.One For example, PDA has a lot of the functionality of a computer, but suffers on a small or nonexistent keyboard or keyboard. If a system could be used to determine if a user's finger or a pen a virtual keyboard touched, and which fingers touched which virtual keys on it could be the Output of the system maybe a PDA instead of the keyboard information be entered. (The terms "finger" or "finger" and "pen" are used interchangeably herein.) In this example could a virtual keyboard a piece Be paper, for example, that unfolds to the size of a keyboard, with buttons imprinted to guide the user's hands. It is understood that the virtual keyboard or other input devices easy a work surface represent and no sensors or mechanical or electronic Own components. The paper and the keys would not work indeed Enter information but the interaction or interface between the user's fingers and areas of the paper support. If no paper could be used Areas of a work surface, where keys would exist, to enter information into the PDA. A similar Virtual device and a system could be useful to email in mobile phones enter. A virtual piano-like keyboard could be used become a real musical instrument. The challenge However, it consists in detecting or detecting where the user's fingers or a pen relative to the virtual device.

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 5,767,848 to Korth (1998) entitled "Method and Device For Optical Input of Commands or Data "tries to implement virtual devices by using a two-dimensional TV video camera is used. Such optical systems are based on lighting data and require a stable ambient light source, however, you can Unfortunately Illumination data disturb a picture system. For example, a User fingers in the picture foreground are indistinguishable of areas in the background. Furthermore, shadows or others could image-blocking phenomena, resulting from the virtual device obstructing user's hand result, the implementation of a Korth system in operation something imprecisely let appear. Korth would also the exam the contour of a user's finger, the finger position relative to the virtual device and a determination of finger movement require.

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.U.S. Patent No. ... by Bamji et al. (2001) entitled "CMOS Compatible Three-Dimensional Image Sensor IC ", Serial No. 09 / 406,059, filed September 22, 1999, discloses a sophisticated three-dimensional imaging system that uses virtual devices to input commands and data into electronic systems The image was captured three-dimensionally by using propagation time measurements A light source emits optical energy toward a target object, such as a virtual device, and can be used to capture the interface between a user fingertip and a virtual input device, such as a keyboard The energy reflected from areas of the object within the imaging path was detected by a group of photodiodes Using the various sophisticated techniques, the actual transit time between the emissions of the optical energy and their detection by the photod group of products. This measurement allowed the vector distance to the point on the target object to be calculated in three dimensions, for example (x, y, z). The described system tested the reflected emitted energy and could operate without ambient light. For example, if the target object were a computer keyboard layout, perhaps a piece of paper with imprinted keys, the system could detect which user finger touched which area on the target, for example which virtual key, in what order. Of course, the piece of paper would be optional and would be used to guide the user's fingers.

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.Three-dimensional Data obtained with the Bamji invention could by Software to locate the user's fingers, if they came into contact with a touch surface, for example a virtual one Input device. The software could touch the finger with a place on the surface as identify a request, a keyboard event of an application to enter on the linked electronic Device or system, for example, a computer, a PDA, a mobile device, a kiosk device, a Cash register device, etc. During the Bamji system worked and could be used to Enter commands and / or data into a computer system in which A three-dimensional image is used to interface of user fingers and a virtual input device to analyze is a less complex and perhaps less sophisticated one System desirable. Like the Bamji system, such a new system should be relatively inexpensive for mass production be and should consume relatively little energy, leaving a battery operation easily possible is.

Die vorliegende Erfindung stellt ein solches System bereit.The The present invention provides such a system.

ZUSAMMENFASSUNG DER VORLIEGENDEN ERFINDUNGSUMMARY THE PRESENT INVENTION

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.The The present invention locates an interaction between a User finger or a stylus and a passive touchpad (eg. a virtual input device) that defines above a work surface is by using a planar quasi three-dimensional detection becomes. The quasi-three-dimensional detection implies that the Determination of an interaction point essentially in three dimensions accomplished can be made by using a two-dimensional surface as reference which is arbitrarily oriented in three-dimensional space. As soon as a touch the invention locates the touch area to determine where the touch took place on a virtual input device, and what data or command key sequences, according to the localized Area that touches was, in response to the touch accomplished shall be. Alternatively could the virtual input device is a virtual mouse or a trackball include. In such an embodiment would the vorlie ing invention, the coordinates of the touch point with the virtual Capture input device and report which coordinates with linked to an application are, perhaps a cursor on a display (in a virtual mouse or a trackball implementation) and / or so-called digital Ink for to be able to apply a drawing or a writing application (a virtual filler or a pen application). In various embodiments, preferably Triangulation analysis method used to determine where a "touch" of user and Object with the virtual input device occurs.

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.In a so-called structured light embodiment, the invention includes a first optical system (OS1) that generates a plane of optical energy that produces a fan beam of beam angle φ parallel to and a small distance ΔY above the work surface on which the virtual Input device could be defined. In this embodiment, the plane of interest is the plane of the light generated by OS1, typically a laser or an LED light generator. The two parallel planes may typically be horizontal, but may also be vertical or have any other arbitrary and suitable angle. The invention further includes a second optical system (OS2) responsive to optical energy of the same wavelength as emitted by OS1. Preferably, the OS2 is located above OS1 and angled at an offset angle of θ relative to the fan beam plane, toward the area where the virtual input device is defined. OS2 responds to energy coming from OS1 is emitted, but the wavelength of the optical energy does not have to be visible to people.

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.The Invention can also be implemented by configurations be used with unstructured light that is active or can be passive. In a passive triangulation embodiment, OS1 is a camera and not an active source of optical energy, and OS2 is one Camera that responds to the same optical energy as OS1 and preferably arranged as described above. In such an embodiment the plane of interest is the projection plane of a scan line the OS1 camera. In one embodiment with unstructured light, such as an active triangulation embodiment OS1 and OS2 cameras and the invention further comprises an active Light source that emits optical energy at wavelengths to the OS1 and OS2. Optional in such an embodiment can OS1 and OS2 each have a shutter mechanism or shutter or Cover mechanism that is synchronized to the active Output light source such that the shutters in OS1 and OS2 are open, when optical energy is emitted and the otherwise closed are. An advantage of a configuration with unstructured light, The two cameras used is that bumps or irregularities on the work surface be better tolerated. The level defined by OS1 can be selected by using a matching set of OS1 capture pixel elements chosen is going to be with the highest Point in the y-dimension (eg a hill) of the work surface to match.

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.at the embodiment with structured light OS2 will not detect the optical energy until an object, for example a user's finger or a pen, begins, the worktop area to touch, on which the virtual input device is defined. As soon as, however the object penetrates the plane of the optical energy coming from OS1 is emitted, the area of the finger or the pen, which cuts the plane, be illuminated (visible or invisible for the User). OS2 detects the cutting or crossing of the level of interest by detecting the optical energy, which reflects in the direction OS2 by illuminating the object area becomes. Essentially, only one level is for the present invention of interest, which is determined by the configuration of OS1, and all other planes parallel in three-dimensional space could be defined to the virtual input device, as ignored irrelevantly. Thus captures a planar three-dimensional Sensor system user interactions with a virtual input device, which occur in the plane of the emitted fan beam, and ignores any interaction with other layers.

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.On this way detects or recognizes the present invention, that an object has touched the virtual input device. By detecting that a relevant touch intersection occurred Then, the invention locates the location in two dimensions the touch at the virtual device level. In the preferred implementation can localized operations identifying which virtual keys are on a virtual computer keyboard or a music keyboard from the user be touched. The user can touch more than one virtual key at a time, e.g. the "Shift" key and another Button. It should also be noted that the chronological order the touches determined by the present invention. If so, the user touched virtual keys for "shift" and "t" and then for the letters "h" and then "e", becomes the present Invention recognize that "T" then "h" and then "e", or "The" was entered. It is understood that the present invention is not limited to Ambient light supports and that they are also full in the absence of ambient light functioning is assuming that the user is the location of the virtual Input device knows.

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.Structured light and / or unstructured light passive triangulation techniques may be used to determine a touch point (x, z) between a user's hand and the detection plane. Since the baseline distance B between OS1 and OS2 is known, a triangle is formed between OS1, OS2 and the point (x, z) whose sides are B, and the projection beams R1 and R2 from OS1, OS2 to (x, z). OS1 and OS2 allow the determination of a triangle angle distance from a reference plane and the angles α 1 and α 2 formed by the projection beams, and the trigonometry results in the distance z to the surface point (x, z) as well as the projection beam lengths.

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.A processor unit associated with the present invention executes software to identify each intersection of a user-controlled object with the virtual input device and determine therefrom the correct user-desired input data and / or commands, preferably by using a triangulation analysis. The data and / or commands may then be input by the present invention as inputs to a device or system for which the virtual input device is being used. If desired, the present invention may be implemented within the companion device or systems, in particular in PDAs, cell phones and other small scale devices or systems which often lack a large user input device such as a keyboard.

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.Other Features and advantages of the invention will become apparent from the following Description in which the preferred embodiments are set forth in detail, in conjunction with the accompanying drawings.

KURZE BESCHREIBUNG DER ZEICHNUNGENSHORT DESCRIPTION THE DRAWINGS

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; 1A Fig. 12 shows a planar, quasi-three-dimensional, structured light detection system used to capture user input on a virtual input device in accordance with the present invention;

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; 1B shows a planar quasi-three-dimensional detection system with unstructured active light used to detect user input on a virtual input device according to the present invention;

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; 1C shows a planar quasi-three-dimensional detection system with unstructured passive light used to capture user input on a virtual input device according to the present invention;

2A zeigt die Geometrie, die mit der Ortsbestimmung verknüpft ist, indem Triangulation verwendet wird, entsprechend der vorliegenden Erfindung; 2A shows the geometry associated with location determination using triangulation according to the present invention;

2B zeigt den Einsatz eines optischen Emitters und eines davon beabstandeten Reflektors, als ein erstes optisches System, entsprechend der vorliegenden Erfindung; 2 B shows the use of an optical emitter and a reflector spaced therefrom, as a first optical system, according to the present invention;

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; 3A - 3E show design tradeoffs associated with varying orientations of the OS2 sensor, the OS2 lens, and the detection plane with effective field of view and image quality, according to the present invention;

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; 4 FIG. 4 is a block diagram illustrating functions performed by a processor unit in the example system of FIG 1B be executed, according to an embodiment of the present invention;

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; 5A shows an embodiment in which the virtual device has four user-selectable areas and the companion device is a monitor according to the present invention;

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; 5B shows an embodiment in which the virtual device is a computer keyboard and the accompanying device is a mobile radio transmitter / receiver according to the present invention;

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; 5C shows an embodiment in which the virtual device is mounted or projected on a wall and the companion device is a monitor according to the present invention;

6 zeigt eine planare Entfernungsmessung entsprechend der vorliegenden Erfindung; und 6 shows a planar distance measurement according to the present invention; and

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. 7 FIG. 12 shows coordinate range measurements used in an example calculation of a touch location for use in outputting corresponding information or data or instructions according to the present invention. FIG.

DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

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. 1A shows a preferred embodiment of a quasi-planar three-dimensional detection system 10 with - in one embodiment with a structured light system - a first optical system (OS1) 20 which has a fan beam plane 30 of optical energy parallel to a planar work surface 40 emits on which work surface a virtual input device 50 and or 50 ' and or 50 '' is defined. Preferably, the fan beam defines a fan angle φ and is spaced from the work surface by a small distance distance ΔY. An object (such as a user's finger or pen) attempting to touch the work surface must first touch the fan beam and thereby illuminate with the emitted optical energy (visible or invisible). While the fan beam level 30 and the Ar beitsflächenebene 40 arranged horizontally in 1A 2, these two planes can also be arranged vertically or actually at any other angle desired for a system. It should be noted that without limitation a work surface 40 a part of a desk, a table surface, a part of a vehicle, for example a tray in an airplane, a windscreen or a dashboard, a wall, a display with a projected image or a display, such as a CRT, an LCD could. Herein, the term "level" is understood to include a subset of an entire level, for example, the fan beam level 30 as a plane, although it has a finite width and does not extend in all directions at last.

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.By "virtual input device" is meant an image of an input device on the work surface 40 may be present, perhaps by placing a paper bearing a printed image, or perhaps by a system 10 that projected a visible image of the input device onto the work surface, or effectively, there is no any visible image on the work surface 40 gives. The virtual input device 50 . 50 ' . 50 '' does not require any mechanical parts, such as control buttons, and does not need to respond to the touch of a finger or stylus; In short, the virtual input device is preferably passive.

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.In the example of 1A is the virtual input device 50 a computer keyboard that can be full size or enlarged or reduced in size compared to a commonly dimensioned keyboard. If desired, the virtual input device may be a virtual trackball 50 ' and / or a virtual touchpad 50 '' contain or include. If the system 10 with a virtual keyboard input device 50 , or a virtual trackball 50 ' or a virtual touchpad 50 '' is used, a fan angle φ of about 50 ° to 90 ° and preferably about 90 ° ensure, so that the fan beam 30 the entire virtual input device is surrounded in commonly used distances. In such a virtual input device, a distance distance .DELTA.Y of up to a few mm, preferably about 1 mm has proven to be very good.

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.The system 10 further comprises a second optical system (OS2) 60 typically a camera with a planar sensor, preferably spaced from and above OS1 20 is arranged and towards the work surface 40 and the plane 30 is inclined at an angle θ, from about 10 ° to about 90 °, and preferably about 25 °. The system 10 further comprises an electronic processing system 70 which monitors among other tasks OS1 and OS2. The system 70 preferably comprises at least one central processing unit (CPU) and associated memory, which may comprise read-only memory (ROM) and random access random access memory (RAM).

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.In 1A are system 10 elements OS1 20 , OS2 60 and the processor unit 70 being shown on or in a device 80 are arranged. The device 80 can be considered a stand-alone implementation of the system 10 or may actually be a system or device for which the virtual input device 50 is used to enter data or commands. In the latter case, the device 80 without limitation, a computer, a PDA (as in 1A shown), a mobile phone, a musical instrument, etc. If the system or device 80 is not controlled by the virtual input device, the device 90 thus controlled electrically with the system / device 80 be coupled to data and / or command inputs from the virtual device 50 to recieve. If the virtual device is a trackball (or mouse) 50 ' or a touchpad 50 '' For example, with such a virtual device, user interaction may directly output raw information or data containing touch coordinates (x, z) for use by the device 80 include. For example, the user interaction with the virtual input device 50 ' or 50 '' a repositioning of a cursor 160 on a display 140 or could change an application by the device 80 or could be a location for a so-called digital ink 180 Following this, what a user "writes" by using a virtual mouse or trackball 50 ' is used, or a pen 120 ' is used or a virtual touchpad 50 '' , The system / device 90 can be electric with the system 80 about a medium 100 be coupled, which may include without limitation lines or may be wireless or may be a network including the Internet.

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.In one structured light embodiment, OS1 emits 20 optical energy in a fan beam 30 parallel to the xz plane 30 , OS1 may have a laser line generator or LED row generator, although other optical power sources could be used to make the plane 30 radiate. A row generator OS1 is named so because it emits a plane of light which, when intersected by a second plane, illuminates what OS2 would see as a line on the second plane. For example, if a cylindrical object is level 30 OS2 would light this process as one See section of an elliptical arc whose aspect ratio would depend on the distance of OS2 above the plane 30 and the surface 40 , Thus, the detection by OS2 detects an elliptical arc on the plane 30 a touch operation, for example, that an object, such as. 120R the level 30 touched or penetrated, with ambient light is excluded. Although a variety of optical emitters are used, a laser diode that outputs about 3 mW average power with a wavelength of about 300 nm to perhaps 1000 nm could be used. While ambient light wavelengths (eg, about 350 nm to 700 nm) could be used, the effects of ambient light could be minimized without filtering or without shutters if such wavelengths are avoided. Thus, wavelengths from about 600 nm (visible red) to about 1000 nm (deep infrared) could be used. A laser diode that outputs optical energy at a wavelength of 850 nm would be an economical emitter, although OS2 would preferably include a filter to reduce the effects of ambient light.

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.While OS1 is preferably stationary in a structured light embodiment, it will be understood that a fan beam 30 could be generated by mechanically panning a single emitted line of optical energy to the fan beam plane 30 define. As in 2 B OS1 can actually be an optical energy emitter 20-A comprising a fan beam and a reflecting mirror 20-B , the fan beam 30 essentially parallel to the surface 40 directed. For the present invention, in the structured light embodiment, the optical energy provided by OS1 20 is emitted, visible or invisible to humans. OS2 60 preferably includes a camera system responsive to optical energy of the wavelength selected by OS1 20 is emitted. By "responsive" it is meant that OS2 recognizes energy of the same wavelength emitted by OS1, and ideally does not recognize or respond to energy that differs substantially from the wavelength, for example OS2 may include a filtering system such that optical Energy of the wavelength, which is not the wavelength emitted by OS1, is not detected, for example, a color filter.

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.If desired, OS2 could essentially only respond to optical energy emitted by OS1 by synchronously turning OS1 and OS2 on and off simultaneously, for example, under the control of the unit 70 , OS1 and OS2 would preferably include apertures, or shutter mechanisms, as elements 22 are shown that functionally open and close in a synchronous manner. The electronic processing system 70 could, for example, synchronously OS1, OS2 or the shutter mechanisms 22 for a time period t 1 with a desired duty cycle, where t 1 is in the approximate range of about 0.1 ms to about 35 ms, and would then turn off OS1 and OS2. If desired, OS1 could always be operated when the plane 30 only can radiate when the shutter 22 before OS1 20 is open. In the various shutter configurations, the repetition rate of the synchronous switching is preferably about 20 Hz to about 300 Hz to support an adequate image data acquisition speed. To save on operating power and reduce computational overhead, a repetition rate of about 30 Hz to 100 Hz is an acceptable speed. Of course, other devices and methods may also be used to ensure that OS2 is essentially responsive only to optical energy coming from OS1 is emitted. To simplify the illustration, the closures 22 represented as mechanical elements, but in practice becomes the concept of closures 22 understood to include on and off switching light sources and cameras in any variation.

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.If desired could a source or sources of optical energy used in the present Be used in the invention, a so-called. Signature to carry to enable that such energy better distinguished from the ambient light energy can be. For example, could Such sources are modulated with a fixed frequency, so that Cameras or other sensor units used in the present invention can be used to more easily detect such energy while the Ambient light energy due to the lack of such a signature essentially rejected would be this example is not limiting. In short, signature techniques, such as the wavelength selection for optical Energy that differs from ambient light, techniques that include synchronous operation of the light sources and the camera sensors, and modulated or otherwise labeled light source energy, respectively the signal / noise ratio to improve the information obtained from the present invention becomes.

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.It should be noted that there is no requirement or need for the work surface 40 reflective or non-reflective with respect to the wavelength, which wavelength is emitted by OS1, since the fan beam or any other emission of optical energy does not reach the surface as such. It should also be noted that the virtual input device is preferably completely passive. Because the device 50 is passive, it can be sized in size so that it is smaller than a full dime sited device, if necessary. Further, the cost of a passive virtual input device is zero, especially if the "device" is simply a piece of paper carrying a graphical image of a current input device.

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 Let's first assume that the user of the system 10 not near the virtual input device 50 is. In a structured light embodiment, OS2 detects nothing, although OS1 is a fan beam plane of optical energy 30 can emit, since no object is the plane 30 cuts. It is now assumed that a section 110 a finger of the left or right hand 120L . 120R of a user moves down to a portion of the area of the work surface 40 to touch on the virtual input device 50 is defined. Alternatively, an area could be 110 ' a user-controlled pen 120 ' to be moved down to a relevant area of the work surface 40 to touch. Within the context of the present invention, a touch is interpreted by software associated with the invention as a request to send a keyboard event to an application on an accompanying device or system 80 or 90 , For example, a notebook, a PDA, a mobile device, a kiosk or booth device, a cash register device, etc. expires.

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.In 1A as the user's finger moves down and begins, the optical energy plane 30 to cut, an area of the fingertip that faces OS1, now optical energy 130 reflect. At least some of the reflected optical energy 130 is detected by OS2 since the wavelength of the reflected energy is the same as the energy emitted by OS1 and OS2 responds to energy of such wavelength. Thus, the planar quasi-three-dimensional detection system captures 10 optical energy reflected by the interaction of a user-controlled object (eg, a finger, a stylus, etc.), the interaction occurring at a plane of interest, that of the fan beam plane 30 is defined. Any interaction that occurs at any other level is considered irrelevant and may be ignored by the present invention.

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.Thus, an object, such as an area of a user's hand or perhaps a pen, is the optical energy plane 30 thus, there is no reflected optical energy, which is emitted by OS1 130 that by OS2 60 can be detected. Under such conditions the system knows 10 that no user input is made. However, once the optical energy plane is penetrated, the incision of the penetrating object (eg, fingertip, pen tip, etc.) from OS2 60 and the location (x, z) of the intrusion can be detected by the processor unit 70 be determined with the system 10 is linked. In 1A can, if the left index finger of the user the area of the virtual input device 50 which is defined with the coordinates (x7, z3) touches, then the software associated with the invention determines that the letter "t" has been "pressed". Since no "shift key" was also pressed, the pressed letter would be understood as "t".

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.In the embodiment shown, the system 10 Generate key sequences and the system 80 or 90 which represent data and / or commands that a user would have typed on an actual keyboard. Such input into a system 80 or 90 Can be used for information 140 on a display 150 represent when the information from the user on a virtual input device 50 is entered. If desired, an enlarged cursor area could 160 can be implemented to provide additional visual input to help the user entering information. If desired, the processor unit could 70 the system 80 and or 90 cause audible feedback to help the user, such as an electronic key click sound 170 The "pressing" of a virtual key of the virtual input device 50 equivalent. It is understood that - if the system 80 or 90 a musical instrument and not a computer or a PDA or a mobile device would be - musical tones 170 would be emitted, and the virtual input device 50 instead, it could have the structure similar to a piano keyboard or keyboard linked to synthetic music generators.

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. 1B shows an unstructured active light system 10 in which a camera 20 ' in a first optical system OS1, a plane of interest 30 ' essentially defines the level 30 replaced by the optical emitter OS1 in the embodiment of 1A is defined. The camera 20 ' OS1 is preferably similar to the camera 60 OS2, which is similar to the camera 60 OS2 in the embodiment of 1A can be. For example, OS1 20 ' a sensor array comprising at least one row and preferably a plurality of rows of pixel detector elements. The embodiment of 1B is active insofar as one or more light sources 190 that between OS1 20 ' and OS2 60 are arranged to generate optical energy of a wavelength from the camera OS1 20 ' and from the camera OS2 60 is detectable. To reduce the effects of ambient light on the detection by the cameras OS1 and OS2, Preferably every camera and every optical energy emitter works 190 together with a shutter mechanism, preferably synchronized, for example by the unit 70 , During the times when the closures 22 radiating optical energy from the emitter 190 towards the virtual input device 50 . 50 ' . 50 '' allow, become similar closures 22 allow the cameras OS1 and OS2 to capture optical energy. The interaction of the user object, eg. 120L with the plane 30 ' is detected by OS1 and by OS2. The location of the point of intersection is then calculated, for example by using triangulation methods which will be described later.

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'.In 1B is a hill or an irregularity in the plane of the work surface 40 near the point of contact 110 with the user object 120L shown. An advantage of the existing two th camera OS1 20 ' lies in the fact that the level of interest 30 ' can be selected, perhaps through unity 70 to be directly above the highest irregular area of the work surface 40 to lie. If irregularities in the work surface 40 in the embodiment of 1A would be necessary, it would be necessary to reposition the laser plane 30 relative to the work surface. But in 1B For example, the effect of such repositioning is accomplished electronically simply by selecting a suitable row of pixels from the detector array at 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.It should be noted that the configuration of 1B suitable for various methods to improve the signal-to-noise ratio. For example, it may be the closures 22 allow the cameras OS1 and OS2 to collect imaging data for a time to which the emitter 190 are switched off, for example via the control unit 70 , Any imaging data captured by OS1 and / or OS2 will represent the background noise resulting from the ambient light. (Again, it should be understood that to minimize the effect of ambient light, the emitters 190 and the cameras OS1, OS2 preferably operate with a wavelength specification that differs from the ambient light.) If the one detected is what is called a background noise signal, the cameras OS1 and OS2 can now be normal and synchronous with the emitters (n) 190 work. Mapping data from the OS1 and OS2 cameras in sync with the emitters 190 are captured, current data will include, for example, the user interface with the level 30 ' plus any (unwanted) effects due to ambient light. The processor unit 70 (or another unit) can then dynamically subtract the background noise signal from the current data plus the noise signal to arrive at a current data signal, thus improving the signal-to-noise ratio.

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. 1C shows a non-structured passive embodiment of the present invention. The system 10 in 1C is passive, no matter which ambient light source 195 is present, and provides optical energy used during the imaging. Similar to the system 10 in 1B OS1 is a camera 20 ' representing a level of interest 30 ' defined, and OS2 is a camera 60 , Typically, the level becomes 30 ' a distance ΔY 'above the work surface 40 define, typically at a distance of a few mm. A user-object interaction with the layer 30 ' is detected by OS1 and OS2 by taking optical energy from the ambient light source 195 is used. Triangulation methods can then be used to determine the point of interaction or the intersection with the plane 30 ' to locate, as described elsewhere here.

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. 2A shows the geometry with which the location (x, z) of the intersection between a user's finger or object 120R and the plane 30 can be determined by using the triangulation method. 2A and 2 B can be used to describe the analysis of the various embodiments that appear in 1A - 1C are shown.

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.As noted below, triangulation helps to determine the shape of surfaces in a field of view of interest by geometrically analyzing the triangles that are projected from the projection beams, e.g., R1, R2, onto two optical systems, for example, OS1 20 , OS2 60 be projected. A baseline B represents the known length of the line connecting the centers of the projection of the two optical systems OS1, OS2. For a point (x, z) on a visible surface in the field of view of interest, a triangle may be defined by the location of the point and by the locations of OS1 and OS2. The three sides of the triangle are B, R1 and R2. OS1 and OS2 can determine the angular distance of the triangle from a reference plane, and the angles α 1 and α 2 formed by the projection beams connecting the surface point to the centers of projection of the two optical systems. Angle α 1 and α 2 and the baseline B completely determine the shape of the triangle. A simple trigonometry can be used to calculate the distance to the surface point (x, z) as well as the length of the projection beam R1 and / or R2.

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.It is required that OS1 20 is implemented as a single unit. For example, shows 2 B a structured light embodiment in which the first optical system bifurcates: a region OS1-A 20-A is a light emitter located at the distance B from OS2 and from the second area OS1-B 20-B is arranged, a light-reflecting device, such as, a mirror. The incoming fan beam generated by OS1-A is reflected by the mirrors 20-B distracted to the level 30 to build. When aligning 2 B is the mirror 20-B obliquely at about 45 ° relative to the horizontal plane, and the deflection is substantially at a vertical plane to a substantially horizontal plane. In 2 B actually becomes a passive light OS2 60 a camera directed at an angle φ generally in the direction of the field of view of interest, namely where a user's finger or pen will use a virtual input device that is below the fan level 30 is arranged.

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.The triangulation according to the present invention preferably uses a standard camera with a planar sensor as OS2 60 , The nature of OS1 20 distinguishes between two fairly broad classes of triangulation. In a structured light triangulation, OS1 is 20 typically a laser or the like, whose beam can be shaped as a single line that is moved to project a point of movement onto a surface. Alternatively, the laser beam may be planar and moved to project a planar curve. As noted, another class of triangulation system may be referred to as passive triangulation, in which a camera is called OS1 20 is used. Structured light systems tend to be more complex to have more power and consume due to the need to project a plane of light. Passive systems are less expensive and consume less energy. However, passive systems must solve the so-called correspondence problem, for example, to determine which pairs of points in the two images are projections of the same point in the real world. As will be described below, passive non-structured light triangulation embodiments according to the present invention may be used.

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.Whether the system 10 As a structured light system in which OS1 actively emits light and OS2 is a camera, or as a passive system in which OS1 and OS2 are both cameras, information from OS2 and OS1 is coupled to a processing unit, e.g. 70 , which can then determine which events occur. If an object, eg. 120R , the projection plane 30 cuts that with OS1 20 is linked, the section with each embodiment is detectable. In a structured light embodiment, where OS1 emits optical energy, the cut is detected by optical energy from that of the intersecting object 120R reflected and detected by OS2, typically a camera. In a passive light embodiment, the section is seen by OS1, a camera, and also by OS2, a camera. In each embodiment, the intersection with the plane 30 captured as if the area of the area 40 below the (x, z) plane intersection of the object 120R would be touched. The system 10 preferably comprises a computer system 70 which receives data from OS1, OS2 and uses the geometry to determine the position of the plane intersection (x, z) from the reflected imaging coordinates in a structured light embodiment, or from the camera imaging coordinates in a passive system. As such, the dual task of initially detecting and continuously detecting touches and penetrating the plane 30 (eg, touch events) and determining the intersection coordinate positions on the plane thereby.

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.To summarize so far, touch events are captured and declared when OS1 intersects the plane 30 by a penetrating object, such as. 120R recognizes. In a two-camera system, a relationship is built up between the dots in the obtained image of OS1 and that of OS2. Thereafter, the coordinates of the OS2 camera are converted into touch-area coordinates (x-axis, z-axis) around the (x, z) coordinate position of the event within the area of the plane 30 of interest. Preferably, such conversions are performed by the processor unit 70 executed, which executes algorithms to the cutting positions in the plane 30 to compute from map coordinates of the visible points of OS2. Furthermore, a passive light system must distinguish intruding objects from the background in images of OS1 and OS2. If the system 10 is a passive light system, appropriate requirements must be made between the images of the camera OS1 and the camera OS2. If the system 10 is a structured light system, it is desirable to minimize the interference from ambient light.

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.It is now the calculation of the (X, Z) intercept or fingertip position on the plane 30 considered. In a perspective projection, a plane in space and its image are related by a transformation called homography. Let a point (X, Z) on such a plane be represented by the column vector P = (X, Z, 1) T , the superscript T designating transposition. Similarly, let the corresponding mapping point be represented by p = (x, z, 1) T.

Eine Homographie ist dann eine lineare Transformation P = Hp, wobei H eine 3 × 3 Matrix ist.A Homography is then a linear transformation P = Hp, where H a 3 × 3 Matrix is.

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.These Homography matrix can be found in which a calibration procedure is used. As the sensor rests on the surface, the sensor position is relative to the area constant, and the calibration procedure needs to be done only once. For calibration, a grating with a known grid on a flat area placed on which the sensor rests. The coordinates Pi of the map points, which correspond to the grid vertices, Pi, are shown in the figure measured. A direct linear transformation (DLT) algorithm can be used to determine the homography matrix X. Such DLT conversion is known in the art; see. For example, Richard Hartley and 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.Once H is known, the area point P corresponding to a point p in the map is immediately calculated by the matrix vector multiplication as previously stated. Preferably, such calculations are made by the system 70 executed.

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.An imaging match for passive light embodiments will now be described. The cameras OS1 20 and OS2 60 see the same plane in the room. As a result, the mapping of the image of the line scan camera from OS1 and the camera image from OS2 itself will be a homography. This is similar to the mapping between the OS2 camera image and the plane-30 touchpad as previously described with reference to the fingertip intersection position calculation. Thus, a similar procedure can be used to compute this mapping.

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.It should be noted that since the line scan camera OS1 20 In essence, the contact area collapsed to a single line sees or touches, the homography between the two images is degraded. For each OS2 camera point there is an OS1 line scan imaging point, but for each OS1 line scan imaging point there is a complete line of OS2 camera points. Due to this degeneracy, the previously described DLT algorithm is (slightly) modified to obtain a point-to-line match. By definition, a passive light embodiment of the present invention has no control over the ambient lighting and this may make it difficult to distinguish between penetrating cut objects or peaks from the general background. In short, how to determine if a particular map point in an OS1 map or OS2 map represents a map of a point on an object, such as a map. 120R or a point is generally background. An algorithm used by the system 70 is executed, will now be described.

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.Initially, one or more background images I 1 ,..., I n are assumed, wherein only the contact surface area of the plane 30 in sight. It is assumed that the cameras OS1 and OS2 may be responsive to color and it should R bi (x, z), G bi (x, z), B bi (x, z), the red, green and blue component of the Background image intensity I i at the pixel position (x, z). Let s b (x, z) be a summary of R bi (x, z), G bi (x, z), B bi (x, z) over all mappings. For example, s b (x, z) may be a tri-vector with the mean, central, or other statistic values of R bi (x, z), G bi (x, z), B bi (x, z) at the pixel position ( x, z) over all background images I 1 ,..., I n , normalization being carried out as far as possible in order to compensate for variations in the image brightness.

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.Next, a similar summary s t for the tip pixels is collected over a new series of maps J 1 , ..., J m . This second sum is a single vector and not a mapping of vectors, as for s b (x, z). In other words, s t does not depend on the pixel position (x, z). For example, this new sum may be calculated by asking a user to place fingertips or a stylus in the sensitive area of the area and by recording values only at pixel locations (x, z) whose color is different from the sum of the background s b (see FIG. x, z) at the position (x, z) and in which statistics on all values of j, x, z are calculated.

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.
Given a given new mapping with color components c (x, z) = (R (x, z), G (x, z), B (x, z)) then a particular pixel contributes to (x, z), either be assigned to the top or the background by an appropriate rule of discrimination. For example, a distance d (c 1 , c 2 ) between three vectors (Euclidean distance is an example) can be defined, and pixels are assigned based on the following exemplary rule:
If d (c (x, z), s b (x, z)) d (c (x, z), s t ).
If d (c (x, z), s b (x, z)) d (c (x, z), s t ).
Unknown otherwise.

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.techniques for reducing ambient light interference, in particular for the embodiment with Structured light triangulation will now be described. At a such embodiment OS2 must differentiate between ambient light and light emitted by the row generator was generated and by a penetrating object reflected back has been.

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.at Using a first method, OS1 emits energy in one area the light spectrum in which ambient light has little energy, eg. in the near infrared range. An infrared filter on the camera OS2 can guarantee, that the light detected by the OS2 sensor is mainly the reflected from the object (e.g., 120R) into the lens of the camera OS2 is.

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.at In a second method OS1 operates in the visible region of the spectrum, but is much brighter than ambient light. Although this is in the Principle with every color of the light source can be achieved, it is for applications more useful in the house, a blue-green light source for OS1 (500 nm to 550 nm) to use, as the standard fluorescent lamps have relatively little charisma in this band. Preferably OS2 have a matched filter to ensure that a response to other wavelengths essentially subdued becomes.

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) ⎬.
A third method of reducing the effects of ambient light uses a standard visible laser source for OS1 and a color camera sensor for OS2. This method uses the same background subtraction algorithm as previously described. Define the following combination using the same terminology as before:
C (x, z) = min ⎨ d (c (x, z), s b (x, z)), d (c (x, z), s t ) ⎬.

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.This combination will be exactly zero if c (x, z) equals the peak sum s t (since in d (s t , s t ) = 0) of the representative object and for the background map s b (x, z) (since d (s b (x, z), s b (x, z)) = 0), and close to zero for other object pit mapping areas and for visible parts of the background. In other words, the object peaks and the background in C (x, z) will hardly be visible. By comparison to positions where the projection plane 30 from the laser emitter OS1 the object peaks 120 clearly, the term d (c (x, z), s t ) will not be zero, again resulting in a substantially non-zero value for C (x, z). This approach achieves the desired goal of identifying substantially only the object peak pixels that are being irradiated by the laser (or other emitter) OS1. This method can be varied to use light emitters of different colors, to use other distance definitions for the distance d, and to use different sums s b (x, z) and s t .

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.Referring to 1A if a device 80 For example, a compact system, such as a PDA or a mobile device, would be desirable to reduce the size required to implement the present invention. A smaller overall form factor may result if OS2 is at a certain angle θ, as in 1A - 1C . 2A . 2 B shown with respect to the plane 30 or the area 40 is inclined. But when the angle θ decreases, the camera OS2 sees the plane 30 from a shallower angle. For a fixed size of the touch-sensitive area of the plane 30 That is, the rectangle area to be "touched" by a user object to manipulate an underlying virtual input device will decrease the effective area surrounded by the field of view as distance B and angle θ decrease in that the effective OS2 resolution decreases and thus the accuracy of z-depth measurement, as in 3A where L denotes a camera lens associated with OS2 whose plane is shown by pixel detectors as a straight line labeled OS2.

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.As in 3A indicated, OS2 moves closer to the plane 30 to a shallower viewpoint and to a smaller, less accurately captured camera image. These adverse side effects can be reduced as in 3B is shown by tilting the plane of the pixel detectors in the camera OS2, being nearly parallel to the plane 30 is tilted. In the tilted configuration of 3B It should be noted that a much larger number of imaging scan lines will obscure the cone of radiation from the sensitive area on the plane 30 cut, which increases the depth resolution accordingly. For example, let's consider the relatively small distance Dx in 3A with the big distance Dx 'in 3B which represents the large number of image scan lines now in use. If the OS2 camera sensor plane is more parallel to the plane of the touch surface or the plane 30 this leads to less disturbance of the touch area image. This implies that parallel lines on the touch surface (or plane 30 ) will remain in parallel in the OS2 camera image. One advantage is the simplicity of homography H for affine transformation (a move and a scale). Further, the imaging resolution becomes more uniform over the entire sensitive area within the field of interest made.

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.It is now the configuration of 3C considered. It can be seen that different points on the touch-sensitive area at the level 30 are at different distances from the lens L of the camera OS2. This means that one can not precisely focus the entire sensitive area of interest if the lens L is as in 3A or in 3B is shown positioned. While closing the camera aperture could increase the depth of field of view, ie, depth of field, the resulting images would be less bright and the image signal to noise ratio would be degraded.

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.Accordingly, the configuration of 3C be used with the lens L relative to 3B is repositioned. In this configuration, the touch area 30 , the camera OS2 sensor and the camera lens L being regarded as fulfilling the so-called Scheimpflug condition, in which their respective planes intersect along a common line, a line which in 3C lies at infinity. Further details on the Scheimpflug condition can be found in The Optical Society of America, Handbook of Optics, Michael Bass, Editor in Chief, McGraw-Rill, Inc., 1995. Referring to the 3C When the relevant optical system satisfies this condition, all points on the touch surface become 30 in focus. By using a properly tilted sensor OS2 and a properly positioned lens S satisfying the Scheimpflug condition, the image seen by OS2 becomes the points of interest at the surface plane 30 be in focus and will show a high resolution with low distortion. However, the fulfillment of the Scheimpflug condition may result in a loss of imaging brightness because of the configuration of 3B the angle the lens occupies when viewed from the center of the sensitive area on the plane 30 considered reduced. As a result, in some applications, it is preferred to achieve a trade-off between focal sharpness and imaging brightness by bringing the OS2 camera lens into alignment between that of 3B and those of 3C lies. 3D shows such an intermediate configuration in which the lens L is conveniently slightly away from the Scheimpflug-fulfilling orientation with respect to the planes of OS2 and 30 is tilted.

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.Such intermediate alignments do not satisfy the Scheimpflug condition, but only to a small degree, and therefore exhibit good focusing properties over a configuration whose lens axis is directly towards the center of the sensitive area of the plane 30 is directed. 3E Figure 11 shows another alternative intermediate configuration, one in which the Scheimpflug condition is exactly met, but the camera sensor OS2 is tilted away from the horizontal. The configuration of 3E can achieve an exact focus, but with slightly lower image resolution and more interference than in the configuration of 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. 4 Figure 12 is a block diagram illustrating effective areas of the processor unit 70 within the system 10 Fig. 12 shows which processor unit preferably executes the various triangulation and other calculations described herein about (x, z) intersections with the plane of interest 30 to capture and identify. As left area of 4 gets information from OS1 20 and OS2 30 each entered in pixel tables 200-1, 200-2. In 4 The OS1 and OS2 inputs refer to a stream of images of the digitized images obtained from the optical system 1 (FIG. 20 ) and the optical system 2 ( 60 ) in a planar range sensor system 10 produced according to the present invention. In a preferred embodiment, the optical system generates at least about 30 frames per second (fps). Higher frame rates than 30 fps are desirable because the user's or pen's fingertip can move several pixels between two images while "typing" on a virtual input device. Pixel image Module 200-1 . 200-2 Build digital images from OS1 and OS2 in memory using the calculation unit 70 is linked. A synchronization module 210 ensures that the two optical systems produce images of the digitized images in approximately the same time. If desired, a double-buffering system may be implemented to allow the construction of an image while the previous image is processed (in time) by other modules. A touch detection module 220 detects a touch (for example, that the finger of a user or pen penetrates the optical plane detected by OS1) when the outline of a fingertip or a stylus appears in a selected line of the image. When a touch is detected, the tip detection module draws 230 the outline of the corresponding fingertip in the appropriate pixel table 200-1 or 200-2 on. In 4 No table is generated in a structured light embodiment where OS1 is a light beam generator, and touch detection will use the input signal from OS2, not OS1.

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.The touch position module 240 uses the peak pixel coordinates from the peak Erfas sungsmodul 230 at the time when a touch from the touch sensing module 220 is reported to find the (xz) coordinates of the touch on the touchpad. As indicated, a touch is equivalent to a level penetration 30 that with an optical emitter OS1 in one embodiment associated with structured light, or in a passive light embodiment associated with a viewing plane of a camera OS1 is linked. Mathematical methods for converting the pixel coordinates to the XZ touch position are described elsewhere herein.

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.A key identification module 260 uses the XZ position of a touch and maps the position to a key identification in which a keyboard layout panel 250 is used, preferably stored in memory, with the calculation unit 70 is linked. The keyboard layout panel 250 typically defines the upper / lower / left and right coordinates of each key relative to a zero origin. As such, a function of the key identification module 260 , carrying out a search in the blackboard 250 and determining which key contains the (x, z) coordinates of the touch point. When the touched (virtual) key is identified, the translation module forms 270 press the key at a predetermined KEYBOARD CODE value. The KEY DATA value or KEYCODE VALUE is output or passed to an application included in the accompanying device or system 80 (which is executed on a companion device) waiting to receive a message of a keyboard press event. The application being executed interprets the keypress event and assigns a meaning to it. For example, a text input application uses the value to determine which symbol or character was typed. An electronic piano application determines which musical note was pressed and plays that 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.Alternatively, as in 4 As shown, the XZ touch coordinates can be applied directly to the application 280 be supplied. The application 280 could use the coordinate data to control the position of a cursor on a display in a virtual mouse or virtual trackball embodiment, or to quickly control a digital ink, its location on a display for a drawing or handwriting application with a virtual fountain pen or a virtual pen embodiment is shown.

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. 5A is a simplified view of the system 10 in which a virtual device 50 now a controller with five areas, and in the accompanying device 80 . 90 includes a monitor. In this embodiment, the accompanying device 80 or 90 with a display or a display 150 shown the icons 140 may include one of which is a cursor 310 is surrounded, and a user can move this, in which he is a virtual device 50 ' used here, for example, a virtual trackball or a mouse. Inside a virtual device 50 ' becomes, for example, if an area of the user's hand 120R (or pen) a virtual area 300-1 presses, the cursor shown 310 on the accompanying device 80 . 90 instructed to move to the left. If the virtual area 300-2 is pressed, the cursor should move up. If the virtual area 300-3 is pressed, the cursor should move to the right, for example, to "select" the icon of a loaf, and if the virtual area 300-4 is pressed, the cursor should move towards the bottom of the display on the device 80 . 90 move. If the user is the fifth area 300-5 presses, a "thumbs-up" area knows the accompanying device 80 . 90 that the user selection is completed. In 5A if the user now the area 300-5 press, the "Hotdog" icon will be selected 80 . 90 would be a kiosk in a supermarket, selecting the "hotdog" icon would produce an indicator that shows where in the market hot dogs are found or the price of various brands of hot dogs being sold or the device 80 . 90 could even spend hot dogs. If the device 80 . 90 would be used in a transport setting, the icons (or words) could indicate different destinations, and the device 80 or 90 could indicate the routes, timetables and prices to the destinations, and could even spend tickets for use in a bus, subway, airline, boat, etc. For example, a user could have two areas of the input device 50 ' press, which represent the travel starting point and the travel destination, using the system 10 provide an illustration of suitable transport vehicles, schedules, fees, etc. to be displayed and, if desired, print out. It is understood that the information provided by the system 10 may simply be the raw (x, z) coordinates that a software application executed by a companion device may be used to reposition a cursor or other information on a monitor.

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: It goes without saying 5A that the virtual device 50 ' is passive; their outline can be printed out or painted on an underlying work surface, or perhaps the outline of the system 10 be projected. The different areas of interest in the virtual device 50 can be identified in terms of coordinates, relative to the xz plane. Consider the information in Table 1 below, that of the information in the keyboard layout 250 in 4 corresponds to:

TABELLE 1

Figure 00420001
TABLE 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.If the user's finger (or a stylus) is an area of the virtual input device 50 touches, determines the touch position module 240 (please refer 4 ) the (x, z) coordinates of the touch point 110 , In 5 lies the touch point 110 within the "B" area 300-4 , The key identification module 260 uses the information of the keyboard layout 250 in this example, as shown in Table 1, to determine where in the relevant (x, z) plane the touch point coordinates have occurred. For example, assume that the touch coordinates (x, z) are (1.5, 0.5). A search routine, preferably with the unit 70 (please refer 1A ) associated memory are stored and that of the unit 70 is executed, it is determined that 1 <x <2 and -1 <z <1. By searching for information in Table 1, the key identification module will determine that the touch point 110 within entry B falls. In this example, the companion device receives 80 and 90 Data from the system 10 that instruct area B to be pressed. The processor unit 70 in the system 10 may cause the companion device to receive such information as is required to perform the associated call with the event, for example, to move the cursor down the display.

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. 5B shows an embodiment of the system 10 similar to the one in 1A shown. In 5B is the virtual input device 50 a computer keyboard and the accompanying device 80 . 90 is a mobile receiver / transmitter, for example a mobile phone. It is understood that the system 10 actually within the device 80 . 90 could be implemented. As such, OS1 could be a fan beam 30 from a lower portion of the device 80 . 90 and OS2 could be provided in an upper area of the same device. The virtual input device 50 could - if desired - optically from a device 80 . 90 be projected. Alternatively, the virtual input device could 50 be printed on a foldable substrate, for example. Plastic, paper, etc., within the device 80 . 90 can be taken, then removed and unfolded or unrolled and on a flat work surface in front of the device 80 . 90 could be placed. The location of the virtual input device 50 in front of a device 80 . 90 would be like that OS1 a fan beam 30 which surrounds the virtual input device, and OS2 could be cutting 110 an object, such as a user's finger or pen, etc., where a location of the fan beam is any area of interest in the virtual input device 50 covered or overlying.

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 5B OS2 will capture unreflected optical energy until the object 120R the fan beam 130 whereby some optical energy emitted by OS1 will be reflected ( 130 ) and will be detected by OS2. Relative to the (x, z) coordinate system used in 1A is shown is the intersection 110 about the place (13.5). Referring to 4 It is understood that the keyboard layout panel 250 has at least one entry for each virtual key, for example "1", "2", ... "Q", "W", ... "SHIFT" stored on the virtual input device 50 are defined. An entry search process similar to that described with reference to 5A is described is carried out, preferably by the unit 70 , and the relevant virtual button, which under the touch point 110 can be identified. In 5B is the relevant key "I", which letter "I" on the display 150 as part of an e-mail message text 140 shown in the mobile phone 80 . 90 from an area of the user's hand 120R (or by a pen) is entered. The ability to quickly send messages by touching the mobile device 80 . 90 to enter by the virtual keyboard 50 is used in contrast to the time-consuming input of messages by the mobile keyboard is used.

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.In 5C is an embodiment of a system 10 shown in which the work space 40 a vertical wall is, perhaps in a shop or business center, and the virtual input device 50 is also arranged vertically. In this embodiment, the virtual input device is 50 with several icons and / or words 320 shown when viewed from a user's hand 120 touched, for example, at a touch point 110 , a suitable text and / or a graphic illustration 140 on the display 150 in the accompanying device 80 . 90 let appear. In this example shown, the icons 320 Places or areas in a store, and the display 150 becomes more interactive Provide information in response to the user touch of an Icon area. In a business center, the various icons may represent entire businesses, or departments or areas within a business, etc. The detection and location of touch points, such as the 110 is preferably carried out as described with respect to the embodiments of 3A and 3B has been described. Preferably, a processor unit leads 70 within the system 10 Software that is also within or loadable from a processor unit 70 is stored to determine which icon or text portion of a virtual input device 50 was detected, and what commands and / or data to a host system 80 . 90 to be transferred.

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.Referring to the embodiment of 5C if the virtual input device 50 is suitable to be changed frequently, for example if there is a menu in a restaurant where the ad is 150 Detailed information, such as calories, content of sauces, etc. can show the device 50 inside a wall 40 be backprojected. It is understandable that, if the layout and location of the various icons 320 themselves, the picture information that changes within the unit 70 in the system 10 is stored, will also change. The ability to quickly change the nature and content of the virtual input device without necessarily being limited to fixed size icons in a fixed location can be very useful. If desired, some icons may actually be sized and located on the device 50 be fixed, and their touch by a user may be used to select a re-map of what is on the input device 50 shown and what is done by software within the unit 70 is shown. It should be understood that in addition to simplifying the display information that may include advertising, the accompanying devices 80 . 90 Can be used to buy advertising coupons 330 for users.

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.It is now up 6 Referenced. The nature of the registration of a touch event and the location of its location is determined by the system 10 determined in a way that depends on the system 10 is a structured light system or a passive light system. As noted earlier, in a structured lighting system OS1 a line generation laser system, and in a passive light system, OS1 may be a digital camera. Each system defines a level 30 that when viewed from an object such as. 120R , is cut, triggers a touch event whose (x, z) coordinates are then to be determined. Once the (x, z) coordinates of the virtual touch are determined, the present invention may decide which input or command is meant by the person using the system. Such input or command may be transmitted to an accompanying device, which of course may also incorporate the present invention.

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.If the system 10 is a passive light system, a touch event is registered when the outline of a fingertip appears in a selected image line of OS1, a digital camera. The touch location on the (x, z) plane 30 is determined by the pixel position of the corresponding object tip (eg. 120R ) in OS2 when a touch is detected in OS1. As in 6 As shown, the distance or distance from the camera OS1 to the touch point is an affine function of the number of pixels from the "near" end of the pixel image.

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.As noted, in a structured light embodiment, OS1 will typically be a laser line generator and OS2 will be a camera that is primarily sensitive to the wavelength of light energy emitted by OS1. As noted, this can be accomplished by installing a narrow band light filter on OS2 such that only wavelength corresponding to that emitted by OS1 can pass. Alternatively, OS2 may include a shutter that opens and closes in synchronism with a pulse output signal from OS1, for example, OS2 may see optical power only at times when OS1 emits optical energy. In both embodiments of a structured lighting system, OS2 will preferably only detect objects that are the plane 30 cut and reflect energy emitted by OS1.

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.In the aforementioned case, the touch detection detection and the distance calculation are performed by the system 10 executed. Thus, a touch event is registered when the outline of an object, such as the fingertip 120R , appears within the field of view of OS2. As in the aforementioned example, the range distance may be calculated as an affine function of the number of pixels from the "near" end of the pixel image.

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.Another example of analytic steps that is in 4 are carried out by the present invention are now given. Assume that the virtual input device is a keyboard 50 is how she is in 1A shown and the system 10 Output information expects that at least the scan code that corresponds to the virtual key that the user has on the virtual keyboard 50 "Touched." In 1A and in 2A Let it be assumed that the upper area (ie, the row with the virtual keys "ESC", "F1", "F2", etc.) is at a distance of about 20 cm from the optical system OS1 20 lies. It is further assumed that the camera is OS2 60 on a PDA or other device 80 is attached, about 10 cm high and at a known angle α 1 = 120 ° relative to the plane 30 is placed. It is also assumed that the camera is OS2 60 a lens having a focal length of about 4 mm, and a camera sensor having a group of 480 rows and 640 columns.

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: The Z coordinate of the upper left corner of the virtual keyboard 50 should be set by convention at x = 0 and z = 0, for example (0,0). The homography H, which maps the dots in the image to dots on the virtual device, depends on the tilt of the camera OS2 60 from. An exemplary homography matrix for the aforementioned configuration is as follows:

Figure 00480001
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.The previously mentioned Matrix preferably only needs one time during a calibration phase be determined, as will be described elsewhere here.

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.It is now up 1A and 7 Referenced. It is assumed that the user 120L the area of the virtual keyboard 50 which corresponds to the letter "T", which letter "T" may be printed on a substrate to give guidance to the user's fingers, or may be part of an image of the virtual input device, for example through the system 10 can be projected. If the coordinate system previously defined is used, the "T" key may be defined as between the horizontal coordinates x min = 10.5 and x max = 12.4 cm and between vertical coordinates z min = 1.9 and z max = 3.8 cm lying as seen in 7 shown.

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.It will be up now 6 Referenced. Before the user finger 120L (or pin) the plane of the sensor OS1 20 does not detect light and sees an image consisting of black pixels as in the vignette 340 is shown at the bottom of the screen. However, once the user object becomes the optical level 30 cuts, becomes the cut event or the interface for OS1 20 visible, noticeable. OS1 20 now creates an image similar to that in the vignette 350 at the bottom of 6 is shown. When the tip is moving down 110 of the user object (eg the finger 120L ) the level 40 reached, more of the finger become visible. The finger contour can now be determined, for example by the unit 70 in which edge detection is performed. Such a provision is at the bottom of 6 as a "TOUCH" event vignette 360 shown. A touch detection module 220 in 4 then determines that the user object is the surface 40 touched and informed the peak detection module 230 from this event.

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.As in 1A to see is the virtual "T" key in the second row or row of the virtual keyboard 50 , and is therefore relatively close to the sensor OS1 20 , In 6 This situation corresponds to the fingertip in position 110 ' , As in further 6 shown is the projection of the bottom of the fingertip position 110 ' on the sensor of optical system OS2 60 relatively close to the top of the picture. The edge of the fingertip figure thus created is similar to that in the vignette 370 from above 6 is shown. In the vignette 370 Two gray squares represent the bottom edge pixels of the fingertip.

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.Instead, the user has the space key or another key closer to the bottom of the virtual keyboard 50 pressed, ie farther away from the sensor OS1 20 , that would be through the fingertip position 110 in 6 situation does not appear. Such a relatively distant location on the virtual keyboard is mapped to a pixel that is closer to the bottom of the image, and a border image similar to that in the vignette 380 at the top of 6 sketched would have surfaced instead. Intermediate situations of virtual key touches would produce edge mappings more similar to those used as vignettes 390 at the top of 6 are shown.

Bei dem zuvor erläuterten Beispiel, bei dem die virtuelle Taste „T" gedrückt wird, lässt das Spitzen-Erfassungsmodul 230 inIn the example explained above, in which the virtual key "T" is pressed, the tip detection module leaves 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: 4 an edge detection algorithm, and thereby finds the bottom center of the "blob", which represents the general area of the touch, in the image line 65 and column 492 lies. The ho mogeneous mapping coordinate vector p, given below, is therefore formed as:

Figure 00510001
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: This homogeneous map coordinate vector p is then multiplied with the homography matrix H, around the coordinates P of the user's fingertip to get in the reference image of the virtual keyboard:

Figure 00510002
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.The user object or the finger 120L is thus called the virtual keyboard 50 touching at a location point, which has the coordinates x = 11.53 and z = 2.49 cm. The key identification module 260 in 4 looks for the keyboard layout 250 for a key such that x min ≤ 11.53 <x max and y min ≤ 2.49 <y max These conditions are met for the virtual key "T" since 10.5 <11.53 <12.4 and 1.9 <2.49 <3.8. Reference will now be made to 4 , The key identification module 260 therefore, determines that a user object is the virtual key "T" on the virtual keyboard 50 touches and informs the translation module 270 from this event.

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.This event does not necessarily have to be a keystroke. For example, the user object or finger may have previously touched the "T" key and may thereafter remain in that touch contact with the key, in which case there should be no keystroke event to the application 280 be transmitted on the accompanying device 80 or 90 expires.

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.The key translation module 270 Preferably stores internally the top status or the bottom status of each key internally. This module determines for each image whether a key has changed state. In the aforementioned example, if the key "T" was found to be in the down status in the current picture but was in the up status in the previous frame, the translation module would 270 a KEYCODE message to the application 280 send. The KEYCODE code will contain a "BUTTON DOWN" event identifier along with a "KEY ID" tag that identifies the "T" key and thereby the application 280 informs that the "T" key has just been "pressed" by the user object. If the "T" key had been found to be in the down state of the previous frames, the KEYCODE would contain a "KEY HERO" event identifier along with the "KEY ID" associated with the "T" key is. Sending the "KEY HELD" event on every frame (except the first frame) with the key in a down state frees the application 280 of maintaining each state via the keys. Once the "T" key is found to be in the up state in the current image, and in the previous images was in the down state, the translation module sends 270 a KEYCODE with a "KEY UP" event identifier again with a "KEY ID" flag identifying the "T" key and informing the application 280 in that the "T" key has just been "released" by the user object.

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.Out The above results that it is sufficient that the Image pictures only the tips of the user object, for example the fingertips contain. The various embodiments of the present Invention use less than full three-dimensional map information, which is captured within a relatively shallow space only just above a virtual input or a virtual transfer device is defined. A system implementing these embodiments, can be relatively inexpensive be manufactured and works with its own battery source. Indeed could the system be constructed to be within general devices, such as PDAs, mobile devices, etc. is included to the input or transmission of information accelerate by a user. As described, can cause unwanted effects be reduced by ambient light by the wavelengths in the embodiments selected with active light be synchronized by camera (s) and light sources, by using signal processing techniques, the pictures capture and subtract pictures, the background noise represent.

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.modifications and variations are possible in the disclosed embodiments without the scope of the present invention as shown in the following claims is defined, leave.

Claims (14)

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.System that does it with a virtual transfer device used user-manipulated user object allows Transfer information to an accompanying device, with: one central processing unit comprising a memory, at least saves a software routine; a first optical system, defining a plane that is substantially parallel to and spaced above a assumed area of the virtual transmission device; one second optical system having a relevant field of view, which encloses at least parts of the plane and to an intrusion of the User object in the plane responds to the virtual transmission device to interact; a means for determining the relative position an area of the user object at the level; the System information to the accompanying device transmits, so that the user object with the virtual transfer device the Operation of the accompanying device can cause. System nach Anspruch 1, wobei das Mittel zum Bestimmen derart ausgebildet ist, dass es die Bestimmung der relativen Position durch Triangulationsanalyse ausführt.The system of claim 1, wherein the means for determining is designed such that it is the determination of the relative position performs by triangulation analysis. System nach Anspruch 1, wobei das Mittel zum Bestimmen eine Prozessoreinheit umfasst, die die Routine ausführt, um die relative Position zu bestimmen.The system of claim 1, wherein the means for determining a processor unit that executes the routine to to determine the relative position. 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.The system of claim 1, wherein: the first optical System means for generating a plane of optical energy; and the second optical system has a camera sensor, which detects a reflected part of the optical energy when the user object enters the plane. 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.The system of claim 1, wherein: the first optical System has at least one laser to create the plane, or an LED to generate the plane; and the second optical system has a camera sensor, which reflects a Part of the optical energy detected when the user object in the Level penetrates. 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.The system of claim 1, further comprising means for Improving the responsiveness of the second optical system on the penetration of a user object, while the sensitivity to ambient light is reduced. 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.The system of claim 6, wherein the means for improving at least one of the following features comprises: (a) providing a signature associated with the creation of the layer, (b) Selection of a common wavelength for the energy within the Plane defined by the first optical system and for the response of the second optical system, and (c) synchronization of the first optical system with the second optical system. System nach Anspruch 1, wobei das erste optische System einen ersten Kamerasensor aufweist, der die Ebene bildet.The system of claim 1, wherein the first optical System has a first camera sensor, which forms the plane. 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.The system of claim 1, wherein: the first optical System has a first camera sensor, which forms the plane; the second optical system has a second camera to the penetration capture; and further with: a source of optical energy, in the direction of the virtual transmission device is directed; and a means for synchronizing the operation of at least two of the first optical system, the second optical Systems and the source of optical energy; being the effect the ambient light on the accuracy of the information with the system is reduced. 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.The system of claim 1, wherein: the first optical System a generator for optical energy of a desired wavelength having; and the second optical system essentially only on optical energy of the desired wavelength responds. 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.The system of claim 1, wherein the accompanying device is a PDA, a portable communication device, an electronic device, an electronic game device, and / or a musical instrument, and the virtual transmission device may be a virtual keyboard, a virtual mouse, a virtual trackball, a virtual stylus, a virtual trackpad and / or a user interface selection means , 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.The system of claim 1, wherein the virtual transmission device on a work surface which is a table surface, a desk surface, a Wall, a cash register application, a sales application, a kiosk, one surface in a vehicle, a projected display, a physical Display, a CRT and / or an LCD. 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.The system of claim 1, wherein at least the first one Operating system or the second operating system is a camera sensor with a lens and an imaging plane; being the lens and / or the imaging plane is inclined to the resolution and / or the depth of field to improve. System nach Anspruch 1, ferner mit einem Mittel zum Verbessern der Unterscheidbarkeit des Benutzerobjekts von einem Hintergrundobjekt.The system of claim 1, further comprising means to improve the distinctness of the user object from a Background object.
DE20122526U 2000-09-07 2001-09-07 Virtual input device operation method for computer system, cellular telephone, involves sensing penetration of stylus into optical beam plane to detect relative position of stylus in the plane Expired - Lifetime DE20122526U1 (en)

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 (en) 2000-09-07 2001-09-07 Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device

Publications (1)

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

Family

ID=36590888

Family Applications (1)

Application Number Title Priority Date Filing Date
DE20122526U Expired - Lifetime DE20122526U1 (en) 2000-09-07 2001-09-07 Virtual input device operation method for computer system, cellular telephone, involves sensing penetration of stylus into optical beam plane to detect relative position of stylus in the plane

Country Status (1)

Country Link
DE (1) DE20122526U1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077505A1 (en) 2006-12-22 2008-07-03 Kaltenbach & Voigt Gmbh Input device for operating devices of a dental workplace, and dental treatment device with said input device
DE102008036762A1 (en) * 2008-08-07 2010-02-11 Airbus Deutschland Gmbh Control and display system for use in e.g. aircraft, has processor analyzing camera signals such that position within reflection surface is assigned to manual control process, and control signal is displayed for assigned position
DE102009025833A1 (en) * 2009-01-06 2010-09-23 Pixart Imaging Inc. Electronic device with virtual data input device
DE102012110460A1 (en) 2012-10-31 2014-04-30 Audi Ag A method for entering 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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077505A1 (en) 2006-12-22 2008-07-03 Kaltenbach & Voigt Gmbh Input device for operating devices of a dental workplace, and dental treatment device with said input device
DE102008036762A1 (en) * 2008-08-07 2010-02-11 Airbus Deutschland Gmbh Control and display system for use in e.g. aircraft, has processor analyzing camera signals such that position within reflection surface is assigned to manual control process, and control signal is displayed for assigned position
DE102009025833A1 (en) * 2009-01-06 2010-09-23 Pixart Imaging Inc. Electronic device with virtual data input device
DE102012110460A1 (en) 2012-10-31 2014-04-30 Audi Ag A method for entering a control command for a component of a motor vehicle
WO2014067626A1 (en) 2012-10-31 2014-05-08 Audi Ag Method for inputting a control command for a component of a motor vehicle
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 (en) System for remotely displaying and sensing information using shadow parallax
DE69532662T2 (en) Hinweisvorrichtungsschittstelle
DE102009032637B4 (en) Image magnification system for a computer interface
JP6078884B2 (en) Camera-type multi-touch interaction system and method
EP0963563B1 (en) Method and device for detecting an object in an area radiated by waves in the invisible spectral range
US6710770B2 (en) Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
US7518596B2 (en) Method and apparatus for computer input using six degrees of freedom
DE69530395T2 (en) INTERACTIVE PROJECTED VIDEO DISPLAY SYSTEM
KR100734894B1 (en) Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
KR100452413B1 (en) Method and apparatus for calibrating a computer-generated projected image
US6346933B1 (en) Interactive display presentation system
US20030071858A1 (en) Information input and output system, method, storage medium, and carrier wave
US20030226968A1 (en) Apparatus and method for inputting data
US20030006973A1 (en) Coordinate position inputting/detecting device, a method for inputting/detecting the coordinate position, and a display board system
JP2008176802A (en) Coordinate input/detection device and electronic blackboard system
CN102053763B (en) Optical position detection device and display device with position detection function
DE112015002463T5 (en) Systems and methods for gestural interacting in an existing computer environment
EP1637985A2 (en) Input control for appliances
CN108762585A (en) Non-contactly detection reproduces the method and device of the indicating positions of image
DE20122526U1 (en) Virtual input device operation method for computer system, cellular telephone, involves sensing penetration of stylus into optical beam plane to detect relative position of stylus in the plane
DE10124834A1 (en) Method for input of information into data processing device by pencil, involves passing pencil movement coordinates into evaluating unit
JP2010157044A (en) Display device and light pen
DE19861129C2 (en) Method for carrying out voting using an input device for a computer with a graphical user interface
Kunz et al. Workplace to support the teamwork in the early stages of the product development process

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