This invention relates to systems and methods for controlling a group conversation, and more specifically to controlling the audio broadcast to users participating in the group conversation.
Communication systems, and especially wireless communication systems, are becoming more sophisticated, offering consumers improved functionality to communicate with one another. Such increased functionality has been particularly useful in the automotive arena, and vehicles are now being equipped with communication systems with improved audio (voice) wireless communication capabilities. For example, On Star™ is a well-known communication system currently employed in vehicles, and allows vehicle occupants to establish a telephone call with others (such as a service center) by activating a switch.
However, existing communications schemes lack flexibility to tailor group communications and other ad hoc communications. For instance, existing approaches depend heavily on establishing communication from one end of a communication (namely, a service center) and do not provide means for all parties to dynamically change the nature of the communications or the definition of the group. This lack of flexibility may prohibit group users from communicating as freely as they might wish.
There are issues, however, in establishing a more flexible communication scheme. For instance, many potential system users may be entitled to access a group conversation and to speak. As the number of participants in the group conversation grows, communications may become garbled as several speakers may all be trying to speak at once. This problem is illustrated in
In short, while a growing need exists to add group communications in a push-to-talk environment for vehicles, designs are needed to allow communications within the group to be organized to make the group conversation more manageable. This disclosure presents several different means for doing this.
It is, therefore, desirable to provide procedures for controlling a group conversation, and more specifically to controlling the audio broadcast to users participating in the group conversation.
a is a diagram that illustrates a control system for a vehicular wireless communications system employing arbitration logic to broadcast only a subset of user audio data streams to group conversation participants;
b is a diagram that illustrates displays at user interfaces informing the users whether they are currently enabled to speak, and providing options to modify their current speaking priority;
a illustrates a control system for a vehicular wireless communications system useable with the display of
b illustrates a control system for a vehicular wireless communications system useable with the display of
While the invention is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
What is described is a system and method for controlling the audio broadcast to users participating in a group conversation. In one embodiment, a communications server employs arbitration logic to decide which of the user has priority to speak, and accordingly mixes only the audio data steams for those users for broadcast to all users. The server can send notification to the user interfaces to inform the users of their current priority status and to allow the users to request that their priority be increased, decreased, eliminated, or passed on for the benefit of another user. A user may also attempt at his user interface to affect the priority of identified other users by informing the arbitration logic of a rating for that user. Additionally, a systems administrator may also arbitrate user priorities, either at his discretion or in conjunction with suggestions provided by the arbitration logic. Finally, and regardless of system-assessed priorities, a user may at his user interface tailor the group conversation broadcast to him by either blocking reception of audio from certain users or by reducing their volume, or may tailor his outgoing audio transmission so they are blocked from being received by selected group conversation participants.
Now, turning to the drawings, an example use of the present invention in an automotive setting will be explained.
Further details of a typical wireless communications device 22 as employed in a vehicle 26 are shown in
The head unit 50 also comprises a navigation unit 62, which typically includes a Global Positioning Satellite (GPS) system for allowing the vehicle's location to be pinpointed, which is useful, for example, in associating the vehicle's location with mapping information the system provides. As is known, such a navigation unit communicates with GPS satellites (such as satellites 32) via a receiver. Also present is a positioning unit 66, which determines the direction in which the vehicle is pointing (north, north-east, etc.), and which is also useful for mapping a vehicle's progress along a route.
Ultimately, user and system inputs are processed by a controller 56 which executes processes in the head unit 50 accordingly, and provides outputs 54 to the occupants in the vehicle, such as through a speaker 78 or a display 79 coupled to the head unit 50. The speakers 78 employed can be the audio (radio) speakers normally present in the vehicle, of which there are typically four or more, although only one is shown for convenience. Moreover, in an alternative embodiment, the output 54 may include a text to speech converter to provide the option to hear an audible output of any text that is contained in a group communication channel that the user may be monitoring. This audio feature may be particular advantageous in the mobile environment where the user is operating a vehicle. Additionally, a memory 64 is coupled to the controller 56 to assist it in performing regulation of the inputs and outputs to the system. The controller 56 also communicates via a vehicle bus interface 58 to a vehicle bus 60, which carries communication information and other vehicle operational data throughout the vehicle.
The Telematics control unit 40 is similarly coupled to the vehicle bus 60, via a vehicle bus interface 48, and hence the head unit 50. The Telematics control unit 40 is essentially responsible for sending and receiving voice or data communications to and from the vehicle, i.e., wirelessly to and from the rest of the communications system 10. As such, it comprises a Telematics controller 46 to organize such communications, and a network access device (NAD) 42 which include a wireless transceiver. Although shown as separate components, one skilled in the art will recognize that aspects of the head unit 50 and the Telematics control unit 40, and components thereof, can be combined or swapped.
The wireless communications device 22 can provide a great deal of communicative flexibility within vehicle 26. For example, an occupant in a first vehicle 26a can call a second vehicle 26b to speak to its occupants either by pressing a switch on the keypad 72 of the head unit 50 or by simply speaking if the head unit is equipped with a voice recognition module 70. In one embodiment, the pressing of a switch or speaking into a voice recognition module initiates a cellular telephone call with a second vehicle 26b. In this case, users in either the first vehicle 26a or the second vehicle 26b can speak with each other without pressing any further switches. Moreover, the system may be configured to include a voice activated circuit such as a voice activated switch (VAS) or voice operated transmit (VOX). This would also provide for hands-free operation of the system by a user when communicating with other users.
In an alternative embodiment, the switch may be configured to establish a push-to-talk communication channel over a cellular network. Here, the controller 56 is configured to only allow audio by occupants in the first vehicle 26a through microphone 68 to be transmitted through the Telematics control unit 40 when a user in the first vehicle 26a is pressing down on the push-to-talk switch. The controller 56 is further configured to only allow audio received from the second vehicle 26b (or server 24) to be heard over speakers 78 when the operator of the first vehicle 26a is not pressing down on the switch. Alternatively, to avoid the need of holding down a switch to speak, the system may be configured to allow a user to push a button a first time to transmit audio and push the button a second time to receive audio.
In any event, the second vehicle 26b can, in like fashion, communicate back to the first vehicle 26a, with the speaker's voice being heard on speaker(s) 78 in the first vehicle. Or, an occupant in the first vehicle 26a can call the server 24 to receive services. Additionally, such a system 10 can have utility outside of the context of vehicle-based applications, and specifically can have utility with respect to other portable devices (cell phones, personal data assistants (PDAs), etc.). The use of the system in the context of vehicular communications is therefore merely exemplary.
In a preferred embodiment for the system 10, incoming audio data streams are accompanied by the use of user IDs. In this regard, as audio data streams are broadcast from the Telematics control units 40 of the various users, their head units 50 automatically include with the data stream an ID code to the server 24 so that the server 24 and/or the arbitration logic 210 can appropriately manage the group call. Many different styles of user ID codes can be used by the system, such as a phone number, a “handle,” a Vehicle Identification number (VIN), an Electronic Serial Number (ESN), an International Mobile Subscriber Number (IMSI), or a Mobile Subscriber International ISDN Number (MSISDN), all of which are referred to herein as “user IDs” for convenience. As one skilled in the art understands, a user's user ID may be included in a data header which accompanies the transfer of data from the user, which may be predictably formatted so that it is understandable by the server 24.
In one embodiment, the arbitration logic 210 keeps track of how long it has been since particular users have spoken in the group conversation, and preferentially affords speaking priority only to those users who spoke the longest time ago. For example, suppose the arbitration logic 210 will only permit two users' audio data to be mixed and broadcast along a group channel at one time in an effort to keep the group conversation broadcast manageable. The arbitration logic 210 is fed the audio data streams for each of the users. From these streams, the arbitration logic can determine and store, based on an assessment of the user IDs in the streams and their time of arrival, how long it has been since a particular user last spoke on the system. Thus, suppose it has been 30 seconds since user 1 last spoke; 5 second since user 2 has spoken; 20 seconds since user 3 has spoken; and 10 second since user 4 has spoken. Pursuant to the algorithm in the arbitration logic 210, that logic will determine that user 1 and 3 spoke longest ago on the system and therefore that they have priority and will be enabled to speak and have their voices be broadcast. Accordingly, the arbitration logic 210 sends a control signal to the mixer 200 to gate the audio streams for user 1 and 3 into the mixer, and to gate streams for user 2 and 4 off so that they are not mixed. Alternatively, the arbitration logic 210 may send a control signal to the mixer 200 to adjust the volumes of the audio streams for particular users based on speaking priorities.
Feedback concerning the arbitration process can also be provided back to the users' interfaces 51. As illustrated in
The system users can also provide input to the arbitration unit 210 to assist it in arbitrating and to otherwise help it to make logical arbitrations decisions based on particular user's preferences. Thus, and regardless of their current status as enabled or non-enabled speakers, the users' displays 79 can include a touch screen with buttons to send to the server 24 and arbitration logic 210 their desire to speak on the group call (buttons 115a, b) or not to speak in the near future (buttons 116a, b). This aspect recognizes certain users granted priority may merely want to listen for substantial periods of time, while other speakers who have not granted priority may need to speak. Recognizing this, users can toggle buttons 115a, b on their user interfaces 51 to send a request to the arbitrator logic 210 to request priority or consideration in the arbitration process, or can toggle buttons 116a, 6 to inform the arbitrator logic to not consider them at present and to disable their priority.
For example, suppose users 1 and 3 have been afforded priority as shown, but that user 1 does not anticipate speaking in the near future. Suppose further that user 2 wishes to speak despite that fact that he is currently not enabled by the arbitration logic, and that users 3 and 4 are unconcerned about their priority. User 1 could press his button 116a, and user 2 can press his button 115b. When these instructions are received by the arbitration unit, the arbitration unit can disable user 1's priority, and essentially ignore user 1 in its arbitration process for so long as user 1's button 116a is toggled. Accordingly, the arbitration logic 210 reconsider priority, which would otherwise result in users 3 (20 seconds) and 4 (10 seconds) having priority over user 2 (5 seconds), again assuming that the arbitration logic only permits a maximum of two audio data streams to be mixed in this simple example. However, the arbitration logic 210 recognizes user 2's request to speak (button 115b), and accordingly could grant priority to that user, perhaps by first verifying that no other user has earlier requested priority ion this manner and has been waiting longer for such priority. Thus, in the end, and based on the previously granted priority and the status of the buttons 115, 116 pressed by the users, the arbitration logic could enable user 2 (the priority requester) and user 3 (the otherwise longest-waiting user in accordance with the default priority rules).
To further assist users in understanding the status that has been accorded to them by the arbitration logic 210, the arbitration logic can compute a user's current priority rank (117) and estimated time to become an enabled speaker (118). Although such information is potentially useful to all users, it is particularly useful to currently non-enabled users, and thus is so illustrated in
In a preferred embodiment, buttons 115, 116 are different from the push-to-talk buttons that the user actually uses when speaking (not shown for convenience). Thus, the user could press one of the buttons 115, 116, then wait to be notified that he is enabled (114a), and then can press his push-to-talk button to speak. However, this need not be the case. For example, request button 115a, b can also simultaneously function as the push-to-talk button in some embodiments, in a sense guaranteeing priority to a particular user so long as the arbitration logic will allow it.
Of course, the foregoing example provides only a simple illustration of how the arbitration logic 210 can function, and how the user can attempt to modify the operation of that logic. Many other arbitration and priorities schemes are possible. For example, priority can also be adjusted on the extent to which a given user has spoken during a conversation, with higher-frequency participants being granted higher priorities than lower-frequency participants, on the theory that such frequently speaking participants probably require such priority. On the contrary, lower-frequency participants could be accorded higher priority on the theory that it is fair to let them have their turn should they so desire. In short, the actual arbitration scheme employed by logic 210 can be adjusted to suit user preferences.
In an alternative embodiment, a given user, instead of merely requesting or defeating his own priority, can pass priority on to other users. Such an embodiment can be effectuated by the use of an electronic token, as is illustrated in
In another embodiment, instead of passing priority through the use of electronic tokens, the users can attempt to affect the priority to be granted to other users through a rating system, as illustrated in the user interface display 79 of
Regardless, once the ratings are received by the arbitration logic 210, the arbitration logic can use such ratings to assist it in its arbitration decisions and in the adjustment of system priority. For example, ratings received for each of the user could be averaged and used as a weighting factor to adjust system priority; in a simple example, should one user have a rating 3 times that of another user, the arbitration logic could strive to grant priority three times more frequently to that higher-rated user. Or ratings could be used as cut-off values; if a certain user's average rating falls below some threshold (e.g., 2), that user may be forever barred from receiving priority and being enabled to speak, whereas highly rated users (e.g., 8 or above) may preferentially always receive priority whenever possible in accordance with the default priority algorithm. Alternatively, low rating, or a prolonged history of low rating, may be used by the server 24 to simply disconnect the low-rated user from the group conversation altogether, such that that user will not even be permitted to listen to the conversation let alone speak. Again, processing and priority adjustment using user ratings could be affected in several different ways.
Although
Alternatively, a user's ranking can be used to block or reduce the volume at which the low-ranked user's voice data is heard by other group conversation participants. Further details concerning affecting such blocking and/or volume reduction are discussed further below in conjunction with a description of alternative embodiments.
In another embodiment shown in
In the foregoing embodiments, communications in a group conversation on a wireless network are organized by either the system (i.e., arbitration logic 210 or administrator 220) or the user (through the use of electronic token, ratings, etc.). However, in these embodiments, the server 24 ultimately broadcast the same mixed audio signals to the various users participating in the group conversation. While these schemes certainly provide some degree of control and organization to the group conversation, certain users may be interested to individually tailor the broadcast that they hear.
Affecting such user preferences with respect to the broadcast that user hears can be effected either at the server 24 or at the user's head unit 50, as illustrated in
b illustrates an embodiment in which user preferences may be handled at the various head units 50 for the various users. In this embodiment, audio mixing is performed at an audio mixer 252 within the head unit coupled to each user's user interface 51. Therefore, the audio mixer 200 in the server 24 is replaced with a gate 250, which allows certain unmixed audio data streams, i.e., those chosen by arbitration logic 210 as discussed earlier, to be broadcast to all users along the group wireless channel. Although sent along a single channel, the multiple audio data streams can be interleaved and individually reconfigured at the head units 50 in accordance with user ID header information, as one skilled in the art understands; however each data stream is shown individually in
In response to blocking or volume reduction commands 252, a mixer controller 260 identifies each stream and processes it accordingly. The mixer controller 260 may comprise or be coupled to the controller 56 already resident in the head unit 50. For example, suppose the audio streams for user 2 and 3 have been chosen for broadcast by the arbitration logic 210, but that user 1 wants user 2's stream to be blocked. User 1 selects the appropriate button 130 (
In another embodiment, a particular user, instead of wishing to block an audio data stream from a particular user, may wish to block his own audio data stream so that it cannot be heard by a particular other user but can be heard by all other group conversation participants. Such a feature can be useful, for example, if a given user wishes to comment (perhaps negatively) on a particular group conversation participant, but does not want that participant to hear the comment. In this regard, the system disclosed in
Thereafter, while user 3 is blocked, the arbitration logic 210 is informed by wirelessly transmitting this fact via wireless link 235 (
While preferable, it should be noted that the user-tailoring schemes of
While largely described with respect to improving communications within vehicles, one skilled in the art will understand that many of the concepts disclosed herein could have applicability to other portable communicative user interfaces not contained within vehicles, such as cell phones, personal data assistants (PDAs), portable computers, etc., what can be referred to collectively as portable communication devices.
Although many examples of displays 79 in user interfaces 51 and their respective content and options have been separately illustrated, one skilled in the art with the benefit of this disclosure will understand that in an actual commercial embodiment of a display for a user interface, the content of these various displays may be consolidated into a single display, or each display made accessible through a menu structure or like organizational means.
Although several discrete embodiments are disclosed, one skilled in the art will appreciate that the embodiments can be combined with one another, and that the use of one is not necessarily exclusive of the use of other embodiments. Moreover, the above description of the present invention is intended to be exemplary only and is not intended to limit the scope of any patent issuing from this application. The present invention is intended to be limited only by the scope and spirit of the following claims.
The present application is related to the following co-pending, commonly assigned patent applications, which were filed concurrently herewith and incorporated by reference in their entirety: Ser. No. ______, entitled “Selectively Enabling Communications at a User Interface Using a Profile,” attorney docket TC00167, filed concurrently herewith. Ser. No. ______, entitled “Method for Enabling Communications Dependent on User Location, User-Specified Location, or Orientation,” attorney docket TC00168, filed concurrently herewith. Ser. No. ______, entitled “Methods for Sending Messages Based on the Location of Mobile Users in a Communication Network,” attorney docket TC00169, filed concurrently herewith. Ser. No. ______, entitled “Methods for Displaying a Route Traveled by Mobile Users in a Communication Network,” attorney docket TC00170, filed concurrently herewith. Ser. No. ______, entitled “Conversion of Calls from an Ad Hoc Communication Network,” attorney docket TC00172, filed concurrently herewith. Ser. No. ______, entitled “Method for Entering a Personalized Communication Profile Into a Communication User Interface,” attorney docket TC00173, filed concurrently herewith. Ser. No. ______, entitled “Methods for Controlling Processing of Inputs to a Vehicle Wireless Communication Interface,” attorney docket TC00175, filed concurrently herewith. Ser. No. ______, entitled “Methods for Controlling Processing of Outputs to a Vehicle Wireless Communication Interface,” attorney docket TC00176, filed concurrently herewith. Ser. No. ______, entitled “Programmable Foot Switch Useable in a Communications User Interface in a Vehicle,” attorney docket TC00177, filed concurrently herewith.