|
|
|
| United States Patent | 5222189 |
| Link to this page | http://www.wikipatents.com/5222189.html |
| Inventor(s) | Fielder; Loius D. (Millbrae, CA) |
| Abstract | A low bit-rate (192 kBits per second) transform encoder/decoder system
(44.1 kHz or 48 kHz sampling rate) for high-quality music applications
employs short time-domain sample blocks (128 samples/block) so that the
system signal propagation delay is short enough for real-time aural
feedback to a human operator. Carefully designed pairs of
analysis/synthesis windows are used to achieve sufficient transform
frequency selectivity despite the use of short sample blocks. A synthesis
window in the decoder has characteristics such that the product of its
response and that of an analysis window in the encoder produces a
composite response which sums to unity for two adjacent overlapped sample
blocks. Adjacent time-domain signal samples blocks are overlapped and
added to cancel the effects of the analysis and synthesis windows. A
technique is provided for deriving suitable analysis/synthesis window
pairs. In the encoder, a discrete transform having a function equivalent
to the alternate application of a modified Discrete Cosine Transform and a
modified Discrete Sine Transform according to the Time Domain Aliasing
Cancellation technique or, alternatively, a Discrete Fourier Transform is
used to generate frequency-domain transform coefficients. The transform
coefficients are nonuniformly quantized by assigning a fixed number of
bits and a variable number of bits determined adaptively based on
psychoacoustic masking. A technique is described for assigning the fixed
bit and adaptive bit allocations. The transmission of side information
regarding adaptively allocated bits is not required. Error codes and
protected data may be scattered throughout formatted frame outputs from
the encoder in order to reduce sensitivity to noise bursts. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5222189 |
|
|
Low time-delay transform coder, decoder, and encoder/decoder for
high-quality audio |
|
|
|
|
|
| Publication Date |
June 22, 1993 |
|
|
|
|
|
| Filing Date |
September 26, 1990 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part of U.S. patent application Ser.
No. 07/458,894 filed Dec. 29, 1989, application Ser. No. 07/439,868 filed
Nov. 20, 1989, abandoned, and application Ser. No. 07/303,714 filed Jan.
27, 1989, abandoned. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
Claims  |
|
|
I claim:
1. An encoder for the encoding of audio information comprising signal
samples, said encoder comprising
means for receiving said signal samples,
subband means, including adaptive bit allocation means, for defining
subbands and for generating subband information in response to said signal
samples, said subband information for each of said subbands including one
or more digital words, each of said digital words comprising an adaptive
portion and a non-adaptive portion, wherein coding accuracy of said
adaptive portion is established by said adaptive bit allocation means, and
formatting means for assembling digital information including said subband
information into a digital output having a format suitable for
transmission or storage.
2. An encoder according to claim 1 wherein the coding accuracy of said
non-adaptive portion is less than the accuracy required to have no audible
quantizing noise.
3. An encoder according to claim 1 wherein said subband means generates
said subband information by applying a discrete transform function to
blocks of said signal samples.
4. An encoder according to claim 1 wherein said subband means comprises
filter bank means and means for storing coding information defining the
coding accuracy for said non-adaptive portion, wherein said coding
information is preestablished by comparing a representative frequency
response for said filter bank means for each of said subbands to a
corresponding psychoacoustic masking threshold representative of one or
more of said subbands.
5. An encoder according to claim 4 wherein a psychoacoustic masking
threshold having a relatively high selectivity for frequencies below a
masking tone or narrow band of noise is taken as representative of the
psychoacoustic masking threshold in lower frequency subbands and a
psychoacoustic masking threshold having a relatively low selectivity for
frequencies below a masking tone or narrow band of noise is taken as
representative of the psychoacoustic masking threshold in higher frequency
subbands.
6. An encoder according to claim 5 wherein a psychoacoustic masking
threshold for a single tone or very narrow band of noise at about 1 kHz is
taken as representative for subbands within the frequency range of about
500 Hz to 2 kHz and a psychoacoustic masking threshold for a single tone
or very narrow band of noise at about 4 kHz is taken as representative for
subbands above about 2 kHz.
7. An encoder according to claim 4 wherein said coding information defines
said coding accuracy for said non-adaptive portion at a level less than
the accuracy required to have no quantizing noise in excess of said
corresponding psychoacoustic masking threshold.
8. An encoder according to claim 7 wherein said coding information defines
said coding accuracy at a level two bits fewer than said accuracy required
to have no quantizing noise in excess of said corresponding psychoacoustic
masking threshold.
9. An encoder according to claim 1 or 4 wherein said subband means
represents said subband information in block-floating-point form
comprising one or more mantissas and one or more exponents, wherein said
coding accuracy of said adaptive portion is based on an effective exponent
value for each of said digital words, said effective exponent value
derived from the value or values of said one or more exponents.
10. An encoder according to claim 9 wherein said subband information
comprises one or more mantissas and a subband exponent for each of said
subbands, each of said mantissas corresponding to a respective one of said
digital words, said effective exponent value for each of said digital
words equal to the value of the corresponding subband exponent.
11. An encoder according to claim 9 wherein said subband information
comprises one or more mantissas and a subband exponent for each of said
subbands, and one or more master exponents, each master exponent
associated with a set of subbands, each of said mantissas corresponding to
a respective one of said digital words, said effective exponent value for
each of said digital words derived from a combination of the values of the
corresponding subband exponent and the associated master exponent.
12. An encoder according to claim 9, wherein subband information generated
in response to an interval of said signal samples constitutes a subband
information block, said subband means further comprising means for
estimating the relative energy level of each subband represented in a
subband information block, wherein said adaptive bit allocation means
assigns bits to at least some digital words, said adaptive bit allocation
means comprising
means for allocating at most a maximum number of bits to each of the
digital words of a first group of subbands possessing the greatest energy
levels and stopping when a certain number of bits has been allocated to
each of the digital words of said first group of subbands, and
means for allocating bits to the digital words of a second group of
subbands adjoining subbands in which each of the digital words have been
allocated said certain number of bits, each of the subbands of said second
group of subbands constituting one subband of a pair of subbands
immediately adjacent to said subbands in which digital words have been
allocated said certain number of bits.
13. An encoder according to claim 12 wherein said certain number of bits is
equal to said maximum number of bits.
14. An encoder according to claim 12 wherein said means for estimating the
relative energy level estimates said relative energy level based upon the
effective exponent value of each subband represented in a subband
information block.
15. An encoder according to claim 14 wherein said means for estimating the
relative energy level comprises
means for ascertaining the effective exponent value of the subband which
contains the maximum of the values represented by each mantissa in
combination with its associated effective exponent value, and
means for assigning a level number to each of all subbands represented in
said subband information block, said level number equal to said maximum
number of bits reduced by the absolute value of the difference between the
ascertained effective exponent value and the effective exponent value
corresponding to the subband for which a level is to be assigned, but in
no case assigning a level number less than zero.
16. An encoder according to claim 12 wherein said means for allocating bits
to the digital words constituting said second group of subbands allocates
bits to the digital words of said adjacent subbands on the low-frequency
side before bits are allocated to the digital words of said adjacent
subbands on the high-frequency side.
17. An encoder according to claim 12 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals a
limited number of adaptively allocatable bits.
18. An encoder according to claim 12 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals or
exceeds a limited number of adaptively allocatable bits, said means
further comprising a means for reducing the number of bits adaptively
allocated to selected digital words until the number of bits adaptively
allocated equals said limited number of adaptively allocatable bits.
19. An encoder according to claim 9 wherein said formatting means assembles
bits representing said non-adaptive portion of each of said digital words
and bits representing said one or more exponents apart from bits
representing said adaptive portion of each of said digital words.
20. An encoder according to claim 19 wherein said formatting means
assembles said digital information into frames and inserts the bits
representing said non-adaptive portion of each of said digital words and
the bits representing said one or more exponents into preestablished
positions within a respective one of said frames.
21. An encoder according to claim 20 wherein said formatting means inserts
into a respective one of said frames the bits representing said
non-adaptive portion of each of said digital words and the bits
representing said one or more exponents ahead of the bits representing
said adaptive portion of each of said digital words.
22. An encoder according to claim 1 or 4, wherein subband information
generated in response to an interval of said signal samples constitutes a
subband information block, said subband means further comprising means for
estimating the relative energy level of each subband represented in a
subband information block, wherein said adaptive bit allocation means
assigns bits to at least some digital words, said adaptive bit allocation
means comprising
means for allocating at most a maximum number of bits to each of the
digital words of a first group of subbands possessing the greatest energy
levels and stopping when a certain number of bits has been allocated to
each of the digital words of said first group of subbands, and
means for allocating bits to the digital words of a second group of
subbands adjoining subbands in which each of the digital words have been
allocated said certain number of bits, each of the subbands of said second
group of subbands constituting one subband of a pair of subbands
immediately adjacent to said subbands in which digital words have been
allocated said certain number of bits.
23. An encoder according to claim 22 wherein said certain number of bits is
equal to said maximum number of bits.
24. An encoder according to claim 22 wherein said means for allocating bits
to the digital words constituting said second group of subbands allocates
bits to the digital words of said adjacent subbands on the low-frequency
side before bits are allocated to the digital words of said adjacent
subbands on the high-frequency side.
25. An encoder according to claim 22 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals a
limited number of adaptively allocatable bits.
26. An encoder according to claim 22 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals or
exceeds a limited number of adaptively allocatable bits, said means
further comprising a means for reducing the number of bits adaptively
allocated to selected digital words until the number of bits adaptively
allocated equals said limited number of adaptively allocatable bits.
27. An encoder according to claim 1 or 4 wherein said adaptive bit
allocation means stops allocating bits when the number of bits allocated
equals a limited number of adaptively allocatable bits.
28. An encoder according to claim 1 or 4 wherein said adaptive bit
allocation means stops allocating bits when the number of bits allocated
equals or exceeds a limited number of adaptively allocatable bits, said
means further comprising a means for reducing the number of bits
adaptively allocated to selected digital words until the number of bits
adaptively allocated equals said limited number of adaptively allocatable
bits.
29. An encoder according to claim 1 or 4 wherein said formatting means
assembles bits representing said non-adaptive portion of each of said
digital words apart from bits representing said adaptive portion of each
of said digital words.
30. An encoder according to claim 29 wherein said formatting means
assembles said digital information into frames and inserts the bits
representing said non-adaptive portion of each of said digital words into
pre-established positions within a respective one of said frames.
31. An encoder according to claim 30 wherein said formatting means inserts
into a respective one of said frames the bits representing said
non-adaptive portion of each of said digital words ahead of the bits
representing said adaptive portion of each of said digital words.
32. An encoder for the encoding of audio information comprising signal
samples, said encoder having a short signal propagation delay, comprising
means for receiving and grouping said signal samples into overlapping
signal sample blocks, the length of the overlap constituting an overlap
interval, said signal sample blocks having a time period resulting in a
signal propagation delay short enough so that an encoding/decoding system
employing the encoder is usable for real-time aural feedback to a human
operator,
analysis-window means for weighting each signal sample block by an analysis
window, wherein said analysis window constitutes one window of an
analysis-synthesis window pair, wherein the product of both windows in
said window pair is equal to a product window prederived from an
analysis-only window permitting the design of a filter bank in which
transform-based digital filters have the ability to trade off steepness of
transition band rolloff against depth of stopband rejection in the filter
characteristics, and wherein said product window overlapped with itself
sums to a constant value across the overlap interval,
means for generating transform coefficients by applying a discrete
transform function to each of said analysis-window weighted signal sample
blocks,
means for quantizing each of said transform coefficients, and
formatting means for assembling the quantized transform coefficients into a
digital output having a format suitable for transmission or storage.
33. An encoder according to claim 32 wherein said product window is derived
from an analysis-only window selected from the set of the Kaiser-Bessel
window, the Dolph-Chebyshev window, and windows derived from finite
impulse filter coefficients using the Parks-McClellan method.
34. An encoder according to claim 32 wherein said means for generating
transform coefficients alternately applies a modified Discrete Cosine
Transform and a modified Discrete Sine Transform in accordance with the
Time-Domain Aliasing Cancellation technique and wherein said product
window is derived from a Kaiser-Bessel window having an alpha value in the
range of four through seven.
35. An encoder according to claim 32 wherein said means for generating
transform coefficients applies a Discrete Fourier Transform and wherein
said product window is derived from a Kaiser-Bessel window having an alpha
value in the range of one and one-half through three.
36. An encoder according to claim 32 wherein said product window is
prederived by
(1) defining an initial window comprising substantially any window in said
class of analysis windows having a length equal to one plus the number of
samples in the overlap interval,
(2) defining a first unit pulse function, the duration of which is equal to
the length of said signal blocks less the overlap interval,
(3) obtaining an interim window by convolving said initial window with said
first unit pulse function,
(4) defining a scaling factor by convolving said initial window with a
second unit pulse function of duration equal to one, and
(5) obtaining said product window by dividing each element of said interim
window by said scaling factor.
37. An encoder according to claim 32 wherein said steepness of transition
band rolloff is maximized for a desired depth of stopband rejection.
38. An encoder according to claim 37 wherein the desired depth of stopband
rejection is determined empirically by listening tests.
39. An encoder according to claim 37 wherein said transition band rolloff
generally follows the lower slope of the human ear's psychoacoustic
masking curve within a critical band.
40. A decoder for the reproduction of audio information comprising signal
samples from a coded signal including digital information, said decoder
comprising
deformatting means, including adaptive bit allocation means, for defining
subbands and for deriving subband information in response to said coded
signal, and for reconstructing digital words using said derived subband
information, said digital words comprising an adaptive portion and a
non-adaptive portion, wherein coding accuracy of said adaptive portion is
established by said adaptive bit allocation means,
inverse subband means for generating signal samples in response to said
subband information, and
means for generating said reproduction of audio information in response to
said signal samples.
41. A decoder according to claim 40 wherein the coding accuracy of said
non-adaptive portion is less than the accuracy required to have no audible
quantizing noise.
42. A decoder according to claim 40 wherein said inverse subband means
generates said signal samples by applying an inverse discrete transform
function to blocks of said subband information.
43. A decoder according to claim 40 wherein said inverse subband means
comprises inverse filter bank means and means for storing coding
information defining the coding accuracy for said non-adaptive portion,
wherein said coding information is preestablished by comparing a
representative frequency response for said inverse filter bank means for
each of said subbands to a corresponding psychoacoustic masking threshold
representative of one or more of said subbands.
44. A decoder according to claim 43 wherein a psychoacoustic masking
threshold having a relatively high selectivity for frequencies below a
masking tone or narrow band of noise is taken as representative of the
psychoacoustic masking threshold in lower frequency subbands and a
psychoacoustic masking threshold having a relatively low selectivity for
frequencies below a masking tone or narrow band of noise is taken as
representative of the psychoacoustic masking threshold in higher frequency
subbands.
45. A decoder according to claim 44 wherein a psychoacoustic masking
threshold for a single tone or very narrow band of noise at about 1 kHz is
taken as representative for subbands within the frequency range of about
500 Hz to 2 kHz and a psychoacoustic masking threshold for a single tone
or very narrow band of noise at about 4 kHz is taken as representative for
subbands above about 2 kHz.
46. A decoder according to claim 43 wherein said coding information defines
said coding accuracy for said non-adaptive portion at a level less than
the accuracy required to have no quantizing noise in excess of said
corresponding psychoacoustic masking threshold.
47. A decoder according to claim 46 wherein said coding information defines
said coding accuracy at a level two bits fewer than said accuracy required
to have no quantizing noise in excess of said corresponding psychoacoustic
masking threshold.
48. A decoder according to claim 40 or 43 wherein said subband information
is expressed in block-floating-point form comprising one or more mantissas
and one or more exponents, wherein said coding accuracy of said adaptive
portion is based on an effective exponent value for each of said digital
words, said effective exponent value derived from the value or values of
said one or more exponents.
49. A decoder according to claim 48 wherein said subband information
comprises one or more mantissas and a subband exponent for each of said
subbands, each of said mantissas corresponding to a respective one of said
digital words, said effective exponent value for each of said digital
words equal to the value of the corresponding subband exponent.
50. A decoder according to claim 48 wherein said subband information
comprises one or more mantissas and a subband exponent for each of said
subbands, and one or more master exponents, each master exponent
associated with a set of subbands, each of said mantissas corresponding to
a respective one of said digital words, said effective exponent value for
each of said digital words derived from a combination of the values of the
corresponding subband exponent and the associated master exponent.
51. A decoder according to claim 48 wherein said derived subband
information generated in response to an interval of said coded signal
constitutes a subband information block, said decoder further comprising
means for estimating the relative energy level of each subband represented
in a subband information block, and wherein said adaptive bit allocation
means assigns bits to at least some digital words, said adaptive bit
allocation means comprising
means for allocating at most a maximum number of bits to each of the
digital words of a first group of subbands possessing the greatest energy
levels and stopping when a certain number of bits has been allocated to
each of the digital words of said first group of subbands, and
means for allocating bits to the digital words of a second group of
subbands adjoining subbands in which each of the digital words have been
allocated said certain number of bits, each of the subbands of said second
group of subbands constituting one subband of a pair of subbands
immediately adjacent to said subbands in which digital words have been
allocated said certain number of bits.
52. A decoder according to claim 51 wherein said certain number of bits is
equal to said maximum number of bits.
53. A decoder according to claim 51 wherein said means for estimating the
relative energy level estimates said relative energy level based upon the
effective exponent value.
54. A decoder according to claim 53 wherein said means for estimating the
relative energy level comprises
means for ascertaining the effective exponent value of the subband which
contains the maximum of the values represented by each mantissa in
combination with its associated effective exponent value, and
means for assigning a level number to each of all subbands represented in
said subband information block, said level number equal to said maximum
number of bits reduced by the absolute value of the difference between the
ascertained effective exponent value and the effective exponent value
corresponding to the subband for which a level is to be assigned, but in
no case assigning a level number less than zero.
55. A decoder according to claim 51 wherein said means for allocating bits
to the digital words constituting said second group of subbands allocates
bits to the digital words of said adjacent subbands on the low-frequency
side before bits are allocated to the digital words of said adjacent
subbands on the high-frequency side.
56. A decoder according to claim 51 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals a
limited number of adaptively allocatable bits.
57. A decoder according to claim 51 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals or
exceeds a limited number of adaptively allocatable bits, said means
further comprising a means for reducing the number of bits adaptively
allocated to selected digital words until the number of bits adaptively
allocated equals said limited number of adaptively allocatable bits.
58. A decoder according to claim 48 wherein said deformatting means
reconstructs each digital word from bits representing said non-adaptive
portion and bits representing said one or more exponents assembled in said
coded signal apart from bits representing said adaptive portion.
59. A decoder according to claim 58 wherein said deformatting means
reconstructs each digital words from bits representing said non-adaptive
portion and bits representing said one or more exponents which occupy
pre-established positions within said subband information block.
60. A decoder according to 59 wherein said deformatting means reconstructs
each digital word from bits representing said non-adaptive portion and
bits representing said one or more exponents which occupy positions in
said subband information block ahead of bits representing said adaptive
portion.
61. A decoder according to claim 40 or 43 wherein said derived subband
information generated in response to an interval of said coded signal
constitutes a subband information block, said decoder further comprising
means for estimating the relative energy level of each subband represented
in a subband information block, and wherein said adaptive bit allocation
means assigns bits to at least some digital words, said adaptive bit
allocation means comprising
means for allocating at most a maximum number of bits to each of the
digital words of a first group of subbands possessing the greatest energy
levels and stopping when a certain number of bits has been allocated to
each of the digital words of said first group of subbands, and
means for allocating bits to the digital words of a second group of
subbands adjoining subbands in which each of the digital words have been
allocated said certain number of bits, each of the subbands of said second
group of subbands constituting one subband of a pair of subbands
immediately adjacent to said subbands in which digital words have been
allocated said certain number of bits.
62. A decoder according to claim 61 wherein said certain number of bits is
equal to said maximum number of bits.
63. A decoder according to claim 61 wherein said means for allocating bits
to the digital words constituting said second group of subbands allocates
bits to the digital words of said adjacent subbands on the low-frequency
side before bits are allocated to the digital words of said adjacent
subbands on the high-frequency side.
64. A decoder according to claim 61 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals a
limited number of adaptively allocatable bits.
65. A decoder according to claim 61 wherein said adaptive bit allocation
means stops allocating bits when the number of bits allocated equals or
exceeds a limited number of adaptively allocatable bits, said means
further comprising a means for reducing the number of bits adaptively
allocated to selected digital words until the number of bits adaptively
allocated equals said limited number of adaptively allocatable bits.
66. A decoder according to claim 40 or 43 wherein said adaptive bit
allocation means stops allocating bits when the number of bits allocated
equals a limited number of adaptively allocatable bits.
67. A decoder according to claim 40 or 43 wherein said adaptive bit
allocation means stops allocating bits when the number of bits allocated
equals or exceeds a limited number of adaptively allocatable bits, said
means further comprising a means for reducing the number of bits
adaptively allocated to selected digital words until the number of bits
adaptively allocated equals said limited number of adaptively allocatable
bits.
68. A decoder according to claim 40 or 43 wherein said deformatting means
reconstructs each digital word from bits representing said non-adaptive
portion assembled in said coded signal apart from bits representing said
adaptive portion.
69. A decoder according to claim 68 wherein said deformating means
reconstructs each digital word from bits representing said non-adaptive
portion which occupy pre-established positions within said subband
information block.
70. A decoder according to 69 wherein said deformatting means reconstructs
each digital word from bits representing said non-adaptive portion which
occupy positions in said subband information block ahead of bits
representing said adaptive portion.
71. A decoder for the reproduction of audio information comprising signal
samples from a coded signal generated by an encoder that groups said
signal samples into overlapping signal sample blocks, the length of the
overlap constituting an overlap interval, weights each sample block with
an analysis window, generates transform coefficients by applying a
discrete transform to the analysis-window weighted signal sample blocks,
quantizes each transform coefficient and assembles the quantized transform
coefficients into a digital output having a format suitable for
transmission or storage, said decoder comprising
means for receiving said digital output for deriving said quantized
transform coefficients therefrom,
means for reconstructing decoded transform coefficients from the
deformatted quantized transform coefficients,
means for generating signal sample blocks by applying an inverse discrete
transform function to said decoded transform coefficients, said inverse
discrete transform having characteristics inverse to those of said
discrete transform in the encoder, said signal sample blocks having a time
period resulting in a signal propagation delay short enough so that an
encoding/decoding system employing the decoder is usable for real-time
aural feedback to a human operator,
synthesis window means for weighting the signal sample blocks by a
synthesis window, wherein a product window equal to the product of said
synthesis window and said analysis window is prederived from an
analysis-only window permitting the design of a filter bank in which
transform-based digital filters have the ability to trade off steepness of
transition band rolloff against depth of stopband rejection in the filter
characteristics, and wherein said product window overlapped with itself
sums to a constant value across the overlap interval, and
means for cancelling the weighting effects of the analysis window means and
the synthesis window means to recover said signal samples by adding
overlapped signal sample blocks across said overlap interval.
72. A decoder according to claim 71 wherein said product window is derived
from an analysis-only window selected from the set of the Kaiser-Bessel
window, the Dolph-Chebyshev window, and windows derived from finite
impulse filter coefficients using the Parks-McClellan method.
73. A decoder according to claim 71 wherein said means for generating
transform coefficients alternately applies an inverse modified Discrete
Cosine Transform and an inverse modified Discrete Sine Transform in
accordance with the Time-Domain Aliasing Cancellation technique and
wherein said product window is derived from a Kaiser-Bessel window having
an alpha value in the range of four through seven.
74. A decoder according to claim 71 wherein said means for generating
transform coefficients applies an inverse Discrete Fourier Transform and
wherein said product window is derived from a Kaiser-Bessel window having
an alpha value in the range of one and onehalf through three.
75. A decoder according to claim 71 wherein said product window is
prederived by
(1) defining an initial window comprising substantially any window in said
class of analysis windows having a length equal to one plus the number of
samples in the overlap interval,
(2) defining a first unit pulse function the duration of which is equal to
the length of said signal blocks less the overlap interval,
(3) obtaining an interim window by convolving said initial window with said
first unit pulse function,
(4) defining a scaling factor by convolving said initial window with a
second unit pulse function of duration equal to one, and
(5) obtaining said product window by dividing each element of said interim
window by said scaling factor.
76. A decoder according to claim 71 wherein said steepness of transition
band rolloff is maximized for a desired depth of stopband rejection.
77. A decoder according to claim 76 wherein the desired depth of stopband
rejection is determined empirically by listening tests.
78. A decoder according to claim 76 wherein said transition band rolloff
generally follows the lower slope of the human ear's psychoacoustic
masking curve within a critical band.
79. An encoding method for the encoding of audio information comprising
signal samples, said encoding method comprising
receiving said signal samples,
defining subbands and generating subband information in response to said
signal samples, said subband information for each of said subbands
including one or more digital words, each of said digital words comprising
an adaptive portion and a non-adaptive portion, wherein coding accuracy of
said adaptive portion is established by adaptive bit allocating, and
assembling digital information including said subband information into a
digital output having a format suitable for transmission or storage.
80. An encoding method according to claim 79 wherein the coding accuracy of
said non-adaptive portion is less than the accuracy required to have no
audible quantizing noise.
81. An encoding method according to claim 79 wherein said generating
subband information applies a discrete transform function to blocks of
said signal samples.
82. An encoding method according to claim 79 wherein said generating
subband information comprises filtering and storing coding information
defining the coding accuracy for said non-adaptive portion, wherein said
coding information is preestablished by comparing a representative
frequency response for said filtering for each of said subbands to a
corresponding psychoacoustic masking threshold representative of one or
more of said subbands.
83. An encoding method according to claim 82 wherein a psychoacoustic
masking threshold having a relatively high selectivity for frequencies
below a masking tone or narrow band of noise is taken as representative of
the psychoacoustic masking threshold in lower frequency subbands and a
psychoacoustic masking threshold having a relatively low selectivity for
frequencies below a masking tone or narrow band of noise is taken as
representative of the psychoacoustic masking threshold in higher frequency
subbands.
84. An encoding method according to claim 83 wherein a psychoacoustic
masking threshold for a single tone or very narrow band of noise at about
1 kHz is taken as representative for subbands within the frequency range
of about 500 Hz to 2 kHz and a psychoacoustic masking threshold for a
single tone or very narrow band of noise at about 4 kHz is taken as
representative for subbands above about 2 kHz.
85. An encoding method according to claim 82 wherein said coding
information defines said coding accuracy for said non-adaptive portion at
a level less than the accuracy required to have no quantizing noise in
excess of said corresponding psychoacoustic masking threshold.
86. An encoding method according to claim 85 wherein said coding
information defines said coding accuracy at a level two bits fewer than
said accuracy required to have no quantizing noise in excess of said
corresponding psychoacoustic masking threshold.
87. An encoding method according to claim 79 or 82 wherein said generating
subband information represents said subband information in
block-floating-point form comprising one or more mantissas and one or more
exponents, wherein said coding accuracy of said adaptive portion is based
on an effective exponent value for each of said digital words, said
effective exponent value derived from the value or values of said one or
more exponents.
88. An encoding method according to claim 87 wherein said subband
information comprises one or more mantissas and a subband exponent for
each of said subbands, each of said mantissas corresponding to a
respective one of said digital words, said effective exponent value for
each of said digital words equal to the value of the corresponding subband
exponent.
89. An encoding method according to claim 87 wherein said subband
information comprises one or more mantissas and a subband exponent for
each of said subbands, and one or more master exponents, each master
exponent associated with a set of subbands, each of said mantissas
corresponding to a respective one of said digital words, said effective
exponent value for each of said digital words derived from a combination
of the values of the corresponding subband exponent and the associated
master exponent.
90. An encoding method according to claim 87, wherein subband information
generated in response to an interval of said signal samples constitutes a
subband information block, said generating subband information further
comprising estimating the relative energy level of each subband
represented in a subband information block, wherein said adaptive bit
allocating assigns bits to at least some digital words, said adaptive bit
allocating comprising
allocating at most a maximum number of bits to each of the digital words of
a first group of subbands possessing the greatest energy levels and
stopping when a certain number of bits has been allocated to each of the
digital words of said first group of subbands, and
allocating bits to the digital words of a second group of subbands
adjoining subbands in which each of the digital words have been allocated
said certain number of bits, each of the subbands of said second group of
subbands constituting one subband of a pair of subbands immediately
adjacent to said subbands in which digital words have been allocated said
certain number of bits.
91. An encoding method according to claim 90 wherein said certain number of
bits is equal to said maximum number of bits.
92. An encoding method according to claim 90 wherein said estimating the
relative energy level estimates said relative energy level based upon the
effective exponent value of each subband represented in a subband
information block.
93. An encoding method according to claim 92 wherein said estimating the
relative energy level comprises
ascertaining the effective exponent value of the subband which contains the
maximum of the values represented by each mantissa in combination with its
associated effective exponent value, and
assigning a level number to each of all subbands represented in said
subband information block, said level number equal to said maximum number
of bits reduced by the absolute value of the difference between the
ascertained effective exponent value and the effective exponent value
corresponding to the subband for which a level is to be assigned, but in
no case assigning a level number less than zero.
94. An encoding method according to claim 90 wherein said allocating bits
to the digital words constituting said second group of subbands allocates
bits to the digital words of said adjacent subbands on the low-frequency
side before bits are allocated to the digital words of said adjacent
subbands on the high-frequency side.
95. An encoding method according to claim 90 wherein said adaptive bit
allocating stops allocating bits when the number of bits allocated equals
a limited number of adaptively allocatable bits.
96. An encoding method according to claim 90 wherein said adaptive bit
allocating stops allocating bits when the number of bits allocated equals
or exceeds a limited number of adaptively allocatable bits, said adaptive
bit allocating further comprising reducing the number of bits adaptively
allocated to selected digital words until the number of bits adaptively
allocated equals said limited number of adaptively allocatable bits.
97. An encoding method according to claim 87 wherein said assembling
digital information assembles bits representing said non-adaptive portion
of each of said digital words and bits representing said one or more
exponents apart from bits representing said adaptive portion of each of
said digital words.
98. An encoding method according to claim 97 wherein said assembling
digital information assembles said digital information into frames and
inserts the bits representing said non-adaptive portion of each of said
digital words and the bits representing said one or more exponents into
pre-established positions within a respective one of said frames.
99. An encoding method according to claim 98 wherein said assembling
digital information inserts into a respective one of said frames the bits
representing said non-adaptive portion of each of said digital words and
the bits representing said one or more exponents ahead of the bits
representing said adaptive portion of each of said digital words.
100. An encoding method according to claim 79 or 82, wherein subband
information generated in response to an interval of said signal samples
constitutes a subband information block, said generating subband
information further comprising estimating the relative energy level of
each subband represented in a sub | | |