DE69814326T2 - Kodierung von mausbefehlen - Google Patents

Kodierung von mausbefehlen Download PDF

Info

Publication number
DE69814326T2
DE69814326T2 DE69814326T DE69814326T DE69814326T2 DE 69814326 T2 DE69814326 T2 DE 69814326T2 DE 69814326 T DE69814326 T DE 69814326T DE 69814326 T DE69814326 T DE 69814326T DE 69814326 T2 DE69814326 T2 DE 69814326T2
Authority
DE
Germany
Prior art keywords
area
code vector
sub
origin
rings
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69814326T
Other languages
English (en)
Other versions
DE69814326D1 (de
Inventor
Emiel Marc LAMBRECHTS
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE69814326D1 publication Critical patent/DE69814326D1/de
Publication of DE69814326T2 publication Critical patent/DE69814326T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • Details Of Television Systems (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Umformen von Benutzer-Manipulationen einer multidimensionalen Eingabeeinrichtung zu Codevektoren für eine Datenverarbeitungseinrichtung, wobei die Manipulationen auf einen Bereich um einen Ursprung herum begrenzt sind, wobei dieses Verfahren die nachfolgenden Verfahrensschritte umfasst:
    • - einen Schritt zum Verteilen des Bereichs in eine Anzahl Unterbereiche, und
    • – einen Schritt zum Ermitteln eines Unterbereichs entsprechend einer bestimmten Manipulation, und zum Selektieren eines Codevektors zur Übertragung zu der Datenverarbeitungseinrichtung. Die vorliegende Erfindung bezieht sich weiterhin auf ein System und eine multidimensionale Eingabeeinrichtung zum Durchführen eines derartigen Verfahrens.
  • Ein Verfahren der eingangs beschriebenen Art ist aus DE-A 35.23.284 bekannt. In diesem Dokument ist eine Eingabeeinrichtung beschrieben, die verwendet wird zum Aktualisieren eines oder mehrerer Parametern einer Datenverarbeitungseinrichtung (beispielsweise Koordinaten eines Zeigers an einem Schirm). Nach diesem Dokument wird eine Manipulation der Eingabeeinrichtung nicht unmittelbar in einen entsprechenden Parameterwert übersetzt, sondern in eine Änderungsrate dieses Wertes. Die wirkliche Aktualisierung erfolgt in der Datenverarbeitungseinrichtung. Diese letztere wird mit Daten versehen, die für die Manipulation Indikativ sind. Dazu transformiert die Eingabeeinrichtung die Manipulation in spezielle Eingabedaten (nachstehend als Codevektor bezeichnet), welche die Manipulation darstellen. Daraufhin wird der Codevektor über eine Art von Kommunikationskanal (Kabel, drahtlos) der Datenverarbeitungseinrichtung zugeführt.
  • In einer zweidimensionalen Abwandlung der bekannten Eingabeeinrichtung wird die Benutzermanipulation im Wesentlichen auf zwei orthogonale Achsen (eine X-Achse und eine Y-Achse) projiziert. Aus den Projektionen wird ein Codevektor konstruiert und übertragen, der digitale Darstellungen der Projektionen umfasst.
  • Ein spezieller Anwendungsbereich derartiger Eingabeeinrichtungen ist der Bereich der Fernbedienung, wie die Fernbedienung von Fernsehgeräten. Fernbedienungen haben ihre eigene, begrenzte, Speisung (Batterie). Ein wesentlicher Teil der Leistung ist erforderlich für die Übertragung der Codevektoren zu der Datenverarbeitungseinrichtung.
  • Deswegen kann zur Verlängerung der Lebensdauer der Batterieleistung dadurch gespart werden, dass die Menge an Information, die der Datenverarbeitungseinrichtung zugesendet werden soll, minimiert wird. Gleichzeitig soll dem Benutzer eine bequeme Steuermöglichkeit des einzustellenden Parameters geboten werden. Dieses Letztere wird durch Aspekte wie Geschwindigkeit der Aktualisierung der Parameter, Genauigkeit der Aktualisierung der Parameter und im Falle einer multidimensionalen Eingabeeinrichtung, durch eine bequeme simultane Steuerung über mehr als nur einen Parameter geboten (beispielsweise das Verlagern des Zeigers über den Fernsehschirm).
  • Ein Problem des bekannten Verfahrens ist, dass dem Punkt der Leistungserwägungen keine Aufmerksamkeit gewidmet worden ist. Folglich transformiert das bekannte Verfahren aus dem Gesichtspunkt der Leistung nicht die Manipulationen in effiziente Codevektoren.
  • Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung, ein Verfahren der eingangs beschriebenen Art zu schaffen, wodurch ein besseres Gleichgewicht zwischen dem Leistungsverbrauch und der Betriebsbequemlichkeit der Eingabeeinrichtung geschaffen wird. Dazu schafft die vorliegende Einrichtung ein Verfahren der eingangs beschriebenen Art, das gekennzeichnet ist durch einen Schritt zur Begrenzung der Anzahl übertragbarer Codevektoren auf im Wesentlichen die gesamte Anzahl Unterbereiche durch Aufteilung des Bereichs in aneinander grenzende konzentrische Ringe um den Ursprung herum und durch Aufteilung jedes Ringes in eine gleiche Anzahl Sektoren, wobei jeder übertragbare Codevektor mit einem Unterbereich assoziiert ist. Dies drückt den Grundgedanken aus, dass es nicht notwendig ist, eine relativ große Anzahl Codevektoren für Manipulationen großen Umfangs zu reservieren. Wenn beispielsweise einer von zwei Parametern aktualisiert wird, wird ein Benutzer zunächst eine größere Manipulation in einer Richtung entsprechend. dem betreffenden Parameter für eine schnelle aber relativ ungenaue Einstellung aufrufen. Daraufhin wird der Benutzer, indem er weniger große Manipulationen durchführt, die genauen Endeinstellungen vornehmen. Beim Durchführen des ersten Schrittes hat der Benutzer kein Interesse für eine genaue Regelung über den zweiten Parameter. Ein ähnliches Argument gilt für die Situation, worin der Benutzer zwei Parameter gleichzeitig aktualisieren möchte. Zusammenfassend gilt: ein Codevektor, der eine Manipulation umfangreicher Größe darstellt, soll nicht von benachbarten Codevektoren begleitet werden, die im Grunde nur eine geringe Abweichung in einer senkrechten Richtung aufweisen.
  • Bei der bekannten Eingabeeinrichtung werden die Projektionen auf die orthogonalen Achsen unabhängig in die Codevektoren codiert. Dies führt zu einem Satz von Codevektoren mit dem oben genannten Merkmal, und zwar diesem, dass im Vergleich zu Manipulationen geringer Größe Manipulationen umfangreicher Größe durch eine relativ große Anzahl Codevektoren bedeckt werden.
  • Insbesondere wenn eine nicht lineare Decodierung angewandt wird, wobei eine Manipulation einer Änderungsrate auf eine nicht lineare Weise entspricht, die Maßnahme nach der vorliegenden Erfindung zu einer mehr ausgewuchteten Verteilung von Unterbereichen führt als die Verteilung des bekannten Verfahrens. Bei dem bekannten Verfahren sind Manipulation von einer der Achsen einzigartige Codevektoren zugeordnet. Es findet eine Art von Clusterbildung von Codevektoren um die Koordinatenachsen statt. Diese geclusterten Codevektoren machen das bekannte Verfahren ineffizient, da der Benutzer kaum einen Unterschied zwischen denselben erfährt.
  • Eine Folge der Maßnahme nach der vorliegenden Erfindung ist, dass die gesamte Anzahl Codevektoren reduziert werden kann, während derselbe Pegel des Bedienungskomforts beibehalten wird. Eine verringerte Anzahl Codevektoren bedeutet, dass die Codevektoren in Termen der Anzahl Bits kleiner sein können. Auf diese Weise wird die Eingabeeinrichtung weniger Leistung für Kommunikation mit der Datenverarbeitungseinrichtung verbrauchen. Es sei bemerkt, dass im Rahmen der vorliegenden Erfindung der Satz "eine gleiche Anzahl Sektoren" in dem Schritt (1) wie folgt interpretiert werden kann: "etwa eine gleiche Anzahl Sektoren".
  • Die in dem Unteranspruch 3 definierte Maßnahme bietet den Vorteil, dass dies zu einem Verfahren führt, das mit sehr einfachen Elementen implementiert werden kann. Es wird nun beispielsweise vorausgesetzt, dass man über eine zweidimensionale Eingabeeinrichtung mit zwei Sensorschaltungen verfügt, die Sensorsignale, proportional zu einer Größe der Manipulation in den betreffenden orthogonalen Richtungen erzeugen. Mit der Maßnahme nach Anspruch 3 reicht es zum Bestimmen, mit welchem bestimmten Ring die Manipulation übereinstimmt, den maximalen Wert der beiden Sensorsignale zu bestimmen. Dies ist ein Vorgang, der in Hardware sehr effizient verwirklicht werden kann.
  • Die in dem Unteranspruch 4 definierte Maßnahme bietet den Vorteil, dass diese zu einer sehr regelmäßigen Transformation führt, was von dem Benutzer als sehr natürlich erfahren wird. Um zu bestimmen, zu welchem Ring eine Manipulation gehört, könnte die Größe der Manipulation durch Quadrierung und Addition der Sensorsignale hergeleitet werden. Der bestimmte Sektor könnte dadurch bestimmt werden, dass ein bestimmtes Verhältnis der Sensorsignale hergeleitet wird.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im vorliegenden Fall näher beschrieben. Es zeigen:
  • 1 ein System nach der vorliegenden Erfindung,
  • 2 eine Darstellung einer Einteilung des Bereichs von Manipulationen in Teilbereiche nach der vorliegenden Erfindung,
  • 3 einen Satz von Deltavektoren entsprechend einem der Ringe nach 2,
  • 4 einen Vergleich eines Satzes von Codevektoren nach der vorliegenden Erfindung mit einem Satz von Codevektoren nach dem Stand der Technik,
  • 5 einen alternativen Bereich von Manipulationen und einer Aufteilung davon,
  • 6 einen weiteren alternativen Bereich von Manipulationen und einer Aufteilung davon.
  • 1 zeigt ein System nach der vorliegenden Erfindung. Es umfasst eine Fernbedienung 100 mit einer zweidimensionalen Rollkugel 102 und eine Datenverarbeitungseinrichtung 104, die in diesem Fall ein Fernsehgerät ist. Mit der Fernbedienung 100 kann ein Benutzer Fernsehkanäle wählen, einen Lautstärkepegel einstellen, Menü-Items selektieren, indem er mit Hilfe der Rollkugel 102 einen Zeiger über den Fernsehschirm laufen lässt. Die Fernbedienung 100 umfasst weiterhin Sensorschaltungen 120 zum Detektieren von Manipulationen der Rollkugel 102, Selektionsmittel 122 zum Selektieren von Codevektoren, welche die genannten Manipulationen darstellen, und Übertragungsmittel 124 zum Übertragen der genannten Codevektoren zu der Datenverarbeitungseinrichtung über einen IR-Kommunikationskanal. Auf alternative Weise umfasst die Fernbedienung 100 einen Joystick oder ein Berührungsfeld statt der Rollkugel 102.
  • Jede der Sensorschaltungen 120 ist vorgesehen zum Detektieren von Manipulationen in einer einzigen Richtung. Die Signale, die von den Sensorschaltungen 120 erzeugt werden, werden zwischen bestimmten Grenzen begrenzt, die durch mechanische oder elektrische Grenzen gestellt werden, wie die endliche Größe von Registern zur Speicherung der Signale, oder die Beschneidung bestimmter analoger Sensorsignale. Diese Be grenzungen können als Grenzen eines Gebietes möglicher Manipulationen der Eingabeeinrichtung betrachtet werden.
  • In der Datenverarbeitungseinrichtung 104 ist ein Empfänger vorgesehen zum Empfangen der Codevektoren und zum Durchlassen derselben zu einem Decoder 132. Der Decoder 132 decodiert die Codevektoren in entsprechende Deltavektoren, die von der Datenverarbeitungseinrichtung benutzt werden können zum Aktualisieren von Koordinaten des Zeigers am Fernsehschirm.
  • 2 zeigt eine Darstellung einer Aufteilung eines Bereiches von Manipulationen in Teilbereiche nach der vorliegenden Erfindung. Eine Manipulation der Rollkugel 102 wird begrenzt auf einen Bereich 200 um einen Ursprung 202. Der Bereich wird nach der vorliegenden Erfindung in Ringe aufgeteilt, wobei einer derselben der Ring 222 ist, der in der Figur durch ein schraffiertes Gebiet angegeben ist. Jeder Ring ist in eine gleiche Anzahl Sektiren aufgeteilt, und zwar sechzehn Stück. So ist beispielsweise einer der Sektoren des Ringes 222 der Sektor 224. Jedem der Teilbereiche wird ein einzigartiger Codevektor zugeordnet. Ein Codevektor könnte explizit die Ringnummer und die Sektornummer des entsprechenden Teilbereichs darstellen oder gerade sich auf eine beliebige Nummerierung der Teilbereiche beziehen.
  • Für eine bestimmte Manipulation kann der entsprechende Teilbereich dadurch identifiziert werden, dass eine entsprechende Ringnummer und Sektornummer identifiziert wird. Die Ringnummer ist ein Maß für die Größe der Manipulation und die Sektornummer ist eine Angabe der Richtung. Drehungen der Rollkugel 102 gegenüber zwei senkrecht aufeinander stehenden Achsen in der Ebene der Oberseite der Fernbedienung 100 werden von den Sensorschaltungen 120 und 122 detektiert, wodurch zwei Sensorsignale erzeugt werden. Wenn die Sensorsignale proportional zu der Größe der Manipulation sind, dann wird für quadratische Ringe die Ringnummer einfach durch das absolute Maximum der Sensorsignale bestimmt. Dadurch, dass dieser maximale Wert zu einer begrenzten Anzahl Pegel quantisiert wird, wird eine erste Gruppe Bits des Codevektors hergeleitet. In diesem Fall wird gewählt, dass es sechzehn Ringe gibt, wodurch ein Vier-Bit-Code ausreicht zum Codieren der Größe der Manipulation.
  • Wie in 2 dargestellt, können sechzehn Linie, die sich in radialer Richtung von dem Ursprung aus erstrecken, durch die Teilbereiche gezogen werden, wobei sie gemeinsam alle Teilbereiche durchqueren. Nach Nummerierung dieser Linien, entspricht jedem Teilbereich eine einzige Liniennummer. Diese Liniennummer könnte benutzt werden als Sektornummer, die in einer zweiten Gruppe Bits des bestimmten Codevektors festgehalten werden könnte. In jedem Ring können sechzehn verschiedene Sektiren identifiziert werden, wozu 4 Bits ausreichen zum Codieren der Richtung der Manipulation.
  • Auf diese Weise haben wir einen Codevektor entsprechend acht Bits insgesamt für die Richtungs- und die Größeninformation. Die Sensorsignale jeder Eingabeeinrichtung mit einem rechteckigen Manipulationsbereich kann immer zu einem quadratischen Bereich skaliert werden. Dazu gilt das an dieser Stelle zum Bestimmen des Ringes im Allgemeinen beschriebene Schema für rechteckige Ringe.
  • Zum Schluss wird der Codevektor in ein Signal codiert, das auf effiziente Weise über den IR-Kommunikationskanal kommuniziert werden kann, oder der Codevektor wird unmittelbar benutzt zum Modulieren eines IR-Übertragungssignals.
  • 3 zeigt einen Satz von Deltavektoren entsprechend einem der Ringe nach 2. In der Datenverarbeitungseinrichtung wird ein neues Paar von Schirmkoordinaten in X-Y-Format konstruiert, und zwar auf Basis des empfangenen Codevektors, der durch den Decoder 130 in einen Deltavektor decodiert wird. Dieser Deltavektor steht für eine Translation des Zeigers über den Schirm gegenüber einer vorhergehenden Position. Sechzehn Deltavektoren entsprechend einem einzigen Ring nach 2, sind in 3 dargestellt.
  • Ein Codevektor wird in einen Deltavektor übersetzt, und zwar durch Übersetzung der Ringnummer und der Sektornummer, die darin vorhanden sind. Zunächst wird ein MAX-Wert aus der Ringnummer erhalten. Der MAX-Wert stellt eine Größe des Deltavektors dar. Wir sind frei, die Ringnummer auf nicht lineare Weise in einen entsprechenden MAX-Wert zu decodieren. Die nicht lineare Darstellung steigert den dynamischen Bereich der Eingangseinrichtung in dem Sinne, dass eine schnelle und genaue Aktualisierung der Parameter ermöglicht wird. Die nicht lineare Darstellung verbessert weiterhin den Betriebscomfort der Eingabeeinrichtung. Die Tafel 1 gibt ein Beispiel einer nicht linearen Abbildung. Es könnte beabsichtigt werden, dass der Benutzer die Möglichkeit hat, eine bestimmte Tafel zu selektieren, die er am bequemsten findet.
  • Tafel 1: Geschwindigkeitsdecodierungstafel
    Figure 00060001
  • Figure 00070001
  • Es sei bemerkt, dass in der Tafel 1 kein Ring reserviert ist für einen Max. Wert Null. Dies bedeutet, dass wenn es keine Aktion seitens des Benutzers gibt, keine Daten zu der Datenverarbeitungseinrichtung 104 gesendet werden. Keine Benutzeraktion könnte beispielsweise bedeuten, dass die Eingabeeinrichtung sich in der Ruhelage befindet oder im Allgemeinen, dass es keine Änderung in dem Zustand der Eingabeeinrichtung gegeben hat, seit der Codevektor der Datenverarbeitungseinrichtung 104 zugeführt worden ist. Selbstverständlich ist dies eine weitere Möglichkeit um Leistung zu sparen. Ein weiterer Vorteil ist, dass, da es kein Bedürfnis nach einem Codevektor entsprechend der Situation, dass es keine Benutzeraktion gibt, ein zusätzlicher Codevektor für einen nützlicheren Fall reserviert werden kann.
  • Daraufhin wird die Sektornummer des Codevektors benutzt zum Erhalten der X- und Y-Werte. Die Tafel 2 zeigt, wie dies geschieht für die Deltavektoren nach 3.
  • Tafel 2: Richtungsdecodierungstafel
    Figure 00070002
  • 4 zeigt einen Vergleich eines Satzes der Codevektoren nach der vorliegenden Erfindung mit einem Satz Codevektoren nach dem Stand der Technik. Verwiesen wird nach der 2. Der Deutlichkeit halber ist nur der obere rechte Quadrant des Gebietes 200 dargestellt, während nur einige Codevektorgrößen eingeschlossen sind. Die Codevektoren des Verfahrens nach dem Stand der Technik und nach der vorliegenden Erfindung sind durch Kreuze bzw. Kreise angegeben. 4 zeigt deutlich die Clusterbildung der Codevektoren, die Typisch ist für das bekannte Verfahren. Aus dieser Figur dürfte es auch klar sein, dass mit der Maßnahme der vorliegenden Erfindung eine mehr ausgewuchtete Bedeckung mit Codevektoren des Bereiches erhalten wird.
  • 5 zeigt einen alternativen Bereich von Manipulationen und eine Aufteilung davon. Eine Manipulation der Rollkugel 102 wird auf einen Bereich 500 um einen Ursprung 502 begrenzt. Der Bereich hat eine quadratische Grenze 504, deren Größe durch die Größe der betreffenden Register bestimmt wird, die Projektionen der Manipulation in betreffenden orthogonalen Richtungen festhalten. Nach einem Aspekt der vorliegenden Erfindung wird der Bereich 500 in mehr oder weniger dreieckige Keile und quadratische Ringe um einen zentralen Bereich 506 aufgeteilt. Schnittpunkte der Keile und Ringe bilden die Teilbereiche. So ist beispielsweise Manipulationen der Rollkugel 102 zu dem Teilbereich rechts oben, einer der Teilbereiche des Keils 510 zugeordnet, während einer steilen Abwärtsmanipulation der Teilbereich 512 zugeordnet ist. Ein Codevektor könnte explizit eine Ringnummer und eine Keilnummer codieren. Die Ringnummer für eine bestimmte Manipulation kann hergeleitet werden, wie anhand der 2 beschrieben wurde. Die Keilnummer könnte dadurch ermittelt werden, dass ein bestimmtes Verhältnis der Sensorsignale hergeleitet wird.
  • 6 zeigt einen weiteren alternativen Bereich der Manipulationen und der Unterteilung davon. Der Bereich 600 mit einer Kreisform oder mit kreisförmigen Ringen ist besser geeignet. Beispielsweise mit einem Joystick kann ein kreisförmiger Bereich mit einem kreisförmigen mechanischen Sperrelement überlagert werden, das die Bewegungen des Elementes begrenzt. Der spezielle Keil entsprechend einer bestimmten Manipulation könnte durch Herleitung eines bestimmten Verhältnisses der Sensorsignale bestimmt werden. Zum Bestimmen des Ringes sollte die Größe der Manipulation durch Quadrierung und Addition der Sensorsignale hergeleitet werden. In der Datenverarbeitungseinrichtung kön nen die X- und Y-Werte dadurch rekonstruiert werden, dass das Produkt aus der Größe und dem Kosinus und Sinus eines Winkels genommen wird, wobei dieser letztere durch die Keilnummer bestimmt wird.
  • Die Grundgedanken der vorliegenden Erfindung gelten auch für dreidimensionale Eingabeeinrichtungen, wie eine 3D-Rollkugel. Die Konzepte von Keilen und Ringen sind auf einfache Weise zu einem dreidimensionalen Bereich erweitert worden. Weiterhin gilt die vorliegende Erfindung auch für Eingabeeinrichtungen, die in einem Tastenfeld integriert sind, für eine Fernbedienung oder sogar die Datenverarbeitungseinrichtung selber, wie ein Notebuch und für Einzel-Eingabeeinrichtungen.
  • Zusammenfassend: die vorliegende Erfindung bezieht sich auf ein Verfahren zum Codieren von Manipulationen einer mehrdimensionalen Eingabeeinrichtung, wie einer Maus, in Daten, die mit einer Datenverarbeitungseinrichtung kommunizieren sollen. Sensoren in der Eingabeeinrichtung detektieren Manipulationen eines Elementes der Eingabeeinrichtung gegenüber einer X-Achse und einer Y-Achse. Aus den Sensordaten wird eine Richtung und eine Größe der Manipulation hergeleitet. Diese Zwischenmengen werden mit der Datenverarbeitungseinrichtung statt mit den X- und den Y-Werten selber kommuniziert. In der Datenverarbeitungseinrichtung decodiert ein Decoder die Zwischenmengen in ein weiteres Paar von X- und Y-Werten. Die Zwischenwerte stellen mehr angemessen die Manipulationen dar. Deswegen erzielt in Eingebeeinrichtungen mit einem begrenzten Leistungsbudget, wie Fernseh-Fernbedienungen und/oder drahtlosen Eingabeeinrichtungen eine höhere Leistung.

Claims (12)

  1. Verfahren zum Transformieren von Benutzermanipulationen einer multidimensionalen Eingabeeinrichtung in Codevektoren für eine Datenverarbeitungseinrichtung, wobei die Manipulationen auf einen Bereich um einen Ursprung herum begrenzt sind, wobei dieses Verfahren die nachfolgenden Verfahrensschritte umfasst: – einen Schritt zum Verteilen des Bereichs in eine Anzahl Unterbereiche, und – einen Schritt zum Ermitteln eines Unterbereichs entsprechend einer bestimmten Manipulation, und zum Selektieren eines Codevektors zur Übertragung zu der Datenverarbeitungseinrichtung, gekennzeichnet durch – einen Schritt zur Begrenzung der Anzahl übertragbarer Codevektoren auf im Wesentlichen die gesamte Anzahl Unterbereiche durch Aufteilung des Bereichs in aneinander grenzende konzentrische Ringe um den Ursprung herum und durch Aufteilung jedes Ringes in eine gleiche Anzahl Sektoren, wobei jeder übertragbare Codevektor mit einem Unterbereich assoziiert ist.
  2. Verfahren nach Anspruch 1, wobei der Bereich in aneinander grenzende Keile aufgeteilt wird, die sich von dem Ursprung aus erstrecken und die Ringe schneiden, wobei die genannten Unterbereiche aus betreffenden Schnittstellen der Keile und der Ringe gebildet werden.
  3. Verfahren nach Anspruch 1, wobei der Bereich in eine Anzahl aneinander grenzende konzentrische rechteckige Ringe um den Ursprung aufgeteilt wird.
  4. Verfahren nach Anspruch 1, wobei der Bereich in eine Anzahl aneinander grenzender konzentrischer kreisförmiger Ringe um den Ursprung herum aufgeteilt wird.
  5. Verfahren nach Anspruch 1, wobei jeder Codevektor ein Paar Zahlen umfasst, wobei eine erste Zahl einen der Ringe angibt, eine zweite Zahl einen der Sektoren des genannten Ringes angibt.
  6. Verfahren nach Anspruch 3, wobei für die bestimmte Manipulation digitale Werte, die Projektionen der bestimmten Manipulation auf eine X-Achse und eine Y-Achse sind, hergeleitet werden und danach ein Maximum der genannten digitalen Werte ermittelt wird und eine Darstellung davon als eine erste Gruppe von Bits des übertragbaren Codevektors genommen wird.
  7. Verfahren nach Anspruch 6, wobei die Unterbereiche auf Linien vorgesehen sind, die sich radial von dem Ursprung aus erstrecken, und eine Liniennummer, die eine bestimmte Linie der genannten Linien darstellt, als zweite Gruppe von Bits des übertragbaren Codevektors genommen wird.
  8. Multidimensionale Eingabeeinrichtung zum Transformieren von Manipulationen davon durch einen Benutzer in Codevektoren zum Ausliefern, wobei die Manipulationen begrenzt werden auf einen Bereich um den Ursprung herum, wobei die Eingabeeinrichtung die nachfolgenden Elemente umfasst: – Selektionsmittel um, entsprechend einer Aufteilung des Bereichs in eine Anzahl Unterbereiche, einen Unterbereich zu bestimmen, und zwar entsprechend einer bestimmten Manipulation und um einen Codevektor für eine bestimmte Manipulation zu selektieren, und – Übertragungsmittel zum Übertragen des genannten Codevektors, dadurch gekennzeichnet, dass – die Anzahl übertragbarer Codevektoren auf im Wesentlichen die gesamte Anzahl Unterbereiche begrenzt wird, die durch Aufteilung des Bereichs in aneinander grenzende konzentrische Ringe um den Ursprung und durch Aufteilung jedes Ringes in eine gleiche Anzahl Sektoren gebildet werden, wobei jeder übertragbare Codevektor mit einem einzigen Unterbereich assoziiert ist.
  9. System mit der multidimensionalen Eingabeeinrichtung nach Anspruch 8, mit einer Verarbeitungseinrichtung und mit einem Kommunikationskanal zwischen denselben, wobei die Eingabeeinrichtung Übertragungsmittel aufweist, die weiterhin vorgesehen sind zum Übertragen des genannten selektierten Codevektors zu der Datenverarbeitungseinrichtung, wobei ein Decoder den genannten Codevektor in einen Deltavektor decodiert.
  10. System nach Anspruch 9, wobei die Aufteilung eine Anzahl Keile umfasst, die sich von dem Ursprung aus erstrecken und die Ringe schneiden, wobei die genannten Unterbereiche aus betreffenden Schnittstellen der Ringe und der Keile gebildet werden.
  11. System nach Anspruch 9, wobei die Eingabeeinrichtung Sensormittel aufweist zum Entwickeln digitaler Werte, die zu den betreffenden Projektionen der Manipulationen auf die X-Achse und die Y-Achse proportional sind, wobei die Selektionsmittel zum Herleiten einer ersten vier-Bits-Gruppe des übertragbaren Codevektors durch Abbildung eines maximalen Wertes der genannten digitalen Werte auf einem von sechzehn Pegeln, wobei der Decoder zum Decodieren der genannten ersten vier Bits vorgesehen ist.
  12. System nach Anspruch 11, wobei die Unterbereiche auf sechzehn Linien vorgesehen sind, die sich radial von dem Ursprung aus erstrecken, wobei Selektionsmittel vorgesehen sind zum Konstruieren einer zweiten vier-Bits-Gruppe des übertragbaren Codevektors, der eine bestimmte Linie der genannten Linien darstellt, wobei der Decoder zum Decodieren der genannten ersten und zweiten vier Bits vorgesehen ist.
DE69814326T 1997-08-01 1998-06-11 Kodierung von mausbefehlen Expired - Fee Related DE69814326T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97202402 1997-08-01
EP97202402 1997-08-01
PCT/IB1998/000907 WO1999006905A1 (en) 1997-08-01 1998-06-11 Mouse command coding

Publications (2)

Publication Number Publication Date
DE69814326D1 DE69814326D1 (de) 2003-06-12
DE69814326T2 true DE69814326T2 (de) 2004-03-25

Family

ID=8228618

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69814326T Expired - Fee Related DE69814326T2 (de) 1997-08-01 1998-06-11 Kodierung von mausbefehlen

Country Status (8)

Country Link
US (1) US6160538A (de)
EP (1) EP0929858B1 (de)
JP (1) JP2001501347A (de)
KR (1) KR100487686B1 (de)
DE (1) DE69814326T2 (de)
MY (1) MY121000A (de)
TW (1) TW358915B (de)
WO (1) WO1999006905A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7109975B2 (en) * 2002-01-29 2006-09-19 Meta4Hand Inc. Computer pointer control
KR100691073B1 (ko) * 2002-02-26 2007-03-09 서크 코퍼레이션 휴대용 전자 기기의 입력 제공 방법
JP2004086735A (ja) * 2002-08-28 2004-03-18 Toshiba Corp 電子機器及び動作モード切替方法
US7292225B2 (en) * 2004-04-15 2007-11-06 Avago Technologies Ecbu Ip Apparatus for controlling the position of a screen pointer that wirelessly transmits compressed data
US10147564B2 (en) 2013-02-07 2018-12-04 Universal Electronics Inc. System and methods for providing orientation compensation in pointing devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3523284A1 (de) * 1985-06-28 1987-01-08 Siemens Ag Anordnung zum rbermitteln von ein- oder zweidimensionalen groessen an ein datenverarbeitungsgeraet mit hilfe einer von menschen betaetigbaren vorrichtung
JPH05108258A (ja) * 1991-10-14 1993-04-30 Nintendo Co Ltd 座標データ発生装置
US5570111A (en) * 1994-10-03 1996-10-29 International Business Machines Corporation Graphical user interface cursor positioning device having a negative inertia transfer function

Also Published As

Publication number Publication date
WO1999006905A1 (en) 1999-02-11
KR100487686B1 (ko) 2005-05-09
KR20000068685A (ko) 2000-11-25
EP0929858A1 (de) 1999-07-21
TW358915B (en) 1999-05-21
MY121000A (en) 2005-12-30
US6160538A (en) 2000-12-12
JP2001501347A (ja) 2001-01-30
DE69814326D1 (de) 2003-06-12
EP0929858B1 (de) 2003-05-07

Similar Documents

Publication Publication Date Title
DE60205750T2 (de) Lenkung der aufmerksamkeit des benutzers auf bestimmte icons, denen sich ein zeiger nähert, in interaktiven benutzerschnittstellen
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE69534695T2 (de) Verfahren und Vorrichtung zum Erzeugen von Mustern
DE69724675T2 (de) Datenausgabestruktur, -methode und -endgerät
EP3961574A1 (de) Verfahren und anordnung zur darstellung eines dreidimensionalen gebäudemodells auf einer anzeigevorrichtung auf basis eines wissensgraphen
DE69817634T2 (de) Vorrichtung und Verfahren zur Anzeige von Fenstern
DE2431379A1 (de) Datenverarbeitungseinrichtung
EP1145142A2 (de) Rechnersystem und methode zur anzeige von daten in einem interaktiven geteilten kreisdiagramm
DE3512505A1 (de) System zur bearbeitung von graphik-daten fuer einen cad-arbeitsplatz
WO1981002205A1 (en) Process and device for the partial post-correction of the colour recognition domains in the recognition of colours
DE19713654B4 (de) Progressiv darstellbare Umrissschrift und Verfahren zum Erzeugen, Übertragen und Darstellen derselben
DE2246029A1 (de) Verfahren zum speichern und anzeigen von daten und anordnung zur durchfuehrung des verfahrens
DE3824977A1 (de) Bildrotationseinrichtung
DE60031624T2 (de) Bildunterteilung die die Übertragung überlappter Bildteile verhindert
DE3038499A1 (de) Farbisolationsverfahren
DE69814326T2 (de) Kodierung von mausbefehlen
CH694882A5 (de) Verfahren zur Einstellung einer Uebertragungscharakteristik einer elektronischen Schaltung.
DE10017551C2 (de) Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens
DE3110471C2 (de) Verfahren und Schaltungsanordnung zur partiellen elektronischen Retusche bei der Farbbildreproduktion
DE3921300A1 (de) Verfahren zum drehen eines objekts in dreidimensionaler darstellung
EP1034511B1 (de) Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung
DE3512681A1 (de) Bildsignalverarbeitungsvorrichtung
EP3353723A1 (de) Verfahren, computerprogramm und system zur übermittlung von daten zur erzeugung eines interaktiven bilds
EP0986790A1 (de) Verfahren zum darstellen von und navigieren in grösseren, grafik-elemente enthaltenden dateien sowie verfahren zur kompression von dateien, enthaltend text und grafik- oder bildinformationen
DE3830990C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee