JPH06332933A - Method and circuit for discrete cosine transformation - Google Patents

Method and circuit for discrete cosine transformation

Info

Publication number
JPH06332933A
JPH06332933A JP14266393A JP14266393A JPH06332933A JP H06332933 A JPH06332933 A JP H06332933A JP 14266393 A JP14266393 A JP 14266393A JP 14266393 A JP14266393 A JP 14266393A JP H06332933 A JPH06332933 A JP H06332933A
Authority
JP
Japan
Prior art keywords
data
adder
coefficient
dct
discrete cosine
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
JP14266393A
Other languages
Japanese (ja)
Other versions
JP2816295B2 (en
Inventor
Masabumi Tanaka
正文 田中
Kazuya Yamada
和也 山田
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.)
Kanebo Ltd
Original Assignee
Kanebo 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 Kanebo Ltd filed Critical Kanebo Ltd
Priority to JP14266393A priority Critical patent/JP2816295B2/en
Publication of JPH06332933A publication Critical patent/JPH06332933A/en
Application granted granted Critical
Publication of JP2816295B2 publication Critical patent/JP2816295B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To provide a method for enabling discrete cosine transformation(DCT) at high speed with small circuit scale. CONSTITUTION:Plural cosine functions contained in respective transforming formulas for calculating a DCT coefficient from pixel data f0-f7 are replaced with plural coefficients. The respective coefficients contain the square power form of '2' as much as possible. The ratio of plural coefficients in the respective transformation formulas after the replacement is set equally to the ratio of plural cosine functions in the respective transformation formulas before the replacement. Transformation data F0'-F7' are calculated by calculating the sum of products between respective pixel data and respective coefficients in the respective transformation formulas while using the shift and addition of data. The DCT coefficient is provided by multiplying a constant to the respective transformed data F0'-F7'.

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、画像データ圧縮に用
いられる離散コサイン変換方法および離散コサイン変換
回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a discrete cosine transform method and a discrete cosine transform circuit used for image data compression.

【0002】[0002]

【従来の技術】画像データは非常に多くの情報量を含ん
でいる。そのため、画像データをそのままの形で処理す
るのは、メモリ容量および通信速度の点で実用的ではな
い。そこで、画像データ圧縮技術が重要となる。
2. Description of the Related Art Image data contains a very large amount of information. Therefore, it is not practical to process the image data as it is in terms of memory capacity and communication speed. Therefore, image data compression technology is important.

【0003】画像データ圧縮の国際標準の1つとしてJ
PEG(Joint Photographic ExpertGroup) がある。J
PEGでは、非可逆符号化を行なう離散コサイン変換
(以下、DCTと呼ぶ)方式と、2次元空間でDPCM
(Differential PCM)を行なう可逆符号化方式が採用され
ている。以下、DCT方式の画像データ圧縮を説明す
る。
J is one of the international standards for image data compression.
There is PEG (Joint Photographic Expert Group). J
In PEG, a discrete cosine transform (hereinafter referred to as DCT) method that performs lossy encoding and DPCM in a two-dimensional space
A lossless coding method that performs (Differential PCM) is adopted. The DCT method image data compression will be described below.

【0004】図18は、DCT方式を実行するためのシ
ステムの基本構成を示すブロック図である。
FIG. 18 is a block diagram showing the basic structure of a system for executing the DCT method.

【0005】符号化側では、DCT装置100が、入力
される原画像データのDCT処理を行ない、DCT係数
を出力する。量子化器200は、量子化テーブル400
を参照してDCT係数に量子化処理を行ない、量子化さ
れたDCT係数(以下、量子化DCT係数と呼ぶ)を出
力する。エントロピー符号化器300は、符号化テーブ
ル500を参照して量子化DCT係数にエントロピー符
号化処理を行ない、圧縮データを出力する。エントロピ
ー符号化の方式としてハフマン符号化方式が用いられ
る。
On the encoding side, the DCT device 100 performs DCT processing on the input original image data and outputs DCT coefficients. The quantizer 200 has a quantization table 400.
, The DCT coefficient is quantized and a quantized DCT coefficient (hereinafter referred to as a quantized DCT coefficient) is output. The entropy encoder 300 refers to the encoding table 500, performs entropy encoding processing on the quantized DCT coefficient, and outputs compressed data. The Huffman coding method is used as the entropy coding method.

【0006】復号化側では、エントロピー復号器600
が、符号化テーブル500を参照して圧縮データにエン
トロピー復号化処理を行ない、量子化DCT係数を出力
する。逆量子化器700は、量子化テーブル400を参
照して量子化DCT係数に逆量子化処理を行ない、DC
T係数を出力する。逆DCT装置800は、DCT係数
に逆DCT処理を行ない、再生画像データを出力する。
On the decoding side, the entropy decoder 600
Performs entropy decoding processing on the compressed data with reference to the encoding table 500, and outputs the quantized DCT coefficient. The inverse quantizer 700 refers to the quantization table 400 to perform inverse quantization processing on the quantized DCT coefficient,
Output the T coefficient. The inverse DCT device 800 performs inverse DCT processing on the DCT coefficient and outputs reproduced image data.

【0007】次に、DCT方法を説明する。まず、図1
9に示すように、画像データを複数の8×8画素ブロッ
クに分割する。図20に示すように、1つの8×8画素
ブロック内の各画素データの値をPX Y (X,Y=0,
…,7)で示す。ここで、X,Yがブロック内の画素デ
ータの位置を表わしている。
Next, the DCT method will be described. First, Fig. 1
As shown in FIG. 9, the image data is divided into a plurality of 8 × 8 pixel blocks. As shown in FIG. 20, the value of each pixel data in one 8 × 8 pixel block is set to P XY (X, Y = 0,
…, 7). Here, X and Y represent the position of the pixel data in the block.

【0008】分割された各8×8画素ブロックに対し
て、数1による2次元DCTを行なうう。
Two-dimensional DCT according to equation 1 is performed on each of the divided 8 × 8 pixel blocks.

【数1】[Equation 1]

【0009】ここで、SU V (U,V=0,…,7)は
DCT係数を表わし、U,VはDCT係数の位置を表わ
す。U=V=0の場合にはCU =CV =1/√2とな
り、その他の場合にはCU =CV =1となる。さらに、
画素データPX Y のビット精度が8ビットの場合にはL
S =128となり、画素データPX Y のビット精度が1
2ビットの場合にはLS =2048となる。
Here, S UV (U, V = 0, ..., 7) represents the DCT coefficient, and U and V represent the position of the DCT coefficient. When U = V = 0, C U = C V = 1 / √2, and in other cases, C U = C V = 1. further,
If the bit precision of the pixel data P XY is 8 bits, L
S = 128 and the bit precision of pixel data P XY is 1
In the case of 2 bits, L S = 2048.

【0010】DCT処理の結果、64個のDCT係数S
U V が得られる。DCT係数S0 0はDC係数と呼ば
れ、残りの63個DCT係数はAC係数と呼ばれる。D
C係数は8×8画素データの平均値(直流成分)を示し
ている。数1に示されるように、各画素データPX Y
りLS を引くことにより、DC係数の期待値を0にレベ
ルシフトしている。
As a result of the DCT processing, 64 DCT coefficients S
UV is obtained. The DCT coefficient S 0 0 is called a DC coefficient, and the remaining 63 DCT coefficients are called AC coefficients. D
The C coefficient represents the average value (DC component) of the 8 × 8 pixel data. As shown in Expression 1, the expected value of the DC coefficient is level-shifted to 0 by subtracting L S from each pixel data P XY .

【0011】図20に示すように、DCT処理されたブ
ロックの左上および右下がそれぞれDCT係数S0 0
7 7 に対応している。DCT処理されたブロックの左
から右に進むにつれて高周波の水平周波数成分を多く含
み、上から下に進むにつれて高周波の垂直周波数成分を
多く含むことになる。
As shown in FIG. 20, the upper left and lower right of the DCT processed block are DCT coefficients S 0 0 and
Corresponds to the S 7 7. As the DCT-processed block progresses from left to right, it contains many high-frequency horizontal frequency components, and as it progresses from top to bottom, it contains many high-frequency vertical frequency components.

【0012】一方、数2に示す逆DCT処理によりDC
T係数SU V から64個の画素データPX Y (X,Y=
0,…,7)を得ることができる。
On the other hand, by the inverse DCT processing shown in equation 2, DC
64 pixel data P XY (X, Y = from the T coefficient S UV
0, ..., 7) can be obtained.

【数2】[Equation 2]

【0013】数2に示されるように、各画素データにL
S を加えることにより、レベルシフト分を元に戻してい
る。
As shown in equation 2, each pixel data has L
By adding S , the level shift amount is restored.

【0014】図21に示すように、2次元DCTは、2
つの1次元DCT回路110,130およびトランスポ
ーテンションメモリ120により行なわれる。1次元D
CT回路110は、画素データfX に関して数3による
1次元DCTを行ない、その結果を示す1次元DCT係
数FU をトランスポーテンションメモリ120の各行に
書き込む。
As shown in FIG. 21, the two-dimensional DCT is 2
One one-dimensional DCT circuit 110, 130 and a transport tension memory 120. One-dimensional D
The CT circuit 110 performs the one-dimensional DCT by the equation 3 on the pixel data f X , and writes the one-dimensional DCT coefficient F U indicating the result in each row of the transport tension memory 120.

【数3】[Equation 3]

【0015】数3において、X=0,1,2,…,7で
あり、U=0,1,2,…,7である。U=0の場合、
U =1/√2であり、U≠0の場合、CU =1であ
る。
In Expression 3, X = 0, 1, 2, ..., 7 and U = 0, 1, 2 ,. If U = 0,
C U = 1 / √2, and when U ≠ 0, C U = 1.

【0016】1次元DCT回路130は、トランスポー
テンションメモリ120の各列に記憶される1次元DC
T係数FU に関して1次元DCTを行ない、その結果を
DCT係数SU V として出力する。なお、逆1次元DC
Tは、数4により表される。
The one-dimensional DCT circuit 130 is a one-dimensional DCT circuit stored in each column of the transport tension memory 120.
One-dimensional DCT is performed on the T coefficient F U , and the result is output as the DCT coefficient S UV . Inverse one-dimensional DC
T is represented by Equation 4.

【数4】[Equation 4]

【0017】DCT係数SU V は、係数位置ごとに異な
る量子化テーブルQU V を用いて、数5により線型量子
化され、量子化DCT係数rU V が得られる。
The DCT coefficient S UV is linearly quantized by the equation (5) using the quantization table Q UV different for each coefficient position, and the quantized DCT coefficient r UV is obtained.

【数5】rU V =round(SU V /QU V ) roundは、最も近い整数への整数化を意味する。## EQU00005 ## r UV = round (S UV / Q UV ) round means integerization to the nearest integer.

【0018】復号化側では、逆量子化が行なわれる。ハ
フマン復号化で得られた量子化DCT係数をrU V とす
ると、数6により逆量子化を行なう。
On the decoding side, inverse quantization is performed. When the quantized DCT coefficient obtained by the Huffman decoding is r UV , inverse quantization is performed by the equation 6.

【数6】SU V =rU V ×QU V [Equation 6] S UV = r UV × Q UV

【0019】量子化テーブルQU V の値を変化させるこ
とにより画質を制御することができる。量子化テーブル
U V の値を小さく設定すると、量子化DCT係数r
U V の値が大きくなり、画質の良い画像を符号化するこ
とができる。逆に、量子化テーブルQU V の値を大きく
設定すると、量子化DCT係数rU V の値が小さくな
り、符号化情報量は減少するが、画質は劣化する。この
ように、量子化テーブルQU V の値を変えることによ
り、画質および符号化情報を自由に制御することができ
る。
The image quality can be controlled by changing the value of the quantization table Q UV . If the value of the quantization table Q UV is set small, the quantized DCT coefficient r
The UV value becomes large, and it is possible to encode a high-quality image. On the contrary, when the value of the quantization table Q UV is set to be large, the value of the quantized DCT coefficient r UV becomes small and the amount of encoded information decreases, but the image quality deteriorates. In this way, by changing the value of the quantization table Q UV , the image quality and the coding information can be freely controlled.

【0020】ここで、図22〜図25を参照しながら数
3に示された1次元DCT係数FUを算出するためのチ
ェン(Chen)のアルゴリズムを説明する。
Here, the Chen algorithm for calculating the one-dimensional DCT coefficient F U shown in Equation 3 will be described with reference to FIGS.

【0021】数3は、図22に示される8つの変換式
(E1)〜(E8)に展開することができる。図22に
おいて、F0 〜F7 は1次元DCT係数(以下、DCT
係数と呼ぶ)を表わし、f0 〜f7 は画素データを表わ
す。
Equation 3 can be expanded into eight conversion equations (E1) to (E8) shown in FIG. In FIG. 22, F 0 to F 7 are one-dimensional DCT coefficients (hereinafter referred to as DCT coefficients).
(Referred to as coefficients), and f 0 to f 7 represent pixel data.

【0022】変換式(E1)〜(E8)において、係数
C1〜C7はそれぞれ1/4・cos(1・π/16)
〜1/4・cos(7・π/16)を示している。図2
2の変換式(E1)〜(E8)は図23に示される行列
式により表される。図22および図23から明らかなよ
うに、f0 +f7 ,f1 +f6 ,f2 +f5 ,f3 +f
4 ,f0 −f7 ,f1 −f6 ,f2 −f5 ,f3 −f4
をそれぞれかっこでくくることにより、DCT係数F0
〜F7 の各々は4つの係数および4組の変数の積和によ
り表される。したがって、DCT係数F0 〜F7 を算出
するために32個の乗算器が必要となる。
In the conversion equations (E1) to (E8), the coefficients C1 to C7 are ¼ · cos (1 · π / 16), respectively.
.About.1 / 4.cos (7..pi. / 16) is shown. Figure 2
The conversion equations (E1) to (E8) of No. 2 are represented by the determinant shown in FIG. As is clear from FIGS. 22 and 23, f 0 + f 7 , f 1 + f 6 , f 2 + f 5 , f 3 + f
4, f 0 -f 7, f 1 -f 6, f 2 -f 5, f 3 -f 4
, The DCT coefficient F 0
Each of ~ F 7 is represented by the sum of products of four coefficients and four sets of variables. Therefore, 32 multipliers are required to calculate the DCT coefficients F 0 to F 7 .

【0023】また、C3=C4(C1+C7),C5=
C4(C1−C7),C1=C4(C3+C5),C7
=C4(C3−C5)の関係を用いると、図22に示さ
れる変換式(E5)〜(E8)は、図24に示される変
換式(E5′)〜(E8′)に変形される。
Further, C3 = C4 (C1 + C7), C5 =
C4 (C1-C7), C1 = C4 (C3 + C5), C7
= C4 (C3-C5), the conversion equations (E5) to (E8) shown in FIG. 22 are transformed into the conversion equations (E5 ′) to (E8 ′) shown in FIG.

【0024】図22に示される変換式(E1)〜(E
4)および図24に示される変換式(E5′)〜(E
8′)は、図25のフローブラフ(バタフライチャー
ト)で表される。図25において、丸印は加算を表わ
す。また、各線に付された係数は、その係数の乗算を表
わす。
Conversion equations (E1) to (E) shown in FIG.
4) and conversion formulas (E5 ') to (E5') shown in FIG.
8 ') is represented by the flow bluff (butterfly chart) of FIG. In FIG. 25, a circle indicates addition. The coefficient attached to each line represents multiplication of the coefficient.

【0025】G0 =f0 +f7 ,G1 =f1 +f6 ,G
2 =f2 +f5 ,G3 =f3 +f4,G4 =f3
4 ,G5 =f2 −f5 ,G6 =f1 −f6 ,G7 =f
0 −f7である。また、H0 =G0 +G3 ,H1 =G1
+G2 ,H2 =G1 −G2 ,H3=G0 −G3 である。
4 =G4 ,H5 =−C4・G5 +C4・G6 ,H6
C4・G5 +C4・G6 ,H7 =G7 である。
G 0 = f 0 + f 7 , G 1 = f 1 + f 6 , G
2 = f 2 + f 5 , G 3 = f 3 + f 4 , G 4 = f 3
f 4, G 5 = f 2 -f 5, G 6 = f 1 -f 6, G 7 = f
It is 0 -f 7. In addition, H 0 = G 0 + G 3 , H 1 = G 1
+ G 2 , H 2 = G 1 -G 2 , and H 3 = G 0 -G 3 .
H 4 = G 4, H 5 = -C4 · G 5 + C4 · G 6, H 6 =
C4 · G 5 + C4 · G 6, H 7 = a G 7.

【0026】さらに、F0 =C4・H0 +C4・H1
4 =C4・H0 −C4・H1 ,F2 =C6・H2 +C
2・H3 ,F6 =−C2・H2 +C6・H3 である。I
4 =H4 +H5 ,I5 =H4 −H5 ,I6 =−H6 +H
7 ,I7 =H6 +H7 である。最後に、F1 =C7・I
4 +C1・I7 ,F5 =C3・I5 +C5・I6 ,F3
=−C5・I5 +C3・I6 ,F7 =−C1・I4 +C
7・I7 である。
Further, F 0 = C4 · H 0 + C4 · H 1 ,
F 4 = C4 · H 0 -C4 · H 1, F 2 = C6 · H 2 + C
2 · H 3, an F 6 = -C2 · H 2 + C6 · H 3. I
4 = H 4 + H 5, I 5 = H 4 -H 5, I 6 = -H 6 + H
7 , I 7 = H 6 + H 7 . Finally, F 1 = C7 · I
4 + C1 · I 7 , F 5 = C3 · I 5 + C5 · I 6 , F 3
= -C5 · I 5 + C3 · I 6, F 7 = -C1 · I 4 + C
7 · I 7 .

【0027】図25から明らかなように、画素データf
0 〜f7 を同時に入力すると、データG0 〜G7 が同時
に得られ、次にデータH0 〜H7 が同時に得られる。さ
らに、DCT係数F0 ,F4 ,F2 ,F6 およびデータ
4 〜I7 が同時に得られ、最後にDCT係数F1 ,F
5 ,F3 ,F7 が同時に得られる。このように、画素デ
ータf0 〜f7 を同時に入力することにより、DCT係
数F0 〜F7 がほぼ同時に得られる。
As is apparent from FIG. 25, the pixel data f
0 When ~f 7 and inputs the same time, the data G 0 ~G 7 is obtained at the same time, then the data H 0 to H 7 are obtained simultaneously. Further, the DCT coefficients F 0 , F 4 , F 2 , F 6 and the data I 4 to I 7 are obtained at the same time, and finally the DCT coefficients F 1 , F
5 , F 3 and F 7 are obtained at the same time. By thus inputting the pixel data f 0 to f 7 at the same time, the DCT coefficients F 0 to F 7 can be obtained almost at the same time.

【0028】[0028]

【発明が解決しようとする課題】上記のようにチェンの
アルゴリズムを用いれば、画素データf0 〜f7 からD
CT係数F0 〜F7 が高速に得られる。したがって、1
次元DCTを高速に実行することができる。しかしなが
ら、上記のように1行分のDCT係数F0 〜F7 を算出
するために32回の乗算が必要となり、8行分のDCT
係数を算出するために256回の乗算が必要となる。乗
算器の回路規模は大きいので、チェンのアルゴリズムを
用いても、1次元DCT回路の回路規模は非常に大きく
なる。
If the Chen algorithm is used as described above, the pixel data f 0 to f 7 to D can be obtained.
The CT coefficients F 0 to F 7 can be obtained at high speed. Therefore, 1
The dimensional DCT can be executed at high speed. However, as described above, 32 times of multiplication is required to calculate the DCT coefficients F 0 to F 7 for one row, and the DCT coefficients for eight rows are required.
256 multiplications are required to calculate the coefficients. Since the circuit scale of the multiplier is large, even if the Chen algorithm is used, the circuit scale of the one-dimensional DCT circuit becomes very large.

【0029】この発明の目的は、小さい回路規模で高速
に離散コサイン変換を行なうことができる方法および回
路を提供することである。
An object of the present invention is to provide a method and a circuit capable of performing discrete cosine transform at high speed with a small circuit scale.

【0030】[0030]

【課題を解決するための手段】[Means for Solving the Problems]

(1) 第1の発明 第1の発明に係る離散コサイン変換方法は、XおよびK
に関する余弦関数C(K,X)と入力データfX との積
和により入力データfX からDCT係数FK を求める離
散コサイン変換方法であって次のステップを含む。ここ
で、Xは0からN−1までの整数を表わし、Kは0から
N−1までの整数を表わす。
(1) First Invention A discrete cosine transform method according to the first invention is X and K.
A discrete cosine transform method for obtaining the DCT coefficient F K from the input data f X by the sum of products of the cosine function C (K, X) with respect to the input data f X and including the following steps. Here, X represents an integer from 0 to N-1, and K represents an integer from 0 to N-1.

【0031】余弦関数C(K,X)を係数CKXで置き換
える。係数CKXは、各Kの値についてすべてのXの値に
対して、C(K,X)/CKX=SK の関係を満足しかつ
2のべき乗を含む。ここで、SK は定数を表わす。係数
KXと入力データfX との積和をデータのシフトおよび
加算を用いて求めることにより各Kの値についてFK
K の値を算出する。
Replace the cosine function C (K, X) with the coefficient C KX . The coefficient C KX satisfies the relationship C (K, X) / C KX = S K for all K values for each K value and contains a power of two. Here, S K represents a constant. The product sum of the coefficient C KX and the input data f X is obtained by shifting and adding the data to obtain F K /
To calculate the value of S K.

【0032】(2) 第2の発明 第2の発明に係る離散コサイン変換回路は、XおよびK
に関する余弦関数C(K,X)と入力データfX との積
和により入力データfX からDCT係数FK を求める離
散コサイン変換回路であって、複数の加算手段を備え
る。ここで、Xは0からN−1までの整数を表わし、K
は0からN−1までの整数を表わす。
(2) Second Invention A discrete cosine transform circuit according to a second invention is X and K.
A discrete cosine transform circuit that obtains the DCT coefficient F K from the input data f X by the sum of products of the cosine function C (K, X) with respect to the input data f X, and includes a plurality of adding means. Here, X represents an integer from 0 to N-1, and K
Represents an integer from 0 to N-1.

【0033】複数の加算手段は、係数CKXと入力データ
X との積和をデータのシフトおよび加算を用いて求め
ることにより各Kの値についてFK /SK の値を算出す
る。係数CKXは、各Kの値についてすべてのXの値に対
して、C(K,X)/CKX=SK の関係を満足しかつ2
のべき乗を含む。ここで、SK は定数を表わす。
The plurality of adding means calculates the value of F K / S K for each value of K by obtaining the product sum of the coefficient C KX and the input data f X by using data shift and addition. The coefficient C KX satisfies the relationship C (K, X) / C KX = S K for all X values for each K value and 2
Including exponentiation of. Here, S K represents a constant.

【0034】(3) 第3の発明 第3の発明に係る離散コサイン変換回路は、FK /SK
の値にSK を乗算する乗算手段をさらに備える。
(3) Third Invention The discrete cosine transform circuit according to the third invention is F K / S K.
It further comprises multiplication means for multiplying the value of S by S K.

【0035】(4) 第4の発明 第4の発明に係る離散コサイン変換回路は、XおよびK
に関する余弦関数C(K,X)と入力データfX との積
和により入力データfX からDCT係数FK を求める離
散コサイン変換回路であって、複数段の処理ブロックを
備える。ここで、Xは0からN−1までの整数を表わ
し、Kは0からN−1までの整数を表わす。
(4) Fourth Invention A discrete cosine transform circuit according to a fourth invention is X and K.
A discrete cosine transform circuit that obtains a DCT coefficient F K from the input data f X by the sum of products of the cosine function C (K, X) with respect to the input data f X, and includes a plurality of processing blocks. Here, X represents an integer from 0 to N-1, and K represents an integer from 0 to N-1.

