Dialing method in mobile telephone

Abstract: A dialing method in a mobile phone in which frequently used telephone numbers are stored in a first memory of the phone and less frequently used telephone numbers are stored in a second memory. Upon reception of input data comprising one or more digits from the phone keypad, the method searches the first memory for a stored telephone number that has a portion matching the input data. If a matching telephone number is found, it is displayed on the telephone display. If no matches are found in the first memory, a search of the second memory is performed to determine if a matching telephone number is stored therein. Whenever a matching telephone number from the first or second memory is displayed, the displayed number is automatically dialed upon reception of a command from the user, e.g., upon detection of a SEND key input.

Description: The present invention relates to a dialing method in a mobile telephone, and in particular, to a method for retrieving a telephone number stored in a mobile telephone by inputting part of the telephone number and dialing a retrieved telephone number. In a mobile telephone, it is inefficient for a user who frequently calls a certain party to dial the seven or higher digit telephone number of that party each time a call is placed. To solve this inefficiency, mobile telephones have been provided with a phone book function for storing frequently used telephone numbers for future use. When dialing a telephone number using the phone book function, the user presses a function key and a scroll key several times to retrieve a desired telephone number. Once the desired telephone number is retrieved, the number can be dialed automatically by means of another key entry by the user. This phone book function is useful for the purpose of dialing a telephone number that the user cannot remember correctly. However, the speed by which the number can be dialed from the start of the process is limited, since the user needs to press the scroll keys repeatedly until the desired telephone number is retrieved, even when the user already knows the number. In the worst case, the user may press the keys more times than the number of the digits in the telephone number. In another approach, mobile telephones have been provided with a speed dial function for registering frequently used telephone numbers in association with unique speed dial keys. The user can dial the registered telephone numbers by pressing the associated speed dial keys, but needs to remember the telephone number or party associated with the respective speed dial keys. Accordingly, the user typically needs to separately note the telephone numbers or parties associated with the respective speed dial keys, which is cumbersome. Another technique that has been attempted to facilitate dialing has been to equip the mobile phone with speech recognition means to implement a voice dialing function. Telephone numbers are registered in association with speech data input by the user for respective parties to be called. Upon reception and recognition of input speech matching stored speech data, the telephone number associated with the speech is dialed. This method, however, suffers from being susceptible to the surrounding noise, and has a relatively low dial success rate. GB-A-2 300 331 suggests a procedure for searching dial information stored in a memory. The dial information stored in the memory is sorted in order of last dialing. The search procedure is initiated by entering a key word and pressing a search key. The key word is stored in a dial buffer and then searched for in the memory among the stored dial information. If dial information is found which includes the key word, the dial information is displayed and can be selected for dialing. US-A-5 708 804 suggests a method for searching information in the address book of a phone. Firstly, the user has to invoke the address book by pressing a respective button. Then, by further pressing a search button, a search screen is retrieved in which the user can enter a search string to search for the desired entry from the address book database. When the search string is complete, the user has to press another button to initiate the search process. It is the object of the present invention to provide a more efficient method for retrieving telephone numbers when the user enters only a few digits of the telephone number to be dialed. This object is solved by the invention as claimed in the independent claims. Preferred embodiments of the invention are defined by the dependent claims. According to an aspect of the present invention, there is provided a dialing method in a mobile phone which stores frequently used telephone numbers in a first memory of the phone and less frequently used telephone numbers in a second memory of the phone. Upon reception of input data comprising one or more digits from the phone keypad, the method searches the first memory for a stored telephone number that has a portion matching the input data. If a matching telephone number is found, it is displayed on the telephone display. If no matches are found in the first memory, a search of the second memory is performed, and if a matching telephone number is found, that number is displayed. Whenever a matching telephone number from the first or second memory is displayed, the displayed number is automatically dialed upon reception of a command from the user, e.g., upon detection of a SEND key input. If neither the first nor second memory has a telephone number with a portion matching the input numeric data, the mobile phone outputs the input numeric data to the display. The above and other aspects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which: FIG. 1 is a block diagram of a mobile telephone in which the present invention may be embodied; FIG. 2 is a flowchart illustrating a dialing method in a mobile telephone according to an embodiment of the present invention; FIGS. 3A and 3B are diagrams illustrating memory maps in which telephone numbers are stored; and FIG. 4 is a flowchart illustrating a method for retrieving a telephone number stored in a mobile telephone and dialing the retrieved telephone number according to an embodiment of the present invention. Referring to FIG. 1, a block diagram of a mobile telephone in which the present invention may be embodied is illustrated. The mobile telephone includes a microprocessor unit (MPU) 100, first, second and third memories 110-130, a keypad 140, a display 150 and an RF (radio frequency) part 160. In operation, MPU 100 reads an operating program(s) and data from the first to third memories 110-130 and controls the overall operation of the mobile telephone (mobile phone). The first memory 110, which is preferably a non-volatile memory such as an EEPROM (Electrically Erasable and Programmable Read Only Memory), stores RF parameters as well as data necessary for various functions of the mobile phone such as the phone book function. It is noted here that the term "phone book function", as used in this detailed description, refers to the novel function disclosed herein in which a pre-stored telephone number is automatically displayed upon detection of the first few digits of the telephone number input by the user. The term, of course, has a different meaning than the prior art phone book function discussed earlier. In particular, the first memory 110 according to an embodiment of the present invention stores data for frequently used telephone numbers to realize the phone book function. The second memory 120, e.g., a volatile memory such as an SRAM (Static Random Access Memory), stores data necessary to access the MPU 100 and also stores telephone numbers input by the user during operation of the mobile phone. In particular, the second memory 120, according to an embodiment of the present invention, has a stack structure and stores less frequently used telephone numbers. The third memory 130, e.g., flash ROM, stores a control program of the mobile phone. The keypad 140 includes numeric keys for dialing and a SEND key, and generates key data according to the key input by the user. The SEND key is activated by the user to dial a telephone number displayed. The key data generated from the keypad 140 is provided to the MPU 100. The display 150 displays a status message of the mobile phone, the key data input from keypad 140 and the telephone number read from the memories 110 and 120, under the control of the MPU 100. The RF part 160 is an RF interface that transmits and receives an RF signal for communication, under the control of MPU 100. Referring now to the flowchart of FIG. 2 in conjunction with the block diagram of FIG. 1, an embodiment of the invention will be described in which the mobile phone retrieves a telephone number from the memories 110 and 120 by detecting only a few digits of the telephone number input by the user. Once these digits are detected, the corresponding telephone number stored in the mobile phone is retrieved and displayed, and then automatically dialed if a user command is received. First, the user inputs a telephone number to dial, digit by digit, through the keypad 140, and MPU 100 receives the corresponding key data from keypad 140 in step 201. In step 203, the MPU 100 searches the first memory 110 for a telephone number matching the key data input by the user. This step is preferably performed after each digit input by the user. (Instead, the routine may be designed to await the reception of two or three initial digits of the number before performing an initial search.) The MPU 110 ascertains in step 205 whether or not the first memory 110 has a telephone number that matches the input key data. That is, to perform the phone book function for the input key data, the MPU 100 searches the first memory 110 and determines whether there exists one or more stored telephone numbers beginning with the input key data. Alternatively, the program can be designed to perform a further search for stored telephone numbers that have a tail portion matching the input data. For instance, if a user in the United States frequently dials different out of state phone numbers such as "1-516-579-2281" and "1-516-579-2390", the user is allowed to enter the end portion of the number first, e.g., "2281" or just "22". The program will then search the memory for telephone numbers beginning with "22" as well as those having "22" in the tail portion. In this manner, the speed at which the phone book function retrieves and displays the desired number may be faster in some circumstances, especially when many numbers with the same area code (516) and exchange (579) are stored. When no matched telephone number is found in step 205, the MPU 100 searches the second memory 120 in step 207 for a telephone number with a portion matching the input key data, and determines if a match exits in step 209. For example, upon reception of the numeric data for a first digit of a telephone number that the user desires to dial, the MPU 100 compares the numeric data for the first digits of all the telephone numbers stored in the second memory 120 with the input numeric data, to determine whether any stored telephone numbers match the input data. If the second memory 120 does not have a telephone number matching the input numeric data in step 209, the MPU 100 outputs the input numeric data to the display 150 in step 211. On the contrary, if in step 205 or 209 the first or second memory 110 or 120 is determined to have one or more matching telephone numbers, MPU 100 outputs the matching telephone number or numbers to the display 150 in step 213. When there are several telephone numbers matched with the input numeric data, the MPU 100 outputs them in a predetermined search order. For the telephone numbers stored in the first memory 110, this search order may be the order of storage, and for the telephone numbers stored in the second memory 120, this search order may be the inverse order of storage. (It is noted that a typical mobile phone display is only capable of displaying a single telephone number. As such, the method may optionally be designed to allow the user to use the scroll key to scroll down to the next matching number of the matching numbers retrieved, if more than one exist. In this case, the flow chart of FIG. 2 may be modified to proceed to step 207 following a "YES" determination in step 205 to retrieve any additional matches that exist from the second memory even though matches have been found in the first memory. The lower priority numbers would be last in the scrollable list.) Accordingly, in the preferred embodiment, when there are several telephone numbers matching the input numeric data, the MPU 100 outputs the telephone number with the top priority to the display 150. Here, the telephone number with the top priority may be a most frequently used telephone number. As an alternative, the matching numbers may be output in numeric order. For instance, the number "579-2280" would be displayed prior to "579-2281", based on numeric order, if both of these numbers were found in memory. In any case, an abbreviated name of the party corresponding to each matching phone number may also be retrieved from memory and displayed along with the number. If the telephone number displayed on the display 150 is identical to a telephone number that he/she desires to dial, the mobile telephone user will input the SEND key on the keypad 140. Otherwise, the user will input key data for a next digit of the telephone number to dial. If the program is designed to allow the user to scroll for matching numbers with lower priority at this point, the user has the option to do so, and to select one of such numbers by hitting the SEND key. The MPU 100 then determines in step 215 whether or not the SEND key on the keypad 140 is pressed by the user. If the SEND key is pressed, the MPU 100 dials the telephone number currently displayed on the display 150 in step 217. However, if the SEND key is not pressed, the MPU 100 returns to step 201 to receive the key data for the next digit of the telephone number to be dialed. FIG. 3A illustrates a memory map of the first memory 110, wherein the frequently used telephone numbers are stored in the order of address ADD. These frequently used numbers may be stored by MPU 100 during a setup process in which the user inputs the frequently used numbers along with the called party name for each number. Additionally, MPU 100 may automatically add a new number to the frequently used number list whenever it determines that the user has been calling that new number frequently in the normal calling mode. For instance, if MPU 100 determines that the new number has been called more than a predetermined number of times within a specific time period, MPU 100 may add that number to the list in the first memory. Further, MPU 100 can be programmed to dynamically change the priority order of the stored telephone numbers in each memory based on frequency of usage of the respective numbers, by keeping track of how many times each phone number in the first and second memories is dialed. With this dynamic approach, frequently used telephone numbers in the second memory may be transferred to the first memory as necessary, and vice versa. FIG. 3B illustrates a memory map of the second memory 120, wherein the less frequently used telephone numbers are stored in the order of "call". By way of example, whenever a user dials a telephone number not previously stored in memory 110 or 120, the program may add this new number to the bottom of the list of FIG. 3B. In this manner, less frequently used numbers are stored in a calling order. Less frequently used numbers may also be input by the user during the setup process for storage in the second memory. FIG. 4 is a flowchart illustrating the exemplary dialing method according to the present invention, on the assumption that the user desires to dial a telephone number "0482-100-2000", by way of example. Referring collectively to FIGS. 1, 3A, 3B and 4, a detailed description will be given for the procedure of retrieving the telephone number stored in the mobile phone and dialing the retrieved telephone number according to an embodiment of the present invention when the user desires to dial the number "0482-100-2000". First, the user presses a first digit "0" of the telephone number to be dialed. The MPU 100 then receives first key data for the first digit "0" of the telephone number in step 401. Subsequently, the MPU 100 searches the first memory 110 for a telephone number whose first digit's key data is identical to the first key data, in step 403. That is, the MPU 100 searches the first memory 110 for the telephone number whose first digit is "0". For example, the first memory 110 may have several telephone numbers whose first digits are "0", as shown in FIG. 3A. In this case, the MPU 100 outputs to the display 150 the telephone number "053-300-4000" with the top priority among the telephone numbers whose first digits are "0", in step 405. The "top priority" number may be established either during the above-mentioned setup process or, during a learning process by MPU 100. In the latter case, MPU 100 determines which numbers have been dialed more frequently in the past by updating an internal counter whenever a particular number is dialed. In the meantime, since the telephone number "053-300-4000" displayed on the display 150 is not the desired telephone number to be dialed, the user will press the next digit "4" of the telephone number to be dialed. Then, the MPU 100 receives second key data for the second digit "4" of the telephone number from the keypad 140 in step 407. The MPU 100 again searches the first memory 110 for a telephone number whose first two digits are "04" in step 409. The MPU 100 outputs the telephone number "0481-500-6000" whose first two digits are "04" to the display 150 in step 411. Since the telephone number "0481-500-6000" is also not the telephone number to be dialed, the user will press the next digit "8" of the desired telephone number using the keypad 140. The MPU 100 then receives the third key data for the third digit "8" of the telephone number from the keypad 140 in step 413. Next, MPU 100 again searches the first memory 110 for a telephone number whose first three digits are "048" in step 415. The MPU 100 then outputs the telephone number "0481-500-6000" whose first three digits are "048" to the display 150 in step 417. At this point, since the telephone number "0481-500-6000" is still not the desired number, the user will press the next digit "2" of the desired telephone number. The MPU 100 then receives the fourth key data for the fourth digit "2" of the telephone number from the keypad 140 in step 419. Subsequently, the MPU 100 searches the second memory 120 for a telephone number whose first four digits are "0482" in step 421. That is, the MPU 100 searches the first memory 110 for the telephone number matching the input numeric data and thereafter, searches the second memory 120 when the first memory 110 does not have telephone numbers matching the input numeric data. The MPU 100 then reads the telephone number "0482-100-2000" whose first four digits are "0482" from the second memory 120 and outputs the read telephone number to the display 150 in step 423. Since the telephone number "0482-100-2000" is identical to the telephone number to dial, the user will press the SEND key. Upon detection of the SEND key input, the MPU 100 dials the telephone number "0482-100-2000" displayed on the display 150 in step 425. As described above, by employing the novel dialing method, the user can dial a telephone number by pressing only a few digits of the telephone number to be dialed, without the need for inputting all the digits. While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein. For instance, while the embodiment has been described in conjunction with information stored in three memories of the mobile telephone, more or fewer memories may be alternatively employed to perform the same functions. Also, the mobile phone may be alternatively designed without a two tier system of most frequently used and less frequently used telephone numbers. That is, only the most frequently used numbers may be stored in a single list in memory.

Claims: A dialing method in a mobile telephone having a keypad (140) and a display (150), the method comprising the steps of: a) storing frequently used telephone numbers in a first memory (110) of the mobile telephone during a setup process by a user; b) storing less frequently used telephone numbers in a second memory (120) of the mobile telephone whenever a user dials a telephone number not previously stored in the first or in the second memory ; c) upon reception (201) of numeric data input from the keypad (140), searching (203) the first memory (110) for a telephone number having a portion matching the input numeric data; d) if the first memory (110) has a telephone number matching (205) the input numeric data, reading the matching telephone number from the first memory and outputting (213) the read telephone number to the display (150); e) searching (207) the second memory (120) for a telephone number matching the input numeric data when the first memory (110) does not have a matching telephone number; f) if the second memory (120) has a telephone number matching (209) the input numeric data, reading the matching telephone number from the second memory and outputting (213) the read telephone number to the display (150); and g) upon detection (215) of a send key input, dialing (217) the telephone number currently displayed on the display (150). The dialing method as claimed in claim 1, wherein said step (c) of searching (203) the first memory (110) is performed by searching the first memory for a telephone number having a beginning portion matching the input data. The dialing method as claimed in claim 1, wherein said step (c) is performed by searching (203) the first memory (110) for a telephone number having a beginning portion matching the input data and also searching the first memory for a telephone number having an end portion matching the input data. The dialing method as claimed in claim 1, wherein if a plurality of telephone numbers in said first memory (110) are determined to have a portion matching the input data, a matching telephone number having the highest priority among the plurality of matching telephone numbers is output to the display (150). The dialing method as claimed in claim 4, wherein a matching telephone number with a next highest priority is displayed upon reception of a scroll key input. The dialing method as claimed in claim 4, wherein said plurality of matching telephone numbers are displayed on said display (150) in an order based on a dynamically determined frequency of usage of the plurality of matching telephone numbers. The dialing method as claimed in any of claims 1 to 6, further comprising the step (211) of outputting the input numeric data to the display (150) if the second memory (120) does not have a telephone number matching the input numeric data. The dialing method as claimed in any of claims 1 to 7, further comprising the step of receiving second numeric data input by the user if the send key input (215) is not received, and repeating steps c) to g) for the second numeric data appended to the first numeric data. The dialing method as claimed in claim 8, wherein the first numeric data is a single digit and the second numeric data is a single digit. The dialing method as claimed in claim 8, wherein the first numeric data is at least two digits and the second numeric data is a single digit. The dialing method as claimed in any of claims 1 to 10, further comprising determining whether a new telephone number which is not currently stored within said first memory (110) has been dialed by a user during a calling mode more than a predetermined number of times, and if so, storing said new telephone number as a new frequently used number in said first memory (110). The dialing method as claimed in any of claims 1 to 11, wherein said first memory is a non-volatile memory and said second memory is a volatile memory.

Inventors: YANG JAE-DUK, YANG, JAE-DUK
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO., LTD.
Application year: 1999
Main classification: H04M1
IPC codes: H04M1