ES2768033T3 - Seguimiento tridimensional de un dispositivo de control del usuario en un volumen - Google Patents

Seguimiento tridimensional de un dispositivo de control del usuario en un volumen Download PDF

Info

Publication number
ES2768033T3
ES2768033T3 ES11850825T ES11850825T ES2768033T3 ES 2768033 T3 ES2768033 T3 ES 2768033T3 ES 11850825 T ES11850825 T ES 11850825T ES 11850825 T ES11850825 T ES 11850825T ES 2768033 T3 ES2768033 T3 ES 2768033T3
Authority
ES
Spain
Prior art keywords
stylus
control device
visually indicated
user control
point
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
ES11850825T
Other languages
English (en)
Inventor
David Chavez
Milind Paranjpe
Jerome C Tu
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.)
zSpace Inc
Original Assignee
zSpace 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46314889&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2768033(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by zSpace Inc filed Critical zSpace Inc
Application granted granted Critical
Publication of ES2768033T3 publication Critical patent/ES2768033T3/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0308Detection arrangements using opto-electronic means comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/046Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by electromagnetic means
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Electromagnetism (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)

Abstract

Un método que comprende: recibir múltiples imágenes capturadas de al menos un punto visualmente indicado (310) de un dispositivo de control del usuario (130) desde al menos un sensor de seguimiento (160), en el que el dispositivo de control del usuario (130) comprende un lápiz óptico (130), que recibe información de medición desde un giroscopio, acelerómetro y/o un magnetómetro comprendido en el dispositivo de control del usuario (130), en el que el al menos un sensor de seguimiento (160) incluye una primera y una segunda cámaras (160), en el que cada una de la primera y segunda cámaras (160) se configura para capturar las múltiples imágenes con cada imagen que tiene una perspectiva distinta del al menos un punto visualmente indicado, en el que la primera y segunda cámaras (160) se separan lo suficiente entre sí para permitir la determinación de triangulación de tres ejes, y en el que la primera y segunda cámaras (160) se posicionan en relación con una posición y orientación predefinidas del visualizador, en el que el usuario manipula el dispositivo de control del usuario (130) para interactuar con una escena 3D estéreo, al determinar una posición y una orientación del dispositivo de control del usuario (130) en base a las múltiples imágenes capturadas del al menos un punto visualmente indicado (310) y la información de medición, y proporcionar una escena 3D estéreo actualizada a un visualizador en base a la posición determinada y orientación del dispositivo de control del usuario (130), en el que existe una correspondencia 1:1 entre los objetos virtuales en un espacio gráfico y sus equivalentes físicos del mundo real en un espacio físico mediante la utilización de un plano de referencia físico común para correlacionar un entorno de coordenadas físicas a un entorno de coordenadas virtual; en el que el al menos un punto visualmente indicado (310) incluye el primer y segundo puntos visualmente indicados (310), en el que el primer punto visualmente indicado (310) se configura para producir un primer campo de luz que tiene una primera porción opaca, en el que el segundo punto visualmente indicado (310) se configura para producir un segundo campo de luz que tiene una segunda porción opaca diferente a la primera porción opaca, en el que un aspecto giratorio del lápiz óptico (130) se divide en cuatro cuadrantes con cada cuadrante que tiene una forma de campo de luz dual distinta.

Description

DESCRIPCIÓN
Seguimiento tridimensional de un dispositivo de control del usuario en un volumen
Antecedentes
Campo técnico
Esta divulgación se refiere al campo del seguimiento espacial, y más particularmente al seguimiento tridimensional. Descripción de la técnica relacionada
Los sistemas que siguen el movimiento de un usuario proporcionan la capacidad de interactuar virtualmente con otro entorno, tal como un entorno de juego. Sin embargo, los sistemas actuales tienen capacidades limitadas. Por ejemplo, puede seguirse el movimiento grueso, pero para los movimientos de velocidad lenta o constante, los sistemas actuales carecen de precisión. En otros sistemas, dos dimensiones pueden seguirse con precisión, mientras que una tercera dimensión no puede seguirse. Aún otros sistemas pueden ser propensos a la interferencia de dispositivos magnéticos y pueden no ser capaces de identificar consistentemente el norte verdadero. Finalmente, algunos sistemas utilizan un recinto de factor de forma grande que puede no permitir un control preciso del movimiento.
El documento US 2003/193572 A1 divulga un proceso para seleccionar objetos cuando un usuario señala objetos mediante el uso de un puntero inalámbrico de RF. Una combinación de sensores en el puntero inalámbrico de RF y dos cámaras determinan una posición y orientación del puntero inalámbrico de RF para determinar la selección de objetos.
El documento US2010/103269 A1 divulga un proceso y un sistema para determinar la orientación en un marco de referencia externo. Se determina una aceleración de marco externo en un marco de referencia externo junto con una aceleración de marco interno del dispositivo.
El documento WO 2008/111495 A1 divulga: recibir múltiples imágenes capturadas de al menos un punto visualmente indicado de un dispositivo de control del usuario desde al menos un sensor de seguimiento, en donde el dispositivo de control del usuario comprende un lápiz óptico, en donde el al menos un sensor de seguimiento incluye la primera y segunda cámaras, en donde cada una de la primera y segunda cámaras se configura para capturar las múltiples imágenes con cada imagen que tiene una perspectiva distinta del al menos un punto visualmente indicado, en donde la primera y segunda cámaras se separan lo suficiente una de la otra para permitir la determinación de triangulación de tres eje, y en donde la primera y segunda cámaras se posicionan con relación a una posición y orientación predefinidas del visualizador, en donde el usuario manipula el dispositivo de control del usuario para interactuar con una escena 3D estéreo; determinar una posición y una orientación del dispositivo de control del usuario en base a las múltiples imágenes capturadas del al menos un punto visualmente indicado; y proporcionar una escena 3D estéreo actualizada a un visualizador en base a la posición y orientación determinadas del dispositivo de control del usuario, en el que hay una correspondencia 1:1 entre objetos virtuales en un espacio gráfico y sus equivalentes físicos del mundo real en un espacio físico.
El documento US 2005/264858 A1 divulga un sistema de visualización multiplano para la visualización tridimensional de imágenes. Al menos uno de los visualizadores visualiza las imágenes tridimensionales en perspectiva horizontal. El documento US 2010/214214 A1 divulga un dispositivo de entrada con una capacidad de apuntamiento a través de un haz de luz que se apunta por el usuario a un área objetivo.
Resumen de las formas de realización
La presente invención se define en las reivindicaciones independientes. Las formas de realización se relacionan con el seguimiento de objetos presentados dentro de una escena tridimensional (3D). En una forma de realización, un sistema incluye un visualizador configurado para visualizar la escena 3D. El sistema incluye un dispositivo de control del usuario configurado para manipular objetos dentro de la escena 3D. El dispositivo de control del usuario (por ejemplo, lápiz óptico) incluye al menos un punto visualmente indicado. En una forma de realización, al menos un sensor de seguimiento (por ejemplo, cámara) se configura para capturar el punto visualmente indicado del dispositivo de control del usuario. Un subsistema de procesamiento se configura para recibir el punto capturado visualmente indicado del sensor de seguimiento y se configura además para recibir información adicional del dispositivo de control del usuario (por ejemplo, información de medición de un acelerómetro, giroscopio, magnetómetro, etc.). El subsistema de procesamiento se configura además para determinar una posición y orientación del dispositivo de control del usuario en base al punto visualmente capturado y la información adicional. El subsistema de procesamiento se configura además para proporcionar una escena 3D actualizada al visualizador en base a la posición y orientación determinadas del dispositivo de control del usuario.
Breve descripción de los dibujos
Puede obtenerse una mejor comprensión de la presente divulgación cuando se considera la siguiente descripción detallada de la forma de realización preferente junto con los siguientes dibujos, en los que:
Las Figuras 1 y 2 ilustran los sistemas ejemplares configurados para implementar diversas formas de realización;
La Figura 3 es un diagrama de bloques que ilustra una forma de realización del sistema de seguimiento del lápiz óptico.
Las Figuras 4 y 5 son una ilustración de un lápiz óptico, de acuerdo con diversas formas de realización.
La Figura 6 es un diagrama de flujo que ilustra una forma de realización de un método para seguir las coordenadas tridimensionales de un lápiz óptico.
Las Figuras 7A-7B son ilustraciones ejemplares de las formas de realización descritas.
Si bien la divulgación es susceptible de diversas modificaciones y formas alternativas, las formas de realización específicas de la misma se muestran a manera de ejemplo en los dibujos y se describen en la presente en detalle. Sin embargo, debe entenderse que los dibujos y la descripción detallada de los mismos no pretenden limitar la divulgación a la forma particular divulgada, sino que, por el contrario, la intención es cubrir todas las modificaciones que entran dentro del alcance de la presente divulgación como se define por las reivindicaciones adjuntas.
Descripción detallada
Términos
El siguiente es un glosario de términos utilizados en la presente solicitud:
Esta descripción incluye referencias a "una forma de realización. Las apariencias de las frases "en una forma de realización" no se refieren necesariamente a la misma forma de realización. Los elementos, estructuras o características particulares pueden combinarse de cualquier manera adecuada consistente con esta divulgación.
Medio de memoria: cualquiera de varios tipos de dispositivos de memoria o dispositivos de almacenamiento. El término "medio de memoria" pretende incluir un medio de instalación, por ejemplo, un CD-ROM, disquetes 104 o dispositivo de cinta; una memoria del sistema informático o memoria de acceso aleatorio, tal como DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; una memoria no volátil tal como Flash, medios magnéticos, por ejemplo, un disco duro o almacenamiento óptico; registros u otros tipos similares de elementos de memoria, etc. El medio de memoria puede comprender también otros tipos de memoria o sus combinaciones. Además, el medio de memoria puede localizarse en un primer ordenador en el que se ejecutan los programas, o puede localizarse en un segundo ordenador que se conecta al primer ordenador a través de una red, como Internet. En el último caso, el segundo ordenador puede proporcionar instrucciones de programa al primer ordenador para su ejecución. El término "medio de memoria" puede incluir dos o más medios de memoria que pueden residir en diferentes localizaciones, por ejemplo, en diferentes ordenadores que se conectan a través de una red.
Medio portador: un medio de memoria como se describió anteriormente, así como también un medio de transmisión físico, tal como un bus, una red y/u otro medio de transmisión físico que transmite señales tales como señales eléctricas, electromagnéticas o digitales.
Sistema informático: cualquiera de los diversos tipos de sistemas informáticos o de procesamiento, que incluyen un sistema informático personal (PC), sistema informático central, estación de trabajo, dispositivo de red, dispositivo de Internet, asistente digital personal (PDA), teléfono inteligente, sistema de televisión, sistema informático grid, u otro dispositivo o combinaciones de dispositivos. En general, el término "sistema informático" puede definirse ampliamente para abarcar cualquier dispositivo (o combinación de dispositivos) que tenga al menos un procesador que ejecute instrucciones desde un medio de memoria.
Punto de vista: este término tiene el alcance total de su significado ordinario en el campo de los gráficos/cámaras de ordenador. Por ejemplo, el término "punto de vista" puede referirse a un único punto de vista (por ejemplo, para un solo ojo) o un par de puntos de vista (por ejemplo, para un par de ojos). Por lo tanto, el punto de vista puede referirse a la vista desde un solo ojo, o puede referirse a los dos puntos de vista desde un par de ojos. Un "único punto de vista" puede especificar que el punto de vista se refiere a un solo punto de vista y un "punto de vista emparejado" o "punto de vista estereoscópico" puede especificar que el punto de vista se refiere a dos puntos de vista (y no a uno). Cuando el punto de vista es el de un usuario, este punto de vista puede denominarse como un punto de vista (ver más abajo). El término "punto de vista virtual" se refiere a un punto de vista desde una representación virtual o escena 3D.
Punto ocular: el punto de vista físico de un solo ojo o un par de ojos. Un punto de vista anterior puede corresponder al punto ocular de una persona. Por ejemplo, el punto ocular de una persona tiene un punto de vista correspondiente.
Perspectiva vertical: una perspectiva que se representa para un punto de vista que es sustancialmente perpendicular a la superficie de visualización. "Sustancialmente perpendicular" puede referirse a 90 grados o variaciones de los mismos, tal como 89 y 91 grados, 85-95 grados, o cualquier variación que no cause una distorsión notable de la escena representada. Una perspectiva vertical puede ser una perspectiva central, por ejemplo, que tiene un único punto de fuga (y central). Como se usa en la presente, una perspectiva vertical puede aplicarse a una sola imagen o una imagen estereoscópica. Cuando se usa con respecto a una imagen estereoscópica (por ejemplo, se presenta una imagen estereoscópica de acuerdo con una perspectiva vertical), cada imagen de la imagen estereoscópica puede presentarse de acuerdo con la perspectiva vertical, pero con puntos de vista únicos diferentes.
Perspectiva horizontal: una perspectiva que se representa desde un punto de vista que no es perpendicular a la superficie de visualización. Más particularmente, el término "perspectiva horizontal" se refiere a una perspectiva que se representa mediante el uso de un plano de representación en ángulo de 45 grados sustancialmente en referencia al punto de vista correspondiente. La representación puede destinarse a un visualizador que puede posicionarse horizontalmente (por ejemplo, paralelo a una superficie de la mesa o al piso) en referencia a una perspectiva de punto de vista de pie. "Sustancialmente 45 grados" puede referirse a 45 grados o variaciones de los mismos, tal como 44 y 46 grados, 40-50 grados, o cualquier variación que pueda causar una distorsión mínima de la escena representada. Como se usa en la presente, una perspectiva horizontal puede aplicarse a una sola imagen o una imagen estereoscópica. Cuando se usa con respecto a una imagen estereoscópica (por ejemplo, presentar una imagen estereoscópica de acuerdo con una perspectiva horizontal), cada imagen de la imagen estereoscópica puede presentarse de acuerdo con la perspectiva horizontal, pero con diferentes puntos de vista.
Posición: la localización o las coordenadas de un objeto (ya sea virtual o real). Por ejemplo, la posición puede incluir las coordenadas x, y y z dentro de un espacio definido. La posición puede ser relativa o absoluta, según se desee. La posición también puede incluir información de guiñada, cabeceo y balanceo, por ejemplo, cuando se define la orientación de un punto de vista.
Que comprende: este término es abierto. Como se usa en las reivindicaciones adjuntas, este término no excluye la estructura o etapas adicionales. Considere una reivindicación que dice: "Un sistema que comprende un visualizador..." Tal reivindicación no excluye el aparato que incluye componentes adicionales (por ejemplo, una fuente de voltaje, una fuente de luz, etc.).
Configurado para: varias unidades, circuitos u otros componentes pueden describirse o reivindicarse como "configurados para" realizar una tarea o tareas. En tales contextos, "configurado para" se utiliza para connotar la estructura al indicar que las unidades/circuitos/componentes incluyen una estructura (por ejemplo, circuitos) que realiza esa tarea o tareas durante la operación. Como tal, puede decirse que la unidad/circuito/componente se configura para realizar la tarea incluso cuando la unidad/circuito/componente especificado no está actualmente operativo (por ejemplo, no está encendido). Las unidades/circuitos/componentes utilizados con el lenguaje "configurado para" incluyen hardware, por ejemplo, circuitos, instrucciones de programa de almacenamiento de memoria ejecutables para implementar la operación, etc. Considerar que una unidad/circuito/componente se "configura para" realizar una o más tareas expresamente se destina a no invocar el título 35 del código de Estados Unidos § 112, sexto párrafo, para la unidad/circuito/componente. Además, "configurado para" puede incluir una estructura genérica (por ejemplo, circuitos genéricos) que se manipula por software y/o microprogramas (por ejemplo, un FPGA o un procesador de uso general que se ejecuta por software) para operar de manera que sea capaz de realizar la(s) tarea(s) en cuestión.
Primero, Segundo, etc. - estos términos se usan como etiquetas para los sustantivos que preceden, y no implican ningún tipo de orden (por ejemplo, espacial, temporal, lógico, etc.). Por ejemplo, en un sistema que tiene múltiples sensores de seguimiento, los términos "primero" y "segundo" sensores pueden usarse para referirse a cualquiera de los dos sensores. En otras palabras, el "primer" y "segundo" sensores no se limitan a los sensores lógicos 0 y 1.
En base a: este término se utiliza para describir uno o más factores que afectan una determinación. Este término no excluye factores adicionales que pueden afectar una determinación. Es decir, una determinación puede basarse únicamente en esos factores o, al menos en parte, en esos factores. Considere la frase "determinar A en base a B". Si bien B puede ser un factor que afecta la determinación de A, tal frase no excluye que la determinación de A también se basa en C. En otros casos, A puede determinarse únicamente en base a B.
Figuras 1 y 2 - Sistemas ejemplares
Las Figuras 1 y 2 ilustran los sistemas ejemplares que se configuran para realizar diversas formas de realización descritas a continuación.
En la forma de realización de la Figura 1, el sistema informático 100 puede incluir el chasis 110, el visualizador 150A y el visualizador 150B (que en conjunto pueden denominarse visualizador 150 o "al menos un visualizador" 150), teclado 120, ratón 125, lápiz óptico 130, gafas 140, al menos dos cámaras 160 y receptáculo para lápiz óptico 170. En una forma de realización, al menos uno de los visualizadores 150A y 150B es un visualizador estereoscópico. Por ejemplo, en una forma de realización, ambos visualizadores 150A y 150B son visualizadores estereoscópicos.
El chasis 110 puede incluir diversos componentes informáticos, tales como procesadores, medios de memoria (por ejemplo, RAM, ROM, discos duros, etc.), circuitos gráficos, circuitos de audio y otros circuitos para realizar tareas informáticas, tales como las descritas en la presente. Un medio de memoria puede almacenar uno o más programas informáticos o componentes de software de acuerdo con las diversas formas de realización de la presente divulgación. Por ejemplo, el medio de memoria puede almacenar uno o más motores gráficos que son ejecutables para realizar los métodos descritos en la presente. El medio de memoria también puede almacenar datos (por ejemplo, un modelo de ordenador) que representa un espacio virtual/gráfico, que puede usarse para proyectar una escena 3D del espacio virtual a través del/de los visualizador(es) 150. Además, el medio de memoria puede almacenar software que es ejecutable para realizar un seguimiento espacial tridimensional del lápiz óptico 130, como se describe en la presente. Además, el medio de memoria puede almacenar el software del sistema operativo, así como también otro software para el funcionamiento del sistema informático. Diversas formas de realización incluyen además recibir o almacenar instrucciones y/o datos implementados de acuerdo con la descripción anterior en un medio portador.
Como se indicó anteriormente, el sistema informático 100 puede configurarse para visualizar una escena tridimensional (3D) (por ejemplo, a través de imágenes estereoscópicas) mediante el uso del visualizador 150A y/o el visualizador 150B. El sistema informático 100 también puede configurarse para visualizar una "vista" de la escena 3D mediante el uso del visualizador 150A, el visualizador 150B y/u otro visualizador, como se describe con más detalle a continuación. La "vista" de la escena 3D puede referirse a la visualización de una porción de la escena 3D desde un punto de vista dentro de la escena 3D. Un punto de vista dentro de la escena 3D puede denominarse un "punto de vista virtual". La vista puede ser estereoscópica, por ejemplo, puede visualizarse en un visualizador estereoscópico. Alternativamente, la vista puede ser monoscópica (no estereoscópica), y puede visualizarse o bien en un visualizador monoscópico o en un visualizador estereoscópico.
Se debe señalar que la forma de realización de la Figura 1 es solo ejemplar, y se prevén otras cantidades de visualizadores. Por ejemplo, el sistema informático 100 puede incluir solo un visualizador o más de dos visualizadores, o los visualizadores pueden disponerse de maneras diferentes a las mostradas. En esta forma de realización particular, el visualizador 150A se configura como un visualizador vertical (que es perpendicular a la línea de visión de un usuario) y el visualizador 150B se configura como un visualizador horizontal (que está paralelo u oblicuo a la línea de visión de un usuario). El visualizador vertical 150A puede usarse (por ejemplo, a través de instrucciones enviadas por un motor gráfico que se ejecuta en el chasis 110) para proporcionar imágenes que se presentan de acuerdo con una perspectiva vertical (o central) y el visualizador 150B puede usarse (por ejemplo, a través de instrucciones enviadas por un motor gráfico que se ejecuta en el chasis 110) para proporcionar imágenes que se presentan de acuerdo con una perspectiva horizontal. En la presente se proporcionan descripciones de perspectivas horizontales y verticales. Además, aunque los visualizadores 150 se muestran como visualizadores planos, pueden ser cualquier tipo de sistema que sea capaz de visualizar imágenes, por ejemplo, sistemas de proyección.
Cualquiera o ambos visualizadores 150A y 150B pueden presentar (visualizar) imágenes estereoscópicas para que el usuario las vea. Al presentar imágenes estereoscópicas, el/los visualizador(es) 150 pueden presentar una escena 3D para el usuario. Esta escena 3D puede denominarse una ilusión ya que las imágenes proporcionadas reales son en 2D, pero la escena se transmite en 3D a través de la interpretación del usuario de las imágenes proporcionadas. Para ver correctamente las imágenes estereoscópicas (una para cada ojo), el usuario puede usar gafas 140. Las gafas 140 pueden ser gafas anaglifo, gafas polarizadas, gafas de obturador, gafas lenticulares, etc. Mediante el uso de gafas anaglifo, las imágenes para un primer ojo se presentan de acuerdo con un primer color (y la lente correspondiente tiene un filtro de color correspondiente) y las imágenes para un segundo ojo se proyectan de acuerdo con un segundo color (y la lente correspondiente tiene un filtro de color correspondiente). Con las gafas polarizadas, se presentan imágenes para cada ojo mediante el uso de polarizaciones ortogonales, y cada lente tiene la polarización ortogonal correspondiente para recibir la imagen correspondiente. Con las gafas de obturador, cada lente se sincroniza con las alternancias de imágenes de ojo izquierdo y derecho proporcionadas por el/los visualizador(es) 150. El visualizador puede proporcionar ambas polarizaciones simultáneamente o de manera alterna (por ejemplo, secuencialmente), según se desee. Por lo tanto, el ojo izquierdo solo puede ver imágenes del ojo izquierdo durante el tiempo de visualización de la imagen del ojo izquierdo y el ojo derecho solo puede ver imágenes del ojo derecho durante el tiempo de visualización de la imagen del ojo derecho. Con gafas lenticulares, las imágenes se forman en elementos de lentes cilíndricos o en una matriz bidimensional de elementos de lentes. La imagen estereoscópica puede proporcionarse a través de métodos ópticos, donde las imágenes del ojo izquierdo y derecho se proporcionan solo a los ojos correspondientes mediante el uso de medios ópticos tales como prismas, espejos, lentes y similares. Las lentes convexas o cóncavas grandes también pueden usarse para recibir dos imágenes proyectadas por separado para el usuario.
En una forma de realización, las gafas 140 pueden usarse como un dispositivo de entrada de posición para seguir el punto ocular de un usuario que ve una escena 3D presentada por el sistema 100. Por ejemplo, las gafas 140 pueden proporcionar información que puede usarse para determinar la posición del/de los punto(s) ocular(es) del usuario, por ejemplo, mediante triangulación. El dispositivo de entrada de posición puede incluir un sistema de detección de infrarrojos para detectar la posición de la cabeza del espectador para permitir la libertad de movimiento o usar un sistema de detección sensible a la luz. Otras formas de realización del dispositivo de entrada pueden ser el método de triangulación para detectar la localización del punto ocular del espectador, tal como al menos dos sensores (por ejemplo, al menos dos cámaras CCD) que proporcionan datos de posición adecuados para los objetivos de seguimiento de la cabeza de la divulgación. El dispositivo de entrada puede operarse manualmente por el espectador, tal como un teclado, ratón, bola de seguimiento, palanca de mando o similares, para indicar la visualización correcta de las imágenes de visualización en perspectiva horizontal. Sin embargo, se prevé cualquier método para seguir la posición de la cabeza o el punto ocular del usuario. En consecuencia, la escena 3D puede representarse de manera que el usuario pueda ver la escena 3D con distorsiones mínimas (por ejemplo, ya que se basa en el punto ocular del usuario). Por lo tanto, la escena 3D puede representarse particularmente para el punto ocular del usuario, mediante el uso del dispositivo de entrada de posición. En algunas formas de realización, cada punto ocular puede determinarse por separado, o puede determinarse un único punto ocular y puede usarse un desplazamiento para determinar el otro punto ocular.
La relación entre la posición/orientación del/los visualizador(es) 150 y la posición del/de los ojo(s) del usuario puede usarse para mapear una parte del espacio virtual/gráfico al espacio físico del sistema 100. En esencia, el espacio físico y los componentes utilizados deben asignarse al modelo virtual para representar con precisión una escena 3D del espacio virtual. Los ejemplos para implementar tal sistema se describen en la solicitud de patente de Estados Unidos núm. 11/098,681 titulada "Horizontal Perspective Display" (publicación de patente de Estados Unidos núm. US 2005/0219694).
Uno o más de los dispositivos de entrada del usuario (por ejemplo, el teclado 120, el ratón 125, el lápiz óptico 130, etc.) pueden usarse para interactuar con la escena 3D presentada, tal como mediante la manipulación de objetos en el espacio gráfico de la escena 3D. Por ejemplo, el dispositivo de control del usuario 130 (mostrado como un lápiz óptico) o simplemente las manos del usuario pueden usarse para interactuar directamente con objetos virtuales de la escena 3D (a través de los objetos proyectados vistos). Sin embargo, esta interacción directa solo puede ser posible con porciones de "espacio abierto" de la escena 3D. Por lo tanto, al menos una porción de la escena 3D puede presentarse en este "espacio abierto", que se encuentra en frente o de cualquier otra manera, fuera del al menos un visualizador. En algunas formas de realización, esa porción de la escena 3D puede aparecer como un holograma sobre la superficie de visualización 150. Por ejemplo, cuando se usa el visualizador horizontal 150B, la escena 3D puede verse como que planea sobre el visualizador horizontal. Sin embargo, debe tenerse en cuenta que una porción de la escena 3D también puede presentarse como que aparece detrás de la superficie de visualización, que no está en "espacio abierto". Por lo tanto, "espacio abierto" se refiere a un espacio con el que el usuario puede moverse e interactuar libremente (por ejemplo, donde el usuario puede colocar sus manos en el espacio) en lugar de un espacio con el que el usuario no puede moverse e interactuar libremente, (por ejemplo, donde el usuario no puede colocar sus manos en el espacio, tal como debajo de la superficie de visualización). Este "espacio abierto" puede denominarse como un "volumen interactivo" en lugar de un "volumen interno", que puede estar debajo de la superficie del/los visualizador(es). Por lo tanto, el usuario puede interactuar con objetos virtuales en el espacio abierto debido a que están cerca del propio espacio físico del usuario. El volumen interno se localiza detrás de la superficie de visualización y los objetos presentados aparecen dentro del dispositivo de visualización físico. Por lo tanto, los objetos de la escena 3D presentados dentro del volumen interno no comparten el mismo espacio físico con el usuario y, por lo tanto, los objetos no pueden manipularse directa, ni físicamente con las manos o herramientas portátiles tal como el lápiz óptico 130. Es decir, pueden manipularse indirectamente, por ejemplo, mediante un ratón de ordenador, una palanca de mando o representaciones virtuales de manos, herramientas portátiles o lápices ópticos.
En algunas formas de realización, esta interacción de espacio abierto puede lograrse al tener una correspondencia 1:1 entre los objetos virtuales (por ejemplo, en el espacio virtual/gráfico) y los objetos proyectados (por ejemplo, en el espacio físico). Por lo tanto, se proporciona una interacción física precisa y tangible al permitir al usuario tocar y manipular objetos proyectados con sus manos o herramientas portátiles, tal como el lápiz óptico 130. Esta correspondencia 1:1 de los elementos virtuales y sus equivalentes físicos del mundo real se describe con más detalle en la publicación de patente de Estados Unidos núm. 2005/0264858. Esta correspondencia 1:1 puede permitir al usuario acceder física y directamente e interactuar con objetos proyectados de la escena 3D. Esta correspondencia 1:1 puede utilizar la creación de un plano de referencia físico común, así como también la fórmula para derivar sus coordenadas espaciales únicas x, y, z, lo que correlaciona de esta manera el entorno de coordenadas físicas con el entorno de coordenadas virtuales. Además, la correspondencia 1:1 permite que el movimiento del usuario de objetos virtuales u otra interacción (por ejemplo, a través del lápiz óptico 130) sea el mismo en el espacio físico y en el espacio presentado. Sin embargo, se prevén otras formas de realización donde hay una relación entre la distancia del movimiento físico del usuario y el movimiento correspondiente en la escena 3D presentada (por ejemplo, del objeto presentado o lápiz óptico virtual).
Como se usa en la presente, un objeto dentro de un contexto estéreo 3D puede ser algo que es visible o exhibe alguna forma tangible de una manera relativamente estable. Un ejemplo de un objeto podría ser una representación de una manzana. La manzana, como modelo de ordenador, podría existir como datos en un estado más básico, adquiriendo varias cualidades de un objeto 3D tal como se modela dentro de un espacio gráfico. Este objeto manzana podría representarse gráficamente desde dentro del espacio gráfico del ordenador, en base al punto de vista del usuario según se traduce al espacio gráfico. El objeto puede tener forma y textura visual; sin embargo, puede no ser necesario que el objeto tenga masa para ser un objeto. Puede existir como una imagen en un entorno virtual y puede ser el resultado de una representación estéreo que captura dos representaciones (por ejemplo, puntos de vista izquierdo y derecho) desde el punto de vista identificado dentro del espacio gráfico. Estas dos representaciones del objeto (y cualquier aspecto de la escena dentro de la vista de representación del espacio gráfico) pueden transmitirse mediante el uso de un sistema de visualización estéreo. En una forma de realización, el objeto manzana del espacio gráfico puede no tener masa real y puede no percibirse como un objeto de sustancia; sin embargo, puede manejarse o manipularse indirectamente. El manejo o manipulación puede lograrse mediante la combinación de la representación estéreo que proporciona un contexto visual y una forma de manipular mediante el uso del reconocimiento de posición espacial con, por ejemplo, un dispositivo de manipulación portátil (por ejemplo, un lápiz óptico).
La manipulación puede usarse en la presente para describir el manejo, la administración o de cualquier otra manera el uso en algún proceso. En el contexto de un objeto virtual proyectado y visualizado mediante el uso de un dispositivo estéreo, la manipulación puede ser puramente virtual. Por lo tanto, en algunas formas de realización, un objeto no necesariamente puede ser tocado físicamente para manipularlo. Puede existir una correlación entre el espacio físico, donde se usa un manipulador físico (por ejemplo, un lápiz óptico), y el espacio gráfico donde se representa el objeto a manipular. Un objeto puede manipularse indirectamente mediante el uso de uno o más dispositivos de manipulación, tal como un guante o un lápiz óptico. Los ejemplos de manipulación de un objeto pueden incluir levantarlo, rotarlo en cualquier dirección, moverlo hacia adelante o hacia atrás, desensamblarlo, etc. Tales acciones pueden realizarse indirectamente mediante el uso del dispositivo de manipulación portátil. Mediante el uso de la representación estéreo del objeto gráfico que puede presentarse para que un usuario lo vea a través de un dispositivo de visualización estéreo, puede crearse un falso espacio espacial y puede verse. Un usuario puede posicionar el dispositivo de manipulación dentro del espacio espacial en una posición coincidente con la vista del objeto representado estéreo. La posición puede seguirse y puede tener una correspondencia 1:1 con el espacio gráfico. Con la correspondencia 1:1 del dispositivo de manipulación en el espacio espacial físico con el espacio gráfico, puede establecerse una correlación espacial. El objeto coincidente dentro del espacio gráfico puede manipularse. Como tal, las acciones del dispositivo de manipulación en el espacio espacial pueden aplicarse a un objeto virtual en el espacio gráfico. La manipulación puede permitir que el objeto se posicione, oriente, altere o afecte como si el objeto estuviera realmente dentro del espacio espacial y el dispositivo manipulador actuara sobre el mismo. La manipulación de un objeto puede usarse en la presente para que signifique prácticamente manejar un objeto que está en un estado representado gráficamente y que puede verse mediante el uso de un visualizador estéreo. La interpretación del objeto puede producirse en un software donde la lógica puede controlar la interacción de los datos (por ejemplo, datos del objeto, datos de seguimiento del lápiz óptico, etc.). Luego, el software puede instruir al representador de escenas para que represente imágenes de los ojos izquierdo y derecho de la escena que contiene los objetos que muestran el efecto que tuvo la manipulación en los objetos. Aunque gran parte de la descripción describe la manipulación de un objeto, más de un objeto puede manipularse y/o representarse simultáneamente.
En algunas formas de realización, el sistema 100 puede incluir uno o más sensores de seguimiento (por ejemplo, cámaras) 160, y en algunas formas de realización dos o más cámaras 160. La Figura 1 ilustra una forma de realización que usa dos cámaras 160. Las cámaras 160 pueden usarse para obtener imágenes de un usuario del sistema 100, seguir el movimiento de un usuario o seguir la cabeza o los ojos de un usuario. En una forma de realización, las cámaras 160 pueden seguir una posición y una orientación del lápiz óptico 130. La información con respecto a la posición y/u orientación del lápiz óptico 130 proporcionada por las dos o más cámaras 160 puede usarse junto con otra información adicional del sistema (por ejemplo, un acelerómetro y/o giroscopio dentro del propio lápiz óptico) para realizar un seguimiento tridimensional más preciso del lápiz óptico 130. Las cámaras 160 pueden separarse espacialmente entre sí y colocarse en una posición para ver un volumen que se abarca donde un usuario verá imágenes estéreo. Por ejemplo, cada cámara puede posicionarse en relación con una posición y orientación predefinidas de una o más de los visualizadores 150 (por ejemplo, como se muestra en la Figura 1, cada cámara puede incorporarse en el visualizador 150B en una posición y orientación predefinidas). Las cámaras 160 también pueden estar lo suficientemente separadas entre sí para proporcionar una separación de visión para una verdadera determinación de triangulación de tres ejes. El sistema 100 también puede incluir un receptáculo 170 para almacenar el lápiz óptico 130. Como se discute a continuación, el receptáculo 170 también puede usarse para calibrar la orientación del lápiz óptico con respecto a un balanceo, cabeceo y guiñada conocidos. El receptáculo 170 puede estar en una posición fija en relación con las cámaras 160.
En diversas formas de realización, los sensores de seguimiento 160 pueden detectar un punto visualmente indicado del dispositivo de control del usuario 130. Por ejemplo, un solo sensor de seguimiento puede incluir un solo sensor con múltiples haces de fibra ligera, con cada haz de fibra que captura una vista distinta (perspectiva) de manera que puedan capturarse múltiples imágenes del punto visualmente indicado con cada imagen que tiene una perspectiva distinta del punto visualmente indicado. Como otro ejemplo, un solo sensor puede capturar múltiples perspectivas distintas al capturar el punto visualmente indicado en momentos ligeramente diferentes. Aún en otros ejemplos, puede usarse más de un sensor de seguimiento para capturar las múltiples perspectivas distintas del punto visualmente indicado.
Como se describe a continuación, el usuario puede especificar o de cualquier otra manera manipular un punto de vista virtual dentro de la escena 3D presentada por el/los visualizador(es) 150. Puede presentarse una vista de la escena 3D en base al punto de vista virtual, ya sea por uno o más de los visualizadores 150 u otro visualizador, según se desee. Esta vista de la escena 3D puede ser estereoscópica o monoscópica, según se desee. A continuación, se proporcionan más detalles con respecto a la vista de la escena 3D.
El generador de escenas 3D almacenado y ejecutado en el chasis 110 puede configurarse para cambiar dinámicamente las imágenes visualizadas proporcionadas por el/los visualizador(es) 150. Más particularmente, el generador de escenas 3D puede actualizar la escena 3D visualizada en base a los cambios en el punto ocular del usuario, las manipulaciones a través de los dispositivos de entrada del usuario, etc. Tales cambios pueden realizarse dinámicamente, en tiempo de ejecución. El generador de escenas 3D también puede realizar un seguimiento de los dispositivos periféricos (por ejemplo, el lápiz óptico 130 o las gafas 140) para garantizar la sincronización entre el dispositivo periférico y la imagen visualizada. El sistema puede incluir además una unidad de calibración para garantizar el trazado adecuado del dispositivo periférico a las imágenes de visualización y el trazado adecuado entre las imágenes proyectadas y las imágenes virtuales almacenadas en la memoria del chasis 110.
En las formas de realización adicionales, el sistema 100 (por ejemplo, el/los visualizador(es) 150) puede comprender además un dispositivo de entrada de ampliación/reducción de imagen, un dispositivo de entrada de rotación de imagen y/o un dispositivo de movimiento de imagen para permitir al espectador ajustar la vista de las imágenes de proyección.
Por lo tanto, el sistema 100 puede presentar una escena 3D con la que el usuario puede interactuar en tiempo real. El sistema puede comprender visualizadores electrónicos en tiempo real 150 que pueden presentar o transmitir imágenes en perspectiva en el espacio abierto y un dispositivo periférico 130 que puede permitir al usuario interactuar con la escena 3D con herramientas portátiles o controladas a mano. El sistema 100 también puede permitir que la imagen visualizada se magnifique, amplíe, rote y se mueva. O, el sistema 100 puede incluso visualizar una nueva imagen.
Además, aunque se muestra que el sistema 100 incluye un visualizador horizontal 150B, ya que simula la experiencia visual del usuario con el suelo horizontal, cualquier superficie de visualización podría ofrecer una experiencia de ilusión 3D similar. Por ejemplo, la escena 3D puede parecer que cuelga de un techo mediante la proyección de las imágenes de perspectiva horizontal sobre una superficie de techo, o parece estar como que planea desde una pared mediante la proyección de imágenes de perspectiva horizontal sobre una superficie de pared vertical. Además, se contempla cualquier variación en la orientación y perspectiva del visualizador (o cualquier otra configuración del sistema 100).
La Figura 2 ilustra otra forma de realización del sistema 100, mostrada como 200A y 200B. En esta forma de realización, el sistema puede ser un sistema plegable y/o portátil (por ejemplo, similar a un ordenador portátil o tableta) donde el usuario puede tener el sistema 200 abierto (como se muestra en 200A) o cerrado (como se muestra en 200B). En esta forma de realización, el visualizador horizontal y el visualizador vertical pueden combinarse con un visualizador de mezcla. Por lo tanto, el visualizador del sistema 200 puede considerarse como una pluralidad de visualizadores combinados, o un simple visualizador que puede proyectarse horizontal y/o verticalmente, según se desee.
Sistemas ejemplares
Las formas de realización de la divulgación actual pueden permitir el seguimiento y el trazado precisos del lápiz óptico desde un espacio gráfico a un espacio de visualización. Las formas de realización divulgadas pueden permitir que las simulaciones 3D generadas por ordenador en tiempo real coexistan en el espacio físico y el tiempo con el usuario que interactúa con los objetos proyectados del espacio gráfico. Las formas de realización descritas también pueden permitir que un usuario interactúe mejor con objetos no proyectados. Esta capacidad mejorada puede ser útil en muchas industrias que incluyen, pero sin limitarse a, electrónica, ordenadores, biometría, medicina, educación, juegos, películas, ciencia, legal, financiera, comunicación, aplicación de la ley, seguridad nacional, militar, medios impresos, televisión, publicidad, ferias comerciales, visualización de datos, realidad generada por ordenador, animación, CAD/CAE/CAM, software de productividad, sistemas operativos y más.
Figuras 3-5 - Sistema de seguimiento de lápiz óptico
La Figura 3 es un diagrama de bloques que ilustra una forma de realización del sistema de seguimiento del lápiz óptico. En la forma de realización ilustrada, el sistema de seguimiento del lápiz óptico 300 incluye el dispositivo de control del usuario (por ejemplo, lápiz óptico) 130, el subsistema de seguimiento 390 y el subsistema del procesador 340. El lápiz óptico 130 puede incluir uno o más puntos visualmente indicados (por ejemplo, fuentes de luz) 310 que se localizan físicamente en el lápiz óptico 130, por ejemplo, que se localizan en el alojamiento del lápiz óptico 130 (ver Figura 4). Como se muestra en la Figura 3, en una forma de realización, el lápiz óptico 130 incluye una o más (por ejemplo, mostradas en la Figura 3 como dos) fuentes de luz 310. El lápiz óptico 130 también puede incluir un mecanismo de determinación de dirección constante, que se muestra como un acelerómetro 320, y un mecanismo de cambio de orientación independiente del campo, que se muestra como el giroscopio 330. Cada uno de los acelerómetros 320 y el giroscopio 330 puede comprenderse dentro del alojamiento del lápiz óptico 130. Pueden usarse otros mecanismos de determinación de dirección constante y mecanismos de cambio de orientación independientes del campo en otras formas de realización. Por ejemplo, el mecanismo de determinación de dirección constante puede ser un mecanismo de determinación de gravedad constante. Además, o en su lugar, un dispositivo GPS puede emplear cualquier mecanismo. Sin embargo, para facilitar la explicación, estos mecanismos se describen en términos del acelerómetro 320 y del giroscopio 330. El subsistema de seguimiento 390 puede incluir al menos un sensor de seguimiento (por ejemplo, que se muestra como 2 cámaras) 160 que se configuran para capturar y seguir perspectivas de los puntos visualmente indicados 310. El subsistema del procesador 340 puede recibir información tanto del subsistema de seguimiento 390 como del lápiz óptico 130 para calcular una posición y orientación del lápiz óptico 130.
En una forma de realización, el subsistema de seguimiento 390 incluye dos cámaras 160. Las cámaras 160 pueden colocarse para ver el volumen de interés, es decir, la región que al menos abarca donde un usuario puede ver e interactuar con las imágenes estéreo. Las cámaras 160 también pueden colocarse lo suficientemente separadas entre sí para proporcionar una separación de visión suficiente para la determinación de la triangulación real de tres ejes y para permitir vistas claras de un punto visualmente indicado, tal como la fuente de luz 310, del lápiz óptico 130. Por ejemplo, las cámaras 160 pueden colocarse a distancias interoculares u otras distancias, según se desee. Las cámaras 160 pueden posicionarse en relación con una posición y orientación predefinidas del visualizador. El uso de dos cámaras 160 puede permitir una precisión de posicionamiento espacial de tres ejes, incluso cuando el lápiz óptico 130 incluye el uso de una sola fuente de luz 310. En una forma de realización, cada cámara 160 tiene un sensor CMOS, o CCD, de 320 x 240 píxeles con un tamaño de píxel de 6 |_im en cada dirección x e y. La cámara 160 puede equiparse con una lente con una distancia focal de 1,4 mm y un campo de visión de 100 grados. Tal implementación puede permitir que el movimiento en la posición de la fuente de luz 310 se resuelva a menos de 1 mm en cada una de las direcciones x, y y z. La orientación también puede resolverse a menos de 1 grado en cada balanceo, cabeceo y guiñada. Esta resolución espacial en escala de mm puede asignarse al espacio gráfico del ordenador como se describe a continuación.
El subsistema de seguimiento 390 puede incluir más de dos cámaras 160. Agregar más cámaras 160 puede reducir los posibles puntos ciegos y permitir una tercera o más mediciones de triangulación de la fuente de luz 310, lo que puede agregar precisión adicional a la información de posicionamiento.
El Lápiz óptico 130 puede estar en un factor de forma de agarre del lápiz, lo que puede permitir una manipulación controlada simple de x, y, z, balanceo, cabeceo y guiñada. El lápiz óptico 130 puede incluir uno o más puntos visualmente indicados, tal como la fuente de luz 310. La fuente de luz 310 puede incorporarse en el alojamiento exterior del lápiz óptico 130, y puede ser un aparato generador de luz, tal como un LED, y puede ser una fuente puntual de luz pequeña para permitir una mayor precisión de la determinación de coordenadas x, y y z del lápiz óptico 130. En una forma de realización, la fuente de luz 310 puede estar dentro del espectro infrarrojo (IR). En otra realización, la fuente de luz 310 puede ser una fuente de luz reflectante, tal como un reflector incorporado que refleja una fuente de luz primaria fuera del lápiz óptico.
En algunas formas de realización, el lápiz óptico 130 puede incluir dos fuentes de luz no adyacentes 310 con separación espacial discernible. Esto puede garantizar que cuando una fuente de luz 310 se ocluye desde las cámaras 160, ya sea por la orientación del lápiz óptico 130 o desde la mano o el cuerpo de un usuario, la otra fuente de luz 310 puede no estarlo. Además, las dos fuentes de luz no adyacentes 310 pueden tener sus propias una o más condiciones de temporización distintas para diferenciar entre las dos fuentes de luz. En una forma de realización donde una fuente de luz 310 está en cada extremo del lápiz óptico 130, proporcionar condiciones de sincronización distintas puede permitir la diferenciación entre la punta y el extremo del lápiz óptico 130. Las condiciones de temporización distintas pueden incluir las fuentes de luz que tienen frecuencias diferentes, ciclos de trabajo diferentes y/o una compensación de temporización diferente de un reloj central. Por ejemplo, si las cámaras 160 son sensibles a una diferencia en las frecuencias, entonces es más probable que las dos cámaras 160 vean al menos una de las fuentes de luz 310. Incluso si cada cámara 160 solo ve la fuente de luz 310 que la otra cámara 160 no ve, todavía puede haber información adecuada para permitir que el subsistema del procesador 340 actualice la información de posicionamiento x-y-z del lápiz óptico 130. Como otro ejemplo, puede encenderse una primera luz mientras la segunda luz permanece apagada, luego puede encenderse la segunda luz y puede apagarse la primera luz. El apagado y encendido de las luces puede realizarse de acuerdo con un patrón y secuencia conocidos. Como tal, la punta del dispositivo de control del usuario puede distinguirse del extremo. El uso de condiciones de temporización distintas también puede permitir el seguimiento de dos posiciones separadas x, y y z para el lápiz óptico 130. Por lo tanto, las dos cámaras pueden identificar dos posiciones separadas, cada una que corresponde a un punto separado visualmente indicado, que el sistema puede asignar una a la punta y otra al extremo. Como se indicó anteriormente, esto permite discernir tanto la información como la de orientación de posicionamiento.
Como se señaló anteriormente, el subsistema del procesador 340 puede recibir información tanto del subsistema de seguimiento 390 (información de las dos o más cámaras 160 con respecto a la localización y/u orientación del lápiz óptico, o más particularmente información con respecto a las localizaciones de las fuentes de luz en el lápiz óptico 130) e información del propio lápiz óptico 130 (por ejemplo, información del acelerómetro 320 y/o giroscopio 330 del propio lápiz óptico 130) para calcular la posición y orientación del lápiz óptico 130. En algunas formas de realización, la información de las cámaras 160 puede usarse para calcular una orientación que puede compararse con las lecturas del giroscopio 330 y/o del acelerómetro 320 para proporcionar una capa adicional de confianza para la determinación de la orientación.
En una forma de realización, el dispositivo de control del usuario 130 puede no incluir un sensor magnético. Como resultado, los componentes de interferencia de campo magnético (por ejemplo, un reloj de metal) pueden no interferir con el seguimiento del dispositivo de control del usuario 130.
Figura 4 - Realización de Lápiz óptico
Volviendo ahora a la Figura 4, se muestra una forma de realización del lápiz óptico 130. El lápiz óptico ilustrado 130 tiene un alojamiento que comprende dos puntos visualmente indicados, en forma de fuentes de luz 310, en los extremos opuestos del lápiz óptico 130. En la forma de realización mostrada, las fuentes de luz 310 incluyen porciones opacas distintas de manera que cada fuente de luz puede producir un campo de luz que tiene la porción opaca distinta. Las distintas porciones opacas pueden ayudar a determinar una posición de rotación del lápiz óptico 130. Al dividir el aspecto rotacional del lápiz óptico 130 en segmentos, tales como cuatro cuadrantes, por ejemplo, cada cuadrante del lápiz óptico puede tener una forma de campo de luz dual distinta. Las dos cámaras 160 pueden reconocer tanto la posición del campo de luz como el cuadrante que se ve, lo que puede ayudar a determinar la orientación del lápiz óptico 130. La información de orientación del/de los punto(s) visualmente indicado(s) 310 puede compararse con la información del giroscopio 330 y/o el acelerómetro 320 (y/o un magnetómetro).
Con referencia de nuevo a la Figura 3, el lápiz óptico 130 también puede incluir un acelerómetro 320 y un giroscopio 330. El acelerómetro 320 y el giroscopio 330 pueden localizarse dentro del alojamiento del lápiz óptico 130. Cada uno del acelerómetro 320 y del giroscopio 330 puede configurarse para proporcionar información adicional (por ejemplo, mediciones) al subsistema del procesador 340. El acelerómetro 320 puede ser capaz de medir una dirección conocida de referencia por gravedad y proporcionar la medición al subsistema del procesador 340. El giroscopio 330 puede determinar una orientación/rotación. Esto puede incluir medidas de balanceo, cabeceo y guiñada del lápiz óptico 130. El giroscopio 330 puede tomar medidas de movimiento y proporcionar lecturas en tiempo real, mientras que las lecturas del acelerómetro pueden promediarse con el tiempo. Un ejemplo de giroscopio es el giróscopo de 3 ejes InvenSense ITG-3200 o el procesador de movimiento digital (DMP) giroscopio de 3 ejes InvenSense iMu-3000. Un ejemplo del acelerómetro es el acelerómetro de 3 ejes Kionix KXTF9. En algunas formas de realización, el lápiz óptico 130 puede incluir un magnetómetro en lugar de o además del giroscopio 330 y/o el acelerómetro 320. El magnetómetro también puede configurarse para proporcionar información adicional al subsistema del procesador 340.
En una forma de realización, el subsistema del procesador 340 puede recibir información tanto del subsistema de seguimiento 390 como del lápiz óptico 130 para calcular una posición y orientación (por ejemplo, que incluye la rotación) del lápiz óptico 130. En la forma de realización ilustrada, el subsistema del procesador 340 incluye el módulo de calibración 350, el módulo de alineación 360, el módulo de cálculo de posición 370 y el módulo de cálculo de orientación 380.
En una forma de realización, el módulo de calibración 350 puede calibrar las cámaras 160 mediante el uso de un objetivo de referencia. El objetivo de referencia puede moverse a diferentes posiciones predeterminadas x, y y z dentro del espacio de visualización de la cámara para permitir que el sistema capture imágenes de cada cámara 160 en cada localización y aprenda la correspondencia entre vistas y posiciones. El objetivo de referencia puede ser una imagen objetivo del tablero de ajedrez con dimensiones de los cuadrados del tablero de ajedrez conocidos por el módulo de calibración 350. Al colocar la imagen objetivo del tablero de ajedrez en varias localizaciones predeterminadas dentro del campo de visión de las cámaras, el sistema puede correlacionar las imágenes capturadas con posiciones tridimensionales. Cuando se usa una imagen objetivo de tablero de ajedrez, a veces una de las imágenes capturadas puede distorsionar los cuadrados como trapecios en lugar de cuadrados, por ejemplo, cuando la imagen objetivo se posiciona perpendicular a la cámara de calibración respectiva. El módulo de calibración 350 reconoce que los trapecios deberían ser cuadrados y utiliza esa información en su proceso de correlación. El módulo de calibración 350 también puede factorizar la información de densidad de matriz CMOS o CCD de las cámaras y las características de las lentes en el algoritmo de calibración.
En una forma de realización, el módulo de calibración 350 puede calibrar el lápiz óptico 130 con referencia a las cámaras 160. Esto puede incluir la determinación de un punto de referencia físico en una posición fija x, y, z dentro de la vista de las cámaras, que es desde una distancia de posición conocida desde un punto predeterminado en el visualizador, donde se conoce la orientación y posición del visualizador en relación con las orientaciones y posiciones de las cámaras. El lápiz óptico 130 puede colocarse entonces en el punto de referencia físico. Esto puede permitir que el módulo de calibración 350 determine la relación desde el lápiz óptico 130 para visualizar.
El módulo de calibración 350 también puede calibrar una característica de seguimiento de la cabeza. La calibración de la cámara de seguimiento de la cabeza, que pueden ser las mismas cámaras que las cámaras 160, incluye colocar la cabeza del usuario en el punto de referencia físico con la cabeza en una posición y orientación conocidas con respecto a las cámaras. La calibración de la cámara de seguimiento de la cabeza permite que el seguimiento de la cabeza se sincronice con una posición conocida del visualizador como se describió anteriormente.
Los cambios en el ángulo, la orientación o la posición de las cámaras 160 o de los visualizadores pueden seguirse y programarse en el módulo de calibración 350. O puede rehacerse una calibración. Por ejemplo, el módulo de calibración 350 puede calibrar el lápiz óptico y/o la(s) cámara(s) como una potencia de inicialización o tras un evento determinado. Los eventos pueden incluir la colocación del lápiz óptico 130 en el receptáculo, la recalibración que dirige la entrada del usuario o una inconsistencia detectada entre el punto capturado al menos un punto indicado visualmente (por ejemplo, información de la cámara) y la información adicional (por ejemplo, mediciones) del giroscopio y/o acelerómetro.
El módulo de alineación 360 puede usarse para calibrar un ángulo inicial, rotación y orientación del lápiz óptico 130. En una forma de realización, puede usarse una referencia de ángulo, rotación y orientación conocidas. Por ejemplo, puede usarse un receptáculo 170 o soporte. El receptáculo 170 puede forzar al lápiz óptico 130 a ajustarse de cierta manera conocida (por ejemplo, que puede almacenarse en el Módulo de Alineación 360), que incluye una posición de inclinación con el receptáculo 170 en una posición fija referida a las cámaras 160. El posicionamiento fijo del receptáculo a la cámara puede permitir que la orientación de las coordenadas de balanceo, cabeceo y guiñada sea la misma que una orientación conocida de la cámara x, y, z. Los datos del acelerómetro 320 pueden usarse por el módulo de alineación 360 para verificar la posición de balanceo esperada. Forzar la inclinación puede permitir que el acelerómetro 320, que está en una posición conocida dentro del lápiz óptico, transmita al módulo de alineación 360, una dirección conocida de referencia por gravedad. En este ejemplo, debido a que el módulo de alineación 360 conoce la estructura del lápiz óptico 130, con el acelerómetro incorporado 320, y la orientación esperada debido a que la gravedad, la rotación del lápiz óptico puede ser conocida y verificada. Además, el módulo de alineación 360 puede recibir lecturas del giroscopio 330 como línea de base cuando el lápiz óptico 130 se sitúa en el receptáculo 170. El uso de la lectura del acelerómetro 320 y las posiciones conocidas x, y, z, como se describió anteriormente, puede permitir que el sesgo, el ruido o el error del giroscopio 330 se pongan a cero.
En una forma de realización, el módulo de cálculo de posición 370 puede recibir información de posición de las fuentes de luz 310 de las cámaras 160. Por ejemplo, la información de posición puede estar en forma de archivos de imágenes en bruto o procesadas, metadatos con las imágenes, etc. Antes de recibir esa información, puede suponerse que se ha determinado lo siguiente: el volumen espacial, tal como lo pueden ver las cámaras 160, la correlación espacial de las cámaras 160 alineadas entre sí, el espacio de coordenadas compartido de las cámaras con el acelerómetro 320 y el giroscopio 330, y la posición del punto de la fuente de luz 310 en relación con el lápiz óptico 130. Cuando el lápiz óptico 130 se mueve, las cámaras 160 ven las fuentes de luz 310 del lápiz óptico 130. El área de imágenes de la fuente de luz 310, o el punto visualmente indicado, puede promediarse para determinar un punto central, o punto de la punta, del lápiz óptico 130. Por ejemplo, si la fuente de luz con imagen 310 tiene un diámetro M y una circunferencia N, el módulo de cálculo de posición 370 puede determinar el centro de la fuente de luz 310 y correlacionarlo como la fuente puntual. Además, el módulo de cálculo de posición 370 puede conocer la forma esperada de las fuentes de luz 310 y, en base a las imágenes recibidas de las cámaras 160 y el ángulo de visión, el módulo de cálculo de posición 370 puede proporcionar un punto de la punta determinado con mayor precisión del lápiz óptico 130. El módulo de cálculo de posición puede aplicar un algoritmo o algoritmos, tal como la transformación de proyección de perspectiva, perspectiva inversa o estéreo binocular, a la información o propiedades de las cámaras 160. Tales propiedades pueden incluir y tener en cuenta los parámetros de la matriz CMOS y CCD (cabeceo), los parámetros de la lente y el efecto de la lente. El(los) algoritmo(s) pueden determinar entonces la posición x, y y z del lápiz óptico 130. En una forma de realización, el módulo de cálculo de posición puede calcular la posición x, y y z sin usar la información adicional del acelerómetro 320 y el giroscopio 330.
El módulo de cálculo de orientación 380 puede calcular un balanceo, cabeceo y guiñada para el lápiz óptico 130. En una forma de realización, el módulo de cálculo de orientación 380 recibe información adicional (por ejemplo, mediciones) del giroscopio 330, que puede proporcionar información de balanceo, cabeceo y guiñada en tiempo real para el lápiz óptico 130. El balanceo, cabeceo y guiñada pueden compararse, cada poco ciclo de actualización, con una lectura medida, promediada en el tiempo, desde el acelerómetro 320. Los ciclos de actualización pueden realizarse periódicamente a una frecuencia de actualización conocida. De esta manera, el acelerómetro 320 puede servir como referencia a partir del cual se verifica periódicamente el giroscopio 330 para una correcta actualización de balanceo, cabeceo y guiñada. En algunas formas de realización, el módulo de orientación 380 puede recibir mediciones de un magnetómetro. Por ejemplo, un magnetómetro puede proporcionar una medida que indica la dirección del norte magnético. El norte magnético puede permanecer estacionario en función del tiempo y, por lo tanto, puede usarse para determinar la orientación del dispositivo de control del usuario. La orientación del dispositivo de control del usuario 130 puede calcularse entonces en base a las imágenes capturadas del sensor o sensores de seguimiento 160 y la información adicional del acelerómetro 320 y el giroscopio 330 (y/o de un magnetómetro).
El subsistema del procesador 340 puede proporcionar entonces una escena 3D actualizada al/a los visualizador(es) 150. La escena 3D actualizada puede reflejar una precisión entre el espacio físico del dispositivo de control del usuario 130 y el espacio gráfico de la escena 3D dentro de 1 mm en cada uno de los ejes x, y y z. El sistema de seguimiento puede estar vinculado al sistema gráfico en el sentido de que el sistema de seguimiento puede capturar la información de posición física x, y, z, cabeceo, guiñada y balanceo del lápiz óptico, así como también el cambio de posición del lápiz óptico a precisión de sub mm y precisión de subgrado. El espacio gráfico puede definirse como que tiene gráficos vectoriales de longitud, ancho, profundidad, posición y orientación de la unidad en unidades gráficas. El usuario puede asignar las unidades gráficas a una equivalencia física mundial (por ejemplo, |_im, mm, pulgadas, pies, etc.). Cuando el sistema de seguimiento se comunica con el sistema gráfico, puede existir una designación de unidades junto con las unidades (por ejemplo, designación de pulgadas con un valor de 4). El sistema de seguimiento puede proporcionar su información de posición al espacio gráfico y el espacio gráfico puede interpretar la designación de las unidades. Como resultado, el espacio gráfico puede correlacionar la información de posición del sistema de seguimiento con su equivalencia en el espacio gráfico. Una información más precisa del sistema de seguimiento en relación con la posición real del lápiz óptico puede dar como resultado una correlación más precisa de esa información con el espacio gráfico interpretado.
La Figura 5 ilustra una forma de realización del lápiz óptico 130. Como se muestra en la figura 5, el lápiz óptico 130 tiene un centro de gravedad, alrededor del cual se muestran los ejes de balanceo, cabeceo y guiñada. También se muestra el receptáculo 170 donde puede almacenarse el lápiz óptico 130. Como se describió anteriormente, el receptáculo 170 también puede usarse para calibrar y alinear el lápiz óptico 130. Cuando el lápiz óptico 130 tiene una configuración conocida, por ejemplo, cuando se almacena en el receptáculo 170, el balanceo, cabeceo y guiñada del lápiz óptico 130 pueden ponerse a cero o ajustarse a otros valores conocidos.
El sistema de seguimiento del lápiz óptico descrito en la presente puede ser útil en situaciones que requieren un seguimiento preciso del movimiento, tanto en movimiento lento como rápido, de la manipulación de la muñeca, la mano o el dedo de un lápiz óptico. Tal seguimiento de movimiento puede ser útil para actividades de entrada precisa del usuario de ordenador en un espacio de volumen de un entorno de visualización estereoscópica. Debido a que los acelerómetros y giroscopios se desvían inherentemente, el sistema descrito en la presente, que utiliza cámaras 160 como una fuente de información de seguimiento adicional, puede ser útil debido a que las mediciones de la cámara pueden usarse para la referencia cruzada con la información adicional del acelerómetro/giroscopio (por ejemplo, mediciones) para actualizar el acelerómetro desviado 320 y el giroscopio 330. De manera más general, el sistema puede funcionar para hacer referencia cruzada/comparar las diversas mediciones del acelerómetro 320, el giroscopio 330 y/o las cámaras 160 para realizar un seguimiento más preciso de la posición/orientación del lápiz óptico 130.
Además, el posicionamiento de las cámaras en el sistema de seguimiento del lápiz óptico puede asociar la posición y orientación de la pantalla de visualización de manera que permita entradas de precisión al motor de gráficos para la interacción con objetos de visualización representados en estéreo. En otras palabras, las cámaras 160 pueden posicionarse en relación con una posición y orientación predefinidas del visualizador.
El sistema de seguimiento descrito anteriormente también puede usarse, en algunas formas de realización, para seguir una cabeza o un usuario, además de, o en lugar de, el lápiz óptico 130.
Figura 6 - Presentación de una representación 3D de un lápiz óptico dentro de una escena 3D
La Figura 6 ilustra un método 600 para determinar las coordenadas 3D de un dispositivo de control del usuario (por ejemplo, un lápiz óptico) y actualizar una escena 3D en base a la determinación de coordenadas. El método que se muestra en la Figura 6 puede usarse junto con cualquiera de los sistemas o dispositivos informáticos que se muestran en las figuras anteriores, entre otros dispositivos. En diversas formas de realización, algunos de los elementos del método mostrados pueden realizarse simultáneamente, en un orden diferente al mostrado, o pueden omitirse. En algunas formas de realización, el método 600 puede incluir etapas adicionales (o algunas etapas) a los mostradas. Como se muestra, el método 600 puede funcionar de la siguiente manera.
Como se ilustra en 602, puede presentarse una escena 3D por al menos un visualizador (por ejemplo, el/los visualizador(es) 150). Más particularmente, el/los visualizador(es) pueden presentar una o más imágenes estereoscópicas de la escena 3D. La escena 3D puede presentarse de acuerdo con un primer punto de vista. Por ejemplo, el primer punto de vista puede basarse en el punto ocular de un usuario que ve la escena 3D. En una forma de realización, el método puede incluir determinar el primer punto de vista, por ejemplo, al determinar el punto ocular del usuario que ve la escena 3D. El método puede determinar el punto ocular del usuario mediante el uso de diversas técnicas, tales como un dispositivo de entrada de posición (por ejemplo, gafas que pueden usarse para proporcionar información de posición del punto ocular), triangulación, seguimiento de cabeza/ojo, etc. En consecuencia, la escena 3D puede representarse de manera que el usuario pueda ver la escena 3D con distorsiones mínimas (por ejemplo, ya que se basa en el punto ocular del usuario). Más específicamente, cuando la escena 3D se basa en el punto ocular del usuario, la escena 3D se representa en base a la perspectiva como la vería el espectador. Esta representación evita gran parte de la distorsión que se transmitiría si el punto de vista de la escena no coincidiera con el punto ocular del espectador. En otras palabras, un objeto visualizado conserva la perspectiva correcta, así como también el posicionamiento y la orientación de compensación correctos del dispositivo de visualización tal como los percibe el espectador, siempre que el punto ocular del espectador y el punto de vista de la escena 3D permanezcan en correspondencia.
Como se indicó anteriormente, la escena 3D puede presentarse mediante un único visualizador o una pluralidad de visualizadores. En una forma de realización, la escena 3D puede presentarse mediante un visualizador vertical y un visualizador fuera del eje, tal como un visualizador horizontal. Por ejemplo, el visualizador vertical puede presentar una primera imagen estereoscópica, por ejemplo, de acuerdo con una perspectiva vertical, y el visualizador horizontal puede presentar una segunda imagen estereoscópica, por ejemplo, de acuerdo con una perspectiva horizontal. Estas dos imágenes estereoscópicas pueden formar o transmitir la escena 3D al usuario. En las formas de realización adicionales, los dos visualizadores pueden unirse por un visualizador curvilíneo o de mezcla, que también puede presentar una imagen estereoscópica. La imagen estereoscópica del visualizador de mezcla puede funcionar para mezclar las imágenes estereoscópicas de los visualizadores verticales y horizontales. Se contemplan otras cantidades y tipos de visualizadores para presentar la escena 3D.
Al menos una porción de la escena 3D puede presentarse en un "espacio abierto" arriba, delante o de cualquier otra manera fuera del al menos un visualizador. Por lo tanto, al menos una porción de la escena 3D puede aparecer como un holograma sobre la superficie de visualización. Por ejemplo, cuando se usa un visualizador horizontal para representar un par de imágenes estéreo (o video), la escena 3D puede verse como que planea sobre el visualizador horizontal. Sin embargo, debe tenerse en cuenta que una porción de la escena 3D también puede presentarse como que aparece detrás de la superficie de visualización, que no está en "espacio abierto". Por lo tanto, "espacio abierto" se refiere a un espacio en que el usuario puede moverse e interactuar libremente (por ejemplo, donde el usuario puede colocar sus manos en el espacio o manipular el dispositivo de control del usuario 130) en lugar de un espacio en que el usuario no puede libremente moverse o interactuar (por ejemplo, donde el usuario no puede colocar sus manos en el espacio, como debajo de la superficie de visualización). Este "espacio abierto" puede denominarse como un "volumen interactivo", en oposición a un "volumen interno" que puede estar debajo de la superficie del/los visualizador(es). Por lo tanto, el usuario puede interactuar directamente con objetos (objetos virtuales visualizados), por ejemplo, con el dispositivo de control del usuario 130, en el espacio abierto debido a que conviven en el espacio físico próximo al usuario. El volumen interno se localiza detrás de la superficie de visualización, y porciones de la escena 3D dentro de este volumen interno aparecen "dentro" del dispositivo de visualización físico. Por lo tanto, los objetos de la escena 3D presentados dentro del volumen interno no comparten el mismo espacio físico con el usuario y, por lo tanto, los objetos no pueden manipularse directa, físicamente por las manos o herramientas portátiles. Es decir, los objetos que se visualizan dentro del volumen interno pueden manipularse indirectamente, por ejemplo, a través de un ratón de ordenador, una palanca de mando o un lápiz óptico virtual (por ejemplo, que incluye una extensión virtual a un lápiz óptico).
Como se muestra en 604 y 606, puede determinarse la primera y segunda información de localización de un dispositivo de control del usuario (por ejemplo, el lápiz óptico 130). En diversas formas de realización, la información de localización puede referirse a la posición y/u orientación. La primera información de localización puede determinarse en base a dos o más imágenes capturadas de un punto visualmente indicado del lápiz óptico. Por ejemplo, las dos o más imágenes capturadas pueden provenir de dos cámaras separadas espacialmente. Como resultado, cada una de las dos o más imágenes capturadas puede capturarse desde una perspectiva distinta. El punto visualmente indicado en el lápiz óptico 130 puede ser un punto central o borde de la fuente de luz 310 o puede ser la fuente de luz 310 en sí. Un punto central puede determinarse al promediar la fuente de luz 310. Por ejemplo, si la porción de imagen de la fuente de luz 310 es un diámetro M y una circunferencia N, el subsistema del procesador 340 puede determinar un centro de la fuente de luz 310 y correlacionarlo como el punto del lápiz óptico 130. El punto del lápiz óptico 130 puede ser una punta del lápiz óptico 130.
En una forma de realización, el lápiz óptico 130 puede incluir un segundo punto indicado visualmente, de manera que el primer y el segundo punto indicado visualmente no sean adyacentes. El segundo punto visualmente indicado puede ser el punto central o el borde de una segunda fuente de luz 310. En tal forma de realización, la información de localización del segundo punto visualmente indicado en el lápiz óptico 130 también puede determinarse. Como ejemplo, la primera información de localización puede incluir información de localización separada, con cada conjunto separado de información de localización correspondiente a uno de los puntos visualmente indicados. La información de localización separada para cada uno de los puntos visualmente indicados puede basarse en una o más imágenes capturadas de cada una de las cámaras. En un ejemplo simple con dos cámaras y dos puntos visualmente indicados, la información de localización puede determinarse para el primer punto visualmente indicado en base a dos imágenes capturadas, una de cada cámara. Igualmente, la información de localización puede determinarse para el segundo punto visualmente indicado en base a dos imágenes capturadas, una de cada cámara. La imagen capturada de una cámara determinada puede usarse para determinar la imagen de localización para cada punto visualmente indicado. Por ejemplo, una imagen puede capturar ambos puntos visualmente indicados y puede usarse para determinar la información de localización respectiva correspondiente a cada uno de los puntos visualmente indicados. Continuando con el ejemplo, la información de localización separada puede determinarse para ambos puntos visualmente indicados mediante el uso de las mismas dos imágenes capturadas (una de cada cámara). En base a la información de localización separada para cada punto visualmente indicado, la primera información de localización puede determinarse de manera que incluya o refleje la información de localización separada correspondiente a cada punto visualmente indicado.
Antes, durante o después de los bloques 604 y 606, un usuario puede tomar el lápiz óptico e interactuar con una porción de la escena tridimensional, por ejemplo, al posicionar el lápiz óptico para especificar un objeto visualizado (por ejemplo, al seleccionar un espacio que se correlaciona con un objeto visualizado), especificar un espacio dentro de la escena 3D, etc. En 604, el método puede determinar la primera información de localización de al menos un punto visualmente indicado del lápiz óptico, en el que la determinación se realiza mediante el uso de un sensor de seguimiento. En una forma de realización, la primera información de localización puede obtenerse mediante el uso de al menos dos sensores de seguimiento (por ejemplo, cámaras separadas espacialmente). En otras formas de realización, la primera información de localización puede obtenerse de un único sensor de seguimiento.
Por lo tanto, en el bloque 604, en las formas de realización donde el sistema incluye una primera y segunda cámaras, la primera información de localización del mismo punto visualmente indicado en el lápiz óptico 130 puede determinarse en base a las imágenes de cada cámara. En una forma de realización en la que el lápiz óptico 130 incluye un segundo punto visualmente indicado, la primera información de localización puede incluir información de localización que corresponde al segundo punto visualmente indicado en el lápiz óptico 130 y puede basarse en las mismas imágenes o en imágenes diferentes de cada cámara.
En diversas formas de realización, el primer y el segundo puntos visualmente indicados pueden configurarse para emitir luz que tiene la primera y segunda condiciones de temporización, respectivamente, con la primera y segunda condiciones de temporización (por ejemplo, frecuencias de luz) que son diferentes. Por ejemplo, las dos frecuencias diferentes pueden ser frecuencias diferentes dentro del espectro IR. La determinación de la primera información de localización puede incluir entonces identificar qué imágenes capturadas corresponden a qué punto visualmente indicado.
En algunas formas de realización, el primer y el segundo puntos visualmente indicados pueden incluir porciones opacas. Por ejemplo, una fuente de luz del primer punto visualmente indicado puede configurarse para producir un campo de luz que tiene una porción opaca que tiene una forma y el segundo punto visualmente indicado puede configurarse para producir un campo de luz que tiene una porción opaca que tiene otra forma de manera que cuando se emite o refleja luz desde los puntos visualmente indicados, los cuadrantes del dispositivo de control del usuario pueden distinguirse. En consecuencia, la determinación de la primera información de localización puede incluir la identificación de cuadrantes del dispositivo de control del usuario en base a la presencia de las porciones opacas en las imágenes capturadas.
La primera información de localización puede determinarse a partir de una o más cámaras mediante el uso de cualquiera de varias técnicas. Por ejemplo, una cámara puede capturar una imagen de la escena, que incluye el punto visualmente indicado en el lápiz óptico 130, y proporcionar la imagen al subsistema del procesador 340. La cámara puede preprocesar las imágenes mediante el uso de un software de procesamiento de imágenes. La imagen puede analizarse por el subsistema del procesador 340 para determinar la localización del píxel dentro de la escena donde se localiza el punto visualmente indicado. Esta localización de píxel puede usarse para determinar la localización del punto respectivo visualmente indicado dentro de la escena real. En las formas de realización en las que se capturan múltiples imágenes, cada cámara puede configurarse para capturar una perspectiva distinta del al menos un punto visualmente indicado.
Como se ilustra en 606, el método también puede determinar la segunda información de localización (por ejemplo, mediciones) de cada uno de los uno o más dispositivos de determinación de posición dentro del lápiz óptico. Esto puede incluir un giroscopio, acelerómetro, magnetómetro, etc.
La primera y segunda información de localización que se determina en 604 y 606 puede incluir las coordenadas x, y y z, así como también los valores de balanceo, cabeceo y guiñada. Estos datos pueden proporcionarse al subsistema del procesador 340 en base a la información proporcionada por la(s) cámara(s) 160, el giroscopio 330 y el acelerómetro 320.
Como se muestra en 608, el subsistema del procesador 340 puede determinar o resolver una posición y una orientación del dispositivo de control del usuario 130 en base a la primera y segunda información de localización del punto visualmente indicado en el lápiz óptico 130. Dicho de otra manera, el subsistema del procesador 340 puede determinar o resolver una localización del lápiz óptico 130 en base a la información de las dos o más cámaras 160, el giroscopio 330 y el acelerómetro 320, entre otras posibilidades. En las formas de realización que usan puntos adicionales visualmente indicados, el subsistema 340 del procesador puede usar la información de localización adicional de los puntos visualmente indicados para refinar aún más la localización del lápiz óptico 130. En algunas formas de realización, el sistema 100 puede incluir más de dos cámaras. Cuando el sistema 100 incluye más de dos cámaras 160, el subsistema del procesador 340 usa la información de las múltiples cámaras para refinar aún más la localización del lápiz óptico 130. El subsistema del procesador 340 puede resolver el posicionamiento del lápiz óptico 130 en función de la lente, el sensor de píxeles y/o el tamaño de matriz (cabeceo) de las cámaras 160.
A medida que se mueve el lápiz óptico 130, las cámaras 160 pueden proporcionar información de localización en base a una localización de la fuente de luz 310. Como se describió anteriormente, la porción de imagen de la fuente de luz 310 puede ser procesada por el subsistema del procesador 340 para correlacionar la fuente de luz 310 en un punto del lápiz óptico 130, tal como la punta. En al menos algunas formas de realización, a medida que se mueve el lápiz óptico 130, la información de cada una de las dos o más cámaras 160, el giroscopio 330 y el acelerómetro 320 se usan colectivamente para seguir el movimiento del lápiz óptico 130.
Pueden usarse varios métodos para determinar la localización/orientación del lápiz óptico 130 en base a la información de las dos o más cámaras 160, el giroscopio 330 y el acelerómetro 320. Un método de ejemplo es un filtro de Kalman que combina las diferentes mediciones para obtener una estimación del estado de la posición del sistema. Como otro ejemplo, si el giroscopio 330 indica que el lápiz óptico 130 está en la posición A, el acelerómetro 320 indica (por ejemplo, indirectamente) la posición B, y las 2 cámaras de video 160 indican la posición C, la estimación de la posición puede formularse en base a una combinación de esta información. Por ejemplo, en el caso de discrepancias/inconsistencias, pueden promediarse las diferentes posiciones. Tal promedio puede incluir información de ponderación que proviene de un dispositivo más confiable (por ejemplo, supongamos que el giroscopio es más preciso que el acelerómetro) mayor en el cálculo que los demás. En otras formas de realización, pueden usarse otras maneras de resolver inconsistencias entre la primera y segunda información de localización, tal como ignorar una porción de la primera y/o segunda información.
En 610, la escena 3D puede actualizarse en base a la posición del dispositivo de control del usuario y la determinación de orientación en 608. La actualización de la escena 3D puede incluir la actualización de una localización de un objeto virtual dentro de la escena en base a la manipulación por el lápiz óptico 130, las manos de un usuario o algún otro dispositivo portátil. La actualización de la escena 3D también puede incluir representar una representación virtual del lápiz óptico 130 dentro del espacio gráfico correspondiente a la posición, rotación y orientación del lápiz óptico seguido. El posicionamiento incremental del lápiz óptico 130 en cada uno de los seis ejes puede seguirse con precisión para una correlación precisa entre el posicionamiento registrado del lápiz óptico físico 130 y la representación del lápiz óptico virtual en el espacio de visualización estéreo. La representación, o lápiz óptico virtual, puede incluir una posición y orientación gráfica virtual. Por ejemplo, el posicionamiento de la fuente de luz del lápiz óptico 130 310 puede resolverse a menos de 1 mm en cada uno de los ejes x, y y z. Esta resolución espacial en escala de mm puede asignarse al espacio gráfico del ordenador. En consecuencia, la escena 3D actualizada puede reflejar una precisión entre el espacio físico del dispositivo de control del usuario y el espacio gráfico de la escena 3D dentro de 1 mm en cada uno de los ejes x, y y z. Un gráfico de lápiz óptico virtual, que puede ser parte del modelo gráfico del ordenador, puede representarse en el visualizador estéreo como cualquier otro objeto gráfico. El gráfico del lápiz óptico virtual en el visualizador estéreo puede parecer coincidente con el lápiz óptico físico 130.
El método 600 puede permitir que un sistema siga con precisión la manipulación de la muñeca, la mano y el dedo de un usuario del lápiz óptico 130. Este método puede permitir la detección de movimiento lento y rápido. Además, el uso de múltiples cámaras puede refinar la localización del lápiz óptico y las lecturas de orientación del giroscopio de referencia cruzada 330 y del acelerómetro 320. Al seguir una localización precisa del lápiz óptico 130, un usuario puede manipular finamente un objeto virtual en un espacio gráfico. En algunas formas de realización, el lápiz óptico físico 130 manipula un objeto virtual. En otras formas de realización, un lápiz óptico virtual, representado en el espacio 3D por la localización y orientación determinadas por el método 600, puede manipular un objeto virtual.
Ilustraciones ejemplares
Las Figuras 7A y 7B ilustran un trazado ejemplar del espacio gráfico para visualizar el espacio. Por ejemplo, la Figura 7A ilustra la representación virtual 1000 con un elemento interactivo 1445, que puede actuar como una extensión del lápiz óptico 130 (mostrado en la Figura 7B), y la Figura 7B ilustra la presentación de la escena 3D 1050 correspondiente a la representación virtual 1000 de Figura 7A (mediante el uso del visualizador 150B).
En la forma de realización mostrada, el lápiz óptico físico 130 puede extenderse en la escena 3D 1050 a través del lápiz óptico virtual proyectado 1445. Por lo tanto, el lápiz óptico 130 puede tener una extensión virtual visualizada 1445 que comienza desde el extremo del lápiz óptico físico 130.
La herramienta portátil puede ser cualquier dispositivo seguido, por ejemplo, en términos de posición y orientación, y puede seguirse de acuerdo con las formas de realización descritas anteriormente. Por ejemplo, como se describió anteriormente, dos cámaras 160 (no mostradas en estas Figuras) pueden seguir una localización del lápiz óptico 130. El lápiz óptico 130 puede tener una variedad de formas y puede tener o no el lápiz óptico virtual 1445, como una extensión o de cualquier otra manera. Además, en lugar de actuar como una extensión, el lápiz óptico virtual 1445 puede moverse de acuerdo con los movimientos correspondientes del lápiz óptico 130, pero puede parecer que no está conectado en absoluto. Por ejemplo, el lápiz óptico virtual 1445 puede representarse para verse estereoscópicamente en una localización próxima al lápiz óptico 130. En la forma de realización mostrada, el lápiz óptico virtual 1445 aparece como una extensión del lápiz óptico 130, por ejemplo, a través de imágenes estereoscópicas proporcionadas al punto ocular 1070.
A medida que el usuario mueve el lápiz óptico 130, pueden producirse ciertas acciones correspondientes. En una forma de realización, el lápiz óptico virtual 1445 correspondiente puede reposicionarse tanto en la representación virtual como en la escena 3d . En otra forma de realización, el lápiz óptico virtual 1445 puede no representarse y, por lo tanto, el usuario no puede representarlo por imágenes ni verlo, pero uno de los objetos, tal como el objeto 2, puede permitirle al usuario tener retroalimentación de dónde está posicionado y orientado el lápiz óptico 130. La distancia de imágenes entre la punta lejana del lápiz óptico 130 o el lápiz óptico digital virtual 1445 y el objeto de imágenes percibido por el usuario 2 puede establecerse en base a diferentes parámetros, tales como las preferencias del usuario o del diseño. En algunas formas de realización, los cambios en la localización del lápiz óptico 130 pueden resolverse a 1 cm y en algunas formas de realización a menos de 1 mm en cada uno de los ejes x, y y z, así como también nominalmente a 5 grados y, en algunas formas de realización, a menos de 1 grado en cada uno de los ejes de cabeceo, guiñada y balanceo.
Aunque las formas de realización anteriores se han descrito con considerable detalle, numerosas variaciones y modificaciones serán evidentes para los expertos en la técnica una vez que la divulgación anterior se aprecie completamente.

Claims (12)

REIVINDICACIONES
1. Un método que comprende:
recibir múltiples imágenes capturadas de al menos un punto visualmente indicado (310) de un dispositivo de control del usuario (130) desde al menos un sensor de seguimiento (160), en el que el dispositivo de control del usuario (130) comprende un lápiz óptico (130), que recibe información de medición desde un giroscopio, acelerómetro y/o un magnetómetro comprendido en el dispositivo de control del usuario (130), en el que el al menos un sensor de seguimiento (160) incluye una primera y una segunda cámaras (160), en el que cada una de la primera y segunda cámaras (160) se configura para capturar las múltiples imágenes con cada imagen que tiene una perspectiva distinta del al menos un punto visualmente indicado, en el que la primera y segunda cámaras (160) se separan lo suficiente entre sí para permitir la determinación de triangulación de tres ejes, y en el que la primera y segunda cámaras (160) se posicionan en relación con una posición y orientación predefinidas del visualizador, en el que el usuario manipula el dispositivo de control del usuario (130) para interactuar con una escena 3D estéreo, al determinar una posición y una orientación del dispositivo de control del usuario (130) en base a las múltiples imágenes capturadas del al menos un punto visualmente indicado (310) y la información de medición, y proporcionar una escena 3D estéreo actualizada a un visualizador en base a la posición determinada y orientación del dispositivo de control del usuario (130), en el que existe una correspondencia 1:1 entre los objetos virtuales en un espacio gráfico y sus equivalentes físicos del mundo real en un espacio físico mediante la utilización de un plano de referencia físico común para correlacionar un entorno de coordenadas físicas a un entorno de coordenadas virtual;
en el que el al menos un punto visualmente indicado (310) incluye el primer y segundo puntos visualmente indicados (310), en el que el primer punto visualmente indicado (310) se configura para producir un primer campo de luz que tiene una primera porción opaca, en el que el segundo punto visualmente indicado (310) se configura para producir un segundo campo de luz que tiene una segunda porción opaca diferente a la primera porción opaca, en el que un aspecto giratorio del lápiz óptico (130) se divide en cuatro cuadrantes con cada cuadrante que tiene una forma de campo de luz dual distinta.
2. Un método de acuerdo con la reivindicación 1, en el que el primer y el segundo puntos visualmente indicados (310) no son adyacentes, y en el que el primer punto visualmente indicado (310) se configura para emitir luz que tiene una primera condición de temporización, y en el que el segundo punto visualmente indicado (310) se configura para emitir luz que tiene una segunda condición de temporización.
3. Un método como en cualquiera de las reivindicaciones anteriores, en el que el dispositivo de control del usuario (130) incluye un mecanismo de cambio de orientación independiente del campo y un mecanismo de determinación de dirección constante, y en el que la información de medición es la información del mecanismo de cambio de orientación independiente del campo y el mecanismo de determinación de dirección constante.
4. El método de acuerdo con la reivindicación 3, en el que el mecanismo de cambio de orientación independiente del campo y el mecanismo de determinación de dirección constante se emplean con un giroscopio y un acelerómetro, respectivamente.
5. Un método como en cualquiera de las reivindicaciones anteriores, en el que dicha determinación de la posición y la orientación del dispositivo de control del usuario (130) incluye determinar un centro del al menos un punto visualmente indicado (310).
6. Un método como en cualquiera de las reivindicaciones anteriores, que comprende además compensar una deriva o sesgo de un dispositivo de medición del dispositivo de control del usuario (130) en base a una inconsistencia entre el punto capturado al menos un punto indicado visualmente (310) y la información de medición.
7. Un método como en cualquiera de las reivindicaciones anteriores, que comprende además resolver una inconsistencia entre el punto capturado al menos un punto indicado visualmente (310) y la información de medición.
8. Un método como en cualquiera de las reivindicaciones anteriores, que comprende además representar una representación virtual del dispositivo de control del usuario (130), en el que la representación virtual del dispositivo de control del usuario (130) refleja una correspondencia con la posición y orientación del dispositivo de control del usuario en el espacio físico con relación al del espacio gráfico.
9. Un método como en cualquiera de las reivindicaciones anteriores, en el que el dispositivo de control del usuario (130) es un lápiz óptico con un factor de forma de agarre tipo lápiz.
10. Un método como en cualquiera de las reivindicaciones anteriores, en el que el al menos un punto visualmente indicado (310) incluye un primer y un segundo puntos visualmente no adyacentes (310) del dispositivo de control del usuario (130).
11. Un sistema que implementa el método de cualquiera de las reivindicaciones 1-10.
12. Un medio de memoria legible por ordenador que contiene instrucciones del programa, en el que las instrucciones del programa son ejecutables por ordenador para implementar el método de cualquiera de las reivindicaciones 1-10.
ES11850825T 2010-12-22 2011-12-21 Seguimiento tridimensional de un dispositivo de control del usuario en un volumen Active ES2768033T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201061426448P 2010-12-22 2010-12-22
PCT/US2011/066519 WO2012088285A2 (en) 2010-12-22 2011-12-21 Three-dimensional tracking of a user control device in a volume

Publications (1)

Publication Number Publication Date
ES2768033T3 true ES2768033T3 (es) 2020-06-19

Family

ID=46314889

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11850825T Active ES2768033T3 (es) 2010-12-22 2011-12-21 Seguimiento tridimensional de un dispositivo de control del usuario en un volumen

Country Status (6)

Country Link
US (4) US8970625B2 (es)
EP (2) EP3584682B1 (es)
CN (2) CN103443746B (es)
DK (1) DK2656181T3 (es)
ES (1) ES2768033T3 (es)
WO (1) WO2012088285A2 (es)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI408948B (zh) * 2010-08-16 2013-09-11 Wistron Corp 根據不同視角播放相對應之立體影像之方法及其相關影像處理系統
EP3584682B1 (en) * 2010-12-22 2021-06-30 zSpace, Inc. Three-dimensional tracking of a user control device in a volume
JP5766479B2 (ja) * 2011-03-25 2015-08-19 京セラ株式会社 電子機器、制御方法および制御プログラム
JP2012256110A (ja) * 2011-06-07 2012-12-27 Sony Corp 情報処理装置、情報処理方法およびプログラム
US10067568B2 (en) * 2012-02-28 2018-09-04 Qualcomm Incorporated Augmented reality writing system and method thereof
US8988341B2 (en) * 2012-06-08 2015-03-24 Apple Inc. Camera-assisted motion estimation for application control
TWI458530B (zh) * 2012-08-20 2014-11-01 Au Optronics Corp 娛樂顯示系統及其互動式立體顯示方法
ITTO20130202A1 (it) * 2013-03-15 2014-09-16 Torino Politecnico Dispositivo e sistema di scansione tridimensionale, e relativo metodo.
TWI502459B (zh) * 2013-07-08 2015-10-01 Acer Inc 電子裝置及其觸控操作方法
CN103402106B (zh) * 2013-07-25 2016-01-06 青岛海信电器股份有限公司 三维图像显示方法及装置
KR102089469B1 (ko) * 2013-09-05 2020-03-16 현대모비스 주식회사 Avn 시스템의 원격 제어 장치 및 방법
TWI671657B (zh) 2013-09-18 2019-09-11 日商半導體能源研究所股份有限公司 顯示裝置、顯示裝置的驅動方法、程式以及儲存介質
US9591295B2 (en) * 2013-09-24 2017-03-07 Amazon Technologies, Inc. Approaches for simulating three-dimensional views
US9437038B1 (en) 2013-09-26 2016-09-06 Amazon Technologies, Inc. Simulating three-dimensional views using depth relationships among planes of content
US9658688B2 (en) * 2013-10-15 2017-05-23 Microsoft Technology Licensing, Llc Automatic view adjustment
US10652525B2 (en) 2013-10-31 2020-05-12 3Di Llc Quad view display system
US9986228B2 (en) 2016-03-24 2018-05-29 3Di Llc Trackable glasses system that provides multiple views of a shared display
US9883173B2 (en) 2013-12-25 2018-01-30 3Di Llc Stereoscopic display
US11343487B2 (en) 2013-10-31 2022-05-24 David Woods Trackable glasses system for perspective views of a display
US10116914B2 (en) 2013-10-31 2018-10-30 3Di Llc Stereoscopic display
US9477330B2 (en) * 2013-11-05 2016-10-25 Microsoft Technology Licensing, Llc Stylus tilt tracking with a digitizer
US9367086B2 (en) * 2013-12-10 2016-06-14 Atmel Corporation Smart watch with adaptive touch screen
TWI509474B (zh) * 2014-05-01 2015-11-21 Quanta Comp Inc 觸控筆
GB201410612D0 (en) * 2014-06-13 2014-07-30 Tomtom Int Bv Methods and systems for generating route data
US9652031B1 (en) * 2014-06-17 2017-05-16 Amazon Technologies, Inc. Trust shifting for user position detection
US20160026264A1 (en) * 2014-07-24 2016-01-28 Amchael Visual Technology Corporation Direct three-dimensional pointing using light tracking and relative position detection
US20170220133A1 (en) * 2014-07-31 2017-08-03 Hewlett-Packard Development Company, L.P. Accurately positioning instruments
EP3177983B1 (en) 2014-08-05 2020-09-30 Hewlett-Packard Development Company, L.P. Determining a position of an input object
CN204480228U (zh) 2014-08-08 2015-07-15 厉动公司 运动感测和成像设备
KR102197536B1 (ko) * 2014-08-18 2020-12-31 엘지디스플레이 주식회사 이동 플리커가 감소된 입체영상 표시장치
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
CN106162152A (zh) * 2015-03-30 2016-11-23 联想(北京)有限公司 一种显示方法及电子设备
EP3093614B1 (en) 2015-05-15 2023-02-22 Tata Consultancy Services Limited System and method for estimating three-dimensional measurements of physical objects
US10630965B2 (en) * 2015-10-02 2020-04-21 Microsoft Technology Licensing, Llc Calibrating a near-eye display
US9740307B2 (en) * 2016-01-08 2017-08-22 Movea Processing unit, computer program amd method to control a cursor on a screen according to an orientation of a pointing device
GB2548341A (en) * 2016-03-10 2017-09-20 Moog Bv Movement tracking and simulation device and method
US10317989B2 (en) 2016-03-13 2019-06-11 Logitech Europe S.A. Transition between virtual and augmented reality
US10691880B2 (en) * 2016-03-29 2020-06-23 Microsoft Technology Licensing, Llc Ink in an electronic document
EP3443735A4 (en) 2016-04-12 2019-12-11 Quidient, LLC RECONSTRUCTION MACHINE FOR EVERYDAY SCENES
CN106021922A (zh) * 2016-05-18 2016-10-12 妙智科技(深圳)有限公司 三维医学影像控制设备、方法和系统
US9965051B2 (en) 2016-06-29 2018-05-08 Microsoft Technology Licensing, Llc Input device tracking
US10019849B2 (en) * 2016-07-29 2018-07-10 Zspace, Inc. Personal electronic device with a display system
CN106373192B (zh) * 2016-09-07 2019-03-26 成都理工大学 一种非拓扑一致性三维网格块体追踪算法
US10720082B1 (en) 2016-09-08 2020-07-21 Ctskh, Llc Device and system to teach stem lessons using hands-on learning method
WO2018102615A1 (en) * 2016-11-30 2018-06-07 Logitech Europe S.A. A system for importing user interface devices into virtual/augmented reality
US10754417B2 (en) 2016-11-14 2020-08-25 Logitech Europe S.A. Systems and methods for operating an input device in an augmented/virtual reality environment
US10271043B2 (en) 2016-11-18 2019-04-23 Zspace, Inc. 3D user interface—360-degree visualization of 2D webpage content
US11003305B2 (en) 2016-11-18 2021-05-11 Zspace, Inc. 3D user interface
US10127715B2 (en) * 2016-11-18 2018-11-13 Zspace, Inc. 3D user interface—non-native stereoscopic image conversion
US10437343B2 (en) 2017-01-06 2019-10-08 Samsung Electronics Co., Ltd. Augmented reality control of internet of things devices
US10410422B2 (en) 2017-01-09 2019-09-10 Samsung Electronics Co., Ltd. System and method for augmented reality control
US10572063B2 (en) 2017-01-09 2020-02-25 Microsoft Technology Licensing, Llc Position, tilt, and twist detection for stylus
WO2018144034A1 (en) 2017-02-06 2018-08-09 Hewlett-Packard Development Company, L.P. Digital pen to adjust a 3d object
US10635195B2 (en) 2017-02-28 2020-04-28 International Business Machines Corporation Controlling displayed content using stylus rotation
US10645370B2 (en) * 2017-04-27 2020-05-05 Google Llc Synthetic stereoscopic content capture
JP6856914B2 (ja) * 2017-07-18 2021-04-14 ハンジョウ タロ ポジショニング テクノロジー カンパニー リミテッドHangzhou Taro Positioning Technology Co.,Ltd. インテリジェントな物体追跡
US10540023B2 (en) * 2017-09-26 2020-01-21 Yong Bum Kim User interface devices for virtual reality system
US10509489B2 (en) * 2017-09-26 2019-12-17 Yong Bum Kim Systems and related methods for facilitating pen input in a virtual reality environment
CN107608541B (zh) * 2017-10-17 2021-03-05 宁波视睿迪光电有限公司 三维姿态定位方法、装置及电子设备
EP3474120B1 (de) * 2017-10-18 2024-03-20 AR Technology GmbH Eingabevorrichtung für computer
US10936089B2 (en) 2017-11-08 2021-03-02 Hewlett-Packard Development Company, L.P. Determining locations of electro-optical pens
CN107911686B (zh) * 2017-12-29 2019-07-05 盎锐(上海)信息科技有限公司 控制方法以及摄像终端
WO2019135634A1 (en) 2018-01-05 2019-07-11 Samsung Electronics Co., Ltd. Method and apparatus to navigate a virtual content displayed by a virtual reality (vr) device
CN108379780B (zh) * 2018-03-13 2020-06-02 北京小米移动软件有限公司 虚拟跑步场景控制方法和装置、跑步机
WO2019213450A1 (en) 2018-05-02 2019-11-07 Quidient, Llc A codec for processing scenes of almost unlimited detail
US20190369752A1 (en) * 2018-05-30 2019-12-05 Oculus Vr, Llc Styluses, head-mounted display systems, and related methods
CN108958483A (zh) * 2018-06-29 2018-12-07 深圳市未来感知科技有限公司 基于交互笔的刚体定位方法、装置、终端设备及存储介质
US20200089335A1 (en) * 2018-09-19 2020-03-19 XRSpace CO., LTD. Tracking Method and Tracking System Using the Same
CN109445620B (zh) * 2018-11-13 2021-10-01 宁波视睿迪光电有限公司 一种交互笔自动识别方法
US11288733B2 (en) * 2018-11-14 2022-03-29 Mastercard International Incorporated Interactive 3D image projection systems and methods
CN109960404B (zh) * 2019-02-15 2020-12-18 联想(北京)有限公司 一种数据处理方法及装置
US11334174B2 (en) 2019-07-18 2022-05-17 Eyal Shlomot Universal pointing and interacting device
EP4189530A1 (en) * 2020-07-25 2023-06-07 Silver Spoon Animation Inc. System and method for populating a virtual crowd in real-time using augmented and virtual reality
US11327571B2 (en) * 2020-09-12 2022-05-10 Darrion Vinh Nguyen Method and apparatus for computer-assisted drawing using pens with tracking marks
US20220395724A1 (en) * 2021-06-09 2022-12-15 Huawei Technologies Co., Ltd. Method and apparatus for flexible local tracking
DE102022111845B3 (de) 2022-05-11 2023-08-03 Stabilo International Gmbh Kalibrierhilfe
US11995226B2 (en) * 2022-06-10 2024-05-28 Sony Interactive Entertainment Inc. Dynamic vision sensor tracking based on light source occlusion
US20230410435A1 (en) * 2022-06-20 2023-12-21 International Business Machines Corporation Contextual positioning in virtual space

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3983474A (en) 1975-02-21 1976-09-28 Polhemus Navigation Sciences, Inc. Tracking and determining orientation of object using coordinate transformation means, system and process
US4945305A (en) 1986-10-09 1990-07-31 Ascension Technology Corporation Device for quantitatively measuring the relative position and orientation of two bodies in the presence of metals utilizing direct current magnetic fields
US5742394A (en) 1996-06-14 1998-04-21 Ascension Technology Corporation Optical 6D measurement system with two fan shaped beams rotating around one axis
JP2000102036A (ja) * 1998-09-22 2000-04-07 Mr System Kenkyusho:Kk 複合現実感提示システム、複合現実感提示方法、マン・マシーンインタフェース装置、およびマン・マシーンインタフェース方法
US6417839B1 (en) 1999-05-20 2002-07-09 Ascension Technology Corporation System for position and orientation determination of a point in space using scanning laser beams
JP3530772B2 (ja) 1999-06-11 2004-05-24 キヤノン株式会社 複合現実感装置及び複合現実空間画像の生成方法
US6246231B1 (en) 1999-07-29 2001-06-12 Ascension Technology Corporation Magnetic field permeable barrier for magnetic position measurement system
US7000469B2 (en) 2000-04-21 2006-02-21 Intersense, Inc. Motion-tracking
JP2002082751A (ja) 2000-09-08 2002-03-22 Mitsubishi Electric Corp 仮想空間とのインタラクション装置およびこれを応用した仮想空間システム
US6982697B2 (en) 2002-02-07 2006-01-03 Microsoft Corporation System and process for selecting objects in a ubiquitous computing environment
US6990639B2 (en) * 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
JP4007899B2 (ja) * 2002-11-07 2007-11-14 オリンパス株式会社 運動検出装置
CN100416336C (zh) * 2003-06-12 2008-09-03 美国西门子医疗解决公司 校准真实和虚拟视图
US8287373B2 (en) 2008-12-05 2012-10-16 Sony Computer Entertainment Inc. Control device for communicating visual information
US10279254B2 (en) 2005-10-26 2019-05-07 Sony Interactive Entertainment Inc. Controller having visually trackable object for interfacing with a gaming system
US7161686B2 (en) 2003-11-13 2007-01-09 Ascension Technology Corporation Sensor for determining the angular position of a radiating point source in two dimensions and method of operation
JP2005157610A (ja) 2003-11-25 2005-06-16 Canon Inc 画像処理装置および方法
US7961909B2 (en) * 2006-03-08 2011-06-14 Electronic Scripting Products, Inc. Computer interface employing a manipulated object with absolute pose detection component and a display
CN101065783A (zh) 2004-04-05 2007-10-31 迈克尔·A·韦塞利 水平透视显示
EP1781893A1 (en) * 2004-06-01 2007-05-09 Michael A. Vesely Horizontal perspective simulator
US7312863B2 (en) 2004-12-23 2007-12-25 Matthew Feinsod Motion-compensating light-emitting apparatus
US8427426B2 (en) * 2005-05-27 2013-04-23 Sony Computer Entertainment Inc. Remote input device
US8870655B2 (en) 2005-08-24 2014-10-28 Nintendo Co., Ltd. Wireless game controllers
US8625854B2 (en) 2005-09-09 2014-01-07 Industrial Research Limited 3D scene scanner and a position and orientation system
US7835785B2 (en) 2005-10-04 2010-11-16 Ascension Technology Corporation DC magnetic-based position and orientation monitoring system for tracking medical instruments
JP2008219788A (ja) * 2007-03-07 2008-09-18 Toshiba Corp 立体画像表示装置、方法およびプログラム
US20100105479A1 (en) * 2008-10-23 2010-04-29 Microsoft Corporation Determining orientation in an external reference frame
US20100123659A1 (en) 2008-11-19 2010-05-20 Microsoft Corporation In-air cursor control
EP2368168B1 (en) * 2008-11-21 2018-07-11 London Health Sciences Centre Research Inc. Hands-free pointer system
CN101900929A (zh) * 2009-05-26 2010-12-01 介面光电股份有限公司 具有立体影像显示与触控的数字影像采集装置
US8819591B2 (en) * 2009-10-30 2014-08-26 Accuray Incorporated Treatment planning in a virtual environment
US8854298B2 (en) * 2010-10-12 2014-10-07 Sony Computer Entertainment Inc. System for enabling a handheld device to capture video of an interactive application
KR20120045411A (ko) 2010-10-29 2012-05-09 연세대학교 산학협력단 스피넬형 리튬 티타늄 산화물/그래핀 복합체 및 그 제조방법
US9019239B2 (en) * 2010-11-29 2015-04-28 Northrop Grumman Systems Corporation Creative design systems and methods
EP3584682B1 (en) * 2010-12-22 2021-06-30 zSpace, Inc. Three-dimensional tracking of a user control device in a volume

Also Published As

Publication number Publication date
EP2656181B1 (en) 2019-10-30
EP3584682B1 (en) 2021-06-30
EP3584682A1 (en) 2019-12-25
WO2012088285A3 (en) 2012-10-26
CN106774880B (zh) 2020-02-21
US20160026361A1 (en) 2016-01-28
CN103443746B (zh) 2017-04-19
CN103443746A (zh) 2013-12-11
DK2656181T3 (da) 2020-01-13
US20150169173A1 (en) 2015-06-18
WO2012088285A2 (en) 2012-06-28
EP2656181A2 (en) 2013-10-30
US8970625B2 (en) 2015-03-03
CN106774880A (zh) 2017-05-31
US20160026362A1 (en) 2016-01-28
US20120162214A1 (en) 2012-06-28
US9201568B2 (en) 2015-12-01
EP2656181A4 (en) 2017-04-26

Similar Documents

Publication Publication Date Title
ES2768033T3 (es) Seguimiento tridimensional de un dispositivo de control del usuario en un volumen
CN109313500B (zh) 纤细形状因子的无源光学和惯性跟踪
US10818092B2 (en) Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking
US10146335B2 (en) Modular extension of inertial controller for six DOF mixed reality input
TWI722280B (zh) 用於多個自由度之控制器追蹤
US20190272674A1 (en) Information handling system augmented reality through a virtual object anchor
US9354718B2 (en) Tightly coupled interactive stereo display
US10739936B2 (en) Zero parallax drawing within a three dimensional display
TW201508552A (zh) 透過深度相機的眼動追蹤
US9106903B2 (en) Head tracking eyewear system
US10559131B2 (en) Mediated reality
ES2812851T3 (es) Dispositivo de previsualización
Prima et al. A Pointing Device for 3D Interactive Spherical Displays
CN115861412A (zh) 基于检测到的空间特征的定位
ES2391112B2 (es) Sistema de proyeccion espacial de realidad aumentada fijado a la cabeza
BR102013008631A2 (pt) sistema e método para controlar magneticamente interfaces digitais tridimensionais esteroscópicas