The technology described in this patent document relates generally to audio systems and more particularly to noise reduction in audio systems.
In audio systems, the output of an audio device is often provided to a speaker or an earphone. Volume control in the audio device is usually achieved using an audio gain control circuit. When a sudden gain change is applied by the gain control circuit in the audio device, undesirable artifacts may be produced at the output of the speaker or the earphone. At audio frequencies, such artifacts are often clearly audible, resulting in a pop noise or a soft click.
In accordance with the teachings described herein, systems and methods are provided for noise reduction. An input audio signal is received. A target gain corresponding to a target volume level is determined. One or more increments of gain change are determined to reach the target gain. A first non-zero amplitude in the input audio signal is detected. The first non-zero amplitude is not within a predetermined range of zero amplitude. Upon the detection of the first non-zero amplitude in the input audio signal, the one or more increments of gain change are applied at one or more zero-crossing points of the input audio signal. The input audio signal is within the predetermined range of zero amplitude at the one or more zero-crossing points. An output audio signal is generated.
In one embodiment, a device for noise reduction includes: a volume control component configured to determine a target gain corresponding to a target volume level and determine one or more increments of gain change to reach the target gain; a detection component configured to detect a first non-zero amplitude in the input audio signal, the first non-zero amplitude being not within a predetermined range of zero amplitude; and a gain circuit configured to, upon the detection of the first non-zero amplitude in the input audio signal, apply the one or more increments of gain change at one or more zero-crossing points and generate an output audio signal, the input audio signal being within a predetermined range of zero amplitude at the one or more zero-crossing points.
In another embodiment, a system for noise reduction includes: one or more data processors configured to: determine a target gain corresponding to a target volume level for an input audio signal, determine one or more increments of gain change to reach the target gain, detect a first non-zero amplitude in the input audio signal, the first non-zero amplitude being not within a predetermined range of zero amplitude, and upon the detection of the first non-zero amplitude in the input audio signal, apply the one or more increments of gain change at one or more zero-crossing points to generate an output audio signal. The input audio signal is within the predetermined range of zero amplitude at the one or more zero-crossing points. The system further includes one or more computer-readable storage media configured to store the target gain and the one or more increments of gain change.
Audio artifacts caused by sudden gain change for volume control may be reduced by volume ramping in combination with zero crossing detection. Volume ramping creates small steps (e.g., increments) of gain change to avoid any sudden (e.g., a large step) gain change. In addition, the small steps (e.g., increments) of gain change are synchronized with zero-crossing points of an input audio signal. As the input audio signal has approximately zero amplitude (e.g., within a predetermined range of zero amplitude) at the zero-crossing points, ideally the audio artifacts caused by a small step of gain change should be negligible.
However, for certain input audio signals, volume ramping in combination with zero crossing detection may not effectively reduce audio artifacts. As shown in FIG. 2., before real audio data in an input audio signal 202 arrives, the input audio signal 202 remains at approximately zero amplitude (e.g., full zero data) during a time period Tb. If increments of gain change are applied during the time period Tb, e.g., at the zero-crossing points zc1, zc2, zc3, and zc4, the accumulated gain change is negligible. Then, when the real data in the input audio signal 202 arrives, the gain change applied at the zero-crossing points zc5 corresponds in effect to a large step in order to reach the target gain, which may cause undesirable noise.
Specifically, before real audio data in the input audio signal 304 arrives, the input audio signal 304 remains at approximately zero amplitude (e.g., within a predetermined range of zero amplitude) during a time period T. No gain change is applied during the time period T. Amplitude detection is performed to detect the first non-zero amplitude 302 (e.g., not within the predetermined range of zero amplitude). For example, the input audio signal 304 is sampled at a particular frequency for non-zero amplitude detection.
Once the first non-zero amplitude 302 is detected, increments of gain change are applied at various zero-crossing points (e.g., zc1, zc2, zc3, zc4, and zc5) of the input audio signal 304. The zero-crossing points zc1, zc2, zc3, zc4, and zc5 of the input audio signal 304 are detected one by one, and an increment of gain change is applied upon the detection of each zero-crossing point until a target gain 306 is reached. For example, the zero-crossing points are detected by sampling the input audio signal 304 at a predetermined frequency which may be different from the frequency for detecting the first non-zero amplitude 302.
Specifically, a volume control component 404 determines a target gain corresponding to a target volume level (e.g., determined by user input) and determines one or more increments of gain change to reach the target gain. A detection component 406 detects the first non-zero amplitude (e.g., not within a predetermined range of zero amplitude) in the input audio signal 402. A zero-crossing detector 414 detects, upon the detection of the first non-zero amplitude, one or more zero-crossing points at which the input audio signal 402 is within the predetermined range of zero amplitude. A gain circuit 408 applies the one or more increments of gain change at the detected zero-crossing points and generates an output audio signal 410. For example, a ratio related to the output audio signal 410 and the input audio signal 402 is approximately equal to the target gain.
In some embodiments, the first non-zero amplitude is preceded by a time period during which the input audio signal 402 remains within the predetermined range of zero amplitude. The gain circuit 408 applies no gain change during the time period.
Specifically, the gain controller 502 controls the digital gain component 504 so that the digital gain component 504 does not apply any gain change until the first non-zero amplitude in the input audio signal 402 is detected by the detection component 406. In addition, after the first non-zero amplitude in the input audio signal 402 is detected, the gain controller 502 controls the digital gain component 504 to apply the increments of gain change determined by the volume control component 404 at the detected zero-crossing points detected by the zero-crossing detector 414.
This written description uses examples to disclose the invention, include the best mode, and also to enable a person skilled in the art to make and use the invention. The patentable scope of the invention may include other examples that occur to those skilled in the art. Other implementations may also be used, however, such as firmware or appropriately designed hardware configured to carry out the methods and systems described herein. For example, the systems and methods described herein may be implemented in an independent processing engine, as a co-processor, or as a hardware accelerator. In yet another example, the systems and methods described herein may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions (e.g., software) fir use in execution by one or more processors to perform the methods' operations and implement the systems described herein.
This disclosure claims priority to and benefit from U.S. Provisional Patent Application No. 61/862,620, filed on Aug. 6, 2013, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61862620 | Aug 2013 | US |