IP Library Granted Patent US 7,142,678
Granted Patent B2
US 7,142,678 · App. 10/304,152 · Granted Nov 28, 2006

Dynamic volume control

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,142,678
App. No.
10/304,152
Granted
Nov 28, 2006
Kind
B2
Abstract

In accordance with one aspect of the dynamic volume control, an indication that a user desires to input oral data to a system through one or more microphones of the system is received. In response to receipt of the indication, a volume level for audible signals output by one or more speakers of the system is automatically adjusted. In accordance with another aspect of the dynamic volume control, an indication that a communications source is about to output data through one or more speakers of a system is received. In response to receipt of the indication, a volume level for audible signals output by the one or more speakers is automatically adjusted based at least in part on a current volume setting. The volume level for the audible signals can be determined based on one or more of a variety of different parameters.

Claims (49)

1. A method comprising:

receiving an indication to automatically adjust a volume level for sound output by one or more speakers in a system;

generating a first attenuation value based on whether a user of the system is expected to speak, wherein generating the first affenuation value comprises:

determining whether a first flag value is set indicating that the user of the system is expected to speak;

if the first flag value is not set then setting a ProgAtten value equal to zero, wherein the first attenuation value comprises the ProgAtten value; and

if the first flag value is set, then setting the ProgAtten value as follows, where Volume Control Setting represents a volume level that is manually set by the user, Volume control range represents a range of volume settings that are manually set by the user, Voice level-forced represents a maximum voice level for a user when the user is trying to overcome the ambient noise and program sound, Voice level-relaxed represents a voice level for a user when the user is not trying to overcome ambient noise and program sound, Maximum amplifier SPL represents how loud an unattenuated signal in the system will be based at least in part on a power amplifier in the system and the one or more speakers, Voice isolation attenuation of noise and program sound represents how well the voice of the user is isolated, acoustic echo cancellation attenuation represents how well sound being output by the one or more speakers is removed from data picked up by a microphone in the system, and minimum user voice over program sound represents a difference threshold that is enforced between a user voice level and a program sound level for audio data from an entertainment source that is output by the one or more speakers:

ProgAtten = MIN(0, (Volume Control Setting/Volume control range

*(Voice level-forced − Voice level-relaxed) + Voice level-relaxed) −

((Maximum amplifier SPL + (-(Volume control range − Volume

Control Setting)*2)) + Voice isolation attenuation of noise and

program sound + acoustic echo cancellation attenuation) −

minimum user voice over program sound);

generating a second attenuation value based on whether a communications source is ready to output a UI sound;

summing the first attenuation value and the second attenuation value; and

using the sum of the first attenuation value and the second attenuation value as an amount by which a volume level for program sound output by the one or more speakers in the system is further attenuated beyond attenuation already existing due to a manual volume level setting by the user.

2. A method as recited in claim 1 , wherein generating the second attenuation value comprises:

determining whether a second flag value is set indicating that the communications source is ready to output the UI sound;

if the second flag value is not set then setting a ProgAtten 2 value equal to zero, wherein the second attenuation value comprises the ProgAtten 2 value; and

if the second flag value is set, then setting the ProgAtten 2 value as follows, where Minimum UI sound over program sound represents a minimum level above that of entertainment audio that audio data from a communications source is allowed to play, Minimum UI sound level represents a minimum sound level for audio data from a communications source, and Maximum UI sound level represents a maximum sound level that audio data from a communications source will be allowed to play in accordance with a maximum user tolerance:

ProgAtten2 = MIN((MIN(MAX(MIN((((Maximum amplifier SPL +

(-(Volume control range − Volume Control Setting)*2)) +

ProgAtten) + Minimum UI sound over program sound), (Maximum

amplifier SPL + (-(Volume control range − Volume Control

Setting)*2))), Minimum UI sound level), Maximum UI sound level)) −

(((Maximum amplifier SPL + (-(Volume control range − Volume

Control Setting)*2)) + ProgAtten) + Minimum UI sound over

program sound),0).

3. A method as recited in claim 1 , further comprising:

generating a third attenuation value based on whether a communications source is ready to output a UI sound; and

using the third attenuation value as an amount by which a volume level for UI sound output by the one or more speakers in the system is attenuated.

4. A method as recited in claim 1 , further comprising:

generating a third attenuation value based on whether a communications source is ready to output a UI sound;

using the third attenuation value as an amount by which a volume level for UI sound output by the one or more speakers in the system is attenuated; and

wherein generating the third attenuation value comprises setting a value UISndAtten value equal as follows, wherein the third attenuation value comprises the UISndAtten value, and where Minimum UI sound over program sound represents a minimum level above that of entertainment audio that audio data from a communications source is allowed to play, Minimum UI sound level represents a minimum sound level for audio data from a communications source, and Maximum UI sound level represents a maximum sound level that audio data from a communications source will be allowed to play in accordance with a maximum user tolerance:

UISndAtten = MIN(MAX(MIN((Maximum amplifier SPL + -

(Volume control range − Volume Control Setting)*2 + ProgAtten +

Minimum UI sound over program sound), Maximum amplifier SPL + -

(Volume control range − Volume Control Setting)*2), Minimum UI

sound level), Maximum UI sound level) − Maximum amplifier SPL.

5. A method as recited in claim 1 , wherein the indication comprises an indication that a user desires to input oral data to the system through one or more microphones.

6. A method as recited in claim 1 , wherein the indication comprises an indication that a communications source is about to output data through the one or more speakers.

7. A method as recited in claim 1 , wherein the indication comprises a trigger event.

8. A method as recited in claim 7 , wherein the trigger event comprises a speech recognizer in the system being activated.

9. A method as recited in claim 7 , wherein the trigger event comprises a speech recognizer in the system being deactivated.

10. A method as recited in claim 7 , wherein the trigger event comprises a communications source in the system being activated.

11. A method as recited in claim 7 , wherein the trigger event comprises a communications source in the system being deactivated.

12. A method as recited in claim 7 , wherein the trigger event comprises a communications system in the system being activated.

13. A method as recited in claim 7 , wherein the trigger event comprises a communications system in the system being deactivated.

14. A method as recited in claim 7 , wherein the trigger event comprises a user volume control change.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →