CN105283882B - Apparatus for text input and associated method - Google Patents

Apparatus for text input and associated method Download PDF

Info

Publication number
CN105283882B
CN105283882B CN201380077229.9A CN201380077229A CN105283882B CN 105283882 B CN105283882 B CN 105283882B CN 201380077229 A CN201380077229 A CN 201380077229A CN 105283882 B CN105283882 B CN 105283882B
Authority
CN
China
Prior art keywords
stroke
strokes
group
updated
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380077229.9A
Other languages
Chinese (zh)
Other versions
CN105283882A (en
Inventor
邹燕明
李秀亮
余睿
苟勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN105283882A publication Critical patent/CN105283882A/en
Application granted granted Critical
Publication of CN105283882B publication Critical patent/CN105283882B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/373Matching; Classification using a special pattern or subpattern alphabet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

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 at least one processor, cause the apparatus to perform at least the following: determining, based on receipt of the further input strokes, whether the further strokes combine with one or more previously input strokes of a previously determined group of strokes to form an updated group of strokes or a new group of strokes, wherein each group of strokes comprises one or more strokes and corresponds to a radical; and providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group based on the determination.

Description

Apparatus for text input and associated method
Technical Field
The present disclosure relates to the field of text entry, associated methods and apparatus. Certain disclosed example aspects/embodiments relate to portable electronic devices, which may include so-called hand-held electronic devices that may be hand-held in use (although they may be placed in a cradle in use). Such handheld electronic devices may include mobile telephones, so-called Personal Digital Assistants (PDAs) and tablet PCs.
A portable electronic device/apparatus according to one or more disclosed example aspects/embodiments may provide one or more audio/text/video communication functions (e.g., telephone communication, video communication, and/or text transmission), Short Message Service (SMS)/Multimedia Message Service (MMS)/email functions, interactive/non-interactive viewing functions (e.g., web browsing, navigation, TV/program viewing functions), music recording/playing functions (e.g., MP3 or other format and/or (FM/AM) radio broadcast recording/playing), data downloading/sending functions, image capture functions (e.g., using a (e.g., built-in) digital camera), and gaming functions.
Background
Electronic devices typically provide a user interface (e.g., a graphical user interface). The graphical interface may enable a user to interact with the electronic device, for example, to open an application using an application icon, enter a command, select a menu item from a menu, or enter characters using a virtual keyboard. To enter the text string, the user may be provided with a physical or virtual keyboard.
The listing or discussion of a prior-published document or any background in this specification should not necessarily be taken as an acknowledgement that the document or background is part of the state of the art or is common general knowledge. One or more example aspects/embodiments of the present disclosure may or may not address one or more of the problems of the background art.
Disclosure of Invention
According to a first aspect, there is provided 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 at least one processor, cause the apparatus to perform at least the following:
determining additional strokes based on receipt of additional input strokes
Whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
based on the determination, providing a new group of strokes or updated strokes including a stroke corresponding to the determination
Output of one or more graphical characters of the radicals of the stroke group.
The radical may be all or part of a graphical character. For example, the character "i" consists of the root "i" (i.e., the character itself); and the character "bar" is composed of the radical "mouth" and "bar". The radical may relate to semantic and phonetic elements of the character, or even elements that may be recognized by the device. A radical may be a group of one or more strokes that do not overlap with any other strokes (e.g., each stroke of a given radical may overlap with another stroke of the same radical, but may not overlap with any other stroke).
The graphical characters may be standardized characters, such as text characters of a particular font (e.g., a Unicode font).
A stroke may comprise a continuous input gesture. For example, a stroke may be entered using a touch screen by: touching the screen with a finger or stylus, providing a continuous input gesture, and then ceasing contact with the screen. It should be appreciated that different example embodiments may use other parameters to define strokes (e.g., speed of input, direction change).
The apparatus may be configured to:
determining a new or updated group of strokes based on the determined new or updated group of strokes:
combining with one or more previously entered stroke groups to form an updated graphical character; or also
A new graphic character is formed.
The apparatus may be configured to determine a probability matrix comprising all possible permutations of the determined group of strokes.
The probability matrix may be updated based on the determined new group of strokes by adding to the matrix an item representing a combination including the determined new group of strokes.
The probability matrix may be updated based on the determined updated stroke groups by updating items representing combinations including the determined updated stroke groups to the matrix.
The combination of strokes to form a stroke group may be based on one or more of the following: spatial features of the stroke; and a statistical classification method. The spatial features may include the end points of the current stroke, the geometric center of the current stroke, the starting point of the next stroke, the geometric center of the next stroke, the smallest rectangle containing the current stroke, the smallest rectangle containing the next stroke, and the smallest rectangle containing the immediately preceding stroke. Statistical classification methods may include the use of support vector machines or artificial neural networks (or other learning models).
Providing for output of one or more characters may be based on probabilities determined for one or more of:
the previously determined stroke groups are combined to form a graphic character string;
matrix elements of the stroke group comprising the further input form individual graphical characters; and
the individual characters of the stroke group comprising the further input form a character string with the other determined characters.
The probabilities determined for the character corresponding to the last combination of the stroke groups may be based on a language model, given the other determined characters.
At least part of the determining may be performed in response to at least one of:
receiving a stroke after the further input stroke; and
a predetermined time period threshold since the further input stroke was exceeded.
The apparatus may be an electronic device, a portable electronic device, a laptop computer, a mobile phone, a smartphone, a tablet computer, a personal digital assistant, a digital camera, a watch, a server, a non-portable electronic device, a desktop computer, a display, a server, a wand, a stylus, a touchpad, a touch screen, a mouse, a joystick, or a module/circuit arrangement for one or more of the foregoing.
According to a further aspect, there is provided a method comprising:
determining a further stroke based on the receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group based on the determination.
According to a further aspect, there is provided a computer program comprising computer program code configured to perform at least the following:
determining a further stroke based on the receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
based on the determination, an output is provided that includes one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group.
According to a further aspect, there is provided an apparatus comprising:
for determining a further stroke based on the reception of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
Means for forming a new group of strokes,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
means for providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group based on the determination.
According to a further aspect, there is provided an apparatus comprising:
is configured to determine a further stroke based on receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A determiner that forms a new group of strokes,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
a provider configured to provide an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group based on the determination.
According to a further aspect, there is provided 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 at least one processor, cause the apparatus to perform at least the following:
determining a further stroke based on the receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group comprises one or more strokes and corresponds to a word or word component; and
providing an output including one or more words or word components corresponding to the determined new stroke group or updated stroke group based on the determination.
A word or word composition may include one or more characters. Characters (e.g., of words or word components) may include, for example, one or more of the following: alphabetic characters, numeric characters, punctuation, emoticons, and diacritics.
The characters may be standardized characters, such as text characters of a particular font (e.g., a Unicode font).
The apparatus may be configured to:
determining a new or updated group of strokes based on the determined new or updated group of strokes:
combining with one or more previously entered stroke groups to form an updated word or word composition; or also
Forming new words or word components.
Providing for output of one or more characters may be based on probabilities determined for one or more of:
the previously determined stroke groups combine to form a word string comprising one or more words;
the matrix elements of the stroke group comprising the further input form individual words; and
the individual characters of the stroke groups comprising the further input form word strings with other determined words.
According to a further aspect, there is provided a method comprising:
determining, based on the receipt of the further input stroke, a further stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group comprises one or more strokes and corresponds to a word or word component; and
providing an output including one or more words or word components corresponding to the determined new stroke group or updated stroke group based on the determination.
According to a further aspect, there is provided a computer program comprising computer program code configured to perform at least the following:
determining a further stroke based on the receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group comprises one or more strokes and corresponds to a word or word component; and
providing an output including one or more words or word components corresponding to the determined new stroke group or updated stroke group based on the determination.
The steps of any method disclosed herein do not need to be performed in the exact same order disclosed, unless explicitly indicated or understood by the skilled artisan.
Corresponding computer programs (which may or may not be recorded on a carrier such as a CD or other non-volatile medium) for implementing one or more of the methods disclosed herein are also within the scope of the present disclosure and are encompassed by one or more of the disclosed example embodiments.
The present disclosure includes one or more corresponding aspects, example embodiments, or features, either alone or in various combinations, whether or not specifically stated (including claimed) in such combinations or alone. Corresponding means and corresponding functional units (e.g. determiner, provider) for performing one or more of the discussed functions are also within the scope of the present disclosure.
The foregoing summary is intended to be merely exemplary and non-limiting.
Drawings
The description will now be given, by way of example only, with reference to the accompanying drawings, in which:
fig. 1 depicts an example apparatus embodiment including a plurality of electronic components (including a memory and a processor) in accordance with the present disclosure;
FIG. 2 depicts an example apparatus embodiment including a plurality of electronic components (including a memory, a processor, and a communication unit) in accordance with this disclosure;
FIG. 3 depicts an example apparatus embodiment including a plurality of electronic components (including a memory, a processor, and a communication unit) in accordance with this disclosure;
4a-4d illustrate a first embodiment comprising a portable electronic device;
5a-5b illustrate another embodiment including a portable electronic device;
6a-6b illustrate calculations performed by another embodiment;
FIG. 7 illustrates calculations performed for alphabetic characters;
8a-8b illustrate calculations performed for alphabetic characters;
9a-9b illustrate example devices communicating with a remote server/cloud in accordance with this disclosure;
FIG. 10 illustrates the main steps of a method of recognizing graphic characters;
FIG. 11 illustrates the main steps of a method of recognizing words; and
fig. 12 is a computer readable medium including a computer program.
Detailed Description
Electronic devices typically have a user interface (which may or may not be graphical-based) to enable a user to interact with the device to input and/or interact with information. For example, a user may use a keyboard user interface to enter text or use icons to open an application.
For example, the user interface may provide a keyboard to facilitate character entry. However, in particular, where a language (such as chinese) has a large number of available characters, it may not be possible to represent each available character on the keyboard.
Other devices may facilitate handwriting recognition. However, recognizing strokes provided during handwriting recognition may require significant processing power. This is particularly important for portable electronic devices that have limited processing power and/or battery life.
The present disclosure relates to enabling handwriting recognition based on receipt of additional input strokes (e.g., using a touch interface or a peripheral device such as a mouse) to determine whether the additional strokes combine with one or more previously input strokes of a previously determined group of strokes to form an updated group of strokes or a new group of strokes, wherein each group of strokes includes one or more strokes and corresponds to a radical; and based on the determination, providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group.
Other example embodiments depicted in the figures are provided with reference numerals corresponding to similar features of the earlier described example embodiments. For example, reference numeral 1 may also correspond to reference numerals 101, 201, 301, etc. These reference numbers may appear in the drawings, but may not be mentioned directly in the description of these particular example embodiments. These references are still provided in the drawings to aid in understanding further example embodiments, particularly with respect to features of similar earlier described example embodiments.
Fig. 1 shows a device 101 comprising a memory 145, a processor 144, an input I and an output O. In the present example embodiment, only one processor and one memory are shown, however, it should be understood that other example embodiments may use more than one processor and/or more than one memory (e.g., the same or different processor/memory types).
In the present example embodiment, the apparatus 101 is an Application Specific Integrated Circuit (ASIC) for a portable electronic device. In other example embodiments, the apparatus 101 may be a module for such a device, or may itself be a device, where the processor 144 is a general purpose CPU of the device and the memory 145 is general purpose memory included by the device.
The input I enables to receive signalling from a further component, such as a component of the portable electronic device like a touch sensitive display, for example from a receiver, to the apparatus 101. Output O enables signaling to be provided from within device 101 onwards to further components. In the present example embodiment, the input I and the output O are parts of a connection bus enabling the device 101 to be connected to further components (e.g. to a transmitter or a display).
The processor 144 is a general-purpose processor dedicated to executing/processing information received via the input I according to instructions stored on the memory 145 in the form of computer program code. Output signaling from the processor 144 generated by such operations is provided onwards to further components via an output O.
The memory 145 (not necessarily a single memory unit) is a computer readable medium (in this example solid state memory, but could be other types of memory such as a hard disk drive, ROM, RAM, flash memory, etc.) that stores computer program code. The computer program code stores instructions that can be executed by the processor 144 when the program code is run on the processor 144. An internal connection between the memory 145 and the processor 144 may be understood to provide, in one or more example embodiments, an operative coupling between the processor 144 and the memory 145 to enable the processor 144 to access computer program code stored on the memory 145.
In this example, the input I, the output O, the processor 144, and the memory 145 are all internally electrically connected to one another to enable electrical communication between the respective components I, O, 144, 145. In the present example, the components are all located in the vicinity of each other so as to be formed together as an ASIC, in other words, so as to be integrated together into a single chip/circuit that can be mounted into an electronic device. In other examples, one or more or all of the components may be positioned apart from each other.
Fig. 2 depicts an apparatus 201 of another example embodiment, such as a mobile phone. In other example embodiments, the apparatus 201 may comprise a module for a mobile phone (or PDA or audio/video player) and may comprise only a suitably configured memory 245 and processor 244. The apparatus in some example embodiments may be a portable electronic device, a laptop computer, a mobile phone, a smartphone, a tablet computer, a personal digital assistant, a digital camera, a watch, a server, a non-portable electronic device, a desktop computer, a display, a server, a wand, a stylus, a touchpad, a touchscreen, a mouse, a joystick, or a module/circuit for one or more of the foregoing.
The example embodiment of fig. 2 in this case includes a display device 204, such as, for example, a Liquid Crystal Display (LCD) or a touch screen user interface. The apparatus 201 of fig. 2 is configured such that it is capable of receiving, including, and/or accessing data. For example, the present example embodiment 201 includes a communication unit 203, such as a receiver, transmitter, and/or transceiver, the communication unit 203 communicating with an antenna 202 for connecting to a wireless network and/or a port (not shown) for accepting a physical connection to a network, such that data can be received via one or more types of networks. The present example embodiment includes a memory 245 that stores data that may be after being received via the antenna 202 or port or after being generated at the user interface 205. The processor 244 may receive data from the user interface 205, from the memory 245, or from the communication unit 203. It should be appreciated that in some example embodiments, the display device 204 may include a user interface 205. Regardless of the origin of the data, such data may be output to a user of the apparatus via the display device 204 and/or any other output device provided with the apparatus 201. Processor 244 may also store data for later use in memory 245. Memory 245 may store computer program code and/or applications that can be used to instruct/enable processor 244 to perform functions such as reading, writing, deleting, editing, or processing data.
Fig. 3 depicts another example embodiment of an electronic device 301, such as a tablet personal computer, a portable electronic device, a portable telecommunications device, a server, or a module for such a device, the device comprising the apparatus 101 of fig. 1. The apparatus 101 may be arranged as a module for a device 301 or even as a processor/memory for a device 301 or a module for such a device 301. Device 301 includes a processor 344 and a storage medium 345 connected (e.g., electrically and/or wirelessly) by a data bus 380. This data bus 380 may provide an operative coupling between the processor 344 and the storage medium 345 to enable the processor 344 to access the computer program code. It should be understood that the components (e.g., memory, processor) of the devices/apparatuses may be linked via a cloud computing architecture. For example, the storage device may be a remote server accessed by the processor via the internet.
The apparatus 101 in fig. 3 is connected (e.g., electrically and/or wirelessly) to the input/output interface 370, and the input/output interface 370 receives output from the apparatus 101 and transmits this output to the device 301 via the data bus 380. Interface 370 may be connected to display 304 (a touch-sensitive display or other display) via data bus 380, display 304 providing information from device 101 to a user. The display 304 may be part of the device 301 or may be separate. The apparatus 301 further comprises a processor 344, the processor 344 being configured to enable general control of the device 101 and the apparatus 301 by: providing signaling to and receiving signaling from other device components to manage their operation.
The storage medium 345 is configured to store computer code configured to perform, control, or enable operation of the device 101. The storage medium 345 may be configured to store settings for other device components. The processor 344 may access the storage medium 345 to retrieve component settings in order to manage the operation of other device components. The storage medium 345 may be a transitory storage medium, such as a volatile random access memory. The storage medium 345 may also be a persistent storage medium, such as a hard drive, flash memory, a remote server (such as cloud storage), or non-volatile random access memory. The storage medium 345 may include different combinations of the same or different memory types.
Fig. 4a-4d depict an example embodiment of the apparatus depicted in fig. 2 including a portable electronic communication device 401, such as a mobile phone, for example, having a user interface (including touch screen user interfaces 405, 404), a memory (not shown), a processor (not shown), and an antenna (not shown) for transmitting and/or receiving data (e.g., email, text message, phone call, information corresponding to a web page).
In this case, the user sends and receives messages from his friends using the messaging application. When the messaging application is running, the device is configured to display a previously sent message 411, a received message 412, and a message 413 being composed. In this case, the user composes the message by writing or drawing characters in the character input area 414 using their finger (or other stylus). The device is configured to recognize handwritten characters and enter standardized characters (e.g., in a standard font, such as a Unicode font) into the text entry field.
Fig. 4a shows a series of strokes 421, 422a being entered into the recognition area 414 of the touch screen user interface. These strokes include a recognized group 421 of strokes corresponding to the root "woman" (woman) and the further strokes 422a just entered by the user. In this case, the apparatus/device is configured to determine, based on receipt of a further input stroke 422a, whether the further stroke 422a combines with one or more previously input strokes of a previously determined group 421 of strokes, each group of strokes comprising one or more strokes and corresponding to a radical, to form an updated group of strokes or a new group of strokes. It should be appreciated that this determination may be based on, for example, whether a combination of further entered strokes and a previously determined group of strokes forms at least part of a recognizable radical.
In this case, the new stroke 422a is not combined with the previously input stroke in the "female" stroke group 421 to form an updated stroke group, because there is no radical including the stroke in the previously input stroke group 421 and the further input stroke 422 a. Thus, in this case, the new stroke 422a forms a new stroke group. In this case, this is configured to provide a limited list 415a of possible character matches for selection, each possible character match including a radical recognized as including the input stroke group.
In this case, the character "woman" is recognized as including the previously entered group of strokes, and therefore this character is provided as a possible match. Because a large number of radicals may include the input strokes in the newly formed group of strokes, no possible match is automatically selected.
The user continues to enter strokes as shown in fig. 4 b. As with the previous stroke, in this case, the apparatus/device is configured to determine whether the newly entered stroke is combined with the strokes in the previous stroke group to form an updated stroke group. Unlike the previous case, the strokes in the previous stroke group and the new strokes are combined to form an updated stroke group because there are a large number of radicals including these two strokes, including the radical "up" and "down". In this case, the apparatus/device is configured to provide, based on the determination, an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group. In this case, the device is configured to provide possible character 415c and character combinations 415b, 415d comprising the determined stroke groups (including new stroke groups and updated stroke groups).
As before, the character "woman" identified as including the previously entered stroke group is provided as a possible match for the previously entered stroke group. In this case, the second stroke group is recognized as forming at least part of the root "child". These radicals may form part of a separate character or be combined with previously entered radicals to form a composite character. In this case, the roots "girl" and "already" are not combined to form the composite character, but the roots "girl" and "child" may be combined to form the composite character "good". Thus, in this case, the device is configured to provide possible matches for all input strokes as "woman" 415d, "woman" 415b, and "good" 415 c. In this manner, the apparatus/device provides an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group.
In this case, the user continues to enter strokes, as shown in FIG. 4 c. As with the previous stroke, in which case the apparatus/device is configured to determine whether the newly entered stroke is combined with strokes in the previous stroke group to form an updated stroke group. As in the previous case, the strokes in the previous stroke group and the new strokes are combined to form an updated stroke group, since the radical "child" includes the strokes in the previously determined stroke group and the further entered strokes.
As before, the character "woman" identified as including the previously entered stroke group is provided as a possible match for the previously entered stroke group. In this case, the second stroke group is recognized as forming at least part of the root "child". These radicals may form part of a separate character or be combined with previously entered radicals to form a composite character. In this case, the roots "girl" and "child" may be combined to form the character "good". Thus, in this case, the device is configured to provide possible matches for all input strokes as "women" 415f and "good" 415 e. In this manner, the apparatus/device provides an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group.
It will be appreciated that probabilities may be assigned to possible matches based on, for example, a combination of one or more of previously entered characters, frequency of use, and the number of additional strokes that appear in the character as compared to the entered strokes. For example, in this case, since the previously input character in the composed message field is "very" (very good), it can be determined that the probability that the next character is "good" (very good) is higher than the probability that the next character is "woman" (woman). The apparatus/device may be configured to display the candidate characters based on the determined probabilities.
When the user has selected the possible match "good" 415f, the corresponding character 413 is entered into the compose message text field 413. This is shown in fig. 4 d.
5a-5b illustrate another example embodiment configured to recognize handwritten input. Fig. 5a depicts an example embodiment of the apparatus depicted in fig. 2 comprising a portable electronic communication device 501, such as a mobile phone, for example, having a user interface (including touch screen user interfaces 505, 504), a memory (not shown), a processor (not shown), and an antenna (not shown) for transmitting and/or receiving data (e.g., email, text message, phone call, information corresponding to a web page).
In this case, the user composes a message to his friend using the email application. When the messaging application is running, the device is configured to display a sender field 514, a recipient field 515, a subject field 516, and a message field 517. In this case, the user enters a character into the subject field 516 by writing or drawing the character in the character entry field 514 using their finger (or other stylus). The device is configured to recognize handwritten characters and enter standardized characters (e.g., in a standard font, such as a Unicode font) into the compose message field.
As in the previous embodiment, the present embodiment is configured to determine, based on receipt of a further input stroke, whether the further stroke combines with one or more previously input strokes of a previously determined group of strokes to form an updated group of strokes or a new group of strokes, wherein each group of strokes comprises one or more strokes and corresponds to a radical; and based on the determination, providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group.
In this case, embodiments are configured to identify a series of overlapping characters entered into a user input area of a user interface device. Recognition of overlapping handwriting can be considered a search process to find the best stroke combination scheme whose corresponding characters are used most frequently in daily life based on a given stroke. Overlapping handwriting may include situations when a user writes successive words, word components, radicals, or characters, for example, superimposed on each other. For example, if a portion of the user interface is restricted to a certain extent, when the user completes one line of text within the restricted extent, the user may start again at the beginning of the line to enter another line of text. These successive lines of text may overlap each other because they are entered in the same space within a limited user interface.
In this case, the identification is divided into two phases: pre-segmentation and fine segmentation. Pre-segmentation is first performed to assign each stroke, which may be an entire character or a portion of a character, to a group of strokes. In general, pre-segmentation is based on spatial features of the strokes and statistical classification methods. This stage is usually simple and fast.
The refinement phase is performed after the pre-segmentation to find the best combination scheme for the pre-segmented group with the highest probability by traversing the combination scheme list with the help of the probability matrix. Each element of the probability matrix represents the probability that the pre-segmentation is composed into a single character. Each matrix element Mij(ith, jth) represents the probability that the set of groups contains groups of pre-segments from the ith through the jth. The values are typically computed based on the similarity of candidates given by individual character handwriting recognition engines.
The probability of a possible output character depends not only on the probability of all the constituent stroke groups (e.g. on the correspondence between the input strokes and the possible output character itself) but also on the probability of the output character given the character before and/or after it, for example. The probability may be determined by a binary language model. The computation of the steps is complex and may have high associated computational costs.
Since the strokes are added one by one, a recognition result concerning possible combinations of stroke groups forming characters and combinations of characters for all inputted strokes should be determined. However, when a new stroke is entered, embodiments may only need to compute the changes caused by the new entered stroke. The required processing power may thus be less than recognizing the entire set of strokes again. It should be appreciated that scaling may be different than recalculating stroke combinations again, by only computing new or updated elements. Thus, as more strokes are recognized, the processing power savings may become more significant.
Fig. 5b illustrates the calculations performed by the apparatus/device shown in fig. 5a when a continuous stroke is input into the input entry area. In this case, the user writes the word "happy family" (happy) composed of three graphic characters. In this case, the first character of the word "he" has been entered and the mth stroke shown in FIG. 5b represents the last stroke corresponding to the second character "Home". Since the character input region 514 is limited to some extent, the second written character "home" is written at the same position as the first write free "home" in the character input region. In this way, successive handwritten characters overlap previously entered handwritten characters.
In response to the input of the mth stroke, the device is configured to determine whether the mth stroke is combined with strokes in a previous stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In the pre-segmentation phase, only the newly added strokes are processed. The pre-segmentation results of other strokes are untouched. Thus, there is only one updated or newly generated set of pre-segments at a time. In this case, the mth stroke is determined to be combined with the previously determined stroke group to form an updated stroke group.
Based on this, the apparatus/device recalculates the stroke group combination including the updated stroke group. These combinations represent the final column of the matrix of stroke group combinations that gives all the input stroke groups. Not including new or updated stroke groups (e.g., M)1,1) The combination of stroke groups of (1) remains unchanged. This may provide significant processing reduction.
Current probability matrix Mi,jWhen more updated, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups. In this case, the output may correspond to matrix entry M1,2Or to the heel M2,2Matrix entry M of1,1
The probability of a combination scheme with n matrix term roots can be expressed as the product of three terms:
P(S1,...,Sn+1,Sn)=P(S1,...,Sn-1)×P(Sn)×P(Sn|Sn-1)
the first term in the expression is the probability of the combination scheme with the first n-1 stroke groups, which has been calculated and stored in the system. The second part is the probability of the last stroke group as a single character, which can be examined from the probability matrix. The third part is the probability (which may be calculated, for example, using language modeling) that the recognized stroke group follows the previous stroke group. For example, assuming that the character "home" follows the character "close" in the word "happy home" (wild), the third component of the probability for the character "home" may be high. Thus, the character "home" is provided as output. Unlike the previous case, the provided output is provided directly into the text entry field 516 into which the user enters text. It should be appreciated that the output provided may be updated as additional strokes are input. It should be appreciated that other example embodiments may be configured to calculate the sum of the logarithms of each term to provide an indication of the probability of a combining scheme having matrix term roots. For example,
Pl=loge[P(S1,...,Sn-1,Sn)]
=loge[P(,S1,...,Sn-1)×P(Sn)×P(Sn|Sn-1)]
=loge[P(S1,...,Sn-1)]+loge[P(Sn)]+loge[P(Sn|Sn-1)]
since the sum can be computed faster than the product, P is computedlFaster computations can be provided.
In response to the (m +1) th stroke, the process as shown in FIG. 5b is repeated. In response to the input of the (m +1) th stroke, the device is configured to determine whether the (m +1) th stroke is combined with strokes in the previously determined stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the stroke is determined not to be combined with the previous stroke group to form an updated stroke group, but to form a new stroke group.
Based on this, the apparatus/device recalculates a stroke group combination including the new stroke group. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since there is a new set of strokes, a new column (M)i,j=3535: m +1) is added to the probability matrix. This newly calculated line (535: m +1) represents a possible combination of stroke groups including the newly added stroke group.
When the probability matrix has been more updated, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups. In this case, the possible combinations involving the previously determined stroke groups are not changed. Only the combination comprising the new stroke group is recalculated (536: m + 1). In this case, the output may correspond to matrix entry M3,3(ii) a Corresponding to heel matrix entry M2,3Matrix entry M of1,1(ii) a Corresponding to heel matrix entry M3,3Matrix entry M of1,2(ii) a Or to the heel matrix entry M2,2Matrix entry M of1,1Matrix entry M2,2Followed by matrix entry M3,3. In this case, the matrix entry M1,1And matrix entry M2,3Corresponding to known characters, and therefore these characters ("tsukume") are provided as output to the user.
It will be appreciated that in this case the probability of a "tsuk" following a "sum" may be lower than the probability of a "home" following a "sum" (third term in the above equation). However, the probability that the character "tsukau" corresponds to the entered stroke may be higher than the probability that the character "jia" corresponds to the entered stroke, because the "tsukau" has a stroke corresponding to the (m +1) th stroke of another input, while the "jia" does not (the second term in the above equation).
In response to the (m +2) th stroke, the process as shown in FIG. 5b is repeated. In response to the input of the (m +2) th stroke, the device is configured to determine whether the (m +2) th stroke is combined with strokes in a previous stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the stroke is determined to be combined with the previous stroke group to form an updated stroke group (533: m + 2).
Based on this, the apparatus/device recalculates a stroke group combination including the new stroke group (535: m + 2). The stroke group combinations that do not include the new or updated stroke group (533: m +2) remain unchanged. Since there are no new stroke groups, the size of the matrix does not change, although the final column of the probability matrix (535: m +2) is updated to reflect the updated stroke groups. This updated row (535: m +2) represents a possible combination of stroke groups including the updated stroke group.
When the probability matrix has been more updated, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups. Since the size of the matrix does not change, the possible combinations of matrix entries remain unchanged. The previously determined combination comprising the last stroke group (536: m +2) is updated to reflect the updated stroke group.
That is, the output may correspond to matrix entry M3,3(ii) a Corresponding to heel matrix entry M2,3Matrix entry M of1,1(ii) a Corresponding to heel matrix entry M3,3Matrix entry M of1,2(ii) a Or to the heel matrix entry M2,2Matrix entry M of1,1Matrix entry M2,2Followed by matrix entry M3,3. When this stroke is included, the apparatus determines the matrix entry M, as compared to the previous case1,1、M2,2And M3,3Representing the most likely combination of known characters, and therefore these characters ("family and" again ") are provided as output to the user. As the user enters additional strokes of the last character, the process continues until the desired word "closesThe 'happy' family is input.
Because the recognition process includes several stages, these stages need not all be performed in response to each input stroke. That is, other example embodiments may perform the recognition process at several intervals (each interval corresponding to the input of a single stroke). This may further reduce the required processing power while providing output characters in real time.
Since the processing of a new stroke may take some time, after the processing of a stroke is completed, there may be several strokes or even if groups of intervening segments wait for recognition. However, since pre-segmented groups typically have multiple strokes, the processing of each stroke may be distributed over multiple stroke inputs without causing noticeable or perceptible delays to the user.
Fig. 6a shows a series of calculations performed by another example embodiment configured to perform the identification process over two intervals. For comparison, the user enters the same word as entered using the embodiment of fig. 5a and 5 b-muzzle (wild).
In this case, the same calculations are performed to provide an output character, i.e. in response to receiving a new stroke, the apparatus/device determines whether the new stroke forms an updated stroke group or a new stroke group (pre-segmentation) in combination with the previous stroke group; and whether the new or updated stroke group is combined with the previously determined stroke group to provide a recognizable character (fine segmentation). In this case, however, a different phase of computation is performed for each successive stroke.
As in the example illustrated in FIG. 5b, the first character of the word "together" has been entered and the mth stroke shown in FIG. 6a represents the last stroke corresponding to the second character "home".
At this stage, as in the example embodiment of FIG. 5b, in response to the input of the mth stroke, the device is configured to determine whether the mth stroke is combined with strokes in a previous stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the mth stroke is determined as a part (633: m) forming the previously determined stroke group.
Based on this, the apparatus/device recalculates a stroke group combination (635: m) that includes the new or updated stroke group. That is, the apparatus/device recalculates the stroke group combinations including the updated stroke groups in the probability matrix. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since there are no new stroke groups, the size of the matrix does not change, although the final column (635: m) of the probability matrix is updated to reflect the updated stroke groups. This updated row represents a possible combination of stroke groups including the updated stroke group. A stroke group combination that does not include new or updated stroke groups remains unchanged can provide significant processing reduction.
In contrast to the previous example embodiment, when the probability matrix has been more updated, the apparatus/device is not configured to determine possible matrix entry combinations including all determined stroke groups. Thus, the output text remains the same as for the (m-1) th stroke.
In response to the (m +1) th stroke, the process continues as shown in FIG. 6 a. In this case, although the apparatus/device determines that the (m +1) th stroke forms a new stroke group (634: m +1), the probability matrix is not updated to reflect the input of the (m +1) th stroke. However, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups based on the matrix determined at the previous interval (in response to the input of the mth stroke). In this case, the output may correspond to matrix entry M1,2(ii) a Corresponding to heel matrix entry M2,2Matrix entry M of1,1. In this case, the matrix entry M1,1And matrix entry M2,2Correspond to known characters and, therefore, these characters ("the tsuka") are provided as output to the user.
In response to the (m +2) th stroke, the steps performed for the mth stroke as shown in fig. 6a are repeated. That is, in response to input of the (m +2) th stroke, the device is configured to determine whether the (m +2) th stroke is combined with strokes in the previous stroke group (determined in the (m +1) th interval) to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the stroke is determined to be combined with the previous stroke group to form an updated stroke group.
Based on this, the apparatus/device recalculates a stroke group combination including the new stroke group. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since the updated stroke group was not determined when the probability matrix was last determined (in response to the mth stroke), a new column for the updated stroke group is provided. This new row represents a possible combination of stroke groups including the updated stroke group.
As for the mth stroke group, at this stage, the process does not proceed to calculate the combination of probability matrix items.
In response to the (m +3) th stroke, the apparatus/device is configured to determine a possible matrix entry combination including all determined matrix entries. In this case, the output may correspond to matrix entry M1,3(ii) a Corresponding to heel matrix entry M2,3Matrix entry M of1,1(ii) a Corresponding to heel matrix entry M3,3Matrix entry M of1,2(ii) a Or to the heel matrix entry M2,2Matrix entry M of1,1Matrix entry M2,2Followed by matrix entry M3,3. In this case, the apparatus determines the matrix entry M1,1、M2,2And M3,3Representing the most likely combination of known characters, and therefore these characters ("family and" again ") are provided as output to the user.
In response to the (m +4) th stroke, the first part of the process as shown in FIG. 6b is repeated. In response to the input of the (m +4) th stroke, the device is configured to determine whether the (m +4) th stroke is combined with strokes in a previous stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the stroke is determined to be combined with the previous stroke group to form an updated stroke group.
Based on this, the apparatus/device recalculates a stroke group combination including the new stroke group. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since the updated stroke group was not determined when the probability matrix was last determined (in response to the (m +2) th stroke), a new column for the updated stroke group is provided. This new row represents a possible combination of stroke groups including the updated stroke group.
As for the (m +2) th stroke group, at this stage, the process does not proceed to calculate the combination of probability matrix items.
In response to the (m +5) th stroke, the apparatus/device is configured to determine possible matrix entry combinations including all the determined stroke groups. In this case, the apparatus determines the matrix entry M1,1、M2,2、M3,3And M4,4Representing the most likely combination of known characters, and therefore these characters ("family and default") are provided as output to the user.
When the user is done writing, there may be some strokes that have not yet been processed. These strokes may be processed after a timeout of the input method. The user can then be provided with the entire content he has written. It will be appreciated that because the required computations are reduced, the computations may be performed between the user providing one stroke and the user providing a subsequent stroke.
In this case, the (m +5) th stroke is the last stroke that the user wishes to enter into the subject line of the email. However, in the present example, the (m +5) th stroke is not completely processed in response to the input of the (m +5) th stroke. In this example, when the user has not entered a stroke within a predetermined threshold period of time, the device/apparatus is configured to complete processing of any strokes that have not been completely processed. This is shown in fig. 5 b. When a predetermined time threshold is exceeded, the device/apparatus is configured to recalculate the group combination including the updated stroke groups. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since the updated stroke group is determined when the probability matrix was last determined (in response to the (m +4) th stroke), the final column is updated to reflect the updated stroke group. This updated row represents a possible combination of stroke groups including the updated stroke group.
Unlike before, when processing is responsive to exceeding a time period threshold, the process continues to compute a combination of probability matrix entries.
In this case, the apparatus/device is configured to determine possible combinations of matrix entries comprising all determined stroke groups. In this case, the apparatus determines the matrix entry M1,1、M2,2、M3,4Representing the most likely combination of known characters, and therefore these characters ("happy-home") are provided as output to the user.
It should be understood that the method may be applied to other written languages, for example languages using alphabetic characters such as english or greek. In particular, the method may be used to identify words or word components that have been written to overlap one another.
Fig. 7 illustrates the calculations performed by the apparatus/device shown in fig. 5a when successive strokes corresponding to roman alphabetic characters are entered into the input entry area. In this case, the user writes the phrase "I loveNokia" consisting of three words, each comprising one or more alphabetic characters. In this case, the first word "I" of the phrase has been entered and the mth stroke (corresponding to the letter "v") shown in fig. 7 represents the last stroke corresponding to the second word component "lov". In this case, handwriting is overlapped because when the user completes one line of text, they continue writing the next line of text at the same location as the previous line.
In response to the input of the mth stroke, the device is configured to determine whether the mth stroke is combined with strokes in a previous stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In the pre-segmentation phase, only the newly added strokes are processed. The pre-segmentation results of other strokes are untouched. Thus, there is only one updated or new generated set of pre-segments at a time. In this case, the mth stroke is determined to be combined with the previously determined stroke group to form the updated stroke group "lov".
Based on this, the apparatus/device recalculates the stroke group combination including the updated stroke group. These combinations represent the final column of the matrix of stroke group combinations that gives all the input stroke groups. Not including new or updated stroke groups (e.g., M)1,1) The combination of stroke groups of (1) remains unchanged. This may provide significant processing reduction.
In this case, the stroke group combinations are shown in a non-overlapping configuration. That is, in fig. 7, continuous stroke groups constituting a combination are shown side by side.
Current probability matrix Mi,jWhen more updated, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups. In this case, the output may correspond to matrix entry M1,2Or to the heel M2,2Matrix entry M of1,1
Similar to the graphical character recognition case, the probability of a combination scheme with n matrix terms roots can be expressed as the product of three terms:
P(S1,...,Sn-1,Sn)=P(S1,...,Sn-1)×P(Sn)×P(Sn|Sn-1)
the first term in the expression is the probability of the combination scheme with the first n-1 stroke groups, which has been calculated and stored in the system. The second part is the probability of the last stroke group as a single word, which can be examined from the probability matrix. The third part is the probability (which may be calculated, for example, using language modeling) that the recognized stroke group follows the previous stroke group. As previously noted, other example embodiments may calculate the sum of the logarithms of each term to provide an indication of the probability of a combined solution having n matrix terms, words or word components.
Thus, the string "llov" is provided as an output. Unlike the previous case, the provided output is provided directly into the text entry field 516 into which the user enters text. It should be appreciated that the output provided may be updated as additional strokes are input. It should be appreciated that other example embodiments may be configured to calculate the sum of the logarithms of each term. This may provide faster computations.
In response to the (m +1) th stroke, the process shown in FIG. 7 is repeated. In response to the input of the (m +1) th stroke, the device is configured to determine whether the (m +1) th stroke is combined with strokes in the previously determined stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the stroke is determined not to be combined with the previous stroke group to form an updated stroke group, but to form a new stroke group.
Based on this, the apparatus/device recalculates a stroke group combination including the new stroke group. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since there is a new set of strokes, a new column (M)i,j=3735: m +1) is added to the probability matrix. This newly computed line (735: m +1) represents a possible combination of stroke groups including the newly added stroke group.
When the probability matrix has been more updated, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups. In this case, the possible combinations involving the previously determined stroke groups are not changed. Only the combination comprising the new stroke group is recalculated (736: m + 1). In this case, the output may correspond to matrix entry M3,3(ii) a Corresponding to heel matrix entry M2,3Matrix entry M of1,1(ii) a Corresponding to heel matrix entry M3,3Matrix entry M of1,2(ii) a Or to the heel matrix entry M2,2Matrix entry M of1,1Matrix entry M2,2Followed by matrix entry M3,3. In this case, the matrix entry M1,1And matrix entry M2,3Corresponding to known characters, and therefore these characters ("I love") are provided as output to the user.
It should be appreciated that in this case, the probability of "I" being followed by "love" may be high (third term in the above equation) because a verb (e.g., "love") is expected to follow a pronoun (e.g., "I"). If the pronoun is followed by a noun (e.g., "Ilog"), the device may be configured to determine a lower value for the third term in the above equation. These values may be calculated using an N-gram language model, such as a binary or ternary language model. When using a language model, it should be understood that the language model may take into account the beginning and end of a sentence. For example, the bigram may take into account the probability that the first word is the beginning of a sentence and the probability that the last word is the end of the sentence. Without these sentence start and sentence end markers, the probability of a non-grammatical sequence (such as "I love my") is generally higher than the longer but grammatically correct sentence "I love my phone".
In this case, the process continues as the user enters additional strokes of the last word until the desired sentence phrase "I love Nokia" is entered.
Because the recognition process includes several stages, these stages need not all be performed in response to each input stroke. That is, other example embodiments may perform the recognition process at several intervals (each interval corresponding to the input of a single stroke). This may further reduce the required processing power while providing output characters in real time.
Since the processing of a new stroke may take some time, after the processing of a stroke is completed, there may be several strokes or even if groups of intervening segments wait for recognition. However, since pre-segmented groups typically have several strokes, the processing of each stroke may be distributed over multiple stroke inputs without causing noticeable or perceptible delays to the user.
Fig. 6a shows a series of calculations performed by another example embodiment configured to perform the identification process over two intervals. For comparison, the user enters the same word "I loveNokia" as entered using the example embodiment of FIG. 7.
In this case, the same calculation is performed to provide an output word, i.e. in response to receiving a new stroke, the apparatus/device determines whether the new stroke forms an updated stroke group or a new stroke group (pre-segmentation) in combination with the previous stroke group; and whether the new or updated stroke group is combined with the previously determined stroke group to provide a recognizable word (fine segmentation). In this case, however, a different phase of computation is performed for each successive stroke.
As in the example illustrated in fig. 7, the first word "I" of the word has been entered and the mth stroke shown in fig. 8a represents the last stroke corresponding to the second word component "lov".
At this stage, as in the example embodiment of FIG. 7, in response to the input of the mth stroke, the device is configured to determine whether the mth stroke is combined with strokes in a previous stroke group to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the mth stroke is determined to form part of the previously determined stroke group (833: m).
Based on this, the device/apparatus recalculates stroke group combinations that include new or updated stroke groups (835: m). That is, the apparatus/device recalculates the stroke group combinations including the updated stroke groups in the probability matrix. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since there are no new stroke groups, the size of the matrix does not change, however the final column of the probability matrix (835: m) is updated to reflect the updated stroke groups. This updated row represents a possible combination of stroke groups including the updated stroke group. A stroke group combination that does not include new or updated stroke groups remains unchanged can provide significant processing reduction.
In contrast to the previous example embodiment, when the probability matrix has been more updated, the apparatus/device is not configured to determine possible matrix entry combinations including all determined stroke groups. Thus, the output text remains the same as for the (m-1) th stroke.
In response to the (m +1) th stroke (corresponding to the letter "e"), the process continues as shown in FIG. 8 a. In this case, although the apparatus/device determines that the (m +1) th stroke forms a new stroke group (834: m +1), the probability matrix is not updated to reflect the input of the (m +1) th stroke. However, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups based on the matrix determined at the previous interval (in response to the input of the mth stroke). In this case, the output may correspond to matrix entry M1,2(ii) a Or to the heel matrix entry M2,2Matrix entry M of1,1. In this case, corresponding to matrix entry M1,2The alphabetic characters of the ("llov") are provided as output to the user.
In response to the (m +2) th stroke, the steps performed for the mth stroke as shown in fig. 8a are repeated. In response to the input of the (m +2) th stroke, the device is configured to determine whether the (m +2) th stroke is combined with strokes in the previous stroke group (determined in the (m +1) th interval) to form an updated stroke group or whether additional strokes form a new stroke group. In this case, the strokes are determined to form a new stroke group.
Because the previous stroke (the (m +1) th stroke) has not been completely processed, the device/apparatus recalculates the stroke group combination including the stroke group including the (m +1) th stroke, not the stroke group combination including the (m +2) th stroke. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. Since the updated stroke group was not determined when the probability matrix was last determined (in response to the (m) th stroke), a new column for the updated stroke group is provided (to take into account the (m +1) th stroke). This new row represents a possible combination of stroke groups including the new stroke group.
As for the (m) th stroke group, at this stage, the process does not proceed to calculate the combination of probability matrix items.
In response to the (m +3) th stroke, the apparatus is configured to determine whether the stroke forms a new stroke group or is combined with the last stroke group to form an updated stroke group. In this case, the (m +3) th stroke (corresponding to the character "o") and the last stroke group form an updated stroke group.
The apparatus/device is further configured to determine possible matrix entry combinations including all determined matrix entries. In this case, the output may correspond to matrix entry M1,3(ii) a Corresponding to heel matrix entry M2,3Matrix entry M of1,1(ii) a Corresponding to heel matrix entry M3,3Matrix entry M of1,2(ii) a Or to the heel matrix entry M2,2Matrix entry M of1,1Matrix entry M2,2Followed by matrix entry M3,3. In this case, the apparatus determines the matrix entry M1,1And M2,3Representing the most likely combination of known words, and therefore these words ("I love") are provided as output to the user.
Processing of the updated stroke group (including the word composition "No") will begin in response to the (m +4) th stroke.
When the user is done writing, there may be some strokes that have not yet been processed. These strokes may be processed after a timeout of the input method. The user may then be provided with the entire content he has written. It will be appreciated that because the required computations are reduced, the computations may be performed between the user providing one stroke and the user providing a subsequent stroke.
In this example, when the user has not entered a stroke within a predetermined threshold period of time, the device/apparatus is configured to complete the processing of any strokes that have not been completely processed. This is shown in fig. 8 b. When a predetermined time threshold is exceeded, the device/apparatus is configured to recalculate the group combination including the updated stroke groups. The combination of stroke groups that does not include new or updated stroke groups remains unchanged. In this case, the last stroke forms part of the updated stroke group, and thus the final column of the probability matrix is updated to reflect the updated stroke group. This updated row represents a possible combination of stroke groups including the updated stroke group.
Unlike before, when processing is responsive to exceeding a time period threshold, the process continues to compute a combination of probability matrix entries.
In this case, the apparatus/device is configured to determine possible matrix entry combinations including all determined stroke groups. In this case, the apparatus determines the matrix entry M1,1、M2,2、M4,5Representing the most likely combination of known characters, and therefore these characters ("I love Nokia") are provided as output to the user.
Fig. 9a illustrates an example embodiment of an apparatus in communication with a remote server. Fig. 9b illustrates an example embodiment of an apparatus in communication with a "cloud" for cloud computing. In fig. 9a and 9b, device 901 (which may be device 101, 201, or 301) is in communication with display 904. Of course, the apparatus 901 and the display 904 may form part of the same apparatus/device, although they may be separate as shown in the figures. Device 901 is also in communication with a remote computing element. Such communication may be via, for example, a communication unit. Fig. 9a illustrates the remote computing element as a remote server 995 with which the device may communicate, either wired or wirelessly (e.g., via the internet, bluetooth, a USB connection, or any other suitable connection known to those skilled in the art). In fig. 9b, device 901 is in communication with remote cloud 996 (which may be through, for example, the internet or a system of remote computers configured for cloud computing). The functionality associated with the user interface elements may be stored at the remote computing elements 995, 996 and accessed by the apparatus 901 for display 904. The determination and/or provision may be performed at the remote computing elements 995,996. The apparatus 901 may in fact form part of a remote server 995 or a remote cloud 996.
Fig. 10 illustrates a process flow according to an example embodiment of the present disclosure. The process comprises the following steps: determining (1081) whether the further strokes are combined with one or more previously input strokes of a previously determined group of strokes to form an updated group of strokes or a new group of strokes based on receipt of the further input strokes, wherein each group of strokes comprises one or more strokes and corresponds to a radical; and providing (1082) an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group based on the determination.
Fig. 11 illustrates a process flow according to an example embodiment of the present disclosure. The process comprises the following steps: determining (1181) whether the further stroke combines with one or more previously input strokes of previously determined stroke groups to form an updated stroke group or a new stroke group based on receipt of the further input stroke, wherein each stroke group comprises one or more strokes and corresponds to a word or word component; and providing (1182) an output including one or more words or word components corresponding to the determined new stroke group or updated stroke group based on the determination.
Fig. 12 schematically illustrates a computer/processor readable medium 1200 providing a computer program according to an example embodiment. In this example, the computer/processor readable medium 1200 is a disk, such as a Digital Versatile Disk (DVD) or a Compact Disk (CD). In other example embodiments, the computer/processor readable medium 1200 may be any medium that has been programmed to enable performance of the inventive functions. The computer/processor readable medium 1200 may be a removable memory device, such as a memory stick or memory card (e.g., SD, mini SD, or micro SD).
The computer program may comprise program code configured to perform, control or enable one or more of the method steps 881, 882 of fig. 8. In this regard, the computer program may be stored on a storage medium of the scanning/enabling device, a storage medium of the advertising device, or both.
As the reader of the skilled person will appreciate, any mentioned apparatus/devices and/or other features of the specific apparatus/devices mentioned may be provided by apparatus arranged such that they can be configured to perform the desired operation only when enabled (e.g. switched on, etc.). In such cases, they may not necessarily have the appropriate software loaded into the active memory in the non-enabled state (e.g., the off state), and only load the appropriate software in the enabled state (e.g., the boot state). The apparatus may comprise hardware circuitry and/or firmware. The apparatus may comprise software loaded onto a memory. Such software/computer programs may be recorded on the same memory/processor/functional unit and/or on one or more memory/processors/functional units.
In some example embodiments, the particular devices/apparatus mentioned may be pre-programmed with appropriate software to perform the desired operations, and wherein the appropriate software may be enabled by a user, for example, downloading a "key" in order to unlock/enable the software and its associated functionality. Advantages associated with such example embodiments may include a reduced need to download data when additional functionality of the device is required, and this may be useful in the following examples: where the device is perceived as having sufficient capability to store such pre-programmed software that is not enabled by the user.
It is to be understood that any mentioned means/circuit/element/processor may have other functions than the mentioned functions and that these functions may be performed by the same means/circuit/element/processor. One or more aspects disclosed may include electronic distribution of the associated computer program and a computer program (which may be source/transport encoded) recorded on a suitable carrier (e.g., memory, signal).
It should be understood that any "computer" described herein may include a collection of one or more individual processors/processing elements that may or may not be located on the same circuit board, or the same area/location of a circuit board, or even the same device. In some example embodiments, one or more of any of the processors mentioned may be distributed across multiple devices. The same or different processors/processing elements may perform one or more of the functions described herein.
It should be understood that the term "signaling" may refer to one or more signals transmitted as a series of transmitted and/or received signals. A series of signals may comprise one, two, three, four or even more separate signals or different signals to constitute the signalling. Some or all of these separate signals may be transmitted/received simultaneously, sequentially, and/or in a manner that enables them to overlap each other in time.
Any discussion of any mentioned computer and/or processor and memory, including ROM, CD-ROM, etc., may include a computer processor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and/or other hardware components programmed in a manner to enable the inventive functionality to be performed.
The applicant hereby discloses in isolation individual features described herein and any combination of two or more such features to the extent that: such features or combinations can be carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein, and without limiting the scope of the claims. The applicant indicates that the disclosed example aspects/embodiments may consist of any such single feature or combination of features. In view of the above description it will be evident to a person skilled in the art that various modifications may be made within the scope of the disclosure.
While there have been shown and described and pointed out functionally novel features as applied to various exemplary embodiments thereof, it will be understood that various omissions and substitutions and changes in the form of the details of the devices and methods described may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Additionally, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or example embodiment may be incorporated in any other disclosed or described or suggested form or example embodiment as a general matter of design choice.
Furthermore, in the claims means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures. Thus, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface, in embodiments where wooden parts are fastened, a nail and a screw may be equivalent structures.

Claims (19)

1. An apparatus for text input, 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 at least one processor, cause the apparatus to perform at least the following:
determining further input strokes based on receipt of the further input strokes
Whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
based on the determination, providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group,
wherein the apparatus is configured to determine the new or updated stroke group based on the determined new or updated stroke group:
combining with one or more previously entered stroke groups to form an updated graphical character; or also
A new graphic character is formed.
2. The apparatus of claim 1, wherein a combination of strokes to form a stroke group is based on one or more of: spatial features of the strokes; and a statistical classification method.
3. The apparatus of claim 1, wherein the apparatus is configured to determine a probability matrix that includes all possible permutations of the determined group of strokes.
4. The apparatus of claim 3, wherein the probability matrix is updated based on the determined new group of strokes by adding an item to the matrix representing a combination including the determined new group of strokes.
5. The apparatus of claim 3, wherein the probability matrix is updated based on the determined updated group of strokes by updating an item representing a combination including the determined updated group of strokes to the matrix.
6. The apparatus of claim 4, wherein the apparatus is configured to determine whether each arrangement of the determined group of strokes corresponds to a separate graphical character.
7. The apparatus of claim 6, wherein the determination of whether each arrangement of the determined group of strokes corresponds to a separate graphical character comprises:
determining a probability that each determined arrangement of the group of strokes corresponds to a separate graphical character.
8. The apparatus of claim 6 or 7, wherein the apparatus is configured to determine whether a combination of elements of the matrix corresponds to a graphical string.
9. The apparatus of claim 8, wherein providing for output of one or more characters is based on probabilities determined for one or more of:
the previously determined stroke groups are combined to form a graphic character string;
elements of the matrix comprising the set of further input strokes form individual graphical characters; and
the individual characters of the group comprising the further entered strokes form a character string with the other determined characters.
10. The apparatus of claim 9, wherein a language model is used to determine probabilities that individual characters of the group comprising strokes of the further input form character strings with other determined characters.
11. The apparatus of any of claims 1-7 and 9-10, wherein at least part of the determining is performed in response to at least one of:
receiving a stroke after the further input stroke; and
a predetermined time period threshold since the further input stroke was exceeded.
12. The apparatus of any of claims 1-7 and 9-10, wherein the apparatus is one of the following electronic devices: laptop computers, mobile phones, smart phones, tablet computers, personal digital assistants, digital cameras, watches, desktop computers.
13. The apparatus of any of claims 1-7 and 9-10, wherein the apparatus is a module/circuit arrangement for one or more of the following electronic devices: a laptop computer, a mobile phone, a smart phone, a tablet computer, a personal digital assistant, a digital camera, a watch, a desktop computer, a display, a wand, a stylus, a touch pad, a touch screen, a mouse, a joystick.
14. The apparatus of any of claims 1-7 and 9-10, wherein the apparatus is a server or a module/circuit for a server.
15. A method for text input, the method comprising:
determining a further input stroke based on receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
based on the determination, providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group,
wherein determining the new or updated stroke group based on the determined new or updated stroke group:
combining with one or more previously entered stroke groups to form an updated graphical character; or also
A new graphic character is formed.
16. A computer readable medium having computer program code stored thereon, the computer program code configured to perform at least the following:
determining a further input stroke based on receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group includes one or more strokes and corresponds to a radical; and
based on the determination, providing an output including one or more graphical characters corresponding to the determined radicals of the new stroke group or the updated stroke group,
wherein determining the new or updated stroke group based on the determined new or updated stroke group:
combining with one or more previously entered stroke groups to form an updated graphical character; or also
A new graphic character is formed.
17. An apparatus for text input, 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 at least one processor, cause the apparatus to perform at least the following:
determining a further input stroke based on receipt of the further input stroke:
whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group comprises one or more strokes and corresponds to a word or word component; and
based on the determination, providing an output comprising one or more words of the word or word composition corresponding to the determined new stroke group or the updated stroke group,
wherein the apparatus is configured to determine the new or updated stroke group based on the determined new or updated stroke group:
combining with one or more previously entered stroke groups to form an updated word; or also
A new word is formed.
18. A method for text input, the method comprising:
determining further input strokes based on receipt of the further input strokes
Whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group comprises one or more strokes and corresponds to a word or single-word composition; and
based on the determination, providing an output comprising one or more component words of the word or word component corresponding to the determined new stroke group or the updated stroke group,
wherein determining the new or updated stroke group based on the determined new or updated stroke group:
combining with one or more previously entered stroke groups to form an updated word;
or also
A new word is formed.
19. A computer readable medium having computer program code stored thereon, the computer program code configured to perform at least the following:
determining further input strokes based on receipt of the further input strokes
Whether combined with one or more previously entered strokes of a previously determined stroke group to form an updated stroke group, or
A new group of strokes is formed and,
wherein each stroke group comprises one or more strokes and corresponds to a word or word component; and
based on the determination, providing an output comprising one or more words of the word or word composition corresponding to the determined new stroke group or the updated stroke group,
wherein determining the new or updated stroke group based on the determined new or updated stroke group:
combining with one or more previously entered stroke groups to form an updated word; or also
A new word is formed.
CN201380077229.9A 2013-04-12 2013-04-12 Apparatus for text input and associated method Active CN105283882B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/074154 WO2014166114A1 (en) 2013-04-12 2013-04-12 An apparatus for text entry and associated methods

Publications (2)

Publication Number Publication Date
CN105283882A CN105283882A (en) 2016-01-27
CN105283882B true CN105283882B (en) 2019-12-27

Family

ID=51688884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380077229.9A Active CN105283882B (en) 2013-04-12 2013-04-12 Apparatus for text input and associated method

Country Status (2)

Country Link
CN (1) CN105283882B (en)
WO (1) WO2014166114A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
DK179374B1 (en) * 2016-06-12 2018-05-28 Apple Inc Handwriting keyboard for monitors
US10424086B2 (en) * 2017-11-16 2019-09-24 Adobe Inc. Oil painting stroke simulation using neural network
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
EP3772015B1 (en) * 2019-07-31 2023-11-08 MyScript Text line extraction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356616A (en) * 2000-11-23 2002-07-03 林兵 Chinese-character writing input method
CN101105734A (en) * 2007-08-09 2008-01-16 上海合合信息科技发展有限公司 Input method of touch screen hand-writing and point-touch combination
CN102243570A (en) * 2010-05-13 2011-11-16 微差通信公司 Method and apparatus for on-top writing
CN102449640A (en) * 2009-03-30 2012-05-09 辛纳普蒂克斯公司 Recognizing handwritten words

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100492403C (en) * 2001-09-27 2009-05-27 佳能株式会社 Character image line selecting method and device and character image identifying method and device
US20080008387A1 (en) * 2006-07-06 2008-01-10 Cheng Yi-Hsun E Method and apparatus for recognition of handwritten symbols
WO2012024829A1 (en) * 2010-08-24 2012-03-01 Nokia Corporation Method and apparatus for segmenting strokes of overlapped handwriting into one or more groups

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356616A (en) * 2000-11-23 2002-07-03 林兵 Chinese-character writing input method
CN101105734A (en) * 2007-08-09 2008-01-16 上海合合信息科技发展有限公司 Input method of touch screen hand-writing and point-touch combination
CN102449640A (en) * 2009-03-30 2012-05-09 辛纳普蒂克斯公司 Recognizing handwritten words
CN102243570A (en) * 2010-05-13 2011-11-16 微差通信公司 Method and apparatus for on-top writing

