ES2967808T3 - Sistemas y métodos de ingesta de muestras de escritura digitalizada - Google Patents
Sistemas y métodos de ingesta de muestras de escritura digitalizada Download PDFInfo
- Publication number
- ES2967808T3 ES2967808T3 ES17854011T ES17854011T ES2967808T3 ES 2967808 T3 ES2967808 T3 ES 2967808T3 ES 17854011 T ES17854011 T ES 17854011T ES 17854011 T ES17854011 T ES 17854011T ES 2967808 T3 ES2967808 T3 ES 2967808T3
- Authority
- ES
- Spain
- Prior art keywords
- handwriting
- sample
- code point
- data
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/30—Writer recognition; Reading and verifying signatures
- G06V40/37—Writer recognition; Reading and verifying signatures based only on signature signals such as velocity or pressure, e.g. dynamic signature recognition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Character Discrimination (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Ciertos aspectos de los presentes métodos y sistemas pueden centrarse en métodos implementados por ordenador para obtener datos escritos a mano digitalizados correspondientes a una muestra de un punto de código necesario de un conjunto de puntos de código. Dichos métodos pueden incluir: obtener una muestra de texto escrito a mano digitalizado, la muestra de texto escrito a mano digitalizado que incluye datos de glifo correspondientes a un primer glifo, correspondiendo el primer glifo al punto de código necesario del conjunto de puntos de código; asociar el primer glifo con el punto de código necesario; identificar datos de trazo en los datos de glifo, correspondiendo los datos de trazo a un componente de trazo del primer glifo, determinar una pluralidad de valores dimensionales del componente de trazo en los datos de trazo; y asociar la pluralidad de valores dimensionales con una nueva muestra de puntos de código del punto de código necesario en una estructura de datos de conjunto de puntos de código. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Sistemas y métodos de ingesta de muestras de escritura digitalizada
Campo
La presente divulgación se refiere al análisis y síntesis de la escritura a mano en ordenador, y más particularmente, a sistemas y métodos para la recogida y análisis de datos de escritura a mano digitalizados.
Antecedentes
Desde la aparición de la autoedición en los años 80, se ha vuelto cada vez más fácil utilizar software comúnmente disponible para crear e imprimir cartas, tarjetas, documentos y otros materiales impresos. Además, en la actualidad, un usuario de ordenador puede tener decenas o incluso cientos de fuentes de alta calidad instaladas en su ordenador, con miles de fuentes adicionales gratuitas y comerciales disponibles a través de Internet. Como resultado, muchas personas se han acostumbrado a recibir materiales impresos que no están escritos a mano. De hecho, las notas y tarjetas escritas a mano pueden indicar al destinatario un sentido de importancia y cuidado especial porque el remitente personalmente se tomó el esfuerzo de crear el mensaje a mano.
Existen numerosas fuentes que pretenden imitar la escritura a mano genérica hasta cierto punto. Incluso hay servicios que crearán una fuente para imitar la caligrafía de una persona en particular. Sin embargo, las fuentes de escritura personalizada existentes pueden parecer mecánicas y/o artificiales porque los glifos individuales siempre pueden imprimirse con geometría idéntica, mientras que, en un documento escrito a mano real, cada carácter individual puede tener su propia geometría sutilmente única. Además, las fuentes de escritura personalizada y los servicios de creación de fuentes de escritura personalizada existentes pueden tener dificultades para aislar glifos individuales dentro de una muestra de escritura cursiva u otra escritura en la que las letras adyacentes puedan estar conectadas entre sí.
Otras técnicas pueden utilizar una representación variable de glifos para imitar la escritura de una persona, como los sistemas y métodos descritos en las Patentes de EE. UU. Números 8,351,700 y 8,699,794. El documento US2016/062634 describe un dispositivo electrónico y un método para procesar la escritura a mano. El documento US2008/152202 describe un sistema y método de adquisición, análisis y autenticación de la firma escrita a mano.
La invención se establece en el conjunto de reivindicaciones adjuntas.
Breve descripción de las figuras
La Figura 1 ilustra una topología de red ilustrativa de un sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con diversas realizaciones.
La Figura 2 ilustra un diagrama de bloques funcional de un dispositivo informático del cliente ilustrativo, adecuado para su uso con el sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con diversas realizaciones.
La Figura 3 ilustra un diagrama de bloques funcional de un dispositivo informático de servidor ilustrativo, adecuado para su uso con el sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con diversas realizaciones.
La Figura 4 ilustra una representación gráfica de la relación entre los puntos de código de los caracteres, las representaciones visuales de los puntos de código de los caracteres, las representaciones de glifos escritos a mano de los puntos de código de los caracteres y la estructura de trazos de dichos glifos escritos a mano.
Las Figuras 5A-K ilustran un diagrama esquemático general de una interfaz de usuario de ingesta de escritura a mano adecuada para su uso con el sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con diversas realizaciones.
La Figura 6 ilustra una representación gráfica de la relación entre los puntos de código de los caracteres, las representaciones de glifos escritos a mano de los puntos de código de los caracteres y la estructura de trazo y segmento de trazo de dichos glifos escritos a mano.
Las Figuras 7A-B ilustran una representación visual de los datos dimensionales de trazo obtenidos por varios aspectos del sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con diversas realizaciones.
La Figura 8 ilustra una serie de comunicaciones de datos entre varios componentes del sistema de ingesta de escritura basado en cliente/servidor de acuerdo con diversas realizaciones.
La Figura 9 ilustra un diagrama de bloques funcional de una rutina de ingesta de muestras de escritura a mano que es implementada por un dispositivo del cliente del sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con diversas realizaciones.
La Figura 10 ilustra un diagrama de bloques funcional de una subrutina de recogida de muestras iniciales que puede ser implementada por un dispositivo del cliente del sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con varias realizaciones.
Las Figuras 11A-B ilustran un diagrama de bloques funcional de una subrutina de completitud de conjunto de puntos de código de escritura a mano que es implementada por un dispositivo del cliente del sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con varias realizaciones.
La Figura 12 ilustra un diagrama de bloques funcional de una subrutina de recogida de muestras complementaria que puede ser implementada por un dispositivo del cliente del sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con varias realizaciones.
Las Figuras 13A-B ilustran un diagrama de bloques funcional de una subrutina de recogida de muestras de escritura a mano que puede ser implementada por un dispositivo del cliente del sistema de ingesta de escritura a mano basado en cliente/servidor de acuerdo con varias realizaciones.
Descripción
La descripción detallada que sigue se representa en gran medida en términos de procesos y representaciones simbólicas de operaciones mediante componentes informáticos convencionales, que incluye un procesador, dispositivos de almacenamiento de memoria para el procesador, dispositivos de visualización conectados y dispositivos de entrada. Además, estos procesos y operaciones pueden utilizar componentes informáticos convencionales en un entorno de computación distribuida heterogénea, que incluye servidores de archivos remotos, servidores informáticos y/o dispositivos de almacenamiento de memoria. Cada uno de estos componentes convencionales de computación distribuida es accesible por el procesador a través de una red de comunicación, que puede incluir, pero no se limita a, Internet.
Las frases "en una realización," "en varias realizaciones," "en algunas realizaciones," y similares se utilizan repetidamente. Estas frases no necesariamente se refieren a la misma realización. Los términos "que comprende", "que tiene" e "que incluye" son sinónimos, a menos que el contexto indique lo contrario.
Ahora se hace referencia detallada a la descripción de las realizaciones ilustradas en los dibujos. Si bien se describen realizaciones en relación con los dibujos y las descripciones relacionadas, no se pretende limitar el ámbito a las realizaciones divulgadas en la presente memoria. Por el contrario, la intención es abarcar todas las alternativas, modificaciones y equivalentes. En otras realizaciones alternativas, se pueden agregar dispositivos adicionales, o combinaciones de dispositivos ilustrados, sin limitar el ámbito a las realizaciones divulgadas en la presente memoria. Por ejemplo, las realizaciones expuestas a continuación se describen principalmente en el contexto de obtener datos correspondientes a muestras digitalizadas de texto escrito a mano en el idioma inglés mediante un dispositivo de superficie de digitalización y un dispositivo de marcado de digitalización. Sin embargo, estas realizaciones son ilustrativas y de ninguna manera están limitadas al tipo de artículo para el cual se están generando recomendaciones.
Topología de red ilustrativa de un sistema de ingesta de escritura a mano basado en cliente/servidor.
La Figura 1 ilustra un primer sistema de ingesta de escritura a mano basado en cliente/servidor 100 de acuerdo con diversas realizaciones. Los dispositivos cliente 200A-B y un servidor de interfaz remoto 300A están en comunicación de datos con una red 103. En varias realizaciones, la red 103 puede incluir Internet, una o más redes de área local ("LAN"), una o más redes de área amplia ("WAN"), redes de datos celulares y/u otras redes de datos. La red 103 puede, en varios puntos, ser una red cableada y/o inalámbrica. El servidor de interfaz remoto 300A puede estar en comunicación de datos con un servidor remoto de ingesta de escritura a mano 300B y un almacén de datos administrativos 105. El servidor remoto de ingesta de escritura a mano 300B puede estar en comunicación de datos con un almacén de datos de conjunto de muestras de escritura a mano 108.
En estas y otras realizaciones, los dispositivos cliente 200, como el dispositivo del cliente 200A y el dispositivo del cliente 200B, pueden ser dispositivos informáticos en red con factores de forma que incluyen ordenadores de propósito general (que incluye ordenadores "de escritorio", "portátiles", "notebook", "tabletas" u otros similares); teléfonos móviles; relojes, gafas u otros dispositivos informáticos portátiles; o similares. A modo de ejemplo simplificado, se muestran dos dispositivos cliente, uno de los cuales se representa como un ordenador portátil y el otro como una tableta. En varias realizaciones puede haber muchos más dispositivos clientes 200. Los componentes funcionales principales de un dispositivo del cliente ilustrativo, independiente del factor de forma, 200 se describen a continuación en referencia a la Figura 2.
El dispositivo del cliente 200A puede estar en comunicación de datos con un dispositivo externo de superficie de digitalización 218A y un dispositivo de marcado de digitalización (por ejemplo, un "lápiz") 220A. El dispositivo de marcado digital 220A puede estar en comunicación de datos con el dispositivo del cliente 200A a través del dispositivo de superficie de digitalización externa 218A o puede estar en comunicación directa de datos con el dispositivo del cliente (como se indica con líneas punteadas).
El dispositivo del cliente 200B incluye un dispositivo de superficie de digitalización incorporado 218B y puede estar en comunicación de datos con un dispositivo de marcado de digitalización 220B.
En varias realizaciones, el servidor de interfaz remoto 300A y el servidor remoto de ingesta de escritura a mano 300B pueden ser dispositivos informáticos en red capaces en general de aceptar solicitudes a través de la red 108, por ejemplo, desde dispositivos clientes 200, entre sí, varias bases de datos y/u otros dispositivos informáticos en red, como un servidor remoto de generación de escritura a mano (no mostrado), y proporcionar respuestas en consecuencia. Los componentes funcionales principales de un servidor remoto ilustrativo 300, como el servidor de interfaz remoto 300A y el servidor remoto de ingesta de escritura a mano 300B, se describen a continuación en referencia a la Figura 3.
Dispositivo del cliente ilustrativo
La Figura 2 ilustra varios componentes de un dispositivo del cliente ilustrativo 200, como cualquiera de los dispositivos cliente 200A-B, se ilustra. En algunas realizaciones, un dispositivo del cliente 200 puede incluir muchos más componentes que los mostrados en la Figura 2. Sin embargo, no es necesario que todos estos componentes generalmente convencionales se muestren para divulgar una realización ilustrativa. Las comunicaciones de datos entre varios componentes del dispositivo del cliente 200 pueden realizarse mediante conexiones cableadas y/o inalámbricas.
Como se muestra en la Figura 2, el dispositivo del cliente ilustrativo 200 incluye una unidad central de procesamiento 203 en comunicación de datos con la memoria 205 a través de un bus 208. La unidad central de procesamiento 203 es un circuito electrónico diseñado para llevar a cabo las instrucciones de un programa informático, por ejemplo, obtenidas de la memoria 205, realizando las operaciones aritméticas, lógicas, de control y de entrada/salida (E/S) básicas especificadas por las instrucciones del programa. La memoria 205 generalmente comprende parte o toda la memoria de acceso aleatorio (RAM), memoria de solo lectura (ROM) y/o un dispositivo de almacenamiento masivo permanente, como una unidad de disco, memoria flash u otro similar. Bus 208 es un sistema de comunicación que transfiere datos entre componentes dentro del dispositivo del cliente 200, e incluye cualquier componente de hardware relacionado (cable, fibra óptica, etc.) y software, que incluye protocolos de comunicación.
El dispositivo del cliente 200 también puede incluir una interfaz de red 210 para conectarse a una red como la red 103, uno o más dispositivos de entrada de usuario opcionales 213, por ejemplo, un teclado alfanumérico, un teclado numérico, un mouse u otro dispositivo señalador, una pantalla táctil y/o un micrófono (o un puerto de entrada de usuario para conectar un dispositivo de entrada de usuario externo), un dispositivo de superficie de digitalización opcional 215, como el dispositivo de superficie de digitalización 215B (o un puerto para conectar un dispositivo de superficie de digitalización externo, como el dispositivo de superficie de digitalización 215A), un dispositivo de marcado de digitalización opcional (o un puerto para conectar a un dispositivo de marcado de digitalización externo, como los dispositivos de marcado de digitalización 218A-B), y similares, todos interconectados, junto con la interfaz de red 210, a la unidad central de procesamiento 203 y a la memoria 205 a través del bus 208.
La memoria 205 del dispositivo del cliente ilustrativo 200 puede almacenar código de programa, ejecutable por la unidad central de procesamiento 203, correspondiente a un sistema operativo 223, así como código de programa correspondiente a varias aplicaciones de software, como una aplicación de navegador 225, una aplicación de ingesta de escritura a mano 228 y otras aplicaciones de software (no mostradas). El sistema operativo 223 y diversas aplicaciones de software similares pueden cargarse en la memoria 205 a través de la interfaz de red 210 o mediante un medio de almacenamiento legible por ordenador 230, como un disco duro, una unidad de estado sólido, un disco óptico, una tarjeta de memoria extraíble y/o similares.
La aplicación del navegador 225 es una aplicación de software para recuperar, presentar y recorrer recursos de información en una red, como la red 108. Aunque la aplicación del navegador 225 puede estar principalmente destinada a utilizar la World Wide Web, también se puede utilizar para acceder a recursos de información proporcionados por servidores remotos en redes privadas. Un recurso de información puede ser una página web, una imagen, un video u otro contenido y puede ser identificado por un Identificador de Recurso Uniforme (URI/URL) en la red 108. Un recurso de información también puede proporcionar código de programa ejecutable de aplicación de navegador 225 para aplicaciones web, es decir, una aplicación de software que se ejecuta y se representa mediante la aplicación de navegador 225.
En funcionamiento, el sistema operativo 223 gestiona los recursos de hardware y software del dispositivo del cliente 200 y proporciona servicios comunes y asignación de memoria para diversas aplicaciones de software, como la aplicación de adquisición de datos de estudio de investigación y control de calidad 228. Para funciones de hardware como comunicaciones de red a través de la interfaz de red 210, recepción de datos a través de la entrada 213, salida de datos a través de la pantalla opcional 215 y asignación de memoria 205 para diversas aplicaciones de software, como la aplicación de ingreso de escritura a mano 228, el sistema operativo 223 actúa como intermediario entre el software que se ejecuta en el dispositivo del cliente y el hardware del dispositivo.
Por ejemplo, el sistema operativo 223 puede hacer que se presente a un usuario del dispositivo del cliente 200, a través de la pantalla 215, una representación de las aplicaciones de software disponibles, como la aplicación del navegador 225 y la ingesta de escritura a mano 228. Si el dispositivo del cliente 200 obtiene una indicación de un usuario, por ejemplo, a través de la entrada de usuario 213, de un deseo de utilizar la aplicación de ingesta de escritura a mano 228, el sistema operativo 223 instancia un proceso de aplicación de ingesta de escritura a mano (no mostrado), es decir, hace que la unidad central de procesamiento 203 comience a ejecutar las instrucciones ejecutables de la aplicación de ingesta de escritura a mano y asigna una porción de memoria 205 para su uso.
En el caso de una aplicación web, la aplicación del navegador 225 puede actuar como intermediario entre un servicio de software que opera en un servidor remoto y el sistema operativo 223. Por ejemplo, un servicio de software equivalente a la aplicación de ingesta de escritura a mano 228 puede estar ejecutándose en el servidor de interfaz 400A.
Aunque se ha descrito un dispositivo del cliente ilustrativo 200 con componentes de hardware que generalmente se ajustan a dispositivos informáticos de propósito general convencionales, un dispositivo del cliente puede ser cualquiera de una gran cantidad de dispositivos capaces de comunicarse con la red 103 y ejecutar instrucciones para realizar la aplicación de ingesta de escritura a mano 228.
Servidor ilustrativo
La Figura 3 ilustra varios componentes de un servidor ilustrativo 300, como el servidor de interfaz 300A y el servidor de ingesta de escritura a mano 300B, de acuerdo con al menos una realización ilustrativa. En algunas realizaciones, un servidor 300 puede incluir muchos más componentes que los mostrados en la Figura 3. Sin embargo, no es necesario que todos estos componentes generalmente convencionales se muestren para divulgar una realización ilustrativa. Como se muestra en la Figura 3, un servidor 300 incluye una unidad central de procesamiento 303 y memoria 305 conectadas por un bus 308.
La unidad central de procesamiento 303 es un circuito electrónico diseñado para llevar a cabo las instrucciones de un programa informático, por ejemplo, obtenidas de la memoria 305, realizando las operaciones aritméticas, lógicas, de control y de entrada/salida (E/S) básicas especificadas por las instrucciones del programa. La memoria 305 puede incluir en general parte o la totalidad de la memoria de acceso aleatorio (RAM), la memoria de solo lectura (ROM) y/o un dispositivo de almacenamiento masivo permanente, como una unidad de disco, memoria flash u otro similar. Bus 308 es un sistema de comunicación que transfiere datos entre componentes dentro del servidor ilustrativo 300, e incluye cualquier componente de hardware relacionado (cable, fibra óptica, etc.) y software, que incluye protocolos de comunicación.
El servidor 300 también puede incluir una interfaz de red 310 para conectarse a una red como la red 103, uno o más dispositivos de entrada de usuario opcionales 313, por ejemplo, un teclado alfanumérico, un teclado numérico, un ratón u otro dispositivo señalador, una pantalla táctil y/o un micrófono, (o un puerto de entrada de usuario para conectar un dispositivo de entrada de usuario externo) y/o una pantalla opcional 315 (o un puerto de pantalla para conectar un dispositivo de pantalla externo), ambos interconectados junto con la interfaz de red 310 a través del bus 308.
La memoria 305 puede almacenar un sistema operativo 320 y código de programa para varios servicios de software 323. Por ejemplo, el servidor de interfaz 300A puede incluir instrucciones ejecutables para realizar el servicio de gestión de sesiones de usuario 323A (indicado por líneas punteadas) y el servidor de ingesta de escritura a mano 300B puede incluir instrucciones ejecutables para realizar el servicio de ingesta de escritura a mano 323B (indicado por líneas punteadas).
El código de programa para estos y otros servicios de software similares, como un servicio de software (no mostrado) equivalente a la aplicación de ingesta de escritura a mano 228, puede cargarse en la memoria 305 desde un medio de almacenamiento legible por ordenador no transitorio 325 utilizando un mecanismo de unidad (no mostrado) asociado con el medio de almacenamiento legible por ordenador no transitorio, como, pero no limitado a, una unidad de DVD/CD-ROM, tarjeta de memoria, u otros similares. Los componentes de software también pueden cargarse en la memoria 304 a través de la interfaz de red 310. Un servidor 300 también puede comunicarse a través del bus 308 con una base de datos (no mostrada), como la base de datos de administración 105 y/o la base de datos de datos de prueba 108, u otro almacén de datos local o remoto.
En funcionamiento, el sistema operativo 320 administra los recursos de hardware y software del servidor 300 y proporciona servicios comunes y asignación de memoria para varios servicios de software, como el servicio de gestión de sesiones de usuario 323A o el servicio de ingesta de escritura a mano 323B. Para funciones de hardware como comunicaciones de red a través de la interfaz de red 310 y asignación de memoria 305 para varios servicios de software, como el servicio de ingesta de escritura a mano 323B, el sistema operativo 320 puede actuar como intermediario entre el software que se ejecuta en el servidor 300 y el hardware del servidor.
Aunque se ha descrito un servidor ilustrativo 300 que tiene componentes de hardware que generalmente se ajustan a un dispositivo informático convencional de propósito general, un servidor puede ser cualquiera de una gran cantidad de dispositivos capaces de comunicarse con la red 103 y ejecutar instrucciones para realizar el servicio de gestión de sesiones de usuario 323A y/o el servicio de ingesta de escritura a mano 323B.
En algunas realizaciones, un servidor 300 puede comprender uno o más dispositivos físicos o lógicos replicados y/o distribuidos. En algunas realizaciones, uno o más de los servidores de interfaz 300A y el servidor de ingesta de escritura a mano 300B pueden estar incorporados en el mismo dispositivo físico.
Sistemas de ingesta de escritura basados en cliente/servidor
Haciendo referencia en conjunto a las Figuras 1-3, y como se describe con más detalle a continuación, una instancia de la aplicación de ingesta de escritura a mano del cliente 228 que opera en un dispositivo del cliente, como los dispositivos cliente 200A-B, el servicio de gestión de sesiones de usuario remoto 323A que opera en el servidor de interfaz 300A, y el servicio de ingesta de escritura a mano remota 323B que opera en el servidor de ingesta de escritura a mano 300B (colectivamente un sistema de ingesta de escritura a mano cliente/servidor) de acuerdo con las presentes realizaciones puede operar para crear un conjunto de datos de muestra de puntos de código de la escritura a mano de un usuario lo suficientemente completo como para permitir al proveedor obtener datos de texto que incluyan un mensaje de un usuario y generar una imagen, por ejemplo, para su visualización electrónica y/o impresión en papel, que incluya una secuencia de glifos correspondientes al mensaje y que tengan la apariencia de estar escritos a mano por el usuario. Un sistema de ingesta de escritura a base de cliente/servidor como este puede ser operado en apoyo de un proveedor de servicios de digitalización de escritura (no mostrado) que ofrece servicios de reproducción de escritura a mano.
Las instancias de la aplicación de ingesta de escritura a mano del cliente 228 pueden actuar como una interfaz entre un usuario del dispositivo del cliente 200 y el servicio de gestión de sesiones de usuario 323A que opera en el servidor de interfaz 300A. Al instanciar, la aplicación de ingesta de escritura a mano del cliente 228 puede enviar una solicitud de "crear nueva sesión" al servicio de gestión de sesiones de usuario 323A, por ejemplo, que incluye información de identificación para el dispositivo del cliente 200, información de identificación para la instancia particular de la aplicación de ingesta de escritura a mano del cliente 228 y/o credenciales de cuenta de usuario como un nombre de usuario y contraseña, obtenidos del usuario o almacenados en la memoria 205. Si se presentan, las credenciales de la cuenta de usuario pueden estar asociadas a una cuenta de usuario existente o a una cuenta genérica, temporal y/o anónima de "invitado".
El servicio de gestión de sesiones de usuario 323A puede crear una sesión de usuario correspondiente (no mostrada) asociada con la instancia particular de la aplicación de ingesta de escritura a mano del cliente 228, identificada por un identificador de sesión de usuario (denominado en adelante "ID de sesión") y puede obtener información de la cuenta de usuario, como un identificador de usuario, asociada con la información de identificación proporcionada desde el almacén de datos administrativos 105 y proporcionar una respuesta a la aplicación de ingesta de escritura a mano del cliente 228, que puede incluir información relacionada con las características y servicios proporcionados por el proveedor de servicios de digitalización de escritura a mano a los que la cuenta de usuario asociada con las credenciales de la cuenta de usuario está autorizada a acceder.
La aplicación de ingesta de escritura a mano del cliente 228 puede luego presentar al usuario un menú de opciones, por ejemplo, a través de la pantalla opcional 215, y esperar a que el usuario indique la selección de una opción específica, por ejemplo, a través de la entrada opcional 213. Tales opciones pueden incluir obtener una nueva muestra de escritura a mano, ver una medida de completitud de un conjunto de muestras de escritura a mano asociado con el identificador de usuario, crear un nuevo conjunto de muestras de escritura a mano, y similares. Al obtener una selección de una de las opciones presentadas, por ejemplo, a través de la entrada del usuario 213, la aplicación de ingesta de escritura a mano del cliente 215 puede procesar la selección y generar una solicitud correspondiente a la opción seleccionada.
Estas solicitudes pueden ser proporcionadas al servicio de gestión de sesiones de usuario 323A que opera en el servidor de interfaz 300A, por ejemplo, a través de la red 103. El servicio de gestión de sesiones de usuario 323A puede procesar las solicitudes, proporcionar solicitudes internas relacionadas al servicio de ingesta de escritura a mano 323B, obtener respuestas del servicio de ingesta de escritura a mano 323B, proporcionar respuestas a la aplicación de ingesta de escritura a mano del cliente 228 y almacenar registros de estas solicitudes y respuestas y otros datos relacionados, por ejemplo, en el almacén de datos administrativos 105 indexados por un identificador de usuario y/o un identificador de sesión de usuario.
Cuando un usuario indica el deseo de crear un nuevo conjunto de muestras de escritura a mano, el sistema de ingesta de escritura a mano puede identificar un estilo de comunicación deseado para el usuario, como la comunicación general en inglés, la comunicación formal en japonés, la comunicación técnica en árabe, y así sucesivamente. El sistema de ingesta de escritura a mano puede determinar un subconjunto de puntos de código, aplicable al estilo de comunicación deseado, a partir de uno o más conjuntos de puntos de código universales, como el conjunto de puntos de código de caracteres Unicode estándar.
Para cada punto de código dentro del subconjunto de puntos de código aplicable, el sistema de ingesta de escritura a mano puede recopilar una o más muestras digitalizadas de glifos escritos a mano correspondientes al punto de código. Por ejemplo, como se explica con más detalle a continuación, la aplicación de ingesta de escritura a mano 228 puede proporcionar una interfaz de usuario que presenta a un usuario del dispositivo del cliente 200 una visualización visual de uno o más puntos de código e instruye al usuario a escribir glifos correspondientes a uno o más puntos de código utilizando el dispositivo de marcado digitalizador 220 para realizar uno o más trazos en el dispositivo de superficie digitalizadora 218. Dependiendo del estilo de comunicación deseado y del estilo de escritura individual del usuario, una muestra de glifo digitalizada puede estar compuesta por uno o más trazos y también puede haber múltiples muestras de glifos digitalizados dentro de un solo trazo. Por lo tanto, la aplicación de ingesta de escritura a mano 228 puede (1) acomodar muestras de glifos compuestas por múltiples trazos no secuenciales, por ejemplo, si el dispositivo de marcado digital abandona la superficie de digitalización durante la captura de la muestra de glifo (como puede ser el caso al escribir a mano las letras minúsculas en inglés "f", "i", "j", "k", "t" y "x", por ejemplo) (2) proporcionar al usuario la oportunidad de segmentar los trazos en glifos individuales, y luego proporcionar al usuario la oportunidad de asociar uno o más trazos y/o uno o más segmentos de trazo con un punto de código.
Haciendo referencia a la Figura 4 a modo de ejemplo, la palabra "This" 403 está compuesta por cuatro caracteres secuenciales representados por cuatro puntos de código distintos: un punto de código "T" 405A, un punto de código "h" 405B, un punto de código "i" 405c y un punto de código "s" 405D; una muestra manuscrita digitalizada correspondiente 408 de la palabra "This" puede estar compuesta por cuatro glifos secuenciales: un glifo "T" 410A, un glifo "h" 410B, un glifo "i" 410C y un glifo "s" 410D. En este ejemplo, la muestra manuscrita digitalizada de la palabra "This" está compuesta por cuatro trazos 413A-D, sin embargo, los trazos 413A-D no corresponden respectivamente a los glifos 410A-D. En cambio, un trazo 'horizontal' 413A y un trazo 'vertical' 413B juntos forman el glifo "T" 410A; un tercer trazo 413C forma el glifo "h" 410B, el glifo "s" 410D y parte del glifo "i" 410<c>. Un trazo 'punto' 413D forma el resto del glifo "i" 410C.
De acuerdo con varias realizaciones, después de que un usuario termine el trazo 'punto' 413D, el usuario puede luego segmentar selectivamente el tercer trazo 413C en un segmento de trazo "h" 415A, un segmento de trazo "i" 415B y un segmento de trazo "s" 415C. El usuario puede asociar el trazo 'horizontal' 413A y el trazo 'vertical' 413B como una muestra de glifo digitalizado para el punto de código "T" 405A, el segmento de trazo "h" 415A como una muestra de glifo digitalizado para el punto de código "h" 405B, el segmento de trazo "i" 415B y el trazo 'punto' 413D como una muestra de glifo digitalizado para el punto de código "i" 405B, y el segmento de trazo "s" 415C como una muestra de glifo digitalizado para el punto de código "s" 405D.
Para cada muestra de glifo digitalizado, el sistema de ingesta de escritura a mano puede registrar datos contextuales de muestra de punto de código relacionados con la muestra de glifo digitalizado. Por ejemplo, el sistema de ingesta de escritura a mano puede registrar dónde se recopiló la muestra de glifo digitalizada dentro del contexto de un grupo de glifos (por ejemplo, al principio o en medio de una secuencia de glifos escritos como un trazo continuo), si el glifo anterior, si lo hubiera, tenía un ángulo de salida hacia arriba o hacia abajo (descrito con más detalle a continuación) y un punto de salida bajo o alto, y si el glifo siguiente, si lo hubiera, tenía un ángulo de entrada hacia arriba o hacia abajo y un punto de entrada bajo o alto, y así sucesivamente.
Para cada trazo y/o segmento de trazo que conforma la muestra de glifo digitalizada, el sistema de ingesta de escritura a mano también puede registrar datos de dimensiones de trazo. Por ejemplo, para cada trazo, el sistema de ingesta de escritura puede obtener y registrar valores de datos relacionados con la duración temporal general del trazo; el desplazamiento horizontal relativo del trazo a lo largo del tiempo, el desplazamiento vertical relativo del trazo a lo largo del tiempo, el desplazamiento rotacional relativo del trazo a lo largo del tiempo, el desplazamiento angular relativo del trazo a lo largo del tiempo y la presión descendente del trazo a lo largo del tiempo.
Cada muestra de glifo puede ser agregada a un conjunto de datos de muestra de punto de código asociado al usuario (por ejemplo, a través de un identificador de usuario). El sistema de ingesta de escritura a mano continuará recopilando muestras de glifos digitalizados para un punto de código dado hasta que el sistema determine que puede reproducir una gama completa de variaciones de glifos del punto de código.
Interfaz de usuario de ingesta de escritura a mano
Las Figuras 5A-K ilustran varios estados de una interfaz de usuario ilustrativa 500 proporcionada por la aplicación de ingesta de escritura a mano 228 que funciona en un dispositivo del cliente 200 para permitir a un usuario del dispositivo del cliente proporcionar selectivamente muestras digitalizadas de la escritura a mano del usuario a través de un dispositivo de superficie de digitalización en conjunto con un dispositivo de marcado de digitalización. La interfaz de usuario ilustrativa 500 se muestra en la pantalla 215 en respuesta a la ejecución de las instrucciones de una instancia de la aplicación de ingesta de escritura a mano del cliente 228 que funciona en un dispositivo del cliente 200. La interfaz de ingesta de escritura a mano 500 se muestra en una ventana 503 que incluye una indicación instructiva 505, una muestra de texto 508 y una visualización de reproducción de entrada 510.
En la Figura 5A, se ilustra la interfaz de ingesta de escritura a mano 500 en un estado de inicio 500A. En el estado de inicio inicial 500A, la indicación instructiva 505 muestra un texto que instruye a un usuario que opera el dispositivo del cliente 200 a ingresar el texto de muestra ("Esto es una prueba") que se muestra en la pantalla de texto de muestra 508 a través del dispositivo de superficie de digitalización 218 y el dispositivo de marcado de digitalización 220. En el ejemplo ilustrado, el texto de muestra mostrado incluye: una instancia del punto de código "T"; una instancia del punto de código "h"; dos instancias del punto de código "i"; tres instancias del punto de código "s"; una instancia del punto de código "a"; dos instancias del punto de código "t"; y una instancia del punto de código "e".
En la Figura 5B, se ilustra la interfaz de ingesta de escritura a mano 500 en un primer estado de visualización potencial de ingesta de muestra 500B. En el estado de visualización de ingesta de la primera muestra potencial 500B, la pantalla de reproducción de entrada 510 muestra una representación visual de los datos de entrada correspondientes a un primer trazo 513A, por ejemplo, obtenido mediante el dispositivo de superficie de digitalización 218 en combinación con el dispositivo de marcado de digitalización 220. Las características de dichos datos de entrada se discuten con más detalle a continuación, especialmente en referencia a las Figuras 7A-B.
En la Figura 5C, se ilustra la interfaz de ingesta de escritura a mano 500 en un segundo estado potencial de visualización de ingesta de muestra 500C. En el estado de visualización de ingesta de la segunda muestra potencial 500C, la pantalla de reproducción de entrada 510 muestra una representación visual de los datos de entrada correspondientes al primer trazo 513A y al segundo trazo 513B, por ejemplo, obtenidos mediante el dispositivo de superficie de digitalización 218 en combinación con el dispositivo de marcado de digitalización 220 después del primer trazo. Similar al ejemplo discutido anteriormente con referencia a la Figura 4, los primer y segundo trazos 513A-B conforman una muestra de glifo correspondiente al primer punto de código "T" del texto de muestra.
En la Figura 5D, se ilustra la interfaz de ingesta de escritura a mano 500 en un tercer estado de visualización potencial de ingesta de muestra 500D. En el estado de visualización de ingesta de la tercera muestra potencial 500D, la pantalla de reproducción de entrada 510 muestra una representación visual de los datos de entrada correspondientes al primer trazo 513A, segundo trazo 513B y tercer trazo 513C. Similar al ejemplo discutido anteriormente con referencia a la Figura 4, el tercer trazo 513C incluye muestras de glifos correspondientes al punto de código "h", parte del punto de código "i" y uno de los puntos de código "s" del texto de muestra.
En la Figura 5E, se ilustra la interfaz de ingesta de escritura a mano 500 en un cuarto estado de visualización potencial de ingesta de muestra 500E. En el estado de visualización de ingesta de la cuarta muestra potencial 500E, la pantalla de reproducción de entrada 510 muestra una representación visual de los datos de entrada correspondientes al primer trazo 513A, segundo trazo 513B, tercer trazo 513C y cuarto trazo 513D. Similar al ejemplo discutido anteriormente con referencia a la Figura 4, el cuarto trazo 513D completa la muestra de glifo del punto de código "i" del texto de muestra que comenzó con el trazo 513C.
En la Figura 5F, se ilustra la interfaz de ingesta de escritura a mano 500 en un quinto estado de visualización potencial de ingesta de muestra 500F. En el estado de visualización de ingesta de la quinta muestra potencial 500F, la pantalla de reproducción de entrada 510 muestra una representación visual de los datos de entrada correspondientes al primer trazo 513A, segundo trazo 513B, tercer trazo 513C y cuarto trazo 513D, junto con un quinto trazo 513E, un sexto trazo 513F, un séptimo trazo 513G, un octavo trazo 513H, un noveno trazo 513I, un décimo trazo 513J y un undécimo trazo 513K. Los trazos del primero al undécimo, 513A-K, conforman colectivamente muestras de glifos que corresponden al texto de muestra en la pantalla de texto de muestra 508.
En la Figura 5G, se ilustra la interfaz de ingesta de escritura a mano 500 en un estado de segmentación de muestra 500G. En el estado de segmentación de muestra 500G, la indicación instructiva 505 muestra un texto que instruye a un usuario que opera el dispositivo del cliente 200 a segmentar cualquier trazo de varios caracteres que se muestre en la pantalla de reproducción de entrada 510. Por ejemplo, el usuario puede usar un ratón u otro dispositivo de entrada basado en puntero 213 para seleccionar puntos de segmentación 515 dentro de un trazo donde termina una muestra de glifo y comienza otra. En el ejemplo ilustrado, el tercer trazo 513C se segmenta en dos puntos de segmentación 515A-B, el quinto trazo 513C se segmenta en un punto de segmentación 515C, y el octavo trazo 513H se segmenta en dos puntos de segmentación 515D-E. Como se muestra en la Figura 5H, el tercer trazo 513C se segmenta en tres segmentos de trazo 520A-C, el quinto trazo 513C se segmenta en dos segmentos de trazo 520D-E, y el octavo trazo 513H se segmenta en tres segmentos de trazo 520F-H.
En la Figura 5H, se ilustra la interfaz de ingesta de escritura a mano 500 en un estado inicial de asignación de trazos 500H. En el estado de asignación de trazos iniciales 500G, la pantalla de texto de muestra ha sido reemplazada por una pantalla de secuencia de caracteres 523 y la indicación instructiva 505 muestra texto que instruye a un usuario que opera el dispositivo del cliente 200 a asignar los diversos trazos y segmentos de trazos mostrados en la pantalla de reproducción 510 a un carácter correspondiente de la pantalla de secuencia de caracteres.
En la Figura 5I, se ilustra la interfaz de ingesta de escritura a mano 500 en un primer estado de asignación de trazo en curso 500I. En el estado de asignación de trazo en curso 500G, se ha resaltado el primer carácter "T" de la secuencia de caracteres de visualización 523 y se ha seleccionado el primer trazo 513A, lo que indica que el primer trazo debe estar asociado con una muestra de glifo para el punto de código "T".
En la Figura 5J, se ilustra la interfaz de ingesta de escritura a mano 500 en un segundo estado de asignación de trazo en curso 500J. En el estado de asignación de trazo continuo 500J, el primer carácter "T" de la secuencia de caracteres mostrada en la pantalla 523 sigue resaltado y se ha seleccionado el segundo trazo 513B, lo que indica que el segundo trazo también debe estar asociado con la muestra de glifo para el punto de código "T".
En la Figura 5K, se ilustra la interfaz de ingesta de escritura a mano 500 en un tercer estado de asignación de trazo en curso 500K. En el estado de asignación de trazo en curso número 500K, se resalta ahora el segundo carácter "h" de la secuencia de caracteres de visualización 523, y se ha seleccionado el primer segmento de trazo 520A, lo que indica que el primer segmento de trazo debe asociarse con una muestra de glifo para el punto de código "h". Este proceso de asignación de trazos puede continuar hasta que el usuario indique que todos los trazos y segmentos de trazos han sido asignados a las muestras de glifos correspondientes.
Asignación de Muestra de Punto de Código de Trazo y Segmento de Trazo
La Figura 6 ilustra las asignaciones de datos correspondientes a varios trazos y muestras de trazos obtenidos mediante el dispositivo de digitalización de superficie 218 y el dispositivo de marcado de digitalización 220 durante el proceso de ingesta de muestra de escritura a mano ilustrativo descrito anteriormente con respecto a las Figuras 5A-K se combinan en muestras de glifos y se asignan a puntos de código.
Los datos recopilados durante el trazo 513A y el trazo 513B se combinan para formar la muestra de glifo 603A, que se asigna al punto de código "T" 605A.
Los datos recopilados durante el trazo 513G forman una muestra de glifo 603B, que se asigna al punto de código "a" 605B.
Los datos recopilados durante el segmento de trazo 520G forman una muestra de glifo 603C, que se asigna al punto de código "e" 605C.
Los datos recopilados durante el segmento de trazo 520A forman una muestra de glifo 603D, que se asigna al punto de código "h" 605D.
Los datos recopilados durante el segmento de trazo 520B y el trazo 513D se combinan para formar la muestra de glifo 603E, que se asigna al punto de código "i" 605E. Los datos recopilados durante el segmento de trazo 520D y el trazo 513F se combinan para formar la muestra de glifo 603F, que también se asigna al punto de código "i" 605E.
Los datos recopilados durante el segmento de trazo 520F y el trazo 513J se combinan para formar la muestra de glifo 603J, que se asigna al punto de código "t" 605F. Los datos recopilados durante el trazo 513I y el trazo 513K se combinan para formar la muestra de glifo 603K, que también se asigna al punto de código "t" 605F.
Los datos recopilados durante el segmento de trazo 520C forman una muestra de glifo 603G, que se asigna al punto de código "s" 605G. Los datos recopilados durante el segmento de trazo 520E forman una muestra de glifo 603H, que también se asigna al punto de código "s" 605G. Los datos recopilados durante el segmento de trazo 520C forman una muestra de glifo 603G, que se asigna al punto de código "s" 605G. Los datos recopilados durante el segmento de trazo 520H forman la muestra de glifo 603I, que también se asigna al punto de código "s" 605G.
Datos de muestra de glifos y recogida de datos
Las figuras 7A-B ilustran representaciones gráficas respectivas 700A-B de datos de trazo recopilados por la aplicación de ingesta de escritura a mano del cliente 228 durante el trazo 513A y el trazo 513B (que se combinan para formar la letra mayúscula "T" en el idioma inglés) en el ejemplo descrito anteriormente y obtenidos a través del dispositivo de superficie de digitalización 218 y el dispositivo de marcado de digitalización 220.
Los datos de trazo obtenidos de la digitalización del dispositivo de superficie 218 y del dispositivo de marcado 220 correspondientes a trazos, como los trazos 513A-B, pueden tomar la forma de una serie basada en el tiempo de valores de datos dimensionales de trazo muestreados. El trazo 513A se extiende desde un punto de origen 703A, a través de una serie de puntos intermedios 703B-I, hasta un punto de terminación 703J. El trazo 513B se extiende desde un punto de origen 705A, a través de una serie de puntos intermedios 705B-H, hasta un punto de terminación 705I.
Una estructura de datos del conjunto de puntos de código de escritura a mano ilustrativa (hw_cp_set_DS) puede incluir una estructura de datos de mapa de caracteres y otros valores asociados correspondientes a varios aspectos del conjunto de puntos de código, como un valor de identificador de usuario, un valor de ancho de carácter promedio, un valor de altura de carácter promedio, un valor de altura máxima de carácter, y similares.
Una estructura de datos de mapa de caracteres ilustrativa (char_map_DS) puede incluir una pluralidad de estructuras de datos de punto de código, por ejemplo, una estructura de datos de punto de código para cada carácter en el conjunto de puntos de código (A, B, C, D, ... T, ... h, i, ... s, ...).
Una estructura de datos de punto de código ilustrativa puede incluir una o más estructuras de datos de muestra de punto de código, por ejemplo, una estructura de datos de muestra de punto de código para cada muestra de punto de código obtenida para un punto de código dado.
Una estructura de datos de muestra de punto de código ilustrativa puede incluir una o más estructuras de datos de trazo, por ejemplo, una estructura de datos de trazo correspondiente a cada trazo dentro de una muestra de punto de código dada. Una estructura de datos de muestra de punto de código también puede incluir valores correspondientes a la fuente de la muestra (por ejemplo, la palabra "This") y la posición relativa dentro de la fuente (por ejemplo, 0 en el caso de "T", 1 en el caso de "h", etc.).
Una estructura de datos de trazo ilustrativa puede incluir una serie basada en el tiempo de valores de datos dimensionales de trazo muestreados, por ejemplo, valores de datos correspondientes a un valor de tiempo (que representa el intervalo de muestreo del trazo), valores de posición o desplazamiento horizontal relativo, valores de posición o desplazamiento vertical relativo, valores de presión, valores de giro, valores de ángulo, y similares. (Ejemplos de los valores de posición horizontal, valores de posición vertical y valores de presión se representan visualmente en las Figuras 7A-B (siendo los valores de presión ilustrados por el diámetro de los puntos de datos).)
Por lo tanto, una estructura de datos del conjunto de puntos de código de escritura a modo de ejemplo puede ser representable como:
hw_cp_set_DS {
char_map_DS: {
A ':[
Sample_l {
Trazos: [
Slroke_l{
Tiempos: [To, Ti, Ti, T„],
Xs: IXü, X i , X 2, ... , X n],
Ys: [Yo. Y i,Y 2, Y„J,
Presiones: [Po, Pi, P2> Pn],
Giros: [So, S i, S 2, S„]
Ángulos: 1 Ao, Ai, A2, AUJ
}, Stroke_2 {
Tiempos: [T0, Ti, T2, Tm],
Xs: [X0, X i, X 2, X m],
Ys: [Yo, Y i, Y 2, .... Y mJ,
Presiones: [Po, Pi. P2, P m],
Giros: [So, S i, S 2, .... Sm]
Ángulos: [Ao, Ai, A2, A,„]
}, Slrokc_3 {
} •••
1
) Sample_2 {
Trazos: [
1
} Sample_3 {
1
]B ’ [
}
Serie ilustrativa de comunicaciones
La Figura 8 ilustra una primera serie ilustrativa de comunicaciones 800 entre el dispositivo del cliente 200A, el servidor de interfaz 300A y el servidor de ingesta de escritura a mano 300B de acuerdo con varias realizaciones de un sistema de ingesta de escritura a mano basado en cliente/servidor, como el sistema de ingesta de escritura a mano basado en cliente/servidor ilustrativo ilustrado en la Figura 1.
El dispositivo del cliente 200A puede obtener 803 y procesar 805 un comando de inicio de sesión de usuario, por ejemplo, a través de la entrada del usuario 213 en respuesta a una indicación proporcionada a través de la pantalla 215.
El dispositivo del cliente 200A puede proporcionar al servidor de interfaz 300A una solicitud de inicio de sesión de usuario correspondiente 808. La solicitud de inicio de sesión del usuario 808 puede incluir información de identificación del usuario correspondiente a un usuario del dispositivo del cliente 200A, por ejemplo, a través de un identificador alfanumérico asociado a un usuario, y similares.
El servidor de interfaz 300A puede procesar 810 la solicitud de inicio de sesión de usuario 808. Por ejemplo, el servidor de interfaz 300A puede instanciar una sesión de usuario asociada con la información de identificación del usuario, obtener metadatos adicionales relacionados con la información de identificación del usuario, por ejemplo, desde el almacén de datos administrativos 105 y/u otras fuentes, y similares.
El servidor de interfaz 300A puede proporcionar al servidor de ingesta de escritura a mano 300B una solicitud de datos de usuario 813. La solicitud de datos de usuario 813 puede incluir datos obtenidos del dispositivo del cliente 200A a través de la solicitud de inicio de sesión de sesión de usuario 808, como un identificador de usuario, y a través del procesamiento 810 de la solicitud de inicio de sesión de sesión de usuario por parte del servidor de interfaz 300A.
El servidor de ingesta de escritura a mano 300B puede procesar 815 la solicitud de datos de usuario 813. Por ejemplo, el servidor de ingesta de escritura a mano 300B puede obtener datos de muestra de escritura a mano asociados con el identificador de usuario, por ejemplo, de la tienda de datos de conjunto de muestras de escritura a mano 108, determinar una medida de la completitud del conjunto de muestras de escritura a mano, y así sucesivamente.
El servidor de ingesta de escritura a mano 300B puede luego proporcionar una respuesta de datos de usuario 818 al servidor de interfaz 300A.
El servidor de interfaz 300A puede procesar 820 la respuesta de datos del usuario 818, por ejemplo, mediante el análisis de la respuesta de datos del usuario para extraer datos para transmitir al dispositivo del cliente 200.
El servidor de interfaz 300A puede luego proporcionar una respuesta de inicio de sesión de usuario 823 al dispositivo del cliente 200A. La respuesta de inicio de sesión del usuario 823 puede incluir un identificador de sesión de usuario, datos de muestra de escritura a mano y/o similares.
El dispositivo del cliente 200A puede procesar 825 entonces la respuesta de inicio de sesión del usuario 820, por ejemplo, mostrando la información proporcionada en la respuesta de inicio de sesión del usuario a través de la pantalla 215.
El dispositivo del cliente 200A puede luego obtener 828 y procesar 830 nuevos datos de muestra de escritura a mano, como se describe anteriormente en referencia a las Figuras 5A-K, para obtener datos de dimensiones de trazo para una o más muestras de glifos.
El dispositivo del cliente 200A puede proporcionar al servidor de interfaz 300A una solicitud de actualización correspondiente de muestra de escritura a mano 833. La solicitud de actualización de muestra de escritura a mano 833 puede incluir el identificador de sesión del usuario, identificadores de punto de código, datos de dimensiones de trazo de una o más muestras de glifos, y/o similares.
El servidor de interfaz 300A puede procesar 835 la solicitud de actualización de muestra de escritura a mano 833 y proporcionar al servidor de ingesta de escritura a mano 300B una solicitud interna de actualización de muestra de escritura a mano 838. La solicitud de actualización de muestra de escritura interna 838 puede incluir el identificador de usuario asociado con la sesión del usuario, identificadores de punto de código, datos de dimensión de trazo de una o más muestras de glifos, y/o similares.
El servidor de ingesta de escritura a mano 300B puede procesar 840 la solicitud de actualización interna de muestra de escritura a mano 838. Por ejemplo, el servidor de ingesta de escritura a mano 300B puede almacenar los datos de dimensión de trazo en el almacén de datos del conjunto de muestras de escritura a mano 108 asociado con el identificador de usuario respectivo e identificadores de punto de código, determinar una medida actualizada de la completitud del conjunto de muestras de escritura a mano, y similares.
El servidor de ingesta de escritura a mano 300B puede luego proporcionar una respuesta de actualización de muestra de escritura interna 843 al servidor de interfaz 300<a>. Por ejemplo, la respuesta de actualización de muestra de escritura interna 843 puede incluir un acuse de recibo de que se ha actualizado el conjunto de muestras de escritura asociado con el identificador de usuario, la medida actualizada de la completitud del conjunto de muestras de escritura, y similares.
El servidor de interfaz 300A puede procesar 845 la respuesta de actualización de muestra de escritura a mano interna 843 y proporcionar una respuesta de actualización de muestra de escritura a mano 848 al dispositivo del cliente 200A. La respuesta de actualización de la muestra de escritura a mano 848 puede incluir un acuse de recibo de que la muestra de escritura a mano asociada con el identificador de usuario ha sido actualizada, la medida actualizada de la completitud del conjunto de muestras de escritura a mano, y similares.
El dispositivo del cliente 200A puede procesar 850 la respuesta de actualización de muestra de escritura a mano 848, por ejemplo, al mostrar la información proporcionada en la respuesta de actualización de muestra de escritura a mano a través de la pantalla 215, y similares.
Rutina de Ingesta de Muestras de Escritura a Mano
La Figura 9 ilustra una rutina de ingesta de muestras de escritura a mano 900, que es implementada por la aplicación de ingesta de escritura a mano del cliente 228 que opera en un dispositivo del cliente, como los dispositivos cliente 200A-B.
La rutina de ingesta de muestra de escritura a mano 900 obtiene un identificador de usuario en el bloque de ejecución 903. Una aplicación de ingesta de escritura a mano del cliente 228 obtiene un identificador de usuario a través de una entrada de usuario 213 en respuesta a la interacción de un usuario con una interfaz de inicio de sesión de usuario, un archivo de perfil de usuario almacenado en la memoria 205, o similar.
La rutina de ingesta de muestra de escritura a mano 900 proporciona una solicitud del conjunto de puntos de código de escritura a mano, que incluye el identificador de usuario, en el bloque de ejecución 905. Por ejemplo, la aplicación de escritura a mano del cliente envía una solicitud del conjunto de puntos de código de escritura a mano al servidor de interfaz 300B a través de la red 103.
En el bloque de decisión 908, si se obtiene un conjunto de puntos de código de escritura a mano asociado con el identificador de usuario, por ejemplo, desde el servidor de interfaz 300B (o directamente desde el servidor de ingesta de escritura a mano 300A) a través de la red 103 en respuesta a la solicitud del conjunto de puntos de código de escritura a mano, entonces la rutina de ingesta de muestra de escritura a mano 900 llama a una subrutina de completitud de conjunto de puntos de código de escritura a mano 1100, descrita a continuación en referencia a la Figura 11; de lo contrario, la rutina de ingesta de muestra de escritura a mano 900 continúa con el bloque de ejecución 910.
La rutina de ingesta de muestra de escritura a mano 900 llama a una subrutina inicial de recogida de muestra 1000, descrita a continuación en referencia a la Figura 10.
Rutina de ingesta de muestra de escritura a mano 900 llama a la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100.
En el bloque de decisión 913, si el resultado de la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 indica que el conjunto de puntos de código de escritura a mano en su estado actual es que se puede usar, la rutina de ingesta de muestra de escritura a mano 900 pasa al bloque de decisión 915; de lo contrario, la rutina de ingesta de muestra de escritura a mano 900 puede llamar a una subrutina complementaria de recogida de muestra adicional 1200, discutida a continuación en referencia a la Figura 12. Después de completar la subrutina de recogida de muestras suplementarias 1200, la rutina de ingesta de muestras de escritura a mano 900 vuelve a la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100.
En el bloque de decisión 915, si el resultado de la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 indica que el conjunto de puntos de código de escritura a mano en su estado actual está completo, la rutina de ingesta de muestra de escritura a mano 900 procede al bloque de ejecución 918; de lo contrario, 900 procede al bloque de ejecución 920.
En el bloque de ejecución 918, la rutina de ingesta de muestra de escritura a mano 900 puede proporcionar una indicación completa de la estructura de datos del punto de código de escritura a mano, por ejemplo, a través de la pantalla 215, para informar al usuario del dispositivo del cliente 200 que no se necesitan muestras adicionales de escritura a mano. La rutina de ingesta de muestras de escritura a mano 900 puede luego proceder al bloque de terminación 999.
En el bloque de ejecución 920, la rutina de ingesta de muestra de escritura a mano 900 proporciona una indicación de recogida de muestra suplementaria, por ejemplo, a través de la pantalla 215, para informar al usuario del dispositivo del cliente 200 que la estructura de datos del conjunto de puntos de código de escritura a mano se puede usar, pero que muestras adicionales pueden mejorar los resultados de los servicios de generación de escritura a mano, e invita al usuario a proporcionar muestras adicionales.
En el bloque de decisión 923, si la rutina de ingesta de muestra de escritura a mano 900 obtiene una respuesta afirmativa a la indicación de recogida de muestra suplementaria, entonces la rutina de ingesta de muestra de escritura a mano 900 llama a la subrutina de recogida de muestra suplementaria 1200; de lo contrario, la rutina de ingesta de muestra de escritura a mano 900 continúa hasta el bloque de terminación 999.
Rutina de ingesta de muestra de escritura a mano 900 termina en el bloque de terminación 999.
Subrutina de Recolección de Muestra Inicial
La Figura 10 ilustra una subrutina de recogida inicial de muestra 1000, que puede ser implementada por la aplicación de ingesta de escritura a mano del cliente 228, por ejemplo, en respuesta a una llamada de la rutina de ingesta de muestra de escritura a mano 900.
La subrutina de recogida de muestras iniciales 1000 obtiene una solicitud inicial de recogida de muestras de escritura a través del bloque de ejecución 1003. La solicitud inicial de recogida de muestras de escritura a mano incluye un identificador de usuario.
La subrutina de recogida de muestras iniciales 1000 instancia una estructura de datos del conjunto de puntos de código de escritura a mano y asocia la estructura de datos del conjunto de puntos de código de escritura a mano con el identificador de usuario en el bloque de ejecución 1005.
La subrutina de recogida de muestras iniciales 1000 puede seleccionar una muestra inicial de escritura a través del bloque de ejecución 1008. Por ejemplo, la subrutina de recogida de muestras iniciales 1000 puede obtener un identificador de estilo de escritura asociado con el identificador de usuario y luego obtener un identificador de muestra de escritura asociado con el identificador de estilo de escritura.
La subrutina de recogida de muestras iniciales 1000 puede llamar a continuación una subrutina de recogida de muestras de escritura 1300, descrita a continuación en referencia a las Figuras 13A-B, que puede incluir proporcionar el identificador de muestra de escritura a la subrutina de recogida de muestras de escritura 1300.
La subrutina de recogida de muestras iniciales 1000 puede regresar, por ejemplo, a la rutina de ingesta de muestras de escritura a mano 900, en el bloque de retorno 1099.
Rutina de Subcompletitud de Conjunto de Puntos de Código de Escritura a Mano
Las figuras 11A-B ilustran una subrutina de completitud de conjunto de puntos de código de escritura a mano 1100, que puede ser implementada por la aplicación de ingesta de escritura a mano del cliente 228, por ejemplo, en respuesta a una llamada de la rutina de ingesta de muestra de escritura a mano 900.
Haciendo referencia a la Figura 11A, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 obtiene una solicitud de completitud del conjunto de puntos de código de escritura a mano en el bloque de ejecución 1103. La solicitud de completitud del conjunto de puntos de código de escritura a mano incluye un identificador de usuario, un identificador de estructura de datos del conjunto de puntos de código de escritura a mano y un identificador de estilo de escritura a mano.
La subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 determina uno o más requisitos críticos del conjunto de puntos de código asociados con el identificador de estilo de escritura a mano en el bloque de ejecución 1105.
La subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede establecer un valor del indicador de paso crítico en verdadero en el bloque de ejecución 1108.
En el bloque de bucle de inicio 1110, la subrutina de completitud del conjunto de puntos de código a mano 1100 puede procesar cada requisito del conjunto de puntos de código crítico uno a la vez.
En el bloque de decisión 1113, si la estructura de datos del conjunto de puntos de código de escritura a mano asociada con el identificador de estructura de datos del conjunto de puntos de código de escritura a mano no contiene un número mínimo aceptable de muestras de glifos para el requisito actual del conjunto de puntos de código crítico, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede proceder al bloque de ejecución 1115; de lo contrario, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede proceder al bloque de bucle final 1118.
La subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede establecer el valor del indicador de paso crítico en falso en el bloque de ejecución 1115.
Al finalizar el bloque de bucle 1118, la subrutina de completitud del conjunto de puntos de código a mano 1100 puede volver al bloque de bucle inicial 1110 y procesar el siguiente requisito del conjunto de puntos de código crítico, si lo hay.
En el bloque de decisión 1120, si el indicador de paso crítico falso es igual a verdadero, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede proceder al bloque de ejecución 1123 (Figura 11B); de lo contrario, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede proceder al bloque de retorno 1197.
Haciendo referencia ahora a la Figura 11B, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 determina uno o más requisitos completos del conjunto de puntos de código asociados con el identificador de estilo de escritura a mano en el bloque de ejecución 1123.
La subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede establecer un valor del indicador de paso completo a verdadero en el bloque de ejecución 1125.
En el bloque de bucle de inicio 1128, la subrutina de completitud del conjunto de puntos de código a mano 1100 puede procesar cada requisito de conjunto de puntos de código completo a su vez.
En el bloque de decisión 1130, si la estructura de datos del conjunto de puntos de código de escritura a mano asociada con el identificador de estructura de datos del conjunto de puntos de código de escritura a mano no contiene un número mínimo aceptable de muestras de glifos para el requisito actual del conjunto de puntos de código completo, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 procede al bloque de ejecución 1133; de lo contrario, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede proceder al bloque de bucle final 1135.
La subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede establecer el valor del indicador de paso completo a falso en el bloque de ejecución 1133.
Al finalizar el bloque de bucle 1135, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede volver al bloque de bucle de inicio 1128 y procesar el siguiente requisito completo del conjunto de puntos de código, si lo hay.
En el bloque de decisión 1138, si el indicador de paso completo es falso y es igual a verdadera, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 procede al bloque de retorno 1198; de lo contrario, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 procede al bloque de retorno 1199.
En el bloque de retorno 1197, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede devolver un mensaje de conjunto de puntos de código de escritura a mano que no se puede usar, por ejemplo, a la rutina de ingesta de muestra de escritura a mano 900.
En el bloque de retorno 1198, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede devolver un mensaje de conjunto de puntos de código de escritura a mano completo, por ejemplo, a la rutina de ingesta de muestra de escritura a mano 900.
En el bloque de retorno 1199, la subrutina de completitud del conjunto de puntos de código de escritura a mano 1100 puede devolver un mensaje que se puede usar del conjunto de puntos de código de escritura a mano, por ejemplo, a la rutina de ingesta de muestra de escritura a mano 900.
Subrutina de Recolección de Muestras Suplementarias
La Figura 12 ilustra una subrutina de recogida de muestra suplementaria ilustrativa 1200, que puede ser implementada por la aplicación de ingesta de escritura a mano del cliente 228, por ejemplo, en respuesta a una llamada de la rutina de ingesta de muestra de escritura a mano 900.
La subrutina de recogida de muestras suplementarias 1200 puede obtener una solicitud de recogida suplementaria de muestras de escritura a través del bloque de ejecución 1203. La solicitud de recogida de muestra de escritura complementaria puede incluir un identificador de usuario y/o un identificador de estructura de datos del conjunto de puntos de código de escritura a mano.
La subrutina de recogida de muestras suplementarias 1200 puede analizar una estructura de datos del conjunto de puntos de código de escritura a mano asociada con el identificador de estructura de datos del conjunto de puntos de código de escritura a mano en el bloque de ejecución 1205. Por ejemplo, la subrutina de recogida de muestras complementarias 1200 puede determinar uno o más puntos de código para los cuales el identificador de la estructura de datos del conjunto de puntos de código de escritura a mano no contiene un número mínimo aceptable de muestras de glifos.
La subrutina de recogida de muestras suplementarias 1200 puede seleccionar un objetivo de muestra de escritura suplementaria en el bloque de ejecución 1208. Por ejemplo, la subrutina de recogida de muestras suplementarias 1200 puede seleccionar un objetivo de muestra de escritura suplementaria en función de uno o más puntos de código para los cuales el identificador de la estructura de datos del conjunto de puntos de código de escritura a mano no contiene un número mínimo aceptable de muestras de glifos.
La subrutina de recogida de muestras suplementarias 1200 puede llamar a continuación a la subrutina de recogida de muestras de escritura 1300, descrita a continuación en referencia a las Figuras 13A-B, que puede incluir proporcionar el identificador de destino de muestra de escritura suplementaria a la subrutina de recogida de muestras de escritura 1300.
La subrutina de recogida de muestras complementarias 1200 puede regresar, por ejemplo, a la rutina de ingesta de muestras de escritura a mano 900, en el bloque de retorno 1299.
Subrutina de Recopilación de Muestra de Escritura a Mano
Las figuras 13A-B ilustran una subrutina de recogida de muestras de escritura a modo de ejemplo 1300, que puede ser implementada por la aplicación de ingesta de escritura a mano del cliente 228, por ejemplo, en respuesta a una llamada de la subrutina inicial de recogida de muestras 1000 o la subrutina de recogida de muestras suplementarias 1200.
Haciendo referencia a la Figura 13A, la subrutina de recogida de muestras de escritura a mano 1300 puede obtener una solicitud de recogida de muestra de escritura a mano en el bloque de ejecución 1303.
La subrutina de recogida de muestras de escritura a mano 1300 puede generar una representación visual del texto de la muestra de escritura a mano, por ejemplo, a través de la pantalla 215, en el bloque de ejecución 1305 (ver pantalla de texto de muestra 508, Figura 5).
En el bloque de decisión 1308, si la recogida de datos de muestra de escritura a mano digitalizada está completa, entonces la subrutina de recogida de muestra de escritura a mano 1300 puede proceder al bloque de ejecución 1311; de lo contrario, la subrutina de recogida de muestra de escritura a mano 1300 puede proceder al bloque de decisión 1309.
En el bloque de decisión 1309, si se ha recibido un tiempo de espera de recogida de muestra o una interrupción de cancelación de usuario, la subrutina de recogida de muestra de escritura 1300 puede proceder al bloque de retorno 1398.
En el bloque de ejecución 1310, la subrutina de recogida de muestras de escritura a mano 1300 puede obtener datos de muestra de escritura a mano digitalizados, como los datos de muestra de escritura a mano digitalizados descritos anteriormente con respecto a las Figuras 7A-B, representativos del texto de la muestra de escritura a mano y capturados por la superficie de marcado digitalizadora 218 y el dispositivo de marcado digitalizador 220,
La subrutina de recogida de muestras de escritura a mano 1300 puede proporcionar una imagen digitalizada de muestra de escritura a mano representativa de los datos de muestra de escritura a mano, por ejemplo, a través de la pantalla 215, en el bloque de ejecución 1311.
La subrutina de recogida de muestras de escritura a mano 1300 puede proporcionar una indicación de segmentación de trazos, por ejemplo, a través de la pantalla 215, en el bloque de ejecución 1312.
La subrutina de recogida de muestras de escritura a mano 1300 puede capturar puntos de segmentación de trazos, por ejemplo, a través de la entrada del usuario 213, en el bloque de ejecución 1313.
La subrutina de recogida de muestras de escritura a mano 1300 puede mapear cualquier punto de segmentación de trazos capturados a puntos en los datos digitalizados de la muestra de escritura a mano en el bloque de ejecución 1314.
En el bloque de decisión 1315, si el proceso de segmentación de trazos está completo, la subrutina de recogida de muestras de escritura a mano 1300 puede proceder al bloque de bucle de inicio 1318, descrito a continuación en referencia a la Figura 13B); de lo contrario, la subrutina de recogida de muestras de escritura a mano 1300 puede continuar esperando a que el proceso de segmentación de trazos esté completo.
Haciendo referencia ahora a la Figura 13B, en el bloque de bucle de inicio 1316, la subrutina de recogida de muestras de escritura a mano 1300 puede procesar cada muestra de punto de código en el texto de muestra de escritura a mano sucesivamente.
La subrutina de recogida de muestras de escritura a mano 1300 puede proporcionar una indicación de identificación de trazo en el bloque de ejecución 1318, por ejemplo, a través de la pantalla 215.
En el bloque de decisión 1320, si se obtiene una respuesta de identificación de trazo, por ejemplo, a través de la entrada del usuario 213, la subrutina de recogida de muestras de escritura a mano 1300 puede proceder al bloque de ejecución 1323; de lo contrario, la subrutina de recogida de muestras de escritura a mano 1300 puede continuar esperando una respuesta de identificación de trazo.
La subrutina de recogida de muestras de escritura a mano 1300 puede instanciar un nuevo valor de muestra de punto de código para el punto de código actual del texto de muestra de escritura a mano en la estructura de datos del conjunto de puntos de código de escritura a mano en el bloque de ejecución 1323.
En el bloque de decisión 1325, si se identificaron varios segmentos de trazo para el punto de código actual durante la identificación de trazos, entonces la subrutina de recogida de muestras de escritura a mano 1300 puede proceder al bloque de bucle de inicio 1328; de lo contrario, la subrutina de recogida de muestras de escritura a mano 1300 puede proceder al bloque de ejecución 1338.
En el bloque de bucle de inicio 1328, la subrutina de recogida de muestras de escritura a mano 1300 puede procesar cada segmento de trazo identificado a su vez.
La subrutina de recogida de muestras de escritura a mano 1300 puede instanciar un nuevo valor de segmento para el valor de muestra actual en la estructura de datos del punto de código de escritura a mano en el bloque de ejecución 1330.
La subrutina de recogida de muestras de escritura a mano 1300 puede identificar datos de muestra de escritura a mano digitalizados correspondientes al segmento de trazo actual en el bloque de ejecución 1331.
La subrutina de recogida de muestras de escritura a mano 1300 puede asociar los datos de muestra de escritura a mano digitalizados identificados con el nuevo valor de segmento para el punto de código actual en el bloque de ejecución 1333.
En el bloque de bucle final 1335, la subrutina de recogida de muestras de escritura a mano 1300 puede volver al bloque de bucle inicial 1328 para procesar el siguiente segmento de trazo identificado, si lo hay.
En el bloque de ejecución 1338, la subrutina de recogida de muestras de escritura a mano 1300 puede identificar datos de muestra de escritura a mano digitalizados correspondientes al trazo identificado.
La subrutina de recogida de muestras de escritura a mano 1300 puede asociar los datos de muestra de escritura a mano digitalizados identificados con el nuevo valor de muestra de punto de código para el punto de código actual en el bloque de ejecución 1340.
Al finalizar el bloque de bucle 1343, la subrutina de recogida de muestras de escritura a mano 1300 puede volver al bloque de bucle inicial 1316 para procesar el siguiente punto de código en el texto de muestra de escritura a mano, si lo hay.
En el bloque de terminación 1398 (ver Figura 13A), la subrutina de recogida de muestras de escritura a mano 1300 puede devolver un mensaje de recogida exitosa en el bloque de terminación 1399.
La subrutina de recogida de muestras de escritura a mano 1300 puede devolver un mensaje de recogida exitosa en el bloque de terminación 1399.
Conclusión
Ciertos aspectos de los métodos y sistemas actuales pueden centrarse en métodos implementados por ordenador para obtener datos de escritura a mano digitalizados correspondientes a una muestra de un punto de código necesario de un conjunto de puntos de código. Tales métodos pueden incluir: obtener una muestra de texto escrito a mano digitalizado, la muestra de texto escrito a mano digitalizado que incluye datos de glifos correspondientes a un primer glifo, el primer glifo correspondiendo al punto de código necesario del conjunto de puntos de código; asociar el primer glifo con el punto de código necesario; identificar datos de trazo en los datos de glifos, los datos de trazo correspondiendo a un componente de trazo del primer glifo, determinar una pluralidad de valores dimensionales del componente de trazo en los datos de trazo; y asociar la pluralidad de valores dimensionales con una nueva muestra de punto de código del punto de código necesario en una estructura de datos del conjunto de puntos de código.
Otros aspectos, no mutuamente excluyentes, de los métodos y sistemas actuales se centran en métodos implementados por ordenador para complementar una estructura de datos de punto de código de escritura a mano incompleta correspondiente a un conjunto de puntos de código. Tales métodos incluyen: identificar una pluralidad de puntos de código del conjunto de puntos de código, la pluralidad de puntos de código correspondiendo a puntos de código que necesitan valores dimensionales para al menos una muestra de punto de código; seleccionar una frase de muestra de escritura a mano preferida de una pluralidad de frases de muestra de escritura a mano predefinidas, la frase de muestra de escritura a mano preferida que incluye al menos un primer punto de código de la pluralidad de puntos de código; obtener una muestra de texto escrito a mano digitalizado correspondiente a la frase de muestra de escritura a mano preferida, la muestra de texto escrito a mano digitalizado que incluye datos de glifo correspondientes a un primer glifo, el primer glifo correspondiendo al primer punto de código; asociar el primer glifo con el primer punto de código; identificar datos de trazo en los datos de glifo, los datos de trazo correspondiendo a un componente de trazo del primer glifo, determinar una pluralidad de valores dimensionales del componente de trazo en los datos de trazo; y asociar la pluralidad de valores dimensionales con una nueva muestra de punto de código del punto de código necesario en la estructura de datos del conjunto de puntos de código.
Claims (11)
- REIVINDICACIONESUn sistema de ingesta de datos de escritura a mano (100) útil para mejorar el rendimiento de un generador de imágenes de escritura a mano, el sistema de ingesta de datos de escritura a mano que comprende:un almacén de datos de muestra de escritura a mano (108) que almacena datos correspondientes a una estructura de datos de punto de código de escritura a mano incompleta que incluye una pluralidad de estructuras de datos de muestra de punto de código, cada estructura de datos de muestra de punto de código está asociada con un punto de código de un conjunto de puntos de código e incluye datos correspondientes a una serie basada en el tiempo de valores dimensionales de trazos muestreados; una unidad de procesamiento informático (203) en comunicación de datos con dicho almacén de datos de muestra de escritura a mano (108);una pantalla (215) en comunicación de datos con dicha unidad de procesamiento informático;un dispositivo de superficie de digitalización (218) en comunicación de datos con dicha unidad de procesamiento informático;memoria (205) en comunicación de datos con dicha unidad de procesamiento informático y que contiene instrucciones ejecutables para configurar el sistema de ingesta de datos de escritura a mano para complementar dicha estructura de datos de punto de código de escritura a mano incompleta para hacer que dicha unidad de procesamiento informático realice un método de recogida de muestras que incluye los siguientes pasos:(a) identificar, por dicha unidad de procesamiento informático, un punto de código necesario de dicho conjunto de puntos de código, dicho punto de código necesario corresponde a un punto de código de dicho conjunto de puntos de código que necesita una estructura de datos de muestra de punto de código asociado en dicha estructura de datos de punto de código de escritura a mano incompleta;(b) seleccionar, por dicha unidad de procesamiento informático, una muestra de escritura a mano de entre una pluralidad de muestras de escritura a mano predefinidas, dicha muestra de escritura a mano que incluye dicho punto de código necesario;(c) proporcionar, por dicha pantalla, una representación visual de dicha frase de muestra de escritura a mano;(d) obtener, por dicho dispositivo de superficie de digitalización, datos de textos escritos a mano digitalizados correspondientes a dicha frase de muestra de escritura a mano en respuesta a una o más entradas del usuario con dicha superficie de digitalización;(e) identificar, por dicha unidad de procesamiento informático, una serie basada en el tiempo de valores dimensionales de trazos de muestra dentro de los datos de textos escritos a mano digitalizados que corresponden al punto de código necesario;(f) generar, por dicha unidad de procesamiento informático, una nueva estructura de datos de muestra de punto de código y poblar dicha serie basada en el tiempo de valores dimensionales de trazos de muestra; y(g) asociar, por dicho almacén de datos de muestra de código de escritura a mano, dicha nueva estructura de datos de muestra de punto de código con dicho punto de código necesario en dicha estructura de datos de punto de código de escritura a mano incompleta;caracterizado porque la memoria adicional contiene instrucciones ejecutables para configurar dicho sistema de ingesta de datos de escritura a mano para hacer que dicha unidad de procesamiento informático realice un método de ingesta de muestras (900) que incluye dichos pasos de:instanciar una estructura de datos del conjunto de puntos de código de escritura a mano y realizar una recogida inicial de muestras como respuesta condicional a la ausencia de un conjunto de puntos de código de escritura a mano asociado con un identificador de usuario, en donde la recogida inicial de muestras asocia la estructura de datos del conjunto de puntos de código de escritura a mano con el identificador de usuario;determinar un conjunto de requisitos de conjunto de puntos de código críticos (1105) asociados con un identificador de estilo de escritura a mano;obtener un primer resultado de un proceso de completitud de conjunto de puntos de código de escritura (1100) para un primer conjunto de puntos de código de escritura de dicha estructura de datos del conjunto de puntos de código de escritura a mano resultante de dicha recogida inicial de muestra, en donde el primer resultado indica que dicha estructura de datos del conjunto de puntos de código de escritura no se puede usar cuando el primer conjunto de puntos de código de escritura no cumple con cada uno de los uno o más requisitos críticos de conjunto de puntos de código;realizar dicho método de recogida de muestras después de obtener el primer resultado que indica que dicho primer conjunto de puntos de código de escritura no se puede usar;determinar uno o más requisitos de conjunto de puntos de código de completitud (1123), en donde los uno o más requisitos de conjunto de puntos de código de completitud requieren que la estructura de datos del conjunto de puntos de código de escritura a mano incluya un número mínimo de estructuras de datos de muestra de puntos de código para cada uno de los puntos de código en el subconjunto de puntos de código;obtener un segundo resultado del proceso de completitud del conjunto de puntos de código de escritura a mano (1100) para un segundo conjunto de puntos de código de escritura a mano de dicha estructura de datos del conjunto de puntos de código de escritura a mano resultante de dicho método de recogida de muestras, en donde el segundo resultado indica que dicha estructura de datos del conjunto de puntos de código de escritura a mano se puede usar y no está completa cuando: (i) el segundo conjunto de puntos de código de escritura a mano cumple cada uno de los uno o más requisitos del conjunto de puntos de código crítico, y (ii) el segundo conjunto de puntos de código de escritura a mano no cumple cada uno de los uno o más requisitos del conjunto de puntos de código completo; y proporcionar una indicación de recogida de muestra suplementaria (920) a través de un dispositivo del cliente en respuesta a obtener el segundo resultado que indica que dicha estructura de datos del conjunto de puntos de código de escritura a mano se puede usar y no está completa.
- 2. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha serie basada en el tiempo de valores dimensionales de trazos de muestra incluye una pluralidad de valores de tiempo.
- 3. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha serie basada en el tiempo de valores dimensionales de trazos de muestra incluye una pluralidad de valores de desplazamiento horizontal.
- 4. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha serie basada en el tiempo de valores dimensionales de trazos de muestra incluye una pluralidad de valores de desplazamiento vertical.
- 5. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha serie basada en el tiempo de valores dimensionales de trazos de muestra incluye una pluralidad de valores de desplazamiento rotacional.
- 6. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha serie basada en el tiempo de valores dimensionales de trazos de muestra incluye una pluralidad de valores de desplazamiento angular.
- 7. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha serie basada en el tiempo de valores dimensionales de trazos de muestra incluye una pluralidad de valores de presión.
- 8. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha serie basada en el tiempo de valores dimensionales de trazos de muestra incluye una pluralidad de valores de tiempo, una pluralidad de valores de desplazamiento horizontal, una pluralidad de valores de desplazamiento vertical, una pluralidad de valores de desplazamiento rotacional, una pluralidad de valores de desplazamiento angular y una pluralidad de valores de presión.
- 9. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, además comprende un dispositivo de marcado digital y el método de recogida de muestras incluye obtener, por dicho dispositivo de marcado digital, datos de textos escritos a mano digitalizados correspondientes a dicha frase de muestra escrita a mano.
- 10. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha memoria en comunicación de datos con dicha unidad de procesamiento informático y que contiene instrucciones ejecutables para configurar dicho sistema de ingesta de datos de escritura a mano para hacer que dicha unidad de procesamiento informático realice dicho método de ingesta de muestra está configurada para obtener dicho identificador de usuario a través de una entrada de usuario en respuesta a la interacción de un usuario con una interfaz de inicio de sesión de un dispositivo del cliente.
- 11. El sistema de ingesta de datos de escritura a mano de la reivindicación 1, en donde dicha memoria en comunicación de datos con dicha unidad de procesamiento informático y que contiene instrucciones ejecutables para configurar dicho sistema de ingesta de datos de escritura a mano para hacer que dicha unidad de procesamiento informático realice dicho método de ingesta de muestra, está configurada para hacer que dicha unidad de procesamiento informático realice dicho método de recogida de muestra nuevamente como respuesta condicional a una respuesta afirmativa después de la indicación de recogida de muestra suplementaria.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/273,610 US9934422B1 (en) | 2016-09-22 | 2016-09-22 | Digitized handwriting sample ingestion systems and methods |
| PCT/US2017/053019 WO2018057932A1 (en) | 2016-09-22 | 2017-09-22 | Digitized handwriting sample ingestion systems and methods |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2967808T3 true ES2967808T3 (es) | 2024-05-03 |
Family
ID=61617523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES17854011T Active ES2967808T3 (es) | 2016-09-22 | 2017-09-22 | Sistemas y métodos de ingesta de muestras de escritura digitalizada |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US9934422B1 (es) |
| EP (1) | EP3555809B1 (es) |
| CA (1) | CA3042505A1 (es) |
| ES (1) | ES2967808T3 (es) |
| PL (1) | PL3555809T3 (es) |
| TW (1) | TW201818203A (es) |
| WO (1) | WO2018057932A1 (es) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109493400B (zh) * | 2018-09-18 | 2024-01-19 | 平安科技(深圳)有限公司 | 手写样本生成方法、装置、计算机设备及存储介质 |
| CN110532890B (zh) * | 2019-08-05 | 2021-10-22 | 安徽大学 | 一种基于云端、边缘端和设备端的分布式孪生卷积神经网络行人重识别方法 |
| US20230278228A1 (en) * | 2019-09-18 | 2023-09-07 | ConversionRobots Inc. | System and method for generating a printed copy of a print file according to a dynamic pressure profile |
| US11257267B2 (en) * | 2019-09-18 | 2022-02-22 | ConversionRobotics Inc. | Method for generating a handwriting vector |
| CN113821198B (zh) * | 2021-09-14 | 2023-10-24 | 中南大学 | 一种代码补全方法、系统、存储介质及计算机程序产品 |
| CN114399772B (zh) * | 2021-12-20 | 2024-02-27 | 北京百度网讯科技有限公司 | 样本生成、模型训练和轨迹识别方法、装置、设备和介质 |
| CN114973279B (zh) * | 2022-06-17 | 2023-02-17 | 北京百度网讯科技有限公司 | 手写文本图像生成模型的训练方法、装置和存储介质 |
| WO2025089607A1 (ko) * | 2023-10-25 | 2025-05-01 | 삼성전자주식회사 | 필기 콘텐트를 획득하기 위한 전자 장치 및 그 방법 |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5121441A (en) * | 1990-09-21 | 1992-06-09 | International Business Machines Corporation | Robust prototype establishment in an on-line handwriting recognition system |
| US5412771A (en) | 1992-02-07 | 1995-05-02 | Signature Software, Inc. | Generation of interdependent font characters based on ligature and glyph categorizations |
| US6256410B1 (en) * | 1998-07-30 | 2001-07-03 | International Business Machines Corp. | Methods and apparatus for customizing handwriting models to individual writers |
| US6298154B1 (en) * | 1999-03-29 | 2001-10-02 | Eastman Kodak Company | Method for rendering improved personal handwriting |
| KR20010102224A (ko) * | 1999-12-17 | 2001-11-15 | 요트.게.아. 롤페즈 | 수기 입력 재생 장치 및 시스템 |
| US6958755B1 (en) * | 2002-02-06 | 2005-10-25 | Bellsouth Intellectual Property Corporation | Personalized computer fonts |
| US7227993B2 (en) * | 2003-01-27 | 2007-06-05 | Microsoft Corporation | Learning-based system and process for synthesizing cursive handwriting |
| US7483570B1 (en) | 2004-02-11 | 2009-01-27 | Knight Andrew F | Software and method for creating a dynamic handwriting font |
| US7352899B2 (en) | 2004-10-12 | 2008-04-01 | Loeb Enterprises, Llc | Realistic machine-generated handwriting with personalized fonts |
| US7697001B2 (en) * | 2005-01-31 | 2010-04-13 | Microsoft Corporation | Personalized ink font |
| RO121497B1 (ro) | 2005-02-09 | 2007-06-29 | Softwin S.R.L. | Sistem informatic şi metodă pentru achiziţia, analiza şi autentificarea semnăturii olografe |
| KR100801224B1 (ko) * | 2006-08-16 | 2008-02-05 | 장경호 | 사용자 필적 구현 시스템 및 방법 |
| US7983478B2 (en) * | 2007-08-10 | 2011-07-19 | Microsoft Corporation | Hidden markov model based handwriting/calligraphy generation |
| US20120001922A1 (en) * | 2009-01-26 | 2012-01-05 | Escher Marc | System and method for creating and sharing personalized fonts on a client/server architecture |
| US8351700B2 (en) | 2009-04-08 | 2013-01-08 | Gracious Eloise, Inc. | Variable glyph system and method |
| US8749800B2 (en) | 2009-12-30 | 2014-06-10 | Eastman Kodak Company | System for generating personalized documents |
| US20130106865A1 (en) | 2010-07-23 | 2013-05-02 | Sony Ericsson Mobile Communications Ab | Device, method and computer program product |
| US20130181995A1 (en) * | 2010-09-21 | 2013-07-18 | Hewlett-Packard Developement Company, L.P. | Handwritten character font library |
| US9230514B1 (en) | 2012-06-20 | 2016-01-05 | Amazon Technologies, Inc. | Simulating variances in human writing with digital typography |
| US20140363082A1 (en) * | 2013-06-09 | 2014-12-11 | Apple Inc. | Integrating stroke-distribution information into spatial feature extraction for automatic handwriting recognition |
| JP6392036B2 (ja) * | 2014-09-03 | 2018-09-19 | 株式会社東芝 | 電子機器および方法 |
| TWI569176B (zh) * | 2015-01-16 | 2017-02-01 | 新普科技股份有限公司 | 手寫軌跡識別方法與系統 |
| US10055659B2 (en) * | 2015-05-04 | 2018-08-21 | King Fahd University Of Petroleum And Minerals | Systems and associated methods for arabic handwriting using synthetic extension concatenation and synthesis |
| US9633255B2 (en) * | 2015-06-26 | 2017-04-25 | Intel Corporation | Substitution of handwritten text with a custom handwritten font |
-
2016
- 2016-09-22 US US15/273,610 patent/US9934422B1/en active Active
-
2017
- 2017-09-21 TW TW106132386A patent/TW201818203A/zh unknown
- 2017-09-22 EP EP17854011.8A patent/EP3555809B1/en active Active
- 2017-09-22 ES ES17854011T patent/ES2967808T3/es active Active
- 2017-09-22 CA CA3042505A patent/CA3042505A1/en active Pending
- 2017-09-22 WO PCT/US2017/053019 patent/WO2018057932A1/en not_active Ceased
- 2017-09-22 PL PL17854011.8T patent/PL3555809T3/pl unknown
-
2018
- 2018-03-06 US US15/913,311 patent/US20180196994A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20180196994A1 (en) | 2018-07-12 |
| TW201818203A (zh) | 2018-05-16 |
| EP3555809B1 (en) | 2023-11-08 |
| PL3555809T3 (pl) | 2024-04-08 |
| EP3555809A1 (en) | 2019-10-23 |
| EP3555809C0 (en) | 2023-11-08 |
| EP3555809A4 (en) | 2021-05-05 |
| WO2018057932A1 (en) | 2018-03-29 |
| US9934422B1 (en) | 2018-04-03 |
| US20180082105A1 (en) | 2018-03-22 |
| CA3042505A1 (en) | 2018-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2967808T3 (es) | Sistemas y métodos de ingesta de muestras de escritura digitalizada | |
| CN111695518B (zh) | 结构化文档信息标注的方法、装置及电子设备 | |
| US20220358091A1 (en) | System and method for integrating message content into a target data processing device | |
| RU2634194C1 (ru) | Верификация результатов оптического распознавания символов | |
| CN102262641B (zh) | 网络查询中的在线手写识别系统和方法 | |
| US20040021700A1 (en) | Correcting recognition results associated with user input | |
| US20180129877A1 (en) | Digitized handwriting sample ingestion systems and methods | |
| CN111507354B (zh) | 信息抽取方法、装置、设备以及存储介质 | |
| JP2004152040A (ja) | 手書き入力装置、プログラムおよび手書き入力方法システム | |
| US11551480B2 (en) | Handwriting input apparatus, handwriting input method, program, and input system | |
| JP5284464B2 (ja) | ブート前ログインに対応するシステム及び方法 | |
| KR102142238B1 (ko) | 소정 이미지에 포함된 축약어, 손글씨, 비정형 단어 및 문장과 같은 텍스트 정보를 추출한 후 그 추출 결과를 소정 언어로 자동 번역하는 방법 | |
| EP4002204A1 (en) | Digital ink processing system, method, and program | |
| US20110298719A1 (en) | Method and apparatus for inputting chinese characters | |
| CN111783393B (zh) | 双语对照阅读时的手写笔记同步方法、设备及存储介质 | |
| CN111476090B (zh) | 水印识别方法和装置 | |
| US9600480B2 (en) | Systems and methods for indexing and linking electronic documents | |
| US20080294652A1 (en) | Personalized Identification Of System Resources | |
| KR20140094057A (ko) | 기호코드 인식 방법 및 시스템 | |
| JP5944338B2 (ja) | 情報処理装置、情報処理プログラム、および情報処理方法 | |
| JP7091725B2 (ja) | 情報処理装置、検索方法、プログラム、ネットワークシステム | |
| JP2025505904A (ja) | データベース生成方法及び装置、電子機器並びに媒体 | |
| Mun | APPLICATION DEVELOPMENT FOR TRADITIONAL CHINESE MEDICINE HERB | |
| JP4523446B2 (ja) | カード作成システムおよび方法 | |
| JP5490933B2 (ja) | ブート前ログインに対応するシステム及び方法 |