ES2984065T3 - Dispositivos, sistemas y métodos para presentación de vídeo autorretardada - Google Patents

Dispositivos, sistemas y métodos para presentación de vídeo autorretardada Download PDF

Info

Publication number
ES2984065T3
ES2984065T3 ES16735516T ES16735516T ES2984065T3 ES 2984065 T3 ES2984065 T3 ES 2984065T3 ES 16735516 T ES16735516 T ES 16735516T ES 16735516 T ES16735516 T ES 16735516T ES 2984065 T3 ES2984065 T3 ES 2984065T3
Authority
ES
Spain
Prior art keywords
user
video
time
mirror
real
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
ES16735516T
Other languages
English (en)
Inventor
Ofer Saban
Nissi Vilcovsky
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.)
EyesMatch Ltd Virgin Islands
Original Assignee
EyesMatch Ltd Virgin Islands
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EyesMatch Ltd Virgin Islands filed Critical EyesMatch Ltd Virgin Islands
Application granted granted Critical
Publication of ES2984065T3 publication Critical patent/ES2984065T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/2625Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for delaying content or additional data distribution, e.g. because of an extended sport event
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Un método implementado por computadora para la presentación automática de video retardado. Durante el funcionamiento normal, la señal de video en tiempo real se envía a una pantalla digital para su presentación y también se envía a la memoria para su almacenamiento. Cuando se emite un disparador de retardo, el sistema congela el cuadro presentado en esa instancia o almacena un indicador de tiempo. El sistema luego monitorea el tiempo de retardo y, cuando se alcanza el tiempo de retardo, el sistema comienza a buscar cuadros de la memoria, comenzando ya sea desde el cuadro inmediatamente posterior al cuadro congelado o desde el cuadro que se almacenó en el indicador de tiempo, y envía estos cuadros a la pantalla digital para su presentación. El sistema luego monitorea el período de retardo y, cuando llega el período de retardo, el sistema vuelve al modo normal en el que la señal de video en tiempo real se envía a una pantalla digital para su presentación y también se envía a la memoria para su almacenamiento. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Dispositivos, sistemas y métodos para presentación de vídeo autorretardada
La invención se refiere a un método implementado por ordenador para hacer funcionar un sistema que tiene un monitor, una cámara, y un procesador, para visualizar secuencialmente un flujo de vídeo en tiempo real y un flujo de vídeo retardado en el monitor para proporcionar a un usuario una experiencia mejorada de una sesión de visualización.
El espejo convencional (es decir, superficie reflectante) es la herramienta común y más fiable para que un individuo explore su propio aspecto real, en tiempo real. Se han propuesto unas pocas alternativas referentes a la combinación de una cámara y una pantalla para sustituir al espejo convencional. Sin embargo, estas técnicas no son convincentes y aún no se aceptan como imagen fiable del individuo como si se estuviera mirando a sí mismo en un espejo convencional. Esto se debe principalmente a que la imagen generada por una cámara es muy diferente de una imagen generada por un espejo.
En la solicitud de patente estadounidense 13/843.001, se propone una tecnología novedosa (método informatizado) para abordar las dificultades de convertir y transformar una imagen instantánea o vídeo en 2D/3D creado mediante una o más cámaras, con o sin otros sensores, en una experiencia de espejo o conferencia de vídeo.
El documento US 2008/079820 A1 divulga un aparato de espejo electrónicamente retardado. el aparato está adaptado para capturar una grabación visual de una persona, y visualizar dicha grabación de una manera desviada en el tiempo con respecto a dicha captura. El aparato comprende un detector de imágenes, un dispositivo de almacenamiento para almacenar la grabación visual, un dispositivo de visualización para visualizar la grabación visual, en el que el dispositivo de visualización y el detector de imágenes están ambos dirigidos hacia el sujeto que va a grabarse visualmente, y un dispositivo de retardo en el tiempo para establecer la desviación en el tiempo. El documento US 2007/040033 A1 proporciona un sistema de espejo digital que emula un espejo tradicional visualizando imágenes de vídeo en tiempo real de un usuario que está delante del mismo. El sistema de espejo digital proporciona una pluralidad de modos de espejo digital, incluyendo un modo de espejo tradicional y un modo de espejo en tercera persona. El sistema de espejo digital proporciona una pluralidad de características de espejo digital incluyendo una característica de congelación de imagen, una característica de aumento de imagen, y una característica de almacenamiento en memoria intermedia de imagen. El sistema de espejo digital proporciona una pluralidad de estados de funcionamiento incluyendo un estado de espejo digital y un estado alternativo, incluyendo el estado alternativo un estado de conservación de energía y/o un estado de tramas de imágenes digitales. El sistema de espejo digital proporciona un sensor de usuario que pasa automáticamente entre estados de funcionamiento en respuesta a si se detecta o no un usuario delante de la pantalla de visualización de espejo digital durante un periodo de tiempo. El sistema de espejo digital proporciona control de usuario en manos libres usando reconocimiento de voz, empleándose el reconocimiento de voz para permitir que un usuario acceda de manera selectiva a uno o más de los modos de espejo digital o características en respuesta a comandos verbales asociados en relación con esos modos o características.
El problema técnico objetivo es proporcionar un método para la presentación automática de vídeo retardado en el que el usuario sea capaz de centrarse en un movimiento tal como un golpe de golf, un movimiento de baile o el aspecto de un vestido, y, cuando se completa el movimiento, el usuario simplemente tiene que mirar a la pantalla y ver una “reproducción instantánea” automática del movimiento en el que el control del método pueda realizarse sin interferir con el flujo de presentación del movimiento mediante acciones de entrada de usuario.
Este problema técnico objetivo se logra mediante el método implementado por ordenador según las reivindicaciones independientes 1 y 2.
Esta divulgación se refiere a una técnica informatizada que toma un vídeo en tiempo real y permite la presentación automática de vídeo retardado. Una característica de este tipo resulta beneficiosa en diversas situaciones, tales como cuando el sistema se implementa como un espejo digital y el usuario desea realizar una sesión de prueba para probarse artículos de ropa y ver cómo le queda desde todas las direcciones, incluyendo desde atrás. Usando un espejo convencional, un usuario no puede ver cómo se ve el artículo de ropa desde atrás. Usar esta técnica en un espejo digital permite que una persona vea el artículo en 360 grados.
En otra implementación, el sistema puede usarse con propósitos de entrenamiento. Por ejemplo, cuando un bailarín quiere ver cómo se ejecutó un movimiento particular o cuando un golfista quiere ver cómo se ejecutó un golpe. Usando una grabadora de vídeo convencional, el usuario tendrá que iniciar la grabación, ir y ejecutar el movimiento, luego volver a la grabadora, rebobinar y ver el vídeo grabado, lo cual interfiere con el flujo del entrenamiento. Por el contrario, usando las realizaciones divulgadas, el usuario es capaz de centrarse en el movimiento y, cuando se completa el movimiento, el usuario simplemente tiene que mirar a la pantalla y ver una “reproducción instantánea” automática del movimiento, sin interferir por tanto con el flujo del entrenamiento. Además, después de completarse la reproducción, el sistema vuelve automáticamente al modo normal, de modo que el usuario no tiene que interaccionar con la cámara en absoluto.
El factor desencadenante para entrar en el modo de retardo puede realizarse de muchas maneras, por ejemplo, proporcionando simplemente al usuario un botón para pulsar o hacer clic, o analizando el flujo de vídeo y, basándose en el análisis, emitiendo un factor desencadenante. El análisis puede buscar un movimiento específico por el usuario, por ejemplo, el usuario empieza a girar, o puede buscar un elemento específico en la imagen. Por ejemplo, si el sistema se usa para entrenamiento de golf, el análisis puede buscar un palo de golf que se levanta por encima de una altura previamente establecida, indicando que el usuario está ejecutando un golpe de golf.
En un aspecto, se describe un método implementado por ordenador para hacer funcionar un sistema que tiene un monitor, una cámara, y un procesador, para visualizar secuencialmente un flujo de vídeo en tiempo real y un flujo de vídeo retardado en el monitor para proporcionar a un usuario una experiencia mejorada de una sesión de visualización, que comprende: en un dispositivo que tiene el procesador y una memoria, almacenar un programa para su ejecución por el procesador, incluyendo el programa instrucciones para: en cada sesión, realizar las etapas de: obtener alimentación de vídeo en directo a partir de la cámara; simultáneamente enviar la alimentación de vídeo al monitor para visualizarse como flujo de vídeo en tiempo real y guardar la alimentación de vídeo como tramas en la memoria; tras recibir una indicación para presentar flujo de vídeo retardado, recuperar las tramas a partir de la memoria y enviarlas al monitor para su visualización como flujo de vídeo retardado, empezando desde una trama que estaba almacenada N segundos previamente establecidos antes de recibir la indicación, y, después de recuperar una serie de tramas que abarcan un ajuste previamente establecido de M segundos, detener la recuperación y volver a enviar la alimentación de vídeo al monitor para su visualización como flujo de vídeo en tiempo real.
Según la invención, se proporciona un método implementado por ordenador para hacer funcionar un sistema que tiene un monitor, una cámara, y un procesador, para visualizar secuencialmente un flujo de vídeo en tiempo real y un flujo de vídeo retardado en el monitor para proporcionar a un usuario una experiencia mejorada de una sesión de visualización, que comprende: establecer un tiempo de retardo de N segundos; establecer un retardo de grabación de M segundos; obtener alimentación de vídeo en directo a partir de la cámara; simultáneamente enviar la alimentación de vídeo al monitor para visualizarse como flujo de vídeo en tiempo real y guardar la alimentación de vídeo como tramas en la memoria; tras recibir un factor desencadenante, realizar: indicar una trama almacenada en el tiempo del factor desencadenante como primera trama; contar N segundos y después recuperar las tramas a partir de la memoria y enviarlas al monitor para su visualización como flujo de vídeo retardado, empezando desde la primera trama; después de recuperar una serie de tramas durante M segundos, detener la recuperación y volver a enviar la alimentación de vídeo al monitor para su visualización como flujo de vídeo en tiempo real.
Según aún otros aspectos, se proporciona un método implementado por ordenador para la presentación automática de vídeo retardado, que comprende: durante el modo de funcionamiento normal enviar vídeo en tiempo real desde una cámara hasta una pantalla digital para su presentación y simultáneamente enviar el vídeo en tiempo real a memoria para su almacenamiento; cuando se emite un factor desencadenante de retardo entrar en modo de retardo y realizar uno de: congelar una trama que está presentándose en un caso en el que se emitió el factor desencadenante pero continuar enviando el vídeo en tiempo real a memoria para su almacenamiento o, almacenar un indicador de tiempo que representa el momento en el que se emitió el factor desencadenante pero continuar enviando vídeo en tiempo real desde una cámara hasta una pantalla digital para su presentación y simultáneamente enviar el vídeo en tiempo real a memoria para su almacenamiento; monitorizar un tiempo de retardo y, cuando se alcanza el tiempo de retardo, empezar a recuperar tramas a partir de la memoria, empezando o bien desde una trama que sigue inmediatamente a la trama congelada o bien desde una trama que se almacenó en el indicador de tiempo, y enviar estas tramas a la pantalla digital para su presentación; monitorizar un periodo de retardo y, cuando se alcanza el periodo de retardo, volver al modo normal en el que se envía la alimentación de vídeo en tiempo real a la pantalla digital para su presentación y también se envía a la memoria para su almacenamiento.
En el método, el factor desencadenante de retardo puede generarse analizando continuamente la alimentación de vídeo y emitiendo el factor desencadenante de retardo cuando se determina que el usuario está realizando un movimiento desencadenante. El factor desencadenante de retardo también puede generarse analizando continuamente la alimentación de vídeo y emitiendo el factor desencadenante de retardo cuando se determina que un objeto en la imagen se ha movido una distancia prescrita. El factor desencadenante de retardo puede generarse además analizando continuamente la alimentación de vídeo y emitiendo la indicación cuando se determina que un usuario ha entrado en el campo de visión de la cámara. El factor desencadenante de retardo puede generarse por al pulsar o hacer clic el usuario en un botón desencadenante. El método puede comprender además: voltear cada trama de la alimentación de vídeo alrededor de un eje vertical para invertir los lados derecho e izquierdo de la imagen; y aplicar un mapeo de transformación a cada trama de la alimentación de vídeo para modificar las tramas de tal manera que parecen imitar un reflejo de un espejo, para obtener de ese modo tramas transformadas. El método puede comprender además permitir que el usuario interrumpa la reproducción del vídeo retardado. La longitud del periodo de retardo puede configurarse para ser suficiente tiempo como para permitir que el usuario se dé la vuelta. El método puede comprender además superponer gráficos sobre el vídeo en tiempo real durante el periodo del tiempo de retardo. El programa puede comprender además instrucciones para generar una máscara de modelo para permitir cambiar un color del artículo de ropa. La máscara de modelo puede comprender una pluralidad de capas, que tienen al menos capa de color y capas de textura. El programa puede comprender además instrucciones para generar una pantalla dividida en el monitor y visualizar el vídeo en tiempo real en un lado de la pantalla y reproducir los vídeos retardados en la otra mitad.
En realizaciones adicionales, se divulgan el aspecto y diseño mecánico del producto, para mejorar la capacidad de uso y funcionalidad y la experiencia global del usuario. El sistema comprende: un cerramiento configurado para alojar en el mismo un procesador, teniendo el cerramiento una extensión; un alojamiento de sensor óptico acoplado a la extensión; un procesador alojado dentro del cerramiento, comprendiendo el procesador una memoria y un motor de vídeo y teniendo una salida configurada para enviar imágenes digitales a una pantalla digital; un sensor óptico alojado dentro del alojamiento de sensor óptico y que tiene medios para enviar imágenes al procesador; y un mecanismo de conexión configurado para conectar el cerramiento a una parte trasera de una pantalla digital.
Según aspectos adicionales, puede almacenarse un programa en el sistema que, cuando se ejecuta por el procesador, hace que el sistema visualice una imagen de imitación de espejo en el monitor y/o realice una presentación en modo de retardo automática tal como se describe en diversas realizaciones en el presente documento.
También se describe en el presente documento un medio de almacenamiento legible por ordenador no transitorio para hacer funcionar un monitor, una cámara, y un procesador, para visualizar un fragmento de vídeo retardado en el monitor. En determinadas realizaciones, en un dispositivo que tiene el procesador y una memoria que almacena un programa para su ejecución por el procesador, el programa incluye instrucciones para funcionar en modo normal y modo de retardo en el que, en un modo normal, el programa incluye instrucciones para recibir un flujo de vídeo en tiempo real a partir de la cámara y enviar el flujo de vídeo en tiempo real tanto para visualizarse en la pantalla como para almacenarse en la memoria; y, tras entrar en, modo de retardo, realizar: indicar un tiempo de desencadenamiento en el momento de recibir el factor desencadenante; contar N segundos desde el tiempo de desencadenamiento y después recuperar las tramas a partir de la memoria y enviarlas al monitor para su visualización como flujo de vídeo retardado, empezando desde una trama que almacenó en el tiempo de desencadenamiento, y simultáneamente continuar almacenando el flujo de vídeo en la memoria; después de recuperar una serie de tramas durante M segundos, detener la recuperación y volver a enviar la alimentación de vídeo al monitor para su visualización como flujo de vídeo en tiempo real. En determinadas realizaciones, el programa incluye instrucciones para un modo de imitación de espejo para visualizar la imagen de imitación de espejo en el monitor.
También se describe en el presente documento un sistema informático para hacer funcionar un monitor, una cámara, y un procesador, para visualizar una imagen de imitación de espejo en el monitor. El sistema informático incluye, en un dispositivo que tiene el procesador y una memoria que almacena un programa para su ejecución por el procesador, incluyendo el programa instrucciones para detectar un usuario, iniciar un modo de retardo para visualizar automáticamente un fragmento de vídeo retardado en el monitor y volver a vídeo en tiempo real al terminarse la presentación del fragmento retardado. El programa también puede incluir instrucciones para realizar la captación de tramas de una imagen capturada por la cámara, realizar selección de elemento para obtener un elemento seleccionado a partir de la trama, generar una máscara correspondiente al elemento seleccionado, seleccionar un nuevo color, aplicar la máscara al nuevo color para generar una nueva imagen, y visualizar la nueva imagen en el monitor. Es decir, el modo de retardo descrito en el presente documento puede implementarse con o sin las demás características descritas en el presente documento, tales como conversión en espejo del vídeo, aplicación de máscaras y cambio de colores, determinación de IMC, etc.
Los dibujos adjuntos, que se incorporan en esta memoria descriptiva, ilustran una o más realizaciones a modo de ejemplo divulgadas en el presente documento y, junto con la descripción detallada, sirven para explicar los principios e implementaciones a modo de ejemplo.
En los dibujos, en los que números de referencia iguales se refieren a una referencia igual en la memoria descriptiva:
la figura 1 ilustra un diagrama de bloques de sistema para una plataforma de realidad aumentada que soporta un vídeo/imagen grabado o en tiempo real;
la figura 2 ilustra un ejemplo de un módulo de realidad aumentada, que puede corresponder al módulo de realidad aumentada descrito en el presente documento;
la figura 3 ilustra un módulo de realidad aumentada que puede sustituir una parte del cuerpo, color, orientación y textura de un artículo u objeto en el primer plano o fondo de la imagen, por ejemplo, el módulo puede añadir pelo al usuario, cambiar el color de pelo, piel y ojos del usuario, puede cambiar la postura de los ojos y similares; y la figura 4 ilustra métodos informáticos para crear un modelo para intercambio de color y textura, que puede denominarse colograma;
la figura 5 representa métodos informáticos para crear un modelo para intercambio de color y textura, que puede denominarse colograma;
la figura 6 es un ejemplo de una aplicación de sistema de seguridad para aprendizaje y autenticación de usuario de múltiples niveles;
la figura 7 representa un ejemplo de una aplicación de sistema de seguridad para manipulación de cámaras en paralelo o en banda;
la figura 8a representa una experiencia de espejo compartido en una conferencia de vídeo/voz;
la figura 8b representa compartir una conferencia de vídeo de cuerpo completo;
la figura 8c representa múltiples espejos/estaciones de cuerpo completo con pantalla dividida o múltiples pantallas; la figura 9 se refiere a un ejemplo de una entrada en 2D a un generador de modelo, en el que se desea crear un modelo de la camisa del usuario;
la figura 10 es un ejemplo de un modelo en 2D de la camisa superior;
la figura 11 es un esquema que ilustra la clasificación de tipos corporales masculinos;
la figura 12 es un esquema que ilustra la clasificación de tipos corporales femeninos;
la figura 13 representa un ejemplo del resultado de procedimientos adicionales que eliminan la mano del cuerpo y apuntan a diferentes intervalos de dónde mirar para medidas de cuerpo particulares;
las figuras 14, 15 y 16 representan ejemplos de un flujo de interfaz de usuario de espejo virtual (Ul) que puede secuenciarse junto para simular una experiencia de espejo;
la figura 17 representa una realización de un flujo de uso sugerido;
la figura 18 representa una realización de un flujo de uso sugerido para modo de retardo;
la figura 19 representa una realización de una GUI para modo de retardo;
la figura 20 representa una realización de un sistema de espejo digital para conmutación automática implementada de modos inactivo, en tiempo real y de retardo;
la figura 21 representa una realización de una unidad completamente autónoma que puede conectarse a la parte trasera de cualquier pantalla de TV y convertir la pantalla de TV en un espejo digital;
la figura 22 es una vista lateral de la unidad de la figura 21, mostrada conectada a la parte trasera de una TV; las figuras 23 y 24 ilustran diagramas de flujo de procedimientos que pueden implementarse mediante cualquiera de las realizaciones divulgadas en el presente documento para permitir una visualización automática de vídeo retardado.
Las siguientes realizaciones no son según la invención y se presentan únicamente con propósitos de ilustración. Las siguientes realizaciones resuelven problemas relacionados con cambios de color, identificación de usuario de múltiples niveles y medidas corporales. Se proporciona una cámara calibrada virtual, capaz de proporcionar características de realidad aumentada, por ejemplo, color, textura, manipulación de forma de elementos del cuerpo o fondo en aplicaciones de espejo virtual o conferencia de vídeo. También es capaz de realizar medidas corporales, monitorización corporal para aplicaciones comerciales, de seguridad y de atención sanitaria.
Específicamente, una segmentación precisa de objetos y/o elementos de una imagen o vídeo es una de las mayores dificultades en el presente campo. Las técnicas conocidas para resolver este problema implican un claro compromiso entre precisión y velocidad. Antes de la presente invención, no hay ninguna solución satisfactoria al problema. El uso de una cámara de infrarrojos (IR) con medida de profundidad tridimensional (3D) es un enfoque en la industria; sin embargo, la calidad del enfoque es reducida. Por ejemplo, bordes, distorsión de imagen, y/o mala alineación de baja resolución entre las cámaras IR y regular evitan una segmentación satisfactoria y convincente. Las técnicas de separación cromática y de detección de borde son muy demandantes desde un punto de vista de recursos informáticos y no proporcionan un rendimiento sistemático. Algunas técnicas para extraer un usuario u objeto suponen, por ejemplo, un fondo verde que es fácil de distinguir, aunque no son aplicables en aplicaciones en las que no se dispone del fondo verde.
Una vez obtenido un modelo del artículo o artículos que van a manipularse, un segundo problema es crear un flujo de flujo de representación gráfica suave que actualice el modelo y lo represente gráficamente de manera suave de vuelta en el vídeo original o en otro vídeo de realidad aumentada con la nueva información. Las siguientes realizaciones divulgadas logran un flujo de representación gráfica suave relativamente rápido con alta calidad, de modo que la manipulación puede realizarse en tiempo real, en semi-tiempo real, o de manera relativamente rápida, dependiendo del requisito de la aplicación particular. Además, las realizaciones están adaptadas para manipular los artículos (color, textura, forma) en tiempo real, en una alimentación de flujo principal de cámara, o fuera de línea en vídeos grabados del usuario.
Basándose en el modelo, la máscara, y/o el canal alfa por cada objeto de un vídeo, se aprende el movimiento del usuario y pueden instalarse diferentes objetos para ajustarse o no ajustarse con la forma y conformación de objeto de una manera convincente. Las realizaciones divulgadas pueden distinguirse de técnicas anteriores, que intentan realizar todo de manera virtual. Las realizaciones pueden incluir la manipulación con una máscara para cubrir otros cambios tales como tela diferente, el cambio de la cara de un usuario, un cambio del tipo de cuerpo del usuario, eliminación de un usuario a partir de una imagen y similares.
Algunas realizaciones pueden incluir la identificación de usuario de múltiples niveles. Específicamente, las realizaciones pueden incluir mejora del reconocimiento facial, aprendizaje de usuario, y adaptación. Métodos conocidos de reconocimiento facial pueden usar algoritmos que pueden ser muy sensibles a la postura de la cara. En la presente técnica, puede crearse una experiencia suave de la postura de la cara para adaptarse a diferentes ubicaciones y ángulos de cámara.
Diversas realizaciones pueden incluir identificación de código, por ejemplo, código de reconocimiento rápido (QR), código de 1D, código oculto y similares. Las realizaciones pueden estar adaptadas para descubrir códigos desde una distancia relativamente larga con una imagen relativamente pequeña en comparación con la imagen que está proyectándose o con otra distorsión óptica. Además, puede incluir identificación inalámbrica, por ejemplo, NFC, banda ancha de WiFi, 3D de microondas, chip de red de acceso corporal (BAN) y similares. La identificación inalámbrica puede realizarse a partir de un dispositivo móvil, vidrio de reloj, microchip o cualquier otro microchip o dispositivo para llevar puesto. Otras técnicas de medida corporal pueden incluir huellas dactilares, identificación corporal, tipo de cuerpo, ojos, reconocimiento de palmas, correlación de rayos X, temperatura corporal, pulso corporal, tensión arterial y similares.
Otra característica divulgada es el reconocimiento de tela, que puede identificar los artículos y la ropa que lleva puesta el usuario. Por ejemplo, puede incluir un código oculto o información en el material textil.
Otras características y realizaciones pueden incluir: un escáner de microondas, en el que el sensor de microondas está integrado en la pantalla; características de medida corporal incluyendo, por ejemplo, detección de líneas corporales en 2D y 3D o generación de modelo/máscara en 2D/3D a partir de un vídeo; conclusión analítica a partir de las medidas, por ejemplo, tipo de cuerpo, origen, sexo, edad, talas sugeridas de ropa, dieta o tratamiento sugerido y similares; seguimiento de líneas corporales a lo largo del tiempo para diagnóstico, identificación de cambios, identificación de usuario, y similares.
Con respecto al hardware, diversas realizaciones pueden incluir cámaras individuales o múltiples de todos los tipos de sensores, incluyendo, pero sin limitarse a, CCD, CMOS, IR CMOS y similares, y protocolos de formato incluyendo HDMI, Firewire, USB, IP, HDbaseT inalámbrico y similares, y cualquier resolución disponible incluyendo<h>D, SIF regular, 4k, 8k y similares. El dispositivo de visualización puede incluir pantallas o pantallas virtuales individuales o múltiples, y pantallas regulares de cualquier tamaño, forma y proporción. El dispositivo de visualización puede incluir pantallas de tipo espejo, teléfonos inteligentes o tabletas, proyectores, hologramas, pantallas en 3D, dispositivo Google glass, dispositivo de visualización montado en la cabeza (HMD) de proyector, gafas (con capa oscura conmutable) y similares.
En las realizaciones divulgadas la cámara puede estar ubicada en cualquier parte. La mejor práctica es proporcionar la cámara por encima de la pantalla orientada hacia el usuario. Ubicaciones adicionales pueden incluir la parte inferior de la pantalla, los lados de la pantalla o detrás de la pantalla si la pantalla es una pantalla bidireccional. En el caso de 3D, pueden proporcionarse dos cámaras, por ejemplo, en la parte superior y una al lado de otra, lo cual puede proporcionar resultados superiores y facilitar el método informatizado. Además, pueden manipularse 3D a partir de una única cámara una vez que el usuario está moviéndose y/o rotando.
Las realizaciones pueden incluir un método informatizado para cubrir un cuerpo completo o un cuerpo parcial, y ajuste a escala diferente según la selección del usuario (por ejemplo, corrección de cabeza y/u ojos, dirección de vista/punto de vista y similares).
Cada una de las realizaciones anteriormente mencionadas puede proporcionarse sobre una imagen instantánea impresa en 2D/3D. Cada una de las realizaciones anteriormente mencionadas puede proporcionarse sobre una imagen instantánea digital en 2D/3D. Cada una de las realizaciones anteriormente mencionadas puede proporcionarse sobre vídeo analógico/digital que se grabó mediante una cámara analógica/digital. Cada una de las realizaciones anteriormente mencionadas puede proporcionarse sobre instantáneas de vídeo analógico/digital/óptico que se grabaron por un captador de tramas HDMI (o equivalente), IP, USB, Firewire (enlace cableado o inalámbrico) y similares. Cada una de las realizaciones anteriormente mencionadas puede proporcionarse sobre digital vídeo en tiempo real que puede suministrarse a un dispositivo informático sobre cualquier método de comunicación adecuado tal como USB, HDMI, IP cat-5/fibra, WLAN, Firewire, HDbaseT, cualquier combinación de los anteriores en un único cable o en múltiples cables. Cada una de las realizaciones anteriormente mencionadas puede proporcionarse cuando el dispositivo informático reside en la cámara, en la pantalla, en la nube, en un ordenador incluyendo una estación de trabajo, servidor y similares.
Cada una de las realizaciones anteriormente mencionadas puede proporcionarse cuando el dispositivo informático está distribuido entre los elementos del sistema, por ejemplo, el método informatizado puede residir parcialmente en la cámara, parcialmente en el elemento de adquisición de vídeo, parcialmente en la unidad de procesamiento de gráficos (GPU) de la pantalla, parcialmente en la nube, parcialmente en el dispositivo de teléfono inteligente del usuario o cualquier combinación adecuada de los mismos. Cada una de las realizaciones anteriormente mencionadas puede proporcionarse cuando el dispositivo informático reside en un teléfono inteligente, tableta, ordenador portátil, pantalla, cámara, HMD, dispositivo Google glass y similares.
Cada una de las realizaciones anteriormente mencionadas puede proporcionarse cuando el vídeo se procesa previamente para extraer un modelo en 3D de un artículo seleccionado, en el que la selección previa puede realizarse manualmente por el usuario o automáticamente aplicando reglas para la selección. La extracción de modelo puede realizarse localmente mediante DSP/CPU junto a la cámara, en la nube o en la aplicación del usuario en el dispositivo del usuario. Resulta más eficiente extraer el modelo en una GPU (unidad de procesamiento de gráficos) para un único objeto o una imagen instantánea; en este caso, una CPU regular puede ser suficiente.
Cada una de las realizaciones anteriormente mencionadas puede proporcionarse cuando está realizándose la representación gráfica de manera local en la estación de realidad aumentada, en la nube, o en el dispositivo móvil del usuario. La representación gráfica puede realizarse en la GPU para una única imagen o un vídeo muy corto; en estos casos, una CPU puede proporcionar un rendimiento suficiente.
Cada una de las realizaciones anteriormente mencionadas puede proporcionarse cuando se realizan técnicas de representación gráfica potenciadas para mejorar la calidad de vídeo, por ejemplo, interpolación del objeto y la imagen a una resolución superior y decimación tras la combinación para suavizar los bordes y eliminar un efecto de solapamiento. La presente invención puede eliminar bordes con parpadeo, por ejemplo, suavizando el modelo trama a trama, eliminando los cambios permitidos por cada trama en los bordes, suavizando los bordes por cada trama, aplicando filtros de cálculo de promedio en tramas individuales o múltiples, y similares. Pueden lograrse mejoras adicionales aumentando la tasa de tramas y aplicando una técnica de suavizado adicional en la trama añadida para suavizar el efecto que se produciría en la tasa de tramas original.
Cada una de las realizaciones anteriormente mencionadas puede proporcionarse independientemente de si la pantalla reside cerca de la cámara. Por ejemplo, la pantalla puede estar ubicada en una sala de control. Puede accederse a un flujo principal de cámara o información grabada mediante control remoto, mediante otra dirección directamente con infraestructura física, o por la nube.
En una realización, el control en la funcionalidad de la estación puede realizarse mediante un gesto, movimiento ocular, movimiento de la palma, movimiento de dedos o control cerebral. La presente invención puede controlarse con accesorios adicionales tales como un puntero de haz láser, control por voz, de manera inalámbrica, o seguimiento de ultrasonidos.
A continuación se proporcionan varios ejemplos de aplicaciones adicionales que pueden aprovechar la tecnología de la presente invención. Específicamente, puede usarse transformación de vídeo de base para crear vestimenta virtual fiable.
Puede usarse transformación de vídeo de base para crear una conferencia de vídeo fiable cuando el/los usuario(s) en el otro lado de la línea puede(n) ver al participante como si el participante le(s) estuviera mirando directamente a él/ellos, en vez de tener una imagen desde el punto de vista de la cámara. Alternativamente, puede usarse una transformación para crear una imagen como si un usuario estuviera mirando a los ojos de otro usuario con el fin de proporcionar una experiencia en directo convincente.
Puede proporcionarse transformación de vídeo de base para realidad aumentada para múltiples propósitos incluyendo, aunque sin limitarse a: manipulación y redimensionamiento corporal, medidas corporales, diagnóstico médico/monitorización/entrenamiento y/o seguimiento, juegos, vestimenta, citas, reuniones, seguridad, simuladores de cuerpo completo, entrenamiento de baile, peluquería, maquillaje, entrenamiento general, viajes, y similares. Puede proporcionarse grabación y comparación de aspecto en tiempo real y fuera de línea de modo que un usuario puede realizar un seguimiento de cambios de aspecto a lo largo del tiempo y a lo largo de los años. Estos procedimientos pueden proporcionarse para múltiples propósitos incluyendo registros médicos, que puede ser a lo largo de un periodo de tiempo dado, entre múltiples exploraciones, usando sensores múltiples/diferentes, por ejemplo, para detectar la temperatura, tensión arterial, y similares.
Las realizaciones pueden aplicarse para conferencia de vídeo o juegos en los que el usuario querrá cambiar su aspecto (por ejemplo, tez de la piel, vestimenta, cara, y similares). Según la presente invención, el modelo puede permitir un cambio suave para dar un aspecto deseado o incluso crear una imagen mediante al cual el usuario desaparece del vídeo.
Las realizaciones pueden usarse en una aplicación de seguridad, con reconocimiento facial preciso sobre un dispositivo de Eyes-Match calibrado (véase la solicitud estadounidense n.° 13/843.001) cuando la cámara está ubicada con perspectiva de proyección hacia los ojos del usuario, con reconocimiento de código QR dinámico (respuesta rápida) (por ejemplo, puede generarse autorización y gestión de acceso de usuario mediante código QR de aplicación móvil, o tarjeta de identificación, para la aplicación móvil a partir de la nube y puede verificarse mediante autenticación de usuario en la aplicación), con reconocimiento de cuerpo completo, escaneo, y aprendizaje, con reconocimiento de artículos (por ejemplo, ropa, uniforme, tarjeta de identificación, y similares), con un analizador inalámbrico (por ejemplo, WiFi, celular, ultrasonidos y similares), con API para una base de datos de seguridad, con sistemas de localización, con información pública y similares. Las realizaciones pueden usarse con una acción de prevención de amenazas basándose en reconocimiento de una actividad especificada (por ejemplo, bloquear puerta, encender/apagar una luz, liberar niebla, máquina de disparo, por ejemplo, descarga eléctrica, balas, papel y similares). Debido a la geometría de la imagen calibrada, la ubicación del objetivo en la imagen puede medirse de manera muy precisa y puede usarse para realizar un ataque preciso en un objetivo de manera eficiente son poner a otras personas en peligro.
En algunas realizaciones, el flujo de cámara principal puede manipularse en tiempo real para cambiar el aspecto del usuario, o para hacer que desaparezca completamente del vídeo o la imagen. En esta situación, el DSP de cámara o dispositivo con capacidad de DSP o GPU independiente necesita obtener el flujo de cámara y procesar el flujo de cámara mediante un centro de control remoto y empaquetarlo de nuevo como flujo principal de cámara. Un cálculo paralelo al flujo principal de cámara (analizador) también es una opción en una realización.
En algunas realizaciones, la cámara/múltiples cámaras calibradas con/sin información complementaria a partir de otros sensores pueden usarse para diagnóstico de pacientes y monitorización de pacientes. Por ejemplo, aunque sin limitación, la presente invención puede usarse para monitorizar y alertar por problemas en la piel tales como melanoma de cáncer de piel, cambios de mama que pueden sugerir pruebas adicionales para detectar cáncer de mama, medida de frecuencia cardíaca y tensión arterial, temperatura del paciente, halo del usuario, monitorización de grabación de piel y uñas para detectar cambios, problemas oculares, giro, huesos, músculos y tendencias y cambios de flexibilidad corporal.
Ahora se pasa a una descripción detallada y diagramas de bloques de concepto relacionados con las realizaciones anteriores.
La figura 1 es un diagrama de bloques de sistema para una plataforma de realidad aumentada que soporta un vídeo/imagen grabado o en tiempo real. El sistema puede incluir uno o una pluralidad (1:n) de dispositivos 101 de entrada incluyendo una cámara de vídeo, una cámara fotográfica, una cámara de IR, una cámara en 2D o una cámara en 3D. El dispositivo 101 de entrada puede estar adaptado para enviar información a uno o más módulos 102, 103, 104, 105, 107, 108 y 109 de realidad aumentada de visión artificial. El uno o más módulos 102, 103, 104, 105, 107, 108 y 109 de realidad aumentada de visión artificial pueden estar adaptados para enviar información a una o una pluralidad (1:m) de pantallas 106.
El uno o más módulos 102, 103, 104, 105, 107, 108 y 109 de realidad aumentada de visión artificial pueden estar adaptados para enviar/recibir información a/desde una interfaz o módulo 110 de interfaz de usuario. La interfaz 110 puede estar adaptada para enviar/recibir información a/desde uno o más de una nube, una web/tienda o un dispositivo de usuario, por ejemplo, teléfono inteligente o tableta.
El uno o más módulos 102, 103, 104, 105, 107, 108 y 109 de realidad aumentada de visión artificial pueden incluir un módulo 102 de captación de imágenes, un módulo 103 de transformación de coincidencia de ojos, un módulo 104 de realidad aumentada, un módulo 105 de grabación de vídeo/instantáneas, un módulo 107 de acontecimiento desencadenante, un módulo 108 de elemento de control, y un módulo 109 de calibración en fábrica.
El módulo 102 de captación de imágenes puede incluir una o más de las siguientes características: filtros de potenciación, conversión de formato, separación de tramas de vídeo, recorte de imagen, redimensionamiento de imagen, combinación de imágenes y similares. El módulo 102 de captación de imágenes puede estar adaptado para enviar información al módulo 103 de transformación de coincidencia de ojos. El módulo 102 de captación de imágenes puede estar adaptado para enviar/recibir información a/desde el módulo 107 de acontecimiento desencadenante.
El módulo 103 de transformación de coincidencia de ojos puede estar adaptado para aplicar en la imagen el mapeo correcto para hacer coincidir el punto de vista de la cámara con el punto de vista del espejo teórico (reflejo de ojos de usuario) y rellenar los píxeles ciegos si los hay después del mapeo. El módulo 103 de transformación de coincidencia de ojos puede estar adaptado para enviar información al módulo 104 de realidad aumentada y/o al módulo 105 de grabación de vídeo/instantáneas. Además, el módulo 103 de transformación de coincidencia de ojos puede estar adaptado para enviar/recibir información a/desde el módulo 108 de elemento de control. Además, el módulo 103 de transformación de coincidencia de ojos puede estar adaptado para enviar información a la una o una pluralidad de pantallas 106.
El módulo 104 de realidad aumentada puede estar adaptado, por ejemplo, para proporcionar sustitución de color y textura virtual, vestimenta virtual, inserción de objetos y similares. El módulo 104 de realidad aumentada puede estar adaptado para enviar/recibir información a/desde el módulo 108 de elemento de control y/o el módulo 105 de grabación de vídeo/instantáneas. Además, el módulo 104 de realidad aumentada puede estar adaptado para enviar información a la una o una pluralidad de pantallas 106.
El módulo 105 de grabación de vídeo/instantáneas puede estar adaptado para grabar una única imagen o una toma corta basándose en control de software. El módulo 105 de grabación de vídeo/instantáneas puede estar adaptado para enviar/recibir información a/desde el módulo 108 de elemento de control. Además, el módulo 105 de grabación de vídeo/instantáneas puede estar adaptado para enviar información a la una o una pluralidad de pantallas 106. El módulo 107 de acontecimiento desencadenante puede incluir una o más de las siguientes características: reconocimiento de un usuario delante del espejo, reconocimiento facial, reconocimiento de comandos de gestos de usuario, reconocimiento de artículos, medida de distancia, medidas corporales/evaluaciones de usuario (incluyendo, por ejemplo, altura, edad, peso, grupo étnico, sexo y similares) y cálculo de punto de vista teórico de usuario en espejo teórico. El módulo 107 de acontecimiento desencadenante puede estar adaptado para enviar/recibir información a/desde el módulo 108 de elemento de control.
El módulo 108 de elemento de control puede incluir una o más de las siguientes características: control y gestión para establecer la cámara para optimizar la calidad, para establecer otros elementos de hardware, una interfaz entre módulos de algoritmo y código superior/aplicación/interfaces de usuario, y emitir datos calibrados desde la fábrica a los elementos de algoritmo. El módulo de elemento de control puede estar adaptado para enviar/recibir información a/desde el módulo 109 de calibración en fábrica.
El módulo 109 de calibración en fábrica puede estar adaptado para definir la transformación de mapeo entre la cámara y el punto de vista de usuario delante de la pantalla. Además, el módulo 109 de calibración en fábrica puede estar adaptado para calibrar la imagen basándose en distancia, una ubicación especial, altura de usuario o cualquier combinación de los mismos.
La figura 1 y la siguiente descripción representan tan sólo un ejemplo de una realización; pueden asignarse otros flujos o funcionalidades entre los módulos, que representan realizaciones adicionales. Los presentes inventores proponen dos métodos para habilitar las capacidades de realidad aumentada (tiempo real y fuera de línea). Ambos métodos envuelven el módulo 104 de realidad aumentada con datos de imagen o vídeo reales que son en tiempo real o se tomaron tras un procesamiento, por ejemplo, mediante el módulo 103 de transformación de coincidencia de ojos.
Una característica es que un usuario puede definir de manera manual o automática (por ejemplo, mediante la interfaz 110) reglas referentes a qué artículos le gustaría procesar y manipular al usuario y cuál es el resultado final esperado, por ejemplo, una regla automatizada puede ser algo como buscar una camisa de un usuario, que puede cambiarse a un color diferente, o que un usuario seleccione una camisa mediante selección manual con una pantalla táctil y selección de color manual. Después, puede procesarse el objeto seleccionado y extraerse/separarse por segmentación y grabarse en la base de datos vinculada al vídeo o imagen grabado original. Entonces, el módulo 104 de realidad aumentada procesa el modelo/máscara en tiempo real a una tasa de tramas dada, que puede ser a una tasa de tramas inferior o superior a la original y a un tamaño igual o diferente del original. Algunas aplicaciones no requieren (pero, no obstante, pueden incluir) realidad aumentada en directo, como probarse ropa cuando el usuario quiere verse a sí mismo con la modificación (una o más opciones). Una vez guardado el objeto extraído de la escena en directo, es más fácil representar gráficamente múltiples cambios (color, textura, tamaño, y similares). Además, es más fácil realizar un procedimiento más largo, de manea mucho más precisa, con calidad superior y usando un procedimiento que proporciona más información, por ejemplo, movimiento de usuario, medidas corporales, y calidad basándose en integración de tramas y similares. Para otras aplicaciones que requieren procedimientos en tiempo real, como una conferencia de vídeo, es mejor usar la segunda opción. Con la segunda opción, debe adaptarse el rendimiento para ser lo más próximo posible a la tasa de tramas real de la cámara con el fin de evitar la introducción de retardo/retraso que puede producir caídas de tramas y malos rendimientos. Si se encuentran retardos/retrasos, entonces tales retardos/retrasos pueden gestionarse de una manera que produce un vídeo suave sin retraso de las tramas. Tal gestión puede lograrse con memorias intermedias, sellos de tiempo de imagen más algún retardo, o con sellos de tiempo y replanificaciones de tramas para su representación gráfica.
Para la entrada de vídeo, se recomienda encarecidamente que el procedimiento de representación gráfica se realice en un dispositivo con DSP o GPU con el fin de evitar la introducción de retardo en el vídeo. La creación de la máscara/modelo también puede realizarse para la primera opción (no en tiempo real) en una CPU. Para la segunda opción, la máscara/modelo también puede realizarse y calcularse en la GPU/DSP.
En el módulo 107 de acontecimiento desencadenante, parte de la funcionalidad de factor desencadenante puede automatizarse completamente, por ejemplo, puede iniciarse un procedimiento si se realiza una detección de cara o detección de presencia. Algunos de los factores desencadenantes pueden realizarse de una manera semiautomatizada a partir del módulo 110 de interfaz de usuario, que puede incluir cualquier manera de controlar el dispositivo informatizado. Parte de la funcionalidad del acontecimiento desencadenante es calcular la transformación de imagen basándose en información geométrica, calibración, y/o seguimiento de usuario en tiempo real, por ejemplo, ubicación de los ojos del usuario, cabeza, manos, posición, movimiento y similares. El seguimiento puede realizarse usando una o más técnicas tales como sustracción de fondo, reconocimiento de patrón, segmentación de color, y similares. La funcionalidad de cálculo de seguimiento de transformación también puede implementarse en los demás módulos.
El módulo 108 de elemento de control puede estar adaptado para configurar el ajuste del sistema, autenticación de dispositivo de cámara y similares, también puede proporcionar información a partir de la función de transformación de seguimiento al módulo de transformación de geometría real o módulo de realidad aumentada y similares.
Con el módulo 109 de calibración en fábrica, parte de la información necesaria para calcular la transformación que va a aplicarse en la imagen/vídeo puede generarse durante la calibración en fábrica o puede calcularse basándose en información adicional sobre la orientación real de la cámara en el campo, por ejemplo, altura por encima del suelo o mesa o similar, punto de vista en 3D, campo de visión de lente (FOV), y similares. La información de fábrica más la geometría real de la implementación pueden procesarse y suministrarse al elemento correcto en el sistema que usará la información para una mejor calibración y precisión.
Además de la aplicación a una pantalla local para una aplicación de espejo, la presente invención puede usarse para enviar el vídeo más los medios para transformarlo o el vídeo manipulado y transformado real a otra dirección en la nube o de manera local como una conferencia de vídeo individual o bidireccional.
La figura 2 representa un ejemplo de un módulo de realidad aumentada, que puede corresponder con el módulo 104 de realidad aumentada descrito anteriormente. Específicamente, el módulo de realidad aumentada puede tener una función de permitir que un usuario se vista de manera virtual. En esta realización, el sistema obtiene imagen o vídeo de entrada a partir, por ejemplo, del método 201 informatizado de EyesMatch o a partir de cualquier otra fuente de imagen/vídeo, por ejemplo, teléfono inteligente de usuario, cámara de seguridad, dispositivo Google glass, cámara móvil o cámara estacionaria. Realizaciones adicionales pueden incluir información geométrica adicional que ayudará a calcular una proporción tal como altura de usuario, mirada y similares. Si el vídeo o imagen de usuario procede del módulo de EyesMatch (imagen/vídeo calibrado), puede crearse un modelo más exhaustivo que permite medidas corporales, postura de objetos, tamaño, detección de orientación altamente precisa y similares. La información adicional que puede calcularse a partir del objeto o vídeo calibrado puede permitir ajuste de objetos, sustitución de objetos e inserción de nuevos objetos en la trama/vídeo.
El módulo 202 de elección puede obtener información de elección a partir de la interfaz 206 de manera manual a partir del usuario (X,Y o nombre de objeto) o de manera automática a partir de un método de elección, por ejemplo, un mecanismo que puede detectar automáticamente objetos predefinidos tales como pantalones, vestidos, camisas y similares.
El módulo 203 puede obtener la ubicación y muestras del color (o el color promedio del objeto, que puede tener más de un color). El módulo 203 puede usar esta información para crear una máscara en blanco y negro que se usa en primer lugar para generar una máscara en color y sombreada con texturas en 2D o 3D.
La técnica para extraer el módulo se basa en una correlación de color en 3D o cualquier otra técnica tal como la distancia euclidiana más próxima entre el color promedio de objeto y el color de píxel para separar los píxeles del objeto con respecto a toda la imagen.
La decisión sobre si el píxel está en el objeto o no puede realizarse en múltiples niveles y no se limita a los siguientes ejemplos:
1. Correlación de color y la primera decisión puede basarse en un umbral de distancia euclidiana, en el que el umbral de distancia euclidiana está en el espacio de color de RGB o el espacio de color cromático.
2. Filtrar ruido aplicando operadores morfológicos tales como dilución y erosión, lo cual puede mejorar la decisión con respecto a píxeles que están “erróneamente etiquetados” como que forman parte o que no forman parte del objeto.
3. Decisión basada en información a partir de tramas anteriores o posteriores, o a partir de píxeles vecinos en una fila o alrededor del píxel. Esta etapa representa una decisión principal en el procedimiento.
4. Distancia de objeto a partir de la elección original, que puede usarse como umbral.
5. Continuación de superficie de objeto, mediante lo cual, si se sabe que una superficie de objeto continúa, entonces puede eliminarse mediante filtrado parte del ruido.
6. Bordes de objeto, mediante lo cual puede mejorarse la decisión alrededor de bordes mediante detección de borde que puede realizarse mediante filtros de paso alto (HP) u otras técnicas.
7. Decisión basada en energía de color. Uno de los problemas de la separación de color es que el color en condiciones de poca iluminación puede verse como negro, y el intervalo dinámico de la decisión se reduce significativamente. Pueden aislarse píxeles oscuros/negros y pueden aplicarse otras técnicas para decidir si los píxeles oscuros/negros pertenecen al objeto o no, por ejemplo, la presente invención puede determinar si el píxel está ubicado dentro del límite de objeto, o la distancia de la energía desde el color de STD de objeto cambia.
8. Usar información previa sobre la forma de objeto esperada para obtener mejores resultados.
9. En el caso en el que el objeto es una combinación de múltiples colores o formas o tiene logotipos u otras imágenes, puede usarse correlación y combinación de múltiples colores. Adicionalmente, puede usarse cualquiera de los métodos de múltiples niveles especificados anteriormente para obtener una decisión de nivel superior referente al objeto.
10. La decisión también puede basarse en una mayoría o una decisión referente a un píxel/imagen vecino como factor ponderado en la decisión. En el caso en el que se procesa la decisión sobre la imagen como vector, puede resultar más fácil analizar los vecinos en la misma fila o misma columna dependiendo de cómo vuelve a conformarse la matriz de imagen para dar un vector.
11. La estimación del STD de color de material/textura de artículo también puede añadir información significativa para la segmentación de objeto.
12. Cualquier combinación de una o más de las etapas 1-11 anteriores.
La máscara puede usarse para representar gráficamente una máscara simple en blanco y negro. Sin embargo, con el fin de crear una sensación convincente de un objeto, puede mantenerse información adicional a partir de la textura o aspecto de un objeto. Con el fin de obtener la información importante adicional, puede aplicarse la máscara sobre la trama o vídeo original, y puede obtenerse la escala de brillo o sombreado de textura en RGB o escala de grises sobre el objeto. Esta información es mucho más precisa y convincente para cambios de color dado que guarda la textura de arrugas del objeto original, sombreado, reflejo de luz, firma de material y similares.
La máscara de modelo puede construirse en capas para una manipulación mejorada. Los ejemplos de una posible estructura de capa pueden ser los siguientes:
1. Máscara en blanco y negro (para separar por segmentación el objeto). La máscara en blanco y negro puede ser muy importante para distinguir entre el objeto y el fondo o entre el objeto y otro elemento alrededor del objeto. Pueden usarse múltiples técnicas para optimizar la decisión de máscara/límites de objeto.
2. Máscara de borde de objeto - que representa el borde o contorno del objeto.
3. Máscara de color rojo - que representa zonas rojas del objeto.
4. Máscara de color verde - que representa zonas verdes del objeto.
5. Máscara de color azul - que representa zonas azules del objeto.
6. Texturas que se aplican a todas las máscaras de color - que representan el aspecto de textura del objeto.
7. Máscara de sombra o brillo - que representa zonas sombreadas o brillantes del objeto.
8. Máscara de reflejo de luz de material- que representa reflejo de luz del objeto.
9. Máscara de absorción de luz de material- que representa zonas de absorción de luz del objeto.
10. Máscara de otros sensores tales como IR, microondas, profundidad, ultrasonidos, ultrabanda y similares.
11. Capas similares a las descritas anteriormente.
Una vez que el modelo de máscara tiene la información requerida, con el fin de cambiar el color o la textura, puede usarse el módulo 204 de representación gráfica para modificar la capa/capas específicas y regenerar el objeto a partir de las múltiples capas dando como resultado un vídeo 205 representado gráficamente que es extremadamente realista. Por ejemplo, si el usuario llevaba puesta una camisa roja, puede sustituirse la máscara roja por una máscara azul para representar gráficamente al usuario llevando puesta una camisa azul. Dado que todas las demás máscaras permanecen iguales, la camisa azul se representará gráficamente con todo el sombreado, brillo, reflejo, textura, etc., de la camisa roja, representando por tanto gráficamente una camisa azul muy realista que tiene los mismos pliegues y que sigue los mismos contornos del cuerpo que la camisa roja. El efecto de algunas capas puede introducirse multiplicando o añadiendo la capa modificada a la trama. La sustracción y división también pueden definir relaciones entre capas. Técnicas adicionales que permiten una manipulación de artículos más compleja incluyen una técnica de registro, que, basándose en unos pocos, puede estirar/transformar un objeto o material para ajustarse dentro de los límites del objeto manipulado.
El módulo puede obtener el vídeo/imagen original, la máscara modelada de múltiples canales y el cambio requerido. El cambio requerido puede ser cualquier combinación de color, brillo, material, textura, icono/logotipo, impresión, material textil y similares.
En una realización, el cambio requerido puede estar fuera o dentro de los límites de objeto original y puede crearse una máscara modificada para los límites de nuevo objeto para sustituir al modelo de máscara original.
En una realización, el cambio requerido es material textil con textura orientada específica y color que puede insertarse en una orientación específica. En esta realización, la orientación de material puede modificarse y aplicarse en consecuencia.
En una realización, el cambio requerido puede ser otra máscara de prueba del usuario. Usando una técnica de registro, puede aplicarse la otra máscara de prueba del usuario para ajustar el nuevo objeto sobre el objeto similar del usuario para probarlo. Por ejemplo, se mide a un usuario para una camisa y se mide a otro usuario para una chaqueta para mostrar al primer usuario cómo queda la chaqueta del segundo usuario. El método puede usar una técnica de registro que ajusta la chaqueta del segundo usuario para obtener y aplicar la forma de líneas corporales correcta del primer usuario, lo cual puede crear un ajuste más convincente. Un beneficio de este método es que la chaqueta parecerá mucho más real ya que se representa gráficamente para conservar toda la textura del segundo usuario. Para producir estos resultados, el método puede registrar la orientación, ubicación y tamaño del primer usuario.
En una realización, la máscara puede usarse como punteros para registro de objetos virtuales. En una realización, puede usarse la grabación de máscara más fondo en la transformación correcta como usuario para eliminar al usuario/artículo a partir de la imagen/vídeo.
En una realización, puede obtenerse elección del objeto individual o los múltiples (1:n) objetos que se necesita modelar. A partir del vídeo, se crea una máscara por cada trama. Si el usuario está girando, puede crearse un modelo en 3D o parcialmente en 3D trama a trama. A partir de este modelo de trama a trama, pueden obtenerse diferentes perspectivas y usarse para crear un modelo en 3D que incluye algunos o la totalidad de los movimientos del usuario. Después, puede usarse esta información para crear una vestimenta virtual más convincente. Es decir, el presente método puede usar los propios movimientos del usuario en la formación del modelo.
En una realización, la representación gráfica puede realizarse en la GPU, CPU, GPU en la nube o CPU en la nube. Los elementos introducidos que van a representarse gráficamente pueden proceder de la CPU, de la base de datos de usuario en la nube, o de un enlace activo con el inventario/cualquier otra base de datos/impresión en 3D, base de datos de comercio electrónico, base de datos social y similares.
Los cambios en el color de artículo pueden basarse en inventario disponible y de prueba real o impresión en 3D opcional en el sitio o en la fábrica para personalización por el usuario. Una ventaja con respecto a la vestimenta virtual regular es que el artículo se muestra envuelto sobre el cuerpo como lo haría en realidad, dado que todos los pliegues, sombreado, etc., se transferirán con las máscaras apropiadas. Esto es una característica muy importante desde muchos aspectos. El usuario puede percibir cómo se siente el artículo sobre su cuerpo, cómo puede afectar y cambiar a la forma de su cuerpo y similares.
En una realización, puede añadirse un accesorio o cualquier otro artículo aprendiendo el movimiento dinámico y el modelo de máscara del objeto relevante. Además, puede aumentarse el fondo para cambiar o crear un entorno diferente mediante la misma técnica. Una vez etiquetados todos los objetos requeridos, pueden enmascararse los objetos requeridos y puede usarse la máscara combinada para cambiar el fondo.
En una realización, el módulo de representación gráfica puede representar gráficamente el objeto con una técnica de representación gráfica potenciada de interpolación del objeto y la trama para dar una resolución superior, puede combinar el objeto a alta resolución, puede suavizar los bordes, y puede decimar el objeto de vuelta a la resolución requerida con mejor calidad de integración en la trama. Las técnicas adicionales incluyen trabajar directamente en el borde del objeto calculando el promedio con algún factor de ponderación del valor del píxel con el fin de combinar mejor el objeto con el color de fondo.
La figura 3 representa un módulo de realidad aumentada que puede sustituir una parte del cuerpo, color, orientación y textura de un artículo u objeto en el primer plano o fondo de la imagen, por ejemplo, el módulo puede añadir pelo al usuario, cambiar el color de pelo, piel y ojos del usuario, puede cambiar la postura de los ojos y similares.
Los módulos 301, 302, 303 y 306 pueden funcionar de una manera similar en comparación con los módulos 201, 202, 203 y 206 del módulo de realidad aumentada general anteriormente descrito. El módulo 304 puede tener la capacidad de calcular u obtener información adicional tal como postura de la cabeza o dirección de movimiento del cuerpo directamente a partir del módulo de EyesMatch o a partir del módulo 307 usando un detector dedicado para el movimiento y orientación en 3D del artículo y puede usar esta información para modificar la parte requerida del cuerpo, por ejemplo, obtener la postura de la cabeza permitirá una corrección de la dirección de los ojos modificando los ojos de la máscara/modelo a la dirección requerida. Además, la detección de cabeza puede permitir añadir pelo en la orientación correcta, un sombrero y similares.
En una realización en la que la máscara requerida en algunas dimensiones es menor que la máscara original, el módulo 307 puede realizar o suministrar transformación de EyesMatch en tiempo real o fuera de línea de la imagen o vídeo de fondo grabado. La imagen o vídeo de fondo transformado puede ser capaz de representar gráficamente una parte de la parte del cuerpo o artículo usando manipulación de primer plano o fondo, por ejemplo, en caso de que se desee eliminar la cabeza o torso de un usuario del vídeo. La imagen o vídeo de fondo transformado puede aplicarse sobre la máscara que captura la cabeza y torso, y el resultado puede representarse gráficamente con el vídeo original transformado o no transformado. El resultado puede ser un vídeo 305 representado gráficamente sin la cabeza y torso del usuario.
Por ejemplo, en un caso más complejo, puede desearse representar una longitud más corta de un vestido dado. Puede requerirse la manipulación de máscara en el módulo 304 para crear una máscara más corta para el nuevo vestido, y la diferencia entre la máscara original y la máscara tras la manipulación puede ser una nueva máscara para su manipulación. En la nueva máscara, alguna parte será la estimación de las piernas del usuario y alguna parte representará fondo será visible ahora con la longitud de vestido más corta. La nueva máscara puede dividirse en piernas y fondo, y el nuevo objeto representado gráficamente puede adoptar la combinación de imagen de fondo y pierna predicha para crear un nuevo artículo representado gráficamente. El resultado tras la representación gráfica del artículo modificado en el vídeo es un usuario con un vestido más corto. Pueden usarse múltiples técnicas para predecir el aspecto que deben tener las piernas en la zona que puede usarse.
La figura 4 representa métodos informáticos para crear un modelo para intercambio de color y textura, que puede denominarse colograma. Esta técnica se centra en cálculo en paralelo que puede soportar un gran número de usuarios o un gran número de tramas/vídeo a diferencia de técnicas de intercambio de color de superalta calidad que pueden encontrarse en programas de software tales como Photoshop. Tales métodos pueden requerir mucho tiempo y pueden no resultar prácticos de llevar a cabo en un gran número de imágenes o vídeo de usuario. La descripción de la figura 4 es tan sólo un ejemplo y cualquier derivado del flujo representado forma parte de la presente invención.
Una dificultad para cambiar un color de un objeto en un vídeo o imagen es identificar con precisión los píxeles relevantes del objeto. En un archivo de vídeo, la velocidad es un factor limitante para una transformación aplicable. En la figura 4, se representa un ejemplo simplificado de un método para segmentar/extraer un objeto a partir de un vídeo.
La imagen o vídeo que va a modificarse se recibe en 401. En 402, se convierte la trama de la imagen o vídeo a color en un vector lineal, que es opcional, aunque la vectorización de la imagen puede acelerar drásticamente el tiempo de procedimiento. Además, en 403, se elimina el efecto del brillo. Hay muchas técnicas para eliminar el efecto del brillo. En este ejemplo, se usa un cálculo de promedio de energía por cada píxel en el espacio cromático XYZ, dividiendo cada píxel entre la suma de XYZ. Por ejemplo, puede usarse una matriz de 3 X 3 para convertir RGB en XYZ, usando las coordenadas de cromaticidad de un sistema de RGB (xr, yr), (xg, yg) y (xb, yb) y su blanco de referencia (Xw, Yw, Zw). En paralelo, en 404 se realiza la selección de objeto seleccionando todos los puntos K(x,y) pertenecientes al objeto que va a transformarse. K es el número de objetos/zonas con color distinguido que pueden separarse por segmentación del fondo o de otros objetos. Después, en 405 se hace pasar cada punto a través de la misma transformación que la realizada en el módulo 403. En 406, se realizan k iteraciones para encontrar cada píxel y para encontrar el color más próximo. K>/=2 en esta técnica. Para cada k, se calcula la distancia euclidiana 2d o 3D. Se guarda la distancia mínima y el valor de K. Esta operación puede realizarse con todos los píxeles a la vez en un procedimiento relativamente rápido.
Después de K iteraciones, puede obtenerse la imagen etiquetada. La distancia euclidiana “dist” es tan sólo un ejemplo de un método computacional para distinguir entre colores; hay otros métodos para calcular la distancia entre colores, por ejemplo, un modelo de modelo de distancia color basado en percepción humana del color (cromática, saturación y brillo), técnicas de calibración avanzadas para hacer coincidir la sensibilidad y la capacidad para separar colores con el ojo humano tal como en CIE76, CIE94, CIEDE2000 y similares o cualquier combinación con cámara de profundidad IR/3D con estiramiento de histograma, integración de color a lo largo del tiempo o cualquier otro método para mejorar la sensibilidad de la detección de color (módulo 411). La aplicación o el cruce de la información adicional a partir del módulo 411 puede suceder al nivel 406 de comparación de distancia, justo al final de la creación 409 de modelo, o cualquier combinación dependiendo de la naturaleza de la información adicional (determinista, estadística, variante con el tiempo, y similares).
Además de la diferencia de color, también pueden usarse otras técnicas que pueden añadir información sobre el objeto para mejorar la decisión tales como: probabilidad de zona (un píxel dado necesita tener vecinos o alguna masa de píxeles), característica de zona, filtros de límite para aislar el límite de objeto antes de realizar una decisión final, información de profundidad (que normalmente necesita hacer coincidir el contorno de la información de profundidad con la imagen final del objeto en 2D o 3D), integración en el tiempo para determinar si el píxel está en la zona de objeto a lo largo de múltiples tramas, y similares.
El módulo 407 es un ejemplo de una realización de cómo distinguir entre los colores requeridos y el otro espacio de color. En el módulo 407, se ponen a cero todos los píxeles con una distancia mayor que un umbral al no ser relevantes (un píxel con un color diferente de uno cualquiera de los colores 1 a k), y se asigna 1 a todos los píxeles relevantes, generando de ese modo una máscara binaria. En 408, puede usarse un filtro en blanco y negro para limpiar ruido y suavizar la forma del objeto. Pueden usarse otras técnicas para mejorar la decisión de qué píxeles pertenecen al objeto. Como resultado, un índice para todos los colores relevantes comienza de 2 a K+1.
El módulo 407 es un ejemplo en el que se desea separar un color o colores específicos. En este caso, pueden ponerse a cero todos los índices excepto por el requerido. El procedimiento avanza de la siguiente manera: poner a cero todos los índices no relevantes, obtener un fondo y valor de colores no relevantes = 0, y elegir el objeto de color requerido etiquetado = 1. Si hay más de un color en el objeto, puede asignarse 1 a cualquier índice elegido de 2 a k+1 y cero a todos los demás.
En el módulo 409, se aplica la máscara en blanco y negro obtenida sobre la imagen a color original y se obtiene el modelo en 3D para cambios de color y textura. El modelo puede ser un canal alfa en 2D de escala de grises o 3D en el espacio de color. El módulo 410 puede obtener un modelo en 2D o 3D del objeto. En caso de vídeo a partir de una única cámara, es posible obtener un modelo en 3D aunque el usuario esté moviéndose delante de la cámara, por ejemplo, girando delante de la cámara. En este caso, también es posible obtener medida de objeto en múltiples cortes para estimar las curvas del cuerpo en 3D del usuario.
A continuación se proporciona un ejemplo de una entrada en 2D en el generador de modelo, en el que se desea crear un modelo de la camisa del usuario mostrada en la figura 9. La figura 10 es un ejemplo de un modelo en 2D de la camisa superior. De esta manera se conserva la textura de la camisa, de modo que es relativamente fácil manipular el color o la textura o incluso cambiar el límite del modelo para crear un objeto diferente.
El modelo basado tan sólo en diferencia de color no es perfecto en cuanto a calidad, por tanto puede usarse información y técnicas adicionales para mejorar la calidad del modelo de objeto (véase el módulo 411). Pueden aplicarse técnicas de información adicionales tales como interpolación y decimación o suavizado de bordes después del procesamiento mediante el módulo 410 con el fin de mejorar la calidad del modelo.
La figura 5 representa métodos informáticos para crear un modelo para intercambio de color y textura, que puede denominarse colograma.
En el módulo 501, se analiza la imagen usando una línea corporal y análisis de indicador de masa corporal (IMC) usando en primer lugar un procedimiento similar al enfoque de EyesMatch descrito en la solicitud estadounidense n.° 13/843.001. En este enfoque, puede reordenarse la imagen para compensar la distorsión debida a la geometría de ajuste de la cámara y distorsión óptica. Los ejemplos de factores de distorsión de ajuste incluyen la distancia del usuario a la cámara, la altura de cámara, ángulo de proyección de cámara, la óptica del FOV de la cámara y otras distorsiones ópticas. Tras la corrección de la imagen, la representación de área de cada píxel puede ser aproximadamente uniforme en cmA2. Puede realizarse el procesamiento en CPU, GPU, DSP en la cámara, ordenador local cerca de la cámara, o servidor remoto.
El módulo 502 es un elemento opcional, que puede transformar una imagen en 2D en conversión de vector, lo cual puede acelerar el procesamiento. El tamaño del vector es la anchura, multiplicada por la, multiplicada por tres píxeles (para RGB). La imagen introducida en el módulo 501 también puede ser ya un vector. Puede ser más fácil realizar algunos tipos de procesamiento de imágenes en una matriz en 2D mientras que otros tipos de procesamiento de imágenes son más adecuados para la imagen vectorial.
En el módulo 503, puede ser más fácil realizar la manipulación de color para eliminar el efecto de luz y saturación en la imagen vectorial. Esto se realiza de una manera similar a lo que se describió anteriormente con respecto a 403. En el módulo 506, puede hacerse que la imagen pase por un filtro de detección de borde que puede enfatizar cambios de color y potenciar la visibilidad de la línea corporal. La detección de borde puede soportar bordes de la línea corporal de modo que puede soportar múltiples direcciones de borde. Por ejemplo, un filtro de borde con capacidades vertical, horizontal y /- 45° puede producir una buena detección de borde de la línea corporal.
Los módulos 504 y 505 pueden proporcionar información adicional en el algoritmo que puede ayudar con el análisis de imagen, por ejemplo, sexo, edad, raza y similares del usuario y proporciones estadísticas asociadas con la información. Esta información pude usarse posteriormente para centrar la búsqueda de partes del cuerpo. Puede usarse la medida de altura con información de proporción corporal complementaria para centrar la búsqueda de partes específicas del cuerpo, por ejemplo, el busto, ombligo, cintura, caderas y similares.
El módulo 507 puede proporcionar detección de cabeza. Hay múltiples técnicas para la detección de cabeza. Por ejemplo, una puede tomar la imagen con bordes enfatizados, voltearla a lo largo de la longitud del cuerpo, y realizar una correlación entre las imágenes. El pico de la correlación puede indicar la masa central del cuerpo. Otro método alternativo es un cálculo de masa de centro de centroide únicamente de los bordes. El cálculo de masa de centro de centroide puede ser menos preciso si la luz en el usuario no es lo suficientemente uniforme; sin embargo, esta técnica puede ser más rápida. Otras técnicas pueden basarse en reconocimiento de patrón, detección de ojos, nariz, y forma de la cabeza. Una vez encontrada la masa central, puede recortarse una ventana relevante para identificar el cuerpo a partir de la imagen. Además, el borde enfatizado de la punta de la cabeza puede producir la altura del usuario en píxeles. Dado que la imagen tiene un peso uniforme de longitud por píxel, la altura total puede calcularse en consecuencia. La suposición es que la transformación del módulo 501 producirá imágenes manipuladas de manera sistemática a lo largo de disposiciones, por ejemplo, 1-5 metros (m), en las que la altura real del usuario en la pantalla en píxeles será proporcional a la altura de usuario real. Pueden añadirse factores adicionales si esta suposición no es exactamente el caso para todas las distancias.
El módulo 508 puede medir el tamaño de partes del cuerpo en píxeles. La técnica puede ser un procedimiento adicional en una zona de enfoque para enfatizar adicionalmente la parte del cuerpo. La figura 13 representa un ejemplo del resultado de procedimientos adicionales que eliminan la mano del cuerpo y apuntan a diferentes intervalos de dónde buscar medidas corporales particulares.
Las medidas en píxeles pueden traducirse en centímetros (cm) según la curva predicha, por ejemplo, el cuello puede modelarse como un cilindro de modo que la anchura medida del cuello en píxeles puede representar 2 x radiales en píxeles, después los radiales en píxeles pueden convertirse en cm según la calibración. El busto para un hombre tiene un modelo más elíptico, de modo que la traslación será un poco diferente. Si hay medidas secundarias adicionales disponibles, pueden añadirse tales medidas para proporcionar información más precisa al modelo. En el módulo 510, puede deducirse la medida a partir del tipo de cuerpo del usuario, por ejemplo, una forma de “pera” si las caderas son más anchas que el busto y la cintura (véanse las figuras 11 y 12). Además, algún análisis puede sugerir lo siguiente:
1. riesgo de salud por condición corporal para problema cardíaco y similar;
2. el tipo de ropa que mejor se ajusta al tipo de cuerpo del usuario;
3. tendencias en el cuerpo del usuario para comparación histórica;
4. publicidad dirigida basándose en el tipo de cuerpo del usuario (por ejemplo, mesomorfo/endomorfo puede obtener cupones dirigidos para la mejor nutrición que se adapta a su tipo de cuerpo);
5. reconocimiento corporal; y
6. diagnóstico corporal puede monitorizar cambios corporales a lo largo del tiempo (condición de giro, flexibilidad, posibles tumores, y similares).
Puede aprenderse o estimarse información sobre el IMC del usuario a partir del modelo de objeto descrito en la figura 4 o directamente a partir del análisis de IMC de imagen tal como se describe en la figura 5.
La figura 6 es un ejemplo de una aplicación de sistema de seguridad para aprendizaje y autenticación de usuario de múltiples niveles. Esto es tan sólo un ejemplo de implementación de flujo posible; cualquier combinación del flujo o separación funcional diferente entre los módulos de diagrama forma parte de la invención.
Como en las figuras anteriores, pueden introducirse instantáneas o vídeo a partir del dispositivo 601 en un módulo 602 de captación de imágenes. El módulo 602 de captación de imágenes puede controlarse mediante un acontecimiento desencadenante tal como los anteriormente descritos y procesarse mediante el módulo 607 de acontecimiento desencadenante, que puede proporcionar información de seguimiento y reglas para iniciar un procedimiento de captación de imágenes. Específicamente, el módulo 602 de captación de imágenes puede captar la imagen a partir de la entrada 601 y emitirla al módulo 603 de transformación de EyesMatch con la información de seguimiento adicional (medida geométrica en tiempo real). Basándose en la información de seguimiento y el requisito de acontecimiento, el módulo 603 de transformación de EyesMatch puede calcular una transformación para manipular con el punto de vista de cámara, ángulo de visión, y similares para crear una imagen calibrada de la escena. Además, la transformación de EyesMatch puede realizarse de manera local en GPU/CPU/DSP, en la nube y similares. En una realización, puede alimentarse información avanzada sobre el usuario o sobre la estructura geométrica de la escena al algoritmo de seguimiento y puede participar en la calibración. La información adicional puede proporcionarse como información geométrica de una vez, por ejemplo, altura de usuario, distancia entre sus ojos y similares. En ese caso, la información geométrica adicional puede usarse para calcular la transformación requerida. La diferencia entre la imagen distorsionada y la geometría conocida puede usarse para calcular y calibrar la transformación.
Entonces la salida calibrada a partir del módulo 603 de transformación de EyesMatch puede desvanecerse en el módulo 604 de escáner de seguridad, que también puede denominarse módulo analítico de escena. El módulo 604 de escáner de seguridad puede estar adaptado para aprender uno o más de lo siguiente: exploración de líneas corporales o curvas del cuerpo basándose en múltiples técnicas, por ejemplo, detección de borde, detección de borde estadística, cámara IR, sensor de microondas, cámara en 3D, cámara individual y múltiples cortes cuando un usuario está girando. También puede tomarse un modelo en 3D completo del cuerpo cuando el usuario está girando delante de la cámara de vídeo y puede extraerse la ropa del usuario a un canal alfa tal como se describe en la técnica representada en la figura 4, es decir, colograma, y similares.
Otros métodos de aprendizaje o autenticación incluyen, por ejemplo, detección de ropa, mediante lo cual se crea una firma en un artículo y se clasifica en una base de datos. La base de datos puede actualizarse a partir de Internet, explorando ropa a partir de múltiples bases de datos y tiendas de comercio electrónico o escaneando activamente y actualizando información por el operario, por ejemplo, puede introducirse un uniforme de personal de seguridad, el tipo de material textil y similares.
Además, la combinación de EyesMatch con reconocimiento facial puede permitir que el operario instale una cámara por encima de la altura del usuario, por ejemplo, por encima de una puerta orientada hacia abajo a aproximadamente 30-45 grados; tal instalación permite al usuario moverse libremente por debajo de la cámara. En esta situación, por ejemplo, el intervalo de reconocimiento facial detectable es de aproximadamente 1-5 metros por delante de la cámara. Esto resulta ventajoso ya que los sistemas de reconocimiento facial conocidos no son muy precisos si la cabeza del usuario se escanea a un ángulo de /-15 grados.
Los sensores de autenticación corporal adicionales pueden incluir voz, olor, palma, huellas dactilares, ojos, ADN, esqueleto con sensores de rayos X o ultrasonidos, dientes, pelo, impresión, color, ojos, sangre, halo, temperatura, marcas de la piel, orejas y similares.
El vídeo, instantáneas o los datos analizados pueden grabarse con un módulo 605 de grabación de vídeo/instantáneas directamente desde la cámara, desde el módulo 604 de transformación de EyesMatch, desde la imagen procesada o desde datos a partir de los sensores.
El vídeo/imagen visual o los datos analizados pueden visualizarse delante de la pantalla de usuario (cuerpo completo o más pequeña), suministrarse por la nube o suministrarse directamente a un centro de control para visualizarse en una pantalla 606 o a un módulo para para su procesamiento y análisis adicional.
Los módulos 607, 608, 609 y 610 son similares a los módulos 107, 108, 109 y 110, respectivamente (véase la figura 1 y descripciones asociadas de la misma).
La figura 7 representa un ejemplo de una aplicación de sistema de seguridad para manipulación de cámaras en paralelo o en banda.
La capacidad del dispositivo en la figura 7 puede residir en un dispositivo autónomo tal como se representa en la figura 7 o como parte de la capacidad de DSP de cámara; el control de la activación de características puede realizarse de manera inalámbrica o a través de una infraestructura cableada. Además, parte de la capacidad puede soportarse en una ubicación remota, por ejemplo, medida y seguimiento. Además, el dispositivo puede desplegarse delante de la cámara y puede proyectar una imagen manipulada en una pantalla pequeña a la cámara.
El flujo principal de cámara puede alimentar el dispositivo o el dispositivo puede estar adaptado para intervenir en, y analizar, el flujo principal de cámara. Tras el procesamiento, el dispositivo puede estar adaptado para enviar datos en paralelo la operario.
El dispositivo puede tener capacidad de cálculo de múltiples imágenes, capacidad geométrica de EyesMatch, por ejemplo, en el módulo 703 de transformación de EyesMatch, medida corporal y autenticación de usuario, por ejemplo, en el módulo 704 de exploración de seguridad, y capacidades de realidad aumentada, por ejemplo, en el módulo 706 de realidad aumentada, en el que puede manipularse la imagen en el flujo principal o en paralelo al flujo principal, por ejemplo, las manipulaciones pueden incluir un cambio de un tipo de cuerpo de usuario, color, artículos sujetos por el usuario, peinado, desaparición completa del usuario y similares. Estas capacidades son muy importantes para su uso en seguridad.
Además, el flujo de vídeo puede alimentar otros dispositivo tales como un robot, una dispositivo de visualización montado en la cabeza, una aplicación de usuario y similares.
La interfaz para controlar la funcionalidad de dispositivo puede ser a través de la infraestructura cableada o inalámbrica o a una ubicación local o remota. El módulo de medida puede residir en el dispositivo o en la nube. En una realización, la capacidad, por ejemplo, puede realizarse en tiempo real o fuera de línea. La activación del dispositivo puede realizarse, por ejemplo, de manera periódica, en respuesta a un acontecimiento desencadenante o de manera manual, según se necesite o se desee.
El dispositivo puede soportar control en tiempo real y factores desencadenantes para otros dispositivos, por ejemplo, un proyector para cambiar la imagen que puede ver el usuario (camuflaje), o un acontecimiento desencadenante para un dispositivo de eliminación de amenaza preciso que necesita una coordinación precisa delante de la cámara. Puede compartirse vídeo en tiempo real con estaciones adicionales. Hay múltiples maneras de compartir el vídeo. A continuación se comentan en detalle algunas situaciones a modo de ejemplo.
Compartir la experiencia de espejo con uno o más de otros usuarios de manera remota, en la que el usuario se ve a sí mismo en una estación local y el usuario remoto ve al usuario en el espejo y comparte con él la experiencia. El usuario remoto puede tener cualquier dispositivo adecuado; la experiencia principal es ver al usuario que está de pie delante del espejo y está haciendo algo para que se revise. El usuario podrá ver una imagen de espejo de sí mismo basándose en EyesMatch o cualquier otra tecnología. La figura 8a representa esta situación. El usuario remoto puede simplemente ver la radiodifusión del usuario, enviar mensajes de texto al usuario, hablar con el usuario y/o que se le vea en una ventana pequeña en la pantalla de espejo.
La figura 8a representa una experiencia de espejo compartido en una conferencia de vídeo/voz. Tal como se muestra en la figura 8a, la experiencia de espejo puede compartirse en directo con un(os) usuario(s) en la nube o a través de otra estación de espejo. En el primer caso, el usuario puede verse a sí mismo en un modo de espejo aunque el flujo de vídeo que va a la nube necesita pasar por un volteo de espejo adicional para corregir la orientación de mirada en el otro lado. Por tanto, cuando el usuario (en modo de espejo) mira de derecha a izquierda, sus ojos/mirada en el otro lado se moverán en la dirección correcta como si estuviera mirando en la dirección correcta.
La figura 8b representa compartir una conferencia de vídeo de cuerpo completo. A diferencia de una conferencia de vídeo regular en la que la cámara puede emitirse en flujo “tal cual” al otro lado, en la estación de espejo, la imagen que está enviándose al otro lado necesita voltearse de izquierda-derecha en la ubicación remota. Esto puede realizarse volteando el espejo capturado de manera local o en el lado remoto.
En la figura 8b, cuando dos o más usuarios se comunican entre sí en las estaciones de cuerpo completo, el/los usuario(s) en una estación también verá(n) al/a los usuario(s) desde la otra dirección en la orientación correcta. Tal como se muestra en la figura 8b, el usuario puede verse a sí mismo de pie en el lado izquierdo de la pantalla local, y el usuario puede ver al otro usuario en el lado derecho de la pantalla local. En este caso, el vídeo local ya reflejado de manera especular, se necesitará un volteo/reflejo especular adicional cuando se transmite en flujo el vídeo a la ubicación/ubicaciones remota(s) (cuando se emite por radiodifusión).
Cualquier combinación de reflejo especular, volteo, rotación y similares del vídeo local o transmitido en flujo para hacer coincidir esta experiencia del espejo local y corrección de mirada en la otra ubicación remota forma parte de la invención.
En una realización, ambas estaciones presentan tecnología EyesMatch/están calibradas con respecto a las mismas geometrías y dimensiones; todas las estaciones crean un espejo de cuerpo completo y lo envían a la(s) ubicación/ubicaciones remota(s). La experiencia de cuerpo completo y EyesMatch también se producirá en la conferencia de vídeo, y el usuario tendrá la sensación de estar mirándose a los ojos.
En una realización, cuando hay más de un usuario en una ubicación, la tecnología EyesMatch o corrección de distorsión de cuerpo puede realizarse por cada usuario con capacidad de seguimiento por cada usuario o para ambos simultáneamente. Con el fin de eliminar el efecto de línea, en este caso, la capacidad de realidad aumentada puede sustituir el fondo tal como se describió anteriormente. En el modo de realidad aumentada, puede usarse colograma u otra técnica para sustituir el fondo por un fondo liso. La línea de conexión puede colocarse entre los usuarios para eliminar líneas o discontinuidad con respecto a los propios usuarios.
En una realización, en la que hay más de dos estaciones, la pantalla puede dividirse para permitir visualizar múltiples usuarios desde múltiples ubicaciones al mismo tiempo, o pueden colocarse múltiples pantallas unas junto a otras tal como se representa, por ejemplo, en la figura 8c. Específicamente, la figura 8c representa múltiples espejos/estaciones de cuerpo completo con pantalla dividida o múltiples pantallas. Tal como se muestra en la figura 8c, el orden en el que se representan los usuarios en el espejo permite una comunicación de mirada correcta. Cuando el usuario está mirando a la derecha, por ejemplo, en la pantalla remota, tras el volteo, estará viendo al usuario mirando a la izquierda hacia el usuario remoto.
Esto es tan sólo un ejemplo y debe organizarse cualquier número de usuarios cerca de la pantalla o en la ubicación remota para permitir un enfoque de mirada correcto. En una realización, puede aplicarse una mejora adicional de mirada y contacto visual para mejorar la experiencia. En una realización, la pantalla puede incluir capacidad de 3D, y capacidad de 3D por cada usuario en la pantalla.
En una realización, además de EyesMatch o cualquier procesamiento de imágenes informatizado en un lado, la ubicación remota puede tener capacidad informatizada adicional para manipular vídeo en el extremo alejado basándose en el seguimiento de usuario local, por ejemplo, si el usuario se acerca a la pantalla, el vídeo o imagen de extremo alejado se procesará para parecer un poco más grande y se proyectará para proporcionar una mejor sensación de una sesión en directo. Otro ejemplo es cuando un usuario se acerca en un extremo, verá un FOV más ancho en el extremo alejado.
Además, pueden proporcionarse un control de espejo virtual y características de sistema virtual para facilidad de uso del mismo. El control de espejo virtual y sistema virtual pueden incluir modos de funcionamiento de estación y modos de funcionamiento que incluyen, por ejemplo, encender, apagar, reiniciar, espejo, visualización, inactivo, y similares. El control de espejo virtual y sistema virtual pueden incluir autenticación y registro de usuarios, que pueden ser automáticos, manuales y una combinación de automáticos y manuales. El control de espejo virtual y sistema virtual pueden incluir un flujo de funcionamiento óptimo para facilitar y mejorar la experiencia del usuario. El control de espejo virtual y sistema virtual pueden incluir una o más interfaces para controlar el espejo, por ejemplo, gesto automático, voz, apuntar con los ojos, aplicación móvil, experto remoto, asistencia local y similares. El control de espejo virtual y sistema virtual pueden incluir una combinación exhaustiva de interfaces, incluyendo las siguientes: reproducir un vídeo grabado (automático/manual); efectos avanzados (manipulación de color de artículo, características de realidad aumentada, características de juegos, cambio de fondo, efecto en 3D, efecto de iluminación y similares); modo de pantalla (orientación/tamaño completo o pantalla dividida); técnicas de compartir y métodos para compartir la experiencia con amigos/expertos en tiempo real y sobre la marcha; aplicación de usuario móvil para controlar la visualización y compartición, por ejemplo, compartir vídeos e imágenes personales tomados a partir del espejo virtual o el dispositivo móvil del usuario; venta al por menor o empresa remoto para gestión general (proporcionar información de venta al por menor sobre el usuario en tiempo real con capacidad analítica y de control avanzada); y un módulo para enseñar al usuario cómo hacer funcionar el espejo (animación, vídeo, voz, indicaciones visuales y similares).
Las figuras 14, 15 y 16 representan ejemplos de un flujo de interfaz de usuario de espejo virtual (UI) que puede secuenciarse en conjunto para simular una experiencia de espejo. Por ejemplo, antes de que un usuario se ponga de pie delante del espejo, el espejo es capaz de realizar un seguimiento del usuario una vez que el usuario entra en una zona especificada delante del espejo. Basándose en el seguimiento, el motor de vídeo puede calcular una transformación de la imagen para imitar el comportamiento de espejo.
En el modo inactivo, cuando no hay ningún usuario delante del espejo, el motor puede adoptar un ajuste por defecto (por ejemplo, 2 m) y aplicar la transformación de 2 m en al flujo de cámara para crear un efecto de espejo en el entorno tal como se representa, por ejemplo, en la figura 14. En otra realización del modo inactivo, el espejo puede presentar otros vídeos de modelos, publicidad y similares.
Fuera de las horas de funcionamiento, la pantalla de espejo y/o el dispositivo informático que alimenta la pantalla puede apagarse o permanecer encendido con un salvapantallas para eliminar un envejecimiento rápido de la electrónica de visualización. La estación de espejo puede estar habilitada para encenderse automáticamente. La estación de espejo puede controlarse mediante control remoto de manera local o a través de la nube para reiniciar y entrar en funcionamiento normal.
En una realización, la zona de factor desencadenante puede estar designada con una alfombra. La alfombra puede estar designada con un patrón y color específicos que mejoran el seguimiento y la detección del usuario. Además, los colores de la alfombra pueden mejorar la calidad del vídeo. Por ejemplo, pueden usarse colores más claros para mejorar las condiciones de iluminación y mejorar la calidad del vídeo resultante. En una realización, el patrón en el color puede cambiarse de aproximadamente 5-10 cm con colores más claros y más oscuros de modo que, cuando un usuario está de pie con calzado de color oscuro o claro, el calzado del usuario se detectará y se seguirá fácilmente, y el error de distancia máximo no será de más de 5-10/2. En una realización, la alfombra puede incluir instrucciones para los usuarios que informan al usuario sobre cómo hacer funcionar el espejo. Alternativamente, en una realización, puede proporcionarse un dispositivo de funcionamiento en el que un usuario puede tocar con su pie una almohadilla de recepción para hacer funcionar el espejo con sus piernas y pies en vez de con sus manos o con la voz.
En una realización, el espejo puede pedir al usuario que permanezca de pie en la ubicación correcta, por ejemplo, cuando se acerca un usuario, el espejo puede conmutar de vuelta a modo inactivo o el espejo puede cortar las piernas del usuario en la imagen, y similares.
El espejo puede estar configurado de modo que, cuando el usuario entra en la zona de seguimiento/registro delante de la estación, el motor de vídeo reacciona y empieza a realizar un seguimiento del objeto. Basándose en la ubicación del objeto, el motor de vídeo puede ajustar la transformación de vídeo para imitar el comportamiento de espejo. Una entrada adicional en el seguimiento puede incluir la altura del usuario, ubicación espacial, postura y similares, tal como se describe en el procedimiento de EyesMatch. En este punto, el usuario todavía no está registrado en el sistema, de modo que puede realizarse un procedimiento adicional de identificación de usuario. Por ejemplo, tal como se describe en la solicitud estadounidense n.° 61/862.025, la autenticación puede incluir reconocimiento facial, una tarjeta especial que puede presentar un usuario al sistema para su exploración, un dispositivo móvil de usuario (audio, inalámbrico, código QR), u otra característica de registro biomédica. Si se identifica al usuario, puede abrirse su cuenta y puede visualizarse su última grabación, por ejemplo, en una realización, puede visualizarse una configuración de miniatura, tal como la representada en la figura 15. Alternativamente, puede visualizarse cualquier otra barra de control de imagen. Si no se identifica al usuario, puede producirse un procedimiento de registro de usuario, entonces, después de unos pocos segundos, puede abrirse una nueva cuenta y puede configurarse el espejo para empezar a grabar automáticamente.
En una realización, el espejo puede grabar durante N segundos, por ejemplo, 10-13 segundos es tiempo suficiente para permitir que el usuario tenga una buena impresión sobre cómo le queda un artículo particular y puede incluir, por ejemplo, que el usuario se dé la vuelta y similares.
En una realización, aunque el espejo puede estar configurado para empezar a grabar automáticamente cuando reconoce al usuario, si el usuario no desea tal reconocimiento automático, el espejo puede estar configurado para guardar el vídeo, el usuario puede activar una de las miniaturas anteriores, el espejo puede estar configurado para conmutar a un modo de visualización y el espejo puede estar configurado para reproducir el vídeo. Es decir, puede pedirse al usuario que ejecute un procedimiento mediante el cual se corta una escena particular por el usuario y no se guarda en el sistema.
En una realización, puede añadirse una miniatura en el espejo, lo cual puede ser útil cuando la pantalla está en una configuración estrecha, por ejemplo, 21:9, o cualquier otra configuración de pantalla ancha. En una realización, la miniatura puede visualizarse para aparecer en una barra independiente junto al flujo de espejo o bajo el flujo de vídeo imitado. Esta característica puede ser útil cuando la pantalla es más ancha de lo requerido o proporcionada para el flujo de espejo imitado.
En una realización, tal como puede observarse, por ejemplo, en la figura 15, también puede visualizarse un indicador de grabación. El indicador de grabación puede incluir visualización de una expresión tal como “REC”, un círculo de color rojo y similares.
En una realización, dado que el reconocimiento facial no es completamente fiable el 100% del tiempo, pueden visualizarse características de reconocimiento adicionales para aparecer en la pantalla durante una cantidad apropiada de tiempo, tal como unos pocos segundos. En el presente ejemplo, se abre una GUI de corchete de QR y el usuario puede mostrar al espejo una tarjeta de identificación de QR o QR que se le envió a su aplicación única, por ejemplo, en un teléfono inteligente, y comunicar eficazmente al sistema que la presente imagen facial está asociada con el usuario autenticado. Esta técnica puede usarse para permitir una fusión de usuario semiautomática en el caso en el que un usuario particular tenga más de una cuenta facial. Además, una vez fusionada la información facial, pueden realizarse medidas/mejoras faciales adicionales para mejorar el reconocimiento del usuario a lo largo del tiempo.
En una realización, que puede presentarse en la parte inferior de la pantalla, puede asociarse una contraseña adicional con el usuario, y el usuario puede tomar esta autenticación basada en contraseña y aplicarla al procedimiento de registro. En una realización, un empleado o el propio usuario puede introducir el teléfono, correo electrónico, señalización de NFC o cualquier otra información de identificación y obtener un enlace a la nube directamente o con posterioridad. En una realización, se presentan seis (6) miniaturas al usuario, aunque puede presentarse cualquier número adecuado de miniaturas. El tamaño de las miniaturas puede ser configurable para soportar una proporción razonable para la visualización.
En una realización, también puede añadirse una capacidad de control adicional, por ejemplo, empezar la grabación, borrar vídeo, añadir efectos de vídeo tales como iluminación, cambios de color, selección de fondo y similares. En una realización, todos los vídeos pueden subirse a la nube y pueden borrarse en la estación local después de algún periodo de tiempo. En una realización, los vídeos pueden procesarse después de grabarse con efectos adicionales que mejoran el vídeo o cambian el vídeo para reflejar efectos de realidad aumentada o para análisis de IMC/tomar medidas/medidas de líneas corporales. En una realización, la grabación de vídeo puede incluir la grabación de audio del entorno para su análisis adicional. En una realización, la grabación de vídeo puede incluir grabación de WLAN del entorno para la grabación de la MAC de los usuarios y posteriormente, con correlación adicional, puede estar adaptada para asociar la MAC del dispositivo móvil al usuario.
Además, puede proporcionarse un sistema para facilitar el control por un usuario del espejo. En una realización, si el usuario todavía está en la zona predefinida y se reconoció una vez por el espejo, mientras todavía permanezca de pie ahí y no esté reconociéndose a nadie más, el usuario será capaz de controlar el espejo, por ejemplo, reproducir, iniciar y detener imágenes/vídeos, eliminar imágenes/vídeos, añadir características de realidad aumentada y similares. El usuario también puede controlar el espejo mediante control por gestos o desde su dispositivo, por ejemplo, teléfono inteligente, a través de una aplicación dedicada o características de control adicionales como parte de la aplicación de venta al por menor. En una realización, el control por gestos puede permitir alguna funcionalidad básica y puede permitirse la aplicación del usuario para permitir mucha más funcionalidad con respecto al control por gestos. En una realización, el asistente en la tienda o un asistente disponible de manera virtual/remota en la nube puede ayudar al usuario a hacer funcionar el espejo. En una realización, el usuario puede establecer sus propias preferencias para la UI desde su aplicación o desde la web. Todos los ajustes dedicados del usuario pueden añadirse a la cuenta del usuario, por ejemplo, el usuario puede cambiar el tiempo de una grabación, el número de miniaturas y similares.
En un modo por defecto, el usuario puede ver sus últimos n vídeos. Los vídeos pueden haberse tomado en la ubicación de espejo específica o no, pero puede accederse a los mismos en una ubicación de almacenamiento central, por ejemplo, desde la nube. El usuario puede establecer el aspecto de las miniaturas de los vídeos de prueba locales. Desde su aplicación, el usuario puede ver todas las miniaturas y puede ser capaz de tocar las mismas o usar cualquier otro método de elección para activar la reproducción del vídeo asociado con la miniatura específica.
En una realización, las miniaturas están configuradas para aparecer encima del flujo de espejo imitado tal como puede observarse, por ejemplo, en la figura 15. Las miniaturas pueden enviarse al fondo cuando está reproduciéndose el vídeo o en modo dividido cuando no hay ninguna identificación de control por gestos tal como se muestra, por ejemplo, en la figura 16. El usuario también puede establecer la pantalla a un modo dividido tal como se muestra, por ejemplo, en la figura 16. Específicamente, la figura 16 representa un ajuste lado a lado en el que el usuario todavía puede verse a sí mismo en tiempo real en un lado de la pantalla y puede reproducir vídeos anteriormente grabados en la otra mitad.
En una realización, el control remoto del usuario puede obtener automáticamente la información de usuario identificado de modo que el asistente de la tienda puede enviar al usuario un enlace a su cuenta para el registro o para ayudar al usuario con capacidad adicional tal como cambiar colores de ropa o cambiar la ropa en general. En una realización, el usuario puede usar su dispositivo móvil para iniciar una videollamada en el espejo con un experto remoto o un amigo que puede aconsejarle en tiempo real. La llamada puede realizarse desde una aplicación dedicada o cualquier otra aplicación de tercero tal como Skype. El flujo de vídeo de espejo puede alimentarse a Skype local y el usuario remoto puede obtener el flujo de espejo en tiempo real.
La figura 17 representa una realización de un flujo de uso sugerido. Específicamente, la figura 17 representa una realización de flujo de uso de usuario de las realizaciones adicionales representadas en las figuras 14, 15 y 16 y sus descripciones asociadas. En la etapa 1701 el espejo está en posición inactiva y, en la etapa 1702, a medida que un usuario se aproxima al espejo, se detecta la presencia del usuario, por ejemplo, mediante cambio de la imagen observada por la cámara, y el sistema inicia el funcionamiento en modo de espejo. En la etapa 1703, el sistema inicia un procedimiento de autenticación para identificar y autenticar al usuario. Por ejemplo, en una realización el sistema usa reconocimiento facial para identificar y autenticar al usuario, mientras que en otra realización puede autenticarse al usuario usando un dispositivo tal como un teléfono inteligente con capacidades tales como WiFi, Bluetooth, NFC, etc. Si no se ha identificado al usuario, por ejemplo, es un nuevo usuario, puede pedirse al usuario que abra una cuenta. De lo contrario, el usuario puede proceder como invitado, aunque algunas características, tales como acceso remoto a imágenes almacenadas, pueden no estar disponibles.
En la etapa 1704, se da al usuario control de usuario sobre el dispositivo de visualización. En una realización, se guardan las preferencias de control específicas para cada usuario particular y se activan una vez que se ha reconocido al usuario. De lo contrario, se habilita una interfaz de usuario general, por ejemplo, una interfaz activada por gesto manual. En una realización, cuando se ha reconocido a un usuario, o se ha probado varios conjuntos en la misma sesión, se presentan pruebas anteriores como miniaturas en el lado del dispositivo de visualización principal. Cuando el usuario levanta la mano correspondiente al lado de las miniaturas, dependiendo de la altura de la mano, se destaca una miniatura correspondiente para su selección. A medida que el usuario levanta o baja la mano, se destaca otra miniatura correspondiente a la altura de la mano para su selección. Entonces, cuando el usuario cierra su puño, se selecciona la miniatura destacada y se visualiza la imagen o vídeo correspondiente en la pantalla principal.
Tal como se muestra en 1705, las imágenes y vídeo de cada sesión pueden almacenarse en la nube, y pueden ser accesibles de manera remota usando, por ejemplo, teléfonos inteligentes, tabletas, etc. Por tanto, un usuario puede conversar con amigos de manera remota y recibir su opinión sobre el conjunto que está probándose el usuario. Por ejemplo, el usuario puede enviar a un amigo un enlace a la prueba grabada o a un vídeo en directo en tiempo real a partir del sistema. Por tanto, el usuario puede compartir la experiencia de compra con personas ubicadas de manera remota.
Además, tal como también se muestra en 1705, dado que el sistema es capaz de identificar al usuario y también calcular parámetros del usuario, por ejemplo, peso, altura, etc., el sistema puede ser capaz de acceder a una base de datos de artículos disponibles que se recomendarán al usuario basándose en estos parámetros. Más específicamente, si el usuario ha grabado dos pruebas de dos camisas diferentes dentro de la misma sesión, el sistema puede descifrar que el usuario está interesado en adquirir una camisa y realizar o bien recomendaciones alternativas, es decir, camisas diferentes, o bien recomendaciones complementarias, por ejemplo, pantalones específicos que van bien con las camisas que se ha probado. Además, dado que el sistema puede identificar la camisa y la marca de la camisa, puede ser capaz de ofrecer incentivos específicos de ese fabricante, tal como se muestra a modo de ejemplo en 1706.
Además, en 1706 al usuario se le puede ofrecer la capacidad de cambiar colores sin tener que cambiar realmente la ropa. Tal como se explicó anteriormente, mediante el uso de múltiples máscaras o capas, el sistema es capaz de cambiar el color del artículo, al tiempo que mantiene el efecto visual realista del material textil según se lleva puesto por el usuario. Dado que el sistema puede mantener una capa de sombreado, una capa de textura, una capa de reflejo, etc., la capa de color puede cambiarse mientras se mantienen todas las demás capas, de tal manera que la imagen representada gráficamente conserva todas las características de la imagen anterior, cambiando tan sólo el color.
Con el fin de evitar la complicación del flujo de la experiencia delante del espejo, una aplicación complementaria puede permitir características y ajustes adicionales, por ejemplo, un usuario avanzado que se siente cómodo con el control por gestos puede habilitar más gestos que ayudarán a hacer funcionar características avanzadas sin el uso de una aplicación de interfaz táctil. Para usuarios que no se sienten cómodos con los gestos manuales, a tales usuarios se les pueden proporcionar características automatizadas básicas y puede usarse la aplicación móvil para hacer funcionar la otra funcionalidad avanzada.
La figura 18 es un diagrama de bloques para explicar un funcionamiento en modo de retardo del espejo. El modo de retardo puede implementarse en cualquiera de las realizaciones descritas en el presente documento. De manera notable, el modo de retardo puede implementarse en software, hardware o combinación de software y hardware. Por ejemplo, el modo de retardo puede implementarse en un medio legible por ordenador que almacena un programa que, cuando se ejecuta por un procesador, hace que el espejo implemente el modo de funcionamiento de retardo. El modo de retardo puede entenderse mejor mediante referencia a su solución a una deficiencia bien conocida del espejo tradicional. Concretamente, cuando una persona se prueba un conjunto delante de un espejo tradicional, esa persona tiene dificultad para ver cómo le queda el conjunto en diferentes ángulos, y especialmente desde atrás. Este problema se resuelve mediante las diversas implementaciones del modo de retardo, tal como se muestra a modo de ejemplo a continuación.
En diversas implementaciones del modo de retardo, el sistema de espejo resuelve el problema de espejo tradicional reproduciendo una sesión de prueba usando un retardo, de modo que un usuario puede ver la sesión en semitiempo real. Por ejemplo, el usuario puede probarse un conjunto delante del espejo y girar 360 grados. La sesión de prueba grabada se reproducirá en semi-tiempo real implementando un retardo en la reproducción de la sesión. Por tanto, cuando el usuario completó el giro y está orientado hacia el espejo, la sesión comienza la reproducción, de modo que el usuario puede ver todo el giro y puede ver el conjunto desde diferentes ángulos, incluyendo desde atrás.
El modo de retardo puede implementarse de muchas maneras. Por ejemplo, el sistema puede establecerse con dos parámetros: tiempo de retardo y periodo de grabación. El tiempo de retardo indica cuánto dura el retardo de la reproducción, y el periodo de grabación indica cuánto dura la sesión de grabación. Por ejemplo, puede decidirse que un usuario promedio tarda 20 segundos en probarse un conjunto y girar 360 grados para comprobar el conjunto desde todos los ángulos. En tal caso, el periodo de grabación puede establecerse a 20 segundos. Entonces, el retardo puede establecerse, por ejemplo, a de cero a cinco segundos. En tal caso, cuando se inicia la sesión de prueba, el sistema graba una sesión de 20 segundos de longitud. Si el retardo se establece a cero, el sistema empezará a reproducir la sesión inmediatamente después de completarse la grabación de la sesión de 20 segundos. A la inversa, si el tiempo de retardo se establece a cinco segundos, la sesión se reproducirá cinco segundos después de completarse la grabación de la sesión de 20 segundos.
Diversas realizaciones gestionan la proyección en la pantalla durante la grabación de manera diferente. Por ejemplo, en una realización, antes y/o durante la sesión de grabación, el sistema proyecta sobre la pantalla instrucciones para el usuario, por ejemplo, que indican el inicio de la sesión o que indican al usuario que gire. En la figura 19 se ilustra un ejemplo de este tipo, que proporciona un temporizador para el inicio de la sesión. La indicación puede empezar después de que el usuario active la sesión en modo de retardo, por ejemplo, seleccionando un botón de inicio, o de manera automática cuando el sistema de espejo reconoce la presencia de un usuario delante del espejo y sale del modo inactivo. En otra realización, el sistema de espejo proyecta un vídeo a modo de espejo en directo de la sesión, pero también graba y reproduce la sesión según el ajuste de parámetros del modo de retardo. Una ventaja de proyectar un vídeo a modo de espejo en directo de la sesión es que mantiene el aspecto de un espejo convencional, haciendo que sea más fácil para un usuario interaccionar con el sistema de espejo. Por tanto, en una realización de este tipo, a medida que la cámara graba la sesión, el procesador aplica las diversas transformaciones tal como se detalló en las realizaciones anteriores para generar un flujo de vídeo a modo de espejo, que se visualiza en la pantalla, pero también se almacena en memoria. Cuando termina el periodo de grabación de sesión y caduca el tiempo de retardo, se recupera el vídeo a modo de espejo a partir de la memoria y se reproduce en la pantalla. Ahora se describirá una realización del modo de retardo haciendo referencia a la figura 18. El bloque 1800 indica que el espejo está en modo inactivo o en modo de espejo en tiempo real, tal como se explica en diversas realizaciones en el presente documento. En modo de espejo en tiempo real el usuario puede verse a sí mismo en directo en el espejo digital. En este modo, la cámara envía un flujo de vídeo al procesador, que procesa el flujo que va a proyectarse como flujo de espejo digital (vídeo a modo de espejo). Alternativamente, el espejo puede estar en algún modo inactivo, mostrando publicidad, modo demostración, explicación sobre cómo hacer funcionar el espejo, etc.
El bloque 1801 indica que un usuario se ha acercado al espejo. Este acontecimiento puede detectarse por el sistema de espejo automáticamente, por ejemplo, mediante análisis del flujo de vídeo a partir de la cámara, usando un sensor de movimiento, etc. La aparición del usuario delante de la pantalla puede usarse para entrar automáticamente en el modo de retardo. Alternativamente, la conmutación al modo de retardo puede realizarse manualmente por el usuario usando, por ejemplo, control remoto, voz, gestos, etc.
En el bloque 1802 se indica que el espejo conmutó al modo de retardo. Tal como se explicó anteriormente, el modo de retardo puede ser configurable, es decir, la longitud del retardo y la longitud de la sesión de grabación. El modo de retardo debe configurarse para proporcionar tiempo suficiente para que el usuario pueda verse a sí mismo en semi-tiempo real y previsualizar el movimiento mientras todavía tiene la sensación de verse a sí mismo en un espejo.
El retardo puede implementarse de múltiples maneras, pero una manera es dirigir el flujo en directo desde la cámara a un dispositivo de memoria, por ejemplo RAM, unidad en estado sólido, disco duro, etc., durante 2-5 segundos. Una vez llena la memoria intermedia de FIFO, se extrae el flujo trama a trama a la tarjeta gráfica y se representa gráficamente en la pantalla. Si la tarjeta gráfica tiene suficiente memoria, la memoria intermedia de FIFO puede definirse en la tarjeta gráfica, pero si no es así, RAM es una buena opción para un breve retardo. De lo contrario, para un retardo prolongado, una unidad en estado sólido o un disco duro es una solución mejor. La transformación a modo de espejo puede realizarse antes de almacenar en la memoria o después de recuperar las tramas.
En una realización, durante el tiempo de retardo la imagen está congelada en la pantalla, o se visualiza algún gráfico en la pantalla. En una realización, durante el tiempo de inicio de retardo una GUI está ocultando la imagen congelada, de modo que los usuarios no pueden ver lo que está sucediendo al flujo de espejo/cámara.
En una realización, el flujo a partir de la cámara siempre se divide en flujo en directo y memoria intermedia. En el modo en tiempo real, el flujo en directo está representándose gráficamente en la pantalla, y la memoria intermedia elimina la última trama una vez que obtiene una nueva trama. En modo de retardo, se elimina el flujo en directo trama a trama durante el modo de retardo y la trama que sale de la memoria intermedia se representa gráficamente en la pantalla. De esta manera, las transiciones entre retardo y tiempo real son rápidas. En esta realización, la transformación a modo de espejo se realiza mejor antes de almacenar en la memoria y representar gráficamente el flujo en directo en la pantalla.
El bloque 1804 representa la sesión de retardo. En una realización, el modo de retardo se implementa enviando simplemente el flujo de vídeo a una memoria intermedia de FIFO, en la que cada trama se recupera después de un retardo de tiempo establecido. La longitud del retardo puede establecerse previamente. Por consiguiente, una vez que el sistema de espejo entra en el modo de retardo en la realización, el usuario ve continuamente en la pantalla un flujo de vídeo a modo de espejo en semi-tiempo real, es decir, retardado. En otra realización, la duración del modo de retardo también puede configurarse, por ejemplo de 8-30 s, tras lo cual el sistema de espejo vuelve al modo de espejo en tiempo real. Durante el periodo de tiempo del modo de retardo el usuario verá el flujo de espejo de manera retardada, es decir, en semi-tiempo real. Por tanto, cuando el usuario se gira, el usuario tiene suficiente tiempo para completar un movimiento de giro de 360 grados y, cuando el usuario ha terminado, el usuario puede verse a sí mismo girando para previsualizar una vista de 360 grados, o cualquier otro movimiento que el usuario desee capturar de una manera en semi-tiempo real. En otra realización, se establecen previamente un periodo de retardo y duración de modo de retardo. En esta realización, una vez que el sistema entra en modo de retardo, el flujo de vídeo se almacena en una memoria de FIFO, sin embargo, las imágenes no se recuperan hasta que ha transcurrido la duración de modo de retardo y ha pasado el periodo de retardo. Sólo entonces se recuperan las imágenes y se visualizan como vídeo a modo de espejo retardado.
En cualquiera de las realizaciones de modo de retardo descritas en el presente documento, puede concederse al usuario la capacidad de interrumpir, rebobinar o reproducir la sesión retardada.
El bloque 1805 ilustra características opcionales. Según esta realización opcional, en paralelo con la previsualización en semi-tiempo real (modo de retardo), el flujo a modo de espejo puede capturarse en la memoria de modo que, al final de la sesión, el usuario puede reproducir su sesión y verse de nuevo a sí mismo. También en este caso, puede concederse al usuario la capacidad de interrumpir, rebobinar o reproducir la sesión retardada. En el caso en el que el usuario inicia sesión, también puede elegir comparar con una grabación anterior en pantalla completa o lado a lado.
Además, almacenando la sesión en memoria, el usuario es capaz de descargar la sesión a un dispositivo móvil, compartir la sesión, por ejemplo, en redes sociales, enviar un enlace a familiares y amigos, etc. Es decir, una vez que se ha terminado la sesión y se crea el archivo grabado como imagen o vídeo y se comprime opcionalmente, puede compartirse el archivo. Compartir el archivo puede realizarse, por ejemplo, subiendo el archivo a la nube, a un número de teléfono de usuario designado, correo electrónico, código QR o código de autenticación automática a partir de comunicación de corto alcance tal como NFC, BT, etc. Una vez almacenado el archivo en la nube, el usuario puede obtener un enlace para abrir el vídeo y/o compartirlo desde una aplicación que responde directamente con sus cuentas sociales. Alternativa o adicionalmente, el usuario puede obtener el archivo directamente a partir del sistema de espejo en su dispositivo de manera inalámbrica. Además, el sistema puede subir el vídeo a la nube, pero, en vez de enviar un enlace al vídeo, el usuario puede ser capaz de acceder a su grabación desde una aplicación dedicada que ha accedido a su cuenta desde la API.
En el bloque 1806, una vez grabado el archivo y que el usuario desea explorar la sesión con modificación de imagen, el usuario puede reproducir el vídeo en un motor de procesamiento de imágenes, en tiempo real o con procesamiento posterior, por ejemplo, para cambiar el fondo de la escena, modificar le color o material textil de su ropa o añadir accesorios tales como gafas, etc. Adicionalmente, en 1807, puede analizarse el vídeo almacenado en tiempo real o procesarse posteriormente para añadir UI designada y/o realidad virtual al vídeo, o simplemente para generar más información que puede usarse por la aplicación (por ejemplo, calcular el IMC tal como se explicó anteriormente).
En una realización la grabación empieza al final del periodo de conmutación, en una realización la grabación empieza después de unos pocos segundos en el modo de retardo, mientras que en una realización la grabación empieza y se detiene mediante detección de acontecimiento automatizada, como la orientación de la cara del usuario, que el usuario empiece a girar, etc., tal como se explicará adicionalmente con referencia a la figura 20. En una realización, el usuario iniciará el modo de retardo de manera manual o automática durante unos pocos segundos, por ejemplo, 5-30 segundos, y el motor iniciará el modo de retardo. Al final del temporizador de retardo, el sistema volverá automáticamente al modo en tiempo real. En una realización, la longitud de retardo en el modo de retardo es más corta que el periodo de modo de retardo, por ejemplo, la longitud de retardo puede configurarse durante 2-5 segundos, mientras que el periodo de retardo es de 15-30 segundos. En una disposición de este tipo, el vídeo a modo de espejo empieza a enviarse en flujo en la pantalla después de 2-5 segundos, mientras que toda la sesión durará 20-30 segundos, tras lo cual el sistema volverá al modo en tiempo real. Adicionalmente, si se detecta que no hay ningún usuario presente delante del espejo, el sistema puede volver al modo inactivo.
En una realización, cuando se desencadena el modo de retardo manual o automáticamente se congela la representación gráfica en tiempo real hasta la duración del retardo real, y opcionalmente se impone una GUI sobre la pantalla. El flujo de vídeo durante ese tiempo se dirige y se guarda, por ejemplo, en una memoria intermedia en RAM o HD. Después de que la memoria intermedia esté completa, o tras alcanzarse la longitud de retardo, el dispositivo de representación gráfica obtiene el flujo retardado a partir de la memoria intermedia y el usuario puede verse a sí mismo de manera retardada. Al final del modo de retardo el flujo de vídeo vuelve al tiempo real.
En una realización, durante el tiempo de alimentación de la memoria intermedia con el flujo y congelación del dispositivo de representación gráfica, se representa gráficamente una GUI o UI en la pantalla, y puede ocultar de manera completa o semitransparente la congelación del flujo en tiempo real. De esa manera, las transiciones entre modo en tiempo real y de retardo son más suaves. La Ul básicamente oculta el periodo de acumulación de la memoria intermedia.
En una realización, la memoria intermedia siempre se llena en paralelo con la presentación en tiempo real, y el dispositivo de representación gráfica simplemente conmuta entre obtener la alimentación a partir de la memoria intermedia con retardo o a partir de la alimentación en tiempo real. En una realización de este tipo, puede no haber ninguna necesidad de ocultar la acumulación de retardo.
En una realización, durante el modo de retardo el motor graba automáticamente al usuario y, al final del modo de retardo, el usuario puede elegir si desea reproducir de nuevo la sesión en modo de retardo u obtener la sesión para sí mismo o compartirla directamente en su red social.
En una realización, el usuario puede reproducir la sesión retardada en una pantalla dividida para comparar con tiempo real o comparar con otra grabación.
En una realización, el usuario puede elegir someter a procesamiento posterior el vídeo grabado con imagen o vídeo de fondo diferente o material textil diferente de color diferente o ropa y accesorios completamente diferentes.
En una realización, durante la sesión de retardo el usuario puede invitar a amigos o socio de ventas o estilista para que le ayude con la sesión.
En una realización, la sesión de retardo puede usarse para otras aplicaciones, además o en vez de probarse ropa. Por ejemplo, el modo de retardo puede usarse en un programa de pérdida de peso, baile, práctica de gimnasio, exploración corporal, y otros deportes.
En una realización, el sistema puede detener y congelar automáticamente la imagen de la espalda del usuario durante un periodo de tiempo establecido o hasta que el usuario le indica al sistema que reanude la reproducción o el modo en tiempo real.
En una realización, el sistema conmutará automáticamente a un modo de retardo cuando se reconoce que un usuario está entrando en el campo de visión o cuando se determina que el usuario dentro del ha realizado un movimiento desencadenante. Por ejemplo, cuando se usa para probarse ropa, el movimiento desencadenante puede ser cuando el usuario empieza a girar. Para otros casos de uso, pueden programarse previamente otros movimientos para que sean un movimiento desencadenante y el análisis de la alimentación a partir de la cámara buscará ese movimiento previamente programado. Cuando se detecta el movimiento previamente programado, el sistema emite una señal para volver al modo de retardo. En otro ejemplo, el sistema puede usarse para golf o béisbol, de tal manera que el movimiento desencadenante será un golpe con el palo o el bate.
En la figura 20 se muestra a modo de ejemplo una realización que implementa una entrada automática en modo de retardo. En este ejemplo, la cámara 2010 de vídeo del sistema 2000 de espejo envía un flujo 2015 de vídeo capturado a un módulo 2020 de transformación. El módulo 2020 de transformación funciona con el flujo 2015 de vídeo para generar un flujo 2025 a modo de espejo en tiempo real. El módulo 2020 de transformación puede implementarse según cualquiera de las realizaciones descritas en el presente documento, siguiendo cualquiera de los métodos y procedimientos descritos en el presente documento para transformar un flujo de vídeo a partir de la cámara 2010 para generar una imagen que imita una imagen de un espejo.
El flujo 2025 de vídeo a modo de espejo en tiempo real se envía a la pantalla 2005 durante un modo en tiempo real o modo inactivo de funcionamiento. El flujo 2025 de vídeo a modo de espejo en tiempo real también se envía a una memoria 2030 intermedia y a un módulo 2035 de análisis de imágenes. El módulo 2035 de análisis de imágenes analiza de manera continua el flujo 2025 de vídeo a modo de espejo en tiempo real. Cuando el módulo 2035 de análisis de imágenes detecta un usuario que aparece en el flujo 2025 de vídeo a modo de espejo en tiempo real, emite una instrucción al controlador de sistema para cambiar de modo inactivo a modo en tiempo real. Adicionalmente, cuando el módulo 2035 de análisis de imágenes detecta que el usuario empieza a girar, el módulo 2035 de análisis de imágenes emite una instrucción 2040 al controlador para que entre en modo de retardo. Tras recibir la indicación para entrar en modo de retardo, se indica el tiempo de la trama actual en la memoria intermedia y el contador empieza a contar la longitud de retardo. Cuando se alcanza la longitud de retardo, se recuperan las imágenes a partir de la memoria 2030 intermedia como flujo 2045 retardado y se envían a la pantalla 2005 para su presentación retardada.
En una realización, se supone que se tardó algo de tiempo en que el modo 2035 de análisis de imágenes detectara que el usuario empieza a girar. Por tanto, en esta realización, al recibir la indicación para entrar en modo de retardo, se indica el tiempo de la trama actual en la memoria intermedia y el contador empieza a contar la longitud de retardo. Cuando se alcanza la longitud de retardo, se recuperan las imágenes a partir de la memoria 2030 intermedia como flujo 2045 retardado y se envían a la pantalla 2005 para su presentación retardada. Sin embargo, la recuperación de imágenes desde la memoria intermedia empieza con imágenes grabadas un periodo avanzado antes del tiempo indicado. Por ejemplo, el flujo 2045 retardado empieza desde la imagen que se grabó en la memoria intermedia 2-5 segundos antes del tiempo en el que el módulo 2035 de análisis de imágenes emite la instrucción de entrar en modo de retardo.
En una realización, el usuario puede elegir si el sistema en modo de retardo graba su sesión o no.
En una realización, el usuario puede establecer el sistema para enviar automáticamente el vídeo a su cuenta en la nube/dispositivo móvil o aplicación dedicada.
En una realización, el espejo identificará al usuario mediante su reloj inteligente, aplicación móvil u otro identificador.
En una realización, el espejo o quisco remoto transmitirá una baliza y el dispositivo móvil o reloj inteligente del usuario puede captarla y usar la información para obtener acceso y control sobre el espejo. Por ejemplo, un usuario identificado que obtiene acceso obtendrá automáticamente la sesión grabada en su dispositivo o cuenta en la nube.
En una realización, la estación de espejo puede estar configurada para identificar el comportamiento del usuario y adaptar el control por gestos a la manera en la que el usuario intenta realizarlo, por ejemplo, algunos usuarios apuntarán, algunos usuarios agarrarán, y algunos usuarios empujarán para accionar una miniatura. El sistema puede estar adaptado para aprender y actualizar un control de perfil por cada usuario.
En una realización, la estación de espejo puede soportar instrucciones para el usuario, de modo que, cuando el sistema identifica a un usuario que no está controlando el espejo de la manera correcta, puede aparecer una breve explicación y guiar al usuario por el procedimiento.
En una realización, el espejo puede estar adaptado para demostrar características predeterminadas basándose en información referente a la familiaridad del usuario con el sistema, por ejemplo, basándose en si el usuario es un usuario por primera vez, basándose en el número de vídeos en el sistema para el usuario, basándose en la última vez que el usuario requirió que el sistema habilitara instrucciones, puede estar adaptado para proporcionar una asistencia por voz de funcionalidad relativamente más sencilla, puede estar adaptado para proporcionar asistencia de experto remoto y similares.
En una realización, el concepto de un número predefinido de miniaturas, tal como se muestra en las figuras 15 y 16, puede sustituirse por un menú deslizante de miniaturas.
En el modo de funcionamiento normal tal como se representa, por ejemplo, en las figuras 15 y 16, el usuario puede mover sus manos arriba y abajo para seleccionar miniaturas, una vez que el usuario detiene su mano, puede elegirse la miniatura más cercana y puede designarse de tal manera que el usuario obtendrá realimentación para la selección. Por ejemplo, puede proporcionarse un sombreado azul alrededor de la miniatura seleccionada para indicar su elección. Cuando el usuario agarra, empuja o apunta con sus manos/dedos a la miniatura, el vídeo puede empezar a reproducirse basándose en el ajuste de modo de visualización, y el usuario también puede detener el vídeo y realizar otras operaciones y similares. Una vez que el usuario, por ejemplo, detiene el vídeo reproducido, puede visualizarse una barra de selección en la miniatura para designar el estado del vídeo reproducido y devolver acuse de recibo al usuario de que su comando se aceptó por la estación de espejo.
En una realización, para simplificar adicionalmente el funcionamiento, el control por gestos con la mano puede estar configurado para detectar un salto entre una miniatura aunque el usuario esté moviendo las manos a la izquierda y a la derecha en lugar de arriba y abajo o cualquier otra dirección. El sistema puede estar configurado para adaptarse al alcance y la velocidad de movimientos de manos del usuario, de modo que el usuario puede ver la elección de modo que puede también adaptar su velocidad y alcance de movimiento.
En una realización, puede añadirse el logotipo de una marca específica o socio o cualquier otro logotipo al vídeo grabado, de modo que el usuario obtendrá, por ejemplo, vídeo con el logotipo de la marca, y el usuario puede compartir el vídeo resultante con sus amigos.
En una realización, el espejo puede estar configurado para proporcionar capacidad de realidad aumentada convincente mediante un artículo que se probó anteriormente otro usuario con un tipo de cuerpo similar. Esta técnica de coincidencia proporciona una experiencia mucho más convincente.
El espejo puede estar configurado para llevar a cabo negocios. Dado que la estación de espejo según la presente invención es un dispositivo nuevo en el mercado, los usos del espejo para crear un flujo de ingresos también son únicos. Las siguientes realizaciones incluyen detalles referentes a cómo puede usarse un espejo activo para crear un flujo de ingresos.
El espejo puede insertar publicidad, cupones y logotipos en el espejo en modo inactivo, dentro de una porción especificada del espejo o mediante modo de pantalla dividida. El espejo también puede introducir publicidad, cupones y logotipos en vídeos grabados de modo que un usuario puede ver el vídeo con la publicidad/cupón/logotipo. Estas visualizaciones pueden venderse como publicidad. El usuario puede compartir la publicidad/cupón/logotipo. Al usuario se le puede ofrecer un incentivo a cambio de compartir la publicidad/cupón/logotipo.
Puede analizarse la prueba de ropa por parte del usuario para determinar medidas/características tales como IMC, sexo, origen, edad, medidas corporales, expresión facial, expresión vocal, tallas recomendadas y similares. Estos datos pueden incorporarse en aplicaciones de comercio electrónico. Estos datos tienen un alto valor y pueden compartirse con marcas, el usuario, un tercero basándose en un acuerdo con el usuario y las marcas, etc. Usando la presente invención, puede generarse un flujo de ingresos a partir de los datos analizados referentes al usuario, por ejemplo, presentando al usuario publicidad dirigida y precisa.
El espejo puede estar configurado como un servicio que permite que un usuario interaccione con expertos, un amigo o un asesor, contemplando el usuario una compra particular. Pueden generarse ingresos adicionales usando la presente invención fomentando oportunidades de venta relacionadas con el consejo del experto remoto. Los expertos pueden puntuarse por el usuario, y un usuario puede escoger su propio experto favorito o seleccionar un experto designado por la marca.
Al usuario se le puede presentar una visualización que incluye una sugerencia y/o incentivo para un artículo particular que se ha probado el usuario, por ejemplo, con diferentes colores. Este método presenta una oportunidad adicional para fomentar un aumento de ventas. Puede usarse realidad aumentada para fomentar un aumento de ventas. Específicamente, basándose en información obtenida por el espejo y otras pruebas de usuario, puede generarse una visualización de realidad aumentada más convincente basándose en una combinación de información sobre el usuario y usuarios similares que tienen un mismo tipo de cuerpo.
En una realización, la red social del usuario puede integrarse para ayudar al usuario y/o comentar sobre la contemplación del artículo por parte del usuario. El sistema puede estar configurado para compartir los vídeos del usuario. Las características de red social pueden usarse para ampliar la base de datos de clientes abordables. En una realización, el usuario puede subir sus propias fotografías, los motores de vídeo pueden estar configurados para procesar las imágenes y proporcionar un análisis similar de IMC, origen de cara y similares. El sistema puede proporcionar tallas recomendadas para aplicaciones de comercio electrónico. El sistema puede mostrar el artículo que se compró en diferentes colores. De esta manera, el espejo puede para obtener información de mercadotecnia para una base de datos apropiada aunque el usuario no esté físicamente de pie delante del propio espejo.
En una realización, el usuario puede ver su talla predicha en la aplicación y actualizar las medidas, lo cual puede usarse para mejorar el modelo de predicción de talla e incluir ajustes para marcas particulares.
Además, el diseño mecánico y el diseño de aspecto del equipo pueden variar. La pantalla puede montarse para permanecer en la pared o bien en vertical o bien en horizontal o puede ser conmutable entre vertical y horizontal (mediante una solución mecánica más grande o similar, la pantalla puede inclinarse, hacerse rotar y similares). La pantalla puede montarse en un soporte dedicado, montarse en una pared o montarse detrás de la pared. Cuando la pantalla está dentro de la pared, debe proporcionarse un conducto de ventilación térmica para soportar la pantalla y el dispositivo informático.
La figura 21 representa una realización de una unidad completamente autónoma que puede conectarse a la parte trasera de cualquier pantalla de TV y convertir la pantalla de TV en un espejo digital, mientras que la figura 22 es una vista lateral de la unidad de la figura 21, mostrada conectada a la parte trasera de una TV. Una ventaja de la realización mostrada en las figuras 21 y 22 es que el sistema puede funcionar en cualquier TV digital, de modo que el comprador de la unidad puede o bien usar una TV existente o bien comprar una TV de su elección. Eso puede reducir drásticamente el coste del sistema, especialmente si ya se dispone de una TV. Además, el sistema puede instalarse en cualquier TV, de tal manera que la TV puede usarse habitualmente como TV, y conmutarse a un espejo siempre que se necesite.
Tal como se ilustra en las figuras 21 y 22, el sistema 2110 de espejo digital comprende un cerramiento 2112, que aloja un procesador. En una realización, el procesador es un mini-PC, tal como un dispositivo de la serie Brix, disponible de Gigabyte Technology™ de Taiwán, y que está disponible para su compra por consumidores en tiendas de electrónica, tales como Fry's Electronics y MicroCenter. La ventaja de usar un mini-PC es que es un diseño de PC ultracompacto, midiendo tan sólo 62 x 111,4 x 114,4 mm. Esto hace que todo el sistema sea extremadamente compacto y fácil de conectar a la parte trasera de cualquier TV usando un mecanismo 2115 de conexión. El mecanismo 2115 de conexión puede ser un soporte de VESA en el caso en el que la TV está montada en la pared, u otro mecanismo de conexión, tal como un elemento de sujeción mecánico especialmente diseñado, un adhesivo de doble cara, Velcro®, etc. Tal como se muestra en la figura 22, cuando se conecta el cerramiento 2112 directamente a la parte trasera de la TV 2005, puede usarse un mecanismo de conexión en dos partes, indicado como parte 2115 conectada al cerramiento 2112, y parte 2115' conectada a la parte trasera de la Tv 2005, en el que las dos partes 2115 y 2115' se conectan entre sí, ya sea mecánicamente, usando adhesivo, Velcro®, etc.
El procesador dentro del cerramiento incluye un microprocesador, tal como Intel Core, memoria, un DSP para procesar el vídeo, transmisores inalámbricos, tales como WiFi, Bluetooth, etc. Por ejemplo, el dispositivo Brix incluye un procesador Intel Core, memoria de estado sólido o disco duro, transmisores inalámbricos, y conexión LAN. De manera importante, para una visualización mejorada, el dispositivo Brix incluye una salida 2117 de HDMI con resolución de 4K, que está conectada a la entrada de HDMI de la TV 2005. También se muestra en la figura 21 la entrada de potencia al procesador, que se conecta a una toma convencional de 110 V o 240 V, dependiendo del país. Además, puede usarse un procesador de señales digitales de alta calidad para obtener los mejores resultados para el procesamiento de las señales de vídeo. Por ejemplo, puede usarse la tarjeta gráfica Intel® Iris® Pro para el procesamiento de vídeo.
El cerramiento 2112 incluye una extensión 2113 sobre la cual está montado un alojamiento 2114 de fotosensor. En la realización de la figura 22, el alojamiento de fotosensor está montado en la extensión 2113 mediante un dispositivo 2116 de acoplamiento ajustable, de modo que la elevación del campo de visión del fotosensor puede ajustarse, por ejemplo, haciendo rotar el alojamiento 2114 alrededor del dispositivo 2116 de acoplamiento, tal como se muestra mediante la flecha curva. El fotosensor (no mostrado) está alojado dentro del alojamiento 2114 y envía su señal al procesador para su procesamiento a través de un cable 2118, mostrado en la figura 21 con propósitos de ilustración, pero debe estar oculto de la vista. El cable 2118 puede ser un cable eléctrico o fibra óptica.
Según una realización, se proporciona un sistema para permitir una reproducción de vídeo en tiempo real y con retardo. El sistema puede usarse para imitar un espejo para permitir de ese modo que un usuario se pruebe un artículo de ropa. El sistema también puede usarse para diversos propósitos de entrenamiento, en los que puede omitirse la función de imitación de espejo. El sistema comprende: un cerramiento configurado para alojar en el mismo un procesador, teniendo el cerramiento una extensión; un alojamiento de sensor óptico acoplado a la extensión; un procesador alojado dentro del cerramiento, comprendiendo el procesador una memoria y un motor de vídeo y teniendo una salida configurada para enviar imágenes digitales a una pantalla digital; un sensor óptico alojado dentro del alojamiento de sensor óptico y que tiene medios para enviar imágenes al procesador; y un mecanismo de conexión configurado para conectar el cerramiento a una parte trasera de una pantalla digital.
El método implementado por ordenador según la invención se ilustra en la figura 23. La figura 23 ilustra un diagrama de flujo para un procedimiento que puede ejecutarse mediante cualquiera de las realizaciones divulgadas en el presente documento. La etapa 2300 ilustra un estado de funcionamiento normal, en el que el flujo de vídeo en directo a partir del fotosensor se presenta en la pantalla y también se guarda en memoria. Cuando la pantalla está funcionando como espejo digital, el flujo de vídeo en directo puede procesarse antes de presentarse en la pantalla y/o almacenarse en memoria, aplicando el volteo y la transformación de modo que imita un espejo. De lo contrario, no se necesita ningún volteo o transformación.
En la etapa 2302, cuando se emite un factor desencadenante, por ejemplo, haciendo un usuario clic en un icono, analizando movimiento en el flujo de vídeo en directo, etc., el sistema entra en el modo de retardo. En esta realización, cuando el sistema entra en modo de retardo, en la etapa 2304 la trama presentada en la pantalla en ese momento se congela o se interrumpe. Sin embargo, el flujo de vídeo en directo a partir del fotosensor sigue almacenándose en la memoria. Está monitorizándose un tiempo de retardo y, cuando el tiempo alcanza el presente tiempo de retardo en 2306, las tramas de la memoria se envían a la pantalla at 2308, empezando desde la trama que sigue inmediatamente a la trama congelada. Durante ese tiempo, se monitoriza un periodo de retardo y, cuando, en 2310, se alcanza el periodo de retardo, el sistema vuelve al funcionamiento normal 2300. Se necesita que el tiempo de retardo sea más corto que el periodo de retardo. Además, por experiencia, se ha mostrado que es mejor establecer el tiempo de retardo a desde uno hasta cinco segundos, mientras que el periodo de retardo es de desde cinco hasta treinta segundos.
La figura 24 ilustra un diagrama de flujo alternativo de un procedimiento según la invención que puede implementarse mediante cualquiera de las realizaciones divulgadas en el presente documento. La etapa 2400 ilustra un estado de funcionamiento normal, en el que el flujo de vídeo en directo a partir del fotosensor se presenta en la pantalla y también se guarda en una memoria. Cuando la pantalla está funcionando como espejo digital, el flujo de vídeo en directo puede procesarse antes de presentarse en la pantalla y/o almacenarse en memoria, aplicando el volteo y la transformación de modo que imita un espejo. De lo contrario, no se necesita ningún volteo o transformación.
En la etapa 2402, cuando se emite un factor desencadenante, por ejemplo, haciendo un usuario clic en un icono, analizando movimiento en el flujo de vídeo en directo, etc., el sistema entra en el modo de retardo. En esta realización, cuando el sistema entra en modo de retardo, en la etapa 2404 se marca un tiempo, por ejemplo, almacenando el tiempo en el que se emitió el factor desencadenante o marcando una trama de retardo, por ejemplo, almacenando la dirección de memoria de la trama actual, es decir, la trama que se almacenó en el momento en el que se emitió el factor desencadenante. En 2406, el sistema continúa presentando el flujo de vídeo en directo en la pantalla y también se continúa almacenando el flujo de vídeo en directo a partir del fotosensor en la memoria. El tiempo de retardo está monitorizándose y, cuando el tiempo alcanza el presente tiempo de retardo en 2408, las tramas a partir de la memoria se envían a la pantalla at 2310, empezando desde el tiempo marcado en la etapa 2404. Durante ese tiempo, se monitoriza un periodo de retardo y, cuando, en 2412, se alcanza el periodo de retardo, el sistema vuelve al funcionamiento normal 2400. Se necesita que el tiempo de retardo sea más corto que el periodo de retardo. Además, por experiencia, se ha mostrado que es mejor establecer el tiempo de retardo a desde uno hasta cinco segundos, mientras que el periodo de retardo es de desde cinco hasta treinta segundos.
Los métodos ilustrados en las figuras 23 y 24 son especialmente beneficiosos ya que lo más probablemente el usuario no constatará la transacción de flujo en directo a flujo retardado, dado que en ese momento el usuario no estará mirando a la pantalla. Por ejemplo, un usuario que usa el sistema para mejorar un golpe de golf mirará a la pantalla cuando adopta la posición, momento en el cual el usuario verá alimentación en directo. Cuando el usuario golpea, el usuario no estará mirando a la pantalla, y ese es el momento en el que se producirá la transición a modo de retardo y el usuario no lo verá. Después de que el usuario realice el golpe, el usuario puede mirar al espejo, momento en el cual el usuario verá la pantalla que reproduce las tramas retardadas y puede inspeccionar el golpe. Después de eso, el sistema volverá al funcionamiento normal. Por tanto, lo más probablemente el usuario no verá el salto forzado o bien de una trama congelada o bien de un flujo en directo al flujo de vídeo retardado.
En una realización, la pantalla puede tener una proporción de un espejo, por ejemplo, 21:9.
En una realización, la pantalla puede tener una proporción regular, es decir, 16:9, y el ajuste de la visualización puede ser pantalla dividida o barras oscuras en los lados para proporcionar la proporción de espejo, es decir, 21:9. En una realización, la pantalla puede presentarse en un acabado mate para eliminar reflejos que pueden verse sobre colores oscuros. Dicho de otro modo, cuando el usuario lleva puesto negro, y la pantalla no tiene acabado mate, el usuario puede ver su propio reflejo de espejo verdadero; este efecto no se desea y puede reducir, distorsionar o arruinar completamente el efecto de espejo virtual.
La trama puede presentarse de una manera tal como se representa en las figuras 14, 15 y 16. Puede usarse una trama mínima o la trama puede ocultarse detrás de una pared.
En una realización, las cámaras o las cámaras controladas pueden estar ubicadas en la trama. La cámara puede estar montada por encima del marco de la pantalla, puede estar oculta y puede estar montada en la pared. La cámara puede estar dotada de un sombreado que puede eliminarse mediante filtrado de la imagen. Dado que la cámara está orientada hacia abajo, una cubierta que ocultará la mayor parte del cuerpo de cámara puede bloquear la vista desde una distancia.
La pantalla puede ser de LED, LCD, plasma, vidrio, proyector y similares.
Puede usarse un fondo que permite un mejor equilibrado de blancos que da como resultado vídeos de calidad superior.
La iluminación puede incluir una combinación de blanco, amarillo o cualquier combinación en un punto o una combinación de proyector y puede estar configurada para mejorar la calidad de vídeo y los colores.
Puede usarse una alfombra dedicada para permitir cambios de fondo, para definir una zona de usuario, para mejorar la detección de usuario y el seguimiento delante del espejo, para indicar al usuario dónde ponerse de pie e indicar al usuario cómo hacer funcionar el espejo.
Cada uno de los módulos o programas anteriormente identificados corresponde a un conjunto de instrucciones para realizar una función descrita anteriormente. No se necesita implementar estos módulos y programas (es decir, conjuntos de instrucciones) como programas de software, procedimientos o módulos independientes, y, por tanto, diversos subconjuntos de estos módulos pueden combinarse o reordenarse de otro modo en diversas realizaciones. En algunas realizaciones, la memoria puede almacenar un subconjunto de los módulos y estructuras de datos identificados anteriormente. Además, la memoria puede almacenar módulos y estructuras de datos adicionales no descritos anteriormente.
Los aspectos ilustrados de la divulgación también pueden ponerse en práctica en entornos informáticos distribuidos en los que determinadas tareas se realizan por dispositivos de procesamiento remotos que están vinculados a través de una red de comunicaciones. En un entorno informático distribuido, los módulos de programa pueden estar ubicados en dispositivos de almacenamiento en memoria tanto locales como remotos.
Además, debe apreciarse que diversos componentes descritos en el presente documento pueden incluir circuito(s) eléctrico(s) que puede(n) incluir componentes y elementos de conjunto de circuitos de valor adecuado con el fin de implementar las realizaciones de la(s) innovación/innovaciones objeto. Además, puede apreciarse que muchos de los diversos componentes pueden implementarse en uno o más chips de circuito integrado (IC). Por ejemplo, en una realización, puede implementarse un conjunto de componentes en un único chip de IC. En otras realizaciones, uno o más de componentes respectivos se fabrican o implementan en chips de IC independientes.
En particular, y con respecto a las diversas funciones realizadas por los componentes, dispositivos, circuitos, sistemas y similares anteriormente descritos, se pretende que los términos usados para describir tales componentes correspondan, a menos que se indique lo contrario, a cualquier componente que realice la función especificada del componente descrito (por ejemplo, un equivalente funcional), aunque no sea estructuralmente equivalente a la estructura divulgada, que realice la función en los aspectos a modo de ejemplo ilustrados en el presente documento del objeto reivindicado. Con respecto a esto, también se reconocerá que la innovación incluye un sistema así como un medio de almacenamiento legible por ordenador que tiene instrucciones ejecutables por ordenador para realizar las acciones y/o acontecimientos de los diversos métodos del objeto reivindicado.
Los sistemas/circuitos/módulos anteriormente mencionados se han descrito con respecto a interacción entre varios componentes/bloques. Puede apreciarse que tales sistemas/circuitos y componentes/bloques pueden incluir los componentes o subcomponentes especificados, algunos de los componentes o subcomponentes especificados, y/o componentes adicionales, y según diversas permutaciones y combinaciones de los anteriores. También pueden implementarse subcomponentes como componentes acoplados en comunicación con otros componentes en vez de incluidos dentro de componentes originales (jerárquicos). Adicionalmente, debe observarse que uno o más componentes pueden combinarse para dar un único componente proporcionando funcionalidad agregada o dividirse para dar varios subcomponentes independientes, y puede proporcionarse una cualquiera o más capas centrales, tales como una capa de gestión, para acoplarse en comunicación con tales subcomponentes con el fin de proporcionar funcionalidad integrada. Cualquier componente descrito en el presente documento también puede interaccionar con uno o más de otros componentes no descritos específicamente en el presente documento pero conocidos por los expertos en la técnica.
Además, aunque una característica particular de la innovación objeto puede haberse divulgado con respecto a tan sólo una de varias implementaciones, tal característica puede combinarse con una o más de otras características de las otras implementaciones según pueda desearse y resultar ventajoso para cualquier aplicación dada o particular. Además, el alcance de los términos “incluye”, “que incluye”, “tiene”, “contiene”, variantes de los mismos, y otros términos similares se usan o bien en la descripción detallada o bien en las reivindicaciones, se pretende que esos términos sean inclusivos de una manera similar al término “que comprende” como término de transición abierto sin excluir ningún elemento adicional u otro.
Tal como se usan en esta solicitud, generalmente se pretende que los términos “componente”, “módulo”, “sistema”, o similares se refieran a una entidad relacionada con ordenadores, ya sea de hardware (por ejemplo, un circuito), una combinación de hardware y software, software, o cualquier entidad relacionada con una máquina operacional con una o más funcionalidades específicas. Por ejemplo, un componente puede ser, pero no se limita a ser, un procedimiento que se ejecuta en un procesador (por ejemplo, procesador de señales digitales), un procesador, un objeto, un elemento ejecutable, un hilo de ejecución, un programa, y/o un ordenador. A modo de ilustración, tanto una aplicación que se ejecuta en un controlador como el controlador pueden ser un componente. Uno o más componentes pueden residir dentro de un procedimiento y/o hilo de ejecución y un componente puede estar ubicado en un ordenador y/o distribuido entre dos o más ordenadores. Además, un “dispositivo” puede presentarse en forma de hardware especialmente diseñado; hardware generalizado que se hace que sea especializado mediante la ejecución de software en el mismo que permite que el hardware realice una función específica; software almacenado en un medio legible por ordenador; o una combinación de los mismos.
Los dispositivos informáticos incluyen normalmente una variedad de medios media, que pueden incluir medios de almacenamiento legible por ordenador y/o medios de comunicaciones. Los medios de almacenamiento legibles por ordenador pueden ser generalmente cualquier medio de almacenamiento disponible al que puede acceder el ordenador, son normalmente de naturaleza no transitoria, y pueden incluir medios tanto volátiles como no volátiles, medios tanto extraíbles como no extraíbles. A modo de ejemplo, y no de limitación, los medios de almacenamiento legibles por ordenador pueden implementarse en relación con cualquier método o tecnología para almacenamiento de información tal como instrucciones legibles por ordenador, módulos de programa, datos estructurados, o datos no estructurados. Los medios de almacenamiento legibles por ordenador pueden incluir, pero no se limitan a, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, disco versátil digital (DVD) u otro almacenamiento en disco óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnéticos, u otros medios tangibles y/o no transitorios que pueden usarse para almacenar información deseada. Puede accederse a medios de almacenamiento legibles por ordenador mediante uno o más dispositivos informáticos locales o remotos, por ejemplo, mediante peticiones de acceso, consultas u otros protocolos de recuperación de datos, para una variedad de operaciones con respecto a la información almacenada por el medio.
Los medios de comunicaciones implementan normalmente instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos estructurados o no estructurados en una señal de datos que puede ser transitoria tal como una señal de datos modulada, por ejemplo, una onda portadora u otro mecanismo de transporte, e incluye cualquier medio de suministro o transporte de información. El término “señal de datos modulada” o señales se refiere a una señal que tiene una o más de sus características establecidas o cambiadas de tal manera que codifican información en una o más señales. A modo de ejemplo, y no de limitación, los medios de comunicación incluyen medios cableados, tales como una conexión cableada directa o de red cableada, y medios inalámbricos tales como medios acústicos, RF, infrarrojos y otros medios inalámbricos.
A la vista de los sistemas a modo de ejemplo descritos anteriormente, las metodologías que pueden implementarse según el objeto descrito se apreciarán mejor con referencia a los diagramas de flujo de las diversas figuras. Por simplicidad de la explicación, las metodologías se representan y describen como una serie de acciones. Sin embargo, las acciones según esta divulgación pueden realizarse en diversos órdenes y/o de manera simultánea, y con otras acciones no presentadas y descritas en el presente documento. Además, no todas las acciones ilustradas pueden requerir implementar las metodologías según el objeto divulgado. Además, los expertos en la técnica entenderán y apreciarán que las metodologías pueden representarse alternativamente como una serie de estados interrelacionados mediante un diagrama de estados o acontecimientos.
Adicionalmente, debe apreciarse que las metodologías en esta memoria descriptiva son capaces de almacenarse en un artículo de fabricación para facilitar el transporte y la transferencia de tales metodologías a dispositivos informáticos. Se pretende que el término artículo de fabricación, tal como se usa en el presente documento, abarque un programa informático accesible desde cualquier medio de almacenamiento o dispositivo legible por ordenador, por ejemplo, almacenado en un servidor acoplado a la nube.

Claims (7)

  1. REIVINDICACIONES
    i.Método implementado por ordenador para hacer funcionar un sistema que tiene un monitor, una cámara, y un procesador, para visualizar secuencialmente un flujo de vídeo en tiempo real y un flujo de vídeo retardado en el monitor para proporcionar a un usuario una experiencia mejorada de una sesión de visualización, caracterizado porque el método comprende las etapas de:
    establecer un tiempo de retardo de N segundos;
    establecer un periodo de retardo de M segundos;
    obtener alimentación de vídeo en directo a partir de la cámara;
    simultáneamente enviar la alimentación de vídeo al monitor para visualizarse como flujo de vídeo en tiempo real y guardar la alimentación de vídeo como tramas en la memoria;
    tras recibir un factor desencadenante, realizar:
    indicar un tiempo de desencadenamiento en el momento de recibir el factor desencadenante y almacenar el tiempo de desencadenamiento en la memoria;
    contar N segundos desde el tiempo de desencadenamiento y después recuperar las tramas a partir de la memoria y enviarlas al monitor para su visualización como flujo de vídeo retardado, empezando desde la trama que estaba almacenada en el tiempo de desencadenamiento, y simultáneamente continuar almacenando el flujo de vídeo en la memoria;
    después de recuperar una serie de tramas durante M segundos, detener la recuperación y volver a enviar la alimentación de vídeo al monitor para su visualización como flujo de vídeo en tiempo real, en el que N es más corto que M.
  2. 2. Método implementado por ordenador para hacer funcionar un sistema que tiene un monitor, una cámara, y un procesador, para visualizar secuencialmente un flujo de vídeo en tiempo real y un flujo de vídeo retardado en el monitor para proporcionar a un usuario una experiencia mejorada de una sesión de visualización, caracterizado porque el método comprende las etapas de:
    establecer un tiempo de retardo de N segundos;
    establecer un periodo de retardo de M segundos;
    obtener alimentación de vídeo en directo a partir de la cámara;
    simultáneamente enviar la alimentación de vídeo al monitor para visualizarse como flujo de vídeo en tiempo real y guardar la alimentación de vídeo como tramas en la memoria;
    tras recibir un factor desencadenante, realizar:
    congelar una trama que está presentándose en un caso en el que se emitió el factor desencadenante pero continuar enviando vídeo en tiempo real a la memoria para su almacenamiento;
    contar N segundos desde el tiempo de desencadenamiento y después recuperar las tramas a partir de la memoria y enviarlas al monitor para su visualización como flujo de vídeo retardado, empezando desde la trama que sigue inmediatamente a la trama congelada, y simultáneamente continuar almacenando el flujo de vídeo en la memoria;
    después de recuperar una serie de tramas durante M segundos, detener la recuperación y volver a enviar la alimentación de vídeo al monitor para su visualización como flujo de vídeo en tiempo real, en el que N es más corto que M.
  3. 3. Método según la reivindicación 1 y 2, caracterizado porque N se establece a desde uno hasta cinco segundos y M se establece a desde cinco hasta treinta segundos.
  4. 4. Método según la reivindicación 1 y 2, caracterizado porque el factor desencadenante se genera analizando continuamente la alimentación de vídeo y emitiendo el factor desencadenante cuando se determina que el usuario está realizando un movimiento desencadenante.
  5. 5. Método según la reivindicación 1 y 2, caracterizado porque el factor desencadenante se genera analizando continuamente la alimentación de vídeo y emitiendo la indicación cuando se determina que un usuario ha entrado en el campo de visión de la cámara.
  6. 6.Método según la reivindicación 1 y 2, caracterizado por comprender además:
    voltear cada trama de la alimentación de vídeo alrededor de un eje vertical para invertir los lados derecho e izquierdo de la trama;
    aplicar un mapeo de transformación a cada trama de la alimentación de vídeo para modificar las tramas de tal manera que parecen imitar un reflejo de un espejo, para obtener de ese modo tramas transformadas.
  7. 7. Método según la reivindicación 6, caracterizado porque el volteo y la aplicación de un mapeo de transformación a cada trama se realizan antes de enviar la alimentación de vídeo al monitor para visualizarse como flujo de vídeo en tiempo real y antes de guardar la alimentación de vídeo como tramas en la memoria.
ES16735516T 2015-01-09 2016-01-08 Dispositivos, sistemas y métodos para presentación de vídeo autorretardada Active ES2984065T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562101397P 2015-01-09 2015-01-09
PCT/US2016/012738 WO2016112346A1 (en) 2015-01-09 2016-01-08 Devices, systems and methods for auto-delay video presentation

Publications (1)

Publication Number Publication Date
ES2984065T3 true ES2984065T3 (es) 2024-10-28

Family

ID=56356509

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16735516T Active ES2984065T3 (es) 2015-01-09 2016-01-08 Dispositivos, sistemas y métodos para presentación de vídeo autorretardada

Country Status (4)

Country Link
EP (2) EP4465227A3 (es)
CN (2) CN107211165A (es)
ES (1) ES2984065T3 (es)
WO (1) WO2016112346A1 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107105311B (zh) * 2017-05-25 2020-06-19 北京小米移动软件有限公司 直播方法及装置
CN107590481A (zh) * 2017-09-28 2018-01-16 北京小米移动软件有限公司 穿衣镜、数据处理方法及装置
US11212431B2 (en) * 2018-04-06 2021-12-28 Tvu Networks Corporation Methods and apparatus for remotely controlling a camera in an environment with communication latency
CN109151368B (zh) * 2018-09-13 2021-11-23 广州市保伦电子有限公司 一种小型空间会议中控系统
US12452383B2 (en) 2018-10-29 2025-10-21 Henry M. Pena Fast and/or slow motion compensating timer display
US11044420B2 (en) 2018-10-29 2021-06-22 Henry M. Pena Real time video special effects system and method
US11218646B2 (en) 2018-10-29 2022-01-04 Henry M. Pena Real time video special effects system and method
US11689686B2 (en) 2018-10-29 2023-06-27 Henry M. Pena Fast and/or slowmotion compensating timer display
US10404923B1 (en) 2018-10-29 2019-09-03 Henry M. Pena Real time video special effects system and method
US10388322B1 (en) * 2018-10-29 2019-08-20 Henry M. Pena Real time video special effects system and method
US11641439B2 (en) 2018-10-29 2023-05-02 Henry M. Pena Real time video special effects system and method
CN109770885A (zh) * 2019-03-25 2019-05-21 合肥工业大学 一种基于预览帧的快速心率检测方法
CN111954052B (zh) * 2019-05-17 2022-04-05 上海哔哩哔哩科技有限公司 显示弹幕信息的方法、计算机设备及可读存储介质
CN111309212A (zh) * 2020-02-28 2020-06-19 厦门理工学院 一种分屏对比的试衣方法、装置、设备及存储介质
US11690435B2 (en) 2020-07-07 2023-07-04 Perfect Mobile Corp. System and method for navigating user interfaces using a hybrid touchless control mechanism
US11647158B2 (en) 2020-10-30 2023-05-09 Microsoft Technology Licensing, Llc Eye gaze adjustment
US11871147B2 (en) 2021-06-09 2024-01-09 Microsoft Technology Licensing, Llc Adjusting participant gaze in video conferences
US12197646B2 (en) 2021-06-30 2025-01-14 Semiconductor Energy Laboratory Co., Ltd. Electronic device
CN113709514B (zh) * 2021-09-02 2023-06-23 北京一起教育科技有限责任公司 一种数据处理方法、装置和电子设备
CN115134658B (zh) * 2022-05-27 2024-05-14 阿里巴巴云计算(北京)有限公司 视频处理方法、装置、设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283647B2 (en) * 2003-07-16 2007-10-16 Mcnitt Michael J Method and system for physical motion analysis and training of a golf club swing motion using image analysis techniques
US20080079820A1 (en) 2004-12-17 2008-04-03 Mcspadden Leslie J Image Capture and Display Arrangement
US8982109B2 (en) * 2005-03-01 2015-03-17 Eyesmatch Ltd Devices, systems and methods of capturing and displaying appearances
US8970569B2 (en) * 2005-03-01 2015-03-03 Eyesmatch Ltd Devices, systems and methods of virtualizing a mirror
US8976160B2 (en) * 2005-03-01 2015-03-10 Eyesmatch Ltd User interface and authentication for a virtual mirror
US20070040033A1 (en) * 2005-11-18 2007-02-22 Outland Research Digital mirror system with advanced imaging features and hands-free control
GB2462097A (en) * 2008-07-23 2010-01-27 William Stanley Poel Time Delayed Display of Captured Image of Person to Themselves
US9571782B2 (en) * 2010-02-17 2017-02-14 CSC Holdings, LLC Feature activation on occurrence of an event
EP2583537B1 (en) * 2010-06-17 2015-07-08 Koninklijke Philips N.V. Display and lighting arrangement for a fitting room
US8848048B2 (en) * 2011-03-07 2014-09-30 NON-GRID inc. Electronic mirroring system
JP5953677B2 (ja) * 2011-08-30 2016-07-20 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
US8693848B1 (en) * 2012-11-29 2014-04-08 Kangaroo Media Inc. Mobile device with smart buffering
WO2014100250A2 (en) * 2012-12-18 2014-06-26 Nissi Vilcovsky Devices, systems and methods of capturing and displaying appearances
CN104199542A (zh) * 2014-08-20 2014-12-10 百度在线网络技术(北京)有限公司 一种智能镜实现方法、装置和智能镜

Also Published As

Publication number Publication date
WO2016112346A1 (en) 2016-07-14
EP3243331A4 (en) 2018-08-08
CN115412743A (zh) 2022-11-29
EP3243331A1 (en) 2017-11-15
EP4465227A2 (en) 2024-11-20
CN107211165A (zh) 2017-09-26
CN115412743B (zh) 2025-02-25
EP4465227A3 (en) 2025-02-19
EP3243331B1 (en) 2024-07-03

Similar Documents

Publication Publication Date Title
ES2995983T3 (en) Devices, systems and methods of virtualizing a mirror
US10109315B2 (en) Devices, systems and methods for auto-delay video presentation
EP3243331B1 (en) Devices, systems and methods for auto-delay video presentation
US9369638B2 (en) Methods for extracting objects from digital images and for performing color change on the object
US8970569B2 (en) Devices, systems and methods of virtualizing a mirror
US8976160B2 (en) User interface and authentication for a virtual mirror
US8982110B2 (en) Method for image transformation, augmented reality, and teleperence
US20260127788A1 (en) System and method for digital makeup mirror
US11068050B2 (en) Method for controlling display of virtual image based on eye area size, storage medium and electronic device therefor
CN105210093B (zh) 捕获和显示外观的装置、系统和方法
JP2018522324A (ja) 拡張現実システムに結合されるプライバシーセンシティブ消費者カメラ
WO2018005884A1 (en) System and method for digital makeup mirror
KR101556158B1 (ko) 실사 영상 기반의 스마트 피팅장치를 이용한 소셜 서비스시스템
BR112016002493B1 (pt) Método para realizar mudança de cor em um objeto dentro de uma imagem digital