-
VERWANDTE ANMELDUNGEN
-
Diese Anmeldung betrifft die und beansprucht die Priorität der US-Provisional Patentanmeldung mit Seriennummer 60/566,444, eingereicht am 30. April 2004, mit dem Titel ”Freespace Pointing Device”, deren Offenbarung hier durch Inbezugnahme aufgenommen wird. Diese Anmeldung betrifft auch die und beansprucht die Priorität der US-Provisional Patentanmeldung mit Seriennummer 60/612,571, eingereicht am 23. September 2004, mit dem Titel ”Free Space Pointing Devices and Methods”, deren Offenbarung hier durch Inbezugnahme aufgenommen wird. Diese Anmeldung betrifft auch die und beansprucht die Priorität der US-Provisional Patentanmeldung mit Seriennummer 60/641,410, eingereicht am 5. Januar 2005, mit dem Titel ”Free Space Pointing Devices and Methods for Using Same”, deren Offenbarung hier durch Inbezugnahme aufgenommen wird.
-
Diese Anmeldung betrifft auch die US-Patentanmeldungen Nr. 11/119,987, 11/119,688 und 11/119,663, mit den Titeln ”Methods and Devices for Removing Unintentional Movement in Free Space Pointing Devices, ”Methods and Devices for Identifying Users Based on Tremor” und ”Free Space Pointing Devices and Methods”, welche sämtlich gleichzeitig mit der vorliegenden Anmeldung eingereicht wurden und welche durch Inbezugnahme hier aufgenommen werden.
-
HINTERGRUND
-
Die vorliegende Erfindung betrifft im Allgemeinen handgeführte Zeigevorrichtungen und insbesondere Freiraum-Zeigevorrichtungen und Verfahren für die Neigungskompensation und eine damit verbundene verbesserte Benutzbarkeit.
-
Technologien, die der Informationsübertragung zugeordnet sind, haben sich in den letzten Jahrzehnten rasch entwickelt. Fernsehen, Mobilfunk, Internet und optische Kommunikationsverfahren (um nur ein paar Dinge zu nennen) werden kombiniert, um Verbraucher mit verfügbaren Informationen und Entertainment-Auswahlmöglichkeiten zu überschwemmen. Wird das Fernsehen als ein Beispiel genommen, so haben wir in den letzten drei Jahrzehnten die Einführung des Kabelfernsehens, des Satellitenfernsehens, der Pay-per-View-Filme und des Video-on-Demand erlebt. Während die Fernsehzuschauer in den 60-iger Jahren auf ihren Fernsehgeräten über den Äther normalerweise vielleicht vier oder fünf Fernsehkanäle empfangen konnten, haben die Fernsehzuschauer heutzutage die Möglichkeit, aus hunderten, tausenden und potenziell Millionen von Kanälen von Shows und Informationen auszuwählen. Die Video-on-Demand-Technologie, die gegenwärtig in erster Linie in Hotels und dergleichen eingesetzt wird, stellt das Potenzial für die Auswahl aus tausenden von Filmtiteln zur häuslichen Unterhaltung bereit.
-
Das technologische Leistungsvermögen, um Endnutzern derartig viele Informationen und Inhalte bereitzustellen, bietet den Systemgestaltern und Dienstanbietern sowohl Chancen als auch Herausforderungen. Eine Herausforderung besteht darin, dass die Endnutzer gewöhnlich zwar vorziehen, über mehr Auswahl zu verfügen als über weniger, dieser Bevorzugung aber ihr Wunsch entgegensteht, dass der Auswahlvorgang sowohl schnell als auch einfach sein sollte. Leider hat die Entwicklung von Systemen und Schnittstellen, durch welche die Endnutzer auf Medienelemente zugreifen, zu Auswahlvorgängen geführt, die weder schnell noch einfach sind. Es soll wieder das Beispiel der Fernsehprogramme betrachtet werden. Als das Fernsehen in seinen Kinderschuhen steckte, war es wegen der geringen Zahl von Auswahlmöglichkeiten ein ziemlich einfacher Vorgang zu entscheiden, welches Programm angeschaut werden sollte. Es konnte ein gedruckter Programmführer zu Rate gezogen werden, der zum Beispiel in einer Reihe von Spalten und Zeilen formatiert war, welche die Übereinstimmung zwischen (1) den in der Nähe gelegenen Fernsehkanälen, (2) den auf diesen Kanälen übertragenen Programmen und (3) dem Datum und der Zeit angezeigt haben. Das Fernsehgerät wurde auf den gewünschten Kanal abgestimmt, indem ein Abstimmknopf eingestellt wurde, und der Zuschauer hat das ausgewählte Programm angeschaut. Später sind die Fernbedienungen eingeführt worden, die es den Zuschauern ermöglicht haben, das Fernsehgerät aus einem Abstand einzustellen. Mit diesem Zusatz zur Nutzer-Fernseher-Schnittstelle wurde das Phänomen des ”Kanalsurfens” geschaffen, wodurch ein Zuschauer schnell kurze Abschnitte anschauen konnte, die auf einer Anzahl von Kanälen gesendet wurden, um in kurzer Zeit zu erfahren, welche Programme zu einer gegebenen Zeit verfügbar waren.
-
Ungeachtet der Tatsache, dass sich die Anzahl der Kanäle und der Umfang des zum Anschauen verfügbaren Inhalts dramatisch vergrößert haben, haben sich die durchgängig verfügbaren Nutzerschnittstellen, die Steuergerät Auswahlmöglichkeiten und die Grundstrukturen für die Fernsehgeräte über die letzten 30 Jahre hinweg nicht viel verändert. Gedruckte Programmführer stellen nach wie vor das vorherrschende Hilfsmittel zum Übermitteln der Programminformationen dar. Die mit mehreren Tasten versehene Fernbedienung mit Pfeilen nach oben und unten ist immer noch der am weitesten verbreitete Mechanismus zur Inhalts-/Kanal-Auswahl. Die Personen, welche die TV-Nutzerschnittstelle entwerfen und realisieren, haben auf das Anwachsen des verfügbaren Medieninhalts mit einer einfachen Erweiterung der vorhandenen Auswahlverfahren und Schnittstellenobjekte reagiert. So wurde die Anzahl der Zeilen in den gedruckten Programmführern erhöht, um mehr Kanäle unterzubringen. Die Anzahl der Tasten auf den Fernbedienungen wurde vergrößert, um die erweiterte Funktionalität und Handhabung von Inhalten zu unterstützen, wie es z. B. in 1 dargestellt ist. Dieser Ansatz hat jedoch sowohl die Zeit, die ein Zuschauer zum Überblicken der verfügbaren Informationen benötigt, als auch die Kompliziertheit der Bedienungsmaßnahmen, die zum Realisieren einer Auswahl erforderlich sind, beträchtlich vergrößert. Die komplizierte Beschaffenheit der existierenden Schnittstelle hat die kommerzielle Einführung bestimmter Dienstleistungen, wie z. B. des Video-on-Demand, behindert, da sich die Verbraucher gegen Dienstleistungen sträuben, die bei einer Schnittstelle, die sie bereits als zu langsam und komplex ansehen, die Komplexität erhöhen.
-
Über die Zunahme der Bandbreite und der Inhalte hinaus wird das Schnittstellenengpassproblem durch die Bündelung von Technologien verschärft. Die Verbraucher reagieren positiv auf die Möglichkeit des Erwerbs integrierter Systeme anstelle einer Anzahl von einzeln betreibbaren Komponenten. Ein Beispiel für diesen Trend ist die Kombination Fernsehen/Videorecorder/DVD, in der drei zuvor unabhängige Komponenten heute oft als eine integrierte Einheit verkauft werden. Es ist wahrscheinlich, dass sich dieser Trend fortsetzt, möglicherweise mit einem Endergebnis, dass die meisten, wenn nicht alle Kommunikationsgeräte, die heute in einem Haushalt anzutreffen sind, als eine integrierte Einheit, z. B. als eine Fernsehen/Videorecorder/DVD/Internetzugang/Radio/Stereo-Einheit, gebündelt werden. Selbst diejenigen, die weiterhin getrennte Komponenten erwerben, werden wahrscheinlich eine nahtlose Steuerung der getrennten Komponenten und ein Zusammenwirken zwischen ihnen anstreben. Mit dieser zunehmenden Bündelung kommt das Potenzial für mehr Komplexität in der Nutzerschnittstelle. Als zum Beispiel die sogenannten ”universellen” Fernbedienungseinheiten eingeführt wurden, um z. B. den Funktionsumfang der TV-Fernbedienungseinheiten und der Videorecorder-Fernbedienungseinheiten zu kombinieren, war normalerweise die Anzahl der Tasten auf diesen universellen Fernbedienungseinheiten größer als die Anzahl der Tasten auf der TV-Fernbedienungseinheit oder auf der Videorekorder-Fernbedienungseinheit allein. Diese hinzukommende Zahl von Tasten und der Funktionsumfang machen es sehr schwierig, irgendetwas zu steuern außer den einfachsten Aktionsarten eines TV-Geräts oder Videorecorders, ohne die Suche nach der richtigen Taste auf der Fernbedienung aufzunehmen. Häufig stellen diese universellen Fernbedienungen nicht genug Tasten bereit, um auf die vielen Steuerungsebenen oder die Merkmale zuzugreifen, die einzigartig für bestimmte Fernsehgeräte sind. In diesen Fällen wird die originale Geräte-Fernbedienungseinheit noch benötigt, und es bleiben die ursprünglichen Schwierigkeiten beim Umgang mit mehreren Fernbedienungen infolge der Nutzerschnittstellenprobleme, die sich aus der Komplexität der Bündelung ergeben. In einigen Fernbedienungseinheiten ist dieses Problem durch Hinzufügen von ”Soft”-Tasten behandelt worden, die mit den Expert-Befehlen programmiert werden können. Diese Soft-Tasten weisen manchmal zugehörige LCD-Displays auf, um ihre Wirkung anzuzeigen. Diese weisen auch den Mangel auf, dass sie schwer zu nutzen sind, ohne vom TV-Gerät weg auf die Fernbedienung zu schauen. Noch ein weiterer Mangel bei diesen Fernbedienungseinheiten ist die Verwendung von Betriebsarten, wenn versucht wird, die Anzahl der Tasten zu verringern. In diesen ”betriebsartangepassten” universellen Fernbedienungseinheiten gibt es eine spezielle Taste, um auszuwählen, ob die Fernbedienung mit dem TV-Gerät, dem DVD-Player, der Kabel-Set-Top-Box, dem Videorecorder usw. in Verbindung treten soll. Das erzeugt viele Einsatzprobleme einschließlich des Sendens von Befehlen an das falsche Gerät, wodurch der Nutzer gezwungen wird, auf die Fernbedienung zu schauen, um sicherzustellen, dass sie in der richtigen Betriebsart ist, und es stellt keinerlei Vereinfachung zur Integration von mehreren Geräten bereit. Die am weitesten entwickelte von diesen universellen Fernbedienungseinheiten liefert eine gewisse Integration, indem sie dem Nutzer ermöglicht, Abfolgen von Befehlen an mehrere Geräte in die Fernbedienung zu programmieren. Das ist eine derart komplizierte Aufgabe, dass viele Nutzer professionelle Einrichter beauftragen, ihre universellen Fernbedienungseinheiten zu programmieren.
-
Es wurden auch einige Versuche unternommen, die Bildschirmschnittstelle zwischen dem Endnutzer und den Mediensystemen zu modernisieren. Unter anderen Nachteilen kranken diese Versuche jedoch typischerweise an einem Unvermögen, bequem zwischen großen Beständen von Medienelementen und kleinen Beständen von Medienelementen zu skalieren. Zum Beispiel können Schnittstellen, die sich auf Elementlisten stützen, für kleine Bestände von Medienelementen gut arbeiten, das Browsen für große Bestände von Medienelementen ist aber mühsam. Schnittstellen, die sich auf eine hierarchische Navigation (z. B. Baumstrukturen) stützen, können für große Bestände von Medienelementen schneller zu durchlaufen sein als Listenschnittstellen, sind aber nicht einfach anpassbar an kleine Bestände von Medienelementen. Dazu kommt, dass die Nutzer tendenziell das Interesse an den Auswahlvorgängen verlieren, in denen sich der Nutzer durch drei oder mehr Schichten in einer Baumstruktur zu bewegen hat. Für alle diese Fälle machen die heutigen Fernbedienungseinheiten diesen Auswahlvorgang sogar langwieriger, indem der Nutzer dazu gezwungen wird, die Up- und Down-Tasten wiederholt zu drücken, um in den Listen oder Hierarchien zu navigieren. Wenn Sprungsteuerungen zum Auswählen verfügbar sind, wie z. B. Page-Up und Page-Down, dann muss der Nutzer gewöhnlich auf die Fernsteuerung schauen, um diese speziellen Tasten zu finden, oder er muss dazu ausgebildet sein, dass er weiß, dass sie überhaupt vorhanden sind. Dementsprechend sind in der US-Patentanmeldung Serien-Nr. 10/768,432, mit dem Titel ”A Control Framework with a Zoomable Graphical User Interface for Organizing, Selecting and Launching Media Items”, eingereicht am 30. Januar 2004, Organisationsrahmenstrukturen, Techniken und Systeme vorgeschlagen worden, welche die Steuerung und die Bildschirmschnittstelle zwischen Nutzern und Mediensystemen vereinfachen wie auch den Auswahlvorgang beschleunigen, wobei es gleichzeitig den Dienstanbietern ermöglicht wird, einen Vorteil aus der Zunahme in der verfügbaren Bandbreite für die Endnutzerausrüstungen zu ziehen, was die Versorgung mit einer großen Zahl von Medienelementen und neuen Dienstleistungen für den Nutzer erleichtert.
-
Von besonderem Interesse für diese Beschreibung sind die Fernbedienungsgeräte, die nutzbar sind, mit derartigen Rahmenstrukturen wie auch anderen Anwendungen und Systemen zu wechselwirken. Wie in der oben zitierten Anmeldung erwähnt ist, können verschiedene Typen von Fernbedienungsgeräten mit solchen Rahmenstrukturen verwendet werden, die zum Beispiel Rollkugeln, Zeigevorrichtungen vom ”Maus”-Typ, Lichtschreiber usw. einschließen. Eine weitere Gruppe von Fernbedienungsgeräten, die mit derartigen Rahmenstrukturen (und anderen Anwendungen) verwendet werden kann, sind die Freiraum-Zeigevorrichtungen. Der Ausdruck ”Freiraumanzeige” wird in dieser Beschreibung verwendet, um auf die Fähigkeit einer Eingabevorrichtung hinzuweisen, sich in drei (oder mehr) Dimensionen im freien Raum, z. B. vor einem Displaybildschirm, zu bewegen, und auf die dementsprechende Fähigkeit der Nutzerschnittstelle, diese Bewegungen unmittelbar in Nutzerschnittstellenbefehle zu übersetzen, z. B. in die Bewegung eines Zeigers auf einem Displaybildschirm. Die Übergabe von Daten zwischen der Freiraum-Zeigevorrichtung und einer weiteren Vorrichtung kann drahtlos oder über einen Draht erfolgen, der die Freiraum-Zeigevorrichtung und die andere Vorrichtung verbindet. Somit unterscheidet sich die ”Freiraumanzeige” z. B. von den herkömmlichen Computermaus-Anzeigetechniken, die eine Fläche, so z. B. eine Tischfläche oder ein Mauspad, als eine Kontaktfläche verwenden, von der die Relativbewegung der Maus in die Zeigerbewegung auf dem Computer-Displaybildschirm übertragen wird. Ein Beispiel für eine Freiraum-Zeigevorrichtung kann in der
US-Patentschrift Nr. 5,440,326 gefunden werden.
-
In dem
'326 Patent wird unter anderem ein vertikales Kreiselgerät beschrieben, das für den Einsatz als eine Zeigevorrichtung zum Steuern der Lage eines Zeigers auf dem Display eines Computers geeignet ist. Ein Motor im Kernbereich des Kreiselgeräts ist durch zwei Paare von orthogonalen Kardanringen aus einem handgeführten Steuergerät aufgehängt und wird mit seiner Drehachse durch eine Pendelvorrichtung auf eine vertikale Sollausrichtung gebracht. Elektrooptische Achsenwinkelcodierer erfassen die Ausrichtung eines handgeführten Steuergeräts bei seiner Handhabung durch einen Nutzer, und die resultierende elektrische Ausgabegröße wird in ein Format umgewandelt, das von einem Computer verwendet werden kann, um die Bewegung eines Zeigers auf dem Bildschirm eines Computerdisplays zu steuern.
-
Der Verwendungsspielraum, der mit den Freiraumanzeigern verbunden ist, erzeugt jedoch zusätzliche Probleme. Weil zum Beispiel im Allgemeinen keine Kontaktfläche vorhanden ist, auf der eine Freiraum-Zeigevorrichtung ruht, kann sich die Ausrichtung der handgeführten Steuervorrichtung von Nutzer zu Nutzer oder sogar von Einsatz zu Einsatz beträchtlich verändern. Wird eine Freiraum-Zeigevorrichtung zum Beispiel zum Steuern der Bewegung eines auf einem Bildschirm dargestellten Zeigers verwendet, dann wird eine bestimmte Abbildung zwischen der erfassten Bewegung der handgeführten Vorrichtung und der Bewegung des Zeigers auf dem Bildschirm ausgeführt.
-
Eine Technik zum Ausführen dieser Abbildung ist die Verwendung des Körpersystems der Vorrichtung als das Bezugssystem für das Abbilden der erfassten Bewegung der Freiraum-Zeigevorrichtung auf die beabsichtigte Bewegung des Zeigers. Der Begriff ”Körpersystem” bezieht sich auf einen Satz von Achsen, die mit dem Körper des bewegten Objekts verbunden sind, wie nachfolgend ausführlicher beschrieben wird. Die Verwendung des Körperbezugssystems zum Ausführen der Abbildung weist jedoch bestimmte Nachteile auf. Zum Beispiel ist es erforderlich, dass der Nutzer die Vorrichtung in einer bestimmten Ausrichtung hält, um die Zeigerbewegung zu erhalten, die er oder sie wünscht. Hält der Nutzer die Vorrichtung zum Beispiel an ihrer Seite fest und bewegt die Vorrichtung von links nach rechts, dann wird sich der Zeiger auf dem Bildschirm vertikal, nicht horizontal, bewegen.
-
Entsprechend beschreibt die vorliegende Anmeldung Verfahren und Vorrichtungen zum Prozessieren von Daten, welche von einem Sensor oder mehreren Sensoren erhalten werden, auf eine Weise, welche diese und andere im Zusammenhang mit der herkömmlichen Freiraum-Zeigevorrichtung stehen, angeht.
-
ZUSAMMENFASSUNG
-
Systeme und Verfahren gemäß der vorliegenden Erfindung beschreiben Freiraum-Zeigevorrichtungen, welche die Benutzbarkeit verbessern, in dem gemessene Bewegungsdaten von einem ersten Bezugssystem (zum Beispiel den Körper der Freiraum-Zeigevorrichtung) in ein zweites Bezugssystem (zum Beispiel das Bezugssystem eines Benutzers. Eine beispielhafte Ausführungsform der vorliegenden Erfindung entfernt Effekte, die im Zusammenhang mit einer Neigungsorientierung stehen, in welcher die Freiraum-Zeigevorrichtung durch einen Benutzer gehalten wird.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung umfasst eine handgehaltene Zeigevorrichtung einen ersten Rotationssensor zum Bestimmen der Rotation der Zeigevorrichtung um eine erste Achse und zum Erzeugen einer dieser zugeordneten ersten Rotationsausgabe, einen zweiten Rotationssensor zum Bestimmen einer Rotation der Zeigevorrichtung um eine zweite Achse und zum Erzeugen einer dieser zugeordneten zweiten Rotationsausgabe, einen Beschleunigungsaufnehmer zum Bestimmen einer Beschleunigung der Zeigevorrichtung und zum Ausgeben einer dieser zugeordneten Beschleunigungsausgabe und eine Verarbeitungseinheit zum Erhalten der ersten und zweiten Rotationswertausgaben und der Beschleunigungswertausgabe, und zum: (a) Umwandeln der ersten und der zweiten Rotationswertausgabe und der Beschleunigungswertausgabe von einem Körper-Bezugssystem, welches der handgehaltenen Zeigevorrichtung zugeordnet ist, in ein Bezugssystem eines Benutzers, um Neigungseffekte zu entfernen, welche mit der Art verknüpft sind, mit welcher der Benutzer die handgehaltene Zeigevorrichtung hält; und (b) Bestimmen von Daten, welche x- und y-Koordinaten zugeordnet sind, welche wiederum der Bewegung eines Bildschirmcursors zugeordnet sind, wobei die Daten auf der umgewandelten ersten Rotationswertausgabe, der umgewandelten zweiten Rotationswertausgabe und der umgewandelten Beschleunigungswertausgabe beruhen, wobei der Schritt des Umwandelns die Bewegung des Bildschirmcursors im wesentlichen unabhängig von einer Orientierung macht, in welcher ein Benutzer die handgehaltene Vorrichtung hält.
-
Gemäß einer weiteren beispielhaften Ausführungsform der vorliegenden Erfindung umfasst ein Verfahren zum Benutzen einer Freiraum-Zeigevorrichtung Schritte zum Detektieren der Bewegung der Freiraum-Zeigevorrichtung und zum Kompensieren der detektierten Bewegung durch Transformieren der detektierten Bewegung von einem Körper-Bezugssystem, welches mit der Freiraum-Zeigevorrichtung verknüpft ist, in ein Inertial-Bezugssystem.
-
Gemäß noch einer weiteren beispielhaften Ausführungsform der vorliegenden Erfindung umfasst eine Freiraum-Zeigevorrichtung wenigstens einen Sensor, um die Bewegung der Freiraum-Zeigevorrichtung zu detektieren, und eine Verarbeitungseinheit zum Kompensieren der detektierten Bewegung durch Transformieren der detektierten Bewegung von einem Körper-Bezugssystem, welches mit der Freiraum-Zeigevorrichtung verknüpft ist, in ein Inertial-Bezugssystem.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die beigefügten Zeichnungen veranschaulichen Ausführungsbeispiele der vorliegenden Erfindung, wobei:
-
1 eine herkömmliche Fernbedienungseinheit für ein Entertainment-System darstellt;
-
2 ein Mediensystembeispiel darstellt, in dem Ausführungsbeispiele der vorliegenden Erfindung realisiert werden können;
-
3 eine Freiraum-Zeigevorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt;
-
4 eine Schnittbildansicht der Freiraum-Zeigevorrichtung in 3 veranschaulicht, die zwei Rotationssensoren und einen Beschleunigungswertaufnehmer enthält;
-
5 ein Blockdiagramm ist, das die Verarbeitung von Daten veranschaulicht, die in Zusammenhang stehen mit den Freiraum-Zeigevorrichtungen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
-
6(a)–6(d) die Auswirkungen der Neigung veranschaulichen;
-
7 eine Hardware-Architektur einer Freiraum-Zeigevorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt;
-
8 ein Zustandsdiagramm ist, das einen Stationärnachweismechanismus gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt
-
9 ein Blockdiagramm ist, das eine Transformation der erfassten Bewegungsdaten aus einem ersten Bezugssystem in ein zweites Bezugssystem gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
-
10 die Transformation der erfassten Bewegungsdaten aus einem ersten Bezugssystem in ein zweites Bezugssystem gemäß einem Ausführungsbeispiel der vorliegenden Erfindung grafisch veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Die nachfolgende detaillierte Beschreibung der Erfindung bezieht sich auf die beigefügten Zeichnungen. Gleiche Bezugszahlen in den verschiedenen Zeichnungen kennzeichnen dieselben oder ähnliche Elemente. Außerdem schränkt die nachfolgende detaillierte Beschreibung die Erfindung nicht ein. Stattdessen wird der Geltungsbereich der Erfindung durch die beigefügten Ansprüche festgelegt.
-
Um für diese Erörterung einen gewissen Rahmen bereitzustellen, wird zuerst mit Bezugnahme auf 2 ein Beispiel für ein Medienbündelungssystem 200 beschrieben, in dem die vorliegende Erfindung realisiert werden kann. Fachleute werden jedoch anerkennen, dass die vorliegende Erfindung nicht auf die Realisierung in diesem Mediensystemtyp beschränkt ist und dass darin mehr oder weniger Komponenten einbezogen werden können. Ein Eingabe/Ausgabe(E/A)-Bus 210 verbindet darin die Systemkomponenten im Mediensystem 200 miteinander. Der E/A-Bus 210 verkörpert eine beliebige Zahl von unterschiedlichen Mechanismen und Techniken für das Weiterleiten von Signalen zwischen den Mediensystemkomponenten. Der E/A-Bus 210 kann zum Beispiel eine geeignete Anzahl von unabhängigen Audio-”Patch”-Kabeln, die Audiosignale weiterleiten, Coaxialkabeln, die Videosignale weiterleiten, seriellen Zweidrahtleitungen oder Infrarot- oder Funkfrequenz-Sendeempfängern, die Steuersignale weiterleiten, Lichtleiter oder beliebige andere Weiterleitungsmechanismen, die andere Typen von Signalen weiterleiten, enthalten.
-
In diesem Ausführungsbeispiel enthält das Mediensystem 200 einen TV/Monitor 212, einen Videokassettenrekorder (VCR) 214, eine Aufzeichnungs-/Wiedergabe-Vorrichtung für Digital-Video-Disks (DVD) 216, einen Audio/Video-Empfänger 218 und Compact-Disk-Player 220, die an den E/A-Bus 210 gekoppelt sind. Der VCR 214, DVD 216 und der Compact-Disk-Player 220 können Einzel-Disk- oder Einzel-Kassetten-Geräte oder alternativ Mehrfach-Disk- oder Mehrfach-Kassetten-Geräte sein. Sie können unabhängige Einheiten oder ineinander integriert sein. Darüber hinaus enthält das Mediensystem 200 ein Mikrofon/Lautsprecher-System 222, eine Videokamera 224 und eine drahtlose E/A-Steuervorrichtung 226. Gemäß den Ausführungsbeispielen der vorliegenden Erfindung ist die drahtlose E/A-Steuervorrichtung 226 eine Freiraum-Zeigevorrichtung gemäß einem der nachfolgend beschriebenen Ausführungsbeispiele. Die drahtlose E/A-Steuervorrichtung 226 kann mit dem Entertainment-System 200 unter Verwendung von z. B. einem IR- oder HF-Sender oder -Sendeempfänger kommunizieren. Alternativ kann die E/A-Steuervorrichtung drahtgebunden an das Entertainment-System 200 angeschlossen sein.
-
Das Entertainment-System 200 enthält auch ein Systemsteuergerät 228. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung bewirkt das Systemsteuergerät 228 ein Speichern und Anzeigen von Entertainment-Systemdaten, die von den mehreren Entertainment-Systemdatenquellen verfügbar sind, und ein Steuern einer breiten Auswahl von Merkmalen, die mit jeder der Systemkomponenten verbunden sind. Wie in 2 dargestellt ist, ist das Systemsteuergerät 228 nach Bedarf entweder direkt oder indirekt über den E/A-Bus 210 an jede der Systemkomponenten gekoppelt. In einem Ausführungsbeispiel ist das Systemsteuergerät 228 zusätzlich zum oder anstelle des E/A-Busses 210 mit einem Funkkommunikationssender (oder Sendeempfänger) eingerichtet, der in der Lage ist, über IR-Signale oder HF-Signale mit den Systemkomponenten zu kommunizieren. Unabhängig vom Steuermedium ist das Systemsteuergerät 228 eingerichtet, die Medienkomponenten des Mediensystems 200 über eine grafische Nutzerschnittstelle zu steuern, die nachfolgend beschrieben ist.
-
Wie in 2 weiter dargestellt ist, kann das Mediensystem 200 eingerichtet sein, Medienelemente von den verschiedenen Medienquellen und Dienstanbietern zu empfangen. In diesem Ausführungsbeispiel empfängt das Mediensystem 200 eine Medieneingabe von irgendeiner oder allen folgenden Quellen und sendet wahlweise Informationen an diese: Kabelrundfunk 230, Satellitenrundfunk 232 (z. B. über eine Satellitenschüssel), Funkfrequenzkommunikation sehr hoher Frequenz (VHF) oder ultrahoher Frequenz (UHF) der Fernsehsendenetzwerke 234 (z. B. über eine atmosphärische Antenne), Telefonnetzwerk 236 und Kabelmodem 238 (oder eine weitere Quelle von Internetinhalten). Fachleute werden anerkennen, dass die Medienkomponenten und Medienquellen, die mit Bezugnahme auf 2 dargestellt und beschrieben sind, allein als Beispiel dienen und dass das Mediensystem 200 mehr oder weniger von beiden enthalten kann. Zum Beispiel schließen andere Typen von Eingaben in das System das AM/FM-Radio und das Satellitenradio ein.
-
Weitere Einzelheiten bezüglich dieses Entertainment-Systembeispiels und der damit verbundenen Grundstrukturen können in der oben zitierten, durch Inbezugnahme aufgenommenen US-Patentanmeldung ”A Control Framework with a Zoomable Graphical User Interface for Organizing, Selecting and Launching Media Items” gefunden werden. Alternativ können die Fernbedienungsvorrichtungen gemäß der vorliegenden Erfindung in Verbindung mit anderen Systemen, zum Beispiel Computersystemen, verwendet werden, die z. B. ein Display, einen Prozessor oder ein Speichersystem enthalten, oder mit verschiedenen anderen Systemen und Anwendungen.
-
Wie im Hintergrund-Abschnitt erwähnt wurde, sind die Fernbedienungsvorrichtungen, die als Freiraumzeiger arbeiten, für die vorliegende Beschreibung von besonderem Interesse. Derartige Vorrichtungen ermöglichen die Überführung von Bewegung, z. B. Gesten, in Befehle an eine Nutzerschnittstelle. In 3 ist eine als Beispiel dienende Freiraum-Zeigevorrichtung 400 dargestellt. Darin kann die Nutzerbewegung der Freiraum-Zeigevorrichtung zum Beispiel in Form einer Kombination aus x-Achsen-Lagen-(Querneigungs-), y-Achsen-Erhöhungs-(Längsneigungs-) und z-Achsen-Kurs-(Gier-)Bewegung der Freiraum-Zeigevorrichtung 400 festgelegt werden. Darüber hinaus kann in einigen Ausführungsbeispielen auch die lineare Bewegung der Freiraum-Zeigevorrichtung 400 längs der x-, y- und z-Achse gemessen werden, um eine Zeigerbewegung oder andere Nutzerschnittstellenbefehle zu erzeugen. In dem Ausführungsbeispiel von 3 enthält die Freiraum-Zeigevorrichtung 400 zwei Tasten 402 und 404 sowie ein Scrollrad 406, obwohl in anderen Ausführungsbeispielen andere physikalische Ausrüstungen enthalten sein werden. Gemäß den Ausführungsbeispielen der vorliegenden Erfindung ist vorgesehen, dass die Freiraum-Zeigevorrichtungen 400 durch einen Nutzer vor einem Display 408 gehalten werden und dass die Bewegung der Freiraum-Zeigevorrichtung 400 durch die Freiraum-Zeigevorrichtung in die Ausgabe übersetzt wird, die verwendet werden kann, um mit den Informationen zusammenzuwirken, die auf einem Display 408 angezeigt werden, um z. B. den Zeiger 410 auf dem Display 408 zu bewegen. Zum Beispiel kann die Drehung der Freiraum-Zeigevorrichtung 400 um die y-Achse durch die Freiraum-Zeigevorrichtung 400 erfasst und in eine Ausgabegröße übersetzt werden, die durch das System verwendet werden kann, um den Zeiger 410 entlang der y2-Achse des Displays 408 zu bewegen. Auf die gleiche Weise kann die Drehung der Freiraum-Zeigevorrichtung 408 um die z-Achse durch die Freiraum-Zeigevorrichtung 400 erfasst und in eine Ausgabegröße übersetzt werden, die durch das System verwendet werden kann, um den Zeiger 410 entlang der x2-Achse des Displays 408 zu bewegen. Es wird zu verstehen sein, dass die Ausgabegröße der Freiraum-Zeigevorrichtung 400 verwendet werden kann, um mit dem Display 408 auf mehreren Wegen außer der (oder zusätzlich zu der) Zeigerbewegung zusammenzuwirken, zum Beispiel kann sie das Verblassen des Zeigers, die Lautstärke oder den Medientransport (Abspielen, Pause, schneller Vorlauf und Rückspulen) steuern. Eingabebefehle können Abläufe über die Zeigerbewegung hinaus einschließen, zum Beispiel eine Ansichtsvergrößerung oder Ansichtsverkleinerung in einem speziellen Bereich des Displays. Ein Zeiger kann sichtbar sein oder nicht. Auf die gleiche Weise kann die Drehung der Freiraum-Zeigevorrichtung 400, die um die x-Achse der Freiraum-Zeigevorrichtung 400 erfasst wird, zusätzlich oder als eine Alternative zur Drehung um die y-Achse und/oder die z-Achse verwendet werden, um einer Nutzerschnittstelle eine Eingabe zu liefern.
-
Wie in 4 dargestellt ist, können gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zwei Rotationssensoren 502 und 504 und ein Beschleunigungswertaufnehmer 506 als Sensoren in der Freiraum-Zeigevorrichtung 400 verwendet werden. Die Rotationssensoren 502 und 504 können zum Beispiel ausgeführt werden unter Verwendung von ADXRS150 oder ADXRS401, die von Analog Devices hergestellt werden. Fachleute werden anerkennen, dass andere Typen von Rotationssensoren als die Rotationssensoren 502 und 504 verwendet werden können und dass ADXRS150 und ADXRS401 allein ein veranschaulichendes Beispiel dienen. Im Unterschied zu den herkömmlichen Kreiselgeräten verwenden die Rotationssensoren ADXRS150 die MEMS-Technologie, um eine Mitschwingmasse bereitzustellen, die an einem Rahmen so befestigt ist, dass sie nur längs einer Richtung mitschwingen kann. Die Mitschwingmasse wird verlagert, wenn der Körper, an dem der Sensor befestigt ist, um die Abtastachse des Sensors herum gedreht wird. Diese Verlagerung kann unter Verwendung des Coriolisbeschleunigungseffekts gemessen werden, um eine Winkelgeschwindigkeit zu bestimmen, die mit der Rotation um die Abtastachse verbunden ist. Wenn die Rotationssensoren 502 und 504 eine einzige Abtastachse aufweisen (wie zum Beispiel die ADXRS150), dann können sie in der Freiraum-Zeigevorrichtung 400 derart befestigt werden, dass ihre Abtastachsen auf die zu messenden Rotationen ausgerichtet sind. Für dieses Ausführungsbeispiel der vorliegenden Erfindung bedeutet das, dass der Rotationssensor 504 derart befestigt ist, dass seine Abtastachse parallel zur y-Achse ist, und dass der Rotationssensor 502 derart befestigt ist, dass seine Abtastachse parallel zur z-Achse ist, wie in 4 dargestellt ist. Es ist jedoch anzumerken, dass die Ausrichtung der Abtastachsen der Rotationssensoren 502 und 504 parallel zu den gewünschten Messachsen nicht gefordert wird, da die Ausführungsbeispiele der vorliegenden Erfindung auch Techniken für eine Kompensation eines Offsets zwischen den Achsen bereitstellen.
-
Eine Herausforderung, mit welcher bei einer Realisierung der Beispiele für Freiraum-Zeigevorrichtungen 400 gemäß der vorliegenden Erfindung zu rechnen ist, besteht im Einsatz von Komponenten, z. B. von Rotationssensoren 502 und 504, die nicht zu teuer sind, wobei sie aber gleichzeitig ein hohes Maß der Übereinstimmung zwischen der Bewegung der Freiraum-Zeigevorrichtung 400, der Erwartung eines Nutzers hinsichtlich dessen, wie die Nutzerschnittstelle auf diese spezielle Bewegung der Freiraum-Zeigevorrichtung reagieren wird, und der tatsächlichen Leistung der Nutzerschnittstelle in Reaktion auf diese Bewegung liefern. Wenn sich die Freiraum-Zeigevorrichtung 400 zum Beispiel nicht bewegt, dann wird der Nutzer wahrscheinlich erwarten, dass der Zeiger nicht über den Bildschirm hinweg wandern sollte. Ebenso, wenn der Nutzer die Freiraum-Zeigevorrichtung 400 nur um die y-Achse allein dreht, dann würde er oder sie wahrscheinlich nicht eine sich daraus ergebende Zeigerbewegung auf dem Display 408 erwarten, die irgendeine bedeutende x2-Achsenkomponente enthält. Um diese und andere Gesichtspunkte der Ausführungsbeispiele der vorliegenden Erfindung durchzusetzen, werden durch die handgeführte Vorrichtung 400 verschiedene Messungen und Berechnungen ausgeführt, die zum Abstimmen der Ausgabegrößen aus einem oder mehreren der Sensoren 502, 504 und 506 und/oder als Teil der Eingabegröße durch einen Prozessor verwendet werden, um eine geeignete Ausgabegröße für die Nutzerschnittstelle basierend auf den Ausgabegrößen der Sensoren 502, 504 und 506 zu bestimmen. Diese Messungen und Berechnungen werden verwendet, um Faktoren zu kompensieren, die grob in zwei Kategorien fallen: (1) Faktoren, die auf die Freiraum-Zeigevorrichtung 400 zurückgehen, z. B. Fehler, die mit den speziellen Sensoren 502, 504 und 506, die in der Vorrichtung 400 verwendet werden, oder die mit der Art und Weise verbunden sind, in der die Sensoren in der Vorrichtung 400 befestigt sind, und (2) Faktoren, die nicht auf die Freiraum-Zeigevorrichtung 400 zurückgehen, sondern stattdessen mit der Art und Weise verbunden sind, in welcher der Nutzer die Freiraum-Zeigevorrichtung 400 verwendet, z. B. Linearbeschleunigung, Schrägstellung und Zitterbewegung. Nachfolgend werden Beispiele für Techniken beschrieben, um mit jedem dieser Einflüsse umzugehen.
-
In 5 ist ein Prozessmodell 600 dargestellt, das den allgemeinen Betrieb der Freiraum-Zeigevorrichtungen gemäß den Ausführungsbeispielen der vorliegenden Erfindung beschreibt. Die Rotationssensoren 502 und 504 sowie der Beschleunigungswertaufnehmer 506 erzeugen Analogsignale, die periodisch abgetastet werden, z. B. mit 200 Abtastungen/Sekunde. Für die Zwecke dieser Darlegung soll unter Verwendung der Bezeichnung (x, y, z, αy, αz) auf einen Satz dieser Eingabegrößen Bezug genommen werden, wobei x, y, z die abgetasteten Ausgabewerte des als Beispiel dienenden dreiachsigen Beschleunigungswertaufnehmers 506 sind, die mit der Beschleunigung der Freiraum-Zeigevorrichtung jeweils in der x-Achsen-, y-Achsen- und z-Achsen-Richtung verbunden sind, wobei αy der abgetastete Ausgabewert aus dem Rotationssensor 502 ist, der mit der Drehung der Freiraum-Zeigevorrichtung um die y-Achse verbunden ist, und wobei αz der abgetastete Ausgabewert aus dem Rotationssensor 504 ist, der mit der Drehung der Freiraum-Zeigevorrichtung 400 um die z-Achse verbunden ist.
-
Die Ausgabe aus dem Beschleunigungswertaufnehmer 506 wird bereitgestellt, und wenn der Beschleunigungswertaufnehmer 506 eine analoge Ausgabe bereitstellt, dann wird die Ausgabe abgetastet und durch einen (nicht dargestellten) A/D-Wandler digitalisiert, um die abgetastete Beschleunigungswertaufnehmer-Ausgabe 602 zu erzeugen. Die abgetasteten Ausgabewerte werden von nicht bearbeiteten Einheiten in Einheiten der Beschleunigung, z. B. der Schwerebeschleunigungen (g), umgewandelt, wie durch die Umwandlungsfunktion 604 angezeigt ist. Der Beschleunigungskalibrierungsblock 606 stellt die Werte bereit, die für die Umwandlungsfunktion 604 verwendet werden. Diese Kalibrierung der Beschleunigungswertaufnehmer-Ausgabe 602 kann zum Beispiel die Kompensation für einen oder mehrere Fehler aus dem Skalen-, Offset- und Achsenfehlausrichtungsfehler enthalten, die mit dem Beschleunigungswertaufnehmer 506 verbunden sind. Umwandlungsbeispiele für die Beschleunigungswertaufnehmer-Daten können unter Verwendung der folgenden Gleichung: A = S * ((M – P) .* G(T)) (1) ausgeführt werden, wobei M ein 3×1-Spaltenvektor ist, der aus den abgetasteten Ausgabewerten (x, y, z) zusammengesetzt ist, P ein 3×1-Spaltenvektor von Sensoroffsetwerten ist und S eine 3×3-Matrix ist, die sowohl die Skalen- als auch die Achsenfehlausrichtungs- und Sensordrehungs-Kompensation enthält. G(T) ist ein Verstärkungsfaktor, der eine Funktion der Temperatur ist. Das Operationszeichen ”*” bezeichnet die Matrixmultiplikation, und das Operationszeichen ”.*” bezeichnet die Elementmultiplikation. Der als Beispiel dienende Beschleunigungswertaufnehmer 506 weist beispielhaft einen vollen Bereich von ±2 g auf. Der Sensoroffset P bezieht sich auf die Sensorausgabe M für eine Beschleunigungswertaufnehmer-Messung von 0 g. Die Skale bezieht sich auf den Umwandlungsfaktor zwischen dem abgetasteten Einheitswert und g. Die tatsächliche Skale irgendeines gegebenen Beschleunigungswertaufnehmers kann, z. B. infolge von Fertigungsabweichungen, von den nominellen Skalenwerten abweichen. Dementsprechend wird der Skalenfaktor in den obigen Gleichungen proportional zu dieser Abweichung sein.
-
Die Skalen- und Offsetabweichungen des Beschleunigungswertaufnehmers 506 können zum Beispiel durch Anlegen einer Kraft 1 g längs einer Achse und Messung des Ergebnisses R1 gemessen werden. Dann wird eine Kraft von –1 g angelegt, was eine Messung R2 ergibt. Die individuelle Achsenskale s und der individuelle Achsen-Offset p können wie folgt berechnet werden: s = (R1 – R2)/2 (2) p = (R1 + R2)/2 (3) In diesem einfachen Fall ist P der Spaltenvektor von dem p für jede Achse, und S ist eine Diagonalmatrix von dem l/s für jede Achse.
-
Über Skala und Offset hinaus können die vom Beschleunigungswertaufnehmer 506 erzeugten Anzeigewerte auch Achsenüberkreuzungseffekten unterworfen sein. Achsenüberkreuzungseffekte schließen z. B. nicht ausgerichtete Achsen ein, wobei eine oder mehrere der Abtastachsen des Beschleunigungswertaufnehmers 506, so wie er in der Freiraum-Zeigevorrichtung 400 befestigt ist, nicht auf die entsprechende Achse in dem Inertialbezugssystem ausgerichtet sind, oder z. B. mechanische Fehler, die mit der maschinellen Fertigung des Beschleunigungswertaufnehmers 506 selbst verbunden sind, wobei sogar dann, wenn die Achsen richtig ausgerichtet sind, eine reine y-Achsen-Beschleunigungskraft einen Sensoranzeigewert längs der z-Achse des Beschleunigungswertaufnehmers 506 ergeben kann. Diese beiden Effekte können auch gemessen und zu der Kalibrierung hinzugefügt werden, die von der Funktion 606 ausgeführt wird.
-
Gemäß den Ausführungsbeispielen der vorliegenden Erfindung dient der Beschleunigungswertaufnehmer 506 verschiedenen Zwecken. Werden zum Beispiel die Rotationssensoren 502 und 504 unter Verwendung der oben beschriebenen, als Beispiel dienenden Corioliseffekt-Rotationssensoren ausgeführt, dann wird die Ausgabe der Rotationssensoren 502 und 504 aufgrund der Linearbeschleunigung, denen jeder Rotationssensor ausgesetzt ist, schwanken. Somit ist das eine Beispiel für die Verwendung des Beschleunigungswertaufnehmers 506 die Kompensation der Fluktuationen in den durch die Rotationssensoren 502 und 504 erzeugten Anzeigewerten, die durch Veränderungen in der Linearbeschleunigung verursacht werden. Das kann durch Multiplizieren der umgewandelten Anzeigewerte des Beschleunigungswertaufnehmers mit einer Verstärkungsmatrix 610 und Subtrahieren (oder Addieren) der Ergebnisse von (oder zu) den entsprechenden abgetasteten Rotationssensordaten 612 ausgeführt werden. Zum Beispiel können die abgetasteten Rotationsdaten αy aus dem Rotationssensor 502 am Block 614 bezüglich der Linearbeschleunigung kompensiert werden gemäß: αy' = αy – C * A (4) wobei C der 1×3-Zeilenvektor der in Einheiten/g gegebenen Empfindlichkeit des Rotationssensors auf die Linearbeschleunigung längs einer jeden Achse und A die kalibrierte Linearbeschleunigung ist. Auf die gleiche Weise kann am Block 614 die Linearbeschleunigungskompensation für die abgetasteten Rotationsdaten αz aus dem Rotationssensor 504 erfolgen. Die Verstärkungsmatrizen C können sich infolge von Fertigungsunterschieden zwischen den Rotationssensoren unterscheiden. C kann unter Verwendung des Durchschnittswertes für viele Rotationssensoren berechnet werden, oder es kann für jeden Rotationssensor gerätespezifisch berechnet werden.
-
Die abgetasteten Rotationsdaten 612 werden dann bei der Funktion 616 ähnlich wie die Beschleunigungswertaufnehmer-Daten von einem abgetasteten Einheitswert in einen Wert umgewandelt, der mit einer Winkeldrehrate, z. B. Radian/s, verbunden ist. Dieser Umwandlungsschritt kann auch die Kalibrierung enthalten, die durch die Funktion 618 bereitgestellt wird, um die abgetasteten Rotationsdaten zu kompensieren, so z. B. bezüglich Skale und Offset. Die Umwandlung/Kalibrierung sowohl für αy als auch αz kann ausgeführt werden, indem zum Beispiel die folgende Gleichung verwendet wird: α rad/s = (α' – offset(T)) * skale + dOffset (5) wobei α' den Wert bezeichnet, der umgewandelt/kalibriert wird, offset(T) einen Offsetwert bezeichnet, der mit der Temperatur verknüpft ist, skale auf den Umwandlungsfaktor zwischen dem abgetasteten Einheitswert und rad/s bezogen ist und dOffset sich auf einen dynamischen Offsetwert bezieht. Die Gleichung (5) kann als eine Matrixgleichung ausgeführt werden, in diesem Falle sind alle Variablen außer für skale Vektoren. In Matrixgleichungsform korrigiert skale im Hinblick auf die Achsenfehlausrichtungs- und Rotationsoffset-Faktoren. Jede dieser Variablen wird nachfolgend ausführlicher behandelt.
-
Die Offsetwerte offset(T) und dOffset können auf mehreren unterschiedlichen Wegen bestimmt werden. Wird zum Beispiel die Freiraum-Zeigevorrichtung 400 nicht in der y-Richtung gedreht, dann sollte der Sensor 502 seinen Offsetwert ausgeben. Der Offset kann jedoch stark durch die Temperatur beeinflusst werden, sodass dieser Offsetwert wahrscheinlich schwanken wird. Die Offset-Temperaturkalibrierung kann im Werk ausgeführt werden, in diesem Falle können der (die) Wert(e) für offset(T) in der handgeführten Vorrichtung 400 vorprogrammiert werden, alternativ kann die Offset-Temperaturkalibrierung auch dynamisch im Verlaufe der Lebensdauer der Vorrichtung erlernt werden. Um die dynamische Offsetkompensation auszuführen, wird eine Eingabe von einem Temperatursensor 619 in der Drehungskalibrierungsfunktion 618 verwendet, um den aktuellen Wert offset(T) zu berechnen. Der Parameter offset(T) beseitigt den größten Teil der Offsetabweichung aus den Sensoranzeigewerten. Das Ausschließen nahezu jeglicher Sensorwanderung bei einer Null-Bewegung kann jedoch für die Herstellung einer Hochleistungs-Zeigevorrichtung von Nutzen sein. Daher kann der zusätzliche Faktor dOffset dynamisch berechnet werden, während die Freiraum-Zeigevorrichtung 400 im Einsatz ist. Die Stationär-Nachweisfunktion 608 bestimmt, wann das Handgerät höchstwahrscheinlich ortsfest ist und wann der Offset neu berechnet werden sollte. Beispiele für Techniken zum Umsetzen der Stationaritätsnachweisfunktion 608 sowie andere Anwendungen dafür werden nachfolgend beschrieben.
-
Ein Realisierungsbeispiel für die dOffset-Berechnung verwendet die kalibrierten Sensorausgaben, die tiefpassgefiltert sind. Die Stationärausgabe-Nachweisfunktion 608 stellt der Drehungskalibrierungsfunktion 618 einen Hinweis bereit, um die Berechnung zum Beispiel des Durchschnittswertes der Tiefpassfilterausgabe auszulösen. Die Stationärausgabe-Nachweisfunktion 608 kann auch regeln, wann der neu berechnete Durchschnittswert in den vorliegenden Wert für dOffset einzubeziehen ist. Fachleute werden erkennen, dass für die Berechnung des neuen Wertes für dOffset aus dem vorliegenden Wert für dOffset und dem neuen Durchschnittswert eine Vielzahl unterschiedlicher Techniken verwendet werden kann, die das einfache Mitteln, das Tiefpassfiltern und das Kalman-Filtern umfassen, aber nicht darauf beschränkt sind. Außerdem werden Fachleute erkennen, dass zahlreiche Abwandlungen für die Offsetkompensation der Rotationssensoren 502 und 504 eingesetzt werden können. Zum Beispiel kann die Funktion offset(T) einen konstanten Wert aufweisen (z. B. mit der Temperatur unveränderlich sein), es können mehr als zwei Offsetkompensationswerte verwendet werden und/oder nur ein einziger Offsetwert kann für die Offsetkompensation berechnet/verwendet werden.
-
Nach der Umwandlung/Kalibrierung am Block 616 können die Eingaben aus den Rotationssensoren 502 und 504 bei der Funktion 620 weiter verarbeitet werden, um diese Eingaben in ein Inertialbezugssystem zu drehen, d. h. um eine Kompensation hinsichtlich der Neigung auszuführen, die mit der Art und Weise verbunden ist, wie der Nutzer die Freiraum-Zeigevorrichtung 400 hält. Die Neigungskorrektur ist ein weiterer wesentlicher Gesichtspunkt einiger Ausführungsbeispiele der vorliegenden Erfindung, da sie dafür vorgesehen ist, Unterschiede in den Nutzungsmustern der Freiraum-Zeigevorrichtungen gemäß vorliegender Erfindung zu kompensieren. Genauer gesagt, die Neigungskorrektur gemäß den Ausführungsbeispielen der vorliegenden Erfindung ist darauf ausgerichtet, eine Kompensation für den Umstand zu schaffen, dass die Nutzer die Zeigevorrichtungen in ihren Händen bei unterschiedlichen x-Achsen-Drehlagen halten werden, dass aber die Abtastachsen der Rotationssensoren 502 und 504 in den Freiraum-Zeigevorrichtungen 400 fixiert sind. Es ist erwünscht, dass die Zeigerverschiebung über das Display 408 hinweg im Wesentlich unempfindlich gegenüber der Art und Weise ist, wie der Nutzer die Freiraum-Zeigevorrichtung 400 anfasst, z. B. sollte unabhängig von der Ausrichtung, in der die Freiraum-Zeigevorrichtung 400 vom Nutzer gehalten wird, das Drehen der Freiraum-Zeigevorrichtung 400 hin und her in einer Weise, die normalerweise der horizontalen Dimension (x2-Achse) des Displays 508 entspricht, eine Zeigerverschiebung entlang der x2-Achse zur Folge haben, während das Drehen der Freiraum-Zeigevorrichtung nach oben und unten in einer Weise, die normalerweise der vertikalen Dimension (y2-Achse) des Displays 508 entspricht, eine Zeigerverschiebung entlang der y2-Achse zur Folge haben sollte.
-
Um die Notwendigkeit einer Neigungskompensation gemäß den Ausführungsbeispielen der vorliegenden Erfindung besser zu verstehen, wird das Beispiel betrachtet, das in 6(a) dargestellt ist. Darin hält der Nutzer eine Freiraum-Zeigevorrichtung 400 in einem als Beispiel dienenden Inertialbezugssystem, das dadurch festgelegt werden kann, dass es einen x-Achsen-Rotationswert von 0 Grad aufweist, z. B. kann das Inertialbezugssystem dasjenige sein, in dem die Unterseite der Freiraumvorrichtung weitgehend parallel zu einem Fußboden eines Raumes liegt, in dem sich z. B. ein Fernsehgerät befindet. Lediglich als Beispiel dienend kann das Inertialbezugssystem mit der Ausrichtung übereinstimmen, die in 6(a) dargestellt ist, oder es kann als irgendeine andere Ausrichtung festgelegt werden. Die Drehung der Freiraum-Zeigevorrichtung 400 entweder in x-Achsen-, oder z-Achsen-Richtung wird durch die jeweiligen Rotationssensoren 502 und 504 erfasst. Zum Beispiel wird die Drehung der Freiraum-Zeigevorrichtung 400 um die z-Achse um einen Wert Δz, wie in 6(b) dargestellt ist, eine entsprechende Zeigerverschiebung Δx2 in der x2-Achsenrichtung über das Display 408 hinweg zur Folge haben (d. h., über den Abstand zwischen der punktierten Ausführung des Zeigers 410 und der nicht punktierten Ausführung).
-
Wenn der Nutzer demgegenüber die Freiraum-Zeigevorrichtung 400 in einer anderen Ausrichtung hält, so z. B. mit einem bestimmten Wert der x-Achsen-Drehung bezüglich des Inertialbezugssystems, dann würden die Informationen, die durch die Sensoren 502 und 504 geliefert werden, keine richtige Wiedergabe der vom Nutzer beabsichtigten Schnittstellenaktionen liefern (fehlende Neigungskompensation). Mit Bezugnahme auf 6(c) wird zum Beispiel eine Situation betrachtet, wo der Nutzer die Freiraum-Zeigevorrichtung 400 mit einer x-Achsen-Drehung von 45 Grad bezüglich des als Beispiel verwendeten Inertialbezugssystems hält, wie in 6(a) dargestellt ist. Unter der Annahme, dass auf die Freiraum-Zeigevorrichtung 400 durch einen Nutzer die gleiche z-Achsen-Drehung Δz wie in dem Beispiel von 6(b) übertragen wurde, wird der Zeiger 410 stattdessen sowohl in der x2-Richtung als auch in der y2-Richtung verschoben, wie in 6(d) gezeigt ist. Das ist auf den Umstand zurückzuführen, dass die Abtastachse des Rotationssensors 502 nun zwischen der y-Achse und der z-Achse ausgerichtet ist (wegen der Ausrichtung der Vorrichtung in der Hand des Nutzers). Auf die gleiche Weise ist die Abtastachse des Rotationssensors 504 auch zwischen der y-Achse und der z-Achse ausgerichtet (wenn auch in einem anderen Quadranten). Um eine Schnittstelle bereitzustellen, die für den Nutzer im Hinblick darauf durchschaubar ist, wie die Freiraum-Zeigevorrichtung 400 gehalten wird, übersetzt die Neigungskompensation gemäß den Ausführungsbeispielen der vorliegenden Erfindung die Anzeigewerte, die aus den Rotationssensoren 502 und 504 ausgegeben werden, zurück in das Inertialbezugssystem als Teil der Verarbeitung der Anzeigewerte aus diesen Sensoren zu Informationen, die auf die Rotationsbewegung der Freiraum-Zeigevorrichtung 400 schließen lassen.
-
Mit erneuter Bezugnahme auf
5 kann dies gemäß den Ausführungsbeispielen der vorliegenden Erfindung erreicht werden, indem die Neigung der Freiraum-Zeigevorrichtung
400 unter Verwendung der Eingaben y und z bestimmt wird, die aus dem Beschleunigungswertaufnehmer
506 bei der Funktion
622 erhalten werden. Genauer gesagt, nachdem die Beschleunigungsdaten umgewandelt und kalibriert wurden, wie oben beschrieben ist, können sie am LPF
624 tiefpassgefiltert werden, um einen durchschnittlichen Beschleunigungs-(Gravitations-)Wert für die Neigungsbestimmungsfunktion
622 bereitzustellen. Dann kann die Neigung θ in der Funktion
622 berechnet werden als:
Der Wert θ kann numerisch als atan2(y, z) berechnet werden, um eine Division durch null zu vermeiden und um das richtige Vorzeichen zu ergeben. Dann kann die Funktion
620 die Drehung R der umgewandelten/kalibrierten Eingaben αy und αz ausführen unter Verwendung der Gleichung:
um die umgewandelten/kalibrierten Eingaben αy und αz zur Kompensation für die Neigung θ zu drehen. Die Neigungskompensation, wie sie in diesem Ausführungsbeispiel beschrieben ist, ist eine Untermenge eines allgemeineren Verfahrens zum Umwandeln der Sensoranzeigewerte aus dem Körperbezugssystem in ein Bezugssystem eines Nutzers gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung, die nachfolgend beschrieben wird.
-
Sobald die kalibrierten Sensoranzeigewerte bezüglich der Linearbeschleunigung kompensiert worden sind, zu Anzeigewerten weiterverarbeitet worden sind, welche die Winkeldrehung der Freiraum-Zeigevorrichtung 400 anzeigen, und bezüglich der Neigung kompensiert worden sind, kann die Nachverarbeitung an den Blöcken 626 und 628 erfolgen. Die als Beispiel dienende Nachverarbeitung kann die Kompensation bezüglich verschiedener Faktoren, wie z. B. der menschlichen Zitterbewegung, einschließen. Obwohl die Zitterbewegung unter Benutzung verschiedener Verfahren aufgehoben werden kann, ist der Einsatz der Hysterese ein Weg zum Aufheben der Zitterbewegung. Die Winkelgeschwindigkeit, die durch die Rotationsfunktion 620 erzeugt wird, wird integriert, um eine Winkelstellung zu erzeugen. Dann wird die Hysterese eines kalibrierten Betrages auf die Winkelstellung angewendet. Vom Ausgabewert des Hystereseblocks wird die Ableitung genommen, um wieder eine Winkelgeschwindigkeit zu erhalten. Die sich ergebende Ausgabegröße wird dann an der Funktion 628 skaliert (z. B. basierend auf der Abtastperiode) und verwendet, um ein Ergebnis in der Schnittstelle zu erzeugen, z. B. die Bewegung eines Zeigers 410 auf dem Display 408.
-
Nachdem eine Prozessbeschreibung der als Beispiel dienenden Freiraum-Zeigevorrichtungen gemäß der vorliegenden Erfindung geliefert worden ist, veranschaulicht 7 ein Hardware-Architekturbeispiel. Darin kommuniziert ein Prozessor 800 mit anderen Elementen der Freiraum-Zeigevorrichtung, die ein Scrollrad 802, JTAG 804, LEDs 806, Schaltmatrix 808, IR-Fotodetektor 810, Rotationssensoren 812, Beschleunigungswertaufnehmer 814 und Sendeempfänger 816 umfassen. Das Scrollrad 802 ist eine optionale Eingabekomponente, die den Nutzer in die Lage versetzt, der Schnittstelle durch Drehen des Scrollrades 802 im oder gegen den Uhrzeigersinn eine Eingabe bereitzustellen. Die JTAG 804 stellt die Schnittstelle zum Programmieren und Debuggen zum Prozessor bereit. Die LEDs 806 liefern einem Nutzer die visuelle Rückmeldung, so z. B. beim Drücken einer Taste. Die Schaltmatrix 808 empfängt Eingaben, z. B. Hinweise, dass eine Taste auf der Freiraum-Zeigevorrichtung 400 gedrückt oder freigegeben wurde, die dann an den Prozessor 800 weitergeleitet werden. Der optionale IR-Fotodetektor 810 kann vorgesehen sein, um die als Beispiel dienende Freiraum-Zeigevorrichtung in die Lage zu versetzen, IR-Codes von anderen Fernsteuerungen zu erlernen. Die Rotationssensoren 812 liefern dem Prozessor 800 Anzeigewerte, so z. B. bezüglich der y-Achsen und z-Achsen-Drehung der Freiraum-Zeigevorrichtung, wie oben beschrieben ist. Der Beschleunigungswertaufnehmer 814 liefert dem Prozessor 800 Anzeigewerte bezüglich der Linearbeschleunigung der Freiraum-Zeigevorrichtung 400, die verwendet werden können, wie oben beschrieben ist, so z. B. zum Ausführen der Neigungskompensation und zum Kompensieren von Fehlern, welche die Linearbeschleunigung in die Rotationsanzeigewerte, die von den Rotationssensoren 812 erzeugt werden, hineinbringt. Der Sendeempfänger 816 wird verwendet, um Informationen an die und von der Freiraum-Zeigevorrichtung 400 zu übermitteln, so z. B. an das Systemsteuergerät 228 oder an einen Prozessor, der mit einem Computer verbunden ist. Der Sendeempfänger 816 kann ein drahtloser Sendeempfänger, der z. B. entsprechend den Bluetooth-Standards für die drahtlose Kommunikation geringer Reichweite arbeitet, oder ein Infrarot-Sendeempfänger sein. Alternativ kann die Freiraum-Zeigevorrichtung 400 mit den Systemen über eine Drahtleitungsverbindung kommunizieren.
-
In dem Ausführungsbeispiel von
4 enthält die Freiraum-Zeigevorrichtung
400 zwei Rotationssensoren
502 und
504 sowie einen Beschleunigungswertaufnehmer
506. Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung kann eine Freiraum-Zeigevorrichtung jedoch alternativ nur einen Rotationssensor, z. B. für die Messung der Winkelgeschwindigkeit in der z-Achsenrichtung, und einen Beschleunigungswertaufnehmer aufweisen. Für ein derartiges Ausführungsbeispiel kann ein ähnlicher Funktionsumfang wie der oben beschriebene bereitgestellt werden, indem der Beschleunigungswertaufnehmer zum Bestimmen der Winkelgeschwindigkeit längs der Achse verwendet wird, die nicht durch den Rotationssensor erfasst wird. Zum Beispiel kann die Rotationsgeschwindigkeit um die y-Achse unter Verwendung der Daten berechnet werden, die durch den Beschleunigungswertaufnehmer erzeugt werden, und durch Berechnung von:
Außerdem sollten auch die parasitären Beschleunigungseffekte, die durch einen Rotationssensor nicht gemessen werden, beseitigt werden. Diese Effekte schließen die tatsächliche Linearbeschleunigung, die Beschleunigung, die infolge der Rotationsgeschwindigkeit und der Rotationsbeschleunigung gemessen wird, und die Beschleunigung infolge der menschlichen Zitterbewegung ein.
-
Die Stationär-Nachweisfunktion 608, die oben kurz erwähnt wurde, kann wirksam werden zu bestimmen, ob die Freiraum-Zeigevorrichtung 400 zum Beispiel entweder stationär oder aktiv (in Bewegung) ist. Die Klassifizierung kann auf mehreren unterschiedlichen Wege erfolgen. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung besteht ein Weg darin, z. B. jede Viertelsekunde die Streuung der abgetasteten Eingabedaten von allen Eingaben (x, y, z, αy, αz) über ein vorher festgelegtes Fenster zu berechnen. Diese Streuung wird dann mit einem Schwellenwert verglichen, um die Freiraum-Zeigevorrichtung entweder als stationär oder aktiv zu klassifizieren.
-
Ein weiteres Stationär-Nachweisverfahren gemäß den Ausführungsbeispielen der vorliegenden Erfindung bezieht das Umformen der Eingaben in die Frequenzebene ein, indem z. B. eine schnelle Fouriertransformation (FFT) an den Eingabedaten ausgeführt wird. Dann können die Daten analysiert werden, wobei z. B. Spitzenwertnachweisverfahren verwendet werden, um zu bestimmen, ob die Freiraum-Zeigevorrichtung 400 entweder stationär oder aktiv ist. Darüber hinaus kann eine dritte Kategorie unterschieden werden, insbesondere der Fall, dass ein Nutzer die Freiraum-Zeigevorrichtung 400 hält, sie aber nicht bewegt (hier auch als der ”stabile” Zustand bezeichnet). Diese dritte Kategorie kann von stationär (nicht gehalten) und aktiv unterschieden werden, indem die kleine Bewegung der Freiraum-Zeigevorrichtung 400 nachgewiesen wird, die durch die Zitterbewegung der Hand des Nutzers erzeugt wird, wenn die Freiraum-Zeigevorrichtung 400 durch einen Nutzer gehalten wird. Der Spitzenwertnachweis kann auch durch die Stationär-Nachweisfunktion 608 verwendet werden, um diese Bestimmung auszuführen. Spitzenwerte im Bereich der Frequenzen der menschlichen Zitterbewegung, z. B. nominell 8–12 Hz, werden normalerweise um ungefähr 20 dB über dem Untergrundrauschen der Vorrichtung liegen (das wahrgenommen wird, wenn die Vorrichtung stationär ist und nicht gehalten wird).
-
In den vorhergehenden Beispielen werden die Streuungen in der Frequenzdarstellung innerhalb eines speziellen Frequenzbereiches erfasst, wobei jedoch der aktuelle Frequenzbereich, der zu überwachen und zur Kennzeichnung des Zustandes der Freiraum-Zeigevorrichtung 400 zu verwenden ist, veränderlich sein kann. Zum Beispiel kann sich der nominelle Frequenzbereich der Zitterbewegung basierend z. B. auf der Ergonomie und dem Gewicht der Freiraum-Zeigevorrichtung 400 z. B. von 8–12 Hz auf 4–7 Hz verschieben.
-
Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung kann der Stationär-Nachweismechanismus 608 eine Zustandsmaschine enthalten. In 8 ist ein Beispiel für eine Zustandsmaschine dargestellt. Darin ist in diesem Beispiel der AKTIV-Zustand der standardmäßige Zustand, bei dem sich die Freiraum-Zeigevorrichtung 400 bewegt und verwendet wird, um z. B. einer Nutzerschnittstelle Eingabegrößen zu liefern. Die Freiraum-Zeigevorrichtung 400 kann beim Hochfahren der Vorrichtung in den AKTIV-Zustand gelangen, wie durch die Reset-Eingabe angezeigt ist. Wenn die Bewegung der Freiraum-Zeigevorrichtung 400 aufhört, dann kann sie in den INAKTIV-Zustand gelangen. Die verschiedenen Zustandsübergänge, die in 8 dargestellt sind, können durch irgendeines aus einer Anzahl von Kriterien ausgelöst werden, welche einschließen: die Datenausgabe aus einem der oder aus beiden Rotationssensoren 502 und 504, die Datenausgabe aus dem Beschleunigungswertaufnehmer 506, Zeitdarstellungsdaten, Frequenzdarstellungsdaten oder irgendeine Kombination davon, die aber nicht darauf beschränkt sind. Auf die Zustandsübergangsbedingungen wird hier allgemein unter Verwendung der Konvention ”BedingungZustandA→ZustandB” Bezug genommen. Zum Beispiel wird die Freiraum-Zeigevorrichtung 400 vom Zustand AKTIV in den Zustand INAKTIV übergehen, wenn die Bedingungaktiv→inaktiv eintritt. Lediglich zum Zwecke der Veranschaulichung wird erwogen, dass die Bedingungaktiv→inaktiv in einer Freiraum-Zeigevorrichtung 400 eintreten kann, wenn die Mittel- und/oder die Standardabweichungswerte sowohl aus dem(den) Rotationssensor(en) als auch aus dem Beschleunigungswertaufnehmer für eine erste vorgegebene Zeitspanne unter die ersten vorgegebenen Schwellenwerte fallen.
-
Die Zustandsübergänge können anhand einer Anzahl unterschiedlicher Bedingungen bestimmt werden, die auf den interpretierten Sensorausgaben beruhen. Beispiele für die Bedingungskriterien schließen die Streuung der interpretierten Signale über ein Zeitfenster ein, zur Bestimmung der Zustandsübergänge können der Schwellenwert zwischen einem Bezugswert und dem interpretierten Signal über ein Zeitfenster, der Schwellenwert zwischen einem Bezugswert und dem gefilterten interpretierten Signal über ein Zeitfenster sowie der Schwellenwert zwischen einem Bezugswert und dem interpretierten Signal von einer Startzeit an verwendet werden. Es können alle oder eine beliebige Kombination von diesen Bedingungskriterien verwendet werden, um die Zustandsübergänge auszulösen. Alternativ können auch andere Kriterien verwendet werden. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung kommt es zu einem Übergang vom Zustand INAKTIV in den Zustand AKTIV, wenn entweder (1) ein Mittelwert der Sensorausgabe(n) über ein Zeitfenster größer als ein vorgegebener Schwellenwert (vorgegebene Schwellenwerte) ist oder (2) eine Streuung von Werten der Sensorausgabe(n) über ein Zeitfenster größer als ein vorgegebener Schwellenwert (vorgegebene Schwellenwerte) ist oder (3) ein momentanes Delta zwischen den Sensorwerten größer als ein vorgegebener Schwellenwert ist.
-
Der Zustand INAKTIV erlaubt dem Stationär-Nachweismechanismus 608 zu unterscheiden zwischen kurzen Pausen, während derer die Freiraum-Zeigevorrichtung 400 noch verwendet wird, z. B. in der Größenordnung von einer Zehntelsekunde, und einem tatsächlichen Übergang entweder in einen stabilen oder einen stationären Zustand. Das schützt davor, dass die Funktionen, die während der nachfolgend beschriebenen Zustände STABIL und STATIONÄR ausgeführt werden, versehentlich dann ausgeführt werden, wenn die Freiraum-Zeigevorrichtung gerade verwendet wird. Die Freiraum-Zeigevorrichtung 400 wird in den AKTIV-Zustand zurückgehen, wenn die Bedingungaktiv→inaktiv eintritt, z. B. wenn die Freiraum-Zeigevorrichtung 400 sich wieder derart zu bewegen beginnt, dass die gemessenen Ausgabegrößen aus dem (den) Rotationssensor(en) und dem Beschleunigungswertaufnehmer den ersten Schwellenwert überschreiten, bevor eine zweite vorgegebene Zeitspanne in dem INAKTIV-Zustand abläuft.
-
Die Freiraum-Zeigevorrichtung 400 wird nach Ablauf der zweiten vorgegebenen Zeitspanne entweder in den Zustand STABIL oder den Zustand STATIONÄR übergehen. Wie zuvor erwähnt wurde, kennzeichnet der STABIL-Zustand die von einer Person gehaltene aber sich im Wesentlichen nicht bewegende Freiraum-Zeigevorrichtung 400, während der STATIONÄR-Zustand eine Freiraum-Zeigevorrichtung kennzeichnet, die nicht durch eine Person gehalten wird. Somit kann eine als Beispiel dienende Zustandsmaschine gemäß der vorliegenden Erfindung für einen Übergang in den STABIL-Zustand nach dem Ablauf der zweiten vorgegebenen Zeitspanne sorgen, wenn die mit dem Handzittern verbundene Minimalbewegung vorliegt, oder anderenfalls für einen Übergang in den STATIONÄR-Zustand.
-
Die Zustände STABIL und STATIONÄR legen Zeiten fest, während derer die Freiraum-Zeigevorrichtung 400 verschiedene Funktionen ausführen kann. Da der STABIL-Zustand dafür vorgesehen ist, die Zeiten wiederzugeben, in denen der Nutzer die Freiraum-Zeigevorrichtung 400 hält, aber sie nicht bewegt, kann die Vorrichtung zum Beispiel die Bewegung der Freiraum-Zeigevorrichtung 400 aufzeichnen, wenn sie in dem STABIL-Zustand ist, indem z. B. die Ausgabegrößen aus dem(den) Rotationssensor(en) und/oder dem Beschleunigungswertaufnehmer beim Vorliegen dieses Zustandes gespeichert werden. Diese gespeicherten Messungen können verwendet werden, um ein Zitterbewegungsmuster zu bestimmen, das mit einem speziellen Nutzer oder mit Nutzern verbunden ist, wie nachfolgend beschrieben wird. Ebenso kann die Freiraum-Zeigevorrichtung 400, wenn sie im STATIONÄR-Zustand ist, die Anzeigewerte aus den Rotationssensoren und/oder dem Beschleunigungswertaufnehmer zur Verwendung bei der Kompensation des Offsets entnehmen, wie oben beschrieben ist.
-
Beginnt sich die Freiraum-Zeigevorrichtung 400 zu bewegen, solange sie entweder im Zustand STABIL oder STATIONÄR ist, dann kann das eine Rückkehr in den AKTIV-Zustand auslösen. Anderenfalls kann die Vorrichtung, nachdem die Messungen erfasst sind, in den SCHLAF-Zustand übergehen. Solange die Vorrichtung im Schlafzustand ist, kann die Vorrichtung in einen Energiesparmodus übergehen, wobei der Energieverbrauch der Freiraum-Zeigevorrichtung reduziert und z. B. auch die Abtastrate der Rotationssensoren und/oder des Beschleunigungswertaufnehmers verringert ist. Der SCHLAF-Zustand kann auch über einen externen Befehl erreicht werden, sodass der Nutzer oder eine andere Vorrichtung die Freiraum-Zeigevorrichtung 400 anweisen kann, in den SCHLAF-Zustand überzugehen.
-
Beim Empfang eines weiteren Befehls oder wenn sich die Freiraum-Zeigevorrichtung 400 zu bewegen beginnt, kann die Vorrichtung vom SCHLAF-Zustand in den AUFWACH-Zustand übergehen. Ähnlich zum INAKTIV-Zustand liefert der AUFWACH-Zustand eine Gelegenheit für die Vorrichtung, um zu bestätigen, dass ein Übergang in den AKTIV-Zustand gerechtfertigt ist, z. B. dass die Freiraum-Zeigevorrichtung 400 nicht versehentlich angestoßen wurde.
-
Die Bedingungen für die Zustandsübergänge können symmetrisch sein oder können sich unterscheiden. So kann der Schwellenwert, der mit der Bedingungaktiv→inaktiv verbunden ist, der gleiche sein wie (oder ein anderer sein als) der (die) mit der Bedingunginaktiv→aktiv verbundene (n) Schwellenwert(e). Das ermöglicht es den Freiraum-Zeigevorrichtungen gemäß der vorliegenden Erfindung, die Nutzereingabe genauer zu erfassen. Zum Beispiel ermöglichen die Ausführungsbeispiele, die eine Realisierung der Zustandsmaschine einschließen, dass unter anderem der Schwellenwert für den Übergang in einen stationären Zustand ein anderer ist als der Schwellenwert für den Übergang aus einem stationären Zustand heraus.
-
Das Erreichen oder Verlassen eines Zustandes kann auch dazu verwendet werden, andere Vorrichtungsfunktionen einzuleiten. Zum Beispiel kann die Nutzerschnittstelle basierend auf einem Übergang von einem beliebigen Zustand in den AKTIV-Zustand zugeschaltet werden. Umgekehrt kann die Freiraum-Zeigevorrichtung und/oder die Nutzerschnittstelle abgeschaltet werden (oder in einen Schlaf-Modus übergehen), wenn die Freiraum-Zeigevorrichtung von AKTIV oder STABIL zu STATIONÄR oder INAKTIV übergeht. Alternativ kann der Zeiger 410 basierend auf dem Übergang aus dem oder in den stationären Zustand der Freiraum-Zeigevorrichtung 400 angezeigt oder vom Bildschirm entfernt werden.
-
Wie oben erwähnt wurde, werden in den Ausführungsbeispielen der vorliegenden Erfindung die Bewegungsdaten, die von dem(den) Sensor(en) in der Freiraum-Zeigevorrichtung empfangen wurden, bearbeitet, um diese Daten von dem Bezugssystem des Körpers der Freiraum-Zeigevorrichtung in ein anderes Bezugssystem, z. B. das Bezugssystem des Nutzers, umzuwandeln. In dem Anwendungsbeispiel einer Freiraum-Zeigevorrichtung, die zum Steuern einer auf einem Bildschirm, z. B. einem Fernseher, dargestellten Nutzerschnittstelle verwendet wird, könnte das Bezugssystem des Nutzers ein Koordinatensystem sein, das mit dem Fernsehbildschirm verbunden ist. Unabhängig davon verbessert die Überführung der Daten von dem Körperbezugssystem in ein anderes Bezugssystem die Brauchbarkeit der handgeführten Vorrichtung dadurch, dass sich ein Betrieb ergibt, der eher aus der Perspektive des Nutzers als aus der Perspektive der Vorrichtung erfolgt. Bewegt der Nutzer seine Hand vor einem Display von links nach rechts, während er die Freiraum-Zeigevorrichtung hält, so wird sich der Zeiger unabhängig von der Ausrichtung der Freiraum-Zeigevorrichtung in der Richtung von links nach rechts bewegen.
-
Um diese Darlegung zu vereinfachen, ist in 9 ein Beispiel für ein Verarbeitungssystem dargestellt, das einer Freiraum-Zeigevorrichtung zugeordnet ist, wie sie z. B. oben ausführlicher beschrieben ist. Darin erfasst das handgeführte System die Bewegung unter Verwendung eines oder mehrerer Sensoren 901, z. B. von Rotationssensoren, Kreiselgeräten, Beschleunigungswertaufnehmern, Magnetometern, optischen Sensoren, Kameras oder irgendeiner Kombination davon. Die Sensoren werden dann im Block 902 interpretiert, um eine Abschätzung der Bewegung zu liefern, die stattgefunden hat. Der Verarbeitungsblock 903 überträgt dann die gemessene Bewegung von dem natürlichen (Körper-)Bezugssystem der Vorrichtung auf das Bezugssystem des Nutzers. Die Bewegung wird dann abgebildet 904 auf sinnvolle Aktionen, die am Block 905 interpretiert und an das System weitergeleitet werden, um eine sinnvolle Reaktion, wie z. B. die Bewegung eines Bildschirmzeigers, zu erzeugen.
-
Im Block 903 wird die erfasste Bewegung in das Bezugssystem des Nutzers anstelle des Bezugssystems der Vorrichtung umgewandelt. Die Ausrichtung kann durch viele verschiedene mathematisch gleichartige Verfahren, einschließlich der Eulerschen Winkel, einer Richtungscosinus-Matrix (DCM) oder einer Einheitsquaternion, dargestellt werden. Die Position wird allgemein dargestellt als ein Offset aus dem Ursprung des Koordinatensystems in einer konsistenten Einheit, die Meter, Zentimeter, Fuß, Zoll und Meilen einschließt, aber nicht darauf beschränkt ist. In einem oben beschriebenen Ausführungsbeispiel misst eine Freiraum-Zeigevorrichtung die Trägheitskräfte, welche die Beschleunigung und die Rotationsgeschwindigkeit enthalten. Diese Kräfte werden bezüglich des Körpers der Vorrichtung durch Sensoren gemessen, die darin befestigt sind. Um die gemessenen Daten in das Nutzerbezugssystem zu überführen schätzt die Vorrichtung sowohl ihre Position als auch ihre Ausrichtung ab.
-
In diesem Ausführungsbeispiel wird angenommen, dass das Nutzerbezugssystem stationär ist und eine feste Ausrichtung aufweist, obwohl Fachleute anerkennen werden, dass diese Technik gemäß der vorliegenden Erfindung leicht auf die Fälle erweitert werden kann, in denen das Bezugssystem des Nutzers nicht stationär ist, indem entweder direkt auf das zeitlich veränderliche Achsensystem transformiert wird oder indem zuerst auf ein stationäres Achsensystem umgewandelt und dann auf das sich bewegende Achsensystem umgewandelt wird. Für das stationäre, eine feste Ausrichtung aufweisende Nutzer-Bezugssystembeispiel kann die Umwandlung aus dem Körperachsensystem in das Nutzerachsensystem unter Verwendung der nachfolgenden Gleichungen ausgeführt werden: Pu = Rotate(Pb, Q) + Pdelta Pu' = Rotate(Pb', Q) Pu'' = Rotate(Pb'', Q) Wu = Rotate(Wb, Q) Wu' = Rotate(Wb', Q) wobei:
Rotate den Quaternion-Rotationsoperator derart darstellt, dass Rotate(A, Q) gleich Q* AQ ist, wobei Q* die Quaternion-Konjugierte und der Vektor A eine Quaternion mit der komplexen Komponente gleich A und der reellen Komponente gleich 0 ist;
Pu die Position in dem Nutzerbezugssystem ist;
Pb die Position in dem Vorrichtungsbezugssystem ist;
' die Ableitung bezeichnet. Deshalb ist Pu' die Ableitung der Position im Nutzerbezugssystem, welche die Geschwindigkeit im Nutzerbezugssystem ist;
Wu ist die Winkelgeschwindigkeit der Vorrichtung in Körperwinkeln im Nutzerbezugssystem;
Wb ist die Winkelgeschwindigkeit der Vorrichtung in Körperwinkeln im Körperachsensystem der Vorrichtung;
Pdelta ist die Differenz zwischen dem Ursprung des Nutzerbezugssystems und des Körperbezugssystems im Koordinatensystem des Nutzerbezugssystems;
Q ist die normierte Rotationsquaternion, welche die Drehung aus dem Körperachsensystem in das Nutzerachsensystem darstellt. Da Q* die Rotationsquaternion für die Drehung aus dem Nutzerachsensystem in das Körperachsensystem ist, könnte Q durch R* ersetzt werden, wobei R die Drehung aus dem Nutzerachsensystem in das Körperachsensystem ist. Es wird angemerkt, dass Q in mehreren äquivalenten Formen dargestellt werden kann, welche die Eulerschen Winkel und die Richtungscosinusmatrix (DCM) enthalten, und dass sich die obigen Gleichungen in ihren äquivalenten Formen, die auf den verschiedenen Darstellungen von Q beruhen, geringfügig unterscheiden können. 10 veranschaulicht grafisch die Transformation aus einem Körperbezugssystem in ein Bezugssystem eines Nutzers.
-
Während des Betriebs schätzt die Vorrichtung in einer von der Realisierung abhängigen Weise Q ab, um diese Transformation auszuführen. Ein oben beschriebenes Realisierungsbeispiel bezieht die Kompensation hinsichtlich der Neigung (d. h. der Veränderungen in der x-Achsen-Querneigung der Freiraum-Zeigevorrichtung basierend auf der Art, wie es von einem Nutzer gehalten wird) ein. Die Ausrichtung wird berechnet, indem zuerst die Beschleunigungskomponente infolge der Erdanziehung im Körperachsensystem Ab abgeschätzt wird. Gemäß Festlegung wird der Beschleunigungsvektor infolge der Erdanziehung im Nutzerachsensystem Ag gleich [0, 0, –1] gesetzt. Da die Erdanziehung nicht den Kurs (Drehung um die z-Achse) abschätzen kann, wird die Körperachsensystem-Abschätzung für den Kurs verwendet. Deshalb weist die Rotationsquaternion eine Drehachse in der Ebene z = 0 auf. Es folgt eines von mehreren äquivalenten Verfahren für das Berechnen der Rotationsquaternion: V = ||Ab|| × ||Ag|| (Kreuzprodukt von Einheitsvektoren) qV = ||V|| α = sin–1 |V| Q = Quaternion[qV, α] = [qV * sin(α/2), cos(α/2)]. Die Position wird dann als das Doppelintegral der Beschleunigung im Nutzerachsensystem berechnet. Die Beschleunigung im Nutzerachsensystem ist die Beschleunigung des Körperachsensystems, das durch das obige Q in das Nutzerachsensystem gedreht ist. Gewöhnlich wird angenommen, dass der Ursprung bei null liegt, wenn die Vorrichtung erstmalig aktiviert wird, der Ursprung kann jedoch während des normalen Betriebs entweder von Hand oder automatisch zurückgesetzt werden.
-
Wenn sich die Vorrichtung nicht bewegt, dann sind im Allgemeinen Pu', Pu'', Wu und Wu'' alle gleich 0. In diesem Ausführungsbeispiel werden Pb'' und Wb gemessen. Obwohl es eine unendliche Zahl von Drehungen Q gibt, kann die Minimaldrehung aus dem verfügbaren Satz ausgewählt und zur Abschätzung von Wu auf der Grundlage von Wb verwendet werden. Alternativ kann Q unter Verwendung einer angenommenen Start-Offsetausrichtung Q0 berechnet werden, indem Wb über die Zeit integriert wird, wie unten unter Verwendung des Diskretzeitintegrals gezeigt ist: WbAngle = |Wb|*Periode QDelta = Quaternion [Wb, WbAngle] =
||Wb|| * sin(WbAngle/2), cos(WbAngle/2)] QNEXT = Q0 ** QDelta, wobei * die Multiplikation und ** die Quaternion-Multiplikation bezeichnet. Eine zusätzliche Stabilität kann durch konstante Feldvektoren einschließlich der Erdbeschleunigung und des erdmagnetischen Feldes erzielt und mit den obigen Ergebnissen kombiniert werden. Die Kombination kann ausgeführt werden unter Verwendung verschiedener numerischer und Filterverfahren, welche die Kalman-Filterung einschließen, aber nicht drauf beschränkt sind.
-
Es könnte eine Vielzahl verschiedener Sensoren eingesetzt werden, solange sie die Bewegung mit Bezug auf den Körper der Vorrichtung messen. Sensorbeispiele schließen Beschleunigungswertaufnehmer, Rotationssensoren, Kreiselgeräte, Magnetometer und Kameras ein. Das Nutzerachsensystem braucht nicht stationär zu sein. Wird das Nutzerbezugssystem zum Beispiel als der Unterarm des Nutzers ausgewählt, dann würde die Vorrichtung nur auf die Handgelenk- und Fingerbewegung reagieren.
-
Fachleute werden erkennen, dass für die Bezugssystemtransformationen die in dieser Erfindung beschrieben sind, die Kommutativeigenschaft gilt. Deshalb kann die Reihenfolge der mathematschen Operationen verändert werden, ohne dass es eine wesentlich Auswirkung auf die hier beschriebene Erfindung hat. Außerdem können viele Bewegungsverarbeitungsalgorithmen in beiden Bezugssystemen gleichwertig arbeiten, insbesondere wenn das Nutzerachsensystem als stationär mit einer konstanten Ausrichtung gewählt wird.
-
Über die Anwenderfreundlichkeit hinausgehend können die Bezugssystemtransformationen gemäß diesem Ausführungsbeispiel der vorliegenden Erfindung auch dazu verwendet werden, um anderen Anforderungen an die Realisierungen handgeführter Vorrichtungen gerecht zu werden. Wenn zum Beispiel ein Sensor (wie z. B. ein Beschleunigungswertaufnehmer) nicht genau im Rotationszentrum des Körperbezugssystems angeordnet ist, dann wird die gemessene Beschleunigung sowohl die Beschleunigung des Achsensystems als auch die Beschleunigungskomponenten infolge der Rotation des Achsensystems enthalten. Daher kann die gemessene Beschleunigung zuerst auf einen anderen Zielaufstellungsort im Körperachsensystem der Vorrichtung transformiert werden, wobei die folgende Beziehung verwendet wird: Akörper = Abeschleunigungswertaufnehmer + ω' × R + ω × (ω x R) wobei R der Vektor vom Beschleunigungswertaufnehmer zum Zielaufstellungsort, ω die Winkelgeschwindigkeit des Körperbezugssystems und ω' die Winkelbeschleunigung des Körperbezugssystems ist. Ist das Körperachsensystem der Vorrichtung derart ausgelegt, dass es bei R vom Beschleunigungswertaufnehmer aus liegt, dann sollte es verschwindende Winkelbeschleunigungseffekte aufweisen und kann leichter verwendet werden, um die Bewegung der Vorrichtung im Nutzerachsensystem zu berechnen. Damit wird eine beabsichtigte oder unbeabsichtigte Fehlausrichtung zwischen dem Beschleunigungswertaufnehmer und dem Zentrum des Körperbezugssystems kompensiert. Darüber hinaus wird die Abschätzung des Erdanziehungsvektors viel einfacher, weil es weniger Kräfte gibt, die am Rotationszentrum wirken. Dann ist Anutzer = Rotate(Akörper, Q) wobei Q die Drehung aus dem Körperbezugssystem zum Bezugssystem des Beschleunigungswertaufnehmers ist.
-
Unglücklicherweise weisen verschiedene Nutzer unterschiedliche Werte für R auf. Zum Beispiel kann der eine Nutzer seine handgeführte Vorrichtung einsetzen, indem er seinen Ellbogen dreht, während ein anderer Nutzer seine Vorrichtung durch Drehen seines Handgelenks einsetzen kann. Darüber hinaus weisen die Personen Handgelenke und Unterarme unterschiedlicher Größe auf. Für eine verbesserte Benutzbarkeit wird in diesem Ausführungsbeispiel des Handgeräts R dynamisch berechnet und der Körpernullpunkt derart bewegt, dass er minimale Beschleunigungskomponenten infolge der Winkelbewegung aufweist. Im Ausführungsbeispiel wird R abgeschätzt, indem R als [Rx, 0, 0] festgelegt und nach Rx aufgelöst wird, wobei Akörper – Rotate[Ag, Q] verwendet und minimiert wird. Es wird angemerkt, dass viele numerische Verfahren existieren einschließlich der rekursiven kleinsten Quadrate und des Kalman-Filterns, mit denen eine Minimierung ausgeführt werden kann, um Rx zu berechnen.
-
Basierend auf den obigen Darlegungen wird eingeschätzt, dass die vorliegende Erfindung verschiedene Techniken zum Abbilden der erfassten Bewegung einer handgeführten Vorrichtung von einem Bezugssystem (z. B. einem Körperbezugssystem) in ein anderes Bezugssystem (z. B. ein Bezugssystem eines Nutzers) beschreibt. Diese Abbildungen können unabhängig von anderen Abbildungen sein, die mit dem Einsatz der handgeführten Vorrichtung verbunden sind, z. B. die Abbildung der erfassten Bewegung auf die Zeigerbewegung, oder sie können mit ihnen kombiniert werden. Außerdem können die Transformationen gemäß der vorliegenden Erfindung ausgeführt werden, um die erfasste Bewegung in allen drei Dimensionen, für die Translationsbewegung und die Rotationsbewegung oder eine beliebige Untermenge davon, aus der Perspektive entweder der Eingabeseite der Bewegungsgleichung oder der Ausgabeseite zu transformieren. Darüber hinaus kann die Auswahl des Bezugssystems, in welches die erfasste Bewegung abgebildet oder transformiert wird, auf mehreren unterschiedlichen Wegen erfolgen. Ein oben gegebenes Beispiel stellt dar, dass das zweite Bezugssystem ein Bezugssystem eines Nutzers ist, das mit der Neigung der Vorrichtung verknüpft ist, es sind jedoch viele andere Abänderungen möglich. Zum Beispiel kann der Nutzer sein gewünschtes Bezugssystem auswählen, dessen Einstellung in dem Handgerät als eine von mehreren Nutzerpräferenzen im Handgerät gespeichert und zum Ausführen der Transformation verwendet werden kann. Das zweite Bezugssystem kann basierend auf einer beliebigen Zahl von Techniken ausgewählt werden. Das zweite Bezugssystem kann ausgewählt werden auf Basis eines ausdrücklichen Befehls (z. B. Wahl einer Taste oder Nutzerschnittstelle) oder automatisch durch Nutzererkennung, die dadurch gegeben ist, dass die Vorrichtung Muster, die Zitterbewegung und andere biometrische Größen verwendet.
-
Außerdem ist die vorliegende Erfindung, obwohl einige der oben beschriebenen Ausführungsbeispiele mit Daten im Geschwindigkeitsbereich arbeiten, nicht derart eingeschränkt. Das Abbilden oder die Transformation gemäß vorliegender Erfindung kann alternativ oder zusätzlich zum Beispiel an den Positions- oder Beschleunigungsdaten ausgeführt werden und kann für die Translationsbewegung, die Rotationsbewegung oder beide erfolgen. Auch der Verarbeitungsablauf ist nicht kritisch. Wenn die handgeführte Vorrichtung zum Beispiel zur Ausgabe von Gestenbefehlen verwendet wird, dann kann zuerst die Abbildung und dann die Geste bestimmt werden oder die Geste zuerst bestimmt und dann die Abbildung ausgeführt werden.
-
Die oben beschriebenen Ausführungsbeispiele sind in jeder Hinsicht zur Veranschaulichung statt zur Einschränkung der vorliegenden Erfindung vorgesehen. Somit ist die vorliegende Erfindung zu vielen Veränderungen in der genauen Realisierung geeignet, die durch einen Fachmann aus der hier enthaltenen Beschreibung abgeleitet werden können. Obwohl die vorausgehenden Ausführungsbeispiele unter anderem den Einsatz von Trägheitssensoren zum Erfassen der Bewegung einer Vorrichtung beschreiben, können zum Beispiel andere Sensortypen (z. B. Ultraschall, magnetisch oder optisch) anstelle der oder zusätzlich zu den Trägheitssensoren in Verbindung mit der oben beschriebenen Signalverarbeitung verwendet werden. Alle derartigen Veränderungen und Abwandlungen werden als unter den Gedanken und den Schutzbereich der vorliegenden Erfindung liegend angesehen, der durch die nachfolgenden Ansprüche festgelegt ist. Kein Element, Vorgang oder keine Anweisung, die in der Beschreibung der vorliegenden Anmeldung verwendet wird, sollte als kritisch oder wesentlich für die Erfindung angesehen werden, es sei denn, sie werden ausdrücklich als solche beschrieben. Außerdem ist beabsichtigt, dass der Artikel ”ein” hier so verwendet wird, dass ein oder mehrere Objekte einbezogen sind.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-