Abstract:
A method and apparatus is disclosed that allows a user of a message transmission device such as a digital phone or a pager to create a user defined list of words, symbols, macros or graphics, and further allows the user to use each entry as a macro, in order to select words or string text from a predefined dictionary and place the expanded content of the macro in a message on a display when composing a text message. When a message is composed, a linked list of words, symbols, macros or graphics from an existing dictionary comprises the message. Additionally, text or voice recordings may be inserted into the message. Also, when the user receives an inbound message, the contents of the message can be used to update the dictionary by selecting (e.g. for example, highlighting or other selection mechanisms) each word or several words in the message, followed by storing the highlighted word or text and selecting the complete message and storing its contents as a macro. The macro is associated with the identification (phone number, e-mail address) of the original sender via a vocabulary grouping to simplify selecting the grouping when sending messages to that identifying number. Once a message is composed, if the composing device contains a display, it can be viewed and scrolled for final review prior to transmission. The invention greatly simplifies the creation and use of text messaging, and is particularly useful in devices such as pagers and phones that have very limited input devices.

Description:
FIELD OF THE INVENTION 
     The present invention relates to the creation of messages by selecting and linking words, symbols, macros or graphics to create a message from a user defined list and/or inserting text or voice recordings in said message for transmission by a communication device. 
     BACKGROUND OF THE INVENTION 
     U.S. Pat. No. 6,028,921 discloses a method for transmitting a message from a message delivery database in a calling name delivery service environment. A communication is received from a calling party directory number and directed to a code number. In response to the communication, a called party directory number associated with the communication is obtained. Next, an indication of a selected message is received from a list of messages. A prefix corresponding to the selected message is obtained from the message delivery database. The prefix and the calling party directory number are populated in a signaling message pertaining to the communication. The signaling message containing the prefix and the calling party directory number is transmitted to a network element serving the called party directory number. In response to receipt of the signaling message of the network element, a message translation of the prefix is obtained from a message translation database, and the message translation is transmitted to a called part display unit. 
     U.S. Pat. No. 5,952,942 discloses a method and apparatus for inputting text messages from a keypad by activating keys of a keypad, where a key represents various characters. Input is delivered to a processor corresponding to the keys activated. A dictionary is searched for candidate combinations of characters corresponding to the keys activated. The candidate combinations are rank ordered, for example using language model data and feedback is provided to a user indicating at least a highest rank ordered candidate combination. 
     U.S. Pat. No. 5,835,571 discloses a method for automatically interfacing a telephone to an automated telephone service. The system allows a user to record interfacing to an automated telephone service. The recording can be saved to personal local storage or to a shared storage area for use by a plurality of users. The system allows a user to invoke the saved recording of the interface activity at any time so that the automated telephone service is interfaced to in an automatic manner. The system monitors for the press of telephone buttons, such as Dual Tone Multi Frequency (DTMF) signals. The system determines whether a telephone button has been pressed or a command has been entered. If a telephone button has been pressed and record mode is set to ON, the system records a macro, which can subsequently be used to automatically navigate within an automated service. A macro is recorded by saving a button type that is determined by the duration of the telephone button depressed, the button, and the time since press of the previous entry. The two types of buttons that allow interfacing to an automated service are immediate and wait. Commands are entered for governing system operation. Commands include saving a macro to a local library; invoking a macro by button or by voice; browsing a macro library; and deleting a macro. When the desired macro is recorded, the user can save the macro with a desired invocation sequence, thereby allowing invoking the macro by voice or with buttons. The system uses information stored in the macro to coordinate delivering DTMF signals in an appropriate and proper manner to an automated telephone service. 
     U.S. Pat. No. 6,005,498 discloses a reduced keyboard entry method and apparatus which provides a method and apparatus for entry of words using a small number of key presses on a reduced keypad having multiple symbols associated with at least one key. The method and apparatus uses validity rules to rearrange the order of presentation of the multiple alphabet symbols associated with a single key on the keypad, automatically eliminate the presentation of invalid alphabet symbols, and allows the entry of additional information such as tone markers. Additionally, the method and apparatus uses a dictionary to convert phonetic syllables into Chinese characters. The reduced keyboard entry apparatus is implemented in a cellular telephone; however, it may also be implemented in a standard wired telephone, a personal digital assistant (PDA), a fax machine, a pager, an electronic label maker, or other electronic devices with reduced keypads, which have fewer keys than alphabet symbols. A keypad and display are coupled to a microprocessor, which takes input from the keypad and also transmits output to the display. A memory such as ROM is also coupled to the microprocessor. This memory is preferably an EEPROM (Electronically Erasable Programmable Read Only Memory) holding two separate blocks of information; validity rules and a dictionary. Another memory, preferably RAM is coupled to the microprocessor for storing letters as they are entered via the keypad, a temporary list of Chinese characters associated with an entered phonetic syllable, stored short messages and address information. 
     U.S. Pat. No. 5,031,206 discloses a method and apparatus for identifying words entered on DTMF pushbuttons, in which the identity of a word entered on DTMF pushbuttons is determined by identifying letters according to their frequency in groups of 2s and 3s and up to R letter groups. Initially, a sender will type a word on a DTMF pushbutton pad. Since each button represents three (3) possible letters, or four in the case of 7 (PQRS) and 9 (WXYZ), the system will look up the possible meanings for the word from an internal dictionary, then the system will search against a Forward or Reverse Dictionary to guess at the identity of fragments from the beginning and ending of the word. Then it will guess the identify of each letter according to its relative frequency in the groups of 3s known as Trigrams, or in groups of 2s known as Digrams. The Trigrams are preferably arranged in five (5) files to identify the first second, third and final letters of a word as well as any non-specified middle location. The system can be extended to any letter grouping of size n where n is two or more. Once identified, the word is stored as part of a message and then transmitted as ASCII digital information over a packet data network to a remote receiver where digital to voice synthesis converts the message into audio. Other delivery methods include alphanumeric pagers, FAX, E-Mail, telex, computer-printed output, telegrams and cables. 
     The prior art does not disclose a method of composing a message by selecting and linking words, symbols, graphics, macros and/or graphics in a communication device such as a digital phone or pager. The current digital phone technology allows a user to compose a text message to store in a scratch pad by selecting individual letters entered through the numeric keypad. The task of entering a message is very tedious and error prone. What is needed beyond the prior art is the ability to create a user defined word list that allows linking of multiple types of entries for composing and sending messages. Providing a linking capability enhances ease of use, not only for the general population but for individuals who depend on written communication, such as persons with hearing or speech impairment. 
     SUMMARY OF THE INVENTION 
     The invention which meets the needs identified above is an apparatus and method that allows a user of a message transmission device such as a digital phone or a pager to create a user defined list of words, symbols, macros or graphics, and further allows the user to use each entry as a macro, in order to select words or string text from a predefined dictionary and place the expanded content of the macro in a message on a display when composing a text message. When a message is composed, a linked list of words, symbols, macros or graphics from an existing dictionary comprises the message. Additionally, text or voice recordings may be inserted into the message. Also, when the user receives an inbound message, the contents of the message can be used to update the dictionary by selecting (e.g. for example, highlighting or other selection mechanisms) each word or several words in the message, followed by storing the highlighted word or text and selecting the complete message and storing its contents as a macro. The macro is associated with the identification (phone number, email address) of,the original sender via a vocabulary grouping to simplify selecting the grouping when sending messages to that identifying number. Once a message is composed, if the composing device contains a display, it can be viewed and scrolled for final review prior to transmission. The invention greatly simplifies the creation and use of text messaging, and is particularly useful in devices such as pagers and phones that have very limited input devices. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: 
     FIG. 1 depicts a block diagram of the message transmission device. 
     FIG. 1A depicts the system environment. 
     FIG. 2 depicts a flow diagram of the dictionary creation. 
     FIG. 3 depicts a flow diagram of the macro creation process. 
     FIG. 4 depicts the message composition process. 
     FIG. 5 depicts the menu selection process. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1 depicts an embodiment of hardware in which the linking method of macro and message construction can be implemented. Message transmission device  10  has memory  20 , processor  30 , entry device  40 , display  50 , transmitter/receiver  60  and power supply  70  which are all connected to interface  19 . Message transmission device  10  may be a digital telephone which as used herein means a telephone containing a digital signal processor. Memory  20  is electronically connected to processor  30 . As used herein, “memory” means a storage medium such as Random Access Memory, Electrically Erasable Programmable Read Only Memory (EEPROM) or other storage mechanism. The term processor, as used herein, includes, without limitation, the following: (1) a functional unit that interprets and executes instructions having at least an instruction control unit and an arithmetic and logic unit; (2) one or more integrated circuits that process coded information and perform a task; (3) a processor whose elements have been miniaturized into one or a few integrated circuits; (4) a microchip containing integrated circuits that executes instructions; (5) a central processing unit on a single chip; (6) an integrated circuit designed for high-speed data manipulation such as a Digital Signal Processor (DSP). Entry device  40  is electronically connected to processor  30 . As used herein, “entry device” means a keyboard, keypad, microphone, touch screen or overlay for handwriting recognition. Keyboard means an arrangement of typing and function keys laid out in a specified manner; a systematic arrangement of keys by which a machine is operated or by which data are entered; a device used to encode data by key depression, which cause generation of the selected code element; a group of numeric keys, alphabetic keys, or function keys used for entering information into a terminal and into the system. Keypad means a small, often hand held keyboard. Touch screen means (1) a display device, that allows the user to interact with a computer system by touching an area on its screen; or (2) a touch-sensitive display screen on a visual display unit. Microphone means a device that converts sound waves into analog electrical signals, and additional hardware can convert the microphone&#39;s output into digital data that a computer can process. Processor  30  is electronically connected to display  50 , receiver/transmitter  60  and power supply  70 . Memory  20  has first storage area  22  and second storage area  26 . First storage area  12  contains program  24  and second storage area  26  contains dictionary  18 . As used herein, “display” means (1) an output unit that gives a visual representation of data; (2) a device for electronically displaying text, symbols or graphics. Display  50  allows the user to navigate the dictionary, edit messages, to display received messages and to select words or phrases or other content from received messages. For example, when an inbound message is received, the contents of the message can be used to update the dictionary by selecting (e.g., for example, highlighting or other selection mechanism) each word or several words in the message, followed by storing the highlighted word (or words) or by selecting the complete message and storing the contents as a macro. 
     FIG. 1A depicts the system environment. Message transmission device  10  transmits its message to telephone/paging company  310 . Telephone/paging company  310  receives the message sent by message transmission device  10  and sends the message to receiver  320 . Receiver  320  may be pager  322 , cellular (digital) phone  324 , mail box for an e-mail address  326 , display monitor  328  for mail box  326 , computer  330 , telephone  332  or telefax machine  336 . 
     FIG. 2 depicts a flow chart for the dictionary program. The dictionary can be created in a variety of ways. First, pre-packaged lists of words and phrases can be downloaded directly into the memory ( 14 ). For example, an airline company may offer an airline or traveler vocabulary group that consists of words commonly used in transactions involving the purchase of airline tickets. On the other hand, a brokerage company may offer a financial vocabulary group that consists of words commonly used in transactions involving the purchase and sale of stocks. The phone may come pre-loaded with a listing of words and phrases chosen to meet common everyday message needs. If the user finds an available and suitable vocabulary grouping, the user may select the grouping and download the grouping into the memory ( 16 ). Second, a user may enter individual words by spelling the words with the keypad and then entering the completed word into the dictionary ( 20 ). Third, the user may enter text from displayed messages. For example, if the user receives a message, the user can display the message ( 24 ), and if the user decides that words in that message can be reused in a reply or a related message, the user can select (for example, by highlighting or other selection mechanism) the portions of the text to be saved ( 26 ) and then save the highlighted portions ( 28 ). Finally, the user can link vocabulary to a specific telephone number or other identification for a recipient. The user first selects or enters a telephone number or directory entry of the destination ( 32 ) and then displays the vocabulary from which words or macros will be linked from the available list of vocabulary entries ( 34 ). The user then enters the command to link the vocabulary to the telephone number. For example, the user may link the travel vocabulary to the airline telephone number so that when the airline telephone number is selected, the travel vocabulary is displayed. As used herein, the term “link” means to connect two elements in a data structure by index variables, pointer variables or other reference mechanisms for associating the two elements. As another example, the user could link a vocabulary list that contains words in a language different from the user&#39;s, such as Spanish. Then for messages to a person who speaks only Spanish or to a business in another country where Spanish is spoken, the user can link a vocabulary list in Spanish to that identifying number. If the user wants to make another entry to the dictionary, the program will return to the beginning ( 38 ). If the user does not want to make another entry the program will end ( 50 ). 
     FIG. 3 depicts a flow chart of the program for creating macros for inclusion in the dictionary. As used herein, a macro is a predefined grouping of letters, words, symbols, graphics or other macros that is stored in the dictionary. Macros can be optionally named to facilitate selection. In order to create a macro for storage, the user selects a first entry ( 64 ). The user then selects a second entry ( 66 ). The user then links the second entry to the first entry ( 68 ). The program automatically stores the macro ( 70 ). If the user desires to add another letter, word, symbol or graphic to the macro ( 72 ), the user selects another entry ( 76 ) and links the new entry to the macro ( 78 ). The program then writes the new macro to storage over the old macro ( 80 ). The process continues until the user does not desire to add any additional words, symbols or graphics to the macro ( 72 ) and the program then saves the macro to the dictionary ( 74 ). The program ends ( 82 ). Macros can be created by linking previously defined macro entries to another macro, words, symbols or graphics to expand the dictionary or to enhance the range of phrases available. 
     The word list likely contains the common words used for a given environment. For example, a vocabulary word list for a frequent traveler may include: “flight”, “delayed”, “cancel”, “meeting”, “call”, “associate”, and so on. A vocabulary list for a stock broker may include: “buy”, “sell”, “margin”, “shares”, “options”, “strike price” and so on. A macro may contain action entries to allow dynamic update of the content. For example, in the above travel example, the user may create a message composed of macro “FD” that contains the linked words “flight delayed”, followed by the words “reschedule”, “meeting” and “at”, followed by the insertion by the user of the new meeting time, “5”, on the keypad followed by the selection of “a.m.” or “p.m.” The insertion of the numeral “5” is an example of an action entry. When the complete message is composed, it may then be stored as a macro, ready to use. If the composing device contains a display, it can be viewed and scrolled for final review prior to saving in memory for future use. Additionally, as discussed below the message may be invoked and sent as is or as modified prior to transmission. 
     FIG. 4 depicts the method of creating messages. When message transmitting device  10  (FIG. 1) is turned on a menu is displayed ( 112 ). The user selects from the choices described above: “all”, “vocabulary”, “frequent” or “recent”. If the user selects “vocabulary” selections will be made from one or more functional groupings of words and phrases that comprise the vocabulary ( 114 ). The functional groupings will be displayed ( 120 ). The user will navigate the groupings and select one of the choices which will in turn display individual words and phrases within that grouping ( 122 ). When navigating the group, the user can select “frequent” or “recent”. Correspondingly, the user may select “frequent” and then within that listing, select “recent”. The user may select a macro from the group displayed ( 128 ). If no macro is selected, the user will go back to the menu and make another selection. If the user selected “all” the dictionary contents will displayed in alphabetical listing ( 124 ). The user will navigate the words and phrases ( 126 ). As used herein the term phrase or phrases refers to a macro or macros. When navigating the listing, the user can select from the choices of “frequent” or “recent”. “Frequent” will display the words or phrases rank ordered with the most frequently used word or phrase at the top of the list and the rest of the list rank ordered in descending frequency of usage. “Recent” will display the words or phrases rank ordered with the most recently used words of phrases at the top of the list and the rest of the list rank ordered in descending recency of usage. Correspondingly, the user may select “frequent” and then within that listing, select “recent”. The user selection of “all”, “vocabulary”, “frequent” or “recent” is one embodiment of the menu. The user can modify the presentation order to suit his or her needs. 
     The user may also choose to insert a voice recording or an action entry ( 118 ). If a voice recording is entered, the program will store the voice recording in the message ( 131 ) and go to step  132  to determine if this is a first selection. If the user selects a word or phrase, the program will identify whether or not the selection is a first selection ( 132 ). If the selection is a first selection, the program will display the selection ( 136 ). If the selection is not a first selection, because the user has made a prior selection, the program will link the selection to the previous selection ( 134 ). After linking the selection to the previous selection (or selections), the selected and linked words and phrases will be displayed ( 136 ). The user may edit the message displayed ( 138 ). If the user edits the message ( 140 ), the user will navigate through the constructed message. As each element of the message is highlighted, (words, symbols, macros, graphics) the user can rearrange or delete the highlighted text as needed. As used herein, the term text means individual or linked words, symbols, macros or graphics and may also include inserted voice recordings. After the user has edited the message, the program will return and determine if the message is complete ( 142 ). If the message is not complete, the user will return to the menu to select or enter the next word or phrase. If the message is complete, the user can send the message ( 144 ). The user may also save the message ( 146 ). If the user does not send the message, the message will be stored ( 148 ) and the program will return to the display menu ( 112 ). If the user does not save the message, the program will end ( 150 ). If the user saves the message, the message will be stored ( 148 ) and the program will return to the display menu ( 112 ). 
     FIG. 5 depicts the menu display. The menu displays four initial choices. The user may select “all” ( 206 ) in which case all of the dictionary entries are listed in alphabetical order ( 208 ) which can then be further sorted by most frequent or most recent. The alphabetical list can be navigated by scrolling or by entering a word prefix. If a word prefix is entered the word closest to the prefix will move to the center of the display and the user can navigate forward or backward from that word by scrolling. If the user selects “vocabulary”, the word lists grouped by vocabulary function will appear ( 212 ). The word lists can then be navigated by scrolling through the list or by entering a word prefix. If the user selects “frequent” all of the entries will be displayed rank ordered with the most frequent entries displayed first. The user may also select “frequent”, after having selected “vocabulary”, in which case the vocabulary word list will be displayed rank ordered with the most frequent displayed first The user may select “recent”, in which case all of the entries will be displayed rank ordered, with the Most recent displayed first. The user may also select “recent” after having selected “vocabulary” in which case the vocabulary word list will be displayed rank ordered with the most recent displayed first. 
     When a message is sent the directory entry, directory address, or recipient address is set to contain a link to the list of macros and action entries that comprise the message. For example, in one embodiment, only the pointers are stored in memory. For macros and messages, the pointers are stored in sequence so that when a past message is selected, the entire message will be displayed. This reduces the storage required to keep a history of last messages or words that have been stored. 
     The advantages provided by the present invention should be apparent in light of the detailed description provided above. The description of the present invention has been presented for purposes of illustration and description, but is not limited to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention the practical application and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.