JPH04531A - Orthogonal transformation arithmetic unit - Google Patents

Orthogonal transformation arithmetic unit

Info

Publication number
JPH04531A
JPH04531A JP2253573A JP25357390A JPH04531A JP H04531 A JPH04531 A JP H04531A JP 2253573 A JP2253573 A JP 2253573A JP 25357390 A JP25357390 A JP 25357390A JP H04531 A JPH04531 A JP H04531A
Authority
JP
Japan
Prior art keywords
address
memory device
circuit
data
dimensional
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.)
Granted
Application number
JP2253573A
Other languages
Japanese (ja)
Other versions
JP2790911B2 (en
Inventor
Masabumi Tanaka
正文 田中
Kazuho Sakamoto
和穂 坂本
Tatsuya Fujii
達也 藤井
Makoto Fukui
良 福井
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US07/616,418 priority Critical patent/US5268853A/en
Priority to DE4038240A priority patent/DE4038240A1/en
Publication of JPH04531A publication Critical patent/JPH04531A/en
Priority to US08/058,475 priority patent/US5331585A/en
Priority to US08/058,546 priority patent/US5359549A/en
Application granted granted Critical
Publication of JP2790911B2 publication Critical patent/JP2790911B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To simplify the constitution of a comuting element and to reduce the capaity of a ROM by specifying the address to a memory device and replacing row and column addresses while matching with the execution of operation of an one-dimensional orthogonal transformer. CONSTITUTION:At the time of writing, an address is applied so as to be advanced in a row direction and the calculated result of an one-dimensional discrete cosine transformation (DCT) computing element 4 is written in accor dance with a row direction address in a memory device 2. At the time of read ing, the switching circuit 18 in an address generator is switched to switch a row address to a column address. Thereby, address specification in the memory device 2 is changed to the order of the column direction and the data of the device 2 are read out to the computing element 6. At the end of the address reading, the reading mode is changed to the writing mode again and the circuit 18 is switched so that addresses are advanced in the row direction again. Thus, DCT operation is repeated.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はデジタル・スチル・ビデオカメラ、ファクシミ
リ、カラーコピー、テレビ電話などに用いられ、カラー
画像の圧縮や伸長を行なうための離散コサイン変換(以
下DCT又はDCT変換とぃう)や離散サイン変換(以
下DST又はDST変換という)などの直交変換を行な
う演算装置に関するものである。
Detailed Description of the Invention (Field of Industrial Application) The present invention is used in digital still video cameras, facsimile machines, color copies, video telephones, etc., and is used to perform discrete cosine transform ( The present invention relates to an arithmetic unit that performs orthogonal transformation such as DCT (hereinafter referred to as DCT or DCT transformation) and discrete sine transformation (hereinafter referred to as DST or DST transformation).

(従来の技$1) 情報圧縮のための変換符号化方法の1つとして、DCT
やDSTなどの直交変換演算が知られている。
(Conventional technique $1) DCT is one of the transform encoding methods for information compression.
Orthogonal transform operations such as , and DST are known.

DCT処理を経てデータ圧縮を行なう例を第14図に示
す。
FIG. 14 shows an example in which data compression is performed through DCT processing.

CCD読取り素子150で読み取られた画像情報がA/
D変換器152でデジタル信号に変換されて1画面分が
フレームメモリ154に一時記憶される。フレームメモ
リ154のデータはDCT処理回路156によりDCT
変換され、量子化回路158で量子化され、ハフマン符
号化回8160でハフマン変換され、メモリ装置162
に記憶される。メモリ装置162に記憶されているデー
タが画像に再生されるときは、ハフマン復号化回路16
4により復号化され、逆量子化回路166を経た後、I
DCT回路168により画像データに戻され、D/A変
換器170でアナログ信号に変換されて出力される。
The image information read by the CCD reading element 150 is
The D converter 152 converts the signal into a digital signal, and one screen's worth is temporarily stored in the frame memory 154. The data in the frame memory 154 is subjected to DCT processing by the DCT processing circuit 156.
converted, quantized in a quantization circuit 158, Huffman transformed in a Huffman encoding circuit 8160, and stored in a memory device 162.
is memorized. When the data stored in the memory device 162 is reproduced as an image, the Huffman decoding circuit 16
4, and after passing through the dequantization circuit 166, I
The data is returned to image data by the DCT circuit 168, converted to an analog signal by the D/A converter 170, and output.

画像を(NXN)画素で構成するブロックに分割し、そ
の各ブロックを二次元DCT変換する場合について説明
すると、二次元DCT演算は式で・cos((2j+1
)Vπ/2N)−=−(1)Ll=0のとき C(U)
=17f2 U≠0のとき C(υ)=1 v=oのとき C(V) = 1/fi■≠Oのとき 
C(V)=1 f(x+j)は画素のデータである。
To explain the case where an image is divided into blocks consisting of (N
)Vπ/2N)-=-(1) When Ll=0 C(U)
=17f2 When U≠0 C(υ)=1 When v=o C(V) = 1/fi ■ When ≠O
C(V)=1 f(x+j) is pixel data.

二次元DCT演算はjについて一次元DCT演算を行な
った後、iについても一次元DCT演算を行なえばよい
。N=8の場合について一次元DCT演算式をベクトル
計算式に変換すると、次の(2)式になる。
In the two-dimensional DCT calculation, after performing the one-dimensional DCT calculation on j, the one-dimensional DCT calculation may be performed on i as well. When the one-dimensional DCT calculation formula is converted into a vector calculation formula for the case of N=8, the following formula (2) is obtained.

ここで、 α=cos(2/8)π β =cos(1/8ン π δ=sin(1/8)π λ= eos (1/ 16)π μ= sin (3/ 16)π γ=cos(3/16) π ν= sin (1/ 16)π である。here, α=cos(2/8)π β = cos (1/8n π δ=sin(1/8)π λ=eos (1/16)π μ=sin (3/16)π γ=cos(3/16) π ν=sin (1/16)π It is.

DCT演算を経て画像圧縮処理を行なうと、圧縮された
画像を元のデータに戻す伸長操作においてはDCT演算
の逆操作であるIDCT演算(Inverse D C
T演算)が行なわれる。I DCT演算を式で表現する
と次の式になる。
When image compression processing is performed after DCT operation, the decompression operation that returns the compressed image to its original data requires IDCT operation (Inverse DC), which is the inverse operation of DCT operation.
T operation) is performed. The IDCT operation can be expressed as the following formula.

・cos((2j+1)Vπ/2N) ・−・(3)U
=Oのとき C(U) = 1/、/”iU≠0のとき
 C(U)=1 ■=0のとき C(■)=1/J″′2■≠0のとき 
C(V)=に 次元IDCT演算は■について一次元IDCT演算を行
なった後、Uについても一次元IDCT演算を行なえば
よく、−次元IDCT演算はベクトル計算式で表現する
と次の(4)式のように表わされる。
・cos((2j+1)Vπ/2N) ・−・(3)U
When =O C(U) = 1/, /"iU≠0 When C(U)=1 ■=0 When C(■)=1/J'''2■≠0
To perform the dimensional IDCT operation on C(V)=, after performing the one-dimensional IDCT operation on ■, it is sufficient to perform the one-dimensional IDCT operation on U as well, and the -dimensional IDCT operation can be expressed as a vector calculation formula as shown in equation (4) below. It is expressed as

(2)式や(4)式のベクトル計算式を演算しようとす
ると、変換係数とデータXや2との乗算を行なう必要が
ある。
When attempting to calculate the vector calculation formulas of equations (2) and (4), it is necessary to multiply the conversion coefficient by data X or 2.

(1)式を実行する二次元DCT演算器は、第15図に
示されるように、(NXN)画素で構成される元の画像
130に対して変換係数W(1,j)の変換行列132
を掛けるたたみ込み演算を行ない、それに係数4 C(
U)C(V)/N2をかけることにより、変換画素F(
U、V)を得る。
As shown in FIG. 15, a two-dimensional DCT calculator that executes equation (1) applies a transformation matrix 132 of transformation coefficients W(1,j) to an original image 130 composed of (NXN) pixels.
Perform the convolution operation by multiplying by the coefficient 4 C(
By multiplying U)C(V)/N2, the converted pixel F(
U, V) are obtained.

この演算を乗算器と加算器で実行すると、第16図に示
されるようにN2個の乗算器36−1〜36−N2と、
N2ビットの加算器138及び係数4 C(U)C(V
)/N”を掛ける乗算器140とが必要となる。
When this operation is executed using multipliers and adders, as shown in FIG. 16, N2 multipliers 36-1 to 36-N2,
N2-bit adder 138 and coefficient 4 C(U)C(V
)/N'' is required.

乗算を行なうのに、乗算器の代わりにROMテーブルを
使用するROMルックアップテーブル法がある。例えば
(2)式のベクトル計算を行なおうとすれば、第17図
に示されるように、各変換係数と入力データの積に対応
するデータを保持したROM102を用意しておき、変
換係数データと入力データをアドレスとしてROM 1
02を読み出せばよい。104はアドレスジェネレータ
である。変換係数データと入力データがそれぞれ複数ビ
ットでアドレスジェネレータ104に入力される。
There is a ROM lookup table method that uses a ROM table instead of a multiplier to perform the multiplication. For example, if you want to perform vector calculation using equation (2), as shown in FIG. 17, prepare a ROM 102 that holds data corresponding to the product of each conversion coefficient and input data, ROM 1 with input data as address
All you have to do is read out 02. 104 is an address generator. Conversion coefficient data and input data are each input to address generator 104 in multiple bits.

(発明が解決しようとする課題) 画像圧縮のための一次元のDCT演算及びその伸長のた
めの一次元のIDCT演算は、例えば画像を(8X8)
画素で構成するブロックに分割したとすれば、64回の
乗算と56回の加算を実行する必要がある。そのため、
DCT処理時間及びIDCT処理時間が長くなり、また
回路規模が大きくなるため、集積回路化するのが困難と
なる。
(Problem to be Solved by the Invention) A one-dimensional DCT operation for image compression and a one-dimensional IDCT operation for expansion thereof, for example,
If it is divided into blocks each consisting of pixels, it is necessary to perform 64 multiplications and 56 additions. Therefore,
Since the DCT processing time and IDCT processing time become longer and the circuit scale becomes larger, it becomes difficult to integrate the method into an integrated circuit.

直交変換としてDCT演算に代えてDST演算を行なう
場合も、同様にして処理時間が長く1回路規模が大きく
なる問題が生じる。
Even when a DST operation is performed instead of a DCT operation as an orthogonal transformation, the same problem arises in that the processing time is long and the scale of one circuit is large.

ROMルックアップテーブル法においては、入力データ
をnビット、変換係数の種類をm個とした場合、ROM
IO2のアドレス空間はmX2”となる。これを、(S
XS)のDCT変換を行なう場合に当て嵌めてみると、
変換係数が8種類で固定されているものとし、入力デー
タは8ビットの画素が8個であるので、n=64となり
、アドレス空間は8X2”となる。このような大規模の
容量を実現することは困難である。
In the ROM lookup table method, when the input data is n bits and the number of types of conversion coefficients is m, the ROM
The address space of IO2 is mX2''.
Applying this to the case of DCT transformation of
Assume that the conversion coefficients are fixed at 8 types, and the input data consists of 8 8-bit pixels, so n = 64 and the address space is 8 x 2''.Achieving such a large capacity That is difficult.

本発明はDCT演算器やDST演算器の構成を簡単にし
て集積回路化することを可能にすることを目的とするも
のである。
SUMMARY OF THE INVENTION An object of the present invention is to simplify the configuration of a DCT computing unit or a DST computing unit so that it can be integrated into an integrated circuit.

本発明はDCTなどの直交変換演算をROMルックアッ
プテーブル法で実現するに際し、ROMの容量を小さく
することを目的とするものである。
An object of the present invention is to reduce the capacity of the ROM when implementing orthogonal transform operations such as DCT using the ROM lookup table method.

(課題を解決するための手段) 実施例を示す第1図により本発明を説明する。(Means for solving problems) The present invention will be explained with reference to FIG. 1 showing an embodiment.

本発明は、第1の一次元DCT演算器などの一次元直交
変換演算器4と、その出力を一時記憶するメモリ装置2
と、メモリ装置2の出力を入力とする第2の一次元DC
T演算器などの一次元直交変換演算器6と、メモリ装置
2のアドレス指定を行なうとともにメモリ装置2の書込
みと読出しの動作の切換えに合わせて行アドレスと列ア
ドレスを入れ換えるアドレス発生器8とを備えている。
The present invention includes a one-dimensional orthogonal transform computing unit 4 such as a first one-dimensional DCT computing unit, and a memory device 2 for temporarily storing the output thereof.
and a second one-dimensional DC whose input is the output of the memory device 2.
A one-dimensional orthogonal transformation arithmetic unit 6 such as a T arithmetic unit, and an address generator 8 that specifies addresses of the memory device 2 and exchanges row addresses and column addresses in accordance with switching between write and read operations of the memory device 2. We are prepared.

10はアドレスデコーダ、12は読出し・書込み制御部
である。
10 is an address decoder, and 12 is a read/write control section.

高速動作をさせるためには、実施例の第5図に示される
ように、メモリ族M2は一対2a、2b設けられ、第1
の一次元直交変換演算器4と第2の一次元直交変換演算
器6をそれぞれ切換えスイッチ回路20.22を介して
両メモリ装置i2 a 。
In order to operate at high speed, as shown in FIG.
The one-dimensional orthogonal transform calculator 4 and the second one-dimensional orthogonal transform calculator 6 are connected to both memory devices i2 a via switch circuits 20 and 22, respectively.

2bに接続し、第1の一次元直交変換演算器4が一方の
メモリ装置2a(又は2b)に接続されるときは第2の
一次元直交変換演算器6が他方のメモリ装置2b(又は
2a)に接続されるように切換えスイッチ回路20.2
2を切り換えるようにする。
2b, and when the first one-dimensional orthogonal transformation computing unit 4 is connected to one memory device 2a (or 2b), the second one-dimensional orthogonal transformation computing unit 6 connects to the other memory device 2b (or 2a). ) to be connected to the changeover switch circuit 20.2
2.

本発明ではまた、第1図でアドレス発生器8はメモリ装
置2のアドレス指定を行なうとともに第1の一次元直交
変換演算器4及び第2の一次元直交変換演算器6の演算
の実行に合わせて行アドレスと列アドレスを入れ換える
動作を行ない、読出し・書込み制御部12はメモリ装置
2の1個のデータを読み呂した後に同一アドレスに第1
の一次元直交変換演算器4の新たな演算結果を書き込む
動作を行なうようにすることもできる。
In the present invention, the address generator 8 in FIG. The read/write control unit 12 performs an operation of exchanging the row address and column address, and after reading one piece of data in the memory device 2, writes the first data at the same address.
It is also possible to perform an operation of writing a new calculation result of the one-dimensional orthogonal transformation calculation unit 4.

本発明ではまた、離散コサイン変換又は離散サイン変換
を行なう直交変換処理の際に係数の一部がOになるよう
に入力データ間の加算及び減算を行なう前処理回路を設
け、直交変換処理回路は前記前処理回路で加算又は減算
されたデータについて0でない係数との乗算及びその乗
算結果の加算を行なうようにすることもできる。
The present invention also provides a preprocessing circuit that performs addition and subtraction between input data so that some of the coefficients become O during orthogonal transformation processing that performs discrete cosine transformation or discrete sine transformation, and the orthogonal transformation processing circuit The data added or subtracted by the preprocessing circuit may be multiplied by a non-zero coefficient and the multiplication results may be added.

本発明ではさらに、ROMテーブルを用いるROMルッ
クアップテーブル法による直交変換を行ない、入力デー
タの1ビットずつと複数ビットの変換係数データとをア
ドレスとし、ROMテーブルから読み出されたデータを
そのアドレスの入力データにおけるビット位置に応じて
上位又は下位方向にシフトさせて入力画像データの全ビ
ットについて加算するようにすることもできる。
The present invention further performs orthogonal transformation using a ROM lookup table method using a ROM table, using each bit of input data and multiple bits of conversion coefficient data as addresses, and data read from the ROM table at the address. It is also possible to add all bits of the input image data by shifting in the upper or lower direction depending on the bit position in the input data.

また、本発明では、ROMルックアップテーブル法にお
いて、直交変換回路の前段に、直交変換処理の際に変換
係数の一部がOになるように入力データ間の加算及び減
算を行なう前処理回路を備えてもよい。
In addition, in the present invention, in the ROM lookup table method, a preprocessing circuit is provided before the orthogonal transformation circuit to perform addition and subtraction between input data so that a part of the transformation coefficient becomes O during orthogonal transformation processing. You may prepare.

(作用) 本発明では二次元直交変換演算を1組の一次元直交変換
演算器によって実現する。画像を(NxN)画素で構成
するブロックに分割し、その各ブロックを二次元DCT
変換する場合について説明する。
(Operation) In the present invention, two-dimensional orthogonal transformation calculations are realized by a set of one-dimensional orthogonal transformation calculation units. Divide the image into blocks consisting of (NxN) pixels and apply two-dimensional DCT to each block.
The case of conversion will be explained.

二次元DCT演算は式で表現するとすでに述べた(1)
式になる。
I have already mentioned that the two-dimensional DCT operation is expressed by a formula (1)
It becomes a ceremony.

(1)式を変形すると、 ・cos((2i+1)Uπ/2N) = (2C(U)/N)ΣF(i、V) ・cos((
2i+1)Uπ/2N)   ・・・・・(5)賞 F(i、V) = (2C(V)/N)Σf (i、j
)cos((2j+1)V π/2N)    ・−・
(6)J=0 となる。ここで、(5)式はF (i、V)の−次元D
CT演算を表わしており、(6)式はf (IIj)の
−次元DCT演算を表わしている。したがって、Nタッ
プ(NXN)の二次元DCT演算は、行(又は列)につ
いて−次元DCT演算(6)式を実行し、続けて列(又
は行)について−次元DCT演算(5)式を実行するこ
とにより二次元DCT演算の結果を得ることができる。
Transforming equation (1), ・cos((2i+1)Uπ/2N) = (2C(U)/N)ΣF(i,V) ・cos((
2i+1)Uπ/2N) (5) Prize F(i, V) = (2C(V)/N)Σf (i, j
)cos((2j+1)V π/2N) ・−・
(6) J=0. Here, equation (5) is -dimension D of F (i, V)
Expression (6) represents a -dimensional DCT operation of f (IIj). Therefore, a two-dimensional DCT operation with N taps (N By doing so, the result of the two-dimensional DCT operation can be obtained.

第1図で第1の一次元DCT演算器4がメモリ装置2の
行方向又は列方向にデータを書き込んだものを第2の一
次元DCT演算器6が列方向又は行方向に読み出してD
CT演算を行なう。
In FIG. 1, the first one-dimensional DCT calculator 4 writes data in the row or column direction of the memory device 2, and the second one-dimensional DCT calculator 6 reads the data in the column or row direction.
Perform CT calculation.

以上は圧縮についての説明であるが、逆動作である伸長
は変換式が変わるだけで同様の方式で処理することがで
きる。
The above is an explanation of compression, but decompression, which is the reverse operation, can be processed in a similar manner by simply changing the conversion formula.

伸長の二次元I D CT (Inverse DCT
)演算は式で表現するとすでに述べた(3)になる。
Two-dimensional ID CT (Inverse DCT)
) operation can be expressed as an equation (3) already mentioned.

・cos((2i+1)lx/2N) となる。ここで、(7)式はf(V、i)の−次元■D
CT演算を表わしており、(8)式はF(U、V)の−
次元IDCT演算を表わしている。したがって、Nタッ
プ(NXN)の二次元IDCT演算は、行(又は列)に
ついて−次元IDCT演算(8)式を実行し、続けて列
(又は行)について−次元IDCT演算(7)式を実行
することにより二次元IDCT演算の結果を得ることが
できる。
・cos((2i+1)lx/2N). Here, equation (7) is the -dimension ■D of f(V,i)
Expression (8) represents the CT calculation, and the - of F (U, V)
Represents a dimensional IDCT operation. Therefore, the N tap (N By doing so, the result of the two-dimensional IDCT operation can be obtained.

直交変換演算としてDST変換を用いる場合も同様であ
る。
The same applies when DST transformation is used as the orthogonal transformation calculation.

本発明により(8x8)のDCT演算を行なう場合、変
換係数の種類が8個であり、8画素の入力データについ
て各画素の1ビットずつを演算するのでn=8となり、
必要なアドレス空間は8×28となる。この程度の規模
であれば半導体集積回路化することが可能になる。
When performing an (8x8) DCT operation according to the present invention, there are 8 types of conversion coefficients, and 1 bit of each pixel is operated on 8-pixel input data, so n = 8,
The required address space is 8×28. With this scale, it becomes possible to implement a semiconductor integrated circuit.

さらに、変換係数マトリックスの対称性を利用して前処
理を施し、変換係数の一部がOになるようにすれば、4
画素の入力データについて各画素の1ビットずつを演算
すわばよいようになるのでn=4となり、必要なアドレ
ス空間は8X24に減少し、さらに実現が容易になる。
Furthermore, if we perform preprocessing using the symmetry of the transformation coefficient matrix so that some of the transformation coefficients become O, we can obtain 4
Since it is only necessary to calculate one bit of each pixel with respect to the input data of the pixels, n=4, and the required address space is reduced to 8×24, which further facilitates implementation.

前処理回路は次の演算を行なうものである。The preprocessing circuit performs the following calculations.

画像を(8X8)画素で構成するブロックに分割し、そ
の各ブロックを一次元DCT変換する場合について説明
する。前処理回路では入力データXo、X0.”””X
7をCX2+X5)t CX2+X5)t(X1十Xl
、)+  (X3+X4)+  (XOX7L(X2−
x、)、(xl−x6)、(xa −x4)に変換する
。前処理回路で変換されたデータを変数とするように(
2)式のDCT変換式を表現すると。
A case will be described in which an image is divided into blocks composed of (8×8) pixels and each block is subjected to one-dimensional DCT transformation. The preprocessing circuit receives input data Xo, X0 . ”””X
7 to CX2+X5)t CX2+X5)t(X10Xl
, )+ (X3+X4)+ (XOX7L(X2-
x, ), (xl-x6), (xa-x4). In order to use the data converted by the preprocessing circuit as a variable (
2) Expressing the DCT conversion formula of Eq.

次の(9)式となる。The following equation (9) is obtained.

伸長過程ではIDCT演算の計算式は次の(10)式に
なる。
In the decompression process, the calculation formula for the IDCT operation is the following formula (10).

ここで a =cos(1/4)π b =cos(1/8)x d =sin(1/8) 7C e =cos(1/16)π f =cos(3/16) x g ”5in(1/16)π h =sin(3/16) yt である。here a = cos(1/4)π b=cos(1/8)x d = sin (1/8) 7C e = cos(1/16)π f = cos (3/16) x g”5in (1/16)π h = sin (3/16) yt It is.

(9)式によれば、変換係数の半数がOとなる。According to equation (9), half of the conversion coefficients are O.

係数がOの部分については乗算を行なう必要がない。There is no need to perform multiplication for the portion where the coefficient is O.

(10)式によるIDCT演算の後に、(xo + X
7L  (X2+XS) l  (xx” xs) +
(X3+X4) *  (Xo  Xv’) t  (
Xz  Xs) +(x、−xG) 、  (x3x4
)をX、、 xl、 ”’x。
After IDCT operation according to formula (10), (xo +
7L (X2+XS) l (xx” xs) +
(X3+X4) * (Xo Xv') t (
Xz Xs) +(x, -xG), (x3x4
) as X,, xl, ”'x.

に戻す後処理を施す。Perform post-processing to return to normal.

(実施例) 第1図は一実施例を表わす。(Example) FIG. 1 represents one embodiment.

2はトランスポート用メモリ装置であり、N×Nワード
のRAMである。Nを8とすれば64ワードの容量を備
えたものである。4,6は一次元DCT演算器であり、
それぞれN個ずつ備えられている。DCT演算を行なう
単位のブロックを(8X8)画素とすれば、Nは8であ
る。−次元DCT演算器4の演算結果をメモリ装置2に
書き込む際のアドレスを指定し、メモリ装置2に書き込
まれたデータを一次元DC,T演算器6へ読み出すため
のアドレスを指定するために、アドレス発生器8が設け
られている。メモリ装置2が64ワードとすれば、アド
レスとして6ビットのアドレスがアドレス発生器8から
発生する。1oはそのアドレスを入力し、メモリ装置2
のアドレス指定を行なうアドレスデコーダである。12
はメモリ装置2における書込みと読出しを制御するため
の読出し・書込み制御部である。
2 is a transport memory device, which is an N×N word RAM. If N is 8, it has a capacity of 64 words. 4 and 6 are one-dimensional DCT computing units,
N pieces of each are provided. If the unit block in which the DCT operation is performed is (8×8) pixels, then N is 8. - To specify the address for writing the calculation result of the dimensional DCT calculation unit 4 to the memory device 2, and to specify the address for reading the data written to the memory device 2 to the one-dimensional DC, T calculation unit 6, An address generator 8 is provided. If the memory device 2 has 64 words, a 6-bit address is generated from the address generator 8 as the address. 1o inputs the address and memory device 2
This is an address decoder that specifies addresses. 12
is a read/write control unit for controlling writing and reading in the memory device 2;

アドレス発生器8の一例を第2図に示す。An example of the address generator 8 is shown in FIG.

6ビットのアドレスを発生するために2個の3ピントカ
ウンタ14.16が設けられており、それぞれの3ビッ
トずつの出力を組み合わせて6ビットのアドレスが構成
される。カウンタ14からは(AO,Al、A2)の3
ビットのアドレスが出力され、カウンタ16からは(A
3.A4.A5)の3ビットのアドレスが出力されるも
のとする。この3ビットずつのアドレスを組み合わせて
6ビットのアドレスを構成する。18は3ビットずつの
アドレスの組み合わせを切り換えるスイッチ回路であり
、このスイッチ回路18を一方に切り換えるとアドレス
は(AO,Al、A2.A3゜A4.A5)となり、他
方に切り換えると(A3゜A4.A5.AO,Al、A
2)となる。これらの切り換えられたアドレスの関係は
、メモリ装置2における行アドレスと列アドレスを入れ
換えたものに相当している。スイッチ回路18は、読出
し・書込み動作と連動して切り換えられる。書込み時に
はアドレスが行方向に進むように切り換えられ、読出し
時には列方向に進むように切り換えられる。又はその逆
に、書込み時にはアドレスが列方向に進むように切り換
えられ、読出し時には行方向に進むように切り換えられ
る。
Two 3-pint counters 14 and 16 are provided to generate a 6-bit address, and the 6-bit address is constructed by combining the 3-bit outputs of each. From the counter 14, 3 of (AO, Al, A2)
The address of the bit is output, and the counter 16 outputs (A
3. A4. It is assumed that the 3-bit address of A5) is output. These 3-bit addresses are combined to form a 6-bit address. Reference numeral 18 is a switch circuit that switches the address combination of 3 bits at a time. When this switch circuit 18 is switched to one side, the address becomes (AO, Al, A2.A3°A4.A5), and when switched to the other side, the address becomes (A3°A4). .A5.AO, Al, A
2). The relationship between these switched addresses corresponds to the row address and column address in the memory device 2 being switched. The switch circuit 18 is switched in conjunction with read/write operations. When writing, the address is switched so that it advances in the row direction, and when reading, it is switched so that it advances in the column direction. Or, conversely, when writing, the address is switched so that it advances in the column direction, and when reading, it is switched so that it advances in the row direction.

次に、本実施例の動作を第3図と第4図により説明する
Next, the operation of this embodiment will be explained with reference to FIGS. 3 and 4.

第3図はメモリ装置2におけるアドレスを表わしている
。書込み時にはアドレスが行方向に進むように、すなわ
ち(0,O)、(1,O)、(2゜0)、(3,O)、
・・・・・・(N−1,N−1)の順序に進むようにア
ドレスが与えられるものとする。
FIG. 3 represents addresses in the memory device 2. When writing, the addresses advance in the row direction, i.e. (0, O), (1, O), (2°0), (3, O),
It is assumed that addresses are given so as to proceed in the order of (N-1, N-1).

これにより一次元DCT演算器4の演算結果がメモリ装
置2の行方向のアドレスに従って書き込まれていく。こ
れは第4図では破線の矢印で示されるように書き込まれ
ていくことである。
As a result, the calculation results of the one-dimensional DCT calculation unit 4 are written into the memory device 2 according to the addresses in the row direction. This is what is written as shown by the dashed arrow in FIG.

次に、動作モードが読出しに変わり、アドレス発生器の
スイッチ回路18が切り換えられて行アドレスと列アド
レスが切り換えられる。これにより、メモリ装N2での
アドレス指定は第4図で実線で示されるように、列方向
に(0,O)、(0゜1)、(0,2)、(0,3)、
、、、−(N−1゜N−1)の順序に変わり、メモリ装
置2のデータが一次元DCT演算器6へ読み出されてい
く。
Next, the operating mode changes to read and the switch circuit 18 of the address generator is switched to switch between row and column addresses. As a result, addressing in the memory device N2 is performed in the column direction (0, O), (0°1), (0,2), (0,3), as shown by the solid line in FIG.
, , -(N-1°N-1), and the data in the memory device 2 is read out to the one-dimensional DCT calculator 6.

(N−1,N−1)アドレスまでの読出しが終わると、
再び書込みモードに変わり、アドレスが再び行方向に進
むように切り換えられる。このように、DCT演算が繰
り返されていく。
When reading to (N-1, N-1) address is completed,
The write mode is changed again, and the address is switched to advance in the row direction again. In this way, the DCT calculation is repeated.

メモリ装置2での書込みを列方向に行ない、行方向に読
み出すようにしてもよい。
Writing in the memory device 2 may be performed in the column direction, and reading may be performed in the row direction.

他の実施例では、読出し・書込み制御部12で、例えば
第5図に示されるように、指定されたアドレスにおいて
クロックCKの1サイクルのローレベルでそのアドレス
のデータを一次元DCT演算器6へ読み出し、そのサイ
クルのハイレベルの期間に一次元DCT演算器4の演算
結果を同じアドレスに書き込むように制御する。
In another embodiment, the read/write control unit 12 transfers data at a specified address to the one-dimensional DCT calculator 6 at a low level of one cycle of the clock CK at a specified address, as shown in FIG. Control is performed so that the calculation result of the one-dimensional DCT calculation unit 4 is read and written to the same address during the high level period of the cycle.

次に、本実施例の動作を第3図と第6図により説明する
Next, the operation of this embodiment will be explained with reference to FIGS. 3 and 6.

初めに、例えばアドレスが行方向に進むように、すなわ
ち第3図で(0,O)、(L O)、(2゜○)、(3
,○)、・・・・・・(N−1,N−1)の順序に進む
ようにアドレスが与えられる。これにより一次元DCT
演算器4の演算結果がメモリ装置2の行方向のアドレス
に従って書き込まれていく。
First, for example, the addresses advance in the row direction, that is, (0, O), (L O), (2゜○), (3
,○), . . . (N-1, N-1). This allows one-dimensional DCT
The calculation results of the calculation unit 4 are written into the memory device 2 according to the addresses in the row direction.

これは第6図では破線の矢印で示されるように書き込ま
れていくことである。
This is what is written as shown by the dashed arrow in FIG.

次に、アドレス発生器のスイッチ回路18が切り換えら
れて行アドレスと列アドレスが切り換えられる。これに
より、メモリ装置2でのアドレス指定は第3図で(0,
O)、(0,1)、(0゜2)、(0,3)、・・・・
・・(N−1,N−1)の順序に変わる。まず、(0,
0)のアドレスのデータが一次元DCT演算器6へ読み
出され、その後、続いて一次元DCT演算器4の演算結
果が同じ(0,O)アドレスにデータとして書き込まれ
る。
Next, the switch circuit 18 of the address generator is switched to switch between row and column addresses. As a result, the address specification in the memory device 2 is (0,
O), (0,1), (0°2), (0,3),...
...The order changes to (N-1, N-1). First, (0,
The data at address 0) is read to the one-dimensional DCT calculator 6, and then the calculation result of the one-dimensional DCT calculator 4 is written as data to the same address (0, O).

次にメモリアドレスが(0,1)に変わり、−次元DC
T演算器6がそのアドレスのデータを読み出し、続いて
一次元DCT演算器4の演算結果がその(0,1)アド
レスにデータとして書き込まれる。第6図で実線で示さ
れた列方向の矢印は1回目の読出し動作の方向を表わし
、1点m、W+の列方向の矢印は2回目の書込み動作の
方向を表わしている。この動作を繰り返してメモリアド
レス(N−1,N−1)まで実行されると再びメモリア
ドレスの行アドレスと列アドレスが切り換えられ、今度
は行方向に沿って一次元DCT演算器6によるデータの
読出しと続いて同じアドレスへの一次元DCT演算器4
からの演算結果の書込みが(N−1,N−1)アドレス
まで実行される。
Next, the memory address changes to (0, 1), and -dimensional DC
The T calculation unit 6 reads the data at that address, and then the calculation result of the one-dimensional DCT calculation unit 4 is written as data to the (0, 1) address. The column direction arrow shown as a solid line in FIG. 6 represents the direction of the first read operation, and the column direction arrow at 1 point m and W+ represents the direction of the second write operation. When this operation is repeated and executed up to memory address (N-1, N-1), the row address and column address of the memory address are switched again, and this time the data is processed by the one-dimensional DCT operator 6 along the row direction. One-dimensional DCT operator 4 to the same address following reading
The writing of the operation results from (N-1, N-1) is executed.

第7図はさらに他の実施例を表わす。FIG. 7 shows yet another embodiment.

本実施例では、RAMにてなる一対のトランスポート用
メモリ装置2a、2bを設ける。20は一次元DCT演
算器4をメモリ装置2a、2bに切り換えて接続するス
イッチ回路、22は一次元DCT演算器6をメモリ装置
2a、2bに切り換えて接続するスイッチ回路である。
In this embodiment, a pair of transport memory devices 2a and 2b made of RAM are provided. 20 is a switch circuit that switches and connects the one-dimensional DCT calculator 4 to the memory devices 2a and 2b, and 22 is a switch circuit that switches and connects the one-dimensional DCT calculator 6 to the memory devices 2a and 2b.

図示は省略されているが、メモリ装置f2a、2bには
第1図と同様にアドレス発生器、アドレスデコーダ、読
出し・書込み制御部が接続されている。
Although not shown, an address generator, an address decoder, and a read/write control section are connected to the memory devices f2a and f2b as in FIG. 1.

第7図の実施例の動作について説明する。The operation of the embodiment shown in FIG. 7 will be explained.

スイッチ回路20.22が図の状態にあるとき。When the switch circuits 20 and 22 are in the state shown.

メモリ装置2aでは一次元DCT演算器4の演算結果が
行方向に書き込まれていき、−次元DCT演算器6はメ
モリ装置2bに書き込まれているデータを列方向に読み
出していく。メモリ装置2aの書込み、メモリ装置2b
の読出しが終わると、スイッチ回路20.22が切り換
えられる。今度は一次元DCT演算器4の演算結果がメ
モリ装置2bに行方向に書き込まれていき、−次元DC
T演算器6はメモリ装置2aに書き込まれているデータ
を列方向に読み出していく。このように、方のメモリ装
置で書込みを行ないながら、同時に他方のメモリ装置で
は読出しを行なう。これをスイッチ回路20.22を切
り換えながら繰り返していく。
In the memory device 2a, the calculation results of the one-dimensional DCT calculator 4 are written in the row direction, and the -dimensional DCT calculator 6 reads out the data written in the memory device 2b in the column direction. Writing to memory device 2a, memory device 2b
When reading is completed, the switch circuits 20 and 22 are switched. This time, the calculation results of the one-dimensional DCT calculator 4 are written to the memory device 2b in the row direction, and the -dimensional DC
The T calculator 6 reads data written in the memory device 2a in the column direction. In this way, one memory device is writing while the other memory device is simultaneously reading. This is repeated while switching the switch circuits 20 and 22.

第7図では第1図に比へて2倍の速度で二次元DCT演
算を行なうことができる。
In FIG. 7, two-dimensional DCT calculation can be performed at twice the speed compared to FIG. 1.

第1の一次元DCT演算と第2の一次元DCT演算を逐
次演算する装置を第8図と第9図により説明する。
An apparatus for sequentially performing the first one-dimensional DCT operation and the second one-dimensional DCT operation will be explained with reference to FIGS. 8 and 9.

第8図は原理を説明したものである。FIG. 8 explains the principle.

まず、(A)に示されるように、jサイクル目に元の画
像の画素f(i+ j)に対して行方向変換係数wi(
j ) (=cos((2j+1)Vπ/2N))を掛
けて行方向に足しあわせ、それに係数2C(V)/Nを
掛ける行方向−次元DCT演算を施して行方向変換画素
F(i、V)を演算し、(i+1)サイクル目には同様
にしてF(i+1.V)を演算する。
First, as shown in (A), the row direction transformation coefficient wi(
j ) (=cos((2j+1)Vπ/2N)), add them in the row direction, and perform a row-dimensional DCT operation by multiplying them by a coefficient 2C(V)/N to convert the row-direction transformed pixel F(i, V), and in the (i+1)th cycle, F(i+1.V) is similarly computed.

Nサイクルの行方向−次元DCT演算が終了した時点で
、列方向−次元DCT演算に入り、(B)に示されるよ
うに、被変換画素F(i、V)に対して画素(U、V)
の列方向変換係数wv(i )(=cos((2i+1
)Uπ/2N))を掛けて列方向に足しあわせ、そ九に
係数2C(U)/Nをかけて変換画素F(U、V)を算
出する。
When the row direction-dimensional DCT operation of N cycles is completed, the column direction-dimensional DCT operation is started, and as shown in (B), the pixel (U, V )
column direction transformation coefficient wv(i)(=cos((2i+1
) Uπ/2N)) and add them in the column direction, and multiplying by the coefficient 2C(U)/N to calculate the converted pixel F(U, V).

第9図はこの実施例を実行する装置を表わしている。FIG. 9 represents an apparatus for carrying out this embodiment.

元の画像の1行の画素f(i、O)、f(i、1)・・
f(i、N−1)に対してそれぞれ画素(U。
Pixels in one row of the original image f(i, O), f(i, 1)...
pixel (U) for each f(i, N-1).

■)の行方向変換係数wi(j )を掛けるために、N
個の乗算器54−1〜54−Nが設けられてぃる。56
はそれらの乗算器54−1〜54−Nの演算結果を加算
する加算器であり、58はその加算された結果に係数2
C(V)/Nを掛ける乗算器である。これにより、行方
向の一次元DCT演算が行なわれる。
■) In order to multiply by the row direction transformation coefficient wi(j), N
Multipliers 54-1 to 54-N are provided. 56
is an adder that adds the calculation results of those multipliers 54-1 to 54-N, and 58 adds a coefficient 2 to the added result.
This is a multiplier that multiplies C(V)/N. As a result, a one-dimensional DCT operation in the row direction is performed.

次に、列方向の一次元DCT演算を行なうために、N個
の乗算器62−1〜62−Nが設けられている。乗算器
58と乗算器62−1〜62−Nの間にはそれぞれセレ
クタスイッチ60−1〜60−Nが設けられており、行
の位置iによって対応するセレクタスイッチが選択的に
オンにされ、各乗算器62−1〜62−Nで変換係数w
v(0)〜wv(N−1)が掛けられる。64は乗算器
62−1〜62−Nによる乗算結果を加算する加算器で
あり、66はその加算結果に係数2C(U)/Nをかけ
る乗算器であり、その乗算結果により変換画素F(U、
V)が算出される。
Next, N multipliers 62-1 to 62-N are provided to perform one-dimensional DCT calculation in the column direction. Selector switches 60-1 to 60-N are provided between the multiplier 58 and the multipliers 62-1 to 62-N, respectively, and the corresponding selector switches are selectively turned on depending on the row position i. Conversion coefficient w in each multiplier 62-1 to 62-N
v(0) to wv(N-1) are multiplied. 64 is an adder that adds the multiplication results by the multipliers 62-1 to 62-N, and 66 is a multiplier that multiplies the addition result by a coefficient 2C(U)/N. U,
V) is calculated.

第10図は前処理回路を備えた実施例を表わしたもので
あり、例として画像を(8X 8)画素のブロックに分
割してDCT演算を行なう場合を表わしている。
FIG. 10 shows an embodiment equipped with a preprocessing circuit, and shows, as an example, a case where an image is divided into blocks of (8×8) pixels and a DCT operation is performed.

32−O〜32−7はそれぞれ入力データX。32-O to 32-7 are input data X, respectively.

〜x7をクロックCLOCK 1のタイミングで歩進し
保持するシフトレジスタ及びラッチ回路である。34−
1〜34−4はシフトレジスタ及びラッチ回路32−0
〜32−7に保持された所定の2個のデータを取り込み
、セレクト信号に応じて加算又は減算をおこなう加算減
算回路である。36−1〜36−4.38−1〜38−
4は加算減算回路34−1〜34−4で計算されたデー
タをクロックCLOCK 2のタイミングで歩進し保持
するシフトレジスタ及びラッチ回路である。
This is a shift register and latch circuit that increments and holds x7 at the timing of clock CLOCK1. 34-
1 to 34-4 are shift register and latch circuits 32-0
This is an addition/subtraction circuit that takes in two predetermined data held in 32-7 and performs addition or subtraction according to a select signal. 36-1~36-4.38-1~38-
Reference numeral 4 denotes a shift register and a latch circuit that increments and holds the data calculated by the addition/subtraction circuits 34-1 to 34-4 at the timing of clock CLOCK2.

40はDCT処理回路であり、(9)式で表現された乗
算及び加算を行なうために、係数a、b。
40 is a DCT processing circuit, in which coefficients a and b are used to perform multiplication and addition expressed by equation (9).

dr 8’+ fy gv hを保持し、32回の乗算
を行なうための乗算器と31回の加算を行なうための加
算器を備えている。
It holds dr 8'+ fy gv h and is equipped with a multiplier for performing 32 multiplications and an adder for performing 31 additions.

IDCT演算を行なう演算装置についても同様の回路構
成となる。
The arithmetic device that performs the IDCT calculation also has a similar circuit configuration.

DST演算及びID5T演算を行なう演算装置について
も同様の構成となる。
The arithmetic device that performs the DST calculation and the ID5T calculation also has a similar configuration.

第11図はROMルックアップテーブル法による実施例
のDCT変換装置における一次元DCT演算で、1個の
乗算に相当するROMルックアップテーブル回路を表わ
している。
FIG. 11 shows a one-dimensional DCT operation in the DCT conversion device of the embodiment using the ROM look-up table method, and shows a ROM look-up table circuit corresponding to one multiplication.

76はアドレスジェネレータであり、複数ビットの変換
係数データと1ビットずつの入力データとがアドレスと
して入力される。変換係数の種類が例えば8個とすれば
、変換係数データは3ビットデータである。入力データ
は最大ビット(LSB)又は最小ビット(M S B 
)から順に1ビットずつ入力される。78はデータを保
持しているROMである。入力データが411 I+の
場合は変換係数データをROM78のアドレスとし、入
力データが“0″の場合はROM78のアドレスとして
0を使用する。80は加算器、82は加算器80からの
データを一時保持するレジスタ、84はレジスタ82の
データを入力データが最大ビットから入力されるときに
はレジスタ84に保持されたデータのビット位置を上位
方向にシフトさせ、入力データが最小ビットから入力さ
れるときにはレジスタ82に保持されたデータのビット
位置を下位方向にシフトさせる1ビットシフタである。
Reference numeral 76 denotes an address generator, into which multi-bit conversion coefficient data and 1-bit input data are input as addresses. If there are, for example, eight types of conversion coefficients, the conversion coefficient data is 3-bit data. The input data is the largest bit (LSB) or the smallest bit (MSB).
) are input one bit at a time. 78 is a ROM that holds data. When the input data is 411 I+, the conversion coefficient data is used as the address of the ROM 78, and when the input data is "0", 0 is used as the address of the ROM 78. 80 is an adder, 82 is a register that temporarily holds data from the adder 80, and 84 is a register that stores data from the register 82 in the upper direction when input data is input from the largest bit. This is a 1-bit shifter that shifts the bit position of the data held in the register 82 in the lower direction when input data is input from the smallest bit.

加算器8oには1ビットシフタ84で上位方向又は下位
方向に1ビットシフトされたデータとROM78からの
データが加算される。
The data shifted by 1 bit in the upper or lower direction by the 1-bit shifter 84 and the data from the ROM 78 are added to the adder 8o.

入力データが最大ビットから1ビットずつ入力されるも
のとして説明すると、まず最大ビットnの1ビットの入
力データと変換係数データとをROM78のアドレスと
してROM78をアクセスし、データDnを得る。デー
タDnは加算器80を経てレジスタ82に保持される。
Assuming that the input data is input bit by bit starting from the largest bit, first, the ROM 78 is accessed using the 1-bit input data of the largest bit n and the conversion coefficient data as the address of the ROM 78 to obtain data Dn. Data Dn is held in register 82 via adder 80.

レジスタ82に保持されたものを出力りとする。次に、
入力データの(n−1)ビット目の1ビットのデータと
変換係数データがROM78のアドレスとしてROM7
8がアクセスされ、ROM78からはデータDn−□が
出力される。加算器80ではこのデータDn−0と、レ
ジスタ82のデータDを2倍するために1ビットシフタ
84によって上位方向に1ビットシフトされたデータと
が加算され、その加算されたものがレジスタ82に保持
されて出力りが更新される。
What is held in the register 82 is output. next,
The 1st bit data of the (n-1)th bit of the input data and the conversion coefficient data are stored in the ROM 7 as the address of the ROM 78.
8 is accessed, and data Dn-□ is output from the ROM 78. The adder 80 adds this data Dn-0 to the data shifted by 1 bit in the upper direction by the 1-bit shifter 84 in order to double the data D in the register 82, and the added value is held in the register 82. and the output is updated.

この操作が入力データが最小ビットになるまで繰り返さ
れることにより、最終的な出力りが得られる。
The final output is obtained by repeating this operation until the input data has the minimum bits.

この場合、ROM78の容量は変換係数の種類の数m(
この例では8)となる。
In this case, the capacity of the ROM 78 is the number of types of conversion coefficients m(
In this example, it is 8).

第12図に(2)式で表わされる一次元DCT演算を行
なう場合のDCT処理回路の一例を表わす。
FIG. 12 shows an example of a DCT processing circuit when performing one-dimensional DCT calculation expressed by equation (2).

86は8ビットで表現された画素を8個含む1ライン分
のデータが送られるシフトレジスタ、88は8ビットず
つの各画素X。−Xtを保持するラッチである。90は
ROMルックアップテーブル法によるDCT処理回路で
あり、各DCT処理回路90には第1図に示された回路
が8個ずつと、それらの8個の回路の出力を加算する加
算器が含まれている。各DCT処理回路90には入力デ
ータX。−x7が最大ビットから(又は最小ビットから
)1ビットずつ順に入力され、図には示されていないが
変換係数データも入力されて第11図で示された演算が
行なわれる。各DCT処理回路90の出力は8ビットの
出力データ2゜−77である。
86 is a shift register to which one line of data including 8 pixels expressed in 8 bits is sent; 88 is a shift register for each pixel X of 8 bits. - This is a latch that holds Xt. 90 is a DCT processing circuit using the ROM lookup table method, and each DCT processing circuit 90 includes eight circuits shown in FIG. 1 and an adder for adding the outputs of these eight circuits. It is. Each DCT processing circuit 90 receives input data X. -x7 is input one bit at a time starting from the largest bit (or starting from the smallest bit), and although not shown in the figure, conversion coefficient data is also input to perform the calculation shown in FIG. 11. The output of each DCT processing circuit 90 is 8-bit output data 2°-77.

92はシフトレジスタであり、2o−27を順に配列し
て出力する。
92 is a shift register, which sequentially arranges and outputs 2o-27.

第12図では2゜−77の出力データを得るために必要
なROM容量は8×28である。
In FIG. 12, the ROM capacity required to obtain output data of 2°-77 is 8×28.

第13図はROMテーブルの容量をさらに小さくするた
めに、DCT変換係数の対称性を利用した(9)式で表
現される演算を行なうための実施例を表わしたものであ
る。
FIG. 13 shows an embodiment for performing the calculation expressed by equation (9) using the symmetry of DCT conversion coefficients in order to further reduce the capacity of the ROM table.

シフトレジスタ88とDCT処理回路90a。Shift register 88 and DCT processing circuit 90a.

90bの間に前処理回路94が設けられている。A preprocessing circuit 94 is provided between 90b.

前処理回路94により変換係数マトリックスが(9)式
のように整理されて半数が0になり、出力z、、 z2
. z、、 zGを得る4個のDcT処理回路90aで
は後半の4個の変換係数が0であるので、これらの0と
掛は算を行なう入力データは不要になり、4個のDCT
処理回路90aには入力データ (XO+ Xt) r
 (Xt + X6) t (xz + Xs) r(
X3+X4)からの各1ビットずつの4ビットが入力さ
れている。出力Z工、 Z3. ZS、 Z、を得る4
個のDCT処理回路90bでは前半の4個の変換係数が
0であるので、これらの0と掛は算を行なう入力データ
は不要になり、4個のDCT処理回路90bには入力デ
ータ(xO−X 7 ) r (X 1xt、) + 
 (X2  Xi) l  (X3  X4)からの各
1ビットずつの4ビットが入力されている。各DCT処
理回路90a、90bは第11図の回路を4個ずつと、
それらの4個の回路の出力を加算する加算器とを備えて
いる。
The preprocessing circuit 94 rearranges the transformation coefficient matrix as shown in equation (9), half of which becomes 0, and outputs z,, z2
.. In the four DcT processing circuits 90a that obtain z, , zG, the latter four transform coefficients are 0, so input data for multiplying by these 0 is no longer necessary, and the four DCT processing circuits 90a
The processing circuit 90a has input data (XO+Xt) r
(Xt + X6) t (xz + Xs) r(
Four bits, one bit each, are input from (X3+X4). Output Z-work, Z3. Get ZS, Z, 4
In the four DCT processing circuits 90b, the first four transform coefficients are 0, so the input data for multiplying by these 0s is no longer required, and the four DCT processing circuits 90b receive the input data (xO- X 7 ) r (X 1xt,) +
Four bits, one bit each, from (X2 Xi) l (X3 X4) are input. Each DCT processing circuit 90a, 90b includes four circuits shown in FIG.
and an adder that adds the outputs of those four circuits.

第13図では、zI、〜z7の出力データを得るために
必要なROM容量は8×24に減少する。
In FIG. 13, the ROM capacity required to obtain the output data of zI, to z7 is reduced to 8×24.

(発明の効果) 本発明で二次元直交変換演算を1組の一次元直交変換演
算器により実現すれば、必要な乗算器の数は1例えば直
交変換演算の単位を(8X8)画素のブロックとすれば
、従来の方法では64個の乗算器が必要であるのに対し
、本発明では8+8=16個の乗算器で足りることにな
り、装置が簡単になって集積回路化することが可能にな
る。
(Effects of the Invention) According to the present invention, if the two-dimensional orthogonal transform operation is realized by one set of one-dimensional orthogonal transform operators, the number of required multipliers is 1. For example, if the unit of the orthogonal transform operation is a block of (8×8) pixels, Therefore, while the conventional method requires 64 multipliers, the present invention requires only 8+8=16 multipliers, which simplifies the device and allows it to be integrated into an integrated circuit. Become.

また、第1の一次元DCT演算器の演算結果を一時記憶
するメモリ装置においては、行方向に書き込んだものを
列方向に読み出すとともに列方向に新たなデータを書き
込み、列方向に書き込んだデータを行方向に読み出すと
ともに行方向に新たなデータを書き込むようにアドレス
指定と読出し・書込み制御を行なえば、必要なメモリ装
置の容量は演算単位のブロックが(NXN)画素とすれ
ば(N X N)ワードの1ブロツクのもので足りるこ
とになる。その結果、メモリ容量が少なくてすむととも
に、高速動作を行なわせることができるようになる。
In addition, in a memory device that temporarily stores the calculation results of the first one-dimensional DCT calculation unit, data written in the row direction is read out in the column direction, new data is written in the column direction, and data written in the column direction is read out in the column direction. If addressing and read/write control is performed to read data in the row direction and write new data in the row direction, the required capacity of the memory device is (N One word block will be enough. As a result, the memory capacity can be reduced and high-speed operation can be performed.

メモリ装置を一対とし、一方のメモリ装置の書込みと他
方のメモリ装置の読出しを同時に行なうようにすること
により、高速動作が可能になる。
By forming a pair of memory devices and writing to one memory device and reading from the other memory device at the same time, high-speed operation becomes possible.

二次元DCT演算や二次元DST演算における一部の係
数をOにするような入力データの前処理回路を備えると
、DCT処理回路やDST処理回路の乗算器及び加算器
の数が少なくなり、それだけ処理スピードが速くなる。
If a pre-processing circuit for input data is provided to set some coefficients to 0 in two-dimensional DCT calculations or two-dimensional DST calculations, the number of multipliers and adders in the DCT processing circuit or DST processing circuit will be reduced. Processing speed becomes faster.

また、回路規模も小さくなり、集積回路化するのが容易
になる。
In addition, the circuit size becomes smaller and it becomes easier to integrate the circuit.

直交変換処理をROMルックアップテーブル法により実
現するに際して入力データを1ビットずつアドレスに用
いることにより、少ないROM容量で直交変換処理を実
現できるようになる。
By using input data bit by bit as an address when implementing the orthogonal transformation process using the ROM lookup table method, the orthogonal transformation process can be realized with a small ROM capacity.

変換係数の対称性を利用した前処理回路を備えて変換係
数の一部を0とすれば、さらにROM容量を減少させる
ことができる。
By providing a preprocessing circuit that utilizes the symmetry of the transform coefficients and setting some of the transform coefficients to 0, the ROM capacity can be further reduced.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は一実施例を示すブロック図、第2図は同実施例
におけるアドレス発生器の一例を示すブロック図、第3
図は同実施例におけるメモリ装置のアドレスを示す図、
第4図は同実施例の動作を示すメモリ装置のアドレス指
定方法を示す図1、第5図は他の実施例の読出し・書込
み制御部の動作を示すタイミング図、第6図は同実施例
の動作を示すメモリ装置のアドレス指定方法を示す図、
第7図はさらに他の実施例を示すブロック図、第8図は
さらに他の実施例の演算の概念を示す図、第9図は同実
施例の回路図、第10図はさらに他の実施例のDCT演
算装置を示すブロック図、第11図はさらに他の実施例
におけるROMルックアップテーブル法の1個の乗算器
相当部分を示すブロック図、第12図及び第13図はそ
れぞれ実施例におけるDCT演算装置を示すブロック図
である。第14図はデータ圧縮・伸長系を示すブロック
図、第15図は従来の二次元DCT演算を表わす概念図
、第16図は同従来例の回路図、第17図は従来の方式
によるROMルックアップテーブル法の1個の乗算器相
当部分を示すブロック図である。 2.2a、2b・・・・・・メモリ装置、4,6・・・
・・・−次元DCT演算器、8・・・・・・アドレス発
生器、12・・・・・・読出し・書込み制御部、14.
16・・・・3ビットカウンタ、18,20.22・・
・・・・切換えスイッチ回路、32−O〜32−7・・
・・・・シフトレジスタ及びラッチ回路、34−1〜3
4−4・・・・・・加算減算回路、36−1〜36−4
,38−1〜38−4・・・・・・シフトレジスタ及び
ラッチ回路、40・・・・・・−次元DCT処理回路、
76・・・・・・アドレスジェネレータ、78・・・・
・・ROM、80・・・・・・加算器、82・・・・・
レジスタ、84・・・・・・1ビットシフタ、86・・
・・・シフトレジスタ、88・・・・・・ラッチ、90
,90a、90b・・・・・ROMルックアップテーブ
ル法によるDC,T処理回路。
FIG. 1 is a block diagram showing one embodiment, FIG. 2 is a block diagram showing an example of an address generator in the same embodiment, and FIG.
The figure shows the address of the memory device in the same embodiment,
FIG. 4 is a timing diagram showing the addressing method of a memory device showing the operation of the same embodiment; FIG. 5 is a timing diagram showing the operation of the read/write control section of another embodiment; and FIG. 6 is the same embodiment. a diagram illustrating the addressing method of a memory device showing the operation of the
FIG. 7 is a block diagram showing still another embodiment, FIG. 8 is a diagram showing the concept of calculation in still another embodiment, FIG. 9 is a circuit diagram of the same embodiment, and FIG. 10 is a block diagram showing still another embodiment. FIG. 11 is a block diagram showing a portion corresponding to one multiplier of the ROM lookup table method in another embodiment, and FIGS. 12 and 13 are respectively in the embodiment. FIG. 2 is a block diagram showing a DCT calculation device. Fig. 14 is a block diagram showing a data compression/decompression system, Fig. 15 is a conceptual diagram showing a conventional two-dimensional DCT operation, Fig. 16 is a circuit diagram of the conventional example, and Fig. 17 is a ROM look using the conventional method. FIG. 3 is a block diagram showing a portion corresponding to one multiplier in the up-table method. 2.2a, 2b... Memory device, 4, 6...
. . .-dimensional DCT computing unit, 8 . . . address generator, 12 . . . read/write control unit, 14.
16...3-bit counter, 18, 20.22...
...changeover switch circuit, 32-O~32-7...
...Shift register and latch circuit, 34-1 to 3
4-4... Addition/subtraction circuit, 36-1 to 36-4
, 38-1 to 38-4...shift register and latch circuit, 40...-dimensional DCT processing circuit,
76...address generator, 78...
...ROM, 80... Adder, 82...
Register, 84...1 bit shifter, 86...
...Shift register, 88...Latch, 90
, 90a, 90b...DC, T processing circuit using ROM lookup table method.

Claims (6)

【特許請求の範囲】[Claims] (1)第1の一次元直交変換演算器と、その出力を一時
記憶するメモリ装置と、前記メモリ装置の出力を入力と
する第2の一次元直交変換演算器と、前記メモリ装置の
アドレス指定を行なうとともに前記メモリ装置の書込み
と読出しの動作の切換えに合わせて行アドレスと列アド
レスを入れ換えるアドレス発生器とを備えた直交変換演
算装置。
(1) A first one-dimensional orthogonal transformation computing unit, a memory device that temporarily stores the output thereof, a second one-dimensional orthogonal transformation computing unit that receives the output of the memory device as input, and address specification of the memory device. An orthogonal transformation arithmetic device comprising: an address generator that performs the above operations and interchanges row addresses and column addresses in accordance with switching between write and read operations of the memory device.
(2)第1の一次元直交変換演算器と、その出力を一時
記憶するメモリ装置と、前記メモリ装置の出力を入力と
する第2の一次元直交変換演算器と、前記メモリ装置の
アドレス指定を行なうとともに前記第1及び第2の一次
元直交変換演算器の演算の実行に合わせて行アドレスと
列アドレスを入れ換えるアドレス発生器と、前記メモリ
装置の1個のデータを読み出した後に同一アドレスに前
記第1の一次元直交変換演算器の新たな演算結果を書き
込む読出し・書込み制御部とを備えた直交変換演算装置
(2) a first one-dimensional orthogonal transformation computing unit, a memory device that temporarily stores the output thereof, a second one-dimensional orthogonal transformation computing unit that receives the output of the memory device as input, and address specification of the memory device and an address generator that exchanges the row address and column address in accordance with the execution of the calculations of the first and second one-dimensional orthogonal transform calculation units; An orthogonal transformation calculation device, comprising: a read/write control unit that writes a new calculation result of the first one-dimensional orthogonal transformation calculation unit.
(3)前記メモリ装置は一対設けられ、第1の一次元直
交変換演算器と第2の一次元直交変換演算器をそれぞれ
切換えスイッチ回路を介して前記両メモリ装置に接続し
、第1の一次元直交変換演算器が一方のメモリ装置に接
続されるときは第2の一次元直交変換演算器が他方のメ
モリ装置に接続されるように前記切換えスイッチ回路を
切り換える請求項1に記載の直交変換演算装置。
(3) A pair of the memory devices are provided, and a first one-dimensional orthogonal transform arithmetic unit and a second one-dimensional orthogonal transform arithmetic unit are respectively connected to the two memory devices via changeover switch circuits. The orthogonal transformation according to claim 1, wherein the changeover switch circuit is switched so that when the original orthogonal transformation computing unit is connected to one memory device, the second one-dimensional orthogonal transformation computing unit is connected to the other memory device. Computing device.
(4)離散コサイン変換又は離散サイン変換を行なう直
交変換処理回路を備えた直交変換演算装置において、直
交変換処理の際に係数の一部が0になるように入力デー
タ間の加算及び減算を行なう前処理回路を設け、直交変
換処理回路は前記前処理回路で加算又は減算されたデー
タについて0でない係数との乗算及びその乗算結果の加
算を行なうことを特徴とする直交変換演算装置。
(4) In an orthogonal transform calculation device equipped with an orthogonal transform processing circuit that performs discrete cosine transform or discrete sine transform, addition and subtraction are performed between input data so that some of the coefficients become 0 during orthogonal transform processing. An orthogonal transform calculation device comprising a preprocessing circuit, wherein the orthogonal transform processing circuit multiplies the data added or subtracted by the preprocessing circuit by a non-zero coefficient and adds the multiplication results.
(5)1個の画像を複数の画素を含むブロックに分割し
、各ブロックごとに直交変換処理を行なう直交変換回路
を備えた直交変換演算装置において、前記直交変換回路
はROMテーブルを用いるROMルックアップテーブル
法による演算を行なうものであり、入力データの1ビッ
トずつと複数ビットの変換係数データとをアドレスとし
、ROMテーブルから読み出されたデータをそのアドレ
スの入力データにおけるビット位置に応じて上位又は下
位方向にシフトさせて入力データの全ビットについて加
算する加算回路を備えたことを特徴とする直交変換演算
装置。
(5) In an orthogonal transform calculation device equipped with an orthogonal transform circuit that divides one image into blocks each including a plurality of pixels and performs orthogonal transform processing for each block, the orthogonal transform circuit performs a ROM lookup process using a ROM table. It performs calculations using the up-table method, where each bit of input data and multiple bits of conversion coefficient data are used as addresses, and the data read from the ROM table is sorted according to the bit position in the input data at that address. Alternatively, an orthogonal transform arithmetic device comprising an adder circuit that shifts in the lower direction and adds all bits of input data.
(6)前記直交変換回路の前段には、直交変換処理の際
に変換係数の一部が0になるように入力データ間の加算
及び減算を行なう前処理回路を備えた請求項6に記載の
直交変換演算装置。
(6) A preprocessing circuit according to claim 6, further comprising a preprocessing circuit that performs addition and subtraction between input data so that some of the transform coefficients become 0 during the orthogonal transform process, at a stage before the orthogonal transform circuit. Orthogonal transformation calculation device.
JP2253573A 1989-12-01 1990-09-20 Orthogonal transform operation unit Expired - Fee Related JP2790911B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US07/616,418 US5268853A (en) 1989-12-01 1990-11-21 Orthogonal transformation processor for compressing information
DE4038240A DE4038240A1 (en) 1989-12-01 1990-11-30 PROCESSOR FOR CARRYING OUT AN ORTHOGONAL TRANSFORMATION
US08/058,475 US5331585A (en) 1989-12-01 1993-05-05 Orthogonal transformation processor for compressing information
US08/058,546 US5359549A (en) 1989-12-01 1993-05-05 Orthogonal transformation processor for compressing information

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP31401889 1989-12-01
JP1-314018 1989-12-01
JP1-328936 1989-12-18
JP32893689 1989-12-18
JP2-61984 1990-03-12
JP6198490 1990-03-12
JP2-67500 1990-03-16
JP6750090 1990-03-16
JP11075790 1990-04-25
JP2-110757 1990-04-25

Publications (2)

Publication Number Publication Date
JPH04531A true JPH04531A (en) 1992-01-06
JP2790911B2 JP2790911B2 (en) 1998-08-27

Family

ID=27523687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2253573A Expired - Fee Related JP2790911B2 (en) 1989-12-01 1990-09-20 Orthogonal transform operation unit

Country Status (1)

Country Link
JP (1) JP2790911B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527011A (en) * 1998-10-02 2002-08-20 メイコム・リミテッド Data compression coding system
JP2013512479A (en) * 2009-11-26 2013-04-11 日本電気株式会社 Apparatus and method enabling efficient time and area access to square matrix distributed and stored in internal memory of processing element operating in SIMD mode and its transpose matrix

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527011A (en) * 1998-10-02 2002-08-20 メイコム・リミテッド Data compression coding system
JP2013512479A (en) * 2009-11-26 2013-04-11 日本電気株式会社 Apparatus and method enabling efficient time and area access to square matrix distributed and stored in internal memory of processing element operating in SIMD mode and its transpose matrix

Also Published As

Publication number Publication date
JP2790911B2 (en) 1998-08-27

Similar Documents

Publication Publication Date Title
US5268853A (en) Orthogonal transformation processor for compressing information
KR100331136B1 (en) A computer system performing an inverse cosine transfer function for use with multimedia information
US5757432A (en) Manipulating video and audio signals using a processor which supports SIMD instructions
US6052703A (en) Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding
WO2005122590A1 (en) Image encoding device, image decoding device, and integrated circuit used therein
US5359549A (en) Orthogonal transformation processor for compressing information
JPH05260313A (en) Data processing method of discrete cosine transform (dct), dct method, and dct data processing circuit
US5625713A (en) Apparatus and method for increasing the throughput of an acoustic or image compression system
JPH04531A (en) Orthogonal transformation arithmetic unit
EP0686940B1 (en) Image processing systems and methods
JP2839392B2 (en) Image data restoration method and apparatus
JP3155383B2 (en) Two-mode processing device, two-dimensional conversion device, and still image data compression system
EP0928113A1 (en) Method and apparatus for data manipulation
EP0928114B1 (en) Video data decoding apparatus
KR100236972B1 (en) Discrete cosine transform apparatus for decoding and encoding with low-transmission rate
JPH08305684A (en) Butterfly operation device and inverse discrete cosine transformer
JPH05206868A (en) Method and device for improving throughput for acoustic or image compression system
JP4444480B2 (en) Filter processing device
JPH05153402A (en) Discrete cosine transformation device
JPH06274524A (en) Orthogonal transformation circuit and inverse transformation circuit
JPH04178087A (en) Orthogonal transformation method and orthogonal transformation circuit
JPH04137975A (en) Inverse orthogonal transformation method and circuit
JP2555937B2 (en) Discrete cosine transform circuit
JPH05225224A (en) Discrete cosine transformer
JPH05153403A (en) Discrete cosine transformation device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080612

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090612

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees