JP3396818B2 - DCT operation circuit and IDCT operation circuit - Google Patents

DCT operation circuit and IDCT operation circuit

Info

Publication number
JP3396818B2
JP3396818B2 JP13516893A JP13516893A JP3396818B2 JP 3396818 B2 JP3396818 B2 JP 3396818B2 JP 13516893 A JP13516893 A JP 13516893A JP 13516893 A JP13516893 A JP 13516893A JP 3396818 B2 JP3396818 B2 JP 3396818B2
Authority
JP
Japan
Prior art keywords
address
order
dct
register
data memory
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.)
Expired - Lifetime
Application number
JP13516893A
Other languages
Japanese (ja)
Other versions
JPH06325070A (en
Inventor
俊宏 南
良太 笠井
孝夫 金子
豊 田代
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP13516893A priority Critical patent/JP3396818B2/en
Publication of JPH06325070A publication Critical patent/JPH06325070A/en
Application granted granted Critical
Publication of JP3396818B2 publication Critical patent/JP3396818B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、画像符号化で用いられ
るDCT(Discrete Cosine Transform )とその逆変換
であるIDCT(Inverse Discrete Cosine Transform
)を実行するための演算回路に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to DCT (Discrete Cosine Transform) used in image coding and IDCT (Inverse Discrete Cosine Transform) which is the inverse transform thereof.
) Is related to the arithmetic circuit.

【0002】[0002]

【従来の技術】[Prior art]

(1)DCT/IDCTの演算 Xi (i=0,1,2,3,4,5,6,7 )を原信号とし、Yj (j=0,
1,2,3,4,5,6,7 )をDCT変換係数とすると、高速演算
アルゴリズムを用いた8点1次元DCTは次の(1)
式、(2)式で表される。a0 0〜a3 3、b0 0〜b3 3は係
数である。
(1) DCT / IDCT operation X i (i = 0,1,2,3,4,5,6,7) is used as an original signal, and Y j (j = 0,
If 1,2,3,4,5,6,7) is the DCT transform coefficient, the 8-point one-dimensional DCT using the high-speed calculation algorithm is
Expression (2) is expressed. a 0 0 ~a 3 3, b 0 0 ~b 3 3 are coefficients.

【0003】 [0003]

【0004】 [0004]

【0005】また、高速演算アルゴリズムを用いる8点
の1次元IDCTは次の(3)式、(4)式で表され
る。c0 0〜c3 3、d0 0〜d3 3は係数である。
An 8-point one-dimensional IDCT using the high speed calculation algorithm is represented by the following equations (3) and (4). c 0 0 ~c 3 3, d 0 0 ~d 3 3 are coefficients.

【0006】 [0006]

【0007】 [0007]

【0008】(2)従来技術の第1の例 図8は従来技術の第1の例の8点1次元DCT演算回路
の構成を示すブロック図である。この回路では、最初に
(1)式の計算を4並列で4クロックかけて行い、次の
(2)式の計算を4並列で4クロックかけて行う。
(2) First Example of Prior Art FIG. 8 is a block diagram showing the configuration of an 8-point one-dimensional DCT arithmetic circuit of the first example of the prior art. In this circuit, first, the calculation of the equation (1) is performed in 4 parallels in 4 clocks, and the calculation of the following equation (2) is performed in 4 parallels in 4 clocks.

【0009】+1づつアドレスが増加するアドレス生成
回路1でアドレッシングされるデータメモリ2には、原
信号Xi が記憶されており、そこから読み出された原信
号はX0 ,X1 ,X2 ,X3 ,X4 ,X5 ,X6 ,X7
の順にクロックごとにシフトレジスタ3のレジスタ4を
移動する。
The original signal X i is stored in the data memory 2 which is addressed by the address generation circuit 1 in which the address is incremented by +1 and the original signals read from the original signal X i are X 0 , X 1 , X 2. , X 3 , X 4 , X 5 , X 6 , X 7
The register 4 of the shift register 3 is moved for each clock in this order.

【0010】セレクタ5はシフトレジスタ3から原信号
をX7 ,X6 ,X5 ,X4 ,X7 ,X6 ,X5 ,X4
順に選択し、セレクタ6はX0 ,X1 ,X2 ,X3 ,X
0 ,X1 ,X2 ,X3 の順に選択する。
The selector 5 selects the original signal from the shift register 3 in the order of X 7 , X 6 , X 5 , X 4 , X 7 , X 6 , X 5 , X 4 , and the selector 6 selects X 0 , X 1 , X 2 , X 3 , X
Select 0 , X 1 , X 2 , X 3 .

【0011】加減算器7はその結果を受けて、X0 +X
7 ,X1 +X6 ,X2 +X5 ,X3+X4 ,X0 −X
7 ,X1 −X6 ,X2 −X5 ,X3 −X4 の順に計算
し、結果は4個の積和演算器9A〜9Dに送出される。
The adder / subtractor 7 receives the result, and X 0 + X
7 , X 1 + X 6 , X 2 + X 5 , X 3 + X 4 , X 0 -X
7, X 1 -X 6, X 2 -X 5, calculated in the order of X 3 -X 4, the result is sent to the four multiplier-adder 9A-9D.

【0012】係数メモリ8は1つのアドレスに4個の係
数を記憶できる8Wのメモリであって、0番地から順
に、上記(1)式の係数行列の1列目、2列目、3列
目、4列目が、また、(2)式の係数行列の1列目、2
列目、3列目、4列目が記憶されている。
The coefficient memory 8 is an 8 W memory capable of storing four coefficients at one address, and the coefficient matrix of the above equation (1) is arranged in the first, second, and third columns in order from address 0. The 4th column is also the 1st column of the coefficient matrix of equation (2), 2
The third, fourth and fourth columns are stored.

【0013】従って、0番地からアドレスを1づつ増加
させながら読み出すと、最初に(1)式の係数行列内の
各列の4個の係数が読み出され、次に(2)式の係数行
列の各列の4個の係数が読み出される。
Therefore, when the address is read from address 0 while incrementing the address by 1, the four coefficients in each column in the coefficient matrix of equation (1) are read out first, and then the coefficient matrix of equation (2). The four coefficients of each column are read.

【0014】読み出された係数は、乗算器10、加算器
11、出力用レジスタ12、レジスタ13からなる4個
の和算演算器9A〜9Dに送られる。
The read coefficient is sent to four summing arithmetic units 9A to 9D which are composed of a multiplier 10, an adder 11, an output register 12 and a register 13.

【0015】以上から、出力用レジスタ12には、まず
DCT変換係数Y0 ,Y2 ,Y4 ,Y6 を、その4クロ
ック後にY1 ,Y3 ,Y5 ,Y7 を得ることができる。
From the above, the DCT conversion coefficients Y 0 , Y 2 , Y 4 and Y 6 can be obtained in the output register 12 and Y 1 , Y 3 , Y 5 and Y 7 can be obtained 4 clocks later. .

【0016】これらDCT変換係数がセレクタ14から
取り込まれて、Y0 ,Y2 ,Y4 ,Y6 ,Y1 ,Y3
5 ,Y7 の順にシフトレジスタ15のレジスタ4を移
動しているとき、セレクタ16でY0 ,Y1 ,Y2 ,Y
3 ,Y4 ,Y5 ,Y6 ,Y7の順に選択されて、データ
メモリ17に書込まれる。
These DCT transform coefficients are fetched from the selector 14, and Y 0 , Y 2 , Y 4 , Y 6 , Y 1 , Y 3 ,
While moving the register 4 of the shift register 15 in the order of Y 5 and Y 7 , the selector 16 causes Y 0 , Y 1 , Y 2 and Y
3 , Y 4 , Y 5 , Y 6 , Y 7 are selected in this order and written in the data memory 17.

【0017】このようなDCT演算回路に関する技術に
ついては、例えば、宮崎、西谷、枝廣、小日向、三橋、
岩田著、「HDTV対応DCT LSI」、1991、
電子情報通信学会春季全国大会、SC−8−4に記載さ
れている。
Regarding the technology relating to such a DCT arithmetic circuit, for example, Miyazaki, Nishitani, Edahiro, Kohinata, Mitsuhashi,
Iwata, "DCT LSI for HDTV", 1991,
It is described in SC-8-4, IEICE Spring National Convention.

【0018】(3)従来技術の第2の例 図9は従来技術の第2の例の8点1次元IDCT演算回
路の構成を示すブロック図である。図8に示した例と同
様に、この回路では、最初に(3)式の計算を4並列で
4クロックかけて行い、次に(4)式の計算を4並列で
4クロックかけて行う。この図9において、図8に示し
たものと同一の機能を果たすものには同一の符号を付し
ている。
(3) Second Example of Prior Art FIG. 9 is a block diagram showing the configuration of an 8-point one-dimensional IDCT arithmetic circuit of a second example of the prior art. Similar to the example shown in FIG. 8, in this circuit, the calculation of the formula (3) is first performed in 4 parallels in 4 clocks, and then the calculation of the formula (4) is performed in 4 parallels in 4 clocks. In FIG. 9, components having the same functions as those shown in FIG. 8 are designated by the same reference numerals.

【0019】データメモリ2にはDCT変換係数が記憶
されており、そこから読み出されたDCT変換係数Yj
はY0 ,Y1 ,Y2 ,Y3 ,Y4 ,Y5 ,Y6 ,Y7
順にクロックごとにシフトレジスタ18を移動する。
The data memory 2 stores the DCT transform coefficient, and the DCT transform coefficient Y j read from the DCT transform coefficient is stored in the data memory 2.
Shifts the shift register 18 for each clock in the order of Y 0 , Y 1 , Y 2 , Y 3 , Y 4 , Y 5 , Y 6 , and Y 7 .

【0020】セレクタ19はシフトレジスタ18からD
CT変換係数をY0 ,Y2 ,Y4 ,Y6 ,Y1 ,Y3
5 ,Y7 の順に選択し、4個の積和算演算器9A〜9
Dに送出する。
Selector 19 shifts from shift register 18 to D
The CT conversion coefficients are Y 0 , Y 2 , Y 4 , Y 6 , Y 1 , Y 3 ,
Y 5 and Y 7 are selected in this order, and four product-sum arithmetic operators 9A to 9 are selected.
Send to D.

【0021】係数メモリ8には、0番地から順に、上記
(3)式の係数行列の1列目、2列目、3列目、4列目
が、また(4)式の係数行列の1列目、2列目、3列
目、4列目が記憶されている。その中から、最初に
(3)式の係数行列内の各列の4個の係数が読み出さ
れ、次に(4)式の係数行列内の各列の4個の係数が読
み出される。読み出された係数は、4個の積和算演算器
9D〜9Dに送られる。
In the coefficient memory 8, the first column, the second column, the third column, and the fourth column of the coefficient matrix of the above equation (3) and the coefficient matrix 1 of the equation (4) are sequentially arranged from address 0. The second, third, fourth and fourth columns are stored. Among them, first, four coefficients of each column in the coefficient matrix of Expression (3) are read out, and then four coefficients of each column in the coefficient matrix of Expression (4) are read out. The read coefficient is sent to the four product-sum calculation operators 9D to 9D.

【0022】従って、出力用レジスタ12には、まず
(X0 +X7 )/2,(X1 +X6 )/2,(X2 +X
5 )/2,(X3 +X4 )/2を得、その4クロック後
に、(X0 −X7 )/2,(X1 −X6 )/2,(X2
−X5 )/2,(X3 −X4 )/2を得ることができ
る。
Therefore, the output register 12 first stores (X 0 + X 7 ) / 2, (X 1 + X 6 ) / 2, (X 2 + X).
5) / 2, (X 3 + X 4) / 2 to obtain, after the four clocks, (X 0 -X 7) / 2, (X 1 -X 6) / 2, (X 2
-X 5) / 2, can be obtained (X 3 -X 4) / 2 .

【0023】これら原信号がシフトレジスタ20を移動
しているときに、セレクタ21は(X0 +X7 )/2,
(X1 +X6 )/2,(X2 +X5 )/2,(X3 +X
4 )/2,(X3 +X4 )/2,(X2 +X5 )/2,
(X1 +X6 )/2,(X0+X7 )/2の順に、また
セレクタ22は(X0 −X7 )/2,(X1 −X6 )/
2,(X2 −X5 )/2,(X3 −X4 )/2,(X3
−X4 )/2,(X2−X5 )/2,(X1 −X6 )/
2,(X0 −X7 )/2の順にデータを選択し、加減算
器23に送る。
While these original signals are moving in the shift register 20, the selector 21 is (X 0 + X 7 ) / 2.
(X 1 + X 6 ) / 2, (X 2 + X 5 ) / 2, (X 3 + X
4) / 2, (X 3 + X 4) / 2, (X 2 + X 5) / 2,
(X 1 + X 6 ) / 2, (X 0 + X 7 ) / 2 in that order, and the selector 22 has (X 0 −X 7 ) / 2, (X 1 −X 6 ) /
2, (X 2 -X 5) / 2, (X 3 -X 4) / 2, (X 3
-X 4) / 2, (X 2 -X 5) / 2, (X 1 -X 6) /
2, select the data in the order of (X 0 -X 7) / 2 , and sends the adder-subtracter 23.

【0024】加減算器23では、最初に4回加算し、次
に4回減算して、X0 ,X1 ,X2,X3 ,X4 ,X
5 ,X6 ,X7 の順に原信号をデータメモリ17に書込
む。
The adder / subtractor 23 first adds four times and then subtracts four times to obtain X 0 , X 1 , X 2 , X 3 , X 4 , X.
The original signal is written in the data memory 17 in the order of 5 , X 6 , X 7 .

【0025】このようなIDCT演算回路に関する技術
については、従来技術の第1の例と同様に、例えば、宮
崎、西谷、枝廣、小日向、三橋、岩田著、「HDTV対
応DCT LSI」、1991、電子情報通信学会春季
全国大会、SC−8−4に記載されている。
Regarding the technology relating to such an IDCT arithmetic circuit, similar to the first example of the prior art, for example, Miyazaki, Nishitani, Edahiro, Kohinata, Mitsuhashi and Iwata, "DCT LSI for HDTV", 1991, It is described in SC-8-4, IEICE Spring National Convention.

【0026】(4)従来技術の第3の例 図10は従来技術の第3の例の8点1次元DCT演算回
路の構成を示すブロック図である。この回路では、前記
従来技術の第1の例と異なり、(1)式と(2)式の計
算をクロックごとに交互に行う。この図10において、
図8に示したものと同一の機能を果たすものには同一の
符号を付している。
(4) Third Example of Prior Art FIG. 10 is a block diagram showing the configuration of an 8-point one-dimensional DCT arithmetic circuit of a third example of the prior art. In this circuit, unlike the first example of the prior art, the calculation of the equations (1) and (2) is alternately performed for each clock. In this FIG.
Components having the same functions as those shown in FIG. 8 are designated by the same reference numerals.

【0027】データメモリ2からX0 ,X1 ,X2 ,X
3 ,X4 ,X5 ,X6 ,X7 の順に読み出した原信号
を、データ組合器24において2データ1組として、
(X0 ,X7 ),(X1 ,X6 ),(X2 ,X5 ),
(X3 ,X4 )の順で加減算器7に入力する。
From the data memory 2 to X 0 , X 1 , X 2 , X
The original signals read out in the order of 3 , X 4 , X 5 , X 6 , X 7 are set as 2 data 1 set in the data combiner 24.
(X 0 , X 7 ), (X 1 , X 6 ), (X 2 , X 5 ),
Input to the adder / subtractor 7 in the order of (X 3 , X 4 ).

【0028】加減算器7では、X0 +X7 ,X0 −X
7 ,X1 +X6 ,X1 −X6 ,X2 +X5 ,X2 −X
5 ,X3 +X4 ,X3 −X4 の順に計算され、その結果
は4個の積和演算器25A〜25Dに送出される。
In the adder / subtractor 7, X 0 + X 7 , X 0 -X
7, X 1 + X 6, X 1 -X 6, X 2 + X 5, X 2 -X
5, X 3 + X 4, are calculated in the order of X 3 -X 4, the result is sent to the four multiplier-adder 25A to 25D.

【0029】係数メモリ8には、0番地から順に、上記
(1)式の係数行列の1列目、(2)式の係数行列の1
列目、(1)式の2列目、(2)式の2列目、(1)式
の3列目、(2)式の3列目、(1)式の4列目、
(2)式の4列目が記憶されている。
In the coefficient memory 8, the first column of the coefficient matrix of the above formula (1) and the 1 of the coefficient matrix of the above formula (2) are sequentially arranged from address 0.
The second column of the formula (1), the second column of the formula (2), the third column of the formula (1), the third column of the formula (2), the fourth column of the formula (1),
The fourth column of equation (2) is stored.

【0030】従って、0番地からアドレスを1づつ増加
させながら読み出すと、(1)式の係数行列内の各列の
4個の係数と、(2)式の係数行列内の各列の4個の係
数が交互に読み出される。読み出された係数は4個の積
和演算器25A〜25Dに送られる。
Therefore, when the address is read from address 0 while incrementing the address by 1, the four coefficients of each column in the coefficient matrix of equation (1) and the four coefficients of each column in the coefficient matrix of equation (2) are read. The coefficients are alternately read. The read coefficient is sent to the four product-sum calculators 25A to 25D.

【0031】この積和演算器25A〜25D内では、直
列に接続されたアキュムレータ26、27を使って、
(1)式と(2)式が交互に計算され、出力用レジスタ
28にDCT変換係数Y0 ,Y2 ,Y4 ,Y6 が、出力
用レジスタ29にY1 ,Y3 ,Y5 ,Y7 が得られる。
In the product-sum calculators 25A to 25D, accumulators 26 and 27 connected in series are used,
Equations (1) and (2) are calculated alternately, DCT conversion coefficients Y 0 , Y 2 , Y 4 and Y 6 are stored in the output register 28, and Y 1 , Y 3 , Y 5 and are stored in the output register 29. Y 7 is obtained.

【0032】これらDCT変換係数は、セレクタ30に
よりY0 ,Y1 ,Y2 ,Y3 ,Y4,Y5 ,Y6 ,Y7
の順に選択されて、データメモリ17に書込まれる。
These DCT transform coefficients are Y 0 , Y 1 , Y 2 , Y 3 , Y 4 , Y 5 , Y 6 , Y 7 by the selector 30.
Are selected in this order and written in the data memory 17.

【0033】上記したDCT演算回路に関する技術につ
いては、例えば特願平4−307662号「離散コサイ
ン変換装置および逆離散コサイン変換装置」に記載され
ている。
The technique relating to the above DCT arithmetic circuit is described in, for example, Japanese Patent Application No. 4-307662 "Discrete Cosine Transform Device and Inverse Discrete Cosine Transform Device".

【0034】(5)従来技術の第4の例 図11は従来技術の第4の例の8点1次元IDCT演算
回路の構成を示すブロック図である。従来技術の第3の
例と同様、この回路では、前記した従来技術の第1の例
と異なり、(1)式と(2)式の計算をクロックごとに
交互に行う。この図11において、図8、図10に示し
たものと同一の機能を果たすものには同一の符号を付し
ている。
(5) Fourth Example of Prior Art FIG. 11 is a block diagram showing the configuration of an 8-point one-dimensional IDCT arithmetic circuit of a fourth example of the prior art. Similar to the third example of the prior art, this circuit differs from the first example of the prior art described above in that the calculations of the equations (1) and (2) are alternately performed for each clock. In FIG. 11, elements having the same functions as those shown in FIGS. 8 and 10 are designated by the same reference numerals.

【0035】データメモリ2にはDCT変換係数が記憶
されており、そこから読み出されたDCT変換係数は、
0 ,Y1 ,Y2 ,Y3 ,Y4 ,Y5 ,Y6 ,Y7 の順
に4個の積和演算器25A〜25Dに送出される。
The data memory 2 stores the DCT transform coefficient, and the DCT transform coefficient read from it is
Y 0, Y 1, Y 2 , Y 3, Y 4, Y 5, Y 6, is sent in the order of Y 7 the four product-sum operation unit 25A to 25D.

【0036】ここで、係数メモリ8には、0番地から順
に、上記(3)式の係数行列の1列目、(4)式の係数
行列の1列目、(3)式の2列目、(4)式の2列目、
(3)式の3列目、(4)式の3列目、(3)式の4列
目、(4)式の4列目が記憶されている。
Here, in the coefficient memory 8, the first column of the coefficient matrix of the equation (3), the first column of the coefficient matrix of the equation (4), and the second column of the equation (3) in order from the address 0. , The second column of equation (4),
The third column of equation (3), the third column of equation (4), the fourth column of equation (3), and the fourth column of equation (4) are stored.

【0037】従って、0番地からアドレスを1つづ増加
させながら読み出すと、(3)式の係数行列内の各列の
4個の係数と、(4)式の係数行列内の各列の4個の係
数が交互に読み出される。そして、読み出された係数は
4個の積和演算器25A〜25Dに送られる。
Therefore, when the address is read from address 0 while incrementing by one, the four coefficients of each column in the coefficient matrix of equation (3) and the four coefficients of each column in the coefficient matrix of equation (4). The coefficients are alternately read. Then, the read coefficient is sent to the four product-sum calculators 25A to 25D.

【0038】積和演算器25A〜25D内では、直列に
接続されたアキュムレータ26、27を使用して、
(3)式と(4)式が交互に計算され、各々の出力用レ
ジスタ28に(X0 +X7 )/2,(X1 +X6 )/
2,(X2 +X5 )/2,(X3 +X4 )/2を、各々
の出力用レジスタ29に(X0 −X7 )/2,(X1
6)/2,(X2 −X5 )/2,(X3 −X4 )/2
を得ることができる。
In the product-sum calculators 25A to 25D, accumulators 26 and 27 connected in series are used.
Equations (3) and (4) are alternately calculated, and (X 0 + X 7 ) / 2, (X 1 + X 6 ) / are stored in the respective output registers 28.
2, (X 2 + X 5 ) / 2, (X 3 + X 4 ) / 2 are stored in the respective output registers 29 as (X 0 −X 7 ) / 2, (X 1
X 6) / 2, (X 2 -X 5) / 2, (X 3 -X 4) / 2
Can be obtained.

【0039】セレクタ31は、(X0 +X7 )/2,
(X1 +X6 )/2,(X2 +X5 )/2,(X3 +X
4 )/2,(X3 +X4 )/2,(X2 +X5 )/2,
(X1+X6 )/2,(X0 +X7 )/2の順に、また
セレクタ32は(X0 −X7 )/2,(X1 −X6 )/
2,(X2 −X5 )/2,(X3 −X4 )/2,(X3
−X4 )/2,(X2 −X5 )/2,(X1 −X6 )/
2,(X0 −X7 )/2の順にデータを選択し、加減算
器23に送る。
The selector 31 has (X 0 + X 7 ) / 2.
(X 1 + X 6 ) / 2, (X 2 + X 5 ) / 2, (X 3 + X
4) / 2, (X 3 + X 4) / 2, (X 2 + X 5) / 2,
(X 1 + X 6 ) / 2, (X 0 + X 7 ) / 2 in that order, and the selector 32 selects (X 0 −X 7 ) / 2, (X 1 −X 6 ) /
2, (X 2 -X 5) / 2, (X 3 -X 4) / 2, (X 3
-X 4) / 2, (X 2 -X 5) / 2, (X 1 -X 6) /
2, select the data in the order of (X 0 -X 7) / 2 , and sends the adder-subtracter 23.

【0040】この加減算器23においては、最初に4回
加算し、次に4回減算して、X0 ,X1 ,X2 ,X3
4 ,X5 ,X6 ,X7 の順に原信号をデータメモリ1
7に書込む。
In the adder / subtractor 23, first four times are added and then four times are subtracted to obtain X 0 , X 1 , X 2 , X 3 ,
The original signal is stored in the data memory 1 in the order of X 4 , X 5 , X 6 , X 7.
Write to 7.

【0041】このようなIDCT変換回路に関する技術
については、従来技術の第3の例と同様に、例えば特願
平4−307662号「離散コサイン変換装置および逆
離散コサイン変換装置」に記載されている。
The technology relating to such an IDCT conversion circuit is described in, for example, Japanese Patent Application No. 4-307662 "Discrete Cosine Transform Device and Inverse Discrete Cosine Transform Device", as in the third example of the prior art. .

【0042】[0042]

【0043】[0043]

【0044】[0044]

【発明が解決しようとする課題】ところが、上記した従
来技術の第1と第3の例に示したDCT演算回路におい
ては、データメモリからX0 ,X1 ,X2 ,X3 ,X
4 ,X5 ,X6 ,X7 の順に読み出された原信号を並べ
直し、2個を組にする必要がある。
However, in the DCT arithmetic circuits shown in the above-mentioned first and third examples of the prior art, the data memory is connected to X 0 , X 1 , X 2 , X 3 , X 3 .
It is necessary to rearrange the original signals read in the order of 4 , X 5 , X 6 , and X 7 to form a pair.

【0045】つまり、DCT演算回路においては、デー
タメモリからX0 ,X1 ,X2 ,・・・・・・・・,X
n- 2 ,Xn- 1 の順に読み出した原信号を、Xn- 1 ,Xn-
2 ,Xn- 3 ,・・・・・・,Xn/ 2 ,Xn- 1 ,Xn- 2
n- 3 ,・・・・・,Xn/ 2およびX0 ,X1 ,X2
・・・・・,Xn/2- 1 ,X0 ,X1 ,X2 ,・・・,X
n/2- 1 の2組の系列に並べ替える必要があり、そのため
回路が複雑になるという問題がある。
That is, in the DCT arithmetic circuit, X 0 , X 1 , X 2 , ...
The original signals read out in the order of n - 2 and Xn - 1 are used as Xn - 1 and Xn-
2 , X n- 3 , ..., X n / 2 , X n- 1 , X n- 2 ,
X n- 3 , ..., X n / 2 and X 0 , X 1 , X 2 ,
·····, X n / 2- 1, X 0, X 1, X 2, ···, X
n / 2-1 of must be sorted into two sets of sequences, there is a problem that because the circuit becomes complicated.

【0046】また、この従来技術の第1と第3の例に示
したDCT演算回路において、積和演算器の出力をデー
タメモリに送る回路と、従来技術の第2と第4の例に示
したIDCT演算回路において、積和演算器から出力さ
れる(X0 +X7 )/2,(X1 +X6 )/2,(X2
+X5 )/2,(X3 +X4 )/2,(X0 −X7 )/
2,(X1 −X6 )/2,(X2 −X5 )/2,(X3
−X4 )/2を並び替えて加減算器に送る回路の構成が
異なるので、CDT演算とIDCT演算の両方を実行可
能な回路を構成するとき、DCT演算用の構成とIDC
T演算用の構成を別々に持たねばならないという問題が
ある。
Further, in the DCT arithmetic circuits shown in the first and third examples of the prior art, a circuit for sending the output of the product-sum arithmetic unit to the data memory and the second and fourth examples of the prior art are shown. In the IDCT arithmetic circuit, (X 0 + X 7 ) / 2, (X 1 + X 6 ) / 2, (X 2
+ X 5) / 2, ( X 3 + X 4) / 2, (X 0 -X 7) /
2, (X 1 -X 6) / 2, (X 2 -X 5) / 2, (X 3
Since the configuration of the circuit that rearranges −X 4 ) / 2 and sends it to the adder / subtractor is different, when configuring a circuit that can execute both the CDT operation and the IDCT operation, the configuration for the DCT operation and the IDC operation
There is a problem that a separate structure for T calculation must be provided.

【0047】つまり、n/2個の積和演算器を用いる場
合には、DCT演算回路において積和演算器の出力をデ
ータメモリに送る回路と、IDCT演算回路において積
和演算器からの出力を加減算器に送る回路の構成が異な
るという問題があった。
That is, when n / 2 product-sum calculators are used, a circuit for sending the output of the product-sum calculator to the data memory in the DCT calculator and an output from the product-sum calculator in the IDCT calculator are provided. There has been a problem that the circuit configuration sent to the adder / subtractor is different.

【0048】[0048]

【0049】[0049]

【0050】本発明は、このような問題を解決するため
に成されたものであり、その第1の目的は、データメモ
リから原信号を読み出して加減算器に送るためのハード
量の少ないDCT演算器を提供することである。
The present invention has been made to solve such a problem, and a first object thereof is a DCT operation with a small amount of hardware for reading an original signal from a data memory and sending it to an adder / subtractor. Is to provide a vessel.

【0051】第2の目的は、DCT演算回路の積和演算
器の出力をデータメモリに送る回路と、IDCT演算回
路の積和演算器から出力されるデータを並び替えて加減
算器に送る回路の構成を同一とすることを可能にするこ
とである。
A second object is to provide a circuit for sending the output of the product-sum operation unit of the DCT operation circuit to the data memory and a circuit for rearranging the data output from the product-sum operation unit of the IDCT operation circuit and sending it to the adder-subtractor. It is possible to make the configurations the same.

【0052】[0052]

【0053】[0053]

【課題を解決するための手段】このための第1の発明の
DCT演算回路は、原信号をアドレスの下位側から上位
側にX0 ,X1 ,X2 ,・・・,Xn-2 ,Xn-1 [n=
k(k=1,2,3,・・・)]の順番で記憶した第1
のデータメモリと、上記第1のデータメモリからX0
n-1 ,X1 ,Xn-2 ,X2 ,Xn-3 ,・・・・,X
n/2-1 ,Xn/2の順で原信号を読み出すアドレスを生成
する第1のアドレス生成回路と、上記第1のデータメモ
リから読み出されたデータを記憶する中間レジスタと、
上記中間レジスタに記憶されたデータを入力して加算と
減算を繰り返し、X0+Xn-1 ,X0−Xn-1 ,X1+X
n-2 ,X1−Xn-2 ,X2+Xn-3 ,X2−Xn-3 ,・・
・・・・・・,Xn/2-1+Xn/2 ,Xn/2-1−Xn/2の順
に計算する加減算器と、上記加減算器の出力をX0+X
n-1から順にクロックごとにシフトするシフトレジスタ
と、上記シフトレジスタを構成する複数のレジスタの内
の1段置きのn/2個のレジスタにそれぞれ対応してい
て、対応するレジスタに格納されたデータを取り込み、
最初のレジスタにX0+Xn-1が記憶されたとき、最初の
積和演算器が積和演算を開始し、その後2クロックごと
に次々の積和演算器が演算を開始するn/2個の積和演
算器と、上記n/2個の積和演算器にDCT演算用のn
/2個の係数を個々に一度に送る係数メモリと、上記n
/2個の積和演算器からDCT係数をY0 ,Y1
2 ,・・・・・,Yn-2 ,Yn-1の順番で取り出す手
段と、上記DCT係数をアドレスの下位側から上位側に
0 ,Y1 ,Y2 ,・・・,Yn-2,Yn-1の順番で記憶
する第2のデータメモリと、上記DCT係数をY0 ,Y
1,Y2 ,・・・・・,Yn-2 ,Yn-1の順番で上記第2
のデータメモリに対して書き込むアドレスを与える第2
のアドレス生成回路と、を具備するよう構成した。
Means for Solving the Problems] DCT calculation circuit of the first aspect of the invention for this is, X 0 the original signal from the lower side of the address to the upper side, X 1, X 2, ··· , X n-2 , X n-1 [n =
2 k (k = 1, 2, 3, ...)]
From the first data memory and X 0 ,
X n-1 , X 1 , X n-2 , X 2 , X n-3 , ..., X
n / 2-1, the intermediate register for storing a first address generation circuit for generating an address for reading out sequentially with the original signal X n / 2, the data read out from the first data memory,
The data stored in the intermediate register is input, addition and subtraction are repeated, and X 0 + X n-1 , X 0 -X n-1 , X 1 + X
n-2, X 1 -X n -2, X 2 + X n-3, X 2 -X n-3, ··
........, X n / 2-1 + X n / 2 , X n / 2-1 −X n / 2 are calculated in this order, and the output of the adder / subtractor is X 0 + X
It corresponds to a shift register that shifts in sequence from n-1 for each clock, and n / 2 registers at every other stage among a plurality of registers that form the shift register.
The data stored in the corresponding register ,
When X 0 + X n-1 is stored in the first register, the first multiply-accumulate operator starts the multiply-accumulate operation, and then, every two clocks, the successive multiply-accumulate operator starts the arithmetic operation n / 2 And the n / 2 product-sum calculators for DCT calculation
A coefficient memory for sending / 2 coefficients individually at a time,
DCT coefficients Y 0 , Y 1 ,
Y 2 , ..., Y n-2 , Y n-1 are taken out in this order, and the DCT coefficients are read from the lower address side to the higher address side of Y 0 , Y 1 , Y 2 ,. A second data memory that stores Y n-2 and Y n-1 in this order, and the DCT coefficients Y 0 and Y
The second in the order of 1 , Y 2 , ..., Y n-2 , Y n-1 .
Second to give the address to write to the data memory of
And an address generation circuit of.

【0054】第2の発明のIDCT演算回路は、DCT
係数をアドレスの下位側から上位側にY0 ,Y1
2 ,・・・・・,Yn-2 ,Yn-1[n=2k(k=1,
2,3,・・・)]の順番で記憶した第1のデータメモ
リと、上記第1のデータメモリからY0 ,Y1 ,Y2
・・・・,Yn-2 ,Yn-1の順番でDCT係数を読み出
すアドレスを与える第1のアドレス生成回路と、上記第
1のデータメモリから読み出されたデータをY0から順
にクロックごとにシフトするシフトレジスタと、上記シ
フトレジスタを構成する複数のレジスタの内の1段置き
n/2個のレジスタにそれぞれ対応していて、対応す
るレジスタに格納されたデータを取り込み、最初のレジ
スタにDCT係数Y0が記憶されたとき、最初の積和演
算器が積和演算を開始して、その後2クロックごとに次
々の積和演算器が演算を開始するn/2個の積和演算器
と、上記n/2個の積和演算器にIDCT演算用のn/
2個の係数を個々に一度に送る係数メモリと、上記した
n/2個の積和演算器から得られる(X0+Xn-1)/2,
(X0−Xn-1)/2 ,(X1+Xn-2)/2 ,(X1
n-2)/2 ,(X2+Xn-3)/2 ,(X2−Xn-3)/2,
・・・・・・・・,(Xn/2-1+Xn/2)/2 ,(Xn/2-1
−Xn/2)/2を記憶する中間レジスタと、上記中間レジ
スタに記憶されたデータを入力して加算と減算を繰り返
し、X0,Xn-1 ,X1,Xn-2 ,X2 ,Xn-3 ,・・・
・・・・・,Xn/2-1 ,Xn/2の順に計算して原信号を
得る加減算器と、原信号をアドレスの下位側から上位側
にX0 ,X1 ,X2 ,・・・Xn-2 ,Xn-1の順番で記
憶する第2のデータメモリと、上記加減算器から出力さ
れる原信号を上記第2のデータメモリに対して、X0
n-1 ,X1 ,Xn-2 ,X2 ,Xn-3 ,・・・・・,X
n/2-1 ,Xn/2の順に書き込むアドレスを生成する第2
のアドレス生成回路と、を具備するよう構成した。
The IDCT arithmetic circuit of the second invention is a DCT.
Coefficients from the lower address side to the higher address side of Y 0 , Y 1 ,
Y 2 , ..., Y n-2 , Y n-1 [n = 2 k (k = 1,
2, 3, ...)] stored in the order of the first data memory and Y 0 , Y 1 , Y 2 ,
..., a first address generating circuit for providing the address for reading the DCT coefficients in the order of Y n-2, Y n- 1, the data read out from said first data memory from Y 0 It corresponds to a shift register that shifts in sequence for each clock, and n / 2 registers at every other stage among a plurality of registers that constitute the shift register .
When the data stored in the register is fetched and the DCT coefficient Y 0 is stored in the first register, the first product-sum operation unit starts the product-sum operation, and thereafter, every two clocks Of n / 2 product-sum calculators that start calculation and n / n for IDCT calculation in the n / 2 product-sum calculators.
(X 0 + X n-1 ) / 2 obtained from the coefficient memory for sending two coefficients individually at one time and the above n / 2 product-sum calculators
(X 0 -X n-1) / 2, (X 1 + X n-2) / 2, (X 1 -
X n-2) / 2, (X 2 + X n-3) / 2, (X 2 -X n-3) / 2,
・ ・ ・ ・ ・ ・ ・ ・, (X n / 2-1 + X n / 2 ) / 2, (X n / 2-1
-X n / 2 ) / 2, and the data stored in the intermediate register are input and addition and subtraction are repeated to obtain X 0 , X n-1 , X 1 , X n-2 , X. 2 , X n-3 , ...
·····, X n / 2-1, X 0 and adder-subtracter which calculates the order of X n / 2 to obtain an original signal, the original signal from the lower side of the address to the upper side, X 1, X 2, ... A second data memory that stores X n-2 and X n-1 in this order, and an original signal that is output from the adder / subtractor to the second data memory, X 0 ,
X n-1 , X 1 , X n-2 , X 2 , X n-3 , ..., X
Second to generate addresses to be written in the order of n / 2-1 and X n / 2
And an address generation circuit of.

【0055】[0055]

【0056】[0056]

【0057】[0057]

【0058】[0058]

【0059】[0059]

【作用】本発明では、まず、DCT演算回路において、
第1のデータメモリからX0 ,Xn- 1 ,X1 ,Xn- 2
2 ,Xn- 3 ,・・・・・・・,Xn/2- 1 ,Xn/ 2 の順
に原信号を読み出すので、原信号を並べ直す回路が不要
となる。
In the present invention, first, in the DCT arithmetic circuit,
From the first data memory, X 0 , X n- 1 , X 1 , X n- 2 ,
X 2, X n- 3, ······· , since reading the X n / 2- 1, X n / 2 of the original signal in order, circuit rearranging the original signal is not required.

【0060】また、DCT演算回路において積和演算器
の出力をデータメモリに送る回路と、IDCT演算回路
において積和演算器から出力されるデータを並べ替えて
加減算器に送る回路の構成を同一にすることができるの
で、この回路をDCT演算回路およびIDCT演算回路
に共通化できる。
Further, the circuit of sending the output of the product-sum operator to the data memory in the DCT operation circuit and the circuit of sending the data output from the product-sum operator to the adder / subtractor in the IDCT operation circuit have the same configuration. Therefore, this circuit can be shared by the DCT operation circuit and the IDCT operation circuit.

【0061】更に、n/2個の乗算器とそれらの出力を
加算する加算器で構成される積和演算器を用いてDCT
演算器又はIDCT演算器を構成するとき、DCT演算
器又はIDCT演算器に与える原信号又はDCT係数は
データメモリから1個づつ読み出される。
Further, a DCT is performed by using a product-sum operator composed of n / 2 multipliers and an adder for adding their outputs.
When configuring the arithmetic unit or the IDCT arithmetic unit, the original signal or the DCT coefficient given to the DCT arithmetic unit or the IDCT arithmetic unit is read from the data memory one by one.

【0062】[0062]

【実施例】以下、本発明の実施例について説明する。EXAMPLES Examples of the present invention will be described below.

【0063】(1)第1の実施例 図1は第1の実施例の8点1次元DCT演算回路の構成
を示すブロック図である。この回路では、(1)式と
(2)式の計算をクロックごとに交互に行い、また、積
和演算器44A〜44Dにおける演算の開始を2クロッ
クづつ遅らせ、シフトレジスタ43を原信号がシフトさ
れていくのに合わせて行列演算を行う。この結果、DC
T演算係数Y0 ,Y1 ,Y2 ,Y3 ,Y4 ,Y5 ,Y
6 ,Y7 が1クロックごとに得られる。
(1) First Embodiment FIG. 1 is a block diagram showing the configuration of an 8-point one-dimensional DCT arithmetic circuit of the first embodiment. In this circuit, the calculation of the formulas (1) and (2) is alternately performed for each clock, and the start of the calculation in the product-sum calculators 44A to 44D is delayed by two clocks to shift the shift register 43 to the original signal. Matrix operation is performed as it is done. As a result, DC
T calculation coefficient Y 0 , Y 1 , Y 2 , Y 3 , Y 4 , Y 5 , Y
6 and Y 7 are obtained every clock.

【0064】後記するアドレス生成回路39は0,7,
1,6,2、5、3、4の順でアドレスを生成すること
が可能であり、原信号はデータメモリ2からクロックご
とにX0 ,X7 ,X1 ,X6 ,X2 ,X5 ,X3 ,X4
の順に読み出される。
The address generation circuit 39, which will be described later, has 0, 7,
It is possible to generate addresses in the order of 1 , 6 , 2 , 5 , 3 , 4, and the original signals are X 0 , X 7 , X 1 , X 6 , X 2 , X from the data memory 2 for each clock. 5 , X 3 , X 4
Are read in this order.

【0065】X0 ,X1 ,X2 ,X3 はレジスタ40に
送られ、さらに次のクロックの立ち上がりに同期してレ
ジスタ41に転送される。X7 ,X6 ,X5 ,X4 はレ
ジスク42に送られる。これらレジスタ40〜42は中
間レジスタを構成する。
X 0 , X 1 , X 2 and X 3 are sent to the register 40 and further transferred to the register 41 in synchronization with the next rising edge of the clock. X 7 , X 6 , X 5 , and X 4 are sent to the resist 42. These registers 40 to 42 form an intermediate register.

【0066】よって、加減算器7は、X0 +X7 ,X0
−X7 ,X1 +X6 ,X1 −X6 ,X2 +X5 ,X2
5 ,X3 +X4 ,X3 −X4 の順に計算し、その結果
を順次シフトレジスタ43に送る。
Therefore, the adder / subtractor 7 uses X 0 + X 7 , X 0.
-X 7 , X 1 + X 6 , X 1 -X 6 , X 2 + X 5 , X 2-
X 5 , X 3 + X 4 , X 3 −X 4 are calculated in this order, and the result is sequentially sent to the shift register 43.

【0067】シフトレジスタ43は、X0 +X7 ,X0
−X7 ,X1 +X6 ,X1 −X6 ,X2 +X5 ,X2
5 ,X3 +X4 ,X3 −X4 を2クロックづつ遅延さ
せて4個の積和演算器44A〜44Dに送る。
The shift register 43 has X 0 + X 7 , X 0.
-X 7 , X 1 + X 6 , X 1 -X 6 , X 2 + X 5 , X 2-
X 5 , X 3 + X 4 , and X 3 -X 4 are delayed by 2 clocks each and sent to the four product-sum calculators 44A to 44D.

【0068】係数メモリ8の偶数番地に(1)式の係数
行列、奇数番地に(2)式の係数行列が記憶されている
ことは、前述した従来技術の例3と同様であるが、係数
行列内各列の係数は矢印付き破線で示したように、2番
地づつシフトされている。
The fact that the coefficient matrix of the equation (1) is stored in the even addresses of the coefficient memory 8 and the coefficient matrix of the equation (2) is stored in the odd addresses is the same as in the case of the prior art example 3 described above. The coefficient of each column in the matrix is shifted by 2 addresses as shown by the broken line with an arrow.

【0069】従って、0番地からアドレスを1つづ増加
させながら読み出すと、X0 +X7,X0 −X7 ,X1
+X6 ,X1 −X6 ,X2 +X5 ,X2 −X5 ,X3
4,X3 −X4 が各積和演算器44A〜44Dに送ら
れるタイミングで、係数メモリ8から上記(1)式、
(2)式を交互に計算するために必要な係数が、各積和
演算器44A〜44Dに送られる。
Therefore, when the address is read from the address 0 while incrementing the address by one, X 0 + X 7 , X 0 -X 7 , X 1
+ X 6 , X 1 -X 6 , X 2 + X 5 , X 2 -X 5 , X 3 +
At the timing when X 4 and X 3 -X 4 are sent to each of the product-sum calculators 44A to 44D, the above-mentioned formula (1) from the coefficient memory 8
Coefficients required to alternately calculate the equation (2) are sent to the product-sum calculators 44A to 44D.

【0070】このため、各積和演算器44A〜44Dの
レジスタ45a〜45dで(1)式の累算を行い、レジ
スタ46a〜46dで(2)式の累算を行えば、1クロ
ックつづ遅れて、レジスタ45aにY0 、レジスタ46
aにY1 、レジスタ45bにY2 、レジスタ46bにY
3 、・・・・を得ることができるので、Y0 ,Y1 ,Y
2 ,Y3 ,Y4 ,Y5 ,Y6 ,Y7 の順でデータメモリ
17に書き込むことができる。なお、47〜49はセレ
クタである。
Therefore, if the accumulation of the equation (1) is performed in the registers 45a to 45d of each of the product-sum calculators 44A to 44D and the accumulation of the equation (2) is performed in the registers 46a to 46d, one clock is delayed. The register 45a with Y 0 and the register 46 with
Y 1 for a, Y 2 for register 45b, Y for register 46b
3, it is possible to obtain a ····, Y 0, Y 1, Y
Data can be written in the data memory 17 in the order of 2 , Y 3 , Y 4 , Y 5 , Y 6 , and Y 7 . Incidentally, 47 to 49 are selectors.

【0071】図2は上記したアドレス生成回路39の構
成を示すブロック図である。50は加算器、51はアド
レスポインタ、52はex−ORゲートである。このe
x−ORゲート52の働きにより、4ビットのアドレス
ポインタ51のLSBが0のとき、MSB3ビットはそ
のままアドレスとして出力され、LSBが1のときには
反転して出力される。
FIG. 2 is a block diagram showing the structure of the address generating circuit 39 described above. 50 is an adder, 51 is an address pointer, and 52 is an ex-OR gate. This e
Due to the function of the x-OR gate 52, when the LSB of the 4-bit address pointer 51 is 0, the MSB 3 bits are directly output as an address, and when the LSB is 1, they are inverted and output.

【0072】従って、初期値を0000とすると、アド
レスは次のように変化する。 000→反転000→001→反転001→010→反
転010→011→反転011 000→111→001→110→010→101→0
11→100 すなわち、上記を10進数で表すと、次のようになる。 0→7→1→6→2→5→3→4
Therefore, when the initial value is 0000, the address changes as follows. 000 → inversion 000 → 001 → inversion 001 → 010 → inversion 010 → 011 → inversion 011 000 → 111 → 001 → 110 → 010 → 101 → 0
11 → 100 That is, when the above is expressed in decimal, it becomes as follows. 0 → 7 → 1 → 6 → 2 → 5 → 3 → 4

【0073】なお、上記では0番地からアドレスを生成
する場合についてのみ説明したが、データメモリのアド
レスの下位3ビットが0であるアドレスを初期値とする
連続した8アドレスに対して、本方法でアドレスを生成
すれば、データメモリ中の下位3ビットが0であるアド
レスから始まる連続した8番地に原信号を置くことがで
きる。
Although only the case of generating an address from address 0 has been described above, this method is applied to eight consecutive addresses whose initial value is an address in which the lower 3 bits of the address of the data memory are 0. When the address is generated, the original signal can be placed at consecutive 8 addresses starting from the address in which the lower 3 bits in the data memory are 0.

【0074】以上のようにこの第1の実施例のアドレス
生成回路は、アドレスポインタのビット長を下位側に1
ビット拡張し、LSBを除いて1ビット目からkビット
目(k=1,2,3,・・・)、すなわちデータメモリ
に与えるアドレスの下位kビットを、一方の入力を下位
kビットの個々のビット、他方の入力をアドレスポイン
タのLSBとするk個の2入力ex−ORゲートを通し
て当該データメモリに与えるものである。
As described above, in the address generation circuit of the first embodiment, the bit length of the address pointer is set to 1 in the lower order.
Bit expansion is performed to exclude the LSB from the 1st bit to the kth bit (k = 1, 2, 3, ...), that is, the lower k bits of the address to be given to the data memory. Of 2 bits, and the other input is given to the data memory through k 2-input ex-OR gates having the LSB of the address pointer.

【0075】このアドレス生成回路は、データメモリに
与えるアドレスにおける下位kビット、言い替えるとア
ドレスポインタにおける下位k+1ビットがすべて0で
あるアドレスAよりアドレスポインタの値を+1づつ増
加させることにより、A+0,A+(n−1),A+
1,A+(n−2),A+2、A+(n−3),・・・
・・,A+(n/2−1),A+(n/2)の順(n=
k )でアドレスを生成する。
This address generation circuit increments the value of the address pointer by +1 from the address A in which the lower k bits of the address given to the data memory, in other words, the lower k + 1 bits of the address pointer are all 0, thereby increasing A + 0, A +. (N-1), A +
1, A + (n-2), A + 2, A + (n-3), ...
.., A + (n / 2−1), A + (n / 2) in that order (n =
2 k ) to generate an address.

【0076】(2)第2の実施例 図3は本発明の第2の実施例の8点1次元IDCT演算
回路の構成を示すブロック図である。この回路では、
(3)式と(4)式の計算をクロックごとに交互に行
う。また、積和演算器44A〜44Dにおける演算の開
始を2クロックづづ遅らせ、シフトレジスタ43をDC
T変換係数がシフトされていくのに合わせて積和演算を
行うことにより、X0 ,X7 ,X1 ,X6 ,X2 ,X
5 ,X3 ,X4の原信号が1クロックづづ遅れて得られ
る。
(2) Second Embodiment FIG. 3 is a block diagram showing the configuration of an 8-point one-dimensional IDCT arithmetic circuit according to the second embodiment of the present invention. In this circuit,
Equations (3) and (4) are calculated alternately for each clock. In addition, the start of calculation in the product-sum calculators 44A to 44D is delayed by 2 clocks, and the shift register 43 is set to DC
By performing the sum of products operation as the T transform coefficient is being shifted, X 0 , X 7 , X 1 , X 6 , X 2 , X
The original signals of 5 , X 3 , X 4 are obtained with a delay of one clock.

【0077】データメモリ2から読み出されたDCT変
換係数はY0 ,Y1 ,Y2 ,Y3 ,Y4 ,Y5 ,Y6
7 の順に、クロックごとにシフトレジスタ43を移動
し、DCT変換係数は2クロックづづ遅延しながら積和
演算器44A〜44Dに送られる。
The DCT transform coefficients read from the data memory 2 are Y 0 , Y 1 , Y 2 , Y 3 , Y 4 , Y 5 , Y 6 ,
The shift register 43 is moved for each clock in the order of Y 7 , and the DCT transform coefficient is sent to the product-sum calculators 44A to 44D while being delayed by 2 clocks.

【0078】係数メモリ8には、前記従来技術の例4と
同様、偶数番地には(3)式の係数行列、奇数番地には
(4)式の係数行列が記憶されているが、係数行列内各
列の係数は、矢印付き破線で示したように2番地づづシ
フトされている。
The coefficient memory 8 stores the coefficient matrix of equation (3) at even addresses and the coefficient matrix of equation (4) at odd addresses, as in the case of the prior art example 4. The coefficient in each column is shifted by 2 addresses as indicated by the broken line with an arrow.

【0079】従って、0番地からアドレスを1つづ増加
させながら読み出すと、Y0 ,Y1,Y2 ,Y3 ,Y
4 ,Y5 ,Y6 ,Y7 が各積和演算器44A〜44Dに
送られるタイミングで係数メモリ7から上記(3)式、
(4)式を交互に計算するために必要な係数が各積和演
算器44A〜44Dに送られる。
Therefore, if the address is read from address 0 while incrementing by one, Y 0 , Y 1 , Y 2 , Y 3 , Y
4 , Y 5 , Y 6 , and Y 7 are sent from the coefficient memory 7 to the above equation (3) at the timing when they are sent to the respective product-sum calculators 44A to 44D.
Coefficients required to alternately calculate the equation (4) are sent to the product-sum calculators 44A to 44D.

【0080】このため、レジスタ45a〜45dで
(3)式の累算を、レジスタ46a〜46dで(4)式
の累算を行えば、1クロックづづ遅れてレジスタ45a
に(X0+X7 )/2、レジスタ46aに(X0 −X
7 )/2、レジスタ45bに(X1+X6 )/2、レジ
スタ46bに(X1 −X6 )/2、・・・・・・を得る
ことができる。
Therefore, if the accumulation of the formula (3) is performed in the registers 45a to 45d and the accumulation of the formula (4) is performed in the registers 46a to 46d, the register 45a is delayed by one clock.
To (X 0 + X 7 ) / 2, and to the register 46 a (X 0 −X 7
7) / 2, in register 45b (X 1 + X 6) / 2, in register 46b (X 1 -X 6) / 2, can be obtained .......

【0081】この次に、(X0 +X7 )/2,(X1
6 )/2,(X2 +X5 )/2,(X3 +X4 )/2
をレジスタ53に送り、更に次のクロックの立ち上がり
に同期してレジスタ54にシフトし、また、(X0 −X
7 )/2,(X1 −X6 )/2,(X2 −X5 )/2,
(X3 −X4 )/2をレジスタ55に送ると、加減算器
23で加算と減算を交互に繰り返すことによって、X
0 ,X7 ,X1 ,X6 ,X2 ,X5 ,X3 ,X4 の順に
原信号を計算することができる。上記レジスタ53〜5
5は中間レジスタを構成する。
Next, (X 0 + X 7 ) / 2, (X 1 +
X 6 ) / 2, (X 2 + X 5 ) / 2, (X 3 + X 4 ) / 2
To the register 53, shift to the register 54 in synchronization with the next rising edge of the clock, and (X 0 -X
7) / 2, (X 1 -X 6) / 2, (X 2 -X 5) / 2,
When (X 3 −X 4 ) / 2 is sent to the register 55, the adder / subtractor 23 alternately repeats addition and subtraction to obtain X
The original signal can be calculated in the order of 0 , X 7 , X 1 , X 6 , X 2 , X 5 , X 3 , X 4 . Registers 53 to 5 above
5 constitutes an intermediate register.

【0082】アドレス生成回路39は、0,7,1,
6,2,5,3,4の順番で、アドレスを生成すること
が可能であり、原信号はデータメモリ16にクロックご
とに、X0 ,X7 ,X1 ,X6 ,X2 ,X5 ,X3 ,X
4 の順に書き込まれる。
The address generation circuit 39 uses 0, 7, 1,
Addresses can be generated in the order of 6 , 2 , 5 , 3 , 4, and the original signals are stored in the data memory 16 every clock as X 0 , X 7 , X 1 , X 6 , X 2 , X. 5 , X 3 , X
It is written in the order of 4 .

【0083】(3)第1の参考例 図4は本発明に関連する第1の参考例の8点1次元DC
T演算回路の構成を示すブロック図である。この回路で
は、前記従来技術の第3の例、および前記第1の実施例
同様に、(1)式、(2)式の計算をクロックごとに行
い、また前記の従来技術の第1と第3の例と同様に積和
演算器44A〜44Dにおいて演算を同時に開始する。
(3) No.Reference example of 1 FIG. 4 shows the present inventionFirst reference example related to8 points 1-dimensional DC
It is a block diagram which shows the structure of T arithmetic circuit. In this circuit
Are the third example of the prior art and the first example.
Similarly, calculation of equations (1) and (2) is performed for each clock.
Also, as in the first and third examples of the prior art described above, the sum of products
The arithmetic operations are simultaneously started in the arithmetic units 44A to 44D.

【0084】加減算器7で、原信号がX0 +X7 ,X0
−X7 ,X1 +X6 ,X1 −X6 ,X2 +X5 ,X2
5 ,X3 +X4 ,X3 −X4 の順に計算されること
は、前記の第1の実施例と同様であるが、その結果は4
個の積和演算器44A〜44Dに送られる。
In the adder / subtractor 7, the original signals are X 0 + X 7 , X 0.
-X 7 , X 1 + X 6 , X 1 -X 6 , X 2 + X 5 , X 2-
The calculation in the order of X 5 , X 3 + X 4 , X 3 −X 4 is the same as in the first embodiment, but the result is 4
It is sent to each of the product-sum calculators 44A to 44D.

【0085】係数メモリ8における係数の配置は、前記
従来技術の第3の例と同一であり、偶数番地には(1)
式の係数行列、奇数番地には(2)式の係数行列が記憶
されている。
The arrangement of coefficients in the coefficient memory 8 is the same as in the third example of the prior art described above, and (1) is assigned to even addresses.
The coefficient matrix of the expression, and the coefficient matrix of the expression (2) is stored in the odd address.

【0086】計算の順番も従来技術の第3の例と同一で
あり、レジスタ45a〜45dで(1)式の累算を、レ
ジスタ46a〜46dで(2)式の累算を行うことよ
り、最初にレジスタ45a〜45dにY0 ,Y2 ,Y
4 ,Y6 を、次のクロックでレジスタ46a〜46dに
1 ,Y3 ,Y5 ,Y7 を得ることができる。
The order of calculation is also the same as that of the third example of the prior art, and by performing the accumulation of the equation (1) in the registers 45a to 45d and the accumulation of the equation (2) in the registers 46a to 46d, First, the registers 45a to 45d are provided with Y 0 , Y 2 , and Y.
4 , Y 6 and Y 1 , Y 3 , Y 5 , and Y 7 can be obtained in the registers 46a to 46d at the next clock.

【0087】シフトレジスタ56はクロックごとにデー
タをシフトしており、Y0 ,Y2 ,Y4 ,Y6 が得られ
た次のクロックでそれらのDCT変換係数をシフトレジ
スタ56に転送し、続けてY1 ,Y3 ,Y5 ,Y7 を転
送すると、Y0 ,Y1 ,Y2,Y3 ,Y4 ,Y5 ,Y
6 ,Y7 の順でデータメモリ17に書き込むことができ
る。
The shift register 56 shifts data every clock, transfers the DCT transform coefficients to the shift register 56 at the next clock when Y 0 , Y 2 , Y 4 and Y 6 are obtained, and continues. If you transfer Y 1, Y 3, Y 5 , Y 7 Te, Y 0, Y 1, Y 2, Y 3, Y 4, Y 5, Y
Data can be written in the data memory 17 in the order of 6 and Y 7 .

【0088】なお、本実施例においては、積和演算器4
4A〜44Dの代わりに、従来技術の第3および第4の
例で示した積和演算器25A〜25Dを使用することも
できる。
In the present embodiment, the product-sum calculation unit 4
Instead of 4A to 44D, the product-sum calculators 25A to 25D shown in the third and fourth examples of the related art can be used.

【0089】(3)第2の参考例 図5は本発明に関連する第2の参考例の8点1次元ID
CT演算回路の構成を示すブロック図である。この回路
では、前記従来技術の第4の例、および第2の実施例と
同様に、(3)式、(4)式の計算をクロックごとに交
互に行い、また前記の従来技術の第2と第4の例と同様
に積和演算器44A〜44Dにおいて演算を同時に開始
する。
(3) No.Reference example of 2 FIG. 5 shows the present inventionSecond reference example related to8 points 1-dimensional ID
It is a block diagram showing a configuration of a CT arithmetic circuit. This circuit
Then, with the fourth example and the second example of the prior art described above,
Similarly, the calculation of equations (3) and (4) is exchanged for each clock.
Mutually performed and similar to the second and fourth examples of the prior art described above.
Simultaneously start calculation in the product-sum calculators 44A to 44D
To do.

【0090】データメモリ2からY0 ,Y1 ,Y2 ,Y
3 ,Y4 ,Y5 ,Y6 ,Y7 の順に読み出されたDCT
変換係数は、従来技術の第4の例と同様に、4個の積和
演算器44a〜44Dに送出される。
From data memory 2 to Y 0 , Y 1 , Y 2 , Y
DCT read in the order of 3 , Y 4 , Y 5 , Y 6 , and Y 7.
The conversion coefficient is sent to the four product-sum calculators 44a to 44D, as in the fourth example of the related art.

【0091】また、係数メモリ8における係数の配置も
従来技術の第4の例と同一であり、前記図11と同様
に、偶数番地には(3)式の係数行列、奇数番地には
(4)式の係数行列が記憶されている。
The arrangement of the coefficients in the coefficient memory 8 is also the same as in the fourth example of the prior art. As in the case of FIG. 11, the coefficient matrix of equation (3) is used for even addresses and (4) for odd addresses. The coefficient matrix of the equation is stored.

【0092】更に、計算の順序も従来技術の第4の例と
同一であり、レジスタ45a〜45dで(3)式の累算
を、レジスタ46a〜46dで(4)式の行うことによ
り、最初にレジスタ45a〜45dに(X0 +X7 )/
2,(X1 +X6 )/2,(X2 +X5 )/2,(X3
+X4 )/2を得、次のクロックで、レジスタ46a〜
46dに(X0 −X7 )/2,(X1 −X6 )/2,
(X2 −X5 )/2,(X3 −X4 )/2を得ることが
できる。
Furthermore, the order of calculation is the same as that of the fourth example of the prior art. First, by performing the accumulation of equation (3) in registers 45a to 45d and the equation (4) in registers 46a to 46d, In the registers 45a to 45d, (X 0 + X 7 ) /
2, (X 1 + X 6 ) / 2, (X 2 + X 5 ) / 2, (X 3
+ X 4 ) / 2 is obtained, and at the next clock, the register 46a-
To 46d (X 0 -X 7) / 2, (X 1 -X 6) / 2,
(X 2 -X 5) / 2 , can be obtained (X 3 -X 4) / 2 .

【0093】次に、 (X0 +X7 )/2,(X1 +X
6 )/2,(X2 +X5 )/2,(X3 +X4 )/2が
得られた次のクロックでそれらはシフトレジスタ56に
転送さ、続けて(X0 −X7 )/2,(X1 −X6 )/
2,(X2 −X5 )/2,(X3 −X4 )/2が転送さ
れる。
Next, (X 0 + X 7 ) / 2, (X 1 + X)
6 ) / 2, (X 2 + X 5 ) / 2, (X 3 + X 4 ) / 2 are obtained, they are transferred to the shift register 56 at the next clock, followed by (X 0 −X 7 ) / 2. , (X 1 -X 6) /
2, (X 2 -X 5) / 2, (X 3 -X 4) / 2 is transferred.

【0094】レジスタ53〜55と加減算器23の機能
は前記実施例2と同一であり、X0,X7 ,X1 ,X
6 ,X2 ,X5 ,X3 ,X4 の順に原信号が得られる。
The functions of the registers 53 to 55 and the adder / subtractor 23 are the same as those in the second embodiment, and X 0 , X 7 , X 1 , X.
The original signal is obtained in the order of 6 , X 2 , X 5 , X 3 , X 4 .

【0095】なお、この第4の実施例においても、積和
演算器44A〜44Dの代わりに従来技術の第3および
第4の例で示した積和演算器25A〜25Dを使用する
ことができる。
Also in the fourth embodiment, the product-sum calculators 25A to 25D shown in the third and fourth examples of the prior art can be used instead of the product-sum calculators 44A to 44D. .

【0096】(3)第3の参考例 図6は本発明に関連する第3の参考例の8点1次元DC
T演算回路の構成を示すブロック図である。この回路で
は、前記(1)式、(2)式を計算するために必要な乗
算結果の総和をとる演算を1度に実行する。
(3) No.Reference example of 3 FIG. 6 shows the present inventionThird reference example related to8 points 1-dimensional DC
It is a block diagram which shows the structure of T arithmetic circuit. In this circuit
Is beforeNote: The power required to calculate equations (1) and (2)
An operation that sums the calculation results is executed at once.

【0097】加減算器7で、原信号がX0 +X7 ,X0
−X7 ,X1 +X6 ,X1 −X6 ,X2 +X5 ,X2
5 ,X3 +X4 ,X3 −X4 の順に計算されること
は、前記の第1、第3の実施例と同様であるが、その結
果はクロックごとにシフトレジスタ57の中を移動し、
最後のX3 −X4 が計算され、シフトレジスタ57にラ
ッチされた次のクロックで、X0 +X7 ,X1 +X6
2 +X5 ,X3 +X4はレジスタ59に、またX0
7 ,X1 −X6 ,X2 −X5 ,X3 −X4 はレジスタ
58に転送される。
In the adder / subtractor 7, the original signal is X 0 + X 7 , X 0.
-X 7 , X 1 + X 6 , X 1 -X 6 , X 2 + X 5 , X 2-
The calculation in the order of X 5 , X 3 + X 4 , X 3 −X 4 is the same as in the first and third embodiments, but the result is moved in the shift register 57 for each clock. Then
The final X 3 −X 4 is calculated, and at the next clock latched in the shift register 57, X 0 + X 7 , X 1 + X 6 ,
X 2 + X 5 and X 3 + X 4 are stored in the register 59 and X 0 −.
X 7 , X 1 -X 6 , X 2 -X 5 , and X 3 -X 4 are transferred to the register 58.

【0098】セレクタ60は、最初にレジスタ59から
始めてレジスタ58とレジスタ59を交互に選択する。
The selector 60 first selects the register 58 and the register 59 alternately, starting from the register 59.

【0099】係数メモリ8には、偶数番地には(1)式
の係数行列が、奇数番地には(2)式の係数行列が記憶
されているが、同一アドレスに係数行列内各列ではな
く、各行の係数が置かれている。
The coefficient memory 8 stores the coefficient matrix of equation (1) at even addresses and the coefficient matrix of equation (2) at odd addresses, but not at each column in the coefficient matrix at the same address. , The coefficient of each row is placed.

【0100】従って、0番地からアドレスを1つづ増加
させながら読み出すと、上記(1)式と(2)式を交互
に計算し、DCT変換係数をY0 ,Y1 ,Y2 ,Y3
4,Y5 ,Y6 ,Y7 の順で得ることができる。
Therefore, when the address is read while incrementing the address by one, the above equations (1) and (2) are alternately calculated, and the DCT transform coefficients Y 0 , Y 1 , Y 2 , Y 3 ,
It can be obtained in the order of Y 4 , Y 5 , Y 6 , and Y 7 .

【0101】(3)第4の参考例 図7は本発明に関連する第4の参考例の8点1次元ID
CT演算回路の構成を示すブロック図である。この回路
は、第3の参考例と同様に、(3)式、(4)式を計
算するために必要な4回の乗算結果の総和をとる演算
を、1度に実行する。
(3) No.Reference example of 4 FIG. 7 shows the present inventionFourth reference example related to8 points 1-dimensional ID
It is a block diagram showing a configuration of a CT arithmetic circuit. This circuit
soIs the third reference exampleIn the same way as the above, the formulas (3) and (4) are calculated.
An operation that takes the sum of the four multiplication results required to calculate
Is executed once.

【0102】データメモリ2からY0 ,Y1 ,Y2 ,Y
3 ,Y4 ,Y5 ,Y6 ,Y7 の順に読み出されたDCT
変換係数は、クロックごとにシフトレジスタ57の中を
移動して、最後のY7 がシフトレジスタ57にラッチさ
れた次のクロックで、Y0 ,Y2 ,Y4 ,Y6 はレジス
タ59に、Y1 ,Y3 ,Y5 ,Y7 はレジスタ58に転
送される。
From the data memory 2 to Y 0 , Y 1 , Y 2 , Y
DCT read in the order of 3 , Y 4 , Y 5 , Y 6 , and Y 7.
The conversion coefficient moves in the shift register 57 every clock, and the last Y 7 is the next clock latched in the shift register 57, and Y 0 , Y 2 , Y 4 , and Y 6 are stored in the register 59. Y 1 , Y 3 , Y 5 , and Y 7 are transferred to the register 58.

【0103】セレクタ60は最初にレジスタ59から始
めてレジスタ58とレジスタ59を交互に選択する。
The selector 60 first selects the register 58 and the register 59 alternately, starting from the register 59.

【0104】係数メモリ8には、その偶数番地に(3)
式の係数行列が、奇数番地に(4)式の係数行列が記憶
されているが、係数行列内各列の係数が同一アドレスに
置かれている。
The coefficient memory 8 stores (3) in its even address.
In the coefficient matrix of the equation, the coefficient matrix of the equation (4) is stored at an odd address, but the coefficient of each column in the coefficient matrix is placed at the same address.

【0105】従って、0番地からアドレスを1づつ増加
させながら読み出すと、前記(3)と式(4)式を交互
に計算することができ、その結果を、(X0 +X7 )/
2,(X0 −X7 )/2,(X1 +X6 )/2,(X1
−X6 )/2,(X2 +X5)/2,(X2 −X5 )/
2,(X3 +X4 )/2,(X3 −X4 )/2の順で得
られる。
Therefore, when the address is read while incrementing the address by 1 from the address 0, the equations (3) and (4) can be alternately calculated, and the result is (X 0 + X 7 ) /
2, (X 0 -X 7) / 2, (X 1 + X 6) / 2, (X 1
-X 6) / 2, (X 2 + X 5) / 2, (X 2 -X 5) /
2, (X 3 + X 4 ) / 2, resulting in the order of (X 3 -X 4) / 2 .

【0106】レジスタ53〜55と加減算器23の機能
は、前記実施例2および実施例4と同一であり、X0
7 ,X1 ,X6 ,X2 ,X5 ,X3 ,X4 の順に原信
号が得られる。
The functions of the registers 53 to 55 and the adder / subtractor 23 are the same as those in the second and fourth embodiments, and X 0 ,
The original signal is obtained in the order of X 7 , X 1 , X 6 , X 2 , X 5 , X 3 , X 4 .

【0107】以上において、各々の実施例は8点DCT
演算回路、および8点IDCT演算回路の場合について
記述したが、n点DCT演算回路およびn点IDCT演
算回路(n=2k ,k=1,2,3,・・・・・)の場
合に拡張することは容易である。
In the above, each embodiment is an 8-point DCT.
The operation circuit and the 8-point IDCT operation circuit have been described, but in the case of the n-point DCT operation circuit and the n-point IDCT operation circuit (n = 2 k , k = 1, 2, 3, ...). Easy to extend.

【0108】[0108]

【発明の効果】以上説明したように、本発明では、DC
T演算回路においてデータメモリからX0 ,Xn- 1 ,X
1 ,Xn- 2 ,Xn- 3 ,・・・・・・,Xn/2- 1 ,Xn/ 2
の順に原信号を読み出すので、原信号を並べ直す回路が
不要となり、ハード量の削減を図ることができる。
As described above, according to the present invention, DC
In the T arithmetic circuit, X 0 , X n− 1 , X from the data memory
1, X n- 2, X n- 3, ······, X n / 2- 1, X n / 2
Since the original signals are read in this order, a circuit for rearranging the original signals becomes unnecessary, and the amount of hardware can be reduced.

【0109】また、n/2個の積和演算器を用いる場合
には、DCT演算回路において積和演算器の出力をデー
タメモリに送る回路と、IDCT演算回路において積和
演算器からの出力を加減算器に送る回路との構成を同一
にすることができるので、DCT演算とIDCT演算の
両方を実行可能な演算回路を構成するとき、一部回路の
共通化を図ることができ、構造が簡単になるという利点
がある。
When n / 2 product-sum calculators are used, a circuit for sending the output of the product-sum calculator to the data memory in the DCT calculator and an output from the product-sum calculator in the IDCT calculator. Since the configuration of the circuit to be sent to the adder / subtractor can be made the same, when configuring an arithmetic circuit capable of executing both DCT operation and IDCT operation, some circuits can be shared and the structure is simple. Has the advantage that

【0110】更に、n/2個の乗算器とそれらの出力を
加算する加算器で構成される積和演算器を用いる場合に
は、原信号又はDCT係数をデータメモリから1個づつ
読み出すだけで良くなるという利点がある。
Further, when using a product-sum operator consisting of n / 2 multipliers and an adder for adding their outputs, it is only necessary to read the original signal or the DCT coefficient one by one from the data memory. It has the advantage of improving.

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

【図1】 本発明の第1の実施例の8点1次元DCT演
算回路の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an 8-point one-dimensional DCT arithmetic circuit according to a first embodiment of the present invention.

【図2】 本発明の中で使用されるアドレス生成回路の
構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of an address generation circuit used in the present invention.

【図3】 本発明の第2の実施例の8点1次元IDCT
演算回路の構成を示すブロック図である。
FIG. 3 is an eight-point one-dimensional IDCT according to a second embodiment of the present invention.
It is a block diagram which shows the structure of an arithmetic circuit.

【図4】 本発明の第1の参考例の8点1次元DCT演
算回路の構成を示すブロック図である。
FIG. 4 is a block diagram showing a configuration of an 8-point one-dimensional DCT arithmetic circuit according to a first reference example of the present invention.

【図5】 本発明の第2の参考例の8点1次元IDCT
演算回路の構成を示すブロック図である。
FIG. 5 is an eight-point one-dimensional IDCT according to a second reference example of the present invention.
It is a block diagram which shows the structure of an arithmetic circuit.

【図6】 本発明の第3の参考例の8点1次元DCT演
算回路の構成を示すブロック図である。
FIG. 6 is a block diagram showing a configuration of an 8-point one-dimensional DCT arithmetic circuit of a third reference example of the present invention.

【図7】 本発明の第4の参考例の8点1次元IDCT
演算回路の構成を示すブロック図である。
FIG. 7 is an eight-point one-dimensional IDCT according to a fourth reference example of the present invention.
It is a block diagram which shows the structure of an arithmetic circuit.

【図8】 従来の第1の例の8点1次元DCT演算回路
の構成を示すブロック図である。
FIG. 8 is a block diagram showing a configuration of an 8-point one-dimensional DCT arithmetic circuit of a first conventional example.

【図9】 従来の第2の例の8点1次元IDCT演算回
路の構成を示すブロック図である。
FIG. 9 is a block diagram showing a configuration of a conventional eight-point one-dimensional IDCT arithmetic circuit of a second example.

【図10】 従来の第3の例の8点1次元DCT演算回
路の構成を示すブロック図である。
FIG. 10 is a block diagram showing a configuration of an 8-point one-dimensional DCT arithmetic circuit of a third conventional example.

【図11】 従来の第4の例の8点1次元IDCT演算
回路の構成を示すブロック図である。
FIG. 11 is a block diagram showing a configuration of a conventional eight-point one-dimensional IDCT arithmetic circuit of a fourth example.

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

1:+1づつアドレスが増加するアドレス生成回路、
2,17:データメモリ、3,15,18,20,4
3,56,57:クロックごとに1個づつシフトするシ
フトレジスタ、4,12,13,26〜29,40〜4
2,45a〜45d,46a〜46d,53〜55,5
8,59:レジスタ、51:アドレスポインタ、5,
6,14,16,19,21,22,30〜32,47
〜49,60:セレクタ、7,23:加減算器、8:係
数メモリ、9A〜9D,25A〜25D,44A〜44
D:乗算器と加算器を1個づつ有する積和演算器、1
0:乗算器、11,50:加算器、24:データ組合せ
器、39:本発明のアドレス生成回路、52:ex−O
Rゲート。
Address generation circuit in which the address increases by 1: +1
2, 17: data memory, 3, 15, 18, 20, 4
3, 56, 57: shift registers for shifting one by one for each clock, 4, 12, 13, 26 to 29, 40 to 4
2, 45a to 45d, 46a to 46d, 53 to 55, 5
8, 59: register, 51: address pointer, 5,
6,14,16,19,21,22,30-32,47
49:60: selector, 7,23: adder / subtractor, 8: coefficient memory, 9A-9D, 25A-25D, 44A-44
D: multiply-accumulate operator having one multiplier and one adder, 1
0: multiplier, 11, 50: adder, 24: data combiner, 39: address generating circuit of the present invention, 52: ex-O
R gate.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 田代 豊 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (56)参考文献 特開 平4−307662(JP,A) 特開 昭59−81761(JP,A) 特開 平2−100577(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/00 - 17/14 G06T 1/00 - 1/60 H03H 17/00 - 17/08 H04N 1/41 - 1/419 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Yutaka Tashiro Yutaka Tashiro, 1-1-6 Uchisaiwaicho, Chiyoda-ku, Tokyo Inside Nippon Telegraph and Telephone Corporation (56) Reference JP-A-4-307662 (JP, A) JP-A 59-81761 (JP, A) JP-A-2-100577 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 17/00-17/14 G06T 1/00-1 / 60 H03H 17/00-17/08 H04N 1/41-1/419

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】原信号をアドレスの下位側から上位側にX
0 ,X1 ,X2 ,・・・・,Xn-2,Xn-1[n=2k(k
=1,2,3,・・・・)]の順番で記憶した第1のデ
ータメモリと、 上記第1のデータメモリからX0 ,Xn-1 ,X1 ,X
n-2 ,X2 ,Xn-3 ,・・・・,Xn/2-1 ,Xn/2の順
で原信号を読み出すアドレスを生成する第1のアドレス
生成回路と、 上記第1のデータメモリから読み出されたデータを記憶
する中間レジスタと、 上記中間レジスタに記憶されたデータを入力して加算と
減算を繰り返し、X0+Xn-1 ,X0−Xn-1 ,X1+X
n-2 ,X1−Xn-2 ,X2+Xn-3 ,X2−Xn-3,・・・
・・・・・,Xn/2-1+Xn/2 ,Xn/2-1−Xn/2の順に
計算する加減算器と、 上記加減算器の出力をX0+Xn-1から順にクロックごと
にシフトするシフトレジスタと、 上記シフトレジスタを構成する複数のレジスタの内の1
段置きのn/2個のレジスタにそれぞれ対応していて、
対応するレジスタに格納されたデータを取り込み、最初
のレジスタにX0+Xn-1が記憶されたとき、最初の積和
演算器が積和演算を開始し、その後2クロックごとに次
々の積和演算器が演算を開始するn/2個の積和演算器
と、 上記n/2個の積和演算器にDCT演算用のn/2個の
係数を個々に一度に送る係数メモリと、 上記n/2個の積和演算器からDCT係数をY0
1 ,Y2 ,・・・・・,Yn-2 ,Yn-1の順番で取り
出す手段と、 上記DCT係数をアドレスの下位側から上位側にY0
1 ,Y2 ,・・・,Yn-2,Yn-1の順番で記憶する第
2のデータメモリと、 上記DCT係数をY0 ,Y1 ,Y2 ,・・・・・,Y
n-2 ,Yn-1の順番で上記第2のデータメモリに対して
書き込むアドレスを与える第2のアドレス生成回路と、 を具備することを特徴とするDCT演算回路。
1. The original signal is transferred from the lower address side to the upper address side of the address by X.
0 , X 1 , X 2 , ..., X n-2 , X n-1 [n = 2 k (k
= 1,2,3, a first data memory storing in the order of ····)], X 0 from the first data memory, X n-1, X 1, X
A first address generation circuit that generates addresses for reading the original signal in the order of n-2 , X 2 , X n-3 , ..., X n / 2-1 , X n / 2 ; Repeat the intermediate register for storing the data read from the data memory, the addition and subtraction to input data stored in the intermediate register, X 0 + X n-1 , X 0 -X n-1 , X 1 + X
n-2, X 1 -X n -2, X 2 + X n-3, X 2 -X n-3, ···
.... An adder / subtractor that calculates X n / 2-1 + X n / 2 , X n / 2-1 −X n / 2 in this order, and the output of the adder / subtractor in order from X 0 + X n-1. A shift register that shifts for each clock, and one of a plurality of registers that configure the shift register
Corresponding to n / 2 registers on each stage ,
When the data stored in the corresponding register is fetched and X 0 + X n-1 is stored in the first register, the first multiply-accumulate operation unit starts the multiply-accumulate operation, and then every two clocks An n / 2 multiply-add calculator for the arithmetic unit to start calculation, a coefficient memory for sending n / 2 coefficients for DCT calculation to the n / 2 multiply-add calculator individually at one time, and The DCT coefficient Y 0 ,
Y 1 , Y 2 , ..., Y n-2 , Y n-1 are taken out in this order, and the DCT coefficient is read from the lower address side to the higher address side Y 0 ,
A second data memory for storing Y 1 , Y 2 , ..., Y n-2 , Y n-1 in this order, and the DCT coefficients Y 0 , Y 1 , Y 2 ,. Y
A second address generation circuit for supplying addresses to be written to the second data memory in the order of n-2 and Y n-1 , and a DCT arithmetic circuit.
【請求項2】DCT係数をアドレスの下位側から上位側
にY0 ,Y1 ,Y2 ,・・・・・,Yn-2 ,Yn-1 [n
=2k(k=1,2,3,・・・)]の順番で記憶した第
1のデータメモリと、 上記第1のデータメモリからY0 ,Y1 ,Y2 ,・・・
・,Yn-2 ,Yn-1の順番でDCT係数を読み出すアド
レスを与える第1のアドレス生成回路と、 上記第1のデータメモリから読み出されたデータをY0
から順にクロックごとにシフトするシフトレジスタと、 上記シフトレジスタを構成する複数のレジスタの内の1
段置きのn/2個のレジスタにそれぞれ対応していて、
対応するレジスタに格納されたデータを取り込み、最初
のレジスタにDCT係数Y0が記憶されたとき、最初の
積和演算器が積和演算を開始して、その後2クロックご
とに次々の積和演算器が演算を開始するn/2個の積和
演算器と、 上記n/2個の積和演算器にIDCT演算用のn/2個
の係数を個々に一度に送る係数メモリと、 上記したn/2個の積和演算器から得られる(X0+X
n-1)/2,(X0−Xn-1)/2 ,(X1+Xn-2)/2 ,
(X1−Xn-2)/2 ,(X2+Xn-3)/2 ,(X2
n-3)/2,・・・・・・・・,(Xn/2-1+Xn/2)/2
,(Xn/2-1−Xn/2)/2を記憶する中間レジスタと、 上記中間レジスタに記憶されたデータを入力して加算と
減算を繰り返し、X0,Xn-1 ,X1 ,Xn-2 ,X2
n-3 ,・・・・・・・・,Xn/2-1 ,Xn/2の順に計
算して原信号を得る加減算器と、 原信号をアドレスの下位側から上位側にX0 ,X1 ,X
2 ,・・・Xn-2 ,Xn-1の順番で記憶する第2のデー
タメモリと、 上記加減算器から出力される原信号を上記第2のデータ
メモリに対して、X0,Xn-1 ,X1 ,Xn-2 ,X2
n-3 ,・・・・・,Xn/2-1 ,Xn/2の順に書き込む
アドレスを生成する第2のアドレス生成回路と、 を具備することを特徴とするIDCT演算回路。
2. A DCT coefficient is transferred from the lower side of the address to the upper side of the address Y 0 , Y 1 , Y 2 , ..., Y n-2 , Y n-1 [n
= 2 k (k = 1,2,3, ...)] in the order, and Y 0 , Y 1 , Y 2 , ... From the first data memory.
- a first address generating circuit for providing the address for reading the DCT coefficients in the order of Y n-2, Y n- 1, the data read from the first data memory Y 0
A shift register that shifts for each clock in order from 1 to 1 of a plurality of registers that configure the shift register
Corresponding to n / 2 registers on each stage ,
When the data stored in the corresponding register is fetched and the DCT coefficient Y 0 is stored in the first register, the first product-sum calculation unit starts the product-sum calculation, and then the subsequent product-sum calculation is performed every two clocks. And a coefficient memory for sending n / 2 coefficients for IDCT operation to the above n / 2 product-sum calculators at a time, respectively. (X 0 + X obtained from n / 2 product-sum operators
n-1) / 2, ( X 0 -X n-1) / 2, (X 1 + X n-2) / 2,
(X 1 -X n-2) / 2, (X 2 + X n-3) / 2, (X 2 -
X n-3 ) / 2, ..., (X n / 2-1 + X n / 2 ) / 2
, (X n / 2-1 −X n / 2 ) / 2, and the data stored in the intermediate register are input to repeat addition and subtraction to obtain X 0 , X n−1 , X 1 , X n-2 , X 2 ,
X n-3 , ..., X n / 2-1 , X n / 2 are calculated in this order to obtain an original signal, and an original signal is added from the lower address side to the higher address side of the adder / subtractor. 0 , X 1 , X
2, a second data memory for storing in the order of ··· X n-2, X n -1, the original signal output from the adder-subtracter to said second data memory, X 0, X n-1 , X 1 , X n-2 , X 2 ,
X n-3 , ..., X n / 2-1 , X n / 2 , a second address generation circuit that generates an address to be written in order, and an IDCT operation circuit.
JP13516893A 1993-05-14 1993-05-14 DCT operation circuit and IDCT operation circuit Expired - Lifetime JP3396818B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13516893A JP3396818B2 (en) 1993-05-14 1993-05-14 DCT operation circuit and IDCT operation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13516893A JP3396818B2 (en) 1993-05-14 1993-05-14 DCT operation circuit and IDCT operation circuit

Publications (2)

Publication Number Publication Date
JPH06325070A JPH06325070A (en) 1994-11-25
JP3396818B2 true JP3396818B2 (en) 2003-04-14

Family

ID=15145427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13516893A Expired - Lifetime JP3396818B2 (en) 1993-05-14 1993-05-14 DCT operation circuit and IDCT operation circuit

Country Status (1)

Country Link
JP (1) JP3396818B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI311728B (en) 2005-09-27 2009-07-01 Aten Int Co Ltd Digital image process apparatus and method

Also Published As

Publication number Publication date
JPH06325070A (en) 1994-11-25

Similar Documents

Publication Publication Date Title
US5500811A (en) Finite impulse response filter
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
US7774400B2 (en) Method and system for performing calculation operations and a device
EP0275979B1 (en) Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples
JP2628493B2 (en) Image coding device and image decoding device provided with cosine transform calculation device, calculation device and the like
Vassiliadis et al. A general proof for overlapped multiple-bit scanning multiplications
Lin et al. Scalable montgomery modular multiplication architecture with low-latency and low-memory bandwidth requirement
KR100218825B1 (en) Multiplication device and sum of products calculation device
JP3396818B2 (en) DCT operation circuit and IDCT operation circuit
JP3660075B2 (en) Dividing device
KR100444729B1 (en) Fast fourier transform apparatus using radix-8 single-path delay commutator and method thereof
KR0136517B1 (en) Wavelet change processor using bit-unit pipe line
JP3970442B2 (en) Discrete cosine transform device and inverse discrete cosine transform device
KR100575285B1 (en) Low power, high speed DCT device and method thereof
KR100202567B1 (en) An arithmetic apparatus for high speed idct
KR0126109B1 (en) Vlsi processor for dct/idct
JPH1049347A (en) Multiplicator
KR100329367B1 (en) DCT Structure in the Image Compressing System
JP3654622B2 (en) DCT arithmetic device and IDCT arithmetic device
JP2646844B2 (en) Discrete cosine transformer
KR940007569B1 (en) Array multiplication circuit
JP2708013B2 (en) Memory control circuit for N-point FFT processor
JPH04307662A (en) Discrete cosine converter and adverse discrete cosine converter
JPH0619799B2 (en) High-speed Fourier converter
JPH06110658A (en) Arithmetic device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030114

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110214

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110214

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120214

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130214

Year of fee payment: 10

EXPY Cancellation because of completion of term