The present invention relates generally to digital audio broadcasting (DAB) and other types of digital communication systems, and more particularly, to buffer control techniques for such digital communication systems.
Proposed systems for providing digital audio broadcasting are expected to provide near compact disk (CD)-quality audio, data services and more robust coverage than existing analog FM transmissions. Digital audio broadcasting systems compress an audio signal using a digital audio encoder, such as a perceptual audio coder (PAC). Perceptual audio coders reduce the amount of information needed to represent an audio signal by exploiting human perception and minimizing the perceived distortion for a given bit rate. Perceptual audio coders are described, for example, in D. Sinha et al., “The Perceptual Audio Coder,” Digital Audio, Section 42, 42-1 to 42-18, (CRC Press, 1998), incorporated by reference herein. Generally, the amount of information needed to represent an audio signal is reduced using two well-known techniques, namely, irrelevancy reduction and redundancy removal. Irrelevancy reduction techniques attempt to remove those portions of the audio signal that would be, when decoded, perceptually irrelevant to a listener. This general concept is described, for example, in U.S. Pat. No. 5,341,457, entitled “Perceptual Coding of Audio Signals,” by J. L. Hall and J. D. Johnston, issued on Aug. 23, 1994, incorporated by reference herein.
As shown in
As a result of this scheme, the transmission delay is also variable. The delay between the time when an audio packet is first written into the FIFO buffer 120 and the time when the packet is actually received by the receiver 150 depends, among other factors, on the amount of data that is currently stored in the FIFO buffer 120. However, the audio decoder 170 at the receiver 150 needs to get audio packets at a fixed rate (of packets per second) in order to play continuously. Therefore, it is necessary to buffer the audio data at the decoder 170 by using a buffer 160. The decoder input-buffer 160 has to have enough capacity so that even in the worst case of minimal delay and largest packet size, the buffer 160 will not overflow. In addition, the initialization period has to be sufficiently long to accumulate enough packets in the buffer 160 so that the buffer does not become empty due to transmission delays.
Due to the nature of audio signals and the effects of the psychoacoustic model employed by the perceptual audio coder 110, the bit rate (i.e., the number of bits requested by the quantizer to code the given frame) typically varies with a large range from frame to frame. Thus, the encoder 110 employs a bit allocation scheme that ensures that the average bit rate remains relatively close to the desired bit rate and that the buffer 120 does not overflow (when the buffer is full) or underflow (when the buffer runs empty). Given the bit demand of the initially encoded frame and the state of the buffer 120, the bit allocation scheme decides how many bits are actually given to the quantizer (not shown) to code the frame. Specifically, the quantizer step sizes are then modified in an attempt to match the allowed number of bits, Md[k], and the frame is then re-coded with the modified step sizes, after which the bit allocator again makes a determination of the number of bits to actually be given to the quantizer. This process iterates until the frame is quantized and coded with a number of bits sufficiently close to the number actually granted by the buffer control logic element 115.
Perceptual audio coders quantize the spectral components of an audio signal such that the quantization noise follows a noise threshold determined by the perceptual model. With this approach, the bit demand which results in an appropriate range of average bit demand can be well below the bit rate that would be necessary to achieve transparency. Therefore, one disadvantage of having to use different noise thresholds for different target bit rates is the necessity of manually tuning the psychoacoustic model of the perceptual audio coder 110 for each specific target bit rate, in order to achieve a reasonable level of efficiency and performance. However, since different types of audio signals result in significantly different bit demands, even providing for such a manual tuning process may not result in a perceptual audio coder 110 that works well for all types of audio signals, or even one that works well for a single audio signal having characteristics that vary over time. The typical result is that the perceptual audio coder 110 provides a quality level which varies significantly over time, due to a failure of the buffer control logic element 115 to allocate bits to consecutive frames in such a manner so as to ensure that they are coded with a relatively consistent quality level.
U.S. patent application Ser. No. 09/477,314, filed Jan. 4, 2000, entitled “Perceptual Audio Coder Bit Allocation Scheme Providing Improved Perceptual Quality Consistency,” discloses a bit rate control technique that partitions an audio signal into successive frames, and estimates a bit rate for each of a plurality of preselected distortion levels. Generally, the estimated bit rate that is closest to the desired bit rate, Md[k], and provides an acceptable level of distortion is selected. Thus, the disclosed buffer control technique employs a bit allocation scheme that considers the characteristics of a plurality of frames and analyzes the bit requirements of coding each of these frames at various levels of perceptual quality. The disclosed buffer control technique provides a relatively consistent perceptual quality from one frame to the next, with an acceptable bit rate for the communication system.
For broadcasting applications, the desired end-to-end delay is limited by the cost of the decoder and the tune-in time, i.e., the time it takes between a request for playback and the time when the audio actually plays back. Therefore, a need exists for an improved buffer control technique that minimizes the variation in the distortion for a given limited buffer size.
Generally, a method and apparatus are disclosed for controlling a buffer in a communication system, such as a digital audio broadcasting (DAB) communication system. The present invention recognizes that a more consistent perceptual quality over time provides for a more pleasing auditory experience to a listener. The present invention further recognizes that a more consistent perceptual quality is achieved over time using a relatively constant distortion level. Thus, according to one aspect of the invention, the bit allocation process determines, for each frame, a distortion d[k] at which the frame is to be encoded. Generally, the distortion d[k] is determined to minimize (i) the probability for a buffer overflow, and (ii) the variation of perceived distortion over time. In particular, the present invention reduces the local variation in the distortion by encoding each frame with a distortion based on statistical bit rate estimations.
The present invention controls a buffer level in a communication system by partitioning a signal into a sequence of successive frames; estimating a distortion rate for a number of frames; and a buffer control element selects a distortion such that the variance of the buffer level is bounded by a specified value. In one particular implementation, a signal is coded by partitioning the signal into a sequence of successive frames; encoding each frame k for each of a plurality of distortions Di to compute a frame bitrate; estimating an average bitrate Ri[k] for each of said plurality of distortions Di given current and past frame bitrates; interpolating between each of said pair of values for said average bitrate Ri[k] and said plurality of distortions Di to obtain an approximation of a function that maps a distortion to an estimated average bitrate; and encoding each frame with a distortion level determined from said function.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.
l[k]=l[k−1]+M[k]−Rd, (1)
with an initial buffer level of l[0] equal to ld bits. A buffer control element 230 monitors the buffer level l[k] and influences the encoding process to ensure that the buffer 220 does not overflow. Buffer underflow can be easily prevented by padding additional (non-used) bits to the frame when underflow would occur.
According to one aspect of the present invention, the buffer control element 230 determines, for each frame, the distortion d[k] at which the frame is to be encoded. Generally, the buffer control element 230 determines the distortion d[k] such that the probability for buffer overflow is virtually zero and such that the variation of perceived distortion over time is minimized. Thus, the present invention strives to provide constant distortion over time.
In the optimal case of encoding an audio signal with a constant distortion D[k] equal to DR, the average bitrate R is unknown prior to encoding the whole audio signal, where R is expressed as follows:
For an average bitrate equal to a desired bitrate of Rd, one can encode the audio signal iteratively for different distortions until the average rate R is equal to the desired bitrate Rd.
The method described for the optimal case of constant distortion is suitable for encoding audio signals in cases when the whole signal is given at once and if there is no buffer constraint. While this method is not particularly suitable for applications where the entire signal is not available before encoding (e.g., in real-time applications or applications with limited signal buffers), the method may be applied where the entire signal is available, such as for the storage of audio signals.
The goal is to approximate the ideal case of encoding the audio signal with a constant distortion DR
where w[i] is the estimation window having a time span of W frames.
Each frame k of the audio signal is encoded with a distortion DR
The described method is suitable for real-time applications since it does not require any lookahead.
If for each frame, the distortion is chosen to be DR
eM[k]=M[k]|D
is an independent and identically distributed (i.i.d.) random variable with a variance of σ2, then the buffer level l[k] is the sum of k i.i.d. random variables with a total variance of k σ2.
To encode the audio signal such that the variance of the buffer level has an upper bound, the distortion for each frame DBC[k] is chosen such that the estimated average bitrate R[k] is equal to
RBC[k]=Rd−C(l[k−1]) (5)
where C(l) is a correction term that corrects for the bit rate. Each frame has an expected bitrate of RBC[k] instead of the desired bitrate Rd. Thus, the buffer-level is statistically driven to the desired buffer-level ld. In one implementation, the correction factor is chosen as follows:
where L determines the weighting of the buffer level deviation on the chosen average bitrate in equation (3). If the correction factor, C, is chosen in accordance with equation 5A, then the buffer-level is statistically driven to the desired buffer-level ld with a time constant of LT seconds. T is the duration of one frame in seconds. In an exemplary implementation, L was set to 50.
When the audio signal is encoded with distortions DBC[k], the mean of the buffer-level E{l[k]} is ld and the variance σ2l[k] is upper bounded by
where σ2e is E{e2[k]} with
The variable e[k] is assumed to be i.i.d. with zero mean. For the derivation of the mean E{l[k]} and the bound for the variance in equation (6), the buffer-level from equation (1) can be rewritten with equation (7) as:
With an initial buffer-level of l[0] equal to ld and the first frame to be encoded k equal to 1, equation (8) is written non-iteratively as
Using equation (9), and considering that e[k] has zero mean, yields
E{l|[k]}=ld (10)
and the variance σ2l[k] as a function of k is
Given equation (11) one can easily show that the variance of the buffer-level converges to the value given in equation (6).
In this section, a scheme is described for efficient implementation of the buffer control and rate control schemes described above.
The buffer control scheme needs to find for each frame, k, the solution of equation (1) for R[k] equal to RBC[k]. For each frame k, the function ƒk is approximated which maps the distortion DR[k] to the estimated average bitrate R[k] (
R[k]=ƒk(DR[k]) (12)
by linearly interpolating between a set of computed discrete points. The discrete points are obtained by computing the estimated bitrates {Ri[k]} given a set of predefined distortions {Di},
With iε{1, 2, . . . , I}.
Each frame k of the audio signal is encoded with the following algorithm:
The number of coding iterations for each frame is thus I+1.
The estimated average bitrate R[k] is accurately computed as a function of the distortion DR[k] for PAC for a wide variety of audio signals. It can be shown that ƒk can be approximated by just computing one point (D1, R1[k]),
R[k]=ƒk(DR[k]≈qDR[k]−D1)+R1[k] (15)
The number of coding iterations for encoding each frame of PAC is only 2 (I=1). Therefore, the new scheme is significantly less complex than PAC's previous iterative scheme. PAC's previous iterative scheme requires significantly more coding iterations for each frame to be encoded.
The buffer control techniques of the present invention can also be applied to joint encoders, such as the joint encoder 600 shown in
It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.
This application is a continuation of U.S. patent application Ser. No. 09/948,431, filed Sep. 7, 2001 now U.S. Pat. No. 7,062,429.
Number | Name | Date | Kind |
---|---|---|---|
5623577 | Fielder | Apr 1997 | A |
5650825 | Naimpally et al. | Jul 1997 | A |
5675701 | Kleijn et al. | Oct 1997 | A |
5687282 | Van De Kerkhof | Nov 1997 | A |
5778335 | Ubale et al. | Jul 1998 | A |
5787390 | Quinquis et al. | Jul 1998 | A |
5844607 | Gebler et al. | Dec 1998 | A |
5956674 | Smyth et al. | Sep 1999 | A |
5956686 | Takashima et al. | Sep 1999 | A |
6094636 | Kim | Jul 2000 | A |
6260010 | Gao et al. | Jul 2001 | B1 |
6320825 | Bruekers et al. | Nov 2001 | B1 |
6330533 | Su et al. | Dec 2001 | B2 |
6434196 | Sethuraman et al. | Aug 2002 | B1 |
6542545 | Vetro et al. | Apr 2003 | B1 |
7062429 | Faller | Jun 2006 | B2 |
Entry |
---|
U.S. Appl. No. 09/477,314, filed Jan. 4, 2000, entitled “Perceptual Audio Coder Bit Allocation Scheme Providing Improved Perceptual Quality Consistency”. |
Number | Date | Country | |
---|---|---|---|
20060184358 A1 | Aug 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09948431 | Sep 2001 | US |
Child | 11403530 | US |