WO2014205648A1 - Handwriting recognition based on writing speed - Google Patents

Handwriting recognition based on writing speed Download PDF

Info

Publication number
WO2014205648A1
WO2014205648A1 PCT/CN2013/077867 CN2013077867W WO2014205648A1 WO 2014205648 A1 WO2014205648 A1 WO 2014205648A1 CN 2013077867 W CN2013077867 W CN 2013077867W WO 2014205648 A1 WO2014205648 A1 WO 2014205648A1
Authority
WO
WIPO (PCT)
Prior art keywords
handwriting
user
indication
speed
timeout period
Prior art date
Application number
PCT/CN2013/077867
Other languages
French (fr)
Inventor
Liang Zhang
Original Assignee
Nokia Corporation
Nokia (China) Investment Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corporation, Nokia (China) Investment Co., Ltd. filed Critical Nokia Corporation
Priority to PCT/CN2013/077867 priority Critical patent/WO2014205648A1/en
Publication of WO2014205648A1 publication Critical patent/WO2014205648A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink

Definitions

  • An example embodiment of the present invention relates generally to handwriting recognition, and more particularly, to a method, apparatus and computer program product for identifying handwritten symbols based on a writing speed.
  • Handwriting recognition systems are used in various computing devices including personal computers, mobile devices, and the like. Such systems may be used to receive a handwritten input, and identify the symbols and/or words provided. Some systems may display the system identified symbols so that a user may verify the interpretation.
  • a method, apparatus, and computer program product are therefore provided for identifying handwritten symbols based on a handwriting speed.
  • a method including receiving an indication of a user's handwriting speed, and determining a timeout period for handwriting recognition based on the handwriting speed. An expiration of the timeout period signals an end of one symbol and a start of a next symbol.
  • receiving an indication of a user's handwriting speed includes receiving an indication of a speed of a handwriting stroke across a display, receiving an indication of a length of a pause between at least two handwriting strokes, and/or receiving an indication of a speed of at least one previously provided handwritten symbol.
  • the method further includes adjusting the timeout period based on a change in handwriting speed, such as decreasing the timeout period based on faster handwriting, and increasing the timeout period based on slower handwriting.
  • receiving an indication of a user's handwriting speed includes prompting a user to provide a sample handwriting input as training data.
  • the method may further include prompting the user to provide a sample handwriting input as training data, receiving the training data provided by the user, and determining the timeout period based on the training data.
  • the method may include prompting a user to provide at least two sample handwriting inputs at different speeds as training data.
  • an apparatus is provided that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least receive an indication of a user's handwriting speed, and determine a timeout period for handwriting recognition based on the handwriting speed. Expiration of the timeout period signals an end of one symbol and a start of a next symbol.
  • the at least one memory and the computer program code are further configured to, with the processor, adjust the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting.
  • receiving an indication of a user's handwriting speed comprises prompting a user to provide a sample handwriting input as training data.
  • the at least one memory and the computer program code are further configured to, with the processor, prompt the user to provide a sample handwriting input as training data, receive the training data provided by the user, and determine the timeout period based on the training data.
  • a computer program product including at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein with the computer- executable program code instructions comprising program code instructions to receive an indication of a user's handwriting speed, and determine a timeout period for handwriting recognition based on the handwriting speed. Expiration of the timeout period signals an end of one symbol and a start of a next symbol.
  • receiving an indication of a user's handwriting speed includes receiving an indication of a speed of a handwriting stroke across a display, receiving an indication of a length of a pause between at least two handwriting strokes, and/or receiving an indication of a speed of at least one previously provided handwritten symbol.
  • the computer-executable program code instructions may further include program code instructions to adjust the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting.
  • Receiving an indication of a user's handwriting speed comprises prompting a user to provide a sample handwriting input as training data.
  • the computer-executable program code instructions may further include program code instructions to prompt the user to provide a sample handwriting input as training data, receive the training data provided by the user, and determine the timeout period based on the training data.
  • an apparatus in yet another embodiment, includes means for receiving an indication of a user's handwriting speed, and means for determining a timeout period for handwriting recognition based on the handwriting speed. An expiration of the timeout period signals an end of one symbol and a start of a next symbol.
  • Figure 1 is a block diagram of an apparatus that may be configured to implement example embodiments of the present invention
  • Figure 2 is a flowchart illustrating operations to identify a handwritten symbol based on a handwriting speed in accordance with an example embodiment of the present invention.
  • Figure 3 is a flowchart illustrating operations to train a device with a user's handwriting samples in accordance with an example embodiment of the present invention.
  • circuitry refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present.
  • This definition of 'circuitry' applies to all uses of this term herein, including in any claims.
  • the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.
  • the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
  • a method, apparatus and computer program product are provided for identifying handwritten symbols based on a handwriting speed.
  • individual symbols may have an individual meaning, and may also be considered a radical which may be combined with other radicals to form a complete symbol with a different meaning from that of the individual symbol alone.
  • symbols for "sun” and “moon” may be combined as radicals to form a symbol for "bright.”
  • Any number of radicals may be written on top of one another, above, below and/or side by side, and may be adjacent and/or adjoined to form a complete symbol.
  • a timeout period is used to identify the completion of one symbol, and the start of a next. If a user provides handwritten input, then pauses for the duration of the timeout period, a system may recognize the input as a complete symbol, and any subsequent input as a separate symbol.
  • Example embodiments may determine a timeout period based on a handwriting speed, thereby improving the handwriting recognition process by reducing the number of premature symbol completions detected by a device, and/or minimizing the amount of time some users need to wait between the writing of symbols, for example.
  • Chinese symbols are used throughout merely as an example and it will be appreciated that embodiments may be applied to other written languages, and/or other types of character input.
  • apparatus 101 for identifying handwritten symbols based on a handwriting speed may include or otherwise be in communication with a processor 20, user interface 22, communication interface 24, and memory device 26.
  • Apparatus 101 may be embodied by a wide variety of devices including mobile terminals, such as personal digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, laptop computers, tablet computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, navigation devices, or any combination of the aforementioned, and other types of voice and text communications systems.
  • PDAs personal digital assistants
  • GPS global positioning system
  • the apparatus 101 need not necessarily be embodied by a mobile device and, instead, may be embodied in a fixed device, such as a computer or workstation.
  • the processor 20 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor 20) may be in communication with the memory device 26 via a bus for passing information among components of the apparatus 101 .
  • the memory device 26 may include, for example, one or more volatile and/or non-volatile memories.
  • the memory device 26 may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor 20).
  • the memory device 26 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention.
  • the memory device 26 could be configured to buffer input data for processing by the processor 20.
  • the memory device 26 could be configured to store instructions for execution by the processor 20.
  • the apparatus 101 may, in some embodiments, be embodied in various devices as described above. However, in some embodiments, the apparatus 101 may be embodied as a chip or chip set. In other words, the apparatus 101 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus 101 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
  • a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
  • the processor 20 may be embodied in a number of different ways.
  • the processor 20 may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC
  • the processor 20 may include one or more processing cores configured to perform independently.
  • a multi-core processor may enable multiprocessing within a single physical package.
  • the processor 20 may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
  • the processor 20 may be configured to execute instructions stored in the memory device 26 or otherwise accessible to the processor 20. Alternatively or additionally, the processor 20 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 20 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor 20 is embodied as an ASIC, FPGA or the like, the processor 20 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 20 is embodied as an executor of software instructions, the instructions may specifically configure the processor 20 to perform the algorithms and/or operations described herein when the instructions are executed.
  • the processor 20 may be a processor of a specific device (e.g., a mobile terminal or network entity) configured to employ an embodiment of the present invention by further configuration of the processor 20 by instructions for performing the algorithms and/or operations described herein.
  • the processor 20 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 20.
  • ALU arithmetic logic unit
  • the communication interface 24 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 101.
  • the communication interface 24 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network.
  • the communication interface 24 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s).
  • the communication interface 24 may alternatively or also support wired communication.
  • the communication interface 24 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
  • DSL digital subscriber line
  • USB universal serial bus
  • the apparatus 101 may include a user interface 22 that may, in turn, be in communication with the processor 20 to receive an indication of a user input and/or to cause provision of an audible, visual, mechanical or other output to the user.
  • user interface 22 may be any means by which a user may provide a
  • the user interface 22 may include, for example, a stylus, a keyboard, a mouse, a joystick, a display, a touch screen(s), touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms.
  • the processor 20 may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as, for example, a speaker, ringer, microphone, display, and/or the like.
  • the processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 20 (e.g., memory device 26, and/or the like).
  • apparatus 101 may receive the handwritten input.
  • a user terminal 1 10 may receive the handwritten input that is provided to and analyzed by the apparatus 101 . Any number of user terminal(s) 1 10 may connect to apparatus 101 via a network 100.
  • User terminal 1 10 may be embodied as a mobile terminal, such as personal digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, laptop computers, tablet computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, navigation devices, or any combination of the aforementioned, and other types of voice and text communications systems.
  • PDAs personal digital assistants
  • the user terminal 110 need not necessarily be embodied by a mobile device and, instead, may be embodied in a fixed device, such as a computer or workstation.
  • the user terminal 110 may include a user interface, similar to the user interface 22, to enable a user in an example embodiment to provide handwritten input, to ultimately be processed by the apparatus 101 .
  • Network 100 may be embodied in a local area network, a wide area network, the Internet, any other form of a network, or in any combination thereof, including proprietary private and semi-private networks and public networks.
  • the network 100 may comprise a wire line network, wireless network (e.g., a cellular network, wireless local area network, wireless wide area network, some combination thereof, or the like), or a combination thereof, and in some example embodiments comprises at least a portion of the Internet.
  • a user terminal 1 10 may be directly coupled to an apparatus 101 .
  • the apparatus 101 may be embodied as or otherwise associated with a user terminal 1 10, the user terminal 1 10 receiving handwritten input, and providing the handwriting recognition operations described herein.
  • FIG. 2 is a flowchart of operations performed by an apparatus 101 , according to an example embodiment, for determining a timeout period to be used in handwriting recognition, based on a handwriting speed.
  • apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a user's handwriting speed.
  • processor 20, user interface 22, and/or communication interface 24 for receiving an indication of a user's handwriting speed.
  • the handwriting speed may be provided by a user, for example, by selecting various speeds from settings, such as slow, average, and/or fast.
  • the apparatus 101 may additionally or alternatively determine a handwriting speed indirectly, such as described below.
  • the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a speed of a handwriting stroke across a display.
  • the apparatus 101 may detect the speed of individual handwriting strokes, such as in terms of symbols per minute. The speed(s) may be used to determine a timeout period, such as described below with respect to operation 220.
  • the apparatus 101 may also or alternatively include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a speed of at least one previously provided handwritten symbol.
  • the processor 20 may detect a speed, such as symbols per minute, at which the user provides the handwritten input.
  • the speed determined by the processor may, for example, may be stored by memory device 26 for subsequent retrieval as an indication of the speed of at least one previously provided handwritten symbol. Such a speed may be used to determine a timeout period, such as described below with respect to operation 220.
  • two factors of writing speed may be considered.
  • One is the speed of any one stroke, such as, for example, the stroke as a horizontal line or vertical line.
  • the speed for this stroke may be determined by dividing the distance by time.
  • the unit of speed may then be represented in (pixels/millisecond).
  • Another aspect that may be considered is the time gap between two adjacent strokes. For example, a character consists of 5 strokes so there are 4 time gaps.
  • the timeout value may be determined such that the timeout value is not shorter than the shortest time gap.
  • Some users may write Chinese characters in one stroke. In this case, stroke speed may be a more reliable measurement.
  • Some strokes may actually be a dot and make it difficult to calculate the speed for that stroke accurately. So in this case, time gap information may provide better data in determining a timeout value.
  • the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a length of a pause between at least two handwriting strokes.
  • a user may pause slightly at the end of a stroke and beginning of a next stroke, as the input is provided to user interface 22.
  • the apparatus 101 may detect this length of a pause between strokes, and consider it an aspect of a user's handwriting speed. The length of a pause may then be considered in determining a timeout period, such as described below with respect to operation 220.
  • the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for determining a timeout period based on the handwriting speed (such as any of the information received in any of operations 200-210 including an indication of the user's handwriting speed and the indication of the length of a pause between handwriting strokes).
  • a timeout period based on the handwriting speed (such as any of the information received in any of operations 200-210 including an indication of the user's handwriting speed and the indication of the length of a pause between handwriting strokes).
  • an expiration of the timeout period signals an end of one symbol and a start of the next.
  • the timeout period may therefore be relatively shorter for a user with fast handwriting, compared with a longer timeout period for a user with relatively slower handwriting.
  • the timeout period may vary in a direct relationship to the time spent in writing the symbols and, in one embodiment, the timeout period may be proportional to the amount of time spent writing the symbols.
  • a table may map writing speeds and or writing speed ranges to timeout periods. This may lead to the apparatus 101 , and/or other handwriting recognition system more accurately detecting the start of a new symbol, and ultimately, improving the accuracy and/or efficiency of the handwriting recognition operations altogether.
  • the apparatus 101 such as the processor 20, may determine the timeout period based upon the handwriting speed in various manners.
  • the apparatus 101 may reference a plurality of predefined ranges of handwriting speed and the associated timeout periods, such as may be stored by the memory device 22, and may determine the timeout period to be equal to the timeout period associated with the range of handwriting speed that includes the handwriting speed of the user in this example embodiment.
  • the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for adjusting the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting.
  • the apparatus 101 may repeat any of operations 200-220, as a user continues providing handwritten input, to account for changes in speed. Therefore the timeout period may be considered a dynamic timeout period. Changes in the handwriting speed, which may be due to various factors, may then be taken into account.
  • the apparatus 101 and/or other handwriting recognition system may therefore adjust the timeout period for which a user pauses before the start of a new symbol is detected, by adding or
  • the timeout period and the handwriting recognition may be dependent on the situation of the user or a specific use of a device, such as in situations where the user is multi-tasking and the input may be provided at a slower speed than what is customary for the user.
  • Figure 3 illustrates operations for training an apparatus 101 with a user's sample handwriting.
  • the operations of Figure 3 are optional, and in some embodiments may be considered the indication of a user's handwriting speed (such as with respect to operation 200).
  • the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for prompting a user to provide a sample handwriting input as training data.
  • the apparatus 101 may therefore display instructions to a user via a user interface 22.
  • the user may provide to a device, such as user terminal 1 10, apparatus 101 , and/or the like, a handwriting sample.
  • the apparatus 101 may include means, such as communication interface 24, for receiving the handwriting sample as training data.
  • the handwriting sample may therefore be used by apparatus 101 , and/or processed according to any of the operations of Figure 2, to determine a timeout period to be used in handwriting recognition.
  • the prompt provided to a user in order to train the apparatus 101 may be more specific.
  • the apparatus 101 may prompt the user to provide handwriting at different speeds.
  • the apparatus 101 with communication interface 24, may specifically prompt the user to provide any or each of a relatively slow, normal, and/or fast handwriting sample.
  • the apparatus 101 of this example embodiment may include means, such as user interface 22, for receiving a normal handwriting sample provided by the user as training data.
  • the apparatus 101 of this example embodiment may receive a fast handwriting sample provided by the user as training data, and/or a slow handwriting sample.
  • the apparatus 101 may therefore use any of the training data as received in any of operation 310, to determine the timeout period.
  • the apparatus 101 may utilize the various training data and determine a probable range of handwriting speeds, and/or a range of timeout periods accordingly.
  • the apparatus 101 may therefore determine an appropriate timeout period to be used during subsequent handwriting recognition operations, based on the training data.
  • the timeout period may be determined in various manners.
  • the apparatus 101 such as the processor 20, may determine the handwriting speed and then determine the timeout period associated with the range of handwriting speeds that includes the handwriting speed determined from the training data.
  • a timeout period may be determined for each handwriting sample in this same manner.
  • the apparatus 101 may retrieve the corresponding timeout period for use during handwriting recognition.
  • a user could be prompted to make a manual selection of an input character (e.g., without using a timeout).
  • the processor 20 may then collect date regarding the user's handwriting speed. After this data has been acquired, the user (or apparatus) could determine and turn on a timeout period, as described below.
  • the apparatus 101 may determine different slow, normal, fast, handwriting speeds to be used in different scenarios. In some embodiments, various defaults or values may be normalized in some way.
  • the apparatus 101 may provide a dynamic timeout period, as described above. Utilizing a dynamic timeout period, based on a user's handwriting speed, may allow the apparatus 101 and/or other handwriting recognition system to more accurately detect the end of writing of one symbol and the start of a next. This may ultimately lead to more accurate and efficient handwriting recognition, and may improve user experience by setting an appropriate timeout period for which a user pauses and the completion of one character.
  • Figures 2 and 3 are flowcharts of operations performed by an apparatus 101 . It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 26 of an apparatus 101 employing an embodiment of the present invention and executed by a processor 20 of the apparatus 101.
  • any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks.
  • These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
  • blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
  • certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.

Abstract

A method, apparatus, and computer program product are provided for identifying handwritten symbols based on a writing speed. The technique includes receiving an indication of a writing speed, which may be determined based on various factors relating to a user's writing speed, and determining a timeout period based on the writing speed. The technique may be useful, for example, in recognition of Chinese writing, in which timeout periods are used to distinguish the end of one symbol and the start of a next symbol. A user may also train a device with sample handwriting. Samples in different speeds may be provided to determine an appropriate timeout period. Timeout periods may be adjusted as handwriting speeds change.

Description

HANDWRITING RECOGNITION BASED ON WRITING SPEED
TECHNOLOGICAL FIELD
An example embodiment of the present invention relates generally to handwriting recognition, and more particularly, to a method, apparatus and computer program product for identifying handwritten symbols based on a writing speed.
BACKGROUND
Handwriting recognition systems are used in various computing devices including personal computers, mobile devices, and the like. Such systems may be used to receive a handwritten input, and identify the symbols and/or words provided. Some systems may display the system identified symbols so that a user may verify the interpretation.
BRIEF SUMMARY
A method, apparatus, and computer program product are therefore provided for identifying handwritten symbols based on a handwriting speed. In an example
embodiment, a method is provided, including receiving an indication of a user's handwriting speed, and determining a timeout period for handwriting recognition based on the handwriting speed. An expiration of the timeout period signals an end of one symbol and a start of a next symbol.
In some embodiments, receiving an indication of a user's handwriting speed includes receiving an indication of a speed of a handwriting stroke across a display, receiving an indication of a length of a pause between at least two handwriting strokes, and/or receiving an indication of a speed of at least one previously provided handwritten symbol.
In some embodiments, the method further includes adjusting the timeout period based on a change in handwriting speed, such as decreasing the timeout period based on faster handwriting, and increasing the timeout period based on slower handwriting. In some embodiments, receiving an indication of a user's handwriting speed includes prompting a user to provide a sample handwriting input as training data.
In some embodiments, the method may further include prompting the user to provide a sample handwriting input as training data, receiving the training data provided by the user, and determining the timeout period based on the training data. In some embodiments the method may include prompting a user to provide at least two sample handwriting inputs at different speeds as training data. In an example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least receive an indication of a user's handwriting speed, and determine a timeout period for handwriting recognition based on the handwriting speed. Expiration of the timeout period signals an end of one symbol and a start of a next symbol.
In some embodiments, the at least one memory and the computer program code are further configured to, with the processor, adjust the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting. In some embodiments, receiving an indication of a user's handwriting speed comprises prompting a user to provide a sample handwriting input as training data. The at least one memory and the computer program code are further configured to, with the processor, prompt the user to provide a sample handwriting input as training data, receive the training data provided by the user, and determine the timeout period based on the training data.
In another example embodiment, a computer program product is provided, including at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein with the computer- executable program code instructions comprising program code instructions to receive an indication of a user's handwriting speed, and determine a timeout period for handwriting recognition based on the handwriting speed. Expiration of the timeout period signals an end of one symbol and a start of a next symbol.
In some embodiments, receiving an indication of a user's handwriting speed includes receiving an indication of a speed of a handwriting stroke across a display, receiving an indication of a length of a pause between at least two handwriting strokes, and/or receiving an indication of a speed of at least one previously provided handwritten symbol. The computer-executable program code instructions may further include program code instructions to adjust the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting. Receiving an indication of a user's handwriting speed comprises prompting a user to provide a sample handwriting input as training data. The computer-executable program code instructions may further include program code instructions to prompt the user to provide a sample handwriting input as training data, receive the training data provided by the user, and determine the timeout period based on the training data.
In yet another embodiment, an apparatus is provided that includes means for receiving an indication of a user's handwriting speed, and means for determining a timeout period for handwriting recognition based on the handwriting speed. An expiration of the timeout period signals an end of one symbol and a start of a next symbol.
BRIEF DESCRIPTION OF THE DRAWINGS
Having thus described certain example embodiments of the present invention in general terms, reference will hereinafter be made to the accompanying drawings which are not necessarily drawn to scale, and wherein:
Figure 1 is a block diagram of an apparatus that may be configured to implement example embodiments of the present invention;
Figure 2 is a flowchart illustrating operations to identify a handwritten symbol based on a handwriting speed in accordance with an example embodiment of the present invention; and
Figure 3 is a flowchart illustrating operations to train a device with a user's handwriting samples in accordance with an example embodiment of the present invention.
DETAILED DESCRIPTION
Some example embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms "data," "content," "information," and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, as used herein, the term 'circuitry' refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
As defined herein, a "computer-readable storage medium," which refers to a physical storage medium (e.g., volatile or non-volatile memory device), may be differentiated from a "computer-readable transmission medium," which refers to an electromagnetic signal.
As described below, a method, apparatus and computer program product are provided for identifying handwritten symbols based on a handwriting speed. In some natural languages, such as Chinese, individual symbols may have an individual meaning, and may also be considered a radical which may be combined with other radicals to form a complete symbol with a different meaning from that of the individual symbol alone. For example, symbols for "sun" and "moon" may be combined as radicals to form a symbol for "bright." Any number of radicals may be written on top of one another, above, below and/or side by side, and may be adjacent and/or adjoined to form a complete symbol.
Because of the complex nature of the radicals and complete symbols comprising multiple radicals, it is common for a user to pause between the writing of symbols.
Therefore, in some systems, a timeout period is used to identify the completion of one symbol, and the start of a next. If a user provides handwritten input, then pauses for the duration of the timeout period, a system may recognize the input as a complete symbol, and any subsequent input as a separate symbol.
This presents problems for some users. Fast writers may draw a symbol very quickly then have to wait disproportionately long at the end of each symbol for a system to recognize they are ready to start the next symbol. If a user should inadvertently pause for too long during the entry of a symbol, then a partial symbol may be deemed complete and the subsequent stroke will begin a new symbol resulting in two partial symbols, each identified incorrectly.
Example embodiments may determine a timeout period based on a handwriting speed, thereby improving the handwriting recognition process by reducing the number of premature symbol completions detected by a device, and/or minimizing the amount of time some users need to wait between the writing of symbols, for example. Chinese symbols are used throughout merely as an example and it will be appreciated that embodiments may be applied to other written languages, and/or other types of character input.
Referring now to Figure 1 , apparatus 101 for identifying handwritten symbols based on a handwriting speed may include or otherwise be in communication with a processor 20, user interface 22, communication interface 24, and memory device 26. Apparatus 101 may be embodied by a wide variety of devices including mobile terminals, such as personal digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, laptop computers, tablet computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, navigation devices, or any combination of the aforementioned, and other types of voice and text communications systems. The apparatus 101 need not necessarily be embodied by a mobile device and, instead, may be embodied in a fixed device, such as a computer or workstation.
In some embodiments, the processor 20 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor 20) may be in communication with the memory device 26 via a bus for passing information among components of the apparatus 101 . The memory device 26 may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device 26 may be an electronic storage device (e.g., a computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor 20). The memory device 26 may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention. For example, the memory device 26 could be configured to buffer input data for processing by the processor 20. Additionally or alternatively, the memory device 26 could be configured to store instructions for execution by the processor 20.
The apparatus 101 may, in some embodiments, be embodied in various devices as described above. However, in some embodiments, the apparatus 101 may be embodied as a chip or chip set. In other words, the apparatus 101 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus 101 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip." As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
The processor 20 may be embodied in a number of different ways. For example, the processor 20 may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC
(application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processor 20 may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor 20 may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
In an example embodiment, the processor 20 may be configured to execute instructions stored in the memory device 26 or otherwise accessible to the processor 20. Alternatively or additionally, the processor 20 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 20 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor 20 is embodied as an ASIC, FPGA or the like, the processor 20 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 20 is embodied as an executor of software instructions, the instructions may specifically configure the processor 20 to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor 20 may be a processor of a specific device (e.g., a mobile terminal or network entity) configured to employ an embodiment of the present invention by further configuration of the processor 20 by instructions for performing the algorithms and/or operations described herein. The processor 20 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 20.
Meanwhile, the communication interface 24 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 101. In this regard, the communication interface 24 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface 24 may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface 24 may alternatively or also support wired communication. As such, for example, the communication interface 24 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
In some embodiments, such as instances in which the apparatus 101 is embodied by a user device, the apparatus 101 may include a user interface 22 that may, in turn, be in communication with the processor 20 to receive an indication of a user input and/or to cause provision of an audible, visual, mechanical or other output to the user. For example, user interface 22 may be any means by which a user may provide a
handwritten input, among other things. As such, the user interface 22 may include, for example, a stylus, a keyboard, a mouse, a joystick, a display, a touch screen(s), touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms.
Alternatively or additionally, the processor 20 may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as, for example, a speaker, ringer, microphone, display, and/or the like. The processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 20 (e.g., memory device 26, and/or the like).
In some embodiments, apparatus 101 may receive the handwritten input.
Additionally or alternatively, a user terminal 1 10 may receive the handwritten input that is provided to and analyzed by the apparatus 101 . Any number of user terminal(s) 1 10 may connect to apparatus 101 via a network 100. User terminal 1 10 may be embodied as a mobile terminal, such as personal digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, laptop computers, tablet computers, cameras, camera phones, video recorders, audio/video players, radios, global positioning system (GPS) devices, navigation devices, or any combination of the aforementioned, and other types of voice and text communications systems. The user terminal 110 need not necessarily be embodied by a mobile device and, instead, may be embodied in a fixed device, such as a computer or workstation. The user terminal 110 may include a user interface, similar to the user interface 22, to enable a user in an example embodiment to provide handwritten input, to ultimately be processed by the apparatus 101 .
Network 100 may be embodied in a local area network, a wide area network, the Internet, any other form of a network, or in any combination thereof, including proprietary private and semi-private networks and public networks. The network 100 may comprise a wire line network, wireless network (e.g., a cellular network, wireless local area network, wireless wide area network, some combination thereof, or the like), or a combination thereof, and in some example embodiments comprises at least a portion of the Internet. As another example, a user terminal 1 10 may be directly coupled to an apparatus 101 . In some embodiments, the apparatus 101 may be embodied as or otherwise associated with a user terminal 1 10, the user terminal 1 10 receiving handwritten input, and providing the handwriting recognition operations described herein.
Figure 2 is a flowchart of operations performed by an apparatus 101 , according to an example embodiment, for determining a timeout period to be used in handwriting recognition, based on a handwriting speed. At operation 200, apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a user's handwriting speed. Various different types of
indications of the user's handwriting speed may be received according example embodiments. For example, the handwriting speed may be provided by a user, for example, by selecting various speeds from settings, such as slow, average, and/or fast. In some embodiments, the apparatus 101 may additionally or alternatively determine a handwriting speed indirectly, such as described below.
Additionally or alternatively, the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a speed of a handwriting stroke across a display. As a user provides input by stylus, finger, and/or other pointing device to a touch display, for example, the apparatus 101 , such as with processor 20, may detect the speed of individual handwriting strokes, such as in terms of symbols per minute. The speed(s) may be used to determine a timeout period, such as described below with respect to operation 220.
The apparatus 101 may also or alternatively include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a speed of at least one previously provided handwritten symbol. As a user writes symbols on a display of user interface 22, the processor 20, for example, may detect a speed, such as symbols per minute, at which the user provides the handwritten input. The speed determined by the processor may, for example, may be stored by memory device 26 for subsequent retrieval as an indication of the speed of at least one previously provided handwritten symbol. Such a speed may be used to determine a timeout period, such as described below with respect to operation 220.
In some embodiments, two factors of writing speed may be considered. One is the speed of any one stroke, such as, for example, the stroke as a horizontal line or vertical line. The speed for this stroke may be determined by dividing the distance by time. The unit of speed may then be represented in (pixels/millisecond). Another aspect that may be considered is the time gap between two adjacent strokes. For example, a character consists of 5 strokes so there are 4 time gaps. The timeout value may be determined such that the timeout value is not shorter than the shortest time gap. Some users may write Chinese characters in one stroke. In this case, stroke speed may be a more reliable measurement. Some strokes may actually be a dot and make it difficult to calculate the speed for that stroke accurately. So in this case, time gap information may provide better data in determining a timeout value.
Continuing to operation 210, the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for receiving an indication of a length of a pause between at least two handwriting strokes. In some embodiments, a user may pause slightly at the end of a stroke and beginning of a next stroke, as the input is provided to user interface 22. The apparatus 101 , such as with processor 20, may detect this length of a pause between strokes, and consider it an aspect of a user's handwriting speed. The length of a pause may then be considered in determining a timeout period, such as described below with respect to operation 220.
As shown by operation 220, the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for determining a timeout period based on the handwriting speed (such as any of the information received in any of operations 200-210 including an indication of the user's handwriting speed and the indication of the length of a pause between handwriting strokes). In an example embodiment of handwriting recognition, an expiration of the timeout period signals an end of one symbol and a start of the next. The timeout period may therefore be relatively shorter for a user with fast handwriting, compared with a longer timeout period for a user with relatively slower handwriting. As such, the timeout period may vary in a direct relationship to the time spent in writing the symbols and, in one embodiment, the timeout period may be proportional to the amount of time spent writing the symbols. In some embodiments, a table may map writing speeds and or writing speed ranges to timeout periods. This may lead to the apparatus 101 , and/or other handwriting recognition system more accurately detecting the start of a new symbol, and ultimately, improving the accuracy and/or efficiency of the handwriting recognition operations altogether. The apparatus 101 , such as the processor 20, may determine the timeout period based upon the handwriting speed in various manners. For example, the apparatus 101 , such as the processor 20, may reference a plurality of predefined ranges of handwriting speed and the associated timeout periods, such as may be stored by the memory device 22, and may determine the timeout period to be equal to the timeout period associated with the range of handwriting speed that includes the handwriting speed of the user in this example embodiment.
Continuing to operation 230, the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for adjusting the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting. As such, the apparatus 101 , may repeat any of operations 200-220, as a user continues providing handwritten input, to account for changes in speed. Therefore the timeout period may be considered a dynamic timeout period. Changes in the handwriting speed, which may be due to various factors, may then be taken into account. The apparatus 101 and/or other handwriting recognition system may therefore adjust the timeout period for which a user pauses before the start of a new symbol is detected, by adding or
subtracting a predefined amount to the timeout period if the handwriting speed increases or decreases, respectively, resetting the timeout period to a new value such as the timeout period associated with the range of handwriting speed that includes the user's handwriting speed following the change, and/or the like. Therefore, the timeout period and the handwriting recognition may be dependent on the situation of the user or a specific use of a device, such as in situations where the user is multi-tasking and the input may be provided at a slower speed than what is customary for the user.
Figure 3 illustrates operations for training an apparatus 101 with a user's sample handwriting. The operations of Figure 3 are optional, and in some embodiments may be considered the indication of a user's handwriting speed (such as with respect to operation 200). At operation 300, the apparatus 101 may include means, such as processor 20, user interface 22, and/or communication interface 24, for prompting a user to provide a sample handwriting input as training data. The apparatus 101 may therefore display instructions to a user via a user interface 22. The user may provide to a device, such as user terminal 1 10, apparatus 101 , and/or the like, a handwriting sample. At operation 310, the apparatus 101 may include means, such as communication interface 24, for receiving the handwriting sample as training data. The handwriting sample may therefore be used by apparatus 101 , and/or processed according to any of the operations of Figure 2, to determine a timeout period to be used in handwriting recognition.
In some embodiments, the prompt provided to a user in order to train the apparatus 101 may be more specific. For example, in some embodiments, the apparatus 101 may prompt the user to provide handwriting at different speeds. For example, the apparatus 101 , with communication interface 24, may specifically prompt the user to provide any or each of a relatively slow, normal, and/or fast handwriting sample. As such, the apparatus 101 of this example embodiment may include means, such as user interface 22, for receiving a normal handwriting sample provided by the user as training data. Similarly, the apparatus 101 of this example embodiment may receive a fast handwriting sample provided by the user as training data, and/or a slow handwriting sample. Continuing to operation 320, the apparatus 101 may therefore use any of the training data as received in any of operation 310, to determine the timeout period. The apparatus 101 , with processor 20, may utilize the various training data and determine a probable range of handwriting speeds, and/or a range of timeout periods accordingly. The apparatus 101 , such as with processor 20, may therefore determine an appropriate timeout period to be used during subsequent handwriting recognition operations, based on the training data. The timeout period may be determined in various manners. For example, the apparatus 101 , such as the processor 20, may determine the handwriting speed and then determine the timeout period associated with the range of handwriting speeds that includes the handwriting speed determined from the training data. In an embodiment in which the user provides fast, normal and slow handwriting samples, a timeout period may be determined for each handwriting sample in this same manner. Thereafter, in an instance in which a user provides an initial indication regarding whether the user is going to write fast, normal or slow, the apparatus 101 , such as the processor 20, may retrieve the corresponding timeout period for use during handwriting recognition.
In some embodiments, during a training period, a user could be prompted to make a manual selection of an input character (e.g., without using a timeout). The processor 20 may then collect date regarding the user's handwriting speed. After this data has been acquired, the user (or apparatus) could determine and turn on a timeout period, as described below. In some embodiments, the apparatus 101 may determine different slow, normal, fast, handwriting speeds to be used in different scenarios. In some embodiments, various defaults or values may be normalized in some way.
Regardless of how handwriting speed is identified, the apparatus 101 may provide a dynamic timeout period, as described above. Utilizing a dynamic timeout period, based on a user's handwriting speed, may allow the apparatus 101 and/or other handwriting recognition system to more accurately detect the end of writing of one symbol and the start of a next. This may ultimately lead to more accurate and efficient handwriting recognition, and may improve user experience by setting an appropriate timeout period for which a user pauses and the completion of one character.
As described above, Figures 2 and 3 are flowcharts of operations performed by an apparatus 101 . It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 26 of an apparatus 101 employing an embodiment of the present invention and executed by a processor 20 of the apparatus 101. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks. These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

WHAT IS CLAIMED IS:
1. A method comprising:
receiving an indication of a user's handwriting speed; and
determining a timeout period for handwriting recognition based on the handwriting speed, wherein an expiration of the timeout period signals an end of one symbol and a start of a next symbol.
2. The method according to claim 1 , wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a speed of a handwriting stroke across a display.
3. The method according to any of claim 1 and 2, wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a length of a pause between at least two handwriting strokes.
4. The method according to any of claim 1-3, wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a speed of at least one previously provided handwritten symbol.
5. The method according to any of claim 1-4, further comprising:
adjusting the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting.
6. The method according to any of claim 1-5, wherein receiving an indication of a user's handwriting speed comprises prompting a user to provide a sample handwriting input as training data.
7. The method according to any of claim 1-6, further comprising:
prompting the user to provide a sample handwriting input as training data;
receiving the training data provided by the user; and
determining the timeout period based on the training data.
8. The method according to any of claim 1-7, further comprising:
prompting a user to provide at least two sample handwriting inputs at different speeds as training data; receiving the training data provided by the user; and
determining the timeout period based on the training data.
9. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to at least:
receive an indication of a user's handwriting speed; and
determine a timeout period for handwriting recognition based on the handwriting speed, wherein an expiration of the timeout period signals an end of one symbol and a start of a next symbol.
10. The apparatus according to claim 9, wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a speed of a handwriting stroke across a display.
1 1 . The apparatus according to any of claims 9 and 10, wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a length of a pause between at least two handwriting strokes.
12. The apparatus according to any of claims 9-1 1 , wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a speed of at least one previously provided handwritten symbol.
13. The apparatus according to any of claims 9-12, wherein the at least one memory and the computer program code are further configured to, with the processor: adjust the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting.
14. The apparatus according to any of claims 9-13, wherein receiving an indication of a user's handwriting speed comprises prompting a user to provide a sample handwriting input as training data.
15. The apparatus according to any of claims 9-14, wherein the at least one memory and the computer program code are further configured to, with the processor: prompt the user to provide a sample handwriting input as training data;
receive the training data provided by the user; and
determine the timeout period based on the training data.
16. The apparatus according to any of claims 9-15, wherein the at least one memory and the computer program code are further configured to, with the processor: prompt a user to provide at least two sample handwriting inputs at different speeds as training data;
receive the training data provided by the user; and
determine the timeout period based on the training data.
17. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions to:
receive an indication of a user's handwriting speed; and
determine a timeout period for handwriting recognition based on the handwriting speed, wherein an expiration of the timeout period signals an end of one symbol and a start of a next symbol.
18. The computer program product according to claim 17, wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a speed of a handwriting stroke across a display.
19. The computer program product according to any of claims 17 and 18, wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a length of a pause between at least two handwriting strokes.
20. The computer program product according to any of claims 17-19, wherein receiving an indication of a user's handwriting speed comprises receiving an indication of a speed of at least one previously provided handwritten symbol.
21 . The computer program product according to any of claims 17-20, wherein the computer-executable program code instructions further comprising program code instructions to:
adjust the timeout period based on a change in handwriting speed, wherein the timeout period decreases based on faster handwriting, and increases based on slower handwriting.
22. The computer program product according to any of claims 17-21 , wherein receiving an indication of a user's handwriting speed comprises prompting a user to provide a sample handwriting input as training data.
23. The computer program product according to any of claims 17-22, wherein the computer-executable program code instructions further comprising program code instructions to:
prompt the user to provide a sample handwriting input as training data;
receive the training data provided by the user; and
determine the timeout period based on the training data.
24. The computer program product according to any of claims 17-23, wherein the computer-executable program code instructions further comprising program code instructions to:
prompt a user to provide at least two sample handwriting inputs at different speeds as training data;
receive the training data provided by the user; and
determine the timeout period based on the training data.
PCT/CN2013/077867 2013-06-25 2013-06-25 Handwriting recognition based on writing speed WO2014205648A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077867 WO2014205648A1 (en) 2013-06-25 2013-06-25 Handwriting recognition based on writing speed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077867 WO2014205648A1 (en) 2013-06-25 2013-06-25 Handwriting recognition based on writing speed

Publications (1)

Publication Number Publication Date
WO2014205648A1 true WO2014205648A1 (en) 2014-12-31

Family

ID=52140770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/077867 WO2014205648A1 (en) 2013-06-25 2013-06-25 Handwriting recognition based on writing speed

Country Status (1)

Country Link
WO (1) WO2014205648A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3324274A1 (en) * 2016-06-12 2018-05-23 Apple Inc. Handwriting keyboard for screens
US10346035B2 (en) 2013-06-09 2019-07-09 Apple Inc. Managing real-time handwriting recognition
JP2021009521A (en) * 2019-06-28 2021-01-28 株式会社リコー Electronic information board and electronic information board system and control method thereof and program
US11112968B2 (en) 2007-01-05 2021-09-07 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787455A (en) * 1995-12-28 1998-07-28 Motorola, Inc. Method and apparatus for storing corrected words with previous user-corrected recognition results to improve recognition
CN101882026A (en) * 2010-06-30 2010-11-10 北京捷通华声语音技术有限公司 Method and device for handwriting and training method and device of handwriting template classifier
CN101957680A (en) * 2010-05-28 2011-01-26 宇龙计算机通信科技(深圳)有限公司 Method and system for regulating handwriting recognition speed and touch screen equipment
CN102096495A (en) * 2009-12-09 2011-06-15 宏达国际电子股份有限公司 Method and device for dynamically regulating waiting time for hand input, and program product thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787455A (en) * 1995-12-28 1998-07-28 Motorola, Inc. Method and apparatus for storing corrected words with previous user-corrected recognition results to improve recognition
CN102096495A (en) * 2009-12-09 2011-06-15 宏达国际电子股份有限公司 Method and device for dynamically regulating waiting time for hand input, and program product thereof
CN101957680A (en) * 2010-05-28 2011-01-26 宇龙计算机通信科技(深圳)有限公司 Method and system for regulating handwriting recognition speed and touch screen equipment
CN101882026A (en) * 2010-06-30 2010-11-10 北京捷通华声语音技术有限公司 Method and device for handwriting and training method and device of handwriting template classifier

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11112968B2 (en) 2007-01-05 2021-09-07 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US11416141B2 (en) 2007-01-05 2022-08-16 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US10579257B2 (en) 2013-06-09 2020-03-03 Apple Inc. Managing real-time handwriting recognition
US11016658B2 (en) 2013-06-09 2021-05-25 Apple Inc. Managing real-time handwriting recognition
US10346035B2 (en) 2013-06-09 2019-07-09 Apple Inc. Managing real-time handwriting recognition
US11182069B2 (en) 2013-06-09 2021-11-23 Apple Inc. Managing real-time handwriting recognition
US11816326B2 (en) 2013-06-09 2023-11-14 Apple Inc. Managing real-time handwriting recognition
US11640237B2 (en) 2016-06-12 2023-05-02 Apple Inc. Handwriting keyboard for screens
EP3324274A1 (en) * 2016-06-12 2018-05-23 Apple Inc. Handwriting keyboard for screens
US10884617B2 (en) 2016-06-12 2021-01-05 Apple Inc. Handwriting keyboard for screens
US11941243B2 (en) 2016-06-12 2024-03-26 Apple Inc. Handwriting keyboard for screens
US10228846B2 (en) 2016-06-12 2019-03-12 Apple Inc. Handwriting keyboard for screens
US10466895B2 (en) 2016-06-12 2019-11-05 Apple Inc. Handwriting keyboard for screens
US11620046B2 (en) 2019-06-01 2023-04-04 Apple Inc. Keyboard management user interfaces
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11842044B2 (en) 2019-06-01 2023-12-12 Apple Inc. Keyboard management user interfaces
JP7298341B2 (en) 2019-06-28 2023-06-27 株式会社リコー ELECTRONIC INFORMATION BOARD, ELECTRONIC INFORMATION BOARD SYSTEM AND THEIR CONTROL METHOD AND PROGRAM
JP2021009521A (en) * 2019-06-28 2021-01-28 株式会社リコー Electronic information board and electronic information board system and control method thereof and program

Similar Documents

Publication Publication Date Title
US9170607B2 (en) Method and apparatus for determining the presence of a device for executing operations
JP6584954B2 (en) Using clamping to correct scrolling
US9377943B2 (en) Method and apparatus for outputting display data based on a touch operation on a touch panel
EP3206110A1 (en) Method of providing handwriting style correction function and electronic device adapted thereto
US10254871B2 (en) Using pressure sensor input to selectively route user inputs
WO2014205648A1 (en) Handwriting recognition based on writing speed
EP4109218A3 (en) Mobile phone comprising a touch screen with an in-display fingerprint sensor
WO2013128074A1 (en) Method and apparatus for determining recipients of a sharing operation based on an indication associated with a tangible object
US20160154997A1 (en) Handwriting input apparatus and control method thereof
EP2990921B1 (en) Electronic device and method for providing drawing function thereof
US10452099B2 (en) Handling-noise based gesture control for electronic devices
KR20160057380A (en) Form processing
CN112306235A (en) Gesture operation method, device, equipment and storage medium
RU2014151736A (en) METHOD FOR IMPROVING RECOGNITION RECOGNITION AND ELECTRONIC DEVICE FOR ITS IMPLEMENTATION
US20160034069A1 (en) Information processing apparatus, input control method, and computer-readable recording medium
JP2016110604A (en) Page turning system and method
US20140002404A1 (en) Display control method and apparatus
TWI547863B (en) Handwriting recognition method, system and electronic device
US10254959B2 (en) Method of inputting a character into a text string using a sliding touch gesture, and electronic device therefor
US9684389B2 (en) Method and apparatus for determining an operation to be executed and associating the operation with a tangible object
WO2014198039A1 (en) A method and apparatus for distinguishing partial and complete handwritten symbols
US20160012286A1 (en) Electronic apparatus, method and storage medium
WO2015123835A1 (en) Cursor placement
US9684388B2 (en) Method and apparatus for determining an operation based on an indication associated with a tangible object
US11360652B2 (en) Apparatus and method for providing for receipt of indirect touch input to a touch screen display

Legal Events

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

Ref document number: 13888505

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13888505

Country of ref document: EP

Kind code of ref document: A1