-
Die vorliegende Erfindung betrifft ein Verfahren sowie ein System zum Erfassen von Benutzereingaben in einer Eingabevorrichtung, insbesondere in einem Fahrzeug. Insbesondere können Benutzereingaben in einem Fahrzeug berührungslos erfasst werden.
-
In modernen Fahrzeugen ist meist zumindest eine Bedieneinheit verbaut, über welcher der Fahrer des Fahrzeugs oder andere Passagiere verschiedene Funktionen steuern können. Dies können verschiedene Fahrzeug- oder Komfortfunktionen sein, wie Einstellungen des Navigationssystems, der Klimaanlage, Sitzeinstellungen, Beleuchtungseinstellungen und der dergleichen. Auch lassen sich verschiedene Funktionen eines Infotainmentsystems bedienen, wie beispielsweise das Abspielen von Musik, Führen von Telefonaten und dergleichen.
-
Herkömmliche Bedieneinheiten lassen sich über entsprechende Bedientasten steuern. Moderne Systeme verfügen meist über mindestens ein Display, welches sich beispielsweise zentral im Armaturenbrett befinden kann. Hier können die einzelnen Funktionen, Menüs und dergleichen dargestellt sein. Diese Displays sind oftmals berührungsempfindlich, d.h. sie sind als Touchscreens ausgebildet, so dass die gewünschte Funktion durch Berühren des Bildschirms gesteuert werden kann. Die Bedienelemente sind zu diesem Zweck derart gestaltet, dass sie mit einem Finger erreicht und bedient werden können. Es kann eine Funktion aufgerufen werden, wenn der entsprechende Bereich des berührungsempfindlichen Bildschirms berührt wird. Es können auch weitere Möglichkeiten der Steuerung vorgesehen sein, wie das Halten und Ziehen eines Bedienelements, Wischgesten und dergleichen.
-
Derartige Bedieneinheiten erfordern jedoch ein berührungsempfindliches Display und sind daher in ihrer Gestaltung begrenzt. Moderne Fahrzeuge weisen zwar oftmals mehrere Displays und immer größere Displays auf. Jedoch sind ist das Platzangebot begrenzt und die Formgebung der Displays ist üblicherweise im Wesentlichen flach und rechteckig und sie können nicht beliebig in einem Fahrzeug verteilt werden. Sie müssen durch einen Benutzer mit der Hand erreichbar sein, um eine Funktion durch Berühren steuern zu können. Andere Oberflächen im Fahrzeug ohne Display stehen nicht für eine Benutzereingabe zur Verfügung.
-
In Fahrzeugen ist auch bekannt, bestimmte Funktionen berührungslos durch Gesten ohne Bezug zu einem Display zu steuern. Dazu führt ein Benutzer bestimmte vorgegebene Gesten im freien Raum aus, beispielsweise in einem Raumbereich der Fahrzeugkabine über der Mittelkonsole oder vor dem Armaturenbrett. Durch Gesten im freien Raum lassen sich beispielsweise Funktionen des Infotainmentsystems steuern, oder andere Fahrzeugfunktionen, wie das Öffnen und Schließen eines Schiebedachs. Während diese Gesten zwar erlernbar sein können, werden diese jedoch im freien Raum ausgeführt und ein Benutzer erhält kein unmittelbares Feedback, beispielsweise wo oder wie genau eine bestimmte Geste auszuführen ist, damit sie erfolgreich und zuverlässig die gewünschte Funktion steuert. Benutzer sind daher oftmals unsicher und es kann schwierig sein, die Gesten korrekt auszuführen, bis sie vom System erkannt werden.
-
Generell ist für die Benutzerfreundlichkeit eine angemessene Rückmeldung (Feedback) sehr hilfreich. Insbesondere bei der berührungslosen Interaktion besteht ein Problem darin, dem Benutzer nützliches, unterstützendes Feedback zu geben. Der Benutzer fühlt sich oft verloren, weiß nicht, wie er interagieren soll und was das System eigentlich erkennt.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, das Erfassen von Benutzereingaben in einer Eingabevorrichtung insbesondere in einem Fahrzeug zu verbessern. Insbesondere soll eine berührungslose Erfassung von Benutzereingaben verbessert werden.
-
Die Lösung dieser Aufgabe wird gemäß der Lehre der unabhängigen Ansprüche erreicht. Verschiedene Ausführungsformen und Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Ein erster Aspekt der Erfindung betrifft ein, insbesondere computerimplementiertes, Verfahren zum Erfassen von Benutzereingaben in einer Eingabeeinrichtung, wobei die Eingabeeinrichtung eine Eingabeoberfläche, auf welcher eine grafische Benutzerschnittstelle mit zumindest einem Steuerelement dargestellt wird, und eine Erfassungseinrichtung aufweist. Bei dem Verfahren wird eine Hand eines Benutzers mittels der Erfassungseinrichtung erfasst und eine Position der Hand in einem Erfassungsbereich bestimmt, wobei der Erfassungsbereich ein dreidimensionaler Raumbereich ist, welcher der Eingabeoberfläche zugeordnet ist. Es wird bestimmt, ob sich die Hand des Benutzers in einem Aktivierungsbereich befindet, wobei der Aktivierungsbereich ein Teil des Erfassungsbereichs ist, welcher in einem Abstand zur Eingabeoberfläche angeordnet ist, und es wird bestimmt, ob sich die Hand des Benutzers in einem Steuerbereich befindet, wobei der Steuerbereich ein Teil des Erfassungsbereichs ist, welcher zwischen der Eingabeoberfläche und dem Aktivierungsbereich angeordnet ist. Wenn bestimmt wird, dass sich die Hand des Benutzers im Steuerbereich befindet, wird ein Statusanzeiger dargestellt, der eine Zeitdauer anzeigt, während der die Hand im Steuerbereich bestimmt wird.
-
Das vorgenannte Verfahren nach dem ersten Aspekt beruht folglich insbesondere darauf, dass Benutzereingaben berührungslos erfasst werden. Die Position der Hand wird in einem dreidimensionalen Raumbereich bestimmt, welcher der Eingabeoberfläche zugeordnet ist, beispielsweise ein Raumbereich, der sich vor der Eingabeoberfläche befindet. Ein Erfassungsbereich ist dabei in zwei Bereiche aufgeteilt. Mit einem Abstand zur Eingabeoberfläche ist zunächst ein Aktivierungsbereich angeordnet. Es kann bereits eine Rückmeldung an den Benutzer erfolgen, wenn sich die Hand in diesem Bereich befindet, wie später genauer erläutert. Befindet sich die Hand dann in dem Steuerbereich, welcher zwischen dem Aktivierungsbereich und der Eingabeoberfläche angeordnet ist, also näher an der Eingabeoberfläche liegt, erfolgt eine Anzeige eines Statusanzeigers.
-
Es sei bemerkt, dass Benutzer dazu die Eingabeoberfläche nicht berühren muss, sondern es ausreichend ist, wenn sich die Hand im Steuerbereich befindet, um eine entsprechende Funktion zu steuern. Es ist somit kein spezielles berührungsempfindliches Display notwendig, was eine flexible Gestaltung der Eingabeoberfläche erlaubt. Durch die Möglichkeit der berührungslosen Interaktion können auch Flächen als Eingabeoberflächen vorgesehen werden, welche nicht für eine Bedienung geeignet sind, die eine Berührung entsprechender Sensoren erfordern würde. Es versteht sich jedoch, dass der Benutzer mit seiner Hand die Eingabeoberfläche trotzdem berühren kann. Dies hat im Sinne der Erfindung jedoch keinen Einfluss auf die Steuerung. Eine solche Eingabeoberfläche kann sich insbesondere in einem Fahrzeug befinden.
-
Der Statusanzeiger gibt dem Benutzer eine Rückmeldung über die erfolgreiche Betätigung des Steuerelements. Der Statusanzeiger ist so gestaltet, dass er dem Benutzer anzeigt, wie lange er das Steuerelement schon betätigt. Es kann somit ein Verfahren geschaffen werden, um mit verzögerten, ungenauen Berührungen durch den Benutzer und mit Verdeckungen durch Finger umzugehen. Der Benutzer erwartet unter Umständen eine sofortige Betätigung des Steuerelements, was aufgrund von Ungenauigkeiten nicht immer leicht zu bestimmen ist. Daher bekommt der Benutzer mit dem Statusanzeiger nun eine Möglichkeit, die Reaktion des Systems zu erkennen.
-
Der hier verwendete Begriff „Benutzerschnittstelle“ bzw. „grafische Benutzerschnittstelle“ bezieht sich insbesondere auf eine grafische Darstellung von Steuerelementen, welche mit einer bestimmten Funktion verknüpft sind und es einem Benutzer erlauben, die Funktion zu steuern. Die Benutzerschnittstelle („user interface“ - „UI“ bzw. „graphical user interface“ - GUI) kann „Steuerelemente“ („UI-Elemente“), wie Eingabeflächen, Schaltflächen, Symbole, Buttons, Icons, Schieberegler, Symbolleisten, Auswahlmenüs und dergleichen enthalten, die ein Benutzer betätigen kann, insbesondere im Sinne der vorliegenden Erfindung, ohne diese zu berühren. Die (grafische) Benutzerschnittstelle kann auch als (grafische) Benutzeroberfläche bezeichnet werden.
-
Der hier verwendete Begriff „Statusanzeiger“ bezieht sich insbesondere auf eine grafische Darstellung eines Status eines Steuerelements, insbesondere eines zeitabhängigen Status. Der Statusanzeiger zeigt eine Zeitdauer an. Dem Benutzer kann so der Eindruck vermittelt werden, dass das Steuerelement „aufgeladen“ wird, wenn er es gedrückt hält. Der Statusanzeiger kann daher auch als „Ladebalken“ oder ähnliches bezeichnet werden, um das Aufladen des Steuerelements zu verdeutlichen. Wenn der Statusanzeiger einem Steuerelement zugeordnet ist, kann auch das zugehörige Steuerelement als „aufgeladen“, „aufzuladen“ und dergleichen bezeichnet werden.
-
Der hier verwendete Begriff „Eingabeoberfläche“ bezieht sich insbesondere auf eine beliebige Oberfläche, insbesondere in einem Fahrzeug, auf welcher die Benutzeroberfläche grafisch darstellbar ist. Es kann sich um ein Display handeln oder eine auch eine Projektionsfläche wie nachfolgend genauer beschrieben. Die Eingabeoberfläche kann eine beliebige Gestaltung aufweisen. Sie kann flach, eben und rechteckig sein, oder auch eine beliebige Gestalt aufweisen. Insbesondere lässt sich ein Punkt auf der Eingabeoberfläche jedoch mit zweidimensionalen Koordinaten beschreiben.
-
Der hier verwendete Begriff „Erfassungseinrichtung“ bezieht sich insbesondere auf eine Einrichtung, welche kontaktlos Objekte im dreidimensionalen Raum erfassen und dessen Position bestimmen kann. Insbesondere kann die Erfassungseinrichtung eine Hand eines Benutzers erfassen und lokalisieren. Beispielsweise können optische Verfahren angewandt werden, um eine Hand eines Benutzers im Raum zu erfassen. Die Erfassungseinrichtung kann aus einem Teil oder mehreren Teilen bestehen, was abhängig davon sein kann, welcher Erfassungsbereich abgedeckt werden soll. Beispielsweise kann eine Kamera vorgesehen sein, oder mehrere Kameras.
-
Der hier verwendete Begriff „dreidimensionaler Raumbereich“ bezieht sich insbesondere auf einen Bereich, welcher durch dreidimensionale Koordinaten beschrieben werden kann. Eine Position in dem dreidimensionalen Raumbereich hat eindeutige dreidimensionale Koordinaten. Das Koordinatensystem kann beliebig gewählt werden. Es kann beispielsweise ein Koordinatensystem der Erfassungseinrichtung gewählt werden, oder ein Koordinatensystem bezüglich der Eingabeoberfläche. Es besteht insbesondere ein Bezug zwischen dem Erfassungsbereich und der Eingabeoberfläche, um die Position der Hand entsprechenden Stellen auf der Eingabeoberfläche zuordnen zu können.
-
Der hier verwendete Begriff „Fahrzeug“ bezieht sich insbesondere auf einen Pkw, einschließlich aller Arten von Kraftfahrzeugen, Hybrid- und batteriebetriebenen Elektrofahrzeugen sowie Fahrzeuge wie Limousinen, Vans, Busse, Lkw, Lieferwagen und dergleichen.
-
Der hier verwendete Begriff „Funktion“ bezieht sich insbesondere auf technische Merkmale, welche insbesondere in einem Fahrzeug, beispielsweise im Innenraum vorhanden sein können, um durch eine entsprechende Steuerung gesteuert zu werden. Insbesondere können dies Funktionen des Fahrzeugs und/oder eines Infotainmentsystems sein, wie Beleuchtung, Audioausgabe (z.B. Lautstärke), Klima, Telefon, usw.
-
Die hierein gegebenenfalls verwendeten Begriffe „umfasst“, „beinhaltet“, „schließt ein“, „weist auf“, „hat“, „mit“, oder jede andere Variante davon sollen eine nicht ausschließliche Einbeziehung abdecken. So ist beispielsweise ein Verfahren oder eine Vorrichtung, die eine Liste von Elementen umfasst oder aufweist, nicht notwendigerweise auf diese Elemente beschränkt, sondern kann andere Elemente einschließen, die nicht ausdrücklich aufgeführt sind oder die einem solchen Verfahren oder einer solchen Vorrichtung inhärent sind.
-
Ferner bezieht sich „oder“, sofern nicht ausdrücklich das Gegenteil angegeben ist, auf ein inklusives oder und nicht auf ein exklusives „oder“. Zum Beispiel wird eine Bedingung A oder B durch eine der folgenden Bedingungen erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden), und sowohl A als auch B sind wahr (oder vorhanden).
-
Die Begriffe „ein“ oder „eine“, wie sie hier verwendet werden, sind im Sinne von „ein/eine oder mehrere“ definiert. Die Begriffe „ein anderer“ und „ein weiterer“ sowie jede andere Variante davon sind im Sinne von „zumindest ein Weiterer“ zu verstehen.
-
Der Begriff „Mehrzahl“, wie er hier verwendet wird, ist im Sinne von „zwei oder mehr“ zu verstehen.
-
Unter dem Begriff „konfiguriert“ oder „eingerichtet“ eine bestimmte Funktion zu erfüllen, (und jeweiligen Abwandlungen davon) ist im Sinne der Erfindung zu verstehen, dass die entsprechende Vorrichtung bereits in einer Ausgestaltung oder Einstellung vorliegt, in der sie die Funktion ausführen kann oder sie zumindest so einstellbar - d.h. konfigurierbar - ist, dass sie nach entsprechender Einstellung die Funktion ausführen kann. Die Konfiguration kann dabei beispielsweise über eine entsprechende Einstellung von Parametern eines Prozessablaufs oder von Schaltern oder ähnlichem zur Aktivierung bzw. Deaktivierung von Funktionalitäten bzw. Einstellungen erfolgen. Insbesondere kann die Vorrichtung mehrere vorbestimmte Konfigurationen oder Betriebsmodi aufweisen, so dass das Konfigurieren mittels einer Auswahl einer dieser Konfigurationen bzw. Betriebsmodi erfolgen kann.
-
Nachfolgend werden bevorzugte Ausführungsformen des Verfahrens beschrieben, die jeweils, soweit dies nicht ausdrücklich ausgeschlossen wird oder technisch unmöglich ist, beliebig miteinander sowie mit den weiteren beschriebenen anderen Aspekten der Erfindung kombiniert werden können.
-
Bei einigen Ausführungsformen wird eine Funktion der Benutzerschnittstelle erst dann gesteuert, wenn eine vorgegebene Zeitdauer verstrichen ist, während der die Hand des Benutzers im Steuerbereich bestimmt wird. Ein weiterer Vorteil dieser Art von Steuerelement mit Statusanzeiger kann somit dadurch erreicht werden, dass die Aktivierung des Steuerelements für eine kurze Zeit aufgehoben werden kann. Dadurch können Fehlbedienungen vermieden werden, da der Benutzer während der Anzeige des Statusanzeigers genügend Zeit für eine Korrektur und gegebenenfalls Auswahl eines anderen Steuerelements hat.
-
Bei einigen Ausführungsformen zeigt der Statusanzeiger einen Anteil der vorgegebenen Zeitdauer anzeigt, welcher seit einem Eintreten der Hand des Benutzers in den Steuerbereich verstrichen ist. Dies kann beispielsweise grafisch erfolgen, indem ein Balken während der Zeitdauer läuft, beispielsweise im Kreis, wobei der volle Kreis mit Ablauf der vorgegebenen Zeitdauer erreicht ist. Der Benutzer kann somit erkennen, wie viel Zeit er das Steuerelement noch bis zur tatsächlichen Auslösung halten muss oder wie viel Zeit gegebenenfalls noch für eine Korrektur der Auswahl des Steuerelements verbleibt.
-
Bei einigen Ausführungsformen ist der Statusanzeiger dem Steuerelement zugeordnet und eine dem Steuerelement zugeordnete Funktion wird erst dann gesteuert, wenn eine vorgegebene Zeitdauer verstrichen ist, während der die Hand des Benutzers im Steuerbereich bestimmt wird. Eine eindeutige Zuordnung des Statusanzeigers zu einem Steuerelement erleichtert das Verständnis der Rückmeldung für den Benutzer. Es kann für jedes Steuerelement ein eigener Statusanzeiger vorgesehen sein, beispielsweise in räumlicher Nähe auf der Benutzeroberfläche. Beispielsweise kann um eine Schaltfläche herum ein Statusanzeigers in Form eines sich aufbauenden Balkens angezeigt werden.
-
Bei einigen Ausführungsformen wird des Weiteren eine Position eines Zeigers auf der Eingabeoberfläche bestimmt, wobei die Position des Zeigers durch Projektion der Position der Hand auf die Eingabeoberfläche bestimmt wird, wenn die Position der Hand in dem Erfassungsbereich erkannt wird. Bei der Projektion kann es sich insbesondere um eine orthogonale Projektion handeln, wobei die Position der Hand im dreidimensionalen Raum auf zweidimensionale Koordinaten der Eingabeoberfläche abgebildet wird. Neben einem Abstand der Hand von der Eingabeoberfläche, welcher wie oben beschrieben bestimmt werden kann, insbesondere mit Hilfe des Aktivierungsbereichs und des Steuerbereichs, kann ein Zeiger bestimmt werden. Dieser gibt insbesondere eine Stelle auf der Eingabeoberfläche an, welche aus der Position der Hand bestimmt wird. So kann durch Bewegen des Zeigers durch entsprechende Bewegung der Hand eine Funktion auf der grafischen Benutzeroberfläche ausgewählt werden.
-
Die Position des Zeigers kann wie erwähnt durch eine orthogonale Projektion der Position der Hand aus dem dreidimensionalen Raum auf die zweidimensionale Eingabeoberfläche erfolgen. Die Position der Hand kann durch einen Punkt der Hand definiert sein, welcher am nächsten zur Eingabeoberfläche liegt, wie nachfolgend erläutert. Dies kann auch eine Fingerspitze sein, die in Richtung der Eingabeoberfläche zeigt. Statt einer orthogonalen Projektion kann auch vorgesehen sein, eine Zeigerichtung eines Fingers, beispielsweise eines ausgestreckten Zeigefingers zu ermitteln und die Position des Zeigers auf der Eingabeoberfläche durch Verlängerung in Zeigerichtung zu ermitteln.
-
Bei einigen Ausführungsformen zeigt der Statusanzeiger eine Zeitdauer an, wenn bestimmt wird, dass sich die Hand des Benutzers im Steuerbereich befindet und die Position des Zeigers innerhalb eines Bereichs der Benutzerschnittstelle auf der Eingabeoberfläche liegt, die dem Steuerelement zugeordnet ist, während der die Hand im Steuerbereich bestimmt wird und die Position des Zeigers innerhalb des Bereichs der Benutzerschnittstelle liegt.
-
Vorteilhaft wird die Position des Zeigers für die Auswahl eines entsprechenden Steuerelements genutzt. Der Zeiger spiegelt die Position der Hand aus dem dreidimensionalen Raum auf der Eingabeoberfläche, d.h. auf der grafischen Benutzeroberfläche wider. Der Zeiger kann bewegt werden, sobald sich die Hand im Erfassungsbereich befindet. Wenn die Hand im Steuerbereich ist, kann ein Steuerelement ausgewählt werden, abhängig von der Stelle, an der sich der Zeiger dann befindet, und ein entsprechender Statusanzeiger angezeigt werden.
-
Bei einigen Ausführungsformen gibt die Darstellung der Benutzerschnittstelle die Position des Zeigers an, wenn die Position der Hand in dem Erfassungsbereich erkannt wird. Die Darstellung kann dabei den Zeiger selbst anzeigen, z.B. als Punkt auf der Eingabeoberfläche. Es kann jedoch auch vorgesehen sein, den Zeiger auf andere Weise anzuzeigen, beispielsweise durch Hervorheben eines Bereichs, in dem sich der Zeiger befindet, wie beispielsweise eine Schaltfläche, welche sich im Bereich des Zeigers befindet. Dies dient dazu, dem Benutzer entsprechende Rückmeldung zu geben, wo sich der Zeiger auf der Eingabeoberfläche befindet, um die Bedienung zu vereinfachen. Mit anderen Worten, der Bereich, in dem sich der Zeiger befindet, rückt für den Benutzer in den Fokus, sodass der Aktivierungsbereich auch als „Fokusbereich“ bezeichnet werden kann.
-
Bei einigen Ausführungsformen weist der Steuerbereich eine Grundfläche auf, welche zumindest die Eingabeoberfläche enthält und sich der Steuerbereich von der Grundfläche bis zu einer Deckfläche erstreckt, wobei ein Abstand zwischen der Grundfläche und der Deckfläche des Steuerbereichs dem Abstand zwischen der Eingabeoberfläche und dem Aktivierungsbereich entspricht. Die Grundfläche kann auch im Wesentlichen der Eingabeoberfläche entsprechen. Die Grundfläche und Deckfläche können gleich groß sein. Beispielsweise kann der Steuerbereich quaderförmig mit der Eingabefläche als Grundfläche ausgebildet sein. Der Steuerbereich schließt somit direkt an die Eingabeoberfläche an und nimmt den Raumbereich vor der Eingabeoberfläche ein, insbesondere auf der gesamten Fläche der Eingabeoberfläche. Der Abstand kann entsprechend den Anforderungen gewählt werden, beispielsweise etwa 2 cm bis etwa 5 cm, wie etwa 3 cm. Mit anderen Worten, der Steuerbereich ist der Bereich in unmittelbarer Nähe zur Eingabeoberfläche. Wenn sich also ein Benutzer mit seiner Hand in die Nähe der Eingabeoberfläche begibt (oder diese berührt), d.h. in den Steuerbereich hinein, kann eine Funktion gesteuert werden. Bleibt die Hand außerhalb des Steuerbereichs, mit anderen Worten, weiter weg als der Abstand (bzw. die „Tiefe“ des Steuerbereichs), erfolgt keine Steuerung oder ein „Loslassen“ der Benutzerschnittstelle.
-
Bei einigen Ausführungsformen grenzt der Aktivierungsbereich an den Steuerbereich an, wobei der Aktivierungsbereich eine Grundfläche aufweist, welche zumindest die Deckfläche des Steuerbereichs enthält. Die Grundfläche des Aktivierungsbereichs kann der Deckfläche des Steuerbereichs entsprechend. Der Aktivierungsbereich kann beispielsweise quaderförmig sein. Der Aktivierungsbereich bildet somit einen Bereich, der von der Eingabeoberfläche weiter weg ist als der Steuerbereich. Nähert sich ein Benutzer mit seiner Hand der Eingabeoberfläche, wird er typischerweise mit seiner Hand also zuerst in den Aktivierungsbereich gelangen, erst dann in den Steuerbereich. Wenn die Hand im Aktivierungsbereich ist, kann dies beispielsweise dazu genutzt werden, um die Benutzerschnittstelle „aufzuwecken“, was optisch angezeigt werden kann. Der Benutzer erhält somit vor der eigentlichen Ausführung der Steuerung Frühzeit ein Feedback, wenn sich seine Hand im Aktivierungsbereich befindet. Dies kann die darauffolgende Steuerung erleichtern, da der Benutzer erkennen kann, dass seine Hand ordnungsgemäß detektiert wurde, was die Navigation erleichtern kann. Insbesondere da der Benutzer seine Hand frei im Raum vor der Eingabeoberfläche bewegt, kann dies hilfreich sein.
-
Bei einigen Ausführungsformen ist ein Abstand zwischen der Grundfläche und der Deckfläche des Aktivierungsbereichs größer als der Abstand zwischen der Eingabeoberfläche und dem Aktivierungsbereich. Der Aktivierungsbereich ist somit größer als der Steuerbereich. Dadurch kann in einem größeren Bereich bereits eine Rückmeldung für den Benutzer gegeben werden, während die eigentliche Steuerung oder Bedienung der Benutzerschnittstelle in einem kleineren Bereich nahe der Eingabeoberfläche stattfindet. Je nach Anwendungsfall können die Abmessungen entsprechend angepasst werden. Der Aktivierungsbereich kann beispielsweise eine Tiefe von 10 cm oder mehr aufweisen.
-
Bei einigen Ausführungsformen wird als die Position der Hand des Benutzers eine Position eines Punktes der Hand des Benutzers bestimmt, welcher am nächsten zur Eingabeoberfläche ist. Um eine eindeutige Positionsbestimmung der Hand des Benutzers zu erlauben, wird vorteilhaft ein Punkt der Hand ausgewählt, welcher die Position der Hand repräsentiert. Als Position der Hand kann zwar prinzipiell ein beliebiger Punkt der Hand gewählt werden, wie z.B. ein Zentrum der Hand. Es ist jedoch vorteilhaft, denjenigen Punkt der Hand für die Positionsbestimmung heranzuziehen, welcher der Eingabeoberfläche am nächsten ist. Dies erleichtert die Berechnung der Position der Hand. Außerdem kann der vorderste Punkt der Hand aus Sicht des Benutzers für die Eingabe auf der Eingabeoberfläche als besonders relevant angesehen werden.
-
Bei einigen Ausführungsformen umfasst das Erfassen der Hand des Benutzers ein Bestimmen, ob zumindest ein Finger der Hand in Richtung der Eingabeoberfläche weist. Prinzipiell kann die Stellung der Hand beliebig sein und die Position der Hand wie oben beschrieben in dem Erfassungsbereich bestimmt werden. Für eine genauere Bestimmung kann jedoch bestimmt werden, ob der Benutzer einen Finger in Richtung der Eingabeoberfläche ausstreckt, beispielsweise den Zeigefinger. Diese Handstellung kann ein Benutzer intuitiv zur Bedienung anwenden. Es kann dann vorgesehen sein, eine Funktion nur dann zu steuern, wenn der Benutzer eine Zeigebewegung macht, indem er z.B. seinen Zeigefinger ausstreckt. Wenn der Benutzer keine Zeigebewegung macht, kann die Steuerung einer Funktion unterdrückt werden, da es in einem solchen Fall sein kann, dass der Benutzer nicht beabsichtigt, eine Funktion zu steuern. Das Bestimmen der Handstellung kann daher die Genauigkeit der Bedienung verbessern. Außerdem lässt sich die Position einer Fingerspitze mit höherer Genauigkeit bestimmen. Diese Position kann dann also die maßgebliche Position der Hand angenommen werden, insbesondere wenn die Fingerspitze des ausgestreckten Fingers derjenige Punkt der Hand ist, welcher der Eingabeoberfläche am nächsten ist, wie oben beschrieben.
-
Bei einigen Ausführungsformen wird die Funktion der Benutzerschnittstelle aktiviert, wenn bestimmt wird, dass die Hand in den Steuerbereich eintritt, und deaktiviert, wenn die Hand den Steuerbereich verlässt. Beispielsweise kann eine Bedienfläche der grafischen Benutzerschnittstelle gedrückt werden, wenn der Benutzer mit seiner Hand (oder seiner Fingerspitze) in den Steuerbereich eindringt, also der Eingabeoberfläche sehr nahe kommt (oder sie berührt). Solange die Hand in dem Steuerbereich ist, kann die Bedienfläche dann beispielsweise gehalten werden. Sie kann dann losgelassen werden, wenn der Benutzer seine Hand zurückzieht, d.h. wenn die Hand (oder die Fingerspitze) den Steuerbereich verlässt. Das Eintreten und Verlassen der Hand in den Steuerbereich kann so vorteilhaft für die Interaktion mit der Benutzeroberfläche genutzt werden. Weitere Möglichkeiten, wie verschiedene Ereignisse, welche durch die Position der Hand, genauer den Abstand der Hand zur Eingabeoberfläche, ausgelöst werden können, werden nachfolgend erläutert.
-
Bei einigen Ausführungsformen wird des Weiteren zumindest ein Übergangsereignis bestimmt. Ein Übergangsereignis kann festgestellt werden, wenn die Hand von einem der Bereiche in einen anderen übertritt, also einen Bereich verlässt und in einen anderen eintritt. Dies kann insbesondere dann der Fall sein, wenn bestimmt wird, dass: die Hand in den Steuerbereich eintritt, die Hand den Steuerbereich verlässt, die Hand in den Aktivierungsbereich eintritt, die Hand den Aktivierungsbereich verlässt, die Hand den Erfassungsbereich verlässt oder die Hand in den Erfassungsbereich eintritt. Zusammen mit der Position auf der Eingabeoberfläche, d.h. der Zeigerposition wie oben erläutert, kann so eine vollständige Steuerung der Benutzerschnittstelle implementiert werden.
-
Ein zweiter Aspekt der Erfindung betrifft ein System zur Datenverarbeitung, aufweisend zumindest einen Prozessor, der so konfiguriert ist, dass er das Verfahren nach dem ersten Aspekt der Erfindung ausführt. Das System weist zudem zumindest eine Anzeigeeinrichtung auf, welche eingerichtet ist, eine grafische Benutzerschnittstelle auf einer Eingabeoberfläche anzuzeigen, und eine Erfassungseinrichtung, welche eingerichtet ist, eine Hand eines Benutzers in einem dreidimensionalen Raumbereich zu erfassen und eine Position der Hand in dem dreidimensionalen Raumbereich zu bestimmen.
-
Bei einigen Ausführungsformen des Systems umfasst die Anzeigeeinrichtung eine Projektionseinrichtung, welche eingerichtet ist, eine Darstellung der grafischen Benutzerschnittstelle auf eine Oberfläche zu projizieren. Dies erlaubt eine freie Gestaltung der Anzeige der Benutzerschnittstelle auf jeglichen Oberflächen, auf welche die Benutzeroberfläche projiziert werden kann. Beispielsweise können so Bereiche des Armaturenbretts eines Fahrzeugs für die Anzeige der Benutzerschnittstelle genutzt werden, ohne dass diese mit einem Display oder dergleichen ausgestattet werden müssen. Auch andere Bereiche, wie die Mittelkonsole oder auch beispielsweise die A-Säule eines Fahrzeugs können so flexibel für die Anzeige der Benutzerschnittstelle genutzt werden. Ein Projektor kann sich beispielsweise im Dachhimmel, z.B. im Bereich des Innenspiegels befinden, und die Benutzerschnittstelle auf beliebige Oberflächen projizieren, welche dann als Eingabeoberfläche für eine berührungslose Steuerung wie oben beschrieben genutzt werden können. Es versteht sich, dass die Anzeigeeinrichtung auch als Display ausgebildet sein, welches jedoch im Sinne der Erfindung nicht berührungsempfindlich sein muss.
-
Bei einigen Ausführungsformen des Systems umfasst die Erfassungseinrichtung zumindest eine Bilderfassungseinrichtung, insbesondere eine Kamera. Mittels einer Kamera kann auf einfache Weise die Position der Hand eines Benutzers im dreidimensionalen Raum bestimmt werden. Es kann eine Kamera oder es können mehrere Kameras vorgesehen sein. Die Kamera kann eine Infrarot-Kamera sein. Vorteilhaft ist die zumindest eine Kamera eine Time-of-Flight-Kamera (ToF-Kamera). Durch Verwendung einer solchen 3D-Sensoreinrichtung können direkt die Position der Hand im dreidimensionalen Raum und ihre Bewegung erfasst werden. Es können auch 2D-Sensoren kombiniert werden, um die Position der Hand im dreidimensionalen Raum zu erfassen.
-
Ein dritter Aspekt der Erfindung betrifft ein Computerprogramm mit Instruktionen, die bei ihrer Ausführung auf einem System nach dem zweiten Aspekt dieses veranlassen, das Verfahren nach dem ersten Aspekt auszuführen.
-
Das Computerprogramm kann insbesondere auf einem nichtflüchtigen Datenträger gespeichert sein. Bevorzugt ist dies ein Datenträger in Form eines optischen Datenträgers oder eines Flashspeichermoduls. Dies kann vorteilhaft sein, wenn das Computerprogramm als solches unabhängig von einer Prozessorplattform gehandelt werden soll, auf der das ein bzw. die mehreren Programme auszuführen sind. In einer anderen Implementierung kann das Computerprogramm als eine Datei auf einer Datenverarbeitungseinheit, insbesondere auf einem Server vorliegen, und über eine Datenverbindung, beispielsweise das Internet oder eine dedizierte Datenverbindung, wie etwa ein proprietäres oder lokales Netzwerk, herunterladbar sein. Zudem kann das Computerprogramm eine Mehrzahl von zusammenwirkenden einzelnen Programmodulen aufweisen.
-
Das System nach dem zweiten Aspekt kann entsprechend einen Programmspeicher aufweisen, in dem das Computerprogramm abgelegt ist. Alternativ kann das System auch eingerichtet sein, über eine Kommunikationsverbindung auf ein extern, beispielsweise auf einem oder mehreren Servern oder anderen Datenverarbeitungseinheiten verfügbares Computerprogramm zuzugreifen, insbesondere um mit diesem Daten auszutauschen, die während des Ablaufs des Verfahrens bzw. Computerprogramms Verwendung finden oder Ausgaben des Computerprogramms darstellen.
-
Die in Bezug auf den ersten Aspekt der Erfindung erläuterten Merkmale und Vorteile gelten entsprechend auch für die weiteren Aspekte der Erfindung.
-
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung ergeben sich aus der nachfolgenden detaillierten Beschreibung im Zusammenhang mit den Zeichnungen.
-
Dabei zeigt:
- 1 schematisch eine Eingabeeinrichtung gemäß einer Ausführungsform mit einer Eingabeoberfläche, einer Anzeigeeinrichtung und einer Erfassungseinrichtung;
- 2 schematisch eine dreidimensionale Ansicht eines Erfassungsbereichs vor einer Eingabeoberfläche;
- 3 schematisch eine Seitenansicht eines Erfassungsbereichs vor einer Eingabeoberfläche (Hand im Fokusbereich);
- 4 schematisch eine Seitenansicht eines Erfassungsbereichs vor einer Eingabeoberfläche (Hand im Steuerbereich);
- 5 schematisch ein Steuerelement mit einem Zeiger in unterschiedlichen Positionen; und
- 6 verschiedene Ansichten einer Schaltfläche.
-
In den Figuren werden durchgängig dieselben Bezugszeichen für dieselben oder einander entsprechenden Elemente der Erfindung verwendet.
-
In 1 ist eine Eingabeeinrichtung zum Erfassen einer Benutzereingabe veranschaulicht. Auf einer Eingabeoberfläche 1 wird eine grafische Benutzeroberfläche (GUI) dargestellt. Diese kann mittels eines Projektors 2 auf die Eingabeoberfläche 1 projiziert werden. Alternativ kann die Eingabeoberfläche 1 auch durch einen Bildschirm, wie ein herkömmliches Display gebildet werden, welches kein berührungsempfindliches Display sein muss. Somit kann jede Oberfläche zur Erkennung von Annäherung verwendet werden, beispielsweise eine beliebige Oberfläche in einem Fahrzeug. Wie nachfolgend erläutert, werden Benutzereingaben berührungslos erfasst, und der Benutzer kann eine entsprechende Rückmeldung des Systems erhalten, um die Bedienung der Benutzeroberfläche zu vereinfachen. Dazu ist als Sensor eine Erfassungseinrichtung 3 vorgesehen, welche eine Hand eines Benutzers erfasst und deren Position im dreidimensionalen Raum bestimmt. Die Erfassungseinrichtung 3 kann beispielsweise ein 3D-Sensor, wie eine Time-of-Flight-Kamera sein, oder kann optische 2D-Sensoren umfassen. Das System ermöglicht es dem Benutzer, die Eingabeoberfläche 1 (oder gegebenenfalls einen Bildschirm) zu berühren, wenn er dies möchte. Auf diese Weise kann ein ähnliches Erlebnis wie bei herkömmlichen Touchscreens, aber mit gewissen Unterschieden im Verhalten erreicht werden. Die Steuerung ist aber grundsätzlich ohne Berührung möglich.
-
Die Erfassungseinrichtung 3 bildet ein Handerkennungssystem, das in einem geeigneten Sichtfeld (dem Erfassungsbereich) die Hand einer Person in Echtzeit in geeigneter Detailgenauigkeit erkennt. Das bedeutet, dass die Erfassungseinrichtung 3 in der Lage sein kann, Positionen von Fingerspitzen in einem definierten 3D-Weltkoordinatensystem (das mit dem Sensorkoordinatensystem übereinstimmen kann oder auch nicht) zu erkennen. Darüber hinaus kann es vorgesehen sein, dass eine Klassifizierung erfolgt, ob ein gestreckter (zeigender) Finger vorhanden ist oder nicht, d.h. ob eine erkannte Hand gerade eine Zeigegeste macht. Es kann zudem noch eine Steuereinheit („Controller“; nicht dargestellt) vorgesehen sein, der eine Kalibrierung des Systems vornimmt. Insbesondere ist dem Controller die physische Position und Größe der Eingabeoberfläche 1 (in Weltkoordinaten) bekannt, sodass er die Erkennungsdaten einer Hand (z.B. Fingerpositionen) geometrisch mit den Oberflächenpositionen in Beziehung setzen kann. Der Controller empfängt die Eingaben des Erkennungssystems und setzt sie in geeignete Eingaben für die GUI-Anwendung um.
-
Wie im Folgenden insbesondere auch mit Bezug auf 2, 3 und 4 erläutert werden wird, ermöglicht das System dem Benutzer, einen Zeiger 9 zu steuern, der eine logische Position auf der Eingabeoberfläche 1 bzw. der Benutzeroberfläche 4 darstellt. Der Zeiger 9 kann ein visuelles Erscheinungsbild haben, muss es aber nicht. Er kann z.B. als Punkt dargestellt werden, oder er ist an sich unsichtbar. Außerdem kann der Zeiger 9 jederzeit logischerweise aktiviert oder deaktiviert werden. Der Zeiger 9 ist deaktiviert, wenn sich die Hand gerade nicht in der Nähe der Eingabeoberfläche 1 befindet, d.h. außerhalb des Erfassungsbereichs 10, nicht in einer zeigenden Haltung ist (so dass kein zeigender Finger erkannt werden kann) oder aus anderen Gründen, die von der Handerkennung gerade nicht erkannt werden.
-
Es ist vorteilhaft, wenn vorgesehen ist, dass der Benutzer den Zeiger 9 mit einer Hand 7 steuert, die sich in einer zeigenden Haltung befindet, d.h. mit einem gestreckten Zeigefinger 8, der sich in der Nähe der Eingabeoberfläche 1 befindet. Außerdem kann der Benutzer eine Steuerung (analog zum Mausklick) auslösen, die durch den Abstand der Hand zur Eingabeoberfläche 1 bestimmt wird. Die verschiedenen Abstandsbereiche vor der Eingabeoberfläche 1 werden nachfolgend erläutert.
-
Die Position des Zeigefingers 8, wie sie von der Erfassungseinrichtung 3 erkannt wird, bestimmt die Position des Zeigers 9 auf der Eingabeoberfläche 1. Es gibt mehrere Varianten, wie eine Zuordnung realisiert werden kann. Insbesondere ist zu beachten, dass die Fingerposition eine Position im dreidimensionalen Raum (Erfassungsbereich 10) ist, während die Zeigerposition ein Wert im zweidimensionalen Raum (Eingabeoberfläche 1 bzw. Bildschirm) ist.
-
Eine einfache und effektive Variante der Zuordnung ist eine orthogonale Projektion der Position der Hand 7 (d.h. der Spitze des Zeigefingers 8) auf die Eingabeoberfläche 1. Die Erfassungseinrichtung 3 erkennt einen zeigenden Finger 8 und die Position seiner Spitze. Die Position des Zeigers 9 kann dann einfach die orthogonale Projektion der Position der Fingerspitze auf die Eingabeoberfläche 1 sein. Wenn kein zeigender Finger erkannt wird, kann der Zeiger deaktiviert werden. Eine weiter vereinfachte Variante dieser Lösung kann darin bestehen, dass einfach die Position einer Handspitze, d.h. des vordersten Punktes der Hand in einer bestimmten Vorwärtsrichtung, erkannt wird und dies als Fingerzeigposition interpretiert wird. Wenn die Vorwärtsrichtung geeignet gewählt ist (etwa orthogonal zum Bildschirm bzw. zur Eingabeoberfläche 1), dann ist diese erkannte Position tatsächlich die Zeigefingerposition, wenn der Benutzer auf den Bildschirm zeigt. Auf diese Weise ist keine Klassifizierung der Finger- oder Zeigeposition erforderlich.
-
Es kann auch vorgesehen sein, dass die Erfassungseinrichtung 3 einen zeigenden Finger 8 einschließlich seiner Zeigerichtung erkennt. Dabei wird ein Zeigefingerstrahl ermittelt, der am unteren Ende des Fingers beginnt und entlang der Fingerrichtung verläuft. Die Zeigerposition 9 ist dann der Schnittpunkt des Zeigestrahls mit der Eingabeoberfläche 1. Dies setzt jedoch voraus, dass ein Zeigefinger einigermaßen gerade ist und eine Zeigerichtung zugewiesen werden kann. Ist dies nicht der Fall, würde das Erkennungssystem die Eingabe ablehnen und der Zeiger würde deaktiviert werden.
-
Die 3D-Fingerposition bestimmt nicht nur die Zeigerposition, sondern auch (bei Interpretation im zeitlichen Kontext) eine Steuerung bzw. einen Auslöser („Trigger“), der zu einer Steuerung einer Funktion führt. Dazu kann der Erfassungsbereich 10 vor der Eingabeoberfläche 1 in zwei dreidimensionale Raumbereiche aufgeteilt werden, welche hier als Steuerbereich 5 und Aktivierungsbereich 6 bezeichnet werden. Diese Bereiche sind im einfachsten Fall, wie in 2 dargestellt, quaderförmige Boxen. Der Steuerbereich 5 kann auch als „Triggerbox“ und der Aktivierungsbereich 6 als „Fokusbox“ bezeichnet werden. Diese Bereiche können jedoch abhängig von der Gestalt der Eingabeoberfläche 1 auch andere Formen annehmen. Die angegebenen Größen sind lediglich beispielhaft und können abhängig von den Gegebenheiten oder dem Anwendungsfall variieren, beispielsweise abhängig von der Lage und Größe der Eingabeoberfläche 1, Inhalt der GUI, usw.
-
Die Grundfläche des Steuerbereichs 5 entspricht der Eingabeoberfläche 1. Die Tiefe des Steuerbereichs 5 kann angemessen gewählt werden, beispielsweise etwa 2 bis 3 cm. Der Aktivierungsbereich 6 ist ein weiterer Bereich, der sich „vor“ oder „über“ dem Steuerbereich 5 befindet und dessen Tiefe ebenfalls angemessen gewählt werden kann, beispielsweise etwa 10 cm. Nun hat die Hand 7 zu jedem Zeitpunkt einen bestimmten Annäherungszustand bezüglich der Eingabeoberfläche 1 und damit der GUI, welcher sich über die An- oder Abwesenheit der Hand 7 im Erfassungsbereich 10 bzw. genauer gesagt Aktivierungsbereich 6 und Steuerbereich 5 ausdrücken lässt. Dies kann einer von drei definierten Zuständen sein, wie nachfolgend erläutert, und wird durch die Position des Zeigefingers 8 bestimmt (wenn eine zeigende Hand erkannt wird).
-
Wenn sich, wie in 3 dargestellt, die Position des Zeigefingers 8 im Aktivierungsbereich 6 (der „Fokusbox“) befindet, kann dieser Zustand als „Fokus“ bezeichnet werden. Wenn sich, wie in 4 dargestellt, die Position des Zeigefingers 8 im Steuerbereich 5 (der „Triggerbox“) befindet, kann dieser Zustand als „Auslöser“ oder „Trigger“ bezeichnet werden. Als Zustand „Leerlauf“ kann eine Situation bezeichnet werden, in der sich die Position des Zeigefingers 8 in keinem der Felder, also außerhalb des Erfassungsbereichs 10 befindet. Dies gilt insbesondere für den Fall, dass überhaupt keine Hand oder kein Zeigefinger erkannt wird. Es ist sinnvoll, einen Filter anzuwenden, um ein Flackern zwischen den Zuständen zu Zeiten zu vermeiden, in denen die erkannte Fingerposition nahe an den Boxgrenzen liegt. Als Filter eignet sich beispielsweise eine Hysterese.
-
Zu jedem Zeitpunkt (bzw. jedem Frame) ist die für das System relevante Handeingabe vollständig durch die aktuelle Zeigerposition (x- und y-Koordinaten) und den aktuellen Annäherungszustand (z-Koordinate) beschrieben. Diese Daten, ein Paar aus Zeigerposition und Annäherungszustand, können als Kontrollzustand bezeichnet werden. Es ist zu beachten, dass die Informationen innerhalb des Kontrollzustands konzeptionell die gleichen sind wie die (relevanten) Informationen über die erkannte Hand, aber vollständig in Bildschirmkoordinaten (bzw. logischen, nicht-geometrischen Informationen) ausgedrückt werden und nicht mehr von der geometrischen Einrichtung und Kalibrierung des Systems (Position des Sensors usw.) abhängen. Daher ist der Steuerzustand eine autarke Eingabe für eine grafische Benutzeroberfläche (GUI), die vollständige Informationen über ein Zeigegerät liefert, ähnlich wie bei einer Maus oder einer Touch-Eingabe.
-
Besonders relevant für die Steuerung sind nun die Momente, in denen sich der Zustand der Annäherung ändert, d.h. wenn die Position der Hand einen der Bereiche verlässt und/oder in einen der Bereiche eintritt. Die (zeitliche) Erkennung der Handposition kann auf Frames basieren, so dass eine Zustandsänderung der Annäherung dann eintritt, wenn der im Frame n+1 ermittelte Kontrollzustand einen anderen Zustand in der Annäherung ergibt als der vorherige Frame n. Daher können die folgenden Übergangsereignisse definiert werden, die Zustandsänderungen entsprechen, und für die Steuerung der Funktionen der Benutzeroberfläche relevant sein können.
-
Das Übergangsereignis „TriggerStateEnterEvent“ wird ausgelöst, wenn der Zustand zu „Auslöser“ wechselt. Das Übergangsereignis „TriggerStateLeaveEvent“ wird ausgelöst, wenn der Zustand „Auslöser“ in einen beliebigen anderen Zustand wechselt. Diese beiden Übergangsereignisse können für die Auswahl von Funktionen genutzt werden, ähnlich wie ein Mausklick oder das Berühren eines Touchscreens. Auf diese Weise kann auch eine Drag-and-Drop-Funktionalität realisiert werden. Solange die Hand (bzw. die Spitze des Zeigefingers 8) im Steuerbereich 5 verbleibt, wird ein Objekt der Benutzeroberfläche gehalten und dann losgelassen, wenn die Hand 7 den Steuerbereich 5 verlässt.
-
Zusätzlich können die folgenden Ereignisse definiert werden. Das Übergangsereignis „FocusStateEnterEvent“ wird ausgelöst, wenn der Zustand zu „Fokus“ wechselt. Das Übergangsereignis „FocusStateLeaveEvent“ wird ausgelöst, wenn der Zustand von „Fokus“ in einen beliebigen anderen Zustand wechselt. Das Übergangsereignis „IdleStateEnterEvent“ wird ausgelöst, wenn der Zustand in „Leerlauf“ wechselt. Das Übergangsereignis „IdleStateLeaveEvent“ wird ausgelöst, wenn der Zustand von „Leerlauf“ in einen beliebigen anderen Zustand wechselt. Diese Ereignisse ermöglichen die Implementierung zusätzlicher Funktionen. Beispielsweise kann die Darstellung der Benutzerschnittstelle auf die Tatsache reagieren, dass der Benutzer sich nicht mit der steuernden Hand in der Nähe der Eingabeoberfläche 1 befindet, sich jedoch aber der Eingabeoberfläche 1 nähert, indem er mit seiner Hand in den Aktivierungsbereich 6 eindringt. So erhält der Benutzer ein Feedback, dass das System auf seine Hand 7 erfolgreich reagiert und er kann die Bedienung fortsetzen.
-
Generell ist für die Benutzerfreundlichkeit eine angemessene Rückmeldung (Feedback) sehr hilfreich. Insbesondere bei der berührungslosen Interaktion besteht ein Problem darin, dem Benutzer nützliches, unterstützendes Feedback zu geben. Der Benutzer fühlt sich oft verloren, weiß nicht, wie er interagieren soll und was das System eigentlich erkennt. Das hier beschriebene System kann direktes Feedback durch räumliche Informationen über die Fingerposition geben, so dass der Benutzer versteht, was das System erkennt, um darauf zu reagieren und die Fingerposition und -bewegung anzupassen. Es werden verschiedene Zustände für Steuerelemente der Benutzeroberfläche („UI-Elemente“) beschrieben, die in Abhängigkeit von der Benutzerinteraktion Echtzeitinformationen und damit Feedback an den Benutzer zurückgeben. Das System zeigt, was es erkennt und welche Ul-Elemente bedient werden können. Neben einer optischen Rückmeldung kann auch eine akustische Rückmeldung vorgesehen sein, beispielsweise verschiedene Klickgeräusche.
-
Bei der Interaktion mit Ul-Elementen in einem 3D-Raum muss das System sensibel auf Veränderungen der Fingerposition des Benutzers reagieren. Mehr Feedback gibt dem Benutzer mehr Sicherheit. Die Kombination aus horizontaler und vertikaler Bewegung des Fingers zusammen mit den Tiefendaten (Abstand zum Bildschirm bzw. zur Eingabeoberfläche) führt zu komplexen Zustandsänderungen, wie oben beschrieben.
-
Insbesondere in einer Situation, in der ein Benutzer in einem Fahrzeug sitzt und mit virtuell dargestellten Objekten auf einem Armaturenbrett interagieren will, ist ein entsprechendes Feedback vorteilhaft. Sobald er den Finger hebt, um ein Element der Benutzeroberfläche auszuwählen, können anklickbare Elemente größer erscheinen und leicht hervorgehoben werden. Fährt er nun mit dem Finger über eines dieser Elemente, kann es zusätzlich durch einen „Hover-Effekt“ hervorgehoben werden. Klickt er nun auf das Element, kann es optisch wie ein echter Button zum Herunterklicken erscheinen. Der Benutzer lernt mit der Zeit immer besser zu interagieren, so dass sein „Klick“ vom System erkannt wird.
-
5 zeigt schematisch ein Steuerelement 13, welches in Form einer runden Schaltfläche dargestellt ist und so für einen Benutzer als Teil der Benutzeroberfläche 4 sichtbar ist. Für die Bedienung bzw. Steuerung ist es jedoch vorteilhaft, wenn ein Benutzer mit dem Zeiger 9 das Steuerelement nicht exakt treffen muss. Zu diesem Zweck ist der sichtbare Bereich des Steuerelements 13 von einem Bereich 14 umgeben. Dieser ist der Einfachheit halber viereckig entlang der x- und y-Koordinaten. Links ist eine Situation dargestellt, in welcher der Zeiger 9 außerhalb des Steuerelements 13 und insbesondere auch außerhalb des Bereichs 14 liegt. Das Steuerelement 13 wird nicht angesprochen. Liegt der Zeiger 9 jedoch innerhalb des Bereichs 14, wie rechts in 5 dargestellt, wird das Steuerelement 13 angesprochen. Im Folgenden wird daher davon ausgegangen, dass der Zeiger 9 das Steuerelement 13 selbst oder zumindest den umgebenden Bereich 14 eines Steuerelements 13 trifft, um das Steuerelement 13 auszulösen. Der Zeiger 9 wird als „auf dem Steuerelement 13“ angesehen, wenn sich seine Position zumindest im Bereich 14 befindet.
-
In 6 ist nun das Steuerelement 13 während einer Zeitdauer, in der es durch einen Benutzer betätigt wird, dargestellt. Ein Statusanzeiger 15 ist vorgesehen, um während der Bedienung ein Feedback zu geben. Insbesondere kann dem Benutzer eine Rückmeldung gegeben werden, ob und wann er das Steuerelement 13 auslöst, d.h. die Schaltfläche betätigt. Dadurch können etwaige Ungenauigkeiten bei der Berechnung des Abstands des Zeigefingers 8 zur Eingabeoberfläche 1 für den Benutzer kompensiert werden, da der Benutzer den Zeitpunkt, wann er mit seinem Finger in den Steuerbereich 5 eintritt, nicht direkt spürt. Ein Benutzer wird üblicherweise erwarten, dass das Steuerelement 13 sofort reagiert, spätestens wenn er die Eingabeoberfläche 1 mit seinem Finger berührt.
-
Als Anzeige dient in diesem Ausführungsbeispiel ein Statusanzeiger in Form eines kreisförmigen Ladebalkens 15. Er erhält somit eine Rückmeldung über die Betätigung der Schaltfläche 13, insbesondere eine zeitabhängige Rückmeldung über die Dauer der Betätigung der Schaltfläche. 6 zeigt verschiedene Stadien der „Aufladung“, d.h. der Zeitspanne, während die Schaltfläche 13 gehalten wird. Zunächst erscheint die Schaltfläche 13 als solche (ganz links in 6) ohne Statusanzeiger. Sobald der Benutzer in den Steuerbereich 5 eintritt (und der Zeiger 9 entsprechend die Schaltfläche 13 trifft, s.o.) beginnt die Anzeige des Ladebalkens 15. Der Pfeil zeigt die Richtung an, in welcher sich der Ladebalken 15 aufbaut. Hält der Benutzer die Schaltfläche 13 für eine vorgegebene Zeitspanne, ist der Ladebalken 15 vollständig (ganz rechts in 6) und die entsprechende Funktion wird gesteuert.
-
Ein Vorteil dieser verzögerten Steuerung ist, dass die Aktivierung der Schaltfläche 13 während der vorgegebenen Zeitdauer, genauer während der Zeit, in der sich der Ladebalken 15 aufbaut, aufgehoben werden kann. Dadurch können Fehlbedienungen vermieden werden, da der Benutzer seinen Finger während der Aufladung (zweites und drittes Bild in 6) entfernen und somit ein Auslösen verhindern kann. Dies kann beispielsweise nützlich sein, wenn ein Benutzer zwei Schaltflächen vor sich sieht, welche dicht beieinander liegen, und er versehentlich die falsche Schaltfläche trifft. Während die Schaltfläche 13 noch geladen wird, kann der Benutzer die Interaktion nun unterbrechen, indem er seinen Finger zurückzieht. Der Ladebalken 15 verschwindet. Er kann dann die richtige Schaltfläche betätigen. Darüber hinaus ermöglicht das Design, dass der Benutzer trotz verdeckter Schaltfläche 13 eine Reaktion sehen kann, da der Ladebalken 15 um die Schaltfläche 13 herum verläuft und durch den Finger nicht oder wenig verdeckt wird. Es versteht sich, dass auch andere Gestaltungen oder Animationen für diesen Zweck geeignet sein können, beispielsweise ein gerader Ladebalken, Größenanimationen, Farbanimationen und dergleichen.
-
Das beschriebene Verhalten der Anzeige eines Ladebalkens 15 bei der Bedienung einer Schaltfläche 13 kann mit Hilfe der oben erläuterten Übergangsereignisse implementiert werden. Die Ereignisse werden den Zuständen der Schaltfläche 13 bzw. des Ladebalkens 15 wie folgt zugeordnet.
-
Wie bei anderen Schaltflächen im System kann eine Schaltfläche als „klickbar“ markiert werden, wenn der Benutzer eine Hand in den Aktivierungsbereich 6 hinein bewegt (Übergangsereignis „FocusStateEnterEvent”). Eine aufzuladende Schaltfläche 13 kann bereits in ihrem Design einen Hinweis darauf geben, dass bei ihrer Betätigung zunächst ein Ladebalken 15 aufgeladen wird. So weiß der Benutzer, dass diese Schaltfläche 13 nicht gleich ausgelöst wird, sondern erst „aufgeladen“ werden muss.
-
Der Ladebalken 15 beginnt sich aufzubauen, sobald die Hand bzw. die Fingerspitze 8 des Benutzers in den Steuerbereich 5 eindringt (Übergangsereignis „TriggerStateEnterEvent“). Solange die Fingerspitze im Steuerbereich 5 bleibt, bleibt die Schaltfläche 13 gedrückt und der Ladebalken 15 baut sich weiter auf. Es wird eine entsprechende Funktion gesteuert (ausgelöst), sobald die Schaltfläche 13 vollständig aufgeladen ist. Nachdem eine Funktion ausgelöst wurde, kann vorgesehen sein, dass kein anderes Steuerelement betätigt werden kann, bis ein „TriggerStateLeaveEvent“ erkannt wird. Der Benutzer muss dann also seinen Finger zurückziehen und erneut in den Steuerbereich 5 bewegen, um eine andere Schaltfläche oder dieselbe Schaltfläche 13 nochmal zu betätigen.
-
Wenn ein Verlassen des Steuerbereichs 5 erkannt wird (Übergangsereignis „TriggerStateLeaveEvent“), bevor die Schaltfläche vollständig aufgeladen ist, d.h. bevor der Ladebalken 15 vollständig ist, wird ein Abbruch ausgeführt und die Schaltfläche 13 in den Standardzustand zurückversetzt, ohne eine Aktion auszulösen. Ein Abbruch wird ausgeführt, wenn sich der Finger von der Schaltfläche 13 weg bewegt. Das kann einerseits bedeuten, dass der Finger die Begrenzungen der Schaltfläche 13 (bzw. des Bereichs 14, der die Schaltfläche 13 umgibt) in x- oder y-Richtung verlässt. Ebenso kann dies bedeuten, dass ein Finger angehoben wird, d.h. von der Eingabeoberfläche 1 entfernt wird und in z-Richtung einen zu großen Abstand von der Eingabeoberfläche 1 hat, insbesondere einen Abstand größer als der Abstand 11.
-
Wie bereits erwähnt, sind vielfältige Gestaltungsmöglichkeiten des Ladebalkens 15, insbesondere hinsichtlich seiner Gestalt und auch seiner Animation während des Aufladens denkbar. Zwei Varianten, wie der Ladebalken 15 animiert werden kann, werden nachfolgend beispielhaft erläutert.
-
Eine einfache Möglichkeit ist eine Animation des Ladebalkens 15, welche mit konstanter Geschwindigkeit abläuft. Hier kann eine lineare Formel für die Aufladung angewandt werden. Beispielsweise kann ein Ladestatus in Prozent berechnet werden, indem eine verstrichene Zeit ab Beginn der Aufladung durch eine vorgegebene Gesamtzeit der Aufladung geteilt wird. Wenn beispielsweise als Gesamtzeit für eine Aufladung 1 Sekunde festgelegt wird, wäre der Ladebalken nach 0,5 Sekunden bei der Hälfte.
-
Die Ladefunktion kann alternativ durch eine komplexere, nicht-lineare Funktion dargestellt werden. Die Schaltfläche 13 kann z.B. anfangs schneller und dann langsamer aufgeladen werden. Der Ladevorgang kann dabei genauso lange dauern wie bei der eben beschriebenen linearen Funktion, z.B. 1 Sekunde. Dadurch erhält der Benutzer am Anfang schneller eine Rückmeldung und sieht sofort eine Veränderung, hat aber immer noch die gleiche Zeit, den Vorgang abzubrechen. Eine Ladegeschwindigkeit zu einem bestimmten Zeitpunkt kann beispielsweise als Produkt einer Basisgeschwindigkeit mit einem Zeitfaktor berechnet werden.
-
Während vorhergehend wenigstens eine beispielhafte Ausführungsform beschrieben wurde, ist zu bemerken, dass eine große Anzahl von Variationen dazu existiert. Es ist dabei auch zu beachten, dass die beschriebenen beispielhaften Ausführungsformen nur nichtlimitierende Beispiele darstellen, und es nicht beabsichtigt ist, dadurch den Umfang, die Anwendbarkeit oder die Konfiguration der hier beschriebenen Vorrichtungen und Verfahren zu beschränken. Vielmehr wird die vorhergehende Beschreibung dem Fachmann eine Anleitung zur Implementierung mindestens einer beispielhaften Ausführungsform liefern, wobei sich versteht, dass verschiedene Änderungen in der Funktionsweise und der Anordnung der in einer beispielhaften Ausführungsform beschriebenen Elemente vorgenommen werden können, ohne dass dabei von dem in den angehängten Ansprüchen jeweils festgelegten Gegenstand sowie seinen rechtlichen Äquivalenten abgewichen wird.
-
BEZUGSZEICHENLISTE
-
- 1
- Eingabeoberfläche
- 2
- Projektor
- 3
- Erfassungseinrichtung (Kamera)
- 4
- Benutzeroberfläche
- 5
- Steuerbereich
- 6
- Aktivierungsbereich
- 7
- Hand
- 8
- Handposition / Zeigefinger
- 9
- Zeiger
- 10
- Erfassungsbereich
- 11
- Tiefe des Steuerbereichs
- 12
- Tiefe des Aktivierungsbereichs
- 13
- Steuerelement (sichtbar)
- 14
- aktive Fläche des Steuerelements
- 15
- Statusanzeiger / Ladebalken