The present disclosure relates generally to audio processing, and more specifically to a system and method for level control at a receiver that accommodates changes in programming and time of day.
Level control for television programming typically requires processing at the head end, the affiliate and at the receiver or television set. The lack of consistent coordination between these three entities has resulted in a lack of effective volume control, which results in large swings between content that is too quiet and content that is too loud.
A system for controlling a volume level of television program audio data is provided that includes a first automatic gain control unit having a first threshold value, a first target value, a first smoothing time and a first recovery rate, configured to receive an audio input and to generate an audio output. A second automatic gain control unit having a second threshold value, a second target value, a second smoothing time and a second recovery rate is configured to receive the audio output of the first automatic gain control unit and to generate a second audio output, wherein the first threshold value is less than the second threshold value.
Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims.
Aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views, and in which:
In the description that follows, like parts are marked throughout the specification and drawings with the same reference numerals. The drawing figures might not be to scale and certain components can be shown in generalized or schematic form and identified by commercial designations in the interest of clarity and conciseness.
As used herein, “hardware” can include a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field programmable gate array, or other suitable hardware. As used herein, “software” can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code or other suitable software structures operating in two or more software applications, on one or more processors (where a processor includes a microcomputer or other suitable controller, memory devices, input-output devices, displays, data input devices such as a keyboard or a mouse, peripherals such as printers and speakers, associated drivers, control cards, power sources, network devices, docking station devices, or other suitable devices operating under control of software systems in conjunction with the processor or other devices), or other suitable software structures. In one exemplary embodiment, software can include one or more lines of code or other suitable software structures operating in a general purpose software application, such as an operating system, and one or more lines of code or other suitable software structures operating in a specific purpose software application. As used herein, the term “couple” and its cognate terms, such as “couples” and “coupled,” can include a physical connection (such as a copper conductor), a virtual connection (such as through randomly assigned memory locations of a data memory device), a logical connection (such as through logical gates of a semiconducting device), other suitable connections, or a suitable combination of such connections.
System 100 includes television 102, which includes television signal processor 104, dynamic volume control 106 and speaker 108. Television signal processor 104 receives an encoded television signal and processes the signal to extract audio and video signals. The video signals are provided to a video display, and the audio signals are generally provided to an amplifier or other audio systems. However, television audio signals have inconsistent volume settings because they originate from different sources, such as programming, national commercial content and local commercial content. As a result, the user experience is often unsatisfactory, because the sound can go from a user setting to an extreme loud setting or an extreme quiet setting without user action.
To address these problems, dynamic volume control 106 can detect a programming type and a time of day, and can apply dynamic volume processing to the television audio signal. In one exemplary embodiment, dynamic volume control 106 can use a series of automatic gain control (AGC) units that are dynamically increased or decreased as a function of the time of day and the type of programming, and can adjust the settings of each AGC accordingly. The use of a series of AGC units with the proper settings provides optimal volume control, which effectively increases or decreases sound to a preferred level without resulting in overshoots, undershoots or other undesired audio artifacts. The audio signals that have been processed by dynamic volume control 106 to provide volume control are then provided to speaker 108, which generates sound waves having the desired volume control qualities.
In this exemplary embodiment, the first AGC unit such as AGC unit 202A can have a target level setting in dB that is the lowest of the series of AGC units, such as −34 dB, and can have an associated activation threshold that is also the lowest of the series of AGC units, such as −40 dB. The first AG unit 202A can also have a longest smoothing time, such as 200 milliseconds. The last AGC unit 202N can have a target level setting that is the highest of the series of AGC units, such as −24 dB, and the associated activation threshold can also be the highest, such as −30 dB. In this exemplary embodiment, the difference between the activation threshold and the target level can be set to the same value, such as 6 dB, and the activation threshold and target values can be increased as a function of the number of AGC units. For example, for 6 AGC units, the activation levels can increase from −40 dB to −38 dB, −36 dB, −34 dB, −32 dB and −30 dB, and the target values can increase from −34 dB to −32 dB, −30 dB, −28 dB, −26 dB and −24 dB. Likewise, the smoothing time can decrease from 200 milliseconds (mS) to 100 mS, 50 mS, 25 mS, 10 mS and 1 mS. The recovery rate for all AGC units can be set to a low value, such as 1 dB/second.
The use of a series of AGC units with the disclosed settings helps to reduce rapid increases in volume that are of a short duration, while also decreasing longer-term increases in volume more slowly and over a longer period of time. In this manner, control of variations in volume caused by different programming sources can be controlled at the television set, regardless of whether any controls are implemented by the broadcaster or local affiliate.
Algorithm 300 begins at 302, where the time of day is detected. In one exemplary embodiment, the time of day can be obtained from a network signal, a local signal, a local timekeeping device or other suitable sources, such as by implementing one or more controls that cause a television control processor to query a data buffer, to transmit a data query to a predetermined address or in other suitable manners. The algorithm then proceeds to 304.
At 304, a content type is detected. In one exemplary embodiment, a content type indicator can be obtained from a network signal, a local signal, a local directory that lists programs on each channel or other suitable sources, such as by implementing one or more controls that cause a television control processor to query a data buffer, to transmit a data query to a predetermined address or in other suitable manners. The algorithm then proceeds to 306.
At 306, a number of AGC units is selected for a type of content, a time of day or for other suitable program parameters. In one exemplary embodiment, the number of AGC units can be determined from a look-up table, based on range values associated with a program, based on historical data stored at a television set, from a network signal, from a local signal or from other suitable sources, such as by implementing one or more controls that cause a television control processor to query a data buffer, to transmit a data query to a predetermined address or in other suitable manners. The algorithm then proceeds to 308.
At 308, the target values for the AGC units are set from low to high. In one exemplary embodiment, a television control processor can determine and store a target value for each AGC unit as a function of the number of AGC units, target values can be retrieved from memory or other suitable processes can also or alternatively be used. In this exemplary embodiment, beginning and ending target values for a time of day or type of program can be determined, such as from a data table, and steps between the beginning and ending target values can be generated as a function of the number of AGC units, such as by applying a linear transition scheme (e.g. −34 dB, −32 dB, −30 dB, −28 dB, −26 dB and −24 dB), a nonlinear transition scheme (e.g. −34 dB, −31 dB, −29 dB, −28 dB, −27 dB and −24 dB) or in other suitable manners. The algorithm then proceeds to 310.
At 310, the activation threshold levels for the AGC units are set from low to high. In one exemplary embodiment, a television control processor can determine and store an activation threshold value for each AGC unit as a function of the number of AGC units, activation threshold values can be retrieved from memory or other suitable processes can also or alternatively be used. In this exemplary embodiment, beginning and ending activation threshold values for a time of day or type of program can be determined, such as from a data table, and steps between the beginning and ending activation threshold values can be generated as a function of the number of AGC units, such as by applying a linear transition scheme (e.g. −40 dB, −38 dB, −36 dB, −32 dB, −30 dB and −28 dB), a nonlinear transition scheme (e.g. −40 dB, −37 dB, −35 dB, −34 dB, −33 dB and −28 dB) or in other suitable manners. The algorithm then proceeds to 312.
At 312, the smoothing or activation time values for the AGC units are set from slow to fast. In one exemplary embodiment, a television control processor can determine and store a smoothing time value for each AGC unit as a function of the number of AGC units, smoothing time values can be retrieved from memory or other suitable processes can also or alternatively be used. In this exemplary embodiment, beginning and ending smoothing time values for a time of day or type of program can be determined, such as from a data table, and steps between the beginning and ending smoothing time values can be generated as a function of the number of AGC units, such as by applying a linear transition scheme (e.g. 200 mS, 150 mS, 100 mS, 50 mS and 0 mS), a nonlinear transition scheme (e.g. 200 mS, 100 mS, 50 mS, 25 mS and 0 mS) or in other suitable manners. The algorithm then proceeds to 314.
At 314, the recovery rate values for the AGC units are set. In one exemplary embodiment, a television control processor can determine and store a recovery rate value for each AGC unit as a function of the number of AGC units, recovery rate values can be retrieved from memory or other suitable processes can also or alternatively be used. The recovery rate for each AGC unit can be set to the same value, such as 1 dB/sec., or other suitable settings can also or alternatively be used. The algorithm then proceeds to 316.
At 316, the audio data is processed. In one exemplary embodiment, the audio data can be extracted from encoded television programming signals and processed through the series of AGC units to control a volume of the audio data. The algorithm then proceeds to 318.
At 318, it is determined whether a content type has changed. If it is determined that a content type has changed, the algorithm returns to 304, otherwise the algorithm proceeds to 320.
At 320, it is determined whether a time of day has changed. If it is determined that a time of day has changed, the algorithm returns to 302, otherwise the algorithm returns to 316.
In operation, algorithm 300 allows volume settings of television programming audio data to be automatically adjusted based on the time of day, the type of program and other suitable factors, in order to automatically adjust the volume to compensate for sudden volume changes caused by programming at the national level, at the local level or in other suitable manners.
It should be emphasized that the above-described embodiments are merely examples of possible implementations. Many variations and modifications may be made to the above-described embodiments without departing from the principles of the present disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
The present application claims priority to and benefit of U.S. Provisional Patent Application No. 62/092,603, filed on Dec. 16, 2014, U.S. Provisional Patent Application No. 62/133,167, filed on Mar. 13, 2015, U.S. Provisional Patent Application No. 62/156,061, filed on May 1, 2015, and U.S. Provisional Patent Application No. 62/156,065, filed on May 1, 2015, each of which are hereby incorporated by reference for all purposes as if set forth herein in their entirety.
Number | Date | Country | |
---|---|---|---|
62092603 | Dec 2014 | US | |
62133167 | Mar 2015 | US | |
62156061 | May 2015 | US | |
62156065 | May 2015 | US |