[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH1063642A - Discrete cosine transform circuit, its coefficient generating method and storage medium - Google Patents

Discrete cosine transform circuit, its coefficient generating method and storage medium

Info

Publication number
JPH1063642A
JPH1063642A JP21380096A JP21380096A JPH1063642A JP H1063642 A JPH1063642 A JP H1063642A JP 21380096 A JP21380096 A JP 21380096A JP 21380096 A JP21380096 A JP 21380096A JP H1063642 A JPH1063642 A JP H1063642A
Authority
JP
Japan
Prior art keywords
function
variable
value
counting
cosine transform
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
Application number
JP21380096A
Other languages
Japanese (ja)
Inventor
Hideaki Sasahara
英明 笹原
Kuniyuki Nakayama
邦幸 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asahi Chemical Industry Co Ltd
Original Assignee
Asahi Chemical Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Asahi Chemical Industry Co Ltd filed Critical Asahi Chemical Industry Co Ltd
Priority to JP21380096A priority Critical patent/JPH1063642A/en
Publication of JPH1063642A publication Critical patent/JPH1063642A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce a circuit scale and to improve propagation delay time. SOLUTION: In the case of obtaining a coefficient for input data by multiplying a cosine function having a discrete value corresponding to the functions of variables (i), (k) by the input data, a counting circuit 7 counts the variable (i) and outputs a prescribed value (i+16). A memory 8 counts the variable (k) and temporarily stores the count value. At the time of counting the variables (i), (k), an adder 9 adds a value 2 (i+16) based on a current prescribed value to the function f(i, k-1) of the past value of the variable (k) temporarily stored and read out from the memory 8.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は離散余弦変換回路お
よびその係数生成方法および記憶媒体に関し、特に、画
像・音声の圧縮符号化、復号化等に用いられる離散余弦
変換回路およびその係数生成方法および記憶媒体に関す
るのである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a discrete cosine transform circuit, a coefficient generating method thereof, and a storage medium, and more particularly, to a discrete cosine transform circuit used for compression coding and decoding of video and audio, and a method of generating the coefficient. It concerns a storage medium.

【0002】[0002]

【従来の技術】従来、画像・音声の圧縮符号化、復号化
等には、離散余弦変換がよく用いられている。離散余弦
変換が用いられる画像・音声の圧縮符号化の国際規格と
しては、ISO/IEC11172(MPEG1)がよ
く用いられている。この一例として、ISO/IEC1
1172−3(MPEG1/audio)の復号器で用
いられている圧縮音声データの離散余弦変換について説
明する。
2. Description of the Related Art Conventionally, discrete cosine transform is often used for compression coding and decoding of images and sounds. ISO / IEC11172 (MPEG1) is often used as an international standard for compression coding of video and audio using discrete cosine transform. As an example of this, ISO / IEC1
The discrete cosine transform of the compressed audio data used in the 1172-3 (MPEG1 / audio) decoder will be described.

【0003】図4に示す規定のフォーマットの圧縮音声
データAinは、フレームアンパッキング部によりサン
プルデータSaと倍率データSfとに分離され、規格に
従ってサンプルデータSaを再量子化したデータとスケ
ールファクタ(倍率データ)Sfとを乗じて逆規格化し
たものに行列演算を行うことで離散余弦変換が行なわれ
る。すなわち、DCT係数を生成する。そして、離散余
弦変換して得られたデータに所定の窓関数を乗ずること
で復号データを得る。
[0003] Compressed audio data Ain of a prescribed format shown in FIG. 4 is separated into sample data Sa and magnification data Sf by a frame unpacking unit, and data obtained by requantizing the sample data Sa according to the standard and a scale factor (magnification). Data) Sf and the result of inverse normalization are subjected to a matrix operation to perform a discrete cosine transform. That is, a DCT coefficient is generated. Then, decoded data is obtained by multiplying the data obtained by the discrete cosine transform by a predetermined window function.

【0004】ここで、逆規格化したものをSk,行列演
算出力をViとすると、
[0004] Here, assuming that the inverse standardized data is Sk and the matrix operation output is Vi,

【0005】[0005]

【数1】 (Equation 1)

【0006】と規定されている。[0006]

【0007】ここで、係数Nikは変数iとk(i,k
はi≧0,k≧0なる整数)の関数であり、この関数f
(i,k)=(16+i)(2k+1)の値は、(2)
式で与えられる変数iとkの値に応じて、最小16(i
=k=0)から最大4977(i=63,k=31)ま
での値を取り得る。
Here, the coefficient Nik is determined by variables i and k (i, k
Is an integer i ≧ 0, k ≧ 0), and this function f
The value of (i, k) = (16 + i) (2k + 1) is (2)
According to the values of variables i and k given by the equation, a minimum of 16 (i
= K = 0) to a maximum of 4977 (i = 63, k = 31).

【0008】ところで、余弦関数は時間領域において周
期2πの周期関数であり、また現在時刻に対して対称な
時間関数である。(2)式で表される離散余弦関数の係
数Nikはこの周期性と対称性により、符号を無視すれ
ば0≦[f(i,k)π/64]≦π/2についての3
3種類を求めればよい。そこで、実際には、図5のフロ
ーチャートの処理を行って0から32π/64までの3
3種類に折り畳み、33の値に対して次表1を用いて余
弦関数の値を求める方法がよく用いられている。
The cosine function is a periodic function having a period of 2π in the time domain, and a time function symmetrical with respect to the current time. Due to the periodicity and symmetry, the coefficient Nik of the discrete cosine function represented by the equation (2) is 3 for 0 ≦ [f (i, k) π / 64] ≦ π / 2 if the sign is ignored.
Three types may be obtained. Therefore, actually, the processing of the flowchart of FIG.
A method of folding into three types and obtaining the value of the cosine function using the following Table 1 for 33 values is often used.

【0009】[0009]

【表1】 [Table 1]

【0010】図5中、まずステップS51において、関
数f(i,k)=(16+i)(2k+1)を計算す
る。この処理については、図6のフローチャートに基づ
いて説明する。ステップS52では、ステップS51に
おける計算結果から128の余りを取る。続くステップ
S53では、余りを取った結果が64より大きいかを調
べる。64より大きくなければ、複素平面で虚数部がマ
イナス側に存在しないのでそのままステップS55に進
む。一方、余りを取った結果が64より大きければ、複
素平面で虚数部がマイナス側に存在するので、ステップ
S52の結果から64を引くことでこれを虚数部のプラ
ス側に折り畳む。
In FIG. 5, first, in step S51, a function f (i, k) = (16 + i) (2k + 1) is calculated. This processing will be described with reference to the flowchart of FIG. In step S52, the remainder of 128 is obtained from the calculation result in step S51. In a succeeding step S53, it is checked whether or not the result of the remainder is larger than 64. If it is not larger than 64, the imaginary part does not exist on the minus side in the complex plane, and the process proceeds directly to step S55. On the other hand, if the remainder is larger than 64, the imaginary part exists on the minus side in the complex plane, so that by subtracting 64 from the result of step S52, this is folded to the plus side of the imaginary part.

【0011】ステップS55では、ステップS52にお
いて余りを取った結果、またはステップS54において
64を引いた結果が32かを調べる。これが32であれ
ば、0から32π/64まで丁度33種類のf(i,
k)を求めたことになるので処理を終了する。一方、こ
れが32でなければステップS56に進み、ステップS
52において余りを取った結果、またはステップS54
において64を引いた結果が32より大きいかを調べ
る。
In step S55, it is checked whether the result obtained by removing the remainder in step S52 or the result obtained by subtracting 64 in step S54 is 32. If this is 32, just 33 types of f (i, i, from 0 to 32π / 64
Since k) has been obtained, the processing is terminated. On the other hand, if this is not 32, the process proceeds to step S56,
52, or the result of removing the remainder in step S54
It is checked whether the result of subtracting 64 is larger than 32.

【0012】32より大きくなければ、複素平面で実数
部がマイナス側に存在しないのでそのまま処理を終了す
る。一方、これらの結果が32より大きければ、複素平
面で実数部がマイナス側に存在するので、ステップS5
2において余りを取った結果、またはステップS54に
おいて64を引いた結果をステップS57の処理で64
から引くことでこれを実数部のプラス側に折り畳んで、
この処理を終了する。これにより、表1に示すインデッ
クス番号(0〜32)を引くことで、33種類の余弦関
数の値が求められる。
If the value is not larger than 32, the real number part does not exist on the minus side in the complex plane, and the process is terminated as it is. On the other hand, if these results are larger than 32, the real part exists on the minus side in the complex plane, so that step S5
2 or the result of subtracting 64 in step S54 is 64 in step S57.
By folding this to the positive side of the real part,
This processing ends. Thus, by subtracting the index numbers (0 to 32) shown in Table 1, 33 types of values of the cosine function are obtained.

【0013】図6は関数f(i,k)=(16+i)
(2k+1)の計算手順を示すフローチャートである。
FIG. 6 shows a function f (i, k) = (16 + i)
It is a flowchart which shows the calculation procedure of (2k + 1).

