JP2002287798A - Audio decoding device and audio decoding method - Google Patents
Audio decoding device and audio decoding methodInfo
- Publication number
- JP2002287798A JP2002287798A JP2001085748A JP2001085748A JP2002287798A JP 2002287798 A JP2002287798 A JP 2002287798A JP 2001085748 A JP2001085748 A JP 2001085748A JP 2001085748 A JP2001085748 A JP 2001085748A JP 2002287798 A JP2002287798 A JP 2002287798A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- buffer
- audio decoding
- window function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はオーディオ復号装
置、及びオーディオ復号方法に関し、特にMPEG(M
oving Picture Experts Grou
p)規格に従って圧縮されたオーディオデータについて
復号を行うオーディオ復号装置、及びオーディオ復号方
法に関する。[0001] 1. Field of the Invention [0002] The present invention relates to an audio decoding apparatus and an audio decoding method, and more particularly to an MPEG (MPEG).
oving Picture Experts Grou
p) The present invention relates to an audio decoding device and an audio decoding method for decoding audio data compressed according to a standard.
【0002】[0002]
【従来の技術】一般に、MPEG規格に従って圧縮され
たオーディオデータの復号は、ビットストリーム解析及
び分析、ハフマン復号化、逆量子化、ステレオ復号化、
バタフライ演算、逆MDCT(Inverse Mod
ified DiscreteCosine Tran
sform)処理、窓関数処理、サブバンド合成処理、
等を施すことによって行われる。以上の処理のうち、バ
タフライ演算以降の処理を行うハードウェアの構成につ
いて図面を参照して説明する。図12及び図13は、オ
ーディオ復号装置の主要部分の構成を示すブロック図で
ある。2. Description of the Related Art In general, decoding of audio data compressed according to the MPEG standard includes bit stream analysis and analysis, Huffman decoding, inverse quantization, stereo decoding, and the like.
Butterfly operation, inverse MDCT (Inverse Mod)
ifed DiscreteCosine Tran
sform) processing, window function processing, subband synthesis processing,
And so on. With reference to the drawings, a description will be given, with reference to the drawings, of a hardware configuration that performs the processes after the butterfly operation. 12 and 13 are block diagrams each showing a configuration of a main part of the audio decoding device.
【0003】図12に示されているように、オーディオ
復号装置は、バタフライ演算モジュール13−1と、逆
MDCTモジュール13−2と、窓関数処理モジュール
13−4と、オーバーラップバッファ123と、加算処
理モジュール13−5と、データ並べ替え用のバッファ
124とを含んで構成されている。図13に移り、オー
ディオ復号装置は、並べ替え用のバッファ124に書込
まれているデータについてサブバンド合成処理を行うサ
ブバンド合成モジュール13−3と、このサブバンド合
成処理後のデータを書込むためのサブバンド合成バッフ
ァ125と、サブバンド合成バッファ125に書込まれ
ているデータについて窓かけ処理及び周期加算処理を行
う窓かけ処理周期加算処理モジュール13−6とを含ん
で構成されている。As shown in FIG. 12, an audio decoding device includes a butterfly operation module 13-1, an inverse MDCT module 13-2, a window function processing module 13-4, an overlap buffer 123, an adder It is configured to include a processing module 13-5 and a buffer 124 for rearranging data. Referring to FIG. 13, the audio decoding device writes a sub-band synthesizing module 13-3 that performs a sub-band synthesizing process on data written in the rearrangement buffer 124, and data after the sub-band synthesizing process. And a windowing processing cycle addition module 13-6 for performing windowing processing and cycle addition processing on the data written in the subband synthesis buffer 125.
【0004】図12中のバタフライ演算モジュール13
−1に入力されるデータは、MPEG規格に従って圧縮
されたデータについてビットストリーム解析及び分析、
ハフマン復号化、逆量子化、ステレオ復号化、の各処理
が施されたデータである。本例では、1バンド当たり1
8サンプルのデータが、32バンド分入力される。つま
り、18×32=576サンプルのデータが入力され
る。A butterfly operation module 13 shown in FIG.
-1 is bit stream analysis and analysis of data compressed according to the MPEG standard,
This is data that has been subjected to Huffman decoding, inverse quantization, and stereo decoding. In this example, one per band
Eight samples of data are input for 32 bands. That is, data of 18 × 32 = 576 samples is input.
【0005】バタフライ演算モジュール13−1は、入
力されるデータについて所定のバタフライ演算を施す。
本例では、1バンド当たり18サンプルのデータについ
てバタフライ演算を行い、18サンプルのデータを得
る。このバタフライ演算モジュール13−1によるバタ
フライ演算結果は、逆MDCTモジュール13−2に入
力される。[0005] The butterfly operation module 13-1 performs a predetermined butterfly operation on input data.
In this example, butterfly operation is performed on data of 18 samples per band to obtain data of 18 samples. The result of the butterfly operation performed by the butterfly operation module 13-1 is input to the inverse MDCT module 13-2.
【0006】逆MDCTモジュール13−2において
は、式(1)に従って逆MDCT処理が行われる。[0006] In the inverse MDCT module 13-2, inverse MDCT processing is performed according to equation (1).
【0007】[0007]
【数1】 (Equation 1)
【0008】ただし、式(1)において、0≦i≦n−
1である。本例では、1バンド当たり、18サンプルの
データについて積和演算を行い、36サンプルのデータ
を得る。この逆MDCTモジュール13−2による処理
結果は窓関数処理モジュール13−4によって窓関数処
理される。この窓関数処理は、入力される36サンプル
のデータそれぞれに窓関数を乗算し、36サンプルのデ
ータを得る。In the equation (1), 0 ≦ i ≦ n−
It is one. In this example, a product-sum operation is performed on data of 18 samples per band to obtain data of 36 samples. The processing result by the inverse MDCT module 13-2 is subjected to window function processing by the window function processing module 13-4. This window function process multiplies each of the input 36-sample data by a window function to obtain 36-sample data.
【0009】この窓関数処理モジュール13−4によっ
て窓関数を乗じた現在のデータの後半部分(18サンプ
ル)は、各バンド毎に設けられているオーバーラップバ
ッファ123に書込まれる。オーバーラップバッファ1
23全体では、18×32=576サンプル分のデータ
が書込まれることになる。窓関数処理モジュール13−
4によって窓関数を乗じた現在のデータの前半部分(1
8サンプル)は、加算処理モジュール13−5におい
て、オーバーラップバッファ123から読出された過去
のデータの後半部分(18サンプル)と加算される。前
半部分(18サンプル)と過去のデータの後半部分(1
8サンプル)とを加算するので、18サンプルのデータ
が得られる。この加算処理モジュール13−5による加
算結果は、並べ替え用の並べ替えバッファ124に書込
まれる。The latter half (18 samples) of the current data multiplied by the window function by the window function processing module 13-4 is written to the overlap buffer 123 provided for each band. Overlap buffer 1
For 23 as a whole, data for 18 × 32 = 576 samples will be written. Window function processing module 13-
4, the first half of the current data multiplied by the window function (1
(8 samples) is added to the latter half (18 samples) of the past data read from the overlap buffer 123 in the addition processing module 13-5. The first half (18 samples) and the second half of past data (1
8 samples), so that 18 samples of data are obtained. The result of the addition by the addition processing module 13-5 is written to the rearrangement buffer 124 for rearrangement.
【0010】図13に移り、並べ替え用の並べ替えバッ
ファ124に入力された18×32=576サンプル分
のデータは、32サンプルのデータを時間軸に対して1
8個並べた状態に並べ替えられる。つまり、32×18
=576サンプルのデータとなる。すなわち、逆MDC
Tモジュール13−2の出力信号に含まれる32個のデ
ータブロックそれぞれから時間サンプルが1サンプルず
つ抽出され、抽出された32サンプルのデータ(周波数
領域におけるサンプルデータ)が並べ替えられて、32
個のPCM(Pulse Code Modulati
on)サンプル(時間領域におけるサンプルデータ)を
単位とするデータブロックが生成される。逆MDCTモ
ジュール13−2の出力信号全てに、このような処理を
施すことによって、18個のデータブロックからなる後
述する入力データ列Sが得られる。Referring to FIG. 13, the data of 18 × 32 = 576 samples input to the rearranging buffer 124 for rearranging is obtained by dividing data of 32 samples by 1 with respect to the time axis.
It is rearranged in a state where eight are arranged. That is, 32 × 18
= 576 samples of data. That is, the inverse MDC
One time sample is extracted from each of the 32 data blocks included in the output signal of the T module 13-2, and the data of the extracted 32 samples (sample data in the frequency domain) is rearranged.
PCM (Pulse Code Modulati)
on) A data block is generated in units of samples (sample data in the time domain). By performing such processing on all the output signals of the inverse MDCT module 13-2, an input data string S, which will be described later, including 18 data blocks is obtained.
【0011】並べ替えバッファ124に書込まれている
これらのデータは、サブバンド合成モジュール13−3
によって読出され、サブバンド合成処理が施される。こ
のサブバンド合成モジュール13−3によるサブバンド
処理においては、32サンプルのデータについて積和演
算が行われる。この演算処理は、式(2)に従って行わ
れる。These data written in the rearrangement buffer 124 are stored in the subband synthesis module 13-3.
And a sub-band combining process is performed. In the sub-band processing by the sub-band synthesis module 13-3, a product-sum operation is performed on data of 32 samples. This calculation process is performed according to equation (2).
【0012】[0012]
【数2】 (Equation 2)
【0013】ただし、式(2)において、0≦i≦63
である。ここで、式(2)を行列式で表すと、以下の式
(3)のようになる。However, in equation (2), 0 ≦ i ≦ 63
It is. Here, when Expression (2) is expressed by a determinant, Expression (3) below is obtained.
【0014】[0014]
【数3】 (Equation 3)
【0015】サブバンド合成モジュール13−3は、式
(3)に基づいて、入力データ列Sから32個のデータ
ブロックにより構成される出力データ列V(PCMサン
プルデータ)を算出する。上記の入力データ列Sは、逆
MDCTモジュール13−2の出力信号について、窓関
数処理、オーバーラップ処理、加算処理が施された後、
並べ替えバッファ124によるデータの並べ替え処理を
施されたものである。The subband synthesizing module 13-3 calculates an output data string V (PCM sample data) composed of 32 data blocks from the input data string S based on the equation (3). The input data string S is obtained by subjecting the output signal of the inverse MDCT module 13-2 to window function processing, overlap processing, and addition processing.
The data has been subjected to data rearrangement processing by the rearrangement buffer 124.
【0016】サブバンド合成モジュール13−3による
サブバンド処理結果は、サブバンド合成バッファ125
に書込まれる。このサブバンド合成バッファ125に書
込まれたデータは、64×16=1024サンプルであ
る。このサブバンド合成バッファ125に書込まれたデ
ータは、窓かけ処理周期加算処理モジュール13−6に
よって読出され、窓かけ処理及び周期加算が施される。
この窓かけ処理及び周期加算においては、16サンプル
のデータについて積和演算が行われ、32サンプルのデ
ータを得る。この窓かけ処理周期加算処理モジュール1
3−6による窓かけ処理及び周期加算においては、式
(4)に従って処理が行われる。The result of the sub-band processing by the sub-band synthesis module 13-3 is stored in the
Is written to. The data written in the subband synthesis buffer 125 is 64 × 16 = 1024 samples. The data written in the subband synthesizing buffer 125 is read out by the windowing cycle addition module 13-6 and subjected to windowing processing and cycle addition.
In the windowing process and the period addition, a product-sum operation is performed on data of 16 samples to obtain data of 32 samples. This windowing cycle addition module 1
In the windowing processing and the cycle addition according to 3-6, processing is performed according to equation (4).
【0017】[0017]
【数4】 (Equation 4)
【0018】ただし、式(4)において、i=0,1,
…,31である。以上説明した図12及び図13による
処理をタイミングチャートで示したものが図14及び図
15である。図14は、バタフライ演算、逆MDCT処
理、窓関数処理等を示すタイミングチャートである。同
図に示されているように、16サンプルのデータについ
てバタフライ演算を行う。このバタフライ演算後に逆M
DCT処理による18サンプル単位の積和演算を行う。
パイプライン制御によるオーバーヘッドを考慮せずにバ
タフライ演算、逆MDCT処理、窓関数処理、加算処理
に要するクロック数をおおまかに見積もる。1バンド当
たり18×36=648クロックで処理し、これを32
バンド分であるから648×32=20736クロック
で処理することになる。However, in equation (4), i = 0, 1,
..., 31. FIGS. 14 and 15 show timing charts of the processes shown in FIGS. 12 and 13 described above. FIG. 14 is a timing chart showing butterfly computation, inverse MDCT processing, window function processing, and the like. As shown in the figure, a butterfly operation is performed on data of 16 samples. After this butterfly operation, the inverse M
A product-sum operation in units of 18 samples is performed by DCT processing.
The number of clocks required for butterfly operation, inverse MDCT processing, window function processing, and addition processing is roughly estimated without considering overhead due to pipeline control. Processing is performed at 18 × 36 = 648 clocks per band,
Since it is for a band, processing is performed at 648 × 32 = 20736 clocks.
【0019】この後、窓関数を乗算する窓関数処理と、
データ後半部分についてオーバーラップバッファへの書
込み処理とを行う。最後に、オーバーラップバッファか
らデータを読出し、加算処理を行う。ハードウェアで一
連の処理を時分割制御した場合、バッファ読出し時間及
び加算時間は逆MDCT処理に要する時間より短いた
め、逆MDCT処理に要するクロック数を見積もれば良
い。この一連の処理の中でネックとなる処理は逆MDC
T処理であるため、これに要するクロック数がバタフラ
イ演算、逆MDCT処理、窓関数処理、加算処理に必要
なクロック数となる。Thereafter, a window function process of multiplying the window function,
Write processing to the overlap buffer is performed for the latter half of the data. Finally, data is read from the overlap buffer and an addition process is performed. When a series of processing is time-divisionally controlled by hardware, the buffer read time and the addition time are shorter than the time required for the inverse MDCT processing. Therefore, the number of clocks required for the inverse MDCT processing may be estimated. The processing that becomes a bottleneck in this series of processing is inverse MDC
Since the T processing is performed, the number of clocks required for this is the number of clocks required for the butterfly operation, the inverse MDCT processing, the window function processing, and the addition processing.
【0020】したがって、バタフライ演算から並べ替え
までを1つのハードウェアによって時分割処理する場合
の演算速度は、20736クロック÷576=36クロ
ック/サンプルとなる。また 図15は、サブバンド合
成処理、窓かけ処理及び周期加算処理等を示すタイミン
グチャートである。同図に示されているように、本例で
は32サンプル単位で64回の積和演算を行う。サブバ
ンド合成処理されたデータはサブバンド合成バッファに
書込まれる。Accordingly, the operation speed in the case of performing the time-division processing from butterfly operation to rearrangement by one hardware is 20736 clocks / 576 = 36 clocks / sample. FIG. 15 is a timing chart showing the subband synthesis processing, the windowing processing, the cycle addition processing, and the like. As shown in the figure, in this example, the product-sum operation is performed 64 times in units of 32 samples. The data subjected to the subband synthesis processing is written to the subband synthesis buffer.
【0021】この後に行われる窓かけ処理及び周期加算
においては、サブバンド合成バッファからの読出しが行
われ、積和演算が行われる。以上の処理後のデータをP
CMバッファに書込む。以上の処理に要するクロック
は、32×64=2048クロックである。演算速度
は、2048クロック/32=64クロック/サンプル
である。In the windowing process and the period addition performed thereafter, reading from the subband synthesizing buffer is performed, and a product-sum operation is performed. The data after the above processing is P
Write to CM buffer. The clock required for the above processing is 32 × 64 = 2048 clocks. The calculation speed is 2048 clocks / 32 = 64 clocks / sample.
【0022】[0022]
【発明が解決しようとする課題】上述した従来の装置で
は、メモリ容量が大きくなり、また演算処理時間が長く
なるという欠点がある。本発明は上述した従来技術の欠
点を解決するためになされたものであり、その目的はメ
モリ容量が小さくかつ演算処理時間が短いオーディオ復
号装置、及びオーディオ復号方法を提供することであ
る。The above-mentioned conventional apparatus has the disadvantage that the memory capacity is large and the calculation processing time is long. SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned drawbacks of the related art, and an object of the present invention is to provide an audio decoding device and an audio decoding method which have a small memory capacity and a short arithmetic processing time.
【0023】[0023]
【課題を解決するための手段】本発明によるオーディオ
復号装置は、MPEG圧縮されたデータについてバタフ
ライ演算後、逆MDCT演算を行い、窓関数処理後、サ
ブバンド合成処理することにより、前記データを復号す
るオーディオ復号装置であって、前記逆MDCT演算結
果を保持する第1のバッファを含み、前記第1のバッフ
ァに保持されたデータについて前記窓関数処理を行うこ
とを特徴とする。そして、前記サブバンド合成処理され
たデータを保持する第2のバッファを更に含み、前記第
2のバッファに保持されたデータについて符号補正を行
う補正手段を更に含む。SUMMARY OF THE INVENTION An audio decoding apparatus according to the present invention decodes MPEG-compressed data by performing a butterfly operation, performing an inverse MDCT operation, performing a window function process, and performing a subband synthesis process. An audio decoding apparatus comprising: a first buffer that holds the result of the inverse MDCT operation; and performs the window function process on the data held in the first buffer. The apparatus further includes a second buffer that holds the data that has been subjected to the subband synthesis processing, and further includes a correction unit that performs code correction on the data held in the second buffer.
【0024】本発明によるオーディオ復号方法は、MP
EG圧縮されたデータについてバタフライ演算後、逆M
DCT演算を行い、窓関数処理後、サブバンド合成処理
することにより、前記データを復号するオーディオ復号
方法であって、前記逆MDCT演算結果を第1のバッフ
ァに保持するステップと、前記第1のバッファに保持さ
れたデータについて前記窓関数処理を行うステップとを
含むことを特徴とする。そして、前記サブバンド合成処
理されたデータを第2のバッファに保持するステップを
更に含み、前記第2のバッファに保持されたデータにつ
いて符号補正を行うステップを更に含む。The audio decoding method according to the present invention uses the MP
After butterfly computation on the EG compressed data, the inverse M
An audio decoding method for decoding the data by performing a DCT operation, performing a window function process, and then performing a sub-band combining process, wherein the step of storing the inverse MDCT operation result in a first buffer; Performing the window function process on the data held in the buffer. Then, the method further includes a step of holding the data subjected to the subband synthesis processing in a second buffer, and further includes a step of performing code correction on the data held in the second buffer.
【0025】要するに本発明においては、本装置では対
称性を失う窓関数処理を行う前に一旦オーバーラップバ
ッファに格納し、この格納したデータについて窓関数の
処理を行うので、演算処理の対称性を利用でき、メモリ
容量を小さくでき、かつ、演算時間を短くすることがで
きる。また、以上のようなオーバーラップバッファのメ
モリ容量削減と演算処理の高速化に加え、サブバンド合
成バッファのメモリ容量削減と演算処理の高速化をも実
現できる。In short, in the present invention, the present apparatus temporarily stores the data in the overlap buffer before performing the window function processing that loses the symmetry, and performs the window function processing on the stored data. It can be used, the memory capacity can be reduced, and the calculation time can be shortened. Further, in addition to the reduction of the memory capacity of the overlap buffer and the speeding up of the arithmetic processing as described above, the reduction of the memory capacity of the subband synthesis buffer and the speeding up of the arithmetic processing can be realized.
【0026】[0026]
【発明の実施の形態】次に、図面を参照して本発明の実
施の形態について説明する。なお、以下の説明において
参照する各図では、他の図と同等部分は同一符号によっ
て示されている。図1及び図2は本発明によるオーディ
オ復号装置の実施の一形態における主要部分の構成を示
すブロック図である。Next, an embodiment of the present invention will be described with reference to the drawings. In the drawings referred to in the following description, the same parts as those in the other drawings are denoted by the same reference numerals. FIGS. 1 and 2 are block diagrams showing a configuration of a main part in an embodiment of an audio decoding device according to the present invention.
【0027】図1において、本装置は、バタフライ演算
モジュール13−1と、逆MDCTモジュール13−2
と、オーバーラップバッファ123と、窓関数処理モジ
ュール13−4と、加算処理モジュール13−5と、並
べ替えバッファ124とを含んで構成されている。図2
に移り、本装置は、サブバンド合成モジュール13−3
と、サブバンド合成バッファ125と、符号反転モジュ
ール125aと、窓かけ処理周期加算処理モジュール1
3−6とを含んで構成されている。In FIG. 1, the present apparatus comprises a butterfly operation module 13-1 and an inverse MDCT module 13-2.
, An overlap buffer 123, a window function processing module 13-4, an addition processing module 13-5, and a rearrangement buffer 124. FIG.
The apparatus moves to the sub-band synthesis module 13-3.
, Subband synthesis buffer 125, sign inversion module 125 a, windowing cycle addition module 1
3-6.
【0028】図1及び図2を参照して、本装置の動作に
ついて説明する。入力されるデータについて、バタフラ
イ演算モジュール13−1によってバタフライ演算を実
行する。このバタフライ演算結果について逆MDCTモ
ジュール13−2によって逆MDCT処理を実行する。
逆MDCT処理結果をオーバーラップバッファ123に
書込む。オーバーラップバッファ123から前段のデー
タを読出し、窓関数処理モジュール13−4によって窓
関数をかける。現在の逆MDCT後のデータに窓関数を
かける。窓関数をかけた過去のデータと現在のデータと
を加算処理モジュール13−5によって加算する。この
加算結果を並べ替えバッファ124に書込む。The operation of the present apparatus will be described with reference to FIGS. A butterfly operation is performed on the input data by the butterfly operation module 13-1. The inverse MDCT module 13-2 performs an inverse MDCT process on the butterfly operation result.
The inverse MDCT processing result is written into the overlap buffer 123. The preceding data is read from the overlap buffer 123 and a window function is applied by the window function processing module 13-4. A window function is applied to the data after the current inverse MDCT. The past data subjected to the window function and the current data are added by the addition processing module 13-5. The result of this addition is written into the rearrangement buffer 124.
【0029】並べ替えバッファ124に書込まれたデー
タについて、サブバンド合成モジュール13−3によっ
て、サブバンド合成処理を実行する。このサブバンド合
成フィルタ処理の演算結果をサブバンド合成バッファ1
25に書込む。符号反転モジュール125aによって符
号反転すべきデータについて符号反転し、窓かけ処理周
期加算処理モジュール13−6によって周期加算処理を
実行する。The sub-band synthesizing module 13-3 executes a sub-band synthesizing process on the data written in the rearrangement buffer 124. The calculation result of the sub-band synthesis filter processing is stored in the sub-band synthesis buffer 1
Write 25. The sign inversion module 125a inverts the sign of the data to be inverted, and the windowing processing cycle addition module 13-6 executes the cycle addition processing.
【0030】ここで、本装置における逆MDCT処理に
ついて説明する。逆MDCTモジュール13−2におい
ては、バタフライ演算結果である入力データ列Xに対
し、以下の変換行列PN×N/2との乗算を行う。Here, the inverse MDCT processing in the present apparatus will be described. In the inverse MDCT module 13-2, the input data sequence X, which is the result of the butterfly operation, is multiplied by the following transformation matrix PN × N / 2 .
【0031】[0031]
【数5】 (Equation 5)
【0032】なお、式(5)は、次式の逆MDCT変換
行列PN×N/2をスパース行列分解して導出される。Equation (5) is derived by decomposing the inverse MDCT transform matrix P N × N / 2 of the following equation into a sparse matrix.
【0033】[0033]
【数6】 (Equation 6)
【0034】逆MDCT処理においては、式(6)に基
づいて、入力データ列Xから32個のデータブロックに
より構成される出力データ列xを算出する。また、式
(5)中、IN/4は、N/4×N/4の単位行列、JN/4は、
N/4×N/4の反転行列、CIVは、DCT−IV変換行列、
“0”は零行列を表している。In the inverse MDCT process, an output data string x composed of 32 data blocks is calculated from the input data string X based on equation (6). In equation (5), I N / 4 is a unit matrix of N / 4 × N / 4, and J N / 4 is
N / 4 × N / 4 inversion matrix, C IV is a DCT-IV transformation matrix,
“0” represents a zero matrix.
【0035】図3は、式(5)における行列演算の処理
過程を示す図である。同図に示されているように、式
(5)における右辺の第1行列及び第2行列は、単位行
列、反転行列及び零行列から構成されるため、データの
入れ換えや振り分けを行うのみの行列である。すなわ
ち、式(5)において、DCT−IV変換行列CIVに係る
処理のみが、実際の乗算及び加算を伴う。FIG. 3 is a diagram showing the process of the matrix operation in equation (5). As shown in the figure, since the first and second matrices on the right side in Equation (5) are composed of an identity matrix, an inversion matrix, and a zero matrix, matrices that only perform data exchange and distribution are provided. It is. That is, in Equation (5), only the processing related to the DCT-IV transform matrix C IV involves actual multiplication and addition.
【0036】したがって、式(5)に基づいて逆MDC
T変換処理を行う場合、式(6)に基づいて逆MDCT
変換処理を行う場合に比べて演算回数は1/2となるた
め、36回の積和演算を18回に減らすことができる。
なお、逆MDCTモジュール13−2は、36点逆MD
CTを行うものであり、DCT−IV変換によって得られ
た18個のデータによって構成されるデータブロックか
ら、36個のデータが生成される。このとき、DCT−
IV変換によって得られた18個のデータのうち後半9個
のデータが、折り返されて18個のデータとされ、その
まま前段のデータブロックとの処理に使用される。ま
た、前半9個のデータは、折り返されて18個のデータ
とされ、後段のデータブロックとの処理に使用される。
したがって、後段のデータブロックの処理の際に、前半
9個のデータが折り返されて生成される18個のデータ
は保持されている必要がある。ここで、この18個のデ
ータが記憶される代わりに、DCT−IV変換によって得
られた18個のデータからなるデータブロックのうちの
前半9個のデータがオーバーラップバッファ123に記
憶される。そのため、後段のデータブロックの処理まで
に記憶されるデータ量が半分となり、記憶容量が削減さ
れる。Therefore, based on the equation (5), the inverse MDC
When performing the T-transformation processing, the inverse MDCT is performed based on Equation (6).
Since the number of operations is 1 / compared to the case where the conversion process is performed, 36 product-sum operations can be reduced to 18 times.
The inverse MDCT module 13-2 has a 36-point inverse MD
CT is performed, and 36 data are generated from a data block composed of 18 data obtained by the DCT-IV transform. At this time, DCT-
Of the 18 data obtained by the IV conversion, the latter 9 data are folded back into 18 data, which are used as they are with the preceding data block. The first nine data are folded back into eighteen data, which are used for processing with the subsequent data block.
Therefore, in the processing of the subsequent data block, it is necessary to hold 18 data generated by folding the first 9 data. Here, instead of storing these 18 data, the first nine data of the data block composed of the 18 data obtained by the DCT-IV transform are stored in the overlap buffer 123. Therefore, the amount of data stored until the processing of the subsequent data block is halved, and the storage capacity is reduced.
【0037】以上のように、逆MDCTモジュール13
−2による逆MDCT処理は、対称性を有するコサイン
関数(cos)を含んでいるので、この対称性を利用す
ることにより、36回の積和演算を18回に減らせるこ
とができる。すなわち、入力される0〜17までの18
種類のデータについて本来であれば36回の積和演算を
行わなければならないのに対し、本装置ではDCT−IV
変換行列C18 IVを用いて処理し、その処理結果を利用し
ているので積和演算自体は18回で済む。なお、DCT
−IV変換行列C18 IVによる処理結果はそのまま出力0〜
8になる他、符号が反転された後に出力9〜35とな
る。As described above, the inverse MDCT module 13
Since the inverse MDCT processing by -2 includes a cosine function (cos) having symmetry, by using this symmetry, 36 product-sum operations can be reduced to 18 times. That is, the input 18 from 0 to 17
Originally, 36 sum-of-products operations must be performed for each type of data, whereas the DCT-IV
Since processing is performed using the transformation matrix C 18 IV and the processing result is used, the product-sum operation itself can be performed 18 times. Note that DCT
The processing result by the −IV conversion matrix C 18 IV is output as it is 0 to
In addition to 8, the output is 9 to 35 after the sign is inverted.
【0038】次に、本装置におけるサブバンド合成処理
について説明する。サブバンド合成モジュール13−3
は、逆MDCTモジュール13−2の処理結果につい
て、窓関数処理モジュール13−4による窓関数処理、
加算処理モジュール13−5による加算処理を行い、並
べ替えバッファ124に入力された入力データ列Sに対
し、以下の変換行列P64×32との乗算を行う。Next, the subband synthesizing process in the present apparatus will be described. Subband synthesis module 13-3
Is a window function processing by the window function processing module 13-4 on the processing result of the inverse MDCT module 13-2,
The addition processing is performed by the addition processing module 13-5, and the input data string S input to the rearrangement buffer 124 is multiplied by the following conversion matrix P 64 × 32 .
【0039】[0039]
【数7】 (Equation 7)
【0040】なお、式(7)は、式(3)の変換行列P
64×32をスパース行列分解して導出される。また、式
(7)中、I16は、16×16の単位行列、J31は、3
1×31の反転行列、CIIは、DCT−II変換行列、
“0”は零行列を表している。図4は、式(7)におけ
る行列演算の処理過程を示す図である。図4に示されて
いるように、式(7)における右辺の第1行列は、単位
行列、反転行列及び零行列から構成されるため、データ
の入れ換えや振り分けを行うのみである。すなわち、式
(7)において、DCT−II変換行列CIIに係る処理の
みが、実際の乗算及び加算を伴う。Equation (7) is obtained by converting the transformation matrix P of equation (3).
It is derived by sparse matrix decomposition of 64 × 32 . In equation (7), I 16 is a 16 × 16 unit matrix, and J 31 is 3
1 × 31 inversion matrix, C II is a DCT-II transformation matrix,
“0” represents a zero matrix. FIG. 4 is a diagram showing a process of the matrix operation in equation (7). As shown in FIG. 4, the first matrix on the right side in Expression (7) is composed of a unit matrix, an inversion matrix, and a zero matrix, and therefore, only performs data exchange and distribution. That is, in equation (7), only the processing related to the DCT-II transform matrix C II involves actual multiplication and addition.
【0041】したがって、式(7)に基づいてサブバン
ド合成処理を行うため64回の積和演算を32回に減ら
すことができ、式(2)に基づいてサブバンド合成処理
を行う従来の方法に比べて演算回数は1/2となる。符
号反転モジュール125aにおいては、サブバンド合成
バッファ125に書込まれているデータについて、符号
の反転処理を行う。この符号反転処理後のデータについ
て、窓かけ処理周期加算処理モジュール13−6は窓か
け処理及び周期加算処理を実行する。Therefore, since the sub-band synthesis processing is performed based on the equation (7), the product-sum operation of 64 times can be reduced to 32 times, and the conventional method of performing the sub-band synthesis processing based on the equation (2) The number of operations is 1 / compared to. The sign inversion module 125a performs sign inversion processing on the data written in the subband synthesis buffer 125. With respect to the data after the sign inversion processing, the windowing processing cycle addition processing module 13-6 executes the windowing processing and the cycle addition processing.
【0042】サブバンド合成モジュール13−3による
サブバンド合成フィルタ処理は、対称性を有するコサイ
ン関数(cos)を含んでいるので、この対称性を利用
することにより、64回の積和演算を32回に減らすこ
とができる。したがって、従来装置では並べ替えバッフ
ァに至るまでの前半の処理の中でボトルネックになって
いた逆MDCT処理を2倍に高速化できるので、本装置
においては、並べ替えバッファに至るまでの前半の処理
性能を従来装置の2倍にすることができる。また、オー
バーラップバッファの容量を1/2にすることができ
る。そして、並べ替えバッファに一旦保持されたデータ
について行うサブバンド合成処理においては、64回の
積和演算を32回に減らすことができるので、積和演算
の回数を1/2に減らすことができる。このため、サブ
バンド合成処理の性能を向上でき、さらにその処理結果
を保持するためのサブバンド合成バッファの容量を1/
2にすることができる。Since the sub-band synthesis filter processing by the sub-band synthesis module 13-3 includes a cosine function (cos) having symmetry, 64 times of multiply-accumulate operations are performed by utilizing this symmetry. Can be reduced to times. Therefore, the inverse MDCT processing, which has been a bottleneck in the first half of the processing up to the rearrangement buffer in the conventional apparatus, can be doubled in speed. The processing performance can be doubled as compared with the conventional apparatus. Further, the capacity of the overlap buffer can be reduced to half. Then, in the sub-band combining process performed on the data once held in the rearrangement buffer, 64 product-sum operations can be reduced to 32 times, so that the number of product-sum operations can be reduced to 2. . For this reason, the performance of the subband synthesizing process can be improved, and the capacity of the subband synthesizing buffer for holding the processing result can be reduced by 1 /
Can be 2.
【0043】ここで、処理性能の向上について図5を参
照して説明する。同図に示されているように、従来装置
において、64サンプル中の32サンプルについてサブ
バンド合成処理を行った後、残りの32サンプルについ
てサブバンド合成処理を行う場合、前者の32サンプル
についての処理結果について窓かけ処理、周期加算処理
し、後者の32サンプルについての処理結果をサブバン
ド合成バッファに格納する。以上の処理時間を「10
0」とする。Here, the improvement of the processing performance will be described with reference to FIG. As shown in the figure, in the conventional apparatus, after performing subband synthesis processing on 32 samples out of 64 samples, and then performing subband synthesis processing on the remaining 32 samples, processing of the former 32 samples is performed. The result is subjected to windowing processing and periodic addition processing, and the processing result for the latter 32 samples is stored in the subband synthesis buffer. The above processing time is set to "10
0 ".
【0044】これに対し本装置においては、16サンプ
ルについてのサブバンド合成処理と一部並行して16サ
ンプルの結果について窓かけ処理及び周期加算すること
になる。そして、これらの処理後に残りの16サンプル
についてのサブバンド合成処理が行われる。以上の処理
時間は25+12.5+25=62.5となる。したが
って、従来装置よりも約40%処理性能が向上すること
になる。さらに、サブバンド合成バッファの容量を1/
2にすることができる。On the other hand, in the present apparatus, windowing processing and periodic addition are performed on the result of 16 samples in parallel with the subband synthesis processing of 16 samples. Then, after these processes, the sub-band combining process is performed on the remaining 16 samples. The above processing time is 25 + 12.5 + 25 = 62.5. Therefore, the processing performance is improved by about 40% compared with the conventional apparatus. Furthermore, the capacity of the subband synthesis buffer is reduced by 1 /
Can be 2.
【0045】よって、オーディオ復号処理の中で、演算
負荷の最も重い処理を高速に行うことができ、性能の低
いCPUでも実時間処理(リアルタイム処理)が可能に
なる。ステレオの場合のメモリ容量は以下の通りであ
る。オーバーラップバッファの容量は従来装置では57
6×2(sample)であったのに対し、本発明では
288×2(sample)である。また、サブバンド
合成バッファの容量は従来例では1024×2(sam
ple)であったのに対し、本装置では512×2(s
ample)である。なお、モノラルの場合は、ステレ
オの場合の1/2のメモリ容量である。なお、有効デー
タ幅を24ビットにしたときのバッファの容量をバイト
単位で表す場合、以上の値を3倍すれば良い。Therefore, in the audio decoding processing, the processing with the heaviest computational load can be performed at high speed, and real-time processing (real-time processing) can be performed even with a low-performance CPU. The memory capacity in the case of stereo is as follows. The capacity of the overlap buffer is 57
In contrast to 6 × 2 (sample), in the present invention, it is 288 × 2 (sample). The capacity of the subband synthesis buffer is 1024 × 2 (sam
ple), whereas in this apparatus, 512 × 2 (s
sample). In the case of monaural, the memory capacity is 1/2 that of the case of stereo. When the buffer capacity when the effective data width is set to 24 bits is expressed in bytes, the above value may be tripled.
【0046】以上説明した図1及び図2による処理をタ
イミングチャートで示したものが図6及び図7である。
図6は、バタフライ演算、逆MDCT処理、窓関数処理
等を示すタイミングチャートである。同図に示されてい
るように、16サンプルのデータについてバタフライ演
算を行う。このバタフライ演算後に逆MDCT処理によ
る18サンプル単位の積和演算を行う。回路のパイプラ
イン制御によるオーバーヘッドを考慮せずに逆MDCT
処理に要するクロック数をおおまかに見積もる。1バン
ド当たり18×18=324クロックで処理し、これを
32バンド分であるから324×32=10368クロ
ックで処理することになる。FIGS. 6 and 7 show timing charts of the processing shown in FIGS. 1 and 2 described above.
FIG. 6 is a timing chart showing butterfly computation, inverse MDCT processing, window function processing, and the like. As shown in the figure, a butterfly operation is performed on data of 16 samples. After this butterfly operation, a product-sum operation in units of 18 samples is performed by inverse MDCT processing. Inverse MDCT without considering overhead due to circuit pipeline control
Roughly estimate the number of clocks required for processing. Processing is performed at 18 × 18 = 324 clocks per band, and the processing for 32 bands is performed at 324 × 32 = 10368 clocks.
【0047】この後、データ前半部分についてオーバー
ラップバッファへの書込み読出し処理と、窓関数を乗算
する窓関数処理とを行う。この場合、従来装置とは異な
り、窓関数処理の前にオーバーラップバッファへの書込
み読出し処理を行う。このため、窓関数処理の際、デー
タ後半部分について窓関数を乗じると共に、そのデータ
前半部分をオーバーラップバッファに書込む。それと同
時に、前段の前半部分をオーバーラップバッファから読
出し、それに窓関数を乗じる。そして、窓関数の処理結
果について、加算処理を行う。Thereafter, the first half of the data is subjected to a write / read process to the overlap buffer and a window function process of multiplying by a window function. In this case, unlike the conventional device, the writing / reading process to the overlap buffer is performed before the window function process. Therefore, in the window function processing, the latter half of the data is multiplied by the window function, and the first half of the data is written in the overlap buffer. At the same time, the first half of the previous stage is read from the overlap buffer and multiplied by the window function. Then, an addition process is performed on the processing result of the window function.
【0048】また 図7は、サブバンド合成処理、窓か
け処理及び周期加算を示すタイミングチャートである。
同図に示されているように、本例ではサブバンド合成処
理、サブバンド合成バッファからのリード処理、符号反
転処理、窓かけ処理、周期加算処理、PCMバッファへ
の書込み処理が順に行われる。ここで、従来技術におい
ては、窓関数処理を行った後、オーバーラップバッファ
にデータを保持していた。これに対して本装置では、先
にオーバーラップバッファにデータを保持しておき、こ
の保持されているデータについて窓関数処理を行う。こ
うすることにより、バッファ内に保持しておいたデータ
を読出し、この読出したデータを用いて窓関数処理を行
うことができる。現在処理対象のデータの後半部分に対
し、前段の処理対象のデータの前半部分を足し合わせ
る。これにより、演算処理の対称性を利用できるように
なる。FIG. 7 is a timing chart showing the sub-band synthesizing process, the windowing process, and the cycle addition.
As shown in the figure, in this example, a sub-band synthesizing process, a read process from a sub-band synthesizing buffer, a sign inversion process, a windowing process, a period adding process, and a writing process to a PCM buffer are sequentially performed. Here, in the related art, after performing the window function processing, the data is held in the overlap buffer. On the other hand, in the present apparatus, data is first stored in the overlap buffer, and window function processing is performed on the stored data. By doing so, the data held in the buffer can be read, and the window function processing can be performed using the read data. The former half of the data to be processed in the preceding stage is added to the latter half of the data to be currently processed. Thereby, the symmetry of the arithmetic processing can be used.
【0049】従来装置の復号処理においては、サブバン
ド合成処理における積和演算数が多いので、サブバンド
合成処理結果を保持するサブバンド合成バッファの容量
が大きくなる。これに対し、本装置ではサブバンド合成
処理の対称性を利用しているので、サブバンド合成処理
における積和演算数が少なく、サブバンド合成バッファ
の容量を小さくでき、かつ、演算時間を短くすることが
できる。なお、ここでいう対称性とは、コサイン関数の
対称性のことであり、このことは特開平8−27975
9号公報にも言及されている。In the decoding processing of the conventional apparatus, since the number of product-sum operations in the subband synthesizing processing is large, the capacity of the subband synthesizing buffer for holding the result of the subband synthesizing processing becomes large. On the other hand, since the present apparatus utilizes the symmetry of the sub-band synthesis processing, the number of product-sum operations in the sub-band synthesis processing is small, the capacity of the sub-band synthesis buffer can be reduced, and the calculation time can be shortened. be able to. Here, the symmetry means the symmetry of the cosine function, which is described in Japanese Patent Application Laid-Open No. 8-27975.
No. 9 is also mentioned.
【0050】ところで、以上説明したオーディオ復号装
置においては、以下のようなオーディオ復号方法が実現
されていることになる。すなわち、MPEG圧縮された
データについてバタフライ演算後、逆MDCT演算を行
い、窓関数処理後、サブバンド合成処理することによ
り、上記データを復号するオーディオ復号方法であり、
上記逆MDCT演算結果を第1のバッファに保持するス
テップと、上記第1のバッファに保持されたデータにつ
いて上記窓関数処理を行うステップとを含み、前記サブ
バンド合成処理における積和演算回数を減少させたオー
ディオ復号方法が本装置によって実現されていることに
なる。そして、上記サブバンド合成処理されたデータを
第2のバッファ保持するステップを更に含んでも良く、
上記第2のバッファに保持されたデータについて符号補
正を行うステップを更に含んでも良い。このような復号
方法を採用することによって、メモリ容量を小さくする
ことができ、かつ、処理時間を短くすることができる。By the way, in the audio decoding apparatus described above, the following audio decoding method is realized. That is, an audio decoding method for decoding the data by performing an inverse MDCT operation on the MPEG-compressed data after performing a butterfly operation, performing a window function process, and then performing a subband synthesis process.
Holding the inverse MDCT operation result in a first buffer; and performing the window function process on the data held in the first buffer, reducing the number of product-sum operations in the subband synthesis process. This means that the audio decoding method is realized by the present apparatus. The method may further include a step of holding the data subjected to the subband synthesis processing in a second buffer.
The method may further include the step of performing code correction on the data held in the second buffer. By adopting such a decoding method, the memory capacity can be reduced and the processing time can be shortened.
【0051】[0051]
【実施例】次に、より具体的な装置に対する本発明に適
用例について説明する。図8には、本実施例によるオー
ディオ復号装置の概略構成が示されている。同図を参照
すると、本装置は、CPUコア内蔵LSI1と、その外
部に設けられた外部メモリ2とを含んで構成されてい
る。これらCPUコア内蔵LSI1と外部メモリ2と
は、バス3によって接続されており、このバス3を介し
て相互にデータを授受できるようになっている。Next, an example of application of the present invention to a more specific apparatus will be described. FIG. 8 shows a schematic configuration of the audio decoding device according to the present embodiment. Referring to FIG. 1, the present device includes an LSI 1 with a built-in CPU core and an external memory 2 provided outside the LSI. The LSI 1 with a built-in CPU core and the external memory 2 are connected by a bus 3 so that data can be mutually exchanged via the bus 3.
【0052】CPUコア内蔵LSI1の内部には、CP
U11と、内蔵メモリ12と、専用ハードウェア13と
が設けられている。CPU11は、予め与えられたプロ
グラム(ソフトウェア)に従って後述する処理を行う。
内蔵メモリ12には、以下のバッファ機能が割当てられ
る。すなわち内蔵メモリ12は、図9に示されているよ
うに、ソフトウェアが使用する入力バッファ121、ソ
フトウェアが書込んでハードウェアが読出すことにより
ソフトウェアとハードウェアとのインタフェース(In
terface;以下、「IF」と略す)をなすSW/
HW IFバッファ122、オーバーラップバッファ1
23、逆MDCTモジュールとサブバンド合成モジュー
ルとの間でデータを並べ替えるための並べ替えバッファ
124、サブバンド合成処理に用いるサブバンド合成バ
ッファ125、及び出力バッファ126としての機能を
有している。In the LSI 1 with a built-in CPU core, a CP
U11, built-in memory 12, and dedicated hardware 13 are provided. The CPU 11 performs processing to be described later according to a program (software) given in advance.
The following buffer functions are assigned to the built-in memory 12. That is, as shown in FIG. 9, the built-in memory 12 includes an input buffer 121 used by software, an interface (In) between software and hardware by writing software and reading hardware.
terface; hereinafter abbreviated as "IF")
HW IF buffer 122, overlap buffer 1
23, a function as a rearrangement buffer 124 for rearranging data between the inverse MDCT module and the subband synthesis module, a subband synthesis buffer 125 used for subband synthesis processing, and an output buffer 126.
【0053】図8中の専用ハードウェア13には、規則
的な処理が割当てられる。この専用ハードウェアによっ
て逆MDCT演算処理やサブバンド合成処理等、後述す
る処理を行う。このため、専用ハードウェア13は、図
9に示されているように、バタフライ演算モジュール1
3−1、逆MDCTモジュール13−2、サブバンド合
成モジュール13−3、窓関数処理モジュール13−
4、加算処理モジュール13−5及び窓かけ処理周期加
算処理モジュール13−6を有している。Regular processing is assigned to the dedicated hardware 13 in FIG. The dedicated hardware performs a process to be described later such as an inverse MDCT operation process and a subband synthesis process. For this reason, the dedicated hardware 13 is, as shown in FIG.
3-1, Inverse MDCT module 13-2, Subband synthesis module 13-3, Window function processing module 13-
4, an addition processing module 13-5 and a windowing processing cycle addition processing module 13-6.
【0054】逆MDCTモジュール13−2は、内蔵メ
モリ12によって実現されるオーバーラップバッファ1
23に、逆MDCT演算処理結果を順次書込む。また、
サブバンド合成モジュール13−3は、内蔵メモリ12
によって実現されるサブバンド合成バッファ125に、
サブバンド合成処理結果を順次書込む。内蔵メモリ12
によって実現される並べ替えバッファ124は、逆MD
CTモジュール13−2とサブバンド合成モジュール1
3−3との間でデータを並べ替えるためのバッファであ
る。The inverse MDCT module 13-2 has the overlap buffer 1 realized by the built-in memory 12.
23, the result of the inverse MDCT operation is sequentially written. Also,
The sub-band synthesizing module 13-3 includes the built-in memory 12
In the sub-band synthesis buffer 125 realized by
The results of the subband synthesis processing are sequentially written. Built-in memory 12
The reordering buffer 124 realized by
CT module 13-2 and subband synthesis module 1
This is a buffer for rearranging the data between 3-3.
【0055】なお、サブバンド合成処理とは、複数周波
数帯域に分割されている帯域毎の信号を合成する処理で
ある。図8に戻り、同図中のCPU11によって実行さ
れるソフトウェア(プログラム)には以下の機能が必要
である。すなわち、順次入力されるデータについて処理
単位毎に外部メモリから入力バッファへ転送する機能、
ビットストリーム解析及び分析機能、ハフマン復号化機
能、逆量子化機能、ステレオ符号化機能が必要である。
更に、専用ハードウェア13によって処理されたデータ
について、出力バッファから外部メモリへ転送する機能
が必要である。The sub-band combining process is a process of combining signals for each of the plurality of frequency bands. Referring back to FIG. 8, software (program) executed by the CPU 11 in FIG. 8 needs the following functions. That is, a function of transferring sequentially input data from the external memory to the input buffer for each processing unit,
A bit stream analysis and analysis function, a Huffman decoding function, an inverse quantization function, and a stereo coding function are required.
Further, a function of transferring data processed by the dedicated hardware 13 from an output buffer to an external memory is required.
【0056】ここで、同図中の符号で示されている処
理は、以下の処理である。すなわち、外部メモリ2に書
込まれている、復号化処理対象のビットストリームを、
外部メモリ2からCPUコア内蔵LSI1内の入力バッ
ファへ転送する。そして、この転送したビットストリー
ムについての解析及び分析処理を行う。また、ハフマン
復号化、逆量子化、ステレオ復号化を順に行う。以上の
処理結果は、内蔵メモリ12に書込まれる。この内蔵メ
モリ12の内容を専用ハードウェア13が読出すことに
より、処理途中の中間データを専用ハードウェア13に
転送することができる。つまり、内蔵メモリ12はソフ
トウェアとハードウェアとの間のデータの受渡しにも利
用されていることになる。Here, the processing indicated by reference numerals in the figure is the following processing. That is, the bit stream to be decrypted, which is written in the external memory 2, is
The data is transferred from the external memory 2 to the input buffer in the CPU core built-in LSI 1. Then, analysis and analysis processing are performed on the transferred bit stream. Further, Huffman decoding, inverse quantization, and stereo decoding are sequentially performed. The above processing result is written into the built-in memory 12. By reading the contents of the internal memory 12 by the dedicated hardware 13, intermediate data being processed can be transferred to the dedicated hardware 13. That is, the built-in memory 12 is also used for transferring data between software and hardware.
【0057】同図中の符号で示されている処理は、以
下の処理である。すなわち、デコードした結果であるP
CMデータをCPUコア内蔵LSIの内蔵メモリから外
部メモリに転送する。図10は、図8中の外部メモリ2
と内蔵メモリ12との間のデータの受渡し、及び本装置
におけるソフトウェアとハードウェアとの役割分担を示
す概念図である。同図中の「SW」はソフトウェアを示
し、「HW」はハードウェアを示している。同図におい
て、外部メモリ2にはMPEG規格に従って圧縮された
オーディオデータが書込まれている。この外部メモリ2
に書込まれているデータが本装置による処理の対象とな
る。The processing indicated by reference numerals in the figure is the following processing. That is, the decoded result P
The CM data is transferred from the built-in memory of the CPU core built-in LSI to the external memory. FIG. 10 shows the external memory 2 in FIG.
FIG. 2 is a conceptual diagram showing data transfer between a device and a built-in memory 12 and role sharing between software and hardware in the apparatus. In the figure, “SW” indicates software, and “HW” indicates hardware. In FIG. 1, audio data compressed according to the MPEG standard is written in an external memory 2. This external memory 2
The data written in the device becomes a target of processing by the present apparatus.
【0058】この外部メモリ2に書込まれているデータ
はソフトウェアによって読出され、内蔵メモリ12によ
って実現される入力バッファ121に書込まれる。この
入力バッファ121に書込まれたデータについては、C
PUがプログラム(ソフトウェア)を実行することによ
って、以下の処理が行われる。すなわち、ソフトウェア
が入力バッファ121内のデータを読出し、ビットスト
リーム解析及び分析、ハフマン復号化、逆量子化、ステ
レオ復号化、の各処理を実行する。そして、このソフト
ウェア処理結果のデータをハードウェアに転送する。The data written in external memory 2 is read out by software and written into input buffer 121 realized by internal memory 12. For the data written in the input buffer 121, C
The following processing is performed by the PU executing the program (software). That is, the software reads the data in the input buffer 121 and executes each process of bit stream analysis and analysis, Huffman decoding, inverse quantization, and stereo decoding. Then, the software processing result data is transferred to the hardware.
【0059】ソフトウェア処理結果のデータをハードウ
ェアに転送する場合、ソフトウェアとハードウェアとの
間のインタフェースをなすSW/HW IFバッファ1
22を介して行われる。すなわち、このSW/HW I
Fバッファ122に書込まれたデータがハードウェアに
よって読出され、その読出されたデータについてバタフ
ライ演算、逆MDCT処理が行われ、これらの処理結果
のデータがオーバーラップバッファ123に書込まれ
る。When transferring the data resulting from the software processing to the hardware, the SW / HW IF buffer 1 serving as an interface between the software and the hardware
22. That is, this SW / HW I
The data written in the F buffer 122 is read out by hardware, the butterfly operation and the inverse MDCT process are performed on the read out data, and the data resulting from these processes is written in the overlap buffer 123.
【0060】逆MDCT処理においてはブロック単位で
処理が行われるので、ブロックの不連続によって歪み
(ブロック歪み)が生じる。この歪みを軽減するため
に、窓関数をかけた後、連続するブロックの一方の後半
部分と他方の前半部分とを足し合わせる処理が行われ
る。この窓関数処理の後、オーバーラップバッファ12
3に書込まれたデータについて並べ替え処理がなされ、
並べ替えられたデータが並べ替えバッファ124に書込
まれる。In the inverse MDCT processing, since processing is performed in block units, distortion (block distortion) occurs due to discontinuity of blocks. In order to reduce this distortion, after applying a window function, a process of adding one second half of the continuous block and the first half of the other block is performed. After this window function processing, the overlap buffer 12
The data written in 3 is rearranged,
The rearranged data is written to the rearrangement buffer 124.
【0061】この並べ替えバッファ124に書込まれた
データについて更にサブバンド合成処理が行われ、サブ
バンド合成処理結果がサブバンド合成バッファ125に
書込まれる。このサブバンド合成バッファ125に書込
まれたデータは読出され、窓かけ処理、周期加算処理実
行後、出力バッファ126に書込まれる。出力バッファ
126に書込まれたデータは、ソフトウェアによって読
出され、外部メモリ2に書込まれる。The data written in the rearrangement buffer 124 is further subjected to subband synthesis processing, and the result of the subband synthesis processing is written to the subband synthesis buffer 125. The data written in the subband synthesizing buffer 125 is read out, written into the output buffer 126 after performing windowing processing and period addition processing. The data written to output buffer 126 is read by software and written to external memory 2.
【0062】以上の動作について、更に図11を参照し
て説明する。同図は本装置におけるハードウェア及びソ
フトウェアの処理を示すタイミングチャートである。同
図において、ソフトウェアは上述したの処理を行う。
このの処理においては、外部メモリのデータが断続的
に入力バッファに書込まれ、処理後のデータが次々にS
W/HW IFバッファに書込まれる。この書込み後
に、ハードウェアが起動される。すると、ハードウェア
は、SW/HW IFバッファに書込まれているデータ
を読出し、この読出したデータについてバタフライ演
算、逆MDCT処理、窓関数処理、及び加算処理からな
る前半の処理と、サブバンド合成処理、窓かけ処理、及
び周期加算処理からなる後半の処理とを順に行う。The above operation will be further described with reference to FIG. FIG. 2 is a timing chart showing processing of hardware and software in the present apparatus. In the figure, software performs the above-described processing.
In this process, the data in the external memory is intermittently written to the input buffer, and the data after the process
Written to W / HW IF buffer. After this writing, the hardware is started. Then, the hardware reads the data written in the SW / HW IF buffer, processes the first half of the read data by a butterfly operation, an inverse MDCT process, a window function process, and an addition process; The processing, the windowing processing, and the latter half of processing including the cycle addition processing are sequentially performed.
【0063】ハードウェアの処理が終了すると、その処
理後のデータが再びソフトウェア側に渡される。この場
合、サブバンド合成処理後のデータが出力バッファに書
込まれ、この出力バッファの内容をソフトウェア側が読
出すことによって、データの受渡しが行われる。ソフト
ウェアは、出力バッファから読出したデータをさらに外
部メモリ2に書込む。この外部メモリ2への書込みは、
バス3を介して行われる。When the hardware processing is completed, the processed data is transferred to the software again. In this case, the data after the subband synthesizing process is written to the output buffer, and the contents of the output buffer are read out by the software side, whereby the data is transferred. The software further writes the data read from the output buffer into the external memory 2. This writing to the external memory 2
This is performed via the bus 3.
【0064】ところで、専用ハードウェア13が上述し
たサブバンド合成処理を行っている間に、ソフトウェア
側は次のフレームについて上述したの処理を行う。ま
た、専用ハードウェア13が上述した逆MDCT処理を
行っている間に、ソフトウェアは復号処理が完了した前
のフレームついて上述したの処理を行う。このよう
に、専用ハードウェア13とソフトウェアとが協調して
処理を行うことにより、全体の処理時間を短くすること
ができる。そして、この協調して処理を行う場合には、
以下の条件が成立する必要がある。すなわち、 条件(A):上記のの処理の実行時間>後半の処理の
演算時間 条件(B):上記のの処理の実行時間>前半の処理の
演算時間 が成立している必要がある。ここで、前半の処理51
は、バタフライ演算、逆MDCT処理、窓関数処理、及
び加算処理によって構成されている。また、後半の処理
52は、サブバンド合成処理、窓かけ処理、及び周期加
算処理によって構成されている。上記の条件(A)及び
(B)が成立するように構成すれば、ハードウェアの制
御が容易になる。By the way, while the dedicated hardware 13 is performing the above-described subband synthesizing process, the software side performs the above-described process for the next frame. Further, while the dedicated hardware 13 performs the above-described inverse MDCT processing, the software performs the above-described processing on the frame before the decoding processing is completed. As described above, the dedicated hardware 13 and the software cooperate with each other to perform processing, thereby shortening the entire processing time. And when performing this cooperative processing,
The following conditions must be satisfied. That is, condition (A): execution time of the above process> calculation time of the latter half process Condition (B): execution time of the above process> calculation time of the first half process needs to be satisfied. Here, the first half processing 51
Is configured by butterfly computation, inverse MDCT processing, window function processing, and addition processing. The latter half of the process 52 is composed of a sub-band combining process, a windowing process, and a period adding process. If the configuration is such that the above conditions (A) and (B) are satisfied, hardware control becomes easy.
【0065】本装置においては、上述したように演算処
理時間を短くすることができるので、上記の条件(A)
及び(B)を容易に充足することができ、不規則な処理
をソフトウェアに割当て、規則的な処理をハードウェア
に割当て、しかも最初にソフトウェア処理、次にハード
ウェア処理というように、ソフトウェアとハードウェア
の処理が入り組むこともなく、全体の制御を容易にする
ことができる。In the present apparatus, the calculation processing time can be shortened as described above.
And (B) can be easily satisfied, and irregular processing can be assigned to software, regular processing can be assigned to hardware, and software and hardware processing can be performed first, and then software processing. The overall control can be facilitated without complicated processing of the wear.
【0066】[0066]
【発明の効果】以上説明したように本発明は、MPEG
圧縮されたデータについてバタフライ演算後、逆MDC
T演算を行い、窓関数処理後、サブバンド合成処理する
ことにより、データを復号する場合に、逆MDCT演算
結果を保持する第1のバッファを含み、前記第1のバッ
ファに保持されたデータについて窓関数処理を行うこと
により、従来装置とは処理順序を異なるものとし、演算
処理の対象性を利用して、メモリ容量を小さくすること
ができ、かつ、処理時間を短くすることができるという
効果がある。As described above, the present invention provides an MPEG
Inverse MDC after butterfly operation on compressed data
When decoding data by performing a T operation, performing a window function process, and then performing a sub-band combining process, a first buffer that holds the result of the inverse MDCT operation is included, and the data held in the first buffer By performing the window function processing, the processing order is different from that of the conventional device, and the memory capacity can be reduced and the processing time can be shortened by utilizing the symmetry of the arithmetic processing. There is.
【0067】また、不規則な処理をソフトウェアに割当
て、規則的な処理をハードウェアに割当て、しかも最初
にソフトウェア処理、次にハードウェア処理というよう
にソフトウェアとハードウェアの処理が入り組むことも
ないため、全体の制御を容易にすることができる。そし
て、ソフトウェアとハードウェアを並列に実行できるた
め、安価な(性能の低い)CPUと小規模な回路でリア
ルタイム処理が実現できる。さらに、オーディオ復号処
理の中で、演算負荷のもっとも重い処理を高速にできる
という効果がある。性能の低いCPUでも実時間処理
(リアルタイム処理)が可能になるという効果もある。Further, irregular processing is assigned to software, regular processing is assigned to hardware, and software processing and hardware processing are not complicated, such as first software processing and then hardware processing. Therefore, overall control can be facilitated. Since software and hardware can be executed in parallel, real-time processing can be realized with an inexpensive (low-performance) CPU and a small-scale circuit. Further, there is an effect that the processing with the heaviest calculation load in the audio decoding processing can be performed at high speed. There is also an effect that real-time processing (real-time processing) becomes possible even with a low-performance CPU.
【図1】本発明によるオーディオ復号装置の実施の一形
態における主要部分の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a main part in an embodiment of an audio decoding device according to the present invention.
【図2】本発明によるオーディオ復号装置の実施の一形
態における主要部分の構成を示すブロック図であり、図
1の続き部分の構成を示す図である。FIG. 2 is a block diagram showing a configuration of a main part in one embodiment of the audio decoding device according to the present invention, and is a diagram showing a configuration of a continuation part of FIG. 1;
【図3】式(5)における行列演算の処理過程を示す図
である。FIG. 3 is a diagram illustrating a process of a matrix operation in equation (5).
【図4】式(7)における行列演算の処理過程を示す図
である。FIG. 4 is a diagram showing a process of a matrix operation in equation (7).
【図5】従来技術に対する本発明の性能向上率を説明す
るための図である。FIG. 5 is a diagram for explaining a performance improvement rate of the present invention over a conventional technique.
【図6】本発明のオーディオ復号装置におけるバタフラ
イ演算、逆MDCT処理、窓関数処理等を示すタイミン
グチャートである。FIG. 6 is a timing chart showing a butterfly operation, an inverse MDCT process, a window function process, and the like in the audio decoding device of the present invention.
【図7】本発明のオーディオ復号装置におけるサブバン
ド合成処理、窓かけ処理及び周期加算処理等を示すタイ
ミングチャートである。FIG. 7 is a timing chart showing subband synthesis processing, windowing processing, period addition processing, and the like in the audio decoding device of the present invention.
【図8】本発明の一実施例によるオーディオ復号装置の
概略構成を示すブロック図である。FIG. 8 is a block diagram illustrating a schematic configuration of an audio decoding device according to an embodiment of the present invention.
【図9】図8中の専用ハードウェアの内部構成を示すブ
ロック図である。FIG. 9 is a block diagram showing an internal configuration of dedicated hardware in FIG. 8;
【図10】図8中の外部メモリと内蔵メモリとの間のデ
ータの受渡し、及びソフトウェアとハードウェアとの役
割分担を示す概念図である。FIG. 10 is a conceptual diagram showing data transfer between an external memory and a built-in memory in FIG. 8, and role sharing between software and hardware.
【図11】図8のオーディオ復号装置におけるハードウ
ェア及びソフトウェアの処理を示すタイミングチャート
である。FIG. 11 is a timing chart showing hardware and software processing in the audio decoding device of FIG. 8;
【図12】従来のオーディオ復号装置の主要部分の構成
を示すブロック図である。FIG. 12 is a block diagram illustrating a configuration of a main part of a conventional audio decoding device.
【図13】従来のオーディオ復号装置の主要部分の構成
を示すブロック図であり、図12の続き部分の構成を示
す図である。13 is a block diagram illustrating a configuration of a main part of the conventional audio decoding device, and is a diagram illustrating a configuration of a continuation part of FIG. 12;
【図14】従来装置におけるバタフライ演算、逆MDC
T処理、窓関数処理等を示すタイミングチャートであ
る。FIG. 14 shows a butterfly operation and an inverse MDC in a conventional device.
6 is a timing chart illustrating T processing, window function processing, and the like.
【図15】従来装置におけるサブバンド合成処理、窓か
け処理及び周期加算処理等を示すタイミングチャートで
ある。FIG. 15 is a timing chart showing a sub-band combining process, a windowing process, a period adding process, and the like in the conventional device.
1 CPUコア内蔵LSI 2 外部メモリ 3 バス 11 CPU 12 内蔵メモリ 13 専用ハードウェア 13−1 バタフライ演算モジュール 13−2 逆MDCTモジュール 13−3 サブバンド合成モジュール 13−4 窓関数処理モジュール 13−5 加算処理モジュール 13−6 窓かけ処理周期加算処理モジュール 121 入力バッファ 122 SW/HW IFバッファ 123 オーバーラップバッファ 124 並べ替えバッファ 125 サブバンド合成バッファ 125a 符号反転モジュール 126 出力バッファ Reference Signs List 1 LSI with built-in CPU core 2 External memory 3 Bus 11 CPU 12 Built-in memory 13 Dedicated hardware 13-1 Butterfly operation module 13-2 Inverse MDCT module 13-3 Subband synthesis module 13-4 Window function processing module 13-5 Addition processing Module 13-6 Windowing cycle addition module 121 Input buffer 122 SW / HW IF buffer 123 Overlap buffer 124 Rearrangement buffer 125 Subband synthesis buffer 125a Sign inversion module 126 Output buffer
Claims (6)
フライ演算後、逆MDCT演算を行い、窓関数処理後、
サブバンド合成処理することにより、前記データを復号
するオーディオ復号装置であって、前記逆MDCT演算
結果を保持する第1のバッファを含み、前記第1のバッ
ファに保持されたデータについて前記窓関数処理を行う
ことを特徴とするオーディオ復号装置。1. After performing a butterfly operation on MPEG-compressed data, an inverse MDCT operation is performed.
An audio decoding device that decodes the data by performing subband synthesis processing, the audio decoding device including a first buffer that holds the inverse MDCT operation result, wherein the window function processing is performed on the data held in the first buffer. An audio decoding device.
保持する第2のバッファを更に含むことを特徴とする請
求項1記載のオーディオ復号装置。2. The audio decoding apparatus according to claim 1, further comprising a second buffer for holding the data subjected to the subband synthesis processing.
について符号補正を行う補正手段を更に含むことを特徴
とする請求項2記載のオーディオ復号装置。3. The audio decoding apparatus according to claim 2, further comprising a correction unit that performs code correction on the data held in said second buffer.
フライ演算後、逆MDCT演算を行い、窓関数処理後、
サブバンド合成処理することにより、前記データを復号
するオーディオ復号方法であって、前記逆MDCT演算
結果を第1のバッファに保持するステップと、前記第1
のバッファに保持されたデータについて前記窓関数処理
を行うステップとを含むことを特徴とするオーディオ復
号方法。4. After performing a butterfly operation on MPEG-compressed data, an inverse MDCT operation is performed.
An audio decoding method for decoding the data by performing subband synthesis processing, the method comprising: holding the inverse MDCT operation result in a first buffer;
Performing the window function process on the data held in the buffer.
第2のバッファに保持するステップを更に含むことを特
徴とする請求項4記載のオーディオ復号方法。5. The audio decoding method according to claim 4, further comprising a step of holding the data subjected to the subband synthesis processing in a second buffer.
について符号補正を行うステップを更に含むことを特徴
とする請求項5記載のオーディオ復号方法。6. The audio decoding method according to claim 5, further comprising the step of performing code correction on the data held in said second buffer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001085748A JP2002287798A (en) | 2001-03-23 | 2001-03-23 | Audio decoding device and audio decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001085748A JP2002287798A (en) | 2001-03-23 | 2001-03-23 | Audio decoding device and audio decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002287798A true JP2002287798A (en) | 2002-10-04 |
Family
ID=18941209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001085748A Withdrawn JP2002287798A (en) | 2001-03-23 | 2001-03-23 | Audio decoding device and audio decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002287798A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862969B (en) * | 2005-05-11 | 2010-06-09 | 尼禄股份公司 | Adaptive block length, constant converting audio frequency decoding method |
JP2014195152A (en) * | 2013-03-28 | 2014-10-09 | Fujitsu Ltd | Orthogonal transformation device, orthogonal transformation method, computer program for orthogonal transformation and audio decoding apparatus |
-
2001
- 2001-03-23 JP JP2001085748A patent/JP2002287798A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862969B (en) * | 2005-05-11 | 2010-06-09 | 尼禄股份公司 | Adaptive block length, constant converting audio frequency decoding method |
JP2014195152A (en) * | 2013-03-28 | 2014-10-09 | Fujitsu Ltd | Orthogonal transformation device, orthogonal transformation method, computer program for orthogonal transformation and audio decoding apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5265682B2 (en) | Digital content encoding and / or decoding | |
US5815421A (en) | Method for transposing a two-dimensional array | |
JP2010537245A5 (en) | ||
WO1997022938A1 (en) | Manipulating video and audio signals using a processor which supports simd instructions | |
WO2022228222A1 (en) | Data processing method and apparatus | |
US8200730B2 (en) | Computing circuits and method for running an MPEG-2 AAC or MPEG-4 AAC audio decoding algorithm on programmable processors | |
JPH09212484A (en) | Discrete cosine transformation method | |
JP2002245027A (en) | Filtering processing method and filtering processor | |
JP2002287798A (en) | Audio decoding device and audio decoding method | |
JP2002358288A (en) | Semiconductor integrated circuit and computer readable recording medium | |
US20020136312A1 (en) | Data processing apparatus and method for performing an adaptive filter operation on an input data sample | |
US6538583B1 (en) | Method and apparatus for context modeling | |
Rodrigues et al. | Using dynamic reconfiguration to reduce the area of a JPEG decoder on FPGA | |
JP2002519957A (en) | Method and apparatus for processing a sign function | |
JP2002297198A (en) | Audio decoding device | |
JP3092526B2 (en) | 2D inverse discrete cosine transform circuit | |
JP3982983B2 (en) | Audio signal decompression device and computing device for performing inversely modified discrete cosine transform | |
JP3255034B2 (en) | Audio signal processing circuit | |
JP2002182693A (en) | Audio ending and decoding apparatus and method for the same and control program recording medium for the same | |
JP2001242894A (en) | Signal processing apparatus, signal processing method and portable equipment | |
JP2000059232A (en) | Audio decoder | |
US6374280B1 (en) | Computationally efficient inverse discrete cosine transform method and apparatus | |
JP7247184B2 (en) | Information processing device, information processing system, program and information processing method | |
JP3065067B2 (en) | Equally spaced subband analysis filter and synthesis filter for MPEG audio multi-channel processing | |
JP2024120817A (en) | Method, system and computer-readable storage medium for integer signal spectrum sampling and restoration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |