/50002 PC17US97/03406
LOCATION DETERMINATION IN A COMMUNICATION SYSTEM
Field of the Invention
This invention relates to communication services, including but not limited to providing location-based services to wireline and wireless users.
Background of the Invention
Tourists, businessmen, vacationers, and many other people who travel have a general need for accurate location information. For example, if a person is in an unfamiliar city or an unfamiliar part of a city, but would like to go to a particular place, such as a landmark, hotel, convention center, airport, and so forth, the person will likely not know how to get there, and may not even know where he/she currently is located.
Various navigation systems exist, including systems having artificial intelligence that use routing algorithms and display maps to help a person navigate to where they want to go from a current location. Some of these systems also provide voice output to aid the driver when the vehicle is in motion. Some systems use satellite signalling and other external sensors to determine the location of the vehicle with respect to a map present in the vehicle location system within the vehicle. Such systems, however, are not accurate in determining where precisely the vehicle is located, sometimes missing by thousands of feet. In addition, these systems can be very
expensive, are not readily available in rental cars, nor are portable units for pedestrians readily available.
If a person does not know their present location while on foot or in a rental car without a vehicle navigation system, the person is limited to the option of asking someone in the area for information and relying on the accuracy of the information received. If a person is able to find a wireline telephone, such systems have the capability of identifying the location of the telephone, and hence the location of the individual, through known tracing techniques. These systems are not, however, capable of providing further assistance such as directions from a present location to a desired location unless, for example, the operator in the telephone system happens to know what the user desires. Such a system is not provided for cellular telephone customers, who typically roam over large geographic areas and whose location can best be determined as within a particular cell. Known techniques for particularly locating wireless users, such as cellular users or other radio frequency (RF) users, are expensive and inaccurate to the degree generally required by someone needing location-based assistance.
Accordingly, there is a need for a method of assisting people to find their location without requiring a vehicle navigation system.
Brief Description of the Drawings
FIG. 1 is a block diagram of a communication system in accordance with the invention.
FIG. 2 is a flowchart describing location determination in accordance with the invention.
FIG. 3 is a flowchart showing a method of dialoging between a location server 109 and a user with a communication unit in accordance with the invention.
FIG. 4 is a flowchart showing a method of method for determining a street address in accordance with the invention.
FIG. 5 is a flowchart showing a method of determining directions from a starting location to a desired location in accordance with the invention.
FIG. 6 is a flowchart showing a method of handling a request for emergency assistance in accordance with the invention.
Description of a Preferred Embodiment
The following describes an apparatus for and method of aiding users in determining their present geographic location and in providing directions and/or other geographic information. In addition, if a person is in an unfamiliar location and needs emergency assistance, such as police, fire, or ambulance, the present invention provides a server that assists in obtaining a provider for the assistance. The present invention proposes combining speech recognition, speech synthesis, and location determination techniques to provide a service to wireless and wireline users who do not know where they are, do not know how to get to where they would like to go, or do not know how to obtain emergency assistance for their present location. In accordance with the present invention, a user dials a phone number for a location server, which is may be an unstaffed automated system. The user's call is routed to the location server which then prompts the user using speech synthesis techniques for information from the user to help determine where the user is and what type of service the user desires, e.g., emergency assistance, location determination, directions, and so forth.
The method comprises the steps of receiving, from a user, a first wireless voice transmission including a verbal description of a location. Using speech recognition, the first wireless voice transmission is converted into a data representation of the location. The location may include a street address or a landmark name, and the verbal description may include at least one of at least one street address, at least one highway designation, at least one landmark name, and at least one building title.
In the preferred embodiment, each of a plurality of locations is stored in a database as a data representation along with a
corresponding street address, a corresponding landmark name, and a corresponding grid reference. When the data representation of the location does not match one of the plurality of locations stored in the database, the user's location is determined using a wireless transmission location technique. In addition, the method may further comprise the step of adaptively learning by storing the user's location as determined by the wireless transmission location technique and storing corresponding radio frequency signature information to aid future location determination.
The first wireless voice transmission may be routed to a location server, which dialogs with the user to determine the type of service, which may be a location-based service. In addition, the present invention may be applied to wireline voice transmissions.
Additional steps include, using speech synthesis by the location server, converting a series of questions into transmitted signals audible by the user upon receipt and using speech recognition, converting a series of answers to the series of questions into data representations in a format processable by the location server to determine which of a plurality of stored data representations of locations corresponds to the data representation of the location referred to in the verbal description.
A request for a type of service may also be transmitted. A second wireless transmission, including the type of service, is received. The second wireless transmission is converted into a data representation of the type of service, and the data representation of the type of service and the data representation of the location are processed into information useful to the user. A message providing the information to the user is automatically transmitted.
The location-based service may be a request for a street address for a desired location. In this instance, the processing step may further comprise the steps of determining a grid reference for the desired location and determining a street address corresponding to the grid reference for the desired location from a database that stores each of a plurality of locations as a data representation along with a corresponding street address and a corresponding grid reference. The street address corresponding to the grid reference is converted into a third wireless voice transmission that is transmitted to the user.
The location-based service may be a request for directions to a desired location. In this instance, the processing step may further comprise the steps of determining a first grid reference from the data representation of the location, wherein the location is a starting location, and determining a second grid reference for the desired location. Using a stored map having the first grid reference and the second grid reference, directions from the starting location to the desired location are determined. The directions are converted into a third wireless voice transmission, which is transmitted to the user. Optionally, the stored map may be updated with road construction information, such that directions are determined that avoid using streets or highways currently under road construction.
The location-based service may be a request for emergency assistance to a desired location, in which case a message, requesting the type of emergency assistance be sent to the desired location, is transmitted to a provider of the type of emergency assistance. The provider of the type of emergency assistance transmits an estimated time of arrival of the type of
emergency assistance requested, and a message is transmitted to the user indicating the estimated time of arrival.
A block diagram of a communication system in accordance with the present invention is shown in FIG. 1. A wireless communication unit 101 transmits its user's request for service to a wireless base station 103, also known as a repeater. The wireless communication unit 101 may be a cellular telephone, two-way radio with telephone interconnect capability, and so forth. The base station 103 forwards the call to a call router 105, which routes the call to the location server 109 corresponding to the phone number dialed by the communication unit 101. A user of a wireline communication unit 107, such as a pay phone, a standard telephone, or cordless telephone, may also dial the location server 109 to receive its services.
The location server 109 is basically comprised of a data processor 111, such as a POWER PC 603/66 microprocessor available from Motorola, Inc. The processor has access to a speech recognition module 113, which takes the digitized speech that is transferred to the location server 109 and converts the digitized speech into digital signals for use by the data processor 111. Based on the information received from the speech recognition module 113, the data processor 111 may ask the user of the communication unit 101 or 107 for more information, by asking questions, to more specifically determine either where the user is or what type of service the user requests. Such questioning is provided through a speech synthesis module 117, which takes stored questions and converts them into voice transmissions that when transmitted via communication channels, become audible to the user after demodulation by his/her communication unit 101 or 107. For example, the commercially available "Software Developer's Kit
for Microprocessors," available from Learnout & Hauspie, can both recognize and synthesize speech.
The data processor 111 also has access to a location database 115, from which the data processor 111 can try to match user information converted to digital information to stored location information, such as addresses and landmark names. When a match arises between the information from the user of the communication unit 101 or 107 and information in the database, the data processor 111 knows that it has located the user or the user's requested location. The location database 115 includes for each geographic location a street address, including numbers and street names or highway names and/or numbers. Each geographic location also has a corresponding landmark name. The landmark name includes, for example, the name of a restaurant, a business, an airport, a historic place of interest, a bus station, a train station, a building, and so forth. Each location, in addition to having a street address and a landmark name, has a corresponding grid reference. Each area has a grid reference in terms of X and Y coordinates such that correlations may be provided between two different geographic locations. These X and Y components may be, for example, longitude and latitude components.
A flowchart describing location determination by a location server 109 is shown in FIG. 2. At step 201, a voice transmission with a verbal description of a location is received. At step 203, using speech recognition techniques such as those provided by the speech recognition module 113, the voice transmission is converted into a data representation of the location that was verbally described. At step 205, it is determined if the location, in the format of a data representation, is found in the location database 115. If the location is in the database 115, the process continues with step 215. If the location is not in the database at step 205, the
process continues with step 207, where the location server dialogs with the user of the communication unit 101 or 107 to determine the location. FIG. 3 shows a method of providing a dialogue technique. At step 209, it is determined if the location from step 207 is found in the location database 115. If the location is found at step 207, the process continues with step 215.
If the location is not found in the database at step 209, the process continues with step 211. At step 211, the location is determined using wireless transmission location techniques, such as AVL (Automatic Vehicle Location), GPS (Global Positioning Satellite), and other such techniques as are known in the art. See for example, U.S. Patent Application No. 08/XXX,XXX, titled "Method and Apparatus for Determining the Location of a Wireless Communication System Subscriber," filed on behalf of Eugene J. Bruckert et al. on June 12, 1996 with the same assignee as the present application, which application is incorporated herein by reference. At step 213, the location server adaptively learns from the location determining step 211 by storing transmission parameters along with the associated location. These transmission parameters include signal strength, bit error rate, and signal delay spread.
The process then continues with step 215, where the location database transmits, to the user, a request for a type of service desired by the user. This request would be in the form of a speech synthesized message that prompts for particular answers from the user. The user may respond either verbally by stating one of a selected number of choices, or by pressing a particular button or set of buttons on the telephone key pad. In the preferred embodiment, the types of service are location- based services. For example, one type of service may be a request for a street address of a particular location, where the user knows the landmark name, but not the street address, but
can find the location from the street address. For example, the user may wish to know the address for a particular restaurant, but can find the restaurant once the address is known. Another service may be a request for directions from a starting location to a desired
location. Another type of service may be emergency dispatch service, such as fire, police, or ambulance. In such a situation, a person may be in a remote area, or may simply not know where they are, but has a wireless communication unit such as a cellular phone and needs an ambulance or other emergency assistance dispatched to their location. Finally, the user may request to speak to a live operator or other individual, to whom the location server would route the call.
At step 219, the type of service and the location are processed into information useful to the user. If a street address was requested by the user, a street address is provided to the user corresponding to the location provided by the user at step 201. See FIG. 4 and its associated text for more details. If, for example, the user requests directions from one location to another location, the location server 109 will provide directions from a starting location to a desired location. In addition, road construction information may also be entered into the database, such that when the directions are determined by the location server 109 the directions may be provided such that streets or highways currently under road construction are avoided. Multiple sets of directions may be provided under this method. See FIG. 5 and its associated text for more details. If the user requested emergency assistance, the user may be sent an estimated time of arrival, as sent to the location server 109 after it requests the appropriate assistance from the appropriate provider. See FIG. 6 and its associated text for more details.
A flowchart showing a method of dialoging between a location server 109 and a user with a communication unit 101 or 107 is shown in the flowchart of FIG. 3. At step 301, using speech synthesis such as provided by the speech synthesis module 117, a question is converted to a voice transmission and transmitted to the user. Depending on the type of
information sought by the location server 109, a series of questions is stored in the location database 115, which questions are designed to obtain the information needed by the location server 109. At step 303, an answer to the question is received by the location server. At step 305, the location server 109 determines if the answer received at step 303 provides the information sought by the location server 109 to properly determine the location. If a location is determined by the answer at step 305, the process ends. If the location is not yet determined, the process continues with step 307. If there are more questions to be asked from the series of questions at step 307, the process continues with step 301. If no more questions are to be asked at step 307, the process ends without a location being determined. The following example is a dialog that may take place between a location server 109 and a user of a communication unit 101.
LOCATION SERVER 109: "Good afternoon. Would you like information about restaurants, hotels, gas stations, florists, or do you require emergency service?"
USER: "I'd like the name of a nearby florist."
LOCATION SERVER 109: "Please tell me where you are now."
USER: "I'm at Fourth & Main."
LOCATION SERVER 109: "There are three florists nearby: Abie's, Baker's, and Charlie's. Charlie's is closest. Which one do you prefer?"
USER: "Charlie's."
LOCATION SERVER 109: "Go east down Fourth Street for five blocks. Charlie's Florist is at 132 Fourth Street. Do you need any additional help?"
USER: "No."
LOCATION SERVER 109: "Thank you and good day."
A flowchart showing a method for determining a street address is shown in the flowchart of FIG. 4. At step 401, a grid reference is determined for the location provided by the user at step 201. At step 403, a street address is determined from the grid reference determined at step 401. This process involves looking up the grid reference in the location database 115 and finding the corresponding street address from the location database 115. At step 405, the street address is converted into a voice transmission using the speech synthesis module 117. At step 407, the voice transmission is transmitted to the user, and the process ends.
A flowchart showing a method of determining directions from a starting location to a desired location is shown in the flowchart of FIG. 5. At step 501, a grid reference is determined for the starting location, which is the location described at step 201. At step 503, a grid reference is determined for the desired location, which is requested from the user. At step 505, using a stored map, directions are determined from the starting location to the desired location using the differences between the grid references. For example, the commercially available Tripmaker 1996 Edition CDROM from Rand McNally & Company provides a drive route given a source and destination address. At step 507, the directions are converted into a voice transmission using the speech synthesis module 117. At step 509, the voice transmission is transmitted to the user, and the process ends.
A flowchart describing a method of handling a request for emergency assistance is shown in the flowchart of FIG. 6. At step 601, the type of emergency assistance requested is determined, for example, by using the steps of the flowchart of FIG. 3, until the particular type of emergency assistance required is determined. At step 603, a provider of the type of emergency assistance is determined from a look-up table in the location database 115. The location database 115 has stored phone numbers, provider locations, and other relevant information necessary to assist the location server 109 in requesting emergency information. For example, if the user requests that an ambulance be sent, the location server will look under ambulance in the location database 115 and find a provider of an ambulance that is close in location to the present location of the user. At step 605, a message to the provider is transmitted, wherein the message requests the type of emergency assistance the user requested at the location of the user. At step 607, the location server 109 receives an estimated time of arrival of the emergency assistance from the provider. At step 609, the location server 109 transmits to the user the estimated time of arrival of the
emergency assistance, and the process ends. The following example is a dialog that may take place between a location server 109 and a user of a communication unit 101.
LOCATION SERVER 109: "Good afternoon. Would you like information about restaurants, hotels, gas stations, florists, or do you require emergency service?"
USER: "I need emergency service."
LOCATION SERVER 109: "Do you need the police, an ambulance, fire department, or roadside service?"
USER: "Police."
LOCATION SERVER 109: "Connecting; a police vehicle will be at your location within 60 seconds ... Thank you and good bye."
The present invention provides the following advantages.
There is no longer a need to have extra locating equipment in the master switches or base stations. If there is location equipment in base stations, the subscriber provides much higher accuracy. No route planning equipment is needed in the master switch. The present invention provides easy addition or modification of services supplied because the server is centralized in location. Wireless users are provided with location information and other services that were previously limited to automobiles and wireline users. The use of the RF location equipment helps narrow the scope of possible items for processing by the voice recognizer. Correlating subscriber- provided location information with the RF location information helps to better predict and analyze wireless communication system coverage, thereby providing a mechanism to learn RF coverage as the wireless communication system is used.