Language selection

Search

Patent 2653843 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2653843
(54) English Title: LEARNING CHARACTER SEGMENTS DURING TEXT INPUT
(54) French Title: APPRENTISSAGE DE SEGMENTS DE CARACTERES LORS D'UNE ENTREE DE TEXTE
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 3/01 (2006.01)
  • G06F 40/129 (2020.01)
  • G06F 40/279 (2020.01)
  • G06F 15/02 (2006.01)
(72) Inventors :
  • FUX, VADIM (Canada)
  • KOLOMIETS, SERGEY (Canada)
(73) Owners :
  • RESEARCH IN MOTION LIMITED (Canada)
(71) Applicants :
  • RESEARCH IN MOTION LIMITED (Canada)
(74) Agent: BORDEN LADNER GERVAIS LLP
(74) Associate agent:
(45) Issued: 2012-02-07
(86) PCT Filing Date: 2006-06-30
(87) Open to Public Inspection: 2008-01-03
Examination requested: 2008-11-26
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/CA2006/001089
(87) International Publication Number: WO2008/000058
(85) National Entry: 2008-11-26

(30) Application Priority Data: None

Abstracts

English Abstract

An improved method of learning character segments during text input enables facilitated text input on an improved handheld electronic device. In response to a series of inputs, segments and other objects are analyzed to generate a proposed character interpretation of the series of inputs. Responsive to detecting a replacement of a character of the character interpretation with another character, a character learning string comprising the another character and a number of additional characters of the character interpretation are stored as a candidate. In response to another series of inputs, another proposed character interpretation is generated. Responsive to detecting another replacement of a character of the another character interpretation with a different character, another character learning string comprising the different character and a number of characters of the another character interpretation are compared with the stored candidate. If a set of characters in the another character learning string match characters in the candidate, the set of characters are stored as a segment.


French Abstract

L'invention concerne un procédé amélioré d'apprentissage de segments de caractères lors d'une entrée de texte, lequel procédé facilite l'entrée de texte sur un dispositif électronique de poche amélioré. En réponse à une série d'entrées, des segments et d'autres objets sont analysés pour permettre la génération d'une interprétation de caractères proposée de la série d'entrées. Lorsqu'un remplacement d'un caractère de l'interprétation de caractères par un autre caractère est détecté, une chaîne d'apprentissage de caractères comprenant l'autre caractère et un certain nombre de caractères supplémentaires de l'interprétation de caractères sont mémorisés comme candidat. En réponse à une autre série d'entrées, une autre interprétation de caractères proposée est générée. Lorsqu'un autre remplacement d'un caractère de l'autre interprétation de caractères par un caractère différent est détecté, une autre chaîne d'apprentissage de caractères comprenant ce caractère différent et un certain nombre de caractères de l'autre interprétation de caractères sont comparés au candidat mémorisé. Si un ensemble de caractères de l'autre chaîne d'apprentissage de caractères correspond à des caractères de la chaîne candidate, l'ensemble de caractères est mémorisé comme segment.

Claims

Note: Claims are shown in the official language in which they were submitted.



CLAIMS:
1. A method of enabling input on a handheld electronic device comprising a
memory
having stored therein a plurality of characters and a plurality of segments,
the segments
each comprising a plurality of the characters, the method comprising:
receiving as a first entry a plurality of first inputs, at least some of the
first inputs
each corresponding with a number of the characters;
comparing at least a portion of the first entry with at least some of the
segments to
identify proposed first characters from the characters with which at least
some of the first
inputs correspond, respectively;
outputting the proposed first characters;
for at least one of the first inputs, detecting as an editing input a
replacement of one
of the proposed first characters with another first character with which the
first input
corresponds;
responsive to said detecting, storing as a candidate character string a string
of
characters comprising the another first character and a number of the proposed
first
characters output adjacent thereto;
receiving as a second entry a plurality of second inputs, at least some of the
second
inputs each corresponding with a number of the characters;
comparing at least a portion of the second entry with at least some of the
segments
to identify proposed second characters from the characters with which at least
some of the
second inputs correspond, respectively;
outputting the proposed second characters;
for at least one of the second inputs, detecting as an editing input a
replacement of
one of the proposed second characters with another second character with which
the
second input corresponds;
making a determination that a series of characters comprising the another
second
character and a number of proposed second characters output adjacent thereto
sequentially
match at least a portion of the candidate character string, the at least
portion of the
candidate character string comprising the another first character and at least
a subset of the
number of proposed first characters; and
responsive in the affirmative to said making a determination, storing the
series of
characters as a segment.

14


2. The method of Claim 1, further comprising making as at least a portion of
said
determination a determination that the series of characters sequentially match
the another
first character and a quantity of said proposed first characters disposed
adjacent the
another first character.


3. The method of Claim 1, wherein the handheld electronic device comprises an
input
apparatus comprising a plurality of input members, and further comprising
detecting as the
first entry a plurality of input member actuations, at least some of the first
inputs each
comprising a plurality of the input member actuations.


4. The method of Claim 1, further comprising storing as the candidate
character string
another first character, a quantity of the proposed first characters preceding
the another
first character, and a quantity of the proposed first characters following the
another first
character.


5. The method of Claim 4, further comprising making as at least a portion of
said
determination:
a determination that the another second character matches the another first
character;
followed by a determination that a proposed second character that one of
precedes
and follows the another second character matches a proposed first character
that the one of
precedes and follows the another first character;
followed by a determination that a proposed second character that the other of

precedes and follows the another second character matches a proposed first
character that
the other of precedes and follows the another first character.


6. The method of Claim 4, further comprising making as at least a portion of
said
determination:
a determination that the another second character matches the another first
character;
followed by a number of determinations that a number of proposed second
characters which alternately precede and follow the another second character
in a fashion



progressively moving outwardly from the another second character match a
number of
proposed first characters which similarly alternately precede and follow the
another first
character in a fashion progressively moving outwardly from the another first
character;
followed by a determination that a particular proposed second character at a
particular position in the series with respect to the another second character
differs from a
proposed first character similarly positioned in the candidate character
string with respect
to the another first character; and
storing as the series of characters the another second character and the
number of
proposed second characters.


7. The method of Claim 6, further comprising:
responsive to said determination that the proposed second character differs,
making
as one of said number of determinations a determination that a quantity of
additional
proposed second characters positioned in the series at a side of the another
second
character opposite that of the particular proposed second character match a
quantity of
proposed first characters positioned in the candidate character string with
respect to the
another first character at a position similar to that of the quantity of
additional proposed
second characters with respect to the another second character; and
storing the quantity of additional proposed second characters as a portion of
the
number of proposed second characters of the series of characters.


8. The method of Claim 6, further comprising, responsive to said determination
that
the proposed second character differs, initiating said storing the series of
characters.


9. The method of Claim 1, further comprising deleting the candidate character
string.

10. The method of Claim 1, further comprising determining that the series of
characters comprises more than a predetermined quantity of characters and,
responsive
thereto:
determining that another segment matches a portion of the series of
characters; and
storing as the segment the portion of the series of characters not matched by
the
another segment.


16


11. The method of Claim 1, further comprising storing as a combination object
at least
a representation of the segment and at least a representation of the another
segment.


12. A handheld electronic device comprising an input apparatus, a processor
apparatus,
and an output apparatus, the processor apparatus comprising a processor and a
memory
having stored therein a plurality of objects comprising a plurality of
characters and a
plurality of segments, the segments each comprising a plurality of the
characters, the
handheld electronic device further comprising:
means for receiving as a first entry a plurality of first inputs, at least
some of the
first inputs each corresponding with a number of the characters;
means for comparing at least a portion of the first entry with at least some
of the
segments to identify proposed first characters from the characters with which
at least some
of the first inputs correspond, respectively;
means for outputting the proposed first characters;
means for detecting, for at least one of the first inputs, as an editing input
a
replacement of one of the proposed first characters with another first
character with which
the first input corresponds;
means for storing, responsive to said detecting, as a candidate character
string a
string of characters comprising the another first character and a number of
the proposed
first characters output adjacent thereto;
means for receiving as a second entry a plurality of second inputs, at least
some of
the second inputs each corresponding with a number of the characters;
means for comparing at least a portion of the second entry with at least some
of the
segments to identify proposed second characters from the characters with which
at least
some of the second inputs correspond, respectively;
means for outputting the proposed second characters;
means for detecting, for at least one of the second inputs, as an editing
input a
replacement of one of the proposed second characters with another second
character with
which the second input corresponds;
means for making a determination that a series or characters comprising the
another second character and a number of proposed second characters output
adjacent
thereto sequentially match at least a portion of the candidate character
string, the at least

17


portion of the candidate character string comprising the another first
character and at least
a subset of the number of proposed first characters; and
means for storing, responsive in the affirmative to said making a
determination, the
series of characters as a segment.


13. The handheld electronic device of Claim 12, further comprising means for
making
as at least a portion of said determination a determination that the series of
characters
sequentially match the another first character and a quantity of said proposed
first
characters disposed adjacent the another first character.


14. The handheld electronic device of Claim 12, wherein the input apparatus
comprises a plurality of input members, the handheld electronic device further
comprising
means for detecting as the first entry a plurality of input member actuations,
at least some
of the first inputs each comprising a plurality of the input member
actuations.


15. The handheld electronic device of Claim 12, further comprising means for
storing
as the candidate character string another first character, a quantity of the
proposed first
characters preceding the another first character, and a quantity of the
proposed first
characters following the another first character.


16. The handheld electronic device of Claim 15, further comprising means for
making
as at least a portion of said determination:
a determination that the another second character matches the another first
character;
followed by a determination that a proposed second character that one of
precedes
and follows the another second character matches a proposed first character
that the one of
precedes and follows the another first character;
followed by a determination that a proposed second character that the other of

precedes and follows the another second character matches a proposed first
character that
the other of precedes and follows the another first character.


17. The handheld electronic device of Claim 15, further comprising means for
making
as at least a portion of said determination:


18


a determination that the another second character matches the another first
character;

followed by a number of determinations that a number of proposed second
characters which alternately precede and follow the another second character
in a fashion
progressively moving outwardly from the another second character match a
number of
proposed first characters which similarly alternately precede and follow the
another first
character in a fashion progressively moving outwardly from the another first
character;
followed by a determination that a particular proposed second character at a
particular position in the series with respect to the another second character
differs from a
proposed first character similarly positioned in the candidate character
string with respect
to the another first character; and
means for storing as the series of characters the another second character and
the
number of proposed second characters.


18. The handheld electronic device of Claim 17, further comprising:
means for making, responsive to said determination that the proposed second
character differs, as one of said number of determinations a determination
that a quantity
of additional proposed second characters positioned in the series at a side of
the another
second character opposite that of the particular proposed second character
match a
quantity of proposed first characters positioned in the candidate character
string with
respect to the another first character at a position similar to that of the
quantity of
additional proposed second characters with respect to the another second
character; and
means for storing the quantity of additional proposed second characters as a
portion of the number of proposed second characters of the series of
characters.


19. The handheld electronic device of Claim 17, further comprising means for
initiating, responsive to said determination that the proposed second
character differs, said
storing the series of characters.


20. The handheld electronic device of Claim 12, further comprising means for
deleting
the candidate character string.


19


21. The handheld electronic device of Claim 12, further comprising:
means for determining that the series of characters comprises more than a
predetermined quantity of characters;
means for determining that another segment matches a portion of the series of
characters; and
means for storing as the segment the portion of the series of characters not
matched
by the another segment.


22. The handheld electronic device of Claim 21, further comprising means for
storing
as a combination object at least a representation of the segment and at least
a
representation of the another segment.



Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
LEARNING CHARACTER SEGMENTS DURING TEXT INPUT

BACKGROUND
Field

The disclosed and claimed concept relates generally to handheld electronic
devices and, more particularly, to a method of learning new character segments
during
text input.

Description of the Related Art

Numerous types of handheld electronic devices are known. Examples of such
handheld electronic devices include, for instance, personal data assistants
(PDAs),
handheld computers, two-way pagers, cellular telephones, and the like. Many
handheld
electronic devices also feature wireless communication capability, although
many such
handheld electronic devices are stand-alone devices that are functional
without
communication with other devices.

In certain circumstances, a handheld electronic device having a keypad of
Latin
letters can be employed to enter text in languages that are not based upon
Latin letters.
For instance, pinyin Chinese is a type of phonetic Chinese "alphabet" which
enables
transcription between Latin text and Standard Mandarin text. Pinyin Chinese
can thus
enable the input of Standard Mandarin characters by entering Latin letters. A
"pin" is a
phonetic sound, oftentimes formed from a plurality of Latin letters, and each
pin is
associated with one or more Standard Mandarin characters. More than four
hundred pins
exist, and each pin typically corresponds with a plurality of different
Standard Mandarin
characters. While methods and devices for text input such as pinyin Chinese
text input
have been generally effective for their intended purposes, such methods and
devices have
not been without limitation.

Generally each Standard Mandarin character is itself a Chinese word. Moreover,
a given Standard Mandarin character in combination with one or more other
Standard
Mandarin characters can constitute a different word. An exemplary pin could be
phonetically characterized as "da", which would be input on a Latin keyboard
by
actuating the <D> key followed by an actuation of the <A> key. However, the
pin "da"
corresponds with a plurality of different Chinese characters. Moreover, the
pin "da" can
1


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
be a single syllable represented by a character within a Chinese word having a
plurality
of syllables, with each syllable being represented by a Standard Mandarin
character. As
such, substantial difficulty exits in determining which specific Standard
Mandarin
character should be output in response to an input of a pin when the pin
corresponds with
a plurality of Standard Mandarin characters.
Numerous methodologies have been developed to assist in generating a character
interpretation for a series of pins that have been input on a device. For
instance, an
exemplary algorithm would be the "simple maximum matching" algorithm, which is
one
algorithm among many, both simple and complex, of the well known Maximum
Matching Algorithm. A given device may have stored thereon a number of Chinese
words comprised of one or more Chinese characters, and the algorithm(s)
executed on
the device may employ such linguistic data to develop the best possible
character
interpretation of a series of input pins.
In response to the inputting of a sequence of pins, the aforementioned simple
maximum matching algorithm might generate a character interpretation
comprising the
largest Chinese words, i.e., the words having the greatest quantity of
Standard Mandarin
characters. For example, the algorithm might, as a first step, obtain the
largest Chinese
word having characters that correspond with the pins at the beginning of the
pin
sequence. As a second step, the algorithm might obtain the largest Chinese
word having
characters that correspond with the pins in the sequence that immediately
follow the
previous word. This is repeated until Chinese words have been obtained for all
of the
pins in the input sequence. The result is then output.
Numerous other algorithms are employed individually or in combination with the
objective of providing as a proposed output a character interpretation that
matches what
was originally intended by the user. It would be desired to provide an
improved method
and handheld electronic device that facilitate the input of text.

BRIEF DESCRIPTION OF THE DRAWINGS
A full understanding of the disclosed and claimed concept can be obtained from
the following Description when read in conjunction with the accompanying
drawings in
which:

2


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
Fig. 1 is a front elevational view of an exemplary handheld electronic device
in
accordance with the disclosed and claimed concept upon which is performed an
improved method in accordance with the disclosed and claimed concept;
Fig. 2 is a schematic depiction of the handheld electronic device of Fig. 1;
Fig. 3 is a schematic depiction of a portion of the handheld electronic device
of
Fig. 1;
Fig. 4 is an exemplary flowchart depicting a portion of the improved method;
Fig. 5 is an exemplary output during an exemplary text input operation;
Fig. 6 is another exemplary output during the exemplary text input operation;
Fig. 7 is an exemplary flowchart depicting another portion of the improved
method;

Fig. 8 is an exemplary flowchart depicting another portion of the improved
method;

Fig. 9 is an exemplary output during another exemplary text input operation;
and
Fig. 10 is another exemplary output during the another exemplary text input
operation.

Similar numerals refer to similar parts throughout the specification.
DESCRIPTION
An improved handheld electronic device 4 in accordance with the disclosed and
claimed concept is indicated generally in Fig. 1 and is depicted schematically
in Fig. 2.
The improved handheld electronic device 4 comprised an input apparatus 8, an
output
apparatus 12, and a processor apparatus 16. The input apparatus 8 provides
input to the
processor apparatus 16. The processor apparatus 16 provides output signals to
the output
apparatus 12.

The handheld electronic device and the associated method described herein
advantageously enable the input of text. The exemplary device and method are
described
herein in terms of pinyin Chinese, but it is understood that the teachings
herein can be
employed in conjunction with other types of text input, and can be employed in
conjunction with other languages such as Japanese and Korean, without
limitation.
The input apparatus 8 comprises a keypad 20 and a thumbwheel 24. The keypad
20 in the exemplary embodiment depicted herein is a Latin keypad comprising a
plurality
of keys 26 that are each actuatable to input to the processor apparatus 16 the
Latin
3


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
character indicated thereon. The thumbwheel 24 is rotatable to provide
navigational and
other input to the processor apparatus 16, and additionally is translatable in
the direction
of the arrow 28 of Fig. 1 to provide other input, such as selection inputs.
The keys 26
and the thumbwheel 24 serve as input members which are actuatable to provide
input to
the processor apparatus 16. The exemplary output apparatus 12 comprises a
display 32,
which serves as an output device.
Examples of other input members not expressly depicted herein would include,
for instance, a mouse or trackball for providing navigational inputs, such as
could be
reflected by movement of a cursor on the display 32, and other inputs such as
selection
inputs. Still other exemplary input members would include a touch-sensitive
display, a
stylus pen for making menu input selections on a touch-sensitive display
displaying
menu options and/or soft buttons of a graphical user interface (GUI), hard
buttons
disposed on a case of the handheld electronic device 4, an so on. Examples of
other
output devices would include a touch-sensitive display, an audio speaker, and
so on.
An exemplary mouse or trackball would likely advantageously be of a type that
provides various types of navigational inputs. For instance, a mouse or
trackball could
provide navigational inputs in both vertical and horizontal directions with
respect to the
display 32, which can facilitate input by the user.
The processor apparatus 16 comprises a processor 36 and a memory 40. The
processor 36 may be, for example and without limitation, a microprocessor ( P)
at
interfaces with the memory 40. The memory 40 can be any one or more of a
variety of
types of internal and/or external storage media such as, without limitation,
RAM, ROM,
EPROM(s), EEPROM(s), and the like that provide a storage register for data
storage
such as in the fashion of an internal storage area of a computer, and can be
volatile
memory or nonvolatile memory.

The memory 40 is depicted schematically in Fig. 3. The memory 40 has stored
therein a plurality of objects 44 and a number of routines 48. The routines 48
are
executable on the processor 36.

The objects 44 comprise a plurality of raw inputs 52, a plurality of
characters 56,
a plurality of combination objects 60, a plurality of generic segments 64, a
number of
candidates 68, and a number of learned segments 72. As employed herein, the
expression "a number of and variations thereof shall refer broadly to a
nonzero quantity,
including a quantity of one. The exemplary memory 40 is depicted as having
stored
4


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
therein at least a first candidate 68 and at least a first learned segment 72,
although it is
understood that the memory 40 need not at all times comprise candidates 68
and/or
learned segments 72. For instance, the handheld electronic device 4, when new,
may not
yet have stored in the memory 40 any candidates 68 or any learned segments 72,
it being
understood that one or more candidates 68 and/or learned segments 72 can
become stored
in the memory 40 with use of the handheld electronic device 4.
The raw inputs 52 and characters 56 may be stored in a table wherein each raw
input 52 is associated with one or more of the characters 56. In the exemplary
embodiment described herein, the exemplary language is Chinese, and thus each
raw
input 52 would be a pin in the scheme of pinyin Chinese. Associated with each
such raw
input 52, i.e., pin, would be one or more characters 56, i.e., Standard
Mandarin
characters.

The generic segments 64 each comprise a plurality of the characters 56. In the
present exemplary embodiment, each possible two-character permutation of the
Standard
Mandarin characters is stored as a generic segment 64. Additionally, other
Chinese
words comprising three or more Standard Mandarin characters are each stored as
a
generic segment 64, based upon prevalent usage within the language. In the
exemplary
embodiment depicted herein, the generic segments 64 are each at most six
Standard
Mandarin characters in length, although only an extremely small number of
generic
segments 64 comprise six Standard Mandarin characters.
As will be described in greater detail below, the candidates 68 are each a
series of
Standard Mandarin characters that were the subject of an initial portion of a
learning
cycle, i.e., an object for which the learning cycle has not yet been
completed. The
learned segments 72 are each a plurality of Standard Mandarin characters which
resulted
from candidates 68 which went through an entire learning cycle. As a general
matter, the
generic segments 64 are inviolate, i.e., are not capable of being changed by
the user, but
the candidates 68 and the learned segments 72 are changeable based upon, for
instance,
usage of the handheld electronic device 4.

The routines 48 advantageously comprise a segment learning routine which
enables the learning and storage of the learned segments 72, which facilitates
text input.
Specifically, the generic segments 64 provide a statistically-based solution
to a text input,
but the learned segments 72 advantageously provide a more customized user
experience
by providing additional segments, i.e., the learned segments 72, in response
to certain
5


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
inputs. This provides to the user a character interpretation that is more
likely to be the
character interpretation intended by the user than if the character
interpretation were
based solely on the generic segments 64.
An exemplary flowchart in Fig. 4 depicts certain aspects of an improved
learning
method provided by the learning routine. The routine detects, as at 104, an
actuation of
an input member, such as one of the keys 26 or the thumbwheel 24. It is then
determined, as at 108, whether the input member actuation was an edit input.
If it is
determined at 108 that the input member actuation was not an edit input, the
process
continues to 112 where the input member actuation and the preceding input
member
actuations in the current series of input member actuations are resolved into
inputs. In
the exemplary embodiment depicted herein, the inputs would each be pins since
the
exemplary language is pinyin Chinese. Since many pins are formed with a
plurality of
input member actuations, such as in the way the pin "da" is formed by an
actuation of the
<D> key 26 followed by an actuation of the <A> key 26, it is possible that a
given input
member actuation may not, by itself, constitute a new pin in the input
sequence.
Regardless, the various input member actuations are, to the extent possible,
converted
into inputs. In so doing, the raw inputs 52 may be employed.
Portions of the sequence of inputs obtained at 112 are then compared, as at
116,
with various stored objects 44 in the memory 40 to obtain a character
interpretation of the
input sequence. That is, one or more of the raw inputs 52, characters 56,
combination
objects 60, generic segments 64, candidates 68, and learned segments 72 are
consulted to
determine the series of Standard Mandarin characters that are most likely to
be the
interpretation desired by the user. The input routine may employ algorithms
from the
Maximum Matching Algorithm, and/or other algorithms, for instance, to
facilitate the
identification of appropriate objects 44 from which to generate the character
interpretation. The character interpretation is then output, as at 120.
Such an exemplary output of a character interpretation is depicted generally
in
Fig. 5 at a text component 276 therein. The depicted text component 276
comprises a
string of characters 256 that each correspond with an input, i.e., pin, of the
input
sequence. After the output at 120, processing thereafter continues to 104
where
additional input member actuations can be detected.
If it was determined at 108 that the current input member actuation was an
edit
input, processing would continue to 124 where a character learning string
would be
6


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
generated. An editing input is depicted generally in Figs. 5 and 6. Among the
characters
256 in the text component 276 of Fig. 5 is an edited character 284, which is a
character
256 that is the subject of the editing input. In Fig. 5, the edited character
284 is
highlighted, meaning that the system focus is on the edited character 284.
Since the
edited character 284 has been highlighted and is thus the subject of editing,
a variant
component 280 is also output at a separate location on the display 32. The
variant
component 280 comprises as a default character 288 the edited character 284.
The
variant component 280 additionally includes a number of variant character 292.
The
default character 288 and the variant characters 292 in the depicted exemplary
embodiment each are characters 256 that correspond with the pin with which the
edited
character 284 corresponds. That is, the default character 288 and the variant
characters
292 each represent a character 256 that corresponds with the pin that was
input at the
indicated location within the input sequence. The edited character 284 was the
character
which resulted from the input algorithm(s) provided by the routines 48 on the
handheld
electronic device 4. The edited character 284 may become highlighted by moving
a
cursor over the particular character 256 and either translating the thumbwheel
24 in the
direction of the arrow 28, by dwelling over the character 256, or through the
use of other
inputs recognizable by the appropriate routine 48.

In Fig. 6, the user has selected one of the variant characters 292 as a
replacement
character 296 which will be used to take the place of the edited character
284. The
replacement character 296 may have been selected through the use of a
navigational
input with the thumbwheel 24 or other such input. Upon highlighting the
replacement
character 296, the edited character 284 in the text component 276 is replaced
with the
replacement character 296. In the depicted exemplary embodiment, replacement
of the
edited character 284 with the replacement character 296 is finalized upon the
translating
the thumbwheel 24 in the direction of the arrow 28, or through the use of
another
appropriate input.

Figs. 5 and 6 depict an edit input, i.e., the selection of an edited character
284 and
the replacement thereof with a replacement character 296. Upon the detection
of such an
edit input, such as at 108, a character learning string is generated, as at
124. In the
exemplary embodiment described herein, the character learning string comprises
a string
of the characters 256 in the text component 276. Specifically, the character
learning
string comprises the replacement character 296 plus up to four additional
characters
7


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
adjacent each side of the replacement character 296, i.e., up to four
characters 256
preceding and up to four characters 256 following the replacement character
296. The
learning character string thus can have, for example, up to nine characters.
In the
depicted exemplary embodiment, the characters of a character learning string
are limited
to characters within a single sentence. As can be understood from Fig. 6, the
character
learning string generated in response to the edit input depicted in Figs. 5
and 6 would
comprise the replacement character 296, the two Standard Mandarin characters
to the left
of the replacement character 296, and the first four Standard Mandarin to the
right of the
replacement character 296.
After the character learning string has been generated at 124, it is then
determined
at 128 whether or not any portion of the character learning string matches a
portion of a
candidate 68. In this regard, a "portion" comprises the replacement character
296 and at
least one character adjacent thereto in the character learning string. It is
determined at
128 whether these characters match a set of adjacent characters in one of the
candidates
68.
If it is determined at 128 that no such match exists between a portion of the
character learning string and a portion of a candidate 68, the character
learning string is
itself stored, as at 132, as a candidate 68. Processing thereafter continues
at 104 where
additional input member actuations can be detected.
If it is determined at 128 that the replacement character 296 and at least one
character adjacent thereto in the character learning string match an adjacent
plurality of
characters in one of the candidates 68, the set of matched characters are
learned, as at
136. If the quantity of matched characters are five characters in length or
less, the set of
characters are stored as a learned segment 72. However, if the set of matched
characters
is more than five characters in length, the set of matched characters is
stored, by way of a
combination object 60, as a learned segment 72 plus another object, either a
character 56,
a generic segment 64, or another learned segment 72. That is, some of the
Standard
Mandarin characters 56 in the set of matched characters are compared with
various
objects 44 to identify a matching object 44. Since the generic segments 64
comprise
each two character permutation of the Standard Mandarin characters, at least
the two
initial characters of the set of matched characters can be stored in the form
of a reference
or pointer to the preexisting generic segment 64. The other characters 56 in
the set of
matched characters, i.e., the characters 56 other than the characters 56 for
which a
8


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
preexisting object 44 was identified, are stored as the learned segment 72.
The resultant
combination object 60 would, in the exemplary embodiment, include pointers to
both the
identified preexisting object 44 and the newly stored learned segment 72.
After the set of matched characters has been "learned", such as described
above,
the candidate 68 from which the matching characters were identified is
deleted, as at 140.
Processing thereafter returns to 104 where additional input member actuations
can be
detected.

The identification at 128 of a set of characters in the character learning
string that
match a set of characters in a candidate 68 can occur in any of a variety of
fashions. In
the exemplary embodiment depicted herein, the replacement character 296 in the
character learning string plus at least one adjacent character in the
character learning
string must match a corresponding set of adjacent characters in a candidate
68. This can
be accomplished, for example, by identifying among the candidates 68 all of
the
candidates 68 which comprise, as one of the characters thereof, the
replacement character
296. The characters in the learning character string that precede the
replacement
character 296 and that follow the replacement character 296 thereof are
compared with
characters in a candidate 68 that are correspondingly positioned with respect
to the
character thereof that matches the replacement character 296. In the depicted
exemplary
embodiment, the comparison occurs one character at a time alternating between
characters that precede and that follow the replacement character 296 in a
direction
progressing generally outwardly from the replacement character 296.
For example, the character learning string generated from the edit input
depicted
in Figs. 5 and 6 could be characterized as the string C3C1CRC2C4C5C6 . The
character
designed CR could be said to represent the replacement character 296, the
characters
C3C1 could be the two characters in Fig. 6 that precede, i.e., appear to the
left of, the
replacement character 296, and the characters C2C4C5C6 would represent the
four
characters that follow, i.e., appear to the right of, the replacement
character 296. In the
depicted exemplary embodiment, if CR matches a character in one of the
candidates 68,
the character C1 would be compared with a correspondingly positioned character
in the
candidate 68 that is being analyzed. If the character C1 matched the indicated
character
of the candidate 68, it would then be determined whether or not the character
C2 of the
character learning string matched the correspondingly positioned character in
the
candidate 68 being analyzed. Such character analysis would alternate between
the
9


CA 02653843 2008-11-26
WO 2008/000058 PCT/CA2006/001089
characters preceding and following the replacement character 296 in the
character
learning string until a non-matching character is identified at one side of
the replacement
character 296, or if no correspondingly positioned character exists in the
candidate 68.
Further comparisons are performed only at the opposite side of the replacement
character
296 until either a non-matching character is identified or no further
characters exist at
such opposite side of the candidate 68.
The result is a set of characters from the character learning string for which
a
matching series of characters was found within one of the candidates 68. The
set of
matched characters is stored, as indicated above, and the candidate 68 from
which the
matching characters was identified is deleted, as at 140.
Upon such storage of the matched characters as a learned segment 72 and/or a
combination object 60, the learned segment 72 and/or the combination object 60
can be
employed in conjunction with further text input to generate proposed character
interpretations of sequences of inputs. Since the user has already indicated
twice a
preference for the set of matched characters, i.e., the characters were stored
initially as a
candidate 68 and were thereafter stored within a character learning string
which was
compared with the candidate 68, the user has indicated a desire to use the set
of matched
characters.
It is noted that the generic segments 64 and the learned segments 72 each
comprise, in addition to the characters 56 thereof, a relative frequency
value. In the
exemplary depicted embodiment, the frequency value has a value between zero
and
seven, with higher values being indicative of relatively more frequent use.
The learned
segments 72 are each given a relatively high frequency value. As such, when at
116 a
character interpretation of an input sequence is obtained, a preference will
exist, as a
general matter, for the learned segments 72 when both a learned segment 72 and
a
generic segment 64 would constitute a valid character interpretation of a
given set of
adjacent inputs. As such, as the user continues to use the handheld electronic
device 4,
progressively greater quantities of learned segments 72 are stored, and
character
interpretations of input sequences progressively have a greater likelihood of
being the
character interpretation intended by the user.
Learned segments 72 and combination objects 60 can additionally be derived
from text received in other fashions on the handheld electronic device. For
instance, the
exemplary handheld electronic device 4 can receive messages, such as in the
form email,


CA 02653843 2011-01-26

or as messages such through the use of short message service (SMS). As can be
understood from Fig. 7, such received text can be generally said to be
subjected to the
input method generally described above and depicted in Fig. 4. Specifically, a
string of
characters is received, as at 304, on the handheld electronic device 4. The
characters of
the string of characters might be referred to as reference characters due to
their later use
in a comparison operation. At least some of the characters are converted into
raw inputs
52, as at 312. Typically, a single sentence is converted at one time, although
other
schemes can be employed for determining which portions of the text to convert
into raw
inputs 52.
The string of raw inputs 52 is then compared, as at 316, with certain of the
objects
44 in the memory 40 in order to obtain a character interpretation of the raw
inputs 52. It
is then determined, as at 318 whether any portion of the character
interpretation is
different than the string of reference characters received at 304 and which
were converted
into raw inputs 52 at 312. If it is determined at 318 that the character
interpretation is the
same as the received string of reference characters, the character
interpretation is ignored
as at 322. Processing thereafter continues, as at 312, where additional
characters, if any,
are converted into raw inputs 52 for further processing as indicated above.
If it is determined at 318 that some of the characters 56 of the character
interpretation differ from the characters in the string of characters obtained
at 304, a
character learning string is generated, as at 324. The character learning
string generated
at 324 comprises the characters in the string of characters obtained at 304
which were
identified as differing between the character interpretation and the received
string of
reference characters. If desired, the character learning string can
additionally include one
or more characters in the string of characters that precede and/or follow the
differing
characters.
Once the character learning string has been generated, as at 324, it is
determined
at 328 whether at least a portion of the character learning string matches at
least a portion
of a candidate 68. This occurs in a fashion similar to the processing at 128.
If no such
match is found at 328, the character learning string is stored, as at 332, as
a candidate 68.
If, however, a set of matching characters is identified at 328, the matching
characters are
stored, as at 336, as at least one of a learned segment 72 and a combination
object 60, in
a fashion similar to the processing at 136. The candidate 68 from which the
match was
identified is then deleted, as at 340. After processing after 332 or at 340,
processing
11


CA 02653843 2011-01-26

thereafter continues at 312 where additional characters can be converted into
raw inputs
52.
It thus can be seen that received text can be employed to learn new learn
segments 72 and/or combination objects 60 in a fashion similar to the way in
which
learned segments 72 and combination objects 60 were learned during text input,
as
depicted generally in Fig. 4. Moreover, the received text and the input text
can together
be used to store new learned segments 72 and new combination objects 60. For
instance,
a candidate 68 stored at 332, i.e., during analysis of the received text, can
be the
candidate identified at 128 during the text input process. By the same token,
a candidate
68 stored at 132, i.e., during text input, can be the candidate identified at
328 during
analysis of received text. Of course, candidates 68 stored at 132 during text
input can be
matched at 128 during other text input, and candidates 68 stored at 332 during
analysis of
received text can be matched at 328 during analysis of other received text.
This provides
further customization of the handheld electronic device 4 to the needs of the
user.
One of the routines 48 additionally provides a context learning feature when a
plurality of adjacent characters 56 in a character interpretation are replaced
with an
existing segment, either a generic segment 64 or a learned segment 72, or are
replaced
with individual characters 56. Such a context learning feature is depicted as
a flowchart
in Fig.8 and as a set of exemplary outputs in Figs 9 and 10. As can be
understood from
Fig. 8, a replacement of at least a portion of a character interpretation with
a segment is
detected, as a 406. Thereafter, the segment and either a preceding segment or
a
preceding character are stored as a combination object 60, as at 410.
Such an operation is depicted, for example, in Figs 9 and 10. In Fig. 9, a
text
component 576 is output and includes an edited segment 584 comprising two
characters
556. In response to the edited segment 584 being highlighted, a variant
component 580
is displayed and comprises a default segment 588 and a number of variant
segments 592.
In Fig. 10 the user has selected a replacement segment 596, which has replaced
the edited
segment 584. The replacement segment 596, plus a preceding object 44 (Fig.3)
in the
text component 576 are stored as a combination object 60. That is, the new
combination
object 60 comprises the replacement segment 596 plus the object 44 that
precedes the
replacement segment 596. If what the precedes the replacement segment 596 is
another
segment, the preceding segment is stored as a part of the new combination
object 60. If
the object 44 that precedes the replacement segment 596 is a character 556,
i.e., a
12


CA 02653843 2011-01-26

character 556 that is not part of a segment, the character 556 is stored as
the other portion
of the combination object 60.
The new combination object 60 thus can be employed by the input routine to
determine whether a preference exists for one segment in the context of
another object
44. For instance, the replacement segment 596 portion of the new combination
object 60
might be selected over another segment that is a valid character
interpretation of a part of
a sequence of inputs when it follows the same character 556 or the other
segment which
preceded the replacement segment 596 during the aforementioned context
learning
operation. The combination objects 60 thus provide a further level of
customization for
the user, and facilitate providing a character interpretation that matches the
user's
original intention.
As noted above, the context learning feature can be initiated when a plurality
of
adjacent characters 56 in a character interpretation are replaced with other
individual
characters 56. If a particular character 56 in a string of characters is
replaced with
another particular character 56 as a result of an editing input, a character
learning string
is generated, as at 124 in Fig. 4 and as is described elsewhere herein. Such a
character
learning string can be stored as a candidate, as at 132, or can be stored, in
whole or in
part, as at least one of a learned segment 72 and a combination object 60, as
at 136. If,
however, the user thereafter seeks to edit a character 56 adjacent the another
particular
character 56, the system will interpret the individual editing of two adjacent
characters 56
as indicating a need to store a new segment. Processing therefore would
immediately be
transferred to 410 in Fig. 8, wherein the edited adjacent characters would be
stored as a
learned segment 72 and as a portion of a combination object 60. In a similar
fashion, if a
third adjacent character 56 was similarly individually edited, the three
edited adjacent
characters would be stored as a learned segment 72 and as a portion of a
combination
object 60.
While specific embodiments of the disclosed and claimed concept have been
described in detail, it will be appreciated by those skilled in the art that
various
modifications and alternatives to those details could be developed in light of
the overall
teachings of the disclosure. Accordingly, the particular arrangements
disclosed are
meant to be illustrative only and not limiting as to the scope of the
disclosed and claimed
concept which is to be given the full breadth of the claims appended and any
and all
equivalents thereof.
13

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2012-02-07
(86) PCT Filing Date 2006-06-30
(87) PCT Publication Date 2008-01-03
(85) National Entry 2008-11-26
Examination Requested 2008-11-26
(45) Issued 2012-02-07

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $473.65 was received on 2023-06-23


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2024-07-01 $253.00
Next Payment if standard fee 2024-07-01 $624.00

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $200.00 2008-11-26
Registration of a document - section 124 $100.00 2008-11-26
Registration of a document - section 124 $100.00 2008-11-26
Application Fee $400.00 2008-11-26
Maintenance Fee - Application - New Act 2 2008-06-30 $100.00 2008-11-26
Maintenance Fee - Application - New Act 3 2009-06-30 $100.00 2009-06-29
Maintenance Fee - Application - New Act 4 2010-06-30 $100.00 2010-05-17
Maintenance Fee - Application - New Act 5 2011-06-30 $200.00 2011-05-18
Final Fee $300.00 2011-11-23
Maintenance Fee - Application - New Act 6 2012-07-03 $200.00 2011-11-23
Maintenance Fee - Patent - New Act 7 2013-07-02 $200.00 2013-05-08
Maintenance Fee - Patent - New Act 8 2014-06-30 $200.00 2014-06-23
Maintenance Fee - Patent - New Act 9 2015-06-30 $200.00 2015-06-29
Maintenance Fee - Patent - New Act 10 2016-06-30 $250.00 2016-06-27
Maintenance Fee - Patent - New Act 11 2017-06-30 $250.00 2017-06-26
Maintenance Fee - Patent - New Act 12 2018-07-03 $250.00 2018-06-25
Maintenance Fee - Patent - New Act 13 2019-07-02 $250.00 2019-06-21
Maintenance Fee - Patent - New Act 14 2020-06-30 $250.00 2020-06-26
Maintenance Fee - Patent - New Act 15 2021-06-30 $459.00 2021-06-25
Maintenance Fee - Patent - New Act 16 2022-06-30 $458.08 2022-06-24
Maintenance Fee - Patent - New Act 17 2023-06-30 $473.65 2023-06-23
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
RESEARCH IN MOTION LIMITED
Past Owners on Record
2012244 ONTARIO INC.
FUX, VADIM
KOLOMIETS, SERGEY
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Description 2011-01-26 13 770
Claims 2011-01-26 7 310
Drawings 2011-01-26 6 129
Representative Drawing 2009-04-03 1 13
Cover Page 2009-04-03 2 56
Abstract 2008-11-26 2 83
Claims 2008-11-26 7 308
Drawings 2008-11-26 6 130
Description 2008-11-26 13 762
Representative Drawing 2012-01-17 1 13
Cover Page 2012-01-17 2 55
PCT 2008-11-26 4 160
Assignment 2008-11-26 11 490
Prosecution-Amendment 2010-08-17 3 99
Prosecution-Amendment 2011-01-26 13 617
Correspondence 2011-11-23 1 30