ANALYSIS/SYNTHESIS FILTERING SYSTEM WITH EFFICIENT ODDLY-STACKED SINGLE-SIDEBAND FILTER BANK USING TIME-DOMAIN ALIASING CANCELLATION

Abstract: An efficient implementation of oddly-stacked critically-sampled single-sideband analysis/synthesis filter banks is achieved by application of a set of functions to time-domain and frequency-domain values before and after transformation. An implementation of an oddly-stacked Time Domain Aliasing Cancellation transform that permits the length of the transformation to be adaptively selected is disclosed.

Description: DESCRIPTION ANALYSIS/SYNTHESIS FILTERING SYSTEM WITH EFFICIENT ODDLY-STACKED SINGLE-SIDEBAND FILTER BANK USING TIME-DOMAIN ALIASING CANCELLATION Technical Field The invention relates in general to signal analysis filtering and signal synthesis filtering. More particularly, the invention relates to efficient implementation of filter banks such as oddly- stacked single-sideband analysis and synthesis filter banks with time-domain aliasing cancellation. The length of the filter bank may be adaptively selected. Throughout the following discussion and especially in the background discussion, more particular mention will be made of audio applications; however, the present invention is applicable to a broader range of applications including video. Background Art Introduction Efforts to develop more efficient means to transmit or store information has included reducing informational requirements, that is, reducing the amount of information required to adequately represent a signal during transmission or storage, and reducing processing resource requirements, that is, reducing the amount of processing required to implement the encoding and decoding processes. With respect to reducing informational requirements, many high-quality audio coding applications, for example, exploit various psychoacoustic effects. So called split-band coding techniques which divide the useful signal bandwidth into narrow bands with bandwidths approximating the human ear's critical bands can exploit psychoacoustic masking effects. Such split-band techniques divide the signal bandwidth with an analysis filter bank, process the signal passed by each filter band, and reconstruct a replica of the original signal with a synthesis filter bank. Two common split-band coding techniques are subband coding and transform coding. These techniques reduce informational requirements in particular frequency bands such that noise caused by the resulting coding inaccuracy is rendered inaudible by other spectral components. Subband coders may be implemented by a bank of digital bandpass filters defining subbands of varying bandwidth. Transform coders may be implemented by any of several time-domain to frequency-domain transforms. One or more adjacent transform coefficients are grouped together to define "subbands" having effective bandwidths which are sums of individual transform coefficient bandwidths. The mathematical basis for digital subband filter banks and block transforms is essentially the same. See Tribolet and Crochiere, "Frequency Domain Coding of Speech," IEEE Trans. Acoust.. Speech, and Signal Proc October, 1979, pp. 512-30. Each type of split-band processing can be expressed in terms of a transform applied to an interval or "block" of signal samples; therefore, throughout the following discussion, terms such as "filters" and "transforms" are generally interchangeable. The term "subband" refers to portions of the useful signal bandwidth whether implemented by a true subband coder or a transform coder. With respect to reducing processing resource requirements, much improvement can be realized in many digital coding applications by reducing the computational complexity of subband filtering. Reduced computational complexity permits the implementation of systems which are less expensive to build, or which impose lower signal propagation delays through the system. Many coding systems use single-sideband (SSB) filter banks. A "single-sideband" filter bank, as discussed in R. Crochiere and L. Rabiner, "Multirate Digital Signal Processing," Prentice-Hall, 1983, pp. 366-376, generates a spectral representation having component values which are either purely real or purely imaginary in response to real-valued input signal samples. Two well known SSB analysis filter banks implemented by overlapping-block transforms permit perfect reconstruction with critical sampling using time-domain aliasing cancellation ΓΓDAC). One filter bank, described in J. Princen and A. Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation," IEEE Trans, on Acoust.. Speech. Signal Proc. ASSP-34, 1986, pp. 1153-1161, comprises the alternate application of a modified Discrete Cosine Transform PCT) with a modified Discrete Sine Transform (DST) and is described as the time-domain equivalent of an evenly-stacked critically-sampled single-sideband analysis-synthesis system. The modified DCT and modified DST are referred to collectively herein as the Evenly-stacked Time-Domain Aliasing Cancellation (E-TDAC) transform. The second filter bank, described in J. Princen, A. Johnson, and A. Bradley, "Subband Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation," ICASSP 1987 Conf. Proc. May 1987, pp. 2161-64, is implemented by a single modified DCT and is described as the time-domain equivalent of an oddly-stacked critically sampled single-sideband analysis- synthesis system. It is referred to herein as the Oddly-stacked Time-Domain Aliasing Cancellation (O-TDAC) transform. Each of the TDAC analysis filter banks are applied to signal sample blocks which overlap but they achieve perfect reconstruction with critically sampling by effectively discarding some of the transform coefficients. The missing coefficients cause time-domain aliasing in a companion syndiesis filter bank but the aliasing is cancelled by overlapping and adding the blocks generated by the synthesis filter bank. The use of TDAC filter banks is very attractive in many coding application because these filter banks permit perfect reconstruction using overlapping-block transforms that are critically sampled and they can be implemented using reasonably efficient methods. For example, implementations that are more efficient than straight-forward computation methods are disclosed in S. Cramer and R. Gluth, "Computationally Efficient Real-Valued Filter Banks Based on a Modified C^DFT." Signal Processing V: Theories and Applications. Elsevier Science Publishers B.V., 1990, pp. 585-588; H. Malvar, "Lapped Transforms for Efficient Transform/Subband Coding," IEEE Trans. Acoust.. Speech, and Signal Proc. ASSP-38, June 1990, pp. 969-78; R. Gluth, "Regular FFT-Related Transform Kernels for DCT/DST-Based Polyphase Filter Banks," ICASSP 1991 Conf. Proc. vol. 3, May 1991, pp. 2205-2208; and P. Duhamel, Y. Mahieux, and J. Petit, "A Fast Algorithm for the Implementation of Filter Banks Based on Time Domain Aliasing Cancellation," ICASSP 1991 Conf. Proc. vol. 3, May 1991, pp. 2209-2212. Each of these references describes implementations of filter banks which are applied to fixed-length blocks of signal samples, that is, blocks that have a number of samples N which does not vary from block to block. Unfortunately, the length of fixed-length blocks must be chosen to balance a trade off between the temporal and spectral resolution of the filter bank. On one hand, greater block lengths improve the selectivity or frequency-resolving power of a filter bank, and better filter selectivity generally improves the ability of a coder to exploit psychoacoustic masking effects. On the other hand, greater block lengths degrade die time-resolution of a subband filter bank. Low time-resolution can result in audible distortion artifacts when coder quantizing errors of signal events, such as transients, producing pre-transient and post-transient ringing which exceed the ear's temporal psychoacoustic masking interval. As a result of this trade off, it is desirable to implement adaptive-length filter banks that can be applied to signal sample blocks of varying length in order to optimize coder performance. US 5,297,236 describes reasonably efficient implementations of both fixed- and adaptive- length filter banks. In particular, implementations of E-TDAC and O-TDAC filter banks are disclosed; however, the efficiency of these implementations is not optimal and the techniques disclosed for O-TDAC filter banks are computationally more intensive than those disclosed for E-TDAC filter banks. Disclosure of Invention It is an object of me present invention to provide a computationally efficient implementation of adaptive-length analysis and synthesis filter banks. Other objects and advantageous embodiments of the present invention are set forth throughout this disclosure. Although the invention is more particularly described for audio encoding and decoding applications, it should be appreciated that the invention is much broader and may be applied to other applications. Discussion of encoders incorporating the present invention pertain generally to signal-analysis filtering, and discussion of decoders incorporating the present invention pertains generally to signal-synthesis filtering. In accordance with the teachings of the present invention in one embodiment of an analysis-filtering apparatus, input signal samples representing audio or video information are grouped into time-domain signal sample blocks of non-zero length N=a+b, where a and b are non-negative radix 4 integers and either a or b has a different value for at least two of the time- domain signal sample blocks, wherein adjacent blocks in a sequence of the time-domain signal sample blocks overlap one another, a respective block overlapping a previous block by a samples and overlapping a subsequent block by b samples, blocks of at least one but not more than AN complex-valued modified samples are generated, frequency-domain transform coefficients are generated by applying one or more discrete transform functions to the blocks of modified samples, spectral information is generated by applying a forward post-transform function to the frequency- domain transform coefficients, and a representation of the spectral information is assembled into a form suitable for transmission or storage. In accordance with the teachings of the present invention in one embodiment of a synthesis-filtering apparatus, sets of frequency-domain transform coefficients are generated from received spectral information, where each set comprises at least one but not more than l AN= A(a+b) coefficients, a and b are non-negative radix 4 integers and either a or b has a different value in at least two of the sets, time-domain transform coefficients are generated by applying one or more inverse transform functions to the sets of frequency-domain transform coefficients, blocks of time-domain signal samplesare generated by applying an inverse post- transform function to the time-domain transform coefficients, where each block is of non-zero length N=a+b, adjacent blocks in a sequence of the time-domain signal sample blocks overlap one another, a respective block overlapping a previous block by a samples and overlapping a subsequent block by b samples, and output samples representing audio or video information are generated in response to the time-domain signal sample blocks. Embodiments of coding systems incorporating the present invention are set forth in the following discussion and in the accompanying drawings, in which like features are referred to by like reference numbers. Brief Description of Drawings Fig. 1 is a functional block diagram illustrating the basic functional structure of an analysis-filtering apparatus incoφorating an embodiment of the present invention. Fig. 2 is a functional block diagram illustrating the basic functional structure of a synthesis-filtering apparatus incoφorating an embodiment of the present invention. Fig. 3 is a schematic diagram illustrating the folding and shuffling of signal samples in a forward pre-transform function. Fig. 4 is a hypothetical graphical representation illustrating the time-reversal regions of the time-domain aliasing component created by the O-TDAC transform using the conventional TDAC phase term. Fig. 5 is a hypothetical graphical representation illustrating the time-reversal regions of the time-domain aliasing component created by the O-TDAC transform using the TDAC phase term required to cancel time-domain aliasing in an N-sample length block overlapped with a subsequent 'ΛN-sample length block. Fig. 6 is a hypothetical graphical representation illustrating the boundary between time- reversal regions of the time-domain aliasing component in a ViN-sample length block. Fig. 7 is a hypothetical graphical representation of a bridge transform illustrating the time- reversal regions of the time-domain aliasing component. Modes for Carrying Out the Invention A. Overview of Function Structure Fig. 1 illustrates the basic functional structure of an analysis-filtering apparatus incoφorating an embodiment of the present invention. According to this structure, the apparatus comprises buffer 102 which buffers input samples received from input path 100 into time-domain signal sample blocks, forward pre-transform 106 which generates modified samples from the signal samples received from buffer 102 and in response to information received from path 104 establishing the number of signal samples constituting a time-domain signal sample block, forward transform 108 which transforms the modified samples into frequency-domain transform coefficients by applying a transform whose length is adapted in response to information received from path 104, forward post-transform 110 which generates spectral information from the frequency-domain transform coefficients and in response to the information received from path 104, and formatter 112 which assembles digital information including a representation of the spectral information into a form suitable for transmission or storage along path 114. The representation can be in many forms including the spectral information itself or an encoded form obtained by encoding the spectral information according to psychoacoustic principles, for example. The functions performed by forward pre-transform 106, forward transform 108 and forward post-transform 110 implement analysis filter bank 120. The functions performed by buffer 102 and formatter 112 are not discussed in detail herein. Fig. 2 illustrates the basic functional structure of a synthesis-filtering apparatus incoφorating an embodiment of the present invention. According to this structure, the apparatus comprises deformatter 202 which obtains spectral information and information establishing the inverse transform length from a signal received from path 200, inverse pre-transform 206 which generates frequency-domain transform coefficients from the extracted spectral information and in response to the information establishing the inverse transform length received along path 204, inverse transform 208 which transforms the frequency-domain transform coefficients into time- domain transform coefficients by applying a transform whose length is adapted in response to information received from path 204, inverse post-transform 210 which generates time-domain signal samples from the time-domain transform coefficients and in response to information received from path 204, and output processor 212 which, in response to the time-domain signal samples, generates along path 214 output samples. The signal received from path 200 can be in many forms including d e spectral information itself or a form encoded according to psychoacoustic principles, for example. The functions performed by inverse pre-transform 206, inverse transform 208 and inverse post-transform 210 implement synthesis filter bank 220. The functions performed by deformatter 202 and output processor 212 are not discussed in detail herein. It should be appreciated from a study of the following disclosure and the accompanying claims mat some elements shown in Figs. 1 and 2 are not required to practice various embodiments of the present invention. B. Input Sample Buffering A buffer, represented by box 102 in Fig. 1, receives signal samples and groups them into a sequence of time-domain signal sample blocks. The signal samples may be received from the sampling of an analog signal, from the generation of samples representing or simulating an analog signal, or from any other source of samples which correspond to a time-domain signal. The frequency-resolving power or selectivity of a filter bank implemented by a discrete transform improves as the transform length increases. The filter selectivity may also be affected significantly by weighting the time-domain signal samples by a weighting function commonly called a window. See generally, Harris, "On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform," Proc. IEEE, vol. 66, January, 1978, pp. 51-83. Both analysis- and synthesis-window weighting are used with the O-TDAC transform. It is assumed herein that, in practical embodiments incoφorating the present invention, appropriate window weighting is performed as may be required or desired. For example, in an encoder or other analysis-filtering apparatus, window weighting may be performed prior to, concurrent with or subsequent to input sample buffering. In a decoder or odier synthesis-filtering apparatus, window weighting, if required or desired, may be performed prior to or concurrent with output signal generation, discussed briefly below. The manner in which such window weighting is performed is not critical to the practice of the present invention. C. Analysis Filter Bank Analysis filter bank 120 may implemented in a straight-forward manner by a Modified Discrete Cosine Transform (MDCT) of the form u-i C(k) = ∑ n)cos —(*+-)(« + ) for 0 ≤ k < M (1) M-0 M 2 where k = frequency-domain transform coefficient number, n = time-domain signal sample number, M = time-domain signal sample block length, m = phase term required for TDAC (see equation 2), x(n) = time-domain signal sample n, and C(k) — MDCT frequency-domain transform coefficient k. The O-TDAC transform generates spectral information comprising a set of χ ιM unique frequency- domain transform coefficients in response to each time-domain signal sample block because C(Λf-l-*)=-C(*) for 0≤*< V*M. An accurate replica of the input signal cannot be recovered by merely applying an inverse transform to each set of MDCT coefficients. The result of the inverse transformation contains time-domain aliasing components and departs significantly from the input signal; however, Princen, et al. showed that, with the proper phase term m and a suitable pair of analysis-synthesis windows applied to overlapped blocks, die O-TDAC technique can cancel the time-domain aliasing component and accurately recover me input signal. The phase term m controls die phase shift of d e time-domain aliasing component. To cancel mis aliasing component and accurately recover me original time-domain input signal, die O-TDAC transform as disclosed by Princen, et al. requires a phase term such mat ie time-domain alias component consists of the first half of the sampled and windowed signal reversed in time about die one-quarter point of die sample block and having an amplitude inverted in sign, and further consists of die second half of the sampled and windowed signal reversed in time about me mree-quarter point of die sample block. These relationships are illustrated in Fig. 4 which provides a hypodietical graphical representation of two adjacent overlapped -sample lengdi time- domain signal sample blocks recovered by an inverse O-TDAC transform, after being weighted by an appropriate synthesis window but before overlap-add of the adjacent blocks has cancelled time- domain aliasing. The desired signal component is represented by a solid line and the time-domain aliasing component is shown by a broken line. The representation of die various components in this and omer figures does not show individual signal samples but instead illustrates d e envelope of a hypothetical constant-amplitude signal resulting from the application of analysis- and syndiesis-window functions. As disclosed by Princen, et al., die phase term required to produce die appropriate aliasing components for alias cancellation for a fixed-leng O-TDAC transform applied to a signal sample block weighted by a symmetric window function is 2 4 2 As mentioned above, it is desirable to implement adaptive-lengm filter banks mat can be applied to signal sample blocks of varying length in order to optimize coder performance. Some of me considerations required to implement an adaptive-transform-lengti coder are not discussed here but are discussed in US 5,394,473. Changes in die leng of me O-TDAC transform generally requires changes in me phase term m in order to realize time-domain aliasing cancellation. As discussed above, the aliasing component is a time-reversed replica of the windowed input signal samples which occurs in two separate regions. The phase term m for die O-TDAC transform controls me location of die boundary between these two regions. For fixed-lengm O-TDAC transforms, me boundary is located at me mid-point of me signal sample block. The phase term required for time-domain aliasing cancellation under this condition is shown in equation 2. Fig. 5 provides a hypothetical graphical representation similar to mat illustrated in Fig. 4; however, Fig. 5 illustrates three blocks of varying leng as recovered from an inverse O-TDAC transform prior to time-domain aliasing cancellation. The first block is of lengm M and both die second and tiiird blocks are each of lengm V4M. The signal components and time-domain aliasing components in the blocks are represented by solid and broken lines, respectively. In order to achieve aliasing cancellation by overlap-adding me second half of me first block with the entire second block, me time-domain aliasing component in the second block must be a replica of me entire second block with inverted amplitude and time-reversed end-for-end. The phase term m required to produce such aliasing components in the second block is TΠ = λ . As explained in US 5,394,473 cited above, die phase term for the transform of each block may be written more generally as m = l. (3) 2 where φ is the location of the boundary between time-reversal regions, expressed as die number of time-domain signal samples from the right-hand or trailing edge of the block. For example, Fig. 6 illustrates two non-overlapping window-weighted time-domain signal sample blocks. The right-hand block is V*M samples in length. Wi in mis block, the boundary between time-reversal regions is at a point Λ /8 samples from the right-hand or trailing edge of the block. Thus, the phase term m required to cause time-reversal of the aliasing component within each region of the M-sample block is m = 8 + 1 2 With mis background established, it is now possible to introduce the "bridge transform." A bridge transform is a transform which bridges a shift from one transform lengm to another. Fig. 7, for example, illustrates the result of applying an O-TDAC filter bank to one block of V4M samples followed by anodier block of %Λf samples. It is possible to perform a separate transform for each block. For reasons whose explanation exceed me scope of this discussion, a bridge transform improves coder performance by instead transforming a single block of %M samples. The bridge transform required to process me %M-sample block shown in Fig. 7 may be implemented by a Fast Fourier Transform (FFT) to compute the transform for three 'AM blocks followed by a recombination operation. This technique is discussed in Oppenheim and Schafer, Digital Signal Processing. Englewood Cliffs, N.J.: Prentice-Hall, Inc., 1975, pp. 307-14. For me syn esis filter bank discussed below, me same considerations for adaptive-lengdi transforms and bridge transforms mat were discussed above for me forward transform, including d e phase term required for time-domain aliasing cancellation, also apply to the inverse transform. In the following discussion, each time-domain signal sample block contains exactly a+b samples, where a+b=N>0. The values a and b, as well as me sum N, are constrained to be radix 4 integers mat may vary from block to block. Either a or b, but not bo , may equal zero in any given block. A respective block overlaps the immediately prior block by a samples and overlaps me immediately subsequent block by b samples; hence, the boundary between time- reversal regions is to coincide witii me boundary between die two subblocks, or at b samples from the trailing edge of the block. In a respective block, if either a or b is equal to zero, that block overlaps an adjacent block by zero samples, which means that the two adjacent blocks abut one anodier. From equation 3, the phase term m in the MDCT required to achieve mis boundary is 2 2 Fig. 7, for example, illustrates a bridge transform block of N= %M samples in which a= l ΔM samples and b= X AM samples. D. Efficient Adaptive-Length Analysis Filter Bank The processing resources required to implement the analysis filter bank according to one embodiment may be reduced by applying a forward pre-transform function to me time-domain signal sample blocks to produce blocks of X AN modified samples, applying one or more transforms to the modified sample blocks, and applying a forward post-transform function to the transform coefficients to obtain the desired TDAC coefficients. As explained below, in certain applications die forward post-transform function may be null or trivial. The ma ematical basis for this implementation may be seen by first expressing d e MDCT of expression 1 as me sum of two transforms, as follows: C(k) = ∑ |x( -i-l) cos Ξ(jk + I)( -i_ι +w) (5a) a-0 N 2 2 *(iV+--l -i) cos — (Jk+i)(iV+--l-i+m) for 0 ≤ k < N. (5d) N 2 2 The first transform, shown in expressions 5a and 5b, is applied to the first subblock of a samples. Expression 5a corresponds to d e samples in the first half of this subblock, and expression 5b corresponds to me samples in me second half of mis subblock. The second transform, shown in expressions 5c and 5d, is applied to me second subblock of b samples. Expressions 5c and 5d correspond to the samples in the first and second halves of mis subblock, respectively. From equation 4 it can be seen that _+ / n = _ + a*b ^ \ = N + l (6) 2 2 2 2 + 2 2 *1 This equivalence is substituted into expressions 5a through 5d and die sign of me cosine argument in expressions 5a and 5d are inverted. The sign of the cosine argument may be inverted widiout affecting me value of the overall expression because the cosine function is an even function. The result obtained from these operations is: (x(N-r--l-i) for 0 ≤ k < N. (7d) By making substitutions using the following two identities, cos(θ + fcπ) = (-l)*cos θ (8) die two subblock transforms in expressions 7a through 7d can be rewritten as C(k) (10a) (10b) for 0 ≤ it < N. By folding and shuffling the input signal samples to define a set of modified samples q(i) according to ( 7( = -Jt(^-i-l) + xg+i for 0 ≤ i < Aa, and (11) 2 2 9(0 = *( +») + x(tf+ -l-i) for ia ≤ < l AN, (12) 2 2 die subblock transforms in expressions 10a and 10b may be collectively expressed as C(k) = (-l) i+1 for 0 ≤ k < ViiV. (13) Next, the modified samples q(i) are divided into two groups. The first group includes the even numbered samples, where i=2n, and me second group includes die odd numbered samples, where i= 2-l-2n. T is permits me expression in 13 to be written as C(k) = (-D* *1 ∑ q(2ή) sin Lflb + Iχ2j| + i) (14a) N 2 2 By making substitutions using me following two identities, sin(θ + *π) - (-l)*sin θ (15) sin(θ ± -) ±cos θ (16) 2 and substimting 2p for k in expressions 14a and 14b, me transform for the even-numbered coefficients can be rewritten as for 0 ≤ k < >4N. (17) By making substitutions using the two identities shown above in expressions 15 and 16, and substituting NI2-l-2p for it in expressions 14a and 14b, the transform for me odd-numbered coefficients can be rewritten as C(NI2-\-2p)= q(2ri) sin — 2π - ( ,-N- „2p-- l) („2n+- l) ■ n ∑ -0 I ■ N 2 2 2 for 0 ≤ k < γ AN and, by using die identities shown above in expressions 9 and 16, C(NI2-l-2p)= (19) By combining die even- and odd-numbered modified samples to form complex-valued samples g(n) according to me form g(n) = q(N/2-l-2n) + j -q(2n), (20) it can be shown diat the O-TDAC transform coefficients C(k) may be obtained from the real and imaginary parts of the transform dp) = ∑ g(n) t m 4 * • (21) n-0 In particular, C(2p) = -Re{G(p)} for 0 ≤ p < HN, and (22) C(N/2-l-2p) = Im{G(p)} for 0 ≤ p < V4N (23) where Re{G(p)} = real part of the complex quantity Gip), and lm{G(p)} = imaginary part of the complex quantity G(p). (24) Expression 21 may be rewritten as where the first term within the square brackets, -I^-in ) g(n) t N • (26) forms part of the forward pre-transform function. The summation and exponential on eidier side of me pre-transform function may be recognized as an N/4-point Discrete Fourier Transform (DFT). For ease of discussion herein, the transform coefficients obtained from the forward transform of the modified samples q(n) are denoted Q(p). These complex-valued coefficients are Q(p) = U(p) + y V(p). (27) Referring again to expression 25, the final term outside the braces, is a complex rotation that forms part of a forward post-transform function discussed below. Fig. 3 is a schematic diagram of a circuit for deriving a block of 8 modified samples from a 16-sample block according to equations 11 and 12, where a= l2 and b=4. Padis 10a dirough lOp each receive a signal representing die first dirough sixteenth sample in an input signal block, respectively. Paths 16a mrough 16h each convey a signal representing the first through eighth modified sample in a modified-sample block, respectively. Inverters 12a through 12f invert me signals received from pa s 10a dirough lOf, respectively, thereby achieving a subtraction in summing components 14a through 14f. The forward pre-transform function, forward transform and forward post-transform function can be implemented in a variety of ways including circuits comprising inverters, amplifiers and summing components such as that represented in Fig. 3; however, preferred embodiments incoφorate software-controlled processors to perform these operations. Any of ese implementations may also apply an analysis-window function to the signal samples in conjunction wi the folding and shuffling operations of die forward pre-transform function. E. Efficient Implementation of Analysis Filter Bank Forward pre-transform function 106, represented by expressions 11, 12, 20 and 26 above, is used to obtain a set of V4N complex-valued modified samples to be provided as input to forward transform 108. Expressions 11, 12 and 20 collectively represent "folding" and "shuffling" operations on me signal samples in each time-domain signal sample block, forming a respective set of modified samples. Expression 26 represents a complex rotation of mese modified samples. Forward transform 108 is an N/4-point DFT that may be implemented efficiently in a variety of ways, including me use of an FFT. Forward post-transform 110, represented by expressions 22, 23 and 28 above, is used to obtain spectral information comprising die frequency-domain transform coefficients C(k) from the transform coefficients Q(p) of the forward transform. Expressions 22 and 23 collectively represent an "unshuffling" operation that reverses the affects of die shuffling performed by me forward pre- transform function. Expression 28 represents a complex rotation. The forward post-transform function may be implemented by d e following: C(2p) = - U(p) cos N l 8) - V(p) sm 2£(p + i) for 0 ≤ p < l AN (29) N 8 C(NI2-\-2p) = V(p) cos - U(p) sin — 2π (,p+- l) for 0 ≤ p < N (30) N 8 N 8 In principle, the combination of forward pre-transform 106, forward transform 108 and forward post-transform 110 generates frequency-domain transform coefficients C(k) in response to an input signal that is equivalent to the transform coefficients generated by an O-TDAC transform applied to me same input signal. These transform coefficients generally correspond to die spectral content of me input signal. If a particular application does not require spectral information in any particular form, an analysis-filtering apparatus incoφorating an embodiment of me present invention may incoφorate a forward post-transform that is null or trivial. A system for such an application, for example, could transmit or store u e transform coefficients Q(p) themselves. Unfortunately, the transform coefficients Q(p) generated by die forward transform are generally not suitable for low bit-rate transmission or efficient storage. Various coding and quantization techniques are needed to reduce informational requirements by taking advantage of a signal's irrelevancy. In such coding applications, a straight-forward measure of input signal spectral content is required. For example, encoder/decoder systems which exploit psychoacoustic principles to reduce coded signal information requirements require an estimate of spectral content in order to estimate psychoacoustic masking effects of a signal's spectral components. F. Output Formatting Output formatting represented by box 112 in Fig. 1 is not required to practice the present invention but is often used in signal encoding applications. Generally, output formatting assembles a representation of the spectral information and odier information required for transmission or storage. In a coding application, any additional side-information needed by a decoder is also assembled into the formatted signal. Frame synchronization bits and error detection/correction codes may be used as needed for transmission. Database pointers or keys may be added as needed for storage. The formatted data is ready for transmission or for storage along path 114 shown in Fig. 1. G. Input Deformatting Input deformatting represented by box 202 in Fig. 2 is not required to practice the present invention but is often used in signal decoding applications. Deformatting obtains spectral information and any side information from a formatted signal received from padi 200 eidier by receipt of a transmitted signal or retrieved from storage. H. Synthesis Filter Bank Synthesis filter bank 220 may implemented in a straight-forward manner by an Inverse Modified Discrete Cosine Transform (IMDCT) of die form AM "> = r Σ C(*) COS — (*+!)(/, +ιw) for 0 ≤ Λ < N N 2 (31) where C(k) = recovered MDCT frequency-domain transform coefficient it, and x(n) = recovered time-domain signal sample n. The "hat" nomenclature is used herein to distinguish between information derived during signal synthesis from corresponding information derived during signal analysis. In many practical applications, because of coding and/or quantizing mat may have been performed, spectral information recovered from the received signal may not be identical to me spectral information obtained from die analysis filter bank. As a result, corresponding information between signal analysis and signal syn esis will generally not be identical; however, mis difference is not important to the practice of the present invention. I. Implementation of Adaptive-Length Synthesis Filter Bank The resources required to implement the synmesis filter bank according to one embodiment may be reduced by instead applying an inverse pre-transform function to spectral information obtained from a received signal to generate sets of V4N modified frequency-domain coefficients, evaluating one or more inverse discrete transforms for the modified frequency-domain coefficients, and men applying an inverse post-transform function. As discussed herein, in certain applications the inverse pre-transform function may be essentially null or trivial. Using a derivation similar to that discussed above for me forward transform, it can be shown mat the overall function of inverse pre-transform 206, inverse transform 208 and inverse post-transform 210 may be expressed as " 15 § G(p) e 'SH' 1 . 2* I ,ln , l. e \ e N » (32) where Re{(S(p)} = -C(2p) for 0 ≤ p < l AN, and (33) Im{(?(p)} = CVAN-l-2p) for 0 ≤ p < 'AN. (34) Time-domain signal samples are obtained as follows: χ(2 ϊk-l -2n) = Rete i } for 0 ≤ n < b (35) 2 i(2£I* + 2ft) = Retø(n)} for 0 ≤ ft < Ab (36) £ lt-i-2n) = Reφn)} for b ≤ n < 'AN (37) 2 i(2n--) = -Rciϋή)) for b ≤ n < X AN (38) i(-+2n) = Jmtøn), for 0 ≤ n < a (39) 2 i(--l-2n) = -Imtø(n)} for 0 ≤ n < x Aa (40) 2 i(£+2n) = Im<|(ft)} for Via ≤ n < X AN (41) x +N-\-2n) = Imtø(n)} for Via ≤ n < 'AN (42) 2 The complex rotation within the square brackets in expression 32, ' N Ψ β' (43) and equations 33 and 34 collectively form the inverse pre-transform function discussed above. The summation and exponential on either side of the inverse pre-transform function in expression 32 may be recognized as an N/4-point Inverse Discrete Fourier Transform (IDFT). The final term outside ύ e braces in expression 31, and equations 35 dirough 42 collectively form the inverse post-transform function. J. Efficient Implementation of Synthesis Filter Bank Inverse pre-transform function 206 obtains frequency-domain transform coefficients from the spectra] information in the received signal. If die spectral information in the received signal substantially corresponds to d e frequency-domain transform coefficients Q(p) generated by the forward transform, then the inverse pre-transform function may be null or trivial such as, for example, grouping spectral information into blocks. In a practical implementation of a decoder incoφorating me present invention, me inverse pre-transform function may comprise decoding and dequantizing an encoded signal into a form suitable for input to the inverse transform filter bank. In applications where the received spectral information is substantially the same as the transform coefficients C(it) of an O-TDAC filter bank, an inverse pre-transform function may be used to derive frequency-domain coefficients of die form = U(p) + j V(>) . (45) The inverse pre-transform function may be implemented by me following: U(p) = - C(2p) cos 2ϋ(p + A) - C --l-2p) sin — (p+-)| for 0 ≤ p < 'AN (46) N 8 N 8 ' V(p) = £(-- l-2p) cos Inverse transform 208 is an N/4-point IDFT that may be implemented efficiently in a variety of ways, including die use of an Inverse FFT. Inverse post-transform 210, represented by expressions 44 and 35 through 42, is used to obtain a set of N real-valued time-domain samples in response to the time-domain transform coefficients provided by inverse transform 208. Expression 44 represents a complex rotation. Expressions 35 through 42 collectively represent "unfolding" and "unshuffling" operations that reverse me effects of previous shuffling and unshuffling, including the shuffling of forward pre- transform 106. K. Output Sample Processing An overlap-add process is used subsequent to an O-TDAC transform to generate signal samples corresponding to the original input signal samples. This process, represented by box 212 in Fig. 2, overlaps adjacent blocks of recovered time-domain samples and adds the samples in one block to samples in the adjacent overlapped block. Prior to overlap-add a synmesis-window function is applied to me recovered time-domain sample blocks.

Claims: CLAIMS 1. An analysis-filtering apparatus comprising input means for receiving an input signal, said input signal comprising input samples and representing audio or video information, input buffer means for grouping said input samples into time-domain signal sample blocks of non-zero length N=a+b, where α and b are non-negative radix 4 integers and either a or b has a different value for at least two of said time-domain signal sample blocks, wherein adjacent blocks in a sequence of said time-domain signal sample blocks overlap one another, a respective time-domain signal sample block overlapping a previous block by a samples and overlapping a subsequent block by b samples, analysis filter bank for generating spectral information in response to a respective one of said time-domain signal sample blocks, said analysis filter bank comprising forward pre-transform means for generating modified-sample blocks comprising at least one but not more than ViN complex-valued modified samples, forward transform means for generating frequency-domain transform coefficients by applying one or more discrete transform functions to said modified-sample blocks, and forward post-transform means for generating spectral information in response to said frequency-domain coefficients, and output means for assembling a representation of said spectral information into a form suitable for transmission or storage. 2. An apparatus according to claim i wherein said spectral information is substantially equivalent to transform coefficients of an Oddly-stacked Time Domain Aliasing Cancellation transform. 3. An apparatus according to claim 1 wherein said forward pre-transform means comprises means for forming real-valued intermediate samples q(i) in response to said input samples x(i) according to q(i) = -x(--i-l) + x(-+i) for 0 ≤ i < 'ha and 2 2 <?(i) = x(-+0 + x(tf+--l -i) for 'ha ≤ i < 'hN, 2 2 means for forming complex-valued intermediate samples g(n) according to g(n) = q(NI2-\-2n) + jg(2n), and means for generating said complex-valued modified samples by applying a complex .2* . 1. rotation according to e " , and wherein said one or more discrete transform functions are substantially equivalent to a Discrete Fourier Transform. 4. An apparatus according to claim 3 wherein said forward post-transform means comprises means for forming complex-valued intermediate coefficients G(p) by applying a ,2κ , 1. complex rotation to said frequency-domain coefficients according to e " ' , and means for generating said spectral information C(p) according to C(2p) = -Re{G(p)} for 0 ≤ p < 'AN and C(NI2-l-2p) = Im{G(p)} for 0 ≤ p < 'AN. 5. An apparatus according to any one of claims I flihirafflgjh 4 wherein a and b are non-zero in at least one of said time-domain signal sample blocks. 6. A synthesis-filtering apparatus comprising input means for receiving spectral information, synthesis filter bank for generating time-domain signal samples in response to said spectral information, said synmesis filter bank comprising inverse pre-transform means for generating sets of frequency- domain transform coefficients in response to said spectral information, each of said sets comprising at least one but not more than ViN= Α(a+b) coefficients, where α and b are non-negative radix 4 integers and either a or b has a different value in at least two of said sets, inverse transform means for generating transform blocks comprising time-domain transform coefficients by applying one or more inverse discrete transform functions to said sets of frequency-domain transform coefficients, and inverse post-transform means for generating time-domain signal sample blocks, each block of non-zero length N=a+b, wherein adjacent blocks in a sequence of said time-domain signal sample blocks overlap one another, a respective time-domain signal sample block overlapping a previous block by a samples and overlapping a subsequent block by b samples, and output means for generating output samples representing audio or video information in response to said time-domain signal sample blocks. 7. An apparatus according to claim <δ wherein said spectral information is substantially equivalent to transform coefficients of an Oddly-stacked Time Domain Aliasing Cancellation transform. 8. An apparams according to claim (S wherein said one or more inverse discrete transform functions are substantially equivalent to an Inverse Discrete Fourier Transform and said inverse post-transform means comprises means for generating said time-domain signal samples x(ή) according to jt 2£l -i-2n) = Retøn)} for 0 ≤ n < 'Ab, i 2£l* + 2n) = Re ( g(n)) for 0 ≤ n < 'Ab, ii^±-\-2n) = Retø(ft)} for 'Ab ≤ n < 'AN, i(2n--) = -Re(g(n)} for 'Ab ≤ n < 'AN, *(-+2n) = Imtø(n). for 0 ≤ « < 'Aa, i(--l-2n) = -Im n)} for 0 ≤ n < 'Aa, 2 X(-+2Λ) = Imtetø)} for 'Aa ≤ n < 'AN and £(-+N-l-2 - Imlg(n)} for 'Aa ≤ n < 'AN. 2 9. An apparams according to claim S wherein said inverse pre-transform means comprises means for forming complex-valued intermediate coefficients 6(p) in response to said spectral information C(p) according to Re{(5(p)} = -C(2p) for 0 ≤ p < 'AN and Im{G(p)} = C('hN-l-2p) for 0 ≤ p < 'AN, and means for generating said frequency-domain transform coefficients by applying a complex rotation according to e Λ " . 10. An apparams according to any one of claims i ti oiiagjk 9 wherein a and b are non-zero in at least one of said time-domain signal sample blocks. 11. A memod for encoding and decoding samples representing audio or video information, said method comprising a) receiving an input signal, said input signal comprising input samples and representing audio or video information, b) grouping said input samples into first time-domain signal sample blocks of non- zero lengm N=a+b, where α and b are non-negative radix 4 integers and eimer α or b has a different value for at least two of said time-domain signal sample blocks, wherein adjacent blocks in a sequence of said time-domain signal sample blocks overlap one another, a respective time-domain signal sample block overlapping a previous block by α samples and overlapping a subsequent block by b samples, c) generating spectral information in response to a respective one of said first time- domain signal sample blocks by (1) generating modified-sample blocks comprising at least one but not more man 'AN complex-valued modified samples, (2) generating first frequency-domain transform coefficients by applying one or more discrete transform functions to said modified-sample blocks, and (3) generating spectral information in response to said frequency-domain coefficients, d) assembling an encoded representation of said spectral information into a form suitable for transmission or storage, e) receiving said encoded representation of spectral information and obtaining reconstructed spectral information therefrom, f) generating time-domain signal samples in response to said reconstructed spectral information by (1) generating sets of second frequency-domain transform coefficients in response to said spectral information, each of said sets comprising at least one but not more than V N= 'A(a+b) coefficients, where either a or b has a different value in at least two of said sets, (2) generating transform blocks comprising time-domain transform coefficients by applying one or more inverse discrete transform functions to said sets of second frequency-domain transform coefficients, and (3) generating second time-domain signal sample blocks, each block of non-zero length N wherein adjacent blocks in said second time-domain signal sample blocks overlap one another, a respective second time- domain signal sample block overlapping a previous block by α samples and overlapping a subsequent block by b samples, and g) generating output samples representing audio or video information in response to said second time-domain signal sample blocks. 12. A me od according to claim II wherein said spectral information is substantially equivalent to transform coefficients of an Oddly-stacked Time Domain Aliasing Cancellation transform. 13. A me od according to claim 1! wherein said generating modified-sample blocks comprises forming real-valued intermediate samples q(i) in response to said input samples x(i) according to q(i) = -χ( -i-l) + χ(-+i) for O ≤ i < 'Aa, and 9(0 = *(- + 0 + X0V+--H) for 'ha ≤ i < 'AN, 2 2 forming complex-valued intermediate samples g(n) according to g(n) = q(NI2-\-2ri) + jα(2n), and generating said complex-valued modified samples by applying a complex rotation according to e " 8 , said one or more discrete transform functions are substantially equivalent to a Discrete Fourier Transform, said one or more inverse discrete transforms are substantially equivalent to an Inverse Discrete Fourier Transform, and said generating second time-domain signal sample blocks comprises forming complex-valued intermediate samples (p) by applying a complex rotation to said time-domain transform coefficients according to e " β , and generating said time-domain signal samples x(n) according to i(.?£ *-l-2n) = Retøft). for 0 ≤ n < 'Ab, 2 £(β ±ϊ + 2n) = Retøn)} for O ≤ n < 'Ab, 2 £(l lk-i-2n) = Retøn)} for 'Ab ≤ n < 'AN, 2 x\2n--) = -Re{g(n)} for 'Ab ≤ n < 'AN, i(-+2n) = Imd(n)} for 0 ≤ n < 'Aa, 2 x(--l-2n) = -Imd(n)} for 0 ≤ n < 'Aa, 2 i(£+2n) = Imte(n)} for 'Aa ≤ n < 'AN, and 2 x(-+N-l -2n) = Imte(n)} for 'Aa ≤ n < 'AN. 14. A method according to claim 13 wherein said generating spectral information comprises forming complex-valued intermediate coefficients Gp) by applying a complex rotation to said frequency-domain coefficients according to and generating said spectral information C(p) according to C(2p) = -Re{G(p)} for 0 ≤ p < 'AN and C(NI2-\-2p) = \m{G(p)} for 0 ≤ p < 'AN, and wherein said generating sets of second frequency-domain transform coefficients comprises forming complex-valued intermediate coefficients 6(p) in response to said spectral information C(p) according to Re{6(p)} = -C(2p) for 0 ≤ p < 'AN and lm{6(p)} = C('hN-\-2p) for 0 ≤ p < 'AN, and generating said frequency-domain transform coefficients by applying a complex rotation according to . 15. A mediod according to any one of claims 11 tewgfi. 14 wherein a and b are non-zero in at least one of said first time-domain signal sample blocks and wherein a and b are non-zero in at least one of said second time-domain signal sample blocks. //

Inventors: BOSI-GOLDBERG MARINA, BOSI-GOLDBERG, MARINA
Applicants: DOLBY LAB LICENSING CORP, DOLBY LABORATORIES LICENSING CORPORATION
Application year: 1997
Main classification: H04B1
IPC codes: H03H17, H04B1