US20030093282A1 - Efficient system and method for converting between different transform-domain signal representations - Google Patents
Efficient system and method for converting between different transform-domain signal representations Download PDFInfo
- Publication number
- US20030093282A1 US20030093282A1 US09/948,053 US94805301A US2003093282A1 US 20030093282 A1 US20030093282 A1 US 20030093282A1 US 94805301 A US94805301 A US 94805301A US 2003093282 A1 US2003093282 A1 US 2003093282A1
- Authority
- US
- United States
- Prior art keywords
- signal
- domain
- transform
- dft
- mdct
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Multimedia (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
A memory-efficient system converting a signal from a first transform domain to a second transform domain. The system includes a first mechanism that obtains an input signal expressed via a first transform-domain signal representation. A second mechanism expresses the input signal via a second transform-domain signal representation without intermediate time-domain conversion. In the specific embodiment, the input signal is a Modified Discrete Cosine Transform (MDCT) signal. The second transform-domain signal representation is a Discrete Fourier Transform (DFT) signal. The second mechanism further includes a third mechanism that combines effects of an inverse MDCT, a synthesis window function, and an analysis window function, and provides a first signal in response thereto. A fourth mechanism converts the MDCT signal to the DFT signal based on the first signal. In a more specific embodiment, the synthesis window function is an MDCT synthesis window function, while the analysis window function is a DFT analysis window function. The fourth mechanism includes a mechanism for performing a fast transform on the MDCT signal and providing a first transformed signal in response thereto. The fourth mechanism further includes a mechanism for selectively delaying and updating the first transformed signal to yield second and third transformed signals, respectively, in response thereto. The fourth mechanism further includes a mechanism for operating on the first, second, and third transformed signals via third, second, and first combined window functions, respectively, and providing third, second, and first windowed signals, respectively, in response thereto. An adder adds the first, second, and third windowed functions to provide an added digital signal. An inverse DFT circuit performs an inverse DFT on the added digital signal to provide the DFT signal as output.
Description
- A portion of the disclosure recited in the specification contains material which is subject to copyright protection. Specifically, a Table in accordance with 37 CFR Section 1.96 is included that lists source code instructions for a process by which aspects of the present invention are practiced in a computer system. The copyright owner has no objection to the facsimile reproduction of the specification as filed in the Patent and Trademark Office. Otherwise all copyright rights are reserved.
- 1. Field of the Invention
- This invention relates to digital signal processing. Specifically, the present invention relates to digital systems and methods for converting between the Modified Discrete Cosine Transform (MDCT) domain and the Discrete Fourier Transform (DFT) domain.
- 2. Description of the Related Art
- Digital systems are employed in a variety of demanding applications including radar tracking and audio applications. Such applications require fast and space-efficient digital circuits that can efficiently perform complex calculations with minimal memory.
- Fast, space-efficient digital circuits are particularly important in digital audio applications, where complex coding and signal modifications are common. An exemplary digital audio system includes an input device, such as a microphone, for receiving an acoustic input signal. The microphone converts the acoustic signal to a corresponding analog electrical signal. An Analog-to-Digital Converter (ADC) samples the analog signal at a predetermined sampling rate via a quantizer to yield a digital time-domain signal. The digital time-domain signal is often converted to a spectral representation (via a process called analysis), encoded, and then transmitted across a channel or stored in memory before being decoded, modified, and then converted back to a digital time-domain signal (via a process called reconstruction or synthesis). The digital time-domain signal is often converted back to an analog signal via a Digital-to-Analog Converter (DAC). A speaker or other output device then converts the resulting analog signal into an acoustic output signal.
- Before signal encoding or modification, digital time-domain signals are converted to appropriate transform-domain representations. Common transform domains include the Modified Discrete Cosine Transform (MDCT) domain and the Discrete Fourier Transform (DFT) domain. To transform a digital time-domain signal to the MDCT or DFT domains, an MDCT or a DFT, respectively, is applied to the time-domain signal. To convert an MDCT or DFT signal to the time domain, an Inverse Modified Discrete Cosine Transform (IMDCT) or an Inverse Discrete Fourier Transform (IDFT) is applied to the MDCT or DFT signal, respectively. To convert between transform domains, an MDCT or a DFT signal is typically converted to the time domain before conversion to the DFT or MDCT domains, respectively. Generally, conventional methods for converting between transform domains require intermediate conversion to the time domain.
- Each domain has certain properties suitable for different applications. For example, the MDCT domain facilitates coding, while the DFT domain facilitates signal modification. The MDCT domain is used in subband coding algorithms such as AC-3, MPEG Layer 3 (MP3), and MPEG-2 Advanced Audio Coder (AAC).
- Audio subband coding involves separating an audio signal into different frequency bands, which are encoded separately. The bands are typically encoded at different levels of precision based on the properties of the human auditory system. Frequency components are separated via filter banks to yield different frequency subbands. Time Domain Aliasing Cancellation (TDAC) filter banks are often used to carry out this subband separation. The overall bit rate of the audio signal is often reduced by selectively adjusting the digital sample size for each subband. Subband encoding methods are effective for achieving compression of digital signals, especially when signal energy is concentrated in a portion of the frequency band. One type of TDAC filter bank outputs MDCT-domain signals; these filter banks are central to many modern compression schemes employing subband coding, such as the Advanced Audio Coding (MPEG-2 AAC) scheme.
- Unfortunately, while TDAC/MDCT signal representations facilitate coding, they typically do not facilitate signal modification and/or extraction of signal magnitude and/or phase information. Unlike DFT signal modification, MDCT signal modification interferes with aliasing cancellation in synthesis filter banks, which is required for accurate conversion of an MDCT-domain signal to the time domain.
- The DFT signal representation facilitates signal modification, such as time-scaling and pitch-shifting. However, use of the DFT domain for coding is problematic, as the DFT domain lacks sufficient support for critical sampling.
- Critical sampling is achieved in a representation domain when the signal representation in that domain requires only as much data as there is in the time-domain input signal. In an oversampled representation, there is more data in the representation domain than in the input signal, which is counter-productive for coding, where the goal is data reduction. Critical sampling results in fewer samples and is typically preferable to oversampling for coding applications.
- For the DFT domain, critical sampling can only be achieved if the digital time-domain input signal is processed in non-overlapping blocks, but this may result in blocking artifacts in the reconstructed time-domain signal due to quantization effects. Overlap-add methods for converting between the DFT domain and the time domain reduce blocking artifacts but require oversampling. Unlike the DFT domain, the MDCT domain supports critical sampling in an overlap-add framework. Consequently, the MDCT domain is often preferable to the DFT domain for coding.
- Modern digital audio systems may require modification of compressed MDCT-domain audio data that has been encoded via modern subband coding schemes. Since MDCT-domain signal component modification may cause undesirable artifacts in the reconstructed signal, MDCT signals are converted to the DFT domain before modification to avoid the introduction of undesirable artifacts in the reconstructed time-domain signals. New systems and methods for enhancing digital audio signals through modification are rapidly evolving, increasing the demand for efficient systems for converting compressed MDCT data to modification domains, such as the DFT domain.
- Unfortunately, current methods for converting between MDCT and DFT domains often require lengthy processing and excess memory and hardware to accommodate intermediate time-domain processing. Existing systems generally cannot convert directly from the MDCT domain to the DFT domain or visa versa.
- Hence, a need exists in the art for an efficient system and method for facilitating modification of digital audio data in systems employing subband coding schemes based on the MDCT. There exists a further need for an efficient system for converting directly between MDCT signal representations and DFT signal representations. There exists a further need for a method for converting directly between any two frequency-based domains or transform domains without requiring intermediate conversion back to the time domain.
- The need in the art is addressed by the present invention, which is a system for efficiently converting a signal from a first transform-domain representation to a second transform-domain representation. In the illustrative embodiment, the inventive system is adapted for use with a digital audio device. The system includes a first mechanism for obtaining an input signal expressed via the first transform-domain signal representation. A second mechanism expresses the input signal via a second transform-domain signal representation without intermediate time-domain processing.
- In a more specific embodiment, the first transform-domain signal representation is a Modified Discrete Cosine Transform (MDCT) signal representation, and the second transform-domain signal representation is a Discrete Fourier Transform (DFT) signal representation. The second mechanism further includes a third mechanism for combining an Inverse Modified Discrete Cosine Transform (IMDCT), a synthesis window function, and an analysis window function and providing a first signal in response thereto. A fourth mechanism converts the MDCT signal to a DFT signal based on the first signal.
- The synthesis window function is an MDCT synthesis window function associated with the MDCT signal, while the analysis window function is a DFT analysis window function associated with the DFT domain. The fourth mechanism includes a mechanism for performing a fast transform on the MDCT signal and providing a first transformed signal (gi[r]) in response thereto, which is characterized by the following equation:
-
-
-
-
-
- which is a modulo N shift, i.e., a circular shift such that the first half of a frame of size N is swapped with the second half of the frame.
-
-
-
- which is also a modulo N shift.
- The fourth mechanism further includes a mechanism for operating on the first, second, and third transformed signals via third, second, and first combined window functions, respectively, and providing third, second, and first windowed signals, respectively, in response thereto. The first combined window function (σ0[r]) is determined by the following equation:
- where w[n] is the DFT analysis window function; ƒ[n] is the MDCT synthesis window function; the window functions w[r], ƒ[r], and σ0[r], σ1[r], and σ2[r] are only defined on the interval 0≦r≦N−1 and are zero-valued outside this window by definition; and r and N are as defined above.
- The second combined window function (σ1[r]) is given by the following equation:
- σ1 [r]=w[−r]ƒ[−r]−w[N−r]ƒ[N−r].
-
- The fourth mechanism includes an adder for adding the first, second, and third windowed functions and providing an added digital signal in response thereto. An Inverse Discrete Transform (IDFT) circuit performs an Inverse Discrete Fourier Transform (IDFT) on the added digital signal and provides the DFT signal as output in response thereto.
- The novel design of the present invention is facilitated by the second mechanism, which converts an MDCT signal directly to a DFT signal, eliminating intermediate time-domain processing, which would require extra memory. This is particularly useful in audio coding applications where the MDCT signal requires component modification. By efficiently converting the MDCT signal directly to the DFT domain before signal modification, undesirable artifacts in the reconstructed signal are minimized.
- FIG. 1 is a diagram of a digital audio system of the present invention that converts from the MDCT domain to the DFT domain by first converting to the time domain.
- FIG. 2 is a diagram of an efficient digital audio system constructed in accordance with the teachings of the present invention and having an MDCT-to-DFT converter.
- FIG. 3 is a diagram depicting a reconstruction interval employed by the MDCT-to-DFT converter of FIG. 2.
- FIG. 4 is a more detailed diagram of the MDCT-to-DFT converter of FIG. 2.
- FIG. 5 is a flow diagram of a method for facilitating compression-domain signal modification implemented by the digital audio system of FIG. 2.
- FIG. 6 is a flow diagram of a method for converting directly from a first transform domain to a second transform domain employed by the MDCT-to-DFT converter of FIG. 4 and the method of FIG. 5.
- FIG. 7 is a diagram of a digital audio system employing the MDCT-to-DFT converter of FIG. 4 and a DFT-to-MDCT converter constructed in accordance with the teachings of the present invention.
- While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those having ordinary skill in the art and access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the present invention would be of significant utility.
- FIG. 1 is a diagram of a
digital audio system 10 of the present invention that converts from the Modified Discrete Cosine Transform (MDCT) domain to the Discrete Fourier Transform (DFT) domain via intermediate time-domain conversion. For clarity, various components, such as window switching circuitry, psychoacoustic information extraction circuitry, power supplies, clocks, and amplifiers, are omitted from FIG. 1, however one skilled in the art with access to the present teachings will know how to implement the additional components required for a given application. - The
digital audio system 10 includes aninput device 12 that provides an analog output signal to an Analog-to-Digital Converter (ADC) 14. TheADC 14 provides a digital time-domain output signal to an MDCT analysis window circuit (h[n]) 16. An output of the MDCTanalysis window circuit 16 is input to aforward MDCT circuit 18 and to the MDCTanalysis window circuit 16. The MDCTanalysis window circuit 16 provides the time-domain signal to theencoder 20 enabling theencoder 20 to extract necessary psychoacoustic information from an output of theforward MDCT circuit 18. In some implementations, psychoacoustic information is extracted by theencoder 20 directly from the MDCT-domain signal output from theforward MDCT circuit 18. - The output of the
forward MDCT circuit 18 is input to anencoder 20. Theencoder 20 is connected to adecoder 24 via a channel ormemory device 22. An output of thedecoder 24 is input to aninverse MDCT circuit 26. An output of theinverse MDCT circuit 26 is input to an MDCT Overlap-Add (OLA) synthesis window circuit (ƒ[n]) 28, which includes an OLA circuit and a synthesis window circuit (not shown). An output of the OLAsynthesis window circuit 28 is input to a DFT analysis window circuit (w[n]) 30. An output of the DFTanalysis window circuit 30 is input to aforward DFT circuit 32. An output of theforward DFT circuit 32 is input to amodification circuit 34. An output of themodification circuit 34 is input to aninverse DFT circuit 36. An output of theinverse DFT circuit 36 is input to a DFT OLAsynthesis window circuit 38. An output of the second OLAsynthesis window circuit 38 is input to a Digital-to-Analog Converter (DAC) 40, which provides an analog output signal ({haeck over (x)}(t)) to anoutput device 42, such as a speaker. - For the purposes of the present discussion, the terms frequency domain, transform domain, and spectral domain are employed interchangeably. Furthermore, a signal expressed in terms of its MDCT-domain signal representation is called an MDCT signal, while a signal expressed in terms of its DFT-domain signal representation is called a DFT signal. In the specific embodiments disclosed herein, a DFT signal or an MDCT signal includes a sequence of blocks or frames. Each frame contains spectral data corresponding to a segment of the time-domain input signal.
- In operation, the
input device 12, such as a microphone, provides an analog electrical signal (x(t)) to theADC 14. TheADC 14 samples the analog signal x(t) at a predetermined sampling rate via a quantizer, which outputs a sequence of digital values (x[m]) corresponding to the analog samples taken at discrete times m, where m is a digital time variable that is unbounded by data frame size. An exemplary range for m is: 0≦m<∞, where the first sample of the sequence x[m] occurs when m=0. The sequence of digital values x[m] is a digital time-domain output signal x[m] that is input to the MDCTanalysis window circuit 16. - Many practical applications, such as audio processing applications, must accommodate a lengthy input sequence x[m]. Subband filtering performed via a DFT or MDCT involves operations on blocks of data of length N, which are processed successively. N is limited by hardware constraints, such as memory limitations. Consequently, the input sequence x[m] is segmented or windowed by the MDCT
analysis window circuit 16 into fixed size blocks (called frames) of length N before sequential processing of the blocks via MDCT-domain signal processing. The blocks are reassembled via the Overlap-Add (OLA) method as implemented in the OLAsynthesis window circuits - Generally, N is an even integer to facilitate the application of Fast Fourier Transform (FFT) algorithms. In the present example, each frame of length N includes L new data samples from the input sequence x[m] and the last N−L samples from the previous data block. L is referred to as the inter-frame stride or hop size, and in many processing scenarios, it is set equal to N/2.
-
- where N is a predetermined integer constant representing the sequence length; and n is an integer time variable such that 0≦n≦N−1, and h[n]=0 or is undefined outside this range.
-
- where 0≦n≦N/2−1; h[n] is the MDCT analysis window function; ƒ[n] is the MDCT synthesis window function implemented by the MDCT OLA
synthesis window circuit 28; N is the window length; and N/2 is the inter-frame stride. -
- where equation (4) is a constraint applied to the entire window length N of the windows associated with the MDCT window functions ƒ[n] and h[n]; equation (5) applies to the first half of the MDCT analysis window h[n]; equation (6) applies to the first quarter of h[n]. The conditions or constraints specified in equations (4) through (6) apply to the entire length N of each window. Given the window symmetries, however, it is redundant to check if the conditions are met outside of the specified ranges for n.
- The
forward MDCT circuit 18 outputs an MDCT signal XN[i+2,k], which is an MDCT-domain representation of the windowed frame i+2 of the digital time-domain signal xi+2[n] output from the MDCTanalysis window circuit 16. The MDCT signal XN[i+2,k] is described in terms of frame i+2 rather than frame i or frame i+1 to simplify notation later. Initially frame i propagates through thesystem 10, followed by frames i+1 and i+2. However, as discussed more fully below, frame i and frame i+2 are employed to compute the DFT for frame i+1. Hence, frames i and i+2 should propagate through thesystem 10 before the DFT is determined for frame i+1. -
- where i is a frame index; k is a transform index, also called a frequency index; and the remaining variables are as described above.
- The MDCT as defined in equations (7) and (8) may be implemented via a Fast Fourier Transform (FFT) algorithm, where symmetries of the MDCT are exploited to minimize computational complexity.
- The MDCT XN[i+2,k] for a given frame i+2 of length N includes N coefficients, one coefficient for each value of k between 0 and N−1. However, XN[i+2,k] exhibits symmetry when N is even. If N/2 is even, then XN[i+2,k] is odd-symmetric. If N/2 is odd, then XN[i+2,k] is even-symmetric. Generally, N/2 is chosen to be even (a power of two) to facilitate fast MDCT computations. A given sequence a[n] is even symmetric if a[n]=a[−n] and odd symmetric if a[−n]=−a[n].
-
-
-
-
- is an N/4-point IDFT; xi+2[n] represents the time-domain sequence for which the forward MDCT representation is desired; and where the remaining variables and functions are as described above.
-
-
- respectively, which represent the second half and the first half of the even samples of the MDCT signal XN[i+2,k], where 0≦k≦N−1, respectively.
-
- The MDCT formulations of equations (9) through (11) implement an exemplary fast algorithm, which is known in the art for computing the forward MDCT. Those skilled in the art will appreciate that other fast algorithms may be employed to compute the forward MDCT without departing from the scope of the present invention.
- Digital time-domain signals are often converted to MDCT signal representations before encoding via the
encoder 20. In the present example, theencoder 20 employs psychoacoustics and entropy coding to compress the MDCT signal XN[i+2,k] before transmission across a channel or storage in computer memory (see channel or memory 22). - The
encoder 20 quantizes the spectral coefficients of the MDCT signal XN[i+2,k] according to psychoacoustic principles so that more bits are used in the subbands where the human ear is more sensitive to errors and so that fewer bits are used in the subbands where errors are masked or imperceptible. Theencoder 20 then encodes these quantized values using a lossless entropy coding scheme, such as Huffman or arithmetic coding. In addition, theencoder 20 implements bit-stream packing to structure the signal for transmission or storage. Theencoder 20 is a generalized block that may be constructed by one skilled in the art with access to the present teachings. - MDCT-domain signal processing includes signal encoding via the
encoder 20 and decoding via thedecoder 24. The MDCT signal input to theencoder 20 may be interpreted as a set of subband signals, with theforward MDCT circuit 18 being implemented via a subband filter bank. Theencoder 20 reduces the amount of data used to represent these subband signals using psychoacoustics, Huffman coding, and/or other techniques. - In the exemplary
digital audio system 10, theencoder 20 implements one or more compression algorithms, such as the quantization of the MDCT signal based on perceptual principles and/or entropy coding of the quantized values using Huffman or arithmetic coding. The resulting compressed signal is then transmitted across a channel, such as a network link, or stored on a hard drive orother media 22 before being decompressed or decoded via thedecoder 24. -
- where the variables are as described above. The computation of equation (12) may be simplified by exploiting symmetries of the IDFT as discussed more fully below.
-
-
-
-
- represents the second half of the even samples of the time-domain output signal {circumflex over (x)}i+2[n]; {circumflex over (x)}i+2[2n] represents the first half of the even samples of the output signal; and the function XN[k] is an N-point MDCT.
-
- The IMDCT formulations of equations (13) through (15) implement an exemplary fast algorithm for computing the IMDCT. Those skilled in the art will appreciate that other fast algorithms may be employed to compute the IMDCT without departing from the scope of the present invention.
- The digital sequence {circumflex over (x)}i+2[n] output from the
inverse MDCT circuit 26 includes time-domain aliasing components, which are cancelled via an overlap-add process implemented via the MDCT OLAsynthesis window circuit 28. The MDCT OLAsynthesis window circuit 28 implements the synthesis window function ƒ[n] to fit the frames together and properly cancel the time-domain aliasing components to yield an output sequence {tilde over (x)}i+1[n] based on frames i, i+1 and i+2. An exemplary synthesis window function is defined such that ƒ[n]=h[n], which is described in equation (1) and satisfies the perfect reconstruction constraints of equations (4) through (6). Those skilled in the art will appreciate that other functions may be chosen for ƒ[n] without departing from the scope of the present invention. - The output sequence {tilde over (x)}i+1[n] of the MDCT OLA
synthesis window circuit 28 is a reconstructed time-domain signal. The output time-domain sequence {tilde over (x)}i+1[n] is first converted to a suitable modification domain, such as the DFT domain, before signal component modification by themodification circuit 34. The DFT domain is a well-known modification domain suitable for various audio signal modifications, such as time-scaling and pitch-shifting. - The time-domain sequence {tilde over (x)}i+1[n] is input to the DFT
analysis window circuit 30, which implements the window function w[n] and outputs a windowed signal in response to {tilde over (x)}i+1[n]. A forward DFT is applied to the windowed signal via theforward DFT circuit 32. The forward DFT (χM[i+1,k]) for frame i+1 is defined by the following equation: - where χM[i+1,k] is an M-point DFT of an N-sample portion of the sequence xi+1[n], and where k is the transform index. When M>N, the DFT is oversampled. When M≧N. an IDFT of χM[i+1,k] will yield the original N-sample portion of the sequence xi+1[n].
-
- of the DFT to reduce the computational complexity of computing the DFT of equation (16) directly. Direct computation of the DFT of equation (16) requires on the order of 2M2 multiplications, while various FFT algorithms require on the order of M log M multiplications.
- Methods for exploiting the symmetries of the DFT include the decimation-in-frequency approach and the decimation-in-time approach. The decimation-in-frequency approach is based on decomposition of an M-point DFT into successively smaller DFT's of sums of subsequences of the input signal. The decimation-in-time approach involves splitting the input sequence into even and odd samples via decimation (downsampling) by a factor of 2 and decomposing the M-point DFT into first and second smaller DFT's of the even and odd samples. Those skilled in the art will appreciate that other methods for computing the DFT may be employed without departing from the scope of the present invention.
- The forward
DFT computation circuit 32 computes the DFT via an FFT algorithm to yield the N-Point DFT χN[i+1,l], where i is the frame index, and l is a frequency or transform index. The resulting N-Point DFT χN[i+1,l] is input to themodification circuit 34. The DFT χN[i+1,l] is described with respect to frame i+1 to simplify later notation. Themodification circuit 34 performs signal component modifications, such as time-scaling and pitch-shifting, and provides the modified signal to theinverse DFT circuit 36. Note that the present discussion assumes that frame i+2 is being processed and that frames i+1 and i have already gone through thesystem 10 so that the DFT of frame i+1 is the output of theforward DFT circuit 32. Similarly, if frame i were being processed, frames i−1 and i−2 would have already gone through thesystem 10, so the DFT of frame i−1 would be the output of theforward DFT circuit 32. - Generally, the design of the DFT synthesis and DFT analysis window functions w[n] and v[n] and associated
circuits modification circuit 34 in the DFT domain. However, suppression of blocking artifacts in the associated reconstructed signal may introduce additional window design constraints, which may be determined by one skilled in the art. - For the purposes of the present discussion, a compression domain is a transform domain suitable for signal coding and compression applications. A modification domain is a transform domain suitable for signal component modification. The MDCT domain is a compression domain, while the DFT domain is a modification domain. A transform domain is suitable for a given application when its use in that application does not cause prohibitive effects. For modification, it is prohibitive to introduce undesirable artifacts in the corresponding reconstructed signal, which may occur during MDCT-domain modification; for compression, it is prohibitive to introduce more data to the signal than is required to represent the input signal. Such excess data may be required during DFT-domain compression.
- Typically an MDCT signal contains the same amount of data as the original time-domain input signal, while a DFT signal typically contains twice as much data as the original signal when used in an OLA processing scheme with an inter-frame stride of N/2. The large number of DFT samples makes DFT-domain compression undesirable. The present invention facilitates modification of compression-domain signals via conversion to a modification domain, such as the DFT domain.
- Frequency-domain coding and modification often affords computational advantages over corresponding time-domain coding and modification. These advantages are enhanced by various Fast Fourier Transform (FFT) algorithms, which facilitate efficient conversion between time-domain and frequency-domain signal representations, such as MDCT or DFT representations. Furthermore, frequency-domain processing is often required by particular modification schemes. Generally, the frequency domain is preferred for coding, which facilitates accommodation of frequency-domain properties of the human auditory system.
- The DFT can be modified via the
modification circuit 34 in various musically meaningful ways. Synthesis is achieved by using an IDFT and an overlap-add scheme via thecircuits -
- where the variables are as described above.
- An inverse N-point DFT (M=N in this case) is computed for each frame i+1 and then input to the OLA
synthesis window circuit 38. The OLAsynthesis window circuit 38 implements a synthesis window function v[n], which assembles the frames of length N via an overlap-add process to reconstruct the signal. In the DFT case, there are no time-domain aliasing components to be cancelled. - The DFT synthesis window function v[n] and the DFT analysis window function w[n] are chosen to meet reconstruction conditions such that when the conditions are met, a given time-domain signal may be converted to the DFT domain and then back to the time domain without loss of information . The reconstruction conditions for the running DFT or the short-time Fourier transform (STFT) are given by the following equation:
- where i is a frame index corresponding to the frame number; and L is the inter-frame stride, which is N/2 in the present specific embodiment.
- A digital synthesized time-domain signal ({haeck over (x)}[m]) is output from the OLA
synthesis window circuit 38 and is a modified version of the time-domain signal x[m] output fromADC 14. Themodification circuit 34 performed the modifications. The reconstructed digital time-domain signal {haeck over (x)}[m] output from theOLA synthesis circuit 38 is input to theDAC 40, which converts the digital signal {haeck over (x)}[m] to a corresponding analog signal {haeck over (x)}(t) . The analog signal {haeck over (x)}(t) is then input to theoutput device 42, which outputs acoustic signals, such as music or voice, corresponding to the analog signal {haeck over (x)}(t) - In audio processing applications, the DFT and MDCT are typically used in a sliding-window fashion. Namely, during analysis, a segment of the input data is extracted by an analysis window (h[n] or w[n]) before the DFT or MDCT is applied. During synthesis, a synthesis window is applied after application of the inverse transform. Subsequently, a desired time-domain signal is reconstructed from successive synthesis frames via an overlap-add procedure.
- Hence, in the
audio system 10, the MDCTanalysis window circuit 16 windows (via window w[n]) the digital input signal x[m] and provides a windowed signal xi+2[n] to theforward MDCT circuit 18, which applies a forward MDCT to the windowed signal xi+2[n]. Coding gain is achieved via theencoder 20, which accounts for quantization, application of a psychoacoustic model to remove perceptually unnecessary details, entropy coding, etc. The encoded signal is then transferred to thedecoder 24 via the channel ormemory device 22. Thedecoder 24 subsequently outputs a corresponding sequence of MDCT coefficients. - Signal modification in the DFT domain is achieved by implementing an inverse MDCT of the sequence of MDCT coefficients and employing an OLA process (with an appropriate window function ƒ[n]) to reconstruct a perceptually equivalent version ({tilde over (x)}[n]) of the digital input signal x[m] . A block of the resulting signal {tilde over (x)}i+1[n] is then windowed via the DFT analysis window circuit 30 (window w[n]) and transformed into a DFT representation by the
forward DFT circuit 32. After signal component modifications implemented via themodification circuit 34, theinverse DFT circuit 36 and OLA synthesis window circuit 38 (window v[n]) synthesize the modified time-domain signal {haeck over (x)}[m]. - Those skilled in the art will appreciate that while the embodiments of the present invention discussed more fully below are adapted for use with the MDCT formulations of equations (9) through (11) and the IMDCT formulations for equations (13) through (15), other algorithms may be substituted by one skilled in the art without departing from the scope of the present invention.
- FIG. 2 is a diagram of an efficient
digital audio system 50 constructed in accordance with the teachings of the present invention that converts directly from the MDCT domain to the DFT domain. For clarity, various components, such as window switching circuitry, psychoacoustic information extraction circuitry, power supplies, clocks, and amplifiers, are omitted from FIG. 2, however one skilled in the art with access to the present teachings will know how to implement the additional components required for a given application. - The present invention is discussed with respect to digital audio systems. However, the system of the present invention may be employed in different systems, such as video processors, without departing from the scope of the present invention.
- The efficient
digital audio system 50 is similar to thedigital audio system 10 of FIG. 1 with the exception that theinverse MDCT circuit 26, the OLAsynthesis window circuit 28, the DFTanalysis window circuit 30, and theForward DFT circuit 32 in FIG. 1 are replaced by an efficient MDCT-to-DFT converter 52 in FIG. 2. The MDCT-to-DFT converter 52 converts MDCT signal representations directly to corresponding DFT signal representations without inefficient intermediate conversion back to the time domain. The amount of memory required to implement the MDCT-to-DFT converter 52 is less than the memory required for implementing thecircuits 26 through 32 of FIG. 1, as discussed more fully below. Note that aliasing cancellation is implemented explicitly in thesystem 10 of FIG. 1 and implicitly in thesystem 50 of FIG. 2. - The MDCT-to-
DFT converter 52 employs the following unique MDCT-to-DFT conversion equation to convert signals directly from the MDCT domain to the DFT domain: - χN[+1,l]=F N −1{σ0 [r]{double overscore (g)} i [r]+σ 1 [r]{overscore (g)} i+1 [r]+σ 2 [r]g i+2 [r]}, [19]
- where χN[i+1,l ] is the N-point DFT for frame i+1 of the digital signal output from the decoder 24; i is a frame index; l is a digital time variable representing the frequency index of χN[i,l]; N is a predetermined integer corresponding to the length of the N-point DFT, which also corresponds to the block size or frame size employed for processing; FN −1{ } is an N-point inverse DFT function that operates on σ0[r]{double overscore (g)}i[r]+σ1[r]{overscore (g)}i+1[r]+σ2[r]gi+2[r]; r is an integer variable representing an index into the sequence to be processed by the inverse DFT and is the internal variable of the IDFT which is mapped to the frequency variable l by the IDFT; σ0[r], σ1[r], and σ0[r] are first, second and third combined window functions, respectively, that represent the combined effects of a predetermined MDCT synthesis window function ƒ[n] and a DFT analysis window function w[n] associated with a first frame, a second frame, and a third frame, respectively; gi+2[r] is a function of a DFT of an MDCT associated with frame i+2 of the decoded signal; {overscore (g)}i+1[r] is a delayed version of a gi+1[r] function associated with frame i+1 of the decoded signal; {double overscore (g)}[r] is a delayed version of {overscore (g)}i[r] ,which is a delayed version of a function gi[r] associated with frame i of the decoded signal.
- In an implementation, the MDCT-to-DFT conversion of equation (19), when applied to a given frame, employs previous and subsequent frames (if available) for conversion of the frame from the MDCT to the DFT domain as shown in FIG. 3.
- FIG. 3 is a diagram depicting an
exemplary reconstruction interval 60 employed by the MDCT-to-DFT converter 52 of FIG. 2. For frame i+1, the reconstruction interval overlaps half of frame i, half of frame i+2, and all of frame i+1. The MDCT-to-DFT converter 52 of FIG. 2 employs MDCT signals from the three overlapping frames i, i+1, and i+2 to create a DFT signal for the indicatedreconstruction interval 60, which corresponds to frame i+1. - FIG. 4 is a more detailed diagram of the MDCT-to-
DFT converter 52 of FIG. 2. The MDCT-to-DFT converter 52 includes afast transform circuit 70, which receives input from thedecoder 24 of FIG. 2 and provides output to a first delay and updatecircuit 72 and to a third σ multiplier (σ2[r]) 74. An output of the first delay and updatecircuit 72 is connected to an input of a second delay and updatecircuit 76 and to an input of a second σ multiplier (σ1[r]) 78. An output of the second delay and updatecircuit 76 is input to a first σ multiplier (σ0[r]) 80. Outputs of thefirst σ multiplier 80, thesecond σ multiplier 78, and thethird σ multiplier 74 are input to anadder 82. An output of theadder 82 is input to anIDFT circuit 84. The output of theIDFT circuit 84 represents the DFT χN[i+1,l] of equation (19) and is input to themodification circuit 34 of FIG. 2. - The
fast transform circuit 70 employs a fast transform algorithm to implement the function gi[r], which corresponds to a first transformed signal output by thefast transform circuit 70. The function gi[r] is employed in equation (19) and in the corresponding MDCT-to-DFT converter 52 and is defined by the following equation: -
- The function {overscore (g)}i+1[r] is employed in equation (19) and represents a second transformed signal associated with frame i+1 and output by the first delay and update
circuit 72. For clarity, the operation of thefast transform circuit 70 and the delay and updatecircuits -
-
-
-
- and the remaining variables are as described above.
-
-
-
- and the remaining terms are as described above.
- The
first σ multiplier 80 multiplies the signal output from the second delay and update circuit 76 (which corresponds to the results of equation (22)) by σ0[r]. σ0[r] represents a first combined window function that selectively combines the OLA synthesis window function ƒ[n] and the DFT analysis window function w[n] of thewindow circuits - where the functions w[n] and ƒ[n] are analysis and synthesis window functions, respectively; and r and N are as defined above. The functions σ0[n], w[n], ƒ[n], and the functions σ1[n] and σ2[n] discussed below, are defined as zero everywhere outside the range 0≦n≦N−1.
- The
second σ multiplier 78 multiplies the signal output from the first delay and updatecircuit 72, which corresponds to the results of equation (21) (but for frame i+1) by σ1[r]. σ1[r] represents a second combined window function that selectively combines the OLA synthesis window function ƒ[n] and the DFT analysis window function w[n] of thewindow circuits - σ1 [r]=w[−r]ƒ[−r]−w[N−r]ƒ[N−r], [24]
- where the functions and variables are as defined above.
- The
third σ multiplier 80 multiplies the signal output from thefast transform circuit 70, which corresponds to the results of equation (20) (but for frame i+2) by σ2[r]. σ2[r] represents a third combined window function that selectively combines the OLA synthesis window function ƒ[n] and the DFT analysis window function w[n] of thewindow circuits - where the functions and variables are as defined above.
- The
adder 82 adds the signals output by theσ multipliers - T[r]=σ 0 [r]{double overscore (g)} i [r]+σ 1 [r]{overscore (g)} i+1 [r]+σ 2 [r]g i+2 [r], [26]
- where the functions and variables are as described above for equation (19).
- The
IDFT circuit 84 computes the IDFT of the sum T[r] given in equation (26) in accordance with equation (19). The output χN[i+1,l ] of theIDFT circuit 84 is the DFT-domain signal representation of the input MDCT-domain signal XN[i+1,k]. Hence, the MDCT-to-DFT converter 52 converts input MDCT signals directly from the MDCT domain to the DFT domain without intermediate conversion to the time domain. - When the
fast transform circuit 70 computes gi[r] for frame i+2, i.e., computes gi+2[r], the first delay and update circuit computes {overscore (g)}i[r] for frame i+1 ({overscore (g)}i+1[r]), and the second delay and updatecircuit 76 computes {double overscore (g)}i[r] for frame i ({double overscore (g)}i[r] ). Alternatively, the delay and updatecircuits σ multipliers adder 82 via timing circuitry (not shown). Alternatively, theadder 82 may include memory for collecting and adding σ2[r]gi+2[r], σ1[r]{overscore (g)}i+1[r], and σ0[r]{double overscore (g)}i[r]. With access to the present teachings, one skilled in the art may easily implement timing circuitry and/or memory (not shown) required to ensure that gi+2[r], {overscore (g)}i+1[r], and {double overscore (g)}i[r] for frames i+2, i+1, and i, respectively, are multiplied by theσ multipliers adder 82 in accordance with equation (19). - At each iteration, two of the transform functions (gi+2[r], {overscore (g)}i+1[r], {double overscore (g)}i[r]) in equation(26), namely {double overscore (g)}i[r] and {overscore (g)}i+1[r], are obtained via an update formulation. The update formulation includes a data shift and a sign change for half of the data. The only new computations required are for gi+2[r] and the multiplications implemented via the
σ multipliers σ multipliers - nonzero values. The σ[r] multipliers and g[r] transform functions are all real-valued.
- The
fast transform circuit 70 employs a fast algorithm to compute equation (20). The fast algorithm exploits symmetries of gi[r] of equation (20) and the fact that gi[r] is always real to minimize computational complexity. -
- where r is the transform index and is an integer such that 0≦r≦N−1; and the remaining terms are as defined above.
-
-
-
- which is the last odd sample, assuming N is chosen to be even.
-
-
-
- which is the last even sample, assuming N is even.
-
-
-
- are the even samples of gi[r] for the second half of the ith frame.
- The
fast transform circuit 70 circuit determines the even samples {dot over (A)}i[r] of gi[r] via a fast algorithm and then determines the odd samples via equation (30). The fast algorithm employed by thefast transform circuit 70 to determine the even samples is derived from gi[r] as given by equation (27) by noting that the even samples Ai[r] may be expressed as follows: - where the terms are as defined above.
-
-
-
-
-
- in equation (33) represents the even samples for the second half of the ith frame.
-
-
-
-
-
- has an input with both real and imaginary components and an output with both real and imaginary components.
- Equation (34) represents a fast algorithm for computing the even samples for an ith frame of gi[r] given by equation (27). The
fast transform circuit 70 computes the fast algorithm of equation (34) to determine the even samples, and then efficiently determines the corresponding odd samples via equation (30). - With access to the present teachings, one skilled in the art may develop circuits or software required to implement the
fast transform circuit 70, the delay and updatecircuits multipliers adder 82, and theinverse DFT 84 without undue experimentation. Those skilled in the art will appreciate that fast algorithms other than the algorithm of equation (34) may be employed for the purposes of the present invention without departing from the scope thereof. - FIG. 5 is a flow diagram of a
method 90 for facilitating compression-domain signal component modification implemented by the digital audio system of FIG. 2. In an initial domain-conversion step 92, a time-domain signal is converted to a coding domain (also called a compression domain) that facilitates coding to yield a first transform-domain signal. An exemplary coding domain is the MDCT domain. - Subsequently, the first transform-domain signal is encoded in an
encoding step 94. The encoding may be implemented via a standard quantization and entropy coding algorithm or other encoding algorithm. Subsequently, control is passed to a signal-transfer step 96. - In the signal-
transfer step 96, the encoded signal is transferred through an intermediate medium, such as a hard drive, Random Access Memory (RAM), a network link, a wireless channel, or other medium. After the encoded signal has been transferred through the intermediate medium, the encoded signal is decoded in a decoding step 98. Signal decoding typically involves performing an inverse of the encoding process. Subsequently, control is passed to a transform-domain conversion step 100. - In the transform-
domain conversion step 100, the decoded signal is converted from the coding domain to a modification domain, such as the DFT domain, to yield a modification-domain signal. The transform-domain conversion does not require intermediate time-domain conversion. - The modification-domain signal is then selectively modified in a
modification step 102. The exact modifications performed by themodification step 102 are application-specific, but may include modifications such as time-scaling and pitch-shifting. The resulting modified signal is then converted back to a time-domain signal in a final domain-conversion step 104. - FIG. 6 is a flow diagram of a
method 110 for converting directly from a first transform domain to a second transform domain employed by the MDCT-to-DFT converter of FIG. 4 and the method of FIG. 5. In themethod 110 of FIG. 6, the first transform domain is the MDCT domain, while the second transform domain is the DFT domain. Those skilled in the art will appreciate that other transform domains may be employed in themethod 110 instead of the MDCT domain and the DFT domain without departing from the scope of the present invention. Those skilled in the art with access to the present teachings will know how to modify themethod 110 as needed to accommodate different transform domains. - In an initial time-
domain expression step 112, an expression for an intermediate time-domain signal is developed. The time-domain expression is based on an initial MDCT signal representation and incorporates the effects of the MDCT synthesis window function ƒ[n]. The time-domain expression applies to three consecutive frames. However, the present invention is not limited to the use of three frames for the time-domain expression. The time-domain expression is given below, where the equation is phrased in terms of frame i+1 to simplify notation: -
- in equation (35); {circumflex over (x)}i[n] is an expression for the output of the
inverse MDCT circuit 26 of FIG. 1, which includes the effects of the MDCT analysis window h[n]; and ƒ[n] is the MDCT OLA synthesis window function as implemented via the MDCT OLAsynthesis window circuit 28 of FIG. 1. -
-
-
- After expressing a segment of the intermediate reconstructed time-domain signal via equation (36), control is passed to a window-
application step 114. In the window-application step 114, the DFT analysis window w[n] is applied to the time-domain signal to yield a windowed segment w[n]{tilde over (x)}i+1[n] expressed as the sum of three windowed frames, which include frame i, frame i+1, and frame i+2. The windowed segments are given by the following equation: -
-
- Subsequently, control is passed to a window-combining
step 118, where the MDCT synthesis window function ƒ[n] and the DFT analysis window function w[n] are expressed as the following combined window function pa[n]: - p a [n]=w[n]ƒ[n+T a]. [40]
-
- where the variables are as defined above for equation (8).
-
- where XN[i+a,k] represents the MDCT signal associated with frame i+a.
- Subsequently, control is passed to an
MDCT function step 120 where a first MDCT function and a conjugate of the first MDCT function are given by the following equations, respectively: - S i,a [k]=X N [i+a,k]e jθ a [k]and [43]
- S* i,a [k]=X N [i+a,k]e −jθ a [k], [44]
- where k is a transform index; and XN[i+a,k] is the N-point MDCT for frame i+a.
-
-
-
-
- The summations over n of equation (45) may be expressed in terms of the first and second DFT functions of equations (46) and (47) as discussed more fully below. Subsequently, control is passed to a circular-
convolution step 124, where the DFT Ψ[i,a,l] of equation (45) is expressed as a sum of circular convolutions in accordance with the following equation: - where Qi,a[l] and Ri,a[l] are defined by the following equations, respectively:
- Q i,a [l]=S i,a [l]{circle over (×)}P a [l] and [49]
- R i,a [l]=S* i,a {circle over (×)}P′ a [−l]=S* i,a [k]{circle over (×)}P′ a [l] [50]
- where P′a[−l]=Pa*[l] due to the conjugation properties of the DFT, and where the symbol {circle over (×)} denotes circular convolution.
- Subsequently, control is passed to an
IDFT step 126, where the circular convolutions of equations (49) and (50) are expressed in terms of IDFT's of products of DFT-domain representations of Si,a[l] (the first MDCT function) and Pa[l] (the first DFT function) and in terms of IDFT's of products of DFT-domain representations S*i,a[l] and P*a[l], respectively. The terms Qi,a[l] and Ri,a[l] of equations (49) and (50) are given by the following equations: - Q i,a [l]F N −1 {F N {S i,a [l]}F N {P a [l]}} [51]
- R i,a [−l]=F N −1 {F N {S* i,a [−l]}F N {P* a 8 −l]}}. [52]
- Subsequently, control is passed to a
simplification step 128. In thesimplification step 128, the DFT-domain equivalent of the first DFT function (FN{Pa[l]}) is expressed as a sum of terms that include the combined window function pa[−r] and a shifted version pa[N−r] thereof (see equation (40)). The sum is scaled by N and the phase factor -
- The factor N of equation (53) will cancel when substituted into equation (48).
- Similarly, in the
simplification step 128, the DFT of the conjugate DFT function (FN{P*a[l]}) is given by the following equation: - F N {P* a [−l]}=Nρ* a [r], [54]
-
- and the functions pa, σa[r], and ρa[r] are supported on the interval rε[0,N−1]; are zero everywhere outside this interval; but may be zero for certain values of r within this interval.
- Subsequently, control is passed to a
symmetry step 130, wherein the DFT-domain equivalent of the first MDCT function (FN{Si,a[k]}) is employed in a real sine transform (gi[r]) as expressed in equations (20) and (27) (See equation (45), and note that FN{Si,a[k]}=FN{XN[i+a,k]ejθ a [k]}.). The symmetry of the real sine transform is employed to determine a fast algorithm for its computation (see equations (34) and (30)). -
-
- For even N, S*i,a[N−K−1]=Si,a[k] , so the resulting factor of 2 cancels the ½ in equation (57), resulting in the formulation:
- ΨN [i,a,l]=F N −1{ρa [r]F N {X N [i+a,k]e jθ a [k]}}, [58]
- where FN{XN[i+a,k]ejθ a [k]}=F N{Si,a[k]}.
- Equation (58) is a general expression for the three summed terms Ψ[i,a,l] in equation (38). The phase factors of equation (41) and (42) are as follows for a=0, 1, 2 respectively:
- e jθ 0 [k] =j(−1)k e jø k , [59]
- e jθ 1 [k] =e jø k , [60]
- e jθ 2 [k] =−j(−1)k e jø k , [61]
-
-
- The development of equation (62) has been phrased in terms of frame i+1 to simplify the notation. Note that equation (62) employs equations (19) and (26), and that the terms within the inverse DFT FN −1{ } in equation (62) are equivalent to the terms T[r] within the inverse DFT FN −1{ } in equation (19).
- Subsequently, control is passed to a
fast algorithm step 132, where a fast algorithm is employed to compute the components of T[r] in equation (62). Specifically, a fast algorithm computes the expression gi[r] in equation (20), but for frame i+2, via thefast transform circuit 70 of FIG. 4. The function gi[r] corresponds to one of the components (gi+2[r]) inside the inverse DFT of equation (62). The remaining components in equation (62) are computed by the delay and update routine as implemented via the delay and updatecircuits - Subsequently, control is passed to a
final IDFT step 134, wherein the DFT signal expressed by equation (62) is computed. Specifically, T[r] is computed from components calculated in the previousfast algorithm step 132. Then an IDFT is applied to T[r] in accordance with equation (62). - The fast algorithm for computing the DFT signal expressed by equation (62) is as described for the MDCT-to-
DFT converter 52 of FIG. 4. Implementation of the fast algorithm is facilitated by the sequential nature of the expression of equation (62). Namely, when frame i+2 is being processed (namely, when gi+2[r] is being computed), frames i+1 and i have already been processed (namely, gi+1[r] and gi[r] have already been computed), one and two frames earlier, respectively. This prior computation is leveraged to provide the output DFT signal for frame i+1. Consequently, in a local sense and for a single frame, two-thirds of the processing required to determine the DFT-domain representation for each frame is eliminated. The leveraging of prior fast algorithm computation is illustrated by the delay and updatecircuits circuits - A more general method for converting between a first transform domain and a second transform domain includes the following steps:
- 1. Determine an expression for a segment of an intermediate time-domain signal based on a first transform-domain signal expression. The expression for the segment should incorporate a second transform-domain analysis window and a first transform-domain synthesis window.
- 2. Apply a second transform associated with the second transform domain to the expression of the segment to yield a second transform-domain expression.
- 3. Compute a first transform-domain function and a second transform-domain function from the second transform-domain expression.
- 4. Express a second transform-domain signal in terms that may include a convolution of the first transform-domain function with the second transform-domain function and/or corresponding conjugate functions.
- 5. Perform an inverse second transform of the product between the second transform of the first transform-domain function and the second transform of the second transform-domain function and/or the product between corresponding conjugate functions to yield a second transform-domain representation.
- 6. Employ a fast algorithm based on the second transform-domain representation and symmetry thereof to compute a second transform-domain signal corresponding to the first transform-domain signal.
- FIG. 7 is a diagram of a
digital audio system 140 employing the MDCT-to-DFT converter 52 of FIG. 4 and a DFT-to-MDCT converter 142 constructed in accordance with the teachings of the present invention. Thedigital audio system 140 is similar to thedigital audio system 50 of FIG. 2 with the exception that thesystem 140 has different processes following themodification circuit 34; thedigital audio system 140 includes the DFT-to-MDCT converter 142, aspecial coding circuit 114, theinverse MDCT circuit 26, the MDCT OLAsynthesis window circuit 28, theDAC 40, and theoutput device 42. In thedigital audio system 140 of FIG. 7, signal reconstruction is performed via theinverse MDCT circuit 26 and MDCT OLAsynthesis window circuit 28 rather than theinverse DFT circuit 36 and DFT OLAsynthesis window circuit 38 of FIG. 2. Furthermore, DFT-domain signal modifications might be performed remotely via themodification block 34. In this scenario, the DFT signal is converted to the MDCT domain by the DFT-to-MDCT converter 142, and the MDCT signal is coded, transmitted, and decoded (all in thespecial coding circuit 114, which may include a transmission channel or storage medium). Reconstruction would then be achieved as described above. Thespecial coding circuit 114 may be omitted without departing from the scope of the present invention. - An output of the
modification circuit 34 is connected to an input of the DFT-to-MDCT converter 142. An output of the DFT-to-MDCT converter 142 is input to thespecial coding circuit 114. An output of thespecial coding circuit 114 is input to theinverse MDCT circuit 26. An output of theinverse MDCT circuit 26 is input to the MDCT OLAsynthesis window circuit 28. An output of the MDCT OLAsynthesis window circuit 28 is input to theDAC 40, which provides an analog signal to theoutput device 42. - In the
system 140, time-domain aliasing is removed by the mapping to the DFT domain via the MDCT-to-DFT converter 52 and reintroduced by the mapping back to the MDCT domain via the DFT-to-MDCT converter 142. This reintroduced aliasing is cancelled in the OLA synthesis window circuit 28 (via the synthesis window function ƒ[n]). The analysis and synthesis window functions implemented by the MDCT-to-DFT converter 52 and the OLAsynthesis window circuit 28, respectively, satisfy the MDCT perfect reconstruction conditions (see equations (2) through (6)). Note that the synthesis window function ƒ[n] is explicitly shown as aprocessing block 28, and that the relevant analysis window function (w[n]) is implemented in the MDCT-to-DFT converter 52. - In the present embodiment, the
encoder 20 implements a signal compression algorithm to compress the MDCT signal (XN[i+2, k]) output from theforward MDCT circuit 18. The resulting signal is called a compression-domain signal. Rather than directly modifying the compression-domain signal at the output of theencoder 20 or at the output of theMDCT circuit 18, the compression-domain signal is decoded via thedecoder 24 and then converted to a suitable modification domain, which is the DFT domain in the present embodiment. Conversion of a signal from the compression domain (the MDCT domain) to the modification domain (DFT domain) is implemented directly by the MDCT-to-DFT converter 52. - After the MDCT-to-
DFT converter 52 converts an input MDCT signal to the DFT domain, themodification circuit 34 selectively modifies signal components of the resulting DFT signal. After signal component modification, the modified signal may be converted back to the time domain via an overlap-add process as done in theaudio system 50 of FIG. 2. Alternatively, as done in theaudio system 140 of FIG. 7, the modified DFT signal output by themodification circuit 34 may be converted back to the MDCT domain, where coding may again be performed if desired (for efficient storage or transmission of the modified signal). Additional coding is often desirable if a channel or memory (now shown) exists after the DFT-to-MDCT converter 52. - The DFT signal is converted back to an MDCT signal via the direct DFT-to-
MDCT converter 142. The additional coding is implemented by thespecial coding circuit 114. Thespecial coding circuit 114 may be omitted without departing from the scope of the present invention. -
-
-
-
-
- where Re{Z} gives the real part of the complex number z.
- Equation (66) above is employed by the DFT-to-
MDCT converter 142 to convert a DFT input signal to an MDCT output signal, which is input to thespecial coding circuit 114 or directly to theinverse MDCT circuit 26. Note that equation (66) is generally not employed directly, since the input DFT from the MDCT-to-DFT converter 52 is a size−N even DFT; direct use of equation (66) would require deriving a size−2N even DFT or a size−N odd DFT in the MDCT-to-DFT converter 52. However, both of these options are simple extensions of the DFT-to-MDCT converter 52 presented here, and may be implemented by one skilled in the art with access to the present teachings without undue experimentation. - After additional coding via the
special coding circuit 114 or directly after DFT-to-MDCT conversion via the DFT-to-MDCT converter 142, the resulting MDCT signal is converted back to the time domain via theinverse MDCT circuit 26 and MDCT OLAsynthesis window circuit 28. The resulting digital time-domain signal is then converted to an analog signal via theDAC 40, which is input to theoutput device 42. - The various analysis and synthesis window functions h[n], ƒ[n], w[n], v[n], employed by the MDCT
analysis window circuit 16, the MDCT OLAsynthesis window circuit 28, the DFT OLAanalysis window circuit 38, respectively of FIG. 1 and selectively combined in FIGS. 2, 4, and 6, are chosen to satisfy certain reconstruction conditions suitable for a given application. Those skilled in the art will appreciate that different types of window functions that satisfy appropriate reconstruction conditions may be employed in the present invention without departing from the scope thereof. - The MDCT-to-
DFT converter 52 of FIGS. 2 and 7 employs less memory than the correspondingcircuits 26 through 32 of FIG. 1 and may require fewer and more cost-effective circuit components to implement. The MDCT-to-DFT converter 52 employs a mapping method to map directly from the MDCT to the DFT domains, while thecircuits 26 through 32 of FIG. 1 employ a brute-force transform-domain conversion method requiring intermediate time-domain conversion. The number of multiplications and required memory for the brute-force and mapping methods are summarized in Table I:TABLE I Method Operation Multiplications Memory Brute- Force IMDCT 3N/2 MDCT OLA Synthesis Window [n] N 2N DFT Analysis Window w[n] N N/2 DFT N/2 Total 9N/2 Mapping Fast Transform 3N/2 Product Terms 2N 2N IDFT N/2 Total 4N - Hence, the memory savings obtained by using the MDCT-to-
DFT converter 52 of FIG. 6 is on the order of N/2, which may be significant in some applications. - Table II, below, provides a specific source code embodiment that includes aspects of the present invention. The example source code converts a TDAC/MDCT representation to a DFT representation. Note that many other arrangements of instructions, different computer languages, processing systems, etc., can be used to achieve the present invention.
- Thus, the present invention has been described herein with reference to a particular embodiment for a particular application. Those having ordinary skill in the art and access to the present teachings will recognize additional modifications, applications, and embodiments within the scope thereof.
- It is therefore intended by the appended claims to cover any and all such applications, modifications and embodiments within the scope of the present invention.
TABLE II do_dft_synth = 1; %% 0: returns to tdac domain for synth simplify = 0; %% incorporates further simplifications N = 8; NN = 8*N; n = [0:1:NN−1]′; x = 0.75*square((n.{circumflex over ( )}0.97−0.3)/2); x = x.*sin(pi*(n.{circumflex over ( )}1.1 + 0.5)/8); % test signal % parameters and necessary functions k = [0:1:N−1]′; L = N/2; n0 = (L+1)/2; neg = (−1).{circumflex over ( )}k; ph = exp(j*2*pi*n0*(k+0.5)/N); phn = −j*neg.*ph; phn_real = real(phn(1:L)); phn_imag = imag(phn(1:L)); h = sqrt(2)*sin((pi/N)*(k+0.5)); f = h; mask = [−1*ones(L,1); ones(L,1)]; % windows if do_dft_synth, w = triang(N); % for dft synthesis else w = h; % for tdac synthesis end; % derive modified window functions for computation wf0 = w.*[f([(L+1):N]); zeros(L,1)]; wf1 = w.*f; wf2 = w.*[zeros(L,1); f([1:L])]; if simplify, ph_mod = ones(N,1); else ph_mod = exp(−j*pi*k/N); end; wf0_mod = zeros(N,1); wf1_mod = zeros(N,1); wf2_mod = zeros(N,1); wf0_mod(1) = wf0(1); wf0_mod(2:N) = −wf0(N:−1:2); wf0_mod = ph_mod .* wf0_mod; wf1_mod(1) = wf1(1); wf1_mod(2:N) = −wf1(N:−1:2); wf1_mod = ph_mod .* wf1_mod; wf2_mod(1) = wf2(1); wf2_mod(2:N) = −wf2(N:−1:2); wf2_mod = ph_mod .* wf2_mod; wf0_index = [1 [(L+2):N]]; wf2_index = [2:(L+1)]; wf_0_mod_real = real(wf0_mod(wf0_index)); wf_0_mod_imag = imag(wf0_mod(wf0_index)); wf_2_mod_real = real(wf2_mod(wf2_index)); wf_2_mod_imag = imag(wf2_mod(wf2_index)); wf_1_mod_real = real(wf1_mod); wf_1_mod_imag = imag(wf1_mod); % memory allocation xr = zeros(2*NN,1); xr_dft = zeros(2*NN,1); Xm2 = zeros(N,1); Xm2half = zeros(L,1); Xm2_dft = zeros(N,1); Xm0_dft_real = zeros(N,1); Xm1_dft_real = zeros(N,1); Xm2_dft_real = zeros(N,1); Xm0_dft_imag = zeros(N,1); Xm1_dft_imag = zeros(N,1); Xm2_dft_imag = zeros(N,1); Xdft_from_mdct = zeros(N,1); %% for dft synth Xdft_from_mdct_2 = zeros(2*N,1); %% for mdct synth Xmdct_from_dft = zeros(N,1); %% mdct re-derived from dft i = 0; % time index keep_going = 1; % loop flag if simplify, ph_mod = exp(−j*pi*k/N); end; while keep_going, range = [(i+1):(i+N)]; xseg = h.*x(range); Xm2 = mdctA(xseg); Xm2half = Xm2(1:L); % mdct is odd-symmetric for N = 4c %% direct mdct synthesis and overlap-add xr_seg = f.*imdctA([Xm2half; −flipud(Xm2half)]); xr(range) = xr(range) + xr_seg; i = i + L; if i+N > NN, keep_going = 0; end; % derive dft of original frame data using dft/idft Xm2half = Xm2half.*phn_real + j*(Xm2half.*phn_imag); Xm2_dft = fft([Xm2half; conj(flipud(Xm2half))],N); if simplify, Xm2_dft_real = ... real(Xm2_dft).*real(ph_mod) − ... imag(Xm2_dft).*imag(ph_mod); else Xm2_dft_real = real(Xm2_dft); Xm2_dft_imag = imag(Xm2_dft); end; temp = zeros(N,1); if simplify, temp(wf0_index) = ... Xm0_dft_real(wf0_index).*wf0_mod_real; temp(wf2_index) = ... Xm2_dft_real(wf2_index).*wf2_mod_real; temp = temp + ... Xm1_dft_real.*wf1_mod_real; else temp(wf0_index) = ... Xm0_dft_real(wf0_index).*wf0_mod_real − ... Xm0_dft_imag(wf0_index).*wf0_mod_imag; temp(wf2_index) = ... Xm2_dft_real(wf2_index).*wf2_mod_real − ... Xm2_dft_imag(wf2_index).*wf2_mod_imag; temp = temp + ... Xm1_dft_real.*wf1_mod_real − ... Xm1_dft_imag.*wf1_mod_imag; end; Xdft_from_mdct = ifft(temp,N); %% could be done in-place xr_dft_seg = real(ifft(Xdft_from_mdct,N)); if do_dft_synth, xr_dft(range) = xr_dft(range) + xr_dft_seg; else %% for synthesis using mdct, need 2x oversampled dft. %% may be able to derive directly as above. Xdft_from_mdct_2 = fft(xr_dft_seg,2*N); Xmdct_from_dft = real(ph.*conj(Xdft_from_mdct_2((2*k+1)+1))); xr_dft_seg = f.*imdctA(Xmdct_from_dft); xr_dft(range) = xr_dft(range) + xr_dft_seg; end; % buffer advancement updates if simplify==0, Xm0_dft_real = −fftshift(Xm1_dft_imag); Xm0_dft_imag = fftshift(Xm1_dft_real); Xm1_dft_real = −fftshift(Xm2_dft_imag); Xm1_dft_imag = fftshift(Xm2_dft_real); else Xm0_dft_real = mask.*fftshift(Xm1_dft_real); Xm1_dft_real = mask.*fftshift(Xm2_dft_real); end; end; figure(1) subplot(211) plot(n,x,n,xr(n+1)); title(‘Direct MDCT reconstruction’); subplot(212) plot(n,x,n,xr_dft(L+n+1)); if do_dft_synth title(‘Reconstruction based on DFT’); else title(‘Reconstruction based on TDAC’); end;
Claims (40)
1. A system for efficiently converting a signal from a first transform-domain representation to a second transform-domain representation comprising:
first means for obtaining an input signal expressed via said first transform-domain signal representation and
second means for expressing said input signal via a second transform-domain signal representation without intermediate time-domain conversion, in response to the receipt of said input signal.
2. The system of claim 1 wherein said first transform-domain signal representation represents a Modified Discrete Cosine Transform (MDCT) signal, and said second transform-domain signal representation represents a Discrete Fourier Transform (DFT) signal.
3. The system of claim 2 wherein said second means further includes third means for combining effects of an Inverse Modified Discrete Cosine Transform (IMDCT), a synthesis window function, and an analysis window function and providing a first signal in response thereto.
4. The system of claim 3 wherein said second means further includes fourth means for converting said MDCT signal to a DFT signal based on said first signal.
5. The system of claim 4 wherein said synthesis window function is an MDCT synthesis window function associated with said MDCT signal, and wherein said analysis window function is a DFT analysis window function associated with a DFT domain.
6. The system of claim 5 wherein said fourth means includes a means for performing a fast transform on said MDCT signal and providing a first transformed signal in response thereto.
7. The system of claim 6 wherein said first transformed signal is characterized by the following equation:
where gi[r] represents said first transformed signal; k and r are integer index variables; j={square root}{square root over (−1)}; FN{ }is an N-point DFT function; XN[i,k] represents an N-point MDCT associated with an ith frame of said MDCT signal; N is the length of the N-point MDCT; and øk is a phase term defined by
where
8. The system of claim 6 wherein said means for performing a fast transform includes means for computing said first transformed signal via a quarter point complex inverse DFT.
9. The system of claim 8 wherein said first transformed signal is computed in accordance with the following expressions via said means for computing said first transformed signal:
where
and
where
are the even samples of the first transformed signal for the first half of the ith frame;
are the even samples of the first transformed signal for the second half of the ith frame; Bi[r] represents the odd samples of the first transformed signal; and where
is a quarter-point complex inverse DFT function.
10. The system of claim 7 wherein said fourth means further includes means for selectively delaying and updating said first transformed signal to yield second and third transformed signals, respectively, in response thereto.
13. The system of claim 10 wherein said fourth means further includes means for operating on said first, second, and third transformed signals via third, second, and first combined window functions, respectively, and providing third, second, and first windowed signals, respectively, in response thereto.
14. The system of claim 13 wherein said first combined window function (σ0[r]) is defined in accordance with the following equation:
where 0≦r≦N−1 and w[r] and ƒ[r] are zero outside this interval; w[r] represents said analysis window function; ƒ[r] represents said synthesis window function; and r and N are as defined above.
15. The system of claim 14 wherein said second combined window function (σ1[r]) is defined in accordance with the following equation:
σ1 [r]=w[−r]ƒ[−r]−w[N−r]ƒ[N−r].
17. The system of claim 13 wherein said fourth means includes an adder for adding said first, second, and third windowed functions and providing an added digital signal in response thereto.
18. The system of claim 17 wherein said fourth means further includes means for performing an Inverse Discrete Fourier Transform (IDFT) on said added digital signal and providing said DFT signal as output in response thereto.
19. A system for facilitating compression-domain modification of a digital signal comprising:
first means for converting a compression-domain signal to a modification-domain signal without intermediate time-domain conversion and
second means for modifying signal components of said modification-domain signal and providing a modified modification-domain signal in response thereto.
20. The system of claim 19 wherein said compression-domain signal is a Modified Discrete Cosine Transform (MDCT) signal; said modification-domain signal is a Discrete Fourier Transform (DFT) signal; and said modified modification-domain signal is a modified DFT signal.
21. The system of claim 20 further including third means for converting said modified DFT signal to a desired domain and providing an output signal in response thereto.
22. The system of claim 21 wherein said desired domain is the MDCT domain.
23. The system of claim 21 wherein said desired domain is the time domain.
24. An efficient digital system for facilitating coding and signal component modification comprising:
first means for converting a time-domain digital input signal to a first frequency domain that accommodates coding and providing a first transform-domain digital signal in response thereto;
second means for coding said first transform-domain digital signal and providing an encoded signal in response thereto;
third means for decoding said encoded signal and providing a decoded signal in response thereto;
fourth means for transforming said decoded signal from a first transform domain directly to a second transform domain for accommodating signal component modification and providing a second transform-domain digital signal in response thereto;
sixth means for modifying components of said second transform-domain digital signal and providing a modified signal in response thereto; and
seventh means for converting said modified signal to a digital output time-domain signal.
25. The system of claim 24 wherein said first means further includes an analog-to-digital converter for converting an analog input signal into said time-domain digital input signal.
26. The system of claim 25 wherein said seventh means further includes means for converting said digital output time-domain signal to an analog output signal.
27. The system of claim 25 wherein said second means for coding includes an encoder for performing signal compression via psychoacoustics, quantization, and/or entropy coding.
28. The system of claim 27 further including eighth means for transferring said encoded signal through an intermediate medium before implementation of said third means.
29. The system of claim 28 wherein said intermediate medium is a channel.
30. The system of claim 29 wherein said intermediate medium is a memory.
31. The system of claim 24 wherein said first transform domain is the Modified Discrete Cosine Transform (MDCT) domain.
32. The system of claim 31 wherein said second transform domain is the Discrete Fourier Transform (DFT) domain.
33. The system of claim 32 wherein said fourth means includes an MDCT-to-DFT conversion circuit for implementing the following conversion function:
χN [i+1,l]=F N −1{σ0 [r]{double overscore (g)} i [r]+σ 1 [r]{overscore (g)} i+1 [r]+σ 2 [r]g i+2 [r]}
where χN[i+1,l] is the N-point DFT for frame i+1 of said decoded signal; i is an integer frame index; l is an integer variable representing the frequency index of χN[i,l]; N is a predetermined integer corresponding to the length of said N-point DFT; FN −1 is an N-point inverse DFT function that operates on σ0[r]{double overscore (g)}i[r]+σ1[r]{overscore (g)}i+1[r]+σ2[r]gi+2[r]; r is an integer variable representing an index into the sequence to be processed by the inverse DFT; σ0[r], σ1[r], and σ2[r] are a first, second and third combined window functions, respectively, that represents the combined effects of a predetermined MDCT synthesis window function and a DFT analysis window function associated with a first frame, a second frame, and a third frame, respectively; gi+2[r] is a function of a DFT of an MDCT associated with an i+2 frame of said decoded signal; {overscore (g)}i+1[r] is a delayed version of a gi+1[r] function associated with an i+1 frame of said decoded signal; {double overscore (g)}i[r] is a delayed version of {overscore (g)}i[r], which is a delayed version of a gi[r] function associated with an ith frame of said decoded signal.
34. A system for efficiently transforming a digital signal from the Modified Discrete Cosine Transform (MDCT) domain to the Discrete Fourier Transform (DFT) domain comprising:
a fast transform circuit in communication with an input MDCT digital signal in an MDCT domain;
a first delay and update circuit having an input connected to an output of said fast transform circuit;
a second delay and update circuit having an input connected to an output of said first delay and update circuit;
a first combined window multiplier incorporating a first MDCT synthesis window function and a first DFT analysis window function and having an input connected to an output of said second delay and update circuit;
a second combined window multiplier incorporating a second MDCT synthesis window function and a second DFT analysis window function and having an input connected to an output of said first delay and update circuit;
a third combined window multiplier incorporating a third MDCT synthesis window function and a third DFT analysis window function and having an input connected to an output of said fast transform circuit;
an adder having inputs connected to outputs of said first combined window multiplier, said second combined window multiplier, and said third combined window multiplier; and
an Inverse Discrete Fourier Transform (IDFT) circuit having an input connected to an output of said adder, an output of said IDFT circuit representing a DFT signal associated with said input MDCT digital signal.
35. An efficient method for facilitating coding and signal component modification of a digital signal comprising the steps of:
converting a time-domain digital input signal to a first frequency domain that accommodates coding and providing a first transform-domain digital signal in response thereto;
coding said first transform-domain digital signal and providing an encoded signal in response thereto;
transferring said encoded signal through an intermediate medium;
decoding said encoded signal and providing a decoded signal in response thereto;
transforming said decoded signal from a first transform domain directly to a second transform domain that accommodates signal component modification and providing a second transform-domain digital signal in response thereto;
modifying components of said second transform-domain digital signal and providing a modified signal in response thereto; and
converting said modified signal to a digital output time-domain signal.
36. The method of claim 35 wherein said first transform domain is a compression domain.
37. The method of claim 36 wherein said second transform domain is a modification domain.
38. A method for efficiently converting a signal from a first transform domain to a second transform domain comprising the steps of:
determining steps required to convert a first signal from said first transform domain to a time domain and then to a second transform domain and
selectively combining said steps to eliminate intermediate time-domain conversion.
39. A method for converting a signal from a first transform domain to a second transform domain comprising the steps of:
determining an expression for a segment of an intermediate time-domain signal based on a first transform-domain signal expression, said expression incorporating a second transform-domain analysis window and a first transform-domain synthesis window;
applying a second transform associated with said second transform domain to said expression to yield a second transform-domain expression;
computing a first transform-domain function and a second transform-domain function from said second transform-domain expression;
expressing a second transform-domain signal in terms that may include a convolution of the first transform-domain function with the second transform-domain function and/or corresponding conjugate functions;
performing an inverse second transform of the product between the second transform of the first transform-domain function and the second transform of the second transform-domain function and/or the product between corresponding conjugate functions to yield a second transform-domain representation; and
employing a fast algorithm based on said second transform-domain representation and symmetry thereof to compute a second transform-domain signal corresponding to said first transform-domain signal.
40. The method of claim 39 further including the step of employing said first transform-domain signal as computed for a first frame to determine transform-domain signals for subsequent frames.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/948,053 US6963842B2 (en) | 2001-09-05 | 2001-09-05 | Efficient system and method for converting between different transform-domain signal representations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/948,053 US6963842B2 (en) | 2001-09-05 | 2001-09-05 | Efficient system and method for converting between different transform-domain signal representations |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030093282A1 true US20030093282A1 (en) | 2003-05-15 |
US6963842B2 US6963842B2 (en) | 2005-11-08 |
Family
ID=25487181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/948,053 Expired - Lifetime US6963842B2 (en) | 2001-09-05 | 2001-09-05 | Efficient system and method for converting between different transform-domain signal representations |
Country Status (1)
Country | Link |
---|---|
US (1) | US6963842B2 (en) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233234A1 (en) * | 2002-06-17 | 2003-12-18 | Truman Michael Mead | Audio coding system using spectral hole filling |
US20040088160A1 (en) * | 2002-10-30 | 2004-05-06 | Samsung Electronics Co., Ltd. | Method for encoding digital audio using advanced psychoacoustic model and apparatus thereof |
US20050137730A1 (en) * | 2003-12-18 | 2005-06-23 | Steven Trautmann | Time-scale modification of audio using separated frequency bands |
US20050165587A1 (en) * | 2004-01-27 | 2005-07-28 | Cheng Corey I. | Coding techniques using estimated spectral magnitude and phase derived from mdct coefficients |
US20050175179A1 (en) * | 2004-02-10 | 2005-08-11 | Mustafa Kesal | Media watermarking by biasing randomized statistics |
WO2005073959A1 (en) * | 2004-01-28 | 2005-08-11 | Koninklijke Philips Electronics N.V. | Audio signal decoding using complex-valued data |
US20050180522A1 (en) * | 2004-02-13 | 2005-08-18 | Carroll Thomas L. | Method and system for high bandwidth-efficiency communications using signals having positive entropy |
FR2875351A1 (en) * | 2004-09-16 | 2006-03-17 | France Telecom | METHOD OF PROCESSING DATA BY PASSING BETWEEN DOMAINS DIFFERENT FROM SUB-BANDS |
US7065485B1 (en) * | 2002-01-09 | 2006-06-20 | At&T Corp | Enhancing speech intelligibility using variable-rate time-scale modification |
US20070098185A1 (en) * | 2001-04-10 | 2007-05-03 | Mcgrath David S | High frequency signal construction method and apparatus |
US20070100610A1 (en) * | 2004-04-30 | 2007-05-03 | Sascha Disch | Information Signal Processing by Modification in the Spectral/Modulation Spectral Range Representation |
US20080027729A1 (en) * | 2004-04-30 | 2008-01-31 | Juergen Herre | Watermark Embedding |
US20090307294A1 (en) * | 2006-05-19 | 2009-12-10 | Guillaume Picard | Conversion Between Sub-Band Field Representations for Time-Varying Filter Banks |
US20110004479A1 (en) * | 2009-01-28 | 2011-01-06 | Dolby International Ab | Harmonic transposition |
US20110046963A1 (en) * | 2009-08-18 | 2011-02-24 | Samsung Electronics Co., Ltd. | Multi-channel audio decoding method and apparatus therefor |
US20130246492A1 (en) * | 2010-03-11 | 2013-09-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Signal processor, window provider, encoded media signal, method for processing a signal and method for providing a window |
US20140032226A1 (en) * | 2012-07-24 | 2014-01-30 | Samsung Electronics Co., Ltd. | Method and apparatus for processing audio data |
USRE45276E1 (en) | 2006-10-18 | 2014-12-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
US20150036679A1 (en) * | 2012-03-23 | 2015-02-05 | Dolby Laboratories Licensing Corporation | Methods and apparatuses for transmitting and receiving audio signals |
CN104656494A (en) * | 2013-11-19 | 2015-05-27 | 北大方正集团有限公司 | Signal real-time processing device |
US20160163323A1 (en) * | 2013-08-23 | 2016-06-09 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for processing an audio signal using a combination in an overlap range |
US20170365266A1 (en) * | 2015-03-09 | 2017-12-21 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Decoder for Decoding an Encoded Audio Signal and Encoder for Encoding an Audio Signal |
US10149240B2 (en) * | 2015-07-17 | 2018-12-04 | Tejas Networks Ltd. | Communication system and method for achieving low peak-to-average power ratio |
US11562755B2 (en) | 2009-01-28 | 2023-01-24 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
US11837246B2 (en) | 2009-09-18 | 2023-12-05 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL127569A0 (en) * | 1998-09-16 | 1999-10-28 | Comsense Technologies Ltd | Interactive toys |
US6607136B1 (en) | 1998-09-16 | 2003-08-19 | Beepcard Inc. | Physical presence digital authentication system |
CA2345745A1 (en) | 1998-10-02 | 2000-04-13 | Comsense Technologies, Ltd. | Card for interaction with a computer |
US8019609B2 (en) | 1999-10-04 | 2011-09-13 | Dialware Inc. | Sonic/ultrasonic authentication method |
US9219708B2 (en) | 2001-03-22 | 2015-12-22 | DialwareInc. | Method and system for remotely authenticating identification devices |
US6980147B2 (en) * | 2003-04-07 | 2005-12-27 | Photon Products, Inc. | Channelized analog-to-digital converter |
US7516064B2 (en) * | 2004-02-19 | 2009-04-07 | Dolby Laboratories Licensing Corporation | Adaptive hybrid transform for signal analysis and synthesis |
US7584396B1 (en) | 2005-12-27 | 2009-09-01 | At&T Corp. | System and method for decoding a signal using compressed sensor measurements |
US7450032B1 (en) | 2005-12-27 | 2008-11-11 | At & T Intellectual Property Ii, L.P. | System and method for encoding a signal using compressed sensor measurements |
JP5328804B2 (en) * | 2007-12-21 | 2013-10-30 | フランス・テレコム | Transform-based encoding / decoding with adaptive windows |
EP2099027A1 (en) * | 2008-03-05 | 2009-09-09 | Deutsche Thomson OHG | Method and apparatus for transforming between different filter bank domains |
EP2410522B1 (en) * | 2008-07-11 | 2017-10-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio signal encoder, method for encoding an audio signal and computer program |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
MY154452A (en) | 2008-07-11 | 2015-06-15 | Fraunhofer Ges Forschung | An apparatus and a method for decoding an encoded audio signal |
JP5555707B2 (en) * | 2008-10-08 | 2014-07-23 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | Multi-resolution switching audio encoding and decoding scheme |
CA2778240C (en) | 2009-10-20 | 2016-09-06 | Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-mode audio codec and celp coding adapted therefore |
MX343673B (en) | 2013-04-05 | 2016-11-16 | Dolby Int Ab | Audio encoder and decoder. |
KR102156798B1 (en) * | 2014-01-16 | 2020-09-16 | 삼성전자주식회사 | Method and its apparatus for controlling the terminal's timing in wireless communication system |
EP2980797A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5651093A (en) * | 1992-03-06 | 1997-07-22 | Sony Corporation | Method of processing audio signal |
US6356211B1 (en) * | 1997-05-13 | 2002-03-12 | Sony Corporation | Encoding method and apparatus and recording medium |
US6415251B1 (en) * | 1997-07-11 | 2002-07-02 | Sony Corporation | Subband coder or decoder band-limiting the overlap region between a processed subband and an adjacent non-processed one |
US6518891B2 (en) * | 1999-12-10 | 2003-02-11 | Sony Corporation | Encoding apparatus and method, recording medium, and decoding apparatus and method |
-
2001
- 2001-09-05 US US09/948,053 patent/US6963842B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5651093A (en) * | 1992-03-06 | 1997-07-22 | Sony Corporation | Method of processing audio signal |
US6356211B1 (en) * | 1997-05-13 | 2002-03-12 | Sony Corporation | Encoding method and apparatus and recording medium |
US6415251B1 (en) * | 1997-07-11 | 2002-07-02 | Sony Corporation | Subband coder or decoder band-limiting the overlap region between a processed subband and an adjacent non-processed one |
US6518891B2 (en) * | 1999-12-10 | 2003-02-11 | Sony Corporation | Encoding apparatus and method, recording medium, and decoding apparatus and method |
Cited By (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070098185A1 (en) * | 2001-04-10 | 2007-05-03 | Mcgrath David S | High frequency signal construction method and apparatus |
US7685218B2 (en) | 2001-04-10 | 2010-03-23 | Dolby Laboratories Licensing Corporation | High frequency signal construction method and apparatus |
US7065485B1 (en) * | 2002-01-09 | 2006-06-20 | At&T Corp | Enhancing speech intelligibility using variable-rate time-scale modification |
US20030233234A1 (en) * | 2002-06-17 | 2003-12-18 | Truman Michael Mead | Audio coding system using spectral hole filling |
US8050933B2 (en) | 2002-06-17 | 2011-11-01 | Dolby Laboratories Licensing Corporation | Audio coding system using temporal shape of a decoded signal to adapt synthesized spectral components |
US8032387B2 (en) | 2002-06-17 | 2011-10-04 | Dolby Laboratories Licensing Corporation | Audio coding system using temporal shape of a decoded signal to adapt synthesized spectral components |
US20090144055A1 (en) * | 2002-06-17 | 2009-06-04 | Dolby Laboratories Licensing Corporation | Audio Coding System Using Temporal Shape of a Decoded Signal to Adapt Synthesized Spectral Components |
US20090138267A1 (en) * | 2002-06-17 | 2009-05-28 | Dolby Laboratories Licensing Corporation | Audio Coding System Using Temporal Shape of a Decoded Signal to Adapt Synthesized Spectral Components |
US7447631B2 (en) * | 2002-06-17 | 2008-11-04 | Dolby Laboratories Licensing Corporation | Audio coding system using spectral hole filling |
US20040088160A1 (en) * | 2002-10-30 | 2004-05-06 | Samsung Electronics Co., Ltd. | Method for encoding digital audio using advanced psychoacoustic model and apparatus thereof |
US7523039B2 (en) * | 2002-10-30 | 2009-04-21 | Samsung Electronics Co., Ltd. | Method for encoding digital audio using advanced psychoacoustic model and apparatus thereof |
US20050137730A1 (en) * | 2003-12-18 | 2005-06-23 | Steven Trautmann | Time-scale modification of audio using separated frequency bands |
KR101184992B1 (en) | 2004-01-27 | 2012-10-02 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | Improved coding techniques using estimated spectral magnitude and phase derived from mdct coefficients |
AU2005208287B2 (en) * | 2004-01-27 | 2010-02-18 | Dolby Laboratories Licensing Corporation | Improved coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients |
USRE46684E1 (en) | 2004-01-27 | 2018-01-23 | Dolby Laboratories Licensing Corporation | Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients |
USRE44126E1 (en) | 2004-01-27 | 2013-04-02 | Dolby Laboratories Licensing Corporation | Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients |
US20050165587A1 (en) * | 2004-01-27 | 2005-07-28 | Cheng Corey I. | Coding techniques using estimated spectral magnitude and phase derived from mdct coefficients |
USRE42935E1 (en) | 2004-01-27 | 2011-11-15 | Dolby Laboratories Licensing Corporation | Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients |
US6980933B2 (en) | 2004-01-27 | 2005-12-27 | Dolby Laboratories Licensing Corporation | Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients |
WO2005073960A1 (en) | 2004-01-27 | 2005-08-11 | Dolby Laboratories Licensing Corporation | Improved coding techniques using estimated spectral magnitude and phase derived from mdct coefficients |
USRE48210E1 (en) | 2004-01-27 | 2020-09-15 | Dolby Laboratories Licensing Corporation | Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients |
USRE48271E1 (en) | 2004-01-27 | 2020-10-20 | Dolby Laboratories Licensing Corporation | Coding techniques using estimated spectral magnitude and phase derived from MDCT coefficients |
US20080249765A1 (en) * | 2004-01-28 | 2008-10-09 | Koninklijke Philips Electronic, N.V. | Audio Signal Decoding Using Complex-Valued Data |
WO2005073959A1 (en) * | 2004-01-28 | 2005-08-11 | Koninklijke Philips Electronics N.V. | Audio signal decoding using complex-valued data |
US7539870B2 (en) * | 2004-02-10 | 2009-05-26 | Microsoft Corporation | Media watermarking by biasing randomized statistics |
US20050175179A1 (en) * | 2004-02-10 | 2005-08-11 | Mustafa Kesal | Media watermarking by biasing randomized statistics |
US20050180522A1 (en) * | 2004-02-13 | 2005-08-18 | Carroll Thomas L. | Method and system for high bandwidth-efficiency communications using signals having positive entropy |
US7676336B2 (en) * | 2004-04-30 | 2010-03-09 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Watermark embedding |
US7574313B2 (en) * | 2004-04-30 | 2009-08-11 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Information signal processing by modification in the spectral/modulation spectral range representation |
US20080027729A1 (en) * | 2004-04-30 | 2008-01-31 | Juergen Herre | Watermark Embedding |
US20070100610A1 (en) * | 2004-04-30 | 2007-05-03 | Sascha Disch | Information Signal Processing by Modification in the Spectral/Modulation Spectral Range Representation |
US20090198753A1 (en) * | 2004-09-16 | 2009-08-06 | France Telecom | Data processing method by passage between different sub-band domains |
US8639735B2 (en) | 2004-09-16 | 2014-01-28 | France Telecom | Data processing method by passage between different sub-band domains |
FR2875351A1 (en) * | 2004-09-16 | 2006-03-17 | France Telecom | METHOD OF PROCESSING DATA BY PASSING BETWEEN DOMAINS DIFFERENT FROM SUB-BANDS |
WO2006032740A1 (en) * | 2004-09-16 | 2006-03-30 | France Telecom | Data processing method by passage between different sub-band domains |
US20090307294A1 (en) * | 2006-05-19 | 2009-12-10 | Guillaume Picard | Conversion Between Sub-Band Field Representations for Time-Varying Filter Banks |
USRE45277E1 (en) | 2006-10-18 | 2014-12-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
USRE45339E1 (en) | 2006-10-18 | 2015-01-13 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
USRE45276E1 (en) | 2006-10-18 | 2014-12-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
USRE45526E1 (en) | 2006-10-18 | 2015-05-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
USRE45294E1 (en) | 2006-10-18 | 2014-12-16 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
US9236061B2 (en) * | 2009-01-28 | 2016-01-12 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
US20110004479A1 (en) * | 2009-01-28 | 2011-01-06 | Dolby International Ab | Harmonic transposition |
US11100937B2 (en) | 2009-01-28 | 2021-08-24 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
US10600427B2 (en) | 2009-01-28 | 2020-03-24 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
US10043526B2 (en) | 2009-01-28 | 2018-08-07 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
US11562755B2 (en) | 2009-01-28 | 2023-01-24 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
US8433584B2 (en) * | 2009-08-18 | 2013-04-30 | Samsung Electronics Co., Ltd. | Multi-channel audio decoding method and apparatus therefor |
US20110046963A1 (en) * | 2009-08-18 | 2011-02-24 | Samsung Electronics Co., Ltd. | Multi-channel audio decoding method and apparatus therefor |
US11837246B2 (en) | 2009-09-18 | 2023-12-05 | Dolby International Ab | Harmonic transposition in an audio coding method and system |
US20130246492A1 (en) * | 2010-03-11 | 2013-09-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Signal processor, window provider, encoded media signal, method for processing a signal and method for providing a window |
US9252803B2 (en) * | 2010-03-11 | 2016-02-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Signal processor, window provider, encoded media signal, method for processing a signal and method for providing a window |
US20150036679A1 (en) * | 2012-03-23 | 2015-02-05 | Dolby Laboratories Licensing Corporation | Methods and apparatuses for transmitting and receiving audio signals |
US9916837B2 (en) * | 2012-03-23 | 2018-03-13 | Dolby Laboratories Licensing Corporation | Methods and apparatuses for transmitting and receiving audio signals |
US10083699B2 (en) * | 2012-07-24 | 2018-09-25 | Samsung Electronics Co., Ltd. | Method and apparatus for processing audio data |
US20140032226A1 (en) * | 2012-07-24 | 2014-01-30 | Samsung Electronics Co., Ltd. | Method and apparatus for processing audio data |
US10210879B2 (en) | 2013-08-23 | 2019-02-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Andewandten Forschung E.V. | Apparatus and method for processing an audio signal using an aliasing error signal |
US10157624B2 (en) * | 2013-08-23 | 2018-12-18 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for processing an audio signal using a combination in an overlap range |
US20160163323A1 (en) * | 2013-08-23 | 2016-06-09 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for processing an audio signal using a combination in an overlap range |
CN104656494A (en) * | 2013-11-19 | 2015-05-27 | 北大方正集团有限公司 | Signal real-time processing device |
US10706864B2 (en) | 2015-03-09 | 2020-07-07 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Decoder for decoding an encoded audio signal and encoder for encoding an audio signal |
US10236008B2 (en) * | 2015-03-09 | 2019-03-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Decoder for decoding an encoded audio signal and encoder for encoding an audio signal |
US11335354B2 (en) | 2015-03-09 | 2022-05-17 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Decoder for decoding an encoded audio signal and encoder for encoding an audio signal |
US20170365266A1 (en) * | 2015-03-09 | 2017-12-21 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Decoder for Decoding an Encoded Audio Signal and Encoder for Encoding an Audio Signal |
US11854559B2 (en) | 2015-03-09 | 2023-12-26 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Decoder for decoding an encoded audio signal and encoder for encoding an audio signal |
US10149240B2 (en) * | 2015-07-17 | 2018-12-04 | Tejas Networks Ltd. | Communication system and method for achieving low peak-to-average power ratio |
Also Published As
Publication number | Publication date |
---|---|
US6963842B2 (en) | 2005-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6963842B2 (en) | Efficient system and method for converting between different transform-domain signal representations | |
JP4939424B2 (en) | Audio signal encoding and decoding using complex-valued filter banks | |
US8655670B2 (en) | Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction | |
JP4220461B2 (en) | Method and apparatus for generating upsampled signals of temporally discrete speech signals | |
KR101056253B1 (en) | Apparatus and method for generating audio subband values and apparatus and method for generating time domain audio samples | |
JP3203250B2 (en) | Digital filter bank with low computational complexity | |
US9037454B2 (en) | Efficient coding of overcomplete representations of audio using the modulated complex lapped transform (MCLT) | |
US8392200B2 (en) | Low complexity spectral band replication (SBR) filterbanks | |
US7707030B2 (en) | Device and method for generating a complex spectral representation of a discrete-time signal | |
US20080249765A1 (en) | Audio Signal Decoding Using Complex-Valued Data | |
JP3814611B2 (en) | Method and apparatus for processing time discrete audio sample values | |
US8700387B2 (en) | Method and system for efficient transcoding of audio data | |
CN103366749B (en) | A kind of sound codec devices and methods therefor | |
US20070016417A1 (en) | Method and apparatus to quantize/dequantize frequency amplitude data and method and apparatus to audio encode/decode using the method and apparatus to quantize/dequantize frequency amplitude data | |
EP1397798A1 (en) | Unified filter bank for audio coding | |
Britanak et al. | Cosine-/Sine-Modulated Filter Banks | |
EP2250642B1 (en) | Method and apparatus for transforming between different filter bank domains | |
JP4033906B2 (en) | Analytical / synthetic filtering system with efficient odd stacked single sideband filter banks using time domain aliasing cancellation | |
WO2023118138A1 (en) | Ivas spar filter bank in qmf domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CREATIVE TECHNOLOGY LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOODWIN, MICHAEL M.;REEL/FRAME:012561/0075 Effective date: 20011114 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |