U.S. patent application number 09/821220 was filed with the patent office on 2002-02-21 for signal processing device and signal processing method.
Invention is credited to Honma, Hiroyuki, Kikuchi, Atsushi, Tsutsui, Kyoya.
Application Number | 20020023116 09/821220 |
Document ID | / |
Family ID | 18610230 |
Filed Date | 2002-02-21 |
United States Patent
Application |
20020023116 |
Kind Code |
A1 |
Kikuchi, Atsushi ; et
al. |
February 21, 2002 |
Signal processing device and signal processing method
Abstract
A signal processing device and a signal processing method can
reduce the work area and realize a higher speed for arithmetic
operations by reducing the number of multiplications and additions
when performing MDCT operations, IMDCT operation and/or
transforming code strings between different coding system. When the
first code string 1 formed by transforming a time series signal
with a frequency band from 0 to 20 kHz into a spectrum signal by
MDCT and encoding the spectrum signal is decoded by a spectrum
decoding circuit 172 and the obtained spectrum signal is
transformed back into time series signals by means of IMDCT
circuits 173 through 175 and transformed again into spectrum
signals by MDCT circuits 176 through 178 so that it may be encoded
and transformed into the second code string 2 by means of an
adaptive bit allocation coding circuit 179, if the frequency band
of the second code string 2 may be reduced to a 0 to 15 kHz band,
the spectrum decoding circuit 172 takes out on the high frequency
band from 0 to 15 kHz and the IMDCT circuit 173 performs an FFT
operation with a short tap length in the IMDCT processing
operation.
Inventors: |
Kikuchi, Atsushi; (Kanagawa,
JP) ; Honma, Hiroyuki; (Chiba, JP) ; Tsutsui,
Kyoya; (Kanagawa, JP) |
Correspondence
Address: |
SONNENSCHEIN NATH & ROSENTHAL
P.O. BOX 061080
WACKER DRIVE STATION
CHICAGO
IL
60606-1080
US
|
Family ID: |
18610230 |
Appl. No.: |
09/821220 |
Filed: |
March 29, 2001 |
Current U.S.
Class: |
708/402 |
Current CPC
Class: |
G06F 17/147
20130101 |
Class at
Publication: |
708/402 |
International
Class: |
G06F 017/14 |
Foreign Application Data
Date |
Code |
Application Number |
Mar 29, 2000 |
JP |
P2000-095310 |
Claims
What is claimed is:
1. A signal processing device adapted to multiply the N/(2 m)
samples obtained by decimating the N samples of a signal by a
forward transform window and subsequently perform a linear forward
transform on the obtained signal, said device comprising: a
preprocessing means for performing a predetermined preprocessing
operation on the signal obtained by the multiplication using the
multiplier of said forward transform window; a transform processing
means for performing a processing operation equivalent to a fast
Fourier transform on the output signal of said preprocessing means;
a postprocessing means for performing a predetermined
postprocessing operation on the output signal of said transform
processing means; and the input signal and the output signal of
said transform processing means being complex signals having a
length of N/(2 (m+2)).
2. The signal processing device according to claim 1, wherein said
transform window for the length corresponding to the N samples
before decimation has a length corresponding to N/(2 m) samples and
is obtained by halving the sum of the (2 (m)n+(2 (m-1))-1-th sample
and the (2 (m)n+(2 (m-1))-th sample.
3. The signal processing device according to claim 1, wherein said
preprocessing means produce the following signal from said N/(2 m)
samples multiplied by said forward window; first intermediate
signal of N/(2 m) samples, of which n-th sample is obtained by
inverting the polarity of the n+3N/(2 (m+2))-th said forward
windowed sample for n between 0 and N/(2 (m+2))-1, and setting N/(2
(m+2))-th said forward windowed sample for n between N/(2 (m+2))
and N/(2 (m))-1 (n being an integer from 0 to N-1); second
intermediate signal of N/(2 (m)) samples, of which n-th sample is
obtained by subtracting N/(2 (m)-1-2n-th from 2n-th sample of said
first intermediate signal; and complex signal for output,
equivalent to the signal of which n-th sample is a product of
exp(-2 (m+1).pi.jn/N) and a complex signal of which real part is
2n-th sample of said second intermediate signal and imaginary part
is 2n+1-th sample of said second intermediate signal.
4. The signal processing device according to claim 1, wherein said
postprocessing means produce the following signal from the N/(2
(m+2)) sample output complex signal of said transform processing
means; third intermediate signal, of which k-th sample is obtained
by halving the sum of the k-th and the conjugate of N/(2
(m+2))-1-k-th sample of said output complex signal of said
transform processing means (k being an integer from 0 to N/2-1);
fourth intermediate signal, of which k-th sample is obtained by
dividing 2j and multiplying exp(-2 (m+1).pi.j(2k+1)/N) by the value
subtracted conjugate of N/(2 (m+2))-1-k-th from k-th sample of said
output complex signal of said transform processing means; fifth
intermediate signal, of which k-th sample is obtained by halving
the sum of the N/(2 (m+2))-1-k-th and the conjugate k-th sample of
said output complex signal of said transform processing means;
sixth intermediate signal, of which k-th sample is obtained by
dividing 2j and multiplying exp(2 (m+1).pi.j(2k+1)/N) by the value
subtracted conjugate of k-th from N/(2 (m+2))-1-k-th sample of said
output complex signal of said transform processing means; and
complex signal for output, equivalent to the signal of which front
half is obtained as the real part of the product of exp(-(2
m).pi.j(2k+1)/(2N)) and the sum of k-th sample of said third
intermediate signal and k-th sample of fourth intermediate signal,
and rear half is obtained as the real part of the product of -j
exp((2 m).pi.j(2k+1)/(2N)) and the sum of k-th sample of said third
intermediate signal and k-th sample of said fourth intermediate
signal.
5. A signal processing device adapted to perform a linear inverse
transform on a signal band-limited to N/2 (m+1) samples out of N/2
samples and multiply the signal obtained by the linear inverse
transform by an inverse transform window to produce N/2 (m+1)
independent signals, said device comprising; a preprocessing means
for performing a predetermined preprocessing operation on the said
band-limited signal; a transform processing means for performing a
processing operation equivalent to a fast Fourier transform on the
output signal of said preprocessing means; a postprocessing means
for performing a predetermined postprocessing operation on the
output signal of said transform processing means; and the input
signal and the output signals of said transform processing means
being complex signals having a length of N/(2 (m+2)).
6. The signal processing device according to claim 5, wherein said
preprocessing means produce the following signal from said
band-limited N/(2 (m+1)) samples; first intermediate signal, of
which k-th sample is obtained by setting the 2k-th said
band-limited sample for k between 0 and N/(2 (m+2))-1, and
inverting the polarity of the N/(2 m)1-2k-th said band-limited
sample for k between N/(2 (m+2)) and N/(2 (m+1))-1 (k being an
integer from 0 to N/2-1); and, complex signal for output,
equivalent to the signal of which k-th sample is a product of exp
(-2 (m+2).pi.jn/N) and a complex signal of which real part is 2k-th
sample of said first intermediate signal and imaginary part is
2k+1-th sample of said first intermediate signal.
7. The signal processing device according to claim 5, wherein said
postprocessing means produce the following signal from the N/(2
(m+2)) sample output complex signal of said transform processing
means; second intermediate signal, of which n-th sample is obtained
by halving the sum of n-th and the conjugate of N/(2 (m+2))-1-n-th
sample of said output complex signal of said transform processing
means (n being an integer from 0 to N); third intermediate signal,
of which n-th sample is obtained by dividing 2j and multiplying
exp(-2 (m+1).pi.j(2n+1)/N) by the value subtracted conjugate of
N/(2 (m+1))-1-n-th from n-th sample of said output complex signal
of said transform processing means; fourth intermediate signal, of
which n-th sample is obtained by halving the sum of the N/(2
(m+2))-1-n-th and the conjugate of the n-th sample of said output
complex signal of said transform processing means; fifth
intermediate signal, of which n-th sample is obtained by dividing
2j and multiplying exp(-2 (m+1).pi.j(2n+1)/N) by the value
subtracted conjugate of n-th from N/(2 (m+2))-1-n-th sample of said
output complex signal of said transform processing means; sixth
intermediate signal, equivalent to the signal of which front half
is obtained as the real part of the product of exp(-(2
(m+1)).pi.j(2n+1)/(2N)) and the sum of the n-th sample of said
second intermediate signal and n-th sample of said third
intermediate signal, and rear half is obtained as the real part of
the product of -j exp((2 m).pi.j(2n+1)/(2N)) and the sum of the
n-th sample of said fourth intermediate signal and n-th sample of
said fifth intermediate signal; and, signal for output, equivalent
to the signal of which n-th sample is obtained by the n+N/(2
(m+2))-th sample of said sixth intermediate signal for n between 0
and N/(2 (m+2))-1, inverting the polarity of the 3N/ (2
(m+2))-1-n-th sample of said sixth intermediate signal for n
between N/(2 (m+2)) and 3N/(2 (m+2))-1, and inverting the polarity
of the n-3N/(2 (m+2))-th sample of said sixth intermediate signal
for n between 3N/(2 (m+2)) and N/(2 m)-1.
8. The signal processing device according to claim 5, wherein said
transform window has a length corresponding to N/(2 m) samples
obtained by halving the sum of the (2 (m)n+(2 (m-1))-1-th sample
and the (2 (m)n+(2 (m-1))-th sample for the length corresponding to
the N samples without being subjected to any band-limit.
9. A signal processing device comprising: a first transform means
for decoding the first code string produced by coding the spectrum
signal obtained by performing a direct modified discrete cosine
transform on a time series signal, and transforming the spectrum
signal obtained by the decoding into a time series signal by
performing an inverse modified discrete cosine transform; a second
transform means for transforming the time series signal output from
said first transform means into a spectrum signal by performing a
direct modified discrete cosine transform and coding the spectrum
signal into a second code string; and upon being allowed to make
the signal band of said second code string narrower than that of
said first code string, said first transform means performing the
computations of the fast Fourier transform to be carried out for
said inverse modified discrete cosine transform, using a tap length
corresponding to said narrowed band.
10. A signal processing device comprising: a first transform means
for decoding the first code string produced by coding the spectrum
signals obtained by performing a direct modified discrete cosine
transform on each of the signals obtained by dividing a time series
signal into a plurality of bands, transforming the spectrum signals
obtained by the decoding into time series signals by performing an
inverse modified discrete cosine transform and synthetically
combining the bands; a second transform means for transforming the
time series signal output from said first transform means into a
spectrum signal by performing a direct modified discrete cosine
transform and coding the spectrum signal into a second code string;
and upon being allowed to make specific ones of said signal bands
of said second code string narrower than the corresponding ones of
the signal bands of said first code string, said first transform
means performing the computations of the fast Fourier transform to
be carried out for said inverse modified discrete cosine transform,
using a tap length corresponding to said narrowed bands.
11. The signal processing device according to claim 10, wherein
said first code string is formed by dividing the frequency band of
the time series signal into octave sub-bands, transforming the
signals of each sub-bands into a spectrum signal by means of
modified discrete cosine transform, and encoding the obtained
spectrum signal; and said second transform means is adapted to
divide the frequency band of the time series signal output from
said first transform means into equal sub-bands and subsequently
encoding the signals in the equal sub-bands.
12. The signal processing device according to claim 10, wherein
said first code string is formed by dividing the frequency band of
the time series signal into equal sub-bands, transforming each of
the signals having one of the sub-bands into a spectrum signal by
means of modified discrete cosine transform, and encoding the
obtained spectrum signal; and said second transform means is
adapted to divide frequency band of the time series signal output
from said first transform means into octave sub-bands and
subsequently encoding the signals in the octave sub-bands.
13. A signal processing device comprising: a first transform means
for decoding the first code string produced by coding the spectrum
signal obtained by performing a direct modified discrete cosine
transform on a time series signal, and transforming the spectrum
signal obtained by the decoding into a time series signal by
performing an inverse modified discrete cosine transform; a second
transform means for transforming the time series signal output from
said first transform means into a spectrum signal by performing a
direct modified discrete cosine transform and coding the spectrum
signal into a second code string; and upon being allowed to make
the signal band of said second code string narrower than that of
said first code string, said second transform means performing the
computations of the fast Fourier transform to be carried out for
said direct modified discrete cosine transform, using a tap length
corresponding to said narrowed band.
14. A signal processing device comprising: a first transform means
for decoding the first code string produced by coding the spectrum
signals obtained by performing a direct modified discrete cosine
transform on each of the signals obtained by dividing a time series
signal into a plurality of bands, transforming the spectrum signals
obtained by the decoding into time series signals by performing an
inverse modified discrete cosine transform and synthetically
combining the bands; a second transform means for transforming the
time series signal output from said first transform means into a
spectrum signal by performing a direct modified discrete cosine
transform and coding the spectrum signal into a second code string;
and upon being allowed to make specific ones of said signal bands
of said second code string narrower than the corresponding ones of
the signal bands of said first code string, said second transform
means performing the computations of the fast Fourier transform to
be carried out for said direct modified discrete cosine transform,
using a tap length corresponding to said narrowed bands.
15. The signal processing device according to claim 14, wherein
said first code string is formed by dividing the frequency band of
the time series signal into octave sub-bands, transforming the
signals of each sub-bands into a spectrum signal by means of
modified discrete cosine transform, and encoding the obtained
spectrum signal; and said second transform means is adapted to
divide the frequency band of the time series signal output from
said first transform means into equal sub-bands and subsequently
encoding the signals in the equal sub-bands.
16. The signal processing device according to claim 14, wherein
said first code string is formed by dividing the frequency band of
the time series signal into equal sub-bands, transforming each of
the signals having one of the sub-bands into a spectrum signal by
means of modified discrete cosine transform and encoding the
obtained spectrum signal; and said second transform means is
adapted to divide frequency band of the time series signal output
from said first transform means into octave sub-bands and
subsequently encoding the signals in the octave sub-bands.
17. A signal processing method adapted to multiply the N/(2 m)
samples obtained by decimating the N samples of a signal by a
forward transform window and subsequently perform a linear forward
transform on the obtained signal, said method comprising: a
preprocessing step of performing a predetermined preprocessing
operation on the signal obtained by the multiplication using the
multiplier of said forward transform window; a transform processing
step of performing a processing operation equivalent to a fast
Fourier transform on the output signal of said preprocessing step;
a postprocessing step of performing a predetermined postprocessing
operation on the output signal of said transform processing step;
and the input signal and the output signal of said transform
processing step being complex signals having a length of N/(2
(m+2)).
18. The signal processing method according to claim 17, wherein
said transform window for the length corresponding to the N samples
before decimation has a length corresponding to N/(2 m) samples,
and is obtained by halving the sum of the (2 (m)n+2 (2m-1))-1-th
sample and the (2 m)n+(2 (m-1))-th sample.
19. The signal processing method according to claim 17, wherein
said preprocessing step produce the following signal from said N/(2
m) samples multiplied by said forward window; first intermediate
signal of N/(2 m) samples, of which n-th sample is obtained by
inverting the polarity of the n+3N/(2 (m+2))-th said forward
windowed sample for n between 0 and N/(2 (m+2))-1, and setting N/(2
(m+2))-th said forward windowed sample for n between N/(2 (m+2))
and N/(2 (m))-1 (n being an integer from 0 to N-1); second
intermediate signal of N/(2 (m) samples, of which n-th sample is
obtained by subtracting N/(2 (m)-1-2n-th from 2n-th sample of said
first intermediate signal; and complex signal for output,
equivalent to the signal of which n-th sample is a product of
exp(-2 (m+1).pi.n/N) and a complex signal of which real part is
2n-th sample of said second intermediate signal and imaginary part
is 2n+1-th sample of said second intermediate signal.
20. The signal processing method according to claim 17, wherein
said postprocessing step produce the following signal from the N/(2
(m+2)) sample output complex signal of said transform processing
step; third intermediate signal, of which k-th sample is obtained
by halving the sum of the k-th and the conjugate of N/(2
(m+2))-1-k-th sample of said output complex signal of said
transform processing step (k being an integer from 0 to N/2-1);
fourth intermediate signal, of which k-th sample is obtained by
dividing 2j and multiplying exp(-2 (m+1).pi.j(2k+1)/N) by the value
subtracted conjugate of N/(2 (m+2))-1-k-th from k-th sample of said
output complex signal of said transform processing step; fifth
intermediate signal, of which k-th sample is obtained by halving
the sum of the N/(2 (m+2))-1-k-th and the conjugate k-th sample of
said output complex signal of said transform processing step; sixth
intermediate signal, of which k-th sample is obtained by dividing
2j and multiplying exp(2 (m+1).pi.j(2k+1)/N) by the value
subtracted conjugate of k-th from N/(2 (m+2))-1-k-th sample of said
output complex signal of said transform processing step; and
complex signal for output, equivalent to the signal of which front
half is obtained as the real part of the product of exp(-(2
m).pi.j(2k+1)/(2N)) and the sum of k-th sample of said third
intermediate signal and k-th sample of fourth intermediate signal,
and rear half is obtained as the real part of the product of -j
exp((2 m).pi.j(2k+1)/(2N)) and the sum of k-th sample of said third
intermediate signal and k-th sample of said fourth intermediate
signal.
21. A signal processing method adapted to perform a linear inverse
transform on a signal band-limited to N/2 (m+1) samples out of N/2
samples and multiply the signal obtained by the linear inverse
transform by an inverse transform window to produce N/2 (m+1)
independent signals, said method comprising; a preprocessing step
of performing a predetermined preprocessing operation on the said
band-limited signal; a transform processing step of performing a
processing operation equivalent to a fast Fourier transform on the
output signal of said preprocessing step; a postprocessing step of
performing a predetermined postprocessing operation on the output
signal of said transform processing step; and the input signal and
the output signals of said transform processing step being complex
signals having a length of N/(2 (m+2)).
22. The signal processing method according to claim 21, wherein
said preprocessing step produce the following signal from said
band-limited N/(2 (m+1)) samples; first intermediate signal, of
which k-th sample is obtained by setting the 2k-th said
band-limited sample for k between 0 and N/(2 (m+2))-1, and
inverting the polarity of the N/(2 m)-1-2k-th said band-limited
sample for k between N/(2 (m+2)) and N/(2 (m+1))-1 (k being an
integer from 0 to N/2-1); and, complex signal for output,
equivalent to the signal of which k-th sample is a product of exp
(-2 (m+2).pi.jn/N) and a complex signal of which real part is 2k-th
sample of said first intermediate signal and imaginary part is
2k+1-th sample of said first intermediate signal.
23. The signal processing method according to claim 21, wherein
said postprocessing step produce the following signal from the N/(2
(m+2)) sample output complex signal of said transform processing
step; second intermediate signal, of which n-th sample is obtained
by halving the sum of n-th and the conjugate of N/(2 (m+2))-1-n-th
sample of said output complex signal of said transform processing
step (n being an integer from 0 to N); third intermediate signal,
of which n-th sample is obtained by dividing 2j and multiplying
exp(-2 (m+1).pi.j(2n+1)/N) by the value subtracted conjugate of
N/(2 (m+1))-1-n-th from n-th sample of said output complex signal
of said transform processing step; fourth intermediate signal, of
which n-th sample is obtained by halving the sum of the N/(2
(m+2))-1-n-th and the conjugate of the n-th sample of said output
complex signal of said transform processing step; fifth
intermediate signal, of which n-th sample is obtained by dividing
2j and multiplying exp(-2 (m+1).pi.j(2n+1)/N) by the value
subtracted conjugate of n-th from N/(2 (m+2))-1-n-th sample of said
output complex signal of said transform processing step; sixth
intermediate signal, equivalent to the signal of which front half
is obtained as the real part of the product of exp(-(2
(m+1)).pi.j(2n+1)/(2N)) and the sum of the n-th sample of said
second intermediate signal and n-th sample of said third
intermediate signal, and rear half is obtained as the real part of
the product of -j exp((2 m).pi.j(2n+1)/(2N)) and the sum of the
n-th sample of said fourth intermediate signal and n-th sample of
said fifth intermediate signal; and, signal for output, equivalent
to the signal of which n-th sample is obtained by the n+N/(2
(m+2))-th sample of said sixth intermediate signal for n between 0
and N/(2 (m+2))-1, inverting the polarity of the 3N/ (2
(m+2))-1-n-th sample of said sixth intermediate signal for n
between N/(2 (m+2)) and 3N/(2 (m+2))-1, and inverting the polarity
of the n-3N/(2 (m+2))-th sample of said sixth intermediate signal
for n between 3N/(2 (m+2)) and N/(2 m)-1.
24. The signal processing method according to claim 21, wherein
said transform window has a length corresponding to N/(2 m) samples
obtained by halving the sum of the (2 (m)n+(2 (m-1))-1-th sample
and the (2 m)n+(2 (m-1))-th sample for the length corresponding to
the N samples without being subjected to any band-limit.
25. A signal processing method comprising: a first transform step
of decoding the first code string produced by coding the spectrum
signal obtained by performing a direct modified discrete cosine
transform on a time series signal, and transforming the spectrum
signal obtained by the decoding into a time series signal by
performing an inverse modified discrete cosine transform; a second
transform step of transforming the time series signal output from
said first transform step into a spectrum signal by performing a
direct modified discrete cosine transform and coding the spectrum
signal into a second code string; and upon being allowed to make
the signal band of said second code string narrower than that of
said first code string, the computations of the fast Fourier
transform to be carried out for said inverse modified discrete
cosine transform being performed in said first transform step,
using a tap length corresponding to said narrowed band.
26. A signal processing method comprising: a first transform step
of decoding the first code string produced by coding the spectrum
signals obtained by performing a direct modified discrete cosine
transform on each of the signals obtained by dividing a time series
signal into a plurality of bands, transforming the spectrum signals
obtained by the decoding into time series signals by performing an
inverse modified discrete cosine transform and synthetically
combining the bands; a second transform step of transforming the
time series signal output from said first transform step into a
spectrum signal by performing a direct modified discrete cosine
transform and coding the spectrum signal into a second code string;
and upon being allowed to make specific ones of said signal bands
of said second code string narrower than the corresponding ones of
the signal bands of said first code string, the computations of the
fast Fourier transform to be carried out for said inverse modified
discrete cosine transform being performed in said first transform
step, using a tap length corresponding to said narrowed bands.
27. The signal processing method according to claim 26, wherein
said first code string is formed by dividing the frequency band of
the time series signal into octave sub-bands, transforming the
signals of each sub-bands into a spectrum signal by means of
modified discrete cosine transform, and encoding the obtained
spectrum signal; and said second transform means is adapted to
divide the frequency band of the time series signal output from
said first transform means into equal sub-bands and subsequently
encoding the signals in the equal sub-bands.
28. The signal processing method according to claim 26, wherein
said first code string is formed by dividing the frequency band of
the time series signal into equal sub-bands, transforming each of
the signals having one of the sub-bands into a spectrum signal by
means of modified discrete cosine transform, and encoding the
obtained spectrum signal; and said second transform means is
adapted to divide frequency band of the time series signal output
from said first transform means into octave sub-bands and
subsequently encoding the signals in the octave sub-bands.
29. A signal processing method comprising: a first transform step
of decoding the first code string produced by coding the spectrum
signal obtained by performing a direct modified discrete cosine
transform on a time series signal, and transforming the spectrum
signal obtained by the decoding into a time series signal by
performing an inverse modified discrete cosine transform; a second
transform step of transforming the time series signal output from
said first transform step into a spectrum signal by performing a
direct modified discrete cosine transform and coding the spectrum
signal into a second code string; and upon being allowed to make
the signal band of said second code string narrower than that of
said first code string, the computations of the fast Fourier
transform to be carried out for said direct modified discrete
cosine transform being performed in said second transform step,
using a tap length corresponding to said narrowed band.
30. A signal processing method comprising: a first transform step
of decoding the first code string produced by coding the spectrum
signals obtained by performing a direct modified discrete cosine
transform on each of the signals obtained by dividing a time series
signal into a plurality of bands, transforming the spectrum signals
obtained by the decoding into time series signals by performing an
inverse modified discrete cosine transform and synthetically
combining the bands; a second transform step of transforming the
time series signal output from said first transform step into a
spectrum signal by performing a direct modified discrete cosine
transform and coding the spectrum signal into a second code string;
and upon being allowed to make specific ones of said signal bands
of said second code string narrower than the corresponding ones of
the signal bands of said first code string, the computations of the
fast Fourier transform to be carried out for said direct modified
discrete cosine transform being performed in said second transform
step, using a tap length corresponding to said narrowed bands.
31. The signal processing method according to claim 30, wherein
said first code string is formed by dividing the frequency band of
the time series signal into octave sub-bands, transforming the
signals of each sub-bands into a spectrum signal by means of
modified discrete cosine transform and encoding the obtained
spectrum signal; and said second transform step is adapted to
divide the frequency band of the time series signal output from
said first transform means into equal sub-bands and subsequently
encoding the signals in the equal sub-bands.
32. The signal processing method according to claim 30, wherein
said first code string is formed by dividing the frequency band of
the time series signal into equal sub-bands, transforming each of
the signals having one of the sub-bands into a spectrum signal by
means of modified discrete cosine transform and encoding the
obtained spectrum signal; and said second transform step is adapted
to divide frequency band of the time series signal output from said
first transform means into octave sub-bands and subsequently
encoding the signals in the octave sub-bands.
Description
RELATED APPLICATION DATA
[0001] The present application claims priority to Japanese
Application No. P2000-095310 filed Mar. 29, 2000, which application
is incorporated herein by reference to the extent permitted by
law.
BACKGROUND OF THE INVENTION
[0002] This invention relates to a signal processing device and a
signal processing method for performing forward transform
computations and inverse transform computations of so-called
improved discrete cosine transform (or modified DCT) at high speed
for the purpose of realizing a linear transform of various digital
signals such as audio signals and video signals and also for
performing a code string transform from a coding system into
another at high speed.
[0003] The orthogonal transform coding is known as a high
efficiency coding technique adapted to high efficiency bit
compression of a signal comprising time series sample data such as
audio signal. With this transform coding technique, the input
signal is subjected to an orthogonal transform coding operation on
a block by block basis. The discrete cosine transform (DCT) is a
typical orthogonal transformation. However, this transform
technique is accompanied by the problem of block distortion that
the discontinued boundary of adjacent blocks is perceived as noise.
Therefore, adjacent blocks are normally made to overlap each other
at the related ends.
[0004] The MDCT (modified DCT) is a technique for making the front
and rear halves of each block of sample data overlap respectively
the rear half of the preceding block and the front half of the
succeeding block but not transmitting the samples of overlapped
areas in duplicate. Therefore, it is highly suited to high
efficiency coding operations.
[0005] The MDCT and the IMDCT (inverse MDCT) are described in a
number of papers including Mochizuki, Yano and Nishitani, "The
Restricting Conditions for Filters for the MDCT using a Mixture of
a Plurality of Block Sizes" (Bulletin of Science & Technology
of Telecommunication, CAS90-10, DSP90-14, pp. 66-60) and Uzu,
Sugiyama, Iwadare and Nishitani, "The Adaptive Transform Coding
with Adaptive Block Lengths Using the MDCT (ATC-ABS)" (The Papers
for the Speeches in the 1999 Spring National Conference of the
Society of Electronic Information and Telecommunication, A-197).
They will be briefly described below by referring to FIG. 1 of the
accompanying drawing.
[0006] Referring to FIG. 1, any block, for instance the J-th block,
of the input time series sample data overlaps the rear half (50%)
of the (J-1)-th block and the front half (50%) of the (J+1)-th
block. If the number of samples of the J-th block is N (natural
number), it overlaps the (J-1)-th block by N/2 samples.
[0007] For instance, a preprocessing filter or a window for forward
transform Wh is provided for the input time series samples 101 of
the J-th block to reduce them into N time series data 102. The
preprocessing filter or the forward transform window Wh is so
selected as to maximize the power concentration of the transformed
data in response to the statistic properties of the input
signal.
[0008] Then, the time series data 102 for the N samples are
subjected to a linear forward transform processing operation of
MDCT to produce N/2 independent spectrum data 103 on the frequency
axis, the number of which data is a half of that of the input
samples.
[0009] Then, the N/2 spectrum data 103 are subjected to a linear
inverse transform processing operation of IMDCT to become N time
series data 104.
[0010] Then, a synthetic filter or a window for inverse transform
Wh is provided for the time series data 104 to produce time series
data 105, which is added to the output of the preceding block and
that of the succeeding block to restore the original input time
series sample data 105.
[0011] As for specific methods of performing arithmetic operations
of MDCT or IMDCT, Japanese Patent Application Laid-Open No.
5-183442 filed by the applicant of this patent application proposes
an MDCT method to be used for an input signal of N samples to
obtain an output of N/2 spectrums by carrying out preprocessing and
postprocessing operations on the input signal and performing an FFT
(fast Fourier Transform) on the basis of N/4 samples and an IMDCT
method to be used for an input signal of N/2 spectrum data to
obtain an output of N samples by carrying out preprocessing and
postprocessing operations on the input signal and performing an FFT
on N/2 spectrums on the basis of a tap length corresponding to N/4
spectrums.
[0012] Now, the methods described in Japanese Patent Application
Laid-Open No. 5-183442 will be summarily described below.
[0013] The defining equation of MDCT is given by formula (1) below.
1 y 0 ( k ) = C 0 n = 0 N - 1 x 0 ( n ) h ( n ) cos ( ( 2 k + 1 ) (
2 n + N / 2 + 1 ) 2 N ) , for 0 k N 2 - 1 ( 1 )
[0014] where x.sub.0 represents the MDCT input signal, N represents
the block length, h represents the window function for forward
transform, y.sub.0 represents the MDCT output signal, C.sub.0
represents a constant, n represents an integer between 0 and N-1
and k represents an integer between 0 and N/2-1. Since the MDCT
processing operation is conducted on a block by block basis for the
cut out time series data so as to separate each block, the block
number J is omitted from the above formula. Additionally, since the
value of C.sub.0 essentially does not affect the method used for
the MDCT, C.sub.0=1 is assumed here for the sake of
convenience.
[0015] When carrying out computations with the above formula,
firstly window for forward transform is applied to x.sub.0 to
obtain x.sub.01 as expressed by formula (2) below.
x.sub.01(n)=x.sub.0(n)h(n), for 0.ltoreq.n.ltoreq.N-1 (2)
[0016] Then, x.sub.02 is obtained from x.sub.01 that is obtained by
using formula (2) above by using formula (3) below. 2 x 02 ( n ) =
{ - x 01 ( n + 3 N 4 ) , for 0 n N 4 - 1 x 01 ( n + N 4 ) , fo r N
4 n N - 1 ( 3 )
[0017] Then, x.sub.03 is obtained by using formula (4) below. 3 x
03 ( n ) = x 02 ( 2 n ) - x 02 ( N - 1 - 2 n ) , for 0 n N 2 - 1 (
4 )
[0018] Subsequently, a complex signal string Z.sub.01 is formed by
using formula (5) below. 4 z 01 ( n ) = ( x 03 ( 2 n ) + jx 03 ( 2
n + 1 ) ) exp ( - j 2 n N / 2 ) , for 0 n N 4 - 1 ( 5 )
[0019] The obtained complex signal string Z.sub.01 is subjected to
FFT on the basis of a length of N/4 to form a complex signal string
Z.sub.02 as expressed by formula (6) below. 5 z 02 ( k ) = n = 0 n
/ 4 - 1 z 01 ( n ) exp ( - j 2 kn N / 4 ) , for 0 k N 4 - 1 ( 6
)
[0020] Then, from Z.sub.02 obtained in a manner as described above,
four complex signal strings Z.sub.03, Z.sub.04, Z.sub.05 and
Z.sub.06 are formed by using formulas (7) through (10)
respectively. 6 z 03 ( k ) = 1 2 ( z 02 ( k ) + z 02 * ( N 4 - 1 -
k ) ) , for 0 k N 4 - 1 ( 7 ) z 04 ( k ) = 1 2 j exp ( - j 2 ( 2 k
+ 1 ) N ) ( z 02 ( k ) - z 02 * ( N 4 - 1 - k ) ) , for 0 k N 4 - 1
( 8 ) z 05 ( k ) = 1 2 ( z 02 ( N 4 - 1 - k ) + z 02 * ( k ) ) ,
for 0 k N 4 - 1 ( 9 ) z 06 ( k ) = 1 2 j exp ( j 2 ( 2 k + 1 ) N )
( z 02 ( N 4 - 1 - k ) - z 02 * ( k ) ) , for 0 k N 4 - 1 ( 10
)
[0021] Thereafter, y.sub.01(k) is obtained for a range between 0
and N/2-1 from the above complex signal strings Z.sub.03, Z.sub.04,
Z.sub.05 and Z.sub.06 by using formula (11) below. 7 y 01 ( k ) =
Re ( exp ( - j 2 ( 2 k + 1 ) 4 N ) ( z 03 ( k ) + z 04 ( k ) ) y 01
( N / 2 - 1 - k ) = Re ( - j exp ( j 2 ( 2 k + 1 ) 4 N ) ( z 05 ( k
) + z 06 ( k ) ) ) , for 0 k N 4 - 1 ( 11 )
[0022] As proved in Japanese Patent Application Laid-Open No.
5-183442, this agree with y.sub.0 defined by formula (1).
[0023] Meanwhile, the IMDCT defining equation is given by formula
(12) below. 8 x 1 ( n ) = C 1 f ( n ) k = 0 N / 2 - 1 y 1 ( k ) cos
( ( 2 k + 1 ) ( 2 n + N / 2 + 1 ) 2 N ) , for 0 n N - 1 ( 12 )
[0024] where y.sub.1 represents the IMDCT input signal, N
represents the block length, f represents the window function for
inverse transform, x.sub.1 represents the IMDCT output signal,
C.sub.1 represents a constant, n represents an integer between 0
and N-1 and k represents an integer between 0 and N2-1. Since the
IMDCT processing operation is conducted on a block by block basis
for the cut out time series data so as to separate each block, the
block number J is omitted from the above formula. Additionally,
since the value of C.sub.1 essentially does not affect the method
used for the IMDCT, C.sub.1=1 is assumed here for the sake of
convenience.
[0025] When carrying out computations with the above formula,
firstly y.sub.1 is rearranged to form y.sub.11 by means of formula
(13) below. 9 y 11 ( k ) = { y 1 ( 2 k ) , for 0 k N 4 - 1 - y 1 (
N - 1 - 2 k ) , for N 4 k N 2 - 1 ( 13 )
[0026] Subsequently, a complex signal string z.sub.11 having a
length of N/4 is formed by using formula (14) below from y.sub.11.
10 z 11 ( k ) = ( y 11 ( 2 k ) + jy 11 ( 2 k + 1 ) ) exp ( - j 2 k
( N / 2 ) ) , for 0 k N 4 - 1 ( 14 )
[0027] The obtained complex signal string z.sub.11 is subjected to
FFT on the basis of a length of N/4 to form a complex signal string
Z.sub.12 as expressed by formula (15) below. 11 z 12 ( n ) = k = 0
n / 4 - 1 z 11 ( k ) exp ( - j 2 nk ( N / 4 ) ) , for 0 n N 4 - 1 (
15 )
[0028] Then, from z.sub.12 obtained in a manner as described above,
four complex signal strings z.sub.13, z.sub.14, z.sub.15 and
z.sub.16 are formed by using formulas (16) through (19) below
respectively. 12 z 13 ( n ) = 1 2 ( z 12 ( n ) + z 12 * ( N 4 - 1 -
n ) ) , for 0 n N 4 - 1 ( 16 ) z 14 ( n ) = 1 2 j exp ( - j 2 ( 2 n
+ 1 ) N ) ( z 12 ( n ) - z 12 * ( N 4 - 1 - n ) ) , for 0 n N 4 - 1
( 17 ) z 15 ( n ) = 1 2 ( z 12 ( N 4 - 1 - n ) + z 12 * ( n ) ) ,
for 0 n N 4 - 1 ( 18 ) z 16 ( n ) = 1 2 j exp ( j 2 ( 2 n + 1 ) N )
( z 12 ( N 4 - 1 - n ) - z 12 * ( n ) ) , for 0 n N 4 - 1 ( 19
)
[0029] Thereafter, x.sub.11(n) is obtained for a range between 0
and N/2-1 from the above complex signal strings z.sub.13, z.sub.14,
z.sub.15 and z.sub.16 by using formula (20) below. 13 x 11 ( n ) =
Re ( exp ( - j 2 ( 2 n + 1 ) N ( z 13 ( n ) + z 14 ( n ) ) ) x 11 (
N / 2 - 1 - n ) = Re ( - j exp ( j 2 ( 2 n + 1 ) N ) ( z 15 ( n ) +
z 16 ( n ) ) ) , f or 0 n N 4 - 1 ( 20 )
[0030] The obtained x.sub.11 is then subjected to a rearrangement,
changing the polarity thereof, and a window for inverse transform
is applied thereto to obtain x.sub.12 as expressed by formula (21)
below. 14 x 12 ( n ) = { f ( n ) x 11 ( n + N 4 ) , for 0 n N 4 - 1
- f ( n ) x 11 ( 3 N 4 - 1 - n ) , for N 4 n 3 N 4 - 1 - f ( n ) x
11 ( n - 3 N 4 ) , for 3 N 4 n N - 1 ( 21 )
[0031] As proved in Japanese Patent Application Laid-Open No.
5-183442, this agree with x.sub.1 defined by formula (12).
[0032] As described above, a linear forward transform for the
forward transform computations of MDCT to be conducted on the N
samples of the input signal can be realized by means of
computations for performing an FFT on a complex signal with a
length of N/4. Thus, the volume of computations or the work area
for computations can be reduced. On the other hand, a linear
inverse transform for inverse transform computations of MDCT to be
conducted on the N/2 independent spectrum input signal can be
realized by means of computations for performing an FFT on a
complex signal with a length of N/4. Thus, the volume of
computations or the work area for computations can be reduced.
[0033] However, in a device for high efficiency coding/decoding
using MDCT and IMDCT, there may be cases where it is desirable to
reduce the volume of computations by limiting the frequency band
required for decoding particularly when the processing capacity of
the device is small.
[0034] FIGS. 2A and 2B shows the MDCT and the IMDCT when the
frequency band is limited.
[0035] Referring to FIG. 2A, when the samples Ta obtained by
removing samples Tb to decimate a block of N samples are subjected
to an MDCT, N/2 spectrums indicated by Sa and Sb in FIG. 2A are
obtained. Furthermore, when the N/4 spectrums of lower order
indicated by Sa in FIG. 2A are selected from the above spectrums
and subjected to an IMDCT, the sampling frequency is doubled and a
time series signal of N/2 samples is obtained.
[0036] Thus, the volume of arithmetic operations of FFT is a half
of the comparable volume that is required when the frequency band
is not limited.
[0037] Similarly, as shown in FIG. 2B, when the N/8 spectrums of
lower order are selected from the above spectrums and subjected to
an IMDCT, the sampling frequency is quadrupled and a time series
signal of N/4 samples is obtained. Thus, the volume of arithmetic
operations of FFT is a quarter of the comparable volume that is
required when the frequency is not limited.
[0038] Now, N signals are decimated to produce N/(2 m) signals and
a window is applied thereto to obtain X.sub.01 by using formula
(22) below. 15 X 01 ( n ) = h ( 2 n m ) x 0 ( 2 n m ) , for 0 n N 2
m - 1 ( 22 )
[0039] Then, the MDCT is expressed by formula (23) below 16 Y 01 (
k ) = n = 0 N / 2 m - 1 X 01 ( n ) cos ( ( 2 k + 1 ) ( 2 m + 1 n +
N / 2 + 1 ) 2 N ) ; for 0 k N 2 m + 1 - 1 ( 23 )
[0040] Subsequently, X.sub.01 is rearranged by using formula (24)
below to form X.sub.02 in a manner as described in Japanese Patent
Application Laid-Open No. 5-183442. 17 X 02 ( n ) = { - X 01 ( n +
3 N 2 m + 2 ) , for 0 n N 2 m + 2 - 1 X 01 ( n + N 2 m + 2 ) , for
N 2 m + 2 n N 2 m - 1 ( 24 )
[0041] Formula (25) below is obtained, using X.sub.02 in a manner
as described in Japanese Patent Application Laid-Open No. 5-183442.
18 Y 01 ( k ) = n = 0 N / 2 m - 1 X 02 ( n ) cos ( ( 2 k + 1 ) ( 2
m + 1 n + 1 ) 2 N ) = n = 0 N / 2 m + 1 - 1 X 0 ( 2 n ) cos ( ( 2 k
+ 1 ) ( 2 m + 2 n + 1 ) 2 N ) + n = 0 N / 2 m + 1 - 1 X 02 ( 2 n +
1 ) cos ( ( 2 k + 1 ) ( 2 m + 1 ( 2 n + 1 ) + 1 ) 2 N ) = n = 0 N /
2 m + 1 - 1 X 02 ( 2 n ) cos ( ( 2 k + 1 ) ( 2 m + 2 n + 1 ) 2 N )
- n = 0 N / 2 m + 1 - 1 X 02 ( N 2 m - 2 n - 1 ) cos ( ( 2 k + 1 )
( 2 m + 2 n + 1 ) 2 N ) = Re { n = 0 N / 2 m + 1 - 1 ( X 02 ( 2 n )
exp ( - j ( 2 k + 1 ) 2 N ) ) - X 02 ( N 2 m - 2 n - 1 ) exp ( - j
( 2 k + 1 ) ( 2 m + 1 - 1 ) 2 N ) exp ( - j ( 2 k + 1 ) n N / 2 m +
1 ) } , for 0 n N 2 m + 1 - 1 ( 25 )
[0042] If Z.sub.01 is expressed by formula (26) below, it then can
also be expressed by formula (27). 19 Z 01 ( n ) = X 02 ( 2 n ) exp
( - j ( 2 k + 1 ) 2 N ) - X 02 ( N / 2 m - 1 - 2 n ) exp ( - j ( 2
k + 1 ) ( 2 m + 1 - 1 ) 2 N ) , for 0 n N 2 m + 1 - 1 ( 26 ) Z 02 (
n ) = Re ( n = 0 N / 2 m + 1 - 1 Z 01 ( n ) exp ( - j ( 2 k + 1 ) n
N / 2 m ) ) , for 0 k N 2 m + 1 - 1 ( 27 )
[0043] However, since Z.sub.01 of the above instance is a complex
number unlike the case of Japanese Patent Application Laid-Open No.
5-183442, there is not established a relationship where the sum and
the difference of an even number and an odd number for n become
complex conjugates. Then, as a result, it is not possible to
perform computations for an FFT of the size of N/(2 (m+2)). In
other words, the volume of arithmetic operations is similar to the
comparable volume that is required when the frequency band is not
limited in terms of number of multiplications and number of
additions.
BRIEF SUMMARY OF THE INVENTION
[0044] In view of the above described circumstances, it is
therefore the object of the present invention to provides a signal
processing device and a signal processing method for performing
forward transform computations and inverse transform computations
of MDCT at high speed for the purpose of realizing a linear
transform of various digital signals such as audio signal and video
signals and also performing a code string transform from a coding
system into another, wherein the arithmetic operations of MDCT and
those of IMDCT with a limited band are carried out at high speed by
performing computations using an FFT with a short tap length as
compared with a case where the band is not limited so as to reduce
the work area and realize a higher speed for the arithmetic
operations, whereas reducing the volume of computations such as
multiplications or additions.
[0045] According to the invention, the above object is achieved by
providing a signal processing device adapted to multiply the N/(2
m) samples obtained by decimating the N samples of a signal by a
forward transform window and subsequently perform a linear forward
transform on the obtained signal, said device comprising:
[0046] a preprocessing means for performing a predetermined
preprocessing operation on the signal obtained by the
multiplication using the multiplier of said forward transform
window;
[0047] a transform processing means for performing a processing
operation equivalent to a fast Fourier transform on the output
signal of said preprocessing means; and
[0048] a postprocessing means for performing a predetermined
postprocessing operation on the output signal of said transform
processing means;
[0049] the input signal and the output signal of said transform
processing means being complex signals having a length of N/(2
(m+2)).
[0050] In another aspect of the invention, there is also provided a
signal processing device adapted to perform a linear inverse
transform on a signal band-limited to N/2 (m+1) samples out of N/2
samples and multiply the signal obtained by the linear inverse
transform by an inverse transform window to produce N/2 (m+1)
independent signals, said device comprising;
[0051] a preprocessing means for performing a predetermined
preprocessing operation on the said band-limited signal;
[0052] a transform processing means for performing a processing
operation equivalent to a fast Fourier transform on the output
signal of said preprocessing means; and
[0053] a postprocessing means for performing a predetermined
postprocessing operation on the output signal of said transform
processing means;
[0054] the input signal and the output signals of said transform
processing means being complex signals having a length of N/(2
(m+2)).
[0055] In still another aspect of the invention, there is provided
a signal processing device comprising:
[0056] a first transform means for decoding the first code string
produced by coding the spectrum signal obtained by performing a
direct modified discrete cosine transform on a time series signal
and transforming the spectrum signal obtained by the decoding into
a time series signal by performing an inverse modified discrete
cosine transform; and
[0057] a second transform means for transforming the time series
signal output from said first transform means into a spectrum
signal by performing a direct modified discrete cosine transform
and coding the spectrum signal into a second code string;
[0058] upon being allowed to make the signal band of said second
code string narrower than that of said first code string, said
first transform means performing the computations of the fast
Fourier transform to be carried out for said inverse modified
discrete cosine transform, using a tap length corresponding to said
narrowed band.
[0059] In still another aspect of the invention, there is provided
a signal processing device comprising:
[0060] a first transform means for decoding the first code string
produced by coding the spectrum signals obtained by performing a
direct modified discrete cosine transform on each of the signals
obtained by dividing a time series signal into a plurality of
bands, transforming the spectrum signals obtained by the decoding
into time series signals by performing an inverse modified discrete
cosine transform and synthetically combining the bands; and
[0061] a second transform means for transforming the time series
signal output from said first transform means into a spectrum
signal by performing a direct modified discrete cosine transform
and coding the spectrum signal into a second code string;
[0062] upon being allowed to make specific ones of said signal
bands of said second code string narrower than the corresponding
ones of the signal bands of said first code string, said first
transform means performing the computations of the fast Fourier
transform to be carried out for said inverse modified discrete
cosine transform, using a tap length corresponding to said narrowed
bands.
[0063] In still another aspect of the invention, there is provided
a signal processing device comprising:
[0064] a first transform means for decoding the first code string
produced by coding the spectrum signal obtained by performing a
direct modified discrete cosine transform on a time series signal
and transforming the spectrum signal obtained by the decoding into
a time series signal by performing an inverse modified discrete
cosine transform; and
[0065] a second transform means for transforming the time series
signal output from said first transform means into a spectrum
signal by performing a direct modified discrete cosine transform
and coding the spectrum signal into a second code string;
[0066] upon being allowed to make the signal band of said second
code string narrower than that of said first code string, said
second transform means performing the computations of the fast
Fourier transform to be carried out for said direct modified
discrete cosine transform, using a tap length corresponding to said
narrowed band.
[0067] In still another aspect of the invention, there is provided
a signal processing device comprising:
[0068] a first transform means for decoding the first code string
produced by coding the spectrum signals obtained by performing a
direct modified discrete cosine transform on each of the signals
obtained by dividing a time series signal into a plurality of
bands, transforming the spectrum signals obtained by the decoding
into time series signals by performing an inverse modified discrete
cosine transform and synthetically combining the bands; and
[0069] a second transform means for transforming the time series
signal output from said first transform means into a spectrum
signal by performing a direct modified discrete cosine transform
and coding the spectrum signal into a second code string;
[0070] upon being allowed to make specific ones of said signal
bands of said second code string narrower than the corresponding
ones of the signal bands of said first code string, said second
transform means performing the computations of the fast Fourier
transform to be carried out for said direct modified discrete
cosine transform, using a tap length corresponding to said narrowed
bands.
[0071] In still another aspect of invention, the above object is
achieved by providing a signal processing method adapted to
multiply the N/(2 m) samples obtained by decimating the N samples
of a signal by a forward transform window and subsequently perform
a linear forward transform on the obtained signal, said method
comprising:
[0072] a preprocessing step of performing a predetermined
preprocessing operation on the signal obtained by the
multiplication using the multiplier of said forward transform
window;
[0073] a transform processing step of performing a processing
operation equivalent to a fast Fourier transform on the output
signal of said preprocessing step; and
[0074] a postprocessing step of performing a predetermined
postprocessing operation on the output signal of said transform
processing step;
[0075] the input signal and the output signal of said transform
processing step being complex signals having a length of N/(2
(m+2)).
[0076] In still another aspect of the invention, there is also
provided a signal processing method adapted to perform a linear
inverse transform on a signal band-limited to N/2 (m+1) samples out
of N/2 samples and multiply the signal obtained by the linear
inverse transform by an inverse transform window to produce N/2
(m+1) independent signals, said method comprising;
[0077] a preprocessing step of performing a predetermined
preprocessing operation on the said band-limited signal;
[0078] a transform processing step of performing a processing
operation equivalent to a fast Fourier transform on the output
signal of said preprocessing step; and
[0079] a postprocessing step of performing a predetermined
postprocessing operation on the output signal of said transform
processing step;
[0080] the input signal and the output signals of said transform
processing step being complex signals having a length of N/(2
(m+2)).
[0081] In still another aspect of the invention, there is provided
a signal processing method comprising:
[0082] a first transform step of decoding the first code string
produced by coding the spectrum signal obtained by performing a
direct modified discrete cosine transform on a time series signal
and transforming the spectrum signal obtained by the decoding into
a time series signal by performing an inverse modified discrete
cosine transform; and
[0083] a second transform step of transforming the time series
signal output from said first transform step into a spectrum signal
by performing a direct modified discrete cosine transform and
coding the spectrum signal into a second code string;
[0084] upon being allowed to make the signal band of said second
code string narrower than that of said first code string, the
computations of the fast Fourier transform to be carried out for
said inverse modified discrete cosine transform being performed in
said first transform step, using a tap length corresponding to said
narrowed band.
[0085] In still another aspect of the invention, there is provided
a signal processing method comprising:
[0086] a first transform step of decoding the first code string
produced by coding the spectrum signals obtained by performing a
direct modified discrete cosine transform on each of the signals
obtained by dividing a time series signal into a plurality of
bands, transforming the spectrum signals obtained by the decoding
into time series signals by performing an inverse modified discrete
cosine transform and synthetically combining the bands; and
[0087] a second transform step of transforming the time series
signal output from said first transform step into a spectrum signal
by performing a direct modified discrete cosine transform and
coding the spectrum signal into a second code string;
[0088] upon being allowed to make specific ones of said signal
bands of said second code string narrower than the corresponding
ones of the signal bands of said first code string, the
computations of the fast Fourier transform to be carried out for
said inverse modified discrete cosine transform being performed in
said first transform step, using a tap length corresponding to said
narrowed bands.
[0089] In still another aspect of the invention, there is provided
a signal processing method comprising:
[0090] a first transform step of decoding the first code string
produced by coding the spectrum signal obtained by performing a
direct modified discrete cosine transform on a time series signal
and transforming the spectrum signal obtained by the decoding into
a time series signal by performing an inverse modified discrete
cosine transform; and
[0091] a second transform step of transforming the time series
signal output from said first transform step into a spectrum signal
by performing a direct modified discrete cosine transform and
coding the spectrum signal into a second code string;
[0092] upon being allowed to make the signal band of said second
code string narrower than that of said first code string, the
computations of the fast Fourier transform to be carried out for
said direct modified discrete cosine transform being performed in
said second transform step, using a tap length corresponding to
said narrowed band.
[0093] In still another aspect of the invention, there is provided
a signal processing method comprising:
[0094] a first transform step of decoding the first code string
produced by coding the spectrum signals obtained by performing a
direct modified discrete cosine transform on each of the signals
obtained by dividing a time series signal into a plurality of
bands, transforming the spectrum signals obtained by the decoding
into time series signals by performing an inverse modified discrete
cosine transform and synthetically combining the bands; and
[0095] a second transform step of transforming the time series
signal output from said first transform step into a spectrum signal
by performing a direct modified discrete cosine transform and
coding the spectrum signal into a second code string;
[0096] upon being allowed to make specific ones of said signal
bands of said second code string narrower than the corresponding
ones of the signal bands of said first code string, the
computations of the fast Fourier transform to be carried out for
said direct modified discrete cosine transform being performed in
said second transform step, using a tap length corresponding to
said narrowed bands. Thus, according to the invention, a linear
forward transform can be realized for the purpose of a modified DCT
to be carried out on N/2 (m) samples by way of computations for
performing an FFT on a complex signal having a length of N/(2
(m+2)) to consequently reduce the volume of computations and the
work area required for the computations. Likewise, a linear inverse
transform can be realized for the purpose of a modified DCT to be
carried out on N/2 (m) independent spectrum input signals by way of
computations for performing an FFT on a complex signal having a
length of N/(2 (m+2)) to consequently reduce the volume of
computations and the work area required for the computations.
Additionally, when converting a code encoded by a coding system
into a code of the other system of two different coding systems
using a modified DCT and the band of the original code may be
narrowed, the size of the FFT for the inverse transform process of
the modified DCT can be reduced from the ordinary size to realize a
high speed transform operation. Likewise, when converting a code
encoded by a coding system into a code of the other system of two
different coding systems using a modified DCT and the band of the
converted code may be narrowed, the size of the FFT for the forward
transform process of the modified DCT can be reduced from the
ordinary size to realize a high speed transform operation.
[0097] Then, according to the invention, when using the modified
discrete cosine transform for transforming a time series signal
into a spectrum signal, the size of the fast Fourier transform is
reduced from the normal size depending on the required band.
Similarly, when converting a code encoded by a coding system into a
code of the other system of two different coding systems using a
modified discrete cosine transform, the volume of computations
necessary for modified discrete cosine transform is reduced from
the normal volume (required when the band is limited but the volume
of computations of the MDCT and that of the IMDCT are not limited)
depending on the required band. As a result, the volume of
arithmetic operations including the number of multiplications and
that of additions can be reduced to by turn reduce the work area
required for the computations and realize a high speed transform
operation.
[0098] More specifically, according to the invention, for producing
N/2 spectrum data obtained by directly performing a modified DCT
(MDCT) on N time series sample data cut out so as to make each of
the blocks overlap the rear half (50%) of the preceding block and
the front half (50%) of the succeeding block, the computations of
direct MDCT can be performed efficiently by using an FFT with a
length of N/(2 (m+2)) if the required number of spectrums is N/(2
(m+1)) after the transform so that the volume of computations can
be reduced depending on the capacity of the coding device being
used and the quality of the codes involved. Then, as a result, it
is possible to provide an encoder and a code string transform
device having a simple configuration and operating efficiently for
audio signals.
[0099] Additionally, according to the invention, for producing N
time series sample data by inversely performing a modified DCT
(MDCT) on N/2 independent spectrums, the computations of inverse
MDCT can be performed efficiently by using an FFT with a length of
N/(2 (m+2)) if the required number of spectrums is N/(2 (M+1))
before the transform so that the volume of computations can be
reduced depending on the capacity of the coding device being used
and the quality of the codes involved. Then, as a result, it is
possible to provide a decoder and a code string transform device
having a simple configuration and operating efficiently for audio
signals.
[0100] Still additionally, according to the invention, when
converting a code string encoded by a coding system into a code
string of the other system of two different coding systems using a
modified discrete cosine transform, each of the systems being
adapted to transform a time series signal into a spectrum signal
and then code and decode the obtained spectrum signal by means of a
device for directly performing an MDCT and subsequently
transforming the spectrum signal into a time series signal by means
of a device for inversely performing an MDCT, if an operation of
restoring the time series signal by means of a device for inversely
performing a modified DCT and subsequently transforming it into a
spectrum signal by means of a device for directly performing a
modified DCT can be carried out by using a narrow band after the
transform, the size of the fast Fourier transform by the device for
inversely performing a MDCT is reduced from the normal size to
realize a high speed transform operation.
[0101] Still additionally, according to the invention, when
converting a code string encoded by a coding system into a code
string of the other system of two different coding systems using a
modified discrete cosine transform, each of the systems being
adapted to divide a time series signal by means of a sub-band
filter, transform the signal of each of the bands obtained by the
division into a spectrum signal and then code and decode the
obtained spectrum signal by means of a device for directly
performing an MDCT and subsequently transforming the spectrum
signal into a time series signal by means of a device for inversely
performing an MDCT, if an operation of restoring the time series
signal by means of a device for inversely performing a modified
discrete cosine transform and subsequently transforming it into a
spectrum signal by means of a device for directly performing a
modified discrete cosine transform can be carried out by using
specific narrow bands after the division, the size of the fast
Fourier transform by the device for inversely performing a MDCT is
reduced from the normal size to realize a high speed transform
operation.
[0102] Furthermore, according to the invention, when converting a
code string encoded by a coding system into a code string of the
other system of two different coding systems using a modified
discrete cosine transform, each of the systems being adapted to
transform a time series signal into a spectrum signal and then code
and decode the obtained spectrum signal by means of a device for
directly performing an MDCT and subsequently transforming the
spectrum signal into a time series signal by means of a device for
inversely performing an MDCT, if an operation of restoring the time
series signal by means of a device for inversely performing a MDCT
and subsequently transforming it into a spectrum signal by means of
a device for directly performing a MDCT can be carried out by using
a narrow band before the transform, the size of the fast Fourier
transform by the device for inversely performing a MDCT is reduced
from the normal size to realize a high speed transform
operation.
[0103] Finally, according to the invention, when converting a code
string encoded by a coding system into a code string of the other
system of two different coding systems using a modified discrete
cosine transform, each of the systems being adapted to divide a
time series signal by means of a sub-band filter, transform the
signal of each of the bands obtained by the division into a
spectrum signal and then code and decode the obtained spectrum
signal by means of a device for directly performing an MDCT and
subsequently transforming the spectrum signal into a time series
signal by means of a device for inversely performing an MDCT, if an
operation of restoring the time series signal by means of a device
for inversely performing a modified discrete cosine transform and
subsequently transforming it into a spectrum signal by means of a
device for directly performing a modified discrete cosine transform
can be carried out by using specific narrow bands before the
division, the size of the fast Fourier transform by the device for
directly performing a MDCT is reduced from the normal size to
realize a high speed transform operation.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
[0104] FIG. 1 is a schematic illustration of the processing
sequence of MDCT and inverse IMDCT;
[0105] FIGS. 2A and 2B are schematic illustrations of input signals
and output signals of MDCT and IMDCT;
[0106] FIG. 3 is a schematic illustration of the positions of time
series samples that are used for input/output signals of a device
according to the invention;
[0107] FIG. 4 is a flow chart of the steps of a basic mode of
carrying out a signal processing method according to the invention
and adapted to MDCT;
[0108] FIG. 5 is a schematic block diagram of an embodiment of
signal processing apparatus according to the invention and adapted
to MDCT;
[0109] FIG. 6 is a flow chart of the steps of a basic mode of
carrying out a signal processing method according to the invention
and adapted to IMDCT;
[0110] FIG. 7 is a schematic block diagram of an embodiment of
signal processing apparatus according to the invention and adapted
to IMDCT;
[0111] FIG. 8 is a schematic block diagram of a high efficiency
encoder using a sub-band filter, showing its circuit
configuration;
[0112] FIG. 9 is a schematic block diagram of a high efficiency
decoder adapted to decode a code string produced by the encoder of
FIG. 8 by means of a code string band synthesis filter;
[0113] FIG. 10 is a schematic block diagram of the decoder of FIG.
9, showing that it has a scalability when adapted to decode only
bands of lower orders;
[0114] FIG. 11 is a schematic block diagram of a high efficiency
encoder, to which a signal processing method according to the
invention and adapted to IMDCT is applied to make it have a
scalability, showing its circuit configuration that is simple and
adapted to high speed operations;
[0115] FIG. 12 is a schematic block diagram of a high efficiency
decoder, to which a signal processing method according to the
invention and adapted to IMDCT is applied to a code string
generated by the encoder of FIG. 11 to make it have a scalability
like that of FIG. 10, showing its circuit configuration that is
simple and adapted to high speed operations;
[0116] FIG. 13 is a schematic block diagram of a high efficiency
encoder adapted to transform time series sample data into a first
code string, showing its circuit configuration;
[0117] FIG. 14 is a schematic block diagram of a high efficiency
decoder adapted to transform the first code string into time series
sample data, showing its circuit configuration;
[0118] FIG. 15 is a schematic block diagram of a high efficiency
encoder adapted to transform the time series sample data into a
second code string, showing its circuit configuration;
[0119] FIG. 16 is a schematic block diagram of a high efficiency
decoder adapted to transform the second code string into time
series sample data, showing its circuit configuration;
[0120] FIG. 17 is a schematic block diagram of a code string
transform device adapted to transform the first code string into
the second code string, showing its circuit configuration;
[0121] FIG. 18 is a schematic block diagram of a code string
transform device adapted to transform the first code string into
the second code string, to which a signal processing method
according to the invention and adapted to IMDCT is applied, showing
its circuit configuration;
[0122] FIG. 19 is a schematic block diagram of a code string
transform device adapted to transform the second code string into
the first code string, showing its circuit configuration; and
[0123] FIG. 20 is a schematic block diagram of a code string
transform device adapted to transform the second code string into
the first code string, to which a signal processing method
according to the invention and adapted to MDCT is applied, showing
its circuit configuration.
DETAILED DESCRIPTION OF THE INVENTION
[0124] Now, the present invention will be described in greater
detail by referring to the accompanying drawing that illustrate
preferred embodiments of the invention.
[0125] Firstly, the principle of computations that is adopted to
the present invention will be discussed before describing specific
embodiments of signal processing device and signal processing
method according to the invention.
[0126] When performing computations of MDCT (modified DCT) with a
signal processing device and a signal processing method according
to the invention, formula (28) below is used to extract N/(2 m)
samples corresponding to 2 m(n+1/2)-1/2 positions out of the time
series sample data that are divided into blocks, each comprising N
samples. 20 Y 21 ( k ) = n = 0 N / 2 m - 1 X 21 ( 2 m ( n + 1 2 ) -
1 2 ) cos ( ( 2 k + 1 ) ( 2 m + 1 n + N / 2 + 2 m ) 2 N ) , for 0 k
N 2 m + 1 - 1 ( 28 )
[0127] Then, the input signals X.sub.21 are multiplied by window
H.sub.21 to produce X.sub.22, using formula (29) below. 21 X 22 ( n
) = H 21 ( 2 m ( n + 1 2 ) - 1 2 ) X 21 ( 2 m ( n + 1 2 ) - 1 2 ) (
29 )
[0128] Then, X.sub.22 are rearranged by using formula (30) below to
produce X.sub.23. 22 X 23 ( n ) = { - X 22 ( n + 3 N 2 m + 2 ) ,
for 0 n N 2 m + 2 - 1 X 22 ( n - N 2 m + 2 ) , for N 2 m + 2 n N 2
m - 1 ( 30 )
[0129] Then X.sub.24 are formed through formula (31) by using
X.sub.23 obtained by formula (30). 23 X 24 ( n ) = X 23 ( 2 n ) - X
23 ( N 2 m - 1 - 2 n ) , for 0 n N 2 m + 1 - 1 ( 31 )
[0130] Furthermore, N/(2 (m+2)) complex signals Z.sub.21 are
obtained by using X.sub.24 and formula (32) below. 24 Z 21 ( k ) =
n = 0 N / 2 m + 2 - 1 Z 21 ( n ) exp ( - j 2 kn ( N / 2 m + 2 ) ) ,
for 0 n N 2 m + 2 - 1 ( 32 )
[0131] Thereafter, N/(2 (m+2)) complex signals Z.sub.22 are
obtained by using formula (33) below. 25 Z 22 ( k ) = n = 0 N / 2 m
+ 2 - 1 Z 21 ( n ) exp ( - j 2 kn ( N / 2 m + 2 ) ) , for 0 k N 2 m
+ 2 - 1 ( 33 )
[0132] Then, complex signals Z.sub.23, Z.sub.24, Z.sub.25 and
Z.sub.26 having a length of N/(2 (m+2)) are obtained by
computations using formulas (34) through (37) respectively. 26 Z 23
( k ) = 1 2 ( Z 22 ( k ) + Z 22 * ( N 2 m + 2 - 1 - k ) ) , for 0 k
N 2 m + 2 - 1 ( 34 ) Z 24 ( k ) = 1 2 j exp ( - j 2 ( 2 k + 1 ) N /
2 m ) ( Z 22 ( k ) - Z 22 * ( N 2 m + 2 - 1 - k ) ) , for 0 k N 2 m
+ 2 - 1 ( 35 ) Z 25 ( k ) = 1 2 ( Z 22 ( N 2 m + 2 - 1 - k ) + Z 22
* ( k ) ) , for 0 k N 2 m + 2 - 1 ( 36 ) Z 26 ( k ) = 1 2 j exp ( j
2 ( 2 k + 1 ) N / 2 m ) ( Z 22 ( N 2 m + 2 - 1 - k ) - Z 22 * ( k )
) , for 0 k N 2 m + 2 - 1 ( 37 )
[0133] Then, Y.sub.21 having the length of N/(2 (m+1)) are obtained
from the complex signals Z.sub.23, Z.sub.24, Z.sub.25 and Z.sub.26
by using formula (38) below. 27 Y 21 ( k ) = Re ( exp ( - j 2 ( 2 k
+ 1 ) 4 ( N / 2 m ) ) ( Z 23 ( k ) + Z 24 ( k ) ) ) Y 21 ( N / 2 m
+ 1 - 1 - k ) = Re ( - j exp ( j 2 ( 2 k + 1 ) 4 ( N / 2 m ) ) ( Z
25 ( k ) + Z 26 ( k ) ) ) , for 0 k N 2 m + 2 - 1 ( 38 )
[0134] It will be appreciated that the above result of formula (38)
agree with Y.sub.21 of formula (28), as follows.
[0135] Then, formula (28) is substituted by formula (29) and
transformed in a manner as expressed by formula (39) below. 28 Y 21
( k ) = n = 0 N / 2 m - 1 X 22 ( n ) cos ( ( 2 k + 1 ) ( 2 m + 1 n
+ N / 2 + 2 m ) 2 N ) , for 0 k N 2 m + 1 - 1 = n = N / 2 m + 2 5 N
/ 2 m + 2 - 1 X 22 ( n - N / 2 m + 2 ) cos ( ( 2 k + 1 ) ( 2 m + 1
( n - N 2 m + 2 ) + N / 2 + 2 m ) 2 N ) = n = N / 2 m + 2 N / 2 m -
1 X 22 ( n - N / 2 m + 2 ) cos ( ( 2 k + 1 ) ( 2 m + 1 n + 2 m ) 2
N ) + n = N / 2 m 5 N / 2 m + 2 - 1 X 22 ( n - N / 2 m + 2 ) cos (
( 2 k + 1 ) ( 2 m + 1 n + 2 m ) 2 N ) = n = N / 2 m + 2 N / 2 m - 1
X 22 ( n - N / 2 m + 2 ) cos ( ( 2 k + 1 ) ( 2 m + 1 n + 2 m ) 2 N
) + n = 0 N / 2 m + 2 - 1 X 22 ( n + 3 N / 2 m + 2 ) cos ( ( 2 k +
1 ) ( 2 m + 1 ( n + N 2 m ) + 2 m ) 2 N ) = n = N / 2 m + 2 N / 2 m
- 1 X 22 ( n - N / 2 m + 2 ) cos ( ( 2 k + 1 ) ( 2 m + 1 n + 2 m )
2 N ) - n = 0 N / 2 m + 2 - 1 X 22 ( n + 3 N / 2 m + 2 ) cos ( ( 2
k + 1 ) ( 2 m + 1 n + 2 m ) 2 N ) ( 39 )
[0136] As a result, X.sub.23 can be obtained by using formula (40)
below. 29 X 23 ( n ) = { - X 22 ( n + 3 N 2 m + 2 ) , for 0 n N 2 m
+ 2 - 1 X 22 ( n - N 2 m + 2 ) , for N 2 m + 2 n N 2 m - 1 ( 40
)
[0137] Then, formula (39) is substituted by formula (40) and
transformed in a manner as expressed by formula (41) below. 30 Y 21
( k ) = n = 0 N / 2 m - 1 X 23 ( n ) cos ( ( 2 k + 1 ) ( 2 m + 1 n
+ 2 m ) 2 N ) = n = 0 N / 2 m + 1 - 1 X 23 ( 2 n ) cos ( ( 2 k + 1
) ( 2 m + 1 n + 2 m ) 2 N ) + n = 0 N / 2 m + 1 - 1 X 23 ( 2 n + 1
) cos ( ( 2 k + 1 ) ( 2 m + 1 ( 2 n + 1 ) + 2 m ) 2 N ) = n = 0 N /
2 m + 1 - 1 X 23 ( 2 n ) cos ( ( 2 k + 1 ) ( 2 m + 2 n + 2 m ) 2 N
) + n = 0 N / 2 m + 1 - 1 X 23 ( N 2 m - 1 - 2 n ) cos ( ( 2 k + 1
) ( 2 N - 2 m + 2 n - 2 m ) 2 N ) = n = 0 N / 2 m + 1 - 1 X 23 ( 2
n ) cos ( ( 2 k + 1 ) ( 2 m + 2 n + 2 m ) 2 N ) - n = 0 N / 2 m + 1
- 1 X 23 ( N 2 m - 1 - 2 n ) cos ( ( 2 k + 1 ) ( - 2 m + 2 n - 2 m
) 2 N ) = n = 0 N / 2 m + 1 - 1 ( X 23 ( 2 n ) - X 23 ( N 2 m - 1 -
2 n ) ) cos ( ( 2 k + 1 ) ( 2 m + 2 n + 2 m ) 2 N ) ( 40 )
[0138] Now, X.sub.24 is defined by formula (42) below. 31 X 24 ( n
) = X 23 ( 2 n ) - X 23 ( N 2 m - 1 - 2 n ) , for 0 k N 2 m + 1 - 1
( 42 )
[0139] Then, formula (41) is substituted by formula (42) and
transformed in a manner as expressed by formula (43) below. 32 Y 21
( k ) = n = 0 N / 2 m + 1 - 1 X 24 ( n ) cos ( ( 2 k + 1 ) ( 2 m +
2 n + 2 m ) 2 N ) = n = 0 N / 2 m + 1 - 1 X 24 ( n ) cos ( ( 2 k +
1 ) ( 2 m + 2 n + 2 m ) 2 N ) for 0 k N 2 m + 1 - 1 ( 43 )
[0140] Formula (44) below is obtained by substituting formula (1)
by formulas (2) through (4). 33 y 0 ( k ) = n = 0 N / 2 - 1 x 03 (
n ) cos ( ( 2 k + 1 ) ( 4 n + 1 ) 2 N ) , for 0 k N 2 - 1 ( 44
)
[0141] It will be appreciated that, by comparing formula (43) and
formula (44), the latter formula (44) is obtained by replacing N/(2
m) in formula (43) by N.
[0142] Therefore, the computation of formula (28) can be realized
by carrying out the computations of formula (29) through (38) to
perform an FFT with a tap length of N/(2 (m+2)).
[0143] The range of values that m can take is defined by formula
(45) below. 34 { 0 m log 2 N - 2 N 4 ( 45 )
[0144] If m is equal to 0, the above operation is that of an
ordinary MDCT without limiting the band. FIG. 3 is a schematic
illustration of the positions of time series samples that are used
for input/output signals of a device according to the invention.
More specifically, in FIG. 3, (a) shows the positions of time
series sample data when m is equal to 0 and (b) shows the positions
of time series sample data when m is equal to 1, whereas (c) shows
the positions of time series sample data when m is equal to 2 and
(d) shows the positions of time series sample data D when m is
equal to 3.
[0145] The computations of IMDCT to be carried out according to the
invention by extracting N/(2 m) spectrum data of lower order (or
upper order or in the middle of the band) from a total of N/2
spectrum data can be realized by using formula (46) below. 35 X 31
( 2 m ( n + 1 2 ) - 1 2 ) = F 31 ( 2 m ( n + 1 2 ) - 1 2 ) k = 0 N
/ 2 m + 1 - 1 Y 31 cos ( ( 2 k + 1 ) ( 2 m + 1 n + N / 2 + 2 m ) 2
N ) , for 0 n N 2 m - 1
[0146] (46)
[0147] Then, a total of N/(2 (m+1)) time series sample data
Y.sub.32 are produced by using formula (47) below on the basis of
the input signals Y.sub.31. 36 Y 32 ( k ) = { Y 31 ( 2 k ) , for 0
k N 2 m + 2 - 1 - Y 31 ( N / 2 m - 1 - 2 k ) , for N 2 m + 2 k N 2
m + 1 - 1 ( 47 )
[0148] Thereafter, a total of N/(2 (m+2)) complex signals Z.sub.31
are obtained by using formula (48) below on the basis of Y.sub.32
obtained by means of formula (47) above. 37 Z 31 ( k ) ( Y 32 ( 2 k
) + jY 32 ( 2 k + 1 ) ) exp ( - j 2 k ( N / 2 m + 1 ) ) , for 0 k N
2 m + 2 - 1 ( 48 )
[0149] Furthermore, a total of N/(2 (m+2)) complex signals Z.sub.32
are obtained by using formula (49) below on the basis of the
obtained Z.sub.31. 38 Z 32 ( n ) = k = 0 N / 2 m + 2 - 1 Z 31 ( k )
exp ( - j 2 nk ( N / 2 m + 2 ) ) , for 0 k N 2 m + 2 - 1 ( 49 )
[0150] Then, a string of complex signals Z.sub.33, Z.sub.34,
Z.sub.35 and Z.sub.36, each having a length of N/(2 (m+2)), are
obtained by computing respective formulas (50) through (53) below
performed on the basis of the complex signals Z.sub.32. 39 Z 33 ( n
) = 1 2 ( Z 32 ( n ) + Z 32 * ( N 2 m + 2 - 1 n ) ) , for 0 n N 2 m
+ 2 - 1 ( 50 ) Z 34 ( n ) = 1 2 j exp ( - j 2 ( 2 n + 1 ) N / 2 m )
( Z 32 ( n ) - Z 32 * ( N 2 m + 2 - 1 - n ) ) , for 0 n N 2 m + 2 -
1 ( 51 ) Z 35 ( n ) = 1 2 ( Z 32 ( N 2 m + 2 - 1 - n ) + Z 32 * ( n
) ) , for 0 n N 2 m + 2 - 1 ( 52 ) Z 36 ( n ) = 1 2 j exp ( j 2 ( 2
n + 1 ) N / 2 ) ( Z 32 ( N 2 m + 2 - 1 - n ) - Z 32 * ( n ) ) , for
0 n N 2 m + 2 - 1 ( 53 )
[0151] Then, N/(2 (m+1)) complex signals X.sub.33 are obtained from
the complex signals Z.sub.33, Z.sub.34, Z.sub.35, and Z.sub.36 by
using formula (54) below. 40 X 33 ( n ) = Re ( exp ( - j 2 ( 2 n +
1 ) N / 2 m ) ( Z 33 ( n ) + Z 34 ( n ) ) ) , X 33 ( N / 2 m + 1 -
1 - n ) = Re ( - j exp ( j 2 ( 2 n + 1 ) N / 2 m ) ( Z 35 ( n ) ) )
, for 0 n N 2 m + 2 - 1 ( 54 )
[0152] Then, X.sub.32 are produced by rearranging the obtained
complex signals X.sub.33, changing the polarity thereof according
to formula (55) below. 41 X 32 ( n ) = { X 33 ( n + N 2 m + 2 ) ,
for 0 n N 2 m + 2 - 1 - X 33 ( 3 N 2 m + 2 - 1 - n ) , for N 2 m +
2 n 3 N 2 m + 2 - 1 - X 33 ( n - 3 N 2 m + 2 ) , for 3 N 2 m + 2 n
N 2 m - 1 ( 55 )
[0153] It will be appreciated that the above result agree with that
of formula (46), as follows. Firstly X.sub.32 is defined by formula
(56) below. 42 X 31 ( 2 m ( n + 1 2 ) - 1 2 ) = F 31 ( 2 m ( n + 1
2 ) - 1 2 ) X 34 ( n ) , for 0 n N 2 m - 1 ( 56 )
[0154] Then, formula (56) is substituted by formula (46) to obtain
formula (57) below. 43 X 34 ( n ) = k = 0 N / 2 m + 1 - 1 Y 31 ( k
) cos ( ( 2 m + 1 n + N / 2 + 2 m ) 2 N ) , for 0 k N 2 m - 1 ( 57
)
[0155] Thereafter, formula (57) is transformed in a manner as shown
below depending on the range of values that n can take. Firstly,
when n is between 0 and N/(2 (m+2))-1, X.sub.32 are expressed by
formula (58) below. 44 X 34 ( n ) = k = 0 N / 2 m + 1 - 1 Y 31 ( k
) cos ( ( 2 k + 1 ) ( 2 m + 1 n + N / 2 + 2 m ) 2 N ) , for 0 k N 2
m - 1 ( 58 )
[0156] When n is between N/(2 (m+2)) and 3N/(2 (m+2))-1, X.sub.32
are expressed by formula (59) below. 45 X 34 ( n ) = - k = 0 N / 2
m + 1 - 1 Y 31 ( k ) cos ( ( 2 k + 1 ) ( - 2 m + 1 n - N / 2 + 2 m
) + ( 2 k + 1 ) 2 N 2 N ) = - k = 0 N / 2 m + 1 - 1 Y 31 ( k ) cos
( ( 2 k + 1 ) ( 2 m + 1 ( 3 N / 2 m + 2 - 1 - n ) + 2 m ) 2 N ) ,
for N 2 m + 2 n 3 N 2 m + 2 - 1 ( 59 )
[0157] Finally, when n is between 3N/(2 (m+2))-1 and N/(2 m)-1,
X.sub.32 are expressed by formula (60) below. 46 X 34 ( n ) = - k =
0 N / 2 m + 1 - 1 Y 31 ( k ) cos ( ( 2 k + 1 ) ( - 2 m + 1 n - N /
2 + 2 m ) - ( 2 k + 1 ) 2 N 2 N ) = - k = 0 N / 2 m + 1 - 1 Y 31 (
k ) cos ( ( 2 k + 1 ) ( 2 m + 1 ( n - 3 N / 2 m + 2 ) + 2 m ) 2 N )
, for 3 N 2 m + 2 n N 2 m - 1 ( 60 )
[0158] Then, X.sub.33 are produced by using formula (61) below and
X.sub.32 that are defined differently dependent on the range of
values that n can take. 47 X 32 ( n ) = { X 35 ( n + N 2 m + 2 ) ,
for 0 n N 2 m + 2 - 1 - X 35 ( 3 N 2 m + 2 - 1 - n ) , for N 2 m +
2 n 3 N 2 m + 2 - 1 - X 35 ( n - 3 N 2 m + 2 ) , for 3 N 2 m + 2 n
N 2 m - 1 ( 61 )
[0159] Therefore, formula (57) can be transformed into formula (62)
below. 48 X 35 ( n ) = k = 0 N / 2 m + 1 - 1 Y 31 ( k ) cos ( ( 2 k
+ 1 ) ( 2 m + 1 n + 2 m ) 2 N ) , = k = 0 N / 2 m + 1 - 1 Y 31 ( k
) cos ( ( 2 k + 1 ) ( 2 n + 1 ) 2 ( N / 2 m ) ) , for 3 N 2 m + 2 n
N 2 m - 1 ( 62 )
[0160] Formula (63) below can be obtained by substituting formula
(12) by formula (21) for the purpose of comparison. Note that
x.sub.1 that is obtained when C.sub.0 is equal to 1 in formula (12)
is assumed to be equal to x.sub.12. 49 x 11 ( n ) = k = 0 N / 2 m +
1 - 1 y 1 ( k ) cos ( ( 2 k + 1 ) ( 2 n + 1 ) 2 N ) , for 0 n N - 1
( 63 )
[0161] By comparing formula (62) and formula (63), it will be
appreciated that formula (63) is obtained by replacing N/(2 m) in
formula (62) by N. Therefore, it is possible to carry out the
computations of formula (46) by carrying out the computations of
formula (47) through formula (55) and performing an FFT with a tap
length corresponding to N/(2 (m+2)) samples. Note that the range of
values that m can take is same as that of formula (45).
[0162] As for window functions to be used for the purpose of the
invention, formula (64) and formula (65) below can be used
respectively for MDCT and IMDCT. 50 H 01 ( n ) = h ( 2 m n + 2 m -
1 - 1 ) + h ( 2 m n + 2 m - 1 ) 2 , for 0 n N 2 m - 1 ( 64 ) F 01 (
n ) = f ( 2 m n + 2 m - 1 - 1 ) + f ( 2 m n + 2 m - 1 ) 2 , for 0 n
N 2 m - 1 ( 65 )
[0163] Note that h(n) and f(n) are window functions for forward
transform and inverse transform that can be used when the band is
not limited, whereas H.sub.01(n) and F.sub.01(n) are window
functions to be used for the purpose of the present invention. Also
note that m is not smaller than 1.
m.gtoreq.1 (66)
[0164] It should be noted that the above are only examples of
window functions and other window functions may be used for forward
transform and inverse transform.
[0165] Thus, with a signal processing device and a signal
processing method according to the invention, when the frequency
band is limited to 1/(2 m), the MDCT as defined by formula (28)
above and the IMDCT as defined by formula (46) above can be
realized by means of an FFT with a tap length corresponding to N/(2
(m+2)) samples. Therefore, as a result, both the number of
arithmetic operations and the work area required for the operations
can be remarkably reduced if compared with any known methods.
[0166] Now, on the basis of the above described principle of
computations of the present invention, a signal processing device
and a signal processing method according to the invention will be
described by way of preferred embodiments.
[0167] FIG. 4 is a flow chart of the forward transform processing
operation of an embodiment of signal processing method according to
the invention and adapted to MDCT that is conducted on the basis of
the above described principle of computations.
[0168] Referring to FIG. 4, the input time series sample data,
which may typically be PCM audio data, are firstly divided into
blocks, each containing a predetermined number (N in FIG. 4) of
samples, in Step S1.
[0169] As pointed out above, the number of the spectrums obtained
by directly performing an MDCT on each block of N samples of the
time series sample data is N/2. However, with this embodiment, the
frequency band is limited to 1/(2 m) in order to make it possible
to realize high speed arithmetic operations. The number of
spectrums obtained by directly performing an MDCT on each block is
N/(2 (m+1)) when the frequency band is limited to 1/(2 m).
[0170] Therefore, with this embodiment, N/2 samples that correspond
to (2 m/(n+1/2))-1/2 positions are extracted from the N sample of
the block to be transformed by MDCT in the above Step S1. It will
be appreciated that the processing operation can be started from
Step S2 to omit Step S1, if said block to be transformed contains
N/(2 m) samples from the start. The extracting operation may be
carried out by using a filter of some sort or another or by some
other means that is adapted to simply down-sample the data by 1/(2
m) (from 2 mn positions) and output the obtained samples. When the
samples obtained by simple 1/(2 m) down-sampling (from 2 mn
positions) are output, an error of (2 m-1)/2 samples will be
generated. Therefore, the technique of simple down-sampling may be
used to simplify not only the sampling means but also the
configuration of the entire system only when the error is
permissible.
[0171] As described earlier by referring to FIG. 1, each block to
be transformed is so arranged that it overlaps each of the
adjacently located blocks by 50%, or by N/(2 (m+1)) samples.
[0172] Then, in Step S2, a window for forward transform to be used
for N/(2 m) samples are applied to the block produced in Step S1
for the purpose of transform. Subsequently, in Step S3, a transform
operation as expressed by formula (30) and formula (31) is
conducted. As a result, the sample data of the block to be
transformed are actually transformed into N/(2 (m+2)) real number
data X.sub.24.
[0173] Then, in Step S4, the even-numbered data of the N/(2 (m+1))
real number data X.sub.24 are allocated to real parts and
odd-numbered data of the N/(2 (m+1)) real number data X.sub.24 are
allocated to imaginary parts and the obtained complex numbers are
multiplied by a complex coefficient to realize the transform of
formula (32) in order to transform N/(2 (m+1)) real number data
X.sub.24 into N/(2 (m+2)) complex number data Z.sub.21.
[0174] Thereafter, in Step S5, N/(2 (m+2)) complex number data
Z.sub.22 are obtained on the frequency axis by performing an FFT
(fast Fourier transform) on the N/(2 (m+2)) complex number data
Z.sub.21 obtained in Step S4.
[0175] Then, in Step S6, N/(2 (m+1)) spectrum data Y.sub.21 are
obtained by carrying out the computations of formulas (34) through
(38) on the complex number data Z.sub.22 obtained in Step S5 and
taken out as output data of the MDCT.
[0176] FIG. 5 is a schematic block diagram of an embodiment of
signal processing apparatus according to the invention and adapted
to MDCT.
[0177] Referring to FIG. 5, time series sample data that may
typically be PCM audio data are fed to input terminal 11 and then
temporarily stored in time series sample buffer 12. Thereafter,
they are divided into blocks, each containing a predetermined
number of samples, for instance N/(2 m) samples, and then sent to
MDCT computation circuit 20.
[0178] The MDCT computation circuit 20 comprises formula (29)
computation circuit 21, formula (30) computation circuit 22,
formula (31) computation circuit 23, formula (32) computation
circuit 24, formula (33) computation circuit 25, formula (34)
computation circuit 26, formula (35) computation circuit 27,
formula (36) computation circuit 28 and formula (37) computation
circuit 29.
[0179] Thus, the MDCT computation circuit 20 sends the block data
of N/(2 m) samples sequentially to the formula (29) computation
circuit 21 through the formula (33) computation circuit 25 in order
to perform the computations of formula (29) through formula (33).
It then sends the output Z.sub.22 of the formula (33) computation
circuit 25 obtained as a result of the computations there to the
formula (34) computation circuit 26 through the formula (37)
computation circuit 29 in parallel in order to perform the
computations of the formulas (24) through (27). Subsequently, it
sends the outputs Z.sub.23, Z.sub.24, Z.sub.25 and Z.sub.26 of the
formula (34) computation circuit 26 through the formula (37)
computation circuit 29 to formula (38) computation circuit 30 in
order to perform the computations of the formula (38). Finally, it
sends the output Y.sub.21 of the formula (38) computation circuit
30 to computation result output terminal 13, which produces the
output Y.sub.21 as the spectrum data obtained as a result of the
MDCT computations.
[0180] On the other hand, FIG. 6 is a flow chart of the inverse
transform processing operation of an embodiment of signal
processing method according to the invention and adapted to IMDCT
that is conducted on the basis of the above described principle of
computations.
[0181] Referring to FIG. 6, in the inverse transform processing
operation, N/(2 (m+1)) data are taken out of the input N/2 spectrum
data in Step S11. The taken out data may by the N/(2 (m+1)) data of
lower order or those of upper order or in the middle of the band
from a total of the original N/2 spectrum data. Note, however, that
the taken out spectrum data have to be sequential data as described
earlier by referring to FIG. 2.
[0182] Then, in Step S12, the N/(2 (m+1)) data are subjected to an
operation of changing the polarity and that of rearrangement as
shown in formula (47) above. As a result, the N/(2 (m+1)) spectrum
data Y.sub.31 are transformed into N/(2 (m+1)) real number data
Y.sub.32.
[0183] Then, in Step S13, the even-numbered data of the N/(2 (m+1))
real number data Y.sub.32 are allocated to real parts and
odd-numbered data of the N/(2 (m+1)) real number data Y.sub.32 are
allocated to imaginary parts and the obtained complex numbers are
multiplied by a complex coefficient to realize the transform of
formula (48) in order to transform N/(2 (m+1)) real number data
Y.sub.32 into N/(2 (m+2)) complex number data Z.sub.31.
[0184] Thereafter, in Step S14, N/(2 (m+2)) complex number data
Z.sub.32 are obtained on the frequency axis by performing an FFT
(fast Fourier transform) on the N/(2 (m+2)) complex number data
Z.sub.31 obtained in Step S13.
[0185] Then, in Step S15, N/(2 (m+1)) real number data X.sub.33 are
obtained by carrying out the computations of formulas (50) through
(54) on the complex number data Z.sub.32 obtained in Step S14.
[0186] Then, in Step S16, the real number data X.sub.33 obtained in
Step S15 are subjected to a transform operation as expressed by
formula (55) to obtain N/(2 m) real number data X.sub.32, which are
subjected to a processing operation of the formula (56) using a
window.
[0187] Finally, in Step S17, N/(2 m) through N time series sample
data that correspond to the positions from position (2
m(n+1))-{fraction (2)} to position n are obtained out of the real
number data X.sub.32 that are obtained in Step S16. It may be
appreciated that Step S17 can be omitted and the N/(2 m) sample
data obtained as output of Step S16 may be used as output of the
above entire process. The above sample taking out operation may be
carried out by using a filter of some sort or another or by some
other means that is adapted to simply up-sample the data to 2 m (to
2 mn positions) and output the obtained samples. When the samples
obtained by simple 2 m up-sampling (to 2 mn positions) are output,
a delay corresponding to (2 m-1)/2 samples will occur. Therefore,
the technique of simple up-sampling may be used to simplify not
only the sampling means but also the configuration of the entire
system only when the delay is permissible.
[0188] FIG. 7 is a schematic block diagram of an embodiment of
signal processing apparatus according to the invention and adapted
to IMDCT and providing time series data out of the output
thereof.
[0189] Referring to FIG. 7, the N/(2 (m+1)) spectrum data Y.sub.31
obtained by the above described MDCT process (a general MDCT when
m=0) are fed to input terminal 16 and then forwarded to formula
(47) computation circuit 41 of the IMDCT computation circuit
40.
[0190] The formula (47) computation circuit 41 performs the
computations of formula ( (47) and the output Y.sub.32 of the
computations are sent sequentially to the formula (48) computation
circuit 42 and formula (49) computation circuit 43 in order to
perform the computations of formula (48) and formula (49). The
output Z.sub.32 of the formula (49) computation circuit 43 obtained
as a result of the computations are then sent to formula (50)
computation circuit 44, formula (51) computation circuit 45,
formula (52) computation circuit 46 and formula (53) computation
circuit 47.
[0191] The formula (50) computation circuit 44, the formula (51)
computation circuit 45, the formula (52) computation circuit 46 and
the formula (53) computation circuit 47 respectively carry out the
computations of the formula (50), the formula (51), the formula
(52) and the formula (53) and their respective outputs Z.sub.33,
Z.sub.34, Z.sub.35 and Z.sub.36 are sent to formula (54)
computation circuit 48.
[0192] The formula (54) computation circuit 48 carries out the
computations of said formula (54) and the output X.sub.33 thereof
is sent to formula (55) computation circuit 49.
[0193] The formula (55) computation circuit 49 carries out the
computations of said formula (55) and the output X.sub.32 thereof
is sent to formula (56) computation circuit 50.
[0194] The formula (56) computation circuit 50 performs a
processing operation of the formula (56) using a window and the
output X.sub.31 of the formula (56) computation circuit 50 is sent
to the time series sample buffer 17 as the output of the IMDCT
computation circuit 40.
[0195] The time series sample buffer 17 temporarily stores the
output X.sub.31 and thereafter reads it out to send it to
overlapping part adding circuit 18, which overlapping part adding
circuit 18 adds the overlapping parts. The data obtained as a
result of the addition are then taken out from output terminal 19
as time series sample data. In other words, the data obtained from
the IMDCT computation circuit 40 are multiplied by a window for
inverse transform and IMDCT output data of the two adjacent blocks
are added to produce time series sample data to be output.
[0196] Now, a high efficiency encoder and a high efficiency decoder
to which MDCT and IMDCT are applied according to the invention will
be described as examples by referring to FIGS. 8 through 12. Note
that FIGS. 11 and 12 respectively shows a principal area of the
high efficiency encoder and that of the high efficiency decoder to
which the present invention is applicable, whereas FIGS. 8 through
10 shows a high efficiency encoder and a high efficiency decoder to
be used respectively with ordinary MDCT and IMDCT for the purpose
of comparison.
[0197] Firstly, the high efficiency encoder of FIG. 8 utilizes the
technique of subband coding, that of adaptive transform coding and
that of adaptive bit allocation. More specifically, the input
digital signal that may typically be a PCM audio signal is divided
into a plurality of frequency bands, of which those showing a high
frequency are made to have a large band width, and each of the
frequency bands is subjected to an MDCT, which is an orthogonal
transform. Then, the obtained spectrum data on the frequency axis
are encoded by adaptively allocating bits to each critical
band.
[0198] Referring to FIG. 8, a time series PCM audio signal having a
frequency band from 0 to 20 kHz is typically supplied to input
terminal 61. The frequency band of the input signal is divided into
a 0 to 5 kHz band, a 5 to 10 kHz band, a 10 to 15 kHz band and a 15
to 20 kHz band by means of a sub-band filter 62 that may typically
be a so-callsed PQF filter, although a two-staged QMF filter or
some other sub-band filter may alternatively be used for the
purpose of the invention.
[0199] Of the time series signals obtained by dividing the band of
the original time series signal by means of the sub-band filter 62,
the one with the band from 0 to 5 kHz is fed to MDCT circuit 66,
while the one with the band from 5 to 10 kHz is fed to MDCT circuit
65, while the one with the band from 10 to 15 kHz is fed to MDCT
circuit 64 and the one with the band from 15 to 20 kHz is fed to
MDCT circuit 63 for an MDCT processing operation. Each of the MDCT
circuits 63 through 66 performs an MDCT processing operation on its
input signal with the corresponding band to transform the signal
into a spectrum signal or a coefficient data on the frequency
axis.
[0200] The spectrum signals or the coefficient data on the
frequency axis obtained by the respective MDCT processing
operations of the MDCT circuits 63 through 66 are then grouped to
so-called critical bands and sent to adaptive bit allocation coding
circuit 67. A critical band is a frequency band obtained by
dividing the band of a signal, taking the characteristics of the
auditory sense of human being into consideration. In other words,
it refers to the band of a narrow band noise that masks a pure
sound of a frequency close to that of the noise. A critical band of
relatively high frequency has a bandwidth greater than that of
relatively low frequency. The overall frequency band from 0 to 20
kHz may typically be divided into 25 critical bands.
[0201] The adaptive bit allocation coding circuit 67 normalizes
each spectrum signal contained in each of the critical bands by the
scale factor, or the maximum value of the absolute values of the
spectrum signal and re-quantizes the normalized spectrum signal
with the number of bits by which the quantization noise is masked
by the signals in the critical band. Then, the circuit 67 outputs
the re-quantized spectrum signal with the scale factor determined
for each critical band and the number of bits used for the
re-quantization.
[0202] The data coded in this way are then output as code string
data from the output terminal 68 of the high efficiency encoder of
FIG. 6.
[0203] FIG. 9 is a schematic block diagram of a high efficiency
decoder corresponding to the high efficiency encoder of FIG. 8.
[0204] The scale factor, the number of bits used for the
re-quantization and the data obtained by coding the re-quantized
spectrum signal are applied to input terminal 71 of FIG. 9 and
forwarded to spectrum decoding circuit 72. The spectrum decoding
circuit 72 forms spectrum signals from the input data. Of the
spectrum signals formed by the spectrum decoding circuit 72, the
one with the band from 15 to 20 kHz is sent to IMDCT circuit 73,
the one with the band from 10 to 15 kHz is sent to IMDCT circuit
74, whereas the one with the band from 5 to 10 kHz is sent to IMDCT
circuit 75 and the one with the band from 0 to 5 kHz is sent to
IMDCT circuit 76.
[0205] Each of the IMDCT circuit 73 through 76 performs an IMDCT
processing operation on the input spectrum signal with the
corresponding band to transform it into a time series signal. The
obtained four time series signals are then sent to band synthesis
filter 77.
[0206] The band synthesis filter 77 synthetically combines the four
time series signals with the respective bands to produce a time
series signal of the entire band (0 to 20 kHz).
[0207] The time series signal of the entire band is output from the
output terminal 78 of the high efficiency encoder of FIG. 9.
[0208] One of the advantages of a high efficiency encoder using
such a sub-band filter is that it has a scalability, which will be
discussed by referring to FIG. 10.
[0209] FIG. 10 is a schematic block diagram of the decoder of FIG.
9, showing that it has a scalability when adapted to decode only
bands of lower orders. Referring to FIG. 10, the scale factor, the
number of bits used for the re-quantization and the data obtained
by coding the re-quantized spectrum signal are applied to input
terminal 71 and forwarded to spectrum decoding circuit 82.
[0210] The spectrum decoding circuit 82 forms spectrum signals from
the input data. Then, the spectrum decoding circuit 82 takes out
the spectrum signal with the band from 0 to 5 kHz and the one with
the band from 5 to 10 kHz out of the spectrum signals formed by it
and sends the latter signal to IMDCT circuit 83 and the former
signal to IMDCT circuit 84.
[0211] Each of the IMDCT circuit 83 and 84 performs an IMDCT
processing operation on the input spectrum signal with the
corresponding band to transform it into a time series signal. The
two time series signals output from the IMDCT circuits 83, 84 are
then sent to band synthesis filter 85.
[0212] The band synthesis filter 85 synthetically combines the two
time series signals with the respective bands to produce a time
series signal of the band from 0 to 10 kHz.
[0213] Then, the time series signal with the band from 0 to 10 kHz
is sent out from output terminal 86 of the high efficiency decoder
of FIG. 10.
[0214] If compared with the decoder of FIG. 9, that of FIG. 10 has
only two IMDCT circuits and hence the band synthesis filter 85 is
required only to synthetically combine two signals with the
respective bands. Therefore, the decoder of FIG. 10 can be
down-sized relative to that of FIG. 9 (and hence is adapted to a
device whose circuit configuration is limited in size).
[0215] On the other hand, according to the invention, it is
possible to provide a scalability at the time of decoding without
using a sub-band filter.
[0216] FIG. 11 is a schematic block diagram of a high efficiency
encoder that does not require a sub-band filter unlike the encoder
of FIG. 8 because a signal processing method according to the
invention is applied to it.
[0217] Referring to FIG. 11, a time series PCM audio signal with a
band from 0 to 20 kHz is applied to input terminal 91. The time
series signal with the band from 0 to 20 kHz is then forwarded to
MDCT circuit 92. The MDCT circuit 92 performs an MDCT processing
operation on the input signal having the entire band between 0 and
20 kHz to transform it into a spectrum signal or a coefficient data
on the frequency axis.
[0218] The spectrum signal or the coefficient data on the frequency
axis obtained as a result of the MDCT processing operation of the
MDCT circuit 92 is then sent to adaptive bit allocation coding
circuit 93 that is similar to the adaptive bit allocation coding
circuit 67 of FIG. 8 and coded by the circuit 93.
[0219] The coded data is then output as code string data from
output terminal 94 of the high efficiency encoder of FIG. 11.
[0220] FIG. 12 is a schematic block diagram of a high efficiency
decoder adapted to IMDCT and designed to receive the code string
data generated by the high efficiency encoder of FIG. 11, showing
its circuit configuration.
[0221] Referring to FIG. 12, a code string data encoded by a high
efficiency encoder like the one shown in FIG. 11 is applied to
input terminal 95. The code string data is then forwarded to
spectrum decoding circuit 96.
[0222] The spectrum decoding circuit 96 forms a spectrum signal
with a band from 0 to 20 kHz from the input code string data. At
this time, the spectrum decoding circuit 96 takes out a spectrum
signal with a band from 0 to 10 kHz or the lower half of the 0 to
20 kHz band and sends it to the IMDCT circuit 97.
[0223] The IMDCT circuit 97 performs an IMDCT processing operation
according to the invention on the signal of the above defined band
to transform it into a time series signal. The time series signal
output from the IMDCT circuit 97 is then output from output
terminal 98 of the high efficiency decoder of FIG. 12.
[0224] Thus, a decoder as illustrated in FIG. 12 can take out a
time series sample data of a band from 0 to 10 kHz without using a
band synthesis filter.
[0225] Since the above example is designed to take out the lower
half (0 to 10 kHz) of the band from 0 to 20 kHz, the processing
operation of the decoder of FIG. 12 correspond to the arithmetic
operations of the above listed corresponding formulas, using m=1.
If it is possible to take out the lower half (0 to 5 kHz) of the
band from 0 to 10 kHz (or the lowest quarter of the entire band),
the volume of the overall arithmetic operations can be reduced
further by using m=2 instead of using m=1.
[0226] Thus, according to the invention, it is possible to provide
the band and the volume of processing operations with a scalability
of the order of 2 m.
[0227] While a PQF is used as sub-band filter in the above
description, according to the invention, it is also possible to
cascade-connect QMFs and the band is divided into equal sub-bands.
Additionally, according to the invention, it is also possible to
divide the band into sub-bands showing a bandwidth ratio of 1:2:4:
. . . , or octave sub-bands.
[0228] Now, a code string transform device for transforming the
first code string into the second code string and a code string
transform device for transforming the second code string into the
first code string that are realized by using a high efficiency
encoder and a high efficiency decoder to which MDCT and IMDCT are
applicable according to the invention will be described by
referring to FIGS. 13 through FIG. 20.
[0229] FIGS. 18 and 20 show code string transform devices to which
the present invention is applied. More specifically, FIGS. 18 is a
schematic block diagrams of a code string transform device adapted
to transform the first code string into the second code string and
realized by using a high efficiency encoder and a high efficiency
decoder to which a signal processing method according to the
invention and adapted to IMDCT is applied, showing its circuit
configuration and FIG. 20 is a schematic block diagram of a code
string transform device adapted to transform the second code string
into the first code string and realized by using a high efficiency
encoder and a high efficiency decoder to which a signal processing
method according to the invention and adapted to IMDCT is applied,
showing its circuit configuration. On the other hand, FIGS. 17 and
19 show code string transform devices realized by using a high
efficiency encoder and a high efficiency decoder to which ordinary
MDCT and IMDCT are applicable. These devices are shown for the
purpose of comparison with the code string transform devices
according to the invention. More specifically, FIG. 17 is a
schematic block diagram of a code string transform device adapted
to transform the first code string into the second code string,
showing its circuit configuration and FIG. 19 is a schematic block
diagram of a code string transform device adapted to transform the
second code string into the first code string, showing its circuit
configuration. FIG. 13 is a schematic block diagram of a high
efficiency encoder adapted to transform time series sample data
into a first code string, showing its circuit configuration and
FIG. 14 is a schematic block diagram of a high efficiency decoder
adapted to transform the first code string of FIG. 13 into time
series sample data, showing its circuit configuration, whereas FIG.
15 is a schematic block diagram of a high efficiency encoder
adapted to transform the time series sample data of FIG. 14 into a
second code string, showing its circuit configuration and FIG. 16
is a schematic block diagram of a high efficiency decoder adapted
to transform the second code string of FIG. 15 into time series
sample data, showing its circuit configuration.
[0230] Firstly, referring to FIG. 13, a time series sample data
with a frequency band from 0 to 20 kHz is supplied to input
terminal 111 of the high efficiency encoder as input signal. The
input signal is divided into a signal with a frequency band from 0
to 10 kHz and a signal with a frequency band from 10 to 20 kHz by
sub-band filter 112 which may be a so-called QMF filter. The signal
with the frequency band from 0 to 10 kHz output from the sub-band
filter 112 is further divided into a signal with a frequency band
from 0 to 5 kHz and a signal with a frequency band from 5 to 10 kHz
by sub-band filter 114 which may also be a QMF filter.
[0231] The signal with the frequency band from 10 to 20 kHz output
from the sub-band filter 112 is then sent to MDCT circuit 115 by
way of a delay circuit 113 showing a delay time corresponding to
the delay time of the sub-band filter, while the signal with the
frequency band from 5 to 10 kHz is sent to MDCT circuit 116 and the
signal with the frequency band from 0 to 5 kHz is sent to MDCT
circuit 117. The MDCT circuits 115 through 117 perform a MDCT
processing operation on the respective input signals having the
respective frequency bands. The spectrum data obtained as a result
of the MDCT processing operations of the MDCT circuits 115 through
117 are then sent to adaptive bit allocation coding circuit
118.
[0232] The adaptive bit allocation coding circuit 118 encodes the
input spectrum data in a manner as described earlier and transforms
the coded data into a code string data. The code string data output
from the adaptive bit allocation coding circuit 118 is then output
from output terminal 119 of the high efficiency encoder of FIG. 13
as the first code string 1.
[0233] Then, referring to FIG. 14, the first code string 1 produced
by the high efficiency encoder of FIG. 13 is supplied to input
terminal 121 of the high efficiency decoder shown there. The code
string data is then forwarded to spectrum decoding circuit 122.
[0234] The spectrum decoding circuit 122 forms spectrum signals out
of the first code string data. Of the spectrum signals formed by
the spectrum decoding circuit 122, the signal with the frequency
band from 10 to 20 kHz is sent to IMDCT circuit 123, while the
signal with the frequency band from 5 to 10 kHz is sent to IMDCT
circuit 124 and the signal with the frequency band from 0 to 5 kHz
is sent to IMDCT circuit 125.
[0235] The IMDCT circuits 123 through 125 perform an IMDCT
processing operation on the respective signals and transform them
into time series signals. The time series signal with the frequency
band from 0 to 5 kHz obtained by the IMDCT circuit 125 and the time
series signal with the frequency band from 5 to 10 kHz obtained by
the IMDCT circuit 124 are then sent to band synthesis filter 127
and synthetically combined to make a time series signal with a
frequency band from 0 to 10 kHz. The time series signal with the
frequency band from 10 to 20 kHz obtained by the IMDCT circuit 123
is then made to pass through a delay circuit 126 showing a delay
time corresponding to the delay time of the band synthesis filter
127. The time series signal with the frequency band from 0 to 10
kHz output from the band synthesis filter 127 and the time series
signal with the frequency band from 10 to 20 kHz coming from the
delay circuit 126 are then sent to band synthesis filter 128.
[0236] The band synthesis filter 128 synthetically combines the two
time series signals with the different frequency bands in a manner
as described above to produce a time series sample data covering
the entire frequency band. The time series sample data covering the
entire frequency band is then produced from output terminal 129 of
the high efficiency decoder of FIG. 14.
[0237] Now, referring to FIG. 15, a time series sample data with a
frequency band from 0 to 20 kHz is supplied to input terminal 131
of the high efficiency encoder as input signal. The input signal is
divided into a signal with a frequency band from 0 to 5 kHz, signal
with a frequency band from 5 to 10 kHz, a signal with a frequency
band from 10 to 15 kHz and a signal with a frequency band from 15
to 20 kHz by sub-band filter 132 which may be a so-called PQF
filter. The PQF filter may be replaced by a two-staged QMF
filter.
[0238] The signal with the frequency band from 15 to 20 kHz and the
signal with the frequency band from 10 to 15 kHz are sent
respectively to MDCT circuits 133 and 134, while the signal with
the frequency band from 5 to 10 kHz and the signal with the
frequency band from 0 to 5 kHz are sent respectively to MDCT
circuits 135 and 136. The signals are subjected to a MDCT
processing operation by the respective MDCT circuits. The spectrum
data obtained as a result of the MDCT processing operations of the
MDCT circuits 133 through 136 are then transformed into a code
string data by an adaptive bit allocation coding circuit 137.
[0239] The code string data output from the adaptive bit allocation
coding circuit 137 is then output from output terminal 138 of the
high efficiency encoder of FIG. 15 as the second code string 2.
[0240] Then, referring to FIG. 16, the second code string 2
produced by the high efficiency encoder of FIG. 15 is supplied to
input terminal 141 of the high efficiency decoder shown there. The
code string data is then forwarded to spectrum decoding circuit
142.
[0241] The spectrum decoding circuit 142 forms spectrum signals by
decoding the code string data input to it. Of the spectrum signals
formed by the spectrum decoding circuit 142, the signal with the
frequency band from 15 to 20 kHz is sent to IMDCT circuit 143 and
the signal with the frequency band from 10 to 15 kHz is sent to
IMDCT circuit 144, while the signal with the frequency band from 5
to 10 kHz is sent to IMDCT circuit 145 and the signal with the
frequency band from 0 to 5 kHz is sent to IMDCT circuit 146.
[0242] The IMDCT circuits 143 through 146 perform an IMDCT
processing operation on the respective signals and transform them
into time series signals. The time series signals with the
respective frequency bands output from the respective IMDCT
circuits 143 through 146 are then input to band synthesis filter
147.
[0243] The band synthesis filter 147 synthetically combines the
time series data supplied to it and produces a time series sample
data covering the entire frequency band.
[0244] The time series sample data covering the entire frequency
band from 0 to 20 kHz is then output from output terminal 148 of
the high efficiency decoder of FIG. 16.
[0245] Now, the code string transform device of FIG. 17 adapted to
transform the first code string into the second code string by
means of a high efficiency encoder and a high efficiency decoder to
which general MDCT and IMDCT are applicable will be described
below.
[0246] Referring to FIG. 17, the first code string 1 is input to
input terminal 151 as code string data and forwarded to spectrum
decoding circuit 152. The spectrum decoding circuit 152 forms
spectrum signals by decoding the first code string data. Of the
spectrum signals formed by the spectrum decoding circuit 152, the
signal with the frequency band from 10 to 20 kHz is sent to IMDCT
circuit 153, while the signal with the frequency band from 5 to 10
kHz is sent to IMDCT circuit 154 and the signal with the frequency
band from 0 to 5 kHz is sent to IMDCT circuit 155.
[0247] The IMDCT circuits 153 through 154 perform an IMDCT
processing operation on the spectrum signals fed to them and
transform them into respective time series signals. The time series
signal with the frequency band from 10 to 20 kHz obtained as a
result of the IMDCT processing operation of the IMDCT circuit 153
is sent to sub-band filter circuit 156, which divides the time
series signal into a signal with a frequency band from 15 to 20 kHz
and a signal with a frequency band from 10 to 15 kHz.
[0248] On the other hand, the time series signal with a frequency
band from 5 to 10 kHz obtained as a result of the IMDCT processing
operation of the IMDCT circuit 154 and the time series signal with
a frequency band from 0 to 5 kHz obtained as a result of the IMDCT
processing operation of the IMDCT circuit 155 are delayed by a time
corresponding to the delay time of the sub-band filter 156 as they
are made to pass respective delay circuits 157, 158.
[0249] Of the obtained time series signals with the four different
frequency bands, the time series signal with the frequency band
from 15 to 20 kHz is sent to MDCT circuit 159 and the time series
signal with the frequency band from 10 to 15 kHz is sent to IMDCT
circuit 160, whereas the time series signal with the frequency band
from 5 to 10 kHz is sent to MDCT circuit 161 and the time series
signal with the frequency band from 0 to 5 kHz is sent to IMDCT
circuit 162. The time series signals are then subjected to an MDCT
processing operation by the respective MDCT circuits. The spectrum
data obtained by the MDCT processing operations of the MDCT
circuits 159 through 162 are then sent to adaptive bit allocation
coding circuit 163.
[0250] The adaptive bit allocation coding circuit 163 transforms
the spectrum data obtained as a result of the MDCT processing
operations of the MDCT circuits 159 through 162 into a code string
data. The code string data output from the adaptive bit allocation
coding circuit 163 is then output from output terminal 164 of the
high efficiency encoder of FIG. 17 as the second code string 2.
[0251] Now, the code string transform device of FIG. 18 adapted to
transform the first code string into the second code string by
means of a high efficiency encoder and a high efficiency decoder to
which MDCT and IMDCT according to the invention are applicable will
be described below.
[0252] Referring to FIG. 18, the first code string 1 is input to
input terminal 171 as code string data and forwarded to spectrum
decoding circuit 172. The spectrum decoding circuit 172 forms
spectrum signals by decoding the first code string data. Of the
spectrum signals formed by the spectrum decoding circuit 172, the
signal with the frequency band from 5 to 10 kHz is sent to IMDCT
circuit 174 and the signal with the frequency band from 0 to 5 kHz
is sent to IMDCT circuit 175.
[0253] Of the signal components with the frequency band from 10 to
20 kHz, if only the one with the frequency band from 10 to 15 kHz
is necessary and hence the signal component with the frequency band
above 15 kHz is unnecessary (or may be disregarded for a fast
transform operation), the signal component with the frequency band
10 to 15 kHz out of the signal components with the frequency band
from 10 to 20 kHz is subjected to a fast transform operation by the
IMDCT circuit 173 adapted to IMDCT processing operations.
[0254] The time series signal with the frequency band from 10 to 15
kHz obtained as a result of the IMDCT processing operation of the
IMDCT circuit 173 is then sent to MDCT circuit 176 and the time
series signal with the frequency band from 5 to 10 kHz obtained as
a result of the IMDCT processing operation of the IMDCT circuit 174
is sent to MDCT circuit 177, while the time series signal with the
frequency band from 0 to 5 kHz obtained as a result of the IMDCT
processing operation of the IMDCT circuit 175 is sent to MDCT
circuit 178. The time series signals are then subjected to an MDCT
processing operation by the respective MDCT circuits 176 through
178 to produce spectrum data, which are then sent to adaptive bit
allocation coding circuit 179.
[0255] The adaptive bit allocation coding circuit 179 transforms
the spectrum data obtained as a result of the MDCT processing
operations of the MDCT circuits 176 through 178 into a code string
data. The code string data output from the adaptive bit allocation
coding circuit 179 is then output from output terminal 180 of the
high efficiency encoder of FIG. 18 as the second code string 2.
[0256] As described above, the arrangement of FIG. 18 according to
the invention can be realized without a sub-band filter and a delay
circuit to simplify the circuit configuration when compared with
that of FIG. 17 because of the provision of the IMDCT circuit 173
for performing IMDCT processing operations according to the
invention. Furthermore, the circuits for performing IMDCT and MDCT
processing operations on signals with the frequency band from 15 to
20 kHz required in the arrangement of FIG. 17 are no longer
necessary for the arrangement of FIG. 18 because no such processing
operations are conducted on signal with the frequency band from 15
to 20 kHz. Generally speaking, when the second code string 2 is one
to be transmitted highly efficiently with a low transfer rate
(bits/second), the signal components of the code string at the low
frequency side need to be provided with a sufficiently large amount
of information and, therefore, there may be cases where some of the
signal components at the high frequency side may have to be cut
away. In such a case, the above arrangement according to the
invention will be particularly effective and advantageous.
[0257] Now, the code string transform device of FIG. 19 adapted to
transform the second code string 2 into the first code string 1 by
means of a high efficiency encoder and a high efficiency decoder to
which general MDCT and IMDCT are applicable will be described
below.
[0258] Referring to FIG. 19, the second code string 2 is input to
input terminal 191 as code string data and forwarded to spectrum
decoding circuit 192. The spectrum decoding circuit 192 forms
spectrum signals by decoding the second code string data. Of the
spectrum signals formed by the spectrum decoding circuit 192, the
signal with the frequency band from 15 to 20 kHz is sent to IMDCT
circuit 193 and the signal with the frequency band from 10 to 15
kHz is sent to IMDCT circuit 194 while the signal with the
frequency band from 5 to 10 kHz is sent to IMDCT circuit 195 and
the signal with the frequency band from 0 to 5 kHz is sent to IMDCT
circuit 196.
[0259] The IMDCT circuits 193 through 195 perform an IMDCT
processing operation on the spectrum signals fed to them and
transform them into respective time series signals. The time series
signal with the frequency band from 15 to 20 kHz obtained as a
result of the IMDCT processing operation of the IMDCT circuit 193
and the time series signal with the frequency band from 10 to 15
kHz obtained as a result of the IMDCT processing operation of the
IMDCT circuit 194 are sent to band synthesis filter circuit 197,
which synthetically combines the time series signals to a signal
with a frequency band from 10 to 20 kHz.
[0260] On the other hand, the time series signal with a frequency
band from 5 to 10 kHz obtained as a result of the IMDCT processing
operation of the IMDCT circuit 195 and the time series signal with
a frequency band from 0 to 5 kHz obtained as a result of the IMDCT
processing operation of the IMDCT circuit 196 are delayed by a time
corresponding to the delay time of the band synthesis filter 197 as
they are made to pass respective delay circuits 198, 199.
[0261] Of the obtained time series signals with the three different
frequency bands, the time series signal with the frequency band
from 10 to 20 kHz is sent to MDCT circuit 200 whereas the time
series signal with the frequency band from 5 to 10 kHz is sent to
MDCT circuit 201 and the time series signal with the frequency band
from 0 to 5 kHz is sent to MDCT circuit 202. The time series
signals are then subjected to an MDCT processing operation by the
respective MDCT circuits. The spectrum data obtained by the MDCT
processing operations of the MDCT circuits 200 through 202 are then
sent to adaptive bit allocation coding circuit 203.
[0262] The adaptive bit allocation coding circuit 203 transforms
the spectrum data obtained as a result of the MDCT processing
operations of the MDCT circuits 201 through 203 into a code string
data. The code string data output from the adaptive bit allocation
coding circuit 203 is then output from output terminal 204 of the
high efficiency encoder of FIG. 19 as the first code string 1.
[0263] Now, the code string transform device of FIG. 20 adapted to
transform the second code string 2 into the first code string 1 by
means of a high efficiency encoder and a high efficiency decoder to
which MDCT and IMDCT according to the invention are applicable will
be described below.
[0264] Referring to FIG. 20, the second code string 2 is input to
input terminal 211 as code string data and forwarded to spectrum
decoding circuit 212. The spectrum decoding circuit 212 forms
spectrum signals by decoding the second code string 2 data. Of the
spectrum signals formed by the spectrum decoding circuit 212, the
signal with the frequency band from 5 to 10 kHz is sent to IMDCT
circuit 214 and the signal with the frequency band from 0 to 5 kHz
is sent to IMDCT circuit 215.
[0265] Of the signal components with the frequency band from 10 to
20 kHz, if only the one with the frequency band from 10 to 15 kHz
is necessary and hence the signal component with the frequency band
above 15 kHz is unnecessary (or may be disregarded for a fast
transform operation), the signal component with the frequency band
10 to 15 kHz out of the signal components with the frequency band
from 10 to 20 kHz is sent to IMDCT circuit 213.
[0266] The time series signal with the frequency band from 10 to 15
kHz obtained as a result of the IMDCT processing operation of the
IMDCT circuit 213 is then sent to MDCT circuit 216 and the time
series signal with the frequency band from 5 to 10 kHz obtained as
a result of the IMDCT processing operation of the IMDCT circuit 214
is sent to MDCT circuit 217, while the time series signal with the
frequency band from 0 to 5 kHz obtained as a result of the IMDCT
processing operation of the IMDCT circuit 215 is sent to MDCT
circuit 218. The time series signals are then subjected to an MDCT
processing operation by the respective MDCT circuits 216 through
218 to produce spectrum data, which are then sent to adaptive bit
allocation coding circuit 219.
[0267] The adaptive bit allocation coding circuit 219 transforms
the spectrum data obtained as a result of the MDCT processing
operations of the MDCT circuits 216 through 218 into a code string
data. The code string data output from the adaptive bit allocation
coding circuit 219 is then output from output terminal 220 of the
high efficiency encoder of FIG. 20 as the first code string 1.
[0268] As described above, the arrangement of FIG. 20 according to
the invention can be realized without a sub-band filter and a delay
circuit to simplify the circuit configuration when compared with
that of FIG. 19 because of the provision of the MDCT circuit 216
for performing MDCT processing operations according to the
invention. Furthermore, the circuits for performing IMDCT and MDCT
processing operations on signals with the frequency band from 15 to
20 kHz required in the arrangement of FIG. 19 are no longer
necessary for the arrangement of FIG. 20 because no such processing
operations are conducted on signal with the frequency band from 15
to 20 kHz. Generally speaking, when the second code string 2 is one
to be transmitted highly efficiently with a low transfer rate
(bits/second), the signal components of the code string at the low
frequency side need to be provided with a sufficiently large amount
of information and, therefore, there may be cases where some of the
signal components at the high frequency side may have to be cut
away. In such a case, the above arrangement according to the
invention will be particularly effective and advantageous.
* * * * *