【0036】複数段の処理ブロックは、入力データfX
を時系列に受け、係数CKXと入力データfX との積和を
パイプライン処理により求めることによりFK /SK
値を算出する。ここで、SK は定数を表わす。係数CKX
は、各Kの値についてすべてのXの値に対して、C
(K,X)/CKX=SK の関係を満足しかつ2のべき乗
を含む。
The input data f X
Is obtained in time series, and the value of F K / S K is calculated by calculating the product sum of the coefficient C KX and the input data f X by pipeline processing. Here, S K represents a constant. Coefficient C KX
For all K values for each K value, C
The relationship (K, X) / C KX = S K is satisfied and the power of 2 is included.

【0037】(5) 第5の発明 第5の発明に係る離散コサイン変換回路では、複数段の
処理ブロックの各々が、1または複数の加算手段と、前
段から時系列に与えられる複数のデータを順次シフトし
て保持する保持手段と、保持手段に保持された複数のデ
ータを選択的に1または複数の加算手段に与える選択手
段とを含む。
(5) Fifth Invention In the discrete cosine transform circuit according to the fifth invention, each of the processing blocks of a plurality of stages outputs one or a plurality of adding means and a plurality of data given in time series from the preceding stage. It includes a holding unit that sequentially shifts and holds the data, and a selection unit that selectively applies the plurality of data held by the holding unit to one or a plurality of addition units.

【0038】[0038]

【作用】第1〜第5の発明に係る離散コサイン変換方法
および離散コサイン変換回路は、次の点に着目してなさ
れたものである。すなわち、あるデータと2n との乗算
は、そのデータを左へnビットシフトすることにより行
なうことができ、また、あるデータと1/2n との乗算
は、そのデータを右へnビットシフトすることにより行
なうことができる。ここで、nは正の整数を表わす。ま
た、すべての整数は2のべき乗の項の加算または減算で
表わすことができる。
The discrete cosine transform method and the discrete cosine transform circuit according to the first to fifth aspects of the invention are made by paying attention to the following points. That is, multiplication of certain data by 2 n can be performed by shifting the data to the left by n bits, and multiplication of certain data by 1/2 n can shift the data by n bits to the right. It can be done by doing. Here, n represents a positive integer. Also, all integers can be represented by addition or subtraction of power-of-two terms.

【0039】そのため、余弦関数C(K,X)を係数C
KXで置き換えることにより、係数CKXと入力データfX
との乗算をデータのシフトおよび加算により行なうこと
ができる。しかも、各係数CKXができる限り2のべき乗
の形を含むので、加算の回数が少なくてよい。
Therefore, the cosine function C (K, X) is converted into the coefficient C.
By replacing with KX , coefficient C KX and input data f X
The multiplication with and can be performed by shifting and adding data. Moreover, since each coefficient C KX includes a power of 2 as much as possible, the number of additions may be small.

【0040】したがって、第1〜第5の発明に係る離散
コサイン変換方法および離散コサイン変換回路では、乗
算器を用いることなく、最小限の数の加算器を用いて高
速にDCT係数を求めることができる。
Therefore, in the discrete cosine transform method and the discrete cosine transform circuit according to the first to fifth inventions, the DCT coefficient can be obtained at high speed by using the minimum number of adders without using the multipliers. it can.

【0041】特に、第2および第3の発明に係る離散コ
サイン変換回路では、より高速にDCT係数を求めるこ
とができる。また、第4および第5の発明に係る離散コ
サイン変換回路では、加算手段の数が少なくなる。
Particularly, in the discrete cosine transform circuit according to the second and third aspects, the DCT coefficient can be obtained at a higher speed. Further, in the discrete cosine transform circuit according to the fourth and fifth aspects of the invention, the number of adding means is reduced.

【0042】[0042]

【実施例】以下、この発明の実施例を図面を参照しなが
ら詳細に説明する。図1はこの発明の一実施例によるD
CT方法に用いる変換式を示す図である。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 shows a D according to an embodiment of the present invention.
It is a figure which shows the conversion formula used for a CT method.

【0043】図1において、変換式(F1)〜(F8)
により画素データf0 〜f7 から変換データF0 ′〜F
7 ′が得られる。図1に示される変換式(F1)〜(F
8)が図22に示される変換式(E1)〜(E8)と異
なるのは、各項の係数が異なる点である。ただし、各変
換式(F1)〜(F8)における4つの係数の比は、各
変換式(E1)〜(E8)における4つの係数の比と同
じである。すなわち、次の関係が成り立つ。
In FIG. 1, conversion formulas (F1) to (F8)
To convert pixel data f 0 to f 7 to converted data F 0 ′ to F
7 'is obtained. The conversion formulas (F1) to (F shown in FIG.
8) is different from the conversion formulas (E1) to (E8) shown in FIG. 22 in that the coefficients of the respective terms are different. However, the ratio of the four coefficients in each conversion formula (F1) to (F8) is the same as the ratio of the four coefficients in each conversion formula (E1) to (E8). That is, the following relationship holds.

【0044】 2:2:2:2=C4:C4:C4:C4 2:−2:−2:2=C4:−C4:−C4:C4 3:159/27:−159/27:−3=C2:C6:−C6:−
C2 159/27:−3:3:−159/27=C6:−C2:C2:−
C6 (161/25)・(181/28):193/26:129/26:181/28=C1:
C3:C5:C7 181/27:−639/28: 127/28 :(181/28)・ (383/27)=
C5:−C1:C7:C3 (181/28)・(383/27):−127/28:−639/28:−181/27
C3:−C7:−C1:−C5 181/28:−129/26: 193/26 : (−181/28) ・ (161/
25)=C7:−C5:C3:−C1
2: 2: 2: 2 = C4: C4: C4: C4 2: -2: -2: 2 = C4: -C4: -C4: C4 3: 159/2 7 : -159/2 7 : -3 = C2: C6: -C6:-
C2 159/2 7 : -3: 3: -159/2 7 = C6: -C2: C2:-
C6 (161/2 5 ) ・ (181/2 8 ): 193/2 6 : 129/2 6 : 181/2 8 = C1:
C3: C5: C7 181/2 7: -639/2 8: 127/2 8: (181/2 8) · (383/2 7) =
C5: -C1: C7: C3 ( 181/2 8) · (383/2 7): - 127/2 8: -639/2 8: -181/2 7 =
C3: -C7: -C1: -C5 181/2 8: -129/2 6: 193/2 6: (-181/2 8) · (161 /
25 ) = C7: -C5: C3: -C1

【0045】したがって、DCT係数F0 〜F7 と変換
データF0 ′〜F7 ′との間には図2に式(G1)〜
(G8)で示される関係がある。ここで、S0 〜S7
定数を表わす。したがって、図1の変換式(F1)〜
(F8)により算出された変換データF0 ′〜F7 ′に
それぞれ定数S0 〜S7 を乗算することによりDCT係
数F0 〜F7 が得られる。
Therefore, between the DCT coefficients F 0 to F 7 and the converted data F 0 ′ to F 7 ′, equations (G1) to
There is a relationship represented by (G8). Here, S 0 to S 7 represent constants. Therefore, the conversion formula (F1) of FIG.
The DCT coefficients F 0 to F 7 are obtained by multiplying the converted data F 0 ′ to F 7 ′ calculated by (F8) by constants S 0 to S 7 , respectively.

【0046】変換式(F1)〜(F8)における各係数
はできる限り2のべき乗の形を含んでいる。あるデータ
と2n との乗算は、そのデータを左へnビットシフトす
ることにより行なうことができる。また、あるデータと
1/2n との乗算は、そのデータを右へnビットシフト
することにより行なうことができる。ここで、nは正の
整数を表わす。
Each coefficient in the conversion formulas (F1) to (F8) contains a power of 2 as much as possible. The multiplication of a certain data by 2 n can be performed by shifting the data to the left by n bits. Further, multiplication of a certain data by 1/2 n can be performed by shifting the data to the right by n bits. Here, n represents a positive integer.

【0047】また、すべての整数は2のべき乗の項の加
算または減算で表わすことができる。たとえば、3=2
1 +20 、129=27 +20 、159=27 +25
0である。また、161=5・25 +20 =(22
0 )・25 +20 、383=3・27 −20 =(22
−20 )・27 −20 である。
Further, all integers can be represented by addition or subtraction of power-of-two terms. For example, 3 = 2
1 +2 0 , 129 = 2 7 +2 0 , 159 = 2 7 +2 5
2 is 0. Also, 161 = 5 · 2 5 +2 0 = (2 2 +
2 0 ) · 2 5 +2 0 , 383 = 3 · 2 7 −2 0 = (2 2
-2 0) 2 7 -2 0.

【0048】したがって、図1の各変換式(F1)〜
(F8)における係数とデータとの乗算はデータのシフ
トおよび加算により行なうことができる。この実施例で
は、各係数ができる限り2のべき乗の形を含むので、加
算の回数が少なくてよい。
Therefore, each conversion formula (F1)-
The multiplication of the coefficient and the data in (F8) can be performed by shifting and adding the data. In this embodiment, since each coefficient includes a power of 2 as much as possible, the number of additions may be small.

【0049】図1に示される変換式(F1)〜(F8)
は、図3のフローグラフ(バタフライチャート)で表さ
れる。図3においても、図25と同様に、丸印は加算を
表わし、各線に付された係数はその係数の乗算を表わ
す。また、α=3,β=159,γ=181,δ=38
3,ε=161である。
Conversion formulas (F1) to (F8) shown in FIG.
Is represented by the flow graph (butterfly chart) of FIG. Also in FIG. 3, as in FIG. 25, the circles represent addition, and the coefficient attached to each line represents multiplication of that coefficient. Also, α = 3, β = 159, γ = 181, δ = 38
3, ε = 161.

【0050】図3において、g0 =f0 +f7 ,g1
1 +f6 ,g2 =f2 +f5 ,g3 =f3 +f4 ,g
4 =f3 −f4 ,g5 =f2 −f5 ,g6 =f1
6 ,g7 =f0 −f7 である。また、h0 =g0 +g
3 ,h1 =g1 +g2 ,h2 =g1 −g2 ,h3 =g0
−g3 である。h4 =(γ/28 )・g4 ,h5 =(−
1/2)・g5 +(1/2)・g6 ,h6 =(1/2)
・g5 +(1/2)・g6,h7 =(γ/28 )・g7
である。
In FIG. 3, g 0 = f 0 + f 7 , g 1 =
f 1 + f 6 , g 2 = f 2 + f 5 , g 3 = f 3 + f 4 , g
4 = f 3 -f 4, g 5 = f 2 -f 5, g 6 = f 1 -
f 6, is a g 7 = f 0 -f 7. Also, h 0 = g 0 + g
3 , h 1 = g 1 + g 2 , h 2 = g 1 −g 2 , h 3 = g 0
-G 3. h 4 = (γ / 2 8 ) · g 4 , h 5 = (-
1/2) · g 5 + (1/2) · g 6 , h 6 = (1/2)
・ G 5 + (1/2) ・ g 6 , h 7 = (γ / 2 8 ) ・ g 7
Is.

【0051】さらに、F0 ′=2・h0 +2・h1 ,F
4 ′=2・h0 −2・h1 ,F2 ′=(β/27 )・h
2 +α・h3 ,F6 ′=−α・h2 +(β/27 )・h
3 である。i4 =h4 +h5 ,i5 =h4 −h5 ,i6
=−h6 +h7 ,i7 =h6+h7 である。最後に、F
1 ′=i4 +(ε/25 )・i7 ,F5 ′=(δ/
7 )・i5 +2・i6 ,F3 ′=−2・i5 +(δ/
7 )・i6 ,F7 ′=−(ε/25 )・i4 +i7
ある。
Further, F 0 ′ = 2 · h 0 + 2 · h 1 , F
4 ′ = 2 · h 0 −2 · h 1 , F 2 ′ = (β / 2 7 ) · h
2 + α · h 3 , F 6 ′ = −α · h 2 + (β / 2 7 ) · h
Is 3 . i 4 = h 4 + h 5 , i 5 = h 4 -h 5, i 6
= -H 6 + h 7, i 7 = a h 6 + h 7. Finally, F
1 ′ = i 4 + (ε / 2 5 ) · i 7 , F 5 ′ = (δ /
2 7 ) · i 5 + 2 · i 6 , F 3 ′ = −2 · i 5 + (δ /
2 7 ) · i 6 and F 7 ′ = − (ε / 2 5 ) · i 4 + i 7 .

