ES2835598T3 - Interfaz de gesto - Google Patents

Interfaz de gesto Download PDF

Info

Publication number
ES2835598T3
ES2835598T3 ES15722363T ES15722363T ES2835598T3 ES 2835598 T3 ES2835598 T3 ES 2835598T3 ES 15722363 T ES15722363 T ES 15722363T ES 15722363 T ES15722363 T ES 15722363T ES 2835598 T3 ES2835598 T3 ES 2835598T3
Authority
ES
Spain
Prior art keywords
user
hand
display screen
tracked
screen
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.)
Active
Application number
ES15722363T
Other languages
English (en)
Inventor
Laurent Ach
Ken Prepin
Cecilia Lejeune
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.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of ES2835598T3 publication Critical patent/ES2835598T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Abstract

Un método para utilizar en un aparato de interfaz de usuario (100) para seleccionar un objeto seleccionable en una pantalla de visualización (108), la pantalla de visualización (108) se coloca para mostrar uno o más objetos seleccionables (108a-108f), el método que comprende: obtener una primera información con relación a una primera posición rastreada, la primera posición rastreada es una posición del centro (300) de una primera mano (200a) de un usuario (200); obtener una segunda información con relación a una segunda posición rastreada, la segunda posición rastreada es una posición de la cabeza (200b) o de un ojo (200c) del usuario (200); determinar (S1102) una o más posiciones de objeto de uno o más objetos seleccionables (108a-108f) en la pantalla de visualización (108); determinar una primera posición de pantalla (206) en base a un punto de la pantalla de visualización (108) intersecado por una línea recta (204) que pasa a través de la primera posición rastreada y de la segunda posición rastreada; en respuesta a una determinación de que una configuración de mano de la primera mano (200a) ha cambiado de una configuración de mano abierta a una configuración de mano cerrada, determinar (S1104), en base a la primera posición de pantalla (206) y de una o más posiciones de objeto, si uno o más objetos seleccionables (108a-108f) se encuentran ubicados en la primera posición de pantalla (206), en cuyo caso la primera mano (200a) oculta al menos parcialmente la vista del usuario de uno o más objetos seleccionables (108a-108f); y en el caso de la determinación de que uno o más objetos seleccionables (108a-108f) se encuentren ubicados en la primera posición de pantalla (206), determinar que el objeto seleccionable ubicado en la primera posición de pantalla (206) se encuentra seleccionado.

Description

DESCRIPCIÓN
Interfaz de gesto
Campo Técnico
La presente invención se refiere a interfaces de usuario y, más específicamente a un aparato de interfaz de usuario para seleccionar objetos seleccionables que se muestran en una pantalla de visualización.
Antecedentes de la técnica
Tradicionalmente, un usuario puede interactuar con una interfaz de usuario de un ordenador u otro sistema de procesamiento al manipular físicamente un dispositivo, tal como un ratón, un mando para juegos, un controlador de juegos, un teclado, etc., mediante el cual los movimientos y acciones del usuario pueden traducirse en movimientos y acciones en una pantalla de visualización. En tales sistemas, un puntero, tal como un puntero de ratón, se muestra típicamente en la pantalla de visualización para permitir al usuario saber con qué parte de la pantalla está interactuando.
Otras interfaces de usuario, las llamadas "Interfaces de Usuario Naturales", tal como el Kinect™ de Microsoft™, utilizan tecnología capaz de rastrear los movimientos del cuerpo de un usuario para permitirle al usuario interactuar con una interfaz de usuario, por ejemplo, al utilizar sensores como cámaras y similares junto con la tecnología de procesamiento de imágenes. Típicamente, en tales interfaces, se rastrea la mano de un usuario y el movimiento de un puntero se correlaciona con el movimiento de la mano rastreada, en analogía con la tecnología del ratón descrita anteriormente. Sin embargo, estas interfaces son poco intuitivas y difíciles de operar para el usuario. Además, debido a que el usuario primero debe mover el brazo para encontrar el puntero, mover el puntero hacia un objetivo y, luego ajustar la velocidad y la amplitud del movimiento para alcanzar con precisión el objetivo, estas interfaces son ineficientes y pueden causar fatiga en el usuario, especialmente para pantallas de visualización más grandes.
El documento US2012206333A1 propone un aparato táctil virtual y un método para controlar de forma remota equipos electrónicos que tienen una superficie de visualización. El aparato táctil virtual incluye una calculadora de coordenadas tridimensionales y un controlador. La calculadora de coordenadas tridimensionales extrae una coordenada tridimensional del cuerpo de un usuario. El controlador incluye una unidad de cálculo de ubicación táctil y una unidad de procesamiento táctil virtual. La unidad de cálculo de ubicación táctil calcula una coordenada de punto de contacto donde una línea recta que conecta entre una primera coordenada espacial y una segunda coordenada espacial se encuentra con la superficie de visualización al utilizar la primera y la segunda coordenadas espaciales recibidas desde la calculadora de coordenadas tridimensionales. La unidad de procesamiento táctil virtual crea un código de comando para realizar una operación correspondiente a la coordenada de contacto recibida desde la unidad de cálculo de ubicación táctil e ingresa el código de comando en un controlador principal de los equipos electrónicos. En una modalidad, la primera coordenada espacial es la coordenada tridimensional de la punta de uno de los dedos del usuario y la segunda coordenada espacial es la coordenada tridimensional de un punto central de uno de los ojos del usuario. Si no existe un cambio en la coordenada de punto de contacto durante un tiempo predeterminado o mayor, se crea el código de comando para realizar la operación correspondiente a la coordenada de punto de contacto.
El documento US8947351B1 propone que un usuario puede proporcionar una entrada a un dispositivo informático al mover una parte del cuerpo u objeto, tal como el dedo de un usuario, dentro de un campo de visión de al menos un elemento de formación de imágenes del dispositivo informático. Para garantizar la precisión de la entrada determinada, el dispositivo informático también puede intentar determinar un punto de vista del usuario, por ejemplo, al determinar una posición relativa de la cara o de los ojos del usuario. Al determinar una posición tridimensional de la parte del cuerpo y del punto de vista del usuario, se puede determinar un vector tridimensional u otra información direccional mediante la cual la intersección de ese vector con una pantalla de visualización del dispositivo informático indica una ubicación prevista de entrada correspondiente a la parte del cuerpo desde el punto de vista del usuario. En una modalidad, el vector utilizado para determinar la ubicación prevista de la entrada es un vector que pasa entre los ojos del usuario y la punta de un dedo extendido del usuario. Se registra una acción de selección para el objeto al que se apunta en respuesta a que el usuario realiza un movimiento o gesto predeterminado, tal como un movimiento de golpes ligeros con la yema del dedo en el aire o la flexión del dedo extendido.
El documento US2014198031A1 propone un método de reconocimiento de gestos de la palma de la mano que comprende una etapa de obtención de imágenes múltiples de acuerdo con un orden de tiempo; una etapa de adquisición de imágenes múltiples en forma de palma de la mano a partir de las imágenes múltiples; una etapa de extracción de características múltiples que describen un gesto con la palma de la mano abierta o cerrada a partir de cada una de las imágenes múltiples en forma de palma de la mano; una etapa de cálculo de un vector de diferencia de características máximo formado mediante una diferencia máxima de cada una de las características múltiples; y una etapa de determinación, sobre la base del vector de diferencia de características máximo, de que existe el gesto de la palma de la mano abierta o cerrada o no existe el gesto de la palma de la mano abierta o cerrada en las imágenes múltiples. En una modalidad, el gesto de la palma de la mano abierta corresponde a un estado de movimiento de un ratón y, el gesto de la palma de la mano cerrada corresponde a un estado presionado del botón izquierdo del ratón. En el caso del gesto de la palma de la mano abierta, es posible dejar que el cursor correspondiente se mueva hacia un objetivo. Cuando el cursor se encuentra en el objetivo y el gesto de la palma de la mano abierta se convierte en el gesto de la palma de la mano cerrada, se selecciona el objetivo. Cuando se selecciona el objetivo, el movimiento del gesto de la palma de la mano cerrada corresponde a arrastrar el objetivo y, en este momento, si el gesto de la palma de la mano cerrada se convierte en el gesto de la palma de la mano abierta, se deja caer el objetivo.
Resumen de la Invención
De acuerdo con un primer aspecto de la presente invención, se proporciona un método para utilizar en un aparato de interfaz de usuario para seleccionar un objeto seleccionable en una pantalla de visualización, donde la pantalla de visualización se coloca para mostrar uno o más objetos seleccionables, el método que comprende: obtener una primera información con relación a una primera posición rastreada, donde la primera posición rastreada es una posición del centro de una primera mano de un usuario; obtener una segunda información con relación a una segunda posición rastreada, donde la segunda posición rastreada es una posición de la cabeza o de un ojo del usuario; determinar una o varias posiciones de objeto de uno o más objetos seleccionables en la pantalla de visualización; determinar una primera posición de pantalla en base a un punto de la pantalla de visualización intersecado por una línea recta que pasa a través de la primera posición rastreada y de la segunda posición rastreada; en respuesta a una determinación de que una configuración de mano de la primera mano ha cambiado de una configuración de mano abierta Z a una configuración de mano cerrada, determinar, en base a la primera posición de pantalla y a las posiciones de uno o más objetos, si uno o más objetos seleccionables se encuentran ubicados en la primera posición de pantalla, en cuyo caso la primera mano oculta al menos parcialmente la vista del usuario de uno o más objetos seleccionables; y en el caso de la determinación de que uno o más objetos seleccionables se encuentren ubicados en la primera posición de pantalla, determinar que el objeto seleccionable ubicado en la primera posición de pantalla se encuentra seleccionado.
De acuerdo con aspectos adicionales de la presente invención, se proporciona un medio legible por ordenador y un aparato de interfaz de usuario como se establece en las reivindicaciones adjuntas 11 y 12, respectivamente.
Las modalidades preferidas de la presente invención se definen mediante las reivindicaciones dependientes adjuntas.
Los aspectos adicionales de la invención serán evidentes a partir de la siguiente descripción de las modalidades de la descripción, dada sólo a modo de ejemplo, que se realiza con referencia a los dibujos adjuntos.
Breve Descripción de los Dibujos
Las Figuras 1a-1b muestran diagramas esquemáticos de los componentes de un aparato de interfaz de usuario de acuerdo con modalidades ilustrativas;
La Figura 1c muestra una ilustración de un aparato de interfaz de usuario ilustrativo en uso por un usuario de acuerdo con una modalidad; La Figura 2a es un diagrama esquemático de un método ilustrativo para detectar información de profundidad;
La Figura 2b es un diagrama esquemático de información obtenida en un método ilustrativo para detectar información de profundidad; La Figura 3 es un diagrama esquemático de un método ilustrativo para detectar información de profundidad;
La Figura 4a es una ilustración de una representación de un usuario en un espacio virtual tridimensional;
La Figura 4b es una ilustración de una representación virtual generada de un usuario en un espacio virtual tridimensional;
La Figura 5a es una ilustración de un aparato de interfaz de usuario en uso por un usuario de acuerdo con una modalidad;
La Figura 5b es una ilustración de definiciones de una línea cabeza-mano y de una línea ojo-mano de acuerdo con modalidades ilustrativas;
Las Figuras 6a-6f son ilustraciones de una pantalla de visualización desde la perspectiva del usuario, de acuerdo con modalidades ilustrativas;
La Figura 7 es una ilustración de un aparato de interfaz de usuario en uso por un usuario de acuerdo con una modalidad;
La Figura 8 es una ilustración de una pantalla de visualización desde la perspectiva del usuario, de acuerdo con una modalidad ilustrativa;
La Figura 9 es una ilustración de una porción de un proceso de calibración de acuerdo con una modalidad; La Figura 10 es un diagrama esquemático de una intersección cercana de dos líneas rectas; y
La Figura 11 es un diagrama de flujo que muestra un método realizado mediante un aparato de interfaz de usuario de acuerdo con una modalidad.
Descripción de las Modalidades
La Figura 1a es un diagrama esquemático de los componentes de un aparato de interfaz de usuario 100 de acuerdo con algunas modalidades ilustrativas. El aparato de interfaz de usuario 100 comprende el componente sensor 102 para rastrear la posición de un usuario, el procesador 104, la memoria 106 y la pantalla de visualización 108 para mostrar información al usuario.
El procesador 104, al utilizar el software almacenado en la memoria 106, procesa la información introducida en el procesador 104 y, genera información que se emite desde el procesador 104. Por ejemplo, la información relacionada a la posición de un usuario del aparato de interfaz de usuario 100 obtenida por el componente sensor 102 puede enviarse al procesador 104 para su procesamiento y, la información para su utilización en la visualización de la información visual al usuario en la pantalla de visualización 106 puede enviarse a la pantalla de visualización 106 desde el procesador 104.
La pantalla de visualización 108 puede comprender cualquier medio para mostrar información a un usuario del aparato de interfaz de usuario 100 y, puede mostrar una interfaz de usuario, por ejemplo, una interfaz gráfica de usuario, al usuario. La pantalla de visualización 108 puede ser una pantalla de proyector 108 y, la información visual puede proyectarse mediante un proyector (no se muestra) sobre la pantalla de proyector 108 de manera que el usuario pueda ver la información visual. La pantalla de proyector 108 puede ser cualquier superficie adecuada para permitir que un usuario vea una interfaz gráfica de usuario o similar proyectada sobre la misma.
El componente sensor 102 puede comprender cualquier número de sensores para detectar atributos del entorno local en el que se encuentra un sensor particular y, más específicamente para detectar atributos de un usuario de los equipos de interfaz de usuario. Por ejemplo, el componente sensor puede comprender una cámara para adquirir imágenes de un usuario, o una porción de un usuario. La cámara puede ser, por ejemplo, una cámara de "Dispositivo de Carga Acoplada" (CCD) "Rojo-Verde-Azul" (RGB) para adquirir imágenes en color del usuario y del entorno del usuario. La cámara puede adquirir una pluralidad de dichas imágenes en función del tiempo para adquirir una imagen en movimiento del usuario y del entorno del usuario y, por tanto, adquirir información relacionada con el movimiento de un usuario o una porción del usuario. Como se describirá con más detalle a continuación, el componente sensor 102 puede comprender sensores para adquirir información de profundidad en función del tiempo para permitir el rastreo tridimensional de la posición del usuario o porciones del usuario en un espacio tridimensional. La detección de profundidad se puede lograr, por ejemplo, al utilizar sensores de "tiempo de vuelo" o sensores de "luz estructurada" para determinar la distancia de un objeto al sensor. El componente sensor 102 envía la información de detección relacionada con, por ejemplo, los atributos y/o posiciones del usuario, al procesador 104 para su procesamiento. El aparato de interfaz de usuario 100 no necesita comprender necesariamente el componente sensor 102, que en su lugar puede encontrarse alejado del aparato de interfaz de usuario 100. En tal caso, el componente sensor 102 puede conectarse comunicativamente al aparato de interfaz de usuario 100 mediante una interfaz de comunicación (no se muestra) del aparato de interfaz de usuario 100, por ejemplo, a través de una conexión fija o inalámbrica. Esta conexión puede proporcionar, por ejemplo, información relacionada a las posiciones rastreadas de porciones del usuario desde el componente sensor 102 al aparato de interfaz de usuario 100.
En una modalidad, el aparato de interfaz de usuario 100 comprende un componente sensor de seguimiento ocular 110 para rastrear la dirección en la que mira un usuario del aparato de interfaz de usuario. Por ejemplo, el componente sensor de seguimiento ocular puede rastrear la posición en la pantalla de visualización 108 a la que se dirigen los ojos del usuario. El componente sensor de seguimiento ocular 110 puede comprender cualquier número de sensores adecuados para rastrear la dirección ocular de un usuario. El componente sensor de seguimiento ocular puede comprender sensores conectados al usuario 200, por ejemplo, una cámara para adquirir imágenes del ojo de un usuario y, por ejemplo, un magnetómetro para detectar la dirección en la que se orienta la cabeza del usuario con respecto a un campo magnético fijo, o un sistema de procesamiento de imagen que utiliza un software de reconocimiento facial, para determinar la dirección en la que se orienta la cabeza de un usuario con relación a la pantalla de visualización 108. Sin embargo, se puede utilizar cualquier otro sensor o combinación de sensores adecuados para rastrear la dirección ocular de un usuario. Por ejemplo, el componente sensor de seguimiento ocular 110 también puede comprender sensores de seguimiento ocular remotos que rastrean la dirección ocular de un usuario al proyectar patrones de infrarrojo cercano sobre el usuario y al crear una imagen de los patrones proyectados reflejados desde los ojos del usuario para determinar la posición de los ojos y, por tanto, la dirección ocular del ojo, con relación al microproyector. En cualquier caso, en esta modalidad, el componente sensor de seguimiento ocular 110 proporciona al procesador 104 información relacionada a la dirección ocular del usuario. La Figura 1b muestra un diagrama esquemático de componentes de un aparato de interfaz de usuario 100 de acuerdo con algunas modalidades ilustrativas. En estas modalidades, el aparato de interfaz de usuario comprende un módulo de detección 120, un módulo de detección ocular 150, un módulo de procesamiento 130 y un módulo de visualización 140. El módulo de procesamiento recibe información relacionada con, por ejemplo, la posición del usuario o la porción del usuario adquirida mediante el módulo de detección 120, y/o información relacionada con la dirección ocular del usuario adquirida mediante el módulo de detección ocular 150, y procesa, con la utilización de la memoria 112, la información utilizando el procesador 114. El módulo de detección 120 comprende un componente sensor 102, un procesador 104 y una memoria 106. El procesador 104 se utiliza, por ejemplo, para procesar información generada mediante el componente sensor 102 y para proporcionar información al módulo de procesamiento 130, por ejemplo, relacionada con la posición o atributo del usuario o una porción del usuario en un formato reconocible por el módulo de procesamiento 130. El módulo de detección ocular 150 puede comprender un componente sensor de seguimiento ocular 110 como se describió anteriormente. El módulo de visualización 140 comprende una pantalla de visualización 108. El módulo de procesamiento 130 proporciona información al módulo de visualización 140 relacionada con, por ejemplo, la información que el módulo de visualización 140 muestra al usuario mediante la utilización de la pantalla de visualización 108. No es necesario que el módulo de procesamiento 130 se ubique junto con cualquiera de los otros módulos. Por ejemplo, el módulo de procesamiento 130 puede ubicarse en un servidor ubicado, por ejemplo, dentro de Internet. El módulo de procesamiento 130 puede obtener información relacionada con las posiciones de porciones del usuario, por ejemplo, del módulo de detección 120 y/o del módulo de detección ocular 150, a través de Internet. El módulo de procesamiento 130 también puede proporcionar información al módulo de visualización 140 para mostrar al usuario a través de Internet. Como tal, el aparato de interfaz de usuario 100 se puede incorporar únicamente en el módulo de procesamiento 130, que, como se describió anteriormente, puede ubicarse en un servidor en Internet.
En algunas modalidades, el aparato de interfaz de usuario 100 no comprende un módulo de detección ocular 150 o un componente de detección ocular 110.
En un ejemplo específico, el módulo de detección 120 puede ser un Kinect ™ de Microsoft ™, el módulo de procesamiento 130 puede ser un ordenador personal o un Xbox ™ de Microsoft ™, y el módulo de visualización puede comprender un proyector que se proyecta sobre una pantalla de proyector.
La Figura 1c es una ilustración de una modalidad ilustrativa del aparato de interfaz de usuario 100 en uso por un usuario 200. En la Figura 1c se muestra el componente sensor 102, que comprende los sensores 102a, 102b y 102c orientados hacia el usuario 200. También se muestra la pantalla de visualización 108, hacia la que se orienta el usuario 200. Como se describe con más detalle a continuación, al determinar la posición y/o configuración de porciones del usuario 200, el aparato de interfaz de usuario 100 puede permitir que el usuario 200 interactúe con los objetos seleccionables 108a y/o 108b mostrados en la pantalla de visualización simplemente mediante el movimiento del cuerpo del usuario.
Ahora se describirá un método mediante el cual la información de profundidad y, por tanto, la información de la posición tridimensional de un usuario, pueden adquirirse y determinarse mediante el aparato de interfaz de usuario 100 con referencia a las figuras 2a y 2b.
La Figura 2a es un diagrama esquemático de una vista en planta (es decir, el plano z-y como se indica en la figura 2a) de un componente sensor ilustrativo 102 de un aparato de interfaz de usuario 100, que detecta la posición tridimensional del objeto 504 contra el fondo 506. El objeto 504 puede ser un usuario 200 o una porción de un usuario 200. El componente sensor 102 comprende dos sensores 102a y 102b, que se separan entre sí en un plano perpendicular al eje principal de cada sensor. El sensor 102b es un dispositivo emisor de luz que produce un patrón de luz estructurada 502 que se proyecta sobre el objeto 504 y el fondo 502. El sensor 102a es un sensor para adquirir imágenes del patrón de luz estructurada 502 cuando se proyecta sobre el objeto 504 y el fondo 506. La luz 502 puede ser, por ejemplo, radiación infrarroja y, el sensor 102a puede ser un sensor infrarrojo, que puede incluir un filtro de paso de banda centrado en la frecuencia de la luz estructurada 502 para aumentar la eficiencia de captura del patrón de luz estructurada 502 cuando se proyecta sobre el objeto 504 y el fondo 506.
La luz estructurada 502 puede tener, por ejemplo, la forma de una rejilla bidimensional de luz 502. Cada elemento 508 de la rejilla 502 puede identificarse de otros elementos 508 en la rejilla 502, por ejemplo, al comprender un identificador único. Dicho identificador único puede ser, por ejemplo, una porción de un patrón aleatorio o pseudoaleatorio, por ejemplo, una porción de un patrón de moteado producido mediante un láser. También puede crearse un patrón pseudoaleatorio, por ejemplo, mediante uno o más LED cuya emisión se obstaculiza mediante una máscara que comprende un patrón pseudoaleatorio de orificios. Tal porción de un patrón aleatorio o pseudoaleatorio puede ser un grupo de áreas de alta intensidad, o puntos, de un patrón de moteado. Debido a la distribución aleatoria de los puntos, la configuración de los puntos adyacentes en un grupo particular de puntos es probablemente única para ese grupo de puntos y, por tanto, una región particular del patrón de moteado, o del elemento de rejilla 508 al que la región particular corresponde, se puede identificar de forma única entre otras regiones o elementos de rejilla 508.
La Figura 2b ilustra esquemáticamente una imagen adquirida mediante el sensor 102a en la situación mostrada en la figura 2a. El sensor 102a crea una imagen del patrón de luz estructurada 502 que cae sobre el objeto 504 y el fondo 506 desde una perspectiva ligeramente desplazada del sensor de fuente de luz 102b. En la Figura 2b, el patrón de luz estructurada 502 se representa mediante la rejilla 502 que comprende elementos de rejilla 508, cada uno de los cuales se identifica de forma única de otros elementos 508 de la rejilla 502. Por ejemplo, cada elemento de rejilla 508 puede contener una región de patrón de moteado (no se muestra) que puede identificarse de forma única como se describió anteriormente. Los identificadores únicos se representan en la figura 2b como números de rejilla 1,2, 3... 12. Debido a que el sensor 102a se desplaza del sensor emisor de luz 102b, la imagen del patrón de rejilla desde el sensor 102a del patrón de rejilla 502 que cae sobre un objeto 504 más cercano al componente sensor 102 aparecerá desplazada del patrón de rejilla 502 que cae sobre el fondo 506 más alejado del componente sensor 102. Esto se puede ver en la Figura 2b, ya que los elementos de rejilla 5-8 se desplazan de los elementos de rejilla 1-4 y 9-12 tanto en la dirección x como en la y. Si la posición de los elementos de rejilla a los que se les crea una imagen mediante el sensor 102a se predetermina a una distancia de fondo dada, entonces a partir del desplazamiento de los elementos con relación a las posiciones predeterminadas, mediante el uso de la trigonometría, se puede calcular la distancia de un objeto en los elementos desplazados con relación a la distancia de fondo dada. Por ejemplo, a partir del desplazamiento de los elementos 5-8 con relación a una imagen de referencia de la misma rejilla a una distancia predeterminada, se puede determinar a partir de la imagen de la Figura 2b que existe un objeto (es decir, el objeto 504 de la figura 2a) en una posición x-y que corresponde a las coordenadas de los elementos 5-8 y, que el objeto se encuentra a una distancia z del componente sensor 102.
De esta manera, se puede determinar la información de profundidad, es decir, las coordenadas tridimensionales de un objeto 504, por ejemplo, un usuario 200 o una porción de un usuario 200, con relación al componente sensor 102.
En la figura 3 se ilustra un método ilustrativo alternativo mediante el cual el aparato de interfaz de usuario 100 puede determinar la información de profundidad. De manera similar a la figura 2a, la figura 3 ilustra una vista en planta (plano z - y) de un componente sensor ilustrativo 102 que detecta la posición tridimensional de un objeto 504 y de un fondo 506. En este caso, el componente sensor 102 comprende un sensor único 102c que comprende una fuente de luz sustancialmente ubicada junto al detector de luz. En este método, el tiempo que tarda un haz de luz emitido por la fuente de luz en rebotar en un objeto y regresar al detector se registra para diferentes posiciones en el plano x-y (es decir, una medición de "tiempo de vuelo"). En dicha medición, un tiempo dado para un recorrido de ida y vuelta infiere una distancia dada desde el objeto hasta el componente sensor 102. Por ejemplo, en la Figura 3, la suma del tiempo para las trayectorias de luz 602 y 604 hacia y desde el fondo 506 y la suma del tiempo para las trayectorias de luz 606 y 608 hacia y desde el objeto 504 pueden utilizarse para inferir la distancia del fondo 506 en una posición x-y dada y del objeto 504 en una posición x-y dada, respectivamente. De esta manera, se pueden determinar las coordenadas tridimensionales de un objeto 504, por ejemplo, un usuario o una porción de un usuario, con relación al componente sensor 102.
Se apreciará que puede utilizarse cualquier método o medio adecuado para determinar las coordenadas tridimensionales de un objeto, y que los métodos descritos anteriormente son sólo ejemplos.
En algunas modalidades, a partir de las coordenadas 3D determinadas, el aparato de interfaz de usuario 100 mapea las coordenadas tridimensionales determinadas del entorno detectado mediante el componente sensor 102 en un espacio virtual tridimensional 702, como se ilustra en la Figura 4a. En esta modalidad ilustrativa, un usuario 200 se coloca con relación al componente sensor 102 de tal manera que las coordenadas tridimensionales de todo el usuario 200 visible desde la perspectiva 106 del componente sensor se mapean en un espacio virtual tridimensional 702 mediante el aparato de interfaz de usuario 100. Debe señalarse que, aunque no se muestra en la figura 4a, de acuerdo con los métodos descritos anteriormente para determinar la información de profundidad (es decir, la coordenada z) habrá una sombra de información detrás del usuario desde el punto de vista del componente sensor 102 en el espacio virtual tridimensional. Esto puede rectificarse, por ejemplo, mediante un segundo componente sensor 102 en ángulo recto con el componente sensor 102, aunque no es típicamente necesario para determinar con precisión la posición 3D de una porción de un usuario 200.
A partir de un análisis de las coordenadas 3D mapeadas del usuario 200 en el espacio virtual 702, el aparato de interfaz de usuario 100 puede generar una representación virtual 704 de un usuario 200 en el espacio virtual 3D 702, como se ilustra en la figura 4b. La representación virtual 704 comprende articulaciones (por ejemplo, articulación de cadera 706) y extensiones (por ejemplo, antebrazo 708) que corresponden al usuario 200. La representación virtual 704 generada mediante el aparato de interfaz de usuario 100 es aquella representación que se determina que tiene una alta probabilidad de coincidir con las dimensiones, posiciones y configuraciones de las articulaciones respectivas y extensiones del usuario real 200. Esto se puede lograr, por ejemplo, mediante la utilización de métodos de ajuste restringido tridimensionales para ajustar una representación virtual potencial 704 a las coordenadas tridimensionales mapeadas del usuario 200. En algunas modalidades, pueden determinarse varias representaciones virtuales potenciales 704 como candidatas a ser la representación más probable del usuario real 200. Cada una de estas representaciones candidatas 704 puede compararse con una base de datos de representaciones virtuales de usuarios predeterminados para ser representaciones fieles de los usuarios reales.
Este conjunto de representaciones fieles predeterminadas puede comprender las de una gama amplia de usuarios de diferentes dimensiones en una gama amplia de diferentes posiciones y configuraciones, mapeando de esta manera sustancialmente el panorama de representaciones que probablemente adoptará un usuario 200. La representación candidata 704 que se asemeje más al mayor número de representaciones fieles predeterminadas puede elegirse como la representación 704 más probable para representar fielmente al usuario real 200. Dicha comparación puede lograrse, por ejemplo, mediante la utilización de metodologías de árboles de decisión, por ejemplo, metodologías de aprendizaje automático de "Bosque aleatorio". De manera similar, la configuración de una parte del cuerpo de un usuario, por ejemplo, si una mano del usuario se encuentra en una configuración abierta, o en una configuración cerrada en forma de puño, se puede determinar mediante la comparación de las coordenadas 3D mapeadas de una porción de la mano de un usuario con una gama de configuraciones de mano predeterminadas. De esta manera, se puede determinar la configuración de mano con más probabilidad para representar fielmente la del usuario. Esto puede utilizar, de manera similar a lo anterior, por ejemplo, las metodologías de aprendizaje automático de "Bosque aleatorio". Por ejemplo, el Conjunto de Desarrollo de Software Kinect™ (SDK) 1.7 para Windows™ admite el reconocimiento de cambios en la configuración de mano, por ejemplo, el denominado reconocimiento de "agarre y liberación".
La determinación de la representación virtual más fiel 704 del usuario 200 permite al aparato de interfaz de usuario 100 determinar las dimensiones, posiciones y/o configuraciones de un usuario 200 o cualquier porción o colección de porciones del usuario 200. El proceso mencionado anteriormente puede repetirse, por ejemplo, 30 veces por segundo, para permitir que el aparato de interfaz de usuario rastree la posición de un usuario o de una porción de un usuario 200 casi en tiempo real. Por ejemplo, el aparato de interfaz de usuario 100 puede, por lo tanto, rastrear la posición tridimensional de uno o más puntos del cuerpo de un usuario, tal como un punto en la mano del usuario, el centro de la cabeza de un usuario y/o la posición de un ojo y, configuraciones tales como la configuración de la mano de un usuario, casi en tiempo real. Como se describe con más detalle a continuación, esto permite a un usuario interactuar con los objetos seleccionables mostrados en la pantalla de visualización 108, simplemente al mover el usuario porciones de su cuerpo en el espacio libre.
La Figura 5a muestra una representación esquemática que ilustra un aparato de interfaz de usuario 100 de acuerdo con una modalidad ilustrativa en uso por un usuario ilustrativo 200.
El aparato de interfaz de usuario 100 de acuerdo con la modalidad mostrada en la Figura 5a comprende una pantalla de visualización 108 y, un componente de detección 106.
El usuario 200 comprende una mano 200a, un ojo 200c y una cabeza 200b. El usuario se coloca de modo que el usuario se oriente hacia la pantalla de visualización 108 y, la mano 200a se extienda desde el cuerpo del usuario en la dirección de la pantalla de visualización 108.
El componente de detección 106 comprende tres sensores 102a 102b y 102c para rastrear la posición de la mano del usuario y la posición de la cabeza 200b del usuario y/o del ojo 200c y, para determinar la configuración de la mano 200a del usuario, por ejemplo, si la mano 200a se encuentra en una configuración abierta o en una configuración cerrada.
La pantalla de visualización 108 muestra los objetos seleccionables 108a y 108b que son seleccionables por el usuario 200.
El usuario 200 interactúa con el aparato de interfaz de usuario 100 mediante la utilización de la mano 200a. Al utilizar la mano 200a, el usuario 200 oculta de su propia vista la posición 202 en la pantalla de visualización 108 con la que desea interactuar.
En la figura 5a, el usuario 200 tiene la mano 200a colocada de tal manera que la región 202 de la pantalla de visualización 108 se oculta de la vista del usuario 200.
El aparato de interfaz de usuario 100 obtiene información relacionada con una primera posición rastreada, donde la primera posición rastreada es una posición de una primera mano (es decir, la mano 200a) del usuario. El aparato de interfaz de usuario 100 también obtiene información relacionada con una segunda posición rastreada, donde la segunda posición rastreada es una posición de la cabeza 200b o de un ojo 200c del usuario 200.
Una posición de la mano 200a del usuario (es decir, una "primera posición rastreada") y la posición de un ojo 200c del usuario (un ejemplo de una "segunda posición rastreada") pueden definir dos puntos de una línea recta 204, también denominada en la presente descripción como la línea ojo-mano 204.
Una posición de un ojo 200c del usuario 200 puede referirse a una posición entre los ojos del usuario (por ejemplo, el punto medio entre los ojos del usuario), o la posición del centro en un ojo, o la pupila de un ojo del usuario. Por ejemplo, la posición del centro de la mano 200a de un usuario y, el centro del ojo 200c de un usuario pueden utilizarse para definir la línea ojo-mano 204. El ojo 200c puede ser, por ejemplo, el ojo dominante del usuario, es decir, el ojo del usuario desde el que la entrada visual es más fuerte o preferida. El ojo dominante 200c puede identificarse, por ejemplo, en el aparato de interfaz de usuario mediante una entrada adecuada por parte del usuario. A partir de la obtención de la información relacionada con la primera posición rastreada (por ejemplo, la posición rastreada de la mano 200a del usuario) y con la segunda posición rastreada (por ejemplo, la posición rastreada del ojo 200c de un usuario) como se describió anteriormente, el aparato de interfaz de usuario puede calcular la línea ojo-mano 204 en su espacio virtual tridimensional 702.
En la figura 5a, la línea ojo-mano 204 se interseca con la pantalla de visualización 108 en el punto 206, cuyo punto 206 se encuentra dentro de la región 202 de la pantalla de visualización 108 que se oculta de la vista del usuario 200 mediante la mano 200a del usuario. Si la posición y las dimensiones de la pantalla de visualización 108 se determinan mediante el aparato de interfaz de usuario 100, por ejemplo, mediante un proceso de calibración descrito a continuación, entonces el aparato de interfaz de usuario 100 puede representar la pantalla de visualización en el mismo espacio virtual tridimensional 702 en el que se representa una representación virtual del usuario 704 y, por tanto, donde se representa virtualmente la línea ojo-mano 204. En este caso, el aparato de interfaz de usuario 100 puede determinar el punto en la pantalla de visualización en el espacio virtual 702 en el que la línea ojo-mano virtual se interseca con la pantalla de visualización en el espacio virtual 702. De esta manera, el aparato de interfaz de usuario 100 puede inferir la posición en la pantalla de visualización real 108 con la que el usuario 200 desea interactuar.
Se pueden utilizar posiciones alternativas en adición a la posición de un ojo 200c del usuario 200 para definir la segunda posición rastreada, pero que aún resultarían en la intersección de la línea ojo-mano 204 con la pantalla de visualización 108 en una región 202 de la pantalla de visualización 108 que se oculta de la vista del usuario 200. Por ejemplo, se puede utilizar el punto medio entre los dos ojos 200c del usuario 200. Esto puede ser ventajoso ya que permitiría determinar un punto de intersección 206 de la línea cabeza-mano 204 con la pantalla de visualización 108 que se encuentra en la región 202 oculta de la visión del usuario sin que sea necesario saber qué ojo 200c del usuario 200 es más fuerte o preferido o de otro modo debería utilizarse para definir la línea cabeza-mano 204.
La segunda posición rastreada puede ser alternativamente una posición de la cabeza 200b del usuario, por ejemplo, el centro de la cabeza 200b de un usuario.
Una posición de la mano 200a del usuario (es decir, "la primera posición rastreada") y la posición de la cabeza 200b del usuario 200 (un ejemplo de una "segunda posición rastreada") pueden definir dos puntos de una línea recta 204, denominada en este caso como la línea cabeza-mano 204. Aunque el término "línea ojo-mano" se utiliza en las diversas discusiones a continuación, en algunas modalidades se utiliza en su lugar una línea cabeza-mano.
Los ojos del usuario 200 se colocan típicamente aproximadamente en la mitad inferior de la longitud vertical de la cabeza 200b del usuario y, se sitúan a una profundidad sustancial en la cabeza del usuario. En este caso, la utilización de la posición del centro de la cabeza 200b de un usuario al definir la segunda posición rastreada puede resultar en que la línea cabeza-mano 204 se interseca con la pantalla de visualización 108 en una región 202 de la pantalla de visualización 108 oculta de la vista del usuario 200. En este caso, la línea cabeza-mano 204 puede utilizarse mediante el aparato de interfaz de usuario 100 en lugar de la línea ojo-mano 204 cuando se determina la porción de la pantalla de visualización con la que el usuario desea interactuar.
La utilización de una posición de la cabeza de un usuario como la segunda posición rastreada puede ser ventajoso en situaciones donde es difícil detectar la posición de los ojos o un ojo del usuario, o en situaciones donde es más eficiente rastrear el centro de la cabeza 200b de un usuario en comparación con rastrear la posición de un ojo 200c o los ojos del usuario 200.
La mano 200a puede ser la mano del usuario 200 y puede ser, por ejemplo, la mano del usuario que se determina que se encuentre más cerca de la pantalla de visualización 108, o alternativamente o adicionalmente, la mano del usuario que se encuentra más levantada de las dos manos del usuario 200.
Al rastrear una posición de la mano 200a del usuario (es decir, una primera posición rastreada) y una posición de la cabeza 200b del usuario u ojo 200c) (es decir, una segunda posición rastreada) en un espacio tridimensional con uno o más de los sensores 102a, 102b y 102c, el aparato de interfaz de usuario 100 puede determinar la línea ojomano 204 (o la línea cabeza-mano 204, según corresponda) y, por lo tanto, determinar un punto de intersección 206 de la línea 204 con la pantalla de visualización 108 que se encuentra dentro de la región de la pantalla de visualización 202 oculta de la vista del usuario por la mano 200a del usuario. De esta manera, el aparato de interfaz de usuario 100 puede determinar una posición en la pantalla de visualización 108 con la que el usuario 200 debe interactuar.
Debe señalarse que si la segunda posición rastreada es la posición de la cabeza 200b del usuario, por ejemplo, la posición del centro de la cabeza 200b del usuario, en lugar de la posición del ojo, debido a la separación física de los ojos del usuario del centro de la cabeza de un usuario, puede existir una discrepancia entre el punto de intersección 206 de la línea cabeza-mano 204 determinada mediante el aparato de interfaz de usuario 100 y, el centro de la región 202 oculta de la visión del usuario (es decir, la región que el usuario tiene la intención de seleccionar). La Figura 5b ilustra esquemáticamente un desplazamiento potencial D entre el punto de intersección 206a de una línea cabeza-mano 204a (definida utilizando el centro 200e de la cabeza 200b del usuario), y el punto de intersección 206b de una línea ojo-mano 204b (definida utilizando una posición del ojo 200c del usuario) de acuerdo con un ejemplo. En este ejemplo, ambos puntos de intersección 206a y 206b se encuentran dentro de la región 202 oculta de la visión del usuario. Sin embargo, el punto de intersección 206b (determinado utilizando la posición del ojo del usuario) se encuentra más cerca del centro de la región 202 oculta de la visión del usuario que el punto de intersección 206a (determinado utilizando la posición de la cabeza del usuario). Por lo tanto, el punto de intersección determinado utilizando la línea cabeza-mano 204b menos sistemáticamente resulta en una selección correcta del objeto destinado a la selección.
Por lo tanto, la utilización de una posición del ojo (por ejemplo, la posición del ojo 200c del usuario) como la segunda posición rastreada opuesta a la posición de la cabeza (por ejemplo, el centro 200e de la cabeza 200b de un usuario) permite que el aparato de interfaz de usuario 100 determine de manera más precisa y consistente la posición en la pantalla de visualización 108 con la que el usuario 200 desea interactuar y, por tanto, puede reducir, por ejemplo, las ocurrencias de la interacción errónea de la interfaz de usuario. Esto permite una interacción más intuitiva con la interfaz de usuario.
El aparato de interfaz de usuario 100 puede almacenar información relacionada con la posición actual de los objetos seleccionables en la pantalla de visualización 108. El aparato de interfaz de usuario 100 puede determinar que el objeto seleccionable 108b mostrado en la pantalla de visualización 108 contiene el punto de intersección 206 de la línea ojo-mano 204, lo que significa que el objeto seleccionable 108b se encuentra al menos parcialmente oculto de la vista del usuario y, por lo tanto, determinar que el objeto seleccionable 108b puede ser un objeto a seleccionar. A la inversa, el objeto seleccionable 108a no contiene el punto de intersección 206 y, por lo tanto, no se determina que sea un objeto a seleccionar o de otra manera que sea de interés actual para el usuario 200. De acuerdo con la presente invención y, como se describe con más detalle a continuación, el usuario selecciona el objeto 108b al menos parcialmente oculto de la vista del usuario 200 al cambiar una configuración de la mano 200a del usuario. Si el aparato de interfaz de usuario 100 determina que dicho cambio en la configuración de la mano 200a de un usuario ocurre mientras que el objeto seleccionable 108b contiene el punto de intersección 206, el objeto seleccionable 108b se determina como seleccionado. Se pueden realizar operaciones adicionales en un objeto seleccionable seleccionado como se describe con más detalle a continuación.
Tales determinaciones descritas anteriormente pueden realizarse, por ejemplo, utilizando el procesador 104 (no se muestra en las figuras 5a o 5b) y la memoria 106 (no se muestra en las figuras 5a o 5b) del aparato de interfaz de usuario 100.
Con un aparato de interfaz de usuario 100 como se describió anteriormente, un usuario 200 puede interactuar con un objeto mostrado (por ejemplo, los objetos seleccionables 108a, 108b) de una manera que él o ella 200 puede interactuar naturalmente con los objetos, es decir, típicamente al seleccionar (es decir, recoger) un objeto, un usuario cubre al menos parcialmente ese objeto con su mano y, por lo tanto, oculta al menos parcialmente ese objeto de su vista. Además, tal interacción evita la necesidad de que un usuario mueva un puntero mostrado en la pantalla de visualización hacia un objetivo porque la posición de la mano y la posición de los objetos mostrados en la pantalla pueden inferirse directamente y visualmente desde su propia perspectiva. Por lo tanto, dicha interfaz intuitiva evita la necesidad de mostrar un puntero y, reduce la fatiga en el usuario en comparación con las interfaces que utilizan punteros, por lo que el usuario debe primero mover el brazo para encontrar el puntero, mover el puntero hacia un objetivo y, luego ajustar la velocidad y la amplitud del movimiento para alcanzar con precisión el objetivo.
La Figura 6a muestra la pantalla de visualización 108 del aparato de interfaz de usuario 100 desde el punto de vista del usuario 200 (no se muestra en la figura 6). En la pantalla de visualización 108 se muestran 6 objetos seleccionables del 108a al 108f. Las posiciones de los objetos seleccionables 108a al 108f en la pantalla de visualización se determinan mediante el aparato de interfaz de usuario 100, por ejemplo, porque la imagen mostrada en la pantalla de visualización 108 se deriva de la información generada mediante el procesador 104 del aparato de interfaz de usuario 100. En este ejemplo, el usuario 200 desea seleccionar el objeto seleccionable 108b. Por lo tanto, el usuario coloca su mano 200a para ocultar el objeto 108b de su vista. En la figura 6a, la mano del usuario se extiende en una configuración sustancialmente abierta. Nótese que, como puede verse más claramente en la figura 5, la mano 200a del usuario no necesita necesariamente tocar la pantalla 108 o encontrarse a una distancia específica de la pantalla de visualización 108, la mano 200a sólo necesita ocultar al menos una porción del objeto 108b de la vista del usuario 200. El centro de la mano 200a del usuario se representa mediante el punto 300. De acuerdo con la presente invención, la línea ojo-mano 204 (no se muestra en la figura 6a) contiene el centro de la mano del usuario. La posición 206 en la pantalla de visualización 108 en la que la línea ojo-mano 204 del usuario (no se muestra en la figura 6a) interseca a la pantalla de visualización 108 se encuentra, por lo tanto, desde la perspectiva del usuario, alineada con el centro de la mano 300 del usuario. El aparato de interfaz de usuario 100 determina que el objeto seleccionable 108b contiene el punto de intersección 206 y, determina al objeto 108b como un objeto candidato para la selección por el usuario 200. En algunos ejemplos no cubiertos por las reivindicaciones adjuntas, el aparato de interfaz de usuario 100 puede determinar el objeto 108b como un objeto seleccionado en base únicamente a una determinación de que el objeto seleccionable 108b contiene el punto de intersección 206.
En algunas modalidades ilustrativas, si el aparato de interfaz de usuario 100 determina que un objeto 108b es un objeto candidato para la selección por el usuario 200, entonces el aparato de interfaz de usuario 100 puede provocar que el objeto 108b se muestre de manera diferente.
La Figura 6b ilustra un cambio ilustrativo al objeto seleccionable 108b, donde el objeto seleccionable 108b aumenta de tamaño con respecto a su tamaño antes de que se determinara como un objeto candidato para la selección. Se pueden realizar otros cambios a un objeto determinado como un objeto candidato para la selección, como, por ejemplo, un cambio de color, un cambio de representación del objeto, por ejemplo, la forma del objeto, o un cambio completo en la imagen que simboliza el objeto. De manera similar, el fondo 302 de la pantalla de visualización 108 puede cambiar, por ejemplo, cambiar el color o la intensidad, cuando se realiza tal determinación. Adicionalmente o alternativamente, un sonido puede generarse mediante un medio de generación de sonido tal como un altavoz al determinar un objeto posible para la selección, cuyo sonido puede correlacionarse, por ejemplo, con el propio objeto. Por ejemplo, si el objeto era una representación de un panda, al determinar el objeto como un objeto candidato para la selección, la representación del panda puede cambiar (por ejemplo, la cara del panda puede cambiar de una expresión neutra a una expresión sonriente), el tamaño de la representación puede cambiar y/o puede generarse el sonido de un panda. Estos cambios pueden alertar ventajosamente al usuario sobre la posibilidad de seleccionar el objeto 108b que está al menos parcialmente oculto de la vista del usuario 200 por la mano 200a del usuario.
En otras modalidades, tales cambios no se producen al determinar que el objeto es un objeto candidato para la selección. En otras modalidades adicionales, el aparato de interfaz de usuario 100 no realiza tal determinación de si un objeto es un objeto candidato para la selección.
La Figura 6c es una ilustración que muestra un usuario seleccionando un objeto seleccionable 108b de acuerdo con la presente invención y, es igual que la Figura 6a, excepto que el usuario ha realizado una acción de tipo agarre y, al hacerlo, ha cambiado la configuración de la mano 200a de una configuración abierta extendida a una configuración cerrada en forma de puño. Nótese que el objeto 108b todavía permanece al menos parcialmente oculto de la vista del usuario.
En una modalidad, el aparato de interfaz de usuario 100 determina cuándo la configuración de la mano ha cambiado de una configuración abierta como en la mano 200a de la figura 6b a una configuración cerrada como en la mano 200a de la figura 6c. En respuesta a tal determinación, el aparato de interfaz de usuario 100 determina el punto de intersección 206 de la línea ojo-mano 204 con la pantalla de visualización 108. En respuesta a una determinación de que el punto de intersección 206 se encuentra ubicado dentro de un objeto seleccionable 108b mostrado en la pantalla de visualización 108, entonces el objeto seleccionable 108b se determina como seleccionado por el usuario. En el ejemplo de la Figura 6c, dado que el punto de intersección 206 se encuentra dentro del objeto seleccionable 108b mientras la mano 200a cambia a una configuración cerrada, entonces el objeto 108b se determina como seleccionado. De acuerdo con los ejemplos no cubiertos por las reivindicaciones adjuntas, el aparato de interfaz de usuario 100 no necesita determinar necesariamente que la configuración de la mano del usuario ha cambiado para determinar que se selecciona un objeto seleccionable 108b. En algunos ejemplos, el aparato de interfaz de usuario 100 continuamente (o casi continuamente, por ejemplo, 30 veces por segundo) determina el punto de intersección 206 de la línea ojo-mano 204 con la pantalla de visualización 108. En este caso, en respuesta a una determinación de que el punto de intersección 206 se encuentra ubicado dentro de un objeto seleccionable 108b mostrado en la pantalla de visualización 108, entonces el objeto seleccionable 108b se determina como seleccionado por el usuario. De esta manera, un usuario 200 puede seleccionar un objeto seleccionable 108b sin necesidad de que el usuario 200 cambie la configuración de su mano 200a. Esto puede resultar ventajoso, por ejemplo, en situaciones donde es difícil determinar la configuración de la mano de un usuario. En otros ejemplos, el objeto seleccionable puede seleccionarse sobre la base de que el punto de intersección 206 se encuentra ubicado dentro de un objeto seleccionable 108b mostrado en la pantalla de visualización 108 durante un período de tiempo predeterminado, por ejemplo, el objeto sólo puede determinarse como seleccionado después de que el punto de intersección 206 se ha ubicado dentro del objeto seleccionable durante 1 segundo.
En algunas modalidades, un objeto seleccionable 108b determinado como seleccionado puede moverse desde una ubicación en la pantalla de visualización 108 a otra por el usuario 200. La Figura 6d es una ilustración de una pantalla de visualización vista desde la perspectiva del usuario y, es la misma que la figura 6c, excepto que el usuario ha movido su mano 200a, mientras se encontraba en la configuración cerrada, en forma de puño, a una ubicación diferente en su campo de visión y, la posición del objeto seleccionado 108b en la pantalla de visualización 108 se ha movido en consecuencia. La posición original del objeto 108b antes de moverse se representa mediante el cuadro de guiones 108b *. La posición a la que se mueve el objeto 108b depende de la posición a la que el usuario ha movido su mano 200a y, en consecuencia, la posición en la pantalla de visualización 108 a la que se ha movido el punto de intersección 206 de la línea ojo-mano 204 (no se muestra en la figura 6d). Como resultado, como puede verse en el ejemplo de la Figura 6d, mientras se selecciona el objeto 108b, incluso si se encuentra en movimiento, el objeto 108b todavía contiene el punto de intersección 206 y, la mano 200a del usuario todavía oculta al menos parcialmente el objeto 108b de la vista del usuario. En algunas modalidades, si el usuario mueve su mano 200a de manera que el punto de intersección 206 se mueva fuera de la pantalla de visualización 108, el objeto 108b puede moverse fuera de la pantalla de visualización en consecuencia. En otras modalidades, en tal caso, el objeto 108b puede forzarse a no salir de la pantalla de visualización 108 y puede, por ejemplo, en tal caso, deseleccionarse automáticamente. En otro ejemplo, en tal caso, el objeto puede permanecer en una posición dada, por ejemplo, la última posición donde se determinó que el punto de intersección 206 se encontraba dentro de la pantalla de visualización 108, hasta que se determine que el usuario mueve su mano 200a de modo que el punto de intersección 206 vuelva a encontrarse dentro de la pantalla de visualización 108, momento en el que el objeto volverá al punto de intersección 206 determinado recientemente.
En algunas modalidades, para deseleccionar un objeto 108b seleccionado como se describió anteriormente, el usuario cambia la configuración de su mano 200a desde una configuración cerrada (como en la figura 6c o 6d), de nuevo a una configuración abierta (como en la figura 6a). La Figura 6e muestra una ilustración de la pantalla de visualización 108 desde la perspectiva de un usuario y, es la misma que la figura 6d, excepto que la mano 200a ha cambiado de una configuración cerrada a una configuración abierta. Al determinar que la mano 200a del usuario ha cambiado de una configuración cerrada a una configuración abierta, el aparato de interfaz de usuario 100 determina que el objeto seleccionado 108b se encuentra deseleccionado. En el ejemplo mostrado en la figura 6e, el objeto 108b permanece en la misma posición en la pantalla de visualización 108 en la que se determinó deseleccionarlo. En este caso, el movimiento de la mano 200a del usuario mientras se encuentra en la configuración abierta no tendrá ningún efecto sobre el objeto 108b deseleccionado, ya que ahora se encuentra deseleccionado. Esto se ilustra en la Figura 6f, que es una ilustración de la pantalla de visualización 108 desde la perspectiva del usuario 200 y, es la misma que la figura 6e, excepto que el usuario ha movido su mano 200a, todavía en la configuración abierta, a una posición diferente, pero el objeto 108b (ahora deseleccionado) permanece en la misma posición en la pantalla de visualización 108.
En el caso, que sin embargo no se cubre por las reivindicaciones adjuntas, donde el aparato de interfaz de usuario selecciona un objeto seleccionable 108b únicamente sobre la base de que el punto de intersección 206 de la línea ojo-mano 204 con la pantalla de visualización 108 se ubica dentro del objeto seleccionable 108b, o se ha ubicado durante un período de tiempo predeterminado, entonces el usuario no necesita mantener la configuración de su mano en una configuración cerrada (o de hecho en cualquier configuración particular) para mover el objeto seleccionado. En tal caso, el objeto puede deseleccionarse automáticamente, por ejemplo, cuando el usuario provoca que el punto de intersección 206 se encuentre fuera de la pantalla de visualización. En otro ejemplo, el objeto puede deseleccionarse si el usuario detiene el movimiento del objeto seleccionado durante un período de tiempo predeterminado, por ejemplo, si el aparato de interfaz de usuario 100 determina que, mientras se selecciona un objeto, el punto de intersección 206 no se ha movido más allá de una cantidad predeterminada (por ejemplo, una distancia o grado) en el último segundo, el aparato de interfaz de usuario 100 puede determinar que el objeto seleccionado se encuentra deseleccionado.
Se apreciará que un objeto 108b también puede seleccionarse o deseleccionarse sobre la base de un cambio determinado en la configuración de la mano 200a del usuario 200 en adición a un cambio entre una configuración abierta y una configuración cerrada o viceversa. Puede utilizarse cualquier otro cambio de configuración adecuado que pueda detectarse de forma fiable mediante el aparato de interfaz de usuario 100. Por ejemplo, un cambio adecuado en la configuración puede ser un cambio en la forma en que se orienta la palma de una mano extendida 200a, por ejemplo, un cambio de una configuración donde la palma de la mano 200a se orienta hacia la pantalla de visualización 108 a una configuración donde la palma de la mano 200a se orienta en posición opuesta a la pantalla de visualización.
Otro cambio adecuado en la configuración puede ser una acción de "pellizco", mediante la cual la mano de un usuario cambia de una configuración abierta con los dedos extendidos a una configuración cerrada mediante la cual uno o más dedos y el pulgar de la mano se juntan mientras se extienden radialmente desde la mano. Otro cambio adecuado en la configuración puede ser en la ocurrencia de una o más acciones de "golpes ligeros", mediante las cuales la mano del usuario cambia de una configuración abierta donde los dedos se encuentran extendidos, por ejemplo en un primer plano, por ejemplo, un plano sustancialmente paralelo al plano de la pantalla de visualización 108, a una segunda configuración donde la mano ha girado alrededor de la muñeca de modo que los dedos se encuentran extendidos, por ejemplo, en un segundo plano girado con respecto al primer plano, por ejemplo un plano sustancialmente perpendicular al plano de la pantalla de visualización. En algunas modalidades, un cambio en la configuración sólo puede reconocerse después de dos o más de estas acciones de "golpes ligeros", de modo que, por ejemplo, un usuario selecciona un elemento "golpeando ligeramente dos veces" en un objeto.
En algunas modalidades ilustrativas, se pueden realizar operaciones adicionales en un objeto seleccionable 108b seleccionado en adición a mover la ubicación del objeto. Por ejemplo, un usuario 200 puede eliminar o suprimir un objeto virtual seleccionado 108b (o datos asociados con el mismo) de una manera similar a como el usuario 200 puede eliminar un objeto físico que se encuentra sosteniendo: tirándolo. Dicha interfaz naturalista tiene, por ejemplo, ventajas en la facilidad con la que un usuario puede interactuar eficazmente con ella. Dicha acción de "tirar" típicamente comprende un cambio repentino en la posición o la velocidad del objeto conectado con el usuario que libera (deselecciona) el objeto.
Para lograr esto virtualmente, el aparato de interfaz de usuario 100 puede determinar la velocidad a la que un usuario 200 cambia la posición de su mano 200a en una dirección dada cuando se selecciona un objeto seleccionable 108b dado. Esto se puede determinar directamente al rastrear el cambio en la posición determinada de la mano 200a en coordenadas tridimensionales, o al rastrear el cambio en el punto de intersección 206 de la línea ojo-mano 204 con la pantalla de visualización 108. Alternativamente, la interfaz de usuario 100 puede determinar esto, por ejemplo, al determinar el desplazamiento o la distancia recorrida por el objeto seleccionado 108b en la pantalla de visualización 108 en un tiempo dado (es decir, la velocidad promedio o la velocidad de desplazamiento promedio del objeto 108b durante un intervalo de tiempo dado). El aparato de interfaz de usuario 100 puede determinar adicionalmente o alternativamente dicha velocidad promedio del objeto 108b durante un número de dichos intervalos de tiempo y, de tal manera determinar una aceleración del objeto 108b. Cuando el aparato de interfaz de usuario 100 determina que un objeto seleccionable 108b seleccionado se deselecciona (por ejemplo, como se describió anteriormente con referencia a la Figura 6e), la velocidad del objeto 108b y/o la aceleración del objeto 108b en uno o más períodos de tiempo (s) se determina inmediatamente antes de la determinación de que el objeto seleccionable 108b se deselecciona. El aparato de interfaz de usuario 100 puede comparar esta velocidad determinada del objeto 108b y/o la aceleración determinada del objeto 108b con un umbral predeterminado de velocidad y/o un umbral predeterminado de aceleración, respectivamente. En el caso donde la velocidad y/o aceleración determinadas del objeto 108b se encuentren por encima del umbral respectivo, entonces el aparato de interfaz de usuario 100 puede realizar una acción de procesamiento adicional sobre el objeto; y si no, no realiza una acción de procesamiento adicional. Una acción de procesamiento adicional ilustrativa puede ser la eliminación del objeto 108b. Esta eliminación puede corresponder a eliminar el objeto 108b de la visualización en la pantalla de visualización 108, y/o mover los datos asociados con el objeto 108b desde un directorio de la memoria (por ejemplo, la memoria 106 o 112) en el que los datos se almacenan hacia otro, y/o eliminar los datos totalmente.
La Figura 7, de forma similar a la figura 5, ilustra un usuario 200 que utiliza un aparato de interfaz de usuario 100 de acuerdo con otra modalidad ilustrativa. En esta modalidad, el aparato de interfaz de usuario comprende un sensor de seguimiento ocular 110 para su utilización en la detección de la dirección ocular 404 del usuario 200, que comprende gafas 402, que utiliza el usuario 200. Las gafas 402 pueden rastrear la rotación del ojo 200c del usuario con relación a las gafas 402, por ejemplo, al rastrear la posición de la pupila del ojo mediante la utilización de cámaras de infrarrojos. Dado que, en funcionamiento, las gafas 402 se fijan con relación a la cabeza 200b del usuario, las gafas 403 pueden rastrear la rotación del ojo 200c con relación a la cabeza 200b del usuario. Dado que la posición y la dirección en las que se orienta la cabeza del usuario con relación a la pantalla de visualización 108 pueden determinarse mediante el aparato de interfaz de usuario 100, entonces puede determinar la dirección ocular 404 del usuario 200 con relación a la pantalla de visualización 108. Alternativamente, el sensor de seguimiento ocular 110 puede comprender otros componentes (no se muestran) para determinar la dirección ocular 404 del usuario 200 con relación a la pantalla de visualización 108. Estos componentes pueden comprender, por ejemplo, magnetómetros para rastrear el cambio de orientación de la cabeza 200b del usuario con relación a una dirección dada.
Alternativamente, el sensor de seguimiento ocular 110 puede comprender cualquier otra tecnología adecuada para determinar la dirección ocular del usuario con relación a la pantalla de visualización 108.
En esta modalidad, el aparato de interfaz de usuario 100 puede determinar un punto 406 en la pantalla de visualización al que mira el usuario al extrapolar la dirección ocular 404 determinada a partir de la posición rastreada determinada del ojo 200c del usuario en el espacio tridimensional.
Debe señalarse que, en la figura 7, aunque el usuario se encuentra mirando al punto 406 en la pantalla de visualización 108, la región 202 de la pantalla de visualización 180 todavía se oculta de la vista del usuario mediante la mano 200a del usuario. En este caso, el aparato de interfaz de usuario 100 todavía determina el punto de intersección 206 de la línea ojo-mano 204 con la pantalla de visualización 108 como un punto para la utilización en el control de objetos seleccionables 108a o 108b mostrados en la pantalla de visualización 108.
En la figura 7, el punto de intersección 206 de la línea ojo-mano 204 con la pantalla de visualización 108 es tal que se encuentra dentro del objeto seleccionable 108b. Sin embargo, el punto 406 en la pantalla de visualización 108 al que mira el usuario 200 se separa desde el punto de intersección 206 de la línea ojo-mano 204 con la pantalla de visualización 108 por una distancia d (no se muestra en la figura 7).
En un ejemplo, el usuario selecciona el objeto 108b. Si se determina que el usuario deselecciona el objeto 108b (por ejemplo, si el aparato de interfaz de usuario determinó que la configuración de la mano 200a del usuario cambia de una configuración cerrada a una configuración abierta) entonces el aparato de interfaz de usuario 100 determina la distancia d entre el punto 406 y el punto 206. Si se determina que la distancia d se encuentra por encima de un umbral predeterminado, el aparato de interfaz de usuario puede realizar una operación de procesamiento adicional en el objeto 108b y, si se determina que se encuentra por debajo del umbral predeterminado, entonces no realiza una operación de procesamiento adicional. La operación de procesamiento adicional puede ser, por ejemplo, una eliminación del objeto como se describió anteriormente, o puede ser cualquier otra operación de procesamiento adicional concebible, por ejemplo: guardar, copiar, acercar la imagen, rotar, cambiar el tamaño, etc.
En otro ejemplo, el aparato de interfaz de usuario puede determinar que el punto de intersección 206 de la línea ojomano 204 y el punto 406 en la pantalla de visualización 108 al que mira el usuario se mantienen separados a una distancia d entre sí superior a una cantidad umbral, superando una cantidad umbral de tiempo. Por ejemplo, un usuario 200 puede sostener su mano 200a en una posición mientras su mirada se mantiene dirigida a una posición diferente en la pantalla de visualización 108, por ejemplo, durante más de 1 segundo. A partir de tal determinación, el aparato de interfaz de usuario 100 puede determinar que se debe realizar una acción de procesamiento adicional, por ejemplo, para reorganizar todos los objetos seleccionables 108a, 108b, etc. en la pantalla de visualización 108 en un patrón en la pantalla de visualización 108, por ejemplo, en una distribución de rejilla. De tal manera, el usuario puede controlar el aparato de interfaz de usuario 100 para colocar los objetos seleccionables 108a, 108b, etc. de manera que, por ejemplo, el usuario 200 pueda distinguirlos y seleccionarlos rápidamente con más facilidad.
De las formas descritas en los ejemplos anteriores, el aparato de interfaz de usuario 100 puede obtener más grados de control a partir del usuario 200 y, como tal, proporcionar una interfaz más eficiente con la que el usuario 200 puede interactuar. En algunas modalidades, el aparato de interfaz de usuario 100 puede determinar que el usuario 200 tiene un nivel bajo de competencia en la utilización del aparato de interfaz de usuario 100, por ejemplo, que el usuario 200 es un principiante y, puede no estar acostumbrado al paradigma de control proporcionado por el aparato de interfaz de usuario 100. Por ejemplo, el aparato de interfaz de usuario puede determinar que el usuario 200 ha cambiado la configuración de su mano 200a de una configuración abierta a una configuración cerrada (es decir, lo que significa la selección de un objeto) en una posición en la pantalla de visualización en la que no existe objeto seleccionable 108b para seleccionar. El aparato de interfaz de usuario 100 puede determinar que tal ocurrencia ha sucedido de forma sucesiva en más de un número predeterminado de veces. En este caso, el aparato de interfaz de usuario 100 puede provocar que se muestre un puntero, o algún indicador simbólico en la pantalla de visualización en una posición relacionada con el punto de intersección 206 determinado, para que el usuario pueda recordar la ubicación en la pantalla de visualización con la que se encuentra interactuando. El puntero sólo se puede mostrar durante un período de tiempo predeterminado, por ejemplo 5 segundos, para permitir que el usuario se oriente con la pantalla de visualización. Alternativamente, el puntero sólo puede mostrarse para un número predeterminado de cambios determinados en la configuración de mano del usuario, o de otro modo hasta que el usuario 200 seleccione con éxito un objeto 108b. El puntero puede colocarse de manera que no se oculte de la vista del usuario 200 mediante la mano 200a del usuario cuando se muestra en la pantalla de visualización. Dicho puntero ilustrativo se muestra en la figura 8, que muestra la pantalla de visualización 108 mostrando los objetos seleccionables 108a al 108f y, también muestra el puntero circular 802 centrado en el punto de intersección 206 determinado y, con un diámetro lo suficientemente grande como para no quedar completamente oculto de la vista del usuario por la mano 200a del usuario.
El aparato de interfaz de usuario 100 puede determinar adicionalmente o alternativamente un nivel bajo de competencia, si un usuario repite una acción en más de un número predeterminado de veces. Por ejemplo, si un usuario selecciona un objeto, lo mueve y luego coloca nuevamente el objeto en o cerca de su posición original, digamos, más de tres veces sucesivamente, esto puede indicar que el usuario selecciona un objeto diferente al objeto que tiene la intención de seleccionar y, el aparato de interfaz de usuario 100 puede determinar un nivel de competencia bajo y mostrar un puntero como se describió anteriormente en consecuencia para recordar al usuario el paradigma de control. Se apreciará que los anteriores son sólo ejemplos y, que la repetición de cualquier acción del usuario mayor que cualquier número de veces predefinido o determinado dinámicamente puede causar que se determine un nivel de competencia bajo y, por lo tanto, que se muestre un puntero u otro recordatorio de paradigma de control, como por ejemplo un mensaje.
En algunas modalidades, las dimensiones y la posición de la pantalla 108 en el espacio virtual tridimensional 702 se determinan mediante el aparato de interfaz de usuario en un procedimiento de calibración.
En algunas modalidades, el punto de intersección de dos líneas ojo-mano 204 determinadas asociadas con un usuario 200 que se encuentra de pie en dos posiciones diferentes se utiliza mediante el aparato de interfaz de usuario 100 para inferir una coordenada tridimensional de la pantalla de visualización 108.
La Figura 9 muestra una ilustración de una porción de dicho proceso de calibración, donde un usuario 200 se encuentra de pie en dos ubicaciones diferentes 901 y 902 y, en cada ubicación coloca su mano 200a en una posición de modo que oculta de su vista una ubicación predeterminada 904 en la pantalla de visualización 108.
Por ejemplo, en dicho proceso de calibración, el aparato de interfaz de usuario 100 puede provocar que se muestren en la pantalla de visualización 108 instrucciones que indiquen al usuario que coloque su mano 200a de modo que oculte un símbolo 904 dado indicado en la pantalla de visualización, por ejemplo ubicado en una esquina de la pantalla de visualización 108 y, una vez en su lugar realizar una "acción de agarre", es decir, cambiar su mano 200a de una configuración abierta a una configuración cerrada. Tras la determinación de que se ha producido dicha acción, el aparato de interfaz de usuario 100 puede registrar la línea ojo-mano 910 en el espacio virtual 702. El aparato de interfaz de usuario 100 puede entonces provocar que se muestren instrucciones para que el usuario repita este proceso (no se muestra en la figura 9 para mayor claridad), mientras que el usuario 200 permanece en la misma ubicación (por ejemplo, en la ubicación 901), para diferentes símbolos en la pantalla de visualización 108, por ejemplo, colocados en diferentes esquinas 908, 912 de la pantalla de visualización 108. El aparato de interfaz de usuario 100 puede entonces provocar que se muestren instrucciones para que el usuario repita este proceso, pero desde una ubicación diferente, por ejemplo, la ubicación 902 y, de tal manera determinar las dimensiones y la posición en el espacio virtual 702 de la pantalla de visualización 108, como se describe con más detalle a continuación.
En la figura 9, las dos líneas ojo-mano 910 y 920 respectivas resultantes (producidas cuando el usuario 200 oculta la región 904 de su vista y realiza una acción de agarre cuando se encuentra de pie en las ubicaciones 901 y 902 respectivamente), tienen un punto de intersección, o de intersección cercana en el punto 906.
Para cada ubicación 901 y 902, el aparato de interfaz de usuario 100, utilizando el componente sensor 102, determina una representación 704 del usuario en el espacio virtual tridimensional 702 y, a partir de esto determina la línea ojo-mano (910 o 920) en el espacio virtual tridimensional 702, como se describió anteriormente. La línea ojomano 910, por ejemplo, puede describirse en el espacio virtual 702 mediante una ecuación en el espacio virtual 702: Si E es la coordenada del ojo y H es la coordenada de la mano, entonces las coordenadas de cualquier punto en la línea ojo-mano L( e,h) vienen dadas por
Figure imgf000014_0001
donde t es el parámetro de la ecuación y u = E - H es el vector de dirección de L( e,h).
En este caso, si el usuario coloca su mano 200a para ocultar una región 904 dada en la pantalla de dos ubicaciones diferentes 901 y 902, entonces el aparato de interfaz de usuario 100 puede determinar el sistema correspondiente de ecuaciones de la línea ojo-mano:
Figure imgf000014_0002
(2)
Donde v es el vector de dirección correspondiente de L2, y donde el subíndice "1" se refiere a la ubicación 901 del usuario y el subíndice "2" se refiere a la ubicación 902 del usuario. Si las dos líneas Li y L2 se intersecan, definen un punto único P (es decir, el punto de intersección 906) en el que se intersecan. Dicho punto de intersección puede utilizarse entonces para definir las coordenadas tridimensionales de la región de la pantalla de visualización 108 en el espacio virtual 702 correspondiente a la región 904 en la pantalla de visualización 108. En algunas calibraciones ilustrativas, en lugar de que el usuario sólo oculte una región 904 de la pantalla de visualización 108 con su mano 200a, en cada ubicación 901 y 902, el usuario oculta secuencialmente dos o más regiones de la pantalla de visualización, por ejemplo, dos esquinas de la pantalla de visualización 108. En este caso, se pueden determinar dos o más coordenadas de la pantalla de visualización 108 en el espacio virtual 702. En el ejemplo donde se predetermina en el aparato de interfaz de usuario 100 que la pantalla de visualización es rectangular, si el proceso de calibración se realiza con las regiones como tres de las cuatro esquinas de la pantalla de visualización 108 desde dos ubicaciones diferentes 901 y 902, entonces se pueden determinar las dimensiones y la posición exactas de la pantalla de visualización en el espacio virtual 702. Esto se debe a que si se predetermina que la pantalla es rectangular, entonces la posición de la cuarta esquina de la pantalla de visualización 108 puede inferirse de las posiciones de las otras tres esquinas. Si la forma de la pantalla de visualización 108 no se predetermina, entonces se pueden incluir más regiones de la pantalla de visualización en el proceso de calibración hasta que se logre un mapeo apropiado de la posición de la pantalla de visualización a las coordenadas del espacio virtual tridimensional 702.
En algunos escenarios, como se ilustra en la figura 10, dos líneas ojo-mano Li y L2 pueden de hecho no intersecarse y, pueden sólo casi intersecarse. En este caso, el punto de intersección 906 puede determinarse como el punto medio de la línea más corta que conecta a Li y L2. Por ejemplo, considerando el sistema de ecuaciones (2), sea w = Pi(t-i) - P2^i) un vector entre el punto Pi(t-i) en la línea Li y el punto P2^2) en la línea L2. Si las dos líneas no son paralelas, entonces se encuentran más cerca en los puntos únicos Pi(t-ic) y P2(t2c): o se intersecan y Pi(t-ic) = P2(t2c), o sólo casi se intersecan y, el segmento [Pi(t-ic), P2(t2c)] es el segmento único perpendicular a ambas líneas Li y L2. En el caso de intersección cercana, el vector wc = P2(t2c) - Pi(t-ic) es el vector único perpendicular a los vectores de dirección v de ambas líneas y u, que es el vector wc satisface el sistema de ecuaciones (3):
u ■ Wc =0
(3)
v ■ Wc =0.
Expresando Wc en términos de u, v, Ei y E2, es decir, Wc = Ei ticu -(E2 + t2cv), el sistema (3) se convierte en:
u ■ (Ei - E2) + t-ic u-u - t-icu^ v = 0
(4)
v ■ (Ei - E2) + t1c v-u - t1cv-v = 0.
El sistema (4) se puede manipular para producir ecuaciones para los parámetros tic y t2c que definen los puntos Pi(t1c) y P2(t2c) respectivamente,
v ( E x - E z) x
tle ~ ii-
Figure imgf000015_0001
(5)
u ■ ( E x - E2} x u ■ v - v -( E x - E 2) ■ h 2
*Zr = Cii v ) 2 - v 2 - i i 2
Los parámetros tic y t2c definen los puntos Pi(tic) y P2(t2c) respectivamente, que luego pueden utilizarse para definir el segmento [Pi(t1c), P2(t2c)]. El centro del segmento [Pi(tic), p2(t2c)] se puede entonces utilizar para definir el punto de intersección cercana y, por tanto, la posición en el espacio virtual 702 de la región asociada de la pantalla de visualización 108.
De esta manera, incluso si las líneas ojo-mano 910 y 920 del proceso de calibración sólo casi se intersecan, la posición de la región 904 en el espacio virtual 702 puede determinarse mediante el aparato de interfaz de usuario 100.
En algunas modalidades, el aparato de interfaz de usuario puede determinar que la longitud del segmento [P1 (t1c), P2(t2c)] se encuentra por encima de un cierto umbral y, por tanto, que el punto inferido de intersección cercana en el espacio virtual es probable que sea una mala representación de la región correspondiente 904 de la pantalla de visualización 108. En tales casos, el proceso de calibración puede repetirse hasta que la longitud de todos los segmentos correspondientes a la intersección cercana respectiva del proceso de calibración sea inferior que un cierto umbral.
En algunas modalidades, después de que se haya registrado una primera línea ojo-mano 910 para una región 904 dada mediante el aparato de interfaz de usuario en la etapa del proceso de calibración, entonces cuando el usuario 200 se encuentra colocando su mano para definir la línea ojo-mano 920 en una etapa posterior del proceso de calibración, la pantalla de visualización muestra una medición dinámica de la distancia más corta entre las líneas 910 y 920, de modo que el usuario pueda colocar su mano para minimizar esta medición y, por lo tanto, producir una calibración más precisa. En lugar de mostrar la distancia más corta, se muestra una indicación de si la distancia más corta se encuentra dentro de un rango aceptable, por ejemplo, menos de 5 cm. Esto podría representarse como un sistema de tipo semáforo, donde si la distancia más corta es inaceptable, digamos > 10 cm, la pantalla se muestra en rojo, si la distancia más corta es aceptable, digamos < 10 cm, pero > 5 cm, se muestra en naranja y si la distancia más corta es buena, digamos < 5 cm, luego se muestra en verde.
En algunas modalidades, el aparato de interfaz de usuario 100 sólo registra una línea ojo-mano (por ejemplo, 901, 902) en un proceso de calibración si es lo suficientemente estable como para proporcionar una determinación adecuada y precisa de la posición de la pantalla, por ejemplo, sólo si las posiciones del ojo y la mano correspondientes son estables dentro de los 2 cm durante un período de 10 segundos.
Debe señalarse que una vez que se determina la posición de la pantalla de visualización 108 en el espacio virtual 702 mediante el aparato de interfaz de usuario 100, siempre que la pantalla de visualización 108 y el componente sensor 102 no se muevan entre sí, el aparato de interfaz de usuario 100 puede determinar con precisión el punto de intersección 206 con el que un usuario 200 desea interactuar, para cualquier usuario, independientemente de las dimensiones del usuario, el tipo de cuerpo, etc.
En un proceso de calibración ilustrativo, las etapas de calibración descritas anteriormente con referencia a las figuras de región 9 y 10 se repiten, por ejemplo, para las esquinas 904, 908 y 912 de la pantalla de visualización 108, de modo que el aparato de interfaz de usuario 100 determina las coordenadas tridimensionales (A, B, C) de las esquinas 912, 908 y 904 respectivamente en el espacio virtual 701. En uso, el aparato de interfaz de usuario 100 puede determinar una línea ojo-mano 204 definida en el espacio virtual tridimensional 702 mediante la línea ojomano L( e,h) de la ecuación 1 que contiene los puntos P(t). En este caso, el aparato de interfaz de usuario 100 puede determinar la posición en la pantalla de visualización 108 en la que el usuario desea interactuar al calcular el punto de intersección P de la línea ojo-mano L(e,h) y el plano (A, B, C) en el espacio virtual 702.
En algunas modalidades, las coordenadas 2D del punto P dentro de la pantalla de visualización 2D pueden calcularse, por ejemplo, para su utilización como una entrada a una aplicación que requiera las coordenadas 2D del punto de interacción del usuario en una pantalla de visualización 108.
Para expresar P como tal coordenada de la pantalla de visualización bidimensional, el aparato de interfaz de usuario 100 puede calcular la transformación de coordenadas necesaria para definir A como el origen, AB/|AB| como el vector x, y BC/|BC| como el vector y del espacio virtual 702. Tal transformación de coordenadas puede comprender una traslación y tres rotaciones como se describe a continuación. Primero, el aparato de interfaz de usuario 100 puede definir una de las coordenadas de las esquinas, por ejemplo, A, como un origen O del espacio virtual 702. Para obtener A como el origen del espacio virtual 702, se calcula la traslación requerida desde A hasta el origen O del espacio virtual 702. Entonces se pueden calcular tres rotaciones para compensar las tres posibles rotaciones alrededor de este origen, el plano (A, B, C). En una primera rotación, un borde de la pantalla, por ejemplo, el borde inferior de la pantalla definido por AB se proyecta sobre el plano (O, x, z) en el sistema de coordenadas del espacio virtual 702, donde O es el origen, x es el vector del eje x y z es el vector del eje z en el espacio virtual 702. El ángulo a entre x y la proyección de AB en (O, x, z) se puede calcular entonces utilizando:
Figure imgf000016_0001
A partir de la ecuación 6, se puede inferir la rotación - a alrededor del eje z que se necesita aplicar al plano (A, B, C) para efectuar la transformación de coordenadas, es decir, para alinear correctamente AB con el eje x del sistema de coordenadas del espacio virtual. El mismo procedimiento se aplica entonces para los demás ejes x e y para inferir las rotaciones correspondientes requeridas alrededor de esos ejes en consecuencia.
Las transformaciones calculadas anteriormente pueden entonces aplicarse a la coordenada P de intersección tridimensional para transformarla en una coordenada P' bidimensional dentro de la pantalla de visualización.
Como se describe anteriormente, una vez que se ha realizado el proceso de calibración, siempre que las posiciones relativas de la pantalla de visualización 108 y el sensor l06 no cambien, se pueden utilizar las mismas transformaciones de coordenadas para diferentes usuarios, independientemente de las dimensiones del usuario, tipo de cuerpo, etc. de modo que no es necesario repetir la calibración.
Se apreciará que aunque el proceso de calibración anterior se describe con referencia a las líneas ojo-mano, en situaciones donde se utiliza una posición de la cabeza como la segunda posición rastreada, en su lugar el aparato de interfaz de usuario 100 puede utilizar líneas cabeza-mano en el proceso de calibración.
En algunas modalidades, el aparato de interfaz de usuario puede detectar y rastrear múltiples usuarios al mismo tiempo.
En algunas modalidades, el aparato de interfaz de usuario 100 puede rastrear las posiciones de múltiples usuarios y determinar y llevar a cabo de manera correspondiente interacciones con la pantalla de visualización 108 para cada usuario individual.
En algunas modalidades, por ejemplo, donde se desea que sólo un usuario a la vez pueda interactuar con la pantalla de visualización 108, el aparato de interfaz de usuario 100 puede determinar un "usuario activo" y sólo obtener y/o utilizar la información de rastreo relacionada con ese usuario. Un usuario activo puede determinarse, por ejemplo, como el usuario que se encuentra a la distancia más corta de la pantalla de visualización 108, por ejemplo, en base a la ubicación determinada de la articulación de la cadera de la representación virtual 704 de cada usuario en el espacio virtual 702.
La Figura 11 muestra un diagrama de flujo esquemático de las etapas en un método realizado mediante un aparato de interfaz de usuario 100 para permitir que un usuario seleccione objetos seleccionables 108b mostrados en una pantalla de visualización 108 de acuerdo con una modalidad.
La etapa S1101 comprende rastrear una posición de la mano 200a, donde la posición de la mano es una posición de la primera mano 200a de un usuario, rastrear una posición de la cabeza 200b o del ojo 100c del usuario y, detectar la configuración de mano de la primera mano 200a.
La etapa S1102 comprende determinar una o más posiciones de objeto 108b de uno o más objetos seleccionables 108b en la pantalla de visualización 108.
La etapa S1103 comprende determinar cuándo la configuración de mano detectada de la primera mano 200a del usuario 200 ha cambiado a una primera configuración predeterminada, por ejemplo, a una configuración cerrada en forma de puño. Si la configuración de mano detectada ha cambiado a una primera configuración predeterminada, entonces el método avanza a la etapa S1104, y si no lo ha hecho, entonces el método regresa a la etapa S1101. La etapa S1104 comprende determinar, en respuesta a una determinación de que la configuración de mano detectada ha cambiado a la primera configuración predeterminada y, en base a la posición rastreada de la mano 200a, a la posición rastreada de la cabeza 200b o del ojo 200c y a las posiciones determinadas de uno o más objetos 108b, si dicho objeto seleccionable 108b se encuentra ubicado en una primera posición de pantalla, donde la primera posición de pantalla es una posición en la pantalla de visualización 108 de manera que la primera mano 200a oculta al menos parcialmente la vista del usuario del objeto seleccionable 108b. Si se determina que el objeto seleccionable se encuentra ubicado en la primera posición de pantalla, entonces el método avanza a la etapa S1105 y, si no, el método regresa a la etapa S1101. En algunas modalidades, alternativamente, si se determina que no existe ningún objeto seleccionable ubicado en la primera posición de pantalla, entonces el aparato de interfaz de usuario puede determinar un nivel de competencia bajo del usuario y puede, por ejemplo, mostrar un puntero como se describió anteriormente.
La etapa S1105 comprende, (en el caso de una determinación de que la primera mano si oculta al menos parcialmente la vista del usuario del objeto seleccionable) determinar que el objeto seleccionable se encuentra seleccionado.
Dicho método como el que se describió anteriormente puede ser, por ejemplo, escrito en un código ejecutable mediante un aparato de interfaz de usuario 100, o cualquier otro sistema de procesamiento adecuado, cuyo código puede almacenarse en un medio legible por ordenador y, que cuando se ejecuta mediante el aparato de interfaz de usuario 100 o un sistema de procesamiento adecuado, provoca que el aparato de interfaz de usuario 100 o el sistema de procesamiento adecuado realice el método como se describió anteriormente.
Las modalidades anteriores deben entenderse como ejemplos ilustrativos. Debe entenderse que son posibles las modificaciones de los ejemplos anteriores sin apartarse del ámbito de la invención, que se define en las reivindicaciones adjuntas.