【0014】まず、ステップS61と続くステップS6
2において、変数iとkを0に初期化する。そして、ス
テップS63において、関数f(i,k)=(16+
i)(2k+1)の値を計算した後、ステップS64に
おいて変数kを1カウントアップする。関数f(i,
k)を求め変数てkを1カウントアップする毎に、ステ
ップS65において変数kの値を調べ、k<32ならば
ステップS63,S64を繰り返す。
First, step S61 is followed by step S6.
In step 2, variables i and k are initialized to zero. Then, in step S63, the function f (i, k) = (16+
i) After calculating the value of (2k + 1), the variable k is counted up by one in step S64. The function f (i,
Each time k is determined and k is counted up by one, the value of variable k is checked in step S65, and if k <32, steps S63 and S64 are repeated.

【0015】一方、k<32でなければステップS66
に進み、変数iを1カウントアップした後、ステップS
67において変数iの値を調べ、i<64ならばステッ
プS62〜S66を繰り返す。一方、i<64でなけれ
ば、関数f(i,k)=(16+i)(2k+1)の値
を最小16(i=k=0)から最大4977(i=6
3,k=31)まで計算したので処理を終了する。
On the other hand, if k <32, step S66
And after incrementing the variable i by one, step S
In step 67, the value of the variable i is checked. If i <64, steps S62 to S66 are repeated. On the other hand, if i <64, the value of the function f (i, k) = (16 + i) (2k + 1) is changed from a minimum of 16 (i = k = 0) to a maximum of 4977 (i = 6).
(3, k = 31), and the process ends.

【0016】図7は、ステップS64における関数f
(i,k)=(16+i)(2k+1)の計算のための
従来の係数発生回路の一例の回路図である。
FIG. 7 shows the function f in step S64.
FIG. 9 is a circuit diagram of an example of a conventional coefficient generation circuit for calculating (i, k) = (16 + i) (2k + 1).

【0017】1および2は計数回路,3は演算回路、4
は乗算器である。計数回路1は、変数iをカウントアッ
プして(16+i)を出力する。計数回路2は、変数k
をカウントアップしてそのまま出力する。演算回路3
は、計数回路2からの変数kの値を2倍し、これに1を
加算する演算を行い、(2k+1)を出力する。そして
乗算器4により、(2k+1)(16+i)を求める。
1 and 2 are counting circuits, 3 is an arithmetic circuit, 4
Is a multiplier. The counting circuit 1 counts up the variable i and outputs (16 + i). The counting circuit 2 calculates the variable k
Is counted up and output as it is. Arithmetic circuit 3
Performs the operation of doubling the value of the variable k from the counting circuit 2 and adding 1 thereto, and outputs (2k + 1). Then, the multiplier 4 calculates (2k + 1) (16 + i).

【0018】[0018]

【発明が解決しようとする課題】しかしながら、上記の
ような従来の離散余弦関数の係数生成方法では、乗算器
を用いて関数f(i,k)=(16+i)(2k+1)
を計算していた。このように乗算器を使用すると、回路
規模が大きく複雑なものとなるため、伝搬遅延時間が大
きくなると共に小型化、低コスト化が困難であるという
課題があった。
However, in the above-described conventional method for generating a coefficient of a discrete cosine function, a function f (i, k) = (16 + i) (2k + 1) is calculated using a multiplier.
Was calculated. When the multiplier is used as described above, the circuit scale becomes large and complicated, so that there is a problem that the propagation delay time is increased, and it is difficult to reduce the size and cost.

【0019】そこで本発明は、回路規模、および伝搬遅
延時間を小さくすることのできる離散余弦変換回路およ
びその係数生成方法および記憶媒体を提供することを目
的とする。
An object of the present invention is to provide a discrete cosine transform circuit capable of reducing the circuit scale and the propagation delay time, a method for generating the coefficient thereof, and a storage medium.

【0020】[0020]

【課題を解決するための手段】上記目的を達成するため
に、請求項1に記載の本発明の装置では、変数iとk
(i,kはi≧0,k≧0なる整数)の関数に応じた離
散的な値をとる余弦関数を入力データと乗じることで、
前記入力データの係数を得て離散余弦変換する離散余弦
変換回路において、変数iをカウントして所定値を出力
する計数手段と、変数kをカウントして一時記憶する記
憶手段と、変数i,kがカウントされるのに伴って、前
記計数手段により得た現在の前記所定値に基づいた値と
前記記憶手段から読み出した変数kの過去の値の前記関
数とを加算する加算手段とを具備した構成とした。
In order to achieve the above object, the apparatus according to the first aspect of the present invention comprises the variables i and k.
(I, k are integers i ≧ 0, k ≧ 0) by multiplying the input data by a cosine function that takes a discrete value according to the function,
In a discrete cosine transform circuit that obtains coefficients of the input data and performs discrete cosine transform, counting means for counting a variable i and outputting a predetermined value, storage means for counting and temporarily storing a variable k, and variables i and k Counting means for adding a value based on the current predetermined value obtained by the counting means and the function of the past value of the variable k read from the storage means. The configuration was adopted.

【0021】また、請求項2に記載の本発明の装置で
は、前記加算手段は2進データの加算器であり、前記所
定値をLSB側から一桁上位に入力することで前記所定
値の2倍の値と前記変数kの過去の値の前記関数とを加
算する構成とした。
Further, in the apparatus according to the present invention, the adding means is an adder for binary data, and the predetermined value is input one digit higher from the LSB side to reduce the predetermined value by two. The configuration is such that the doubled value and the function of the past value of the variable k are added.

【0022】また、請求項3に記載の本発明の装置で
は、前記関数はf(i,k)=(16+i)(2k+
1)で表され、前記余弦関数はcos[f(i,k)π
/64]で表される構成とした。
In the apparatus according to the third aspect of the present invention, the function is f (i, k) = (16 + i) (2k +
1), and the cosine function is cos [f (i, k) π
/ 64].

【0023】また上記目的を達成するために、請求項4
に記載の本発明の方法では、変数iとk(i,kはi≧
0,k≧0なる整数)の関数に応じた離散的な値をとる
余弦関数を入力データと乗じることで、前記入力データ
の係数を得る離散余弦変換の係数生成方法において、変
数iをカウントして所定値を出力する計数ステップと、
変数kをカウントして一時記憶する記憶ステップと、変
数i,kがカウントされるのに伴って、前記計数ステッ
プにおいて得た現在の前記所定値に基づいた値と前記記
憶手段から読み出した変数kの過去の値の前記関数とを
加算する加算ステップとを含む構成とした。
According to another aspect of the present invention, the above object is achieved.
In the method of the present invention, the variables i and k (i, k are i ≧
In the coefficient generation method of the discrete cosine transform that obtains the coefficient of the input data, the variable i is counted by multiplying the input data by a cosine function that takes a discrete value according to a function of 0, k ≧ 0). A counting step of outputting a predetermined value by
A storage step of counting and temporarily storing the variable k; and, as the variables i and k are counted, a value based on the current predetermined value obtained in the counting step and the variable k read from the storage means. And an adding step of adding the function of the past value to the function.

【0024】また、請求項5に記載の本発明の方法で
は、前記加算ステップにおいて、前記所定値を2進の加
算器のLSB側から一桁上位に入力することで前記所定
値の2倍の値と前記変数kの過去の値の前記関数とを加
算する構成とした。
Further, in the method according to the present invention, in the adding step, the predetermined value is input one digit higher from the LSB side of a binary adder, so that the predetermined value is twice as large as the predetermined value. The value and the function of the past value of the variable k are configured to be added.

【0025】また、請求項6に記載の本発明の方法で
は、前記関数はf(i,k)=(16+i)(2k+
1)で表され、前記余弦関数はcos[f(i,k)π
/64]で表される構成とした。
In the method according to the present invention, the function is f (i, k) = (16 + i) (2k +
1), and the cosine function is cos [f (i, k) π
/ 64].

【0026】また上記目的を達成するために、請求項7
に記載の本発明の記憶媒体では、変数iとk(i,kは
i≧0,k≧0なる整数)の関数に応じた離散的な値を
とる余弦関数を入力データと乗じることで、前記入力デ
ータの係数を得る離散余弦変換の係数生成方法のプログ
ラムを記憶した記憶媒体において、変数iをカウントし
て所定値を出力する計数ステップと、変数kをカウント
して一時記憶する記憶ステップと、変数i,kがカウン
トされるのに伴って、前記計数ステップにおいて得た現
在の前記所定値に基づいた値と前記記憶手段から読み出
した変数kの過去の値の前記関数とを加算する加算ステ
ップとを含む離散余弦変換の係数生成方法のプログラム
を記憶した構成とした。
According to another aspect of the present invention, there is provided a semiconductor device comprising:
In the storage medium of the present invention, the input data is multiplied by a cosine function that takes a discrete value according to a function of variables i and k (i, k is an integer satisfying i ≧ 0, k ≧ 0). In a storage medium storing a program of a coefficient generation method of discrete cosine transform for obtaining coefficients of the input data, a counting step of counting a variable i and outputting a predetermined value, and a storage step of counting a variable k and temporarily storing the same. Adding the value based on the current predetermined value obtained in the counting step and the function of the past value of the variable k read from the storage means as the variables i and k are counted. And a program for a method of generating coefficients of discrete cosine transform including steps.

【0027】[0027]

【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0028】(第1の実施の形態)図1は本発明の離散
余弦変換回路の第1の実施の形態を適用した音声復号器
の構成を示すブロック図である。この音声復号器は、I
SO/IEC 11172−3(MPEG1/audi
o)に準拠した構成であり、LSI化されているものと
する。
(First Embodiment) FIG. 1 is a block diagram showing a configuration of a speech decoder to which a first embodiment of a discrete cosine transform circuit according to the present invention is applied. This speech decoder has I
SO / IEC 11172-3 (MPEG1 / audio
It is assumed that the configuration conforms to o) and that it is implemented as an LSI.

【0029】図1において、10はフレームアンパッキ
ング部、15は再量子化部、16は乗算器、18は行列
演算(Matrixing)部、20,22,26はバ
ッファ、24は窓処理(Windowing)部であ
る。フレームアンパッキング部10は、時系列のビット
列からなる圧縮音声データAinから、ビット割り当て
情報11を利用してサンプルデータSaと倍率データS
fとを分離して取り出す。12で示すデコードされたサ
ンプルデータSaは、再量子化部15によりビット割り
当て情報11を利用して再量子化され、再量子化データ
Srとされる。
In FIG. 1, 10 is a frame unpacking unit, 15 is a requantization unit, 16 is a multiplier, 18 is a matrix operation (Matrixing) unit, 20, 22, and 26 are buffers, and 24 is a windowing process (Windowing). Department. The frame unpacking unit 10 uses the bit allocation information 11 to extract the sample data Sa and the magnification data S from the compressed audio data Ain composed of a time-series bit string.
and is separated and taken out. The decoded sample data Sa indicated by 12 is re-quantized by the re-quantization unit 15 using the bit allocation information 11, and becomes re-quantized data Sr.

【0030】乗算器16は、14で示すデコードされた
スケールファクタ(倍率データ)Sfとこの再量子化デ
ータSrとを規格に従って乗じて逆規格化した音声デー
タSkを出力する。行列演算部18は音声データSkを
基に所定の演算を行い、行列演算出力Viを出力する。
行列演算部18による演算の途中経過は、バッファ20
に一時格納される。行列演算部18は、本発明の離散余
弦変換回路と係数発生回路とシーケンサとROMを含ん
でおり、シーケンサの制御により離散余弦変換(Dis
crete Cosine Transform)の係
数を発生し、音声データSkに離散余弦変換を行う。
The multiplier 16 multiplies the decoded scale factor (magnification data) Sf indicated by 14 and the requantized data Sr in accordance with the standard and outputs the denormalized audio data Sk. The matrix operation unit 18 performs a predetermined operation based on the audio data Sk, and outputs a matrix operation output Vi.
The progress of the operation by the matrix operation unit 18 is
Is stored temporarily. The matrix operation unit 18 includes a discrete cosine transform circuit, a coefficient generation circuit, a sequencer, and a ROM according to the present invention, and performs discrete cosine transform (Diss) under the control of the sequencer.
Generate a coefficient of “Crete Cosine Transform” and perform a discrete cosine transform on the audio data Sk.

【0031】バッファ22は、行列演算部18による演
算結果を一時格納する。この演算結果は、窓処理部24
により重み付けされる。重み付けされた演算結果は、バ
ッファ26を介して出力される。
The buffer 22 temporarily stores the operation result by the matrix operation section 18. This calculation result is output to the window processing unit 24.
Weighted by The weighted calculation result is output via the buffer 26.

【0032】ここで、図2は行列演算部18の機能の概
略を説明するためのブロック図である。
FIG. 2 is a block diagram for explaining the outline of the function of the matrix operation section 18. As shown in FIG.

【0033】図2において、30はSkバッファ、46
はViバッファである。i発生部32とk発生部34
は、シーケンサのシーケンスに従って前記した従来技術
の順番で変数i,kを発生する。係数生成回路36は、
発生された変数i,kに基づき、本願発明の特徴である
DCT係数の生成を行う。係数折り畳み部38は、シー
ケンサのシーケンスに従って+/−選択信号を生成して
加減算器44に供給し、図5に基づき説明した処理を行
う。
In FIG. 2, reference numeral 30 denotes an Sk buffer;
Is a Vi buffer. i generator 32 and k generator 34
Generates the variables i and k in the order of the prior art described above according to the sequence of the sequencer. The coefficient generation circuit 36
Based on the generated variables i and k, a DCT coefficient which is a feature of the present invention is generated. The coefficient folding unit 38 generates a +/- selection signal according to the sequence of the sequencer, supplies the signal to the adder / subtractor 44, and performs the processing described with reference to FIG.

【0034】ROM40は33種類のインデックス番号
についての表1を格納しており、(2)式に示したNi
kを出力する。乗算器42と加減算器44により、
(1)式に示した演算を行う。図5および図6に示した
フローチャートによる処理は従来とほぼ同様であるが、
図6のステップS63における処理が従来のものと異な
る点が本願発明の特徴である。
The ROM 40 stores Table 1 for 33 types of index numbers.
Output k. By the multiplier 42 and the adder / subtractor 44,
The calculation shown in equation (1) is performed. The processing according to the flowcharts shown in FIGS. 5 and 6 is almost the same as the conventional one,
A feature of the present invention is that the processing in step S63 in FIG. 6 is different from the conventional processing.

【0035】本願発明のステップS63について説明す
ると、このステップでの処理は、(16+i)(2k+
1)を計算するときの図6における変数i,kの順序に
着目したものである。すなわち、MPEG1/audi
o(ISO/IEC11172−3)の復号処理で規定
される離散余弦変換では、i,kは以下のような順序で
変化する。つまり、離散余弦変換の係数は(i,k)=
(0,0),(0,1),(0,2)…,(0,3
1),(1,0),(1,1),(1,2)…,(1,
30),(1,31)…,(62,0),(62,1)
…,(62,30),(62,31)…,(63,
0),(63,1)…,(63,30),(63,3
1)の順に計算される。
The step S63 of the present invention will be described. The processing in this step is (16 + i) (2k +
This focuses on the order of the variables i and k in FIG. 6 when calculating 1). That is, MPEG1 / audio
In the discrete cosine transform defined by the decoding process of o (ISO / IEC11172-3), i and k change in the following order. That is, the coefficient of the discrete cosine transform is (i, k) =
(0,0), (0,1), (0,2) ..., (0,3)
1), (1,0), (1,1), (1,2) ..., (1,
30), (1, 31) ..., (62, 0), (62, 1)
..., (62, 30), (62, 31) ..., (63,
0), (63, 1) ..., (63, 30), (63, 3)
It is calculated in the order of 1).

【0036】また、f(i,k)=(i+16)(2k
+1)を展開して変形すると、
F (i, k) = (i + 16) (2k
+1)

【0037】[0037]

【数2】 f(i,k)=(i+16)(2k+1) =(i+16){2(k−1)+1+2} =(i+16)(2(k−1)+1}+2(i+16) =f(i,k−1)+2(i+16) (3) という関係、すなわち係数生成の規則性が得られる。F (i, k) = (i + 16) (2k + 1) = (i + 16) {2 (k-1) + 1 + 2} = (i + 16) (2 (k-1) +1} +2 (i + 16) = f ( (i, k-1) +2 (i + 16) (3), that is, regularity of coefficient generation.

【0038】そこで、kが1つずつ増加していく場合に
は(3)式で示される規則性を利用することにより、乗
算器を用いることなく、少なくとも加算回路とメモリを
用いて離散余弦変換の係数を発生させることができる。
Therefore, when k increases one by one, the discrete cosine transform is performed by using at least an adder circuit and a memory without using a multiplier by using the regularity expressed by the equation (3). Can be generated.

【0039】図3は、ステップS63における関数f
(i,k)=(16+i)(2k+1)の計算のための
乗算器を用いない係数発生回路の回路図である。
FIG. 3 shows the function f in step S63.
FIG. 9 is a circuit diagram of a coefficient generation circuit that does not use a multiplier for calculating (i, k) = (16 + i) (2k + 1).

【0040】図3において、計数回路7にはiの初期値
がセットされ、変数iをカウントアップして現在の所定
値(16+i)を出力する。加算器9は2進数を加算す
るディジタル加算器であり、iの初期値をそのまま出力
し、これがk=0のときの状態に相当する。メモリ8は
変数kと加算器9の加算結果を記憶するのに充分な小容
量のもので、0で初期化されて、カウントアップされる
変数kを一時的に記憶すると共に、加算器9の過去の加
算結果を一時的に記憶する。
In FIG. 3, the initial value of i is set in the counting circuit 7, the variable i is counted up, and the current predetermined value (16 + i) is output. The adder 9 is a digital adder for adding a binary number, and outputs the initial value of i as it is, which corresponds to the state when k = 0. The memory 8 has a small capacity enough to store the addition result of the variable k and the adder 9. The memory 8 temporarily stores the variable k initialized and counted up to 0, and also stores the variable k. The past addition result is temporarily stored.

【0041】次に加算器9は、変数i,kがカウントア
ップされるのに伴って、計数回路7からの出力値(16
+i)を2倍したものと、メモリ8から読み出した変数
kの過去の値(k−1)の関数f(i,k−1)とを加
算して新たな値(f(i,k−1)+2(16+i))
を出力する。
Next, as the variables i and k are counted up, the adder 9 outputs the output value (16) from the counting circuit 7.
+ I) and the function f (i, k-1) of the past value (k-1) of the variable k read from the memory 8 are added to obtain a new value (f (i, k- 1) +2 (16 + i))
Is output.

