JP2901896B2 - Orthogonal transform processor - Google Patents

Orthogonal transform processor

Info

Publication number
JP2901896B2
JP2901896B2 JP7094656A JP9465695A JP2901896B2 JP 2901896 B2 JP2901896 B2 JP 2901896B2 JP 7094656 A JP7094656 A JP 7094656A JP 9465695 A JP9465695 A JP 9465695A JP 2901896 B2 JP2901896 B2 JP 2901896B2
Authority
JP
Japan
Prior art keywords
input
output
register
outputting
result
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 - Fee Related
Application number
JP7094656A
Other languages
Japanese (ja)
Other versions
JPH08185389A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7094656A priority Critical patent/JP2901896B2/en
Publication of JPH08185389A publication Critical patent/JPH08185389A/en
Application granted granted Critical
Publication of JP2901896B2 publication Critical patent/JP2901896B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、画像情報処理に好適に
利用される直交変換プロセッサに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an orthogonal transform processor suitably used for image information processing.

【0002】[0002]

【従来の技術】近年、2次元画像データの高能率圧縮符
号化方式の重要な一部分として、直交変換を実現する小
規模な回路が要求されている。符号器では、順方向の直
交変換、例えば離散コサイン変換(discrete cosine tr
ansform :略してDCT)、離散サイン変換(discrete
sine transform :略してDST)などが利用される。
復号器では、逆方向の直交変換、例えば逆離散コサイン
変換(inverse discretecosine transform :略してI
DCT)、逆離散サイン変換(inverse discretesine t
ransform :略してIDST)などが利用される。
2. Description of the Related Art In recent years, as an important part of a high-efficiency compression encoding method for two-dimensional image data, a small-scale circuit for realizing orthogonal transformation has been required. In the encoder, a forward orthogonal transform, for example, a discrete cosine transform (discrete cosine tr
ansform: DCT for short, discrete sine transform (discrete
sine transform: DST) is used.
In the decoder, an orthogonal transform in the reverse direction, for example, an inverse discrete cosine transform (I.sub.
DCT), inverse discretesine t
ransform: IDST for short) is used.

【0003】米国特許4,791,598には、2個の
1次元DCTプロセッサと、その間に介在した転置メモ
リとで構成された2次元DCTプロセッサが開示されて
いる。2個の1次元DCTプロセッサの各々は、乗算器
を用いずにROM(read only memory)を用いてベクト
ル内積を求めるための分布演算(distributed arithmet
ic:略してDA)回路を内蔵したものである。DA回路
は、複数個のROM/累算器(ROM and accumulator :
略してRAC)を備えている。各RACは、離散コサイ
ン行列に基づくベクトル内積の部分和をルックアップテ
ーブルの形式で格納したROMと、該ROMからビット
スライスワードをアドレスとして順次索引された部分和
を桁合わせ加算して入力ベクトルに対応するベクトル内
積を得るための累算器とを有するものである。このよう
な2次元DCTプロセッサの構成は、2次元IDCTプ
ロセッサに転用可能である。
US Pat. No. 4,791,598 discloses a two-dimensional DCT processor comprising two one-dimensional DCT processors and a transposed memory interposed therebetween. Each of the two one-dimensional DCT processors is a distributed arithmetic (distributed arithmet) for obtaining a vector inner product using a ROM (read only memory) without using a multiplier.
ic: Abbreviated DA) circuit. The DA circuit has a plurality of ROM / accumulators.
(RAC for short). Each RAC includes a ROM in which a partial sum of a vector inner product based on a discrete cosine matrix is stored in the form of a look-up table, and a partial sum sequentially indexed from the ROM using a bit slice word as an address by digit-aligning and adding to an input vector. And an accumulator for obtaining a corresponding vector dot product. Such a configuration of the two-dimensional DCT processor can be applied to a two-dimensional IDCT processor.

【0004】8×8要素からなる入力データに2次元I
DCT処理を施すものとする。入力データは、要素yij
(i=0〜7,j=0〜7)を持つ8行8列の行列Yで
表わされる。また、8行8列の逆離散コサイン行列Dを
考える。行列Dの各要素dijは、 di0=1/(2・20.5 ),i=0〜7 dij=(1/2)cos{(2i+1)jπ/16},i=0〜7,j=1〜7 …(1) である。行列Yの2次元IDCTはDYDT である。こ
こに、DT は行列Dの転置行列である。行列Yの1次元
IDCTすなわち行列積DYを計算するための1次元I
DCTプロセッサと、転置手段とを用いれば、中間行列
X=(DY)T が容易に求められる。最終結果DYDT
も同様にして求められる。なぜなら、DYDT =(D
(DY)T T =(DX)T であるからである。つま
り、行列積DYを計算するための1次元IDCTプロセ
ッサは、2次元IDCTを実現する上で重要な役割を担
っている。
The input data consisting of 8 × 8 elements has a two-dimensional I
DCT processing is performed. The input data is an element y ij
It is represented by a matrix Y of 8 rows and 8 columns having (i = 0 to 7, j = 0 to 7). Also, consider an 8 × 8 inverse discrete cosine matrix D. Each element d ij of the matrix D is represented by d i0 = 1 / (2 · 2 0.5 ), i = 0 to 7 d ij = (1/2) cos {(2i + 1) jπ / 16}, i = 0 to 7, j = 1 to 7 (1) 2D IDCT matrix Y is DYD T. Here, DT is the transposed matrix of the matrix D. One-dimensional IDCT for matrix Y, that is, one-dimensional I for calculating matrix product DY
By using the DCT processor and the transposing means, the intermediate matrix X = (DY) T can be easily obtained. The final result DYD T
Is similarly obtained. This is because, DYD T = (D
This is because (DY) T ) T = (DX) T. That is, the one-dimensional IDCT processor for calculating the matrix product DY plays an important role in realizing the two-dimensional IDCT.

【0005】行列Yの第j列に関する1次元IDCTの
結果は、8行8列の行列Wの第j列で表わされる。ここ
に、行列Wの各要素wijは、 wij=Σk=0 7 ikkj ,i=0〜7,j=0〜7 …(2) である。要素wijは、行列Dの第i行と行列Yの第j列
との内積であって、8個の積の和である。この要素wij
を求める処理は、8ポイントIDCT処理と呼ばれる。
[0005] The result of the one-dimensional IDCT on the j-th column of the matrix Y is represented by the j-th column of the matrix W having 8 rows and 8 columns. Here, each element w ij of the matrix W is as follows: w ij = Σ k = 7 d ik y kj , i = 0 to 7, j = 0 to 7 (2) The element w ij is an inner product of the i-th row of the matrix D and the j-th column of the matrix Y, and is a sum of eight products. This element w ij
Is called an 8-point IDCT process.

【0006】8個の乗算器と8個の累算器とを備えた1
次元IDCTプロセッサによれば、行列Wの第j列を構
成する8個の内積w0j,w1j,w2j,w3j,w4j
5j,w6j,w7jを並列に計算することができる。ここ
に、 w0j=Σk=0 7 0kkj1j=Σk=0 7 1kkj2j=Σk=0 7 2kkj3j=Σk=0 7 3kkj4j=Σk=0 7 4kkj5j=Σk=0 7 5kkj6j=Σk=0 7 6kkj7j=Σk=0 7 7kkj …(3) である。
[0006] A 1 comprising eight multipliers and eight accumulators
According to dimension IDCT processor, eight inner products w 0j constituting the j-th column of the matrix W, w 1j, w 2j, w 3j, w 4j,
w 5j , w 6j , w 7j can be calculated in parallel. Here, w 0j = Σ k = 0 7 d 0k y kj w 1j = Σ k = 0 7 d 1k y kj w 2j = Σ k = 0 7 d 2k y kj w 3j = Σ k = 0 7 d 3k y kj w 4j = Σ k = 0 7 d 4ky kj w 5j = Σ k = 0 7 d 5k y kj w 6j = Σ k = 0 7 d 6k y kj w 7j = Σ k = 0 7 d 7k y kj ... (3)

【0007】[0007]

【発明が解決しようとする課題】上記8個の乗算器を備
えた1次元IDCTプロセッサは、VLSI(very lar
ge scale integration)への実装に際して乗算器がチッ
プ上の大きな面積を占める問題があった。
The one-dimensional IDCT processor having the above-mentioned eight multipliers is a VLSI (very lar
There is a problem in that the multiplier occupies a large area on the chip when mounting on (ge scale integration).

【0008】また、式(3)で表わされた8個の内積の
並列計算を上記従来のDA回路で実現する場合には、大
きいROMサイズを要するという問題があった。
Further, when the parallel calculation of the eight inner products represented by the equation (3) is realized by the above-mentioned conventional DA circuit, there is a problem that a large ROM size is required.

【0009】本発明の目的は、1次元IDCTプロセッ
サなどの直交変換プロセッサの回路規模を低減すること
にある。
An object of the present invention is to reduce the circuit scale of an orthogonal transform processor such as a one-dimensional IDCT processor.

【0010】[0010]

【課題を解決するための手段】上記の目的を達成するた
め、本発明に係る第1の直交変換プロセッサは、逆離散
コサイン行列や逆離散サイン行列の要素の規則性に鑑み
て乗算器の個数を低減し、各乗算器の結果を複数の累算
器へ分配することとしたものである。
In order to achieve the above-mentioned object, a first orthogonal transform processor according to the present invention comprises a number of multipliers in consideration of the regularity of an element of an inverse discrete cosine matrix or an inverse discrete sine matrix. And the result of each multiplier is distributed to a plurality of accumulators.

【0011】また、本発明に係る第2の直交変換プロセ
ッサは、複数の内積計算の各々を2個の定数乗算と1個
の部分内積の計算とに分割し、2個の定数乗算を定数乗
算回路で実行することとしたものである。しかも、複数
個の部分内積の計算をDA回路で並列実行することとし
た。
A second orthogonal transformation processor according to the present invention divides each of a plurality of inner product calculations into two constant multiplications and one partial inner product calculation, and performs constant multiplication of the two constant multiplications. This is to be executed by a circuit. In addition, the calculation of a plurality of partial inner products is performed in parallel by the DA circuit.

【0012】[0012]

【作用】本発明に係る第1の直交変換プロセッサによれ
ば、例えば8ポイントIDCT処理の場合に従来は8個
の乗算器を要したところ、乗算器数が4又は3に低減さ
れる。
According to the first orthogonal transform processor of the present invention, for example, in the case of 8-point IDCT processing, eight multipliers are conventionally required, but the number of multipliers is reduced to four or three.

【0013】また、本発明に係る第2の直交変換プロセ
ッサによれば、定数乗算回路中の2個又は1個の乗算器
を要するのみである。また、内積計算の一部が定数乗算
回路で実行されるので、DA回路のROMサイズが低減
される。
According to the second orthogonal transform processor of the present invention, only two or one multiplier in the constant multiplication circuit is required. Further, since part of the inner product calculation is performed by the constant multiplication circuit, the ROM size of the DA circuit is reduced.

【0014】[0014]

【実施例】以下、図面を参照しながら、本発明の実施例
に係る1次元IDCTプロセッサについて説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a one-dimensional IDCT processor according to an embodiment of the present invention will be described with reference to the drawings.

【0015】(実施例1)まず、tn (n=0〜7)
を、 t0 =1/(2・20.5 ) tn =(1/2)cos(nπ/16),n=1〜7 …(4) のように定義する。すると、前記の式(3)で表わされ
た8個の内積の計算は、コサイン関数の対称性を利用し
て、図1のように表現される。
(Embodiment 1) First, t n (n = 0 to 7)
Is defined as t 0 = 1 / (2 · 2 0.5 ) t n = (1 /) cos (nπ / 16), n = 1 to 7 (4) Then, the calculation of the eight inner products represented by the above equation (3) is expressed as shown in FIG. 1 using the symmetry of the cosine function.

【0016】図1の行列演算では、符号(±)を度外視
すると、y0jに掛けるべき係数はt0 であり、y1jに掛
けるべき係数はt1 ,t3 ,t5 ,t7 であり、y2j
掛けるべき係数はt2 ,t6 であり、y3jに掛けるべき
係数はt3 ,t7 ,t1 ,t5 であり、y4jに掛けるべ
き係数はt4 であり、y5jに掛けるべき係数はt5 ,t
1 ,t7 ,t3 であり、y6jに掛けるべき係数はt6
2 であり、y7jに掛けるべき係数はt7 ,t5
3 ,t1 である。したがって、図2に示すように、入
力データの8個の要素yij(i=0〜7)が順次供給さ
れるとき、1サイクルに最大4個の乗算を実行すればよ
い。図2の手順で用いられる係数行列Eを図3に示す。
係数行列Eは、図1中の8行8列の逆離散コサイン行列
のうちの第0行から第3行までの各要素の絶対値を構成
要素とした4行8列の行列である。
In the matrix operation shown in FIG. 1, when the sign (±) is ignored, the coefficients to be applied to y 0j are t 0 , and the coefficients to be applied to y 1j are t 1 , t 3 , t 5 and t 7 . , Y 2j are coefficients t 2 , t 6 , coefficients y 3j are t 3 , t 7 , t 1 , t 5 , coefficients y 4j are t 4 , y The coefficients to be multiplied by 5j are t 5 and t
1 , t 7 and t 3 , and the coefficients to be multiplied by y 6j are t 6 ,
t 2 , and the coefficients to be multiplied by y 7j are t 7 , t 5 ,
t 3 and t 1 . Accordingly, as shown in FIG. 2, when eight elements y ij (i = 0 to 7) of the input data are sequentially supplied, a maximum of four multiplications may be performed in one cycle. FIG. 3 shows a coefficient matrix E used in the procedure of FIG.
The coefficient matrix E is a 4-row, 8-column matrix in which the absolute values of the elements from the 0th row to the 3rd row of the 8-row, 8-column inverse discrete cosine matrix in FIG. 1 are constituent elements.

【0017】本発明の第1の実施例に係る1次元IDC
Tプロセッサの構成を図4に示す。この構成は、図3の
係数行列Eを採用したものである。図4において、10
1〜104は第1〜第4の係数メモリ、105〜108
は第1〜第4の乗算器、109〜116は第1〜第8の
累算器、117は8入力セレクタである。第1の係数メ
モリ101には行列Eの第0行の8個の要素が、第2の
係数メモリ102には行列Eの第1行の8個の要素が、
第3の係数メモリ103には行列Eの第2行の8個の要
素が、第4の係数メモリ104には行列Eの第3行の8
個の要素がそれぞれ格納されている。入力端子から、2
の補数表示の2進数データyij(i=0〜7,j=0〜
7)が、y00〜y70、y01〜y71、…、y07〜y77の順
序で第1〜第4の乗算器105〜108へ供給される。
第1の乗算器105はyijと第1の係数メモリ101の
出力との乗算を、第2の乗算器106はyijと第2の係
数メモリ102の出力との乗算を、第3の乗算器107
はyijと第3の係数メモリ103の出力との乗算を、第
4の乗算器108はyijと第4の係数メモリ104の出
力との乗算をそれぞれ実行するものである。第1〜第8
の累算器109〜116は、第1〜第4の乗算器105
〜108の結果を用いて8個の内積w0j,w1j,w2j
3j,w4j,w5j,w6j,w7jを求めるための累算を並
列に実行するものである。8入力セレクタ117は、第
1〜第8の累算器109〜116の結果を順次選択し
て、データwij(i=0〜7,j=0〜7)を、w00
70、w01〜w71、…、w07〜w77の順序で出力するも
のである。
One-dimensional IDC according to a first embodiment of the present invention
FIG. 4 shows the configuration of the T processor. This configuration employs the coefficient matrix E shown in FIG. In FIG. 4, 10
1 to 104 are first to fourth coefficient memories, 105 to 108
Denotes first to fourth multipliers, 109 to 116 denote first to eighth accumulators, and 117 denotes an eight-input selector. The first coefficient memory 101 has eight elements in the zeroth row of the matrix E, and the second coefficient memory 102 has eight elements in the first row of the matrix E.
The third coefficient memory 103 stores eight elements of the second row of the matrix E, and the fourth coefficient memory 104 stores eight elements of the third row of the matrix E.
Elements are stored respectively. From the input terminal, 2
Binary data y ij (i = 0 to 7, j = 0 to 0)
7), y 00 ~y 70, y 01 ~y 71, ..., it is supplied to a multiplier 105 to 108 sequence in the first to fourth y 07 ~y 77.
The first multiplier 105 multiplies y ij by the output of the first coefficient memory 101, the second multiplier 106 multiplies y ij by the output of the second coefficient memory 102, and the third multiplication Container 107
Is for multiplying y ij by the output of the third coefficient memory 103, and the fourth multiplier 108 is for multiplying y ij by the output of the fourth coefficient memory 104. 1st to 8th
Are stored in the first to fourth multipliers 105.
Eight of the inner product w 0j using the results of ~108, w 1j, w 2j,
Accumulation for obtaining w 3j , w 4j , w 5j , w 6j , w 7j is performed in parallel. The eight-input selector 117 sequentially selects the results of the first to eighth accumulators 109 to 116 and converts the data w ij (i = 0 to 7, j = 0 to 7) into w 00 to
The output is performed in the order of w 70 , w 01 to w 71 ,..., w 07 to w 77 .

【0018】図4中のw1jを求めるための累算器110
の内部構成を図5に示す。図5において、201は4入
力セレクタ、202は2の補数器、203は加算器、2
04は累算レジスタ、205はバッファレジスタであ
る。4入力セレクタ201は、第1〜第4の乗算器10
5〜108の結果のうちの1つを選択するものである。
2の補数器202は、iの値に応じて、4入力セレクタ
201の出力をそのまま通過させたり、4入力セレクタ
201の出力の2の補数を出力したりするものである。
具体的には、図1中の逆離散コサイン行列のうちの第1
行(t0 ,t3 ,t6 ,−t7 ,−t4 ,−t1 ,−t
2 ,−t5 )と入力データベクトル(y0j,y1j
2j,y3j,y4j,y5j,y6j,y7j)との内積w1j
計算に対応して、i=0,1,2のサイクルでは4入力
セレクタ201の出力をそのまま通過させ、i=3,
4,5,6,7のサイクルでは4入力セレクタ201の
出力の2の補数を出力するように制御される。データx
の2の補数は、xの全てのビットを反転させたうえ、1
を加算することによって求められる。加算器203は、
2の補数器202の結果と累算レジスタ204の保持出
力との和を求めるものである。累算レジスタ204の保
持内容は予め0に初期化されたうえ、加算器203の結
果に書き換えられる。バッファレジスタ205は、当該
1次元IDCTプロセッサのパイプライン動作を保証す
るように、累算レジスタ204の出力を保持するもので
ある。図4中の他の累算器の内部構成も図5と同様であ
る。
An accumulator 110 for obtaining w 1j in FIG.
Is shown in FIG. In FIG. 5, 201 is a 4-input selector, 202 is a two's complementer, 203 is an adder,
04 is an accumulation register and 205 is a buffer register. The four-input selector 201 includes the first to fourth multipliers 10
One of the results 5 to 108 is selected.
The two's complementer 202 passes the output of the four-input selector 201 as it is or outputs the two's complement of the output of the four-input selector 201 according to the value of i.
Specifically, the first of the inverse discrete cosine matrices in FIG.
Rows (t 0 , t 3 , t 6 , -t 7 , -t 4 , -t 1 , -t
2 , −t 5 ) and the input data vector (y 0j , y 1j ,
In response to the calculation of the inner product w 1j with y 2j , y 3j , y 4j , y 5j , y 6j , y 7j ), the output of the 4-input selector 201 is passed as it is in the cycle of i = 0, 1, and 2. , I = 3
In the cycles of 4, 5, 6, and 7, the output of the 4-input selector 201 is controlled to output the 2's complement. Data x
Complements all bits of x, plus 1
Is calculated by adding The adder 203
The sum of the result of the two's complementer 202 and the output held by the accumulation register 204 is obtained. The content held in the accumulation register 204 is initialized to 0 in advance, and is rewritten with the result of the adder 203. The buffer register 205 holds the output of the accumulation register 204 so as to guarantee the pipeline operation of the one-dimensional IDCT processor. The internal configuration of the other accumulators in FIG. 4 is the same as that in FIG.

【0019】以下、図4及び図5に基づいて、本発明の
第1の実施例に係る1次元IDCTプロセッサの動作を
説明する。
The operation of the one-dimensional IDCT processor according to the first embodiment of the present invention will be described below with reference to FIGS.

【0020】第1のサイクルでは、入力端子からデータ
00が供給される。一方、係数メモリ101〜104か
らそれぞれt0 ,t0 ,t0 ,t0 が読み出され、乗算
器105〜108により4個の積t0 00,t0 00
0 00,t0 00が並列に計算される。次に、累算器
109〜116の4入力セレクタ201により、4個の
乗算器105〜108の結果のうちの1個がそれぞれ選
択される。この場合、4個の乗算器105〜108の結
果は全て同じであるので、どれを選択してもよい。累算
器109〜116の2の補数器202は、それぞれ4入
力セレクタ201の出力をそのまま通過させる。累算器
109〜116の加算器203は、2の補数器202の
結果と、予め0に初期化された累算レジスタ204の出
力との和を計算し、その加算結果を累算レジスタ204
にそれぞれ書き込む。この結果、累算器109〜116
の全ての累算レジスタ204に同じ積t0 00が格納さ
れる。
[0020] In the first cycle, the data y 00 is supplied from the input terminal. On the other hand, t 0 , t 0 , t 0 , and t 0 are read from the coefficient memories 101 to 104, respectively, and the four products t 0 y 00 , t 0 y 00 ,
t 0 y 00 and t 0 y 00 are calculated in parallel. Next, one of the results of the four multipliers 105 to 108 is selected by the four-input selector 201 of the accumulators 109 to 116, respectively. In this case, since the results of the four multipliers 105 to 108 are all the same, any one may be selected. Each of the two's complementers 202 of the accumulators 109 to 116 passes the output of the four-input selector 201 as it is. The adder 203 of the accumulators 109 to 116 calculates the sum of the result of the two's complementer 202 and the output of the accumulation register 204 which has been initialized to 0 in advance, and outputs the addition result to the accumulation register 204
Write to each. As a result, the accumulators 109 to 116
The same product t 0 y 00 is stored in all the accumulation registers 204.

【0021】第2のサイクルでは、入力端子からデータ
10が供給される。一方、係数メモリ101〜104か
らそれぞれt1 ,t3 ,t5 ,t7 が読み出され、乗算
器105〜108により4個の積t1 10,t3 10
5 10,t7 10が並列に計算される。次に、累算器
109〜116の4入力セレクタ201により、4個の
乗算器105〜108の結果のうちの1個がそれぞれ選
択される。この場合、第1の累算器109では第1の乗
算器105の結果t1 10が、第2の累算器110では
第2の乗算器106の結果t3 10が、第3の累算器1
11では第3の乗算器107の結果t5 10が、第4の
累算器112では第4の乗算器108の結果t7
10が、第5の累算器113では第4の乗算器108の結
果t7 10が、第6の累算器114では第3の乗算器1
07の結果t5 10が、第7の累算器115では第2の
乗算器106の結果t3 10が、第8の累算器116で
は第1の乗算器105の結果t1 10がそれぞれ選択さ
れる。第1〜第4の累算器109〜112の2の補数器
202は、それぞれ4入力セレクタ201の出力をその
まま通過させる。第5〜第8の累算器113〜116の
2の補数器202は、それぞれ4入力セレクタ201の
出力の2の補数を出力する。累算器109〜116の加
算器203は、2の補数器202の結果と累算レジスタ
204の出力との和を計算し、その加算結果を累算レジ
スタ204にそれぞれ書き込む。この結果、第1の累算
器109ではt0 00+t1 10が、第2の累算器11
0ではt000+t3 10が、第3の累算器111では
0 00+t5 10が、第4の累算器112ではt0
00+t7 10が、第5の累算器113ではt0 00−t
7 10が、第6の累算器114ではt0 00−t5 10
が、第7の累算器115ではt0 00−t3 10が、第
8の累算器116ではt0 00−t1 10がそれぞれ累
算レジスタ204に格納される。
[0021] In the second cycle, the data y 10 is supplied from the input terminal. On the other hand, t 1 , t 3 , t 5 , and t 7 are read from the coefficient memories 101 to 104, respectively, and the four products t 1 y 10 , t 3 y 10 ,
t 5 y 10, t 7 y 10 are calculated in parallel. Next, one of the results of the four multipliers 105 to 108 is selected by the four-input selector 201 of the accumulators 109 to 116, respectively. In this case, the result t 1 y 10 of the first accumulator 109 first multiplier 105, the result t 3 y 10 of the second accumulator 110 and the second multiplier 106, a third Accumulator 1
11, the result t 5 y 10 of the third multiplier 107 is output, and the fourth accumulator 112 is the result t 7 y of the fourth multiplier 108.
10 , the fifth accumulator 113 outputs the result t 7 y 10 of the fourth multiplier 108, and the sixth accumulator 114 outputs the third multiplier 1
Result t 5 y 10 07, the result t 3 y 10 of the seventh accumulator 115 second multiplier 106, eighth the accumulator 116 of the first multiplier 105 result t 1 y 10 are selected respectively. The two's complementers 202 of the first to fourth accumulators 109 to 112 pass the output of the four-input selector 201 as they are. The two's complement units 202 of the fifth to eighth accumulators 113 to 116 each output the two's complement of the output of the four-input selector 201. The adders 203 of the accumulators 109 to 116 calculate the sum of the result of the two's complementer 202 and the output of the accumulation register 204, and write the addition result to the accumulation register 204. As a result, in the first accumulator 109, t 0 y 00 + t 1 y 10 is changed to the second accumulator 11
0 In t 0 y 00 + t 3 y 10 is, in the third accumulator 111 t 0 y 00 + t 5 y 10 is, t 0 In the fourth accumulator 112 y
00 + t 7 y 10 is equal to t 0 y 00 −t in the fifth accumulator 113.
7 y 10 is, t 0 the accumulator 114 of the 6 y 00 -t 5 y 10
But seventh accumulator 115 at t 0 y 00 -t 3 y 10 of, first 8 t 0 y 00 -t 1 y 10 In accumulator 116 is stored in the accumulator register 204, respectively.

【0022】第3から第8のサイクルでは、入力端子か
らデータy20,y30,y40,y50,y60,y70が順次供
給される。したがって、第8サイクルの終りには、累算
器109〜116の累算レジスタ204に、8個の内積
00,w10,w20,w30,w40,w50,w60,w70が格
納される。
[0022] In the third from the eighth cycle, the data y 20, y 30, y 40 , y 50, y 60, y 70 is sequentially supplied from the input terminal. Thus, at the end of the eighth cycle, the accumulator to the accumulator register 204 of 109 to 116, eight inner products w 00, w 10, w 20 , w 30, w 40, w 50, w 60, w 70 Is stored.

【0023】第9のサイクルでは、入力端子からデータ
01が供給されて上記第1のサイクルと同様の処理が実
行されるとともに、累算器109〜116の累算レジス
タ204の保持内容w00,w10,w20,w30,w40,w
50,w60,w70がバッファレジスタ205へそれぞれ転
送される。そして、8入力セレクタ117は、第1の累
算器109の出力w00を選択出力する。
[0023] In the ninth cycle, from the input terminal is supplied with the data y 01 together with the processing similar to the above first cycle is executed, the accumulation register 204 of the accumulator 109 to 116 holding contents w 00 , W 10 , w 20 , w 30 , w 40 , w
50 , w 60 and w 70 are transferred to the buffer register 205, respectively. The 8-input selector 117 selectively outputs the output w 00 of the first accumulator 109.

【0024】第10のサイクルでは、入力端子からデー
タy11が供給されて、上記第2のサイクルと同様の処理
が実行される。8入力セレクタ117は、第2の累算器
110の出力w10を選択出力する。
In the tenth cycle, data y 11 is supplied from the input terminal, and the same processing as in the second cycle is executed. 8-input selector 117 selectively outputs the output w 10 of the second accumulator 110.

【0025】以下同様の処理を繰り返すことにより、連
続的に供給される入力データy00〜y70,y01〜y71
…,y07〜y77に対応した出力データw00〜w70,w01
〜w71,…,w07〜w77が連続して得られる。
Thereafter, by repeating the same processing, the input data y 00 to y 70 , y 01 to y 71 , which are continuously supplied,
..., output data w 00 to w 70 , w 01 corresponding to y 07 to y 77
~w 71, ..., w 07 ~w 77 can be obtained continuously.

【0026】図5の累算器110の変形例を図6に示
す。図6の例では、上記2の補数器202に代えて1の
補数器212が用いられる。1の補数器212は、上記
iの値に応じて、4入力セレクタ201の出力をそのま
ま通過させたり、4入力セレクタ201の出力の1の補
数を出力したりするものである。具体的には、図1中の
逆離散コサイン行列のうちの第1行(t0 ,t3
6 ,−t7 ,−t4 ,−t1 ,−t2 ,−t5 )と入
力データベクトル(y0j,y1j,y2j,y3j,y4j,y
5j,y6j,y7j)との内積w1jの計算に対応して、i=
0,1,2のサイクルでは4入力セレクタ201の出力
をそのまま通過させ、i=3,4,5,6,7のサイク
ルでは4入力セレクタ201の出力の1の補数を出力す
るように制御される。データxの1の補数は、xの全て
のビットを反転させることによって求められる。累算レ
ジスタ204の初期値は、上記逆離散コサイン行列の第
1行を構成する8個の要素のうちの負の要素の数、すな
わち5に設定される。
FIG. 6 shows a modification of the accumulator 110 shown in FIG. In the example of FIG. 6, a one's complementer 212 is used in place of the two's complementer 202. The one's complementer 212 passes the output of the four-input selector 201 as it is or outputs the one's complement of the output of the four-input selector 201 according to the value of i. Specifically, the first row (t 0 , t 3 ,
t 6 , −t 7 , −t 4 , −t 1 , −t 2 , −t 5 ) and input data vectors (y 0j , y 1j , y 2j , y 3j , y 4j , y
5j, y 6j, in response to the calculation of the inner product w 1j of the y 7j), i =
In the cycles of 0, 1, and 2, the output of the 4-input selector 201 is passed as it is, and in the cycle of i = 3, 4, 5, 6, and 7, the output of the 4-input selector 201 is controlled to output the one's complement. You. The one's complement of data x is determined by inverting all bits of x. The initial value of the accumulation register 204 is set to the number of negative elements out of the eight elements constituting the first row of the inverse discrete cosine matrix, that is, five.

【0027】以上のとおり、第1の実施例によれば、乗
算器の数が4に低減された1次元IDCTプロセッサを
実現できる。なお、累算器109〜116の4入力セレ
クタ201(図5及び図6)を省略して固定配線を採用
してもよい。この場合、第1及び第8の累算器109,
116へは第1の乗算器105の結果のみが、第2及び
第7の累算器110,115へは第2の乗算器106の
結果のみが、第3及び第6の累算器111,114へは
第3の乗算器107の結果のみが、第4及び第5の累算
器112,113へは第4の乗算器108の結果のみが
それぞれ供給される。
As described above, according to the first embodiment, a one-dimensional IDCT processor in which the number of multipliers is reduced to four can be realized. Note that the 4-input selector 201 (FIGS. 5 and 6) of the accumulators 109 to 116 may be omitted and fixed wiring may be employed. In this case, the first and eighth accumulators 109,
116, the result of the first multiplier 105 only, the second and seventh accumulators 110, 115 only the result of the second multiplier 106, the third and sixth accumulators 111, Only the result of the third multiplier 107 is supplied to 114, and only the result of the fourth multiplier 108 is supplied to the fourth and fifth accumulators 112 and 113, respectively.

【0028】(実施例2)図1の行列演算を遂行するた
めには、図2に示すように、8サイクルで22個の乗算
を実行する必要がある。1サイクルの平均乗算個数は
2.75である。そこで、第2の実施例では、図7に示
すように、入力データの8個の要素yij(i=0〜7)
が順次供給されるとき、1サイクルに最大3個の乗算を
実行することとした。そのため、入力要素を保持するた
めのレジスタを設け、あるサイクルの入力要素に加えて
前サイクルの入力要素を利用できるようにした。すなわ
ち、あるサイクルでは第1群の係数t1 ,t0 と要素y
1j,y0jとの乗算が、次のサイクルでは第2群の係数t
3 ,t5 ,t7 と要素y1jとの乗算が、次のサイクルで
は第3群の係数t3 ,t2 ,t6 と要素y3j,y2jとの
乗算が、次のサイクルでは第4群の係数t7 ,t1 ,t
5 と要素y3jとの乗算が、次のサイクルでは第5群の係
数t5 ,t4 と要素y5j,y4jとの乗算が、次のサイク
ルでは第6群の係数t1 ,t7 ,t3 と要素y5jとの乗
算が、次のサイクルでは第7群の係数t7,t6 ,t2
と要素y7j,y6jとの乗算が、次のサイクルでは第8群
の係数t5,t3 ,t1 と要素y7jとの乗算がそれぞれ
実行される。図7の手順で用いられる係数行列Gを図8
に示す。係数行列Gは、上記第1群の係数を含む3個の
係数t1 ,t0 ,t0 を持つ第0列と、上記第2群の係
数t3 ,t5 ,t7 を持つ第1列と、上記第3群の係数
3 ,t2 ,t6 を持つ第2列と、上記第4群の係数t
7 ,t1 ,t5 を持つ第3列と、上記第5群の係数を含
む3個の係数t5 ,t4 ,t4 を持つ第4列と、上記第
6群の係数t1 ,t7 ,t3 を持つ第5列と、上記第7
群の係数t7 ,t6 ,t2 を持つ第6列と、上記第8群
の係数t5 ,t3 ,t1 を持つ第7列とで構成された3
行8列の行列である。
(Embodiment 2) In order to perform the matrix operation of FIG. 1, it is necessary to execute 22 multiplications in eight cycles as shown in FIG. The average number of multiplications in one cycle is 2.75. Therefore, in the second embodiment, as shown in FIG. 7, eight elements y ij (i = 0 to 7) of the input data
Are sequentially supplied, a maximum of three multiplications are performed in one cycle. Therefore, a register for holding the input element is provided so that the input element of the previous cycle can be used in addition to the input element of a certain cycle. That is, in a certain cycle, the coefficients t 1 and t 0 of the first group and the element y
1j , y 0j is multiplied by the coefficient t of the second group in the next cycle.
3, the multiplication of the t 5, t 7 and element y 1j is coefficient t 3 of the third group in the next cycle, t 2, t 6 and element y 3j, multiplies the y 2j, in the next cycle the Four groups of coefficients t 7 , t 1 , t
5 multiplies the and elements y 3j, coefficients t 5 of the fifth group in the next cycle, t 4 and element y 5j, multiplies the y 4j, coefficients t 1 of the sixth group in the next cycle, t 7 , T 3 and the element y 5j are multiplied by the coefficients t 7 , t 6 , t 2 of the seventh group in the next cycle.
And the elements y 7j , y 6j, and in the next cycle, the multiplication of the eighth group of coefficients t 5 , t 3 , t 1 and the element y 7j are executed. The coefficient matrix G used in the procedure of FIG.
Shown in The coefficient matrix G has a 0-th column having three coefficients t 1 , t 0 , and t 0 including the coefficients of the first group, and a first column having the coefficients t 3 , t 5 , and t 7 of the second group. A second column having the third group of coefficients t 3 , t 2 , t 6, and a fourth group of coefficients t
7, t 1, t and a third column with 5, the fourth column with three coefficients t 5, t 4, t 4 containing the coefficients of the fifth group, the coefficient t 1 of the sixth group, The fifth column having t 7 and t 3 and the seventh column
A third column composed of a sixth column having group coefficients t 7 , t 6 and t 2 and a seventh column having coefficients t 5 , t 3 and t 1 of the eighth group.
It is a matrix of 8 rows.

【0029】本発明の第2の実施例に係る1次元IDC
Tプロセッサの構成を図9に示す。この構成は、図8の
係数行列Gを採用したものである。図9において、30
1は入力レジスタ、302〜304は第1〜第3の係数
メモリ、305は2入力セレクタ、306〜308は第
1〜第3の乗算器、309は一時レジスタ、310〜3
17は第1〜第8の累算器、318は8入力セレクタで
ある。第1の係数メモリ302には行列Gの第0行の8
個の要素が、第2の係数メモリ303には行列Gの第1
行の8個の要素が、第3の係数メモリ304には行列G
の第2行の8個の要素がそれぞれ格納されている。入力
端子から、2の補数表示の2進数データyij(i=0〜
7,j=0〜7)が、y00〜y70、y01〜y71、…、y
07〜y77の順序で、入力レジスタ301及び2入力セレ
クタ305へ供給される。2入力セレクタ305は、入
力端子から直接供給されたデータと入力レジスタ301
の出力データとのいずれかを選択するものである。第1
の乗算器306は2入力セレクタ305の出力と第1の
係数メモリ302の出力との乗算を、第2の乗算器30
7は入力レジスタ301の出力と第2の係数メモリ30
3の出力との乗算を、第3の乗算器308は入力レジス
タ301の出力と第2の係数メモリ304の出力との乗
算をそれぞれ実行するものである。一時レジスタ309
は、第1の乗算器306の出力を一時保持するものであ
る。第1〜第8の累算器310〜317は、一時レジス
タ309の出力データと第1〜第3の乗算器306〜3
08の結果とを用いて8個の内積w0j,w1j,w2j,w
3j,w4j,w5j,w6j,w7jを求めるための累算を並列
に実行するものであって、各々の内部構成は図5又は図
6のとおりである。8入力セレクタ318は、第1〜第
8の累算器310〜317の結果を順次選択して、デー
タwij(i=0〜7,j=0〜7)を、w00〜w70、w
01〜w71、…、w07〜w77の順序で出力するものであ
る。
One-dimensional IDC according to a second embodiment of the present invention
FIG. 9 shows the configuration of the T processor. This configuration employs the coefficient matrix G shown in FIG. In FIG. 9, 30
1 is an input register, 302 to 304 are first to third coefficient memories, 305 is a two-input selector, 306 to 308 are first to third multipliers, 309 is a temporary register, 310 to 310
Reference numeral 17 denotes a first to eighth accumulators, and 318 denotes an 8-input selector. The first coefficient memory 302 stores 8 in the 0th row of the matrix G.
Elements are stored in the second coefficient memory 303 in the first coefficient of the matrix G.
The eight elements in the row are stored in the third coefficient memory 304 in the matrix G
Of the second row are stored. From the input terminal, binary number data y ij (i = 0 to 2's complement notation)
7, j = 0~7) is, y 00 ~y 70, y 01 ~y 71, ..., y
In the order of 07 ~y 77, it is supplied to the input register 301 and the 2-input selector 305. The two-input selector 305 determines whether the data supplied directly from the input terminal and the input register 301
Of the output data. First
Multiplier 306 multiplies the output of the two-input selector 305 by the output of the first coefficient memory 302,
7 is the output of the input register 301 and the second coefficient memory 30
The third multiplier 308 executes multiplication of the output of the input register 301 and the output of the second coefficient memory 304, respectively. Temporary register 309
Is to temporarily hold the output of the first multiplier 306. The first to eighth accumulators 310 to 317 store output data of the temporary register 309 and first to third multipliers 306 to 306.
08 and the eight inner products w 0j , w 1j , w 2j , w
Accumulation for obtaining 3j , w4j , w5j , w6j , w7j is performed in parallel, and the internal configuration of each is as shown in FIG. 5 or FIG. The 8-input selector 318 sequentially selects the results of the first to eighth accumulators 310 to 317 and converts the data w ij (i = 0 to 7, j = 0 to 7) into w 00 to w 70 , w
01 ~w 71, ..., and outputs in the order of w 07 ~w 77.

【0030】以下、図9及び図5に基づいて、本発明の
第2の実施例に係る1次元IDCTプロセッサの動作を
説明する。
The operation of the one-dimensional IDCT processor according to the second embodiment of the present invention will be described below with reference to FIGS.

【0031】第1のサイクルでは、入力端子からデータ
00が供給される。更に、第1のサイクルの終わりで、
該データy00が入力レジスタ301に書き込まれる。
[0031] In the first cycle, the data y 00 is supplied from the input terminal. Further, at the end of the first cycle,
The data y 00 is written to the input register 301.

【0032】第2のサイクルでは、入力端子からデータ
10が供給され、該データy10が2入力セレクタ305
により選択される。一方、係数メモリ302〜304か
らそれぞれt1 ,t0 ,t0 が読み出され、乗算器30
6〜308により3個の積t1 10,t0 00,t0
00が並列に計算される。次に、累算器310〜317の
4入力セレクタ201により、第2及び第3の乗算器3
07,308の結果のうちの1個がそれぞれ選択され
る。この場合、第2及び第3の乗算器307,308の
結果は同じであるので、いずれを選択してもよい。累算
器310〜317の2の補数器202は、それぞれ4入
力セレクタ201の出力をそのまま通過させる。累算器
310〜317の加算器203は、2の補数器202の
結果と、予め0に初期化された累算レジスタ204の出
力との和を計算し、その加算結果を累算レジスタ204
にそれぞれ書き込む。この結果、累算器310〜317
の全ての累算レジスタ204に、同じ積t0 00が格納
される。更に、第2のサイクルの終わりで、データy10
が入力レジスタ301に書き込まれ、かつ第1の乗算器
306の結果t1 10が一時レジスタ309に書き込ま
れる。
[0032] In the second cycle, the data y 10 is supplied from the input terminal, the data y 10 is the two-input selector 305
Is selected by On the other hand, t 1 , t 0 , and t 0 are read from the coefficient memories 302 to 304, respectively, and
6 to 308, the three products t 1 y 10 , t 0 y 00 , t 0 y
00 are calculated in parallel. Next, the second and third multipliers 3 are input by the four-input selector 201 of the accumulators 310 to 317.
One of the results of 07, 308 is selected, respectively. In this case, the results of the second and third multipliers 307 and 308 are the same, and either may be selected. Each of the two's complementers 202 of the accumulators 310 to 317 passes the output of the four-input selector 201 as it is. The adder 203 of the accumulators 310 to 317 calculates the sum of the result of the two's complementer 202 and the output of the accumulation register 204 which has been initialized to 0 in advance, and outputs the addition result to the accumulation register 204.
Write to each. As a result, the accumulators 310 to 317
, The same product t 0 y 00 is stored in all the accumulation registers 204. Further, at the end of the second cycle, the data y 10
Is written to the input register 301, and the result t 1 y 10 of the first multiplier 306 is written to the temporary register 309.

【0033】第3のサイクルでは、入力端子からデータ
20が供給される。2入力セレクタ305は、入力レジ
スタ301の出力データy10を選択する。一方、係数メ
モリ302〜304からそれぞれt3 ,t5 ,t7 が読
み出され、乗算器306〜308により3個の積t3
10,t5 10,t7 10が並列に計算される。次に、累
算器310〜317の4入力セレクタ201により、一
時レジスタ309の出力データと3個の乗算器306〜
308の結果とのうちの1個がそれぞれ選択される。こ
の場合、第1の累算器310では一時レジスタ309の
出力データt110が、第2の累算器311では第1の
乗算器306の結果t3 10が、第3の累算器312で
は第2の乗算器307の結果t5 10が、第4の累算器
313では第3の乗算器308の結果t7 10が、第5
の累算器314では第3の乗算器308の結果t7 10
が、第6の累算器315では第2の乗算器307の結果
5 10が、第7の累算器316では第1の乗算器30
6の結果t3 10が、第8の累算器317では一時レジ
スタ309の出力データt1 10がそれぞれ選択され
る。第1〜第4の累算器310〜313の2の補数器2
02は、それぞれ4入力セレクタ201の出力をそのま
ま通過させる。第5〜第8の累算器314〜317の2
の補数器202は、それぞれ4入力セレクタ201の出
力の2の補数を出力する。累算器310〜317の加算
器203は、2の補数器202の結果と累算レジスタ2
04の出力との和を計算し、その加算結果を累算レジス
タ204にそれぞれ書き込む。この結果、第1の累算器
310ではt0 00+t1 10が、第2の累算器311
ではt0 00+t3 10が、第3の累算器312ではt
000+t5 10が、第4の累算器313ではt0 00
+t7 10が、第5の累算器314ではt0 00−t7
10が、第6の累算器315ではt0 00−t5
10が、第7の累算器316ではt0 00−t3 10が、
第8の累算器317ではt0 00−t1 10がそれぞれ
累算レジスタ204に格納される。更に、第3のサイク
ルの終わりで、データy20が入力レジスタ301に書き
込まれ、かつ第1の乗算器306の結果t3 10が一時
レジスタ309に書き込まれる。
[0033] In the third cycle, the data y 20 is supplied from the input terminal. 2-input selector 305 selects the output data y 10 of the input register 301. On the other hand, t 3 , t 5 , and t 7 are read from the coefficient memories 302 to 304, respectively, and the three products t 3 y are calculated by the multipliers 306 to 308.
10, t 5 y 10, t 7 y 10 are calculated in parallel. Next, the output data of the temporary register 309 and the three multipliers 306 to 306 are output by the four-input selector 201 of the accumulators 310 to 317.
One of each of the results of 308 is selected. In this case, the first accumulator 310 outputs the output data t 1 y 10 of the temporary register 309, the second accumulator 311 outputs the result t 3 y 10 of the first multiplier 306, and outputs the third accumulation results t 5 y 10 of the vessel 312 a second multiplier 307, the result t 7 y 10 of the fourth accumulator 313 the third multiplier 308, a fifth
In the accumulator 314, the result t 7 y 10 of the third multiplier 308
But sixth result t 5 y 10 of the accumulator 315 the second multiplier 307 of the seventh multiplier 30 accumulator in 316 first of
Results t 3 y 10 of 6, the output data t 1 y 10 of the eighth accumulators in 317 temporary register 309 is selected. Two's complementer 2 of first to fourth accumulators 310 to 313
02 passes the output of the 4-input selector 201 as it is. Fifth to eighth accumulators 314 to 317-2
Output the two's complement of the output of the four-input selector 201, respectively. The adder 203 of the accumulators 310 to 317 stores the result of the two's complementer 202 and the accumulation register 2
The sum of the sum of the output and the sum of the outputs is calculated, and the sum is written to the accumulation register 204. As a result, in the first accumulator 310, t 0 y 00 + t 1 y 10 is converted into the second accumulator 311.
In the third accumulator 312, t 0 y 00 + t 3 y 10
0 y 00 + t 5 y 10 is output to the fourth accumulator 313 by t 0 y 00
+ T 7 y 10 is equal to t 0 y 00 −t 7 in the fifth accumulator 314.
y 10 is equal to t 0 y 00 −t 5 y in the sixth accumulator 315.
10 in the seventh accumulator 316, t 0 y 00 −t 3 y 10
T 0 y 00 -t 1 y 10 In accumulator 317 eighth is stored in the accumulator register 204, respectively. Further, at the end of the third cycle, the data y 20 is written to the input register 301 and the result t 3 y 10 of the first multiplier 306 is written to the temporary register 309.

【0034】第4のサイクルでは、入力端子からデータ
30が供給され、該データy30が2入力セレクタ305
により選択される。一方、係数メモリ302〜304か
らそれぞれt3 ,t2 ,t6 が読み出され、乗算器30
6〜308により3個の積t3 30,t2 20,t6
20が並列に計算される。次に、累算器310〜317の
4入力セレクタ201により、第2及び第3の乗算器3
07,308の結果のうちの1個がそれぞれ選択され
る。この場合、第1、第4、第5及び第8の累算器31
0,313,314,317では第2の乗算器307の
結果t2 20が、第2、第3、第6及び第7の累算器3
11,312,315,316では第3の乗算器308
の結果t6 20がそれぞれ選択される。第1、第2、第
7及び第8の累算器310,311,316,317の
2の補数器202は、それぞれ4入力セレクタ201の
出力をそのまま通過させる。第3〜第6の累算器312
〜315の2の補数器202は、それぞれ4入力セレク
タ201の出力の2の補数を出力する。累算器310〜
317の加算器203は、2の補数器202の結果と累
算レジスタ204の出力との和を計算し、その加算結果
を累算レジスタ204にそれぞれ書き込む。この結果、
第1の累算器310ではt0 00+t1 10+t2 20
が、第2の累算器311ではt0 00+t3 10+t6
20が、第3の累算器312ではt0 00+t5 10
6 20が、第4の累算器313ではt0 00+t7
10−t2 20が、第5の累算器314ではt0 00−t
7 10−t2 20が、第6の累算器315ではt0 00
−t5 10−t6 20が、第7の累算器316ではt0
00−t3 10+t6 20が、第8の累算器317では
0 00−t1 10+t2 20がそれぞれ累算レジスタ
204に格納される。更に、第4のサイクルの終わり
で、データy30が入力レジスタ301に書き込まれ、第
1の乗算器306の結果t3 30が一時レジスタ309
に書き込まれる。
[0034] In the fourth cycle, the data y 30 is supplied from the input terminal, the data y 30 is the two-input selector 305
Is selected by On the other hand, t 3 , t 2 , and t 6 are read from the coefficient memories 302 to 304, respectively, and
6-308 by three product t 3 y 30, t 2 y 20, t 6 y
20 are calculated in parallel. Next, the second and third multipliers 3 are input by the four-input selector 201 of the accumulators 310 to 317.
One of the results of 07, 308 is selected, respectively. In this case, the first, fourth, fifth and eighth accumulators 31
At 0, 313, 314, and 317, the result t 2 y 20 of the second multiplier 307 is stored in the second, third, sixth, and seventh accumulators 3
In 11, 312, 315 and 316, the third multiplier 308
As a result, t 6 y 20 is selected. The two's complementers 202 of the first, second, seventh, and eighth accumulators 310, 311, 316, and 317 each pass the output of the four-input selector 201 as it is. Third to sixth accumulators 312
The two's complement units 202 to 315 output the two's complement of the output of the four-input selector 201, respectively. Accumulator 310
The adder 203 at 317 calculates the sum of the result of the two's complementer 202 and the output of the accumulation register 204, and writes the addition result to the accumulation register 204. As a result,
In the first accumulator 310 t 0 y 00 + t 1 y 10 + t 2 y 20
However, in the second accumulator 311, t 0 y 00 + t 3 y 10 + t 6
In the third accumulator 312, y 20 is equal to t 0 y 00 + t 5 y 10
t 6 y 20 is equal to t 0 y 00 + t 7 y in the fourth accumulator 313.
10 −t 2 y 20 is calculated by the fifth accumulator 314 as t 0 y 00 −t.
7 y 10 −t 2 y 20 is calculated by the sixth accumulator 315 as t 0 y 00
−t 5 y 10 −t 6 y 20 is equal to t 0 in the seventh accumulator 316.
y 00 -t 3 y 10 + t 6 y 20 is the eighth accumulator 317 at t 0 y 00 -t 1 y 10 + t 2 y 20 of is stored in the accumulator register 204, respectively. Further, at the end of the fourth cycle, the data y 30 is written to the input register 301, and the result t 3 y 30 of the first multiplier 306 is stored in the temporary register 309.
Is written to.

【0035】第5のサイクルでは、入力端子からデータ
40が供給される。2入力セレクタ305は、入力レジ
スタ301の出力データy30を選択する。一方、係数メ
モリ302〜304からそれぞれt7 ,t1 ,t5 が読
み出され、乗算器306〜308により3個の積t7
30,t1 30,t5 30が並列に計算される。次に、累
算器310〜317の4入力セレクタ201により、一
時レジスタ309の出力データと3個の乗算器306〜
308の結果とのうちの1個がそれぞれ選択される。こ
の場合、第1の累算器310では一時レジスタ309の
出力データt330が、第2の累算器311では第1の
乗算器306の結果t7 30が、第3の累算器312で
は第2の乗算器307の結果t1 30が、第4の累算器
313では第3の乗算器308の結果t5 30が、第5
の累算器314では第3の乗算器308の結果t5 30
が、第6の累算器315では第2の乗算器307の結果
1 30が、第7の累算器316では第1の乗算器30
6の結果t7 30が、第8の累算器317では一時レジ
スタ309の出力データt3 30がそれぞれ選択され
る。第1、第5、第6及び第7の累算器310,31
4,315,316の2の補数器202は、それぞれ4
入力セレクタ201の出力をそのまま通過させる。第
2、第3、第4及び第8の累算器311,312,31
3,317の2の補数器202は、それぞれ4入力セレ
クタ201の出力の2の補数を出力する。累算器310
〜317の加算器203は、2の補数器202の結果と
累算レジスタ204の出力との和を計算し、その加算結
果を累算レジスタ204にそれぞれ書き込む。この結
果、第1の累算器310ではt0 00+t1 10+t2
20+t3 30が、第2の累算器311ではt0 00
3 10+t6 20−t7 30が、第3の累算器312
ではt0 00+t5 10−t6 20−t1 30が、第4
の累算器313ではt0 00+t7 10−t2 20−t
5 30が、第5の累算器314ではt0 00−t7 10
−t2 20+t5 30が、第6の累算器315ではt0
00−t5 10−t6 20+t1 30が、第7の累算器
316ではt0 00−t3 10+t6 20+t7
30が、第8の累算器317ではt0 00−t1 10+t
2 20−t3 30がそれぞれ累算レジスタ204に格納
される。更に、第5のサイクルの終わりで、データy40
が入力レジスタ301に書き込まれ、かつ第1の乗算器
306の結果t7 30が一時レジスタ309に書き込ま
れる。
In the fifth cycle, data y 40 is supplied from the input terminal. 2-input selector 305 selects the output data y 30 of the input register 301. On the other hand, t 7 , t 1 , and t 5 are read from the coefficient memories 302 to 304, respectively, and the three products t 7 y are calculated by the multipliers 306 to 308.
30 , t 1 y 30 and t 5 y 30 are calculated in parallel. Next, the output data of the temporary register 309 and the three multipliers 306 to 306 are output by the four-input selector 201 of the accumulators 310 to 317.
One of each of the results of 308 is selected. In this case, the first accumulator 310 outputs the output data t 3 y 30 of the temporary register 309, the second accumulator 311 outputs the result t 7 y 30 of the first multiplier 306, and outputs the third accumulation The result t 1 y 30 of the second multiplier 307 is output by the multiplier 312, and the result t 5 y 30 of the third multiplier 308 is output by the fourth accumulator 313.
In the accumulator 314, the result t 5 y 30 of the third multiplier 308
However, the result t 1 y 30 of the second multiplier 307 in the sixth accumulator 315 and the first multiplier 30 in the seventh accumulator 316
Results t 7 y 30 of 6, the output data t 3 y 30 of the eighth accumulators in 317 temporary register 309 is selected. First, fifth, sixth and seventh accumulators 310, 31
The four's complementer 202 of 4,315,316 is 4
The output of the input selector 201 is passed as it is. Second, third, fourth and eighth accumulators 311, 312, 31
3,317 two's complement units 202 each output the two's complement of the output of the four-input selector 201. Accumulator 310
The adders 203 to 317 calculate the sum of the result of the two's complementer 202 and the output of the accumulation register 204, and write the addition result to the accumulation register 204. As a result, in the first accumulator 310 t 0 y 00 + t 1 y 10 + t 2
y 20 + t 3 y 30 is calculated by the second accumulator 311 as t 0 y 00 +
t 3 y 10 + t 6 y 20 -t 7 y 30 is a third accumulator 312
In t 0 y 00 + t 5 y 10 -t 6 y 20 -t 1 y 30 is a fourth
In the accumulator 313, t 0 y 00 + t 7 y 10 −t 2 y 20 −t
5 y 30 is equal to t 0 y 00 −t 7 y 10 in the fifth accumulator 314.
−t 2 y 20 + t 5 y 30 is equal to t 0 in the sixth accumulator 315.
y 00 -t 5 y 10 -t 6 y 20 + t 1 y 30 is the 7 t 0 the accumulator 316 y 00 -t 3 y 10 + t 6 y 20 + t 7 y
In the eighth accumulator 317, t 0 y 00 −t 1 y 10 + t
2 y 20 -t 3 y 30 is stored in the accumulator register 204, respectively. Further, at the end of the fifth cycle, the data y 40
Is written to the input register 301, and the result t 7 y 30 of the first multiplier 306 is written to the temporary register 309.

【0036】第6から第9のサイクルでは、入力端子か
らデータy50,y60,y70,y01が順次供給される。し
たがって、第9サイクルの終りには、累算器310〜3
17の累算レジスタ204に、8個の内積w00,w10
20,w30,w40,w50,w60,w70が格納される。更
に、第9のサイクルの終わりで、データy01が入力レジ
スタ301に書き込まれ、かつ第1の乗算器306の結
果t5 70が一時レジスタ309に書き込まれる。
In the sixth to ninth cycles, data y 50 , y 60 , y 70 and y 01 are sequentially supplied from the input terminals. Therefore, at the end of the ninth cycle, the accumulators 310 to 3
In the 17 accumulation registers 204, eight inner products w 00 , w 10 ,
w 20, w 30, w 40 , w 50, w 60, w 70 are stored. Further, at the end of the ninth cycle, the data y 01 is written to the input register 301 and the result t 5 y 70 of the first multiplier 306 is written to the temporary register 309.

【0037】第10のサイクルでは、入力端子からデー
タy11が供給されて上記第2のサイクルと同様の処理が
実行されるとともに、累算器310〜317の累算レジ
スタ204の保持内容w00,w10,w20,w30,w40
50,w60,w70がバッファレジスタ205へそれぞれ
転送される。そして、8入力セレクタ318は、第1の
累算器310の出力w00を選択出力する。
In the tenth cycle, data y 11 is supplied from the input terminal, the same processing as in the second cycle is executed, and the contents w 00 of the accumulation register 204 of the accumulators 310 to 317 are held. , W 10 , w 20 , w 30 , w 40 ,
w 50 , w 60 , and w 70 are transferred to the buffer register 205, respectively. The 8-input selector 318 selectively outputs the output w 00 of the first accumulator 310.

【0038】以下同様の処理を繰り返すことにより、連
続的に供給される入力データy00〜y70,y01〜y71
…,y07〜y77に対応した出力データw00〜w70,w01
〜w71,…,w07〜w77が連続して得られる。
Thereafter, by repeating the same processing, the input data y 00 to y 70 , y 01 to y 71 , which are continuously supplied,
..., output data w 00 to w 70 , w 01 corresponding to y 07 to y 77
~w 71, ..., w 07 ~w 77 can be obtained continuously.

【0039】以上のとおり、第2の実施例によれば、乗
算器の数が3に低減された1次元IDCTプロセッサを
実現できる。
As described above, according to the second embodiment, a one-dimensional IDCT processor in which the number of multipliers is reduced to three can be realized.

【0040】(実施例3)式(4)から、t0 =t4
あることが直ちに分かる。この関係を利用すると、式
(2)は、 wij=di00j+Σk=1 3 ikkj+di44j+Σk=5 7 ikkj =t0 0j+Σk=1 3 ikkj±t0 4j+Σk=5 7 ikkj =t0 0j±t0 4j+Σk=1 3 ikkj+Σk=5 7 ikkj =t0 0j±t0 4j+ωij …(5) のように変形される。ここに、式(5)中の“±”は、
i=0,3,4,7の場合に“+”を、i=1,2,
5,6の場合に“−”をそれぞれ意味する(図1参
照)。また、式(5)中のωijは部分内積であって、 ωij=Σk=1 3 ikkj+Σk=5 7 ikkj …(6) である。式(6)によれば、図1の行列演算のサイズ
は、図10のように低減される。
(Embodiment 3) From equation (4), it can be immediately understood that t 0 = t 4 . Using this relationship, equation (2) is, w ij = d i0 y 0j + Σ k = 1 3 d ik y kj + d i4 y 4j + Σ k = 5 7 d ik y kj = t 0 y 0j + Σ k = 1 3 d ik y kj ± t 0 y 4j + Σ k = 5 7 d ik y kj = t 0 y 0j ± t 0 y 4j + Σ k = 1 3 d ik y kj + Σ k = 5 7 d ik y kj = t 0 y 0j ± t 0 y 4j + ω ij (5) Here, “±” in equation (5) is
"+" when i = 0,3,4,7, i = 1,2,2
In the case of 5, 6, it means "-", respectively (see FIG. 1). Further, omega ij in equation (5) is a partial inner product is a ω ij = Σ k = 1 3 d ik y kj + Σ k = 5 7 d ik y kj ... (6). According to equation (6), the size of the matrix operation in FIG. 1 is reduced as shown in FIG.

【0041】本発明の第3の実施例に係る1次元IDC
Tプロセッサの構成を図11に示す。この構成は、式
(5)の演算を実行するものである。図11において、
10は入力バッファ、11は定数乗算回路、12は分布
演算(DA)回路、13は合成演算(RA)回路であ
る。入力端子から、16ビット長の2の補数表示の2進
数データyij(i=0〜7,j=0〜7)が、y00〜y
70、y01〜y71、…、y07〜y77の順序で入力バッファ
10へ供給される。入力バッファ10は、データy0j
4jを定数乗算回路11へ、データy1j,y2j,y3j
5j,y6j,y7jをDA回路12へそれぞれ供給する。
定数乗算回路11は、2個の定数乗算t0 0j,t0
4jを実行するものである。DA回路12は、図10の行
列演算を実行することにより部分内積ωijを求めるもの
である。RA回路13は、t0 0j、t0 4j及びωij
から、式(5)に従って内積wijを求めるものである。
One-dimensional IDC according to a third embodiment of the present invention
FIG. 11 shows the configuration of the T processor. This configuration executes the calculation of the equation (5). In FIG.
Reference numeral 10 denotes an input buffer, 11 denotes a constant multiplication circuit, 12 denotes a distribution operation (DA) circuit, and 13 denotes a synthesis operation (RA) circuit. From the input terminal, binary data y ij (i = 0 to 7, j = 0 to 7) represented by 2's complement with a 16-bit length are input to y 00 to y
70, y 01 ~y 71, ... , is supplied to the input buffer 10 in the order of y 07 ~y 77. The input buffer 10 stores data y 0j ,
y 4j is supplied to the constant multiplication circuit 11 and data y 1j , y 2j , y 3j ,
y 5j , y 6j , and y 7j are supplied to the DA circuit 12, respectively.
The constant multiplication circuit 11 performs two constant multiplications t 0 y 0j and t 0 y
4j . The DA circuit 12 obtains the partial inner product ω ij by executing the matrix operation shown in FIG. The RA circuit 13 calculates t 0 y 0j , t 0 y 4j and ω ij
Is used to determine the inner product w ij according to equation (5).

【0042】入力バッファ10の内部構成を図12に示
す。入力バッファ10は、各々データy0j,y1j
2j,y3j,y4j,y5j,y6j,y7jを保持するための
8個のレジスタ400〜407で構成される。
FIG. 12 shows the internal configuration of the input buffer 10. The input buffer 10 stores data y 0j , y 1j ,
y 2j, composed of y 3j, y 4j, y 5j , y 6j, 8 pieces of registers 400 to 407 for holding the y 7j.

【0043】定数乗算回路11の内部構成を図13に示
す。定数乗算回路11は、データy0jを保持するための
入力レジスタ410と、データy4jを保持するための入
力レジスタ411と、2個のデータy0j,y4jを順次選
択するための2入力セレクタ412と、2個の定数乗算
0 0j,t0 4jを順次実行するための乗算器413
と、積t0 0jを保持するための一時レジスタ414
と、積t0 4jを保持するための一時レジスタ415
と、当該1次元IDCTプロセッサのパイプライン動作
を保証するように両一時レジスタ414,415の出力
を保持するための2個のバッファレジスタ416,41
7とで構成される。
FIG. 13 shows the internal configuration of the constant multiplication circuit 11. The constant multiplication circuit 11 has an input register 410 for holding data y 0j , an input register 411 for holding data y 4j, and a two-input selector for sequentially selecting two data y 0j and y 4j. 412 and a multiplier 413 for sequentially executing two constant multiplications t 0 y 0j and t 0 y 4j.
And a temporary register 414 for holding the product t 0 y 0j
And a temporary register 415 for holding the product t 0 y 4j
And two buffer registers 416 and 41 for holding the outputs of both temporary registers 414 and 415 so as to guarantee the pipeline operation of the one-dimensional IDCT processor.
7 is comprised.

【0044】DA回路12の内部構成を図14に示す。
DA回路12は、6個のシフトレジスタ420〜425
と、8個の6ビット入力RAC426〜433と、8個
のバッファレジスタ434〜441と、8入力セレクタ
442とで構成される。シフトレジスタ420〜425
は、各々データy1j,y2j,y3j,y5j,y6j,y7j
保持し、各々の最下位2ビットを次々とシフトアウトす
るものである。シフトレジスタ420〜425の各々の
最下位ビットは第1のビットスライスワードq0 とし
て、各々の最下位ビットより1桁上位のビットは第2の
ビットスライスワードq1 としてそれぞれ6ビット入力
RAC426〜433へ供給される。6ビット入力RA
C426は、図15に示すように、第1のROM71
と、第2のROM72と、3入力加減算器73と、シフ
タ74と、累算レジスタ75とで構成される。第1のR
OM71は、第1のビットスライスワードq0 をアドレ
スとして受け取り、対応するベクトル内積の部分和を3
入力加減算器73へ第1の入力として供給するものであ
る。第2のROM72は、第2のビットスライスワード
1 をアドレスとして受け取り、対応するベクトル内積
の部分和を3入力加減算器73へ第2の入力として供給
するものである。累算レジスタ75の保持出力は、3入
力加減算器73へ第3の入力として供給される。ただ
し、第2の入力は、第1及び第3の入力より1ビット上
位の重みを持つ。累算レジスタ75の保持内容は、予め
0に初期化される。3入力加減算器73は、第1〜第3
の入力の加算を実行するものである。ただし、最後のビ
ットスライスワードq1 に係る部分和については、減算
を実行する。シフタ74は、3入力加減算器73の結果
の桁移動のための左シフタである。累算レジスタ75の
保持内容は、シフタ74の出力に書き換えられる。最終
的に、累算レジスタ75から部分内積ω0jが出力され
る。図14中の他の6ビット入力RACの内部構成も図
15と同様である。したがって、8個の6ビット入力R
AC426〜433で8個の部分内積ω0j,ω1j
ω2j,ω3j,ω4j,ω5j,ω6j,ω7jが並列に求められ
る。バッファレジスタ434〜441は、当該1次元I
DCTプロセッサのパイプライン動作を保証するよう
に、6ビット入力RAC426〜433の出力を保持す
るものである。8入力セレクタ442は、バッファレジ
スタ434〜441の保持データを順次選択して、部分
内積ωij(i=0〜7,j=0〜7)を、ω0j,ω1j
ω2j,ω3j,ω4j,ω5j,ω6j,ω7jの順序で出力する
ものである。
FIG. 14 shows the internal configuration of the DA circuit 12.
The DA circuit 12 includes six shift registers 420 to 425.
, Eight 6-bit input RACs 426 to 433, eight buffer registers 434 to 441, and an eight-input selector 442. Shift registers 420 to 425
Holds data y 1j , y 2j , y 3j , y 5j , y 6j , and y 7j , and shifts out the least significant two bits one after another. The least significant bit of each of shift registers 420 to 425 is a first bit slice word q 0 , and the bit one digit higher than the least significant bit is a second bit slice word q 1 , each having a 6-bit input RAC 426 to 433. Supplied to 6-bit input RA
C426, as shown in FIG.
, A second ROM 72, a three-input adder / subtractor 73, a shifter 74, and an accumulation register 75. First R
The OM 71 receives the first bit slice word q 0 as an address and calculates the partial sum of the corresponding vector dot product by 3
It is supplied to the input adder / subtractor 73 as a first input. The second ROM 72 receives the second bit slice word q 1 as an address, and supplies the partial sum of the corresponding vector inner product to the three-input adder / subtractor 73 as a second input. The output held by the accumulation register 75 is supplied to the three-input adder / subtractor 73 as a third input. However, the second input has a weight one bit higher than the first and third inputs. The content held in the accumulation register 75 is initialized to 0 in advance. The three-input adder / subtractor 73 includes first to third
Is performed. However, the partial sum of the last bit slice word q 1, executes the subtraction. The shifter 74 is a left shifter for shifting the digit of the result of the three-input adder / subtracter 73. The content held in the accumulation register 75 is rewritten to the output of the shifter 74. Finally, the partial inner product ω 0j is output from the accumulation register 75. The internal configuration of another 6-bit input RAC in FIG. 14 is the same as that in FIG. Therefore, eight 6-bit inputs R
In AC 426 to 433, eight partial inner products ω 0j , ω 1j ,
ω 2j , ω 3j , ω 4j , ω 5j , ω 6j , ω 7j are obtained in parallel. The buffer registers 434 to 441 store the one-dimensional I
The outputs of the 6-bit input RACs 426 to 433 are held so as to guarantee the pipeline operation of the DCT processor. The 8-input selector 442 sequentially selects the data held in the buffer registers 434 to 441, and converts the partial inner product ω ij (i = 0 to 7, j = 0 to 7) into ω 0j , ω 1j ,
ω 2j , ω 3j , ω 4j , ω 5j , ω 6j , and ω 7j are output in this order.

【0045】RA回路13の内部構成を図16に示す。
RA回路13は、定数乗算回路11から供給された2個
の積t0 0j,t0 4jと、DA回路12から供給され
た部分内積ωijとの加減算を実行して内積wijを求める
ための3入力加減算器450で構成される。ただし、積
0 4jについては、式(5)に従って、iの値に応じ
て加算又は減算が選択される。具体的には、i=0,
3,4,7のサイクルでは加算を選択し、i=1,2,
5,6のサイクルでは減算を選択するように制御され
る。
FIG. 16 shows the internal configuration of the RA circuit 13.
The RA circuit 13 performs addition and subtraction of the two products t 0 y 0j and t 0 y 4j supplied from the constant multiplication circuit 11 and the partial inner product ω ij supplied from the DA circuit 12 to obtain an inner product w ij . It comprises a three-input adder / subtractor 450 for obtaining. However, for the product t 0 y 4j , addition or subtraction is selected according to the value of i according to equation (5). Specifically, i = 0,
In cycles 3, 4, and 7, addition is selected, and i = 1, 2, 2,
In cycles 5 and 6, control is performed to select subtraction.

【0046】以下、図11〜図16に基づいて、本発明
の第3の実施例に係る1次元IDCTプロセッサの動作
を説明する。
The operation of the one-dimensional IDCT processor according to the third embodiment of the present invention will be described below with reference to FIGS.

【0047】第1から第8のサイクルでは、入力端子か
ら入力バッファ10に8個のデータy00,y10,y20
30,y40,y50,y60,y70が順次入力される。これ
らのデータは、それぞれレジスタ400〜407に格納
される。
In the first to eighth cycles, the eight data y 00 , y 10 , y 20 ,
y 30, y 40, y 50 , y 60, y 70 are sequentially inputted. These data are stored in registers 400 to 407, respectively.

【0048】第9のサイクルでは、入力バッファ10の
データが定数乗算回路11及びDA回路12へ転送され
る。すなわち、データy00,y40は定数乗算回路11の
入力レジスタ410,411に、データy10,y20,y
30,y50,y60,y70はDA回路12のシフトレジスタ
420〜425にそれぞれ格納される。
In the ninth cycle, the data in the input buffer 10 is transferred to the constant multiplication circuit 11 and the DA circuit 12. That is, the data y 00, y 40 to the input register 410, 411 of the constant multiplier circuit 11, the data y 10, y 20, y
30 , y 50 , y 60 , and y 70 are stored in shift registers 420 to 425 of the DA circuit 12, respectively.

【0049】第10から第13のサイクルでは、定数乗
算回路11の2入力セレクタ412によりデータy00
選択され、乗算器413により定数乗算t0 00が実行
され、その結果が一時レジスタ414に書き込まれる。
第14から第17のサイクルでは、2入力セレクタ41
2によりデータy40が選択され、乗算器413により定
数乗算t0 40が実行され、その結果が一時レジスタ4
15に書き込まれる。一方、DA回路12では、第10
から第17のサイクルにおいて、6ビット入力RAC4
26〜433により8個の部分内積ω00,ω10,ω20
ω30,ω40,ω50,ω60,ω70が求められる。
In the tenth to thirteenth cycles, the data y 00 is selected by the two-input selector 412 of the constant multiplication circuit 11, the constant multiplication t 0 y 00 is executed by the multiplier 413, and the result is stored in the temporary register 414. Written.
In the fourteenth to seventeenth cycles, the two-input selector 41
2, the data y 40 is selected, the constant multiplication t 0 y 40 is executed by the multiplier 413, and the result is stored in the temporary register 4
15 is written. On the other hand, in the DA circuit 12, the tenth
To the seventeenth cycle, the 6-bit input RAC4
26 to 433, the eight partial inner products ω 00 , ω 10 , ω 20 ,
ω 30 , ω 40 , ω 50 , ω 60 , ω 70 are obtained.

【0050】第18のサイクルでは、定数乗算回路11
の一時レジスタ414,415の保持データがバッファ
レジスタ416,417へ、DA回路12の6ビット入
力RAC426〜433の出力データがバッファレジス
タ434〜441へそれぞれ転送される。
In the eighteenth cycle, the constant multiplication circuit 11
The data held in the temporary registers 414 and 415 are transferred to the buffer registers 416 and 417, and the output data from the 6-bit input RACs 426 to 433 of the DA circuit 12 are transferred to the buffer registers 434 to 441, respectively.

【0051】第19から第26のサイクルでは、DA回
路12の8入力セレクタ442が部分内積ω00,ω10
ω20,ω30,ω40,ω50,ω60,ω70をRA回路13へ
順次供給する。一方、積t0 00,t0 40が定数演算
回路11からRA回路13へ供給される。RA回路11
の3入力加減算器450は、式(5)に従って、内積w
00,w10,w20,w30,w40,w50,w60,w70を順次
出力する。
In the nineteenth through twenty-sixth cycles, the 8-input selector 442 of the DA circuit 12 sets the partial inner products ω 00 , ω 10 ,
ω 20 , ω 30 , ω 40 , ω 50 , ω 60 and ω 70 are sequentially supplied to the RA circuit 13. On the other hand, the products t 0 y 00 and t 0 y 40 are supplied from the constant operation circuit 11 to the RA circuit 13. RA circuit 11
The three-input adder / subtractor 450 calculates the inner product w according to equation (5).
00, w 10, w 20, w 30, w 40, w 50, and sequentially outputs w 60, w 70.

【0052】次の8個のデータy01,y11,y21
31,y41,y51,y61,y71に関する処理は、第9か
ら第34のサイクルにおいて、上記第1から第26のサ
イクルの処理と同様に行われる。この結果、第27から
第34のサイクルで内積w01,w11,w21,w31
41,w51,w61,w71が順次出力される。
The next eight data y 01 , y 11 , y 21 ,
The processing related to y 31 , y 41 , y 51 , y 61 , and y 71 is performed in the ninth to thirty-fourth cycles in the same manner as the processing in the first to twenty-sixth cycles. As a result, the inner products w 01 , w 11 , w 21 , w 31 ,
w 41 , w 51 , w 61 , w 71 are sequentially output.

【0053】以下同様の処理を繰り返すことにより、連
続的に供給される入力データy00〜y70,y01〜y71
…,y07〜y77に対応した出力データw00〜w70,w01
〜w71,…,w07〜w77が連続して得られる。
By repeating the same processing as described above, the input data y 00 to y 70 , y 01 to y 71 , and the continuously supplied input data y 00 to y 70 ,
..., output data w 00 to w 70 , w 01 corresponding to y 07 to y 77
~w 71, ..., w 07 ~w 77 can be obtained continuously.

【0054】以上のとおり、第3の実施例によれば、乗
算器の数が1に低減された1次元IDCTプロセッサを
実現できる。しかも、定数乗算回路11の中の乗算器4
13は、2変数入力の乗算器に比べて回路規模が小さ
い。また、内積計算の一部を定数乗算回路11で実行す
るので、DA回路12のROMサイズが低減される。
As described above, according to the third embodiment, a one-dimensional IDCT processor in which the number of multipliers is reduced to one can be realized. Moreover, the multiplier 4 in the constant multiplication circuit 11
13 has a smaller circuit scale than a two-variable input multiplier. Further, since a part of the inner product calculation is performed by the constant multiplication circuit 11, the ROM size of the DA circuit 12 is reduced.

【0055】以下、上記第3の実施例の変形例について
説明する。式(5)は、 wij=t0 (y0j±y4j)+ωij …(7) のように変形される。ここに、式(7)中の“±”は、
i=0,3,4,7の場合に“+”を、i=1,2,
5,6の場合に“−”をそれぞれ意味する(図1参
照)。図17の定数乗算回路11及び図18のRA回路
13は、式(7)の演算手順を採用したものである。
Hereinafter, a modification of the third embodiment will be described. Equation (5) is modified as follows: w ij = t 0 (y 0j ± y 4j ) + ω ij (7) Here, “±” in equation (7) is
"+" when i = 0,3,4,7, i = 1,2,2
In the case of 5, 6, it means "-", respectively (see FIG. 1). The constant multiplication circuit 11 of FIG. 17 and the RA circuit 13 of FIG. 18 employ the calculation procedure of Expression (7).

【0056】図17に示した定数乗算回路11は、デー
タy0jを保持するための入力レジスタ500と、データ
4jを保持するための入力レジスタ501と、加算y0j
+y4j及び減算y0j−y4jを順次実行するための2入力
加減算器502と、2個の定数乗算t0 (y0j
4j),t0 (y0j−y4j)を順次実行するための乗算
器503と、積t0 (y0j+y4j)を保持するための一
時レジスタ504と、積t0(y0j−y4j)を保持する
ための一時レジスタ505と、両一時レジスタ504,
505の出力を保持するための2個のバッファレジスタ
506,507とで構成される。
The constant multiplication circuit 11 shown in FIG. 17 includes an input register 500 for holding data y 0j , an input register 501 for holding data y 4j , and an addition y 0j
+ Y 4j and subtraction y 0j −y 4j for sequentially executing two-input adder / subtractor 502 and two constant multiplications t 0 (y 0j +
y 4j ), a multiplier 503 for sequentially executing t 0 (y 0j −y 4j ), a temporary register 504 for holding the product t 0 (y 0j + y 4j ), and a product t 0 (y 0j − y 4j ), and both temporary registers 504 and 504.
It is composed of two buffer registers 506 and 507 for holding the output of 505.

【0057】図17の定数乗算回路11を採用する場合
には、図16のRA回路13は図18のように変形され
る。図18のRA回路13は、定数乗算回路11から供
給された2個の積t0 (y0j+y4j),t0 (y0j−y
4j)のうちのいずれか一方を選択するための2入力セレ
クタ510と、該2入力セレクタ510で選択された積
とDA回路12から供給された部分内積ωijとの加算を
実行して内積wijを求めるための2入力加算器511と
で構成される。2入力セレクタ510は、式(7)に従
って、i=0,3,4,7のサイクルではt0 (y0j
4j)を選択し、i=1,2,5,6のサイクルではt
0 (y0j−y4j)を選択するように制御される。
When the constant multiplication circuit 11 of FIG. 17 is employed, the RA circuit 13 of FIG. 16 is modified as shown in FIG. The RA circuit 13 in FIG. 18 includes two products t 0 (y 0j + y 4j ) and t 0 (y 0j −y) supplied from the constant multiplication circuit 11.
4j ), and the addition of the product selected by the two-input selector 510 and the partial inner product ω ij supplied from the DA circuit 12 to execute the inner product w and a two-input adder 511 for obtaining ij . According to equation (7), 2-input selector 510 determines that t 0 (y 0j +
y 4j ), and in the cycle of i = 1, 2, 5, 6, t
0 (y 0j −y 4j ) is controlled.

【0058】さて、図10の行列演算は、図19のよう
に変形される。図19中の8行6列の行列の要素の半分
は0である。したがって、図19の行列演算は、図20
(a)及び図20(b)のように2つに分割される。図
20(a)中の4個の部分内積ρ0j,ρ1j,ρ2j,ρ3j
は4個の2ビット入力RACで、図20(b)中の4個
の部分内積σ0j,σ1j,σ2j,σ3jは4個の4ビット入
力RACでそれぞれ求めることができる。また、図20
(a)及び図20(b)から、 ω0j=ρ0j+σ0j ω1j=ρ1j+σ1j ω2j=ρ2j+σ2j ω3j=ρ3j+σ3j ω4j=ρ3j−σ3j ω5j=ρ2j−σ2j ω6j=ρ1j−σ1j ω7j=ρ0j−σ0j …(8) であることが分かる。図21のDA回路12は、図20
(a)及び図20(b)の行列演算をそれぞれRACで
実行したうえ、式(8)を用いて部分内積ωijを求める
ものである。
The matrix operation shown in FIG. 10 is modified as shown in FIG. Half of the elements of the matrix of 8 rows and 6 columns in FIG. 19 are 0. Therefore, the matrix operation of FIG.
It is divided into two as shown in FIG. The four partial inner products ρ 0j , ρ 1j , ρ 2j , ρ 3j in FIG.
Are four 2-bit input RACs, and the four partial inner products σ 0j , σ 1j , σ 2j , and σ 3j in FIG. 20B can be obtained by the four 4-bit input RACs. FIG.
From (a) and FIG. 20 (b), ω 0j = ρ 0j + σ 0j ω 1j = ρ 1j + σ 1j ω 2j = ρ 2j + σ 2j ω 3j = ρ 3j + σ 3j ω 4j = ρ 3j3j ω 5j = It can be seen that ρ 2j −σ 2j ω 6j = ρ 1j −σ 1j ω 7j = ρ 0j −σ 0j (8). The DA circuit 12 in FIG.
The matrix calculations shown in FIGS. 20A and 20B are respectively executed by RAC, and the partial inner product ω ij is obtained by using Expression (8).

【0059】図21のDA回路12は、6個のシフトレ
ジスタ700〜705と、4個の4ビット入力RAC7
06〜709と、4個の2ビット入力RAC710〜7
13と、8個のバッファレジスタ714〜721と、第
1の4入力セレクタ722と、第2の4入力セレクタ7
23と、2入力加減算器724とで構成される。シフト
レジスタ700〜705は、各々データy1j,y2j,y
3j,y5j,y6j,y7jを保持し、各々の最下位2ビット
を次々とシフトアウトするものである。4個のシフトレ
ジスタ700,702,703,705の各々の最下位
ビットは第1のビットスライスワードs0 として、各々
の最下位ビットより1桁上位のビットは第2のビットス
ライスワードs1 としてそれぞれ4ビット入力RAC7
06〜709へ供給される。2個のシフトレジスタ70
1,704の各々の最下位ビットは第3のビットスライ
スワードr0 として、各々の最下位ビットより1桁上位
のビットは第4のビットスライスワードr1 としてそれ
ぞれ2ビット入力RAC710〜713へ供給される。
4ビット入力RAC706は、図22に示すように、第
1のROM81と、第2のROM82と、3入力加減算
器83と、シフタ84と、累算レジスタ85とで構成さ
れる。図21中の他の4ビット入力RACの内部構成も
図22と同様である。したがって、4個の4ビット入力
RAC706〜709で4個の部分内積σ0j,σ1j,σ
2j,σ3jが並列に求められる。2ビット入力RAC71
0は、図23に示すように、第1のROM91と、第2
のROM92と、3入力加減算器93と、シフタ94
と、累算レジスタ95とで構成される。図21中の他の
2ビット入力RACの内部構成も図23と同様である。
したがって、4個の2ビット入力RAC710〜713
で4個の部分内積ρ0j,ρ1j,ρ2j,ρ3jが並列に求め
られる。バッファレジスタ714〜721は、当該1次
元IDCTプロセッサのパイプライン動作を保証するよ
うに、8個のRAC706〜713の出力を保持するも
のである。第1の4入力セレクタ722は、バッファレ
ジスタ714〜717の保持データを選択して、部分内
積σ0j,σ1j,σ2j,σ3j,σ3j,σ2j,σ1j,σ0j
2入力加減算器724へ順次供給するものである。第2
の4入力セレクタ723は、バッファレジスタ718〜
721の保持データを選択して、部分内積ρ0j,ρ1j
ρ2j,ρ3j,ρ3j,ρ2j,ρ1j,ρ0jを2入力加減算器
724へ順次供給するものである。2入力加減算器72
4は、式(8)に従って加減算を実行するものである。
すなわち、部分内積ωij(i=0〜7,j=0〜7)
が、ω0j,ω1j,ω2j,ω3j,ω4j,ω5j,ω6j,ω7j
の順序で2入力加減算器724から出力される。
The DA circuit 12 shown in FIG. 21 includes six shift registers 700 to 705 and four 4-bit input RAC7s.
06 to 709 and four 2-bit input RACs 710 to 7
13, eight buffer registers 714 to 721, a first four-input selector 722, and a second four-input selector 7.
23 and a two-input adder / subtractor 724. The shift registers 700 to 705 store data y 1j , y 2j , y
3j , y5j , y6j , and y7j are held, and the least significant two bits are shifted out one after another. Least significant bit of each of the four shift registers 700,702,703,705 as first bit slice word s 0, as a bit slice word s 1 bit of the second order of magnitude higher than the least significant bit of each Each 4-bit input RAC7
06 to 709. Two shift registers 70
1, 704, the least significant bit of which is supplied as a third bit slice word r 0 , and the bit one digit higher than the least significant bit is supplied as a fourth bit slice word r 1 to the 2-bit inputs RAC 710-713, respectively. Is done.
As shown in FIG. 22, the 4-bit input RAC 706 includes a first ROM 81, a second ROM 82, a three-input adder / subtractor 83, a shifter 84, and an accumulation register 85. The internal configuration of another 4-bit input RAC in FIG. 21 is the same as that in FIG. Therefore, four partial inner products σ 0j , σ 1j , σ are obtained by four 4-bit inputs RAC 706 to 709 .
2j and σ 3j are obtained in parallel. 2-bit input RAC71
0 is the first ROM 91 and the second ROM 91, as shown in FIG.
ROM 92, 3-input adder / subtractor 93, and shifter 94
And an accumulation register 95. The internal configuration of another 2-bit input RAC in FIG. 21 is the same as that in FIG.
Therefore, four 2-bit inputs RAC 710-713
, Four partial inner products ρ 0j , ρ 1j , ρ 2j , ρ 3j are obtained in parallel. The buffer registers 714 to 721 hold the outputs of the eight RACs 706 to 713 so as to guarantee the pipeline operation of the one-dimensional IDCT processor. The first four-input selector 722 selects the data held in the buffer registers 714 to 717 and inputs the partial inner products σ 0j , σ 1j , σ 2j , σ 3j , σ 3j , σ 2j , σ 1j , and σ 0j. These are sequentially supplied to the adder / subtractor 724. Second
Of the buffer registers 718 to
721 is selected, and the partial inner products ρ 0j , ρ 1j ,
ρ 2j , ρ 3j , ρ 3j , ρ 2j , ρ 1j , and ρ 0j are sequentially supplied to the two-input adder / subtractor 724. 2-input adder / subtractor 72
4 executes addition / subtraction according to the equation (8).
That is, the partial inner product ω ij (i = 0 to 7, j = 0 to 7)
Ω 0j , ω 1j , ω 2j , ω 3j , ω 4j , ω 5j , ω 6j , ω 7j
Are output from the two-input adder / subtractor 724 in the following order.

【0060】図11中の定数演算回路11及びRA回路
13の内部構成は、図13と図16との組み合わせ、図
17と図18との組み合わせなどの中から適宜選択され
る。また、図11中のDA回路12の内部構成は、図1
4及び図21などの中から適宜選択される。
The internal configurations of the constant operation circuit 11 and the RA circuit 13 in FIG. 11 are appropriately selected from a combination of FIGS. 13 and 16 and a combination of FIGS. 17 and 18. The internal configuration of the DA circuit 12 in FIG.
4 and FIG. 21 or the like.

【0061】なお、上記第1〜第3の実施例では8ポイ
ントIDCT処理について説明したが、各実施例は16
ポイントIDCT処理、8ポイントIDST処理、16
ポイントIDST処理などに容易に変形できる。
In the first to third embodiments, the 8-point IDCT processing has been described.
Point IDCT processing, 8-point IDST processing, 16
It can be easily transformed into a point IDST process or the like.

【0062】[0062]

【発明の効果】以上説明してきたとおり、本発明によれ
ば、所要の乗算器数が大幅に低減される結果、直交変換
プロセッサの回路規模が低減される。また、複数の内積
計算の各々を2個の定数乗算と1個の部分内積計算とに
分割することとすれば、内積計算の全てをDA回路で実
現する場合に比べてROMサイズが低減される結果、直
交変換プロセッサの回路規模が低減される。
As described above, according to the present invention, the required number of multipliers is greatly reduced, and as a result, the circuit scale of the orthogonal transform processor is reduced. Further, if each of the plurality of inner product calculations is divided into two constant multiplications and one partial inner product calculation, the ROM size is reduced as compared with the case where all the inner product calculations are realized by DA circuits. As a result, the circuit scale of the orthogonal transform processor is reduced.

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

【図1】本発明に係るIDCTプロセッサによって実行
されるべき行列演算を示す図である。
FIG. 1 illustrates a matrix operation to be performed by an IDCT processor according to the present invention.

【図2】図1の行列演算の1つの実行手順を示す図であ
る。
FIG. 2 is a diagram showing one execution procedure of the matrix operation of FIG. 1;

【図3】図2の手順で用いられる係数行列を示す図であ
る。
FIG. 3 is a diagram showing a coefficient matrix used in the procedure of FIG. 2;

【図4】図3の係数行列を採用した、本発明の第1の実
施例に係るIDCTプロセッサの構成図である。
FIG. 4 is a configuration diagram of an IDCT processor according to the first embodiment of the present invention, which employs the coefficient matrix of FIG. 3;

【図5】図4中の1個の累算器の内部構成図である。FIG. 5 is an internal configuration diagram of one accumulator in FIG. 4;

【図6】図5の累算器の変形例を示す図である。FIG. 6 is a diagram showing a modification of the accumulator of FIG.

【図7】図1の行列演算の他の実行手順を示す図であ
る。
FIG. 7 is a diagram showing another execution procedure of the matrix operation of FIG. 1;

【図8】図7の手順で用いられる係数行列を示す図であ
る。
FIG. 8 is a diagram showing a coefficient matrix used in the procedure of FIG. 7;

【図9】図8の係数行列を採用した、本発明の第2の実
施例に係るIDCTプロセッサの構成図である。
FIG. 9 is a configuration diagram of an IDCT processor according to a second embodiment of the present invention employing the coefficient matrix of FIG. 8;

【図10】図1の行列演算の一部を示す図である。FIG. 10 is a diagram showing a part of the matrix operation of FIG. 1;

【図11】本発明の第3の実施例に係るIDCTプロセ
ッサの構成図である。
FIG. 11 is a configuration diagram of an IDCT processor according to a third embodiment of the present invention.

【図12】図11中の入力バッファの内部構成図であ
る。
FIG. 12 is an internal configuration diagram of an input buffer in FIG. 11;

【図13】図11中の定数乗算回路の内部構成図であ
る。
13 is an internal configuration diagram of a constant multiplication circuit in FIG.

【図14】図11中の分布演算回路の内部構成図であ
る。
14 is an internal configuration diagram of the distribution operation circuit in FIG.

【図15】図10の行列演算を実行するための、図14
中の1個の6ビット入力RACの内部構成図である。
FIG. 15 for performing the matrix operation of FIG. 10;
FIG. 4 is an internal configuration diagram of one of the 6-bit input RACs.

【図16】図11中の合成演算回路の内部構成図であ
る。
FIG. 16 is an internal configuration diagram of the synthesis operation circuit in FIG. 11;

【図17】図13の定数乗算回路の変形例を示す図であ
る。
FIG. 17 is a diagram illustrating a modification of the constant multiplication circuit of FIG. 13;

【図18】図17の定数乗算回路を採用したIDCTプ
ロセッサにおける合成演算回路の内部構成図である。
18 is an internal configuration diagram of a synthesis operation circuit in the IDCT processor employing the constant multiplication circuit of FIG.

【図19】図10から導出された行列演算を示す図であ
る。
FIG. 19 is a diagram illustrating a matrix operation derived from FIG. 10;

【図20】(a)及び(b)は図19から分割された2
つの行列演算を示す図である。
FIGS. 20 (a) and (b) are two divisions of FIG.
FIG. 7 is a diagram showing two matrix operations.

【図21】図14の分布演算回路の変形例を示す図であ
る。
FIG. 21 is a diagram illustrating a modification of the distribution calculation circuit of FIG. 14;

【図22】図20(b)の行列演算を実行するための、
図21中の1個の4ビット入力RACの内部構成図であ
る。
FIG. 22 is a diagram for explaining the matrix operation shown in FIG.
FIG. 22 is an internal configuration diagram of one 4-bit input RAC in FIG. 21.

【図23】図20(a)の行列演算を実行するための、
図21中の1個の2ビット入力RACの内部構成図であ
る。
FIG. 23 is a diagram for explaining the matrix operation shown in FIG.
FIG. 22 is an internal configuration diagram of one 2-bit input RAC in FIG. 21.

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

10 入力バッファ 11 定数乗算回路 12 分布演算回路(DA回路) 13 合成演算回路(RA回路) 71,72,81,82,91,92 ROM 73,83,93 3入力加減算器 74,84,94 シフタ 75,85,95 累算レジスタ 101〜104,302〜304 係数メモリ 105〜108,306〜308 乗算器 109〜116,310〜317 累算器 117,318 8入力セレクタ 201 4入力セレクタ 202 2の補数器 203 加算器 204 累算レジスタ 205 バッファレジスタ 212 1の補数器 301 入力レジスタ 305 2入力セレクタ 309 一時レジスタ 400〜407 レジスタ 410,411,500,501 入力レジスタ 412,510 2入力セレクタ 413,503 乗算器 414,415,504,505 一時レジスタ 416,417,506,507 バッファレジスタ 420〜425,700〜705 シフトレジスタ 426〜433 6ビット入力RAC 434〜441,714〜721 バッファレジスタ 442 8入力セレクタ 450 3入力加減算器 502 2入力加減算器 511 2入力加算器 706〜709 4ビット入力RAC 710〜713 2ビット入力RAC 722,723 4入力セレクタ 724 2入力加減算器 Reference Signs List 10 input buffer 11 constant multiplication circuit 12 distribution operation circuit (DA circuit) 13 synthesis operation circuit (RA circuit) 71, 72, 81, 82, 91, 92 ROM 73, 83, 93 3-input adder / subtractor 74, 84, 94 shifter 75, 85, 95 Accumulation registers 101 to 104, 302 to 304 Coefficient memories 105 to 108, 306 to 308 Multipliers 109 to 116, 310 to 317 Accumulators 117, 3188 8-input selectors 2014 4-input selectors 202 2's complement Device 203 adder 204 accumulation register 205 buffer register 212 one's complementer 301 input register 305 two-input selector 309 temporary register 400-407 register 410,411,500,501 input register 412,510 two-input selector 413,503 multiplier 414,41 , 504, 505 Temporary register 416, 417, 506, 507 Buffer register 420-425, 700-705 Shift register 426-433 6-bit input RAC 434-441, 714-721 Buffer register 442 8-input selector 450 3-input adder / subtractor 502 2-input adder / subtractor 511 2-input adder 706-709 4-bit input RAC 710-713 2-bit input RAC 722,723 4-input selector 724 2-input adder / subtractor

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/14 G16T 1/00 H03M 7/30 H04N 1/41 JICSTファイル(JOIS)────────────────────────────────────────────────── ─── Continued on the front page (58) Fields surveyed (Int. Cl. 6 , DB name) G06F 17/14 G16T 1/00 H03M 7/30 H04N 1/41 JICST file (JOIS)

Claims (20)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 2n+1 (nは2以上の整数)個の要素か
らなる入力データに直交変換処理を施すための直交変換
プロセッサであって、 直交変換行列を構成する2n+1 ×2n+1 個の係数のうち
の2n ×2n+1 個の係数の各々の絶対値をそれぞれ2
n+1 個ずつ格納するための第1から第2n の係数メモリ
と、 前記入力データのうちの1個の要素と前記第1から第2
n の係数メモリのうちの対応する係数メモリの2n+1
の格納係数のうちの1個との乗算をそれぞれ実行するた
めの第1から第2n の乗算器と、 前記直交変換行列に対応した2n+1 個の内積を並列に求
めるように、前記直交変換行列の係数の符号を復元しな
がら前記第1から第2n の乗算器の結果を用いた累算を
それぞれ実行するための第1から第2n+1 の累算器と、 前記第1から第2n+1 の累算器の結果を前記直交変換プ
ロセッサの出力データの要素として順次選択出力するた
めの2n+1 入力セレクタとを備えたことを特徴とする直
交変換プロセッサ。
1. An orthogonal transformation processor for performing orthogonal transformation processing on input data composed of 2 n + 1 (n is an integer of 2 or more) elements, wherein 2 n + 1 × 2 n + 1 pieces of 2 n × 2 n + 1 coefficients of the coefficient of each of the absolute values respectively 2
first to second n coefficient memories for storing n + 1 pieces each, one element of the input data and the first to second
and from the corresponding first to perform each one and the multiplication of 2 n + 1 pieces of storing coefficients of the coefficient memory of the 2 n multipliers of the coefficient memory of n, the orthogonal transform matrix To perform accumulation using the results of the first to second n multipliers, respectively, while restoring the sign of the coefficient of the orthogonal transformation matrix so as to obtain the corresponding 2 n + 1 inner products in parallel. from the first and the 2 n + 1 of the accumulator, 2 for sequentially selecting outputs as an element of the output data of said orthogonal transform processor results first from the 2 n + 1 accumulator n + An orthogonal transformation processor comprising a one- input selector.
【請求項2】 請求項1記載の直交変換プロセッサにお
いて、 nが2であることを特徴とする直交変換プロセッサ。
2. The orthogonal transform processor according to claim 1, wherein n is 2.
【請求項3】 請求項2記載の直交変換プロセッサにお
いて、 前記第1から第8の累算器の各々は、 前記第1から第4の乗算器のうちの1個の乗算器の結果
そのものと、該結果の2の補数とのいずれかを選択出力
するための2の補数器と、 前記2の補数器の出力と累算結果との加算を実行するた
めの加算器と、 前記累算結果の初期値として0を用い、かつ前記累算結
果の中間値として前記加算器の結果を保持出力するため
の累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
レジスタとを備えたことを特徴とする直交変換プロセッ
サ。
3. The orthogonal transform processor according to claim 2, wherein each of the first to eighth accumulators includes a result itself of one of the first to fourth multipliers. A two's complementer for selecting and outputting any of the two's complements of the result, an adder for executing an addition of an output of the two's complementer and an accumulation result, and the accumulation result An accumulation register for holding and outputting the result of the adder as an intermediate value of the accumulation result, using 0 as an initial value of the accumulation result, and a buffer register for holding and outputting the output of the accumulation register. An orthogonal transformation processor characterized in that:
【請求項4】 請求項3記載の直交変換プロセッサにお
いて、 前記第1から第8の累算器の各々は、前記第1から第4
の乗算器のうちの1個の乗算器の結果を前記2の補数器
の入力として選択出力するための4入力セレクタを更に
備えたことを特徴とする直交変換プロセッサ。
4. The orthogonal transform processor according to claim 3, wherein each of said first to eighth accumulators comprises one of said first to fourth accumulators.
A four-input selector for selecting and outputting the result of one of the multipliers as an input to the two's complementer.
【請求項5】 請求項2記載の直交変換プロセッサにお
いて、 前記第1から第8の累算器の各々は、 前記第1から第4の乗算器のうちの1個の乗算器の結果
そのものと、該結果の1の補数とのいずれかを選択出力
するための1の補数器と、 前記1の補数器の出力と累算結果との加算を実行するた
めの加算器と、 前記累算結果の初期値として定数を用い、かつ前記累算
結果の中間値として前記加算器の結果を保持出力するた
めの累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
レジスタとを備えたことを特徴とする直交変換プロセッ
サ。
5. The orthogonal transform processor according to claim 2, wherein each of the first to eighth accumulators includes a result itself of one of the first to fourth multipliers. A one's complement for selecting and outputting one of the one's complement of the result, an adder for executing an addition of the output of the one's complement and the accumulation result, and the accumulation result An accumulation register for holding and outputting the result of the adder as an intermediate value of the accumulation result, and a buffer register for holding and outputting the output of the accumulation register. An orthogonal transformation processor characterized in that:
【請求項6】 請求項5記載の直交変換プロセッサにお
いて、 前記第1から第8の累算器の各々は、前記第1から第4
の乗算器のうちの1個の乗算器の結果を前記1の補数器
の入力として選択出力するための4入力セレクタを更に
備えたことを特徴とする直交変換プロセッサ。
6. The orthogonal transform processor according to claim 5, wherein each of said first to eighth accumulators comprises said first to fourth accumulators.
A four-input selector for selecting and outputting a result of one of the multipliers as an input of the one's complementer.
【請求項7】 2n+1 (nは2以上の整数)個の要素か
らなる入力データに直交変換処理を施すための直交変換
プロセッサであって、 直交変換行列を構成する2n+1 ×2n+1 個の係数のうち
の(2n −1)×2n+ 1 個の係数の各々の絶対値をそれ
ぞれ2n+1 個ずつ格納するための第1から第(2n
1)の係数メモリと、 入力として供給された前記入力データの要素を1個ずつ
保持出力するための入力レジスタと、 前記入力レジスタの入力と出力とのいずれかを選択出力
するための2入力セレクタと、 前記2入力セレクタの出力と前記第1の係数メモリの2
n+1 個の格納係数のうちの1個との乗算を実行するため
の第1の乗算器と、 前記入力レジスタの出力と前記第2から第(2n −1)
の係数メモリのうちの対応する係数メモリの2n+1 個の
格納係数のうちの1個との乗算をそれぞれ実行するため
の第2から第(2n −1)の乗算器と、 前記第1の乗算器の結果を保持出力するための一時レジ
スタと、 前記直交変換行列に対応した2n+1 個の内積を並列に求
めるように、前記直交変換行列の係数の符号を復元しな
がら前記第1から第(2n −1)の乗算器の結果と前記
一時レジスタの出力とを用いた累算をそれぞれ実行する
ための第1から第2n+1 の累算器と、 前記第1から第2n+1 の累算器の結果を前記直交変換プ
ロセッサの出力データの要素として順次選択出力するた
めの2n+1 入力セレクタとを備えたことを特徴とする直
交変換プロセッサ。
7. An orthogonal transformation processor for performing orthogonal transformation processing on input data composed of 2 n + 1 (n is an integer of 2 or more) elements, wherein 2 n + 1 × of 2 n + 1 coefficients (2 n -1) × 2 n + 1 coefficients of each of the absolute value from the first for storing each 2 n + 1 or each of the first (2 n -
1) a coefficient memory, an input register for holding and outputting one element of the input data supplied as an input, and a two-input selector for selecting and outputting one of an input and an output of the input register. And the output of the two-input selector and two of the first coefficient memory
a first multiplier for performing multiplication with one of n + 1 storage coefficients; an output of the input register; and a second to (2 n -1)
Second to (2 n -1) multipliers for respectively performing multiplication with one of 2 n +1 storage coefficients of a corresponding coefficient memory of the coefficient memories of A temporary register for holding and outputting the result of the multiplier of 1, and 2n + 1 inner products corresponding to the orthogonal transformation matrix are obtained in parallel while restoring the sign of the coefficient of the orthogonal transformation matrix. A first to a second ( n + 1) -th accumulator for performing an accumulation using a result of the first to a (2 n -1) -th multiplier and an output of the temporary register, respectively; orthogonal transform processor, characterized in that a 2 n + 1 input selector for sequentially selecting outputs the result of the 2 n + 1 of the accumulator as an element of the output data of said orthogonal transform processor from.
【請求項8】 請求項7記載の直交変換プロセッサにお
いて、 nが2であることを特徴とする直交変換プロセッサ。
8. The orthogonal transform processor according to claim 7, wherein n is 2.
【請求項9】 請求項8記載の直交変換プロセッサにお
いて、 前記第1から第8の累算器の各々は、 前記第1から第3の乗算器の結果と前記一時レジスタの
出力とのうちのいずれかを選択出力するための4入力セ
レクタと、 前記4入力セレクタの出力そのものと、該出力の2の補
数とのいずれかを選択出力するための2の補数器と、 前記2の補数器の出力と累算結果との加算を実行するた
めの加算器と、 前記累算結果の初期値として0を予め保持し、かつ前記
累算結果の中間値として前記加算器の結果を保持出力す
るための累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
レジスタとを備えたことを特徴とする直交変換プロセッ
サ。
9. The orthogonal transform processor according to claim 8, wherein each of said first to eighth accumulators comprises: a result of said first to third multipliers and an output of said temporary register. A four-input selector for selecting and outputting one of the outputs, an output itself of the four-input selector, a two's complementer for selectively outputting one of the two's complement of the output, and a two's complementer. An adder for performing addition of the output and the accumulation result; and for preliminarily holding 0 as the initial value of the accumulation result, and holding and outputting the result of the adder as an intermediate value of the accumulation result. An accumulation register, and a buffer register for holding and outputting an output of the accumulation register.
【請求項10】 請求項8記載の直交変換プロセッサに
おいて、 前記第1から第8の累算器の各々は、 前記第1から第3の乗算器の結果と前記一時レジスタの
出力とのうちのいずれかを選択出力するための4入力セ
レクタと、 前記4入力セレクタの出力そのものと、該出力の1の補
数とのいずれかを選択出力するための1の補数器と、 前記1の補数器の出力と累算結果との加算を実行するた
めの加算器と、 前記累算結果の定数初期値を予め保持し、かつ前記累算
結果の中間値として前記加算器の結果を保持出力するた
めの累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
レジスタとを備えたことを特徴とする直交変換プロセッ
サ。
10. The orthogonal transform processor according to claim 8, wherein each of said first to eighth accumulators comprises: a first one of said first to third multipliers; A four-input selector for selecting and outputting one of the outputs, an output itself of the four-input selector, a one's complementer for selectively outputting one of the one's complement of the output, and a one's complementer An adder for performing the addition of the output and the accumulation result; anda pre-holding a constant initial value of the accumulation result, and holding and outputting the result of the adder as an intermediate value of the accumulation result. An orthogonal transformation processor comprising: an accumulation register; and a buffer register for holding and outputting an output of the accumulation register.
【請求項11】 2n+1 (nは2以上の整数)個の要素
からなる入力データに直交変換処理を施すための直交変
換プロセッサであって、 前記入力データの連続する2n+1 個の要素を一括して保
持出力するための入力バッファと、 前記入力バッファから前記2n+1 個の要素のうちの第1
番目の要素と第(2n+1)番目の要素とを入力して2
個の定数乗算結果を並列出力するための定数乗算回路
と、 前記入力バッファから他の(2n+1 −2)個の要素を入
力して、直交変換行列に対応した2n+1 個の部分内積を
順次出力するための分布演算回路と、 前記直交変換プロセッサの出力データの要素を求めるよ
うに、前記定数乗算回路の2個の出力と前記分布演算回
路の出力との合成演算を実行するための合成演算回路と
を備えたことを特徴とする直交変換プロセッサ。
11. An orthogonal transformation processor for performing orthogonal transformation processing on input data composed of 2 n + 1 (n is an integer of 2 or more) elements, wherein 2 n + 1 consecutive input data are provided. An input buffer for collectively holding and outputting the elements of the above, and a first of the 2 n + 1 elements from the input buffer.
Input the 2nd element and the (2 n +1) th element
A constant multiplier circuit for parallel outputting pieces of constant multiplication result, the input from the buffer of the other (2 n + 1 -2) by entering the number of elements, 2 n + 1 pieces of which corresponds to the orthogonal transform matrix A distribution operation circuit for sequentially outputting partial inner products; and a synthesis operation of two outputs of the constant multiplication circuit and an output of the distribution operation circuit so as to obtain an element of output data of the orthogonal transformation processor. An orthogonal transformation processor, comprising:
【請求項12】 請求項11記載の直交変換プロセッサ
において、 nが2であることを特徴とする直交変換プロセッサ。
12. The orthogonal transform processor according to claim 11, wherein n is 2.
【請求項13】 請求項12記載の直交変換プロセッサ
において、 前記入力バッファは、前記入力データの連続する8個の
要素の各々を保持出力するための8個のレジスタを備え
たことを特徴とする直交変換プロセッサ。
13. The orthogonal transform processor according to claim 12, wherein said input buffer includes eight registers for holding and outputting each of eight consecutive elements of said input data. Orthogonal transform processor.
【請求項14】 請求項12記載の直交変換プロセッサ
において、 前記定数乗算回路は、 前記入力データの連続する8個の要素のうちの第1番目
の要素を保持出力するための第1の入力レジスタと、 前記入力データの連続する8個の要素のうちの第5番目
の要素を保持出力するための第2の入力レジスタと、 前記第1の入力レジスタの出力と前記第2の入力レジス
タの出力とを順次選択出力するための2入力セレクタ
と、 前記2入力セレクタの出力を用いて、前記第1の入力レ
ジスタの出力の第1の定数乗算と、前記第2の入力レジ
スタの第2の定数乗算とを順次実行するための乗算器
と、 前記第1の定数乗算の結果を保持出力するための第1の
一時レジスタと、 前記第2の定数乗算の結果を保持出力するための第2の
一時レジスタと、 前記第1の一時レジスタの出力を保持出力するための第
1のバッファレジスタと、 前記第2の一時レジスタの出力を保持出力するための第
2のバッファレジスタとを備え、かつ前記合成演算回路
は、前記第1のバッファレジスタの出力と前記分布演算
回路の出力とを各々加算入力とし、かつ前記第2のバッ
ファレジスタの出力を加減算入力とした加減算を実行す
るための3入力加減算器を備えたことを特徴とする直交
変換プロセッサ。
14. The orthogonal transformation processor according to claim 12, wherein said constant multiplication circuit holds and outputs a first element of eight consecutive elements of said input data. A second input register for holding and outputting a fifth element of eight consecutive elements of the input data; an output of the first input register and an output of the second input register A two-input selector for sequentially selecting and outputting: a first constant multiplication of an output of the first input register by using an output of the two-input selector; and a second constant of the second input register A multiplier for sequentially executing multiplication, a first temporary register for holding and outputting the result of the first constant multiplication, and a second temporary register for holding and outputting the result of the second constant multiplication. A temporary register; A first buffer register for holding and outputting the output of the first temporary register; and a second buffer register for holding and outputting the output of the second temporary register. A three-input adder / subtractor for performing addition / subtraction using the output of the first buffer register and the output of the distribution operation circuit as addition inputs and using the output of the second buffer register as an addition / subtraction input, respectively. An orthogonal transformation processor characterized by the above-mentioned.
【請求項15】 請求項12記載の直交変換プロセッサ
において、 前記定数乗算回路は、 前記入力データの連続する8個の要素のうちの第1番目
の要素を保持出力するための第1の入力レジスタと、 前記入力データの連続する8個の要素のうちの第5番目
の要素を保持出力するための第2の入力レジスタと、 前記第1の入力レジスタの出力と前記第2の入力レジス
タの出力との加算及び減算を順次実行するための2入力
加減算器と、 前記2入力加減算器の加算結果の第1の定数乗算と、前
記2入力加減算器の減算結果の第2の定数乗算とを順次
実行するための乗算器と、 前記第1の定数乗算の結果を保持出力するための第1の
一時レジスタと、 前記第2の定数乗算の結果を保持出力するための第2の
一時レジスタと、 前記第1の一時レジスタの出力を保持出力するための第
1のバッファレジスタと、 前記第2の一時レジスタの出力を保持出力するための第
2のバッファレジスタとを備え、かつ前記合成演算回路
は、 前記第1及び第2のバッファレジスタの出力のいずれか
を選択出力するための2入力セレクタと、 前記2入力セレクタの出力と前記分布演算回路の出力と
の加算を実行するための2入力加算器とを備えたことを
特徴とする直交変換プロセッサ。
15. The orthogonal transformation processor according to claim 12, wherein said constant multiplication circuit holds and outputs a first element of eight consecutive elements of said input data. A second input register for holding and outputting a fifth element of eight consecutive elements of the input data; an output of the first input register and an output of the second input register A two-input adder / subtracter for sequentially executing addition and subtraction with the first input, a first constant multiplication of the addition result of the two-input addition / subtraction, and a second constant multiplication of the subtraction result of the two-input addition / subtraction. A multiplier for executing; a first temporary register for holding and outputting the result of the first constant multiplication; a second temporary register for holding and outputting the result of the second constant multiplication; The first temporary cash register A first buffer register for holding and outputting the output of the second temporary register; and a second buffer register for holding and outputting the output of the second temporary register. A two-input selector for selecting and outputting one of the outputs of the second buffer register; and a two-input adder for executing an addition of the output of the two-input selector and the output of the distribution operation circuit. An orthogonal transformation processor characterized by the above-mentioned.
【請求項16】 請求項12記載の直交変換プロセッサ
において、 前記分布演算回路は、 前記入力データの連続する8個の要素のうちの第2、第
3、第4、第6、第7及び第8番目の要素を保持し、か
つ該6要素の各々の最下位ビットを集めて第1のビット
スライスワードとし、該6要素の各々の最下位ビットよ
り1桁上位のビットを集めて第2のビットスライスワー
ドとするように、該6要素の各々の最下位2ビットを次
々とシフトアウトするための6個のシフトレジスタと、 前記直交変換行列に対応した8個の部分内積を並列に求
めるように、前記第1及び第2のビットスライスワード
に基づく積和演算をそれぞれ実行するための8個の6ビ
ット入力RACと、 前記8個の6ビット入力RACの結果を保持出力するた
めの8個のバッファレジスタと、 前記8個のバッファレジスタの出力を順次選択出力する
ための8入力セレクタとを備えたことを特徴とする直交
変換プロセッサ。
16. The orthogonal transformation processor according to claim 12, wherein said distribution operation circuit comprises a second, a third, a fourth, a sixth, a seventh and a seventh one of eight consecutive elements of said input data. The eighth element is retained, and the least significant bit of each of the six elements is collected into a first bit slice word, and the bit one digit higher than the least significant bit of each of the six elements is collected to form a second bit slice word. Six shift registers for sequentially shifting out the least significant two bits of each of the six elements so as to form a bit slice word, and eight partial dot products corresponding to the orthogonal transformation matrix are obtained in parallel. 8 pieces of 6-bit input RACs for respectively executing a multiply-accumulate operation based on the first and second bit slice words; Buff Registers and, an orthogonal transform processor, characterized in that an 8-input selector for sequentially selecting an output of the eight buffer registers.
【請求項17】 請求項16記載の直交変換プロセッサ
において、 前記8個の6ビット入力RACの各々は、 前記第1のビットスライスワードをアドレスとして索引
されるように、前記直交変換行列に基づくベクトル内積
の部分和を格納するための第1のROMと、 前記第2のビットスライスワードをアドレスとして索引
されるように、前記直交変換行列に基づくベクトル内積
の部分和を格納するための第2のROMと、 前記第1のROMから索引された部分和を第1の加算入
力とし、前記第2のROMから索引された部分和を加減
算入力とし、かつ累算結果を第2の加算入力とした加減
算を実行するための3入力加減算器と、 前記3入力加減算器の結果を左シフト出力するためのシ
フタと、 前記累算結果の初期値として0を予め保持し、かつ前記
累算結果の中間値として前記シフタの出力を保持出力す
るための累算レジスタとを備えたことを特徴とする直交
変換プロセッサ。
17. The orthogonal transform processor according to claim 16, wherein each of said eight 6-bit input RACs is a vector based on said orthogonal transform matrix such that said first bit slice word is indexed as an address. A first ROM for storing a partial sum of an inner product, and a second ROM for storing a partial sum of a vector inner product based on the orthogonal transformation matrix so as to be indexed using the second bit slice word as an address. And a partial sum indexed from the first ROM as a first addition input, a partial sum indexed from the second ROM as an addition / subtraction input, and an accumulation result as a second addition input. A three-input adder / subtracter for performing addition / subtraction, a shifter for shifting the result of the three-input adder / subtractor to the left, and holding in advance 0 as an initial value of the accumulation result; And an accumulation register for holding and outputting an output of the shifter as an intermediate value of the accumulation result.
【請求項18】 請求項12記載の直交変換プロセッサ
において、 前記分布演算回路は、 前記入力データの連続する8個の要素のうちの第2、第
4、第6及び第8番目の要素を保持し、かつ該4要素の
各々の最下位ビットを集めて第1のビットスライスワー
ドとし、該4要素の各々の最下位ビットより1桁上位の
ビットを集めて第2のビットスライスワードとするよう
に、該4要素の各々の最下位2ビットを次々とシフトア
ウトするための4個のシフトレジスタと、 前記入力データの連続する8個の要素のうちの第3及び
第7番目の要素を保持し、かつ該2要素の各々の最下位
ビットを集めて第3のビットスライスワードとし、該2
要素の各々の最下位ビットより1桁上位のビットを集め
て第4のビットスライスワードとするように、該2要素
の各々の最下位2ビットを次々とシフトアウトするため
の2個のシフトレジスタと、 前記直交変換行列に対応した4個の部分内積を並列に求
めるように、前記第1及び第2のビットスライスワード
に基づく積和演算をそれぞれ実行するための4個の4ビ
ット入力RACと、 前記直交変換行列に対応した4個の部分内積を並列に求
めるように、前記第3及び第4のビットスライスワード
に基づく積和演算をそれぞれ実行するための4個の2ビ
ット入力RACと、 前記4個の4ビット入力RACの結果を保持出力するた
めの第1から第4のバッファレジスタと、 前記4個の2ビット入力RACの結果を保持出力するた
めの第5から第8のバッファレジスタと、 前記第1から第4のバッファレジスタの出力を順次選択
出力するための第1の4入力セレクタと、 前記第5から第8のバッファレジスタの出力を順次選択
出力するための第2の4入力セレクタと、 前記第1の4入力セレクタの出力を加減算入力とし、か
つ前記第2の4入力セレクタの出力を加算入力とした加
減算を実行するための2入力加減算器とを備えたことを
特徴とする直交変換プロセッサ。
18. The orthogonal transformation processor according to claim 12, wherein the distribution operation circuit holds second, fourth, sixth, and eighth elements of eight consecutive elements of the input data. And the least significant bits of each of the four elements are collected into a first bit slice word, and the bits one digit higher than the least significant bit of each of the four elements are collected into a second bit slice word. And four shift registers for sequentially shifting out the least significant two bits of each of the four elements, and holding third and seventh elements of eight consecutive elements of the input data. And collecting the least significant bits of each of the two elements to form a third bit slice word,
Two shift registers for shifting out the least significant two bits of each of the two elements one after the other so as to collect bits one digit higher than the least significant bit of each of the elements into a fourth bit slice word And four 4-bit input RACs for respectively performing a product-sum operation based on the first and second bit slice words so as to obtain four partial inner products corresponding to the orthogonal transformation matrix in parallel. Four 2-bit input RACs for respectively performing a product-sum operation based on the third and fourth bit slice words so as to obtain four partial inner products corresponding to the orthogonal transformation matrix in parallel; First to fourth buffer registers for holding and outputting the results of the four 4-bit input RACs; and fifth to fifth buffer registers for holding and outputting the results of the four 2-bit input RACs 8 buffer registers, a first 4-input selector for sequentially selecting and outputting the outputs of the first to fourth buffer registers, and a first 4-input selector for sequentially selecting and outputting the outputs of the fifth to eighth buffer registers. A second four-input selector; and a two-input adder / subtractor for performing addition / subtraction using the output of the first four-input selector as an addition / subtraction input and the output of the second four-input selector as an addition input. An orthogonal transformation processor characterized in that:
【請求項19】 請求項18記載の直交変換プロセッサ
において、 前記4個の4ビット入力RACの各々は、 前記第1のビットスライスワードをアドレスとして索引
されるように、前記直交変換行列に基づくベクトル内積
の部分和を格納するための第1のROMと、 前記第2のビットスライスワードをアドレスとして索引
されるように、前記直交変換行列に基づくベクトル内積
の部分和を格納するための第2のROMと、 前記第1のROMから索引された部分和を第1の加算入
力とし、前記第2のROMから索引された部分和を加減
算入力とし、かつ累算結果を第2の加算入力とした加減
算を実行するための3入力加減算器と、 前記3入力加減算器の結果を左シフト出力するためのシ
フタと、 前記累算結果の初期値として0を予め保持し、かつ前記
累算結果の中間値として前記シフタの出力を保持出力す
るための累算レジスタとを備えたことを特徴とする直交
変換プロセッサ。
19. The orthogonal transform processor of claim 18, wherein each of said four 4-bit inputs RAC is a vector based on said orthogonal transform matrix such that said first bit slice word is indexed as an address. A first ROM for storing a partial sum of an inner product, and a second ROM for storing a partial sum of a vector inner product based on the orthogonal transformation matrix so as to be indexed using the second bit slice word as an address. And a partial sum indexed from the first ROM as a first addition input, a partial sum indexed from the second ROM as an addition / subtraction input, and an accumulation result as a second addition input. A three-input adder / subtracter for performing addition / subtraction, a shifter for shifting the result of the three-input adder / subtractor to the left, and holding in advance 0 as an initial value of the accumulation result; And an accumulation register for holding and outputting an output of the shifter as an intermediate value of the accumulation result.
【請求項20】 請求項18記載の直交変換プロセッサ
において、 前記4個の2ビット入力RACの各々は、 前記第3のビットスライスワードをアドレスとして索引
されるように、前記直交変換行列に基づくベクトル内積
の部分和を格納するための第1のROMと、 前記第4のビットスライスワードをアドレスとして索引
されるように、前記直交変換行列に基づくベクトル内積
の部分和を格納するための第2のROMと、 前記第1のROMから索引された部分和を第1の加算入
力とし、前記第2のROMから索引された部分和を加減
算入力とし、かつ累算結果を第2の加算入力とした加減
算を実行するための3入力加減算器と、 前記3入力加減算器の結果を左シフト出力するためのシ
フタと、 前記累算結果の初期値として0を予め保持し、かつ前記
累算結果の中間値として前記シフタの出力を保持出力す
るための累算レジスタとを備えたことを特徴とする直交
変換プロセッサ。
20. The orthogonal transform processor of claim 18, wherein each of the four 2-bit inputs RAC is a vector based on the orthogonal transform matrix such that the third bit slice word is indexed as an address. A first ROM for storing a partial sum of an inner product, and a second ROM for storing a partial sum of a vector inner product based on the orthogonal transformation matrix so as to be indexed using the fourth bit slice word as an address. And a partial sum indexed from the first ROM as a first addition input, a partial sum indexed from the second ROM as an addition / subtraction input, and an accumulation result as a second addition input. A three-input adder / subtracter for performing addition / subtraction, a shifter for shifting the result of the three-input adder / subtractor to the left, and holding in advance 0 as an initial value of the accumulation result; And an accumulation register for holding and outputting an output of the shifter as an intermediate value of the accumulation result.
JP7094656A 1994-05-10 1995-04-20 Orthogonal transform processor Expired - Fee Related JP2901896B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7094656A JP2901896B2 (en) 1994-05-10 1995-04-20 Orthogonal transform processor

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP9619694 1994-05-10
JP6-96196 1994-11-01
JP6-268701 1994-11-01
JP26870194 1994-11-01
JP7094656A JP2901896B2 (en) 1994-05-10 1995-04-20 Orthogonal transform processor

Publications (2)

Publication Number Publication Date
JPH08185389A JPH08185389A (en) 1996-07-16
JP2901896B2 true JP2901896B2 (en) 1999-06-07

Family

ID=27307606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7094656A Expired - Fee Related JP2901896B2 (en) 1994-05-10 1995-04-20 Orthogonal transform processor

Country Status (1)

Country Link
JP (1) JP2901896B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040068771A (en) 2003-01-27 2004-08-02 삼성전자주식회사 A soft demodulation method and a soft demodulation apparatus
CN110944177B (en) * 2018-09-21 2024-03-01 华为技术有限公司 Video decoding method, video decoder, video encoding method and video encoder
JP7346235B2 (en) * 2019-10-16 2023-09-19 ルネサスエレクトロニクス株式会社 semiconductor equipment

Also Published As

Publication number Publication date
JPH08185389A (en) 1996-07-16

Similar Documents

Publication Publication Date Title
US4791598A (en) Two-dimensional discrete cosine transform processor
JP2866754B2 (en) Arithmetic processing unit
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US5081573A (en) Parallel processing system
EP0083967B1 (en) Monolithic fast fourier transform circuit
WO1995033241A1 (en) High-speed arithmetic unit for discrete cosine transform and associated operation
US4769779A (en) Systolic complex multiplier
JPH02504682A (en) Conversion processing circuit
US10810281B2 (en) Outer product multipler system and method
KR0150350B1 (en) Orthogonal transform processor
US5764558A (en) Method and system for efficiently multiplying signed and unsigned variable width operands
US6003056A (en) Dimensionless fast fourier transform method and apparatus
EP1436725A2 (en) Address generator for fast fourier transform processor
US6003058A (en) Apparatus and methods for performing arithimetic operations on vectors and/or matrices
JP2677969B2 (en) Orthogonal transformer
Buijs et al. Implementation of a fast Fourier transform (FFT) for image processing applications
JP2901896B2 (en) Orthogonal transform processor
EP0650128B1 (en) Discrete cosine transform processor
US4588980A (en) Residue to analog converter
JPH07152730A (en) Discrete cosine transformation device
JPH07200539A (en) Two-dimensional dct arithmetic unit
JPH1083388A (en) Orthogonal transformer
JP3575991B2 (en) Orthogonal transform circuit
JPH05153402A (en) Discrete cosine transformation device
JP3697716B2 (en) Matrix data multiplier

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: 19990302

LAPS Cancellation because of no payment of annual fees