[0001]    The present invention relates generally to communication systems and, more particularly, to a method and system for identifying a caller based on voice recognition. Display of a caller identification is provided to a receiving-side party. And, call discrimination and specialized call treatment such as separate billing, toll restriction, and personalized routing, for each call originating from the same station, or other communication device.  
         BACKGROUND OF THE INVENTION  
         [0002]    Communication through the use of telephonic communication systems is an important aspect of modem society. Telephonic networks of various telephonic communication systems have been installed throughout significant portions of the populated areas of the world. Telephonic stations are connected to the telephonic network, such as by a wireline connection or a radio interface. A communication session is formed between two or more of the telephonic stations connected to the telephonic network. The telephonic station at which a call is originated may be referred to as the calling party, and the telephonic station at which the call is to be completed, or terminated, may be referred to as the called party.  
           [0003]    With currently existing communication systems, an optional feature often available to customers allows the customers to receive a “caller ID” to identify a caller when the telephone is ringing, before the customer answers the telephone. In this way, the customer can decide whether or not to answer the call. However, the “caller ID” provided is actually more appropriately labeled a “station ID” because the identifier provided generally allows only one identification for a particular telephone line. Thus, problems with this feature result from the fact that a typical residence may have many people sharing a single telephone line.  
           [0004]    Currently existing communication systems also sometimes utilize voice recognitions in which voice commands are given. Communication systems that utilize voice recognition include systems that provide voice-activated dialing. For instance, systems existing in which voice commands, such as “Call Mom” initiate dialing of dialing numbers associated with the “Call Mom” command.  
           [0005]    Voice recognition capabilities are not yet generally fully integrated into communication systems. The advantages and features that voice recognition is capable of providing are therefore not yet maximized. For instance, synergistic combinations of voice recognition and caller id features have generally not been considered.  
           [0006]    Accordingly, a manner by which better to take advantage of voice recognition capabilities to provide new and improved communication services would be advantageous.  
         SUMMARY OF THE INVENTION  
         [0007]    In accordance with the present invention, a method and system for identifying a caller based on voice recognition are provided that substantially eliminate or reduce disadvantages and problems associated with conventional systems and methods. In particular, voice identification may be used to distinguish between parties sharing a single telephone line, allowing true caller identification, in addition to personalized billing and a range of other advantages.  
           [0008]    According to one embodiment of the present invention, a method for identifying a caller based on voice recognition is provided that includes receiving call data from a communication device through a communication network. The call data comprises voice data for a user of the communication device. A search is performed for an identifying data match based on the call data. A voice recognition system is activated when an identifying data match is found. A search is performed for a first voice pattern match with the voice recognition system based on the call data. A user identifier corresponding to the first voice pattern is provided to the communication network when the first voice pattern match is found. The user identifier is operable to identify the user of the communication device.  
           [0009]    According to another embodiment of the present invention, a voice recognition system for identifying a caller is provided that includes a recognition system activator, a voice pattern identifier, and a user information provider. The recognition system activator is operable to receive call data from a communication device through a communication network. The call data comprises voice data for a user of the communication device. The recognition system activator is also operable to search for an identifying data match based on the call data. The voice pattern identifier is coupled to the recognition system activator. The voice pattern identifier is operable to be activated by the recognition system activator when an identifying data match is found and to search for a first voice pattern match based on the call data. The user information provider is coupled to the voice pattern identifier. The user information provider is operable to provide a user identifier corresponding to the first voice pattern to the communication network when the first voice pattern match is found by the voice pattern identifier. The user identifier is operable to identify the user of the communication device.  
           [0010]    Technical advantages of one or more embodiments of the present invention include providing an improved method for identifying a caller. In a particular embodiment, voice identification is used to distinguish between parties sharing a single telephone line. As a result, true caller identification may be provided, as opposed to simply station identification. In addition, personalized billing and individual profiles may be implemented.  
           [0011]    Other technical advantages will be readily apparent to one skilled in the art from the following figures, description, and claims.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts, in which:  
         [0013]    [0013]FIG. 1 is a block diagram illustrating a communication system operable to identify a user based on voice recognition in accordance with one embodiment of the present invention;  
         [0014]    [0014]FIG. 2 is a block diagram illustrating details of the voice recognition system of FIG. 1 in accordance with one embodiment of the present invention;  
         [0015]    FIGS.  3 A-C are tables illustrating data that may be stored in the voice pattern database of FIG. 2 in accordance with one embodiment of the present invention;  
         [0016]    FIGS.  4 A-B are tables illustrating data that may be stored in the user database of FIG. 2 in accordance with one embodiment of the present invention; and  
         [0017]    [0017]FIG. 5 is a flow diagram illustrating a method for identifying a user based on voice recognition in the communication system of FIG. 1 in accordance with one embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0018]    [0018]FIG. 1 is a block diagram illustrating a communication system  10  operable to identify a user based on voice recognition in accordance with one embodiment of the present invention. The communication system  10  comprises a plurality of communication devices  12 , a communication network  14  that is operable to couple the communication devices  12  to each other, and a voice recognition system  16 . The communication system  10  may comprise a telephonic or other suitable communication system that is operable to provide communication between two or more of the communication devices  12 .  
         [0019]    The communication devices  12  may comprise landline telephones, wireless telephones, Session Initiation Protocol (SIP) terminals, H.323 devices, Integrated Services Digital Network (ISDN) terminals, and/or any other suitable communication devices. The communication network  14  is operable to establish communication sessions between communication devices  12 . The communication network  14  is also operable to provide call data, such as station identifiers for the communication devices  12 , voice data, and the like to the voice recognition system  16  for processing and to receive information from the voice recognition system  16  for use in managing the call. For example, a user making a call from a shared telephone may receive individualized billing based on his or her voice being used during the call. In addition, users may be provided with specified access or blocked from specified access to making calls. Thus, for example, a user may be allowed only to call specified telephone numbers based on his or her voice, or a user may be blocked from placing certain calls, such as long distance calls, based on his or her voice. It will be understood that the communication network  14  may otherwise manage the calls based on the user&#39;s voice without departing from the scope of the present invention.  
         [0020]    The voice recognition system  16  may be coupled to the communication network  14  locally, may be integral to the communication network  14 , or may be remote from the communication network  14  and coupled to the communication network  14  through communication lines and/or other suitable networks. As described in more detail below, the voice recognition system  16  is operable to store voice patterns for a plurality of users of the communication devices  12  and to identify those users based on their voices.  
         [0021]    The voice recognition system  16  may comprise logic encoded in media. The logic comprises functional instructions for carrying out program tasks. The media comprises computer disks or other computer-readable media, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), other suitable specific or general purpose processors, transmission media or other suitable media in which logic may be encoded and utilized.  
         [0022]    [0022]FIG. 2 is a block diagram illustrating details of the voice recognition system  16  in accordance with one embodiment of the present invention. The voice recognition system  16  comprises a recognition system activator  18 , a voice processor  20 , a user information provider  22 , a voice pattern database  24 , and a user database  26 .  
         [0023]    The recognition system activator  18  is operable to receive data from the communication devices  12  through the communication network  14 , to decide whether or not to activate the voice processor  20  based on a search of data stored in the voice pattern database  24 , and to activate the voice processor  20 .  
         [0024]    The voice processor  20  is coupled to the recognition system activator  18 . The voice processor  20  comprises a voice pattern recorder  27  and a voice pattern identifier  28 . The voice pattern recorder  27  is operable to record samples of users&#39; voice patterns in the voice pattern database  24 . The voice pattern identifier  28  is operable to be activated by the recognition system activator  18  and to identify matching voice patterns stored in the voice pattern database  24  based on voice data received from the communication device  12  through the communication network  14 .  
         [0025]    The user information provider  22  is coupled to the voice processor  20 . The user information provider  22  is operable to store user information relating to users of the communication devices  12  in the user database  26 , to search the user database  26  for the previously stored user information when a user is identified by the voice pattern identifier  28  of the voice processor  20 , and to provide the user information to the communication network  14 . The user information may comprise, for example, command identifiers for automatically calling pre-determined telephone numbers, profiles indicating allowed telephone access or blocked telephone access, and any other suitable user information.  
         [0026]    The voice pattern database  24  and the user database  26  may each comprise any suitable data store operable to store voice pattern data and user information, respectively. It will be understood that the voice pattern database  24  and/or the user database  26  may be remote from the voice recognition system  16  and coupled to the voice recognition system  16  through any suitable communication lines and/or networks. It will also be understood that the voice pattern database  24  and the user database  26  may comprise a single data database.  
         [0027]    FIGS.  3 A-C are tables illustrating data that may be stored in the voice pattern database  24  in accordance with one embodiment of the present invention. Although the data is illustrated as being stored in tables, it will be understood that the data may be otherwise suitably stored in the voice pattern database  24  without departing from the scope of the present invention.  
         [0028]    [0028]FIG. 3A is a station identifying table  30  that is operable to store information regarding a plurality of stations, such as communication devices  12 . According to one embodiment, the data stored in the identifying table  30  comprises identifying data  32 , a voice pattern  34 , and a user identifier  36 . It will be understood that the data may comprise any other suitable information without departing from the scope of the present invention.  
         [0029]    In the illustrated embodiment, the station identifying table  30  comprises a station section  38  for each communication device  12 . As used herein, “each” means every one of at least a subset of the identified items. Each station section  38  comprises the same identifying data  32  operable to identify the communication device  12 . For example, the identifying data  32  may comprise a telephone number corresponding to the communication device  12 . It will be understood that the identifying data  32  may be stored in any suitable format. For example, the identifying data  32  may comprise numerical values or any other suitable identifiers.  
         [0030]    Each station section  38  also comprises a voice pattern  34  for each user associated with the communication device  12 . The voice pattern  34  is operable to identify the voice of the user. The voice pattern  34  may be stored in any suitable format. For example, the voice pattern  34  may comprise alphanumerical values operable to identify voice patterns stored elsewhere, actual voice patterns, or any other suitable data operable to identify a designated user of the communication device  12  by his or her voice. Each station section  38  may also comprise one or more entries without specified voice patterns  34 . These “voice patterns”  34  may be used to specifically identify a user of the communication device  12  that has not been designated as a user, such as a guest, or for any other suitable purpose.  
         [0031]    Each station section  38  also comprises a user identifier  36  for each voice pattern  34  that is operable to identify the user corresponding to the voice pattern  34 . The user identifier  36  may be stored in any suitable format. For example, the user identifier  36  may comprise actual user names in textual format or any other suitable format.  
         [0032]    [0032]FIG. 3B is a comparison table  40  and FIG. 3C is a sorting table  50 . These tables  40  and  50  are operable to be used together in order to sort certain voice patterns based on any suitable criteria for more efficient searching. According to one embodiment, the data stored in the comparison table  40  comprises comparison data  42  and a sorting identifier  44 . It will be understood that the data may comprise any other suitable information without departing from the scope of the present invention.  
         [0033]    The comparison data  42  may comprise voice patterns or other suitable data operable to identify a plurality of users of communication devices  12  based on a common characteristic, such as language or accent. The comparison data  42  may be stored in any suitable format. For example, the voice pattern  34  may comprise alphanumerical values operable to identify voice patterns stored elsewhere, actual voice patterns, or any other suitable data operable to identify a user of the communication device  12  by a particular characteristic of his or her voice.  
         [0034]    The sorting identifier  44  is operable to identify the common characteristic as determined by the comparison data  42 . For example, the sorting identifier  44  may comprise a language, an accent, a combination of language and accents, or any other suitable characteristic that may be shared by a plurality of users of the communication devices  12 . It will be understood that the sorting identifier  44  may be stored in any suitable format. For example, the sorting identifier  44  may comprise textual strings or any other suitable identifier.  
         [0035]    According to one embodiment, the data stored in the sorting table  50  comprises a sorting identifier  52  that corresponds to the sorting identifier  44 , a voice pattern  54 , and a user identifier  56 . It will be understood that the data may comprise any other suitable information without departing from the scope of the present invention.  
         [0036]    In the illustrated embodiment, the sorting table  50  comprises a sorted section  58  for each common characteristic identified by a station identifier  52 . Each sorted section  58  comprises the same sorting identifier  52  operable to identify the common characteristic. For example, the sorting identifier  52  may comprise a language, an accent or the like. It will be understood that the sorting identifier  52  may be stored in any suitable format. For simplicity, the sorting identifier  52  may comprise a same format as the sorting identifier  44  of the comparison table  40 .  
         [0037]    Each sorted section  58  also comprises a voice pattern  54  for each of a plurality of users. The voice pattern  54  is operable to identify the voice of the user. The voice pattern  54  may be stored in any suitable format. For example, the voice pattern  54  may comprise alphanumerical values operable to identify voice patterns stored elsewhere, actual voice patterns, or any other suitable data operable to identify a specified user of a communication device  12  by his or her voice.  
         [0038]    Each sorted section  58  also comprises a user identifier  56  for each voice pattern  54  that is operable to identify the user corresponding to the voice pattern  54 . The user identifier  56  may be stored in any suitable format. For example, the user identifier  56  may comprise actual user names in textual format or any other suitable format.  
         [0039]    Thus, using the comparison table  40  and the sorting table  50 , a plurality of users may be identified based on their voice patterns  54  regardless of which communication device  12  is used by the user. In this way, certain types of calls, such as calls from pay phones, airport phones, or any other types of calls, may be screened for the users identified by the user identifiers  56 , allowing law enforcement, for example, to track down fugitives when they use communication devices  12 . The voice patterns  54  may be stored when a prisoner is incarcerated, when non-citizens enter the country, or at any other suitable location or based on any other suitable event.  
         [0040]    FIGS.  4 A-B are tables illustrating data that may be stored in the user database  26  in accordance with one embodiment of the present invention. FIG. 4A is a command identifying table  60  that is operable to store command information regarding a plurality of users of communication devices  12 . According to one embodiment, the data stored in the command identifying table  60  comprises identifying data  62 , a user identifier  64 , a command identifier  66 , and a station identifier  68 . It will be understood that the data may comprise any other suitable information without departing from the scope of the present invention.  
         [0041]    In the illustrated embodiment, the station identifying table  30  comprises a station section  69  for each communication device  12 . Each station section  69  comprises the same identifying data  62  operable to identify the communication device  12 . For example, the identifying data  62  may comprise a telephone number corresponding to the communication device  12 . It will be understood that the identifying data  62  may be stored in any suitable format. For example, the identifying data  62  may comprise numerical values or any other suitable identifiers.  
         [0042]    Each station section  69  also comprises a user identifier  64  that is operable to identify a user for which one or more commands is stored in the command identifying table  60 . The user identifier  64  may be stored in any suitable format. For example, the user identifier  64  may comprise actual user names in textual format or any other suitable format.  
         [0043]    Each station section  69  also comprises a command identifier  66  for each user identified by a user identifier  64 . The command identifier  66  is operable to identify a command for the user. For example, the commands identified by the command identifier  66  may comprise commands to place calls to specified telephone numbers, such as “Call Scott” which would result in a call being placed to the telephone number specified as Scott&#39;s telephone number. The command identifier  66  may be stored in any suitable format. For example, the command identifier  66  may comprise alphanumerical values operable to identify voice patterns stored elsewhere, actual voice patterns, or any other suitable data operable to identify a command for the user of the communication device  12  based on his or her voice stating the appropriate command.  
         [0044]    Each station section  69  also comprises a station identifier  68  that is operable to identify a communication device  12  associated with the command identified by the command identifier  66 . The station identifier  68  may comprise a telephone number corresponding to the communication device  12 . It will be understood that the station identifier  68  may be stored in any suitable format. For example, the station identifier  68  may comprise numerical values or any other suitable identifiers.  
         [0045]    Thus, in the illustrated embodiment, a user identified based on a voice pattern as having the user identifier  64  of “Rebecca Reed” using a communication device  12  identified by the identifying data  62  of 214-555-7780 may speak into the communication device  12  the command identifier  66  of “Call Janice,” and the communication network  14  would respond by placing a call to the communication device  12  with the station identifier  68  of 312-555-0016.  
         [0046]    [0046]FIG. 4B is a profile table  70  that is operable to store profile information regarding a plurality of users of communication devices  12 . According to one embodiment, the data stored in the profile table  70  comprises identifying data  72 , a user identifier  74 , and a profile  76 . It will be understood that the data may comprise any other suitable information without departing from the scope of the present invention.  
         [0047]    In the illustrated embodiment, the profile table  70  comprises a station section  78  for each communication device  12 . Each station section  78  comprises the same identifying data  72  operable to identify the communication device  12 . For example, the identifying data  72  may comprise a telephone number corresponding to the communication device  12 . It will be understood that the identifying data  72  may be stored in any suitable format. For example, the identifying data  72  may comprise numerical values or any other suitable identifiers.  
         [0048]    Each station section  78  also comprises a user identifier  74  that is operable to identify a user for which a profile  76  is stored in the profile table  70 . The user identifier  74  may be stored in any suitable format. For example, the user identifier  74  may comprise actual user names in textual format or any other suitable format.  
         [0049]    Each station section  78  also comprises a profile  76  for each user identified by a user identifier  74 . The profile  76  is operable to identify a profile for the user. For example, the profiles identified by the profile  76  may comprise specific access rights to using the communication device  12  identified by the identifying data  72 , specific blocks prohibiting rights to using the communication device  12  identified by the identifying data  72  and/or any other suitable profile information. The profile  76  may be stored in any suitable format. For example, the profile  76  may comprise alphanumerical values operable to identify access rights, blocks prohibiting rights, or any other suitable data operable to identify a profile for the user of the communication device  12  based on his or her voice when using the communication device  12 .  
         [0050]    Thus, in the illustrated embodiment, a user identified based on a voice pattern as having the user identifier  74  of “Kate Adams” using a communication device  12  identified by the identifying data  72  of 214-555-0729 may be blocked from making long distance calls or calls to 900 numbers, while a user identified based on no matching voice pattern as having the user identifier  74  of “Adams&#39; Guest” using a communication device  12  identified by the identifying data  72  of 214-555-0729 may be blocked from making international calls or calls to  900  numbers.  
         [0051]    [0051]FIG. 5 is a flow diagram illustrating a method for identifying a user based on voice recognition in the communication system  10  in accordance with one embodiment of the present invention. The method begins at step  100  where the recognition system activator  18  receives call data associated with an incoming call from a user of a communication device  12  from the communication network  14 . At step  102 , the recognition system activator  18  searches the voice pattern database  24  for an identifying data  32  match based on the call data.  
         [0052]    At decisional step  104 , the recognition system activator  18  makes a determination regarding whether or not a match was found in the voice pattern database  24 . If a match is found, the method follows the Yes branch from decisional step  104  to step  106 . At step  106 , the recognition system activator  18  activates the voice recognition system  16  by activating the voice pattern identifier  28  of the voice processor  20 . At step  108 , the voice pattern identifier  28  searches the voice pattern database  24  for a voice pattern  34  match based on the voice data in the call data.  
         [0053]    At decisional step  110 , the voice pattern identifier  28  makes a determination regarding whether or not a match was found in the voice pattern database  24 . If a match is found, the method follows the Yes branch from decisional step  110  to step  112 . At step  112 , the user information provider  22  searches the user database  26  for additional user information based on the identifying data  32  and the user identifier  36  corresponding to the matched voice pattern  34 . At step  114 , the user information provider  22  provides user information, including a user identifier  36  and/or any user information from the user database  26 , to the communication network  14  for use in managing the call, at which point the method comes to an end.  
         [0054]    Returning to decisional step  104 , if no match is found, the method follows the No branch from decisional step  104  to decisional step  120 . At decisional step  120 , the recognition system activator  18  makes a determination based on the call data regarding whether or not the type of call matches one of the specified types of calls that trigger a comparison data search. For example, the specified types of calls may comprise pay phone calls, airport telephone calls, and the like. If a call type match is found, the method follows the Yes branch from decisional step  120  to step  122 . At step  122 , the recognition system activator  18  activates the voice recognition system  16  by activating the voice pattern identifier  28  of the voice processor  20 . At step  124 , the recognition system activator  18  searches the voice pattern database  24  for a comparison data  42  match based on the voice data in the call data.  
         [0055]    At decisional step  126 , the voice pattern identifier  28  makes a determination regarding whether or not a match was found in the voice pattern database  24 . If a match is found, the method follows the Yes branch from decisional step  126  to step  128 . At step  128 , the voice pattern identifier  28  searches the voice pattern database  24  for a voice pattern  54  match based on the voice data in the call data and the sorting identifier  44  corresponding to the matched comparison data  42 .  
         [0056]    At decisional step  130 , the voice pattern identifier  28  makes a determination regarding whether or not a match was found in the voice pattern database  24 . If a match is found, the method follows the Yes branch from decisional step  130  to step  131 . At step  131 , the user information provider  22  provides the user identifier  56  corresponding to the matched voice pattern  54  to the communication network  14  for use in managing the call, at which point the method comes to an end.  
         [0057]    Returning to decisional step  110 , if no match is found, the method follows the No branch from decisional step  110  to step  132 . Also, returning to decisional step  120 , if no match is found, the method follows the No branch from decisional step  120  to step  132 . Also, returning to decisional step  126 , if no match is found, the method follows the No branch from decisional step  126  to step  132 . Also, returning to decisional step  130 , if no match is found, the method follows the No branch from decisional step  130  to step  132 . At step  132 , the user information provider  22  notifies the communication network  14  that no user information is available for use in managing the call, at which point the method comes to an end.  
         [0058]    Although the present invention has been described with several embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present invention encompass such changes and modifications as fall within the scope of the appended claims.
A method for identifying a caller based on voice recognition is provided that includes receiving call data from a communication device through a communication network. The call data comprises voice data for a user of the communication device. A search is performed for an identifying data match based on the call data. A voice recognition system is activated when an identifying data match is found and uniquely identifies a user. A search is performed for a first voice pattern match with the voice recognition system based on the call data. A user identifier corresponding to the first voice pattern is provided to the communication network when the first voice pattern match is found, the user identifier operable to identify the user of the communication device.