TECHNIQUES FOR IMPROVING AUDIO CLARITY AND INTELLIGIBILITY AT REDUCED BIT RATES OVER A DIGITAL NETWORK
Abstract of the Disclosure In accordance with an embodiment of the present invention, a dynamics processor includes a non-linear automatic gain control (AGC) responsive to an input audio signal comprised of a plurality of frequency components, each frequency component having associated therewith an amplitude, said non-linear AGC adaptive to develop a modified gain audio signal. A multiband cross-over device is responsive to the modified gain audio signal and is adaptive to generate `n` number of signals, each of said `n` signals having an amplitude and further having a unique frequency band associated therewith. The dynamics processor further includes `n` number of processing blocks, each of which is responsive to a respective one of said `n` signals for modifying the amplitude of the `n` signals to develop modified `n` signals; and a mixer device is responsive to said modified `n` signals and adaptive to combine the same, wherein the amplitude of the plurality of frequencies associated with the audio signal is modified in real-time thereby enhancing the audibility of the audio signal.
Latest OCTIV, INC. Patents:
This application claims the benefit of U.S. Provisional Application 60/174,118, filed on Dec. 31, 1999, and entitled "Techniques For Improving Audio Clarity and Intelligibility at Reduced Bit Rates Over a Digital Network".
Background of Invention1. Field of the Invention - The present invention relates to techniques for improving transmission of audio signals over a digital network and particularly to improving audio clarity and intelligibility at reduced bit rates over a digital network.
2. Description of the Prior Art - The growth of the Internet is doubling every 18 months, with over 57 million Domain hosts as of July 1999. In the United States, 42% of the population has Internet access. The use of audio transmitted over the Internet is growing even faster. According to iRadio (February 1999), 13% of all Americans have listened to radio on the world wide web, which is up from 6% only half a year before. However, the delivery of audio over the Internet is limited by low bit rate connections. The present invention enhances the quality of audio (Music or Voice) for transmission over a digital network, such as the Internet, before it is transmitted over the network. This invention enhances audio delivered separately or as part of a video download or video stream.
Audio that is broadcast over the Internet in real-time is called streaming audio. Radio stations, concerts, speeches and lectures are all delivered over the web in streaming form. Encoders such as those offered by Microsoft and Real Audio reside on servers that deliver the audio stream at multiple bit rates over various connections (modem, T1, DSL, ISDN etc.) to the listener's computer. Upon receipt, the streamed data is decoded by a "player" that understands the particular encoding format.
To improve audio clarity and intelligibility it is desirable to equalize the amplitude of sound and music over time intervals as well as across the entire frequency spectrum. In particular, when music or voice becomes louder and softer and most of the high volume sound is concentrated in a narrow frequency band the need to equalize the sound amplitude over different frequencies becomes greater.
At present, there are radio broadcasting systems such as Orban and other music production systems capable of equalizing voice and music in real-time and over a range of frequencies. However, such systems generally require a sophisticated operator and powerful hardware for implementation, which makes them both labor-intensive and expensive. Due to its enhanced quality, transmission of processed audio at lower bit rates can have more clarity and presence than transmission of non-processed audio at higher bit rates. The result is an increase in bandwidth availability in a given network.
Therefore, the need arises for a method and apparatus for improving audio transmission across any digital network, such as the Internet, in real-time and by enhancing audio quality and intelligibility at reduced bit rates.
Summary of InventionBriefly, a dynamics processor, in a accordance with an embodiment of the present invention, includes a non-linear automatic gain control (AGC) responsive to an input audio signal comprised of a plurality of frequency components, each frequency component having associated therewith an amplitude, said non-linear AGC adaptive to develop a gain-modified audio signal. A multiband cross-over device is responsive to the gain-modified audio signal and is adaptive to generate `n` number of signals, each of said `n` signals having an amplitude and further having a unique frequency band associated therewith. The dynamics processor further includes `n` number of processing blocks, each of which is responsive to a respective one of said `n` signals for modifying the amplitude of the `n` signals to develop modified `n` signals; and a mixer device is responsive to said modified `n` signals and adaptive to combine the same, wherein the amplitude of the plurality of frequencies associated with the audio signal is modified in real-time thereby enhancing the audibility of the audio signal.
The foregoing and other objects, features and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments which make reference to several figures of the drawing.
Brief Description of Drawings
FIG. 3(a) shows various stages in the multi-band cross over, according to an implementation of the present invention.
FIG. 3(b) shows a flowchart outlining the computations required to obtain the low pass and high pass outputs.
Referring now to
The input block 32 in
At the 2-band crossover block 36 the audio samples are separated into two partially overlapping frequency bands. Each frequency band is subsequently processed at non-linear automatic gain control (AGC) loop blocks 38 and 40. In the non-linear AGC loops 38 and 40 each of the input samples is multiplied by a number known as the gain factor. Depending on whether the gain factor is greater or lower than 1.0, the volume of the input sample is either increased or decreased for the purpose of equalizing the amplitude of the input samples in each of the frequency bands. The gain factor is variable for different input samples as described in more detail hereinbelow. The distinguishing factor between a non-linear AGC and an AGC is that the gain factor varies according to a nonlinear mathematical function in the non-lineaer AGC. Thus, the output of each of the non-linear AGCs 38 and 40 is the product of the input sample and the gain factor. The output of the two non-linear AGCs is mixed at the mixer block 42 so that in the resulting output all the frequencies are represented.
At the next block, multi-band crossover 44, the PCM samples are broken down into various overlapping frequency bands, which may number 3, 4, 5, 6, 7 or more. In this way, the multi-band crossover 44 behaves very similar to the 2-band crossover 36 except that the former has more frequency bands. The main reason for breaking down the samples into various frequencies is that the volume in each frequency band may be equalized separately and independently from the other frequency bands. Independent processing of each frequency band is necessary in most cases such as in music broadcasting where there is a combination of high-pitch, low-pitch and medium-pitch instruments playing simultaneously. In the presence of a high-pitch sound, such as crash of a symbol that is louder than any other instrument for a fraction of a second, a single band AGC would reduce the amplitude of the entire sample including the low and medium frequency components present in the sample that may have originated from a vocalist or a bass. The result is a degradation of audio quality and introduction of undesirable artifacts into the music. A one band AGC would allow the component of frequency with the highest volume to control the entire sample, a phenomenon referred to as spectral gain intermodulation.
According to one implementation of the present invention as shown in
As shown in
The next step in dynamics processing is the processing block AGC 48 wherein the lowest frequency components of the sample are multiplied by a gain factor in order to either increase or decrease the volume accordingly as explained in more detail hereinbelow. The drive 2 block 50 acts in exactly the same manner as drive 1 block 46 except with a different gain factor that is preset by the user. The gain factor set by the user in the drive 2 blocks in all the frequency bands may be different in order to effect a particular outcome.
The next step is the negative attack time limiter 52. In step 52 volume of the frequency band is adjusted based on signals in the future. To elaborate, samples are stored in a delay buffer so that the future samples may be used in equalizing the volume. When the buffer is full, a small block of earlier samples is appended to the beginning of the buffer and a block of samples is saved from the end of the buffer. The future sample is multiplied by the gain factor. If the resulting data has an amplitude greater than a threshold value (a user-fixed parameter) the gain factor is reduced to a value equal to the threshold value divided by the amplitude of the future sample. A counter referred to as the release counter is subsequently set equal to the length of the delay buffer. The resulting data is then passed through a low-pass filter so as to smooth out any abrupt changes in the gain that will have resulted from multiplication by the future sample.
Finally, the sample in the buffer which has been delayed is multiplied by the gain factor computed above in order to produce the output. Subsequently, the release counter is decremented. If the release counter is less than zero, the gain factor is multiplied by a number slightly greater than 1.0. Finally, the next sample is read and the above process is repeated. Accordingly, calculation of the gain factor in the negative attack time limiter 52 is based on the future sample. The main function of the negative attack time limiter 52 is to ensure that the transition from the present sample to the future sample is achieved in a smooth and inaudible fashion, and to remove peaks on the audio signal that waste bandwith.
At the next step 54, the inverse drive 2, the sample is multiplied by a gain factor, which is the reciprocal of the gain factor used in the drive 2 block 50. At the soft clip block 56 the amplitude of the sample is truncated at a certain level of amplitude. However, a smooth signal that is truncated at a certain level of amplitude develops sharp edges. Sharp edges when passed through subsequent stages of processing can result in overshoots that are narrow regions of large amplitude at the two edges of the truncated sample resulting in audio distortion. Soft clipping alleviates the consequences of audible distortion by reducing the amplitude by which the sample overshoots at the edges. However, the overshoots at the edges are not completely eliminated. The soft clip step 56 is peculiar to the lowest frequency band which helps to create a "punchy" bass sound. The remaining n-1 bands lack such a step. The remaining blocks in all the frequency bands are identical.
The level mixer block 58 acts as another gain control wherein the sample is multiplied by a gain factor that is a user-programmable feature of this invention and is preset by the user. The level mixer 58 represents the last stage before outputs of different frequency bands are mixed. Mixing of the outputs of the different frequency bands is performed at the mix block 66. Step 68, the drive, is a gain control that is preset by the user. The drive control at step 68 is applied to the entire sample composed of all the frequencies. Similarly, the negative attack time limiter 70 acts exactly in the same manner as block 52 except that at step 70 the sample with all the frequencies is being processed. Finally, at step 72, the output of the generalized dynamics processor in the form of PCM samples is transmitted to a destination point not shown in FIG. 2.
FIGS. 3(a) and 3(b) show various stages 80 of processing in the multi-band crossover 44 of
In one implementation of the present invention, the new gain factor is obtained by dividing the old gain factor by two and adding a fixed value to the outcome, thereby obtaining a nonlinear variation in the gain factor. The final output of the non-linear AGC loop 100 is obtained by multiplying each input sample by the modified gain factor. Thereafter, the process is repeated for the incoming new input samples. [0037] The present invention is implemented entirely in software. In one implementation of the present invention a pentium processor within a standard PC is programmed in assembly language to perform the generalized dynamics processing depicted in
Within the audio server 106, which may be a PC or several connected PC's, are shown several subunits, that are dedicated to the processing of audio signals. The audio files 122 stored on a disk may be encoded in some type of encoding algorithm such as MP3 within the audio server 106. The audio files are played at step 124 using a decoding SW such as Winamp and are subsequently converted to PCM samples. The PCM samples are then processed by the generalized dynamics processing SW 126, an embodiment thereof is shown in
The audio files 136 are encoded using some encoding algorithm such as MP3 inside the PC. The audio files are decoded at step 138 by a decoding SW and are converted to PCM samples. The PCM samples are processed by the dynamics processing SW 140. The dynamics processing SW 140 employed in the PC 130 or in a phone or in a PAD may employ fewer frequency bands and as a result would be less powerful than that described in
The audio server 150 in this case does not include dynamics processing SW. The encoded PCM samples are transmitted from the audio server 150 through the transmission line 152, across the digital network 154 and through the transmission line 156 to the PC 158. Inside the PC 158, the PCM samples are decoded at step 164 using an appropriate decoding SW. At step 166 the PCM samples are processed by the dynamic processing SW. The output of the dynamics processing SW is converted into audio signals by the sound card driver at step 168 and is subsequently fed to the speakers 162 through the line 160 to be played.
As discussed hereinabove, the present invention improves audio transmission across any digital network such as the Internet by enhancing audio quality and intelligibility at reduced bit rates. One of the main advantages of the present invention, as discussed in full detail hereinbelow, is that the processing of the audio signals is performed in real-time without the need for an operator. In addition, the present invention is implemented entirely in software (SW), such as on a standard personal computer (PC), resulting in a system much less expensive and less complex than the sound processing systems presently available.
Although the present invention has been described in terms of specific embodiments it is anticipated that alterations and modifications thereof will no doubt become apparent to those skilled in the art. It is therefore intended that the following claims be interpreted as covering all such alterations and modification as fall within the true spirit and scope of the invention.
Claims
1. A dynamics processor comprising: a non-linear automatic gain control (AGC) responsive to an input audio signal comprised of a plurality of frequency components, each frequency component having associated therewith an amplitude, said non-linear AGC adaptive to develop a modified gain audio signal; a multiband cross-over device responsive to the modified gain audio signal and adaptive to generate `n` number of signals, each of said `n` signals having an amplitude and further having a unique frequency band associated therewith; `n` number of processing blocks, each of which responsive to a respective one of said `n` signals for modifying the amplitude of the `n` signals to develop modified `n` signals, each of said "n" number of processing blocks including a processing block AGC, a negative attack time limiter, and a level mixer, the processing block AGC responsive to said respective one of said "n" signals; and a mixer device responsive to said modified `n` signals and adaptive to combine the same, wherein the amplitude of the plurality of frequencies associated with the audio signal is modified in real-time thereby enhancing the audibility of the audio signal.
2. A dynamics processor as recited in claim 1 wherein said mixer device is adaptive to provide an output for transmission thereof over the Internet.
3. A dynamics processor as recited in claim 1 wherein said non-linear AGC for multiplying said input audio signal by gain factors varying in a non-linear manner.
4. A dynamics processor as recited in claim 1 comprising a cross-over block responsive to said input audio signal and adaptive to divide the input audio signal into cross-over signals having two or more frequency bands, said dynamics processor including additional non-linear AGCs, each of which responsive to a respective cross-over signal, said non-linear AGCs and non-linear AGC developing at least two pre-input mixer signals.
5. A dynamics processor as recited in claim 4 comprising an input mixer device responsive to said at least two pre-input mixer signals for combining the same to develop said modified gain audio signal.
6. (Cancelled).
7. A dynamics processor as recited in claim 1 wherein each of said `n` number of processing blocks further includes a first drive circuit responsive to said respective one of said `n` signals and coupled to said processing block AGC, a second drive circuit coupled between said processing block AGC and said negative attack time limiter and an inverse drive circuit coupled between said negative attack time limiter and said level mixer, said first and second drive circuit for adjusting the amplitude of said respective one of said `n` signals by a gain factor determined by a user.
8. A dynamics processor as recited in claim 7 wherein said level mixer for programmably adjusting the amplitude of said respective one of said `n` signals by a gain factor.
9. A dynamics processor as recited in claim 7 wherein said inverse drive circuit for adjusting said respective one of said `n` signals by one divided by the gain factor.
10. A dynamics processor as recited in claim 1 wherein one of said `n` number of processing blocks includes a soft clip device coupled between said negative attack time limiter and said level mixer and responsive to said respective one of said `n` signals, said soft clip device for truncating the amplitude of said respective one of said `n` signals when the amplitude is above a predetermined level thereby developing a signal having overshoots, said overshoots having amplitudes, the soft clip device further for decreasing the amplitude of the overshoots thereby enhancing the audibility of the signal.
11. A method of dynamically processing an audio signal comprising: receiving an input audio signal comprised of a plurality of frequency components, each frequency component having associated therewith an amplitude; modifying the input audio signal; generating `n` number of signals from said modified input audio signal, each of said `n` signals having an amplitude and further having a unique frequency band associated therewith; modifying the amplitude of the `n` signals; and combining said modified `n` signals, wherein the amplitude of the plurality of frequencies associated with the audio signal is modified in real-time thereby enhancing the audibility of the audio signal; wherein each of the foregoing steps are performed in assembly code thereby improving the efficiency of said processing.
12. (Cancelled).
13. A computer readable medium having stored therein computer readable program code comprising instructions for performing the following steps: receiving an input audio signal comprised of a plurality of frequency components, each frequency component having associated therewith an amplitude; modifying the input audio signal; generating `n` number of signals from said modified input audio signal, each of said `n` signals having an amplitude and further having a unique frequency band associated therewith; modifying the amplitude of each of the `n` signals using a processing block AGC, a negative attack time limiter, and a level mixer; and combining said modified `n` signals, wherein the amplitude of the plurality of frequencies associated with the audio signal is modified in real-time thereby enhancing the audibility of the audio signal.
14. A dynamics processor comprising: non-linear automatic gain control (AGC) means responsive to an input audio signal comprised of a plurality of frequency components, each frequency component having associated therewith an amplitude, said non-linear AGC adaptive to develop a modified gain audio signal; multiband cross-over means responsive to the modified gain audio signal and adaptive to generate `n` number of signals, each of said `n` signals having an amplitude and further having a unique frequency band associated therewith; `n` number of processing blocks, each of which responsive to a respective one of said `n` signals for modifying the amplitude of the `n` signals, each of said "n" number of processing blocks including a processing block AGC, a negative attack time limiter, and a level mixer, the processing block AGC responsive to said respective one of said "n" signals; and mixer means responsive to said modified `n` signals and adaptive to combine the same, wherein the amplitude of the plurality of frequencies associated with the audio signal is modified in real-time thereby enhancing the audibility of the audio signal.
15. A dynamics processor as recited in claim 14 wherein said non-linear AGC means for multiplying said input audio signal by gain factors varying in a non-linear manner.
16. A dynamics processor as recited in claim 14 comprising a cross-over block responsive to said input audio signal and adaptive to divide the input audio signal into cross-over signals having two or more frequency bands, said dynamics processor including additional non-linear AGC means, each of which responsive to a respective cross-over signal, said non-linear AGC means and non-linear AGC means for developing at least two pre-input mixer signals.
17. A dynamics processor as recited in claim 16 comprising an input mixer means responsive to said at least two pre-input mixer signals for combining the same to develop said modified gain audio signal.
18. (Cancelled).
19. A dynamics processor as recited in claim 18 wherein each of said `n` number of processing blocks further includes a first driver responsive to said respective one of said `n` signals and coupled to said processing block AGC, a second driver coupled between said processing AGC and said negative attack time limiter and an inverse driver coupled between said negative attack time limiter and said level mixer.
Type: Application
Filed: Dec 20, 2000
Publication Date: May 5, 2005
Applicant: OCTIV, INC. (BERKELEY, CA)
Inventor: LEIF CLAESSON (OAKLAND, CA)
Application Number: 09/669,069