US20080169942A1 - Adaptive multitap timeout - Google Patents
Adaptive multitap timeout Download PDFInfo
- Publication number
- US20080169942A1 US20080169942A1 US11/622,725 US62272507A US2008169942A1 US 20080169942 A1 US20080169942 A1 US 20080169942A1 US 62272507 A US62272507 A US 62272507A US 2008169942 A1 US2008169942 A1 US 2008169942A1
- Authority
- US
- United States
- Prior art keywords
- timeout
- timeout period
- key
- period
- communication device
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
Definitions
- the invention relates to communication devices, and more particularly, to inputting text into communication devices.
- Communication devices such as mobile terminals, may be used by individuals for communicating with users of other communication devices.
- a communication device may be used to place/receive calls and send/receive text messages to/from other communication devices.
- Communication devices typically allow the user to enter text, such as text messages, via an alpha-numeric keypad where multiple letters are associated with a single key. Users are forced to wait for a timeout period when a next letter to be typed is located on the same key as the previous letter.
- a method comprises receiving successive key inputs; determining an average time duration between successive key inputs; starting a timeout; determining if the timeout was successful; and adjusting a timeout period based on at least one of the determined average time duration between successive key inputs or the determined success of the timeout.
- the determining success of the timeout further includes: determining if a backspace key is actuated.
- the method further comprises determining if a key entry mistake occurred.
- timeout period is not adjusted when a key entry mistake has not occurred.
- the method further includes increasing the timeout period when an unsuccessful timeout is determined and a key entry mistake has not occurred.
- a communication device comprises a plurality of input keys; a timeout timer for starting a timeout period; and logic configured to: determine an average time period between successive actuations of an input key, determine the success of the timeout period, and adjust the timeout period of the timeout timer based on at least one of the determined average time period between successive actuations of an input key or the success of the timeout period.
- the logic is further configured to adjust the timeout period of the timer using the determined average time period between successive actuations of an input key when the timeout period is successful.
- the logic is further configured to discard the determined average time period between successive actuations of an input key when the timeout period is unsuccessful.
- the logic is further configured to increase the timeout period when the timeout period is unsuccessful.
- the logic is further configured to decrease the timeout period when the timeout period is successful.
- the communication device further comprises means for starting a timeout using the calculated timeout period.
- the communication device further comprises means for determining when the timeout is successful.
- the means for calculating a timeout period is enabled when the timeout is determined to be successful.
- the communication device further comprises means for determining a key entry mistake, wherein the means for calculating a timeout period is not enabled when a key entry mistake is determined.
- a method comprises determining an average time duration between successive key inputs; initiating a timeout; determining if the timeout was successful; adjusting a timeout period based on the determined average time duration between successive key inputs or the determined success of the timeout; counting a number of times that the timeout period has been adjusted; and setting the timeout period to a fixed value when the timeout period has been adjusted a predetermined number of times.
- setting the timeout period when the timeout period has been adjusted a predetermined number of times further includes: permanently setting the timeout period to its current value after being adjusted the predetermined number of times.
- the method further comprises increasing the timeout period when the timeout period is unsuccessful.
- the method further comprises decreasing the timeout period when the timeout period is successful.
- the method further comprises decreasing the timeout period by calculating a new timeout period using the determined average time duration between successive key inputs.
- FIG. 1 is a diagram of an exemplary implementation of a communication device
- FIG. 2 illustrates an exemplary functional diagram of the communication device of FIG. 1 ;
- FIG. 3 illustrates an exemplary timeout adjustment system
- FIG. 4 illustrates an exemplary flow diagram providing adjustments of the timeout period.
- FIG. 1 is a diagram of an exemplary implementation of a communication device 100 consistent with the embodiments described herein.
- Communication device 100 may be a mobile communication device.
- a “communication device” and/or “communication terminal” may include a radiotelephone; a personal communications system (PCS) terminal that may combine a cellular radiotelephone with data processing, a facsimile, and data communications capabilities; a personal digital assistant (PDA) that can include a radiotelephone, pager, Internet/intranet access, web browser, organizer, calendar, and/or global positioning system (GPS) receiver; a laptop; a palmtop receiver and/or another type of communication device.
- PCS personal communications system
- GPS global positioning system
- Communication device 100 may include housing 160 , keypad 110 , control keys 120 , speaker 130 , display 140 , and microphone 150 .
- Housing 160 may include a structure configured to hold devices and components used in communication device 100 .
- housing 160 may be formed from plastic, metal, or composite and may be configured to support keypad 110 , control keys 120 , speaker 130 , display 140 and microphone 150 .
- Keypad 110 may include devices and/or logic that can be used to operate communication device 100 . Keypad 110 may further be adapted to receive user inputs, directly or via other devices, such as a stylus for entering information into communication device 100 . In one implementation, communication functions of communication device 100 may be controlled by activating keys 115 . Implementations of keys 115 may have character information associated therewith, such as numbers, letters, symbols, etc. For example, the number 2 and the letters “a,” “b” and “c” may be associated with the “2” key, the number 3 and the letters “d,” “e” and “f” may be associated with the “3” key, etc. The user may select keys 115 to enter, for example, characters, letters, digits, commands, and/or text into communication device 100 .
- Control keys 120 may include buttons and/or knobs that permit a user to interact with communication device 100 to cause communication device 100 to perform specified actions, such as to display text via display 140 , and to send or receive text messages to/from another communication device 100 , etc.
- Speaker 130 may include a device that provides audible information to a user of communication device 100 .
- Display 140 may include a device that provides visual images to a user. For example, display 140 may provide text messages to the user. Display 140 may also provide graphic information regarding incoming/outgoing calls, games, phonebooks, the current date/time, volume settings, etc., to a user of communication device 100 .
- Display 140 may be implemented as a black and white or a color display.
- Microphone 150 may include a device that receives audible information from a user. Microphone 150 may, in some implementations, convert speech or other acoustic signals into electrical signals for use by communication device 100 .
- FIG. 2 illustrates an exemplary functional diagram of a communication device, such as communication device 100 , consistent with the embodiments described herein.
- communication device 100 may include processing logic 210 , memory 220 , user interface 230 , communication interface 240 , antenna assembly 250 , and power supply 260 .
- Processing logic 210 may include a processor, microprocessor, an application specific integrated circuit (ASIC), field programmable gate array (FPGA), or the like. Processing logic 210 may include data structures or software programs to control operation of communication device 100 and its components. Implementations of communication device 100 may use an individual processing logic component or multiple processing logic components, such as processing logic components operating in parallel.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- Memory 220 may include a random access memory (RAM), a read only memory (ROM), and/or another type of memory to store data and instructions that may be used by processing logic 210 .
- Memory 220 may also contain data structures, such as a dictionary and next word candidate lists.
- User interface 230 may include mechanisms, such as hardware and/or software, for inputting information to communication device 100 and/or for outputting information from communication device 100 , such as display 140 and keypad 110 .
- User interface 230 may include multi-tap text processing to receive character inputs via keys 115 , and produce a text display on display 140 , for example.
- User interface 230 may also include a timeout adjusting system as shown in FIG. 3 , for example, as described in detail below.
- Communication interface 240 may include, for example, a transmitter that may convert baseband signals from processing logic 210 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals.
- communication interface 240 may include a transceiver to perform functions of both a transmitter and a receiver.
- Communication interface 240 may connect to antenna assembly 250 for transmission and reception of RF signals.
- Antenna assembly 250 may include one or more antennas to transmit and receive RF signals over the air.
- Antenna assembly 250 may receive RF signals from communication interface 240 for transmitting over the air, and receive RF signals over the air for conveying to communication interface 240 .
- Power supply 260 may include hardware and/or software to provide power to components of communication device 100 .
- power supply 260 may include one or more batteries and/or connections to receive power from other devices, such as an accessory outlet in an automobile, an external battery, or a wall outlet.
- Power supply 260 may include metering logic to provide the user and components of communication device 100 with information about battery charge levels, output levels, power faults, etc.
- communication device 100 may perform certain operations relating to dynamically monitoring and adjusting a timeout period in response to user inputs and/or in response to instructions associated with processing logic 210 .
- Communication device 100 may perform such operations in response to processing logic 210 executing software instructions contained in a computer-readable medium, such as memory 220 .
- a computer-readable medium may be defined as a physical or logical memory device and/or carrier wave.
- the software instructions may be read into memory 220 from another computer-readable medium or from another device via communication interface 240 .
- the software instructions contained in memory 220 may cause processing logic 210 to perform processes that will be described later.
- processing logic 210 may cause processing logic 210 to perform processes that will be described later.
- hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the embodiments.
- implementations consistent with the principles of the embodiments described herein are not limited to any specific combination of hardware circuitry and software.
- FIG. 3 illustrates an exemplary timeout adjusting system 300 consistent with principles of the embodiments described herein.
- timeout adjusting system 300 may be contained in user interface 230 .
- Timeout adjusting system 300 may contain a key tracking module 310 , a key timer 320 , a timeout timer 330 and a statistics tracker 340 , for example.
- Key tracking module 310 may contain hardware and/or software for monitoring actuations of keys 115 . For example, each time a key 115 is actuated, the specific key may be determined. In one implementation, key tracking module 310 may contain a memory for storing inputted text and may also determine key entry mistakes by comparing originally input words to corrected words. For example, if a user inputs the word “car” and then changes the word to “cat,” this may be identified by key tracking module 310 as an operator key entry error, as the error is an erroneous key actuation.
- key tracking module 310 may also determine actuations of “backspace” or “erase” keys, and if no “backspace” or “erase” key actuation has been detected, key tracking module 310 may determine valid key time duration data that may be sent to statistics tracker 340 , as explained below.
- Key timer 320 may contain hardware and/or software for monitoring time durations between successive key actuations. For example, key timer 320 may monitor and determine time durations between actuations of keys 115 . For example, if the user actuates the “7” key four times, in order to enter an “s,” the time durations between each of the four successive actuations may be stored in key timer 320 . If a timeout is successful, as determined by key tracking module 310 , the stored time durations may then be transmitted from key timer 320 to statistics tracker 340 .
- Timeout timer 330 may contain hardware and/or software to provide a timing mechanism for a “timeout” functionality used in multi-tap key inputs from keypad 110 in order to determine a character from one of a plurality of characters that may be associated with a given key 115 .
- timeout timer 330 may provide a timeout period (T o ) wherein if no key actuations are received within this timeout period, the displayed character is accepted and a cursor may be advanced on display 140 to allow for entry of a next character.
- Statistics tracker 340 may contain a memory for storing time durations between successive key actuations and may contain logic for adjusting the timeout timer 330 . For example, statistics tracker 340 may send a signal to timeout timer 330 to adjust a timeout period, based on received key time duration values from key timer 320 , for example. For example, if key tracking module 310 determines that key duration values may be valid, the stored key duration values may be sent from key timer 320 to statistics tracker 340 for processing. Statistics tracker 340 may store previously received key time duration values and may calculate an average time “T avg ” between successive key actuations for example.
- the adjusting factor A may be a number slightly greater than 1, in order to ensure that the timeout period (T o ) is slightly larger than the average time (T avg ) it takes a user to actuate a key. For example, A may be equal to 1.25.
- FIG. 4 is a flowchart of an exemplary process 400 for monitoring and adjusting a timeout period.
- Process 400 may begin by tracking input keys and key time durations (act 410 ). For example, each time a user presses or actuates a key 115 , the key 115 is monitored and the time duration between actuations may be measured. For example, if a user is spelling the word “cat,” the 2 key 115 (that may have the letters “a,” “b” and “c” associated with it) may be pressed three times by the user to indicate the letter “c” is desired, in accordance with a conventional multi-tap entry method.
- key tracking module 310 monitors each actuation of the 2 key 115 , and may measure or determine the time duration between each of the three actuations of the 2 key. For example, the time duration between the first and second actuation may be 0.4 seconds and the measured time duration between the second and third actuation may be 0.6 seconds.
- a timeout period may be started (act 420 ). During this period, the user may not press a key 115 for the current timeout period that may be set at for example, one second. If a key 115 is not actuated within the current timeout period, a timeout may expire.
- the user may not actuate the 2 key (to enter an “a”) until after a timeout period has expired in order to ensure that the “c” letter has been selected and acknowledged by processing logic 210 , such as by displaying the letter via display 140 .
- a successful timeout may be determined (act 430 ). For example, key tracking module 310 may continue to monitor key 115 actuations, and if a “backspace” or “erase” key is depressed, this may indicate that the timeout was unsuccessful, as the user may be changing the previously entered character, for example. If the user actuates the 2 key to enter an “a” after “c,” key monitoring module 310 may determine that the timeout was successful as the user is continuing to enter letters. If key tracking module 310 monitors that a different key 115 than the previous key 115 is actuated, this may also indicate that the timeout was successful.
- the time duration(s) between successive key actuations may be sent from key timer 320 to statistics tracker 340 (act 440 ).
- the measured time duration of 0.4 seconds between the first and second actuation of the 2 key 115 , and the measured time duration of 0.6 seconds between the second and third actuation of the 2 key, obtained while the user successfully entered the letter “c,” may be provided to statistics tracker 340 .
- a key entry mistake may be determined (act 460 ).
- key tracking module 310 may store inputted letters and may determine if a key entry mistake occurred. For example, if a user types in the word “car” and then changes the word to “cat,” this may be identified by key tracking module 310 as an error that was due to a key entry mistake, as the changed letter is associated with a different key 115 on keypad 110 . If, for example, a user enters “baat” and changes the word to “cat,” this may be identified by key tracking module 310 as an error due to the timeout period being too short, as the changed letters are all associated with the same key 115 on keypad 110 . If a key entry mistake was determined, the timeout period may not be adjusted (act 470 ). For example, the key time durations obtained by key timer 320 may not be supplied to statistics tracker 340 .
- a new timeout period may be calculated (act 480 ). For example, as the timeout was unsuccessful and not determined to be an entry mistake, this may indicate that the timeout period is not long enough and statistics tracker 340 may increase the adjustment factor A in order to calculate a new timeout period. For example, if the adjustment factor A was originally equal to 1.5, statistics tracker 340 may increase the value to 1.6, for example. After increasing the adjustment factor A to 1.6, a new timeout period may be calculated (act 480 ).
- process 400 may be performed a predetermined number of times in order to determine a timeout period that may not be further adjusted.
- statistics tracker 340 may count the number of times the timeout period has been adjusted.
- process 400 may be performed 1000 times, wherein the timeout period may be increased and decreased accordingly as described above.
- the timeout period value may then be set to its current value. This fixed value may then be permanently used in timeout timer 330 , and not further adjusted by statistics tracker 340 .
- process 400 may adjust the timeout period by a fixed amount in act 480 .
- the timeout period may be increased (in act 480 ) by a predetermined amount of time, such as 0.25 seconds, by statistics tracker 340 .
- statistics tracker 340 may increase the timeout period to 1.35 seconds, for example.
- Implementations consistent with principles of the embodiments described herein may provide an adaptive multi-tap timeout period for a communication device to aid the user in entering text.
- logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit or a field programmable gate array, software, or a combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Input From Keyboards Or The Like (AREA)
- Communication Control (AREA)
Abstract
Description
- The invention relates to communication devices, and more particularly, to inputting text into communication devices.
- Communication devices, such as mobile terminals, may be used by individuals for communicating with users of other communication devices. For example, a communication device may be used to place/receive calls and send/receive text messages to/from other communication devices. Communication devices typically allow the user to enter text, such as text messages, via an alpha-numeric keypad where multiple letters are associated with a single key. Users are forced to wait for a timeout period when a next letter to be typed is located on the same key as the previous letter.
- According to one aspect a method is provided. The method comprises receiving successive key inputs; determining an average time duration between successive key inputs; starting a timeout; determining if the timeout was successful; and adjusting a timeout period based on at least one of the determined average time duration between successive key inputs or the determined success of the timeout.
- Additionally, the determining success of the timeout further includes: determining if a backspace key is actuated.
- Additionally, the method further comprises determining if a key entry mistake occurred.
- Additionally, the timeout period is not adjusted when a key entry mistake has not occurred.
- Additionally, the method further includes increasing the timeout period when an unsuccessful timeout is determined and a key entry mistake has not occurred.
- According to another aspect, a communication device is provided. The communication device comprises a plurality of input keys; a timeout timer for starting a timeout period; and logic configured to: determine an average time period between successive actuations of an input key, determine the success of the timeout period, and adjust the timeout period of the timeout timer based on at least one of the determined average time period between successive actuations of an input key or the success of the timeout period.
- Additionally, the logic is further configured to adjust the timeout period of the timer using the determined average time period between successive actuations of an input key when the timeout period is successful.
- Additionally, the logic is further configured to discard the determined average time period between successive actuations of an input key when the timeout period is unsuccessful.
- Additionally, the logic is further configured to increase the timeout period when the timeout period is unsuccessful.
- Additionally, the logic is further configured to decrease the timeout period when the timeout period is successful.
- According to another aspect, a communication device is provided. The communication device comprises means for determining an average time period Tavg between successive actuations of an input key; and means for calculating a timeout period To as: To=Tavg×A, where A is an adjusting factor.
- Additionally, the communication device further comprises means for starting a timeout using the calculated timeout period.
- Additionally, the communication device further comprises means for determining when the timeout is successful.
- Additionally, the means for calculating a timeout period is enabled when the timeout is determined to be successful.
- Additionally, the communication device further comprises means for determining a key entry mistake, wherein the means for calculating a timeout period is not enabled when a key entry mistake is determined.
- According to another aspect, a method is provided. The method comprises determining an average time duration between successive key inputs; initiating a timeout; determining if the timeout was successful; adjusting a timeout period based on the determined average time duration between successive key inputs or the determined success of the timeout; counting a number of times that the timeout period has been adjusted; and setting the timeout period to a fixed value when the timeout period has been adjusted a predetermined number of times.
- Additionally the setting the timeout period when the timeout period has been adjusted a predetermined number of times further includes: permanently setting the timeout period to its current value after being adjusted the predetermined number of times.
- Additionally, the method further comprises increasing the timeout period when the timeout period is unsuccessful.
- Additionally, the method further comprises decreasing the timeout period when the timeout period is successful.
- Additionally, the method further comprises decreasing the timeout period by calculating a new timeout period using the determined average time duration between successive key inputs.
- The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings,
-
FIG. 1 is a diagram of an exemplary implementation of a communication device; -
FIG. 2 illustrates an exemplary functional diagram of the communication device ofFIG. 1 ; -
FIG. 3 illustrates an exemplary timeout adjustment system; and -
FIG. 4 illustrates an exemplary flow diagram providing adjustments of the timeout period. - The following detailed description of the embodiments refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the embodiments.
-
FIG. 1 is a diagram of an exemplary implementation of acommunication device 100 consistent with the embodiments described herein.Communication device 100 may be a mobile communication device. As used herein, a “communication device” and/or “communication terminal” may include a radiotelephone; a personal communications system (PCS) terminal that may combine a cellular radiotelephone with data processing, a facsimile, and data communications capabilities; a personal digital assistant (PDA) that can include a radiotelephone, pager, Internet/intranet access, web browser, organizer, calendar, and/or global positioning system (GPS) receiver; a laptop; a palmtop receiver and/or another type of communication device. -
Communication device 100 may includehousing 160,keypad 110,control keys 120,speaker 130,display 140, andmicrophone 150.Housing 160 may include a structure configured to hold devices and components used incommunication device 100. For example,housing 160 may be formed from plastic, metal, or composite and may be configured to supportkeypad 110,control keys 120,speaker 130,display 140 andmicrophone 150. - Keypad 110 may include devices and/or logic that can be used to operate
communication device 100. Keypad 110 may further be adapted to receive user inputs, directly or via other devices, such as a stylus for entering information intocommunication device 100. In one implementation, communication functions ofcommunication device 100 may be controlled by activatingkeys 115. Implementations ofkeys 115 may have character information associated therewith, such as numbers, letters, symbols, etc. For example, thenumber 2 and the letters “a,” “b” and “c” may be associated with the “2” key, thenumber 3 and the letters “d,” “e” and “f” may be associated with the “3” key, etc. The user may selectkeys 115 to enter, for example, characters, letters, digits, commands, and/or text intocommunication device 100. -
Control keys 120 may include buttons and/or knobs that permit a user to interact withcommunication device 100 to causecommunication device 100 to perform specified actions, such as to display text viadisplay 140, and to send or receive text messages to/from anothercommunication device 100, etc. - Speaker 130 may include a device that provides audible information to a user of
communication device 100.Display 140 may include a device that provides visual images to a user. For example,display 140 may provide text messages to the user.Display 140 may also provide graphic information regarding incoming/outgoing calls, games, phonebooks, the current date/time, volume settings, etc., to a user ofcommunication device 100.Display 140 may be implemented as a black and white or a color display. - Microphone 150 may include a device that receives audible information from a user. Microphone 150 may, in some implementations, convert speech or other acoustic signals into electrical signals for use by
communication device 100. -
FIG. 2 illustrates an exemplary functional diagram of a communication device, such ascommunication device 100, consistent with the embodiments described herein. As shown inFIG. 2 ,communication device 100 may includeprocessing logic 210,memory 220, user interface 230, communication interface 240,antenna assembly 250, andpower supply 260. -
Processing logic 210 may include a processor, microprocessor, an application specific integrated circuit (ASIC), field programmable gate array (FPGA), or the like.Processing logic 210 may include data structures or software programs to control operation ofcommunication device 100 and its components. Implementations ofcommunication device 100 may use an individual processing logic component or multiple processing logic components, such as processing logic components operating in parallel. -
Memory 220 may include a random access memory (RAM), a read only memory (ROM), and/or another type of memory to store data and instructions that may be used by processinglogic 210.Memory 220 may also contain data structures, such as a dictionary and next word candidate lists. - User interface 230 may include mechanisms, such as hardware and/or software, for inputting information to
communication device 100 and/or for outputting information fromcommunication device 100, such asdisplay 140 andkeypad 110. User interface 230 may include multi-tap text processing to receive character inputs viakeys 115, and produce a text display ondisplay 140, for example. User interface 230 may also include a timeout adjusting system as shown inFIG. 3 , for example, as described in detail below. - Communication interface 240 may include, for example, a transmitter that may convert baseband signals from processing
logic 210 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, communication interface 240 may include a transceiver to perform functions of both a transmitter and a receiver. Communication interface 240 may connect toantenna assembly 250 for transmission and reception of RF signals.Antenna assembly 250 may include one or more antennas to transmit and receive RF signals over the air.Antenna assembly 250 may receive RF signals from communication interface 240 for transmitting over the air, and receive RF signals over the air for conveying to communication interface 240. -
Power supply 260 may include hardware and/or software to provide power to components ofcommunication device 100. For example,power supply 260 may include one or more batteries and/or connections to receive power from other devices, such as an accessory outlet in an automobile, an external battery, or a wall outlet.Power supply 260 may include metering logic to provide the user and components ofcommunication device 100 with information about battery charge levels, output levels, power faults, etc. - As will be described in detail below,
communication device 100, consistent with the embodiments described herein, may perform certain operations relating to dynamically monitoring and adjusting a timeout period in response to user inputs and/or in response to instructions associated withprocessing logic 210.Communication device 100 may perform such operations in response toprocessing logic 210 executing software instructions contained in a computer-readable medium, such asmemory 220. A computer-readable medium may be defined as a physical or logical memory device and/or carrier wave. - The software instructions may be read into
memory 220 from another computer-readable medium or from another device via communication interface 240. The software instructions contained inmemory 220 may causeprocessing logic 210 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the embodiments. Thus, implementations consistent with the principles of the embodiments described herein are not limited to any specific combination of hardware circuitry and software. -
FIG. 3 illustrates an exemplarytimeout adjusting system 300 consistent with principles of the embodiments described herein. In one implementation,timeout adjusting system 300 may be contained in user interface 230.Timeout adjusting system 300 may contain akey tracking module 310, akey timer 320, atimeout timer 330 and astatistics tracker 340, for example. -
Key tracking module 310 may contain hardware and/or software for monitoring actuations ofkeys 115. For example, each time a key 115 is actuated, the specific key may be determined. In one implementation,key tracking module 310 may contain a memory for storing inputted text and may also determine key entry mistakes by comparing originally input words to corrected words. For example, if a user inputs the word “car” and then changes the word to “cat,” this may be identified bykey tracking module 310 as an operator key entry error, as the error is an erroneous key actuation. If for example, an inputted word is changed from “baat” to “cat,” this may be identified bykey tracking module 310 as a timeout error, as the error was not produced by an erroneous key entry, but by an inadequate timeout period.Key tracking module 310 may also determine actuations of “backspace” or “erase” keys, and if no “backspace” or “erase” key actuation has been detected,key tracking module 310 may determine valid key time duration data that may be sent tostatistics tracker 340, as explained below. -
Key timer 320 may contain hardware and/or software for monitoring time durations between successive key actuations. For example,key timer 320 may monitor and determine time durations between actuations ofkeys 115. For example, if the user actuates the “7” key four times, in order to enter an “s,” the time durations between each of the four successive actuations may be stored inkey timer 320. If a timeout is successful, as determined bykey tracking module 310, the stored time durations may then be transmitted fromkey timer 320 tostatistics tracker 340. -
Timeout timer 330 may contain hardware and/or software to provide a timing mechanism for a “timeout” functionality used in multi-tap key inputs fromkeypad 110 in order to determine a character from one of a plurality of characters that may be associated with a givenkey 115. For example,timeout timer 330 may provide a timeout period (To) wherein if no key actuations are received within this timeout period, the displayed character is accepted and a cursor may be advanced ondisplay 140 to allow for entry of a next character. -
Statistics tracker 340 may contain a memory for storing time durations between successive key actuations and may contain logic for adjusting thetimeout timer 330. For example,statistics tracker 340 may send a signal totimeout timer 330 to adjust a timeout period, based on received key time duration values fromkey timer 320, for example. For example, ifkey tracking module 310 determines that key duration values may be valid, the stored key duration values may be sent fromkey timer 320 tostatistics tracker 340 for processing.Statistics tracker 340 may store previously received key time duration values and may calculate an average time “Tavg” between successive key actuations for example.Statistics tracker 340 may also calculate and adjust a timeout period To based on the average time between key actuations time “Tavg” and an adjusting factor “A.” For example,statistics tracker 340 may use an exemplary formula such as: To=Tavg×A, in order to calculate a timeout period To. The adjusting factor A may be a number slightly greater than 1, in order to ensure that the timeout period (To) is slightly larger than the average time (Tavg) it takes a user to actuate a key. For example, A may be equal to 1.25. -
FIG. 4 is a flowchart of anexemplary process 400 for monitoring and adjusting a timeout period.Process 400 may begin by tracking input keys and key time durations (act 410). For example, each time a user presses or actuates a key 115, the key 115 is monitored and the time duration between actuations may be measured. For example, if a user is spelling the word “cat,” the 2 key 115 (that may have the letters “a,” “b” and “c” associated with it) may be pressed three times by the user to indicate the letter “c” is desired, in accordance with a conventional multi-tap entry method. In this example,key tracking module 310 monitors each actuation of the 2key 115, and may measure or determine the time duration between each of the three actuations of the 2 key. For example, the time duration between the first and second actuation may be 0.4 seconds and the measured time duration between the second and third actuation may be 0.6 seconds. After the third actuation of the 2 key 115 a timeout period may be started (act 420). During this period, the user may not press a key 115 for the current timeout period that may be set at for example, one second. If a key 115 is not actuated within the current timeout period, a timeout may expire. For example, if the user is spelling the word “cat,” as the “c” and “a” may be associated with the same key 115 (i.e. the 2 key), the user may not actuate the 2 key (to enter an “a”) until after a timeout period has expired in order to ensure that the “c” letter has been selected and acknowledged by processinglogic 210, such as by displaying the letter viadisplay 140. - After the entry of each letter, a successful timeout may be determined (act 430). For example,
key tracking module 310 may continue to monitor key 115 actuations, and if a “backspace” or “erase” key is depressed, this may indicate that the timeout was unsuccessful, as the user may be changing the previously entered character, for example. If the user actuates the 2 key to enter an “a” after “c,”key monitoring module 310 may determine that the timeout was successful as the user is continuing to enter letters. Ifkey tracking module 310 monitors that adifferent key 115 than theprevious key 115 is actuated, this may also indicate that the timeout was successful. - If the timeout was determined to be successful in
act 430, the time duration(s) between successive key actuations may be sent fromkey timer 320 to statistics tracker 340 (act 440). As mentioned above, the measured time duration of 0.4 seconds between the first and second actuation of the 2key 115, and the measured time duration of 0.6 seconds between the second and third actuation of the 2 key, obtained while the user successfully entered the letter “c,” may be provided tostatistics tracker 340. -
Statistics tracker 340 may then calculate a new timeout period (act 450). For example,statistics tracker 340 may receive the key time durations provided inact 440, calculate a new average time period, and then calculate a new timeout period with a formula such as To=Tavg×A. For example, using the time duration between the first and second actuation of 0.4 seconds and the measured time duration between the second and third actuation of 0.6 seconds, an average time Tavg of 0.5 seconds may be calculated bystatistics tracker 340. If, for example, the adjusting factor A is currently equal to 1.5, using the exemplary timeout formula, a new timeout period To may be calculated inact 450 as 0.75 seconds (0.75=0.5×1.5). In another embodiment,statistics tracker 340 may use previously received key time durations in order to calculate an average time (Tavg). For example,statistics tracker 340 may calculate an average time using the last 10 received key time durations, for example. - If for example the timeout was determined to be unsuccessful at
act 430, a key entry mistake may be determined (act 460). For example,key tracking module 310 may store inputted letters and may determine if a key entry mistake occurred. For example, if a user types in the word “car” and then changes the word to “cat,” this may be identified bykey tracking module 310 as an error that was due to a key entry mistake, as the changed letter is associated with adifferent key 115 onkeypad 110. If, for example, a user enters “baat” and changes the word to “cat,” this may be identified bykey tracking module 310 as an error due to the timeout period being too short, as the changed letters are all associated with thesame key 115 onkeypad 110. If a key entry mistake was determined, the timeout period may not be adjusted (act 470). For example, the key time durations obtained bykey timer 320 may not be supplied tostatistics tracker 340. - If, for example, a key entry mistake was not detected (act 460), a new timeout period may be calculated (act 480). For example, as the timeout was unsuccessful and not determined to be an entry mistake, this may indicate that the timeout period is not long enough and
statistics tracker 340 may increase the adjustment factor A in order to calculate a new timeout period. For example, if the adjustment factor A was originally equal to 1.5,statistics tracker 340 may increase the value to 1.6, for example. After increasing the adjustment factor A to 1.6, a new timeout period may be calculated (act 480). - In another implementation,
process 400 may be performed a predetermined number of times in order to determine a timeout period that may not be further adjusted. For example,statistics tracker 340 may count the number of times the timeout period has been adjusted. For example,process 400 may be performed 1000 times, wherein the timeout period may be increased and decreased accordingly as described above. After performingprocess 400 for the predetermined number of times (e.g., 1000) for example, the timeout period value may then be set to its current value. This fixed value may then be permanently used intimeout timer 330, and not further adjusted bystatistics tracker 340. - In another implementation,
process 400 may adjust the timeout period by a fixed amount inact 480. For example, if the timeout was unsuccessful and a key entry mistake did not occur, the timeout period may be increased (in act 480) by a predetermined amount of time, such as 0.25 seconds, bystatistics tracker 340. For example, if the timeout period was originally equal to 1.1 seconds,statistics tracker 340 may increase the timeout period to 1.35 seconds, for example. - Implementations consistent with principles of the embodiments described herein may provide an adaptive multi-tap timeout period for a communication device to aid the user in entering text.
- The foregoing description of preferred embodiments provides illustration and description, but is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the embodiments.
- While a series of acts has been described with regard to
FIG. 4 , the order of the acts may be modified in other implementations consistent with the principles of the embodiments. Further, non-dependent acts may be performed in parallel. - It will be apparent to one of ordinary skill in the art that aspects of the embodiments, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects consistent with the principles of the embodiments is not limiting of the embodiments. Thus, the operation and behavior of the aspects were described without reference to the specific software code--it being understood that one of ordinary skill in the art would be able to design software and control hardware to implement the aspects based on the description herein.
- Further, certain portions of the embodiments may be implemented as “logic” that performs one or more functions. This logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit or a field programmable gate array, software, or a combination of hardware and software.
- It should be emphasized that the term “comprises/comprising” when used in this specification and/or claims is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
- No element, act, or instruction used in the present application should be construed as critical or essential to the embodiments unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Claims (20)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/622,725 US7774524B2 (en) | 2007-01-12 | 2007-01-12 | Adaptive multitap timeout |
| EP07805138A EP2102731A2 (en) | 2007-01-12 | 2007-07-12 | Adaptive multitap timeout |
| PCT/IB2007/052794 WO2008084342A2 (en) | 2007-01-12 | 2007-07-12 | Adaptive multitap timeout |
| CN2007800496359A CN101578567B (en) | 2007-01-12 | 2007-07-12 | Adaptive multi-tap timeout |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/622,725 US7774524B2 (en) | 2007-01-12 | 2007-01-12 | Adaptive multitap timeout |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20080169942A1 true US20080169942A1 (en) | 2008-07-17 |
| US7774524B2 US7774524B2 (en) | 2010-08-10 |
Family
ID=38728720
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/622,725 Expired - Fee Related US7774524B2 (en) | 2007-01-12 | 2007-01-12 | Adaptive multitap timeout |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US7774524B2 (en) |
| EP (1) | EP2102731A2 (en) |
| CN (1) | CN101578567B (en) |
| WO (1) | WO2008084342A2 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080109220A1 (en) * | 2006-11-03 | 2008-05-08 | Imre Kiss | Input method and device |
| US20100228863A1 (en) * | 2007-03-28 | 2010-09-09 | Pioneer Corporation | Content distribution system and its control method |
| US20110074790A1 (en) * | 2009-09-29 | 2011-03-31 | Research In Motion Limited | Portable electronic device and method of controlling same |
| EP2320413A1 (en) | 2009-09-29 | 2011-05-11 | Research In Motion Limited | Portable electronic device and method of controlling the display of entered characters |
| US20210096711A1 (en) * | 2019-09-30 | 2021-04-01 | Braided Communications Limited | Communication system |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20090039206A (en) * | 2007-10-17 | 2009-04-22 | 삼성전자주식회사 | Character input method and apparatus of mobile terminal with touch screen |
| US8704775B2 (en) * | 2008-11-11 | 2014-04-22 | Adobe Systems Incorporated | Biometric adjustments for touchscreens |
| EP2511794A1 (en) * | 2011-04-15 | 2012-10-17 | Doro AB | A portable electronic device having user-configurable multi-function key entry timeout |
| US8943246B2 (en) * | 2013-01-10 | 2015-01-27 | Nec Casio Mobile Communications, Ltd. | Character input device, character input interface control method, and program |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6744422B1 (en) * | 2001-07-13 | 2004-06-01 | Openwave Systems Inc. | Variable time-out for multi-tap key entry |
| US20050060448A1 (en) * | 2003-09-11 | 2005-03-17 | Eatoni Ergonomics, Inc | Efficient Method and Apparatus For Text Entry Based On Trigger Sequences |
| US20060033718A1 (en) * | 2004-06-07 | 2006-02-16 | Research In Motion Limited | Smart multi-tap text input |
| US20060163337A1 (en) * | 2002-07-01 | 2006-07-27 | Erland Unruh | Entering text into an electronic communications device |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1324438C (en) * | 2000-01-17 | 2007-07-04 | 金旻谦 | Apparatus and method for inputting alphabetic characters on a keypad |
| FR2841717B1 (en) | 2002-06-28 | 2004-09-10 | Bouygues Telecom Sa | METHOD FOR ENTERING MESSAGES |
-
2007
- 2007-01-12 US US11/622,725 patent/US7774524B2/en not_active Expired - Fee Related
- 2007-07-12 WO PCT/IB2007/052794 patent/WO2008084342A2/en active Application Filing
- 2007-07-12 CN CN2007800496359A patent/CN101578567B/en not_active Expired - Fee Related
- 2007-07-12 EP EP07805138A patent/EP2102731A2/en not_active Withdrawn
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6744422B1 (en) * | 2001-07-13 | 2004-06-01 | Openwave Systems Inc. | Variable time-out for multi-tap key entry |
| US20060163337A1 (en) * | 2002-07-01 | 2006-07-27 | Erland Unruh | Entering text into an electronic communications device |
| US20050060448A1 (en) * | 2003-09-11 | 2005-03-17 | Eatoni Ergonomics, Inc | Efficient Method and Apparatus For Text Entry Based On Trigger Sequences |
| US20060033718A1 (en) * | 2004-06-07 | 2006-02-16 | Research In Motion Limited | Smart multi-tap text input |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080109220A1 (en) * | 2006-11-03 | 2008-05-08 | Imre Kiss | Input method and device |
| US8355913B2 (en) * | 2006-11-03 | 2013-01-15 | Nokia Corporation | Speech recognition with adjustable timeout period |
| US20100228863A1 (en) * | 2007-03-28 | 2010-09-09 | Pioneer Corporation | Content distribution system and its control method |
| US20110074790A1 (en) * | 2009-09-29 | 2011-03-31 | Research In Motion Limited | Portable electronic device and method of controlling same |
| EP2320413A1 (en) | 2009-09-29 | 2011-05-11 | Research In Motion Limited | Portable electronic device and method of controlling the display of entered characters |
| US8531461B2 (en) | 2009-09-29 | 2013-09-10 | Blackberry Limited | Portable electronic device and method of controlling same |
| US20210096711A1 (en) * | 2019-09-30 | 2021-04-01 | Braided Communications Limited | Communication system |
| US11397521B2 (en) * | 2019-09-30 | 2022-07-26 | Braided Communications Limited | Communication system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101578567A (en) | 2009-11-11 |
| WO2008084342A3 (en) | 2008-09-04 |
| EP2102731A2 (en) | 2009-09-23 |
| CN101578567B (en) | 2012-10-03 |
| US7774524B2 (en) | 2010-08-10 |
| WO2008084342A2 (en) | 2008-07-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7774524B2 (en) | Adaptive multitap timeout | |
| EP1209882B1 (en) | Method of providing user interface for a portable terminal | |
| US20110148931A1 (en) | Apparatus and method for controlling size of display data in portable terminal | |
| US20080033713A1 (en) | Predicting entered text | |
| US20070071232A1 (en) | Apparatus and method of inputting a character | |
| US6393307B1 (en) | Method for displaying status of radio terminal | |
| US20110151824A1 (en) | Wireless communication device and method for saving energy | |
| US20050288064A1 (en) | Control system of function keys and controlling method thereof | |
| EP1883004B1 (en) | Apparatus and method for controlling operation of portable terminal having multimedia function | |
| GB2443652A (en) | Disambiguating text input using probability | |
| KR20070066574A (en) | How to adjust the display character size according to the distance from the user and the mobile communication terminal using the same | |
| US20090117940A1 (en) | Electronic device with biological characteristics activation of execution command | |
| US20030064710A1 (en) | Method and apparatus for entering numbers | |
| US20080167084A1 (en) | Method and device for displaying information in mobile communication terminal | |
| US8190216B2 (en) | Mobile phone power-saving by usage learning | |
| EP2127334B1 (en) | Method and apparatus for inputting character in a terminal | |
| KR100556933B1 (en) | Repeat key recognition method of mobile communication terminal | |
| KR100520654B1 (en) | Automatic Switching of Dialing Mode According to Ambient Noise of Mobile Phone Terminal | |
| KR20070011000A (en) | Mobile communication terminal having character input function using shortcut key and method thereof | |
| KR100754637B1 (en) | Character conversion method of portable terminal with electronic dictionary function | |
| KR100635766B1 (en) | Key data communication method of mobile communication terminal and mobile communication terminal for same | |
| KR100326308B1 (en) | Method for displaying selected icon in portable user data processing apparatus | |
| KR101102625B1 (en) | Key input method of mobile communication terminal | |
| KR100639881B1 (en) | Character input device and its input method | |
| KR100810237B1 (en) | Text input method using multi language on mobile terminal |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: SONY ERICSSON MOBILE COMMUNICATIONS AB, SWEDEN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BURSTROM, DAVID;REEL/FRAME:018753/0695 Effective date: 20070111 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.) |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20180810 |