Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTING METHOD, SYSTEM AND PRODUCT FOR INTERACTING WITH A LASER POINTER
Document Type and Number:
WIPO Patent Application WO/2016/079355
Kind Code:
A1
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.

Inventors:
FERRERO PERIS IGNACIO (ES)
FERNÁNDEZ GARCÍA MIGUEL (ES)
Application Number:
PCT/ES2015/070807
Publication Date:
May 26, 2016
Filing Date:
November 11, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FERRERO PERIS IGNACIO (ES)
FERNÁNDEZ GARCÍA MIGUEL (ES)
International Classes:
G06F3/033; G01D13/26; G02B26/08; G02B27/20; G06F3/03; G06F3/042
Domestic Patent References:
WO2001046941A12001-06-28
Foreign References:
US6297804B12001-10-02
JP2008287625A2008-11-27
Attorney, Agent or Firm:
SAHUQUILLO HUERTA, Jesús (ES)
Download PDF:
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:

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;

b) Capturar una pluralidad de puntos de luz emitidos por el puntero láser (300) donde

a. Dichos puntos de luz están dentro del área de proyección (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

d. Donde la captura se realiza mediante la cámara (200) del dispositivo (100) electrónico portátil;

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);

d) Enviar la matriz de puntos de la etapa (c) a la computadora (2) donde se analizan;

e) Reconocer las formas derivadas de la matriz de puntos mediante lógica difusa; y

f) Generar las formas reconocidas en el archivo informático proyectado sobre el área de proyección (401) mediante un proyector (400) .

2 - Un dispositivo (100) electrónico portátil, que comprende :

una pantalla (126) táctil; uno o más procesadores (106);

una cámara (200);

una memoria (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:

Configurar sus comunicaciones y funcionamiento;

Calibrar la captura de imágenes por la cámara (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) ;

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) .

3 - Una computadora (2) que comprende

uno o más procesadores (5);

una memoria (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:

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) ;

Analizar la matriz de puntos recibida; Reconocer las formas derivadas de la matriz de puntos mediante lógica difusa; 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).

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:

un dispositivo electrónico portátil (100) de acuerdo con la reivindicación 2; y

una computadora (2) de acuerdo con la reivindicación 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.

Description:
METODO, SISTEMA Y PRODUCTO INFORMATICO PARA INTERACTUAR CON UN

PUNTERO LÁSER

DESCRIPCIÓN

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.

Estado de la técnica

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 .

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.

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.

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.

Descripción de la invención

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.

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 .

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 .

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.

Breve descripción de las figuras

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.

FIG 1.- Muestra un esquema del dispositivo electrónico portátil

(100) que implementa la presente invención.

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 3.- Muestra el diagrama de la arquitectura del sistema objeto de la presente invención.

FIG 4.- Diagrama de bloques de las operaciones de reconocimiento implementadas en el dispositivo móvil (100).

Exposición de un modo detallado de realización de la invención

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

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 .

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.

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.

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 .

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.

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).

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.

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.

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.

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 .

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) .

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 .

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.) .

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.

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.

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 .

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.

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.

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 .

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 .

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.

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.

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.

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.

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.

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.

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.

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 .

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.

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.

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.

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.

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:

a) Procesando dicha información y modificando la presentación; o

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.

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.

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:

Configurar sus comunicaciones y funcionamiento;

Calibrar la captura de imágenes;

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;

Reconocer las imágenes capturadas en la etapa (c);

Comunicar a una computadora 2 las imágenes reconocidas en la etapa (d) .

Configuración de comunicaciones y funcionamiento

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.

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.

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 .

Calibración

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.

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.

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 .

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.

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.

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.

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.

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 .

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.

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.

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.

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.

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.

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.

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 .

Reconocimiento de puntos

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.

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".

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.

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.

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 .

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.

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.

Envió de los datos

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:

La aplicación tiene que seguir un orden de dibujo, por lo tanto, el orden de llegada de los paquetes es importante.

Tiene que ser fiable, los paquetes no se pueden perder.

Por último, tiene que ser fácil de usar.

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.

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.

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:

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.

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.

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.

La computadora (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:

Conexiones y análisis.

Lógica Difusa y el reconocimiento de formas .

Generación de dibujos en la pantalla.

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) .

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.

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

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 .

Convierte los puntos de las diferentes formas en un objeto ordenado .

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:

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.

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.

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.

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 Graham

(http : //en . wikipedia■ org/wiki/Graham sean) , o cualquier otro método geométrico bien conocido para un experto

(http : / /en . wikipedi . org/wiki/Mínimum bounding box algorithirts ) .

Una vez reconocida la forma sólo restará dibujar la misma en pantalla .

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.

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).

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:

Pintar figuras, o pintar en tiempo real. Este pintado se hace sobre un panel "invisible".

Pasar de diapositivas, a la siguiente y a la anterior.

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.

Unión de la parte de reconocimiento de formas y pintado en tiempo real.

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.

Calibración automática

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

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

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 .

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.

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.

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) .