1. Field of the Invention
The present invention relates in general to the field of information processing, and more specifically to a system and method for biasing output candidate vectors used to generate an output signal.
2. Description of the Related Art
A few signal processing systems implement look-ahead delta-sigma modulators in an attempt to obtain superior input/output signal fidelity by minimizing long term error. “Delta-sigma modulators” are also commonly referred to using other interchangeable terms such as “sigma-delta modulators”, “delta-sigma converters”, “sigma delta converters”, and “noise shapers”.
The signal source 102 provides an input signal to pre-processing components 104. Preprocessing components include an analog-to-digital converter (“ADC”) and oversampling components to generate a k-bit, digital input signal x(n). For audio applications, x(n) generally represents a signal sampled at 44.1 kHz times an oversampling ratio, such as 64:1. Look-ahead modulator 106 quantizes input signal x(n) and shapes the quantization noise so that most of the quantization noise is moved out of the signal band of interest, e.g. approximately 0–20 kHz for audio applications. Each output signal y(n) (also referred to herein as an “output value”) generally has one of two values selected from the set {+Δ/2, −Δ/2} with “Δ” representing the full swing of y(n). (For convenience, Δ/2 will be represented as +1, and −Δ/2 will be represented as −1.). The output signal y(n) can be further processed and, for example, used to drive an audio sound system or can be recorded directly onto a storage medium.
The look-ahead depth M refers to the dimension of each delayed output candidate vector YDi used to determine output signal y(n). For time t, a negative delayed output candidate vector −YDi, i□{0,1,2, . . . , N−1} and the input vector Xt are inputs to noise shaping filter 202(i). For a look-ahead depth of M and y(n)={−1, +1}, and without pruning output candidates, each of the N delayed output candidate vectors contains a unique set of elements. Each noise-shaping filter 202(i) of look-ahead delta-sigma modulator 106 uses a common set of filter state variables for time t during the calculations of respective cost value vectors Ci. Filter 202 maintains the actual filter state variables used during the calculation of each y(n). The state variables are updated with the selected y(n) output value. Loop filter 202 processes Xi and −Yi to produce an error value, which in this embodiment is referred to as cost value vector Ci. Cost value vector Ci, and, thus, each element of cost value vector Ci is a frequency weighted error value. In some embodiments of look-ahead delta-sigma modulator 106, input signal vector Xt and delayed output candidate vectors YDi are also used as direct inputs to filter 202(i).
Quantizer error and output generator 203 includes two modules to determine y(n). The cost function minimum search module 204 computes the cost value power, Ci(2), of each cost value vector Ci in accordance with Equation 1, and determines the minimum cost value power at time t.
“ct” represents a cost value for time t, t=1 through M, in the cost vector Ci. Thus, the cost function minimum search module 204 of quantizer 203 attempts to minimize the energy out of loop filter 202. Minimizing the energy out of loop filter 202 effectively drives the input Ci to a small value, which effectively results in a relatively high loop gain for look-ahead delta-sigma modulator 106 and, thus, modifies the noise shaping transfer function in an undesirable way.
The y(n) selector module 206 selects y(n) as the leading bit of Yi where Ci(2) min represents the minimum cost value power.
For example, if M=2 and yε{−1,+1}, then N=4, i□{0,1,2,3}, and Table 2 represents each of the Y output candidate vectors and Xt.
If C3(2) represents the minimum cost value power, then selector module 206 selects y(n)=1 because the first bit in output candidate vector Y3 (the output candidate vector associated with C3(2)), equals 1. If C1(2) represents the minimum cost value power, then selector module 206 selects y(n)=0 because the first bit in output candidate vector Y1 (the output candidate vector associated with C1(2)), equals 0.
Conventional research in look-ahead modulators primarily involves two threads. The first are the works of Hiroshi Kato, “Trellis Noise-Shaping Converters and 1-bit Digital Audio,” AES 112th Convention, May 10–13, 2002 Munich, and Hiroshi Kato, Japanese Patent JP, 2003-124812 A, and further refinements described in Harpe, P., Reefman D., Janssen E., “Efficient Trellis-type Sigma Delta Modulator,” AES 114th Convention, 2003 Mar. 22–25, Amsterdam (referred to herein as “Harpe”); James A. S. Angus, “Tree Based Look-ahead Sigma Delta Modulators,” AES 114th Convention, 2003 Mar. 22–25, Amsterdam; James A. S. Angus, “Efficient Algorithms for Look-Ahead Sigma-Delta Modulators,” AES 155th Convention, 2003 Oct. 10–13, New York; Janssen E., Reefman D., “Advances in Trellis based SDM structures,” AES 115th Convention, 2003 Oct. 10–13, New York. This research targets solving the problems of 1-bit encoding of audio data for storage without using the steep anti-alias filters associated with pulse code modulation “PCM.” The advent of super audio compact disc “SACD” audio storage, with its moderate oversampling ratios (32 or 64), motivated this work.
The second primary thread of look-ahead modulator research involves pulse width modulation (“PWM”) amplifiers based on delta-sigma modulators combined with digital PWM modulation stages. The principal researchers have been Peter Craven and John L. Melanson. In U.S. Pat. No. 5,784,017 entitled “Analogue and Digital Converters Using Pulse Edge Modulations with Non-Linear Correction,” inventor Peter Craven (“Craven”), which is incorporated herein by reference in its entirety, Craven described the use of look-ahead delta-sigma modulators. The purpose of Craven was to ensure stability in alternating edge modulation, an inherently difficult modulation mode to stabilize. In the PWM case, the delta-sigma modulator is operating at a low oversampling ratio (typically 4–16), and quantization noise is a special problem.
Conventional technology has not proposed a reasonable way to find the closest matching output signal sets for each time t directly given that, without pruning, there are 2M possible reasonable combinations to search and the length of output signals Y[n] for a 1 minute signal is 60*44100*64 (i.e., 60 seconds, 44.1 kHz sampling frequency, and 64:1 oversampling ratio). Trellis searches, tree searches, and pruning have all been proposed as solutions to reducing the computation.
In one embodiment of the present invention, a signal processing system includes a pattern biasing look-ahead delta sigma modulator. The pattern biasing look-ahead delta sigma modulator includes a best match generator to determine a best match between an input signal vector and a set of output candidate vectors, wherein at least one of the output candidate vectors is biased to alter a probability of the biased output candidate vector(s) being selected as the best match to the input signal vector.
In another embodiment of the present invention, a method of processing an input signal with a look-ahead delta sigma modulator using at least one biased output candidate vector, wherein the look-ahead delta sigma modulator has a look-ahead depth greater than or equal to 2, includes biasing at least one output candidate vector with a bias factor that alters a probability of each biased output candidate vector being selected by a quantizer to generate quantization output data.
In another embodiment of the present invention, a signal processing system includes a detector to receive a first signal and to detect an outcome probability of prescribed bit patterns, wherein the outcome probability of the prescribed bit patterns is determined by biasing prescribed output candidate patterns used by a look-ahead delta sigma modulator to generate a second signal from which the first signal is derived.
In another embodiment of the present invention, an apparatus to process an input signal includes means for biasing at least one output candidate vector with a bias factor that alters a probability of each biased output candidate vector being selected by a quantizer to generate quantization output data, wherein each output candidate vector includes a potential current output value and at least one future quantization output value. The apparatus also includes means for quantizing the input signal using a set of output candidate vectors that includes the biased output candidate vector.
The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference number throughout the several figures designates a like or similar element.
The nomenclature used in the below description is the same as used in the Background section above unless indicated otherwise.
Look-ahead delta sigma modulators of a signal processing system can selectively bias one or more output candidate vectors to alter the probability of selecting a biased output candidate vector(s) for determination of a quantization output value. The probability, within a range of error, of certain output candidate vectors being selected by a quantizer of the look-ahead delta sigma modulator can be determined. The output candidate vectors determine the quantization output values. Thus, altering the probability of selecting a certain output candidate(s) alters the probability of occurrence of a certain quantization output value(s). Detection of the altered probability allows an output signal to be identified. Identifying an output signal allows for many interesting operations including identifying a specific signal processing system source of the output signal and modifying processing of the output signal. Additionally, some quantization output values can be compressed more densely than others. By altering the probability of occurrence of quantization output values with a bias to achieve higher compression density output values, the collection of quantization output values forming an output signal stream can be compressed more densely. A more densely compressed signal has many advantages including faster transmission and storage with less memory. Thus, biasing an output signal can be used for many interesting purposes including generating more efficiently coded quantization output signals, causing modified processing to occur upon detection of a biased quantization output signal, and identifying data content ownership for intellectual property protection.
The output candidate vectors represent a collection of patterns. Some patterns are substantially similar to other patterns. Accordingly, an output candidate vector(s) that is substantially similar to other output candidate vectors can be biased with a bias value that is sufficient to allow detection of the biased signal and small enough to decrease signal-to-noise ratio by an insignificant amount.
Referring to
Look-ahead delta-sigma modulator 400 performs noise shaping on the input signal vector Xt and each negative, delayed output candidate vector −YDi, in accordance with respective loop filter 402 transfer function. In one embodiment, the state variables 401 are updated by loop filter 402 and provided for use by loop filter 404 during determination of each cost vector Ci. Loop filter 404 possesses the same topology as loop filter 402. In one embodiment, as described in the Melanson II Patent, loop filter 404 is copied N times to determine each cost vector Ci. In one embodiment, loop filters 402 and 404 are identical to loop filter 202(i). In another embodiment, the loop filters 402 and 404 are infinite impulse response filters with multiple look-ahead outputs as described in commonly assigned U.S. patent application Ser No. 11/037,311 entitled “Look-Ahead Delta Sigma Modulator Having an Infinite Impulse Response Filter with Multiple Look-Ahead Outputs”, filing date Jan. 18, 2005, inventor John L. Melanson (referred to herein the “Melanson IV Patent”). The Melanson IV Patent is hereby incorporated by reference in its entirety.
Pattern biasing quantizer 406 includes best match generator 408 to process each cost vector Ci to determine the best match between the input signal vector Xt and an output candidate vector Yi. As described above, the output candidate vector Yi represents the ith pattern of potential current and future quantization output values. Quantizer 406 also includes an output data selection module 508 to select the quantization output value y(n) from the output candidate vector Yi used to determine the best match. The best match generator 408 minimizes the quantity of bi times f(A)i. The term “bi” represents the ith bias factor, and the term f(A)i represents the ith function of A. “f(A)” represents any function used to determine the best match between the input signal vector Xt and the ith output candidate vector Yi for all i. Exemplary systems and methods can determine the “best matching” output candidate using a variety of techniques. For example, the function f(A)i can be a conventional function of cost vector Ci for all i as described in the Background section, as described in U.S. patent application Ser. No. 10/875,920, entitled “Signal Processing with a Look-Ahead Modulator Having Time Weighted Error Values”, inventor John L. Melanson (referred to herein as the “Melanson V Patent”) (e.g. a weighted function of cost vector Ci), or as described in the Melanson I Patent (e.g. a function using quantization error). The Melanson I Patent and Melanson IV Patent are hereby incorporated by reference in their entireties. Table 3 summarizes examples of f(A).
The bias factor “bi” is a factor that biases certain individual quantization output values by biasing the function f(A)i and, thus, biases output signal Y[n]. The parameters used to determine the value of each bias factor bi are a matter of design choice. In general, only a limited number of output candidate vectors are actually biased. Output candidate vectors chosen for biasing can be chosen based upon the objective to be obtained by biasing. Output candidate vectors chosen for biasing are generally biased with a biasing factor b that insignificantly affects the signal-to-noise ratio of output signal Y[n]. Generally, applying more biasing to an output candidate vector lowers the signal-to-noise ratio of the output signal Y[n].
Various criteria can be used to determine which output candidate vectors to bias. For example, if detection of a biased output signal for intellectual property purposes, signal encoding source identification purposes, or for other purposes, one criterion for determining which output candidate vector or vectors to bias is identifying an output candidate vector that is substantially similar to other output candidate vectors. The identified output candidate vector can be biased with a bias value that is sufficient to allow detection of the biased signal and small enough to decrease signal-to-noise ratio by an insignificant amount. Larger look-ahead depths provide an increased number of substantially similar output candidate vectors.
Another criterion used to identify an output candidate vector for biasing is identifying an output candidate vector that represents a pattern of quantization output values having a probability of occurrence that is known within a small error range. For example, in an audio or multi-media context, the probability of one pattern of quantization output values occurring relative to another pattern can be known with a high degree of accuracy. For example, 0 level (silence) audio is generally present in statistically significant quantities in almost every audio data stream. 0 level signal is often represented by Pattern A: 110011001100 or Pattern B: 101010101010. The probability of the occurrence of Pattern A has a known probability of occurrence with respect to Pattern B. Thus, a bias bi can be applied to f(A)i every time f(A)i operates on Pattern A or visa versa on Pattern B. The bias factor bi can be multiplied times f(A)i, added to f(A)i, or applied in any other way to affect the outcome probability of a best match between a selected output candidate vector Yi and the cost vector Ci.
The parameters for choosing a value of each particular bias factor are also a matter of design choice. In general, the value of each bias factor that biases an output candidate vector relative to other output candidate vectors alters the probability of the biased output candidate vector being selected by the best match generator 408 by a sufficient amount to be chosen more or less frequently by the best match generator 408 than would have occurred without biasing. When maintaining an existing signal-to-noise ratio is desirable, the bias factor bi for the selected output candidate vector Yi should also be small enough to cause only an insignificant, if any, decrease in the signal-to-noise ratio of the output signal Y[n]. In one embodiment, for unbiased output candidate vectors, the associated bias factor is chosen so as to not alter the probability of selection of the unbiased output candidate vectors. For example, if Pattern A equals Y512 and the pattern biasing minimum search function equals [b times f(A)i)], then bias factor b512 is set to a non-unity value (either greater than one to increase the probability of occurrence or less than one to decrease the probability of occurrence) and all other bias factors are set to unity, i.e. one (1). In another embodiment, bias factors are simply omitted for non-biased output candidate vectors. The bias can change dynamically during the course of a data stream (e.g. an audio data stream), and the bias can, for example, encode a bit stream that is used to determine ownership.
In another embodiment, particular biased output candidate vectors are chosen as output candidate vectors that have a higher density of compression. For example, at a certain time, a Pattern C may require fewer output bits to encode than a Pattern D. Thus, the Pattern C vector is biased to be selected by the best match generator 408 more frequently than the Pattern D vector. Biasing of one or more particular vectors for compression purposes can also change dynamically with the coefficients of the prediction in the lossless compression algorithm. Exemplary coding techniques for lossless compression of 1-bit audio is described in “Lossless Compression of 1-Bit Audio” by Knapen, Reefam, Janssen, and Bruekers, Journal of Audio Engineering Society, Vol. 52, No. 4, March 2004, pp. 190–199.
The quantization output value y(n) selector module 410 selects the output candidate value y(n) as the leading bit of Yi from [b*f(A)i]min.
The cost vector Ci can be generated in any number of ways. For example,
Referring to
The input signal 704 may be an audio signal, a video signal, an audio plus video signal, and/or other signal type. Generally, input signal 704 undergoes some preprocessing 706 prior to being modulated by look-ahead modulator 702. For example, pre-processing 706 can involve an interpolation filter to oversample a digital input signal 704 in a well-known manner. Pre-processing 706 can include an analog-to-digital converter to convert an analog input signal 704 into a digital signal. Pre-processing 706 can also include mixing, reverberation, equalization, editing, out-of-band noise filtering and other filtering operations.
In the digital domain, pre-processing 706 provides discrete input signals X[n] to look-ahead modulator 702. Each discrete input signal x[n] is a K-bit signal, where K is greater than one. As previously described in more detail, look-ahead modulator 500 processes input signals X[n] and candidates Yi to determine an output signal 707. Output signal 707 is, for example, a collection of one-bit output values. The output signal 707, thus, becomes an encoded version of the input signal 704.
Referring to
Referring to
Although the present invention has been described in detail, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims.
This application claims the benefit under 35 U.S.C. § 119(e) of (i) U.S. Provisional Application No. 60/539,132, filed Jan. 26, 2004 and entitled “Signal Processing Systems with Look-Ahead Delta-Sigma Modulators” and (ii) U.S. Provisional Application No. 60/588,951, filed Jul. 19, 2004 and entitled “Signal Processing Systems with Look-Ahead Delta-Sigma Modulators”. Provisional applications (i) and (ii) include example systems and methods and are incorporated by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
5548286 | Craven | Aug 1996 | A |
5550544 | Sakiyama et al. | Aug 1996 | A |
5585801 | Thurston | Dec 1996 | A |
5598159 | Hein | Jan 1997 | A |
5708433 | Craven | Jan 1998 | A |
5742246 | Kuo et al. | Apr 1998 | A |
5757300 | Koilpillai et al. | May 1998 | A |
5757517 | Couwenhoven et al. | May 1998 | A |
5786779 | Chun et al. | Jul 1998 | A |
5977899 | Adams | Nov 1999 | A |
6067515 | Cong et al. | May 2000 | A |
6070136 | Cong et al. | May 2000 | A |
6112218 | Gandhi et al. | Aug 2000 | A |
6160505 | Vaishampayan | Dec 2000 | A |
6177897 | Williams, III | Jan 2001 | B1 |
6232899 | Craven | May 2001 | B1 |
6310518 | Swanson | Oct 2001 | B1 |
6313773 | Wilson et al. | Nov 2001 | B1 |
6347297 | Asghar et al. | Feb 2002 | B1 |
6362769 | Hovin et al. | Mar 2002 | B1 |
6373416 | McGrath | Apr 2002 | B1 |
6392576 | Wilson et al. | May 2002 | B1 |
6418172 | Raghavan et al. | Jul 2002 | B1 |
6480129 | Melanson | Nov 2002 | B1 |
6480528 | Patel et al. | Nov 2002 | B1 |
6501404 | Walker | Dec 2002 | B1 |
6590512 | Roh et al. | Jul 2003 | B1 |
6639531 | Melanson | Oct 2003 | B1 |
6724332 | Melanson | Apr 2004 | B1 |
6760573 | Subrahmanya et al. | Jul 2004 | B1 |
6822594 | Melanson et al. | Nov 2004 | B1 |
6842128 | Koh | Jan 2005 | B1 |
6842486 | Plisch et al. | Jan 2005 | B1 |
6861968 | Melanson | Mar 2005 | B1 |
6873278 | Ferguson et al. | Mar 2005 | B1 |
6873280 | Robinson et al. | Mar 2005 | B1 |
6879275 | Melanson | Apr 2005 | B1 |
6888484 | Kiss et al. | May 2005 | B1 |
6933871 | Melanson | Aug 2005 | B1 |
6940434 | Brooks | Sep 2005 | B1 |
6956514 | Melanson et al. | Oct 2005 | B1 |
6967606 | Wiesbauer et al. | Nov 2005 | B1 |
20030086366 | Branlund et al. | May 2003 | A1 |
20030231729 | Chien et al. | Dec 2003 | A1 |
20050012649 | Adams et al. | Jan 2005 | A1 |
20050052300 | Ranganathan | Mar 2005 | A1 |
Number | Date | Country |
---|---|---|
0512687 | Nov 1992 | EP |
1227595 | Jul 2002 | EP |
2003-124812 | Apr 2003 | JP |
Number | Date | Country | |
---|---|---|---|
20050162286 A1 | Jul 2005 | US |
Number | Date | Country | |
---|---|---|---|
60539132 | Jan 2004 | US | |
60588951 | Jul 2004 | US |