【0052】図3から明らかなように、画素データf0
〜f7 を同時に入力すると、データg0 〜g7 が同時に
得られ、次にデータh0 〜h7 が同時に得られる。さら
に、変換データF0 ′,F4 ′,F2 ′,F6 ′および
データi4 〜i7 が同時に得られ、最後に変換データF
1 ′,F5 ′,F3 ′,F7 ′が同時に得られる。この
ように、画素データf0 〜f7 を同時に入力することに
より、変換データF0′〜F7 ′がほぼ同時に得られ
る。
As is clear from FIG. 3, the pixel data f 0
When ~ f 7 are input at the same time, data g 0 to g 7 are obtained at the same time, and then data h 0 to h 7 are obtained at the same time. Further, converted data F 0 ′, F 4 ′, F 2 ′, F 6 ′ and data i 4 to i 7 are obtained at the same time, and finally converted data F
1 ', F 5', F 3 ', F 7' is obtained at the same time. Thus, by inputting the pixel data f 0 to f 7 at the same time, the conversion data F 0 ′ to F 7 ′ can be obtained almost at the same time.

【0053】図4は、この実施例によるDCT方法およ
びDCT回路を用いた画像データ圧縮システムにおける
乗算回数を従来のDCT方法を用いた画像データ圧縮シ
ステムにおける乗算回数と比較して示す図である。
FIG. 4 is a diagram showing the number of multiplications in the image data compression system using the DCT method and the DCT circuit according to this embodiment in comparison with the number of multiplications in the image data compression system using the conventional DCT method.

【0054】図4の(a)に示すように、従来のシステ
ムでは、2次元DCTを実行するために256回の乗算
が必要であり、量子化を実行するために64回の乗算が
必要となる。
As shown in FIG. 4A, in the conventional system, 256 multiplications are required to perform the two-dimensional DCT, and 64 multiplications are required to perform the quantization. Become.

【0055】これに対して、図4の(b)に示すよう
に、この実施例によるシステムでは、2次元DCTを実
行するために乗算は必要でなく、量子化を実行するため
に64回の乗算が必要である。図2の式(G1)〜(G
8)における乗算は2次元DCTにおいて行なう必要は
なく、量子化テーブルにおいて定数S0 〜S7 を考慮す
ることにより量子化処理に含めることができる。
On the other hand, as shown in FIG. 4B, in the system according to this embodiment, no multiplication is required to perform the two-dimensional DCT, and 64 times are required to perform the quantization. Multiplication is required. Equations (G1) to (G
The multiplication in 8) does not need to be performed in the two-dimensional DCT, and can be included in the quantization process by considering the constants S 0 to S 7 in the quantization table.

【0056】次に、この発明の実施例によるDCT回路
を説明する。図3のフローグラフに示すように、画素デ
ータf0 〜f7 から変換データF0 ′〜F7 ′を求める
ための演算を6個のブロックBK1,BK2−1,BK
2−2,BK3−1,BK3−2,BK4に分割する。
Next, a DCT circuit according to an embodiment of the present invention will be described. As shown in the flow graph of FIG. 3, six blocks BK1, BK2-1, BK are used to calculate the conversion data F 0 ′ to F 7 ′ from the pixel data f 0 to f 7.
2-2, BK3-1, BK3-2, BK4.

【0057】ブロックBK1では、画素データf0 〜f
7 からデータg0 〜g3 が算出される。ブロックBK2
−1では、データg0 〜g3 からデータh0 〜h3 が算
出され、ブロックBK2−2では、データg4 〜g7
らデータh4 〜h7 が算出される。ブロックBK3−1
では、データh0 〜h3 から変換データF0 ′,
4′,F2 ′,F6 ′が算出される。ブロックBK3
−2では、データh4 〜h7からデータi4 〜i7 が算
出される。ブロックBK4では、データi4 〜i7 から
変換データF1 ′,F5 ′,F3 ′,F7 ′が算出され
る。
In the block BK1, pixel data f 0 to f
Data g 0 to g 3 are calculated from 7 . Block BK2
In -1, data h 0 to h 3 are calculated from the data g 0 to g 3 , and in block BK2-2, data h 4 to h 7 are calculated from the data g 4 to g 7 . Block BK3-1
Then, from the data h 0 to h 3 , the converted data F 0 ′,
F 4 ′, F 2 ′ and F 6 ′ are calculated. Block BK3
In -2, data i 4 through i 7 from the data h 4 to h 7 is calculated. In the block BK4, converted data F 1 ′, F 5 ′, F 3 ′, F 7 ′ are calculated from the data i 4 to i 7 .

【0058】図5はブロックBK1の演算を実行するた
めの回路を示す図であり、図6は図5の回路の動作を説
明するためのタイミングチャートである。
FIG. 5 is a diagram showing a circuit for executing the operation of the block BK1, and FIG. 6 is a timing chart for explaining the operation of the circuit of FIG.

【0059】ブロックBK1は、直列に接続されたレジ
スタReg00〜Reg08、バッファB00〜B0
4、インバータI04および加算器ADD00を含む。
The block BK1 includes registers Reg00 to Reg08 and buffers B00 to B0 connected in series.
4, including an inverter I04 and an adder ADD00.

【0060】バッファB00〜B03の出力イネーブル
端子には選択信号SEL00〜SEL03がそれぞれ与
えられる。インバータI04の出力イネーブル端子には
選択信号SEL04が与えられ、バッファB04の出力
イネーブル端子には選択信号/SEL04が与えられ
る。選択信号/SEL04は選択信号SEL04の反転
信号である。加算器ADD00のキャリー入力端子には
選択信号SEL04と同位相の加減算信号A/S00が
与えられる。
Select signals SEL00 to SEL03 are applied to the output enable terminals of the buffers B00 to B03, respectively. The output enable terminal of the inverter I04 is provided with the selection signal SEL04, and the output enable terminal of the buffer B04 is provided with the selection signal / SEL04. The selection signal / SEL04 is an inverted signal of the selection signal SEL04. An adder / subtractor signal A / S00 having the same phase as the selection signal SEL04 is applied to the carry input terminal of the adder ADD00.

【0061】各バッファおよび各インバータは、出力イ
ネーブル端子に与えられる選択信号が“H”のときに活
性化される。また、加算器のキャリー入力端子には、加
算時に“L”の信号が与えられ、減算時に“H”の信号
が与えられる。
Each buffer and each inverter are activated when the selection signal applied to the output enable terminal is "H". Further, the carry input terminal of the adder is given a signal of "L" at the time of addition and a signal of "H" at the time of subtraction.

【0062】入力端子fX に画素データf0 〜f7 が順
次与えられ、レジスタReg00〜Reg08に順次シ
フトされる。
Pixel data f 0 to f 7 are sequentially applied to the input terminal f X and sequentially shifted to the registers Reg00 to Reg08.

【0063】図6に示すように、サイクルt0〜t3に
おいては、選択信号SEL04が“H”となる。それに
より、レジスタReg00に順次与えられるデータf4
〜f7 がインバータI04を介して加算器ADD00の
一方の入力端子に順次与えられる。また、選択信号SE
L00〜SEL03が順次“H”に立ち上がる。それに
より、レジスタReg01,Reg03,Reg05,
Reg07のデータf3 ,f2 ,f1 ,f0 がそれぞれ
バッファB00,B01,B02,B03を介して加算
器ADD00の他方の入力端子に順次与えられる。その
結果、加算器ADD00から出力端子gX にデータg4
(=f3 −f4 ),g5 (=f2 −f5),g6 (=f
1 −f6 ),g7 (=f0 −f7 )が順次出力される。
As shown in FIG. 6, in the cycles t0 to t3, the selection signal SEL04 becomes "H". As a result, the data f 4 sequentially given to the register Reg00
.About.f 7 are sequentially applied to one input terminal of the adder ADD00 through the inverter I04. In addition, the selection signal SE
L00 to SEL03 sequentially rise to "H". Accordingly, the registers Reg01, Reg03, Reg05,
Data f 3 of Reg07, f 2, f 1, f 0 respectively buffers B00, B01, B02, it is sequentially applied to the other input terminal of the adder ADD00 through B03. As a result, the data g 4 is output from the adder ADD00 to the output terminal g X.
(= F 3 −f 4 ), g 5 (= f 2 −f 5 ), g 6 (= f
1 -f 6), g 7 ( = f 0 -f 7) are sequentially output.

【0064】サイクルt4〜t7においては、選択信号
SEL04が“L”となる。それにより、レジスタRe
g08に順次与えられるデータf0 〜f3 がバッファB
04を介して加算器ADD00の一方の入力端子に順次
与えられる。また、選択信号SEL00〜SEL03が
順次“H”に立ち上がる。それにより、レジスタReg
01,Reg03,Reg05,Reg07のデータf
7 ,f6 ,f5 ,f4がそれぞれバッファB00,B0
1,B02,B03を介して加算器ADD00の他方の
入力端子に順次与えられる。その結果、加算器ADD0
0から出力端子gX にデータg0 (=f0 +f7 ),g
1 (=f1 +f6 ),g2 (=f2 +f5 ),g3 (=
3 +f4 )が順次出力される。
In the cycles t4 to t7, the selection signal SEL04 becomes "L". As a result, the register Re
Data f 0 to f 3 sequentially given to g08 are stored in the buffer B.
It is sequentially applied to one input terminal of the adder ADD00 via 04. Further, the selection signals SEL00 to SEL03 sequentially rise to "H". As a result, the register Reg
Data f of 01, Reg03, Reg05, Reg07
7 , f 6 , f 5 , and f 4 are buffers B00 and B0, respectively
1, B02, B03 are sequentially applied to the other input terminal of the adder ADD00. As a result, the adder ADD0
From 0 to the output terminal g X , data g 0 (= f 0 + f 7 ), g
1 (= f 1 + f 6 ), g 2 (= f 2 + f 5 ), g 3 (=
f 3 + f 4 ) are sequentially output.

【0065】図7はブロックBK2−1の演算を実行す
るための回路を示す図であり、図8は図7の回路の動作
を説明するためのタイミングチャートである。
FIG. 7 is a diagram showing a circuit for executing the operation of the block BK2-1, and FIG. 8 is a timing chart for explaining the operation of the circuit of FIG.

【0066】ブロックBK2−1は、直列に接続された
レジスタReg10〜Reg14、バッファB10〜B
12、インバータI12および加算器ADD10を含
む。
The block BK2-1 includes registers Reg10 to Reg14 and buffers B10 to B connected in series.
12, an inverter I12 and an adder ADD10.

【0067】バッファB10,B11の出力イネーブル
端子にはそれぞれ選択信号/SEL10,SEL10が
与えられ、インバータI12およびバッファB12の出
力イネーブル端子にはそれぞれ選択信号SEL12,/
SEL12が与えられる。加算器ADD10のキャリー
入力端子には選択信号SEL12と同位相の加減算信号
A/S10が与えられる。
Select signals / SEL10 and SEL10 are applied to the output enable terminals of the buffers B10 and B11, respectively. Select signals SEL12 and / SEL are applied to the output enable terminals of the inverter I12 and the buffer B12, respectively.
SEL12 is provided. An adder / subtractor signal A / S10 having the same phase as the selection signal SEL12 is applied to the carry input terminal of the adder ADD10.

【0068】レジスタReg10はブロックBK1の出
力端子gX に接続される。それにより、レジスタReg
10〜Reg14には出力端子gX から与えられるデー
タg4 〜g7 ,g0 〜g3 が順次シフトされる。
The register Reg10 is connected to the output terminal g X of the block BK1. As a result, the register Reg
Data g supplied from the output terminal g X in 10~Reg14 4 ~g 7, g 0 ~g 3 are sequentially shifted.

【0069】図8に示すように、サイクルt10におい
ては、選択信号SEL10が“L”となり、選択信号S
EL12が“H”となる。それにより、レジスタReg
10のデータg2 がインバータI12を介して加算器A
DD10の一方の入力端子に与えられる。また、レジス
タReg11のデータg1 がバッファB10を介して加
算器ADD10の他方の入力端子に与えられる。その結
果、加算器ADD10から出力端子hX にデータh
2 (=g1 −g2 )が出力される。
As shown in FIG. 8, in the cycle t10, the selection signal SEL10 becomes "L" and the selection signal S
EL12 becomes "H". As a result, the register Reg
The data g 2 of 10 is added to the adder A via the inverter I12.
It is applied to one input terminal of DD10. Further, the data g 1 of the register Reg11 is given to the other input terminal of the adder ADD10 via the buffer B10. As a result, the data h is output from the adder ADD10 to the output terminal h X.
2 (= g 1 −g 2 ) is output.

【0070】サイクルt11においては、選択信号SE
L10が“H”となり、選択信号SEL12も“H”と
なる。それにより、レジスタReg10のデータg3
インバータI12を介して加算器ADD10の一方の入
力端子に与えられる。また、レジスタReg13のデー
タg0 がバッファB11を介して加算器ADD10の他
方の入力端子に与えられる。その結果、加算器ADD1
0から出力端子hX にデータh3 (=g0 −g3 )が出
力される。
In cycle t11, the selection signal SE
L10 becomes "H", and the selection signal SEL12 also becomes "H". Thereby, the data g 3 of the register Reg10 is given to one input terminal of the adder ADD10 via the inverter I12. The data g 0 of the register Reg13 is given to the other input terminal of the adder ADD10 via the buffer B11. As a result, the adder ADD1
The data h 3 (= g 0 −g 3 ) is output from 0 to the output terminal h X.

【0071】サイクルt12においては、選択信号SE
L10が“L”となり、選択信号SEL12も“L”と
なる。それにより、レジスタReg11のデータg3
バッファB10を介して加算器ADD10の一方の入力
端子に与えられる。また、レジスタReg14のデータ
0 がバッファB12を介して加算器ADD10の他方
の入力端子に与えられる。その結果、加算器ADD10
から出力端子hX にデータh0 (=g0 +g3 )が出力
される。
In cycle t12, the selection signal SE
L10 becomes "L" and the selection signal SEL12 also becomes "L". As a result, the data g 3 of the register Reg11 is given to one input terminal of the adder ADD10 via the buffer B10. The data g 0 of the register Reg14 is given to the other input terminal of the adder ADD10 via the buffer B12. As a result, the adder ADD10
The data h 0 (= g 0 + g 3 ) is output from the output terminal h X.

【0072】サイクルt13においては、選択信号SE
L10が“H”となり、選択信号SEL12が“L”と
なる。それにより、レジスタReg13のデータg2
バッファB11を介して加算器ADD10の一方の入力
端子に与えられる。また、レジスタReg14のデータ
1 がバッファB12を介して加算器ADD10の他方
の入力端子に与えられる。その結果、加算器ADD10
から出力端子hX にデータh1 (=g1 +g2 )が出力
される。
In cycle t13, the selection signal SE
L10 becomes "H" and the selection signal SEL12 becomes "L". As a result, the data g 2 of the register Reg13 is given to one input terminal of the adder ADD10 via the buffer B11. Further, the data g 1 of the register Reg14 is given to the other input terminal of the adder ADD10 via the buffer B12. As a result, the adder ADD10
The data h 1 (= g 1 + g 2 ) is output from the output terminal h X.

【0073】図9はブロックBK2−2の演算を実行す
るための回路を示す図であり、図10は図9の回路の動
作を説明するためのタイミングチャートである。
FIG. 9 is a diagram showing a circuit for executing the operation of the block BK2-2, and FIG. 10 is a timing chart for explaining the operation of the circuit of FIG.

【0074】ブロックBK2−2は、直列に接続された
レジスタReg30〜Reg33、レジスタReg34
〜Reg36、バッファB30〜B34、インバータI
30、および加算器ADD30〜ADD33を含む。加
算器ADD31〜ADD33およびレジスタReg34
〜Reg36が演算ブロックBL30を構成する。
The block BK2-2 has registers Reg30 to Reg33 and a register Reg34 connected in series.
-Reg36, buffers B30-B34, inverter I
30 and adders ADD30 to ADD33. Adders ADD31 to ADD33 and register Reg34
-Reg36 comprises the arithmetic block BL30.

【0075】バッファB30およびインバータI30の
出力イネーブル端子には選択信号SEL30が与えら
れ、バッファB31,B32の出力イネーブル端子には
選択信号/SEL30が与えられる。バッファB33,
B34の出力イネーブル端子にはそれぞれ選択信号SE
L31,/SEL31が与えられる。加算器ADD30
のキャリー入力端子には選択信号SEL30と同位相の
加減算信号A/S30が与えられる。加算器ADD3
1,ADD32,ADD33のキャリー入力端子には
“L”の信号が与えられる。
The select signal SEL30 is applied to the output enable terminals of the buffer B30 and the inverter I30, and the select signal / SEL30 is applied to the output enable terminals of the buffers B31 and B32. Buffer B33,
The selection enable signal SE is applied to the output enable terminals of B34.
L31 and / SEL31 are provided. Adder ADD30
An addition / subtraction signal A / S30 having the same phase as the selection signal SEL30 is applied to the carry input terminal of the. Adder ADD3
Signals of "L" are given to the carry input terminals of 1, ADD32, and ADD33.

【0076】図9において、2LS,4LS,5LSは
データを左へそれぞれ2ビット、4ビットおよび5ビッ
トシフトして与えることを示している。また、1RS,
8RSはデータをそれぞれ右へ1ビットおよび8ビット
シフトして与えることを示している。加算器ADD31
はγ′(=5)の乗算を行ない、加算器ADD31,A
DD32はγ″(=21)の乗算を行ない、演算ブロッ
クBL30はγ(=181)の乗算を行なう。
In FIG. 9, 2LS, 4LS, and 5LS indicate that data is shifted to the left by 2 bits, 4 bits, and 5 bits, respectively. Also, 1RS,
8RS indicates that the data is given by shifting to the right by 1 bit and 8 bits, respectively. Adder ADD31
Performs multiplication of γ '(= 5), and adders ADD31, A
The DD 32 performs multiplication by γ ″ (= 21), and the operation block BL30 performs multiplication by γ (= 181).

【0077】レジスタReg30はブロックBK1の出
力端子gX に接続される。それにより、レジスタReg
30〜Reg33には出力端子gX から与えられるデー
タg4 〜g7 ,g0 〜g3 が順次シフトされる。
The register Reg30 is connected to the output terminal g X of the block BK1. As a result, the register Reg
Data g supplied from the output terminal g X in 30~Reg33 4 ~g 7, g 0 ~g 3 are sequentially shifted.

【0078】図10に示すように、サイクルt30にお
いては、レジスタReg35から加算器ADD33の一
方の入力端子にデータγ′g4 ×25 が与えられ、レジ
スタReg36から加算器ADD33の他方の入力端子
にデータγ″g4 が与えられる。それにより、加算器A
DD33から出力端子h2X にデータh4 (=γ/
8 )が出力される。このとき、選択信号SEL31が
“L”となっている。したがって、出力端子h2X のデ
ータh4 がバッファB34を介して出力端子hX に出力
される。
As shown in FIG. 10, in cycle t30, the data γ'g 4 × 25 is supplied from the register Reg35 to one input terminal of the adder ADD33, and the other input terminal of the adder ADD33 is supplied from the register Reg36. Is supplied with the data γ ″ g 4. Therefore, the adder A
Data h 4 (= γ / from DD33 to output terminal h2 X
2 8 ) is output. At this time, the selection signal SEL31 is "L". Therefore, the data h 4 of the output terminal h2 X is output to the output terminal h X via the buffer B34.

【0079】サイクルt31においては、選択信号SE
L30が“H”となる。それにより、レジスタReg3
1のデータg6 がバッファB30を介して加算器ADD
30の一方の入力端子に与えられる。また、レジスタR
eg32のデータg5 がインバータI30を介して加算
器ADD30の他方の入力端子に与えられる。その結
果、加算器ADD30から出力端子h1X にデータh5
(=(g6 −g5 )/2)が出力される。このとき、選
択信号SEL31が“H”となっている。したがって、
出力端子h1X のデータh5 がバッファB33を介して
出力端子hX に出力される。
In cycle t31, the selection signal SE
L30 becomes "H". Thereby, the register Reg3
The data g 6 of 1 is added to the adder ADD via the buffer B30.
30 is applied to one input terminal. Also, register R
The data g 5 of the eg32 is supplied to the other input terminal of the adder ADD30 via the inverter I30. As a result, the data h 5 is output from the adder ADD30 to the output terminal h1 X.
(= (G 6 −g 5 ) / 2) is output. At this time, the selection signal SEL31 is "H". Therefore,
The data h 5 of the output terminal h1 X is output to the output terminal h X via the buffer B33.

【0080】サイクルt32においては、選択信号SE
L30が“L”となる。それにより、レジスタReg3
2のデータg6 がバッファB31を介して加算器ADD
30の一方の入力端子に与えられる。また、レジスタR
eg33のデータg5 がバッファB32を介して加算器
ADD30の他方の入力端子に与えられる。その結果、
加算器ADD30から出力端子h1X にデータh6 (=
(g5 +g6 )/2)が出力される。このとき、選択信
号SEL31が“H”となっている。したがって、出力
端子h1X のデータh6 がバッファB33を介して出力
端子hX に出力される。
In cycle t32, the selection signal SE
L30 becomes "L". Thereby, the register Reg3
The data g 6 of 2 is added via the buffer B31 to the adder ADD
30 is applied to one input terminal. Also, register R
The data g 5 of eg33 is supplied to the other input terminal of the adder ADD30 via the buffer B32. as a result,
Data h 6 (= from the adder ADD30 to the output terminal h1 X
(G 5 + g 6 ) / 2) is output. At this time, the selection signal SEL31 is "H". Therefore, the data h 6 of the output terminal h1 X is output to the output terminal h X via the buffer B33.

【0081】サイクルt33においては、レジスタRe
g35から加算器ADD33の一方の入力端子にデータ
γ′g7 ×25 が与えられ、レジスタReg36から加
算器ADD33の他方の入力端子にデータγ″g7 が与
えられる。それにより、加算器ADD33から出力端子
h2X にデータh7 (=γ/28 )が出力される。この
とき、選択信号SEL31が“L”となっている。した
がって、出力端子h2X のデータh7 がバッファB34
を介して出力端子hX に出力される。
In cycle t33, the register Re
The data γ′g 7 × 25 is supplied from g35 to one input terminal of the adder ADD33, and the data γ ″ g 7 is supplied from the register Reg36 to the other input terminal of the adder ADD33. The data h 7 (= γ / 2 8 ) is output from the output terminal h2 X. At this time, the selection signal SEL31 is “L.” Therefore, the data h 7 at the output terminal h2 X is the buffer B34.
Is output to the output terminal h X via.

【0082】図11はブロックBK3−1の演算を実行
するための回路を示す図であり、図12は図11の回路
の動作を説明するためのタイミングチャートである。
FIG. 11 is a diagram showing a circuit for executing the operation of the block BK3-1, and FIG. 12 is a timing chart for explaining the operation of the circuit of FIG.

【0083】ブロックBK3−1は、直列に接続された
レジスタReg20〜Reg22、直列に接続されたレ
ジスタReg23〜Reg25、レジスタReg26,
Reg27、バッファB20,B21、インバータI2
0〜I22、および加算器ADD20〜ADD24を含
む。加算器ADD21が演算ブロックBL20を構成す
る。また、加算器ADD22,ADD23およびレジス
タReg26が演算ブロックBL21を構成する。
The block BK3-1 includes registers Reg20 to Reg22 connected in series, registers Reg23 to Reg25 connected in series, and register Reg26,
Reg27, buffers B20 and B21, inverter I2
0 to I22, and adders ADD20 to ADD24. The adder ADD21 constitutes the operation block BL20. In addition, the adders ADD22 and ADD23 and the register Reg26 form a calculation block BL21.

【0084】インバータI20およびバッファB20の
出力イネーブル端子にはそれぞれ選択信号SEL20,
/SEL20が与えられ、バッファB21およびインバ
ータI21の出力イネーブル端子にはそれぞれ選択信号
SEL21,/SEL21が与えられる。加算器ADD
20のキャリー入力端子には選択信号SEL20と同位
相の加減算信号A/S20が与えられ、加算器ADD2
4のキャリー入力端子には選択信号SEL21と同位相
の加減算信号A/S21が与えられる。加算器ADD2
1,ADD23のキャリー入力端子には“L”の信号が
与えられる。加算器ADD22のキャリー入力端子には
“H”の信号が与えられる。
The output enable terminals of the inverter I20 and the buffer B20 have selection signals SEL20,
/ SEL20 is applied, and select signals SEL21 and / SEL21 are applied to the output enable terminals of the buffer B21 and the inverter I21, respectively. Adder ADD
An adder / subtractor signal A / S20 having the same phase as the selection signal SEL20 is applied to the carry input terminal of the adder 20 to adder ADD2.
The addition / subtraction signal A / S21 having the same phase as the selection signal SEL21 is applied to the carry input terminal of No. 4. Adder ADD2
1, a carry input terminal of the ADD 23 is supplied with an "L" signal. An "H" signal is applied to the carry input terminal of the adder ADD22.

【0085】図11において、1LS,5LS,7LS
はデータをそれぞれ左へ1ビット、5ビットおよび7ビ
ットシフトして与えることを示している。演算ブロック
BL20はα(=3)の乗算を行ない、加算器ADD2
2はβ′(=31)の乗算を行ない、演算ブロックBL
21はβ(=159)の乗算を行なう。
In FIG. 11, 1LS, 5LS, 7LS
Indicates that the data is shifted to the left by 1 bit, 5 bits, and 7 bits, respectively. The operation block BL20 performs multiplication of α (= 3), and the adder ADD2
2 performs multiplication of β '(= 31), and the calculation block BL
21 performs multiplication of β (= 159).

【0086】レジスタReg20はブロックBK2−1
の出力端子hX に接続される。それにより、レジスタR
eg20〜Reg22には出力端子hX から与えられる
データh0 〜h3 が順次シフトされる。
The register Reg20 is a block BK2-1.
Is connected to the output terminal h X of. As a result, the register R
The data h 0 to h 3 given from the output terminal h X are sequentially shifted to eg20 to Reg22.

【0087】図12に示すように、サイクルt20にお
いては、選択信号SEL21が“H”となる。それによ
り、レジスタReg23のデータαh3 がバッファB2
1を介して加算器ADD24の一方の入力端子に与えら
れる。また、レジスタReg27から加算器ADD24
の他方の入力端子にデータβh2 /27 が与えられる。
その結果、加算器ADD24から出力端子F1X に変換
データF2 ′(=β/27 ・h2 +αh3 )が出力され
る。
As shown in FIG. 12, in the cycle t20, the selection signal SEL21 becomes "H". As a result, the data αh 3 of the register Reg23 is transferred to the buffer B2
1 to one input terminal of the adder ADD24. In addition, the register Reg27 to the adder ADD24
The other input data βh 2/2 7 to the terminal of the given.
As a result, the conversion data F 2 ′ (= β / 2 7 · h 2 + αh 3 ) is output from the adder ADD24 to the output terminal F1 X.

【0088】サイクルt21においては、選択信号SE
L20が“H”となる。それにより、レジスタReg2
0のデータh1 がインバータI20を介して加算器AD
D20の一方の入力端子に与えられる。また、レジスタ
Reg21のデータh0 が加算器ADD20の他方の入
力端子に与えられる。その結果、加算器ADD20から
出力端子F0X に変換データF4 ′(=2h0 −2
1 )が出力される。
In cycle t21, the selection signal SE
L20 becomes "H". Thereby, the register Reg2
The data h 1 of 0 is added via the inverter I20 to the adder AD
It is applied to one input terminal of D20. Further, the data h 0 of the register Reg21 is given to the other input terminal of the adder ADD20. As a result, the converted data F 4 ′ (= 2h 0 −2) is output from the adder ADD20 to the output terminal F0 X.
h 1 ) is output.

【0089】このとき、選択信号SEL21は“L”
(選択信号/SEL21は“H”)となっている。それ
により、レジスタReg25のデータαh2 がインバー
タI21を介して加算器ADD24の一方の入力端子に
与えられる。また、レジスタReg27から加算器AD
D24の他方の入力端子にデータβh3 /27 が与えら
れる。その結果、加算器ADD24から出力端子F1X
に変換データF6 ′(=−αh2 +β/27 ・h3 )が
出力される。
At this time, the selection signal SEL21 is "L".
(Selection signal / SEL21 is "H"). As a result, the data αh 2 of the register Reg25 is given to one input terminal of the adder ADD24 via the inverter I21. Also, from the register Reg27 to the adder AD
The other input terminal of the D24 data βh 3/2 7 is applied to. As a result, the output terminal F1 X is output from the adder ADD24.
The converted data F 6 ′ (= −αh 2 + β / 2 7 · h 3 ) is output to.

【0090】サイクルt22においては、選択信号SE
L20が“L”となる。それにより、レジスタReg2
2のデータh0 がバッファB20を介して加算器ADD
20の一方の入力端子に与えられる。また、レジスタR
eg21のデータh1 が加算器ADD20の他方の入力
端子に与えられる。その結果、加算器ADD20から出
力端子F0X に変換データF0 ′(=2h0 +2h1
が出力される。
In cycle t22, the selection signal SE
L20 becomes "L". Thereby, the register Reg2
2 data h 0 is added to the adder ADD via the buffer B20.
20 is applied to one of the input terminals. Also, register R
The data h 1 of eg21 is given to the other input terminal of the adder ADD20. As a result, the conversion data F 0 ′ (= 2h 0 + 2h 1 ) is output from the adder ADD20 to the output terminal F0 X.
Is output.

【0091】図13はブロックBK3−2の演算を実行
するための回路を示す図であり、図14は図13の回路
の動作を説明するためのタイミングチャートである。
FIG. 13 is a diagram showing a circuit for executing the operation of the block BK3-2, and FIG. 14 is a timing chart for explaining the operation of the circuit of FIG.

【0092】ブロックBK3−2は、直列に接続された
レジスタReg40〜Reg42、バッファB40〜B
42、インバータI40および加算器ADD40を含
む。
The block BK3-2 has registers Reg40 to Reg42 and buffers B40 to B connected in series.
42, an inverter I40 and an adder ADD40.

【0093】バッファB40,B42の出力イネーブル
端子にはそれぞれ選択信号SEL40,/SEL40が
与えられる。バッファB41およびインバータI40の
出力イネーブル端子にはそれぞれ選択信号SEL41,
/SEL41が与えられる。加算器ADD40のキャリ
ー入力端子には選択信号/SEL41と同位相の加減算
信号A/S40が与えられる。
Select signals SEL40 and / SEL40 are applied to the output enable terminals of the buffers B40 and B42, respectively. The output enable terminals of the buffer B41 and the inverter I40 have selection signals SEL41,
/ SEL41 is provided. An adder / subtractor signal A / S40 having the same phase as the select signal / SEL41 is applied to the carry input terminal of the adder ADD40.

【0094】レジスタReg40はブロックBK2−2
の出力端子hX に接続される。それにより、レジスタR
eg40〜Reg42には出力端子hX から与えられる
データh4 〜h7 が順次シフトされる。
The register Reg40 is a block BK2-2.
Is connected to the output terminal h X of. As a result, the register R
The data h 4 to h 7 given from the output terminal h X are sequentially shifted to the eggs 40 to Reg 42.

【0095】図14に示すように、サイクルt40にお
いては、選択信号SEL40および選択信号SEL41
が“H”となる。それにより、レジスタReg40のデ
ータh5 がバッファB40を介して加算器ADD40の
一方の入力端子に与えられる。また、レジスタReg4
1のデータh4 がバッファB41を介して加算器ADD
40の他方の入力端子に与えられる。その結果、加算器
ADD40から出力端子iX にデータi4 (=h4 +h
5 )が出力される。
As shown in FIG. 14, in cycle t40, select signal SEL40 and select signal SEL41.
Becomes "H". As a result, the data h 5 of the register Reg40 is given to one input terminal of the adder ADD40 via the buffer B40. In addition, the register Reg4
The data h 4 of 1 is added to the adder ADD via the buffer B41.
40 to the other input terminal. As a result, the data i 4 (= h 4 + h) is output from the adder ADD40 to the output terminal i X.
5 ) is output.

【0096】サイクルt41においては、選択信号SE
L40および選択信号SEL41が“L”となる。それ
により、レジスタReg41のデータh5 がインバータ
I40を介して加算器ADD40の一方の入力端子に与
えられる。また、レジスタReg42のデータh4 がバ
ッファB42を介して加算器ADD40の他方の入力端
子に与えられる。その結果、加算器ADD40から出力
端子iX にデータi5(=h4 −h5 )が出力される。
In cycle t41, the selection signal SE
L40 and the selection signal SEL41 become "L". As a result, the data h 5 of the register Reg41 is given to one input terminal of the adder ADD40 via the inverter I40. Further, the data h 4 of the register Reg42 is given to the other input terminal of the adder ADD40 via the buffer B42. As a result, the data i 5 (= h 4 −h 5 ) is output from the adder ADD40 to the output terminal i X.

【0097】サイクルt42においては、選択信号SE
L40が“H”となり、選択信号SEL41が“L”と
なる。それにより、レジスタReg40のデータh7
バッファB40を介して加算器ADD40の一方の入力
端子に与えられる。また、レジスタReg41のデータ
6 がインバータI40を介して加算器ADD40の他
方の入力端子に与えられる。その結果、加算器ADD4
0から出力端子iX にデータi6 (=h7 −h6 )が出
力される。
In cycle t42, the selection signal SE
L40 becomes "H" and the selection signal SEL41 becomes "L". As a result, the data h 7 of the register Reg40 is given to one input terminal of the adder ADD40 via the buffer B40. Further, the data h 6 of the register Reg41 is given to the other input terminal of the adder ADD40 via the inverter I40. As a result, the adder ADD4
Data i 6 (= h 7 −h 6 ) is output from 0 to the output terminal i X.

【0098】サイクルt43においては、選択信号SE
L40が“L”となり、選択信号SEL41が“H”と
なる。それにより、レジスタReg41のデータh7
バッファB41を介して加算器ADD40の一方の入力
端子に与えられる。また、レジスタReg42のデータ
6 がバッファB42を介して加算器ADD40の他方
の入力端子に与えられる。その結果、加算器ADD40
から出力端子iX にデータi7 (=h6 +h7 )が出力
される。
In cycle t43, the selection signal SE
L40 becomes "L" and the selection signal SEL41 becomes "H". As a result, the data h 7 of the register Reg41 is given to one input terminal of the adder ADD40 via the buffer B41. Further, the data h 6 of the register Reg42 is given to the other input terminal of the adder ADD40 via the buffer B42. As a result, the adder ADD40
The data i 7 (= h 6 + h 7 ) is output from the output terminal i X.

【0099】図15はブロックBK4の演算を実行する
ための回路を示す図であり、図16は図15の回路の動
作を説明するためのタイミングチャートである。
FIG. 15 is a diagram showing a circuit for executing the operation of the block BK4, and FIG. 16 is a timing chart for explaining the operation of the circuit of FIG.

【0100】ブロックBK4は、直列に接続されたレジ
スタReg50〜Reg56、レジスタReg57〜R
eg60、バッファB50〜B53、インバータI50
〜I53、および加算器ADD50〜ADD55を含
む。加算器ADD50,ADD51およびレジスタRe
g57が演算ブロックBL50を構成し、加算器ADD
53,ADD54およびレジスタReg59が演算ブロ
ックBL51を構成する。
The block BK4 has registers Reg50 to Reg56 and registers Reg57 to R connected in series.
eg60, buffers B50 to B53, inverter I50
-I53 and adders ADD50-ADD55. Adders ADD50, ADD51 and register Re
g57 constitutes the operation block BL50, and the adder ADD
53, the ADD 54, and the register Reg 59 form a calculation block BL51.

【0101】バッファB50,B51の出力イネーブル
端子には選択信号SEL50が与えられ、インバータI
50およびバッファB52の出力イネーブル端子には選
択信号/SEL50が与えられる。インバータI53お
よびバッファB53の出力イネーブル端子にはそれぞれ
選択信号SEL50,/SEL50が与えられる
The select signal SEL50 is applied to the output enable terminals of the buffers B50 and B51, and the inverter I
A selection signal / SEL50 is applied to the output enable terminals of 50 and the buffer B52. Selection signals SEL50 and / SEL50 are applied to the output enable terminals of the inverter I53 and the buffer B53, respectively.

【0102】加算器ADD52のキャリー入力端子には
選択信号/SEL50と同位相の加減算信号A/S50
が与えられ、加算器ADD55のキャリー入力端子には
選択信号SEL50と同位相の加減算信号A/S51が
与えられる。加算器ADD50,ADD53,ADD5
4のキャリー入力端子には“L”の信号が与えられ、加
算器ADD51のキャリー入力端子には“H”の信号が
与えられる。
The carry input terminal of the adder ADD52 has an addition / subtraction signal A / S50 in phase with the selection signal / SEL50.
And a carry input terminal of the adder ADD55 is provided with the addition / subtraction signal A / S51 having the same phase as the selection signal SEL50. Adders ADD50, ADD53, ADD5
The carry input terminal of No. 4 is given a signal of "L", and the carry input terminal of the adder ADD51 is given a signal of "H".

【0103】加算器ADD50はδ′(=3)の乗算を
行ない、演算ブロックBL50はδ(=383)の乗算
を行なう。加算器ADD53はε′(=5)の乗算を行
ない、演算ブロックBL51はε(=161)の乗算を
行なう。
The adder ADD50 multiplies δ '(= 3), and the operation block BL50 multiplies δ (= 383). The adder ADD53 performs multiplication by ε '(= 5), and the operation block BL51 performs multiplication by ε (= 161).

【0104】レジスタReg50はブロックBK3−2
の出力端子iX に接続される。それにより、レジスタR
eg50〜Reg56には出力端子iX から与えられる
データi4 〜i7 が順次シフトされる。
The register Reg50 is a block BK3-2.
Connected to the output terminal i X of. As a result, the register R
The data i 4 to i 7 given from the output terminal i X are sequentially shifted to eg 50 to Reg 56.

【0105】図16に示すように、サイクルt50にお
いては、選択信号SEL50が“H”となる。それによ
り、レジスタReg50のデータi7 がバッファB50
を介して加算器ADD55の一方の入力端子に与えられ
る。また、レジスタReg60からインバータI53を
介して加算器ADD55の他方の入力端子にデータεi
4 /25 が与えられる。その結果、加算器ADD55か
ら出力端子F3X に変換データF7 ′(=−ε/25
4 +i7 )が出力される。
As shown in FIG. 16, in cycle t50, the selection signal SEL50 becomes "H". As a result, the data i 7 of the register Reg50 is transferred to the buffer B50.
To the one input terminal of the adder ADD55. Further, the data εi is input from the register Reg60 to the other input terminal of the adder ADD55 via the inverter I53.
4/2 5 is given. As a result, the adder into an output terminal F3 X from ADD55 data F 7 '(= -ε / 2 5 ·
i 4 + i 7 ) is output.

【0106】サイクルt51においても、選択信号SE
L50は“H”となっている。それにより、レジスタR
eg52からバッファB51を介して加算器ADD52
の一方の入力端子にデータ2i6 が与えられる。また、
レジスタReg58から加算器ADD52の他方の入力
端子にデータδi5 /27 が与えられる。その結果、加
算器ADD52から出力端子F2X に変換データF5
(=δ/27 ・i5 +2i6 )が出力される。
Also in the cycle t51, the selection signal SE
L50 is "H". As a result, the register R
adder ADD52 from eg52 via buffer B51
Data 2i 6 is applied to one of the input terminals. Also,
Data .delta.i 5/2 7 is provided to the other input terminal of the adder ADD52 from the register Reg58. As a result, the converted data F 5 ′ is output from the adder ADD52 to the output terminal F2 X.
(= Δ / 2 7 · i 5 + 2i 6 ) is output.

【0107】サイクルt52においては、選択信号SE
L50が“L”となる。それにより、レジスタReg5
4からインバータI50を介して加算器ADD52の一
方の入力端子にデータ2i5 が与えられる。また、レジ
スタReg58から加算器ADD52の他方の入力端子
にデータδi6 /27 が与えられる。その結果、加算器
ADD52から出力端子F2X に変換データF3 ′(=
−2i5 +δ/27 ・i6 )が出力される。
In cycle t52, the selection signal SE
L50 becomes "L". Thereby, the register Reg5
The data 2i 5 is supplied from 4 to the one input terminal of the adder ADD52 via the inverter I50. The data .delta.i 6/2 7 is supplied from the register Reg58 the other input terminal of the adder ADD 52. As a result, the conversion data F 3 '(= from the adder ADD52 to the output terminal F2 X
-2i 5 + δ / 2 7 · i 6 ) is output.

【0108】サイクルt53においても、選択信号SE
L50は“L”となっている。それにより、レジスタR
eg56のデータi4 がバッファB52を介して加算器
ADD55の一方の入力端子に与えられる。また、レジ
スタReg60からバッファB53を介して加算器AD
D55の他方の入力端子にデータεi7 /25 が与えら
れる。その結果、加算器ADD55から出力端子F3X
に変換データF1 ′(=i4 +ε/25 ・i7 )が出力
される。
Also in the cycle t53, the selection signal SE
L50 is "L". As a result, the register R
The data i 4 of eg56 is applied to one input terminal of the adder ADD55 via the buffer B52. Further, the adder AD is added from the register Reg60 via the buffer B53.
The other input terminal of the D55 data .epsilon.i 7/2 5 is applied to. As a result, the output terminal F3 X is output from the adder ADD55.
The converted data F 1 ′ (= i 4 + ε / 2 5 · i 7 ) is output to.

【0109】このように、この実施例によるDCT回路
では、18個の加算器を用いて1次元DCTが行われ
る。
As described above, in the DCT circuit according to this embodiment, the one-dimensional DCT is performed using 18 adders.

【0110】この実施例におけるブロックBK1,BK
2−1,BK2−2,BK3−1,BK3−2,BK4
は、図17に示される逆DCT回路にも用いることがで
きる。逆DCT回路では、変換データF0 ′〜F7 ′か
ら画素データf0 〜f7 が求められる。
Blocks BK1 and BK in this embodiment
2-1, BK2-2, BK3-1, BK3-2, BK4
Can also be used in the inverse DCT circuit shown in FIG. In the inverse DCT circuit, the pixel data f 0 ~f 7 is determined from the transformed data F 0 '~F 7'.

【0111】ブロックBK4に変換データF1 ′,
5 ′,F3 ′,F7 ′を与えると、データi4 〜i7
が得られる。ブロックBK3−1に変換データF0 ′,
4 ′,F2 ′,F6 ′を与えると、データh0 〜h3
が得られる。ブロックBK3−2にデータi4 〜i7
与えると、データh4 〜h7 が得られる。ブロックBK
2−1にデータh0 〜h3 を与えると、データg0 〜g
3 が得られる。ブロックBK2−2にデータh4 〜h7
を与えると、データg4 〜g7 が得られる。ブロックB
K1にデータg0 〜g7 を与えると、画素データf0
7 が得られる。
The converted data F 1 ′,
If F 5 ′, F 3 ′ and F 7 ′ are given, the data i 4 to i 7
Is obtained. Converted data F 0 ′ to block BK3-1,
Given F 4 ′, F 2 ′ and F 6 ′, the data h 0 to h 3
Is obtained. Given a data i 4 through i 7 in block BK3-2, data h 4 to h 7 is obtained. Block BK
When data h 0 to h 3 are given to 2-1 data g 0 to g
You get 3 . Data to block BK2-2 h 4 ~h 7
Is given, data g 4 to g 7 are obtained. Block B
When data g 0 to g 7 are given to K1, pixel data f 0 to
f 7 is obtained.

【0112】したがって、図5、図7、図9、図11、
図13および図15に示される回路を用いて逆DCT回
路を構成することができる。
Therefore, FIG. 5, FIG. 7, FIG. 9, FIG.
An inverse DCT circuit can be constructed using the circuits shown in FIGS. 13 and 15.

【0113】[0113]

【発明の効果】第1の発明によれば、小さい回路規模で
高速に離散コサイン変換を行なうことができる離散コサ
イン変換方法が得られる。第2ないし第5の発明によれ
ば、小さい回路規模で高速に離散コサイン変換を行なう
ことができる離散コサイン変換回路が得られる。
According to the first aspect of the present invention, it is possible to obtain the discrete cosine transform method capable of performing the discrete cosine transform at high speed with a small circuit scale. According to the second to fifth inventions, it is possible to obtain the discrete cosine transform circuit capable of performing the discrete cosine transform at high speed with a small circuit scale.

【0114】特に、第2および第3の発明に係る離散コ
サイン変換回路は、より高速に離散コサイン変換を実行
することができる。また、第4および第5の発明に係る
離散コサイン変換回路は、より小さい回路規模で構成さ
れる。
In particular, the discrete cosine transform circuits according to the second and third inventions can execute the discrete cosine transform at a higher speed. The discrete cosine transform circuit according to the fourth and fifth aspects of the invention is configured with a smaller circuit scale.

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

【図1】この発明の第1の実施例によるDCT方法に用
いられる変換式を示す図である。
FIG. 1 is a diagram showing a conversion formula used in a DCT method according to a first embodiment of the present invention.

【図2】変換データとDCT係数との関係を示す図であ
る。
FIG. 2 is a diagram showing a relationship between converted data and DCT coefficients.

【図3】図1の変換式を実行するためのフローグラフを
表わす図である。
FIG. 3 is a diagram showing a flow graph for executing the conversion formula of FIG.

【図4】この発明の一実施例によるDCT方法における
乗算回数を従来のDCT方法における乗算回数と比較し
て示す図である。
FIG. 4 is a diagram showing the number of multiplications in the DCT method according to an embodiment of the present invention in comparison with the number of multiplications in the conventional DCT method.

【図5】この発明の一実施例によるDCT回路における
1つのブロックを実現するための回路を示す図である。
FIG. 5 is a diagram showing a circuit for realizing one block in the DCT circuit according to the embodiment of the present invention.

【図6】図5の回路の動作を説明するためのタイミング
チャートである。
6 is a timing chart for explaining the operation of the circuit of FIG.

【図7】この発明の一実施例によるDCT回路における
1つのブロックを実現するための回路を示す図である。
FIG. 7 is a diagram showing a circuit for realizing one block in a DCT circuit according to an embodiment of the present invention.

【図8】図7の回路の動作を説明するためのタイミング
チャートである。
8 is a timing chart for explaining the operation of the circuit of FIG.

【図9】この発明の一実施例によるDCT回路における
1つのブロックを実現するための回路を示す図である。
FIG. 9 is a diagram showing a circuit for realizing one block in the DCT circuit according to the embodiment of the present invention.

【図10】図9の回路の動作を説明するためのタイミン
グチャートである。
FIG. 10 is a timing chart for explaining the operation of the circuit of FIG.

【図11】この発明の一実施例によるDCT回路におけ
る1つのブロックを実現するための回路を示す図であ
る。
FIG. 11 is a diagram showing a circuit for realizing one block in the DCT circuit according to the embodiment of the present invention.

