ES2826476T3 - Dispositivos portátiles para el procesamiento de mensajería y métodos de uso de los mismos - Google Patents

Dispositivos portátiles para el procesamiento de mensajería y métodos de uso de los mismos Download PDF

Info

Publication number
ES2826476T3
ES2826476T3 ES15731144T ES15731144T ES2826476T3 ES 2826476 T3 ES2826476 T3 ES 2826476T3 ES 15731144 T ES15731144 T ES 15731144T ES 15731144 T ES15731144 T ES 15731144T ES 2826476 T3 ES2826476 T3 ES 2826476T3
Authority
ES
Spain
Prior art keywords
user
depth
interface
information
scan
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
ES15731144T
Other languages
English (en)
Inventor
Reuben Burch
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.)
Federal Express Corp
Original Assignee
Federal Express Corp
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 Federal Express Corp filed Critical Federal Express Corp
Application granted granted Critical
Publication of ES2826476T3 publication Critical patent/ES2826476T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1696Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a printing or scanning device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04106Multi-sensing digitiser, i.e. digitiser using at least two different sensing technologies simultaneously or alternatively, e.g. for detecting pen and finger, for saving power or for improving position detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K2007/10504Data fields affixed to objects or articles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10792Special measures in relation to the object to be scanned
    • G06K7/10801Multidistance reading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Sources (AREA)
  • Position Input By Displaying (AREA)
  • Telephone Function (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Studio Devices (AREA)

Abstract

Un método implementado por ordenador para realizar servicios de mensajería mediante el uso de un dispositivo electrónico portátil (100), el dispositivo electrónico portátil que comprende una cámara de profundidad (130) para detectar la profundidad de los objetos en un campo de visión, un sensor bioacústico (170) para decodificar las entradas de gestos, un escáner (120) para decodificar códigos visuales (706) ubicados en objetos y un altavoz (150) para producir sonidos audibles en respuesta a una señal eléctrica, el método que comprende las siguientes operaciones realizadas en uno o más procesadores (202) ubicados dentro del dispositivo portátil: detectar (804) un evento de escaneo en base a una primera señal recibida del sensor bioacústico (170), comprendiendo el evento de escaneo una entrada de gesto realizada cerca de una primera superficie de un objeto; determinar (806) una región de escaneo asociada con el evento de escaneo en base a una ubicación y profundidad de la entrada del gesto; proporcionar una segunda señal al escáner (120) haciendo que el escáner decodifique un código visual (706) ubicado dentro de la región de escaneo; generar (810) datos de escaneo en base a una tercera señal recibida del escáner (120), reflejando la tercera señal la información obtenida del código visual (706); y proporcionar (812) una cuarta señal al altavoz (150) haciendo que el altavoz emita un sonido de notificación en respuesta a la generación de los datos de escaneo.

Description

DESCRIPCIÓN
Dispositivos portátiles para el procesamiento de mensajería y métodos de uso de los mismos
Antecedentes de la invención
Referencia cruzada con solicitudes relacionadas
Esta solicitud reivindica el beneficio de la Solicitud de Patente Provisional de los Estados Unidos Núm. 61/993,868, titulada "Wearable Device for Symbiotic Interaction", presentada el 15 de mayo de 2014.
Campo técnico:
Las modalidades descritas generalmente se refieren a dispositivos portátiles para procesar información, y más particularmente y sin limitación, a dispositivos portátiles para procesar información asociada con servicios de mensajería.
Antecedentes de la invención
En el mundo digital actual, la tecnología juega un papel importante en la recopilación y procesamiento de datos. En las industrias de mensajería y transporte público, por ejemplo, los usuarios y las entidades se benefician del seguimiento de empaques con lectores y escáneres de mano. Sin embargo, tales mecanismos son engorrosos para los usuarios y, a menudo, requieren el uso de una mano o un brazo para realizar el procesamiento necesario. Tales mecanismos también pueden reducir la productividad y también pueden requerir dispositivos auxiliares adicionales tales como escáneres independientes, lectores de tarjetas, reproductores de imágenes, cámaras, pantallas y similares.
El documento US 2013/0346168 se refiere a un dispositivo de comunicación de gafas de realidad aumentada. El dispositivo puede reconocer gestos con las manos y escanear códigos de barras.
El documento WO 2013/170260 se refiere a un dispositivo portátil que obtiene y procesa imágenes de profundidad para adquirir las dimensiones de un objeto.
Resumen
Las modalidades descritas incluyen un dispositivo portátil para procesar información y métodos de uso del mismo. Las modalidades descritas pueden permitir que los mensajeros y otros usuarios de dispositivos realicen ciertos procesos (por ejemplo, servicios y funciones de mensajería) sin el uso de una herramienta de mano.
De acuerdo con la invención, se proporciona: un método implementado por ordenador para realizar servicios de mensajería mediante el uso de un dispositivo electrónico portátil como se menciona en la reivindicación 1; y un dispositivo electrónico portátil para realizar servicios de mensajería según se menciona en la reivindicación 10.
Las modalidades descritas incluyen, por ejemplo, un dispositivo portátil para realizar servicios de mensajería. En algunos aspectos, el dispositivo incluye una cámara de profundidad para detectar la profundidad de los objetos en un campo de visión, un escáner para decodificar códigos visuales, un altavoz para producir sonidos audibles en respuesta a una señal eléctrica, una memoria para almacenar instrucciones y uno o más procesadores conectados comunicativamente a la cámara de profundidad, al escáner y al altavoz, a uno o más procesadores configurados para ejecutar las instrucciones y realizar una o más operaciones. Las operaciones incluyen la detección de un evento de escaneo en base a una primera señal recibida de la cámara de profundidad, el evento de escaneo comprende una entrada de gesto realizada cerca de una primera superficie. Las operaciones también incluyen determinar una región de escaneo asociada con el evento de escaneo en base a una ubicación y profundidad de la entrada del gesto. Las operaciones también incluyen proporcionar una segunda señal al escáner que hace que el escáner decodifique un código visual ubicado dentro de la región de escaneo. Las operaciones también incluyen generar datos de escaneo en base a una tercera señal recibida del escáner, reflejando la tercera señal la información obtenida del código visual. Las operaciones también incluyen proporcionar una cuarta señal al altavoz que hace que el altavoz emita un sonido de notificación en respuesta a la generación de datos de escaneo.
Las modalidades descritas también incluyen, por ejemplo, un método implementado por ordenador para realizar servicios de mensajería mediante el uso de un dispositivo electrónico portátil, el dispositivo electrónico portátil comprende una cámara de profundidad para detectar la profundidad de los objetos en un campo de visión, un escáner para decodificar códigos visuales, un altavoz para producir sonidos audibles en respuesta a una señal eléctrica y un conector que facilita el uso del dispositivo alrededor de la porción superior de un brazo humano, de manera que el dispositivo tiene una sección transversal sustancialmente elíptica cuando se usa, el método que comprende la modalidad de una o más operaciones en uno o más procesadores. Las operaciones incluyen la detección de un evento de escaneo en base a una primera señal recibida de la cámara de profundidad, el evento de escaneo comprende una entrada de gesto realizada cerca de una primera superficie. Las operaciones también incluyen determinar una región de escaneo asociada con el evento de escaneo en base a una ubicación y profundidad de la entrada del gesto. Las operaciones también incluyen proporcionar una segunda señal al escáner que hace que el escáner decodifique un código visual ubicado dentro de la región de escaneo. Las operaciones también incluyen generar datos de escaneo en base a una tercera señal recibida del escáner, reflejando la tercera señal la información obtenida del código visual. Las operaciones también incluyen proporcionar una cuarta señal al altavoz que hace que el altavoz emita un sonido de notificación en respuesta a la generación de datos de escaneo.
Las características y ventajas adicionales de las modalidades descritas se establecerán en parte en la descripción que sigue, y en parte serán obvias a partir de la descripción o pueden aprenderse mediante la práctica de las modalidades descritas. Las características y ventajas de las modalidades descritas se realizarán y alcanzarán por medio de los elementos y las combinaciones en particularmente señaladas en las reivindicaciones anexas.
Debe entenderse que tanto la descripción general anterior como la siguiente descripción detallada son solo ilustrativas y aclaratorias y no limitan las modalidades descritas como se reivindica.
Los dibujos adjuntos forman una parte de esta descripción. Los dibujos ilustran varias modalidades de la presente descripción y, junto con la descripción, sirven para explicar los principios de las modalidades descritas como se establece en las reivindicaciones adjuntas.
Breve descripción de los dibujos
La Figura 1 representa una ilustración de dispositivo de procesamiento portátil de acuerdo con las modalidades descritas. La Figura 2A representa un diagrama de bloques de componentes ilustrativos de un dispositivo de procesamiento portátil de acuerdo con las modalidades descritas.
La Figura 2B representa un diagrama de bloques de componentes relacionados con la energía que ilustra un dispositivo portátil de acuerdo con las modalidades descritas.
La Figura 3 representa un entorno de sistema ilustrativo de acuerdo con las modalidades descritas.
La Figura 4A representa una ilustración que ilustra un dispositivo usado en el brazo de un usuario de acuerdo con las modalidades descritas.
La Figura 4B representa una sección transversal de un dispositivo ilustrativo cuando se usa de acuerdo con las modalidades descritas.
La Figura 5A representa una ilustración de campo de profundidad de una cámara de profundidad de acuerdo con las modalidades descritas.
La Figura 5B representa un objeto ilustrativo en un campo de profundidad con fines de dimensionamiento de acuerdo con las modalidades descritas.
La Figura 6 representa un diagrama de flujo de un proceso ilustrativo para dimensionar objetos de acuerdo con las modalidades descritas.
La Figura 7A representa una ilustración de interfaz interactiva proyectada sobre una superficie de acuerdo con las modalidades descritas.
La Figura 7B representa un dispositivo ilustrativo que obtiene información de un código visual de acuerdo con las modalidades descritas.
La Figura 8 representa un diagrama de flujo de un proceso ilustrativo para escanear códigos visuales de acuerdo con las modalidades descritas.
La Figura 9 representa un diagrama de flujo de un proceso ilustrativo para procesar firmas de acuerdo con las modalidades descritas.
La Figura 10 representa un diagrama de flujo de un proceso ilustrativo para transmitir datos entre dispositivos de red de acuerdo con las modalidades descritas.
La Figura 11 representa un diagrama de flujo de un proceso ilustrativo para inhabilitar funciones del dispositivo de acuerdo con las modalidades descritas.
Descripción detallada
Las modalidades descritas incluyen dispositivos, aparatos, sistemas y métodos para realizar el procesamiento de información en entornos manos libres o casi manos libres. Las modalidades descritas pueden permitir que los mensajeros y otros usuarios de dispositivos realicen ciertos procesos (por ejemplo, servicios y funciones de mensajería) sin el uso de una herramienta de mano. Por ejemplo, los dispositivos portátiles como se describen en la presente descripción pueden procesar información tales como escanear códigos de barras, aceptar firmas, monitorear usuarios, proporcionar notificaciones, modelar entornos y otros procesos, todo sin tener un dispositivo físico en la mano. Los aspectos de las modalidades descritas también pueden proporcionar personalizar y reforzar el dispositivo para su uso en una variedad de entornos y para una variedad de usuarios.
En algunos aspectos, los dispositivos portátiles de acuerdo con las modalidades descritas pueden proporcionar una o más ventajas técnicas. En algunos aspectos, los dispositivos pueden permitir que los mensajeros y otros usuarios realicen servicios de mensajería y otras funciones sin el uso de un dispositivo portátil. Esto puede permitir a los usuarios poner una segunda mano a disposición para otros usos, tales como levantar objetos, transportar empaques, firmar documentos, operar un vehículo, etc. Además, el uso de una segunda mano puede mejorar la productividad del servicio de mensajería y proporcionar beneficios para la salud, tales como permitir a los usuarios trasladar empaques con ambas manos, trasladar empaques adicionales, etc. Además, los aspectos de las modalidades descritas pueden combinar las funcionalidades de tales dispositivos portátiles, de esta manera reduce el número de dispositivos o componentes necesarios para completar ciertas tareas. Los dispositivos portátiles de acuerdo con las modalidades descritas también pueden permitir personalizar el aspecto y la funcionalidad del dispositivo, de esta manera acomoda una amplia gama de usuarios y abordando otras preocupaciones tales como la higiene del usuario. Otras mejoras serán evidentes para un experto en la técnica a la luz de las modalidades descritas, y la lista de determinadas ventajas anteriores es meramente con fines ilustrativos.
Ahora se hará referencia en detalle a las modalidades, cuyos ejemplos se ilustran en los dibujos acompañantes. Donde quiera que sea posible, los mismos números de referencia se usarán a lo largo de todos los dibujos para referirse a las mismas partes o a partes similares. Además, si bien ciertas características pueden describirse en relación con "el dispositivo", debe entenderse del contexto que estas características pueden implementarse a través de un componente del dispositivo capaz de realizar esa función, incluidas las instrucciones de hardware y/o software ejecutadas en el dispositivo.
La Figura 1 representa una ilustración del dispositivo de procesamiento portátil 100 de acuerdo con las modalidades descritas. El dispositivo 100 comprende un dispositivo portátil capaz de retratar, recibir, obtener, recopilar, procesar, transmitir y mostrar información. En ciertas modalidades, el dispositivo 100 puede ser un sistema de proyección de imágenes, recopilación de datos y detección de profundidad que facilita solicitudes interactivas, multitáctiles, gestuales o auditivas en una variedad de campos para su uso en procesos de acuerdo con las modalidades descritas. Como se describe a continuación, el dispositivo 100 puede realizar procesos de acuerdo con las modalidades descritas en respuesta a uno o más eventos de entrada.
El dispositivo 100 puede incluir uno o más proyectores 110 configurados para proyectar o mostrar una imagen, video, texto, interfaz u otra información sobre una superficie de acuerdo con las modalidades descritas. En ciertos aspectos, el proyector 110 puede incluir un picoproyector (por ejemplo, un picoproyector de Microvisión) capaz de proyectar una imagen, video, texto, etc. sobre la superficie mediante el uso de cualquier método conocido por los expertos en la técnica (por ejemplo, DLP, LCoS, dirección de rayo láser, etc.) y como se describe en la presente descripción. La superficie puede incluir cualquier área tal como una pantalla, pared, mesa, parte del cuerpo humano (por ejemplo, un brazo, una mano, una pierna, etc.), superficie sujeta (por ejemplo, un bloc de notas, un papel, un libro, etc.), vehículo, mesa, caja, piso, espejo, ventana o cualquier otra área lo suficientemente plana como para transmitir de manera significativa la imagen, el video u otra información proyectada con el proyector 110. En algunas modalidades, la superficie puede incluir una pluralidad de superficies (por ejemplo, una mano, un escritorio y una pared, etc.). El proyector 110 puede proporcionar una proyección angular amplia, sin enfoque de elementos pictóricos o gráficos independientemente de la distancia a la superficie (por ejemplo, la distancia desde el proyector 110). Como se describe a continuación, el dispositivo 100 puede incluir componentes de hardware y software (por ejemplo, circuitos, instrucciones de software, etc.) para transferir señales e información hacia y desde el proyector 100 para realizar procesos de acuerdo con las modalidades descritas (por ejemplo, interfaces de visualización, etc.).
En ciertas modalidades, el dispositivo 100 puede incluir uno o más escáneres 120 para escanear, decodificar, leer, detectar, obtener imágenes, capturar y/o interpretar códigos visuales de acuerdo con las modalidades descritas. En algunos aspectos, el escáner 120 se puede configurar para procesar imágenes láser, lineales o de área. Por ejemplo, en un aspecto, el escáner 120 puede incluir un generador de imágenes para escanear, leer y decodificar códigos de barras unidimensionales o bidimensionales (por ejemplo, un generador de imágenes 2D de Cognex, Intermec o Unitech o cualquier generador de imágenes 2D). El escáner 120 puede incluir cualquier lector de imágenes, escáner de código de barras o escáner de código visual capaz de extraer información de códigos visuales de acuerdo con las modalidades descritas. En algunas modalidades, el escáner 120 puede estar acoplado mecánicamente o incluir una articulación, rótula, lente giratoria, pivote, rueda u otros medios de orientación, etc. de modo que el dispositivo 100 pueda orientar el escáner 120 para apuntar en varias direcciones. En ciertos aspectos, las modalidades descritas permiten que el dispositivo 100 procese códigos de barras, imágenes y otros datos escaneados a través del escáner 120. El dispositivo 100 puede incluir componentes de hardware y software apropiados (por ejemplo, circuitos, instrucciones de software, etc.) para transmitir señales e información hacia y desde el escáner 120 para realizar procesos de acuerdo con las modalidades descritas.
El dispositivo 100 puede incluir una o más cámaras de profundidad 130 para capturar, procesar, detectar, observar, modelar, detectar e interactuar con entornos tridimensionales. En ciertos aspectos, la cámara de profundidad 130 puede reconocer y detectar profundidades y colores de objetos en su campo de visión (por ejemplo, de acuerdo con las modalidades descritas en relación con las Figuras 5A y 5B). La cámara de profundidad 130 también puede proporcionar otras funcionalidades de cámara y grabadora de video, tales como tomar fotografías, grabar videos, transmitir imágenes u otros datos, almacenar datos en memorias intermedias de imágenes, etc. Estas funcionalidades pueden incluir o no información detallada. En relación con los procesos de hardware y/o software de acuerdo con las modalidades descritas, el dispositivo 100 puede determinar tamaños, orientaciones y propiedades visuales de los objetos a través de la cámara de profundidad 130. Los aspectos de acuerdo con las modalidades descritas también pueden permitir que el dispositivo 100 reconozca y procese gestos y otras interacciones mediante el uso de la cámara de profundidad 130. La cámara de profundidad 130 puede incluir o incorporar cualquier cámara de profundidad conocida por un experto en la técnica (por ejemplo, una cámara de profundidad de PrimeSense, SoftKinetic, Creative, etc.) capaz de manejar los procesos descritos en la presente descripción. El dispositivo 100 puede incluir componentes de hardware y software apropiados (por ejemplo, circuitos, instrucciones de software, etc.) para transmitir señales e información hacia y desde la cámara de profundidad 130 para realizar procesos de acuerdo con las modalidades descritas (por ejemplo, dimensionar objetos, determinar la profundidad de la superficie y la orientación, etc.). Como se describe a continuación, la cámara de profundidad 130 puede detectar varios tipos de eventos de entrada tales como entradas de gestos (por ejemplo, movimientos corporales) y entradas de interfaz (por ejemplo, interacciones con una interfaz proyectada a través del proyector 110).
El dispositivo 100 puede incluir una o más pantallas 140 para representar, transportar y visualizar información. La pantalla 140 puede incluir cualquier pantalla digital (por ejemplo, una pantalla monocromática, una pantalla LCD, una pantalla LED, una pantalla 2D, una pantalla espectroscópica 3D, etc.) capaz de presentar o proporcionar información tal como texto, imágenes, videos, interfaces y similares. En algunos aspectos, la pantalla 140 también puede incluir una pantalla táctil. En estas modalidades, el dispositivo 100 puede recibir entradas de pantalla de un usuario a través de una interfaz de pantalla táctil visualizada en la pantalla 140. Las entradas de pantalla recibidas a través de la pantalla 140 pueden usarse en el dispositivo 140 para realizar procesos de acuerdo con las modalidades descritas. El dispositivo 140 puede incluir componentes de hardware y software apropiados (por ejemplo, circuitos, instrucciones de software, etc.) para transferir señales e información hacia y desde la pantalla 140 que realizan procesos de acuerdo con las modalidades descritas.
En algunos aspectos, el dispositivo 100 puede incluir uno o más altavoces 150 para producir sonido o señales auditivas para su uso en procesos de acuerdo con las modalidades descritas. Por ejemplo, el altavoz 150 puede incluir o funcionar en relación con un transductor electroacústico que produce un sonido audible en respuesta a una entrada de señal de audio eléctrica. El altavoz 150 puede configurarse para generar salida de audio mediante cualquier proceso conocido por un experto en la técnica (por ejemplo, inductancia electromagnética, etc.). Alternativamente o adicionalmente, el dispositivo 100 puede estar equipado con un conector de audio para soportar un auricular de audio. El audio puede incluir información de audio recibida a través de un dispositivo Bluetooth o señales de audio recibidas a través de otras vías de comunicación de audio (por ejemplo, enlaces de RF, redes telefónicas públicas conmutadas, etc.) de acuerdo con las modalidades descritas. El dispositivo 100 puede incluir hardware y software apropiados (por ejemplo, circuitos e instrucciones de software) para transferir señales e información hacia y desde el altavoz 150.
El dispositivo 100 puede incluir uno o más micrófonos 160 para convertir sonido en señales eléctricas (por ejemplo, como un transductor acústico a eléctrico u otro sensor) para su uso en procesos de acuerdo con las modalidades descritas. El micrófono 160 se puede configurar para generar una señal eléctrica en respuesta a la acústica ambiental a través de procesos conocidos por un experto en la técnica (por ejemplo, inducción electromagnética, cambio de capacitancia, generación piezoeléctrica, fibra óptica, etc.). En algunas modalidades, el micrófono 160 puede comunicarse eléctricamente con un preamplificador, aunque no se requiere tal configuración. Como se describe a continuación, el dispositivo 100 incluye el hardware o software necesario para transferir señales eléctricas hacia y desde el micrófono 160 para realizar procesos de acuerdo con las modalidades descritas (por ejemplo, recibir entrada de audio como un evento de entrada, grabar y guardar datos de audio, etc.).
En las modalidades de acuerdo con la invención, 100 incluye uno o más sensores bioacústicos 170 configurados para recibir, capturar, procesar e interpretar información bioacústica. En algunos aspectos, la información bioacústica puede incluir acústica (por ejemplo, vibraciones) en y sobre un sujeto vivo producida por el contacto piel con piel (por ejemplo, cuando un dedo golpea un brazo, una palma, otro dedo, etc.), movimientos corporales (por ejemplo, cerrar el puño) u otros estímulos corporales. En algunas modalidades, el sensor bioacústico 170 puede comprender un solo sensor o una serie de sensores, como se muestra en la Figura 1. Por ejemplo, en una modalidad, el sensor bioacústico 170 puede comprender una serie de películas piezoeléctricas (por ejemplo, MiniSense 100, otros sensores de vibración de tipo voladizo, etc.) diseñadas para detectar vibraciones en todo el cuerpo humano. El dispositivo 100 puede incluir componentes de hardware y software apropiados (por ejemplo, circuitos, instrucciones de software, etc.) para transferir señales e información hacia y desde el sensor bioacústico 170 para realizar procesos de acuerdo con las modalidades descritas. Como se describe a continuación, el sensor de bioacústica 170 ayuda en la detección de ciertos tipos de eventos de entrada, tal como entradas de gestos.
En algunas modalidades, el dispositivo 100 puede incluir una correa, una banda, un bastidor u otro conector 180 de este tipo configurado para facilitar el uso del dispositivo portátil 100. En algunos aspectos, el conector 180 puede ser rígido o ajustable para adaptarse a usuarios de diferentes tipos de cuerpo (por ejemplo, mediante una correa elástica, una banda ajustable, un bastidor flexible, etc.). Adicional o alternativamente, el conector 180 y puede incluir medios de sujeción (por ejemplo, una o más regiones de Velcro, ganchos, cinturones, hebillas, cierres, botones, cordones, etc.) para asegurar el conector 180 o el dispositivo 100. En algunos aspectos, el conector 180 puede diseñarse de modo que el dispositivo 100 descanse cómodamente sobre una porción en particular del cuerpo humano cuando se lleva puesto, tal como la porción superior de un brazo. Por ejemplo, el conector 180 puede incluir una banda o correa de manera que, mientras el dispositivo 100 se lleva puesto (por ejemplo, el conector 180 está en un estado conectado), el dispositivo presenta una sección transversal sustancialmente elíptica. En algunos aspectos, el conector 180 puede estar siempre en un estado conectado (por ejemplo, el conector es una banda ajustable), mientras que en otros, el conector 180 puede estar en un estado conectado solo cuando se pueda llevar puesto de manera confiable (por ejemplo, el conector es un parche de Velcro). En ciertas modalidades, el conector 180 puede romperse, desencajarse o ajustarse cuando se aplica una cierta cantidad de presión. Por ejemplo, en un aspecto, el conector 180 puede desengancharse cuando queda atrapado en un objeto (por ejemplo, una cinta transportadora, una puerta, etc.). El conector 180 también se puede quitar del dispositivo 100 de modo que se puedan instalar diferentes tipos de conectores (por ejemplo, debido a los tipos de cuerpo del usuario, preferencias del usuario, ajustes más fuertes, requisitos de trabajo, etc.).
Si bien la Figura 1 representa ciertos componentes del dispositivo incluidos en el dispositivo 100, el dispositivo puede incluir otros componentes, omitir los componentes representados, incluir múltiples instancias del mismo componente y/o combinar algunos, pero no todos, los componentes ilustrados. Por ejemplo, en un aspecto ilustrativo, el dispositivo 100 puede no incluir un altavoz 150, un micrófono 160 o un conector 180. Además, el dispositivo 100 puede incluir otros componentes que no se muestran en la Figura 1. Por ejemplo, el dispositivo 100 puede incluir componentes tales como un acelerómetro, receptor GPS, motor de vibración, enlace de radio, tarjeta SIM, chip RFID, conectores de audio, sistema Bluetooth, puertos de conector (por ejemplo, USB, Lightning, DVI, HDMI, cualquier Puerto de E/S, etc.), escáneres biométricos, botones físicos (por ejemplo, botones de volumen, botones de silencio, botones para proporcionar otra entrada, botones asociados con la pantalla 140, etc.), teclados, soportes para lápices, cámaras, lectores de tarjetas o cualquier otro tipo de componente capaz de recibir, procesar o generar información y/o facilitar el intercambio de información. En otro ejemplo más, el dispositivo 100 puede incluir varias cámaras de profundidad 130 para realizar procesos adicionales de acuerdo con las modalidades descritas (por ejemplo, generando información de paralaje a partir de los datos de profundidad asociados con varios puntos de vista). El dispositivo 100 puede incluir los periféricos, circuitos, cableado, receptores, instrucciones de software, etc. necesarios para implementar estos dispositivos.
En algunos aspectos, el dispositivo 100 puede incluir componentes que combinen las funcionalidades de otros componentes de acuerdo con las modalidades descritas. Por ejemplo, el dispositivo 100 puede incluir uno o más componentes en donde un escáner 120 y una cámara de profundidad 130 ocupan el mismo espacio físico. En otro ejemplo, el escáner 120 y/o la cámara de profundidad 130 pueden implementarse en el mismo componente físico, proporcionando funcionalidades de acuerdo con un escáner, generador de imágenes, cámara de profundidad/sensor de profundidad y cámara.
En ciertos aspectos, el dispositivo 100 y sus componentes incluidos pueden instalarse de tal manera que permitan actualizaciones modulares (por ejemplo, de acuerdo con implementaciones modulares tal como Google ARA). En algunas modalidades, una actualización modular puede comprender cualquier módulo extraíble, cambiable, actualizable y/o intercambiable equipado para interactuar con el dispositivo 100. En ciertos aspectos, una actualización modular puede comprender un componente de dispositivo que mejora, complementa o combina las funcionalidades de los componentes existentes del dispositivo 100. Por ejemplo, el dispositivo 100 puede incluir componentes modulares para que un usuario pueda actualizar un componente en particular (por ejemplo, cámara de profundidad 130) o agregar funcionalidades que no están presentes en un diseño básico (por ejemplo, un lector de tarjetas). Una actualización modular puede incluir cualquier componente de dispositivo de acuerdo con las modalidades descritas (por ejemplo, un escáner, lector de tarjetas, dispositivo GPS, acelerómetro, cámara de profundidad, etc.).
Además, aunque la Figura 1 representa un diseño en particular de los componentes que comprenden el dispositivo 100, los dispositivos de acuerdo con las modalidades descritas abarcan cualquier arreglo de los componentes del dispositivo. Por ejemplo, en un aspecto ilustrativo, el dispositivo 100 puede configurarse para agrupar estrechamente al proyector 110 y al escáner 120 juntos en un lado en particular del dispositivo (por ejemplo, el lado derecho). En otro ejemplo, el dispositivo 100 puede configurarse de modo que el escáner 120 y la cámara de profundidad 130 residan en extremos opuestos del dispositivo para facilitar un reconocimiento de campo de visión más amplio y aumentar el ángulo de paralaje apretado por los componentes. Los componentes en particulares y el diseño de los componentes que se muestran en la Figura 1 son ilustrativos y solos con fines ilustrativos.
La Figura 2A representa un diagrama de bloques de componentes ilustrativos de un dispositivo de procesamiento portátil 100 de acuerdo con las modalidades descritas. En algunas modalidades, el dispositivo 100 puede incluir uno o más procesadores 202 conectados a una cadena principal de comunicaciones 206 tales como un bus, circuitos, cableado o red de comunicaciones externas (por ejemplo, cualquier medio de comunicación de datos digitales tales como LAN, MAN, WAN, red celular, red WiFi, enlace NFC, Bluetooth, red GSM, red PCS, red 320 de la Figura 6, etc. y cualquiera de los protocolos asociados tales como HTTP, TCP/IP, RFID, etc.). Cualquier componente del dispositivo 100 puede comunicar señales a través de la cadena principal 206 para intercambiar información y/o datos. Por ejemplo, en un aspecto, el proyector 110, el escáner 120, la cámara de profundidad 130, la pantalla 140, el altavoz 150, el micrófono 160 y/o el sensor bioacústico 170 pueden intercambiar información entre sí, proporcionar o recibir información o señales desde y hacia el procesador 202, almacenar o recuperar información en memoria, proporcionar o recibir información hacia y desde sistemas informáticos externos, etc. En algunas modalidades, los componentes que no se muestran en la Figura 2 también pueden comunicarse a través de la cadena principal 206, tal como un acelerómetro, circuitos de RF, rastreadores GPS, motor de vibración, lectores de tarjetas, etc. Por ejemplo, el dispositivo 100 puede incluir un receptor GPS (no mostrado) para recibir información de la ubicación y el tiempo de los satélites y puede comunicar dicha información a los otros componentes del dispositivo, tal como el procesador 202.
En algunos aspectos, el procesador 202 y el hardware y/o software que lo acompaña pueden actuar como un controlador para los componentes del dispositivo 100. Por ejemplo, el procesador 202 puede, en relación con componentes de hardware o instrucciones de software, controlar la transmisión, recepción y procesamiento de señales hacia y desde cada uno de los componentes del dispositivo para realizar y gestionar procesos de acuerdo con los descritos en la presente descripción. El procesador 202 también puede controlar la recepción, procesamiento y transmisión de información y señales hacia y desde dispositivos externos y sistemas informáticos de acuerdo con las modalidades descritas a continuación. Por tanto, aunque se describen ciertos aspectos en relación con el procesador 202, se apreciará que estas modalidades también pueden implementarse a través de un controlador en comunicación con los componentes del dispositivo o sistemas informáticos que los acompaña.
En ciertos aspectos, el dispositivo 100 puede incluir una memoria principal 208. La memoria principal 208 puede comprender una memoria de acceso aleatorio (RAM) que representa un medio legible por ordenador tangible y no transitorio que almacena programas, conjuntos de instrucciones, código o datos de ordenador ejecutados con el procesador 202. Cuando son ejecutadas por el procesador 202, tales instrucciones, programas informáticos, etc., permiten que el procesador 202 u otro componente del dispositivo 100 realicen uno o más procesos o funciones de acuerdo con las modalidades descritas. En algunos aspectos, tales instrucciones pueden incluir código de máquina (por ejemplo, de un compilador) y/o archivos que contienen código que el procesador 202 puede ejecutar con un intérprete.
En algunos aspectos, la memoria principal 208 también puede incluir o conectarse a una memoria secundaria 210. La memoria secundaria 210 puede incluir una unidad de disco 212 (por ejemplo, HDD, SSD) y/o una unidad de almacenamiento extraíble 214, tal como una unidad de cinta magnética, una memoria flash, una unidad de disco óptico, una unidad de CD/DVD o similares. La unidad de almacenamiento extraíble 214 puede leer desde y/o escribir hacia una unidad de almacenamiento extraíble 218 de una manera conocida por el experto en la materia. La unidad de almacenamiento extraíble 218 puede representar una cinta magnética, un disco óptico u otro medio de almacenamiento que se lee y escribe mediante la unidad de almacenamiento extraíble 214. La unidad de almacenamiento extraíble 218 puede representar un medio legible por ordenador tangible y no transitorio que tiene almacenados allí dentro programas de ordenador, conjuntos de instrucciones, código o datos para ser ejecutados por el procesador 202.
En otras modalidades, la memoria secundaria 210 puede incluir otros medios para permitir que se carguen programas de ordenador u otras instrucciones de programa en el dispositivo 100. Dichos medios pueden incluir, por ejemplo, otra unidad de almacenamiento extraíble 218 o una interfaz 220. Un ejemplo de tales medios puede incluir un chip de memoria extraíble (por ejemplo, EPROM, RAM, ROM, DRAM, EEPROM, dispositivos de memoria flash u otros dispositivos de memoria volátiles o no volátiles) y un conector asociado u otras unidades de almacenamiento extraíbles 218 e interfaces 220, que permiten transferir instrucciones y datos desde la unidad de almacenamiento extraíble 218 al dispositivo 100.
El dispositivo 100 también puede incluir una o más interfaces de comunicaciones 224. La interfaz de comunicaciones 224 puede permitir la transferencia de software y datos entre el dispositivo 100 y sistemas externos (por ejemplo, además de la cadena principal 206). La interfaz de comunicaciones 224 puede incluir un módem, una antena, un transmisor, una interfaz de red (por ejemplo, una tarjeta Ethernet), un puerto de comunicaciones, una ranura y una tarjeta PCMCIA, etc. La interfaz de comunicaciones 224 puede transferir software y datos en forma de señales, que pueden ser señales electrónicas, electromagnéticas, ópticas u otras que pueden ser recibidas por la interfaz de comunicaciones 224. Estas señales se pueden proporcionar a la interfaz de comunicaciones 224 a través de una ruta de comunicaciones (es decir, el canal 228). El canal 228 transporta señales y puede implementarse mediante el uso de alambre, de cable, de fibra óptica, de enlace de RF, de transmisor de señal y/u otros canales de comunicación. En una modalidad, las señales comprenden empaques de datos enviados al procesador 202. La información que representa los empaques procesados también puede enviarse en forma de señales desde el procesador 202 a través de la ruta de comunicaciones 228.
La Figura 2B representa un diagrama de bloques ilustrativo de componentes relacionados con la energía de un dispositivo portátil 100 de acuerdo con las modalidades descritas. El dispositivo 100 puede incluir una o más baterías 252 para proporcionar energía eléctrica al dispositivo y sus componentes (por ejemplo, cámara de profundidad 130, etc.). La batería 252 puede incluir cualquier tipo de batería adecuado para dispositivos móviles, tales como baterías recargables, baterías desechables, baterías de iones de litio, etc.
En algunos aspectos, el dispositivo 100 puede incluir periféricos y circuitos (por ejemplo, puertos de alimentación, cables, cableado, etc.) para proporcionar energía eléctrica a la batería 252 o al dispositivo 100 desde otras fuentes para cargar o alimentar la batería. Por ejemplo, el dispositivo 100 puede incluir hardware para alimentar la batería 252 o al dispositivo 100 a partir de energía eléctrica suministrada desde una o más fuentes de energía externas 254. La fuente de energía externa 254 puede incluir fuentes de energía tales como baterías externas, una red eléctrica que funcione con corriente AC o DC, un cargador inductivo inalámbrico, etc.
Además, el dispositivo 100 puede incluir periféricos y circuitos para alimentar la batería 252 o al dispositivo 100 desde una o más celdas fotoeléctricas 256. En algunos aspectos, las celdas fotoeléctricas 256 pueden comprender cualquier tipo de material fotoeléctrico o superficie que genere energía eléctrica en respuesta a la luz. Por ejemplo, la celda fotoeléctrica 256 puede comprender celdas fotovoltaicas tales como celdas solares que alojan capas de material semiconductor. La celda fotoeléctrica 256 puede instalarse como un componente separado en la superficie del dispositivo 100 (por ejemplo, como una celda separada). En algunos aspectos, la celda fotoeléctrica 256 puede integrarse en el dispositivo de modo que el panel frontal del dispositivo 100 (por ejemplo, una porción o porción sustancial del panel frontal del dispositivo no dedicada a otros componentes) incluya una superficie fotoeléctrica.
El dispositivo 100 puede incluir uno o más transductores cinéticos 258 para generar energía eléctrica a partir de energía cinética. Por ejemplo, el transductor cinético 258 puede comprender un generador impulsado por vibraciones para crear energía eléctrica a partir de vibraciones y movimientos del dispositivo 100. Tales vibraciones pueden surgir, por ejemplo, debido al movimiento del usuario que lleva el dispositivo 100, al conducir por carreteras con baches, etc. Un generador impulsado por vibración del transductor cinético 258 puede generar energía eléctrica mediante el uso de métodos diseñados específicamente para entornos más pequeños, tales como imanes en un voladizo, sistemas de masa de resorte, etc. El dispositivo 100 puede incluir los periféricos y circuitos necesarios para alimentar la batería 252 o al dispositivo 100 a partir de la energía eléctrica generada por el transductor cinético 258.
En ciertas modalidades, el dispositivo 100 puede incluir tableros y componentes electrónicos plegables, que se pueden doblar o flexibles que faciliten la funcionalidad mejorada del dispositivo para adaptarse al cuerpo humano (por ejemplo, cuando se usa alrededor de un brazo). En algunos aspectos, las placas flexibles pueden permitir que el dispositivo 100 tenga en cuenta diferentes configuraciones de uso, tales como diferentes tamaños de un brazo humano. Por ejemplo, los componentes del dispositivo 100 (por ejemplo, la cámara de profundidad 130, el procesador 202, etc.) pueden conectarse eléctricamente entre sí mediante placas de electrónica flexibles para que los componentes puedan transferir información y datos mientras se llevan puestos. Las placas flexibles y la electrónica pueden comprender cualquier estructura conocida por un experto en la técnica, tal como, por ejemplo, grafeno, circuitos impresos flexibles, cables planos flexibles, etc.
En algunas modalidades, el dispositivo 100 puede recibir, obtener, almacenar, procesar, generar y proporcionar información hacia y desde otros sistemas informáticos, dispositivos (por ejemplo, dispositivos 100) y otras tecnologías (por ejemplo, a través de la interfaz de comunicaciones 224). La Figura 3 representa un entorno de sistema ilustrativo 300 del dispositivo 100 de acuerdo con las modalidades descritas. En un aspecto, el entorno puede incluir uno o más dispositivos portátiles (por ejemplo, los dispositivos 100) asociados con uno o más usuarios respectivos (por ejemplo, el usuario 302), uno o más sistemas (por ejemplo, el sistema 312) asociados con una central (por ejemplo, la central 310) y uno o más sistemas de terceros (por ejemplo, el sistema de terceros 332) asociados con uno o más terceros (por ejemplo, un tercero 330). Una o más redes de comunicaciones 320 pueden conectar uno o más de los componentes del entorno del sistema 300.
La red de comunicaciones 320 puede incluir una o más redes de comunicaciones o medios de comunicación de datos digitales. Los ejemplos de la red de comunicación 320 incluyen una red de área local ("LAN"), una LAN inalámbrica, una red celular, una red de RF, una red de comunicación de campo cercano (NFC) (por ejemplo, una red WiFi), una red de área metropolitana inalámbrica (MAN) que conecta varias LAN inalámbricas, enlaces de comunicación NFC, cualquier conexión por cable física (por ejemplo, a través de un puerto de E/S), una red de área personal (PAN) (por ejemplo, Bluetooth) y una red de área amplia ("WAN") (por ejemplo, el Internet). De acuerdo con las modalidades descritas, la red de comunicaciones 320 puede incluir cualquier red accesible o redes interconectadas mediante uno o más protocolos de comunicación, incluido el protocolo de transferencia de hipertexto (HTTP) y el protocolo de control de transmisión/protocolo de Internet (TCP/IP). Los protocolos de comunicaciones de acuerdo con las modalidades descritas también incluyen protocolos que facilitan la transferencia de datos mediante el uso de comunicaciones de identificación por radiofrecuencia (RFID) y/o NFC. Además, la red de comunicaciones 320 también puede incluir una o más redes de dispositivos móviles, tales como una red GSM o una red PCS, permitiendo que un dispositivo 100 envíe y reciba datos a través de protocolos de comunicaciones de solicitudes, incluidos los descritos en la presente descripción.
En algunas modalidades, el sistema 312 puede incluir uno o más sistemas informáticos configurados para recibir, procesar, generar, proporcionar y almacenar información. En ciertos aspectos, el sistema 312 también puede configurarse para ejecutar instrucciones de software para realizar uno o más procesos de acuerdo con las modalidades descritas. En algunas formas de modalidades ilustrativas, el sistema 312 puede estar asociado con una central 310, aunque tal asociación no es necesaria. La central 310 puede ser cualquier tipo de entidad (por ejemplo, un negocio, un transportista común, un servicio postal, una empresa, un proveedor de servicios, un comerciante, una entidad militar, una institución financiera, una escuela, etc.) de acuerdo con las modalidades descritas. Por ejemplo, el sistema 312 puede incluir un sistema informático asociado con un negocio que proporciona servicios de transporte o servicios postales comunes.
El sistema 312 puede incluir uno o más servidores 314. En una modalidad, el servidor 314 puede incluir una interfaz, un extremo posterior y uno o más procesadores, aunque el servidor 314 no está limitado a tales configuraciones. Por ejemplo, la interfaz y el extremo posterior pueden incorporarse en un solo ordenador, un solo servidor (por ejemplo, el servidor 314) o cualquier dispositivo informático adicional o alternativo aparente para un experto en la técnica. El servidor 314 también puede incluir dispositivos informáticos distribuidos y sistemas informáticos. En una modalidad, la interfaz puede ser uno o más programas de software, tal como una solicitud de software (por ejemplo, un servicio web) ejecutado por uno o más procesadores incluidos en el servidor 314. De manera similar, el extremo posterior puede ser uno o más programas de software ejecutados por uno o más procesadores incluidos en el servidor 314. El servidor 314 no se limita a tales configuraciones. En modalidades adicionales, el software de interfaz puede ser ejecutado por un servidor o sistema informático separado de un servidor o un sistema informático que ejecuta el extremo posterior.
El servidor 314 puede configurarse para ejecutar instrucciones de software para realizar uno o más procesos de acuerdo con las modalidades descritas. En una modalidad, por ejemplo, un dispositivo (por ejemplo, el dispositivo 100) puede intercambiar información facilitando la ejecución de uno o más procesos descritos en la presente descripción. En algunos aspectos, el dispositivo 100 y el sistema 312 pueden configurarse para compartir, dividir, gestionar o coordinar las funciones de procesamiento descritas en la presente descripción. Por ejemplo, el dispositivo 100 puede configurarse para realizar ciertas subrutinas asociadas con un proceso, enviar información al sistema 312 (por ejemplo, a través de la red 320) y recibir información procesada del sistema 312 después de que el sistema realice subrutinas adicionales sobre la información. En otro ejemplo, el sistema 312 puede enviar una entrada al dispositivo 100 iniciando un proceso del dispositivo, recibir datos obtenidos del dispositivo y realizar un procesamiento adicional de los datos recibidos. De esta manera, el dispositivo 100 y el sistema 312 pueden configurarse para compartir cargas de procesamiento, realizar funciones adicionales e intercambiar información. En otros aspectos, el servidor 314 puede realizar sus propios procesos no relacionados al dispositivo 100. Por ejemplo, un usuario o cliente de la central 310 puede acceder a una página web o solicitud móvil asociada con el sistema 312 (por ejemplo, a través de un servidor web ejecutado en el servidor 314) a través de un sistema informático tal como un teléfono inteligente o un ordenador personal, y subsecuentemente proporcionar o recibir información desde y hacia el sistema 312, registrarse para servicios de cuentas alojados en el sistema 312 y similares.
El sistema 312 puede incluir uno o más depósitos de datos 316 configurados para almacenar información de acuerdo con las modalidades descritas. En ciertos aspectos, la información almacenada en el depósito de datos 316 puede incluir información sobre un dispositivo 100 (por ejemplo, número de serie, última comunicación conocida, componentes instalados, etc.), información recibida de un dispositivo (por ejemplo, datos recopilados de un componente del dispositivo), información relacionada con uno o más usuarios asociados con un dispositivo (por ejemplo, información de la cuenta del usuario, datos de inicio de sesión y credenciales de un usuario, datos de identificación del usuario tales como ID, definiciones de entrada personalizadas, preferencias del usuario, datos de calibración, etc.), información recibida de terceros (por ejemplo, sistema de terceros 332) o cualquier otra información de acuerdo con las modalidades descritas. Adicional o alternativamente, esta información puede almacenarse en una memoria del dispositivo 100 (por ejemplo, memorias 208 o 210). En algunos aspectos, el sistema 312 puede configurarse para recibir, obtener, recopilar, colectar, generar o producir información para almacenar en el depósito de datos 316. En determinadas modalidades, por ejemplo, el sistema 312 puede recibir u obtener información para su almacenamiento a través de la red de comunicaciones 320. En algunos aspectos, el sistema 312 puede configurarse para proporcionar información almacenada dentro del depósito de datos 316 al dispositivo 100. En otros aspectos, el dispositivo 100 puede configurarse para acceder al depósito de datos 316 directamente (por ejemplo, a través de la red 320) para facilitar el intercambio de información entre el dispositivo 100 y el sistema 312. El sistema 312 también puede configurarse para almacenar información recibida del dispositivo 100 en el depósito de datos 316.
El sistema de terceros 332 puede incluir uno o más sistemas informáticos configurados para recibir, procesar, generar, proporcionar y almacenar información. En algunos aspectos, el sistema de terceros 332 puede estar asociado con un tercero 330. El tercero 330 puede representar cualquier negocio, entidad, persona, etc., capaz de recibir, proporcionar, procesar o generar información hacia y desde el dispositivo 100 y/o el sistema 312. El sistema de terceros 632 puede incluir sus propios sistemas informáticos, servidores, repositorios de datos, procesadores, etc., similares a los del sistema 312. En algunos aspectos, el dispositivo 100 y/o el sistema 312 pueden configurarse para recibir y proporcionar información, o compartir procesos con el sistema de terceros 332 de acuerdo con las modalidades descritas.
En algunos aspectos, los dispositivos 100 pueden configurarse para transmitir, recibir e intercambiar información entre sí a través de la red de comunicaciones 320. Por ejemplo, los datos recopilados o generados en el dispositivo 100 (por ejemplo, una imagen, un código de barras escaneado, un video, un modelo generado, etc.) pueden transmitirse a otro dispositivo portátil (no mostrado). En este ejemplo, el dispositivo receptor puede recibir la información transmitida a través de la red 320 desde el dispositivo 100 y realizar sus propios procesos de acuerdo con las modalidades descritas (y viceversa). En algunos aspectos, los datos intercambiados entre dos o más dispositivos también pueden transmitirse a otro sistema informático (por ejemplo, el sistema 312), pero dicha transmisión no es necesaria. Por ejemplo, el usuario 302 puede tomar una foto con el dispositivo 100 y enviar la foto a otro dispositivo asociado con otro usuario a través de una red NFC. En este ejemplo, el dispositivo receptor puede recibir la imagen y realizar un procesamiento adicional tal como almacenar la imagen, proyectar la imagen en una superficie (donde se puede cambiar de tamaño, manipular, etc., como se describe a continuación), mostrar la imagen en la pantalla del dispositivo 140, y así sucesivamente.
En algunas modalidades, el dispositivo 100 puede configurarse para interactuar con otros aparatos, accesorios, máquinas, dispositivos y tecnologías que no se muestran en la Figura 3. El dispositivo 100 puede configurarse para interactuar con estas otras tecnologías de cualquier manera de acuerdo con las modalidades descritas (por ejemplo, a través de la red 320, un puerto conectoren el dispositivo 100 tal como un puerto USB o un puerto de E/S, Bluetooth, un puerto propietario o un método de conexión, etc.). Por ejemplo, el dispositivo 100 puede configurarse para interactuar, intercambiar información y facilitar el procesamiento con otras tecnologías tales como receptores GPS, cámaras termográficas, escáneres de rayos X, lectores de pH, telescopios, microscopios, alcoholímetros, medidores de glucosa, termómetros, parlantes, pantallas externas, teléfonos inteligentes, contadores Geiger, láseres, lectores de tarjetas, radios de RF, impresoras, monitores médicos o de salud (por ejemplo, sensores de frecuencia cardíaca y presión arterial, etc.) y/o cualquier otro dispositivo capaz de recolectar, intercambiar o procesar información como una entrada o salida. En algunas modalidades alternativas, estas tecnologías pueden incluirse como componentes del dispositivo dentro del dispositivo 100, como se describió anteriormente.
En ciertas modalidades, estos componentes también pueden facilitar el intercambio de información entre múltiples dispositivos o sistemas informáticos. Por ejemplo, el dispositivo 100 puede configurarse para interactuar con una estación de acoplamiento (no mostrada) asociada con un sistema informático externo tal como el sistema 312. El dispositivo 100 puede configurarse para conectarse a la estación de acoplamiento a través de cualquier red de comunicaciones cableada o inalámbrica 320. En algunas modalidades, el dispositivo 100 puede configurarse para recibir datos y transmitir datos a la estación de acoplamiento. La estación de acoplamiento puede configurarse para recibir, intercambiar, transmitir y sincronizar información del dispositivo 100 y el sistema 312.
Si bien la Figura 3 ilustra un entorno de sistema ilustrativo 300 con solo un dispositivo 100, las modalidades descritas pueden incluir dispositivos y usuarios adicionales. En algunos aspectos, un usuario puede estar asociado con uno o más dispositivos y un dispositivo puede estar asociado con uno o más usuarios. De manera similar, el entorno 300 puede incluir una pluralidad de centrales 310 y terceros 330, cada uno de los cuales se asocia con uno o más sistemas 312 y sistemas de terceros 332, respectivamente.
La Figura 4A representa una ilustración ilustrativa de un dispositivo 100 usado en el brazo de un usuario de acuerdo con las modalidades descritas. En algunos aspectos, un usuario 302 puede llevar el dispositivo 100 en su persona. El dispositivo 100 puede diseñarse para un uso cómodo en el brazo, hombro, pierna, muñeca de un usuario (por ejemplo, como un reloj) o cualquier otra parte del cuerpo (por ejemplo, a través del conector 180). En determinadas modalidades, el dispositivo 100 puede diseñarse y configurarse específicamente para llevarlo alrededor de la parte superior del brazo de un usuario. Por ejemplo, como se muestra en la Figura 4A, el dispositivo 100 puede descansar cómodamente en la porción superior del brazo de un usuario mediante el uso de un conector ajustable 180 tal como una banda, una correa o un bastidor ajustable. Cuando se usa (por ejemplo, el conector está en un estado conectado), el conector 180 puede hacer que el perfil de la sección transversal del dispositivo 180 adopte una forma sustancialmente elíptica (por ejemplo, que tenga una excentricidad menor que, por ejemplo, 0,2, como se muestra en la Figura 4B). La sección transversal sustancialmente elíptica del dispositivo 100 puede facilitar el uso del dispositivo alrededor del brazo de un usuario. Por ejemplo, el diámetro inferior de la sección transversal del dispositivo puede, en algunas modalidades, no exceder el de los brazos de la mayoría de los seres humanos, tal como seis, siete, ocho o nueve pulgadas. El conector 180 también puede permitir que la sección transversal del dispositivo 180 exceda estos límites para individuos más grandes (por ejemplo, a través de un conector más grande, un conector elástico, un conector extraíble, etc.). Además, el conector 180 puede hacer que la sección transversal del dispositivo 180 adopte otras formas, tales como una luna creciente, forma de U otra forma correspondiente a una sección transversal total o parcial de un brazo humano.
En algunos aspectos, el dispositivo 100 puede descansar directamente sobre la piel del usuario 302 (por ejemplo, como se muestra en la Figura 4A). En otros aspectos, el dispositivo 100 puede diseñarse para descansar sobre la ropa del usuario 302 sin hacer contacto con la piel del usuario (por ejemplo, como se muestra en la Figura 7A). Aparte del incidente de contacto para ser usado sobre la ropa, por ejemplo, el dispositivo 100 puede realizar procesos descritos en la presente descripción sin contacto físico directo, entrada o manipulación por parte del usuario 302, tales como presionar una pantalla o botón en el dispositivo, sostener el dispositivo, manipular el dispositivo o interacciones físicas similares. En ciertos aspectos, esta ausencia de contacto directo (por ejemplo, con la piel del usuario, configuración para uso fuera del área de la cabeza del usuario) puede diseñarse para mejorar el cumplimiento de los requisitos de uso del dispositivo, tales como las regulaciones del lugar de trabajo (por ejemplo, requisitos de OSHA), la compañía interna de estándares, métricas de terceros, preocupaciones sobre la higiene del usuario y preferencias del usuario.
En algunas modalidades, los componentes del dispositivo 100 pueden diseñarse, colocarse y optimizarse para su uso en el brazo de un usuario. Por ejemplo, como se muestra en la Figura 1, uno o más sensores bioacústicos 170 pueden estar ubicados en el área de la superficie interior del dispositivo 100 para facilitar las lecturas biométricas adecuadas. En otra ilustrativa, el dispositivo 100 puede incluir un monitor de frecuencia cardíaca, monitor de transpiración u otro tipo de sensor médico ubicado en la superficie interior del dispositivo 100. Los sensores bioacústicos 170, el monitor de frecuencia cardíaca u otros dispositivos similares pueden formar una serie en la superficie interior del dispositivo 100.
En determinadas modalidades, el dispositivo 100 puede incluir o funcionar con otros materiales para su uso en el brazo de un usuario. Por ejemplo, el área interior del dispositivo 100 puede estar revestida con un material o manguito en particular para optimizar la comodidad del usuario y la funcionalidad del dispositivo cuando se usa en un brazo. En otra ilustrativa, el dispositivo 100 puede configurarse para funcionar con un revestimiento de material desechable (por ejemplo, un manguito, una banda, un revestimiento, etc.) de manera que el dispositivo 100 no funcione o funcione con funcionalidad reducida, cuando no detecta que el usuario lleva el revestimiento desechable. En otros aspectos, el revestimiento del material desechable puede no afectar la funcionalidad del dispositivo 100. Por ejemplo, en un aspecto, el dispositivo 100 puede configurarse para funcionar sobre un revestimiento de plástico delgado para mejorar la higiene asociada con el dispositivo portátil 100.
El dispositivo 100 también puede diseñarse para un uso resistente y duradero, capaz de resistir caídas desde varios metros, contacto con superficies duras (por ejemplo, paredes, encimeras, hormigón, etc.), pequeñas fuerzas de conmoción y similares. Por ejemplo, el dispositivo 100 puede configurarse para encajar dentro de un recubrimiento acolchado, incluir una jaula adicional o capa protectora hecha de un material resistente (por ejemplo, metal, Kevlar, acolchado, caucho, etc.), comprender superficies y pantallas resistentes a los arañazos (por ejemplo, que contiene Gorilla Glass), etc. En un aspecto, por ejemplo, el dispositivo 100 puede incluir una carcasa rígida y flexible compuesta sustancialmente de polímeros de caucho (por ejemplo, 80 % en peso). En algunas modalidades, esta carcasa puede formar un sello hermético alrededor del dispositivo 100 y/o sus componentes eléctricos internos. En determinados aspectos, la carcasa puede incluir una abertura, una cavidad o un espacio para que la cara del dispositivo 100 permanezca abierta al aire o la luz. En algunas modalidades, el espacio en la carcasa puede rellenarse con un material, capa o película transparente (por ejemplo, que comprende vidrio, plástico, fibra sintética, cristal, etc.) creando una barrera protectora entre los componentes del dispositivo y el entorno exterior.
En algunos aspectos, el dispositivo 100 también puede configurarse para cumplir con descripciones industriales, empresariales, militares y/o gubernamentales. Por ejemplo, en una modalidad ilustrativa, el dispositivo 100 puede configurarse para cumplir con el MILSPEC 810G o cualquier otro identificador regulatorio gubernamental especificado para determinar los requisitos de reforzamiento de un dispositivo. En ciertos aspectos, el dispositivo 100 puede estar configurado para soportar condiciones climáticas y/o ambientales extremas tales como bajas temperaturas, altas temperaturas, alta humedad, baja o alta presión, inmersión en agua, la presencia de arena, lluvia, frío, heladas, calor y similares. Por ejemplo, el dispositivo 100 puede configurarse para funcionar en las profundidades del océano (por ejemplo, incluyendo una carcasa hermética que rodea los componentes eléctricos del dispositivo), en la cima de una montaña alta, en un desierto ventoso, etc. En algunas modalidades, el dispositivo 100 puede configurarse para resistir otras condiciones de uso previsibles tales como la presencia de sudor (por ejemplo, a través de sellos que encierran la superficie interna del dispositivo).
En algunas modalidades, el dispositivo 100 puede determinar el paisaje físico de su entorno mediante el uso de uno o más de sus componentes. Por ejemplo, el dispositivo 100 puede incluir una cámara de profundidad 130 para determinar la profundidad de los objetos en su campo de visión. Como reconoce la cámara de profundidad 130, la profundidad de campo puede comprender una serie bidimensional de puntos (por ejemplo, píxeles) en donde cada punto está asociado con un conjunto de coordenadas, que incluyen posición y profundidad. Cada píxel también puede estar asociado con otros atributos tal como el color (por ejemplo, un valor RGB, un valor CYMK o un índice similar), de acuerdo con las modalidades descritas. El dispositivo 100 puede usar las coordenadas y otros atributos de cada punto en el campo de visión para determinar las propiedades tridimensionales del espacio dentro de él.
Por ejemplo, la Figura 5A representa una ilustrativa de campo de profundidad de una cámara de profundidad 130 de acuerdo con las modalidades descritas. En ciertos aspectos, la cámara de profundidad puede detectar un punto 502 en su vista. El punto 502 puede reflejar una unidad elemental en el espacio de la cámara, que representa la característica resoluble más pequeña (por ejemplo, un píxel), o un grupo de tales unidades (por ejemplo, un grupo de píxeles que contiene una pluralidad de píxeles) en el campo. La cámara de profundidad 130 y puede asociar el punto 502 con coordenadas que indican la posición y la profundidad del punto 502 en el espacio de la cámara. En la ilustrativa del sistema de coordenadas representado en la Figura 5A, por ejemplo, estas coordenadas pueden tomar la forma de coordenadas cartesianas (x, y, z). La cámara de profundidad 130 puede usar otros tipos de sistemas de coordenadas, tales como coordenadas esféricas, coordenadas cilíndricas, coordenadas patentadas y estructuras de datos, etc., y estos sistemas de coordenadas también pueden tener en cuenta las características de la cámara de profundidad 130 tal como la forma de la lente (por ejemplo, creando una perspectiva o un sistema de coordenadas proyectadas, etc.). La cámara de profundidad 130 también puede asociar el punto 502 con uno o más colores, tal como un triplete r Gb , un cuatrillizo CYMK, etc. Además, mientras que la Figura 5A representa los ejes de coordenadas para indicar una sensación de profundidad, el entorno detectado en la profundidad de la cámara 130 puede tomar la forma de una serie bidimensional de píxeles, cada uno asociado con un valor de profundidad (por ejemplo, debido a la proyección del entorno tridimensional en un espacio bidimensional) tal como se muestra en la Figura 5B, y la inclusión de los ejes en la Figura 5A tiene fines ilustrativos.
El dispositivo 100 puede incluir hardware y/o software que implemente algoritmos matemáticos para determinar relaciones entre píxeles y puntos en el espacio de la cámara. Por ejemplo, el dispositivo 100 puede determinar la distancia 510 entre dos puntos (por ejemplo, entre dos píxeles) mediante el uso de algoritmos implementados a través de la cámara de profundidad 130 o software implementado dentro del dispositivo (por ejemplo, ejecutado por el procesador 202). En la ilustración de la Figura 5A, por ejemplo, el dispositivo 100 puede determinar la distancia tridimensional 510 entre los puntos 502 y 504 mediante el uso de la relación
Figure imgf000011_0001
donde x, y z reflejan las coordenadas de los puntos 504 y 502 (indicados respectivamente por subíndices). Como apreciará un experto en la técnica, otros sistemas de coordenadas pueden emplear diferentes fórmulas de distancia y la relación ilustrativa anterior es solo para fines ilustrativos. Además, el dispositivo 100 puede determinar distancias de maneras adicionales. Por ejemplo, el dispositivo 100 puede determinarla distancia 510 entre dos puntos sumando numéricamente las subdistancias entre píxeles adyacentes que se encuentran a lo largo de la trayectoria desde el punto 502 al 504.
El dispositivo 100 también puede determinar el área superficial 512 subtendida por tres puntos no coliniales mediante la cámara de profundidad 130 o el software ejecutado por el procesador 202. Por ejemplo, el dispositivo 100 puede determinar el área superficial 512 subtendida por los puntos 502, 504 y 506 mediante el uso de la relación A = (1/2)bh, donde A es el área superficial 512, b es la longitud de uno de los bordes de la superficie (por ejemplo, como se calculó anteriormente para la distancia 510), y h es la distancia de un segmento linear desde un punto opuesto no asociado con ese borde ( por ejemplo, el punto 506) formando un ángulo recto con el borde. Como entenderá un experto en la técnica, otros sistemas de coordenadas pueden incluir diferentes expresiones del área superficial 512. Además, el dispositivo 100 puede emplear otros métodos para determinar el área superficial 512 entre tres puntos, tales como métodos numéricos. Por ejemplo, el dispositivo 100 puede determinar el área de una superficie dividiendo la superficie en grupos de tres píxeles (o grupos de píxeles) y sumando las áreas superficiales de los componentes entre los grupos dentro de la superficie. El dispositivo 100 también puede emplear otras formulaciones tales como sumas de Riemann, integrales de áreas numéricas, etc. Además, el dispositivo 100 puede determinar el área superficial de superficies que abarcan más de tres puntos (por ejemplo, un n-gon) dividiendo la superficie en regiones de tres puntos (por ejemplo, en donde cada borde se comparte con otro grupo), encontrando el área superficial de cada región (por ejemplo, como anteriormente) y sumando el resultado. Los expertos en la técnica apreciarán otras formas de generar o aproximar el área superficial 512 de acuerdo con las modalidades descritas.
El dispositivo 100 también puede determinar o estimar el volumen 514 de un objeto mediante el uso de procesos implementados a través de la cámara de profundidad 130 y/o el procesador 202. Como se muestra en el tetraedro en la Figura 5A, por ejemplo, el dispositivo 100 puede determinar el volumen subtendido por cuatro o más puntos/vértices no planos (por ejemplo, los puntos 502, 504, 506 y 508) mediante el uso de una relación tal como V = (1/3)Ah, donde V es el volumen 514, A es el área superficial de una base (por ejemplo, el área superficial 512 calculada anteriormente) y h es la altura entre la base y su punto opuesto (por ejemplo, el punto 508). Otros sistemas de coordenadas pueden emplear otras expresiones para el volumen 514. Además, el dispositivo 100 puede determinar el volumen de objetos que abarcan más de cuatro puntos numéricamente dividiendo el objeto en regiones de cuatro puntos no planos, encontrando el volumen de cada región (por ejemplo, como anteriormente) y sumando el resultado. El dispositivo 100 también puede estimar el volumen de un objeto integrando el volumen numéricamente (por ejemplo, dividiendo el objeto en píxeles o grupos de píxeles e integrando numéricamente la función del objeto f sobre un dominio D que tiene un conjunto de coordenadas u con elemento de volumen dV, fffüf(u)dV).
El dispositivo 100 puede usar otros métodos numéricos para estimar el volumen de un objeto. En algunos aspectos, los métodos numéricos pueden resultar beneficiosos para estimar el volumen 514 de objetos complicados, cuando el objeto incluye puntos invisibles para la cámara de profundidad 130 (por ejemplo, porque la cámara no puede ver a través de objetos sólidos), y otras consideraciones similares. En algunas modalidades, el dispositivo 100 puede estimar el volumen de un objeto haciendo ciertas suposiciones sobre el objeto. Por ejemplo, el dispositivo 100 puede asumir que un objeto subtendido por varios puntos exhibe una simetría en particular (por ejemplo, radial, bilateral, esférica, etc.), una característica común en un amplio intervalo de objetos. Adicionalmente o alternativamente, el dispositivo 100 puede asumir que el objeto tiene una forma sustancialmente regular, de manera que parece similar cuando se refleja o gira alrededor de ciertos ejes. En base a estas suposiciones, el dispositivo 100 puede, mediante software ejecutado por el procesador 202, estimar la ubicación de los puntos o bordes invisibles del objeto y generar un volumen en consecuencia.
La Figura 5B ilustra un objeto ilustrativo en un campo de profundidad para propósitos de dimensionamiento de acuerdo con las modalidades descritas. En algunos aspectos, el dispositivo 100 puede determinar que un objeto en particular está subtendido por un grupo de puntos (por ejemplo, mediante el uso de procesos de acuerdo con los descritos en la presente descripción, tales como algoritmos de detección de bordes y esquinas). En el objeto ilustrativo de la Figura 5B, por ejemplo, el dispositivo 100 puede determinar (por ejemplo, mediante la cámara de profundidad 130 y/o el software ejecutado por el procesador 202), que un objeto está subtendido por los puntos 530, 532, 534, 536, 538, 540 y 548. En ciertos aspectos, este objeto puede reflejar cualquier objeto que adopte sustancialmente la forma de un prisma rectangular o trapezoidal, tal como una caja, un empaque, un teléfono, un libro, etc. En ciertos aspectos, el dispositivo 100 puede determinar el área superficial o el volumen del objeto mediante el uso de las modalidades descritas anteriormente (por ejemplo, dividiendo el objeto en grupos de puntos, determinando el área/volumen de estas regiones y sumando el resultado).
En otros aspectos, el dispositivo 100 puede asumir que el objeto subtendido por estos puntos tiene una orientación sustancialmente regular o exhibe una simetría en particular. Mediante el uso de esta suposición, el dispositivo 100 puede determinar que el objeto probablemente incluye un punto invisible (vértice) 550 no detectado en el campo de la cámara de profundidad 130 (por ejemplo, porque el objeto es opaco) que tiene una ubicación en base a la simetría supuesta. Esta determinación puede seguir, por ejemplo, suponiendo que las distancias asociadas entre los puntos 532 y 534, 548 y 536, y 540 y 538, deben imputarse a la distancia entre los puntos 530 y un punto invisible 550. Los bordes que conectan el punto 550 y los puntos 534 y 538 pueden resolverse de la misma manera (por ejemplo, mediante el uso de los bordes relacionados). De manera similar, el dispositivo 100 puede tomar esta determinación imputando las superficies 542, 544 y 546 en sus respectivas superficies opuestas (por ejemplo, paralelas) que contiene el punto invisible 550. Además, el dispositivo 100 puede determinar un vértice invisible identificando una superficie plana del objeto (por ejemplo, determinando una región en la que muchos grupos de píxeles contiguos comparten vectores normales paralelos, como se describe más abajo), identificando las coordenadas de otros vértices conocidos e imponer una regla de que el objeto exhibe una simetría alrededor de un eje asociado con la superficie plana.
El dispositivo 100 puede determinar la ubicación estimada del punto invisible 550 mediante el uso de los cálculos anteriores. Por ejemplo, el dispositivo 100 determina la ubicación (por ejemplo, coordenadas) del punto invisible 550 promediando las longitudes de los bordes entre puntos similares (por ejemplo, la distancia entre los puntos 530 y 550 debe reflejar las distancias promedio entre los puntos 532 y 534, 548 y 536, y 540 y 538, repitiendo este proceso para otros bordes, etc.), imputando las caras superficiales a sus contrapartes opuestas como se describió anteriormente, aplicando matrices de rotación y traslación bidimensionales o tridimensionales al objeto visible para determinar su orientación esperada en el dirección opuesta (por ejemplo, la distancia del borde entre los puntos 530 y 550 debe ser igual a la de los puntos 548 y 536), etc. El dispositivo 100 puede usar los supuestos de simetría y/o o regularidad de objetos para generar las ubicaciones de varios de esos puntos invisibles. Después de estimar la ubicación de los puntos invisibles, el dispositivo 100 puede usar las modalidades anteriores para calcular o actualizar el volumen del objeto mediante el uso de los puntos invisibles. De esta manera, el dispositivo 100 puede generar estimaciones del volumen del objeto con un mayor grado de precisión.
Además, el dispositivo 100 puede determinar otras propiedades de objetos y superficies dentro del campo de visión de la cámara de profundidad 130 mediante el uso de relaciones matemáticas (por ejemplo, relaciones geométricas) que se derivan de la discusión anterior. Por ejemplo, el dispositivo 100 puede determinar una expresión para una línea que pasa a través de dos puntos en el sistema de coordenadas (por ejemplo, los puntos 502 y 504) en base a sus coordenadas mediante el uso de ecuaciones tales como ax + por = c, u otra formulación similar en base al sistema de coordenadas. De manera similar, el dispositivo 100 puede determinar la expresión de un plano en el sistema de coordenadas (por ejemplo, subtendido por los puntos 502, 504 y 506) en base a las coordenadas de los puntos mediante el uso de ecuaciones tales como ax + por + cz = d u otras formas, en dependencia del sistema de coordenadas. El dispositivo 100 puede entonces usar estas relaciones para determinar características del entorno, tales como los vectores normales a las superficies 512, si tres puntos coinciden en una línea, si cuatro puntos coinciden en un plano, etc. Por ejemplo, para una superficie (por ejemplo, que tiene un área superficial 512) coincidente con un plano que tiene la forma f(x, y, z )= a x + por + cz + d = 0, el vector normal a este plano puede tomar la forma N = Vf dónde V es el operador de gradiente. Un experto en la técnica apreciará otras expresiones para vectores normales, en base a la parte en el sistema de coordenadas usado y la forma en la que se aproxima el plano (por ejemplo, mediante técnicas numéricas). Por ejemplo, dados tres puntos en un sistema de coordenadas, el dispositivo 100 puede calcular un vector normal a estos puntos determinando los vectores que abarcan un primer punto a un segundo punto y del primer punto a un tercer punto (por ejemplo, restando las coordenadas de un punto a otro), y calcular un producto cruzado de los vectores resultantes. El dispositivo 100 también puede determinar si este vector normal está dirigido apropiadamente (por ejemplo, si apunta hacia adentro o hacia afuera de la superficie del objeto) y ajustar el vector normal en consecuencia (por ejemplo, multiplicándolo por -1 para forzar al vector a apuntar hacia afuera). El dispositivo 100 puede determinar estos valores numéricamente mediante, por ejemplo, instrucciones de software ejecutadas por el procesador 202.
En algunas modalidades, la determinación de segmentos de línea, distancias, líneas, planos, vectores normales, etc. puede impartir conocimiento sobre la orientación de superficies y objetos (por ejemplo, en base a sus ecuaciones de línea/plano, vectores normales, volúmenes, etc.) en el campo de visión de la cámara de profundidad 130. En una ilustrativa, el vector normal a una superficie indica su orientación tridimensional. Por tanto, el dispositivo 100 puede dividir cualquier objeto en grupos de puntos para encontrar sus áreas superficiales, volúmenes, vectores normales, etc., para determinar las áreas superficiales, volúmenes y orientaciones del objeto. Además, el dispositivo 100 puede emplear elaboraciones adicionales de la discusión anterior que es evidente para un experto en la técnica para realizar procesos de acuerdo con las modalidades descritas. Por ejemplo, el dispositivo 100 puede calcular gradientes de profundidad de un campo de visión de la cámara de profundidad 130 en las direcciones x y/o y (por ejemplo, mediante el uso de derivadas parciales), de esta manera se determina la velocidad de cambios de profundidad en el campo en estas direcciones. Como se discutió anteriormente, los cálculos anteriores se pueden realizar mediante la cámara de profundidad 130, el procesador 202 conectado a la cámara de profundidad 130 o cualquier sistema informático externo (por ejemplo, un sistema conectado al dispositivo 100 a través de la red de comunicaciones 320).
El dispositivo 100 también puede determinar las propiedades de los objetos (por ejemplo, áreas superficiales, volúmenes, vectores normales, etc.) en base a los modelos recibidos de una fuente externa o almacenada en una memoria (por ejemplo, en el dispositivo o en un sistema externo). Los modelos pueden estar pregenerados para reflejar los posibles objetos con los que es probable que se encuentre el dispositivo. Por ejemplo, en el campo de los servicios de mensajería, el dispositivo 100 puede almacenar representaciones tridimensionales de empaques, resguardos y cajas comúnmente usados por una compañía o marca en particular. El dispositivo 100 puede entonces determinar las propiedades de un objeto comparándolo con uno o más modelos de objetos y, si detecta una coincidencia, imputando las propiedades conocidas del modelo (por ejemplo, los tamaños, las descripciones, el peso, el nombre de la compañía, etc.) en el objeto actual. El dispositivo 100 puede realizar este proceso implementando, por ejemplo, instrucciones de software ejecutadas por el procesador 202.
El dispositivo 100 puede comenzar a detectar una coincidencia determinando los límites (por ejemplo, vértices) de un objeto mediante el uso de procesos de acuerdo con las modalidades descritas (por ejemplo, como se describió anteriormente y en relación con la Figura 6). El dispositivo 100 puede entonces aplicar matrices de rotación, escalado y/o o traslación al objeto actual (antes o después de generar cualquier vértice invisible) y determinar si el objeto girado, escalado y trasladado coincide con un objeto modelado. El dispositivo 100 puede detectar una coincidencia cuando los vértices del objeto manipulado coinciden con los de un modelo, cuando los vectores normales del objeto actual y el modelo coinciden dentro de algún umbral de confianza (por ejemplo, sin desviarse en más de un valor umbral de grados/radianes, etc.) y así sucesivamente. Si no se detecta una coincidencia, el dispositivo 100 puede continuar el procesamiento del objeto de acuerdo con las modalidades descritas. En otros aspectos, el dispositivo 100 puede transmitir la información del objeto a un sistema externo (por ejemplo, el sistema 312) para realizar la comparación del modelo externamente y recibir los resultados de la comparación a través de la red de comunicaciones 320. De hecho, el dispositivo 100 puede transmitir cualquier información de acuerdo con la discusión anterior y siguiente a un sistema externo (por ejemplo, el sistema 312) para realizar los procesos descritos, y el dispositivo 100 puede recibir los resultados de estas determinaciones (por ejemplo, áreas superficiales, volúmenes, etc.) a través de la red de comunicaciones 320.
Volviendo a la Figura 5A, el dispositivo 100 puede usar información contenida en cada píxel para determinar ciertas propiedades de los objetos en un campo de visión de la cámara de profundidad 130. Por ejemplo, el dispositivo 100 puede determinar que su profundidad de campo contiene un objeto (por ejemplo, subtendido por los puntos 502, 504, 506 y 508) entre un fondo (por ejemplo, píxeles que tienen profundidades más alejadas del objeto, de acuerdo con una pared, un piso, árboles cercanos, etc.). El dispositivo 100 puede determinar los límites y la extensión de los objetos mediante el uso de varias técnicas. Por ejemplo, el dispositivo 100 puede usar procesos para determinar los bordes y/o las esquinas de objetos en una imagen. En un aspecto, el dispositivo 100 puede emplear un algoritmo de detección de bordes para detectar los bordes de los objetos que aparecen en el campo de visión (por ejemplo, para detectar el borde 510). Estos algoritmos de detección de bordes pueden comprender cualquier algoritmo de detección de bordes adecuado conocido en la técnica (por ejemplo, detección de bordes de Canny, congruencia de fase, etc.) además de suplementos o alternativas a estos métodos (por ejemplo, umbral, adelgazamiento de borde, detección de borde diferencial, etc.). Por ejemplo, el procesador 202 puede aplicar una ventana de detección de borde Canny a una señal de la cámara de profundidad 130. Esta ventana comprende las etapas de aplicar un filtro gaussiano a los datos para suavizar el ruido, determinar la intensidad de los gradientes de la imagen, aplicar supresión no máxima para adelgazar los bordes potenciales, aplicar un umbral doble para determinar los bordes potenciales (por ejemplo, descartar bordes por debajo de un primer umbral), y rastreando los bordes potenciales por histéresis (por ejemplo, suprimiendo los bordes por debajo de un segundo umbral más alto que no están conectados a un borde por encima del segundo umbral). Otras modificaciones de dicha ventana de detección de borde serán evidentes para un experto en la técnica.
Alternativamente o adicionalmente, el dispositivo 100 puede emplear un algoritmo de detección de esquina para detectar esquinas de objetos en la señal de la cámara de profundidad 130. Dichos algoritmos de detección de esquina pueden incluir cualquier proceso adecuado conocido por un experto en la técnica, tales como los algoritmos Moravec, Harris y Stevens, Forstner, múltiples escalas de Harris, Wang y Brady, Trajkovic y Hedley, y SUSAN, y así sucesivamente. En ciertos aspectos, estos algoritmos de detección de esquina pueden indicar la presencia de esquinas de un objeto, tales como los puntos 502, 504, 506 y 508 de la Figura 5A.
En algunas modalidades, el dispositivo 100 puede refinar los resultados de la detección de borde y/o esquina mediante el uso de las coordenadas de profundidad de cada píxel. Por ejemplo, el dispositivo 100 puede requerir que dos píxeles que forman un borde estén dentro de una distancia umbral entre sí (por ejemplo, para diferenciar el objeto del fondo u otros objetos distantes). Además, el dispositivo 100 puede suprimir los píxeles marcados como esquinas que tienen un gradiente de profundidad suave por encima de un umbral (por ejemplo, porque el píxel no es realmente una esquina). El dispositivo 100 puede emplear otros tipos de algoritmos de detección de objetos adecuados para tales propósitos (por ejemplo, filtros de Gabor, reducción de ruido, operadores Sobel, gradientes de imagen, gradientes de profundidad, etc.) y la discusión de ciertos algoritmos en la presente descripción es solo para fines ilustrativos. Por ejemplo, el dispositivo 100 puede calcular derivadas de un campo de profundidad actual para generar mapas de profundidad derivado o mapas de intensidad/color derivado. Estas derivadas pueden calcularse numéricamente determinando el cambio en la profundidad o la intensidad entre dos puntos (por ejemplo, píxeles adyacentes) y dividiendo ese cambio por la distancia entre ellos. En algunos aspectos, el dispositivo 100 puede usar estos mapas de gradiente o derivado para realizar un reconocimiento de objetos adicional (por ejemplo, reconocer el dedo de un usuario como se describe más abajo), realizar un refinamiento adicional de la imagen (por ejemplo, detección de borde), y así sucesivamente.
La Figura 6 representa un diagrama de flujo de un proceso ilustrativo 600 para dimensionar objetos mediante el uso del dispositivo 100 de acuerdo con las modalidades descritas. El proceso 600 puede implementarse mediante hardware y/o software ejecutado en el dispositivo 100, tal como una cámara de profundidad 130 conectada comunicativamente (por ejemplo, mediante la cadena principal 206 u otros circuitos) a un procesador 202 que ejecuta instrucciones de software, además de otros componentes del dispositivo. Además, el proceso 600 puede implementarse total o parcialmente en otros sistemas informáticos, tal como el sistema 312 en comunicación con el dispositivo 100 a través de la red de comunicaciones 320. El proceso 600 o sus subrutinas pueden implementarse como un proceso autónomo o como parte de un proceso más grande (por ejemplo, determinando las orientaciones de los objetos para los procesos de escaneo o firma de las Figuras 8 y 9, etc.) de acuerdo con las modalidades descritas.
En algunos aspectos, el proceso 600 puede comenzar (etapa 602) detectando un evento de dimensionamiento (etapa 604). Un evento de dimensionamiento puede comprender cualquier evento de entrada detectable por el dispositivo 100 como se describe en más detalle más abajo. Por ejemplo, el evento de dimensionamiento puede comprender la detección de que un usuario 302 ha tocado dos veces un objeto que desea dimensionar (por ejemplo, a través de la cámara de profundidad 130), recibir un comando de audio (por ejemplo, a través del micrófono 160), detectar una entrada ingresada en una interfaz proyectada (por ejemplo, mediante el uso del proyector 110 y la cámara de profundidad 130), etc. Los tipos adicionales de eventos de dimensionamiento (por ejemplo, eventos de entrada) y la manera de su detección se describen con más detalle en la presente descripción.
El proceso 600 puede incluir segmentar el campo de visión de la cámara de profundidad 130 en una pluralidad de regiones (etapa 606). El proceso 600 puede segmentar (por ejemplo, dividir) un campo de visión en regiones mediante el uso de los algoritmos de detección de borde, esquina y características descritos anteriormente. Por ejemplo, en una modalidad, el procesador 202 puede aplicar filtro(s) de detección de borde a las señales recibidas de la cámara de profundidad 130 para detectar bordes de objetos en el campo de visión. Adicionalmente o alternativamente, el procesador 202 puede aplicar un filtro de detección de esquina a las señales originales o modificadas (por ejemplo, filtradas por el filtro de detección de esquina) para determinar la ubicación de las esquinas de los objetos en el campo de visión. En algunas modalidades, el procesador 202 también puede aplicar algoritmos de filtrado adicionales tales como pruebas de umbral (por ejemplo, suprimir bordes por debajo de una fuerza de umbral), adelgazamiento de borde (por ejemplo, suprimir bordes más anchos que un número umbral de píxeles) y tipos de filtros o ventanas de acuerdo con las modalidades descritas.
El proceso 600 puede incluir identificar una región asociada con un objeto que el usuario desea dimensionar (etapa 608). El dispositivo 100 puede identificar esta región mediante el uso de cualquier tipo de evento de entrada que especifique una región en particular de acuerdo con las modalidades descritas. En una modalidad, por ejemplo, el dispositivo 100 puede determinar la región en base al evento de dimensionamiento. Por ejemplo, el evento de dimensionamiento puede incluir un evento de entrada en particular (por ejemplo, una entrada de gesto) que el usuario realizó con el mismo objeto, tal como tocar el objeto determinado número de veces. En tales modalidades, la región identificada puede reflejar la región cerca del evento de dimensionamiento. En otras modalidades, el dispositivo 100 puede proyectar una interfaz en una de las regiones segmentadas anteriormente (por ejemplo, a través del proyector 110) y esperar una confirmación de entrada de interfaz a la interfaz (por ejemplo, como se describe con más detalle más abajo). En otra modalidad más, el dispositivo 100 puede iluminar una de las regiones con una luz o un láser y esperar un evento de entrada del usuario (por ejemplo, una entrada de audio recibida a través del micrófono 160). Además, el dispositivo 100 puede identificar una región asociada con un objeto al encontrar la región cercana (por valores de profundidad) que tiene un área superficial mayor que algún umbral y/o que tiene vectores normales dentro de un intervalo predefinido. La determinación de una región asociada con el objeto a dimensionar puede incluir cualquier evento de entrada de este tipo de acuerdo con las modalidades descritas a continuación.
El proceso 600 puede incluir determinar el objeto a dimensionar en base a una región identificada (etapa 610). En algunos aspectos, esta etapa puede incluir determinar si una o más regiones adyacentes a la región especificada de la etapa 608 son probablemente parte del mismo objeto. El dispositivo 100 puede determinar si el objeto probablemente incluye una o más regiones diferentes analizando iterativamente cada región adyacente y evaluando si sus características indican una posibilidad (por ejemplo, sobre algún valor umbral) de que la región sea parte del mismo objeto. En ciertas modalidades, este análisis puede incluir comparar colores de píxeles en la región adyacente con los de la región especificada y determinar si los colores son de acuerdo a una manera sistemática (por ejemplo, que contiene colores similares pero que aparecen más oscuros o más claros debido a la iluminación ambiental, etc.) Por ejemplo, el lado de un empaque puede parecer más oscuro que la parte superior debido a la luz que brilla desde arriba, pero el lado puede contener un perfil de color similar al de la parte superior, lo que indica que las regiones están relacionadas. La comparación de colores entre regiones se puede hacer sobre una base promedio (por ejemplo, si el color de píxel promedio en la región adyacente es similar al color de píxel promedio en la región especificada por medio de la oscuridad o el brillo), sobre una base de porcentaje/histograma (por ejemplo, si dos regiones tienen aproximadamente el mismo número de ciertos colores, difiriendo solo por niveles de oscuridad o brillo, etc.), o cualquier otro tipo de base estadística.
Además, el dispositivo 100 puede determinar que las regiones adyacentes comprenden el mismo objeto en base a los valores de profundidad de sus píxeles. En algunos aspectos, dos regiones pueden comprender el mismo objeto cuando los píxeles a lo largo de un borde que las une tienen valores de profundidad sustancialmente continuos. Por ejemplo, el dispositivo 100 puede emparejar los píxeles más cercanos de las regiones adyacentes a lo largo de su borde de unión y comparar los valores de profundidad para los píxeles emparejados. El dispositivo 100 puede considerar dos píxeles continuos cuando sus profundidades son iguales o están dentro de un cierto intervalo entre sí. En algunas modalidades, algunos píxeles pueden emparejarse dos veces (por ejemplo, para acomodar bordes que tienen una curvatura). Después de iterar sobre cada par de píxeles, el dispositivo 100 puede considerar que las dos regiones comprenden el mismo objeto cuando un cierto porcentaje de pares de píxeles son continuos (por ejemplo, el porcentaje de pares de píxeles continuos para todos los pares excede un umbral tal como el 85 por ciento). Como se describió anteriormente, el dispositivo 100 también puede realizar esta determinación en base a los valores promedio de píxeles en cada región (por ejemplo, cuando las profundidades promedio de las regiones están dentro de un valor umbral) u otro tipo de análisis estadístico.
En algunas modalidades, cuando el dispositivo 100 determina que dos regiones son parte del mismo objeto, el dispositivo puede realizar el análisis anterior en regiones adyacentes de la región recién incluida y comenzar el proceso de nuevo. Cuando el dispositivo 100 determina que dos regiones no están conectadas (por ejemplo, no forman parte del mismo objeto), el dispositivo 100 puede continuar en la siguiente región adyacente. El dispositivo 100 puede usar este procedimiento para arrastrarse sobre regiones vecinas, creando un límite de regiones que comprenden el objeto. De esta manera, el dispositivo 100 puede determinar cada región en un campo de visión asociado con un objeto.
En ciertos aspectos, el proceso 600 puede incluir generar una representación tridimensional del objeto creado a partir de las regiones relacionadas (etapa 612). El dispositivo 100 puede generar una representación tridimensional del objeto mediante el uso, por ejemplo, de los procesos descritos en relación con las Figuras. 5A y 5B. Por ejemplo, el dispositivo 100 puede determinar que cada píxel del grupo de regiones relacionadas sea un punto separado que forma el objeto. En otra ilustrativa, el dispositivo 100 puede considerar que sólo los píxeles que se encuentran en el borde o la esquina de estas regiones constituyen parte del objeto (por ejemplo, como puntos del objeto). Adicionalmente o alternativamente, el dispositivo 100 puede comparar la representación generada con los modelos almacenados, generar uno o más vértices invisibles en base a los supuestos de simetría o procesos similares descritos anteriormente para generar la representación del objeto.
El proceso 600 puede incluir determinar las dimensiones y otras propiedades del objeto en base a su representación (etapa 614). El dispositivo 100 puede determinar las dimensiones de un objeto (por ejemplo, su extensión, su volumen, etc.) mediante el uso de los procesos descritos en relación con las Figuras. 5A y 5B. Por ejemplo, mediante el uso de cada uno de los puntos o píxeles asociados con la representación del objeto, el dispositivo 100 puede dividir el objeto en grupos de puntos o píxeles, determinar el volumen para cada grupo y sumar el resultado para estimar el volumen del objeto. El dispositivo 100 puede usar métodos similares para determinar los límites, el área superficial, los vectores normales, etc. del objeto de acuerdo con las modalidades descritas.
En algunas modalidades, el proceso 600 puede incluir la transmisión de la información de las dimensiones a un sistema informático externo (etapa 616). El dispositivo 100 puede transmitir esta información a través de una interfaz de comunicaciones (por ejemplo, la interfaz de comunicaciones 224) para realizar un procesamiento adicional de acuerdo con las modalidades descritas. Por ejemplo, el dispositivo 100 puede transmitir la información de dimensiones al sistema 312 a través de la red de comunicaciones 320. En algunos aspectos, el dispositivo 100 puede determinar si se debe transmitir la información de dimensión en base a las redes de comunicaciones disponibles (por ejemplo, como se describe en relación con la Figura 10), por rutina, nunca, etc.
En determinadas modalidades, el dispositivo 100 puede almacenar la información de dimensión localmente además de transmitirla aun sistema externo o en lugar de hacerlo. El dispositivo 100 también puede usar la información de dimensión almacenada (por ejemplo, el volumen, los vectores normales, etc.) para realizar un procesamiento adicional de acuerdo con las modalidades descritas. En una ilustrativa, por ejemplo, el dispositivo 100 puede determinar si el objeto cabe dentro de otro objeto, tal como un contenedor, dado el volumen del contenedor, el espacio disponible dentro del contenedor, etc. El dispositivo 100 puede entonces realizar un procesamiento adicional, tal como restar el volumen del objeto del espacio disponible del contenedor al determinar que el objeto encajará dentro del espacio disponible del contenedor.
Además de dimensionar objetos, el dispositivo 100 puede interactuar con su entorno de otras maneras. La Figura 7A representa una ilustrativa de interfaz interactiva 704 proyectada sobre una superficie 702 de acuerdo con las modalidades descritas. El dispositivo 100 puede proyectar información sobre una superficie a través del proyector 110 (por ejemplo, en base a las señales recibidas del procesador 202). En ciertos aspectos, la información proyectada puede comprender o representar una interfaz. La interfaz puede consistir en cualquier combinación de texto, imágenes, videos, glifos, botones, modelos, símbolos, gráficos, tablas, teclados, teclados numéricos, ventanas de solicitudes (por ejemplo, ventanas asociadas con iOS, Microsoft Windows, Google Android, una ventana propietaria asociado con el dispositivo 100, etc.), o cualquier otra señal visual capaz de proporcionar información y/o recibir entrada. En la interfaz ilustrativa representada en la Figura 7A, por ejemplo, la interfaz 704 comprende un teclado numérico.
En determinadas modalidades, la naturaleza, el contenido, la extensión, el formato y las propiedades de la interfaz 704 pueden depender de la función o los procesos que el dispositivo está realizando actualmente. Por ejemplo, si el usuario entrega una entrada al dispositivo 100 de acuerdo con iniciar una llamada telefónica, el dispositivo 100 puede proyectar un teclado numérico, una lista de direcciones, opciones de llamada (por ejemplo, altavoz, silencio, etc.), etcétera. En otra modalidad, si el usuario entrega una entrada de acuerdo con la captura de una firma, el dispositivo 100 puede proyectar una línea de firma en blanco. En otra modalidad más, el dispositivo 100 puede proyectar una interfaz que contiene un botón o campo de confirmación para obtener una confirmación de un usuario (por ejemplo, para llevar a cabo o terminar ciertos procesos tales como indicar un objeto o región a la dimensión como en la Figura 6). Los tipos, configuraciones y naturaleza de las interfaces de acuerdo con el dispositivo 100 serán evidentes para los expertos en la técnica al considerar y poner en práctica las modalidades descritas.
El dispositivo 100 puede proyectar la interfaz 704 a través del proyector 110 sobre cualquier superficie adecuada 702 capaz de transmitir de manera significativa la información contenida en la interfaz. En algunos aspectos, la superficie 702 puede incluir una pantalla, una pared, una mesa, una caja, una parte del cuerpo humano (por ejemplo, un brazo, una mano, etc.), una superficie sujeta (por ejemplo, un bloc de notas, un papel, un libro, etc.), un vehículo, un piso, un espejo, una ventana, una combinación de estas superficies y similares. Por ejemplo, en la Figura 7A, la mano del usuario actúa como la superficie 702 sobre la que el dispositivo proyecta la interfaz del teclado numérico 704.
En algunas modalidades, el dispositivo 100 puede determinar el tamaño, la orientación tridimensional, el color, la reflectancia, el brillo y otras propiedades superficiales de una superficie prevista 702. Por ejemplo, el dispositivo 100 puede determinar la orientación y el color de la superficie 702 y su entorno mediante la cámara de profundidad 130, el procesador 202 y los procesos descritos en relación con las Figuras. 5A, 5B y 6. El dispositivo 100 puede formatear la interfaz proyectada en base a estas propiedades de superficie (por ejemplo, mediante software ejecutado en el procesador 202). Por ejemplo, el dispositivo 100 puede usar las propiedades de la superficie para proyectar una interfaz sobre la superficie 702 con una alineación adecuada (por ejemplo, basado en un vector normal a la superficie), un tamaño apropiado (por ejemplo, dentro del límite de la superficie), parámetros de presentación óptimos (por ejemplo, contraste, coloración, saturación, exposición, nitidez, brillo, etc. de la interfaz en base al del color de la superficie) y similares. A manera de ejemplo, el dispositivo 100 puede determinar que la superficie deseada 702 es una superficie oscura en una habitación oscura (por ejemplo, en base al color de píxel de la superficie y sus alrededores) con una orientación en particular. En esta ilustrativa, el dispositivo 100 puede generar y proyectar una interfaz con botones blancos tenues, de tamaño y orientación apropiados para que la interfaz aparezca en la superficie con, por ejemplo, una forma rectangular. En otra ilustrativa, el dispositivo 100 puede determinar si el usuario está usando un guante (por ejemplo, de acuerdo con las modalidades descritas en relación con la interpretación de entradas a una interfaz proyectada) y ajustar el formato de la interfaz proyectada. Por ejemplo, en un aspecto, el dispositivo 100 puede aumentar el tamaño de una interfaz proyectada (o icono, botones y/o campos ubicados allí) y ajustar el color de la interfaz proyectada (por ejemplo, para optimizar el contraste) en base al tamaño, al color y otras propiedades de un guante gastado.
En otras modalidades, un usuario puede especificar o predefinir los valores, límites, intervalos y/o preferencias para algunos o todos estos atributos de interfaz. Por ejemplo, un usuario puede especificar que una interfaz no debe exceder un cierto tamaño, debe contener un cierto color (por ejemplo, para personas daltónicas), o similares. Estas preferencias pueden almacenarse en la memoria del dispositivo 100. En algunos aspectos, el usuario puede definir estas descripciones del cliente a través de cualquier método de entrada de acuerdo con las modalidades descritas. Por ejemplo, en una modalidad, un usuario puede especificar el tamaño de una interfaz realizando un gesto en particular (descrito a continuación) en la superficie 702.
En determinadas modalidades, el dispositivo 100 puede recibir, obtener y procesar la entrada entregada a la interfaz proyectada 704 a través de un evento de entrada que comprende una entrada de interfaz. En algunas modalidades, una entrada de interfaz puede incluir la interacción de un usuario con la interfaz 704 con su cuerpo (por ejemplo, tocar físicamente la interfaz con uno o más dedos), la interacción de un usuario con la interfaz con un lápiz óptico u otro objeto, o cualquier otro método de entrada de acuerdo con las modalidades descritas. Por ejemplo, como se muestra en la Figura 7A, el usuario 302 está entregando una entrada de interfaz a la interfaz ilustrativa 704 tocando la interfaz proyectada con su mano. De esta manera, el dispositivo 100 puede proporcionar o recibir información hacia y desde un usuario 302 sin manipulación física directa del dispositivo (por ejemplo, mediante la interacción de un usuario con una interfaz proyectada 704 y no con el dispositivo 100).
En algunos aspectos, el dispositivo 100 puede reconocer, detectar e interpretar una entrada de interfaz mediante el uso de la cámara de profundidad 130, el micrófono 160, el sensor bioacústico 170 y otros componentes del dispositivo 100 (por ejemplo, software ejecutado por los procesadores del dispositivo 202). En una modalidad, por ejemplo, la cámara de profundidad 130 determina la profundidad de la interfaz proyectada 704 (por ejemplo, como se describió anteriormente) e interpreta la interacción de un usuario con la interfaz para facilitar, realizar, iniciar o finalizar procesos de acuerdo con las modalidades descritas. Por ejemplo, en la interfaz representada en la Figura 7A, la cámara de profundidad 130 puede reconocer cuando el usuario presiona su dedo contra su mano (por ejemplo, la superficie 702) en el área asociada con un icono de número en particular de la interfaz 704, interpretar la acción como usuario "seleccionando" el número, y proporcionar el procesamiento necesario. En algunos aspectos, el dispositivo 100 puede realizar procesos similares con teclados de interfaz (por ejemplo, escribir), campos de entrada, botones, interfaces de usuario, ventanas de solicitudes y otros tipos de interfaces de acuerdo con las modalidades descritas. En algunas modalidades, el dispositivo 100 puede interpretar la entrada de un usuario (por ejemplo, presionar teclas virtuales, abrir/cerrar ventanas, escribir, etc.) de cualquier manera conocida por un experto en la técnica.
El dispositivo 100 puede detectar una interacción con la interfaz 704 comparando la profundidad y la ubicación del componente de la interfaz con la del dedo del usuario (por ejemplo, a través del software ejecutado por el procesador 202). En ciertos aspectos, cuando la punta del dedo de un usuario tiene un valor de profundidad dentro de un cierto umbral de la superficie 702, el dispositivo 100 puede interpretar esta acción como "seleccionar" o "hacer clic" en la interfaz 704 en la ubicación actual de la yema del dedo del usuario. El dispositivo 100 puede detectar la ubicación de la yema del dedo de un usuario mediante el uso de la cámara de profundidad 130 y realizando técnicas de reconocimiento de objetos de acuerdo con las modalidades descritas (por ejemplo, calculando un mapa de profundidad derivado del campo e identificando una región que tiene similitudes conocidas con una mano humana). De esta manera, el dispositivo 100 puede detectar cuando un usuario 302 ha proporcionado una entrada de interfaz a la interfaz 704 proyectada sobre la superficie 702.
En otra ilustrativa, el dispositivo 100 puede reconocer o detectar una entrada de interfaz midiendo un perfil bioacústico (por ejemplo, a través del sensor bioacústico 170) generado cuando un usuario presiona su dedo en ciertos lugares de su cuerpo o realiza otros movimientos corporales, e interpreta la entrada en consecuencia. Por ejemplo, en un aspecto, el dispositivo 100 puede proyectar una interfaz 704 en el brazo de un usuario a través del proyector 110. En esta modalidad, el dispositivo 100 puede detectar una entrada de interfaz comparando el perfil bioacústico generado cuando el usuario toca porciones de su brazo con datos de referencia bioacústica generales o específicos del usuario (por ejemplo, mediante software ejecutado a través del procesador 202). En algunos aspectos, los datos de referencia pueden representar uno o más perfiles bioacústicos correspondientes a determinadas acciones del usuario (por ejemplo, tocar diferentes porciones del brazo, las manos u otros movimientos corporales de un usuario, etc.). Además, el dispositivo 100 puede verificar la entrada de la interfaz de un usuario combinando lecturas de detección de profundidad y bioacústica juntas (por ejemplo, mediante software que interpreta las señales de la cámara de profundidad 130 y el sensor de bioacústica 170), comparando los resultados de ambas medidas y determinando la entrada más probable en base a las pruebas de fidelidad (por ejemplo, una o ambas medidas indican una entrada en particular con un grado de confianza que excede un umbral). Ciertos métodos ilustrativos para detectar y reconocer la entrada del usuario a través de cámaras de profundidad y sensores bioacústicos se describen respectivamente en Harrison y otros, Omnitouch: Wearable Multitouch Interaction Everywhere (2011) y Harrison y otros, Skinput: Appropriating the Body as an Input Surface (2010).
El dispositivo 100 puede recibir, obtener y procesar la entrada de un usuario 302 sin el uso de una interfaz 704. En algunos aspectos, el dispositivo 100 puede monitorear el entorno en busca de un evento de entrada que comprenda una entrada de gestos a través de la cámara de profundidad 130, el sensor bioacústico 170 u otro componente del dispositivo que funciona en comunicación con el procesador 202. La entrada de gestos puede incluir cualquier movimiento corporal, movimiento o señal. Por ejemplo, el dispositivo 100 puede monitorear el entorno en busca de gestos tales como el movimiento de pellizcar para hacer zoom de un usuario; deslizar el dedo o la mano; determinadas formas o configuraciones de la mano (por ejemplo, una "L", un puño, etc.); movimientos de la mano (por ejemplo, un puñetazo); mover ciertos dedos de una manera en particular; haciendo movimientos con ambas manos; tocar determinadas áreas del cuerpo de un usuario (por ejemplo, porciones del brazo, del pecho, la cabeza, etc.) u otros objetos (por ejemplo, la superficie 702); cualquier combinación de gestos similares (por ejemplo, pellizcar para hacer zoom y presionar un área del muslo del usuario con diferentes manos); y así.
En algunos aspectos, una entrada de gestos puede comprender cualquiera de estas acciones realizadas en o sobre una superficie 702 en la que no se proyecta una interfaz 704. Por ejemplo, el dispositivo 100 puede reconocer cuando un usuario hace un movimiento de pellizcar para hacer zoom sobre una superficie cercana, toca una superficie un número predeterminado de veces, coloca una mano en un servicio, etc. mediante el uso de la cámara de profundidad 130 y/o sensores bioacústicos 170. De esta manera, el dispositivo 100 y sus componentes pueden reconocer una entrada de gesto de la misma manera que reconocen una entrada de interfaz (por ejemplo, rastreando los movimientos de los dedos en relación con las profundidades de la superficie), pero sin la necesidad de proyectar una interfaz. En ciertos aspectos, el dispositivo 100 puede iniciar procesos, proyectar interfaces para entrada y realizar modalidades descritas al detectar la entrada de gestos de un usuario (por ejemplo, iniciar procesos de dimensionamiento de las Figuras 5A, 5B y 6, procesos de escaneo de la Figura 8, etc.).
En algunas modalidades, las entradas de gestos reconocidas pueden estar predefinidas. En estos aspectos, el dispositivo 100 puede reconocer solo gestos en particulares (o una clase de gestos) para realizar determinadas funciones. Por ejemplo, como se muestra en la Figura 7B, el dispositivo 100 puede escanear un código visual 706 en una superficie 702 (por ejemplo, a través del escáner 120) solo cuando el usuario hace un movimiento de pellizcar para hacerzoom o deslizar el dedo en o sobre el código de barras o área que incluye el código de barras con la mano, tocando la superficie un cierto número de veces, etc. En algunos aspectos, el dispositivo 100 puede asociar diferentes entradas de gestos con diferentes funciones del dispositivo. Por ejemplo, el dispositivo 100 puede asociar un primer tipo de entrada de gestos (por ejemplo, tocar la superficie de un objeto un determinado número de veces) con una primera función del dispositivo (por ejemplo, dimensionar un objeto) y una segunda entrada de gestos (por ejemplo, hacer un movimiento de pellizcar para hacerzoom) con una segunda función del dispositivo (por ejemplo, escanear un código visual 706).
Además, los usuarios también pueden crear sus propios gestos personalizados para realizar procesos con el dispositivo 100. En estos aspectos, el dispositivo 100 puede incluir un proceso de calibración para establecer una referencia, aprender y reconocer los gestos personalizados de un usuario. Por ejemplo, si un usuario desea iniciar una función de dispositivo en particular presionando un punto en su brazo, el dispositivo 100 puede solicitar al usuario que realice el gesto personalizado varias veces, recopile los datos de calibración de gestos necesarios (por ejemplo, a través de la cámara de profundidad 130, del sensor de bioacústica 170, etc.) y asociar el gesto personalizado con el usuario y una función en particular del dispositivo. En ciertos aspectos, el dispositivo 100 puede almacenar estos datos como datos de calibración dentro de la memoria. En algunas modalidades, el dispositivo 100 puede almacenar información de gestos personalizados para más de un usuario, permitiendo que múltiples usuarios creen gestos personalizados en un solo dispositivo.
En determinados aspectos, el dispositivo 100 puede recibir y procesar eventos de entrada que comprenden entradas de audio a través del micrófono 160 para iniciar, realizar y terminar procesos descritos en la presente descripción. Una entrada de audio puede incluir cualquier señal o comando audible, vocal o tonal que haga un sonido o ruido audible reconocible por el micrófono 160 y el software que acompaña. Por ejemplo, el dispositivo 100 puede realizar determinados procesos (por ejemplo, escanear códigos de barras, tomar fotografías, modelar entornos tridimensionales, etc.) al detectar un comando vocal del usuario. En algunos aspectos, el comando vocal puede relacionarse con el proceso que el usuario desea realizar (por ejemplo, "escanear", "leer código de barras", "tomar una foto", etc.), detectado mediante el uso del software de reconocimiento de voz ejecutado por el procesador 202. En algunos aspectos, las entradas de audio pueden estar predefinidas. En otros aspectos, la entrada de audio puede ser designada y definida por el usuario de la misma manera que otros métodos de entrada (por ejemplo, personalización de gestos). En algunas modalidades, el dispositivo 100 puede tener en cuenta las variaciones en las entradas de audio percibidas en base a idiomas, acentos, dialectos, etc. reconocidos, así como también la manera personal de hablar de un usuario (por ejemplo, aprendiendo los hábitos de habla del usuario a lo largo del tiempo).
El dispositivo 100 puede ajustar su detección de eventos de entrada (por ejemplo, entradas de interfaz, entradas de gestos, entradas de audio, etc.) en base a uno o más parámetros de calibración. En algunos aspectos, los parámetros de calibración pueden refinar cómo el dispositivo 100 interpreta la entrada de un usuario en particular. Por ejemplo, los parámetros de calibración pueden corresponder a los atributos personales de un usuario (por ejemplo, tipo de cuerpo, tamaño, forma, tono de voz, otros atributos corporales, etc.), el uso previsto del dispositivo (por ejemplo, cómo y dónde el dispositivo será usado), el uso real del dispositivo por parte del usuario en el campo (por ejemplo, el usuario hace clic constantemente a la izquierda del botón de la interfaz deseada, etc.), la configuración personalizada especificada por el usuario (por ejemplo, gestos personalizados, comandos de audio, etc.) y similares. En un aspecto, el dispositivo 100 puede recopilar algunos de estos parámetros de calibración como parte de un proceso de calibración inicial. Por ejemplo, el dispositivo 100 puede requerir que un usuario interactúe con una interfaz de calibración proyectada sobre una superficie (por ejemplo, un brazo) para determinar ciertos parámetros de calibración asociados con un usuario. En otro ejemplo, el dispositivo 100 puede recopilar y monitorear los parámetros de calibración cuando el usuario interactúa con el dispositivo (por ejemplo, tocando superficies, entregando varios comandos de audio y gestos, etc.). En algunas modalidades, el dispositivo 100 puede almacenar parámetros de calibración asociados con uno o más usuarios en la memoria de modo que se puedan calibrar múltiples usuarios en un solo dispositivo.
Como se muestra en la Figura 7B, el dispositivo 100 puede escanear y decodificar códigos visuales mediante el uso de un escáner 120 que funciona en relación con uno o más procesadores 202. En esta modalidad Ilustrativa, el dispositivo 100 se configura para para escanear códigos visuales 706 ubicados en un objeto. En ciertos aspectos, el código visual 706 puede incluir cualquier código de barras lineal o matricial conocido por un experto en la técnica (QR, UPC, EAN, MSI, Intelligent Mail, ShotCode, DataGlyphs, EZcode, etc.). El código visual 706 puede residir en cualquier objeto. Por ejemplo, el dispositivo 100 puede configurarse para escanear códigos de barras en cajas, empaques, recibos de envío, productos, sobres, tarjetas, papeles, folletos, etc. En ciertas modalidades, el dispositivo 100 puede decodificar y procesar la información codificada en el código visual 706 para su uso en métodos de acuerdo con las modalidades descritas. Por ejemplo, en un aspecto, el dispositivo 100 puede almacenar información asociada con el código visual escaneado 706 (por ejemplo, en la memoria), transmitir la información a otros sistemas informáticos para su posterior procesamiento, recibir información adicional en respuesta al escaneo del código de barras, y similares.
En la modalidad ilustrativa de la Figura 7B, el dispositivo 100 puede escanear un código visual 706 dentro de su campo de visión, por ejemplo, a través del escáner 120, en respuesta a una entrada de interfaz, una entrada de dispositivo, una entrada de audio, una entrada de gestos o cualquier otro tipo de entrada descrita en la presente descripción. Por ejemplo, en una modalidad, el procesador 202 puede enviar una señal al escáner 120 para escanear un código visual 706 en respuesta a la detección del gesto de pellizcar para hacer zoom de un usuario en o cerca del código de barras, un gesto que indica el área de escaneo deseada, una voz comando, el usuario seleccionando un botón de "escaneo" en una interfaz proyectada, y similares (por ejemplo, en base a señales detectadas desde la cámara de profundidad 130, etc.).
La Figura 8 representa un diagrama de flujo de un proceso ilustrativo 800 para escanear códigos visuales de acuerdo con las modalidades descritas. El proceso 800 se puede implementar mediante hardware y/o software ejecutado en el dispositivo 100, tal como una cámara de profundidad 130 y un escáner 120 conectados comunicativamente (por ejemplo, a través de la cadena principal 206 u otro circuito) a un procesador 202 que ejecuta instrucciones de software, además de otros componentes de dispositivo. Además, el proceso 800 puede implementarse total o parcialmente en otros sistemas informáticos, tal como el sistema 312 en comunicación con el dispositivo 100 a través de la red de comunicaciones 320. El proceso 800 o sus subrutinas pueden implementarse como un proceso autónomo o en relación con otros procesos de acuerdo con las modalidades descritas (por ejemplo, procesos de captura de firmas asociados con la Figura 9, procesos de dimensionamiento de objetos, etc.).
El proceso 800 puede comenzar (etapa 802) detectando un evento de escaneo (etapa 804). En algunos aspectos, un evento de escaneo puede comprender cualquier tipo de evento de entrada de acuerdo con las modalidades descritas, tal como una entrada de gestos, entrada de interfaz, etc. Por ejemplo, el dispositivo 100 puede detectar un evento de escaneo a través de la cámara de profundidad 130 cuando el usuario 302 hace un movimiento de pellizcar para hacer zoom en, sobre o cerca de una superficie 702 que contiene un código visual 706. Como se explicó anteriormente, el evento de escaneo puede comprender otros eventos de entrada, tales como entradas de audio o gestos personalizados de un usuario. Además, en algunos aspectos, el dispositivo 100 puede monitorear continuamente los códigos visuales con o sin detectar un evento de escaneo.
En algunos aspectos, el proceso 800 puede incluir determinar una región de escaneo en respuesta a la detección del evento de escaneo (etapa 806). La región de escaneo puede reflejar un área sobre la cual el dispositivo 100 puede intentar escanear un código visual 706 (por ejemplo, inclinando u orientando el escáner 120 en esa dirección mediante el uso de un acoplamiento giratorio). En algunos aspectos, la región de escaneo puede ser en base a la ubicación del evento de escaneo. Por ejemplo, en una modalidad, el dispositivo 100 puede determinar el tamaño y la ubicación de la región de escaneo dada la profundidad y extensión del movimiento de pellizcar para hacer zoom del usuario. En esta ilustrativa, la profundidad de la superficie o la mano del usuario y la extensión del movimiento pueden incluir el intervalo de la región de escaneo. En otra ilustrativa, la región de escaneo puede incluir un área circular, elíptica o rectangular que tiene un centro en la ubicación (por ejemplo, profundidad y posición) del evento de escaneo. En tales modalidades, el dispositivo 100 puede determinar que los límites de la región de escaneo sean lo suficientemente grande (por ejemplo, dada la profundidad de la superficie), para escanear la mayoría de los códigos visuales 706, tales como un círculo o cuadrado que tiene un diámetro o una longitud lateral de varias pulgadas (por ejemplo, seis pulgadas, ocho pulgadas, etc.). El dispositivo 100 puede determinar la región de escaneo de otras formas. Por ejemplo, en una modalidad, el dispositivo 100 puede determinar la región de escaneo para incluir la totalidad de la superficie más cercana que tiene un área superficial por encima de un tamaño umbral (por ejemplo, calculado en relación con las Figuras 5A y 5B) y/o ubicado dentro de alguna región geográfica (por ejemplo, dentro de determinada profundidad y límite de posición). Adicionalmente o alternativamente, el dispositivo 100 puede determinar la región de escaneo para incluir una superficie que tenga un vector normal dentro de un intervalo apropiado (por ejemplo, para favorecer las superficies que miran hacia el dispositivo). En otra modalidad, la región de escaneo puede incluir el centro del campo de visión de la cámara de profundidad 130. En otros aspectos más, el dispositivo 100 puede no determinar una región de escaneo específica y, en su lugar, puede usar una región de escaneo predeterminada (por ejemplo, el área directamente frontal del escáner 120).
El proceso 800 puede incluir escanear el código visual 706 con el escáner 120 (etapa 808). En algunas modalidades, por ejemplo, el procesador 202 puede proporcionar una señal al escáner 120 para escanear y decodificar un código visual 706 dentro de la región de escaneo determinada en la etapa 806. Al recibir la señal, el escáner 120 puede obtener una imagen de un área que contiene la región de escaneo en un intento de decodificar el código visual 706. En otros aspectos (por ejemplo, donde no hay una región de escaneo), el escáner 120 puede intentar obtener una imagen de un área directamente frente a él. En algunas modalidades, el dispositivo 100 puede proyectar un haz de guía lineal o de área, pulso, interfaz proyectada, etc. sobre la superficie 702 durante este proceso, indicando al usuario 302 la extensión de la región de escaneo que está tratando de obtener con el escáner 120. El dispositivo 100 puede producir estos medios de guía a través de componentes del dispositivo tal como el escáner 120 (por ejemplo, como parte del proceso de formación de imágenes), el proyector 110, una salida de luz o láser dedicada comunicativamente conectada al procesador 202 u otro componente del dispositivo, etc.
En algunos aspectos, el proceso 800 puede generar datos de escaneo en respuesta a la decodificación y procesamiento exitosos del código visual 706 (etapa 810). El dispositivo 100 puede generar los datos de escaneo a través de instrucciones de software ejecutadas por el procesador 202 mediante el uso de cualquier método conocido o patentado. Además, el formato y el uso de los datos de escaneo generados en respuesta a un escaneo exitoso pueden tomar muchas formas. Por ejemplo, en una modalidad, un usuario 302 puede escanear un código visual 706 en un empaque para indicar su llegada o salida en una ubicación de almacenamiento o enrutamiento en particular y enrutar esta información en consecuencia (por ejemplo, transmitirla al sistema 312). En otra ilustrativa, los datos de escaneo pueden reflejar una confirmación de que un cliente ha firmado por un empaque, está a punto de firmar por un empaque (por ejemplo, para iniciar los procesos de firma descritos en relación con la Figura 9), no firmó por un empaque, etc. En otras modalidades más, los datos de escaneo pueden incluir información sobre un objeto en el que se coloca el código visual 706 (por ejemplo, información de producto, información de precios, información de disponibilidad, reseñas de usuarios, etc.), crear una instrucción para determinar dicha información de otro sistema informático (por ejemplo, sistema 312 o 332) y así sucesivamente. Los posibles usos y formatos de los datos creados en respuesta al escaneo de un código visual 706 serán fácilmente apreciados por un experto en la técnica.
El proceso 800 puede incluir proporcionar una notificación que indique que el escaneo del código visual 706 y/o la generación de los datos del escaneo fueron exitosos (etapa 812). En algunos aspectos, esta notificación puede afectar el entorno inmediato del dispositivo 100. Por ejemplo, en respuesta a decodificar y/o procesar con éxito un código visual 706, el dispositivo 100 puede emitir un tono a través de un altavoz 150, proyectar una interfaz a través del proyector 110 (por ejemplo, sobre la superficie 702 en la que reside el código visual 706) con un mensaje o color de confirmación apropiado, mostrar un mensaje o indicación de confirmación en la pantalla 140, proporcionar retroalimentación táctil a través de un motor de vibración, y así sucesivamente. Adicional o alternativamente, el dispositivo 100 puede proporcionar una notificación a otros sistemas tales como el sistema 312, o un cliente 330 asociado con un sistema informático 332. En estas modalidades, la notificación puede tomar la forma de un mensaje de texto SMS, mensaje de correo electrónico, mensaje de voz automatizado, notificación automática, archivo de datos, instrucción de proceso, etc.
En algunas modalidades, el proceso 800 puede incluir la transmisión de los datos escaneados u otra información a uno o más sistemas informáticos (etapa 814). En ciertos aspectos, estos sistemas informáticos (por ejemplo, los sistemas 312, 332, etc.) pueden procesar la información para realizar un procesamiento adicional de acuerdo con las modalidades descritas. Por ejemplo, el dispositivo 100 puede transmitir los datos de escaneo u otra información a un sistema central 312, tal como un servidor web alojado por la central 310, para actualizar uno o más registros mantenidos por el sistema. El sistema 312 puede entonces actualizar una o más páginas web, solicitudes móviles u otras solicitudes que contienen información asociada con el código visual 706 y/o su empaque correspondiente (por ejemplo, información de seguimiento de empaques). En algunas modalidades, el dispositivo 100 puede recibir una indicación del sistema 312 de que dichos registros se han actualizado (por ejemplo, a través de la red de comunicaciones 320) y proporcionar un mensaje de notificación, tono, vibración, visualización, etc., como se describió anteriormente. El dispositivo 100 puede transmitir los datos de escaneo a un sistema informático externo mediante el uso de cualquier proceso de acuerdo con las modalidades descritas (por ejemplo, como se describe en relación con las Figuras 3 y/o 10). Además, el dispositivo 100 puede almacenar y/o procesar los datos escaneados localmente y actualizar uno o más registros por sí mismo (por ejemplo, mediante archivos locales, transmitiendo información de registros actualizada a un sistema informático externo, etc.).
Además, el dispositivo 100 puede recibir otra información del sistema 312 o del sistema de terceros 332 en respuesta a proporcionar datos de escaneo del código visual 706. Por ejemplo, el dispositivo 100 puede recibir una alerta del sistema 312 o 332 que representa que los datos escaneados han activado una condición de alerta. En determinadas modalidades, una condición de alerta puede reflejar cualquier estado de hechos que justifique una alerta, tal como que el usuario 302 escanea un empaque incorrecto (por ejemplo, en base al destinatario, la dirección en comparación con una ubicación GPS actual, etc.), indicando empaques adicionales que debe entregarse a esa dirección, una confirmación de que el empaque ha sido escaneado en un momento o lugar en particular, todos los empaques para esa dirección han sido escaneados, etc. En algunos aspectos, el dispositivo 100 puede configurarse para mostrar la alerta o notificar al usuario de la alerta al recibir la información del sistema externo (por ejemplo, proyectar un mensaje mediante el uso del proyector 110, mostrar el mensaje en la pantalla 140, hacer un sonido a través del altavoz 150, proporcionando retroalimentación táctil a través de un motor de vibración, y así sucesivamente). Además, el dispositivo 100 puede determinar si los datos de escaneo indican que activa una condición de alerta a través del software local ejecutado por el procesador 202 en base a los datos almacenados y las condiciones de alerta.
La Figura 9 representa un diagrama de flujo de un proceso ilustrativo 900 para procesar firmas de acuerdo con las modalidades descritas. El proceso 900 se puede implementar mediante hardware y/o software ejecutado en el dispositivo 100, tal como una cámara de profundidad 130 y un proyector 100 conectados comunicativamente (por ejemplo, a través de la cadena principal 206 u otro circuito) a un procesador 202 que ejecuta instrucciones de software, además de otros componentes dispositivo. Además, el proceso 900 puede implementarse total o parcialmente en otros sistemas informáticos, tal como el sistema 312 en comunicación con el dispositivo 100 a través de la red de comunicaciones 320. El proceso 900 o sus subrutinas se pueden implementar como un proceso independiente o en relación con otros procesos de acuerdo con las modalidades descritas (por ejemplo, los procesos de escaneo de código visual de la Figura 8, etc.).
El proceso 900 comienza (etapa 902) detectando un evento de firma (etapa 904). En algunos aspectos, un evento de firma puede reflejar una señal para que el dispositivo 100 proyecte una interfaz de firma sobre una superficie (por ejemplo, la superficie 702). Un evento de firma puede comprender cualquier tipo de evento de entrada de acuerdo con las modalidades descritas. En algunos aspectos, por ejemplo, un evento de firma puede comprender un evento de entrada tal como una entrada de gesto (por ejemplo, detectar que el usuario 302 ha tocado la superficie de un objeto un cierto número de veces, una entrada de audio, etc.). Además, un evento de firma puede surgir automáticamente en relación con otros procesos, tales como en respuesta a escanear exitosamente un código visual 706, generar datos de escaneo, transmitir datos de escaneo, recibir una señal de un sistema informático externo, etc.
El proceso 900 puede incluir determinar una superficie de firma (por ejemplo, la superficie 702) sobre la cual proyectar la interfaz de firma (etapa 906). En algunos aspectos, el dispositivo 100 puede determinar la superficie de firma en base al evento de firma. Por ejemplo, si el evento de firma comprende una indicación de que el dispositivo 100 ha escaneado un código visual 706, el dispositivo 100 puede determinar la interfaz de firma para incluir la superficie 702 en la que reside el código (por ejemplo, mediante el uso de los procesos descritos anteriormente). Además, si el evento de firma comprende una entrada de gestos, el dispositivo 100 puede determinar que la interfaz de firma comprenda la superficie 702 más cercana a la entrada de gestos que tiene un área superficial por encima de un umbral, dentro de un intervalo de profundidad/ubicación predeterminado, y/o que tiene un vector normal dentro de un intervalo apropiado (por ejemplo, para favorecer las superficies frontales sobre las superficies de borde). El dispositivo 100 puede determinar estos valores de acuerdo con las modalidades descritas. En otros aspectos, el dispositivo 100 puede determinar una interfaz de firma apropiada en base a eventos de entrada adicionales del usuario. Por ejemplo, después de detectar un evento de firma, el dispositivo 100 puede monitorear una entrada de gesto en particular a través de la cámara de profundidad 130. Cuando el dispositivo 100 detecta la entrada de gesto en particular del usuario 302, el dispositivo 100 puede determinar la superficie 702 más cercana a la entrada de gesto como la superficie de firma. Además, el dispositivo 100 puede aplicar el área superficial, el intervalo de profundidad y los umbrales de orientación de vector normal como se describió anteriormente. El dispositivo 100 puede determinar las superficies de firmas de otras maneras y la lista de ciertos procesos anteriores es solo para fines ilustrativos. Por ejemplo, el dispositivo 100 puede determinar la superficie más cercana 702 que tiene un área, un intervalo de profundidad y una orientación apropiados para ser la interfaz de firma independientemente de cualquier evento de entrada. En otra ilustrativa, la interfaz de firma puede incluir cualquier superficie directamente en la trayectoria del proyector 110, etc.
El proceso 900 puede incluir proyectar una interfaz de firma en la superficie de la firma para esperar una entrada adicional (etapa 908). El dispositivo 100 puede proyectar la interfaz de firma sobre la superficie 702 mediante el uso del proyector 110 en comunicación con el procesador 202. En algunos aspectos, la interfaz de firma se puede dimensionar y orientar de manera apropiada mediante el uso de los procesos descritos anteriormente para la cámara de profundidad 130, y puede contener cualquier tipo de información de acuerdo con las modalidades descritas. Por ejemplo, en algunos aspectos, la interfaz de firma puede incluir un área en blanco sin ninguna marca, designada solo por una región iluminada de forma rectangular, ovular o circular. En otros aspectos, la interfaz de firma puede incluir una línea de firma en blanco con otras marcas tal como una "X" cerca de la línea de firma, texto que muestra el nombre del firmante (por ejemplo, determinado a partir de datos de escaneo generados desde el código visual 706 o información recibida a través del sistema 312), u otra información similar. La interfaz de firma puede incluir cualquier otro tipo de información de acuerdo con las modalidades descritas. Por ejemplo, en una modalidad, la interfaz de firma puede incluir un botón de confirmación de modo que la persona que proporciona la entrada a la interfaz pueda indicar la terminación de una firma presionando el botón proyectado.
El proceso 900 puede monitorear y detectar la entrada de interfaz proporcionada a la interfaz de firma (etapa 910). El dispositivo 900 puede monitorear y detectar la entrada de interfaz mediante el uso de cualquiera de los procesos descritos anteriormente (por ejemplo, como se describe en relación con las Figuras 7Ay 7B). Por ejemplo, el dispositivo 900 puede detectar una entrada de interfaz que refleja la firma del firmante mediante el uso de la cámara de profundidad 130 y otros componentes del dispositivo (por ejemplo, el procesador 202). El dispositivo 100 puede capturar la firma detectando el movimiento de la mano o el lápiz óptico del firmante de una manera similar a monitorear otras entradas de interfaz (por ejemplo, comparando la profundidad del dedo/lápiz con la de la superficie de la firma con la cámara de profundidad 130, etc.). Por ejemplo, el dispositivo 100 puede interpretar la trayectoria del dedo del firmante que tiene valores de profundidad dentro de un intervalo de umbral de la superficie de la firma como la firma. En algunas modalidades, el dispositivo 100 puede determinar que el firmante ha completado la provisión de entrada (por ejemplo, la firma) a la interfaz de firma. Esta determinación puede ser en base a, por ejemplo, en la detección de que el firmante ha llegado al final de una línea de firma proyectada, la detección de una entrada de interfaz (por ejemplo, entregada a un botón de confirmación proyectado en la interfaz) que significa la terminación de la firma o cualquier otro tipo de evento de entrada (por ejemplo, una entrada de gestos o entrada de audio) de acuerdo con las modalidades descritas.
En ciertas modalidades, el proceso 900 puede incluir procesar la firma capturada (etapa 912). En algunos aspectos, procesar la firma capturada puede incluir generar y almacenar datos asociados con la firma capturada en la memoria (por ejemplo, como una imagen u otro archivo de datos, etc.). El dispositivo 100 también puede generar información de firma asociada con la firma y transmitir esa información a un sistema externo (por ejemplo, el sistema 312) a través de la red de comunicaciones 320 para realizar un procesamiento adicional. Por ejemplo, el dispositivo 100 puede transmitir datos de firma al sistema 312 para actualizar uno o más registros almacenados (por ejemplo, información de seguimiento) gestionados por el sistema, como se explicó anteriormente. En algunos aspectos, estos registros pueden estar disponibles en sitios web, solicitudes móviles u otras solicitudes alojadas por el sistema 312. En algunas modalidades, el dispositivo 100 puede recibir una indicación del sistema 312 de que estos registros se han actualizado (por ejemplo, a través de la red de comunicaciones 320). El procesamiento de la firma capturada puede incluir realizar un procesamiento adicional de acuerdo con las modalidades descritas (por ejemplo, enviar mensajes de confirmación, monitorear eventos de entrada adicionales, etc.).
La Figura 10 representa un diagrama de flujo de un proceso ilustrativo 1000 para transmitir datos entre dispositivos de red de acuerdo con las modalidades descritas. El proceso 1000 puede implementarse mediante hardware y/o software ejecutado en el dispositivo 100, tal como una interfaz de comunicaciones 224 conectada comunicativamente (por ejemplo, mediante la cadena principal 206 u otro circuito) a un procesador 202 que ejecuta instrucciones de software, además de otros componentes del dispositivo. Además, el proceso 1000 puede implementarse total o parcialmente en otros sistemas informáticos, tal como el sistema 312 en comunicación con el dispositivo 100 a través de la red de comunicaciones 320. El proceso 1000 o sus subrutinas se pueden implementar como un proceso independiente o en relación con otros procesos de acuerdo con las modalidades descritas (por ejemplo, escanear códigos visuales, dimensionar objetos, capturar firmas, etc.).
El proceso 1000 puede comenzar (etapa 1002) determinando si una o más redes de comunicaciones están disponibles para el dispositivo 100 (etapa 1004). El dispositivo 100 puede determinar si las redes están disponibles a través de señales de la interfaz de comunicaciones 224, que a su vez puede basarse en señales recibidas a través del canal 228 y/o la cadena principal 206. Mediante el uso de estas señales, el dispositivo 100 puede determinar si actualmente está disponible alguna red de comunicación de acuerdo con las modalidades descritas. Por ejemplo, el dispositivo 100 puede determinar si una o más redes celulares, redes WiFi, redes telefónicas públicas conmutadas, LAN, etc., están disponibles para que el dispositivo transmita información. En determinadas modalidades, esta determinación también puede incluir determinar si el dispositivo tiene acceso para transferir información a través de la red disponible (por ejemplo, tiene una contraseña para una señal WiFi cifrada, etc.). En algunos aspectos, el dispositivo 100 puede considerar como no disponibles aquellas redes a las que el dispositivo no tiene privilegios de acceso, incluso si la red está de cualquier otra manera al alcance. Cuando una red está dentro del alcance, pero se considera no disponible, el dispositivo 100 puede indicar a un usuario 302 que vea, seleccione e ingrese contraseñas para obtener acceso a la red mediante el uso de las modalidades anteriores (por ejemplo, a través de interfaces proyectadas, pantallas táctiles, etc.).
En algunos aspectos, el proceso 1000 puede incluir determinar el ancho de banda disponible y otras propiedades de las redes disponibles (etapa 1006). Estas propiedades pueden reflejar la velocidad, la confiabilidad, la intensidad, la seguridad, el consumo de energía, etc. de las redes disponibles. Por ejemplo, en una modalidad, el dispositivo 100 puede determinar el ancho de banda actual o histórico asociado con una red en particular, la intensidad de su señal y un grado de seguridad asociado con la red (por ejemplo, en base a si la red está cifrada, el tipo de algoritmo de cifrado usado, etc.). En algunos aspectos, el dispositivo 100 también puede determinar si ha usado la red antes y evaluar su uso previo con la red (por ejemplo, anchos de banda, latencias, si las comunicaciones fueron exitosas, etc.). En ciertos aspectos, el dispositivo 100 puede generar una puntuación de red para cada red disponible mediante el uso de la información anterior. En una ilustrativa, el dispositivo 100 puede puntuar el ancho de banda, la intensidad de la señal y las características de seguridad de una red dada en una escala de 0,0 a 1,0 y sumar o multiplicar las puntuaciones de los tres componentes para generar una puntuación de red para la red. La puntuación de la red también puede incorporar otro tipo de información, tal como el consumo de energía de la red, la latencia, la estabilidad, la calidad del servicio, la velocidad de comunicación, etc.
El proceso 1000 puede incluir determinar si una o más de las redes disponibles cumplen determinados requisitos de umbral (etapa 1008). Por ejemplo, el dispositivo 100 puede determinar si alguna de las redes disponibles tiene una puntuación de red por encima de un umbral en particular (por ejemplo, 0,7, 2,5, etc.) y/o si tienen un ancho de banda superior a otro umbral (por ejemplo, 100 kbps, 1 Mbps, etc.). En determinadas modalidades, el dispositivo 100 puede evaluar otros tipos de parámetros de conexión en la etapa 1008, tales como los niveles de seguridad de la red o cualquier otro parámetro de la red descrito en la presente descripción. Además, la etapa 1008 puede implicar varias de estas pruebas, tales como medir el ancho de banda de las redes disponibles y las puntuaciones de seguridad frente a umbrales separados.
Si una o más redes satisfacen los requisitos de la etapa 1008, el dispositivo 100 puede ordenar o clasificar esas redes para determinar la mejor o la mejor red aparente para usarla en la transmisión de datos (etapa 1010). En algunos aspectos, el dispositivo 100 puede clasificar las redes por puntuación de red, ancho de banda, consumo de energía o cualquier otro parámetro de red de acuerdo con las modalidades descritas. Por ejemplo, el dispositivo 100 puede seleccionar la red que tenga la puntuación de seguridad, el ancho de banda o la puntuación de red más altos para usar en la transmisión de información al sistema 312. En algunos aspectos, el parámetro para clasificar redes en la etapa 1010 puede ser diferente o el mismo que el usado en la etapa 1008. En una ilustrativa, el dispositivo 100 puede determinar las redes que tienen un ancho de banda por encima de algún umbral en la etapa 1008, pero clasificar las redes por puntuación de seguridad en la etapa 1010.
Mediante el uso de la red seleccionada (por ejemplo, la red mejor clasificada o que tiene el valor más alto para el parámetro de las etapas 1008 o 1010), el dispositivo 100 puede transmitir datos a través de esa red. Los datos transmitidos pueden tomar la forma de cualquier dato de acuerdo con las modalidades descritas, tales como información de firma, información de dimensión del objeto, datos de escaneo, etc. El dispositivo 100 puede transmitir la información a través de la interfaz de comunicaciones 224 o la cadena principal 208 en comunicación con un sistema externo 312 o 332 a través de la red seleccionada. En algunos aspectos, el dispositivo 100 puede transmitir esta información automáticamente sin ninguna entrada del usuario 302. En otros aspectos, el dispositivo 100 puede indicar a un usuario si desea transmitir los datos y/o especificar la red a usar.
En algunas modalidades, cuando ninguna de las redes disponibles satisface los requisitos de la etapa 1008, el proceso 1000 puede incluir almacenar los datos localmente en el dispositivo 100 (etapa 1014). Por ejemplo, si el dispositivo 100 está intentando transmitir datos de firma procesados y ninguna red disponible satisface los requisitos de la red, el dispositivo 100 puede almacenar la información en una memoria asociada con el dispositivo (por ejemplo, la memoria secundaria 210). En otros aspectos, el dispositivo 100 puede guardar los datos en la memoria local automáticamente independientemente de la disponibilidad de las redes de comunicaciones. El dispositivo 100 puede entonces usar la información almacenada en procesos de acuerdo con las modalidades descritas.
El dispositivo 100 también puede programar una verificación de la red en un intervalo de tiempo futuro cuando no haya ninguna red disponible o tenga los parámetros de red necesarios (etapa 1016). En algunos aspectos, esta verificación de red puede reflejar un tiempo futuro en el que el dispositivo 100 puede determinar las redes disponibles (etapa 1004) en un intento de transmitir los datos almacenados. En ciertos aspectos, la duración del tiempo entre el intervalo de tiempo actual y futuro puede ser en base a cualquier consideración de acuerdo con las modalidades descritas, tales como la importancia de la información, la última transmisión de datos exitosa conocida, la hora del día, los anchos de banda de las redes disponibles, la cantidad de información que se debe transmitir, etc. Por ejemplo, el dispositivo 100 puede programar verificaciones de red con mayor frecuencia a medida que aumenta el tiempo desde la última transmisión de datos exitosa, aumenta la cantidad de información a transmitir, etc. En ciertos aspectos, el dispositivo 100 puede borrar la información almacenada de la memoria cuando finalmente se transmite (etapa 1012), aunque tal proceso no es necesario.
En algunas modalidades, el dispositivo 100, el sistema 312 y/o el sistema de terceros 332 pueden administrar, alojar, almacenar y generar cuentas e información de cuenta asociada para uno o más usuarios (por ejemplo, el usuario 302) del dispositivo 100. En algunos aspectos, la información de la cuenta de usuario puede incluir definiciones de entrada personalizada de un usuario o datos de calibración (por ejemplo, gestos personalizados, entradas de audio personalizadas, entrada de usuario idiosincrásica, etc.), preferencias del usuario (por ejemplo, definiciones correspondientes a colores y tamaños de interfaces, etc.), credenciales de usuario (por ejemplo, un nombre de usuario, contraseña, ID de usuario, número de empleado, dirección de correo electrónico, información biográfica, información biométrica, etc.), atributos de usuario (por ejemplo, parámetros que representan el tipo de cuerpo de un usuario, tamaño corporal, dialecto, etc.), y cualquier otra información de acuerdo con las modalidades descritas. En algunos aspectos, el dispositivo 100 también puede asociar datos obtenidos, recopilados o procesados con componentes del dispositivo con determinados usuarios, como se describió anteriormente.
En algunos aspectos, el dispositivo 100, el sistema 312 y/o el sistema de terceros 332 pueden recibir, gestionar e implementar información de credenciales y cuentas de usuario para realizar determinados procesos de acuerdo con las modalidades descritas. Por ejemplo, en una modalidad, el dispositivo 100 puede recibir información que refleja las credenciales de inicio de sesión de un usuario a través de un evento de entrada, tal como una entrada de interfaz detectada por la cámara de profundidad 130 o una entrada de pantalla recibida a través de la pantalla 140, etc. En ciertos aspectos, el dispositivo 100 puede autenticar las credenciales de un usuario, determinar si el usuario está autorizado a usar u operar el dispositivo en particular 100 (por ejemplo, en base a las credenciales) y proporcionar funcionalidades del dispositivo concomitantes con la información de credenciales del usuario. Por ejemplo, en algunas modalidades, el dispositivo 100 puede configurarse para funcionar solo para determinados usuarios, proporcionar determinados procesos del dispositivo (por ejemplo, escaneo de códigos de barras) solo para un segundo grupo de usuarios y similares. En otros aspectos, el dispositivo 100 puede no requerir credenciales de inicio de sesión, puede requerir solo entradas de gestos simples para desbloquear funciones (por ejemplo, un deslizamiento para desbloquear), puede proporcionar todas sus funcionalidades a todos los usuarios. En algunas modalidades, la gestión de cuentas de usuario puede tener lugar en otros sistemas informáticos y el dispositivo 100 puede configurarse para enviar y recibir información de cuenta a los otros sistemas para facilitar la gestión de cuentas de usuario. Por ejemplo, el sistema 312 puede monitorear un conjunto de dispositivos que funcionan en el campo y puede monitorear las credenciales de usuario asociadas con cada dispositivo. En determinadas circunstancias, el sistema 312 puede proporcionar una señal al dispositivo 100 a través de la red de comunicaciones 320 para deshabilitar o habilitar el dispositivo 100, determinadas funcionalidades asociadas con el dispositivo 100 y así sucesivamente.
La Figura 11 representa un diagrama de flujo de un proceso ilustrativo 1100 para inhabilitar funciones del dispositivo de acuerdo con las modalidades descritas. El proceso 1100 puede implementarse mediante hardware y/o software ejecutado en el dispositivo 100, tal como con un procesador 202 que ejecuta instrucciones de software para comunicarse con uno o más componentes del dispositivo. El proceso 1100 puede implementarse total o parcialmente en otros sistemas informáticos, tal como el sistema 312 en comunicación con el dispositivo 100 a través de la red de comunicaciones 320. El proceso 1100 o sus subrutinas se pueden implementar como un proceso independiente o en relación con otros procesos de acuerdo con las modalidades descritas.
El proceso 1100 puede comenzar (etapa 1102) recibiendo las credenciales de usuario de un usuario 302 (etapa 1104). Como se describió anteriormente, las credenciales de usuario pueden incluir información tal como un ID de usuario, nombre de inicio de sesión, contraseña, número de empleado, dirección de correo electrónico y otros tipos de información que identifican o identifican de forma única al usuario (por ejemplo, la dirección, la información biométrica). El dispositivo 100 puede recibir las credenciales de un usuario a través de cualquier evento de entrada apropiado, tal como entradas de interfaz detectadas por la cámara de profundidad 130 que un usuario proporciona a los campos de entrada proyectados por el proyector 110. Además, el dispositivo 100 puede recibir las credenciales de un usuario a través de una entrada de pantalla recibida desde la pantalla táctil 140, los botones, los teclados u otros dispositivos de entrada en el dispositivo 100 o un dispositivo en comunicación con el dispositivo 100 (por ejemplo, el sistema 312), sensores biométricos ubicados en el dispositivo 100, etc. Otros sistemas informáticos también pueden recibir información de credenciales de usuario, tal como el sistema 312, a través de dispositivos de entrada asociados (por ejemplo, los teclados) y/o redes de comunicaciones 320.
En determinados aspectos, el proceso 1100 puede incluir la verificación de las credenciales recibidas (etapa 1106). El proceso 1100 puede autenticar las credenciales de un usuario, por ejemplo, comparando las credenciales recibidas con las almacenadas en una memoria y determinando si las credenciales recibidas coinciden con las de la memoria (por ejemplo, mediante el uso de una de las entradas como clave, tal como un ID de usuario, nombre de inicio de sesión, etc.). En algunas modalidades, el proceso 1100 puede verificar las credenciales de un usuario mediante procesos locales que funcionan en el dispositivo 100 o mediante procesos realizados en un sistema externo en comunicación con el dispositivo 100, tal como el sistema 312. Por ejemplo, el dispositivo 100 puede autenticar las credenciales de un usuario localmente (por ejemplo, mediante el procesador 202 que ejecuta instrucciones de software) o puede transmitir la información recibida a un sistema externo (por ejemplo, el sistema 312) para autenticación. En esta última modalidad, el sistema 312 puede autenticar al propio usuario 302 y luego transmitir los resultados del proceso de autenticación al dispositivo 100 para su procesamiento adicional.
Si las credenciales recibidas no coinciden con las de la memoria (por ejemplo, el usuario no está autenticado), el dispositivo 100 puede realizar una serie de acciones. En un aspecto, el dispositivo 100 o el sistema 312 pueden simplemente indicar al usuario 302 que vuelva a ingresar sus credenciales mediante el mismo método de entrada o uno diferente que antes (por ejemplo, la entrada de interfaz, la entrada de pantalla, la entrada biométrica, etc.). En otro aspecto, el dispositivo 100 puede deshabilitar el dispositivo o determinadas funciones en el dispositivo (por ejemplo, durante una determinada cantidad de tiempo, hasta que el operador anule, etc.). En otro aspecto más, el dispositivo 100 puede deshabilitar determinadas funcionalidades después de un determinado número de intentos fallidos de inicio de sesión, y así sucesivamente. El dispositivo 100 también puede proporcionar técnicas de autenticación más avanzadas, tales como indicarle al usuario que responda preguntas de seguridad (por ejemplo, para restablecer una contraseña).
Cuando el dispositivo 100 o un sistema externo 312 autentica a un usuario 302, el proceso 110 también puede incluir determinar si el usuario está sujeto a alguna restricción personal (ID), de tiempo y/o lugar (etapa 1108). En algunos aspectos, las restricciones de ID, de tiempo y/o de lugar pueden limitar o deshabilitar las funcionalidades del dispositivo para usuarios identificados durante determinados momentos dentro de determinadas regiones geográficas. Cada restricción de ID, de tiempo y/o de lugar puede aplicarse a una o más funciones del dispositivo. En una modalidad ilustrativa, el dispositivo 100 puede determinar que un usuario con un ID de usuario dado (por ejemplo, cualquier identificador único usado para autenticar al usuario en base a la información de credencial recibida) puede no usar procesos de acuerdo con el escaneo de códigos visuales entre los horarios de 3:00 a.m. y 6:00 a.m. mientras se encuentre en una región geográfica en particular (por ejemplo, una asociada con un almacén en particular). Las restricciones de ID, de tiempo y de lugar pueden aplicarse en cualquier combinación de operaciones y agrupaciones lógicas AND/OR/NOT. Por ejemplo, el dispositivo 100 puede deshabilitar una función de dispositivo para un usuario en particular (AND) durante un tiempo específico, (OR) para ese usuario mientras (NOT) está en una región en particular. Las restricciones de ID, de tiempo y de lugar pueden evaluarse periódicamente (por ejemplo, cada 15 minutos), en el inicio de sesión inicial o en momentos en que las restricciones se aplican o desaparecen (por ejemplo, en base a una ID de usuario activa y después de determinar que el usuario no está permitido usar una función del dispositivo entre las 6:00 p.m. y las 6:00 a.m.).
En algunas modalidades, el dispositivo 100 puede determinar las restricciones de ID, de tiempo y de lugar en base al procesamiento local. Por ejemplo, el dispositivo 100 puede autenticar a un usuario 302 (etapa 1106), determinar una ID de usuario para ese usuario en base a la información de la credencial y determinar si ese usuario está limitado por una restricción de ID, una restricción de tiempo (por ejemplo, a través de un reloj interno en comunicación con el procesador 202) y/o una restricción de lugar (por ejemplo, a través de un receptor GPS en comunicación con el procesador 202). El dispositivo puede tomar esta determinación en base a la información de restricción almacenada en la memoria (por ejemplo, la memoria secundaria 210), tal como en una base de datos o una tabla y buscar al usuario en la tabla (por ejemplo, en base a la ID única) para determinar si existen algunas restricciones relevantes para aplicar ahora o en el futuro. Además, un sistema externo tal como el sistema 312 puede determinar si se aplican restricciones relevantes (por ejemplo, a través de una base de datos almacenada en el depósito de datos 316) y puede comunicar los resultados de dicha determinación al dispositivo 100 para su procesamiento adicional.
El proceso 1100 también puede incluir la desactivación de una o más funciones del dispositivo 100 de acuerdo con las restricciones de ID, de tiempo y/o de lugar (etapa 1110). En determinados aspectos, el dispositivo 100 puede deshabilitar una función del dispositivo apagando las señales recibidas de los componentes del dispositivo afectados (por ejemplo, mediante una instrucción del procesador 202) y/o suprimiendo las señales en el software (por ejemplo, el procesador recibe las señales, pero no las procesa como se describió anteriormente). El dispositivo puede volver a encender las señales afectadas y/o retirar el bloque de software cuando las restricciones relevantes ya no se apliquen.
El dispositivo 100 puede deshabilitar sus funciones en base al usuario actual, la hora y/o la ubicación del dispositivo en comparación con las restricciones identificadas de ID, de tiempo y/o de lugar. El dispositivo 100 puede determinar la hora y la ubicación actual del dispositivo en base a un reloj local y/o un receptor GPS instalado en el dispositivo 100. En determinados aspectos, el dispositivo 100 puede determinar si deshabilitar una función del dispositivo periódicamente, cuando un nuevo usuario inicia sesión en el dispositivo, en un momento en particular, o cuando el dispositivo ingresa o sale de una región en particular. En algunos aspectos, el momento de esta determinación puede ser en base a las restricciones identificadas de ID, de tiempo y de lugar. Por ejemplo, si un usuario no está sujeto a una restricción de lugar, entonces los movimientos del usuario por sí solos pueden no afectar el momento en que se determina si se deshabilita la funcionalidad de un dispositivo. En otra ilustrativa, si el dispositivo 100 determina que una función de dispositivo en particular (por ejemplo, la función de dimensionamiento) debe deshabilitarse a las 9:00 p.m. para un usuario actual, el dispositivo puede comparar la ID, el tiempo y/o la ubicación asociada con el dispositivo a las 9:00 p.m. para asegurarse de que aún se aplique la restricción de tiempo identificada. De esta manera, el dispositivo 100 puede habilitar y deshabilitar sus funciones en base a una comparación de las credenciales del usuario, la hora actual y el lugar actual asociado al dispositivo con las restricciones de identificación, de tiempo y de lugar almacenadas en la memoria. Además, los procesos anteriores pueden tener lugar en un sistema externo (por ejemplo, el sistema 312), que luego puede proporcionar una instrucción al dispositivo 100 a través de la red de comunicaciones 320 para deshabilitar/habilitar determinadas funciones en base al análisis anterior.
Aunque se ha descrito que determinados aspectos y rutinas de las modalidades anteriores se producen en un orden o manera en particular, las modalidades descritas no están limitadas a ello. Por ejemplo, las etapas o subrutinas de las modalidades anteriores se pueden reorganizar, reordenar, omitir, empalmar, modificar y/o recombinar para realizar procesos adicionales de acuerdo con los contemplados en la presente descripción.
Otras modalidades serán evidentes para los expertos en la técnica a partir de la consideración de la descripción y la práctica de las modalidades descritas en la presente descripción. Por ejemplo, aunque algunos aspectos de las modalidades anteriores se han descrito en relación con el dispositivo 100 generalmente, los expertos en la técnica apreciarán que el dispositivo 100 puede incluir el hardware necesario (por ejemplo, componentes, circuitos, periféricos, etc.) y/o instrucciones de software ejecutadas a través de uno o más procesadores para practicar las modalidades anteriores. Se pretende que la descripción y los ejemplos se consideren solo como ilustrativos, con el verdadero alcance de la invención indicado por las siguientes reivindicaciones.

Claims (14)

  1. REIVINDICACIONES
    i. Un método implementado por ordenador para realizar servicios de mensajería mediante el uso de un dispositivo electrónico portátil (100), el dispositivo electrónico portátil que comprende una cámara de profundidad (130) para detectar la profundidad de los objetos en un campo de visión, un sensor bioacústico (170) para decodificar las entradas de gestos, un escáner (120) para decodificar códigos visuales (706) ubicados en objetos y un altavoz (150) para producir sonidos audibles en respuesta a una señal eléctrica, el método que comprende las siguientes operaciones realizadas en uno o más procesadores (202) ubicados dentro del dispositivo portátil:
    detectar (804) un evento de escaneo en base a una primera señal recibida del sensor bioacústico (170), comprendiendo el evento de escaneo una entrada de gesto realizada cerca de una primera superficie de un objeto; determinar (806) una región de escaneo asociada con el evento de escaneo en base a una ubicación y profundidad de la entrada del gesto;
    proporcionar una segunda señal al escáner (120) haciendo que el escáner decodifique un código visual (706) ubicado dentro de la región de escaneo;
    generar (810) datos de escaneo en base a una tercera señal recibida del escáner (120), reflejando la tercera señal la información obtenida del código visual (706); y
    proporcionar (812) una cuarta señal al altavoz (150) haciendo que el altavoz emita un sonido de notificación en respuesta a la generación de los datos de escaneo.
  2. 2. El método implementado por ordenador de acuerdo con la reivindicación 1, en donde el dispositivo (100) comprende además una interfaz de comunicaciones (224) conectada comunicativamente a uno o más procesadores (202) y en donde las operaciones comprenden, además:
    determinar (1008) si una red de comunicaciones (320) que tiene un ancho de banda que excede un umbral de ancho de banda está disponible actualmente en base a una quinta señal recibida desde la interfaz de comunicaciones (224); y
    proporcionar (814; 1012) los datos de escaneo a un sistema informático (312) a través de la red de comunicaciones (320) y mediante la interfaz de comunicaciones (224) cuando la red de comunicaciones (320) está disponible.
  3. 3. El método implementado por ordenador de acuerdo con la reivindicación 1, que comprende, además:
    almacenar (1014) los datos de escaneo en la memoria (210) cuando la red de comunicaciones (320) no está disponible;
    programar (1016), en un intervalo de tiempo futuro, un momento para determinar si la red de comunicaciones (320) está disponible; y
    determinar si la red de comunicaciones (320) está disponible de acuerdo con el tiempo programado en base a una sexta señal recibida desde la interfaz de comunicaciones (224).
  4. 4. El método implementado por ordenador de acuerdo con la reivindicación 1, que comprende, además:
    detectar (604) un evento de dimensionamiento en base a una quinta señal recibida desde la cámara de profundidad (130), comprendiendo el evento de dimensionamiento una segunda entrada de gesto diferente de la primera entrada de gesto;
    determinar (608) una primera región cerca de la segunda entrada de gestos en base a una sexta señal recibida desde la cámara de profundidad (130);
    determinar (610) un objeto asociado con la primera región; y
    determinar (614) un volumen del objeto.
  5. 5. El método implementado por ordenador de acuerdo con la reivindicación 4, que comprende además determinar una ubicación de un vértice invisible del objeto no detectado por la cámara de profundidad (130), en donde la ubicación del vértice invisible se basa en una simetría supuesta del objeto, y en donde el volumen se basa además en la ubicación del vértice invisible.
  6. 6. El método implementado por ordenador de acuerdo con la reivindicación 4, en donde la determinación de un objeto asociado con la primera región comprende, además:
    aplicar un filtro de detección de borde a la sexta señal recibida de la cámara de profundidad;
    determinar si el objeto comprende una segunda región adyacente a la primera región en base a una comparación de la profundidad de un píxel dentro de la segunda región con una profundidad de píxel de la primera región; y en donde el volumen del objeto se basa además en la segunda región.
  7. 7. El método implementado por ordenador de acuerdo con la reivindicación 1, en donde el dispositivo comprende además un proyector (110) y una interfaz de comunicaciones (224) conectados comunicativamente a uno o más procesadores (202) y en el que las operaciones comprenden, además:
    detectar (904) un evento de firma en base a una quinta señal recibida desde la cámara de profundidad (130), comprendiendo el evento de firma una segunda entrada de gesto realizada cerca de una superficie de firma, la segunda entrada diferente de la primera entrada de gesto;
    proporcionar una sexta señal al proyector (110) para proyectar (908) una interfaz de firma sobre la superficie de la firma;
    capturar (910) una firma proporcionada a la interfaz de firma en base a una séptima señal recibida desde la cámara de profundidad (130);
    procesar (912) la firma para generar información de firma; y
    proporcionar la información de la firma a un sistema informático (312) a través de la red de comunicaciones (320) y mediante la interfaz de comunicaciones (224).
  8. 8. El método implementado por ordenador de acuerdo con la reivindicación 1, en donde el dispositivo comprende además un receptor GPS conectado comunicativamente a uno o más procesadores (202) y en el que las operaciones comprenden, además:
    recibir (1104) información de credenciales de usuario asociada con un usuario, incluyendo la información de credenciales un identificador único para el usuario;
    determinar (1108) al menos una de una restricción de tiempo o una restricción de lugar para el usuario en base al identificador único;
    comparar la hora actual del dispositivo y la ubicación actual del dispositivo con al menos una de entre una restricción de tiempo o una restricción de lugar, la ubicación actual del dispositivo en base a una quinta señal recibida del receptor GPS; y
    deshabilitar (1110) al menos una función del dispositivo en base a la comparación.
  9. 9. El método implementado por ordenador de acuerdo con la reivindicación 1, en donde el dispositivo incluye además una batería (252) y en donde las operaciones comprenden además suministrar energía eléctrica a la batería desde al menos uno de:
    un generador accionado por vibración (258) para convertir el movimiento del dispositivo en energía eléctrica; o una superficie fotoeléctrica (256) colocada en un panel frontal del dispositivo (100).
  10. 10. Un dispositivo electrónico portátil para realizar servicios de mensajería, que comprende:
    una cámara de profundidad (130) y un sensor bioacústico (170) para detectar la profundidad de los objetos en un campo de visión;
    un sensor bioacústico (170) para decodificar entradas de gestos;
    un escáner (120) para decodificar códigos visuales (706) ubicados en objetos;
    un altavoz (150) para producir sonidos audibles en respuesta a una señal eléctrica;
    una memoria (208) para almacenar instrucciones; y
    uno o más procesadores (202) conectados comunicativamente a la cámara de profundidad (130), al sensor bioacústico (170), al escáner (120) y al altavoz (150), el uno o más procesadores configurados para ejecutar las instrucciones y realizar el método de cualquiera de las reivindicaciones anteriores.
  11. 11. El dispositivo de la reivindicación 10, que comprende además un conector ajustable (180) que facilita el uso del dispositivo (100) alrededor de la porción superior de un brazo humano, de manera que el dispositivo tiene una sección transversal sustancialmente elíptica cuando se usa.
  12. 12. El dispositivo de la reivindicación 10, que comprende además una carcasa resistente compuesta sustancialmente por polímeros de caucho que crean un sello hermético alrededor de la cámara de profundidad (130), el escáner (120) y el altavoz (150).
  13. 13. El dispositivo de la reivindicación 10, en donde el dispositivo comprende, además:
    una interfaz de comunicaciones (224) conectada comunicativamente a uno o más procesadores (202); o un proyector (110) y una interfaz de comunicaciones (224) conectados comunicativamente a uno o más procesadores (202); o
    un receptor GPS conectado comunicativamente a uno o más procesadores (202).
  14. 14. El dispositivo de la reivindicación 10, que incluye además una batería (252) para alimentar el dispositivo (100) y en donde el dispositivo se configura para suministrar energía eléctrica a la batería desde al menos uno de:
    un generador accionado por vibración (258) para convertir el movimiento del dispositivo en energía eléctrica; o una superficie fotoeléctrica (256) colocada en un panel frontal del dispositivo (100).
ES15731144T 2014-05-15 2015-05-15 Dispositivos portátiles para el procesamiento de mensajería y métodos de uso de los mismos Active ES2826476T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461993868P 2014-05-15 2014-05-15
PCT/US2015/031127 WO2015175964A1 (en) 2014-05-15 2015-05-15 Wearable devices for courier processing and methods of use thereof

Publications (1)

Publication Number Publication Date
ES2826476T3 true ES2826476T3 (es) 2021-05-18

Family

ID=53484124

Family Applications (2)

Application Number Title Priority Date Filing Date
ES20187994T Active ES2911906T3 (es) 2014-05-15 2015-05-15 Dispositivos ponibles para el procesamiento de mensajería y métodos de uso de los mismos
ES15731144T Active ES2826476T3 (es) 2014-05-15 2015-05-15 Dispositivos portátiles para el procesamiento de mensajería y métodos de uso de los mismos

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES20187994T Active ES2911906T3 (es) 2014-05-15 2015-05-15 Dispositivos ponibles para el procesamiento de mensajería y métodos de uso de los mismos

Country Status (7)

Country Link
US (4) US10198030B2 (es)
EP (2) EP3143474B1 (es)
JP (1) JP6659583B2 (es)
CN (1) CN106687885B (es)
CA (1) CA2949088C (es)
ES (2) ES2911906T3 (es)
WO (1) WO2015175964A1 (es)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779546B2 (en) 2012-05-04 2017-10-03 Intermec Ip Corp. Volume dimensioning systems and methods
US10007858B2 (en) 2012-05-15 2018-06-26 Honeywell International Inc. Terminals and methods for dimensioning objects
US10321127B2 (en) 2012-08-20 2019-06-11 Intermec Ip Corp. Volume dimensioning system calibration systems and methods
US20140104413A1 (en) 2012-10-16 2014-04-17 Hand Held Products, Inc. Integrated dimensioning and weighing system
KR101691633B1 (ko) * 2012-11-01 2017-01-09 아이캠, 엘엘씨 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법
GB2513884B (en) 2013-05-08 2015-06-17 Univ Bristol Method and apparatus for producing an acoustic field
WO2015150868A1 (en) * 2014-04-01 2015-10-08 Sony Corporation Harmonizing a projected user interface
CA2949088C (en) * 2014-05-15 2023-01-24 Federal Express Corporation Wearable devices for courier processing and methods of use thereof
US10305966B2 (en) * 2014-05-23 2019-05-28 Anders Edvard Trell System for authorization of access
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
US9952660B2 (en) * 2014-06-10 2018-04-24 Intel Corporation User interaction with wearable devices
US10346992B2 (en) * 2014-07-30 2019-07-09 Sony Corporation Information processing apparatus, information processing method, and program
US9823059B2 (en) 2014-08-06 2017-11-21 Hand Held Products, Inc. Dimensioning system with guided alignment
US9921660B2 (en) 2014-08-07 2018-03-20 Google Llc Radar-based gesture recognition
US9811164B2 (en) 2014-08-07 2017-11-07 Google Inc. Radar-based gesture sensing and data transmission
US9588625B2 (en) 2014-08-15 2017-03-07 Google Inc. Interactive textiles
US10268321B2 (en) 2014-08-15 2019-04-23 Google Llc Interactive textiles within hard objects
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
GB2530036A (en) 2014-09-09 2016-03-16 Ultrahaptics Ltd Method and apparatus for modulating haptic feedback
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
US10775165B2 (en) 2014-10-10 2020-09-15 Hand Held Products, Inc. Methods for improving the accuracy of dimensioning-system measurements
US10810715B2 (en) 2014-10-10 2020-10-20 Hand Held Products, Inc System and method for picking validation
US9897434B2 (en) 2014-10-21 2018-02-20 Hand Held Products, Inc. Handheld dimensioning system with measurement-conformance feedback
KR102029756B1 (ko) * 2014-11-03 2019-10-08 삼성전자주식회사 웨어러블 디바이스 및 그 제어 방법
JP6282758B2 (ja) 2014-11-13 2018-02-21 マクセル株式会社 投射型映像表示装置および映像表示方法
EP3259654B1 (en) 2015-02-20 2021-12-29 Ultrahaptics Ip Ltd Algorithm improvements in a haptic system
AU2016221500B2 (en) 2015-02-20 2021-06-10 Ultrahaptics Ip Limited Perceptions in a haptic system
US10016162B1 (en) 2015-03-23 2018-07-10 Google Llc In-ear health monitoring
US9983747B2 (en) 2015-03-26 2018-05-29 Google Llc Two-layer interactive textiles
CN107430443B (zh) 2015-04-30 2020-07-10 谷歌有限责任公司 基于宽场雷达的手势识别
JP6427279B2 (ja) 2015-04-30 2018-11-21 グーグル エルエルシー ジェスチャの追跡および認識のための、rfに基づいた微細動作追跡
KR102011992B1 (ko) 2015-04-30 2019-08-19 구글 엘엘씨 타입-애그노스틱 rf 신호 표현들
US9786101B2 (en) 2015-05-19 2017-10-10 Hand Held Products, Inc. Evaluating image values
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
US9693592B2 (en) 2015-05-27 2017-07-04 Google Inc. Attaching electronic components to interactive textiles
US20160377414A1 (en) 2015-06-23 2016-12-29 Hand Held Products, Inc. Optical pattern projector
US9835486B2 (en) 2015-07-07 2017-12-05 Hand Held Products, Inc. Mobile dimensioner apparatus for use in commerce
US20170017301A1 (en) 2015-07-16 2017-01-19 Hand Held Products, Inc. Adjusting dimensioning results using augmented reality
US10818162B2 (en) 2015-07-16 2020-10-27 Ultrahaptics Ip Ltd Calibration techniques in haptic systems
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
US10249030B2 (en) 2015-10-30 2019-04-02 Hand Held Products, Inc. Image transformation for indicia reading
WO2017079484A1 (en) * 2015-11-04 2017-05-11 Google Inc. Connectors for connecting electronics embedded in garments to external devices
US9940730B2 (en) 2015-11-18 2018-04-10 Symbol Technologies, Llc Methods and systems for automatic fullness estimation of containers
US10713610B2 (en) 2015-12-22 2020-07-14 Symbol Technologies, Llc Methods and systems for occlusion detection and data correction for container-fullness estimation
EP3176990B1 (en) * 2015-12-01 2021-04-28 France Brevets Location based trusted computing nodes in a cloud computing architecture
US11189140B2 (en) 2016-01-05 2021-11-30 Ultrahaptics Ip Ltd Calibration and detection techniques in haptic systems
US10025314B2 (en) 2016-01-27 2018-07-17 Hand Held Products, Inc. Vehicle positioning and object avoidance
KR102417610B1 (ko) * 2016-03-03 2022-07-07 삼성전자주식회사 근거리 초고주파 레이더를 이용한 코드 판독 방법 및 장치
US10587858B2 (en) * 2016-03-14 2020-03-10 Symbol Technologies, Llc Device and method of dimensioning using digital images and depth data
US10492302B2 (en) 2016-05-03 2019-11-26 Google Llc Connecting an electronic component to an interactive textile
WO2017200570A1 (en) 2016-05-16 2017-11-23 Google Llc Interactive object with multiple electronics modules
US10339352B2 (en) * 2016-06-03 2019-07-02 Hand Held Products, Inc. Wearable metrological apparatus
CN107506681A (zh) * 2016-06-14 2017-12-22 智财咨询(北京)有限公司 一种基于声波的条码系统
US10268275B2 (en) 2016-08-03 2019-04-23 Ultrahaptics Ip Ltd Three-dimensional perceptions in haptic systems
US10129503B1 (en) 2016-09-20 2018-11-13 Apple Inc. Image-capturing watch
US9894580B1 (en) * 2016-09-30 2018-02-13 International Business Machines Corporation Access point selection
WO2018079446A1 (ja) * 2016-10-27 2018-05-03 日本電気株式会社 情報入力装置および情報入力方法
US10409413B2 (en) * 2016-10-27 2019-09-10 Motorola Solutions, Inc. Apparatus and method for expanded touch sensitive actuation of a user interface button
US10579150B2 (en) 2016-12-05 2020-03-03 Google Llc Concurrent detection of absolute distance and relative movement for sensing action gestures
US10909708B2 (en) 2016-12-09 2021-02-02 Hand Held Products, Inc. Calibrating a dimensioner using ratios of measurable parameters of optic ally-perceptible geometric elements
US10943578B2 (en) 2016-12-13 2021-03-09 Ultrahaptics Ip Ltd Driving techniques for phased-array systems
US11047672B2 (en) 2017-03-28 2021-06-29 Hand Held Products, Inc. System for optically dimensioning
USD826969S1 (en) 2017-03-29 2018-08-28 Becton, Dickinson And Company Display screen or portion thereof with animated graphical user interface
US10736409B2 (en) 2017-04-06 2020-08-11 Affl Associates, Llc Flag football system
US20180349837A1 (en) * 2017-05-19 2018-12-06 Hcl Technologies Limited System and method for inventory management within a warehouse
CN107341533A (zh) * 2017-07-21 2017-11-10 顺丰科技有限公司 一种货物分拣信息采集装置及货物分拣信息采集方法
US10733748B2 (en) 2017-07-24 2020-08-04 Hand Held Products, Inc. Dual-pattern optical 3D dimensioning
WO2019069575A1 (ja) * 2017-10-05 2019-04-11 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US10345895B2 (en) * 2017-11-07 2019-07-09 International Business Machines Corporation Hand and finger line grid for hand based interactions
US11531395B2 (en) 2017-11-26 2022-12-20 Ultrahaptics Ip Ltd Haptic effects from focused acoustic fields
CN107976183A (zh) * 2017-12-18 2018-05-01 北京师范大学珠海分校 一种空间数据测量方法及装置
EP3729418A1 (en) 2017-12-22 2020-10-28 Ultrahaptics Ip Ltd Minimizing unwanted responses in haptic systems
EP3729417A1 (en) 2017-12-22 2020-10-28 Ultrahaptics Ip Ltd Tracking in haptic systems
EP3729234B1 (en) * 2017-12-22 2023-06-07 Ultrahaptics IP Ltd Human interactions with mid-air haptic systems
US10958639B2 (en) * 2018-02-27 2021-03-23 Bank Of America Corporation Preventing unauthorized access to secure information systems using multi-factor, hardware based and/or advanced biometric authentication
US10584962B2 (en) 2018-05-01 2020-03-10 Hand Held Products, Inc System and method for validating physical-item security
EP4414556A2 (en) 2018-05-02 2024-08-14 Ultrahaptics IP Limited Blocking plate structure for improved acoustic transmission efficiency
US10783656B2 (en) 2018-05-18 2020-09-22 Zebra Technologies Corporation System and method of determining a location for placement of a package
US11188154B2 (en) * 2018-05-30 2021-11-30 International Business Machines Corporation Context dependent projection of holographic objects
US11098951B2 (en) 2018-09-09 2021-08-24 Ultrahaptics Ip Ltd Ultrasonic-assisted liquid manipulation
US11378997B2 (en) 2018-10-12 2022-07-05 Ultrahaptics Ip Ltd Variable phase and frequency pulse-width modulation technique
EP3915124A2 (en) * 2018-12-13 2021-12-01 Orcam Technologies Ltd. Wearable apparatus and methods
EP3906462A2 (en) 2019-01-04 2021-11-10 Ultrahaptics IP Ltd Mid-air haptic textures
US11842517B2 (en) 2019-04-12 2023-12-12 Ultrahaptics Ip Ltd Using iterative 3D-model fitting for domain adaptation of a hand-pose-estimation neural network
CN110502945B (zh) * 2019-08-02 2024-05-10 深圳市誉峰物联有限公司 穿戴式扫描器
US11639846B2 (en) 2019-09-27 2023-05-02 Honeywell International Inc. Dual-pattern optical 3D dimensioning
AU2020368678A1 (en) 2019-10-13 2022-05-19 Ultraleap Limited Dynamic capping with virtual microphones
US11374586B2 (en) 2019-10-13 2022-06-28 Ultraleap Limited Reducing harmonic distortion by dithering
TWI709913B (zh) * 2019-10-28 2020-11-11 阿丹電子企業股份有限公司 多功能式手持掃描器
WO2021090028A1 (en) 2019-11-08 2021-05-14 Ultraleap Limited Tracking techniques in haptics systems
US11715453B2 (en) 2019-12-25 2023-08-01 Ultraleap Limited Acoustic transducer structures
US11816267B2 (en) 2020-06-23 2023-11-14 Ultraleap Limited Features of airborne ultrasonic fields
CN111817643B (zh) * 2020-06-24 2024-05-17 包头长安永磁电机有限公司 一种基于麦克风阵列噪声监测的电机降噪系统及方法
US11600115B2 (en) 2020-07-14 2023-03-07 Zebra Technologies Corporation Barcode scanning based on gesture detection and analysis
JP7472734B2 (ja) 2020-09-17 2024-04-23 サクサ株式会社 画像処理装置及びプログラム
US11886639B2 (en) 2020-09-17 2024-01-30 Ultraleap Limited Ultrahapticons
CN113038450B (zh) * 2021-03-15 2023-08-18 Oppo广东移动通信有限公司 终端控制方法、装置、控制模组以及移动终端

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4766299A (en) * 1986-03-28 1988-08-23 Spectra-Physics, Inc. Hand-mounted bar code reader
US5191197A (en) * 1988-05-11 1993-03-02 Symbol Technologies, Inc. Arm mounted scanner actuatable by hand movement
US5793032A (en) * 1991-11-04 1998-08-11 Symbol Technologies, Inc. Portable optical scanning and pointing systems
US5587577A (en) * 1989-06-08 1996-12-24 Norand Corporation Modular scanner with hand-held data terminal
US5543610A (en) * 1989-10-30 1996-08-06 Symbol Technologies, Inc. Compact bar code scanning arrangement
US5340972A (en) * 1991-05-13 1994-08-23 Symbol Technologies, Inc. Hands-free bar code scanner with finger activated optical control
KR930022235A (ko) * 1992-04-03 1993-11-23 시모야마 도시로오 손이 자유로운 바 코드 스캐너
JP3389270B2 (ja) * 1992-05-15 2003-03-24 シンボル テクノロジイズ インコーポレイテッド 小型バーコード走査装置
US6832724B2 (en) * 1993-03-26 2004-12-21 Symbol Technologies, Inc. Electro-optical assembly for image projection, especially in portable instruments
US5898161A (en) * 1994-08-29 1999-04-27 Symbol Technologies, Inc. Wrist-mounted optical scanning and pointing systems
US5986446A (en) * 1997-02-05 1999-11-16 C. Blake Williamson Multi-meter and probe assembly and method of use
US6764012B2 (en) * 1997-02-10 2004-07-20 Symbol Technologies, Inc. Signaling arrangement for and method of signaling in a wireless local area network
US6814293B2 (en) * 1997-02-10 2004-11-09 Symbol Technologies, Inc. Arrangement for and method of establishing a logical relationship among peripherals in a wireless local area network
US6006994A (en) * 1997-05-12 1999-12-28 Geo Labs, Inc. Method and apparatus for driving a scan element using a single current pulse
JP2000148381A (ja) * 1998-11-05 2000-05-26 Telecommunication Advancement Organization Of Japan 入力画像処理方法、入力画像処理装置、及び入力画像処理プログラムを記録した記録媒体
JP3020943B1 (ja) * 1999-01-27 2000-03-15 株式会社東研 携帯型コ―ド読取装置
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6771294B1 (en) * 1999-12-29 2004-08-03 Petri Pulli User interface
US6995762B1 (en) * 2001-09-13 2006-02-07 Symbol Technologies, Inc. Measurement of dimensions of solid objects from two-dimensional image(s)
US9153074B2 (en) * 2011-07-18 2015-10-06 Dylan T X Zhou Wearable augmented reality eyeglass communication device including mobile phone and mobile computing via virtual touch screen gesture control and neuron command
US20040070563A1 (en) * 2002-10-10 2004-04-15 Robinson Ian Nevill Wearable imaging device
GB2396728B (en) * 2002-12-23 2005-04-20 Motorola Inc System method and equipment for reading information on a target
JP4144377B2 (ja) * 2003-02-28 2008-09-03 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
EP1524586A1 (en) * 2003-10-17 2005-04-20 Sony International (Europe) GmbH Transmitting information to a user's body
US7841533B2 (en) * 2003-11-13 2010-11-30 Metrologic Instruments, Inc. Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system
EP1533678A1 (en) * 2003-11-24 2005-05-25 Sony International (Europe) GmbH Physical feedback channel for entertaining or gaming environments
US7185818B2 (en) * 2003-12-29 2007-03-06 Symbol Technologies, Inc. Rotatable/removeable keyboard
US7942326B2 (en) * 2004-03-17 2011-05-17 Socket Mobile, Inc. Multi-mode ring scanner
US20060081714A1 (en) * 2004-08-23 2006-04-20 King Martin T Portable scanning device
EP1662362A1 (en) * 2004-11-26 2006-05-31 Océ-Technologies B.V. Desk top scanning with hand gestures recognition
US7389934B2 (en) * 2005-05-27 2008-06-24 International Business Machines Corporation On-demand point-of-sale scanner access
US20080024961A1 (en) * 2006-07-20 2008-01-31 Anderson Robert C Wearable electronic device with edge-mounted battery
US8520836B2 (en) * 2006-07-24 2013-08-27 Plantronics, Inc. Projection headset
US7389933B2 (en) * 2006-10-13 2008-06-24 Symbol Technologies, Inc. Triggerless electro-optical reader
US20080113814A1 (en) * 2006-11-10 2008-05-15 Aristocrat Technologies Australia Pty, Ltd Bar-coded player tracking equipment set up system and method
US7907125B2 (en) * 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US9261979B2 (en) * 2007-08-20 2016-02-16 Qualcomm Incorporated Gesture-based mobile interaction
US8471868B1 (en) * 2007-11-28 2013-06-25 Sprint Communications Company L.P. Projector and ultrasonic gesture-controlled communicator
US8458363B2 (en) * 2008-06-08 2013-06-04 Apple Inc. System and method for simplified data transfer
US8723787B2 (en) * 2008-06-17 2014-05-13 The Invention Science Fund I, Llc Methods and systems related to an image capture projection surface
JP5420210B2 (ja) * 2008-08-08 2014-02-19 京セラ株式会社 携帯端末および携帯端末におけるロック設定方法
US8743079B2 (en) * 2008-08-29 2014-06-03 Nec Corporation Position information input device and position information input method
US8289162B2 (en) * 2008-12-22 2012-10-16 Wimm Labs, Inc. Gesture-based user interface for a wearable portable device
US8433769B2 (en) * 2009-01-09 2013-04-30 Ganart Technologies, Inc. System for providing transaction services to a plurality of user devices
US8908995B2 (en) * 2009-01-12 2014-12-09 Intermec Ip Corp. Semi-automatic dimensioning with imager on a portable device
US9569001B2 (en) * 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
US8490176B2 (en) * 2009-04-07 2013-07-16 Juniper Networks, Inc. System and method for controlling a mobile device
BRPI1015256B1 (pt) * 2009-04-22 2021-02-23 Franwell, Inc Sistema rfid usável por usuário acionado por sensor de movimento emídias legíveis por computador
US8421634B2 (en) * 2009-12-04 2013-04-16 Microsoft Corporation Sensing mechanical energy to appropriate the body for data input
US10109103B2 (en) * 2010-06-30 2018-10-23 Barry L. Jenkins Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation
US8490877B2 (en) * 2010-11-09 2013-07-23 Metrologic Instruments, Inc. Digital-imaging based code symbol reading system having finger-pointing triggered mode of operation
JP5366022B2 (ja) * 2010-12-03 2013-12-11 ブラザー工業株式会社 携帯端末装置
US8235289B2 (en) * 2010-12-23 2012-08-07 Verifone, Inc. Point of sale terminal for engagement with a mobile communicator
US8292184B2 (en) * 2011-03-03 2012-10-23 Turbovich Irit Barcode scanner
US10061387B2 (en) * 2011-03-31 2018-08-28 Nokia Technologies Oy Method and apparatus for providing user interfaces
CN102819331B (zh) * 2011-06-07 2016-03-02 联想(北京)有限公司 移动终端及其触摸输入方法
US8851372B2 (en) * 2011-07-18 2014-10-07 Tiger T G Zhou Wearable personal digital device with changeable bendable battery and expandable display used as standalone electronic payment card
US9069164B2 (en) * 2011-07-12 2015-06-30 Google Inc. Methods and systems for a virtual input device
JP5624530B2 (ja) * 2011-09-29 2014-11-12 株式会社東芝 コマンド発行装置、方法及びプログラム
JP5874015B2 (ja) * 2011-10-28 2016-03-01 パナソニックIpマネジメント株式会社 無線タグ装置、無線通信システムおよび再送制御方法
WO2013170260A1 (en) * 2012-05-11 2013-11-14 Proiam, Llc Hand held dimension capture apparatus, system, and method
US9582035B2 (en) * 2014-02-25 2017-02-28 Medibotics Llc Wearable computing devices and methods for the wrist and/or forearm
US20130342568A1 (en) * 2012-06-20 2013-12-26 Tony Ambrus Low light scene augmentation
US10321127B2 (en) * 2012-08-20 2019-06-11 Intermec Ip Corp. Volume dimensioning system calibration systems and methods
WO2014031944A1 (en) * 2012-08-24 2014-02-27 EmoPulse, Inc. System and method for obtaining and using user physiological and emotional data
US9939259B2 (en) * 2012-10-04 2018-04-10 Hand Held Products, Inc. Measuring object dimensions using mobile computer
KR101691633B1 (ko) * 2012-11-01 2017-01-09 아이캠, 엘엘씨 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법
KR102001218B1 (ko) * 2012-11-02 2019-07-17 삼성전자주식회사 객체와 관련된 정보 제공 방법 및 이를 위한 디바이스
US8972283B2 (en) * 2013-01-13 2015-03-03 Retail Technologies Corporation Wearable mobile scanner system with mobile tablet having a mobile POS and enterprise resource planning application for POS customer order fulfillment and in store inventory management for retail establishment
US9142035B1 (en) * 2013-03-05 2015-09-22 Amazon Technologies, Inc. Item dimension verification at packing
US20140267618A1 (en) * 2013-03-15 2014-09-18 Google Inc. Capturing and Refocusing Imagery
US20140337621A1 (en) * 2013-05-07 2014-11-13 Serguei Nakhimov Wearable communication device, security complex and user interface
KR101999958B1 (ko) * 2013-05-22 2019-07-15 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
US20160171417A1 (en) * 2013-06-10 2016-06-16 Smart Gladiator Llc Systems and methods for operating and managing enterprise systems on a mobile electronic device to measure efficiency and productivity of mobile electronic device operators
US9606721B2 (en) * 2013-07-22 2017-03-28 Lg Electronics Inc. Mobile terminal and control method thereof
JP2015041052A (ja) * 2013-08-23 2015-03-02 ソニー株式会社 リストバンド型情報処理装置および記憶媒体
US9464885B2 (en) * 2013-08-30 2016-10-11 Hand Held Products, Inc. System and method for package dimensioning
US20150138699A1 (en) * 2013-11-15 2015-05-21 Semiconductor Energy Laboratory Co., Ltd. Electronic device
US9741134B2 (en) * 2013-12-16 2017-08-22 Symbol Technologies, Llc Method and apparatus for dimensioning box object
US9151953B2 (en) * 2013-12-17 2015-10-06 Amazon Technologies, Inc. Pointer tracking for eye-level scanners and displays
US9235742B1 (en) * 2013-12-17 2016-01-12 Amazon Technologies, Inc. Wearable scanners
US9910501B2 (en) * 2014-01-07 2018-03-06 Toshiba Global Commerce Solutions Holdings Corporation Systems and methods for implementing retail processes based on machine-readable images and user gestures
US10019149B2 (en) * 2014-01-07 2018-07-10 Toshiba Global Commerce Solutions Holdings Corporation Systems and methods for implementing retail processes based on machine-readable images and user gestures
US9232331B2 (en) * 2014-05-08 2016-01-05 Microsoft Technology Licensing, Llc Hand-worn device for surface gesture input
CA2949088C (en) * 2014-05-15 2023-01-24 Federal Express Corporation Wearable devices for courier processing and methods of use thereof
US9779276B2 (en) * 2014-10-10 2017-10-03 Hand Held Products, Inc. Depth sensor based auto-focus system for an indicia scanner
US10810715B2 (en) * 2014-10-10 2020-10-20 Hand Held Products, Inc System and method for picking validation
US9752864B2 (en) * 2014-10-21 2017-09-05 Hand Held Products, Inc. Handheld dimensioning system with feedback
US10060729B2 (en) * 2014-10-21 2018-08-28 Hand Held Products, Inc. Handheld dimensioner with data-quality indication
US20160125217A1 (en) * 2014-11-05 2016-05-05 Hand Held Products, Inc. Barcode scanning system using wearable device with embedded camera
CN104504678B (zh) * 2014-11-19 2017-04-19 华东师范大学 一种室内识别物体棱角并衡量其对移动实体危险程度的方法
KR102347248B1 (ko) * 2014-11-26 2022-01-04 삼성전자주식회사 터치 제스쳐 인식 방법 및 장치
US9092684B1 (en) * 2015-01-08 2015-07-28 Symbol Technologies, Llc Wearable system for, and method of, electro-optically reading a symbol at which a user's finger is generally pointed
US10066982B2 (en) * 2015-06-16 2018-09-04 Hand Held Products, Inc. Calibrating a volume dimensioner
EP3118576B1 (en) * 2015-07-15 2018-09-12 Hand Held Products, Inc. Mobile dimensioning device with dynamic accuracy compatible with nist standard
US10094650B2 (en) * 2015-07-16 2018-10-09 Hand Held Products, Inc. Dimensioning and imaging items
US20170017301A1 (en) * 2015-07-16 2017-01-19 Hand Held Products, Inc. Adjusting dimensioning results using augmented reality
WO2017086508A1 (ko) * 2015-11-19 2017-05-26 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US11047672B2 (en) * 2017-03-28 2021-06-29 Hand Held Products, Inc. System for optically dimensioning
US10937183B2 (en) * 2019-01-28 2021-03-02 Cognex Corporation Object dimensioning system and method

Also Published As

Publication number Publication date
US20220221900A1 (en) 2022-07-14
CN106687885B (zh) 2020-03-03
CA2949088C (en) 2023-01-24
CN106687885A (zh) 2017-05-17
US20150332075A1 (en) 2015-11-19
US20190171250A1 (en) 2019-06-06
US12026013B2 (en) 2024-07-02
EP3143474A1 (en) 2017-03-22
JP2017522633A (ja) 2017-08-10
US20230367366A1 (en) 2023-11-16
EP3757718A1 (en) 2020-12-30
WO2015175964A1 (en) 2015-11-19
EP3757718B1 (en) 2022-03-30
CA2949088A1 (en) 2015-11-19
US11567534B2 (en) 2023-01-31
US10198030B2 (en) 2019-02-05
JP6659583B2 (ja) 2020-03-04
ES2911906T3 (es) 2022-05-23
US11320858B2 (en) 2022-05-03
WO2015175964A8 (en) 2016-11-17
EP3143474B1 (en) 2020-10-07

Similar Documents

Publication Publication Date Title
ES2826476T3 (es) Dispositivos portátiles para el procesamiento de mensajería y métodos de uso de los mismos
KR102637662B1 (ko) 디바이스를 이용한 화면 처리 방법 및 장치
US10564675B2 (en) Mobile terminal and control method therefor
KR102198473B1 (ko) 이동단말기 및 그 제어방법
KR20170128820A (ko) 이동단말기 및 그 제어방법
KR20150116281A (ko) 투명 플렉서블 디스플레이 장치 및 그 장치의 제어 방법
KR20160071887A (ko) 이동단말기 및 그것의 제어방법
KR20160136013A (ko) 이동 단말기 및 그 제어 방법
US20140285402A1 (en) Social data-aware wearable display system
CN105786170A (zh) 移动终端及其控制方法
KR102039948B1 (ko) 증강현실이나 가상현실에 기초하여 가상의 인체 장기를 렌더링하는 이동 단말기 및 이를 이용하는 시스템
KR102344064B1 (ko) 모바일 디바이스 및 그 제어 방법
KR101727082B1 (ko) 측면디스플레이부를 구비한 이동단말기를 이용한 게임수행방법 및 프로그램
CN111325083B (zh) 记录考勤信息的方法和装置
KR102118434B1 (ko) 모바일 디바이스 및 그 제어 방법
KR20160071013A (ko) 글래스 타입의 이동 단말기 및 그 제어방법
KR102234710B1 (ko) 이동 단말기 및 그 제어방법