【0042】このようにして、変数が1つずつ増加して
いく毎に新たな値が加算出力され、(3)式に示す結果
が得られる。なお、(16+i)を2倍するには、加算
器9のLSBに0を入力し、所定値(16+i)の2進
値をLSB側から一桁上位に入力すれば2(16+i)
が出力されるので、回路規模の大きな乗算器を必要とし
ない。
In this way, a new value is added and output each time the variable increases by one, and the result shown in equation (3) is obtained. In order to double (16 + i), 0 is input to the LSB of the adder 9 and the binary value of the predetermined value (16 + i) is input one digit higher from the LSB side to obtain 2 (16 + i).
Is output, so that a multiplier having a large circuit scale is not required.

【0043】このように本実施の形態によれば、大規模
で複雑な回路構成を必要とする乗算器を用いることなく
離散余弦変換の係数を生成することが可能となる。この
ため、伝搬遅延時間が大きくなることなく、回路の小型
化が容易である。図3に示した回路は、LSI製造プロ
セスにも依存するが、従来の図7の回路と比べて回路規
模(面積)を30パーセント低減することができる。ま
た、伝播遅延時間は1.4倍高速とすることができる。
As described above, according to the present embodiment, it is possible to generate discrete cosine transform coefficients without using a multiplier that requires a large-scale and complicated circuit configuration. Therefore, it is easy to reduce the size of the circuit without increasing the propagation delay time. Although the circuit shown in FIG. 3 also depends on the LSI manufacturing process, the circuit scale (area) can be reduced by 30% as compared with the conventional circuit shown in FIG. Also, the propagation delay time can be 1.4 times faster.