【図12】図11の回路の動作を説明するためのタイミ
ングチャートである。
12 is a timing chart for explaining the operation of the circuit of FIG.

【図13】この発明の一実施例によるDCT回路におけ
る1つのブロックを実現するための回路を示す図であ
る。
FIG. 13 is a diagram showing a circuit for realizing one block in the DCT circuit according to the embodiment of the present invention.

【図14】図13の回路の動作を説明するためのタイミ
ングチャートである。
FIG. 14 is a timing chart for explaining the operation of the circuit of FIG.

【図15】この発明の一実施例によるDCT回路におけ
る1つのブロックを実現するための回路を示す図であ
る。
FIG. 15 is a diagram showing a circuit for realizing one block in a DCT circuit according to an embodiment of the present invention.

【図16】図15の回路の動作を説明するためのタイミ
ングチャートである。
16 is a timing chart for explaining the operation of the circuit of FIG.

【図17】逆DCT回路を実現するためのフローグラフ
を表わす図である。
FIG. 17 is a diagram showing a flow graph for realizing an inverse DCT circuit.

【図18】DCT方式の画像データ圧縮システムの基本
構成を示すブロック図である。
FIG. 18 is a block diagram showing a basic configuration of a DCT image data compression system.

【図19】画像データのブロック化を示す図である。FIG. 19 is a diagram showing how image data is divided into blocks.

【図20】8×8画素ブロックおよびDCT変換された
ブロックを示す図である。
FIG. 20 is a diagram showing an 8 × 8 pixel block and a DCT-transformed block.

【図21】2次元DCTを行なうための構成を示すブロ
ック図である。
FIG. 21 is a block diagram showing a configuration for performing two-dimensional DCT.

【図22】チェンのアルゴリズムに用いる変換式を示す
図である。
FIG. 22 is a diagram showing a conversion formula used in the Chen algorithm.

【図23】図22の変換式を行列式で表した図である。23 is a diagram in which the conversion formula of FIG. 22 is represented by a determinant.

【図24】図22の変換式を変形した式を示す図であ
る。
FIG. 24 is a diagram showing a modified expression of the conversion expression of FIG. 22.

【図25】図22および図24の変換式を実行するため
のフローグラフを表わす図である。
FIG. 25 is a diagram showing a flow graph for executing the conversion expressions of FIGS. 22 and 24.

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

0 〜f7 画素データ F0 ′〜F7 ′ 変換データ F0 〜F7 DCT係数 S0 〜S7 定数 ADD00,ADD10,ADD20〜ADD24,A
DD30〜ADD33,ADD40,ADD50〜AD
D55 加算器 Reg00〜Reg08,Reg10〜Reg14,R
eg20〜Reg27,Reg30〜Reg35,Re
g40〜Reg42,Reg50〜Reg60レジスタ B00〜B04,B10〜B12,B20〜B21,B
30〜B31,B40〜B42,B50〜B53 バッ
ファ I04,I12,I20〜I22,I30,I31,I
40,I50〜I53インバータ BK1,BK2−1,BK2−2,BK3−1,BK3
−2,BK4 ブロック なお、各図中同一符号は同一または相当部分を示す。
f 0 to f 7 pixel data F 0 ′ to F 7 ′ conversion data F 0 to F 7 DCT coefficient S 0 to S 7 constants ADD00, ADD10, ADD20 to ADD24, A
DD30 to ADD33, ADD40, ADD50 to AD
D55 adder Reg00 to Reg08, Reg10 to Reg14, R
eg20 to Reg27, Reg30 to Reg35, Re
g40 to Reg42, Reg50 to Reg60 registers B00 to B04, B10 to B12, B20 to B21, B
30-B31, B40-B42, B50-B53 Buffers I04, I12, I20-I22, I30, I31, I
40, I50 to I53 inverters BK1, BK2-1, BK2-2, BK3-1, BK3
-2, BK4 block In the drawings, the same reference numerals indicate the same or corresponding parts.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 H04N 7/133 Z ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 5 Identification code Office reference number FI technical display location H04N 7/133 Z

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 XおよびKに関する余弦関数C(K,
X)と入力データfXとの積和により前記入力データf
X からDCT係数FK を求める離散コサイン変換方法で
あって、前記Xは0からN−1までの整数を表わし、前
記Kは0からN−1までの整数を表わし、 前記余弦関数C(K,X)を係数CKXで置き換え、前記
係数CKXは、各Kの値についてすべてのXの値に対し
て、 C(K,X)/CKX=SK の関係を満足しかつ2のべき乗を含み、前記SK は定数
を表わし、 前記係数CKXと前記入力データfX との積和をデータの
シフトおよび加算を用いて求めることにより各Kの値に
ついてFK /SK の値を算出する、離散コサイン変換方
法。
1. A cosine function C (K, K with respect to X and K
X) and the input data f X , the input data f
A discrete cosine transform method for obtaining the DCT coefficients F K from X, the X represents an integer from 0 to N-1, wherein K is an integer from 0 to N-1, the cosine function C (K , replace X) with coefficients C KX, the coefficient C KX, to the values of all of X for each value of K, C (K, X) / C KX = relationship satisfaction vital 2 S K Including exponentiation, S K represents a constant, and the value of F K / S K for each value of K is obtained by finding the sum of products of the coefficient C KX and the input data f X using data shift and addition. A discrete cosine transform method for calculating.
【請求項2】 XおよびKに関する余弦関数C(K,
X)と入力データfXとの積和により前記入力データf
X からDCT係数FK を求める離散コサイン変換回路で
あって、前記Xは0からN−1までの整数を表わし、前
記Kは0からN−1までの整数を表わし、 係数CKXと前記入力データfX との積和をデータのシフ
トおよび加算を用いて求めることにより各Kの値につい
てFK /SK の値を算出する複数の加算手段を備え、 前記係数CKXは、各Kの値についてすべてのXの値に対
して、 C(K,X)/CKX=SK の関係を満足しかつ2のべき乗を含み、前記SK は定数
を表わす、離散コサイン変換回路。
2. A cosine function C (K, K with respect to X and K
X) and the input data f X , the input data f
A discrete cosine transformation circuit for obtaining a DCT coefficient F K from X, the X represents an integer from 0 to N-1, wherein K is an integer from 0 to N-1, the input and coefficient C KX A plurality of adding means for calculating the value of F K / S K for each value of K by obtaining the sum of products with the data f X using shift and addition of the data, and the coefficient C KX is Discrete cosine transform circuit, which satisfies the relation of C (K, X) / C KX = S K and includes a power of 2, where S K represents a constant for all X values in terms of values.
【請求項3】 前記FK /SK の値に前記SK を乗算す
る乗算手段をさらに備える、請求項2に記載の離散コサ
イン変換回路。
Wherein further comprising a multiplying means for multiplying the S K to the value of the F K / S K, discrete cosine transformation circuit as claimed in claim 2.
【請求項4】 XおよびKに関する余弦関数C(K,
X)と入力データfXとの積和により前記入力データf
X からDCT係数FK を求める離散コサイン変換回路で
あって、前記Xは0からN−1までの整数を表わし、前
記Kは0からN−1までの整数を表わし、 前記入力データfX を時系列に受け、係数CKXと前記入
力データfX との積和をパイプライン処理により求める
ことによりFK /SK の値を算出する複数段の処理ブロ
ックを備え、前記SK は定数を表わし、 前記係数CKXは、各Kの値についてすべてのXの値に対
して、 C(K,X)/CKX=SK の関係を満足しかつ2のべき乗を含む、離散コサイン変
換回路。
4. A cosine function C (K, K, for X and K
X) and the input data f X , the input data f
A discrete cosine transform circuit from X determine the DCT coefficients F K, wherein X represents an integer from 0 to N-1, wherein K is an integer from 0 to N-1, the input data f X when receiving the sequence, includes a processing block in a plurality of stages of calculating the value of F K / S K by the product-sum with the coefficient C KX and the input data f X obtained by pipeline processing, the S K is a constant The coefficient C KX is a discrete cosine transform circuit that satisfies the relationship of C (K, X) / C KX = S K for all K values for each K value and includes a power of 2. .
【請求項5】 前記複数段の処理ブロックの各々は、 1または複数の加算手段と、 前段から時系列に与えられる複数のデータを順次シフト
して保持する保持手段と、 前記保持手段に保持された前記複数のデータを選択的に
前記1または複数の加算手段に与える選択手段とを含
む、請求項4に記載の離散コサイン変換回路。
5. Each of the plurality of processing blocks has one or a plurality of adding means, a holding means for sequentially shifting and holding a plurality of data given in time series from the previous stage, and a holding means. 5. The discrete cosine transform circuit according to claim 4, further comprising: selecting means for selectively applying the plurality of data to the one or more adding means.
JP14266393A 1993-05-21 1993-05-21 Discrete cosine transform method and discrete cosine transform circuit Expired - Lifetime JP2816295B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14266393A JP2816295B2 (en) 1993-05-21 1993-05-21 Discrete cosine transform method and discrete cosine transform circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14266393A JP2816295B2 (en) 1993-05-21 1993-05-21 Discrete cosine transform method and discrete cosine transform circuit

Publications (2)

Publication Number Publication Date
JPH06332933A true JPH06332933A (en) 1994-12-02
JP2816295B2 JP2816295B2 (en) 1998-10-27

Family

ID=15320604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14266393A Expired - Lifetime JP2816295B2 (en) 1993-05-21 1993-05-21 Discrete cosine transform method and discrete cosine transform circuit

Country Status (1)

Country Link
JP (1) JP2816295B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013211011A (en) * 2006-06-26 2013-10-10 Qualcomm Inc Reduction of errors during computation of inverse discrete cosine transform
JP2014500670A (en) * 2010-11-30 2014-01-09 エム.エス.ラマイア スクール オブ アドバンスド スタディーズ Wavelet transform using multi-core processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013211011A (en) * 2006-06-26 2013-10-10 Qualcomm Inc Reduction of errors during computation of inverse discrete cosine transform
JP2014500670A (en) * 2010-11-30 2014-01-09 エム.エス.ラマイア スクール オブ アドバンスド スタディーズ Wavelet transform using multi-core processor
US9197902B2 (en) 2010-11-30 2015-11-24 M.S. Ramaiah School Of Advanced Studies Wavelet transformation using multicore processors

Also Published As

Publication number Publication date
JP2816295B2 (en) 1998-10-27

Similar Documents

Publication Publication Date Title
JP4560033B2 (en) Method for decoding video or image data
CN100442669C (en) Method for reduced bit-depth quantization
CN102007489B (en) Reduction of errors during computation of inverse discrete cosine transform
US5299025A (en) Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform
CA2633897C (en) Transforms with common factors
US5649077A (en) Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
JP2001142678A (en) Operating method for processing core and multiplication executing method
JP2001147804A (en) Shift method and processing core of package data
KR20120098499A (en) Method and apparatus for transforming image, and method and apparatus for inverse-transforming image
JP2001147799A (en) Data-moving method, conditional transfer logic, method for re-arraying data and method for copying data
JPS622721A (en) Coding and decoding device for picture signal
JP2009211481A (en) Filter computing unit and motion compensation device
US5555321A (en) Image data binary coding method and apparatus
JP2816295B2 (en) Discrete cosine transform method and discrete cosine transform circuit
JP2007316844A (en) Filter processor, multiplier and motion compensation processor
JP2002519957A (en) Method and apparatus for processing a sign function
JPH08307868A (en) Moving image decoder
TWI228918B (en) Video predictive decoding method and apparatus
CN100349466C (en) Method and device for qrasi-energy convervation change in vide frequency image cornpression
KR100303744B1 (en) Method and device for compressing and expanding image
JPH10116267A (en) Arithmetic unit and information processor
JPH1070721A (en) Inverse quantizing and inverse dct circuit
JPH04222122A (en) Data compressor
KR0164830B1 (en) Inverse quantization circuit
JPH04222121A (en) Data compressor

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20070814

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080814

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080814

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090814

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100814

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110814

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110814

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 14

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 14

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 15

EXPY Cancellation because of completion of term