Claims (12)

  1. REIVINDICACIONES
    i. Un método para utilizar en un aparato de interfaz de usuario (100) para seleccionar un objeto seleccionable en una pantalla de visualización (108), la pantalla de visualización (108) se coloca para mostrar uno o más objetos seleccionables (108a-108f), el método que comprende:
    obtener una primera información con relación a una primera posición rastreada, la primera posición rastreada es una posición del centro (300) de una primera mano (200a) de un usuario (200); obtener una segunda información con relación a una segunda posición rastreada, la segunda posición rastreada es una posición de la cabeza (200b) o de un ojo (200c) del usuario (200);
    determinar (S1102) una o más posiciones de objeto de uno o más objetos seleccionables (108a-108f) en la pantalla de visualización (108);
    determinar una primera posición de pantalla (206) en base a un punto de la pantalla de visualización (108) intersecado por una línea recta (204) que pasa a través de la primera posición rastreada y de la segunda posición rastreada;
    en respuesta a una determinación de que una configuración de mano de la primera mano (200a) ha cambiado de una configuración de mano abierta a una configuración de mano cerrada, determinar (S1104), en base a la primera posición de pantalla (206) y de una o más posiciones de objeto, si uno o más objetos seleccionables (108a-108f) se encuentran ubicados en la primera posición de pantalla (206), en cuyo caso la primera mano (200a) oculta al menos parcialmente la vista del usuario de uno o más objetos seleccionables (108a-108f); y
    en el caso de la determinación de que uno o más objetos seleccionables (108a-108f) se encuentren ubicados en la primera posición de pantalla (206), determinar que el objeto seleccionable ubicado en la primera posición de pantalla (206) se encuentra seleccionado.
  2. 2. El método de acuerdo con la reivindicación 1, el método que comprende:
    en respuesta a una determinación de que la primera posición rastreada ha cambiado mientras la configuración de mano se mantiene en la configuración de mano cerrada, controlar el objeto seleccionado que se va a mover en la pantalla de visualización (108); y
    en respuesta a una determinación de que la configuración de la primera mano (200a) ha cambiado de la configuración de mano cerrada a la configuración de mano abierta, determinar que el objeto seleccionado se encuentra deseleccionado.
  3. 3. El método de acuerdo con la reivindicación 2, el método que comprende:
    en respuesta a la determinación de que la configuración de mano ha cambiado a la configuración de mano abierta, controlar el objeto seleccionado para detener el movimiento.
  4. 4. El método de acuerdo con la reivindicación 2 o 3, el método que comprende:
    si se determina que la velocidad de cambio de la primera posición rastreada determinada se encuentra por encima de un umbral dado, realizar un proceso de eliminación para eliminar el objeto seleccionado en respuesta a la determinación de que la configuración de mano ha cambiado a la configuración de mano abierta.
  5. 5. El método de acuerdo con cualquiera de la reivindicación 2 a la reivindicación 4, el método que comprende:
    obtener información de la dirección ocular rastreada con relación a una dirección ocular rastreada, la dirección ocular rastreada es la dirección en la que mira un usuario (200);
    determinar, en respuesta a la determinación de que la configuración de mano ha cambiado a la configuración de mano abierta, en base a la información de la dirección ocular rastreada, una segunda posición de pantalla, la segunda posición de pantalla es una posición en la pantalla de visualización (108) a la que mira el usuario (200); y
    en respuesta a una determinación de que la segunda posición de pantalla difiere en más de un grado de umbral de la posición de objeto del objeto seleccionado, realizar un proceso de eliminación para eliminar el objeto seleccionado.
  6. 6. El método de acuerdo con cualquiera de la reivindicación 1 a la reivindicación 5, en donde la segunda posición rastreada es la posición del centro de la cabeza (200b) del usuario (200), o una posición entre los ojos del usuario (200).
  7. 7. El método de acuerdo con cualquier reivindicación anterior, en donde la primera posición rastreada y la segunda posición rastreada ambas se rastrean como coordenadas tridimensionales.
  8. 8. El método de acuerdo con la reivindicación 7, el método que comprende un proceso de calibración, el proceso de calibración que comprende:
    obtener una tercera información con relación a una tercera posición rastreada, la tercera posición rastreada es una posición de la cabeza (200b) o un ojo (200c) del usuario (200);
    con la cabeza (200b) o con el ojo (200c) del usuario colocado en la tercera posición rastreada: determinar secuencialmente una primera pluralidad de posiciones de mano de modo que la primera mano (200a) oculte al menos parcialmente la vista del usuario de una pluralidad de posiciones predefinidas en la pantalla de visualización (108), definiendo de esta manera una primera pluralidad de líneas rectas que contienen cada una la tercera posición rastreada, una de la primera pluralidad de posiciones de mano y una respectiva de las posiciones predefinidas en la pantalla de visualización (108);
    obtener una cuarta información con relación a una cuarta posición rastreada, la cuarta posición rastreada es una posición de la cabeza (200b) o de un ojo (200c) del usuario (200), diferente a la tercera posición rastreada;
    con la cabeza (200b) o con el ojo (200c) del usuario colocado en la cuarta posición rastreada: determinar secuencialmente una segunda pluralidad de posiciones de mano de manera que la primera mano (200a) oculte al menos parcialmente la vista del usuario de cada pluralidad de posiciones predefinidas en la pantalla de visualización (108), definiendo de esta manera una segunda pluralidad de líneas rectas que contienen cada una la cuarta posición rastreada, una de la segunda pluralidad de posiciones de mano y, una respectiva de las posiciones predefinidas en la pantalla de visualización (108); y
    para cada pluralidad de posiciones predefinidas en la pantalla de visualización (108), determinar, para una posición predefinida dada, un punto de intersección o de intersección cercana de una línea recta respectiva de la primera pluralidad de líneas rectas con una línea recta respectiva de la segunda pluralidad de líneas rectas y que contiene la posición predefinida dada.
  9. 9. El método de acuerdo con cualquiera de la reivindicación 1 a la reivindicación 8, el método que comprende:
    en respuesta a una determinación de que la configuración de mano detectada ha cambiado de la configuración de mano abierta a la configuración de mano cerrada en una primera posición de pantalla determinada en la que no se encuentra dicho objeto seleccionable, provocar que se muestre, en la pantalla de visualización (108), en la primera posición de pantalla determinada, un puntero (802).
  10. 10. El método de acuerdo con cualquier reivindicación anterior, el método que comprende;
    en respuesta a una determinación de que el usuario (200) ha repetido una operación de la interfaz de usuario más de un número predeterminado de veces, provocar que se muestre un puntero (802) en la pantalla de visualización (108).
  11. 11. Un medio legible por ordenador que tiene instrucciones almacenadas en el mismo, que, cuando se ejecutan mediante un sistema de procesamiento, provocan que el sistema de procesamiento realice el método de acuerdo con cualquiera de las reivindicaciones 1 a la 10.
  12. 12. Un aparato de interfaz de usuario (100) para seleccionar un objeto seleccionable en una pantalla de visualización (108), la pantalla de visualización (108) se coloca para mostrar uno o más objetos seleccionables (108a-108f), el aparato de interfaz de usuario (100) que comprende uno o más procesadores (104, 114), el uno o más procesadores (104, 114) se colocan para:
    obtener, a partir de un componente sensor (102), una primera información con relación a una primera posición rastreada, donde la primera posición rastreada es una posición del centro (300) de una primera mano (200a) de un usuario (200);
    obtener, a partir del componente sensor (102), una segunda información con relación a una segunda posición rastreada, donde la segunda posición rastreada es una posición de la cabeza (200b) o de un ojo (200c) del usuario (200);
    determinar una o más posiciones de objeto de uno o más objetos seleccionables (108a-108f) en la pantalla de visualización (108);
    determinar una primera posición de pantalla (206) en base a un punto de la pantalla de visualización (108) intersecado por una línea recta (204) que pasa a través de la primera posición rastreada y de la segunda posición rastreada;
    en respuesta a una determinación de que una configuración de mano de la primera mano (200a) ha cambiado de una configuración de mano abierta a una configuración de mano cerrada, determinar, en base a la primera posición de pantalla (206) y de una o más posiciones de objeto, si uno o más objetos seleccionables (108a-108f) se encuentran ubicados en la primera posición de pantalla (206), en cuyo caso la primera mano (200a) oculta al menos parcialmente la vista del usuario de uno o más objetos seleccionables (108a-108f); y
    en el caso de la determinación de que uno o más objetos seleccionables (108a-108f) se encuentren ubicados en la primera posición de pantalla (206), determinar que el objeto seleccionable ubicado en la primera posición de pantalla (206) se encuentra seleccionado.
ES15722363T 2015-04-16 2015-04-16 Interfaz de gesto Active ES2835598T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/062316 WO2016166902A1 (en) 2015-04-16 2015-04-16 Gesture interface

Publications (1)

Publication Number Publication Date
ES2835598T3 true ES2835598T3 (es) 2021-06-22

Family

ID=53177336

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15722363T Active ES2835598T3 (es) 2015-04-16 2015-04-16 Interfaz de gesto

Country Status (5)

Country Link
US (1) US10969872B2 (es)
EP (1) EP3283938B1 (es)
JP (1) JP6343718B2 (es)
ES (1) ES2835598T3 (es)
WO (1) WO2016166902A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102465804B1 (ko) * 2015-05-12 2022-11-10 엘지전자 주식회사 영상표시장치 및 그것의 제어방법
CN107787497B (zh) * 2015-06-10 2021-06-22 维塔驰有限公司 用于在基于用户的空间坐标系中检测手势的方法和装置
US10466780B1 (en) * 2015-10-26 2019-11-05 Pillantas Systems and methods for eye tracking calibration, eye vergence gestures for interface control, and visual aids therefor
US20180004385A1 (en) * 2016-06-30 2018-01-04 Futurewei Technologies, Inc. Software defined icon interactions with multiple and expandable layers
JP6996296B2 (ja) 2017-12-28 2022-01-17 住友ゴム工業株式会社 ゴルフボール
US10706300B2 (en) * 2018-01-23 2020-07-07 Toyota Research Institute, Inc. Vehicle systems and methods for determining a target based on a virtual eye position and a pointing direction
US10817068B2 (en) * 2018-01-23 2020-10-27 Toyota Research Institute, Inc. Vehicle systems and methods for determining target based on selecting a virtual eye position or a pointing direction
US10853674B2 (en) 2018-01-23 2020-12-01 Toyota Research Institute, Inc. Vehicle systems and methods for determining a gaze target based on a virtual eye position
US10831265B2 (en) * 2018-04-20 2020-11-10 Microsoft Technology Licensing, Llc Systems and methods for gaze-informed target manipulation
CN110554784B (zh) * 2018-05-31 2023-07-14 广东虚拟现实科技有限公司 输入方法、装置、显示设备及存储介质
WO2019244270A1 (ja) * 2018-06-20 2019-12-26 三菱電機株式会社 眼3次元座標取得装置及びジェスチャ操作装置
CN109407831A (zh) * 2018-09-28 2019-03-01 维沃移动通信有限公司 一种交互方法及终端
KR20190106851A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 Xr 컨텐츠 제공 방법 및 xr 컨텐츠 제공 디바이스
US11630639B2 (en) * 2020-12-08 2023-04-18 Samsung Electronics Co., Ltd. Control method of electronic device using a plurality of sensors and electronic device thereof
JP2023135920A (ja) * 2022-03-16 2023-09-29 パナソニックIpマネジメント株式会社 制御装置および制御方法
JP2024018746A (ja) 2022-07-29 2024-02-08 フォルシアクラリオン・エレクトロニクス株式会社 データ処理装置及びデータ処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259989A (ja) * 2001-03-02 2002-09-13 Gifu Prefecture ポインティングジェスチャ検出方法及びその装置
US8581838B2 (en) * 2008-12-19 2013-11-12 Samsung Electronics Co., Ltd. Eye gaze control during avatar-based communication
US20130154913A1 (en) * 2010-12-16 2013-06-20 Siemens Corporation Systems and methods for a gaze and gesture interface
KR101151962B1 (ko) * 2011-02-16 2012-06-01 김석중 포인터를 사용하지 않는 가상 터치 장치 및 방법
US20120249422A1 (en) * 2011-03-31 2012-10-04 Smart Technologies Ulc Interactive input system and method
US8947351B1 (en) * 2011-09-27 2015-02-03 Amazon Technologies, Inc. Point of view determinations for finger tracking
CN103926999B (zh) 2013-01-16 2017-03-01 株式会社理光 手掌开合手势识别方法和装置、人机交互方法和设备
WO2015037767A1 (en) * 2013-09-16 2015-03-19 Lg Electronics Inc. Image display apparatus and method for operating the same
US9971491B2 (en) * 2014-01-09 2018-05-15 Microsoft Technology Licensing, Llc Gesture library for natural user input
US9823764B2 (en) * 2014-12-03 2017-11-21 Microsoft Technology Licensing, Llc Pointer projection for natural user input
US9836130B2 (en) * 2014-12-26 2017-12-05 Nextedge Technology K.K. Operation input device, operation input method, and program
US10068134B2 (en) * 2016-05-03 2018-09-04 Microsoft Technology Licensing, Llc Identification of objects in a scene using gaze tracking techniques
US10168789B1 (en) * 2017-05-31 2019-01-01 Meta Company Systems and methods to facilitate user interactions with virtual content having two-dimensional representations and/or three-dimensional representations

Also Published As

Publication number Publication date
US20180088676A1 (en) 2018-03-29
EP3283938B1 (en) 2020-10-07
JP2017539035A (ja) 2017-12-28
WO2016166902A1 (en) 2016-10-20
EP3283938A1 (en) 2018-02-21
US10969872B2 (en) 2021-04-06
JP6343718B2 (ja) 2018-06-13

Similar Documents

Publication Publication Date Title
ES2835598T3 (es) Interfaz de gesto
KR101844390B1 (ko) 사용자 인터페이스 제어를 위한 시스템 및 기법
JP2022540315A (ja) 人工現実環境において周辺デバイスを使用する仮想ユーザインターフェース
CA2794898C (en) Method of rendering and manipulating anatomical images on mobile computing device
Ha et al. WeARHand: Head-worn, RGB-D camera-based, bare-hand user interface with visually enhanced depth perception
JP5602618B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
US20170140552A1 (en) Apparatus and method for estimating hand position utilizing head mounted color depth camera, and bare hand interaction system using same
US20180174366A1 (en) Information processing apparatus, information processing method, and program
US9594399B2 (en) Computer-readable storage medium, display control apparatus, display control method and display control system for controlling displayed virtual objects with symbol images
JP6611501B2 (ja) 情報処理装置、仮想オブジェクトの操作方法、コンピュータプログラム、及び記憶媒体
JP6548967B2 (ja) 画像処理装置、画像処理方法及びプログラム
TW201214266A (en) Three dimensional user interface effects on a display by using properties of motion
ES2897797T3 (es) Seguimiento del rostro para modalidades adicionales en la interacción espacial
EP2947549A1 (en) Apparartus and method for navigating through volume image
JP6499384B2 (ja) 画像表示装置、画像表示方法、及び画像表示プログラム
CN113841110A (zh) 具有用于选通用户界面元素的个人助理元素的人工现实系统
TW201737023A (zh) 資訊處理系統、資訊處理裝置、控制方法以及程式
CN108572730B (zh) 用于使用深度感知相机与计算机实现的交互式应用程序进行交互的系统和方法
US20220147138A1 (en) Image generation apparatus and information presentation method
JP2014010362A (ja) 映像演出装置
JP2009258884A (ja) ユーザインタフェイス
JP4678428B2 (ja) 仮想空間内位置指示装置
JP2017086542A (ja) 画像変更システム、方法、及びプログラム
CN117043722A (zh) 用于地图的设备、方法和图形用户界面
JP4186742B2 (ja) 仮想空間内位置指示装置