U.S. patent number RE42,935 [Application Number 11/963,680] was granted by the patent office on 2011-11-15 for coding techniques using estimated spectral magnitude and phase derived from mdct coefficients.
This patent grant is currently assigned to Dolby Laboratories Licensing Corporation. Invention is credited to Corey I. Cheng, David N. Lathrop, Michael J. Smithers.
United States Patent |
RE42,935 |
Cheng , et al. |
November 15, 2011 |
**Please see images for:
( Certificate of Correction ) ** |
Coding techniques using estimated spectral magnitude and phase
derived from MDCT coefficients
Abstract
Estimates of spectral magnitude and phase are obtained by an
estimation process using spectral information from analysis filter
banks such as the Modified Discrete Cosine Transform. The
estimation process may be implemented by convolution-like
operations with impulse responses. Portions of the impulse
responses may be selected for use in the convolution-like
operations to trade off between computational complexity and
estimation accuracy. Mathematical derivations of analytical
expressions for filter structures and impulse responses are
disclosed.
Inventors: |
Cheng; Corey I. (Coconut Grove,
FL), Smithers; Michael J. (Kareela, AU), Lathrop;
David N. (Fremont, CA) |
Assignee: |
Dolby Laboratories Licensing
Corporation (San Francisco, CA)
|
Family
ID: |
34795716 |
Appl.
No.: |
11/963,680 |
Filed: |
December 21, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
Reissue of: |
10766681 |
Jan 27, 2004 |
6980933 |
Dec 27, 2005 |
|
|
Current U.S.
Class: |
702/190; 381/320;
381/318; 702/189; 704/229; 704/203; 375/240; 381/2; 704/201;
702/188 |
Current CPC
Class: |
G10L
19/0212 (20130101); G06F 17/147 (20130101) |
Current International
Class: |
G10L
21/00 (20060101) |
Field of
Search: |
;702/4,5,146,150,151,155,156,189,188,190 ;235/88G ;33/268,228,121
;342/450,451,26 ;704/201,203,200.1,229,230,205,E19.02,E19.003
;356/218,222,226,432 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
2000/048481 |
|
Feb 2000 |
|
JP |
|
WO 2005/073960 |
|
Aug 2005 |
|
WO |
|
Other References
Princen et al., "Analysis/Synthesis Filter Bank Design Based on
Time Domain Aliasing Cancellation," IEEE Trans. on Acoust., Speech,
Signal Proc., vol. ASSP-34, 1986, pp. 1153-1161. cited by other
.
Duhamel et al., "A Fast Algorithm for the Implementation of Filter
Banks Based On Time Domain Aliasing Cancellation'," Int. Conf on
Acoust., Speech and Sig. Proc., Toronto, May 1991, vol. 3, pp.
2209-2212. cited by other .
Bosi et al., "ISO/IEC MPEG-2 Advanced Audio Coding," J. Audio Eng.
Soc., vol. 45, No. 10, Oct. 1997, pp. 789-814. cited by other .
Lanciani et al., "Subband-Domain Filtering of MPEG Audio Signals,"
Proc. of 1999 Int. Conf on Acoust., Speech and Signal Proc.,
Phoenix, AZ, Mar. 1999, vol. 2, pp. 917-920. cited by other .
Wang et al., "On the Relationship Between MDCT, SDFT and DFT,"
Proc. of 5th Int. Conf. on Sig. Proc., Beijing, Aug. 2000, vol. 1,
pp. 44-47. cited by other .
Wang et al., "Some Peculiar Properties of the MDCT," Proc. of 5th
Int. Conf. on Sig. Proc., Beijing, Aug. 2000, vol. 1, pp. 61-64.
cited by other .
Ferreira, "Accurate Estimation in the ODFT Domain of the Frequency,
Phase and Magnitude of Stationary Sinusoids," IEEE Workshop on
Appl. of Sig. Proc. to Audio and Acoust., Oct. 2001, pp. 47-50.
cited by other .
Ferreira, "Combined Spectral Envelope Normalization &
Subtraction of Sinusoidal Components on the ODFT & MDCT
Frequency Domains," Proc. 2001 IEEE Appl. of Sig. Proc. to Audio
and Acoust., NY, Oct. 2001, pp. 51-54. cited by other .
Wang et al., "Modified Discrete Cosine Transform--Its Implications
for Audio Coding and Error Concealment," J. Audio Eng. Soc., vol.
51, No. 1/2, Jan./Feb. 2003, pp. 52-61. cited by other .
Daudet et al., "MDCT Analysis of Sinusoids and Application to
Coding Artifacts Reduction," Audio Eng. Soc. 114th Convention,
Amsterdam, Mar. 2003, convention paper No. 5831, pp. 1-6. cited by
other .
Merdjani et al., "Direct Estimation of Frequency From MDCT-Encoded
Files," Proc. of 6th Int. Conf on Digital Audio Effects (DAFx-03),
London, Sep. 2003. cited by other .
Kresch, R., et al., "Fast DCT Domain Filtering Using the DCT and
the DST," IEEE Transactions on Image Processing, IEEE Inc., New
York, US, vol. 8, No. 6, Jun. 1999; pp. 821-833. cited by other
.
Mathew, M., et al., "Modified mp3 encoder using complex modified
discrete cosine transform," Multimedia and Expo. 2003, Proceedings,
2003 Int'l. Conference on Jul. 6-9, 2003, Piscataway, NJ, USA,
IEEE, vol. 2, Jul. 6, 2003, pp. 709-712. cited by other.
|
Primary Examiner: Tsai; Carol
Attorney, Agent or Firm: Wong; Kirk D. Hickman Palermo
Truong & Becker LLP
Claims
What is claimed is:
1. A method of processing information representing a source signal
conveying content intended for human perception, the method
comprising: receiving first spectral components that were generated
by application of an analysis filterbank to the source signal,
wherein the first spectral components represent spectral content of
the source signal expressed in a first subspace of a
multidimensional space; deriving one or more first intermediate
components from at least some of the first spectral components,
wherein at least some of the first intermediate components differ
from the first spectral components from which they are derived;
forming a combination of the one or more first intermediate
components according to at least a portion of one or more impulse
responses to obtain one or more second intermediate components;
deriving one or more second spectral components from the one or
more second intermediate components, wherein the second spectral
components represent spectral content of the source signal
expressed in a second subspace of the multidimensional space that
includes a portion of the multidimensional space not included in
the first subspace; obtaining estimated measures of magnitude or
phase using the first spectral components and the second spectral
components; and .[.applying an adaptive process to the first
spectral components to generate processed information.].
.Iadd.generating encoded audio information using the first spectral
components.Iaddend., wherein the .[.adaptive process.].
.Iadd.generating step .Iaddend.is responsive to the estimated
measures of magnitude or phase.[...]..Iadd.; .Iaddend.
.Iadd.wherein the method is performed by one or more computing
devices..Iaddend.
2. The method of claim 1, wherein: the first spectral components
are transform coefficients arranged in one or more blocks of
transform coefficients that were generated by application of one or
more transforms to one or more segments of the source signal; and
the portions of the one or more impulse responses are based on
frequency response characteristics of the one or more
transforms.
3. The method of claim 2, wherein the frequency response
characteristics of the one or more transforms are dependent on
characteristics of one or more analysis window functions that were
applied with the one or more transforms to the one or more segments
of the source signal.
4. The method of claim 3, wherein at least some of the one or more
transforms implement an analysis filter bank that generates the
first spectral components with time-domain aliasing.
5. The method of claim 3, wherein at least some of the one or more
transforms generate first spectral components having real values
expressed in the first subspace, and wherein the second spectral
values have imaginary values expressed in the second subspace.
6. The method of claim 5, wherein the transforms that generate
first spectral components having real values expressed in the first
subspace are Discrete Cosine Transforms or Modified Discrete Cosine
Transforms.
7. The method of claim 1, wherein: the first spectral components
are transform coefficients arranged in one or more blocks of
transform coefficients that were generated by application of one or
more transforms to one or more segments of the source signal, the
one or more second intermediate components are obtained by
combining the one or more first intermediate components according
to a portion of the one or more impulse responses, each of the one
or more impulse responses comprise a respective set of elements
arranged in order, and the portion of each of the one or more
impulse responses excludes every other element in the respective
set of elements.
8. The method according to claim 1 that further comprises obtaining
estimated measures of magnitude or phase using one or more third
spectral components that are derived from at least some of the one
or more first spectral components.
9. The method according to claim 8, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for a respective
segment of the source signal are obtained adaptively using either
the third spectral components or using the first and second
spectral components.
10. The method according to claim 8, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for at least some
spectral content of a respective segment of the source signal are
obtained using the third spectral components and the estimated
measures of magnitude or phase for at least some of the spectral
content of the respective segment of the source signal are obtained
using the first and second spectral components.
11. The method according to claim 8 or 10 that comprises obtaining
measures of magnitude or phase adaptively using either the third
spectral components or using the first and second spectral
components.
12. The method of claim 1 that comprises adapting the portion of
the one or more impulse responses in response to a measure of
spectral component significance.
13. The method of claim 12, wherein the measure of spectral
component significance is provided by a perceptual model that
assesses perceptual significance of the spectral content of the
source signal.
14. The method of claim 12, wherein the measure of spectral
component significance reflects isolation in frequency of one or
more spectral components.
15. The method of claim 1, wherein: the first spectral components
are first transform coefficients arranged in one or more blocks
that were generated by application of one or more transforms to one
or more segments of the source signal, a respective block having a
first number of first transform coefficients; the second spectral
components are second transform coefficients; a second number of
second transform coefficients are derived that represent spectral
content that is also represented by some of the first transform
coefficients in the respective block; and the second number is less
than the first number.
16. The method according to claim 1, 2, 9, 10 or 12 that comprises:
applying the adaptive process to the first spectral components to
generate synthesized spectral components; deriving one or more
third intermediate components from the first spectral components
and/or the second spectral components and from the synthesized
spectral components; and generating one or more output signals
conveying content intended for human perception by applying one or
more synthesis filterbanks to the one or more third intermediate
components.
17. The method according to claim 16, wherein at least some of the
synthesized spectral components are generated by spectral component
regeneration.
18. The method according to claim 16, wherein at least some of the
synthesized spectral components are generated by decomposition of
first spectral components and/or second spectral components
representing a composite of spectral content for a plurality of
source signals.
19. The method according to claim 16, wherein at least some of the
synthesized spectral components are generated by combining first
spectral components and/or second spectral components to provide a
composite representation of spectral content for a plurality of
source signals.
20. The method according to claim 1, 2, 9, 10 or 12 that comprises:
generating the first spectral components by applying the analysis
filter bank to the source signal; applying the adaptive process to
the first spectral component to generate encoded information
representing at least some of the first spectral components; and
generating an output signal conveying the encoded information.
21. A .Iadd.non-transitory computer readable .Iaddend.medium
conveying a program of instructions that is executable by a device
to perform a method of processing information representing a source
signal conveying content intended for human perception, the method
comprising: receiving first spectral components that were generated
by application of an analysis filterbank to the source signal,
wherein the first spectral components represent spectral content of
the source signal expressed in a first subspace of a
multidimensional space; deriving one or more first intermediate
components from at least some of the first spectral components,
wherein at least some of the first intermediate components differ
from the first spectral components from which they are derived;
forming a combination of the one or more first intermediate
components according to at least a portion of one or more impulse
responses to obtain one or more second intermediate components;
deriving one or more second spectral components from the one or
more second intermediate components, wherein the second spectral
components represent spectral content of the source signal
expressed in a second subspace of the multidimensional space that
includes a portion of the multidimensional space not included in
the first subspace; obtaining estimated measures of magnitude or
phase using the first spectral components and the second spectral
components; and .[.applying an adaptive process to the first
spectral components to generate processed information.].
.Iadd.generating encoded audio information using the first spectral
components.Iaddend., wherein the .[.adaptive process.].
.Iadd.generating step .Iaddend.is responsive to the estimated
measures of magnitude or phase.
22. The medium of claim 21, wherein: the first spectral components
are transform coefficients arranged in one or more blocks of
transform coefficients that were generated by application of one or
more transforms to one or more segments of the source signal; and
the portions of the one or more impulse responses are based on
frequency response characteristics of the one or more transforms,
which are dependent on characteristics of one or more analysis
window functions that were applied with the one or more transforms
to the one or more segments of the source signal.
23. The medium according to claim 21, wherein the method further
comprises obtaining estimated measures of magnitude or phase using
one or more third spectral components that are derived from at
least some of the one or more first spectral components.
24. The medium according to claim 23, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for a respective
segment of the source signal are obtained adaptively using either
the third spectral components or using the first and second
spectral components.
25. The medium according to claim 23, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for at least some
spectral content of a respective segment of the source signal are
obtained using the third spectral components and the estimated
measures of magnitude or phase for at least some of the spectral
content of the respective segment of the source signal are obtained
using the first and second spectral components.
26. The medium according to claim 23, wherein the method comprises
obtaining measures of magnitude or phase adaptively using either
the third spectral components or using the first and second
spectral components.
27. The medium of claim 21, wherein the method comprises adapting
the portion of the one or more impulse responses in response to a
measure of spectral component significance.
28. The medium of claim 27, wherein the measure of spectral
component significance is provided by a perceptual model that
assesses perceptual significance of the spectral content of the
source signal.
29. The medium of claim 27, wherein the measure of spectral
component significance reflects isolation in frequency of one or
more spectral components.
30. The medium of claim 21, wherein: the first spectral components
are first transform coefficients arranged in one or more blocks
that were generated by application of one or more transforms to one
or more segments of the source signal, a respective block having a
first number of first transform coefficients; the second spectral
components are second transform coefficients; a second number of
second transform coefficients are derived that represent spectral
content that is also represented by some of the first transform
coefficients in the respective block; and the second number is less
than the first number.
31. The medium according to claim 21, wherein the method comprises:
applying the adaptive process to the first spectral components to
generate synthesized spectral components; deriving one or more
third intermediate components from the first spectral components
and/or the second spectral components and from the synthesized
spectral components; and generating one or more output signals
conveying content intended for human perception by applying one or
more synthesis filterbanks to the one or more third intermediate
components.
32. The medium according to claim 21, wherein the method comprises:
generating the first spectral components by applying the analysis
filter bank to the source signal; applying the adaptive process to
the first spectral component to generate encoded information
representing at least some of the first spectral components; and
generating an output signal conveying the encoded information.
33. An apparatus for processing information representing a source
signal conveying content intended for human perception, the
apparatus comprising: means for receiving first spectral components
that were generated by application of an analysis filterbank to the
source signal, wherein the first spectral components represent
spectral content of the source signal expressed in a first subspace
of a multidimensional space; means for deriving one or more first
intermediate components from at least some of the first spectral
components, wherein at least some of the first intermediate
components differ from the first spectral components from which
they are derived; means for forming a combination of the one or
more first intermediate components according to at least a portion
of one or more impulse responses to obtain one or more second
intermediate components; means for deriving one or more second
spectral components from the one or more second intermediate
components, wherein the second spectral components represent
spectral content of the source signal expressed in a second
subspace of the multidimensional space that includes a portion of
the multidimensional space not included in the first subspace;
means for obtaining estimated measures of magnitude or phase using
the first spectral components and the second spectral components;
and means for .[.applying an adaptive process to the first spectral
components to generate processed information.]. .Iadd.generating
encoded audio information using the first spectral
components.Iaddend., wherein the .[.adaptive process.].
.Iadd.generating means .Iaddend.is responsive to the estimated
measures of magnitude or phase.
34. The apparatus of claim 33, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; and the portions of the one or more impulse responses are
based on frequency response characteristics of the one or more
transforms, which are dependent on characteristics of one or more
analysis window functions that were applied with the one or more
transforms to the one or more segments of the source signal.
35. The apparatus according to claim 33 that further comprises
means for obtaining estimated measures of magnitude or phase using
one or more third spectral components that are derived from at
least some of the one or more first spectral components.
36. The apparatus according to claim 35 wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for a respective
segment of the source signal are obtained adaptively using either
the third spectral components or using the first and second
spectral components.
37. The apparatus according to claim 35, wherein: the first
spectral components are transform coefficients arranged in one or
more blocks of transform coefficients that were generated by
application of one or more transforms to one or more segments of
the source signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for at least some
spectral content of a respective segment of the source signal are
obtained using the third spectral components and the estimated
measures of magnitude or phase for at least some of the spectral
content of the respective segment of the source signal are obtained
using the first and second spectral components.
38. The apparatus according to claim 35 that comprises means for
obtaining measures of magnitude or phase adaptively using either
the third spectral components or using the first and second
spectral components.
39. The apparatus of claim 33 that comprises means for adapting the
portion of the one or more impulse responses in response to a
measure of spectral component significance.
40. The apparatus of claim 39, wherein the measure of spectral
component significance is provided by a perceptual model that
assesses perceptual significance of the spectral content of the
source signal.
41. The apparatus of claim 39, wherein the measure of spectral
component significance reflects isolation in frequency of one or
more spectral components.
42. The apparatus of claim 33, wherein: the first spectral
components are first transform coefficients arranged in one or more
blocks that were generated by application of one or more transforms
to one or more segments of the source signal, a respective block
having a first number of first transform coefficients; the second
spectral components are second transform coefficients; a second
number of second transform coefficients are derived that represent
spectral content that is also represented by some of the first
transform coefficients in the respective block; and the second
number is less than the first number.
43. The apparatus according to claim 33 that comprises: means for
applying the adaptive process to the first spectral components to
generate synthesized spectral components; means for deriving one or
more third intermediate components from the first spectral
components and/or the second spectral components and from the
synthesized spectral components; and means for generating one or
more output signals conveying content intended for human perception
by applying one or more synthesis filterbanks to the one or more
third intermediate components.
44. The apparatus according to claim 33 that comprises: means for
generating the first spectral components by applying the analysis
filter bank to the source signal; means for applying the adaptive
process to the first spectral component to generate encoded
information representing at least some of the first spectral
components; and means for generating an output signal conveying the
encoded information.
.Iadd.45. A method of processing information representing a source
signal conveying content intended for human perception, the method
comprising: receiving first spectral components that were generated
by application of a first analysis filterbank to the source signal;
obtaining second spectral components from a convolution of a
derivation of at least some of the first spectral components in two
or more segments with a portion of one or more impulse responses of
hypothetical filters related to the combined effect of a synthesis
filterbank inverse to the first analysis filterbank and a second
analysis filterbank coupled to the synthesis filterbank; obtaining
estimated measures of magnitude or phase using the first spectral
components and the second spectral components; and generating
encoded audio information using the first spectral components,
wherein the generating step is responsive to the estimated measures
of magnitude or phase; wherein the method is performed by one or
more computing devices..Iaddend.
.Iadd.46. The method of claim 45, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; and the portions of the one or more impulse responses are
based on frequency response characteristics of the one or more
transforms..Iaddend.
.Iadd.47. The method of claim 46, wherein the frequency response
characteristics of the one or more transforms are dependent on
characteristics of one or more analysis window functions that were
applied with the one or more transforms to the one or more segments
of the source signal..Iaddend.
.Iadd.48. The method of claim 47, wherein at least some of the one
or more transforms implement an analysis filter bank that generates
the first spectral components with time-domain
aliasing..Iaddend.
.Iadd.49. The method of claim 47, wherein at least some of the one
or more transforms generate first spectral components having real
values and wherein the second spectral values have imaginary
values..Iaddend.
.Iadd.50. The method of claim 49, wherein the transforms that
generate first spectral components having real values are Discrete
Cosine Transforms or Modified Discrete Cosine
Transforms..Iaddend.
.Iadd.51. The method according to claim 45 that further comprises
obtaining estimated measures of magnitude or phase using one or
more third spectral components that are derived from at least some
of the one or more first spectral components..Iaddend.
.Iadd.52. The method according to claim 51, wherein: the first
spectral components are transform coefficients arranged in one or
more blocks of transform coefficients that were generated by
application of one or more transforms to one or more segments of
the source signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for a respective
segment of the source signal are obtained adaptively using either
the third spectral components or using the first and second
spectral components..Iaddend.
.Iadd.53. The method according to claim 51, wherein: the first
spectral components are transform coefficients arranged in one or
more blocks of transform coefficients that were generated by
application of one or more transforms to one or more segments of
the source signal; the third spectral components are derived from
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for at least some
spectral content of a respective segment of the source signal are
obtained using the third spectral components and the estimated
measures of magnitude or phase for at least some of the spectral
content of the respective segment of the source signal obtained
using the first and second spectral components..Iaddend.
.Iadd.54. The method according to claim 51 or 53 that comprises
obtaining measures of magnitude or phase adaptively using either
the third spectral components or using the first and second
spectral components..Iaddend.
.Iadd.55. The method of claim 45 that comprises adapting the
portion of the one or more impulse responses in response to a
measure of spectral component significance..Iaddend.
.Iadd.56. The method of claim 45, wherein the measure of spectral
component significance is provided by a perceptual model that
assesses perceptual significance of the spectral content of the
source signal..Iaddend.
.Iadd.57. The method of claim 45, wherein the measure of spectral
component significance reflects isolation in frequency of one or
more spectral components..Iaddend.
.Iadd.58. The method of claim 45, wherein: the first spectral
components are first transform coefficients arranged in one or more
blocks that were generated by application of one or more transforms
to one or more segments of the source signal, a respective block
having a first number of first transform coefficients; the second
spectral components are second transform coefficients; a second
number of second transform coefficients are derived that represent
spectral content that is also represented by some of the first
transform coefficients in the respective block; and the second
number is less than the first number..Iaddend.
.Iadd.59. The method according to claim 45, 46, 52, 53 or 55 that
comprises applying the adaptive process to the first spectral
components to generate synthesized spectral
components..Iaddend.
.Iadd.60. The method according to claim 59, wherein at least some
of the synthesized spectral components are generated by spectral
component regeneration..Iaddend.
.Iadd.61. The method according to claim 59, wherein at least some
of the synthesized spectral components are generated by
decomposition of first spectral components and/or second spectral
components representing a composite of spectral content for a
plurality of source signals..Iaddend.
.Iadd.62. The method according to claim 59, wherein at least some
of the synthesized spectral components are generated by combining
first spectral components and/or second spectral components to
provide a composite representation of spectral content for a
plurality of source signals..Iaddend.
.Iadd.63. The method according to claim 45, 46, 52, 53 or 55 that
comprises: generating the first spectral components by applying the
analysis filterbank to the source signal; applying the adaptive
process to the first spectral component to generate encoded
information representing at least some of first spectral
components; and generating an output signal conveying the encoded
information..Iaddend.
.Iadd.64. A method of processing information representing a source
signal conveying content intended for human perception, the method
comprising: receiving first spectral components that were generated
by application of a first analysis filterbank to the source signal;
obtaining second spectral components from a convolution of a
derivation of at least some of the first spectral components with a
portion of one or more impulse responses of hypothetical filters
related to the combined effect of a synthesis filterbank inverse to
the first analysis filterbank and a second analysis filterbank
coupled to the synthesis filterbank; obtaining estimated measures
of magnitude or phase using the first spectral components and the
second spectral components; and generating encoded audio
information using the first spectral components, wherein the
generating step is responsive to the estimated measures of
magnitude or phase; wherein the method is performed by one or more
computing devices..Iaddend.
.Iadd.65. The method of claim 64, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; and the portions of the one or more impulse responses are
based on frequency response characteristics of the one or more
transforms..Iaddend.
.Iadd.66. The method of claim 65, wherein the frequency response
characteristics of the one or more transforms are dependent on
characteristics of one or more analysis window functions that were
applied with the one or more transforms to the one or more segments
of the source signal..Iaddend.
.Iadd.67. The method of claim 66, wherein at least some of the one
or more transforms implement an analysis filter bank that generates
the first spectral components with time-domain
aliasing..Iaddend.
.Iadd.68. The method of claim 66, wherein at least some of the one
or more transforms generate first spectral components having real
values and wherein the second spectral values have imaginary
values..Iaddend.
.Iadd.69. The method of claim 68, wherein the transforms that
generate first spectral components having real values are Discrete
Cosine Transforms or Modified Discrete Cosine
Transforms..Iaddend.
.Iadd.70. The method according to claim 64 that further comprises
obtaining estimated measures of magnitude or phase using one or
more third spectral components that are derived from at least some
of the one or more first spectral components..Iaddend.
.Iadd.71. The method according to claim 70, wherein: the first
spectral components are transform coefficients arranged in one or
more blocks of transform coefficients that were generated by
application of one or more transforms to one or more segments of
the source signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase are obtained
adaptively using either the third spectral components or using the
first and second spectral components..Iaddend.
.Iadd.72. The method according to claim 70 wherein: the first
spectral components are transform coefficients arranged in one or
more blocks of transform coefficients that were generated by
application of one or more transforms to one or more segments of
the source signal; the third spectral components are derived from
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for at least some
spectral content of the source signal are obtained using the third
spectral components and the estimated measures of magnitude or
phase for at least some of the spectral content of the respective
segment of the source signal obtained using the first and second
spectral components..Iaddend.
.Iadd.73. The method according to claim 70 or 72 that comprises
obtaining measures of magnitude or phase adaptively using either
the third spectral components or using the first and second
spectral components..Iaddend.
.Iadd.74. The method of claim 64 that comprises adapting the
portion of the one or more impulse responses in response to a
measure of spectral component significance..Iaddend.
.Iadd.75. The method of claim 64, wherein the measure of spectral
component significance is provided by a perceptual model that
assesses perceptual significance of the spectral content of the
source signal..Iaddend.
.Iadd.76. The method of claim 64, wherein the measure of spectral
component significance reflects isolation in frequency of one or
more spectral components..Iaddend.
.Iadd.77. The method of claim 64, wherein: the first spectral
components are first transform coefficients arranged in one or more
blocks that were generated by application of one or more transforms
of the source signal, a respective block having a first number of
first transform coefficients; the second spectral components are
second transform coefficients; a second number of second transform
coefficients are derived that represent spectral content that is
also represented by some of the first transform coefficients in the
respective block; and the second number is less than the first
number..Iaddend.
.Iadd.78. The method according to claim 64, 65, 71, 72 or 74 that
comprises applying the adaptive process to the first spectral
components to generate synthesized spectral
components..Iaddend.
.Iadd.79. The method according to claim 78, wherein at least some
of the synthesized spectral components are generated by spectral
component regeneration..Iaddend.
.Iadd.80. The method according to claim 78, wherein at least some
of the synthesized spectral components are generated by
decomposition of first spectral components and/or second spectral
components representing a composite of spectral content for a
plurality of source signals..Iaddend.
.Iadd.81. The method according to claim 78, wherein at least some
of the synthesized spectral components are generated by combining
first spectral components and/or second spectral components to
provide a composite representation of spectral content for a
plurality of source signals..Iaddend.
.Iadd.82. The method according to claim 64, 65, 66, 72 or 74 that
comprises: generating the first spectral components by applying the
analysis filterbank to the source signal; applying the adaptive
process to the first spectral component to generate encoded
information representing at least some of first spectral
components; and generating an output signal conveying the encoded
information..Iaddend.
.Iadd.83. A method of processing information representing a source
signal conveying content intended for human perception, the method
comprising: receiving first spectral components that were generated
by application of a first analysis filterbank to the source signal;
obtaining second spectral components from a convolution of a
derivation of at least some of the first spectral components with a
portion of one or more impulse responses of hypothetical filters
related to the combined effect of a synthesis filterbank inverse to
the first analysis filterbank and a second analysis filterbank
coupled to the synthesis filterbank; obtaining estimated parameters
using the first spectral components and the second spectral
components; and generating encoded audio information using the
first spectral components, wherein the generating step is
responsive to the estimated measures of magnitude or phase; wherein
the method is performed by one or more computing
devices..Iaddend.
.Iadd.84. The method of claim 83, wherein: the first spectral
components are transform coefficients arranged in one or more
blocks of transform coefficients that were generated by application
of one or more transforms to one or more segments of the source
signal; and the portions of the one or more impulse responses are
based on frequency response characteristics of the one or more
transforms..Iaddend.
.Iadd.85. The method of claim 84, wherein the frequency response
characteristics of the one or more transforms are dependent on
characteristics of one or more analysis window functions that were
applied with the one or more transforms to the one or more segments
of the source signal..Iaddend.
.Iadd.86. The method of claim 85, wherein at least some of the one
or more transforms implement an analysis filter bank that generates
the first spectral components with time-domain
aliasing..Iaddend.
.Iadd.87. The method of claim 85, wherein at least some of the one
or more transforms generate first spectral components having real
values and wherein the second spectral values have imaginary
values..Iaddend.
.Iadd.88. The method of claim 87, wherein the transforms that
generate first spectral components having real values are Discrete
Cosine Transforms or Modified Discrete Cosine
Transforms..Iaddend.
.Iadd.89. The method according to claim 85, wherein the estimated
parameters are estimated measures of magnitude or phase, further
comprising obtaining estimated measures of magnitude or phase using
one or more third spectral components that are derived from at
least some of the one or more first spectral
components..Iaddend.
.Iadd.90. The method according to claim 89, wherein: the first
spectral components are transform coefficients arranged in one or
more blocks of transform coefficients that were generated by
application of one or more transforms to one or more segments of
the source signal; the third spectral components are derived from a
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase are obtained
adaptively using either the third spectral components or using the
first and second spectral components..Iaddend.
.Iadd.91. The method according to claim 89, wherein: the first
spectral components are transform coefficients arranged in one or
more blocks of transform coefficients that were generated by
application of one or more transforms to one or more segments of
the source signal; the third spectral components are derived from
combination of two or more of the first spectral components; and
the estimated measures of magnitude or phase for at least some
spectral content of the source signal are obtained using the third
spectral components and the estimated measures of magnitude or
phase for at least some of the spectral content of the respective
segment of the source signal obtained using the first and second
spectral components..Iaddend.
.Iadd.92. The method according to claim 89 or 91 that comprises
obtaining measures of magnitude or phase adaptively using either
the third spectral components or using the first and second
spectral components..Iaddend.
.Iadd.93. The method of claim 83 that comprises adapting the
portion of the one or more impulse responses in response to a
measure of spectral component significance..Iaddend.
.Iadd.94. The method of claim 83, wherein the measure of spectral
component significance is provided by a perceptual model that
assesses perceptual significance of the spectral content of the
source signal..Iaddend.
.Iadd.95. The method of claim 83, wherein the measure of spectral
component significance reflects isolation in frequency of one or
more spectral components..Iaddend.
.Iadd.96. The method of claim 83, wherein: the first spectral
components are first transform coefficients arranged in one or more
blocks that were generated by application of one or more transforms
of the source signal, a respective block having a first number of
first transform coefficients; the second spectral components are
second transform coefficients; a second number of second transform
coefficients are derived that represent spectral content that is
also represented by some of the first transform coefficients in the
respective block; and the second number is less than the first
number..Iaddend.
.Iadd.97. The method according to claim 83, 84, 90, 91 or 93 that
comprises applying the adaptive process to the first spectral
components to generate synthesized spectral
components..Iaddend.
.Iadd.98. The method according to claim 97, wherein at least some
of the synthesized spectral components are generated by spectral
component regeneration..Iaddend.
.Iadd.99. The method according to claim 97, wherein at least some
of the synthesized spectral components are generated by
decomposition of first spectral components and/or second spectral
components representing a composite of spectral content for a
plurality of source signals..Iaddend.
.Iadd.100. The method according to claim 97, wherein at least some
of the synthesized spectral components are generated by combining
first spectral components and/or second spectral components to
provide a composite representation of spectral content for a
plurality of source signals..Iaddend.
.Iadd.101. The method according to claim 83, 84, 90, 91 or 93 that
comprises: generating the first spectral components by applying the
analysis filterbank to the source signal; applying the adaptive
process to the first spectral component to generate encoded
information representing at least some of first spectral
components; and generating an output signal conveying the encoded
information..Iaddend.
Description
TECHNICAL FIELD
The present invention provides an efficient process for accurately
estimating spectral magnitude and phase from spectral information
obtained from various types of analysis filter banks including
those implemented by Modified Discrete Cosine Transforms and
Modified Discrete Sine Transforms. These accurate estimates may be
used in various signal processing applications such as audio coding
and video coding.
In the following discussion more particular mention is made of
audio coding applications using filter banks implemented by a
particular Modified Discrete Cosine Transform; however, the present
invention is also applicable to other applications and other filter
bank implementations.
BACKGROUND ART
Many coding applications attempt to reduce the amount of
information required to adequately represent a source signal. By
reducing information capacity requirements, a signal representation
can be transmitted over channels having lower bandwidth or stored
on media using less space.
Coding can reduce the information capacity requirements of a source
signal by eliminating either redundant components or irrelevant
components in the signal. So called perceptual coding methods and
systems often use filter banks to reduce redundancy by
decorrelating a source signal using a basis set of spectral
components, and reduce irrelevancy by adaptive quantization of the
spectral components according to psycho-perceptual criteria. A
coding process that adapts the quantizing resolution more coarsely
can reduce information requirements to a greater extent but it also
introduces higher levels of quantization error or "quantization
noise" into the signal. Perceptual coding systems attempt to
control the level of quantization noise so that the noise is
"masked" or rendered imperceptible by other spectral content of the
signal. These systems typically use perceptual models to predict
the levels of quantization noise that can be masked by a given
signal.
In perceptual audio coding systems, for example, quantization noise
is often controlled by adapting quantizing resolutions according to
predictions of audibility obtained from perceptual models based on
psychoacoustic studies such as that described in E. Zwicker,
Psychoacoustics, 1981. An example of a perceptual model that
predicts the audibility of spectral components in a signal is
discussed in M. Schroeder et al.; "Optimizing Digital Speech Coders
by Exploiting Masking Properties of the Human Ear," J. Acoust. Soc.
Am., December 1979, pp. 1647 1652.
Spectral components that are deemed to be irrelevant because they
are predicted to be imperceptible need not be included in the
encoded signal. Other spectral components that are deemed to be
relevant can be quantized using a quantizing resolution that is
adapted to be fine enough to ensure the quantization noise is
rendered just imperceptible by other spectral components in the
source signal. Accurate predictions of perceptibility by a
perceptual model allow a perceptual coding system to adapt the
quantizing resolution more optimally, resulting in fewer audible
artifacts.
A coding system using models known to provide inaccurate
predictions of perceptibility cannot reliably ensure quantization
noise is rendered imperceptible unless a finer quantizing
resolution is used than would otherwise be required if a more
accurate prediction was available. Many perceptual models such as
that discussed by Schroeder, et al. are based on spectral component
magnitude; therefore, accurate predictions by these models depend
on accurate measures of spectral component magnitude.
Accurate measures of spectral component magnitude also influence
the performance of other types of coding processes in addition to
quantization. In two types of coding processes known as spectral
regeneration and coupling, an encoder reduces information
requirements of source signals by excluding selected spectral
components from an encoded representation of the source signals and
a decoder synthesizes substitutes for the missing spectral
components. In spectral regeneration, the encoder generates a
representation of a baseband portion of a source signal that
excludes other portions of the spectrum. The decoder synthesizes
the missing portions of the spectrum using the baseband portion and
side information that conveys some measure of spectral level for
the missing portions, and combines the two portions to obtain an
imperfect replica of the original source signal. One example of an
audio coding system that uses spectral regeneration is described in
international patent application no. PCT/US03/08895 filed Mar. 21,
2003, publication no. WO 03/083034 published Oct. 9, 2003. In
coupling, the encoder generates a composite representation of
spectral components for multiple channels of source signals and the
decoder synthesizes spectral components for multiple channels using
the composite representation and side information that conveys some
measure of spectral level for each source signal channel. One
example of an audio coding system that uses coupling is described
in the Advanced Television Systems Committee (ATSC) A/52A document
entitled "Revision A to Digital Audio Compression (AC-3) Standard"
published Aug. 20, 2001.
The performance of these coding systems can be improved if the
decoder is able to synthesize spectral components that preserve the
magnitudes of the corresponding spectral components in the original
source signals. The performance of coupling also can be improved if
accurate measures of phase are available so that distortions caused
by coupling out-of-phase signals can be avoided or compensated.
Unfortunately, some coding systems use particular types of filter
banks to derive an expression of spectral components that make it
difficult to obtain accurate measures of spectral component
magnitude or phase. Two common types of coding systems are referred
to as subband coding and transform coding. Filter banks in both
subband and transform coding systems may be implemented by a
variety of signal processing techniques including various
time-domain to frequency-domain transforms. See J. Tribolet et al.,
"Frequency Domain Coding of Speech," IEEE Trans. Acoust., Speech,
and Signal Proc., ASSP-27, October, 1979, pp. 512 530.
Some transforms such as the Discrete Fourier Transform (DFT) or its
efficient implementation, the Fast Fourier Transform (FFT), provide
a set of spectral components or transform coefficients from which
spectral component magnitude and phase can be easily calculated.
Spectral components of the DFT, for example, are multidimensional
representations of a source signal. Specifically, the DFT, which
may be used in audio coding and video coding applications, provides
a set of complex-valued coefficients whose real and imaginary parts
may be expressed as coordinates in a two-dimensional space. The
magnitude of each spectral component provided by such a transform
can be obtained easily from each component's coordinates in the
multi-dimensional space using well known calculations.
Some transforms such as the Discrete Cosine Transform, however,
provide spectral components that make it difficult to obtain an
accurate measure of spectral component magnitude or phase. The
spectral components of the DCT, for example, represent the spectral
component of a source signal in only a subspace of the
multidimensional space required to accurately convey spectral
magnitude and phase. In typical audio coding and video coding
applications, for example, a DCT provides a set of real-valued
spectral components or transform coefficients that are expressed in
a one dimensional subspace of the two-dimensional real/imaginary
space mentioned above. The magnitude of each spectral component
provided by transforms like the DCT cannot be obtained easily from
each component's coordinates in the relevant subspace.
This characteristic of the DCT is shared by a particular Modified
Discrete Cosine Transform (MDCT), which is described in J. Princen
et al., "Subband/Transform Coding Using Filter Bank Designs Based
on Time Domain Aliasing Cancellation," ICASSP 1987 Conf. Proc., May
1987, pp. 2161 64. The MDCT and its complementary Inverse Modified
Discrete Cosine Transform (IMDCT) have gained widespread usage in
many coding systems because they permit implementation of a
critically sampled analysis/synthesis filter bank system that
provides for perfect reconstruction of overlapping segments of a
source signal. Perfect reconstruction refers to the property of an
analysis/synthesis filter bank pair to reconstruct perfectly a
source signal in the absence of errors caused by finite precision
arithmetic. Critical sampling refers to the property of an analysis
filter bank to generate a number of spectral components that is no
greater than the number of samples used to convey the source
signal. These properties are very attractive in many coding
applications because critical sampling reduces the number of
spectral components that must be encoded and conveyed in an encoded
signal.
The concept of critical sampling deserves some comment. Although
the DFT or the DCT, for example, generate one spectral component
for each sample in a source signal segment, DFT and DCT
analysis/synthesis systems in many coding applications do not
provide critical sampling because the analysis transform is applied
to a sequence of overlapping signal segments. The overlap allows
use of non-rectangular shaped window functions that improve
analysis filter bank frequency response characteristics and
eliminate blocking artifacts; however, the overlap also prevents
perfect reconstruction with critical sampling because the analysis
filter bank must generate more coefficient values than the number
of source signal samples. This loss of critical sampling increases
the information requirements of the encoded signal.
As mentioned above, filter banks implemented by the MDCT and IMDCT
are attractive in many coding systems because they provide perfect
reconstruction of overlapping segments of a source signal with
critically sampling. Unfortunately, these filter banks are similar
to the DCT in that the spectral components of the MDCT represent
the spectral component of a source signal in only a subspace of the
multidimensional space required to accurately convey spectral
magnitude and phase. Accurate measures of spectral magnitude or
phase cannot be obtained easily from the spectral components or
transform coefficients generated by the MDCT; therefore, the coding
performance of many systems that use the MDCT filter bank is
suboptimal because the prediction accuracy of perceptual models is
degraded and the preservation of spectral component magnitudes by
synthesizing processes is impaired.
Prior attempts to avoid this deficiency of various filter banks
like the MDCT and DCT filter banks have not been satisfactory for a
variety of reasons. One technique is disclosed in "ISO/IEC 11172 3:
1993 (E) Coding of Moving Pictures and Associated Audio for Digital
Storage Media at Up to About 1.5 Mbit/s," ISO/IEC JTC1/SC29/WG11,
Part III Audio. According to this technique, a set of filter banks
including several MDCT-based filter banks is used to generate
spectral components for encoding and an additional FFT-based filter
bank is used to derive accurate measures of spectral component
magnitude. This technique is not attractive for at least two
reasons: (1) considerable computational resources are required in
the encoder to implement the additional FFT filter bank needed to
derive the measures of magnitude, and (2) the processing to obtain
accurate measures of magnitude are performed in the encoder;
therefore additional bandwidth is required by the encoded signal to
convey these measures of spectral component magnitude to the
decoder.
Another technique avoids incurring any additional bandwidth
required to convey measures of spectral component magnitude by
calculating these measures in the decoder. This is done by applying
a synthesis filter bank to the decoded spectral components to
recover a replica of the source signal, applying an analysis filter
bank to the recovered signal to obtain a second set of spectral
components in quadrature with the decoded spectral components, and
calculating spectral component magnitude from the two sets of
spectral components. This technique also is not attractive because
considerable computational resources are required in the decoder to
implement the analysis filter bank needed to obtain the second set
of spectral components.
Yet another technique, described in S. Merdjani et al., "Direct
Estimation of Frequency From MCT-Encoded Files," Proc. of the 6th
Int. Conf. on Digital Audio Effects (DAFx-03), London, September
2003, estimates the frequency, magnitude and phase of a sinusoidal
source signal from a "regularized spectrum" derived from MDCT
coefficients. This technique overcomes the disadvantages mentioned
above but it also is not satisfactory for typical coding
applications because it is applicable only for a very simple source
signal that has only one sinusoid.
Another technique, which is disclosed in U.S. patent application
Ser. No. 09/948,053, publication number U.S. 2003/0093282 A1
published May 15, 2003, is able to derive DFT coefficients from
MDCT coefficients; however, the disclosed technique does not obtain
measures of magnitude or phase for spectral components represented
by the MDCT coefficients themselves. Furthermore, the disclosed
technique does not use measures of magnitude or phase to adapt
processes for encoding or decoding information that represents the
MDCT coefficients.
What is needed is a technique that provides accurate estimates of
magnitude or phase from spectral components generated by analysis
filter banks such as the MDCT that also avoids or overcomes
deficiencies of known techniques.
DISCLOSURE OF INVENTION
The present invention overcomes the deficiencies of the prior art
by receiving first spectral components that were generated by
application of an analysis filterbank to a source signal conveying
content intended for human perception, deriving one or more first
intermediate components from at least some of the first spectral
components, forming a combination of the one or more first
intermediate components according to at least a portion of one or
more impulse responses to obtain one or more second intermediate
components, deriving second spectral components from the one or
more second intermediate components, obtaining estimated measures
of magnitude or phase using the first spectral components and the
second spectral components, and applying an adaptive process to the
first spectral components to generate processed information. The
adaptive process adapts in response to the estimated measures of
magnitude or phase.
The various features of the present invention and its preferred
embodiments may be better understood by referring to the following
discussion and the accompanying drawings in which like reference
numerals refer to like elements in the several figures. The
contents of the following discussion and the drawings are set forth
as examples only and should not be understood to represent
limitations upon the scope of the present invention.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a schematic block diagram of a transmitter used in a
coding system.
FIG. 2 is a schematic block diagram of a receiver used in a coding
system.
FIG. 3 is a schematic block diagram of a device that obtains
measures of spectral component magnitude or phase according to
various aspects of the present invention.
FIG. 4 is a schematic block diagram of a transmitter that
incorporates various aspects of the present invention.
FIG. 5 is a schematic block diagram of a receiver that incorporates
various aspects of the present invention.
FIGS. 6 8 are graphical illustrations of impulse responses that may
be used with exemplary implementations of the present
invention.
FIG. 9 is a schematic block diagram of a device that may be used to
implement various aspects of the present invention.
MODES FOR CARRYING OUT THE INVENTION
A. Introduction
The present invention allows accurate measures of magnitude or
phase to be otained from spectral components generated by analysis
filter banks such as the Modified Discrete Cosine Transform (MDCT)
mentioned above. Various aspects of the present invention may be
used in a number of applications including audio and video coding.
FIGS. 1 and 2 illustrate schematic block diagrams of a transmitter
and receiver, respectively, in a coding system that may incorporate
various aspects of the present invention. Features of the
illustrated transmitter and receiver are discussed briefly in the
following sections. Following this discussion, features of some
analysis and synthesis filter banks that are pertinent to
calculating measures of magnitude and phase are discussed.
1. Transmitter
The transmitter illustrated in FIG. 1 applies the analysis filter
bank 3 to a source signal received from the path 1 to generate
spectral components that represent the spectral content of the
source signal, applies the encoder 5 to the spectral components to
generate encoded information, and applies the formatter 8 to the
encoded information to generate an output signal suitable for
transmission along the path 9. The output signal may be delivered
immediately to a companion receiver or recorded for subsequent
delivery. The analysis filter bank 3 may be implemented in variety
of ways including infinite impulse response (IIR) filters, finite
impulse response (FIR) filters, lattice filters and wavelet
transforms.
Aspects of the present invention are described below with reference
to implementations closely related to the MDCT, however, the
present invention is not limited to these particular
implementations.
In this disclosure, terms like "encoder" and "encoding" are not
intended to imply any particular type of information processing.
For example, encoding is often used to reduce information capacity
requirements; however, these terms in this disclosure do not
necessarily refer to this type of processing. The encoder 5 may
perform essentially any type of processing that is desired. In one
implementation, encoded information is generated by quantizing
spectral components according to a perceptual model. In another
implementation, the encoder 5 applies a coupling process to
multiple channels of spectral components to generate a composite
representation. In yet another implementation, spectral components
for a portion of a signal bandwidth are discarded and an estimate
of the spectral envelope of the discarded portion is included in
the encoded information. No particular type of encoding is
important to the present invention.
2. Receiver
The receiver illustrated in FIG. 2 applies the deformatter 23 to an
input signal received from the path 21 to obtain encoded
information, applies the decoder 25 to the encoded information to
obtain spectral components representing the spectral content of a
source signal, and applies the synthesis filter bank 27 to the
spectral components to generate an output signal that is a replica
of the source signal but may not be an exact replica. The synthesis
filter bank 27 may be implemented in a variety of ways that are
complementary to the implementation of the analysis filter bank
3.
In this disclosure, terms like "decoder" and "decoding" are not
intended to imply any particular type of information processing.
The decoder 25 may perform essentially any type of processing that
is needed or desired. In one implementation that is inverse to an
encoding process described above, quantized spectral components are
decoded into dequantized spectral components. In another
implementation, multiple channels of spectral components are
synthesized from a composite representation of spectral components.
In yet another implementation, the decoder 25 synthesizes missing
portions of a signal bandwidth from spectral envelope information.
No particular type of decoding is important to the present
invention.
3. Measures of Magnitude and Phase
In one implementation by an Odd Discrete Fourier Transform (ODFT),
the analysis filter bank 3 generates complex-valued coefficients or
"spectral components" with real and imaginary parts that may be
expressed in a two-dimensional space. This transform may be
expressed as:
.function..times..times..function..function..times..times..pi..times..tim-
es. ##EQU00001## which may be separated into real and imaginary
parts X.sub.ODFT(k)=Re[X.sub.ODFT(k)]+jIm[X.sub.ODFT(k)] (2) and
rewritten as
.function..times..times..function..function..times..pi..times..times..tim-
es..times..times..function..function..times..pi..times..times.
##EQU00002## where X.sub.ODFT(k)=ODFT coefficient for spectral
component k, x(n)=source signal amplitude at time n; Re[X]=real
part of X; and Im[X]=imaginary part of X.
The magnitude and phase of each spectral component k may be
calculated as follows:
.function..function..function..function..function..function..function..fu-
nction..function..function..function..times..function..function.
##EQU00003## where Mag[X]=magnitude of X; and Phs[X]=phase of
X.
Many coding applications implement the analysis filter bank 3 by
applying the Modified Discrete Cosine Transform (MDCT) discussed
above to overlapping segments of the source signal that are
modulated by an analysis window function. This transform may be
expressed as:
.function..times..times..function..function..times..pi..times..times.
##EQU00004## where X.sub.MDCT(k)=MDCT coefficient for spectral
component k. It may be seen that the spectral components that are
generated by the MDCT are equivalent to the real part of the ODFT
coefficients. X.sub.MDCT(k)=Re[X.sub.ODFT(k)] (7)
A particular Modified Discrete Sine Transform (MDST) that generates
coefficients representing spectral components in quadrature with
the spectral components represented by coefficients of the MDCT may
be expressed as:
.function..times..times..function..function..times..pi..times..times.
##EQU00005## where X.sub.MDST(k)=MDST coefficient for spectral
component k. It may be seen that the spectral components that are
generated by the MDST are equivalent to the negative imaginary part
of the ODFT coefficients. X.sub.MDST(k)=-Im[X.sub.ODFT(k)] (9)
Accurate measures of magnitude and phase cannot be calculated
directly from MDCT coefficients but they can be calculated directly
from a combination of MDCT and MDST coefficients, which can be seen
by substituting equations 7 and 9 into equations 4 and 5:
.function..function..function..function..function..function..function..fu-
nction..function. ##EQU00006##
The Princen paper mentioned above indicates that a correct use of
the MDCT requires the application of an analysis window function
that satisfies certain design criteria. The expressions of
transform equations in this section of the disclosure omit an
explicit reference to any analysis window function, which implies a
rectangular analysis window function that does not satisfy these
criteria. This does not affect the validity of expressions 10 and
11.
Implementations of the present invention described below obtain
measures of spectral component magnitude and phase from MDCT
coefficients and from MDST coefficients derived from the MDCT
coefficients. These implementations are described below following a
discussion of the underlying mathematical basis.
B. Derivation of Mathematical Framework
This section discusses the derivation of an analytical expression
for calculating exact MDST coefficients from MDCT coefficients.
This expression is shown below in equations 41a and 41b. The
derivations of simpler analytical expressions for two specific
window functions are also discussed. Considerations for practical
implementations are presented following a discussion of the
derivations.
One implementation of the present invention discussed below is
derived from a process for calculating exact MDST coefficients from
MDCT coefficients. This process is equivalent to another process
that applies an Inverse Modified Discrete Cosine Transform (IMDCT)
synthesis filter bank to blocks of MDCT coefficients to generate
windowed segments of time-domain samples, overlap-adds the windowed
segments of samples to reconstruct a replica of the original source
signal, and applies an MDST analysis filter bank to a segment of
the recovered signal to generate the MDST coefficients.
1. Arbitrary Window Function
Exact MDST coefficients cannot be calculated from a single segment
of windowed samples that is recovered by applying the IMDCT
synthesis filter bank to a single block of MDCT coefficients
because the segment is modulated by an analysis window function and
because the recovered samples contain time-domain aliasing. The
exact MDST coefficients can be computed only with the additional
knowledge of the MDCT coefficients for the preceding and subsequent
segments. For example, in the case where the segments overlap one
another by one-half the segment length, the effects of windowing
and the time-domain aliasing for a given segment II can be canceled
by applying the synthesis filter bank and associated synthesis
window function to three blocks of MDCT coefficients representing
three consecutive overlapping segments of the source signal,
denoted as segment I, segment II and segment III. Each segment
overlaps an adjacent segment by an amount equal to one-half of the
segment length. Windowing effects and time-domain aliasing in the
first half of segment II are canceled by an overlap-add with the
second half of segment I, and these effects in the second half of
segment II are canceled by an overlap-add with the first half of
segment III.
The expression that calculates MDST coefficients from MDCT
coefficients depends on the number of segments of the source
signal, the overlap structure and length of these segments, and the
choice of the analysis and synthesis window functions. None of
these features are important in principle to the present invention.
For ease of illustration, however, it is assumed in the examples
discussed below that the three segments have the same length N,
which is even, and overlap one another by an amount equal to
one-half the segment length, that the analysis and synthesis window
functions are identical to one another, that the same window
functions are applied to all segments of the source signal, and
that the window functions are such that their overlap-add
properties satisfy the following criterion, which is required for
perfect reconstruction of the source signal as explained in the
Princen paper.
.function..function..times..times..times..times..di-elect cons.
##EQU00007## where w(r)=analysis and synthesis window function; and
N=length of each source signal segment. The MDCT coefficients
X.sub.i for the source signal x(n) in each of the segments i may be
expressed as:
.function..times..times..function..times..function..times..function..time-
s..pi..times..times..function..times..times..function..times..function..ti-
mes..function..times..pi..times..times..function..times..times..function..-
times..function..times..function..times..pi..times..times.
##EQU00008##
The windowed time-domain samples {circumflex over (x)} that are
obtained from an application of the IMDCT synthesis filter bank to
each block of MDCT coefficients may be expressed as:
.function..times..function..times..times..times..function..times..functio-
n..times..pi..times..times..function..times..function..times..times..times-
..function..times..function..times..pi..times..times..function..times..fun-
ction..times..times..times..function..times..function..times..pi..times..t-
imes. ##EQU00009##
Samples s(r) of the source signal for segment II are reconstructed
by overlapping and adding the three windowed segments as described
above, thereby removing the time-domain aliasing from the source
signal x. This may be expressed as:
.function..function..function..times..times..di-elect
cons..function..function..times..times..di-elect cons.
##EQU00010##
A block of MDST coefficients S(k) may be calculated for segment II
by applying an MDST analysis filter bank to the time-domain samples
in the reconstructed segment II, which may be expressed as:
.function..times..function..times..function..times..function..times..pi..-
times..times. ##EQU00011##
Using expression 18 to substitute for s(r), expression 19 can be
rewritten as:
.function..times..function..function..function..function..times..function-
..times..pi..times..times..times..function..function..function..function..-
times..function..times..pi..times..times. ##EQU00012## This
equation can be rewritten in terms of the MDCT coefficients by
using expressions 15 17 to substitute for the time-domain
samples:
.function..times..times..function..times..times..function..times..times..-
pi..times..times..times..function..times..pi..times..times..times..times..-
times..times..function..times..function..times..pi..times..times..times..f-
unction..times..pi..times..times..times..function..times..function..times.-
.times..function..times..function..times..pi..times..times..times..times..-
times..pi..times..times.
.times..function..times..function..times..times..function..times..functio-
n..times..pi..times..times..times..times..function..times..pi..times..time-
s. ##EQU00013## The remainder of this section of the disclosure
shows how this equation can be simplified as shown below in
equations 41a and 41b.
Using the trigonometric identity sin .alpha.cos .beta.=1/2[sin
(.alpha.+.beta.)+ sin (.alpha.-.beta.)] to gather terms and
switching the order of summation, expression 21 can be rewritten
as
.function..times..times..times..function..times..times..times..function..-
times..function..times..pi..times..times..times..pi..times..times..times..-
pi..times..times..times..times..times..function..times..times..times..func-
tion..times..function..times..pi..times..times..times..pi..times..times..t-
imes..pi..times..times..times..times..times..function..times..times..times-
..times..function..times..pi..times..times..times..times..times..function.-
.times..times..times..times..function..times..pi..times..times..times..tim-
es..times..function..times..times..times..times..function..times..pi..time-
s..times..times..times..times..function..times..times..times..times..funct-
ion..times..pi..times..times..times..times..times..function..times..times.-
.times..function..times..function..times..pi..times..times..times..pi..tim-
es..times..times..pi..times..times..times..times..times..function..times..-
times..times..function..times..function..times..pi..times..times..times..p-
i..times..times..times..pi..times..times. ##EQU00014##
This expression can be simplified by combining pairs of terms that
are equal to each other. The first and second terms are equal to
each other. The third and fourth terms are equal to each other. The
fifth and sixth terms are equal to each other and the seventh and
eighth terms are equal to each other. The equality between the
third and fourth terms, for example, may be shown by proving the
following lemma:
.times..times..function..times..times..times..times..function..times..pi.-
.times..times..times..times..function..times..times..times..times..functio-
n..times..pi..times..times. ##EQU00015##
This lemma may be proven by rewriting the left-hand and right-hand
sides of equation 23 as functions of p as follows:
.times..times..function..times..times..times..times..function..times..pi.-
.times..times..times..times..function..times..times..times..function..time-
s..times..times..times..function..times..pi..times..times..times..times..f-
unction..times. ##EQU00016## where
.function..function..times..times..times..times..function..times..pi..tim-
es..times..times..function..function..times..times..times..times..function-
..times..pi..times..times..times. ##EQU00017## The expression of G
as a function of (p) can be rewritten as a function of (N-1-p) as
follows:
.function..function..times..times..times..times..times..pi..times..times.
##EQU00018##
It is known that MDCT coefficients are odd symmetric; therefore,
X.sub.II(N-1-p)=-X.sub.II(p) for
.di-elect cons. ##EQU00019## By rewriting (k-(N-1-p)) as (k+1+p)-N,
it may be seen that
(k-(N-1-p))(r+n.sub.0)=(k+1+p)(r+n.sub.0)-N(r+n.sub.0). These two
equalities allow expression 26 to be rewritten as:
.function..function..times..times..times..times..function..times..pi..tim-
es..times..times..pi..function. ##EQU00020## Referring to the
Princen paper, the value for n.sub.0 is 1/2(N/2+1), which is
mid-way between two integers. Because r is an integer, it can be
seen that the final term 27.pi.(r+n.sub.0) in the summand of
expression 27 is equal to an odd integer multiple of .pi.;
therefore, expression 27 can be rewritten as
.function..function..times..times..times..times..function..times..pi..tim-
es..times..function. ##EQU00021## which proves the lemma shown in
equation 23. The equality between the other pairs of terms in
equation 22 can be shown in a similar manner.
By omitting the first, third, fifth and seventh terms in expression
22 and doubling the second, fourth, sixth and eighth terms,
equation 22 can be rewritten as follows after simplifying the
second and eighth terms:
.function..times..times..function..times..times..times..function..times..-
function..times..pi..times..times..pi..pi..times..times..function..times..-
times..times..times..function..times..pi..times..times..times..times..func-
tion..times..times..times..times..times..function..times..pi..times..times-
..times..times..function..times..times..function..times..function..times..-
function..times..pi..times..times..pi..pi. ##EQU00022## Using the
following identities:
.function..alpha..+-..pi..times..times..times..times..times..alpha..times-
..times..function..alpha..pi..times..times..alpha..times..times..function.-
.alpha..pi..times..times..alpha. ##EQU00023## expression 29 can be
rewritten as:
.function..times..times..times..times..function..times..times..times..fun-
ction..times..function..times..function..times..pi..times..times..times..t-
imes..times..function..times..times..times..function..times..function..tim-
es..function..times..pi..times..times..times..times..times..function..time-
s..times..times..function..times..function..times..function..times..pi..ti-
mes..times..times..times..times..times..function..times..times..times..fun-
ction..times..function..times..function..times..pi..times..times.
##EQU00024##
The inner summations of the third and fourth terms are changed so
that their limits of summation are from r=0 to r=(N/2-1) by making
the following substitutions:
.function..times..pi..times..times..times..times..function..times..pi..ti-
mes..times. ##EQU00025##
.function..times..pi..times..times..times..times..function..times..pi..ti-
mes..times. ##EQU00025.2## This allows equation 31 to be rewritten
as
.function..times..times..times..times..function..times..times..times..fun-
ction..times..function..times..function..times..pi..times..times..times..t-
imes..times..function..times..times..times..function..times..function..tim-
es..function..times..pi..times..times..times..times..times..times..functio-
n..times..times..function..times..function..times..function..times..pi..ti-
mes..times..times..times..times..times..times..function..times..times..fun-
ction..times..function..times..function..times..pi..times..times.
##EQU00026##
Equation 32 can be simplified by using the restriction imposed on
the window function mentioned above that is required for perfect
reconstruction of the source signal. This restriction is
w(r).sup.2+w(r+N/2).sup.2=1. With this restriction, equation 31 can
be simplified to
.function..times..times..times..times..function..times..function..times..-
times..function..times..function..times..function..times..pi..times..times-
..times..times..times..function..times..times..times..function..times..fun-
ction..times..pi..times..times..times..times..times..times..function..time-
s..times..times..function..times..function..times..pi..times..times.
##EQU00027## Gathering terms, equation 33 can be rewritten as
.function..times..times..times..times..function..times..function..times..-
times..function..times..function..times..function..times..pi..times..times-
..times..times..times..function..times..function..times..times..times..fun-
ction..times..function..times..pi..times..times..times..times..times..time-
s..function..times..times..times..function..times..pi..times..times.
##EQU00028##
Equation 34 can be simplified by recognizing the inner summation of
the third term is equal to zero. This can be shown by proving two
lemmas. One lemma postulates the following equality:
.alpha..function..times..function..times..pi..times..times..alpha..functi-
on..times..pi..times..times..times..times..alpha..pi..times..times..pi..ti-
mes..times..times..times..pi..times..times..times..pi..times..times.
##EQU00029##
This equality may be proven by rewriting the summand into
exponential form, rearranging, simplifying and combining terms as
follows:
.alpha..function..times..times..times..function..function..times..times..-
pi..times..times..times..alpha..function..times..times..pi..times..times..-
times..alpha..times..times..times..function..times..times..pi..times..time-
s..times..times..function..times..times..pi..times..times..times..times..t-
imes..function..times..times..pi..times..times..times..times..function..ti-
mes..times..pi..times..times..times..times..times..function..times..times.-
.pi..times..times..function..function..times..times..pi..times..times..tim-
es..times..times..pi..times..times..times..times..times..function..times..-
times..pi..times..times..function..function..times..times..pi..times..time-
s..times..times..times..pi..times..times..times..times..times..function..t-
imes..times..pi..times..times..times..function..times..pi..times..times..f-
unction..times..pi..times..times..function..function..times..pi..times..ti-
mes..function..times..pi..times..times..times..times..pi..times..times..fu-
nction..times..pi..times..times..times..times..times..function..times..tim-
es..pi..times..times..times..function..times..pi..times..times..function..-
times..pi..times..times..function..function..times..pi..times..times..func-
tion..times..pi..times..times..function..times..pi..times..times..function-
..times..pi..times..times..times..times..times..function..times..times..pi-
..times..times..times..pi..times..times..times..pi..times..times..times..t-
imes..pi..times..times..times..pi..times..times..times..times..times..func-
tion..times..times..pi..times..times..times..pi..times..times..times..pi..-
times..times..times..times..pi..times..times..times..pi..times..times..alp-
ha..function..times..function..times..pi..times..times..pi..times..times..-
pi..times..times..times..times..pi..times..times..times..pi..times..times.
##EQU00030##
The other lemma postulates
.times..function..times..pi..times..times..times..times..times..times..ti-
mes. ##EQU00031## This may be proven by substituting n.sub.0 for a
in expression 35 to obtain the following:
.times..pi..times..times..function..pi..times..times..pi..times..times..t-
imes..times..pi..times..times..times..pi..times..times..function..pi..time-
s..times..times..pi..times..times..pi..times..times..times..times..pi..tim-
es..times..times..pi..times..times..function..pi..times..times..pi..times.-
.times..pi..times..times..pi..times..times..times..times..pi..times..times-
..times..pi..times..times..function..pi..times..times..times..times..pi..t-
imes..times..times..pi..times..times..times..times..times..times..times..t-
imes. ##EQU00032## By substituting (k-p) for q in expression 35 and
using the preceding two lemmas, the inner summation of the third
term in equation 34 may be shown to equal zero as follows:
.times..function..times..pi..times..function..times..function..times..pi.-
.times..times. ##EQU00033## .times..times..times.
##EQU00033.2##
Using this equality, equation 34 may be simplified to the
following:
.function..times..times..times..times..function..times..function..times..-
times..function..times..function..times..function..times..pi..times..times-
..times..times..times..times..function..times..times..times..function..tim-
es..function..times..pi..times..times. ##EQU00034##
The MDST coefficients S(k) of a real-valued signal are symmetric
according to the expression S(k)=S(N-1-k), for k.epsilon.[0, N-1].
Using this property, all even numbered coefficients can be
expressed as S(2v)=S(N-1-2v)=S(N-2(v+1)+1), for
.di-elect cons. ##EQU00035## Because N and 2(v+1) are both even
numbers, the quantity (N-2(v+1)+1) is an odd number. From this, it
can be seen the even numbered coefficients can be expressed in
terms of the odd numbered coefficients. Using this property of the
coefficients, equation 38 can be rewritten as follows:
.function..times..times..times..times..times..function..function..times..-
times..function..times..function..times..function..times..pi..times..times-
..times..times..times..times..times..function..times..times..times..functi-
on..times..function..times..pi..times..times..times..times..times..times..-
times..di-elect cons. ##EQU00036##
The second term in this equation is equal to zero for all even
values of p. The second term needs to be evaluated only for odd
values of p, or for p=2l+1 for
.times..di-elect
cons..function..times..times..times..times..times..function..function..ti-
mes..times..function..times..function..times..function..times..pi..times..-
times..times..times..times..times..function..times..times..times..times..f-
unction..times..function..times..pi..times..times..times..times..times..ti-
mes..times..di-elect cons. ##EQU00037##
Equation 40 can be rewritten as a summation of two modified
convolution operations of two functions h.sub.I,III and h.sub.II
with two sets of intermediate spectral components m.sub.I,III and
m.sub.II that are derived from the MDCT coefficients X.sub.I,
X.sub.II, and XIII for three segments of the source signal as
follows:
.function..times..times..times..times..times..function..times..function..-
times..times..times..times..times..function..times..times..function..times-
..times..times..function..tau..times..tau..times..function..tau..function.-
.tau..function..tau..times..function..tau..function..tau..times..times..om-
ega..function..times..omega..function..times..function..times..pi..times..-
tau..times..function..tau..times..times..omega..function..times..function.-
.times..pi..times..tau..times..di-elect
cons..times..function..times..function..times..times.
##EQU00038##
The results of the modified convolution operations depend on the
properties of the functions h.sub.I,III and h.sub.II, which are
impulse responses of hypothetical filters that are related to the
combined effects of the IMDCT synthesis filter bank, the subsequent
MDST analysis filter bank, and the analysis and synthesis window
functions The modified convolutions need to be evaluated only for
even integers.
Each of the impulse responses is symmetric. It may be seen from
inspection that h.sub.I,III(.tau.)=h.sub.I,III(-.tau.) and
h.sub.II(.tau.)=-h.sub.II(-.tau.). These symmetry properties may be
exploited in practical digital implementations to reduce the amount
of memory needed to store a representation of each impulse
response. An understanding of how the symmetry properties of the
impulse responses interact with the symmetry properties of the
intermediate spectral components m.sub.I,III and m.sub.II may also
be exploited in practical implementations to reduce computational
complexity.
The impulse responses h.sub.I,III(.tau.) and h.sub.II(.tau.) may be
calculated from the summations shown above; however, it may be
possible to simplify these calculations by deriving simpler
analytical expressions for the impulse responses. Because the
impulse responses depend on the window function w(r), the
derivation of simpler analytical expressions requires additional
specifications for the window function. An example of derivations
of simpler analytical expressions for the impulse responses for two
specific window functions, the rectangular and sine window
functions, are discussed below.
2. Rectangular Window Function
The rectangular window function is not often used in coding
applications because it has relatively poor frequency selectivity
properties; however, its simplicity reduces the complexity of the
analysis needed to derive a specific implementation. For this
derivation, the window function
.function. ##EQU00039## for r .epsilon.[0,N-1] is used. For this
particular window function, the second term of equation 41a is
equal to zero. The calculation of the MDST coefficients does not
depend on the MDCT coefficients for the second segment. As a
result, equation 41a may be rewritten as
.function..times..times..times..times..times..function..times..function..-
times..function..tau..times..tau..times..function..tau..function..tau..fun-
ction..tau..times..function..tau..function..tau..times..times..times..func-
tion..times..pi..times..tau..times..di-elect cons..times.
##EQU00040##
If N is restricted to have a value that is a multiple of four, this
equation can be simplified further by using another lemma that
postulates the following equality:
.times..function..times..pi..times..times..times..times..pi..times..pi..t-
imes..times..times..times..times..times..times..times..times..times..times-
..times..times..times..times..times..times..times..times..times.
##EQU00041##
This may be proven as follows:
.times..function..times..pi..times..times..times..function..times..pi..ti-
mes..times..pi..times..function..times..pi..times..times..times..pi..times-
..times..times..times..function..times..pi..times..times..times.
##EQU00042## By using the lemma shown in equation 35 with
.times. ##EQU00043## expression 44 can be rewritten as
.times..pi..times..times..pi..times..times..pi..times..times..pi..times.
##EQU00044## which can be simplified to obtain the following
expression:
.times..times..pi..times..times..pi..times. ##EQU00045##
If q is an integer multiple of N such that q=mN, then the numerator
and denominator of the quotient in expression 46 are both equal to
zero, causing the value of the quotient to be indeterminate.
L'Hospital's rule may be used to simplify the expression further.
Differentiating the numerator and denominator with respect to q and
substituting q=mN yields the expression
.function..pi..function..pi. ##EQU00046## Because N is an integer
multiple of four, the numerator is always equal to N and the
denominator is equal to 2(-1).sup.m=2(-1).sup.q/N. This completes
the proof of the lemma expressed by equation 43.
This equality may be used to obtain expressions for the impulse
response h.sub.I,III. Different cases are considered to evaluate
the response h.sub.I,III(.tau.). If .tau. is an integer multiple of
N such that .tau.=mN then h.sub.I,III(.tau.)=(-1).sup.mN/4. The
response equals zero for even values of .tau. other than an integer
multiple of N because the numerator of the quotient in equation 46
is equal to zero. The value of the impulse response h.sub.I,III for
odd values of .tau. can be seen from inspection. The impulse
response may be expressed as follows:
.function..tau..times..times..times..times..times..tau..function..tau..ti-
mes..times..times..times..tau..times..times..tau..noteq..function..tau..ti-
mes..tau..times..pi..times..tau. ##EQU00047## The impulse response
h.sub.I,III for a rectangular window function and N=128 is
illustrated in FIG. 6.
By substituting these expressions into equation 42, equations 41a
and 41b can be rewritten as:
.function..times..times..times..times..times..function..times..function..-
times..times..function..tau..times..tau..times..function..tau..function..t-
au..function..tau..times..times..tau..tau..noteq..times..times..times..tim-
es..tau..times..times..tau..times..tau..tau..times..times..function..times-
..function..times..times..di-elect cons..times. ##EQU00048##
Using equations 49a and 49b, MDST coefficients for segment II can
be calculated from the MDCT coefficients of segments I and III
assuming the use of a rectangular window function. The
computational complexity of this equation can be reduced by
exploiting the fact that the impulse response h.sub.I,III(.tau.) is
equal to zero for many odd values of .tau..
3. Sine Window Function
The sine window function has better frequency selectivity
properties than the rectangular window function and is used in some
practical coding systems. The following derivation uses a sine
window function defined by the expression w(r)=sin(.pi./N(r+1/2))
(50)
A simplified expression for the impulse response h.sub.I,III may be
derived by using a lemma that postulates the following:
.function..tau..times..times..times..omega..times..times..omega..function-
..times..function..times..pi..times..tau..times..times..tau..times..times.-
.tau..noteq..tau..noteq..times..tau..times..tau..times..tau..function..tim-
es..pi..times..tau..times..pi..times..tau..tau..times..times..times..times-
..omega..function..function..pi..times. ##EQU00049##
This lemma may be proven by first simplifying the expression for
w(r)w(r+N/2) as follows:
.function..pi..times..times..function..pi..times..function..pi..times..ti-
mes..function..pi..times..pi..function..pi..times..times..function..pi..ti-
mes..times..times..pi..times. ##EQU00050## Substituting this
simplified expression into equation 51 obtains the following:
.function..tau..times..times..times..function..times..pi..times..times..f-
unction..times..pi..times..tau..times. ##EQU00051##
Using the following trigonometric identity sin u cos
v=1/2[sin(u+v)+sin(u-v)] (54) equation 53 can be rewritten as
follows:
.function..tau..times..times..times..function..times..pi..times..times..p-
i..times..tau..times..times..times..times..function..times..pi..times..tim-
es..pi..times..tau..times..function..tau..times..times..times..function..t-
imes..pi..times..tau..times..tau..times..times..times..function..times..pi-
..times..tau..times..tau..function..tau..times..times..times..function..ti-
mes..pi..times..tau..times..tau..times..times..times..function..times..pi.-
.times..tau..times..tau..function..tau..times..times..times..times..pi..ti-
mes..tau..times..tau..tau..times..times..times..times..pi..times..tau..tim-
es..tau..tau. ##EQU00052##
Equation 55 can be simplified by substitution in both terms of
I(.tau.) according to equation 35, setting q=(.tau.+1) and
.times..times..tau. ##EQU00053## in the first term, and setting
q=(-.tau.+1) and
.times..times..tau. ##EQU00054## in the second term. This yields
the following:
.function..tau..times..function..times..pi..times..tau..pi..times..tau..p-
i..times..tau..times..times..pi..times..tau..times..pi..times..tau..times.-
.function..times..pi..times..tau..pi..times..tau..pi..times..tau..times..t-
imes..pi..times..tau..times..pi..times..tau..function..tau..times..functio-
n..pi..times..tau..times..pi..times..tau..pi..times..tau..times..times..pi-
..times..tau..times..pi..times..tau..times..function..pi..times..tau..time-
s..pi..times..tau..pi..times..tau..times..times..pi..times..tau..times..pi-
..times..tau..function..tau..times..pi..times..tau..pi..times..tau..times.-
.times..pi..times..tau..times..pi..times..tau..times..pi..times..tau..pi..-
times..tau..times..times..pi..times..tau..times..pi..times..tau..function.-
.tau..times..function..pi..function..tau..pi..times..times..pi..times..tau-
..times..pi..times..tau..times..function..pi..function..tau..pi..times..ti-
mes..pi..times..tau..times..pi..times..tau..times..function..tau..times..f-
unction..pi..tau..times..pi..times..tau..times..pi..times..tau..times..fun-
ction..pi..tau..times..pi..times..tau..times..pi..times..tau..times..funct-
ion..tau..times..pi..times..tau..times..pi..times..tau..times..pi..times..-
tau..times..pi..times..tau..times..function..tau..times..times..pi..times.-
.tau..times..pi..times..tau..times..pi..times..tau..times..function..tau..-
tau..function..times..pi..times..tau..times..pi..times..tau..tau..times..t-
imes..tau..times..times. ##EQU00055##
Equation 58 is valid unless the denominator for either quotient is
equal to zero. These special cases can be analyzed by inspecting
equation 57 to identify the conditions under which either
denominator is zero. It can be seen from equation 57 that
singularities occur for .tau.=mN+1 and .tau.=mN-1, where m is an
integer. The following assumes N is an integer multiple of
four.
For .tau.=mN+1 equation 57 can be rewritten as:
.function..times..times..function..pi..function..pi..times..pi..times..ti-
mes..pi..times..times..times..function..pi..function..pi..times..pi..times-
..times..pi..times..times..times..function..pi..times..pi..times..times..t-
imes..times..pi..times..times..times..pi..times..times..times..times..time-
s..pi..times..times..times..pi. ##EQU00056## The value of the
quotient is indeterminate because the numerator and denominator are
both equal to zero. L'Hospital's rule can be used to determine its
value. Differentiating numerator and denominator with respect to m
yields the following:
.function..times..times..times..times..pi..times..times..times..times..pi-
..pi..times..times. ##EQU00057##
For .tau.=mN-1 equation 57 can be rewritten as:
.function..times..function..pi..function..pi..times..pi..times..times..pi-
..times..times..function..pi..function..pi..times..pi..times..times..pi..t-
imes..times..function..times..times..function..pi..times..pi..times..times-
..pi..times..times..pi..times. ##EQU00058## The value of the
quotient in this equation is indeterminate because the numerator
and denominator are both equal to zero. L'Hospital's rule can be
used to determine its value. Differentiating numerator and
denominator with respect to m yields the following:
.function..times..times..pi..pi..times..pi..times..times..times..pi..time-
s..times..times. ##EQU00059##
The lemma expressed by equation 51 is proven by combining equations
58, 60 and 62.
A simplified expression for the impulse response h.sub.II may be
derived by using a lemma that postulates the following:
.function..tau..times..times..times..omega..function..times..omega..funct-
ion..times..function..times..pi..times..tau..times..times..tau..times..tim-
es..tau..noteq..tau..noteq..times..tau..times..tau..delta..times..times..t-
au..function..times..pi..times..tau..times..pi..times..tau..tau..times..ti-
mes..times..times..omega..function..times..function..pi..times.
##EQU00060##
The proof of this lemma is similar to the previous proof. This
proof begins by simplifying the expression for w(r)w(r). Recall
that sin.sup.2 .alpha.=1/2-1/2 cos (2a), so that:
.function..pi..times..times..function..times..pi..times.
##EQU00061## Using this expression, equation 63 can be rewritten
as:
.function..tau..times..times..times..times..function..times..pi..times..t-
imes..function..times..pi..times..tau..times..times..times..times..functio-
n..times..pi..times..tau..times..times..times..times..function..times..pi.-
.times..times..function..times..pi..times..tau..times.
##EQU00062##
From equation 37 and the associated lemma, it may be seen the first
term in equation 65 is equal to zero. The second term may be
simplified using the trigonometric identity cos usin v=1/2[ sin
(u+v)-sin (u-v)], which obtains the following:
.function..tau..times..times..times..times..function..times..pi..times..t-
imes..pi..times..tau..times..times..times..function..times..pi..times..tim-
es..pi..times..tau..times. ##EQU00063##
Referring to equation 66, its first term is equal to the negative
of the first term in equation 55 and its second term is equal to
the second term of equation 55. The proof of the lemma expressed in
equation 63 may be proven in a manner similar to that used to prove
the lemma expressed in equation 51. The principal difference in the
proof is the singularity analyses of equation 59 and equation 61.
For this proof, I(mN-1) is multiplied by an additional factor of
-1; therefore,
.times..times..times. ##EQU00064## Allowing for this difference
along with the minus sign preceding the first term of equation 55,
the lemma expressed in equation 63 is proven.
An exact expression for impulse response h.sub.ll(.tau.) is given
by this lemma; however, it needs to be evaluated only for odd
values of .tau. because the modified convolution of h.sub.II in
equation 41a is evaluated only for .tau.=(2v-(2l+1)). According to
equation 63, h.sub.II(.tau.)=0 for odd values of .tau. except for
.tau.=mN+1 and .tau.=mN-1. Because h.sub.II(.tau.) is non-zero for
only two values of .tau., this impulse response can be expressed
as:
.function..tau..times..tau..times..tau. ##EQU00065## The impulse
responses h.sub.I,III(.tau.) and h.sub.II(.tau.) for the sine
window function and N=128 are illustrated in FIGS. 7 and 8,
respectively.
Using the analytical expressions for the impulse responses
h.sub.I,III and h.sub.II provided by equations 51 and 67, equations
41a and 41b can be rewritten as:
.function..times..times..times..times..function..times..function..times..-
times..times..times..function..times..times..function..times..times..times-
..function..tau..times..tau..times..function..tau..function..tau..function-
..tau..times..function..tau..function..tau..tau..times..times..tau..noteq.-
.tau..noteq..times..tau..times..tau..delta..times..times..tau..function..t-
imes..pi..times..tau..times..pi..times..tau..tau..times..times..function..-
tau..times..times..tau..times..tau..function..times..function..times..time-
s. ##EQU00066##
Using equations 68a and 68b, MDST coefficients for segment II can
be calculated from the MDCT coefficients of segments I, II and III
assuming the use of a sine window function. The computational
complexity of this equation can be reduced further by exploiting
the fact that the impulse response h.sub.I,III(.tau.) is equal to
zero for many odd values of .tau..
C. Spectral Component Estimation
Equations 41a and 41b express a calculation of exact MDST
coefficients from MDCT coefficients for an arbitrary window
function. Equations 49a, 49b, 68a and 68b express calculations of
exact MDST coefficients from MDCT coefficients using a rectangular
window function and a sine window function, respectively. These
calculations include operations that are similar to the convolution
of impulse responses. The computational complexity of calculating
the convolution-like operations can be reduced by excluding from
the calculations those values of the impulse responses that are
known to be zero.
The computational complexity can be reduced further by excluding
from the calculations those portions of the full responses that are
of lesser significance; however, this resulting calculation
provides only an estimate of the MDST coefficients because an exact
calculation is no longer possible. By controlling the amounts of
the impulse responses that are excluded from the calculations, an
appropriate balance between computational complexity and estimation
accuracy can be achieved.
The impulse responses themselves are dependent on the shape of the
window function that is assumed. As a result, the choice of window
function affects the portions of the impulse responses that can be
excluded from calculation without reducing coefficient estimation
accuracy below some desired level.
An inspection of equation 49a for rectangular window functions
shows the impulse response h.sub.I,III is symmetric about .tau.=0
and decays moderately rapidly. An example of this impulse response
for N=128 is shown in FIG. 6. The impulse response h.sub.II is
equal to zero for all values of .tau..
An inspection of equation 68a for the sine window function shows
the impulse response h.sub.I,III is symmetric about .tau.=0 and
decays more rapidly than the corresponding response for the
rectangular window function. For the sine window function, the
impulse response h.sub.II is non-zero for only two values of .tau..
An example of the impulse responses h.sub.I,III and h.sub.II for a
sine window function and N=128 are shown in FIGS. 7 and 8,
respectively.
Based on these observations, a modified form of equations 41a and
41b that provides an estimate of MDST coefficients for any analysis
or synthesis window function may be expressed in terms of two
filter structures as follows:
.times..times..times..times..times..times..times..times..times..times..ti-
mes..times..times..times..times..times..function..times..function..times..-
function..tau..times..tau..times..function..tau..function..tau..function..-
tau..times..times..times..times..tau..times..di-elect
cons..tau..times..times..tau..times..times..times..omega..function..tau..-
times..omega..function..function..times..pi..times..tau..times..times..tim-
es..omega..times..times..times..times..times..times..times..function..time-
s..times..function..times..times..function..tau..function..tau..function..-
tau..times..times..times..times..tau..times..di-elect
cons..tau..times..times..tau..times..times..times..omega..function..times-
..function..times..pi..times..tau..times..times..times..times..times..time-
s..times..di-elect
cons..times..times..times..times..tau..times..times..tau..times..times..t-
imes..times..times..times..times..times..times..times..tau..times..times..-
times..times..di-elect cons..tau..times..times..di-elect
cons..times..times..tau..times..times..times..tau..times..times.
##EQU00067##
An example of a device 30 that estimates MDST coefficients
according to equation 69 is illustrated by a schematic block
diagram in FIG. 3. In this implementation, the intermediate
component generator 32 receives MDCT coefficients from the path 1
and derives first intermediate components m.sub.I,III from the MDCT
coefficients X.sub.I and X.sub.II of segments I and III,
respectively, by performing the calculations shown in equation 71,
and derives first intermediate components m.sub.II from the MDCT
coefficients X.sub.II of segment II by performing the calculations
shown in equation 74. The intermediate component generator 34
derives second intermediate components by forming a combination of
first intermediate components m.sub.I,III according to a portion of
the impulse response h.sub.I,III received from the impulse
responses 33 by performing the calculations shown in equation 70,
and derives second intermediate components by forming a combination
of first intermediate components m.sub.II according to a portion of
the impulse response h.sub.II received from the impulse responses
33 by performing the calculations shown in equation 73. Any portion
of the two impulse responses may be used as expressed by the values
.tau..sub.trunc1 and .tau..sub.trunc2 including the entire
responses. The use of longer impulse responses increases
computational complexity and generally increases the accuracy of
MDST coefficient estimation. The spectral component generator 35
obtains MDST coefficients from the second intermediate components
by performing the calculations shown in equations 69 and 76.
The magnitude and phase estimator 36 calculates measures of
magnitude and phase from the calculated MDST coefficients and the
MDCT coefficients received from the path 31 and passes these
measures along the paths 38 and 39. The MDST coefficients may also
be passed along the path 37. Measures of spectral magnitude and
phase may be obtained by performing the calculations shown above in
equations 10 and 11, for example. Other examples of measures that
may be obtained include spectral flux, which may be obtained from
the first derivative of spectral magnitude, and instantaneous
frequency, which may be obtained from the first derivative of
spectral phase.
Referring to the impulse responses shown in FIGS. 6 8, for example,
it may be seen that the coefficient values obtained by the
convolution-type operations of the two filter structures are
dominated by the portions of the responses that are near .tau.=0. A
balance between computational complexity and estimation accuracy
may be achieved for a particular implementation by choosing the
total number of filter taps ntaps.sub.tot that are used to
implement the two filter structures. The total number of taps
ntaps.sub.tot may be distributed between the first and second
filter structures as desired according to the values of
.tau..sub.trunc1 and .tau..sub.trunc2, respectively, to adapt MDST
coefficient estimation to the needs of specific applications. The
distribution of taps between the two filter structures can affect
estimation accuracy but it does not affect computational
complexity.
The number and choice of taps for each filter structure can be
selected using any criteria that may be desired. For example, an
inspection of two impulse responses h.sub.I,III and h.sub.II will
reveal the portions of the responses that are more significant.
Taps may be chosen for only the more significant portions. In
addition, computational complexity may be reduced by obtaining only
selected MDST coefficients such as the coefficients in one or more
frequency ranges.
An adaptive implementation of the present invention may use larger
portions of the impulse responses to estimate the MDST coefficients
for spectral components that are judged to be perceptually more
significant by a perceptual model. For example, a measure of
perceptual significance for a spectral component could be derived
from the amount by which the spectral component exceeds a
perceptual masking threshold that is calculated by a perceptual
model. Shorter portions of the impulse responses may be used to
estimate MDST coefficients for perceptually less significant
spectral components. Calculations needed to estimate MDST
coefficients for the least significant spectral components can be
avoided.
A non-adaptive implementation may obtain estimates of MDST
coefficients in various frequency subbands of a signal using
portions of the impulse responses whose lengths vary according to
the perceptual significance of the subbands as determined
previously by an analysis of exemplary signals. In many audio
coding applications, spectral content in lower frequency subbands
generally has greater perceptual significance than spectral content
in higher frequency subbands. In these applications, for example, a
non-adaptive implementation could estimate MDST coefficients in
subbands using portions of the impulse responses whose length
varies inversely with the frequency of the subbands.
D. Additional Considerations
The preceding disclosure sets forth examples that describes only a
few implementations of the present invention. Principles of the
present invention may be applied and implemented in a wide variety
of ways. Additional considerations are discussed below.
1. Other Transforms
The exemplary implementations described above are derived from the
MDCT that is expressed in terms of the ODFT as applied to
fixed-length segments of a source signal that overlap one another
by half the segment length. A variation of the examples discussed
above as well as a variation of the alternatives discussed below
may be obtained by deriving implementations from the MDST that is
expressed in terms of the ODFT.
Additional implementations of the present invention may be derived
from expressions of other transforms including the DFT, the FFT and
a generalized expression of the MDCT filter bank discussed in the
Princen paper cited above. This generalized expression is described
in U.S. Pat. No. 5,727,119 issued Mar. 10, 1998.
Implementations of the present invention also may be derived from
expressions of transforms that are applied to varying-length signal
segments and transforms that are applied to segments having no
overlap or amounts of overlap other than half the segment
length.
2. Adaptive Estimation
Some empirical results suggest that an implementation of the
present invention with a specified level of computational
complexity is often able to derive measures of spectral component
magnitude that is more accurate for spectral components
representing a band of spectral energy than it is for spectral
components representing a single sinusoid or a few sinusoids that
are isolated from one another in frequency. The process that
estimates spectral component magnitude may be adapted in at least
two ways to improve estimation accuracy for signals that have
isolated spectral components.
One way to adapt the process is by adaptively increasing the length
of the impulse responses for two filter structures shown in
equation 69 so that more accurate computations can be performed for
a restricted set of MDST coefficients that are related to the one
or more isolated spectral components.
Another way to adapt this process is by adaptively performing an
alternate method for deriving spectral component magnitudes for
isolated spectral components. The alternate method derives an
additional set of spectral components from the MDCT coefficients
and the additional set of spectral components are used to obtain
measures of magnitude and/or phase. This adaptation may be done by
selecting the more appropriate method for segments of the source
signal, and it may be done by using the more appropriate method for
portions of the spectrum for a particular segment. A method that is
described in the Merdjani paper cited above is one possible
alternate method. If it is used, this method preferably is extended
to provide magnitude estimates for more than a single sinusoid.
This may be done by dynamically arranging MDCT coefficients into
bands of frequencies in which each band has a single dominant
spectral component and applying the Merdjani method to each band of
coefficients.
The presence of a source signal that has one dominant spectral
component or a few isolated dominant spectral components may be
detected using a variety of techniques. One technique detects local
maxima in MDCT coefficients having magnitudes that exceed the
magnitudes of adjacent and nearby coefficients by some threshold
amount and either counting the number of local maxima or
determining the spectral distance between local maxima. Another
technique determines the spectral shape of the source signal by
calculating an approximate Spectral Flatness Measure (SFM) of the
source signal. The SFM is described in N. Jayant et al., "Digital
Coding of Waveforms," Prentice-Hall, 1984, p. 57, and is defined as
the ratio of the geometric mean and the arithmetic mean of samples
of the power spectral density of a signal.
3. Implementation
The present invention may be used advantageously in a wide variety
of applications. Schematic block diagrams of a transmitter and a
receiver incorporating various aspects of the present invention are
shown in FIGS. 4 and 5, respectively.
The transmitter shown in FIG. 4 is similar to the transmitter shown
in FIG. 1 and includes the estimator 30, which incorporates various
aspects of the present invention to provide measures of magnitude
and phase along the paths 38 and 39, respectively. The encoder 6
uses these measures to generate encoded information representing
the spectral components received from the analysis filter bank 3.
Examples of processes that may be used in the encoder 6, which may
depend on the measures of magnitude or phase, include perceptual
models used to determine adaptive quantization levels, coupling,
and spectral envelope estimation for later use by spectral
regeneration decoding processes.
The receiver shown in FIG. 5 is similar to the receiver shown in
FIG. 2 and includes the estimator 30, which incorporates various
aspects of the present invention to provide measures of magnitude
and phase along the paths 38 and 39, respectively. The estimator 30
may also provide MDST coefficients along the path 37. The decoder
26 uses these measures to obtain spectral components from encoded
information received from the deformatter 23. Examples of processes
that may be used in the decoder 26, which may depend on the
measures of magnitude or phase, include perceptual models used to
determine adaptive quantization levels, spectral component
synthesis from composite or coupled representations, and spectral
component regeneration.
Devices that incorporate various aspects of the present invention
may be implemented in a variety of ways including software for
execution by a computer or some other apparatus that includes more
specialized components such as digital signal processor (DSP)
circuitry coupled to components similar to those found in a
general-purpose computer. FIG. 9 is a schematic block diagram of
device 70 that may be used to implement aspects of the present
invention. DSP 72 provides computing resources. RAM 73 is system
random access memory (RAM) used by DSP 72 for signal processing.
ROM 74 represents some form of persistent storage such as read only
memory (ROM) for storing programs needed to operate device 70 and
to carry out various aspects of the present invention. I/O control
75 represents interface circuitry to receive and transmit signals
by way of communication channels 76, 77. Analog-to-digital
converters and digital-to-analog converters may be included in I/O
control 75 as desired to receive and/or transmit analog signals. In
the embodiment shown, all major system components connect to bus
71, which may represent more than one physical bus; however, a bus
architecture is not required to implement the present
invention.
In embodiments implemented in a general purpose computer system,
additional components may be included for interfacing to devices
such as a keyboard or mouse and a display, and for controlling a
storage device having a storage medium such as magnetic tape or
disk, or an optical medium. The storage medium may be used to
record programs of instructions for operating systems, utilities
and applications, and may include embodiments of programs that
implement various aspects of the present invention.
The functions required to practice various aspects of the present
invention can be performed by components that are implemented in a
wide variety of ways including discrete logic components,
integrated circuits, one or more ASICs and/or program-controlled
processors. The manner in which these components are implemented is
not important to the present invention.
Software implementations of the present invention may be conveyed
by a variety of machine readable media such as baseband or
modulated communication paths throughout the spectrum including
from supersonic to ultraviolet frequencies, or storage media that
convey information using essentially any recording technology
including magnetic tape, cards or disk, optical cards or disc, and
detectable markings on media like paper.
* * * * *