DE112006002954T5 - Virtuelles Schnittstellensystem - Google Patents

Virtuelles Schnittstellensystem Download PDF

Info

Publication number
DE112006002954T5
DE112006002954T5 DE112006002954T DE112006002954T DE112006002954T5 DE 112006002954 T5 DE112006002954 T5 DE 112006002954T5 DE 112006002954 T DE112006002954 T DE 112006002954T DE 112006002954 T DE112006002954 T DE 112006002954T DE 112006002954 T5 DE112006002954 T5 DE 112006002954T5
Authority
DE
Germany
Prior art keywords
display
camera
user
interface
processor
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.)
Granted
Application number
DE112006002954T
Other languages
English (en)
Other versions
DE112006002954B4 (de
Inventor
Soh Khim Ong
Andrew Yeh Ching Nee
Miaolong Yuan
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.)
National University of Singapore
Original Assignee
National University of Singapore
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 National University of Singapore filed Critical National University of Singapore
Publication of DE112006002954T5 publication Critical patent/DE112006002954T5/de
Application granted granted Critical
Publication of DE112006002954B4 publication Critical patent/DE112006002954B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality

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)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

Virtuelles Schnittstellensystem, das Folgendes umfasst:
eine Kamera,
einen Prozessor, der mit der Kamera gekoppelt ist, um Videodaten zu empfangen und zu verarbeiten, die eine von der Kamera aufgenommene Videoeinspeisung respräsentieren;
ein Display, das mit dem Prozessor und der Kamera gekoppelt ist, um als Reaktion auf Anzeigedaten vorn Prozessor erste und zweite Schnittstellenelemente anzuzeigen, die mit der Videoeinspeisung von der Kamera überlagert sind, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird;
wobei der Prozessor eine Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten verfolgt, eine Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion steuert und eine Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display ermittelt.

Description

  • BEREICH DER ERFINDUNG
  • Die Erfindung betrifft ein virtuelles Schnittstellensystem, ein Verfahren zum Bereitstellen eines virtuellen Schnittstellensystems und ein Datenspeichermedium, auf dem Computercode gespeichert ist, um ein Computersystem anzuweisen, ein Verfahren zum Bereitstellen einer virtuellen Schnittstelle auszuführen.
  • HINTERGRUND
  • Es wurde eine Reihe von Systemen entwickelt, um Benutzern mit körperlichen Behinderungen zu helfen, die Geräte wie z. B. einen Computer mit gewöhnlichen Eingabegeräten wie einer Tastatur und einer Maus nicht benutzen können.
  • So arbeitet beispielsweise ein existierendes System mit einer Sensoroberfläche und einem elektronischen Zeigegerät wie z. B. einem Laserzeiger, der am Kopf des Benutzers montiert ist. Der Benutzer dreht den Kopf, bis der Laserzeiger auf den Teil der Sensoroberfläche zeigt, der die gewünschte Funktion aufruft. Ein solches System hat jedoch den Nachteil, dass es zusätzliche Hardware benötigt, nämlich die Sensoroberfläche.
  • AR-(Augmented Reality = Erweiterte Realität)-Systeme, andererseits, erzeugen eine zusammengesetzte Ansicht für einen Benutzer. Dies ist eine Kombination aus einer vom Benutzer gesehenen realen Szene, z. B. die Umgebung, in der sich der Benutzer befindet, und einer virtuellen Szene, die vom Computer erzeugt wird, der die Szene mit zusätzlichen Informationen erweitert.
  • Ein existierendes AR-System verwendet ein Projektionssystem, um Eingabegeräte auf eine flache Oberfläche zu projizieren. Benutzereingaben werden durch Erkennen von Bewegungen des Fingers des Benutzers auf den projizierten Geräten erzielt, um Tastenanschläge zu interpretieren und aufzuzeichnen, wobei ein Sensor vorgesehen ist, um die Fingerbewegungen des Benutzers zu erfassen. Ein Nachteil des zweiten bekannten Systems ist, dass ein Projektionssystem und eine Projektionsfläche nötig sind, damit das System arbeiten kann, ein anderer, dass die Fläche möglicherweise nicht ausreicht, um die Eingabegeräte zu projizieren.
  • Andere existierende virtuelle Tastaturen erfordern relativ große Benutzerbewegungen zum Bedienen der virtuellen Tastaturen, ähnlich dem Bedienen von tatsächlichen Tastaturen, was ein Problem für behinderte Personen bedeutet, die Teile ihres Körpers nur in einem geringen Ausmaß bewegen können. Diese bekannten virtuellen Tastaturen benötigen auch zugehörige Sensoren zum Erfassen eindeutiger elektronischer Signale, die den Teilen der virtuellen Tastatur entsprechen, die berührt werden.
  • Daher besteht Bedarf an einem System, dessen Ziel es ist, einen oder mehrere der obigen Nachteile anzugehen.
  • ZUSAMMENFASSUNG
  • Gemäß einem ersten Aspekt der Erfindung wird ein virtuelles Schnittstellensystem bereitgestellt, das Folgendes umfasst: eine Kamera, einen Prozessor, der mit der Kamera gekoppelt ist, um Videodaten zu empfangen und zu verarbeiten, die eine von der Kamera aufgenommene Videoeinspeisung respräsentieren; ein Display, das mit dem Prozessor und der Kamera gekoppelt ist, um als Reaktion auf Anzeigedaten vom Prozessor erste und zweite Schnittstellenelemente anzuzeigen, die mit der Videoeinspeisung von der Kamera überlagert sind, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird; wobei der Prozessor eine Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten verfolgt, eine Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion steuert und eine Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display ermittelt.
  • Der Prozessor kann die Bewegungsaktion des Benutzers auf der Basis der Verfolgung der relativen Bewegung eines in der Videoeinspeisung und der Kamera aufgenommenen Referenzobjekts verfolgen.
  • Das Referenzobjekt kann ein stationäres Objekt umfassen und die Kamera kann sich unter der Bewegungsaktion des Benutzers bewegen.
  • Das Referenzobjekt kann vom Benutzer getragen werden und kann sich unter der Bewegung des Benutzers bewegen.
  • Das Referenzobjekt kann eine Kappe sein, die am Finger des Benutzers angebracht ist.
  • Die Kamera kann am Kopf des Benutzers befestigt werden.
  • Das erste Schnittstellenelement kann eine Tastatur oder eine Bedientafel sein und das zweite Schnittstellenelement kann einen Stylus (Eingabestift) umfassen.
  • Das zweite Schnittstellenelement kann eine Tastatur oder eine Bedientafel sein und das erste Schnittstellenelement kann einen Stylus umfassen.
  • Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum Bereitstellen einer virtuellen Schnittstelle bereitgestellt, wobei das Verfahren die folgenden Schritte beinhaltet: Anzeigen erster und zweiter Schnittstellenelemente auf einem Display, überlagert mit einer Videoeinspeisung von einer Kamera und als Reaktion auf Anzeigedaten von einem Prozessor, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird; Verfolgen einer Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten; Steuern einer Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion; und Ermitteln einer Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display.
  • Gemäß einem dritten Aspekt der Erfindung wird ein Datenspeichermedium bereitgestellt, auf dem Computercode gespeichert ist, um ein Computersystem anzuweisen, ein Verfahren zum Bereitstellen einer virtuellen Schnittstelle auszuführen, wobei das Verfahren die folgenden Schritte beinhaltet: Anzeigen erster und zweiter Schnittstellenelemente auf einem Display, überlagert mit einer Videoeinspeisung von einer Kamera und als Reaktion auf Anzeigedaten von einem Prozessor, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird; Verfolgen einer Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten; Steuern einer Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion; und Ermitteln einer Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Ausgestaltungen der Erfindung werden für die durchschnittliche Fachperson anhand der nachfolgenden, nur beispielhaft gegebenen Beschreibung in Verbindung mit den Zeichnungen besser verständlich und nachvollziehbar. Dabei zeigt:
  • 1 eine schematische Zeichnung eines AR-(Augmented Reality)-Systems gemäß einer Ausgestaltung der Erfindung;
  • 2 die Beziehung zwischen dem Weltkoordinatensystem und dem Kamerakoordinatensystem eines Ansatzes mit "stationärem Stylus und beweglicher virtueller Tastatur";
  • 3 ein Fließschema, das einen von dem System von 1 implementierten Algorithmus illustriert;
  • 4 eine schematische Zeichnung, die eine Implementation des Ansatzes mit "stationärem Stylus und beweglicher virtueller Tastatur" mit dem Algorithmus von 3 illustriert;
  • 5A bis 5C das Verfolgen einer Kappe auf der Fingerspitze eines Benutzers in einem Ausführungsbeispiel;
  • 6 das Fließschema, das einen von dem System von 1 implementierten Algorithmus illustriert;
  • 7 eine schematische Zeichnung, die eine Implementation des Ansatzes mit "stationärer virtueller Tastatur und beweglichem Stylus" mit dem Algorithmus von 6 illustriert;
  • 8 ein Fließschema, das ein Verfahren zum Bereitstellen einer virtuellen Schnittstelle gemäß einem Ausführungsbeispiel illustriert;
  • 9 ein schematisches Diagramm, das ein virtuelles Schnittstellensystem gemäß einem Ausführungsbeispiel illustriert;
  • 10 eine schematische Zeichnung, die ein Computersystem zum Implementieren des/der beschriebenen Verfahrens und Systems illustriert.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die hierin beschriebenen AR-Systeme und Verfahren können eine virtuelle Benutzeroberfläche bereitstellen, bei der nur eine geringe Benutzerbewegungsaktion erforderlich ist, um die Benutzeroberfläche zu bedienen.
  • Einige Teile der nachfolgenden Beschreibung werden explizit oder implizit im Sinne von Algorithmen sowie funktionellen oder symbolischen Darstellungen von Operationen an Daten in einem Computerspeicher präsentiert. Diese algorithmischen Beschreibungen sowie funktionellen oder symbolischen Darstellungen sind die Mittel, mit denen die Fachperson in der Datenverarbeitungstechnik anderen Fachpersonen die Substanz ihrer Arbeit am effektivsten vermittelt. Ein Algorithmus wird hier, und im Allgemeinen, als eine in sich einheitliche Folge von Schritten angesehen, die zu einem gewünschten Ergebnis führen. Die Schritte sind solche, die physische Manipulationen physikalischer Größen erfordern, wie z. B. elektrische, magnetische oder optische Signale, die gespeichert, übertragen, kombiniert, verglichen oder auf andere Weise manipuliert werden können.
  • Wenn nicht speziell anders angegeben, und wie aus dem Folgenden hervorgeht, ist zu verstehen, dass sich in der gesamten vorliegenden Beschreibung verwendete Begriffe wie "Berechnen", "Ermitteln", "Erzeugen", "Verfolgen", "Erfassen", "Ausgeben" oder dergleichen auf Aktionen und Prozesse eines Computersystems oder eines ähnlichen elektronischen Gerätes beziehen, das Daten, die als physikalische Größen in dem Computersystem dargestellt sind, in andere Daten manipuliert und transformiert, die ebenso als physikalische Größen in dem Computersystem oder in anderen Informationsspeicher-, -übertragungs- oder -anzeigegeräten dargestellt sind.
  • Die vorliegende Beschreibung offenbart auch Vorrichtungen zum Ausführen der Verfahrensabläufe. Solche Vorrichtungen können speziell für die benötigten Zwecke konstruiert sein oder sie können einen Universalcomputer oder ein anderes Gerät umfassen, der/das von einem in dem Computer gespeicherten Computerprogramm selektiv aktiviert oder umkonfiguriert wird. Die hierin präsentierten Algorithmen und Displays beziehen sich nicht von Natur aus auf einen bestimmten Computer oder eine andere Vorrichtung. Verschiedene Universalmaschinen können mit Programmen gemäß den Lehren hierin verwendet werden. Alternativ kann es zweckdienlicher sein, speziellere Vorrichtungen zum Ausführen der benötigten Verfahrensschritte zu konstruieren. Der Aufbau eines konventionellen Universalcomputers geht aus der nachfolgenden Beschreibung hervor.
  • Außerdem offenbart die vorliegende Beschreibung auch implizit ein Computerprogramm, da es für die Fachperson offensichtlich sein wird, dass die hierin beschriebenen einzelnen Schritte des Verfahrens durch Computercode umgesetzt werden können. Das Computerprogramm soll nicht auf irgendeine bestimmte Programmiersprache und Implementation davon begrenzt sein. Man wird verstehen, dass eine Reihe verschiedener Programmiersprachen und Codierungen davon angewendet werden können, um die Lehren der hierin enthaltenen Offenbarung umzusetzen. Ferner soll das Computerprogramm nicht auf irgendeinen besonderen Steuerungsablauf begrenzt sein. Es gibt viele andere Varianten des Computerprogramms, die mit anderen Steuerungsabläufen arbeiten können, ohne von Wesen und Umfang der Erfindung abzuweichen.
  • 1 ist eine schematische Zeichnung eines AR-(Augmented Reality)-Systems 100 gemäß einer Ausgestaltung der Erfindung.
  • Das AR-System 100 umfasst eine Kamera 104, ein Rechengerät 106, ein kopfmontiertes Display 110 und ein Fernbediengerät 124 für ein externes Gerät 102. Die Kamera 104 ist sowohl mit dem Rechengerät 106 als auch mit dem kopfmontierten Display 110 gekoppelt. Das Rechengerät 106 ist mit dem kopfmontierten Display 106 und mit dem Fernbediengerät 124 gekoppelt.
  • Das in dieser Ausgestaltung verwendete Rechengerät 106 ist ein Personal Computer. Man wird verstehen, dass andere für das Rechengerät 106 eingesetzte Geräte, ohne Begrenzung, z. B. ein Notebook oder ein Personal Digital Assistant sind.
  • Die in dieser Ausgestaltung verwendete Kamera 104 ist eine standardmäßige IEEE FireFly Kamera, die über Visual C++ und OpenGL Software mit dem Rechengerät 106 kommuniziert. Man wird verstehen, dass als die Kamera 104 u. a. auch, ohne Begrenzung, eine USB-Web-Kamera verwendet werden kann.
  • Das in dieser Ausgestaltung verwendete kopfmontierte Display 110 ist ein MicroOptical Head Up Display SV-6. Man wird verstehen, dass als kopfmontiertes Display 110 u. a. auch, ohne Begrenzung, ein Shimadzu Dataglass 2/A oder ein Liteye LE500 Display verwendet werden kann.
  • In dieser Ausgestaltung werden das kopfmontierte Display 110 und die Kamera 104 von einem Benutzer mittels einer geeigneten Befestigung am Kopf getragen. So kann das kopfmontierte Display 110 beispielsweise an einem brillenähnlichen Gestell montiert werden, während die Kamera 104 an einem Kopfband montiert werden kann. Somit hat die Kamera 104 im Wesentlichen denselben Blickpunkt wie der Benutzer, während sich das kopfmontierte Display 110 vor wenigstens einem der Augen des Benutzers befindet.
  • Man wird verstehen, dass das Rechengerät 106, das kopfmontierte Display 110 und die Kamera 104 in einer anderen Ausgestaltung als eine integrierte Einheit bereitgestellt werden können.
  • Das Rechengerät 106 empfängt ein erstes Signal 114, das Daten umfasst, die für die Videoeinspeisung von der Kamera 104 repräsentativ ist, und erzeugt ein virtuelles Objekt in Form einer virtuellen Tastatur 108 oder einer virtuellen Bedientafel und eines Stylus 126 und steuert die Anzeige der virtuellen Tastatur 108 und des Stylus 126 auf dem kopfmontierten Display 110. Das kopfmontierte Display 110 erlaubt es dem Benutzer, auch seine Umgebung zu betrachten. So wird mit der virtuellen Tastatur 108 und dem Stylus 126, die im Blickfeld des kopfmontierten Display 110 angezeigt werden, ein erweitertes Bild erzeugt, das virtuelle Objekte und reale Objekte umfasst, so dass der Benutzer die virtuelle Tastatur 108 und den Stylus 126 als Teil seiner Umgebung wahrnimmt.
  • Alternativ oder zusätzlich kann das Rechengerät 106 auch ein anderes Anzeigegerät (nicht gezeigt) wie z. B. einen normalen Computerschirm steuern. Das andere Anzeigegerät zeigt einen ähnlichen Inhalt an wie das kopfmontierte Display 110. Man wird verstehen, dass der Benutzer das AR-System 100 auch auf der Basis der Anzeige auf dem anderen Anzeigegerät benutzen kann, je nach Komfort und Präferenz der jeweiligen Person.
  • Die virtuelle Tastatur 108 und der Stylus 126 dienen als Schnittstellenelemente einer virtuellen Benutzeroberfläche, die Benutzereingaben in das Rechengerät erleichtert, und über das Rechengerät 106 zu anderen peripher angeschlossenen Geräten wie z. B. dem Fernbediengerät 124 zum Steuern des externen Gerätes 102.
  • Die Interaktion zwischen der Benutzereingabe und der virtuellen Tastatur 108 wird durch Bewegen des Stylus 126 und der virtuellen Tastatur 108 relativ zueinander erzielt, so dass der Stylus 126 über einer aktiven Taste 132 der virtuellen Tastatur 108 angezeigt wird. Die virtuelle Tastatur 108 umfasst mehrere aktive Tasten 132, wobei jede Taste 132 eine assoziierte Funktion ausführt, wie z. B. das Senden eines Signals zu einer Fernbedieneinheit 124, damit diese ein externes Gerät 102 steuert, wie z. B., ohne Begrenzung, um auf einen anderen Fernsehkanal umzuschalten. Wenn das Signal zum Steuern von Computeranwendungen in einem Computer, wie z. B., ohne Begrenzung, Microsoft Word, verwendet wird, dann wird das kopfmontierte Display 110 nicht benötigt und die virtuelle Tastatur kann auf diesem normalen Computerschirm angezeigt werden.
  • Wenn der Stylus 126 über die aktive Taste 132 der virtuellen Tastatur 108 gestellt wird und für eine kurze Zeitdauer etwa an derselben Stelle bleibt, dann wird die mit der aktiven Taste 132 assoziierte Funktion aktiviert. In einer Ausgestaltung, die als der Ansatz mit "stationärem Stylus und beweglicher virtueller Tastatur" bezeichnet wird, ist der Stylus 126 ein stationäres Element im Blickfeld des kopfmontierten Displays 110, während sich die virtuelle Tastatur 108 als Reaktion auf Benutzereingaben, wie z. B. die Bewegung des Kopfs des Benutzers, über das Blickfeld des kopfmontierten Displays 110 bewegt. In einer anderen Ausgestaltung, die als Ansatz mit "stationärer virtueller Tastatur und beweglichem Stylus" bezeichnet wird, ist die virtuelle Tastatur 108 ein stationäres Element im Blickfeld des kopfmontierten Displays 110, während sich der Stylus 126 als Reaktion auf Benutzereingaben, wie z. B. die Bewegung des Kopfs des Benutzers oder die Bewegung des Fingers des Benutzers, über die virtuelle Tastatur 108 bewegt.
  • Stationärer Stylus und bewegliche virtuelle Tastatur Mit Bezug auf 2, in dem ersten Ansatz ist ein Stylus 226 ein stationäres Element im Blickfeld des kopfmontierten Displays 110, während sich eine virtuelle Tastatur 208 als Reaktion auf Benutzereingaben über das Blickfeld des kopfmontierten Displays 110 bewegt.
  • Ein Referenzmarker 216, der eine Form hat, die einer vordefinierten, von einem im Rechengerät 106 implementierten Algorithmus 300 (3) erkannten Form entspricht, wird an einer geeigneten Stelle in der Umgebung 102 platziert. Das Rechengerät 106 verwendet den Marker 216 als Referenz, um Achsen 218 des Weltkoordinatensystems (WCS) zu definieren, so das der im Rechengerät 106 implementierte Algorithmus 300 (3) nachfolgend die Achsen 228 des Kamerakoordinatensystems (CCS) auf die WCS-Achsen 218 ausrichtet. Ferner dient der Referenzmarker 216 als Anker, an dem die virtuelle Tatstur 208 festgemacht wird, wenn der Referenzmarker 216 von der Kamera 104 erfasst wird. So bewegt sich die virtuelle Tastatur 208 über das Blickfeld des kopfmontierten Displays 110, wenn die Kamera 104 als Reaktion auf Benutzereingaben, z. B. mit Kopfbewegungen mit einer kopfmontierten Kamera 104, bewegt wird.
  • Zum Erzeugen des erweiterten Bildes, bei dem die virtuelle Tastatur 208 über den Referenzmarker 216 gelegt ist, verwendet der Algorithmus 300 (3) des Rechengerätes 106 ein Lochkameramodell wie folgt: ρm = A[R|t]M (1)wobei in = (u, ν, l)T und M = (X, Y, Z, 1)T, die jeweils ein Bildpunkt und sein entsprechender 3D-Punkt im WCS 218 sind und durch homogene Vektoren repräsentiert werden. ρ ist ein willkürlicher Faktor, während (R, t) die Rotations- und Translationsvektormatrix ist, die das WCS 218 auf das CCS 228 bezieht und im Allgemeinen als extrinsischer Parameter bezeichnet wird. A ist die intrinsische Matrix der Kamera 104.
  • Es wird nun, weiter mit Bezug auf 2, der Ablauf des Ansatzes mit "stationärem Stylus und beweglicher virtueller Tastatur" mit Bezug auf das Fließschema beschrieben, das von dem Algorithmus 300 in 3 benutzt wird.
  • Der Algorithmus 300 (3) ist in dieser Ausgestaltung mit ARToolKit und Visual C++ Software im Rechengerät 106 codiert (1). Man wird verstehen, dass auch andere Software zum Codieren des Algorithmus 300 (3) verwendet werden kann.
  • Am Anfang 302 (3) wird der Stylus 226 an einer vorprogrammierten Stelle im Blickfeld des kopfmontierten Displays 110 angezeigt. Der Stylus 226 bleibt während des Betriebs des AR-Systems stationär.
  • In Schritt 304 (3) wird die Kamera 104 bewegt, bis der Referenzmarker 216 von der Kamera 104 erfasst wird. Wenn der Algorithm 300 (3) erkennt, dass die Kamera 104 den Referenzmarker 216 erfasst hat, dann legt der Algorithmus 300 (3) die virtuelle Tastatur 208 über den Bereich, wo der Benutzer den Referenzmarker 216 durch das kopfmontierte Display 110 sieht, so dass ein erweitertes Bild entsteht. Die virtuelle Tastatur 208 bewegt sich im Blickfeld des kopfmontierten Displays 110 entsprechend der Bewegung der Kamera 104 und wird ständig weiter im Blickfeld des kopfmontierten Displays 110 angezeigt, solange die Kamera 104 den Referenzmarker 216 erfasst.
  • Schritt 306 (3) beinhaltet die Auswahl von einer aus der Mehrzahl von aktiven Tasten 232 in der virtuellen Tastatur 208 durch den Benutzer. Dies erfolgt durch Bewegen der Kamera 208, wodurch wiederum die virtuelle Tastatur 208 bewegt wird, bis sich der Stylus 226 in der Nähe der virtuellen Tastatur 208 befindet.
  • In Schritt 308 (3) wird die Kamera 104 geringfügig bewegt, so dass sich der Stylus 226 in der vom Benutzer gewählten aktiven Taste 232 befindet. In Schritt 310 (3) ermittelt der Algorithmus 300 (3), wie lange der Stylus 226 über der aktiven Taste 232 geblieben ist, und prüft, ob diese Dauer einen Schwellenwert überschritten hat. Wenn die Dauer den Schwellenwert überschritten hat, z. B. 0,5 bis 1 Sekunde, dann erfolgt Schritt 312 (3), bei dem der Stylus 226 die gewählte aktive Taste 232 aktiviert und die mit der aktiven Taste 232 assoziierte Funktion aufruft. Wenn andererseits die Dauer unter dem Schwellenwert liegt, dann kehrt der Algorithmus 300 (3) zu Schritt 306 zurück, wo der Algorithmus 300 (3) die Schritte 306 bis 310 (3) wiederholt.
  • Der Schwellenwert kann durch geeignetes Modifizieren des Algorithmus 300 (3) leicht geändert und an die Geschicklichkeit des Benutzers angepasst werden.
  • 4 illustriert eine Implementation des Ansatzes mit "stationärem Stylus und beweglicher virtueller Tastatur" mit dem Algorithmus 300 (3).
  • In 4 hat das AR-System einen Stylus 426, der während des Betriebs des AR-Systems stationär bleibt, in Form eines kreisförmigen Selektor-Cursorpunkts erzeugt. Die Projektion des Stylus 426 kann durch Einstellen der Z-Koordinate in Gleichung (1) auf Null berechnet werden, unter der Annahme, dass die intrinsischen Kameraparameter bekannt sind.
  • Ein kopfmontiertes Gerät (nicht gezeigt) mit einer Kamera wurde so bewegt, dass die Kamera einen Referenzmarker 416 erfasst. Wenn die Kamera den Referenzmarker 416 erfasst hat, wird eine virtuelle Tastatur in Form einer Tastatur 408 im 'qwerty'-Format über den Referenzmarker 416 gelegt. Man wird verstehen, dass auch andere Tastaturformate aufgelegt werden können, wie z. B., ohne Begrenzung, das Tastenfeld eines Mobiltelefons. Wenn ein Benutzer das kopfmontierte Gerät (nicht gezeigt) bewegt, z. B. durch Bewegen seines Kopfes, dann bewegt sich das Display der virtuellen Tastatur 408 entsprechend, während der Stylus 426 stationär bleibt.
  • So wurde ein erweitertes Bild erzeugt, bei dem der das kopfmontierte Gerät (nicht gezeigt) tragende Benutzer die virtuellen Objekte, nämlich den Stylus 426 und die virtuelle Tastatur 408, als Teil seiner Umgebung wahrnimmt, wenn der Benutzer in ein kopfmontiertes Display schaut, das sich vor wenigstens einem der Augen des Benutzers befindet.
  • Die im kopfmontierten Gerät (nicht gezeigt) angezeigte virtuelle Tastatur wurde bewegt, bis der Stylus 426 über einer der aktiven Tasten 432 angezeigt wird, dem Buchstaben 'M'. Wenn der Stylus 426 länger als eine vorbestimmte Schwellendauer, z. B. 0,5 bis 1 Sekunde, über dem Buchstaben 'M' stehen gelassen wird, dann wird der Buchstabe 'M' in eine Textverarbeitungssoftware (nicht gezeigt) eingegeben.
  • Da das AR-System eine Bewegungsaktion (Kopfbewegung) des Benutzers auf der Basis der von der Kamera empfangenen Videodaten verfolgt, eine Anzeigestelle der virtuellen Tastatur 408 auf dem Display auf der Basis der verfolgten Bewegungsaktion steuert und die Benutzereingaben auf der Basis einer relativen Position der virtuellen Tastatur 408 und des Stylus 426 auf dem Display ermittelt, kann das AR-System so angeordnet werden, dass nur eine geringfügige Bewegung (Kopfbewegung) erforderlich ist, um die virtuelle Tastatur 408 zu bedienen.
  • Die mit der virtuellen Tastatur 408 assoziierten Funktionen können so programmiert werden, dass sie die Steuerung von elektronischen Geräten wie Fernseher, Lüfter und den Zugriff auf Computeranwendungen wie das Senden von Emails beinhalten.
  • Stationäre virtuelle Tastatur und beweglicher Stylus Zurück zu 1, im zweiten Ansatz ist die virtuelle Tastatur 108 ein stationäres Element im Blickfeld des kopfmontierten Displays 110, während sich der Stylus 126 als Reaktion auf Benutzereingaben über die virtuelle Tastatur bewegt, die im Blickfeld des kopfmontierten Displays 110 erscheint.
  • Im zweiten Ansatz ist ein vom Rechengerät 106 benutzter Verfolgungsalgorithmus 600 (6) z. B. so konfiguriert, dass er nur Objekte einer vorbestimmten Farbe erkennt und verfolgt. Dies stellt sicher, dass keine anderen von der Kamera 104 erfassten Objekte vom AR-System 100 verfolgt werden.
  • Die 5A bis 5C zeigen eine kleine farbige Kappe 502, die auf einem Finger des Benutzers steckt und vom Benutzer durch das kopfmontierte Display 110 gesehen wird. Der Verfolgungsalgorithmus 600 (6) ist so konfiguriert, dass er die Farbe der Kappe 502 erkennt und dadurch die Kappe 502 verfolgt.
  • Es wird nun, weiter mit Bezug auf die 5A bis 5C, der Ablauf des Ansatzes mit "stationärer virtueller Tastatur und beweglichem Stylus" mit Bezug auf das Fließschema beschrieben, das von dem Algorithmus 600 von 6 verwendet wird.
  • Der Algorithmus 600 (6) ist in dieser Ausgestaltung mit ARToolKit und Visual C++ Software im Rechengerät 106 (1) codiert. Man wird verstehen, dass auch andere Software zum Codieren des Algorithmus 600 (6) verwendet werden kann.
  • Der Algorithmus (6) beginnt in Schritt 601. In Schritt 602 (6) erscheint eine virtuelle Tastatur 508 an einer vorprogrammierten festen Stelle im Blickfeld des kopfmontierten Displays 110 wie in 5B gezeigt. So entsteht ein erweitertes Bild, so dass der Benutzer die virtuelle Tastatur 508 durch das kopfmontierte Display 110 als Teil seiner Umgebung wahrnimmt, wobei die virtuelle Tastatur 508 stationär bleibt.
  • Daten über die Kappe 502 werden von der Kamera 104 in Schritt 604 (6) gewonnen und analysiert, um zu ermitteln, ob die Kappe 502 dieselben Farbcharacteristiken hat wie das zuvor verfolgte physische Objekt.
  • Wenn die Kappe 502 nicht dieselben Farbcharacteristiken hat, dann geht der Algorithmus 600 (6) zu Schritt 606 (6), wo ein vom Algorithmus 600 (6) verwendetes neuronales RCE-(Restricted Coulomb Energy)-Netz trainiert wird, die Farbe der Kappe 502 zu erkennen, damit der Algorithmus 600 (6) nachfolgend die Position der Kappe 502 verfolgen kann.
  • In der Trainingsprozedur gibt der Algorithmus 600 (6) eine Trainingsregion 504 auf der Kappe 502 vor, wie in 5B gezeigt. Dann werden Trainingsdaten von der Trainingsregion 504 gewonnen. Anhand der Trainingsdaten wird dann ein Stylus 526 um die Mitte der Trainingsregion 504 wie in 5C gezeigt gebildet. Der Stylus 526 ist zwar ein virtuelles Objekt, aber der Benutzer nimmt den Stylus 526 als Teil seiner Umgebung wahr. Der Stylus 526 bewegt sich mit den Bewegungen der Kappe 502 mit.
  • Andererseits, wenn die Farbe der Kappe 502 dieselben Farbcharacteristiken hat wie das zuvor verfolgte physische Objekt, dann geht der Algorithmus 600 (6) weiter zu Schritt 608 (6), wo die zuvor gewonnenen Trainingsresulte wiederverwendet werden. Dies ergibt den Vorteil einer automatischen Initialisierung und einer kürzeren Verarbeitungszeit.
  • In Schritt 610 (6) durchläuft der Algorithmus 600 (6) eine Segmentierungsprozedur. In dieser Segmentierungsprozedur wird jedes von der Kamera 104 aufgenommene Einzelbild segmentiert. Jedes segmentierte Einzelbild hat ein lokalisiertes Suchfenster 506, dessen Mittelpunkt der Ort des Stylus 526 im vorherigen Einzelbild ist. Daten, die die Farbwerte der Kappe 502 in dem lokalisierten Suchfenster 506 repräsentieren, werden in das trainierte neuronale RCE-Netz eingegeben und das neuronale RCE-Netz gibt dann die Segmentierungsresultate aus. Die Segmentierungsresultate werden mit einem Gruppenverknüpfungsalgorithmus gruppiert. Anhand der Segmentierungsresultate wird ein Aktivierungspunkt extrahiert, der auf das Display 110 projiziert wird, um den vom Benutzer in einem bestimmten Moment gesehenen Stylus 526 zu bilden. Auf diese Weise wird die Kappe 502 kontinuierlich verfolgt, während sich der Finger des Benutzers mit einer entsprechenden Bewegung des vom Benutzer gesehenen Stylus 526 bewegt. Da die Verfolgung auf das lokalisierte Suchfenster 506 beschränkt ist, wird im Wesentlichen eine Echtzeitausführung des Algorithmus 600 (6) erzielt.
  • Der Schritt 612 (6) beinhaltet die Benutzerauswahl von einem aus der Mehrzahl von aktiven Tasten 532 in der virtuellen Tastatur 508. Dies wird durch Bewegen der Kappe 502 erzielt, wodurch wiederum der Stylus 526 bewegt wird, bis sich der Stylus 526 in der Nähe der virtuellen Tastatur 508 befindet.
  • In Schritt 614 (6) ermittelt der Algorithmus 600 (6), wie lange der Stylus 526 über der gewählten aktiven Taste 532 (5B) geblieben ist, und prüft, ob diese Dauer einen Schwellenwert Oberschritten hat. Wenn die Dauer den Schwellenwert, z. B. 0,5 bis 1 Sekunde, überschritten hat, dann erfolgt Schritt 612 (6), bei dem der Stylus 526 die gewählte aktive Taste 532 (5B) aktiviert und die mit der aktiven Taste 532 assoziierte Funktion aufruft. Wenn andererseits die Dauer unter dem Schwellenwert liegt, dann kehrt der Algorithmus 600 (6) zu Schritt 610 (6) zurück, wo der Algorithmus 600 (6) die Schritte 610 bis 614 wiederholt.
  • Der Schwellenwert kann leicht durch geeignetes Modifizieren des Algorithmus 600 (6) geändert und an die Geschicklichkeit des Benutzers angepasst werden.
  • Man wird verstehen, dass auch andere Objekte mit einer anderen Form und Farbe für den Algorithm 600 (6) verwendet werden können, um den Stylus 526 zu verfolgen und darauf zu projizieren.
  • Mit Bezug auf 6, der Benutzer braucht die Trainingsprozedur in Schritt 606 nur einmal auszuführen. Wenn die Trainingsprozedur abgeschlossen ist, werden die Trainingsresultate automatisch gespeichert. Wenn der Benutzer danach den Algorithmus 600 mit demselben physischen Objekt startet, um den Stylus darauf zu projizieren, dann lädt der Algorithmus 600 automatisch die Trainingsresultate in Schritt 608.
  • Der Benutzer kann auch beschließen, die Trainingsprozedur von Schritt 606 nochmals auszuführen, um bessere Ergebnisse zu erhalten, z. B. dann, wenn sich die Beleuchtungsbedingungen ändern. Die neuen Trainingsresultate werden automatisch gespeichert.
  • Nun mit Bezug auf die 5A bis 5C, falls der Stylus 526 zu schnell bewegt wird, so dass er von der Kamera 104 nicht mehr erfasst werden kann, wird die letzte verfolgte Position des Stylus 526 automatisch aufgezeichnet und vom Algorithmus 600 (6) auf dem kopfmontierten Display 110 als Cursorpunkt 510 angezeigt. Der Benutzer braucht lediglich die Kappe 502 so zu bewegen, dass sie sich innerhalb der Begrenzung des kopfmontierten Display 110 und in der Nähe des Cursorpunkts 510 befindet, so dass der Algorithmus 600 (6) den Cursorpunkt 510 neu auf die Kappe 502 ausrichtet und dann den Stylus 526 weiter verfolgt.
  • 7 illustriert eine Implementation des Ansatzes mit "stationärer virtueller Tastatur und beweglichem Stylus", bei dem die Auswahl einer aktiven Taste 732 auf einer virtuellen Tastatur 708 durch Bewegen eines Fingers 702 des Benutzers in den Bereich der gewünschten aktiven Taste 732 erzielt wird.
  • In 7 hat das AR-System die virtuelle Tastatur 708 erzeugt, die während des Betriebs des AR-Systems stationär bleibt.
  • Ein kopfmontiertes Gerät (nicht gezeigt) mit einer Kamera wurde so positioniert, dass die Kamera den Finger 702 des Benutzers erfasst, auf dessen Fingerspitze eine Kappe steckt. Ein Stylus 726 wird gemäß dem oben beschriebenen Algorithmus 600 (6) auf die Kappe projiziert. Wenn der Stylus 726 länger als eine Schwellendauer, z. B. 0,5 bis 1 Sekunde, über der Leertaste der virtuellen Tastatur 708 stehen gelassen wird, dann wird die Leertaste aktiviert.
  • Da das AR-System eine Bewegungsaktion (Fingerbewegung) des Benutzers auf der Basis von der Kamera empfangenen Videodaten verfolgt, eine Anzeigestelle des Stylus 726 auf dem Display auf der Basis der verfolgten Bewegungsaktion steuert und die Benutzereingabe auf der Basis einer relativen Position der virtuellen Tastatur 708 und des Stylus 726 auf dem Display ermittelt, kann das AR-System so angeordnet werden, dass nur eine geringfügige Bewegung (Fingerbewegung) nötig ist, um die virtuelle Tastatur 708 zu bedienen.
  • Man wird verstehen, dass in anderen Ausgestaltungen in diesem Ansatz die Kamera möglicherweise nicht am Kopf befestigt ist, sondern sich stationär an einem Ort befinden kann, so dass das von dem Benutzer getragene Objekt, wie z. B. die an einem Finger befestigte Kappe, im Blickfeld der Kamera liegt.
  • Die mit der virtuellen Tastatur 708 assoziierten Funktionen können so programmiert werden, dass sie die Steuerung von elektronischen Geräten wie z. B. Fernsehern, Lüftern und den Zugriff auf Computeranwendungen wie z. B. das Senden von Emails beinhalten.
  • 8 zeigt ein Fließschema 800, das ein Verfahren zum Bereitstellen einer virtuellen Schnittstelle gemäß einem Ausführungsbeispiel illustriert. In Schritt 802 werden erste und zweite Schnittstellenelemente auf einem Display angezeigt, überlagert mit einer Videoeinspeisung von einer Kamera und als Reaktion auf Anzeigedaten von einem Prozessor, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird. In Schritt 804 wird eine Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten verfolgt. In Schritt 806 wird eine Anzeigestelle des ersten Schnittstellenelementes auf dem Display auf der Basis der verfolgten Bewegungsaktion gesteuert. In Schritt 808 wird eine Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display ermittelt.
  • 9 zeigt ein schematisches Diagram, das ein virtuelles Schnittstellensystem 900 gemäß einem Ausführungsbeispiel illustriert. Das System 900 umfasst eine Kamera 902 und einen Prozessor 904, der mit der Kamera 902 gekoppelt ist, um Videodaten zu empfangen und zu verarbeiten, die eine von der Kamera 902 aufgenommene Videoeinspeisung repräsentieren. Das System umfasst ferner ein Display 906, das mit dem Prozessor 904 und der Kamera 902 gekoppelt ist, um erste und zweite Schnittstellenelemente 908, 910 anzuzeigen, die mit der Videoeinspeisung von der Kamera 902 als Reaktion auf Anzeigedaten vom Prozessor 904 überlagert sind, wobei das zweite Schnittstellenelement 910 an einer festen Stelle auf dem Display 906 angezeigt wird. Der Prozessor 904 verfolgt eine Bewegungsaktion eines Benutzers 912 auf der Basis der von der Kamera 902 empfangenen Videodaten, steuert eine Anzeigestelle des ersten Schnittstellenelementes 908 auf dem Display 906 auf der Basis der verfolgten Bewegungsaktion und ermittelt eine Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente 908, 910 auf dem Display 906.
  • Das Verfahren und System der obigen Ausgestaltungen können auf einem Computersystem 1000 implementiert werden, das in 10 schematisch dargestellt ist. Es kann in Software ausgeführt werden, wie z. B. als ein Computerprogramm, das in dem Computersystem 1000 läuft und es anweist, das Verfahren des Ausführungsbeispiels auszuführen.
  • Das Computersystem 1000 umfasst das Computermodul 1002, Eingabemodule wie z. B. eine Tastatur 1004 und eine Maus 1006 und mehrere Ausgabegeräte wie z. B. ein Display 1008 und einen Drucker 1010.
  • Das Computermodul 1002 ist über ein geeigetes Transceiver-Gerät 1014 mit einem Computernetzwerk 1012 verbunden, um den Zugang z. B. zum Internet oder zu anderen Netzwerksystemen wie z. B. einem lokalen Netz (LAN) oder einem Weitbereichsnetz (WAN) zu ermöglichen.
  • Das Computermodul 1002 beinhaltet in dieser Ausgestaltung einen Prozessor 1018, einen Arbeitsspeicher (RAM) 1020 und einen Festwertspeicher (ROM) 1022. Das Computermodul 1002 beinhaltet auch eine Reihe von Ein-/Ausgabe-(E/A)-Schnittstellen, z. B. die E/A-Schnittstelle 1024 zum Display 1008, und die E/A-Schnittstelle 1026 zur Tastatur 1004.
  • Die Komponenten des Computermoduls 1002 kommunizieren typischerweise über einen Zusammenschaltungsbus 1028 auf eine für die Fachperson bekannte Weise.
  • Das Anwendungsprogramm wird typischerweise vom Benutzer des Computersystems 1000 besorgt, auf einem Datenspeichermedium wie CD-ROM oder einem Flash-Memory-Träger codiert und mit einem entsprechenden Datenspeichermedienlaufwerk eines Datenspeichergerätes 1030 gelesen. Das Anwendungsprogramm wird bei seiner Ausführung vom Prozessor gelesen und gesteuert. Eine Zwischenspeicherung von Programmdaten kann mit dem RAM 1020 erfolgen.
  • Die Fachperson wird verstehen, dass zahlreiche Variationen und/oder Modifikationen an der vorliegenden Erfindung wie in den speziellen Ausgestaltungen gezeigt vorgenommen werden können, ohne von Wesen und Umfang der allgemein beschriebenen Erfindung abzuweichen. Die vorliegenden Ausgestaltungen sind daher in jeder Hinsicht als illustrativ und nicht als beschränkend anzusehen.
  • ZUSAMMENFASSUNG
  • Die Erfindung betrifft ein virtuelles Schnittstellensystem, ein Verfahren zum Bereitstellen eines virtuellen Schnittstellensystems und ein Datenspeichermedium, auf dem Computercode gespeichert ist, um ein Computersystem anzuweisen, ein Verfahren zum Bereitstellen einer virtuellen Schnittstelle auszuführen. Ein virtuelles Schnittstellensystem umfasst eine Kamera, einen Prozessor, der mit der Kamera gekoppelt ist, um Videodaten zu empfangen und zu verarbeiten, die eine von der Kamera aufgenommene Videoeinspeisung respräsentieren; ein Display, das mit dem Prozessor und der Kamera gekoppelt ist, um als Reaktion auf Anzeigedaten vom Prozessor erste und zweite Schnittstellenelemente anzuzeigen, die mit der Videoeinspeisung von der Kamera überlagert sind, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird; wobei der Prozessor eine Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten verfolgt, eine Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion steuert und eine Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display ermittelt.

Claims (10)

  1. Virtuelles Schnittstellensystem, das Folgendes umfasst: eine Kamera, einen Prozessor, der mit der Kamera gekoppelt ist, um Videodaten zu empfangen und zu verarbeiten, die eine von der Kamera aufgenommene Videoeinspeisung respräsentieren; ein Display, das mit dem Prozessor und der Kamera gekoppelt ist, um als Reaktion auf Anzeigedaten vorn Prozessor erste und zweite Schnittstellenelemente anzuzeigen, die mit der Videoeinspeisung von der Kamera überlagert sind, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird; wobei der Prozessor eine Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten verfolgt, eine Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion steuert und eine Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display ermittelt.
  2. System nach Anspruch 1, bei dem der Prozessor die Bewegungsaktion des Benutzers auf der Basis einer Verfolgung der relativen Bewegung eines in der Videoeinspeisung und der Kamera erfassten Referenzobjekts verfolgt.
  3. System nach Anspruch 2, wobei das Referenzobjekt ein stationäres Objekt umfasst und die Kamera unter der Bewegungsaktion des Benutzers bewegt wird.
  4. System nach Anspruch 2, wobei das Referenzobjekt vom Benutzer getragen und unter der Bewegung des Benutzers bewegt wird.
  5. System nach Anspruch 4, wobei das Referenzobjekt eine Kappe ist, die am Finger des Benutzers angebracht ist.
  6. System nach einem der vorherigen Ansprüche, wobei die Kamera am Kopf des Benutzers befestigt wird.
  7. System nach einem der vorherigen Ansprüche, wobei das erste Schnittstellenelement eine Tastatur oder Bedientafel umfasst und das zweite Schnittstellenelement einen Stylus umfasst.
  8. System nach den Ansprüchen 1 bis 6, wobei das zweite Schnittstellenelement eine Tastatur oder Bedientafel umfasst und das erste Schnittstellenelement einen Stylus umfasst.
  9. Verfahren zum Bereitstellen einer virtuellen Schnittstelle, wobei das Verfahren die folgenden Schritte beinhaltet: Anzeigen erster und zweiter Schnittstellenelemente auf einem Display, überlagert mit einer Videoeinspeisung von einer Kamera und als Reaktion auf Anzeigedaten von einem Prozessor, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird; Verfolgen einer Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten; Steuern einer Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion; und Ermitteln einer Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display.
  10. Datenspeichermedium, auf dem Computercode gespeichert ist, um ein Computersystem anzuweisen, ein Verfahren zum Bereitstellen einer virtuellen Schnittstelle auszuführen, wobei das Verfahren die folgenden Schritte beinhaltet: Anzeigen erster und zweiter Schnittstellenelemente auf einem Display, überlagert mit einer Videoeinspeisung von einer Kamera und als Reaktion auf Anzeigedaten von einem Prozessor, wobei das zweite Schnittstellenelement an einer festen Stelle auf dem Display angezeigt wird; Verfolgen einer Bewegungsaktion eines Benutzers auf der Basis der von der Kamera empfangenen Videodaten; Steuern einer Anzeigestelle des ersten Schnittstellenelements auf dem Display auf der Basis der verfolgten Bewegungsaktion; und Ermitteln einer Benutzereingabe auf der Basis einer relativen Position der ersten und zweiten Schnittstellenelemente auf dem Display.
DE112006002954T 2005-10-31 2006-10-31 Virtuelles Schnittstellensystem Expired - Fee Related DE112006002954B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US73167205P 2005-10-31 2005-10-31
US60/731,672 2005-10-31
PCT/SG2006/000320 WO2007053116A1 (en) 2005-10-31 2006-10-31 Virtual interface system

Publications (2)

Publication Number Publication Date
DE112006002954T5 true DE112006002954T5 (de) 2008-11-27
DE112006002954B4 DE112006002954B4 (de) 2011-12-08

Family

ID=38006151

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006002954T Expired - Fee Related DE112006002954B4 (de) 2005-10-31 2006-10-31 Virtuelles Schnittstellensystem

Country Status (3)

Country Link
US (1) US20090153468A1 (de)
DE (1) DE112006002954B4 (de)
WO (1) WO2007053116A1 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913962B1 (ko) * 2007-05-14 2009-08-26 삼성전자주식회사 이동통신 단말기의 문자 입력 방법 및 장치
US9097890B2 (en) 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc Grating in a light transmissive illumination system for see-through near-eye display glasses
US9091851B2 (en) 2010-02-28 2015-07-28 Microsoft Technology Licensing, Llc Light control in head mounted displays
US9366862B2 (en) 2010-02-28 2016-06-14 Microsoft Technology Licensing, Llc System and method for delivering content to a group of see-through near eye display eyepieces
US9182596B2 (en) 2010-02-28 2015-11-10 Microsoft Technology Licensing, Llc See-through near-eye display glasses with the optical assembly including absorptive polarizers or anti-reflective coatings to reduce stray light
US10180572B2 (en) 2010-02-28 2019-01-15 Microsoft Technology Licensing, Llc AR glasses with event and user action control of external applications
US20120249797A1 (en) 2010-02-28 2012-10-04 Osterhout Group, Inc. Head-worn adaptive display
US8482859B2 (en) 2010-02-28 2013-07-09 Osterhout Group, Inc. See-through near-eye display glasses wherein image light is transmitted to and reflected from an optically flat film
US8467133B2 (en) 2010-02-28 2013-06-18 Osterhout Group, Inc. See-through display with an optical assembly including a wedge-shaped illumination system
KR20130000401A (ko) 2010-02-28 2013-01-02 오스터하우트 그룹 인코포레이티드 대화형 머리­장착식 아이피스 상의 지역 광고 컨텐츠
US9229227B2 (en) 2010-02-28 2016-01-05 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a light transmissive wedge shaped illumination system
US9097891B2 (en) 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc See-through near-eye display glasses including an auto-brightness control for the display brightness based on the brightness in the environment
US20120194420A1 (en) * 2010-02-28 2012-08-02 Osterhout Group, Inc. Ar glasses with event triggered user action control of ar eyepiece facility
US9134534B2 (en) 2010-02-28 2015-09-15 Microsoft Technology Licensing, Llc See-through near-eye display glasses including a modular image source
US9223134B2 (en) 2010-02-28 2015-12-29 Microsoft Technology Licensing, Llc Optical imperfections in a light transmissive illumination system for see-through near-eye display glasses
US9341843B2 (en) 2010-02-28 2016-05-17 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a small scale image source
US9128281B2 (en) 2010-09-14 2015-09-08 Microsoft Technology Licensing, Llc Eyepiece with uniformly illuminated reflective display
US9759917B2 (en) * 2010-02-28 2017-09-12 Microsoft Technology Licensing, Llc AR glasses with event and sensor triggered AR eyepiece interface to external devices
US8488246B2 (en) 2010-02-28 2013-07-16 Osterhout Group, Inc. See-through near-eye display glasses including a curved polarizing film in the image source, a partially reflective, partially transmitting optical element and an optically flat film
US9285589B2 (en) * 2010-02-28 2016-03-15 Microsoft Technology Licensing, Llc AR glasses with event and sensor triggered control of AR eyepiece applications
US9129295B2 (en) 2010-02-28 2015-09-08 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a fast response photochromic film system for quick transition from dark to clear
US20150309316A1 (en) 2011-04-06 2015-10-29 Microsoft Technology Licensing, Llc Ar glasses with predictive control of external device based on event input
US8477425B2 (en) 2010-02-28 2013-07-02 Osterhout Group, Inc. See-through near-eye display glasses including a partially reflective, partially transmitting optical element
US8472120B2 (en) 2010-02-28 2013-06-25 Osterhout Group, Inc. See-through near-eye display glasses with a small scale image source
WO2011159258A1 (en) * 2010-06-16 2011-12-22 Agency For Science, Technology And Research Method and system for classifying a user's action
US9285874B2 (en) 2011-02-09 2016-03-15 Apple Inc. Gaze detection in a 3D mapping environment
US8872766B2 (en) * 2011-05-10 2014-10-28 Raytheon Company System and method for operating a helmet mounted display
US9069164B2 (en) 2011-07-12 2015-06-30 Google Inc. Methods and systems for a virtual input device
US8228315B1 (en) 2011-07-12 2012-07-24 Google Inc. Methods and systems for a virtual input device
CN103019391A (zh) * 2011-09-22 2013-04-03 纬创资通股份有限公司 利用所撷取键盘影像作为指令输入依据的输入装置及方法
DE102011119082A1 (de) * 2011-11-21 2013-05-23 Übi UG (haftungsbeschränkt) Vorrichtungsanordnung zur Schaffung eines interaktiven Bildschirms aus einem Bildschirm
CN104246682B (zh) * 2012-03-26 2017-08-25 苹果公司 增强的虚拟触摸板和触摸屏
US9819843B2 (en) * 2012-09-20 2017-11-14 Zeriscope Inc. Head-mounted systems and methods for providing inspection, evaluation or assessment of an event or location
CN104620212B (zh) 2012-09-21 2018-09-18 索尼公司 控制装置和记录介质
US20140092021A1 (en) * 2012-09-28 2014-04-03 Thomson Licensing Method and system for entering text using a remote control
US8996413B2 (en) 2012-12-28 2015-03-31 Wal-Mart Stores, Inc. Techniques for detecting depleted stock
US20140293030A1 (en) * 2013-03-26 2014-10-02 Texas Instruments Incorporated Real Time Math Using a Camera
US20150185825A1 (en) * 2013-12-30 2015-07-02 Daqri, Llc Assigning a virtual user interface to a physical object
US20150187137A1 (en) * 2013-12-31 2015-07-02 Daqri, Llc Physical object discovery
US9740338B2 (en) 2014-05-22 2017-08-22 Ubi interactive inc. System and methods for providing a three-dimensional touch screen
KR20180002208A (ko) * 2016-06-29 2018-01-08 엘지전자 주식회사 단말기 및 그 제어 방법
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10424086B2 (en) * 2017-11-16 2019-09-24 Adobe Inc. Oil painting stroke simulation using neural network
KR102539579B1 (ko) * 2018-12-18 2023-06-05 삼성전자주식회사 정보의 표시 영역을 적응적으로 변경하기 위한 전자 장치 및 그의 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69204045T2 (de) * 1992-02-07 1996-04-18 Ibm Verfahren und Vorrichtung zum optischen Eingang von Befehlen oder Daten.
US5815411A (en) * 1993-09-10 1998-09-29 Criticom Corporation Electro-optic vision system which exploits position and attitude
US6522312B2 (en) * 1997-09-01 2003-02-18 Canon Kabushiki Kaisha Apparatus for presenting mixed reality shared among operators
JPH11168754A (ja) * 1997-12-03 1999-06-22 Mr System Kenkyusho:Kk 画像の記録方法、画像データベースシステム、画像記録装置及びコンピュータプログラムの記憶媒体
JP2000102036A (ja) * 1998-09-22 2000-04-07 Mr System Kenkyusho:Kk 複合現実感提示システム、複合現実感提示方法、マン・マシーンインタフェース装置、およびマン・マシーンインタフェース方法
DE10054242A1 (de) * 2000-11-02 2002-05-16 Visys Ag Verfahren zum Eingeben von Daten in ein System und Eingabeeinrichtung
JP2005301322A (ja) * 2002-02-07 2005-10-27 Kathenas Inc 入力装置、携帯電話機及び携帯情報機器
JP4029675B2 (ja) * 2002-06-19 2008-01-09 セイコーエプソン株式会社 画像・触覚情報入力装置
TW594549B (en) * 2002-12-31 2004-06-21 Ind Tech Res Inst Device and method for generating virtual keyboard/display
KR100682885B1 (ko) * 2003-04-23 2007-02-15 삼성전자주식회사 공간형 정보 입력 장치 및 방법, 이를 위한 소프트 키매핑 방법 및 그에 따른 가상 키보드

Also Published As

Publication number Publication date
WO2007053116A1 (en) 2007-05-10
DE112006002954B4 (de) 2011-12-08
US20090153468A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
DE112006002954B4 (de) Virtuelles Schnittstellensystem
EP1362281B1 (de) Anwendergesteuerte verknüpfung von informationen innerhalb eines augmented-reality-systems
DE112016004135T5 (de) Teleportation in einer Augmented- und/oder Virtual-Reality Umgebung
DE19983513B4 (de) Verfahren für das Auswählen eines grafischen Objektes und System für die Steuerung einer Schnittstelle eines Rechnersystems hierfür
DE202017104928U1 (de) Manipulation virtueller Objekte anhand von Controllern mit sechs Freiheitsgraden in erweiterten bzw. virtuellen Realitätsumgebungen
DE60225933T2 (de) Tragbare virtuelle realität
DE60028894T2 (de) Präsentationssystem mit einer interaktiven Darstellung
DE202017105262U1 (de) Erzeugen virtueller Notationsoberflächen mit Gesten in einer erweiterten und/oder virtuellen Realitätsumgebung
DE202017105307U1 (de) Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung
DE60311608T2 (de) Verfahren und Vorrichtung zum Schalten der Steuerung zwischen verbundenen Vorrichtungen
DE102017119812A1 (de) Ziehen von virtuellen elementen einer erweiterten und/oder virtuellen realitätsumgebung
DE202017006742U1 (de) Eingabegerät-Stabilisierungstechniken für virtuelle Realitätssysteme
DE112016003719T5 (de) System und Verfahren für Biomechanik-basierte Augensignale zur Interaktion mit realen und virtuellen Objekten
DE102018102194A1 (de) Elektronische Einrichtung, Informationsverarbeitungsverfahren und Programm
DE102014106960A1 (de) Verfahren zur Darstellung einer virtuellen Interaktion auf zumindest einem Bildschirm und Eingabevorrichtung, System und Verfahren für eine virtuelle Anwendung mittels einer Recheneinheit
DE102006032484A1 (de) Auf Gesichtsmerkmale örtlich begrenztes und umfassendes Echtzeit-Video-Morphing
DE102016210288A1 (de) Bedienvorrichtung mit Eyetrackereinheit und Verfahren zum Kalibrieren einer Eyetrackereinheit einer Bedienvorrichtung
WO2016162269A1 (de) Verfahren und system zur bereitstellung einer virtual-reality-umgebung für passagiere von land- und luftfahrzeugen
DE10056291A1 (de) Verfahren zur visuellen Darstellung und interaktiven Steuerung von virtuellen Objekten auf einem Ausgabe-Sichtfeld
DE112020000573T5 (de) Anzeigen von darstellungen von umgebungen
DE102020104415A1 (de) Bewegung in einer umgebung
DE112019002798T5 (de) Informationsverarbeitungsvorrichtung, informationsverabeitungsverfahren und programm
WO2021052660A1 (de) Verfahren und vorrichtung zum verarbeiten eines durch eine kamera aufgenommenen bildes
EP2977855A1 (de) Virtuelle Tastatur und Eingabeverfahren für eine virtuelle Tastatur
EP3534240A1 (de) Verfahren und vorrichtung zur daten-annotation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20120309

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

Effective date: 20130501