Also Published As

Publication number Publication date
WO2014166114A1 (en) 2014-10-16
CN105283882A (en) 2016-01-27

Similar Documents

Publication Publication Date Title
US10698604B2 (en) Typing assistance for editing
US20230040146A1 (en) User device and method for creating handwriting content
USRE46139E1 (en) Language input interface on a device
US8538754B2 (en) Interactive text editing
CN105283882B (en) Apparatus for text input and associated method
WO2015088669A1 (en) Multiple character input with a single selection
WO2014062588A2 (en) Incremental multi-word recognition
EP3037948A1 (en) Portable electronic device and method of controlling display of selectable elements
US20110319139A1 (en) Mobile terminal, key display program, and key display method
CN106020434B (en) Method, device and product for man-machine interface device input fusion
US10437350B2 (en) Stylus shorthand
US9733825B2 (en) East Asian character assist
KR20140146785A (en) Electronic device and method for converting between audio and text
KR102051585B1 (en) An electronic device and method having a function of hand writing using multi-touch
CN112181253A (en) Information display method and device and electronic equipment
CN104281560B (en) Display method, device and terminal of memory text information
CN104391644A (en) Input method and device
US20180300021A1 (en) Text input system with correction facility
US20150278216A1 (en) Electronic device, method and computer readable medium
US11086410B2 (en) Apparatus for text entry and associated methods
CN113778595A (en) Document generation method and device and electronic equipment
KR102219728B1 (en) Method and Apparatus for Searching Keyword Using Keypad
CN115291826A (en) Display method and device and electronic equipment
CN115238042A (en) Text coverage rate calculation method, device, equipment and storage medium
WO2012116497A1 (en) Inputting chinese characters in pinyin mode

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant