WO2016079355A1 - Computing method, system and product for interacting with a laser pointer - Google Patents

Computing method, system and product for interacting with a laser pointer Download PDF

Info

Publication number
WO2016079355A1
WO2016079355A1 PCT/ES2015/070807 ES2015070807W WO2016079355A1 WO 2016079355 A1 WO2016079355 A1 WO 2016079355A1 ES 2015070807 W ES2015070807 W ES 2015070807W WO 2016079355 A1 WO2016079355 A1 WO 2016079355A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
points
projection area
laser pointer
memory
Prior art date
Application number
PCT/ES2015/070807
Other languages
Spanish (es)
French (fr)
Inventor
Ignacio FERRERO PERIS
Miguel FERNÁNDEZ GARCÍA
Original Assignee
Ferrero Peris Ignacio
Fernández García Miguel
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 Ferrero Peris Ignacio, Fernández García Miguel filed Critical Ferrero Peris Ignacio
Publication of WO2016079355A1 publication Critical patent/WO2016079355A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D13/00Component parts of indicators for measuring arrangements not specially adapted for a specific variable
    • G01D13/22Pointers, e.g. settable pointer
    • G01D13/26Pointers, e.g. settable pointer adapted to perform a further operation, e.g. making electrical contact
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B26/00Optical devices or arrangements for the control of light using movable or deformable optical elements
    • G02B26/08Optical devices or arrangements for the control of light using movable or deformable optical elements for controlling the direction of light
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/18Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for optical projection, e.g. combination of mirror and condenser and objective
    • G02B27/20Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for optical projection, e.g. combination of mirror and condenser and objective for imaging minute objects, e.g. light-pointer
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • 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

Definitions

  • the system object of the invention comprises a mobile device 100, a computer 2, a laser pointer 300 and a projector 400, such that the projector is connected and showing a slide show on a projection 401.
  • the mobile device (100) comprises a program or programs (132 to 146) in which said programs (132 to 146) are stored in the memory 102 and configured to be executed by means of the processor (s) 106 and where the programs include instructions for:
  • the configuration of communications and operation allows the user to have several ways to use the application and choose the one that best suits their real situation.
  • the user of the mobile device (100) normally the person presenting the slides, can choose whether to use WIFI or Bluetooth.
  • the system understands that a normal user cannot know the network conditions in advance, therefore it is recommended that whenever there is Wi-Fi available to work with the WIFI connection.
  • the mobile device (100) will use the Bluetooth connection.
  • the process ends when the end of the matrix is reached and the maximum brightness has been obtained. At this time the first phase of the calibration is over and is not repeated until the entire recognition process is over.
  • connection structure is as follows:
  • the analysis is performed at each stage, the mobile application, the processing and the drawing. It normally reconstructs the information in such a way that it facilitates the reception process by the computer 2 and also transforms the information into the format required by the program 26.
  • This ordered object is the one that is analyzed by diffuse logic, locating the geometric shapes that have been drawn and incorporating them into the presentation.
  • the recognition method is based on two basic ideas:
  • This algorithm recognizes elementary geometric shapes such as the triangle, the rectangle and circles or lines as well as simple commands to operate, for example, a PowerPoint® presentation such as moving from one slide to another or escaping the presentation.

Abstract

The invention relates to a computerized method for interacting with a laser pointer (300) by means of a portable electronic device (100) over a projection area (401) defined by a projector (400) connected to a computer (2), in such a way that the interactivity of the user with a presentation of slides is improved, permitting a number of actions to be carried out using the pointer, via a mobile application and a computing system, such as, inter alia, drawing on the presentation or turning the page.

Description

METODO, SISTEMA Y PRODUCTO INFORMATICO PARA INTERACTUAR CON UN  METHOD, SYSTEM AND COMPUTER PRODUCT TO INTERACT WITH A
PUNTERO LÁSER  LASER POINTER
DESCRIPCIÓN DESCRIPTION
El objeto de la presente invención es un método, un sistema y un producto informático aplicable a teléfonos móviles inteligentes para la interacción con un puntero láser de tal forma que se mejora la interactividad del usuario con una presentación de diapositivas permitiendo realizar, a través de una aplicación móvil y un sistema informático, realizar numerosas acciones con el propio puntero, como dibujar sobre la presentación, pasar de hoja, o cualquier otra. The object of the present invention is a method, a system and a computer product applicable to smart mobile phones for interaction with a laser pointer in such a way that the interactivity of the user is improved with a slide show allowing to perform, through a mobile application and a computer system, perform numerous actions with the pointer itself, such as drawing on the presentation, turning the page, or any other.
Estado de la técnica State of the art
La tecnología ha evolucionado rápidamente, por ejemplo, la industria de teléfonos móviles . Así se ha evolucionado desde dispositivos cuyo único propósito era la comunicación vía voz, a innumerables modelos de teléfonos inteligentes, con multitud de servicios . Technology has evolved rapidly, for example, the mobile phone industry. This has evolved from devices whose sole purpose was voice communication, to countless models of smartphones, with many services.
Sin embargo, las presentaciones no han evolucionado casi nada en los últimos diez años, por no decir que no han cambiado en absoluto. Un proyector, un ordenador y un puntero láser, son elementos comunes que se utilizan con una mínima interacción. Esto ha originado un problema, la falta de atención de los oyentes. Además, en muchos casos, el presentador está muy limitado y tiene poco control sobre su presentación. Esto genera un estilo de presentación ineficiente donde el usuario tiene que volver al ordenador para pasar a las diapositivas. Una vez más, esto provoca una falta de atención de los oyentes. However, the presentations have not evolved almost anything in the last ten years, not to say they have not changed at all. A projector, a computer and a laser pointer are common elements that are used with minimal interaction. This has caused a problem, the lack of attention of the listeners. In addition, in many cases, the presenter is very limited and has little control over his presentation. This generates an inefficient presentation style where the user has to return to the computer to move to the slides. Again, this causes a lack of attention of the listeners.
La falta de atención genera un problema aún mayor, que es un aprendizaje ineficaz. Debido al déficit de atención de los oyentes, todo lo indicado en la presentación tiende a olvidarse. Posteriormente, si en algún momento el oyente quiere repasar o releer la presentación, no se recuerda nada de lo dicho por el presentador. En la mayoría de los casos se trata de descifrar las diapositivas y se pierde más tiempo intentando recordar lo dicho. The lack of attention generates an even greater problem, which is inefficient learning. Due to the attention deficit of listeners, everything indicated in the presentation tends to be forgotten. Subsequently, if at any time the listener wants to review or reread the presentation, nothing said by the presenter is remembered. In most cases it is about deciphering the slides and more time is wasted trying to remember what was said.
Por tanto, es recomendable un sistema que mejore la interacción entre el usuario y su presentación de diapositivas a través de un puntero láser estándar. Therefore, a system that improves the interaction between the user and his slide show through a standard laser pointer is recommended.
Descripción de la invención Description of the invention
Es un objeto de la invención el mejorar las presentaciones con diapositivas, tanto la interactividad como el atractivo visual. El principal objetivo es aumentar la eficacia de dicha presentación tanto para el presentador como para el oyente. It is an object of the invention to improve slide shows, both interactivity and visual appeal. The main objective is to increase the effectiveness of this presentation for both the presenter and the listener.
La solución al problema técnico consiste en colocar un dispositivo móvil frente donde está colocado el proyector que está proyectando las imágenes propias de la presentación y mientras que el presentador expone su proyecto, el usuario será capaz de manejar su presentación a través de un puntero láser, pudiendo dibujar diferentes figuras y borrar, pasar o retroceder en la presentación. Por ejemplo, si se quiere remarcar una fórmula importante, se pintará un círculo o rectángulo alrededor de dicha fórmula con el puntero láser, apareciendo automáticamente en la pantalla . The solution to the technical problem is to place a mobile device in front of where the projector that is projecting the images of the presentation is placed and while the presenter exposes his project, the user will be able to manage his presentation through a laser pointer, being able to draw different figures and erase, pass or go back in the presentation. For example, if you want to highlight an important formula, a circle or rectangle will be painted around that formula with the laser pointer, automatically appearing on the screen.
Más concretamente, la solución al problema técnico indicado está descrita en las reivindicaciones independientes que acompañan la siguiente memoria descriptiva, así como sus distintas realizaciones particulares, descritas en cada una de las reivindicaciones dependientes . More specifically, the solution to the indicated technical problem is described in the independent claims that accompany the following specification, as well as its various particular embodiments, described in each of the dependent claims.
A lo largo de la descripción y las reivindicaciones la palabra "comprende" y sus variantes no pretenden excluir otras características técnicas, aditivos, componentes o pasos. Para los expertos en la materia, otros objetos, ventajas y características de la invención se desprenderán en parte de la descripción y en parte de la práctica de la invención. Los siguientes ejemplos y dibujos se proporcionan a modo de ilustración, y no se pretende que restrinjan la presente invención. Además, la presente invención cubre todas las posibles combinaciones de realizaciones particulares y preferidas aquí indicadas. Throughout the description and the claims the word "understand" and its variants are not intended to exclude other technical characteristics, additives, components or steps. For those skilled in the art, other objects, advantages and features of the invention will be derived partly from the description and partly from the practice of the invention. The following examples and drawings are provided by way of illustration, and are not intended to restrict the present invention. In addition, the present invention covers all possible combinations of particular and preferred embodiments indicated herein.
Breve descripción de las figuras Brief description of the figures
A continuación se pasa a describir de manera muy breve una serie de dibujos que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta. A series of drawings that help to better understand the invention and that expressly relate to an embodiment of said invention which is presented as a non-limiting example thereof is described very briefly below.
FIG 1.- Muestra un esquema del dispositivo electrónico portátil FIG 1.- Shows a diagram of the portable electronic device
(100) que implementa la presente invención.  (100) that implements the present invention.
FIG 2.- Muestra el diagrama de una arquitectura de una computadora (2) que ilustra la arquitectura de un servidor utilizado en las distintas realizaciones prácticas de la invención.  FIG 2.- Shows the diagram of an architecture of a computer (2) illustrating the architecture of a server used in the different practical embodiments of the invention.
FIG 3.- Muestra el diagrama de la arquitectura del sistema objeto de la presente invención.  FIG 3.- Shows the diagram of the architecture of the system object of the present invention.
FIG 4.- Diagrama de bloques de las operaciones de reconocimiento implementadas en el dispositivo móvil (100).  FIG 4.- Block diagram of the recognition operations implemented in the mobile device (100).
Exposición de un modo detallado de realización de la invención Statement of a detailed embodiment of the invention
La presente invención se implementa en un dispositivo electrónico portátil 100 que puede ser cualquiera seleccionado entre ordenadores, tabletas y teléfonos móviles, aunque una arquitectura preferida para un dispositivo móvil se muestra en la figura 1. En general, cualquier dispositivo de comunicaciones programable puede configurarse como un dispositivo para la presente invención The present invention is implemented in a portable electronic device 100 which can be any selected among computers, tablets and mobile phones, although a preferred architecture for a mobile device is shown in Figure 1. In general, any programmable communications device can be configured as a device for the present invention
La figura 1 ilustra un dispositivo electrónico portátil, de acuerdo con algunas realizaciones de la invención. El dispositivo 100 electrónico portátil de la invención incluye una memoria 102, un controlador 104 de memoria, una o más unidades 106 de procesamiento (CPU) , una interfaz 108 de periféricos, un sistema 112 de circuitos de RF, un sistema 114 de circuitos de audio, un altavoz 116, un micrófono 118, un subsistema 120 de entrada/salida (I/O), una pantalla 126 táctil, otros dispositivos 128 de entrada o de control y un puerto 148 externo. Estos componentes se comunican sobre uno o más buses de comunicación o lineas 110 de señales. El dispositivo 100 puede ser cualquier dispositivo electrónico portátil, incluyendo, aunque no en sentido limitativo, un ordenador portátil, una tableta, un teléfono móvil, un reproductor multimedia, un asistente digital personal (PDA), o similar, incluyendo una combinación de dos o más de estos artículos. Debe apreciarse que el dispositivo 100 es sólo un ejemplo de un dispositivo 100 electrónico portátil y que el dispositivo 100 puede tener más o menos componentes que los mostrados o una configuración diferente de componentes . Los diferentes componentes mostrados en la figura 1 pueden implementarse en hardware, software o en una combinación de ambos, incluyendo uno o más circuitos integrados de aplicación específica y/o de procesamiento de señales. Del mismo modo, se ha definido la pantalla 126 como táctil, aunque la invención puede implementarse igualmente en dispositivos con una pantalla estándar . Figure 1 illustrates a portable electronic device, in accordance with some embodiments of the invention. The portable electronic device 100 of the invention includes a memory 102, a memory controller 104, one or more processing units (CPU) 106, a peripheral interface 108, an RF circuit system 112, a circuit circuit system 114 audio, a speaker 116, a microphone 118, an input / output (I / O) subsystem 120, a touch screen 126, other input or control devices 128 and an external port 148. These components communicate over one or more communication buses or signal lines 110. The device 100 may be any portable electronic device, including, but not limited to, a laptop, a tablet, a mobile phone, a media player, a personal digital assistant (PDA), or the like, including a combination of two or More of these items. It should be appreciated that the device 100 is only an example of a portable electronic device 100 and that the device 100 may have more or less components than those shown or a different configuration of components. The different components shown in Figure 1 can be implemented in hardware, software or in a combination of both, including one or more specific application integrated circuits and / or signal processing. Similarly, the screen 126 has been defined as touch, although the invention can also be implemented in devices with a standard screen.
La memoria 102 puede incluir una memoria de acceso aleatorio de alta velocidad y también puede incluir una memoria no volátil, tal como uno o más dispositivos de almacenamiento en disco magnético, dispositivos de memoria flash u otros dispositivos de memoria de estado sólido no volátil. En algunas realizaciones, la memoria 102 puede incluir además un almacenamiento situado de forma remota con respecto al uno o más procesadores 106, por ejemplo un almacenamiento conectado a una red al que se accede a través del sistema 112 de circuitos de RF o del puerto 148 externo y una red de comunicaciones (no mostrada) tal como Internet, intranet (s), redes de área local (LAN), redes de área local extendidas (WLAN) , redes de área de almacenamiento (SAN) y demás, o cualquiera de sus combinaciones adecuadas. El acceso a la memoria 102 por otros componentes del dispositivo 100, tales como la CPU 106 y la interfaz 108 de periféricos, puede controlarse mediante el controlador 104 de memoria. Memory 102 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices or other non-volatile solid-state memory devices. In some embodiments, memory 102 may further include storage located at remotely with respect to one or more processors 106, for example a storage connected to a network that is accessed through the RF circuit system 112 or the external port 148 and a communications network (not shown) such as the Internet, intranet (s), local area networks (LAN), extended local area networks (WLAN), storage area networks (SAN) and so on, or any of their appropriate combinations. Access to memory 102 by other components of device 100, such as CPU 106 and peripheral interface 108, can be controlled by memory controller 104.
La interfaz 108 de periféricos conecta los periféricos de entrada y salida del dispositivo a la CPU 106 y a la memoria 102. Uno o más procesadores 106 ejecutan diferentes programas de software y/o conjuntos de instrucciones almacenados en la memoria 102 para realizar diferentes funciones del dispositivo 100 y para el procesamiento de datos. The peripheral interface 108 connects the device's input and output peripherals to the CPU 106 and to the memory 102. One or more processors 106 execute different software programs and / or instruction sets stored in the memory 102 to perform different functions of the device. 100 and for data processing.
En algunas realizaciones, la interfaz 108 de periféricos, la CPU 106 y el controlador 104 de memoria pueden implementarse en un único chip, tal como un chip 111. En algunas otras realizaciones, pueden implementarse en varios chips . In some embodiments, peripheral interface 108, CPU 106 and memory controller 104 may be implemented on a single chip, such as chip 111. In some other embodiments, they may be implemented on several chips.
El sistema 112 de circuitos de RF (radiofrecuencia) recibe y envía ondas electromagnéticas. El sistema 112 de circuitos de RF convierte las señales eléctricas en ondas electromagnéticas y viceversa y se comunica con las redes de comunicaciones y otros dispositivos de comunicaciones a través de las ondas electromagnéticas. El sistema 112 de circuitos de RF puede incluir un sistema de circuitos ampliamente conocido para realizar estas funciones, incluyendo aunque no en sentido limitativo, un sistema de antena, un transceptor de RF, uno o más amplificadores, un sintonizador, uno o más osciladores, un procesador de señales digitales, un conjunto de chips CODEC, una tarjeta de módulo de identidad de abonado (SIM) , una memoria, etc. El sistema 112 de circuitos de RF puede comunicarse con redes, tales como Internet, también denominada World Wide Web (WWW), una Intranet y/o una red inalámbrica, tal como una red telefónica celular, una red de área local inalámbrica (LAN) y/o una red de área metropolitana (MAN) y con otros dispositivos mediante comunicación inalámbrica. La comunicación inalámbrica puede utilizar cualquiera de una pluralidad de normas, protocolos y tecnologías de comunicaciones, incluyendo, aunque no en sentido limitativo, el sistema global para comunicaciones móviles (GSM) , el entorno GSM de datos mejorado (EDGE), el acceso múltiple por división de código de banda ancha (W-CDMA) , el acceso múltiple por división de código (CDMA) , el acceso múltiple por división de tiempo (TDMA) , Bluetooth, acceso inalámbrico (Wi-Fi) (por ejemplo, IEEE 802.11a, IEEE 802.11b, IEEE 802. llg y/o IEEE 802.11η), protocolo de voz sobre IP (VoIP) , Wi-MAX, un protocolo para correo electrónico, mensajería instantánea y/o servicio de mensajes cortos (SMS) o cualquier otro protocolo de comunicación adecuado, incluyendo protocolos de comunicación aún no desarrollados en la fecha de presentación de este documento. The RF (radio frequency) 112 system receives and sends electromagnetic waves. The RF circuit system 112 converts electrical signals into electromagnetic waves and vice versa and communicates with communications networks and other communication devices through electromagnetic waves. The RF circuit system 112 may include a circuit system widely known to perform these functions, including but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, a memory, etc. The 112 system of RF circuits can communicate with networks, such as the Internet, also called World Wide Web (WWW), an Intranet and / or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and / or a metropolitan area network (MAN) and with other devices via wireless communication. Wireless communication can use any of a plurality of communications standards, protocols and technologies, including, but not limited to, the global system for mobile communications (GSM), the enhanced GSM data environment (EDGE), multiple access by Broadband code division (W-CDMA), multiple code division access (CDMA), time division multiple access (TDMA), Bluetooth, wireless access (Wi-Fi) (for example, IEEE 802.11a , IEEE 802.11b, IEEE 802. llg and / or IEEE 802.11η), voice over IP protocol (VoIP), Wi-MAX, a protocol for email, instant messaging and / or short message service (SMS) or any another suitable communication protocol, including communication protocols not yet developed on the date of presentation of this document.
El sistema 114 de circuitos de audio, el altavoz 116 y el micrófono 118 proporcionan una interfaz de audio entre un usuario y el dispositivo 100. El sistema 114 de circuitos de audio recibe datos de audio de la interfaz 108 de periféricos, convierte los datos de audio en una señal eléctrica y transmite la señal eléctrica al altavoz 116. El altavoz convierte la seña eléctrica en ondas de sonido audibles para el ser humano. El sistema 114 de circuitos de audio también recibe señales eléctricas convertidas por el micrófono 116 a partir de ondas de sonido. El sistema 114 de circuitos de audio convierte la señal eléctrica en datos de audio y transmite los datos de audio a la interfaz 108 de periféricos para su procesamiento. Los datos de audio pueden recuperarse y/o transmitirse a la memoria 102 y/o al sistema 112 de circuitos de RF mediante la interfaz 108 de periféricos. En algunas realizaciones, el sistema 114 de circuitos de audio incluye también una conexión de auriculares (no mostrada) . La conexión de auriculares proporciona una interfaz entre el sistema 114 de circuitos de audio y periféricos de entrada/salida de audio desmontables, tales como auriculares de sólo salida o un auricular tanto de salida (auriculares para uno o ambos oídos) como de entrada (micrófono). The audio circuit system 114, the speaker 116 and the microphone 118 provide an audio interface between a user and the device 100. The audio circuit system 114 receives audio data from the peripheral interface 108, converts the data from audio in an electrical signal and transmits the electrical signal to the speaker 116. The speaker converts the electrical signal into audible sound waves for the human being. The audio circuit system 114 also receives electrical signals converted by the microphone 116 from sound waves. The audio circuit system 114 converts the electrical signal into audio data and transmits the audio data to the peripheral interface 108 for processing. Audio data can be retrieved and / or transmitted to memory 102 and / or RF circuit system 112 via peripheral interface 108. In some embodiments, audio circuit system 114 includes also a headphone connection (not shown). The headphone connection provides an interface between the system 114 of audio circuits and detachable audio input / output peripherals, such as a head-only headphone or a headphone both output (headphones for one or both ears) and input (microphone ).
El subsistema 120 de I/O proporciona la interfaz entre los periféricos de entrada/salida del dispositivo 100, tal como la pantalla 126 táctil y otros dispositivos 128 de entrada/control, y la interfaz 108 de periféricos. El subsistema 120 de I/O incluye un controlador 122 de pantalla táctil y uno o más controladores 124 de entrada para otros dispositivos de entrada o de control. El o los controladores 124 de entrada recibe (n) /envía (n) señales eléctricas desde/hacia otros dispositivos 128 de entrada o de control. Los otros dispositivos 128 de entrada/control pueden incluir botones físicos (por ejemplo botones pulsadores, botones basculantes, etc.), diales, conmutadores deslizantes, y/o medios de localización geográfica 201, como GPS o equivalentes. The I / O subsystem 120 provides the interface between the input / output peripherals of the device 100, such as the touch screen 126 and other input / control devices 128, and the peripheral interface 108. The I / O subsystem 120 includes a touch screen controller 122 and one or more input controllers 124 for other input or control devices. The input controller (s) 124 receives / sends (n) electrical signals from / to other input or control devices 128. The other input / control devices 128 may include physical buttons (e.g. push buttons, rocker buttons, etc.), dials, slide switches, and / or geographic location means 201, such as GPS or equivalent.
La pantalla 126 táctil en esta realización práctica proporciona tanto una interfaz de salida como una interfaz de entrada entre el dispositivo y un usuario. El controlador 122 de la pantalla táctil recibe/envía señales eléctricas desde/hacia la pantalla 126 táctil. La pantalla 126 táctil muestra la salida visual al usuario. La salida visual puede incluir texto, gráficos, vídeo y cualquiera de sus combinaciones. Parte o toda la salida visual puede corresponderse con objetos de interfaz de usuario, cuyos detalles adicionales se describen posteriormente. The touch screen 126 in this practical embodiment provides both an output interface and an input interface between the device and a user. The touch screen controller 122 receives / sends electrical signals from / to the touch screen 126. Touch screen 126 shows the visual output to the user. The visual output can include text, graphics, video and any of its combinations. Part or all of the visual output may correspond to user interface objects, the additional details of which are described later.
La pantalla 126 táctil también acepta entradas de usuario basándose en el contacto háptico o táctil. La pantalla 126 táctil forma una superficie sensible al contacto que acepta las entradas del usuario. La pantalla 126 táctil y el controlador 122 de la pantalla táctil (junto con cualquiera de los módulos asociados y/o conjuntos de instrucciones de la memoria 102) detecta el contacto (y cualquier movimiento o pérdida de contacto) sobre la pantalla 126 táctil y convierte el contacto detectado en interacción con los objetos de interfaz de usuario, tales como una o más teclas programables que se muestran en la pantalla táctil. En una realización a modo de ejemplo, un punto de contacto entre la pantalla 126 táctil y el usuario se corresponde con uno o más dedos del usuario. La pantalla 126 táctil puede utilizar tecnología LCD (pantalla de cristal líquido) o tecnología LPD (pantalla de polímero emisor de luz), aunque pueden utilizarse otras tecnologías de pantalla en otras realizaciones. La pantalla 126 táctil y el controlador 122 de pantalla táctil pueden detectar el contacto y cualquier movimiento o falta del mismo utilizando cualquiera de una pluralidad de tecnologías de sensibilidad de contacto, incluyendo, aunque no en sentido limitativo, tecnologías capacitivas, resistivas, de infrarrojos y de ondas acústicas de superficie, así como otras disposiciones de sensores de proximidad u otros elementos para determinar uno o más puntos de contacto con la pantalla 126 táctil. The touch screen 126 also accepts user inputs based on the haptic or touch contact. The touch screen 126 forms a contact-sensitive surface that accepts user inputs. The touch screen 126 and the touch screen controller 122 (together with any of the associated modules and / or instruction sets of memory 102) detects the contact (and any movement or loss of contact) on the touch screen 126 and converts the detected contact into interaction with the user interface objects, such as one or more programmable keys that are displayed on the touch screen. In an exemplary embodiment, a contact point between the touch screen 126 and the user corresponds to one or more fingers of the user. The touch screen 126 may use LCD technology (liquid crystal display) or LPD (light emitting polymer screen) technology, although other display technologies may be used in other embodiments. The touch screen 126 and the touch screen controller 122 can detect the contact and any movement or lack thereof using any of a plurality of contact sensitivity technologies, including, but not limited to, capacitive, resistive, infrared and of surface acoustic waves, as well as other arrangements of proximity sensors or other elements for determining one or more points of contact with the touch screen 126.
El dispositivo 100 también incluye un sistema 130 de alimentación para alimentar los diferentes componentes. El sistema 130 de alimentación puede incluir un sistema de gestión de energía, una o más fuentes de alimentación (por ejemplo baterías, corriente alterna (CA) ) , un sistema recargable, un circuito de detección de fallos de alimentación, un convertidor o inversor de energía, un indicador del estado de la energía (por ejemplo, un diodo emisor de luz (LED) ) y cualquier otro componente asociado con la generación, gestión y distribución de la energía en dispositivos portátiles . The device 100 also includes a feeding system 130 for feeding the different components. The power system 130 may include a power management system, one or more power supplies (e.g. batteries, alternating current (AC)), a rechargeable system, a power failure detection circuit, a converter or inverter. energy, an indicator of the energy status (for example, a light emitting diode (LED)) and any other component associated with the generation, management and distribution of energy in portable devices.
En algunas realizaciones, los componentes de software incluyen un sistema 132 operativo, un módulo 134 (o conjunto de instrucciones) de comunicación, un módulo 138 (o conjunto de instrucciones) de contacto/movimiento, un módulo 140 (o conjunto de instrucciones) gráfico, un módulo 144 (o conjunto de instrucciones) del estado de la interfaz de usuario y una o más aplicaciones 146 (o conjunto de instrucciones) . In some embodiments, the software components include an operating system 132, a communication module 134 (or instruction set), a contact / motion module 138 (or instruction set), a module 140 (or instruction set) graphic, a module 144 (or instruction set) of the status of the user interface and one or more applications 146 (or instruction set).
El sistema 132 operativo (por ejemplo, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, o un sistema operativo embebido), incluye diferentes componentes de software y/o controladores para controlar y gestionar las tareas generales del sistema (por ejemplo, la gestión de memoria, el control de los dispositivos de almacenamiento, la gestión de la energía, etc.) y facilita la comunicación entre los diferentes componentes del hardware y del software . The operating system 132 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system), includes different software components and / or controllers to control and manage general system tasks (e.g., memory management, control of storage devices, energy management, etc.) and facilitates communication between the different hardware and software components.
El módulo 134 de comunicación facilita la comunicación con otros dispositivos a través de uno o más puertos 148 externos e incluye también diferentes componentes de software para gestionar los datos recibidos por el sistema 112 de circuitos de RF y/o el puerto 148 externo. El puerto 148 externo (por ejemplo, un bus serie universal (USB), FIREWIRE, etc.) está adaptado para conectarse directamente a otros dispositivos o indirectamente a través de una red (por ejemplo, Internet, LAN inalámbricas, etc.) . The communication module 134 facilitates communication with other devices through one or more external ports 148 and also includes different software components to manage the data received by the RF circuit system 112 and / or the external port 148. The external port 148 (for example, a universal serial bus (USB), FIREWIRE, etc.) is adapted to connect directly to other devices or indirectly through a network (for example, Internet, wireless LANs, etc.).
El módulo 138 de contacto/movimiento detecta el contacto con la pantalla 126 táctil, junto con el controlador 122 de la pantalla táctil. El módulo 138 de contacto/movimiento incluye diferentes componentes de software para realizar diferentes operaciones relacionadas con la detección del contacto con la pantalla 126 táctil, tales como determinar si se ha producido el contacto, determinar si hay movimiento del contacto y realizar un seguimiento del movimiento a través de la pantalla táctil, y determinar si se ha interrumpido el contacto (es decir, si el contacto ha cesado) . La determinación del movimiento del punto de contacto puede incluir determinar la velocidad (magnitud) , la velocidad (magnitud y dirección) y/o la aceleración (incluyendo magnitud y/o dirección) del punto de contacto. En algunas realizaciones , el módulo 126 de contacto/movimiento y el controlador 122 de la pantalla táctil también detectan el contacto sobre la almohadilla táctil. The contact / motion module 138 detects contact with the touch screen 126, together with the touch screen controller 122. The contact / motion module 138 includes different software components to perform different operations related to the detection of the contact with the touch screen 126, such as determining if the contact has occurred, determining if there is movement of the contact and tracking the movement through the touch screen, and determine if the contact has been interrupted (that is, if the contact has ceased). The determination of the movement of the contact point may include determining the speed (magnitude), the speed (magnitude and direction) and / or the acceleration (including magnitude and / or direction) of the contact point. In some embodiments, the touch / motion module 126 and the touch screen controller 122 also detect the contact on the touch pad.
El módulo 140 gráfico incluye diferentes componentes de software conocidos para mostrar y visualizar gráficos en la pantalla 126 táctil. Obsérvese que el término "gráficos" incluye cualquier objeto que pueda mostrarse a un usuario incluyendo, aunque no en sentido limitativo, texto, páginas Web, iconos (tales como objetos de interfaz de usuario que incluyan teclas programables ) , imágenes digitales, videos, animaciones y similares. The graphic module 140 includes different known software components for displaying and displaying graphics on the touch screen 126. Note that the term "graphics" includes any object that can be displayed to a user including, but not limited to, text, Web pages, icons (such as user interface objects that include programmable keys), digital images, videos, animations and the like
En algunas realizaciones, el módulo 140 gráfico incluye un módulo 142 de intensidad óptica. El módulo 142 de intensidad óptica controla la intensidad óptica de los objetos gráficos, tales como los objetos de interfaz de usuario, mostrados en la pantalla 126 táctil. El control de la intensidad óptica puede incluir el aumento o la disminución de la intensidad óptica de un objeto gráfico. En algunas realizaciones, el aumento o la disminución pueden seguir funciones predeterminadas . In some embodiments, the graphic module 140 includes an optical intensity module 142. The optical intensity module 142 controls the optical intensity of graphic objects, such as user interface objects, shown on the touch screen 126. The control of the optical intensity may include the increase or decrease of the optical intensity of a graphic object. In some embodiments, the increase or decrease may follow predetermined functions.
El módulo 144 de estado de interfaz de usuario controla el estado de la interfaz de usuario del dispositivo 100. El módulo 144 de estado de interfaz de usuario puede incluir un módulo 150 de bloqueo y un módulo 152 de desbloqueo. El módulo de bloqueo detecta la satisfacción de cualquiera de una o más condiciones para efectuar la transición del dispositivo 100 a un estado bloqueado de la interfaz de usuario y para efectuar la transición del dispositivo 100 al estado bloqueado. El módulo de desbloqueo detecta la satisfacción de cualquiera de una o más condiciones para efectuar la transición del dispositivo a un estado desbloqueado de la interfaz de usuario y para efectuar la transición del dispositivo 100 al estado desbloqueado. The user interface status module 144 controls the status of the user interface of the device 100. The user interface status module 144 may include a lock module 150 and an unlock module 152. The blocking module detects the satisfaction of any one or more conditions for transitioning the device 100 to a locked state of the user interface and for making the transition of the device 100 to the locked state. The unlocking module detects the satisfaction of any one or more conditions for transitioning the device to an unlocked state of the user interface and for transitioning the device 100 to the unlocked state.
La aplicación o aplicaciones 130 puede (n) incluir cualquier aplicación instalada en el dispositivo 100, incluyendo, aunque no en sentido limitativo, un navegador, una agenda de direcciones, una lista de contactos, correo electrónico, mensajería instantánea, procesamiento de textos, emulaciones de teclado, objetos gráficos, aplicaciones JAVA, encriptación, gestión de derechos digitales, reconocimiento de voz, replicación de voz, capacidad de determinación de la posición (tal como la proporcionada por el sistema de posicionamiento global (GPS)), un reproductor de música (que reproduce música grabada almacenada en uno o más archivos, tales como archivos MP3 o AAC) , etc. The application or applications 130 may (n) include any application installed on device 100, including, but not limited to, a browser, address book, contact list, email, instant messaging, word processing, keyboard emulations, graphic objects, JAVA applications, encryption, digital rights management, voice recognition, voice replication, ability to determine position (such as that provided by the global positioning system (GPS)), a music player (which plays recorded music stored in one or more files , such as MP3 or AAC files), etc.
En algunas realizaciones, el dispositivo 100 puede incluir uno o más sensores ópticos opcionales (no mostrados), tales como sensores de imágenes CMOS o CCD 200, para su uso en aplicaciones para la formación de imágenes . In some embodiments, the device 100 may include one or more optional optical sensors (not shown), such as CMOS or CCD 200 image sensors, for use in imaging applications.
No obstante, la estructura de hardware indicada es una de las posibles y se ha de tener en cuenta que el dispositivo 100 puede incluir otros elementos de captura de imágenes como, cámara, escáner, trazador láser o la combinación de cualquiera de estos tipos de dispositivos, que puedan proporcionar al dispositivo móvil la representación del entorno real en formato de video, secuencia de imágenes, formato vectorial o cualquier tipo de combinación de los formatos citados . However, the indicated hardware structure is one of the possible ones and it should be taken into account that the device 100 may include other image capture elements such as, camera, scanner, laser plotter or the combination of any of these types of devices , which can provide the mobile device with the representation of the real environment in video format, image sequence, vector format or any combination of the aforementioned formats.
Del mismo modo, el dispositivo 100 puede incluir dispositivos de localización geográfica basados en las redes de satélites de posicionamiento GPS, dispositivos de ayuda a la localización geográfica basados en las redes de satélites GPS y localización IP de redes de internet -AGPS-, dispositivos de localización geográfica basados en la triangulación de señales de radio proporcionadas por antenas WIFI y dispositivos Bluetooth® (ISSP), la combinación de cualquiera de estos dispositivos citados o cualquier tipo de dispositivo que permita proporcionar al dispositivo móvil datos numéricos de su localización geográfica. El dispositivo 100 puede incluir cualquier tipo de elemento capaz de representar imágenes en tiempo real con un mínimo de 24 FPS (Frames Per Second, imágenes por segundo) como, pantallas TFT, TFT-LED, TFT-OLED, TFT-Retina, la combinación de cualquiera de las anteriores, además de pantallas de nueva generación Holo-TFT, transparentes y Micro-Proyectores o cualquier dispositivo de representación gráfica que pueda proporcionar al dispositivo móvil 100 una forma de representar contenidos visuales al usuario. Similarly, the device 100 may include geographic location devices based on GPS positioning satellite networks, geographical location aid devices based on GPS satellite networks and IP location of internet networks -AGPS-, devices geographical location based on the triangulation of radio signals provided by WIFI antennas and Bluetooth® devices (ISSP), the combination of any of these devices mentioned or any type of device that allows to provide the mobile device with numerical data of its geographical location. The device 100 can include any type of element capable of representing images in real time with a minimum of 24 FPS (Frames Per Second, images per second) such as, TFT, TFT-LED, TFT-OLED, TFT-Retina screens, the combination of any of the above, in addition to new generation Holo-TFT, transparent and Micro-Projector screens or any graphic representation device that can provide the mobile device 100 with a way of representing visual content to the user.
El dispositivo 100 incluye un procesador o conjunto de procesadores que por sí mismos o en combinación con procesadores gráficos como GPU (Graphics Processing Unit, unidad de proceso gráfico) o APU (Accelerated Processing Unit, unidad de procesamiento acelerado) puedan proporcionar al dispositivo móvil 100 la capacidad de representar, en tiempo de ejecución real, gráficos vectoriales y conformar polígonos texturizados con estos, a través de librerías de representación vectorial (conjuntos de procedimientos estandarizados de representación gráfica para distintas plataformas) como, OpenGL, DirectX ó cualquier tipo de librerías destinadas a este cometido. The device 100 includes a processor or set of processors that by themselves or in combination with graphic processors such as GPU (Graphics Processing Unit) or APU (Accelerated Processing Unit) can provide the mobile device 100 the ability to represent, in real execution time, vector graphics and form textured polygons with them, through vector representation libraries (sets of standardized graphic representation procedures for different platforms) such as, OpenGL, DirectX or any type of libraries intended To this task.
Con referencia ahora a la figura 2, se describe de forma breve, general, de un entorno informático apropiado (un ordenador personal) en el cual pueden ser implementadas formas de realización de la invención. Aunque la invención se describirá dentro del contexto general de módulos de programa que ejecutan en sistemas informáticos de servidor y dispositivos móviles 100, los expertos en la materia advertirán que la invención puede, así mismo, ser implementada en combinación con otros tipos de sistemas informáticos y de módulos de programa. With reference now to Figure 2, a brief, general description of an appropriate computing environment (a personal computer) in which embodiments of the invention can be implemented is briefly described. Although the invention will be described within the general context of program modules that run on server computer systems and mobile devices 100, those skilled in the art will warn that the invention can also be implemented in combination with other types of computer systems and of program modules.
En términos generales, los módulos de programa incluyen rutinas, programas , componentes, estructuras de datos y otros tipos de estructuras que llevan a cabo tareas específicas o implementan tipos de datos abstractos específicos. La invención puede, así mismo, llevarse a la práctica en entornos informáticos distribuidos en los que las tareas se lleven a cabo mediante dispositivos de procesamiento a distancia que estén enlazados mediante una red de comunicaciones. En un entorno informático distribuido, los módulos de programa pueden estar situados tanto en dispositivos locales como en dispositivos de almacenamiento de memoria a distancia. Generally speaking, program modules include routines, programs, components, data structures and other types of structures that perform specific tasks or implement specific abstract data types. The invention can also be carried out in distributed computing environments in which the tasks are carried out by means of remote processing devices that are linked through a communications network. In a distributed computing environment, the program modules can be located both in local devices and in remote memory storage devices.
Con referencia ahora a la figura 2 se describirá una arquitectura ilustrativa de computadora para una computadora 2 utilizada en las diversas formas de realización de la invención. La arquitectura de computadora, mostrada en la figura 2 ilustra una computadora de escritorio o portátil convencional y que también puede ser utilizada como servidor, que incluye una unidad de procesamiento central 5 (CPU) , una memoria 7 del sistema, que incluye una memoria de acceso aleatorio 9 (RAM) y una memoria de solo lectura (ROM) 11, y un bus 12 del sistema que acopla la memoria a la CPU 5. Un sistema básico de entrada / salida que contiene las rutinas básicas que ayudan a transferir información entre los elementos situados en la computadora, como por ejemplo durante el inicio, está almacenado en la ROM 11. La computadora 2 incluye así mismo un dispositivo 14 de almacenamiento masivo para almacenar un sistema operativo 16, programas de aplicación y otros módulos de programa, los cuales se describirán con mayor detalle en las líneas que siguen. Referring now to Figure 2, an illustrative computer architecture for a computer 2 used in the various embodiments of the invention will be described. The computer architecture, shown in Figure 2 illustrates a conventional desktop or portable computer and can also be used as a server, which includes a central processing unit 5 (CPU), a system memory 7, which includes a memory of random access 9 (RAM) and a read-only memory (ROM) 11, and a system bus 12 that couples the memory to the CPU 5. A basic input / output system that contains the basic routines that help transfer information between The elements located on the computer, such as during startup, are stored in ROM 11. Computer 2 also includes a mass storage device 14 for storing an operating system 16, application programs and other program modules, which will be described in greater detail in the following lines.
El dispositivo 14 de almacenamiento masivo está conectado a la CPU 5 mediante un controlador de almacenamiento masivo (no mostrado) conectado al bus 12. El dispositivo 14 de almacenamiento masivo y sus medios legibles por computadora asociados proporcionan un almacenamiento no volátil a la computadora 2. Aunque la descripción de los medios legibles por computadora contenidos en la presente memoria se refieren a un dispositivo de almacenamiento masivo, como por ejemplo un disco duro o a una unidad de CD-ROM, debe apreciarse, por parte de los expertos en la materia, que los medios legibles por computadora puede ser cualesquiera medios a los que se pueda acceder mediante la computadora 2. The mass storage device 14 is connected to the CPU 5 via a mass storage controller (not shown) connected to the bus 12. The mass storage device 14 and its associated computer-readable media provide non-volatile storage to the computer 2. Although the description of the computer-readable media contained herein refers to a mass storage device, such as a hard disk or a CD-ROM drive, it should be appreciated, by those skilled in the art, that computer-readable media can be any media that can be accessed by computer 2.
A modo de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender unos medios de almacenamiento en computadora y unos medios de comunicación. Los medios de almacenamiento en computadora incluyen unos medios volátiles y no volátiles, extraibles y no extraibles implementados en cualquier procedimiento o técnica para el almacenamiento de información, como por ejemplo instrucciones legibles por computadora, estructuras de datos, módulos de programas u otros datos. Los medios de almacenamiento en computadora incluyen, pero no se limitan a, las memorias RAM, ROM, EPROM, EEPROM, la memoria flash u otras técnicas de memoria de estado sólido, CD-ROM, discos versátiles digitales (DVD) u otros dispositivos de almacenamiento ópticos, casetes magnéticas, cintas magnéticas, dispositivos de almacenamiento de discos magnéticos u otros dispositivos magnéticos de almacenamiento o cualquier otro medio que pueda ser utilizado para almacenar la información deseada y al que se pueda acceder mediante la computadora 2. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information, such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid-state memory techniques, CD-ROMs, digital versatile disks (DVDs) or other storage devices. optical storage, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices or any other means that can be used to store the desired information and that can be accessed by computer 2.
De acuerdo con diversas formas de realización de la invención, la computadora 2 puede operar en un entorno de conexión en red utilizando conexiones lógicas con computadoras a distancia mediante una red 18, como por ejemplo Internet. La computadora 2 puede conectar con la red 18 a través de una unidad 20 de interfaz con la red conectada al bus 12. Debe apreciarse que la unidad 20 de interfaz con la red puede, asi mismo, ser utilizada para conectar con otros tipos de redes y de sistemas informáticos distantes. La computadora 2 puede, asi mismo, incluir un controlador 22 de entrada / salida para la recepción y procesamiento de una entrada procedente de una pluralidad de otros dispositivos, incluyendo un teclado, o una tableta de entrada de datos (no mostrado en la figura 2) . De modo similar, un controlador 22 de entrada / salida puede proporcionar una salida a una pantalla de visualización, una impresora, u otro tipo de dispositivo de salida . According to various embodiments of the invention, the computer 2 can operate in a networked connection environment using logical connections with remote computers via a network 18, such as the Internet. The computer 2 can connect to the network 18 through an interface unit 20 with the network connected to the bus 12. It should be appreciated that the interface unit 20 with the network can also be used to connect with other types of networks and from distant computer systems. The computer 2 may also include an input / output controller 22 for receiving and processing an input from a plurality of other devices, including a keyboard, or an input tablet of data (not shown in figure 2). Similarly, an input / output controller 22 may provide an output to a display screen, a printer, or other type of output device.
Tal y como se indicó con brevedad en las lineas anteriores, una pluralidad de módulos de programa y de archivos de datos puede estar almacenada en el dispositivo 14 de almacenamiento masivo y en la RAM 9 de la computadora 2, incluyendo un sistema operativo 16 apropiado para el control del funcionamiento de la computadora personal conectada en red, como por ejemplo el sistema operativo WINDOWS® de MICROSOFT CORPORATION®. El dispositivo 14 de almacenamiento masivo y la RAM 9 pueden, asi mismo, almacenar uno o más módulos de programa. En particular, el dispositivo 14 de almacenamiento masivo y la RAM 9 pueden almacenar un programa 10 de aplicación de explorador Web. Tal y como conocen los expertos en la materia, el programa 10 de aplicación de explorador Web es operativo para solicitar, recibir, reproducir y proporcionar interactividad con documentos electrónicos, como por ejemplo una página Web 24 que haya sido formateada utilizando el HTML. Asi mismo, el programa 10 de aplicación de explorador Web puede ser operativo para ejecutar directivas contenidas en la página Web 24, como por ejemplo directivas utilizando el lenguaje JAVASCRIPT de SUN MICROSYSTEMS, INC. De acuerdo con una forma de realización de la invención, el programa 10 de aplicación de explorador Web comprende EL programa de aplicación de explorador Web INTERNET EXPLORER de MICROSFOT CORPORATION. Debe apreciarse, sin embargo, que pueden ser utilizados otros programas de aplicación de explorador Web procedentes de otros fabricantes para materializar los diversos aspectos de la presente invención, como por ejemplo la aplicación de explorador Web FIREFOX de MOZILLA FOUNDATION. As indicated briefly in the previous lines, a plurality of program modules and data files may be stored in the mass storage device 14 and in the RAM 9 of the computer 2, including an operating system 16 suitable for the control of the operation of the networked personal computer, such as the MICROSOFT CORPORATION® WINDOWS® operating system. The mass storage device 14 and the RAM 9 can also store one or more program modules. In particular, the mass storage device 14 and the RAM 9 can store a Web browser application program 10. As those skilled in the art know, the Web browser application program 10 is operative to request, receive, reproduce and provide interactivity with electronic documents, such as a Web page 24 that has been formatted using HTML. Likewise, the Web browser application program 10 can be operative to execute directives contained in the Web page 24, such as directives using the JAVASCRIPT language of SUN MICROSYSTEMS, INC. According to an embodiment of the invention, the Web browser application program 10 comprises THE INTERNET EXPLORER Web browser application program of MICROSFOT CORPORATION. It should be appreciated, however, that other Web browser application programs from other manufacturers can be used to materialize the various aspects of the present invention, such as the FIREFOX Web browser application of MOZILLA FOUNDATION.
En particular, la página Web 24 puede incluir un HTML y unas directivas las cuales, cuando se representan mediante la aplicación 10 del explorador Web, proporcionan una representación visual de un programa o programas almacenados en la computadora 2. Asi mismo, las directivas incluidas en la página Web 24 hacen posible que un usuario de la computadora interactúe con la representación suministrada por la aplicación 10 del explorador Web y modificar la aplicación 10. In particular, the Web page 24 can include an HTML and directives which, when represented by the application 10 of the Web browser, provide a representation visual of a program or programs stored in the computer 2. Likewise, the directives included in the Web page 24 make it possible for a user of the computer to interact with the representation provided by the application 10 of the Web browser and modify the application 10.
Tal y como se puede observar en la figura 3, el sistema objeto de la invención comprende un dispositivo móvil 100, un computador 2, un puntero láser 300 y un proyector 400, de tal forma que el proyector está conectado y mostrando una presentación con diapositivas sobre una proyección 401. As can be seen in Figure 3, the system object of the invention comprises a mobile device 100, a computer 2, a laser pointer 300 and a projector 400, such that the projector is connected and showing a slide show on a projection 401.
El usuario, es decir, el presentador de las diapositivas, posteriormente dibujará cualquier objeto en la proyección 401 con el puntero láser 300 y mientras que se realizan los dibujos, el dispositivo móvil 100 está reconociendo los puntos que están siendo dibujados. The user, that is, the presenter of the slides, will subsequently draw any object in the projection 401 with the laser pointer 300 and while the drawings are made, the mobile device 100 is recognizing the points that are being drawn.
Dependiendo de las distintas configuraciones, el dispositivo móvil 100 envía los puntos reconocidos a un servidor, es decir a una computadora 2 que recibe dichos puntos y procesa la información para reconocer las diferentes formas dibujadas, procesando dicha información y: Depending on the different configurations, the mobile device 100 sends the recognized points to a server, that is to a computer 2 that receives said points and processes the information to recognize the different shapes drawn, processing said information and:
a) Procesando dicha información y modificando la presentación; o  a) Processing said information and modifying the presentation; or
b) Enviando dicha información a las computadoras (2', 2'') de los oyentes de la presentación, donde quedarán grabadas las formas dibujadas sobre el archivo que está siendo representado en la proyección 401.  b) Sending said information to the computers (2 ', 2' ') of the listeners of the presentation, where the forms drawn on the file that is being represented in projection 401 will be recorded.
Este es el comportamiento estándar de la aplicación, y que consiste en la perfecta integración de todos los sistemas . El sistema opera en tiempo real, por lo tanto, la velocidad de conexión y la estabilidad y la rapidez de procesamiento juegan un papel importante. A continuación se describe en detalle cada una de las partes que hace posible el funcionamiento general descrito en la figura 3. This is the standard behavior of the application, and that is the perfect integration of all systems. The system operates in real time, therefore, connection speed and stability and processing speed play an important role. Each one is described in detail below. of the parts that make the general operation described in Figure 3 possible.
Para el normal funcionamiento del sistema, el dispositivo móvil (100) comprende un programa o programas (132 a 146) en el que dichos programas (132 a 146) están almacenados en la memoria 102 y configurados para ejecutarse mediante el o los procesadores 106 y donde los programas comprenden instrucciones para: For normal operation of the system, the mobile device (100) comprises a program or programs (132 to 146) in which said programs (132 to 146) are stored in the memory 102 and configured to be executed by means of the processor (s) 106 and where the programs include instructions for:
Configurar sus comunicaciones y funcionamiento; Configure your communications and operation;
Calibrar la captura de imágenes;  Calibrate image capture;
Capturar la proyección de un puntero láser (300) sobre una proyección 401 que a su vez proyecta unas imágenes procedentes de un proyector 400 conectado con una computadora 2;  Capture the projection of a laser pointer (300) on a projection 401 which in turn projects images from a projector 400 connected to a computer 2;
Reconocer las imágenes capturadas en la etapa (c);  Recognize the images captured in step (c);
Comunicar a una computadora 2 las imágenes reconocidas en la etapa (d) .  Communicate to a computer 2 the images recognized in step (d).
Configuración de comunicaciones y funcionamiento Communications and operation configuration
La configuración de las comunicaciones y el funcionamiento permite que el usuario tenga varias formas de usar la aplicación y elegir el que se adapte mejor a su situación real. Asi pues, el usuario del dispositivo móvil (100) normalmente la persona que presenta las diapositivas, puede elegir si quiere usar WIFI o Bluetooth. Por defecto, el sistema entiende que un usuario normal no puede conocer las condiciones de la red con antemano, por lo tanto se recomienda que cada vez que hay WI-FI disponible para trabajar con la conexión WIFI. Cuando el cliente tiene problemas para conectarse a Internet entonces el dispositivo móvil (100) utilizará la conexión Bluetooth. The configuration of communications and operation allows the user to have several ways to use the application and choose the one that best suits their real situation. Thus, the user of the mobile device (100) normally the person presenting the slides, can choose whether to use WIFI or Bluetooth. By default, the system understands that a normal user cannot know the network conditions in advance, therefore it is recommended that whenever there is Wi-Fi available to work with the WIFI connection. When the client has trouble connecting to the Internet then the mobile device (100) will use the Bluetooth connection.
En todo caso, el usuario indica al dispositivo móvil (100) como conectarse con la computadora (2) . La conexión puede ser además, en tiempo real, donde el usuario decide si mientras está pintando con el puntero láser 300 los puntos se muestran automáticamente al mismo tiempo que se dibuja la forma en la proyección 401. Si esta opción está marcada no es posible ninguna clase de aprendizaje automático. El usuario se sentirá como que está dibujando con un bolígrafo en el proyector 400. In any case, the user tells the mobile device (100) how to connect to the computer (2). The connection can also be, in real time, where the user decides if while painting with the laser pointer 300 the dots are automatically displayed at the same time as the shape is drawn in projection 401. If this option is checked, no option is possible. machine learning class. The user will feel like he is drawing with a pen on the projector 400.
El usuario tiene la opción de seleccionar si quiere que el dispositivo móvil tenga aprendizaje automático basado en lógica difusa. Con esta opción marcada el dispositivo móvil 100 trata de descifrar lo que se está dibujando sin errores. Es decir, si reconoce una forma circular, lo que hace es corregir la imperfección propia del dibujo a mano alzada, dibujando un círculo perfecto . The user has the option to select if he wants the mobile device to have machine learning based on fuzzy logic. With this option checked, the mobile device 100 tries to decipher what is being drawn without errors. That is, if you recognize a circular shape, what you do is correct the imperfection of the freehand drawing, drawing a perfect circle.
Calibración Calibration
El reconocimiento de los puntos que el usuario dibuja en tiempo real sobre la proyección 401 se muestra en la figura 4. Antes de llegar a una solución definitiva se exploraron diversas posibilidades, como por ejemplo, tratar de emplear el color del puntero láser 300 en una escala RGB. No obstante, la distorsión del color hace imposible utilizar este camino. Así, la mejor opción resulta de aprovechar el brillo del puntero láser 300 para reconocer los puntos deseados. Este proceso está estructurado en dos fases: calibración y reconocimiento. The recognition of the points that the user draws in real time on the projection 401 is shown in Figure 4. Before reaching a definitive solution, various possibilities were explored, such as trying to use the color of the laser pointer 300 in a RGB scale However, color distortion makes it impossible to use this path. Thus, the best option is to take advantage of the brightness of the laser pointer 300 to recognize the desired points. This process is structured in two phases: calibration and recognition.
El flujo básico de datos consiste en: (i) calibrar la cámara 200 del dispositivo móvil 100, permaneciendo posteriormente en modo reconocimiento hasta que finaliza el usuario en el botón de finalización; y (ii) en la fase de reconocimiento se buscan los puntos hasta que son detectados cada uno de ellos y enviados a la computadora 2. Se ha indicado que el reconocimiento se realiza a través del reconocimiento del brillo del puntero láser 300. El brillo es una expresión relativa de la intensidad de la energía producida por una fuente de luz visible. Se puede expresar como un valor de energía total (diferente para cada una de las curvas en el diagrama) , o como la amplitud en la longitud de onda donde la intensidad es mayor (idéntico para las tres curvas) . En el modelo de color RGB, las amplitudes de rojo, verde y azul para un color particular puede cada rango de 0 a 100 por ciento de la plena brillantez. La gama de números decimales de 0 a 255, o números hexadecimales de 00 a FF representa estos niveles. The basic data flow consists of: (i) calibrating the camera 200 of the mobile device 100, then remaining in recognition mode until the user finishes on the end button; and (ii) in the recognition phase the points are searched until they are detected and sent to computer 2. It has been indicated that the recognition is done through the recognition of the brightness of the laser pointer 300. The brightness is a relative expression of the intensity of the energy produced by a visible light source. It can be expressed as a total energy value (different for each of the curves in the diagram), or as the amplitude in the wavelength where the intensity is greater (identical for the three curves). In the RGB color model, the amplitudes of red, green and blue for a particular color can each range from 0 to 100 percent of full brightness. The range of decimal numbers from 0 to 255, or hexadecimal numbers from 00 to FF represents these levels.
Para ser capaz de reconocer el brillo de un punto láser, que es normalmente más alto que cualquier otro valor, el dispositivo móvil (100) ha de analizar en primer lugar la escena y buscar qué puntos son los más brillantes. Posteriormente, para escalar los puntos localizados correctamente, el dispositivo móvil 100 tiene que saber cuáles son las cuatro esquinas de la proyección 401 de proyección . To be able to recognize the brightness of a laser point, which is normally higher than any other value, the mobile device (100) must first analyze the scene and find out which points are the brightest. Subsequently, in order to scale the correctly located points, the mobile device 100 has to know which are the four corners of the projection 401.
Todo esto se logra en esta etapa de calibración tal y como se explica a continuación: i. La primera calibración busca el punto más brillante de la escena. Esto se llama barrera de brillo. All this is achieved in this calibration stage as explained below: i. The first calibration looks for the brightest point in the scene. This is called the brightness barrier.
ii. En una segunda calibración se buscan las cuatro esquinas de la proyección en la proyección 401 para poder escalar los puntos correctamente.  ii. In a second calibration, the four corners of the projection in the projection 401 are searched to be able to scale the points correctly.
En la figura 5 se muestra el diagrama de flujo de la etapa de calibración. Como se ha indicado, si la barrera de brillo supera los 255 entonces se lanzará un mensaje de error. The flowchart of the calibration stage is shown in Figure 5. As indicated, if the brightness barrier exceeds 255 then an error message will be thrown.
Como se ha indicado anteriormente, en la primera calibración se busca el punto más brillante de la escena y se establece un brillo de barrera para el futuro reconocimiento de los puntos . El proceso de reconocimiento no avanza hasta que se encuentre un valor válido de brillo de barrera. El proceso de calibración analiza el valor del brillo en cada pixel. As indicated above, in the first calibration you Look for the brightest point in the scene and establish a barrier brightness for the future recognition of the points. The recognition process does not proceed until a valid barrier brightness value is found. The calibration process analyzes the brightness value in each pixel.
Cuando el punto de brillo real es más alto que el valor guardado el valor de brillo máximo se actualiza y se guarda la posición del índice. La matriz de píxeles recibida tiene cada posición almacenada en orden desde la trama original, primera posición (fila 0 (x0), la columna 0 (y0)) hasta que la última posición (ancho de la fila, altura de la columna) . Es por eso que el tamaño de la matriz es el tamaño de la cámara (ancho * altura) . Este valor es necesario para normalizar los datos de posición indexados . Solo puede comenzar la segunda fase de la calibración con el punto de mayor brillo correctamente localizado y normalizado . When the actual brightness point is higher than the saved value, the maximum brightness value is updated and the index position is saved. The received pixel matrix has each position stored in order from the original frame, first position (row 0 (x0), column 0 (y0)) until the last position (row width, column height). That is why the size of the matrix is the size of the camera (width * height). This value is necessary to normalize indexed position data. Only the second phase of the calibration can begin with the brightest spot correctly located and normalized.
El proceso finaliza cuando se alcanza el final de la matriz y se ha obtenido el brillo máximo. En este momento la primera fase de la calibración ha terminado y no se repite hasta que todo el proceso de reconocimiento ha terminado. The process ends when the end of the matrix is reached and the maximum brightness has been obtained. At this time the first phase of the calibration is over and is not repeated until the entire recognition process is over.
Uno de los problemas que aparecen en la primera fase de la calibración es cuando existe un punto muy brillante en la proyección 401 que es superior incluso al brillo del puntero láser 300, lo que hace que no pueda reconocerse. Por ello es necesario que la calibración continúe incluso en el caso de que haya más de un pixel excesivamente brillante. En este caso, el dispositivo móvil 100 básicamente busca puntos donde el brillo exceda un valor de 256 (la barrera para el puntero láser 300) y descarta esos puntos como barrera de brillo y, por tanto, no son almacenados en la matriz . Este método de corrección comprende las siguientes etapas : i. Obtener los puntos que superan la barrera de brillo y guardarlos en una segunda matriz. One of the problems that appear in the first phase of the calibration is when there is a very bright spot in the projection 401 that is even greater than the brightness of the laser pointer 300, which makes it impossible to recognize. Therefore, it is necessary for the calibration to continue even if there is more than one excessively bright pixel. In this case, the mobile device 100 basically looks for points where the brightness exceeds a value of 256 (the barrier for the laser pointer 300) and discards those points as a brightness barrier and, therefore, they are not stored in the matrix. This correction method comprises the following stages: i. Obtain the points that exceed the brightness barrier and store them in a second matrix.
ii. Aplicar un algoritmo de identificación a la segunda matriz para agrupar los puntos juntos en pequeños trozos iii . Crear un rectángulo pequeño evitable en la segunda fase de la calibración.  ii. Apply an identification algorithm to the second matrix to group the points together into small pieces iii. Create an avoidable small rectangle in the second phase of the calibration.
El algoritmo de identificación (tipo DBSCA http : //en. wikipedia . org /wiki/DBSCi¾N) puede identificar grupos o clúster en grandes conjuntos de datos espaciales mirando la densidad local de los elementos de una base de datos, utilizando sólo un parámetro de entrada. Además, el usuario obtiene una sugerencia sobre qué valor de parámetro seria el adecuado. Por lo tanto, se requiere un mínimo conocimiento del dominio. El algoritmo también puede determinar qué información debe ser clasificada como el ruido o los valores extremos. A pesar de esto, su proceso de trabajo es rápido y escalas muy bien con el tamaño de la base de datos - casi linealmente. La idea es agrupar los diferentes puntos que exceden la barrera brillo y agruparlas en rectángulos . Este rectángulo será utilizado posteriormente en la segunda fase de la calibración y en la fase de reconocimiento. The identification algorithm (type DBSCA http: // in. Wikipedia. Org / wiki / DBSCi¾N) can identify groups or clusters in large spatial data sets by looking at the local density of the elements of a database, using only one parameter of entry. In addition, the user gets a suggestion about which parameter value would be appropriate. Therefore, a minimum knowledge of the domain is required. The algorithm can also determine what information should be classified as noise or extreme values. Despite this, its work process is fast and scales very well with the size of the database - almost linearly. The idea is to group the different points that exceed the brightness barrier and group them into rectangles. This rectangle will be used later in the second phase of the calibration and in the recognition phase.
La segunda fase de la calibración consiste en la división de una escena cualquiera en varios rectángulos de igual tamaño, i.e. la misma cantidad de píxeles, donde solo las esquinas tienen un color diferenciado, mientras que el resto de la escena es blanca. Esta escena, lógicamente, se proporciona mediante el computador 2, que proyecta esta imagen sobre la proyección 401. El valor medio de RGB del rectángulo creado es entonces computado. El algoritmo, posteriormente, obtiene el valor RGB de cada rectángulo y todos los valores medios son restados el uno del otro utilizando la función de valor absoluto. The second phase of the calibration consists of the division of any scene into several rectangles of equal size, i.e. the same amount of pixels, where only the corners have a differentiated color, while the rest of the scene is white. This scene, logically, is provided by computer 2, which projects this image on projection 401. The average RGB value of the created rectangle is then computed. The algorithm subsequently obtains the RGB value of each rectangle and all average values are subtracted from each other using the absolute value function.
Todas las diferencias son entonces almacenadas en una matriz con su posición original. Esta matriz es almacenada usando el algoritmo QuickSort (http : //'en . wikipedia . org/wiki/Quicksort ) dado que es la solución más rápida. All differences are then stored in a matrix with their original position. This matrix is stored using the QuickSort algorithm (http: // 'in. wikipedia. org / wiki / Quicksort) since it is the fastest solution.
Después de que la calibración esté completa, las cuatro esquinas localizadas se inicializan y se guardan para la sesión de reconocimiento. Dado que se presume que el dispositivo móvil (100) está en posición estacionaria, los parámetros de la calibración no cambiarán durante toda la presentación siempre que esta se mantenga dentro del rectángulo de proyección que coincidirá en tamaño con el rectángulo descrito en la segunda fase de la calibración . After the calibration is complete, the four located corners are initialized and saved for the recognition session. Since it is presumed that the mobile device (100) is in a stationary position, the calibration parameters will not change during the entire presentation as long as it remains within the projection rectangle that will coincide in size with the rectangle described in the second phase of Calibration
Reconocimiento de puntos Point Recognition
El proceso de reconocimiento de puntos comienza tras la finalización de la fase de calibración. Como se dijo antes, cuando el segundo proceso de calibración termina, un rectángulo aparecerá con cuatro esquinas. A partir de ahora, no se reconocerá ningún punto fuera de esto cuatro esquinas. Esto se logra durante el análisis de los pixeles con el método siguiente. The point recognition process begins after the end of the calibration phase. As stated before, when the second calibration process ends, a rectangle will appear with four corners. As of now, no point outside this will be recognized four corners. This is achieved during pixel analysis with the following method.
Los parámetros (xl, yl ) (x2, y2 ) (x3, y3 ) (x4, y ) corresponden a las 4 esquinas. El método recibe la posición de la matriz y la transforma en (x, y) valores reales. Si el punto está en el interior, la función devuelve "true", si no "false". The parameters (xl, yl) (x2, y2) (x3, y3) (x4, y) correspond to the 4 corners. The method receives the position of the matrix and transforms it into (x, y) real values. If the point is inside, the function returns "true", if not "false".
Como se ha descrito antes, si un punto es demasiado brillante durante el proceso de calibración, dicho punto se añade a la matriz de puntos ciegos. Una vez más, durante el proceso de reconocimiento, esos puntos serán ignorados y nada se pueden extraer en esos puntos. Esto puede sonar muy mal, pero en realidad la prueba muestra que los puntos ciegos son mínimos, no más de tres por escena, por lo tanto, en casi dos millones de pixeles (1080 * 1440) que no afecta mucho. As described above, if a point is too bright during the calibration process, that point is added to the blind spot matrix. Again, during the recognition process, those points will be ignored and nothing can be extracted at those points. This may sound very bad, but in reality the test shows that the blind spots are minimal, no more than three per scene, therefore, in almost two million pixels (1080 * 1440) that does not affect much.
Los puntos ciegos son ignorados cuando se encuentran fuera de las cuatro esquinas de la pantalla del proyector 401, esto ahorra el algoritmo de una gran cantidad de tiempo de procesamiento. Blind spots are ignored when they are outside the four corners of the projector screen 401, this saves the algorithm a lot of processing time.
Si el punto de reconocido no es ni un punto ciego, ni un punto exterior, el punto se acepta como válida y se almacena en una matriz de puntos aceptados. Hay dos modos de funcionamiento: el reconocimiento en tiempo real y el reconocimiento con la lógica difusa . If the recognized point is neither a blind spot nor an outside point, the point is accepted as valid and stored in an array of accepted points. There are two modes of operation: real-time recognition and recognition with fuzzy logic.
Si el reconocimiento es en tiempo real, siempre que la aplicación reconoce un punto, se envía inmediatamente al ordenador 2. Para poder realizar un seguimiento de la ruta de acceso, el punto previamente reconocido se pasa. Con este procedimiento la aplicación evita la inconsistencia en los dibujos, por ejemplo, si el punto entre los dibujos no fue reconocido por la razón que sea. El vector de las preferencias del usuario guarda la opción de ajuste. Para poder realizar un seguimiento cada vez que la aplicación reconoce un punto, se ahorra la anterior y luego borra la matriz de puntos reconocidos. Después de las adiciones y eliminaciones, se envían los puntos. If the recognition is in real time, whenever the application recognizes a point, it is immediately sent to computer 2. In order to track the path, the previously recognized point is passed. With this procedure the application avoids inconsistency in the drawings, for example, if the point between the drawings was not recognized for whatever reason. The user preferences vector saves the setting option. In order to track each time the application recognizes a point, the previous one is saved and then the matrix of recognized points is deleted. After additions and deletions, points are sent.
Si se selecciona el modo de lógica difusa, la aplicación mantiene el reconocimiento de puntos hasta que el usuario termina el dibujo, en otras palabras, hasta que el puntero láser ya no está activo y la aplicación no reconoce ningún punto. En ese momento, la aplicación envía la matriz de puntos que han sido reconocidos durante el período de dibujo. Para proteger el algoritmo de mal funcionamiento, por lo menos tres tramas se analizaron de una manera tal que tiene que estar vacío = sin punto reconocido. Esto previene contra el mal funcionamiento momentáneo o impide que el usuario, mientras que dicho usuario está pintando. Después de enviar los puntos, la matriz de puntos se borra y la aplicación espera para futuros dibujos. El algoritmo de reconocimiento se mantiene activo hasta que el usuario pulsa el botón Finalizar. If the fuzzy logic mode is selected, the application maintains point recognition until the user finishes drawing, in other words, until the laser pointer is no longer active and the application does not recognize any points. At that time, the application sends the matrix of points that have been recognized during the drawing period. To protect the algorithm from malfunction, at least three frames were analyzed in a way that has to be empty = no recognized point. This prevents against momentary malfunction or prevents the user while said user is painting. After sending the points, the dot matrix is deleted and the application waits for future drawings. The recognition algorithm remains active until the user presses the Finish button.
Envió de los datos Data submission
Otra parte vital de la aplicación es la conexión entre el dispositivo móvil 100 y el ordenador 2. TCP es un protocolo de comunicación, actualmente documentado en IETF RFC 793. Se trata de un protocolo de capa de transporte de acuerdo con el modelo OSI . Además, se añade lo necesario para proporcionar un servicio que permite la comunicación entre dos sistemas se realiza funciones sin errores, sin pérdidas y de seguridad. TCP fue elegido por una razón obvia: Another vital part of the application is the connection between the mobile device 100 and the computer 2. TCP is a communication protocol, currently documented in IETF RFC 793. It is a transport layer protocol according to the OSI model. In addition, the necessary thing is added to provide a service that allows communication between two systems functions without errors, without losses and security. TCP was chosen for an obvious reason:
La aplicación tiene que seguir un orden de dibujo, por lo tanto, el orden de llegada de los paquetes es importante. The application has to follow a drawing order, therefore, the order of arrival of the packages is important.
Tiene que ser fiable, los paquetes no se pueden perder.It has to be reliable, packages cannot be lost.
Por último, tiene que ser fácil de usar. Finally, it has to be easy to use.
Los parámetros fueron insertados manualmente. Dos parámetros tienen que ser elegidos para establecer una exitosa conexión de socket, el puerto y el puerto IP es una construcción de software de aplicación especifica o proceso especifico que sirve como un punto final de las comunicaciones en el sistema operativo host de un ordenador. El propósito de los puertos es identificar de forma única las diferentes aplicaciones o procesos que se ejecutan en un solo equipo y por lo tanto que puedan compartir una única conexión física a una red de conmutación de paquetes como Internet. El número de puerto tenía que estar disponible, es por eso que el puerto 8063 fue elegido. Una dirección IP es una etiqueta numérica que identifica de una manera lógica y jerárquica, a una interfaz (elemento de comunicación / conexión) de un dispositivo (normalmente un ordenador) dentro de una red utilizando (Internet Protocol) protocolo IP, que corresponde a la capa de red del modelo OSI . En este caso, la IP que se introdujo fue la IP de la computadora 2. The parameters were inserted manually. Two parameters have to be chosen to establish a successful socket connection, the port and the IP port is a construction of specific application software or specific process that serves as an endpoint of communications in the host operating system of a computer. The purpose of the ports is to uniquely identify the different applications or processes that run on a single computer and therefore that can share a single physical connection to a packet switching network such as the Internet. The port number had to be available, that is why port 8063 was chosen. An IP address is a numerical tag that identifies in a logical and hierarchical way, an interface (communication / connection element) of a device (usually a computer) within a network using (Internet Protocol) IP protocol, which corresponds to the OSI model network layer. In this case, the IP that was entered was the IP of computer 2.
La invención comprende un servidor dedicado para alojar un servicio o servicios para los usuarios (como puede ser una computadora 2) . Los servidores de alojamiento son los más utilizados para alojar sitios Web, pero también se puede utilizar para alojar archivos, imágenes, juegos y contenido similar. Los servidores de alojamiento pueden ser compartidos entre muchos clientes (servidores de alojamiento compartido) o dedicados a un solo cliente (servidores dedicados), el último de los cuales es particularmente común para los sitios Web más grandes, donde las necesidades de alojamiento del propietario del sitio Web requieren más control y / o ancho de banda. The invention comprises a dedicated server for hosting a service or services for users (such as a computer 2). Hosting servers are the most used to host websites, but can also be used to host files, images, games and similar content. Hosting servers can be shared among many clients (shared hosting servers) or dedicated to a single client (dedicated servers), the latter of which is particularly common for larger Web sites, where the hosting needs of the owner of the Website require more control and / or bandwidth.
La idea básica es utilizar las mismas conexiones cliente / servidor como antes, pero ahora con una dirección IP estática final. De esta forma el usuario no introduce nunca un IP nuevo. La estructura de la conexión es el siguiente: The basic idea is to use the same client / server connections as before, but now with a final static IP address. In this way the user never enters a new IP. The connection structure is as follows:
Un servidor de escucha para las conexiones de telefonía móvil, este servidor se llama A. Este servidor también es responsable de que el algoritmo de procesamiento intensivo de Lógica Difusa. A listening server for mobile phone connections, this server is called A. This server is also responsible for the fuzzy logic intensive processing algorithm.
Otro servidor escucha para todos los clientes que quieran recibir toda la información del dispositivo móvil 100 y las modificaciones, este servidor serían llamados B.  Another server listens to all clients who want to receive all the information of the mobile device 100 and the modifications, this server would be called B.
En este nuevo modelo, el dispositivo móvil 100 elimina la diferenciación entre el cliente conectado al proyector 400 y la que no lo son. Esta solución puede ser ampliada con más servidores cuando el sistema alcanza un cierto número de clientes. Otro aspecto positivo es que si hay WI-FI disponible, el usuario puede usar roaming / 3g / 4g y no tendrá ningún problema mientras utiliza el sistema. Esta solución cumple todos los requisitos presentados anteriormente. Es una solución portátil, tiene una interacción mínima con el usuario y es rápida. Sólo presenta problemas cuando hay una enorme sobrecarga en la red WIFI. La escalabilidad dependerá del número de puertos y servidores. In this new model, the mobile device 100 eliminates the differentiation between the client connected to the projector 400 and the one that is not. This solution can be extended with more servers when the system reaches a certain number of clients. Another positive aspect is that if WI-FI is available, the user can use roaming / 3g / 4g and will not have any problems while using the system. This solution meets all the requirements presented above. It is a portable solution, has minimal interaction with the user and is fast. It only presents problems when there is a huge overhead in the WIFI network. The scalability will depend on the number of ports and servers.
La computadora (2) The computer (2)
El programa 26 almacenado en la memoria 14 del ordenador 2 es el responsable de manejar toda la información recibida por el dispositivo móvil 100. Se divide en tres partes: The program 26 stored in the memory 14 of the computer 2 is responsible for handling all the information received by the mobile device 100. It is divided into three parts:
Conexiones y análisis. Connections and analysis.
Lógica Difusa y el reconocimiento de formas .  Fuzzy Logic and the recognition of forms.
Generación de dibujos en la pantalla.  Generation of drawings on the screen.
En la tecnología informática, un programa de análisis es un programa, por lo general parte de un compilador, que recibe la entrada en forma de instrucciones de código secuencial de programas, comandos interactivos en línea, etiquetas de marcado, o alguna otra interfaz definida y los rompe en partes (por ejemplo, los sustantivos (objetos), verbos (métodos), y sus atributos u opciones) que luego pueden ser gestionados por otros programas (por ejemplo, otros componentes en un compilador) . In computer technology, an analysis program is a program, usually part of a compiler, that receives input in the form of sequential program code instructions, interactive online commands, dial tags, or some other defined interface and it breaks them into parts (for example, nouns (objects), verbs (methods), and their attributes or options) that can then be managed by other programs (for example, other components in a compiler).
En la invención, el análisis se realiza en cada etapa, la aplicación móvil, el procesamiento y el dibujo. Normalmente reconstruye la información de tal manera que facilite el proceso de recepción por el ordenador 2 y también transforma la información en el formato requerido por el programa 26. In the invention, the analysis is performed at each stage, the mobile application, the processing and the drawing. It normally reconstructs the information in such a way that it facilitates the reception process by the computer 2 and also transforms the information into the format required by the program 26.
En realidad, hay tres fases de análisis: La fase 1 de análisis recibe una matriz de puntos y se transforma en un JSONObject (JavaScript Object Notation) para hacer el proceso más fácil, se transforma en cadena, por lo que el programa utiliza BufferReaders Actually, there are three phases of analysis: Phase 1 of analysis receives a matrix of points and is transformed into a JSONObject (JavaScript Object Notation) to make the process easier, it is transformed into a chain, so the program uses BufferReaders
La fase 2 es también muy importante, ya que se prepara la información para la etapa de reconocimiento. Lee todos los puntos en forma de cadena y los transforma en una nube de puntos en forma de una matriz .  Phase 2 is also very important, since the information is prepared for the recognition stage. Read all the points in the form of a chain and transform them into a cloud of points in the form of a matrix.
Convierte los puntos de las diferentes formas en un objeto ordenado .  Convert the points of the different shapes into an ordered object.
Este objeto ordenado es el que se analiza mediante lógica difusa, localizando las formas geométricas que han sido dibujadas e incorporándolas en la presentación. El método de reconocimiento está basado en dos ideas básicas: This ordered object is the one that is analyzed by diffuse logic, locating the geometric shapes that have been drawn and incorporating them into the presentation. The recognition method is based on two basic ideas:
En primer lugar, utiliza enteramente propiedades geométricas globales extraídas de las formas de entrada. Dado que estamos interesados principalmente en la identificación de las entidades geométricas, el reconocedor se basa principalmente en información de la geometría. First, it uses entirely global geometric properties extracted from the input forms. Since we are primarily interested in the identification of geometric entities, the recognizer relies primarily on geometry information.
En segundo lugar, el algoritmo utiliza la lógica difusa para asociar grados de certeza a formas reconocidas y manejar ambigüedades de forma natural.  Second, the algorithm uses fuzzy logic to associate degrees of certainty with recognized forms and manage ambiguities naturally.
Este algoritmo reconoce formas geométricas elementales como el triángulo, el rectángulo y círculos o líneas así como órdenes simples para operar, por ejemplo, una presentación de PowerPoint® como pasar de una diapositiva a otra o escapar de la presentación. This algorithm recognizes elementary geometric shapes such as the triangle, the rectangle and circles or lines as well as simple commands to operate, for example, a PowerPoint® presentation such as moving from one slide to another or escaping the presentation.
Una vez que el algoritmo ha reconocido que no se trata de una orden simple para operar la proyección, se inicia el proceso de clasificación de los puntos mediante diversas operaciones geométricas. El algoritmo utiliza formas geométricas como el Convex Hull (http: //en.wikipedia. org/ iki/Convex hull) creado con un algoritmo de GrahamOnce the algorithm has recognized that it is not a simple order to operate the projection, the process of classifying the points is initiated by various geometric operations. The algorithm uses geometric shapes like the Convex Hull (http: //en.wikipedia. Org / iki / Convex hull) created with a Graham algorithm
(http : //en . wikipedia■ org/wiki/Graham sean) , o cualquier otro método geométrico bien conocido para un experto(http: // en. wikipedia ■ org / wiki / Graham sean), or any other well known geometric method for an expert
(http : / /en . wikipedi . org/wiki/Mínimum bounding box algorithirts ) . (http: / / en. wikipedi. org / wiki / Minimum bounding box algorithms).
Una vez reconocida la forma sólo restará dibujar la misma en pantalla . Once the form is recognized, it will only be necessary to draw it on the screen.
En resumen, el programa 26 en la computadora 2 comprende una interfaz de usuario en la que, básicamente, se arranca la conexión y se muestra una especie de tablero de ajedrez para la calibración del dispositivo móvil 100 tal y como ha sido descrito con anterioridad. Una vez calibrado se abre el panel invisible donde se pinta, que además tiene esas flechas a los lados para que el usuario sepa donde tiene que apuntar para pasar de diapositivas, y un botón para salir de la aplicación. In summary, the program 26 in the computer 2 comprises a user interface in which, basically, the connection is started and a kind of chess board is shown for the calibration of the mobile device 100 as described previously. Once calibrated, the invisible panel is opened where it is painted, which also has those arrows on the sides so that the user knows where he has to aim to pass slides, and a button to exit the application.
En esta parte de aplicación se reciben los modos en los que quiere trabajar el usuario (este los seleccionará en el móvil), que pueden ser en tiempo real (según se identifican los puntos se van pintando), o bien aprendizaje (va a cumulando puntos, y cuando el usuario deja de pintar, si alguna forma ha sido reconocida, se pinta) . Y ambos modos juntos, en el que se pinta en tiempo real, pero si cuando el usuario para de pintar se reconoce una figura, esta se corrige (pintándose correctamente). In this part of the application, the modes in which the user wants to work are received (he will select them on the mobile), which can be in real time (as the points are painted), or learning (he will cumulate points , and when the user stops painting, if some form has been recognized, it is painted). And both modes together, in which you paint in real time, but if when the user stops painting a figure is recognized, it is corrected (painting correctly).
Además, se reciben las órdenes realizadas con el puntero láser 300 y reconocidas mediante la cámara 200 del dispositivo móvil 100, y llevarlas a cabo. Estas órdenes son, al menos: In addition, the orders made with the laser pointer 300 and recognized by the camera 200 of the mobile device 100 are received, and carried out. These orders are at least:
Pintar figuras, o pintar en tiempo real. Este pintado se hace sobre un panel "invisible". Paint figures, or paint in real time. This painting is done on an "invisible" panel.
Pasar de diapositivas, a la siguiente y a la anterior.  Move from slides to the next and the previous one.
Borrar todo lo pintado. Borrar específicamente una figura. Con el puntero láser 300 se realizará una forma de zigzag como tachando la figura que se quiere borrar, esto lo reconoce el móvil y se lo pasa a esta parte del programa 26, que borra la figura sobre la que se ha realizado ese zigzag. Para realizar esto se calcula el punto medio del dibujado del zigzag, y se compara con los puntos medios de todas las figuras que estén pintadas en ese momento, la que esté más cerca será la que se borra. Erase everything painted. Specifically delete a figure. With the laser pointer 300, a zigzag shape will be made as crossing out the figure to be erased, this is recognized by the mobile and is passed to this part of program 26, which erases the figure on which that zigzag has been made. To do this, the midpoint of the zigzag drawing is calculated, and compared to the midpoints of all the figures that are painted at that time, the one that is closest will be the one that is erased.
Unión de la parte de reconocimiento de formas y pintado en tiempo real.  Union of the part of recognition of forms and painted in real time.
Mandar a los que están conectados a la aplicación lo mismo que se está proyectando, para que puedan seguir la presentación desde su ordenador.  Send to those who are connected to the application the same thing that is being projected, so that they can follow the presentation from their computer.
Calibración automática Automatic calibration
Además de la calibración manual descrita anteriormente, en una segunda realización se describe una calibración automática. Para ello se requiere la correcta interacción del dispositivo móvil 100 y el programa 26 de la computadora 2. El objetivo es una correcta transformación de los puntos para que la orientación y los parámetros de la cámara no afecten al resultado. Para lograr este propósito los pasos son los siguientes: i. El dispositivo móvil 100 envía una imagen a la computadora 2, que es una foto de la escena actual. La imagen es convertida a jpg y encapsulada en Base64 In addition to the manual calibration described above, in a second embodiment an automatic calibration is described. This requires the correct interaction of the mobile device 100 and the program 26 of the computer 2. The objective is a correct transformation of the points so that the orientation and the parameters of the camera do not affect the result. To achieve this purpose the steps are as follows: i. Mobile device 100 sends an image to computer 2, which is a photo of the current scene. The image is converted to jpg and encapsulated in Base64
ii. La computadora 2 recibe la imagen y la analiza. El objetivo es buscar la imagen en forma de tablero de ajedrez que ha sido mostrada por la computadora 2 y que básicamente reconoce los cuadrados del interior del ajedrez. Una vez reconocidos como sabemos la posición de los puntos en el mundo real, dado que el tablero de ajedrez lo dibujamos nosotros y sabemos sus dimensiones, utilizamos un método llamado homography de tal forma que a través de este método conseguimos transformar todos los puntos sin ningún error de 2D a 3D. A partir de este momento todos los puntos recibidos serán transformados, (http: / /en. wikipedia . org/wiki/Hoinography (computar visio ii. Computer 2 receives the image and analyzes it. The objective is to look for the image in the form of a chess board that has been shown by computer 2 and that basically recognizes the squares inside chess. Once recognized as we know the position of the points in the real world, since we draw the chess board and know its dimensions, we use a method called homography in such a way that Through this method we can transform all points without any error from 2D to 3D. From this moment all the points received will be transformed, (http: / / en. Wikipedia. Org / wiki / Hoinography (compute visio
iii . Una vez finalizado los resultados finales son mandados al dispositivo móvil 100 para aligerar el procesamiento y solo buscar dentro de la zona donde se ha encontrado el aj edrez . iii. Once the final results are finished, they are sent to the mobile device 100 to lighten the processing and only search within the area where the aj edrez has been found.
Finalmente, a través de unos parámetros que se van actualizando cada vez que se reconoce el punto el espacio de búsqueda se hace más pequeño, reduciendo el tiempo de cómputo. Finally, through some parameters that are updated every time the point is recognized, the search space becomes smaller, reducing the computation time.
El cuadrado se va actualizando haciendo asi el proceso mucho más rápido. Sino se encuentra ningún punto, el rectángulo vuelve a ser la zona de incidencia y asi continuamente. Si el rectángulo se sale de la zona (bordes) los parámetros son ajustados para que permanezca siempre dentro. The square is updated making the process much faster. If no point is found, the rectangle becomes the area of incidence and so on continuously. If the rectangle leaves the area (edges) the parameters are adjusted so that it always stays inside.
En una realización adicional a las indicadas en la presente memoria descriptiva, el puntero láser (300) puede ser generalizado a cualquier dispositivo electrónico que permita focalizar un haz de luz hacia la zona de proyección (401) . Asi, por ejemplo, podemos pensar en un dispositivo tipo bolígrafo que incorpore en un extremo una pequeña luz a modo de linterna y que permitiría desarrollar las mismas funcionalidades que las descritas para el puntero láser (300) . In an additional embodiment to those indicated herein, the laser pointer (300) can be generalized to any electronic device that allows focusing a beam of light towards the projection zone (401). Thus, for example, we can think of a pen-like device that incorporates a small flashlight-like light at one end and that would allow to develop the same functionalities as those described for the laser pointer (300).

Claims

REIVINDICACIONES
1 - Método implementado por ordenador para interactuar con un puntero láser (300) mediante un dispositivo (100) electrónico portátil sobre una área de proyección (401) definida por un proyector (400) conectado con una computadora (2) y que se caracteriza por que comprende las etapas de: 1 - Method implemented by computer to interact with a laser pointer (300) by means of a portable electronic device (100) on a projection area (401) defined by a projector (400) connected to a computer (2) and characterized by which comprises the stages of:
a) Calibrar la captura de imágenes de una cámara (200) de un dispositivo (100) electrónico portátil mediante el reconocimiento de puntos de una imagen patrón;  a) Calibrate the image capture of a camera (200) of a portable electronic device (100) by recognizing points of a standard image;
b) Capturar una pluralidad de puntos de luz emitidos por el puntero láser (300) donde  b) Capture a plurality of points of light emitted by the laser pointer (300) where
a. Dichos puntos de luz están dentro del área de proyección (401);  to. Said points of light are within the projection area (401);
b. En dicho área de proyección (401) hay una reproducción virtual de un archivo informático almacenado en una memoria de la computadora (2); c. Donde dicha reproducción virtual está emitida por un el proyector (400); y  b. In said projection area (401) there is a virtual reproduction of a computer file stored in a computer memory (2); C. Where said virtual reproduction is emitted by a projector (400); Y
d. Donde la captura se realiza mediante la cámara (200) del dispositivo (100) electrónico portátil;  d. Where the capture is made by the camera (200) of the portable electronic device (100);
c) Reconocer los puntos de luz capturados en la etapa (b) y formar una matriz de puntos con sus posiciones relativas en el área de proyección (401);  c) Recognize the points of light captured in step (b) and form a matrix of points with their relative positions in the projection area (401);
d) Enviar la matriz de puntos de la etapa (c) a la computadora (2) donde se analizan;  d) Send the dot matrix of stage (c) to the computer (2) where they are analyzed;
e) Reconocer las formas derivadas de la matriz de puntos mediante lógica difusa; y  e) Recognize the shapes derived from the dot matrix through fuzzy logic; Y
f) Generar las formas reconocidas en el archivo informático proyectado sobre el área de proyección (401) mediante un proyector (400) .  f) Generate the shapes recognized in the projected computer file on the projection area (401) by means of a projector (400).
2 - Un dispositivo (100) electrónico portátil, que comprende : 2 - A portable electronic device (100), comprising:
una pantalla (126) táctil; uno o más procesadores (106); a touch screen (126); one or more processors (106);
una cámara (200);  a camera (200);
una memoria (102); y  a memory (102); Y
uno o más programas (132 a 146), en el que el o los programas (132 a 146) están almacenados en la memoria (102) y configurados para ejecutarse mediante el o los procesadores (106); caracterizado porque los programas (132 a 146) incluyen instrucciones para:  one or more programs (132 to 146), in which the program (s) (132 to 146) are stored in memory (102) and configured to be executed by means of the processor (s) (106); characterized in that the programs (132 to 146) include instructions for:
Configurar sus comunicaciones y funcionamiento;  Configure your communications and operation;
Calibrar la captura de imágenes por la cámara (200);  Calibrate image capture by the camera (200);
Capturar los puntos de luz emitidos por un puntero láser (300) dentro de un área de proyección (401) en la que aparece una reproducción virtual de un archivo informático almacenado en una computadora (2) conectada con un proyector (400) ;  Capture the points of light emitted by a laser pointer (300) within a projection area (401) in which a virtual reproduction of a computer file stored on a computer (2) connected to a projector (400) appears;
Reconocer los puntos de luz emitidos por el puntero láser (300) y capturados dentro del área de proyección (401); y Enviar a la computadora (2) una matriz de puntos que incluye su posición relativa en el área de proyección (401) siendo dichos puntos los reconocidos como puntos de luz emitidos por el puntero láser (300) .  Recognize the points of light emitted by the laser pointer (300) and captured within the projection area (401); and Send to the computer (2) a matrix of points that includes their relative position in the projection area (401), said points being those recognized as points of light emitted by the laser pointer (300).
3 - Una computadora (2) que comprende 3 - A computer (2) comprising
uno o más procesadores (5);  one or more processors (5);
una memoria (14); y  a memory (14); Y
uno o más programas (26) en el que dichos programas (26) están almacenados en una memoria (14) y configurados para ejecutarse mediante el o los procesadores (5), caracterizado porque los programas (26) incluyen instrucciones para:  one or more programs (26) in which said programs (26) are stored in a memory (14) and configured to be executed by means of the processor (5), characterized in that the programs (26) include instructions for:
Recibir desde el dispositivo (100) de la reivindicación 2 una matriz de puntos que incluye la posición relativa dentro de un área de proyección (401) de los puntos de luz emitidos por un puntero láser (300) dentro dicho área de proyección (401) ;  Receiving from the device (100) of claim 2 a dot matrix that includes the relative position within a projection area (401) of the light points emitted by a laser pointer (300) within said projection area (401) ;
Analizar la matriz de puntos recibida; Reconocer las formas derivadas de la matriz de puntos mediante lógica difusa; y Analyze the matrix of points received; Recognize shapes derived from the dot matrix through fuzzy logic; Y
Generar las formas reconocidas en un archivo informático almacenado en la memoria (14) y proyectado sobre un área de proyección (401) mediante un proyector (400).  Generate the shapes recognized in a computer file stored in memory (14) and projected onto a projection area (401) by means of a projector (400).
4 - Sistema para interactuar con un puntero láser (300) mediante un dispositivo (100) electrónico portátil sobre una proyección (401) emitida por un proyector (400) conectado con una computadora (2) que comprende: 4 - System for interacting with a laser pointer (300) by means of a portable electronic device (100) on a projection (401) emitted by a projector (400) connected to a computer (2) comprising:
un dispositivo electrónico portátil (100) de acuerdo con la reivindicación 2; y  a portable electronic device (100) according to claim 2; Y
una computadora (2) de acuerdo con la reivindicación 3.  a computer (2) according to claim 3.
5 - Un producto de programa informático con instrucciones configuradas para su ejecución por uno o más procesadores que, cuando son ejecutadas por un dispositivo (100) electrónico portátil de acuerdo con la reivindicación 2 y un computador (2) de acuerdo con la reivindicación 3 hacen que el sistema de la reivindicación 4 lleve a cabo el procedimiento según la reivindicación 1. 5 - A computer program product with instructions configured for execution by one or more processors which, when executed by a portable electronic device (100) according to claim 2 and a computer (2) according to claim 3 make that the system of claim 4 carry out the method according to claim 1.
PCT/ES2015/070807 2014-11-18 2015-11-11 Computing method, system and product for interacting with a laser pointer WO2016079355A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ESP201431700 2014-11-18
ES201431700A ES2574617B1 (en) 2014-11-18 2014-11-18 METHOD, SYSTEM AND COMPUTER PRODUCT TO INTERACT WITH A LASER POINTER

Publications (1)

Publication Number Publication Date
WO2016079355A1 true WO2016079355A1 (en) 2016-05-26

Family

ID=56013328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2015/070807 WO2016079355A1 (en) 2014-11-18 2015-11-11 Computing method, system and product for interacting with a laser pointer

Country Status (2)

Country Link
ES (1) ES2574617B1 (en)
WO (1) WO2016079355A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001046941A1 (en) * 1999-12-23 2001-06-28 Justsystem Corporation Method and apparatus for vision-based coupling between pointer actions and projected images
US6297804B1 (en) * 1998-08-13 2001-10-02 Nec Corporation Pointing apparatus
JP2008287625A (en) * 2007-05-21 2008-11-27 Sony Corp System, apparatus, and method for processing image, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6297804B1 (en) * 1998-08-13 2001-10-02 Nec Corporation Pointing apparatus
WO2001046941A1 (en) * 1999-12-23 2001-06-28 Justsystem Corporation Method and apparatus for vision-based coupling between pointer actions and projected images
JP2008287625A (en) * 2007-05-21 2008-11-27 Sony Corp System, apparatus, and method for processing image, and program

Also Published As

Publication number Publication date
ES2574617B1 (en) 2017-04-05
ES2574617A1 (en) 2016-06-21

Similar Documents

Publication Publication Date Title
US11627141B2 (en) Geo-fence authorization provisioning
JP6707539B2 (en) Virtual wearable
US20120210254A1 (en) Information processing apparatus, information sharing method, program, and terminal device
US20180114364A1 (en) Redundant tracking system
US9256299B2 (en) Client device orientation
WO2019062606A1 (en) Overlay comment information display method, providing method, and apparatus
US20100082990A1 (en) Establishment of a relationship between wireless devices
WO2021208615A1 (en) User invitation method and apparatus, computer device, and computer readable storage medium
US10365820B2 (en) Electronic device and touch gesture control method thereof
JP6868688B2 (en) Gesture-based access control in a virtual environment
US20150121516A1 (en) Authenticating input in trusted execution mode
US9945948B2 (en) Method and apparatus for providing time-of-flight calculations using distributed light sources
US10691785B1 (en) Authentication of a user device comprising spatial trigger challenges
US20150052375A1 (en) Information processing method and electronic device
US20150235425A1 (en) Terminal device, information processing device, and display control method
US20160284130A1 (en) Display control method and information processing apparatus
US11200414B2 (en) Process for capturing content from a document
US9760276B2 (en) Method for disabling a locking screen by using object and electronic device using the method
US20210392141A1 (en) Stated age filter
CN112669464A (en) Method and equipment for sharing data
US10803665B1 (en) Data aggregation for augmented reality applications
Chen et al. A case study of security and privacy threats from augmented reality (ar)
CN111125601A (en) File transmission method, device, terminal, server and storage medium
US10572231B1 (en) Component grouping for application development
ES2574617B1 (en) METHOD, SYSTEM AND COMPUTER PRODUCT TO INTERACT WITH A LASER POINTER

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15861819

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15861819

Country of ref document: EP

Kind code of ref document: A1