【0044】(他の実施の形態)上記の第1の実施の形
態では行列演算部18をハード的に構成し、シーケンサ
の制御により本発明を実現した例について説明したが、
代わりに、CPUなどの制御・演算部とRAM、ROM
等の記憶媒体を含む構成としてもよい。この場合、たと
えばROMに(3)式のアルゴリズムを実現するプログ
ラムを記憶しておき、このプログラムに基づいた制御・
演算を行うことで第1の実施の形態と同様の機能を遂行
させ、第1の実施の形態と同様の効果を得ることが可能
となる。
(Other Embodiments) In the above-described first embodiment, an example has been described in which the matrix operation unit 18 is configured as hardware and the present invention is realized by control of a sequencer.
Instead, a control / calculation unit such as a CPU, RAM and ROM
And the like. In this case, for example, a program for realizing the algorithm of the formula (3) is stored in the ROM, and the control and control based on this program are performed.
By performing the calculation, the same function as that of the first embodiment can be performed, and the same effect as that of the first embodiment can be obtained.

【0045】[0045]

【発明の効果】以上説明してきたように、本発明の回路
および方法及び記憶媒体によれば、変数iとkの関数に
応じた離散的な値をとる余弦関数を入力データと乗じる
ことで入力データの係数を得るときに、変数iをカウン
トして所定値を出力し、変数kをカウントして一時記憶
し、変数i,kがカウントされるのに伴って、現在の所
定値に基づいた値と一時記憶してから読み出した変数k
の過去の値の関数とを加算するようにしたので、乗算器
を使用するとなく回路規模、および伝搬遅延時間を小さ
くすることができるという効果が得られる。
As described above, according to the circuit, the method and the storage medium of the present invention, the input data is obtained by multiplying the input data by the cosine function having a discrete value corresponding to the function of the variables i and k. When obtaining the coefficient of the data, the variable i is counted and a predetermined value is output, the variable k is counted and temporarily stored, and as the variables i and k are counted, the variable i and k are determined based on the current predetermined value. Variable k that is temporarily stored and read out
And the function of the past value are added, so that an effect is obtained that the circuit scale and the propagation delay time can be reduced without using a multiplier.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の離散余弦変換回路の第1の実施の形態
を適用した音声復号器の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a speech decoder to which a first embodiment of a discrete cosine transform circuit according to the present invention is applied.

【図2】行列演算部18の機能の概略を説明するための
ブロック図である。
FIG. 2 is a block diagram for explaining an outline of a function of a matrix operation unit 18;

【図3】本願発明による関数f(i,k)=(16+
i)(2k+1)の計算のための乗算器を用いない係数
発生回路の回路図である。
FIG. 3 shows a function f (i, k) = (16+) according to the present invention.
i) A circuit diagram of a coefficient generation circuit that does not use a multiplier for calculating (2k + 1).

【図4】MPEG1/audio(ISO/IEC11
172−3)の復号器に規定される圧縮音声データAi
nのフォーマットを示す説明図である。
FIG. 4 shows MPEG1 / audio (ISO / IEC11)
172-3) Compressed audio data Ai specified in the decoder
It is explanatory drawing which shows the format of n.

【図5】折り畳みの処理手順を示すフローチャートであ
る。
FIG. 5 is a flowchart illustrating a folding processing procedure.

【図6】関数f(i,k)=(16+i)(2k+1)
の計算手順を示すフローチャートである。
FIG. 6 shows a function f (i, k) = (16 + i) (2k + 1)
6 is a flowchart showing a calculation procedure of the above.

【図7】関数f(i,k)=(16+i)(2k+1)
の計算のための従来の係数発生回路の一例の回路図であ
る。
FIG. 7: Function f (i, k) = (16 + i) (2k + 1)
FIG. 6 is a circuit diagram of an example of a conventional coefficient generation circuit for calculating the coefficient.

【符号の説明】[Explanation of symbols]

1,2 計数回路 3 演算回路 4,16,42 乗算器 7 計数回路 8 メモリ 9 加算器 10 フレームアンパッキング部 15 再量子化部 18 行列演算(Matrixing)部 20,22,26,30,46 バッファ 24 窓処理(Windowing)部 32 i発生部 34 k発生部 36 係数生成回路 38 係数折り畳み部 40 ROM 44 加減算器 1, 2 counting circuit 3 arithmetic circuit 4, 16, 42 multiplier 7 counting circuit 8 memory 9 adder 10 frame unpacking unit 15 requantization unit 18 matrix operation (Matrixing) unit 20, 22, 26, 30, 46 buffer 24 Windowing unit 32 i generation unit 34 k generation unit 36 coefficient generation circuit 38 coefficient folding unit 40 ROM 44 adder / subtracter

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 変数iとk(i,kはi≧0,k≧0な
る整数)の関数に応じた離散的な値をとる余弦関数を入
力データと乗じることで、前記入力データの係数を得て
離散余弦変換する離散余弦変換回路において、 変数iをカウントして所定値を出力する計数手段と、 変数kをカウントして一時記憶する記憶手段と、 変数i,kがカウントされるのに伴って、前記計数手段
により得た現在の前記所定値に基づいた値と前記記憶手
段から読み出した変数kの過去の値の前記関数とを加算
する加算手段とを具備したことを特徴とする離散余弦変
換回路。
1. A coefficient of the input data by multiplying the input data by a cosine function having a discrete value corresponding to a function of variables i and k (i, k is an integer satisfying i ≧ 0, k ≧ 0). And a discrete cosine transform circuit for performing a discrete cosine transform to obtain a predetermined value by counting a variable i; a storage means for counting a variable k and temporarily storing the variable i; And adding means for adding a value based on the current predetermined value obtained by the counting means and the function of the past value of the variable k read from the storage means. Discrete cosine transform circuit.
【請求項2】 前記加算手段は2進データの加算器であ
り、前記所定値をLSB側から一桁上位に入力すること
で前記所定値の2倍の値と前記変数kの過去の値の前記
関数とを加算することを特徴とする請求項1に記載の離
散余弦変換回路。
2. The adder means is an adder for binary data, and inputs the predetermined value one digit higher from the LSB side to obtain a value twice as large as the predetermined value and a past value of the variable k. 2. The discrete cosine transform circuit according to claim 1, wherein the function and the function are added.
【請求項3】 前記関数はf(i,k)=(16+i)
(2k+1)で表され、前記余弦関数はcos[f
(i,k)π/64]で表されることを特徴とする請求
項1または2に記載の離散余弦変換回路。
3. The function is f (i, k) = (16 + i)
(2k + 1), and the cosine function is cos [f
3. The discrete cosine transform circuit according to claim 1, wherein the discrete cosine transform circuit is represented by (i, k) π / 64].
【請求項4】 変数iとk(i,kはi≧0,k≧0な
る整数)の関数に応じた離散的な値をとる余弦関数を入
力データと乗じることで、前記入力データの係数を得る
離散余弦変換の係数生成方法において、 変数iをカウントして所定値を出力する計数ステップ
と、 変数kをカウントして一時記憶する記憶ステップと、 変数i,kがカウントされるのに伴って、前記計数ステ
ップにおいて得た現在の前記所定値に基づいた値と前記
記憶手段から読み出した変数kの過去の値の前記関数と
を加算する加算ステップとを含むことを特徴とする離散
余弦変換の係数生成方法。
4. A coefficient of the input data by multiplying the input data by a cosine function having a discrete value corresponding to a function of variables i and k (i, k is an integer i ≧ 0, k ≧ 0). , A counting step of counting a variable i and outputting a predetermined value, a counting step of counting a variable k and temporarily storing the same, and a step of counting the variables i and k And an adding step of adding a value based on the current predetermined value obtained in the counting step and the function of the past value of the variable k read from the storage means. Coefficient generation method.
【請求項5】 前記加算ステップにおいて、前記所定値
を2進の加算器のLSB側から一桁上位に入力すること
で前記所定値の2倍の値と前記変数kの過去の値の前記
関数とを加算することを特徴とする請求項4に記載の離
散余弦変換の係数生成方法。
5. The function of a value twice as large as the predetermined value and a past value of the variable k in the adding step by inputting the predetermined value one digit higher from the LSB side of a binary adder. The coefficient generation method of the discrete cosine transform according to claim 4, wherein
【請求項6】 前記関数はf(i,k)=(16+i)
(2k+1)で表され、前記余弦関数はcos[f
(i,k)π/64]で表されることを特徴とする請求
項4または5に記載の離散余弦変換の係数生成方法。
6. The function is f (i, k) = (16 + i)
(2k + 1), and the cosine function is cos [f
The coefficient generation method of the discrete cosine transform according to claim 4 or 5, wherein (i, k) π / 64].
【請求項7】 変数iとk(i,kはi≧0,k≧0な
る整数)の関数に応じた離散的な値をとる余弦関数を入
力データと乗じることで、前記入力データの係数を得る
離散余弦変換の係数生成方法のプログラムを記憶した記
憶媒体において、 変数iをカウントして所定値を出力する計数ステップ
と、 変数kをカウントして一時記憶する記憶ステップと、 変数i,kがカウントされるのに伴って、前記計数ステ
ップにおいて得た現在の前記所定値に基づいた値と前記
記憶手段から読み出した変数kの過去の値の前記関数と
を加算する加算ステップとを含む離散余弦変換の係数生
成方法のプログラムを記憶したことを特徴とする記憶媒
体。
7. A coefficient of the input data by multiplying the input data by a cosine function which takes a discrete value according to a function of variables i and k (i, k is an integer satisfying i ≧ 0, k ≧ 0). A counting step of counting a variable i and outputting a predetermined value; a storage step of counting a variable k and temporarily storing the variable; and variables i and k. Counting, the adding step of adding the value based on the current predetermined value obtained in the counting step and the function of the past value of the variable k read from the storage means. A storage medium storing a program for a coefficient generation method for cosine transformation.
JP21380096A 1996-08-13 1996-08-13 Discrete cosine transform circuit, its coefficient generating method and storage medium Withdrawn JPH1063642A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21380096A JPH1063642A (en) 1996-08-13 1996-08-13 Discrete cosine transform circuit, its coefficient generating method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21380096A JPH1063642A (en) 1996-08-13 1996-08-13 Discrete cosine transform circuit, its coefficient generating method and storage medium

Publications (1)

Publication Number Publication Date
JPH1063642A true JPH1063642A (en) 1998-03-06

Family

ID=16645262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21380096A Withdrawn JPH1063642A (en) 1996-08-13 1996-08-13 Discrete cosine transform circuit, its coefficient generating method and storage medium

Country Status (1)

Country Link
JP (1) JPH1063642A (en)

Similar Documents

Publication Publication Date Title
US5400371A (en) System and method for filtering random noise using data compression
JP3636094B2 (en) Signal encoding apparatus and method, and signal decoding apparatus and method
JP2000323993A (en) Mpeg1 audio layer iii decoding processor and computer- readable recording medium storing program allowing computer to function as mpeg1 audio layer iii decoding processor
JP4800645B2 (en) Speech coding apparatus and speech coding method
US20070293960A1 (en) Signal processing method, signal processing apparatus and recording medium
JP3208001B2 (en) Signal processing device for sub-band coding system
KR20060084440A (en) A fast codebook selection method in audio encoding
US20030108108A1 (en) Decoder, decoding method, and program distribution medium therefor
JPH1063642A (en) Discrete cosine transform circuit, its coefficient generating method and storage medium
WO1997006641A1 (en) Image encoder, image decoder, image decoding method, and image transmitting system
JP2000165252A (en) Data compression method and device
JP3979026B2 (en) Signal decoding method, signal decoding apparatus, and recording medium recording signal decoding processing program
JPH1169147A (en) Image size conversion method for orthogonal transformation coded image
US6907413B2 (en) Digital signal processing method, learning method, apparatuses for them, and program storage medium
JP3371420B2 (en) Triplet information processing apparatus and method
JP2004226742A (en) Quantization device and inverse quantization device, and encoding device and decoding device for audio and image that can use those devices
JP3186020B2 (en) Audio signal conversion decoding method
KR20030045028A (en) Method for carrying out integer approximation of transform coefficients, and coder and decoder
JP4438655B2 (en) Encoding device, decoding device, encoding method, and decoding method
JP2732691B2 (en) Image compression device and image restoration device
KR0164830B1 (en) Inverse quantization circuit
JP3154293B2 (en) Audio signal band synthesis decoding device
JP2561030B2 (en) Discrete cosine transform device
JP2006162774A (en) Signal processor
JP2002208860A (en) Device and method for compressing data, computer- readable recording medium with program for data compression recorded thereon, and device and method for expanding data

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20031104