m 細 書
DC丁演算装置 技術分野
本発明は、 画像 ί言号処理等の情報圧縮に用いられる離散佘弦変換 (Discrete Cosine Transform. 以下 「DC丁」 という。) を実現する D C T演算装置に関し、 異なる大きさの単位プロックの画像データに対して、 DCT演算または逆 DC丁 演算の少なくともいずれか一方を行う DC丁演算装置に関する。 背累技術
画像 ί言号等の情報圧縮に 、 DC丁がよく用いられている。 勁画像における情 報圧縮では、 一般に、 画面内 (空間的) 相関関係を利用した情報圧縮と、 画面間
(時間的) 相関関係を利用した情報圧縮が行われるが、 DC丁は前者に該当する ものである。 この DC Tは、 周波数変換法の一種であり、 変換前にランダムに分 布していた画素値が、 変換後には低周波成分に大きな値が集中する性質を利用し て、 高周波成分を取り除くことにより情報圧縮を行うものである。
DCTでは、 まず、 1枚の画像を一定数の画素 (例えば 8 X 8) からなる一定 形状の複数の ¥位フロックに分割し、 該単位ブコック毎に DC T処理を実行して いる。 2次元 DC丁は、 1次元 DC丁を 2回行うことにより実行されるものであ り、 例えば、 単位ブロックの列方向に 1次元 D C丁を行なつた後の中間結杲に対 し、 その行方向へ 1次元 DC丁を行なうことにより実行される。
また、 DCTにより圧縮された画像信号は、 逆 DC Tにより復号される。
N-1 N-1
X(u,v) = 2/N · C(u) · C(v) · _ _ x(i,j) cos((2i+ )u 7t/2N) cos((2j+1 )v TC/2N)
1=0 j=° …式") 及び
N-1 -1
x(i,j) = 2/N ·∑ ∑ · C(v) · X(u,v)cos((2i+1)u7t/2N) cos((2j+1)v7t/2N)
u=0 v=0 …式(2) は、 NXNの単位ブロックにおける 2次元 DC T、 及び 2次元逆 DC Τを定義し たものである。 また、
Ν-1
X(u) = 2/N . C(u) ∑ x(i) cos((2i+1)urr/2N)
i=0 …式 (3) は、 上記式 (1) 及び式 (2) より導かれる 1次元 DC Tを定義したものである。 ここで、 X ( i, j ) (但し、 i, : j =0, 1, 2, ' · ·, N— 1) は画素、
X (u, V) (但し、 C (0) =1ノ^2、 C (u) =C ( V ) =1 (u, v = 1 ,
2, · · · , N - 1 ) ) は変換係数である。
N'=8の場合、 上記式 (3) による 1次元 DC Tの行列演算は、
**N=8**
X0
X1
X2
X3
X4
X5
X6
X7
0.353553 0.353553 0.353553 0.353553 0.353553 0.353553 0.353553 0.353553 χθ 0.490393 0.415735 0.277785 0.097545 -0.097545 -0.277785 -0.415735 -0.490393 x1 0.461940 0.191342 -0.191342 -0.461940 -0.461940 -0.191342 0.191342 0.461940 x2 0.415735 -0.097545 -0.490393 -0.277785 0.277785 0.490393 0.097545 -0.415735 x3 0.353553 -0.353553 -0.353553 0.353553 0.353553 -0.353553 •0.353553 0.353553 x4 0.277785 -0.490393 0.097545 0.415735 -0.415735 ■0.097545 0.490393 -0.277785 x5 0.191342 -0.461940 0.461940 -0.191342 -0.191342 0.461940 ■0.461940 0.191342 x6 0.097545 -0.277785 0.415735 -0.490393 0.490393 ■0.415735 0.277785 -0.097545 x7 ノ
**Ν=3'*
! XO 0.577350 0.707107 0.408248
X1 0.577350 0.000000 -0.816497 '式 (9) X2 0.577350 -0.707107 0.408248
2"
0.707107 0.707107
0.707107 -0.707107 '式(10)
で表される。
—方、 1次元逆 D C Tの行列演算は、 Ν : 8の場合は
"Ν=8"
xO
χ1
χ2
χ3
χ4
χ5
χ6
χ7
ノ
0.353553 0.490393 0.461940 0.415735 0.353553 0.277785 0.191342 0.097545 0.353553 0.415735 0.191342 -0.097545 -0.353553 -0.490393 •0.461940 -0.277785 0.353553 0.277785 -0.191342 -0.490393 -0.353553 0.097545 0.461940 0.415735 0.353553 0.097545 •0.461940 -0.277785 0.353553 0.415735 ■0.191342 -0.490393 0.353553 -0.097545 ■0.461940 0.277785 0.353553 -0.415735 •0.191342 0.490393 0.353553 -0.277785 -0.191342 0.490393 -0.353553 -0.097545 0.461940 -0.415735 0.353553 -0.415735 0.191342 0.097545 -0.353553 0.490393 ■0.461940 0.277785 0.353553 -0.490393 0.461940 -0.415735 0.353553 -0.277785 0.191342 -0.097545
…式(11〉 で表され、 N == 7 , N = 6 , = 5 , N= 4 , N= 3 , N: 2の場合は、 それぞ れ、
-ヽ ヽ
εχ 86SD/2O- OOOOOSO L82£99'0- OOOOOSO ζχ OOOOOSO- 86S0Z20- OOOOOSO ひ
tx 182ε 9 - OOOOOSO" 86S0 Ό OOOOOSO ox 8690ZS0 OOOOOSO 1-82£99'0 OOOOOS
ノ
. - N,
ヽ ヽ
0 S6L.0 9 ill Q- Z99 S 0 LOS109O- IZIWO , x oz Z99USO- 1-0S1.09O 0^561Ό- Β ΙΙΙΖ'Ο- P ZIVVO
9 ^£9'0 ΟΟΟΟΟΟΌ- 9S^E9O" ΟΟΟΟΟΟΌ LZZ Ό ひ
Z99 9O- L0SL09O- Ot7½6L"0- WO レ X
0t^S6レ 0 8 ! ·Ζε.Ο Z99 S 10S109O IZIVVO ox
(ει)
,9=Ν"
Z 68 ' 0 1·261-ε2Ό- 69ζεεε ο 206 ' 0- 98Sl-8f 96ZZEO
692εεεο- 88 ^8^0- 68 ' 0 /06Ζ^Ό- t-96/ΖΕΌ
99SL8 0 681· 0- I.2U3S0 692εεεο- 1.Ζ6ΐε3Ό- 96W0
0- ΟΟΟΟΟΟΌ ΟΟΟΟΟΟΌ- ΟΟΟΟΟΟΌ V96UZ0
1061 V0 3^681.1-Ό- L S'O- 6 εεε.ο- 6 .0 Ρ9611ΖΌ
692εεεΌ- 8851.9^0- 6LCSO- 68"·0 LQGllYO P96ll 0
6 εεε'ο 88S18 Ό ZS'O 96ll£0
e00,0/66dr/13d ひ 89£/00 O
*N=3*
*N=2*
第 8図は、 従来の DC T演算装置の一例を説明するためのものであり、 該装置 の構成を示すブロック図である。 図において、 DC丁演算装置 1は、 入力画素デ —タをラッチする 8ビッ トの入力レジスタ 2 a, 2 b, 2 c, 2 d, 2 e, 2 f , 2 g, 2 hと、 該各入力レジスタ 2 a, 2 b, 2 c , 2 d, 2 e, 2 f , 2 g, 2 hの各出力データをそれぞれラッチした後、 各出力データの最下位ビット (以 下「L S B j という。) から 1ビッ卜毎にシフト出力する 8ビン トのホ一ルディン グレジスタ 3 a, 3 b, 3 c, 3 d, 3 e, 3 f , 3 g, 3 hと、 上記各ホール デイングレジスタ 3 a, 3 b, 3 c, 3 d, 3 e, 3 f , 3 g, 3 hの出力デ一 タを 8ビッ トのアドレスとして、 ROM (リードオンリ一メモリ) 41 a〜4 1 hのデータを累算器 42 a〜42 hで累算して出力するロムアキュ一ムレ一タ (以下 「RAC」 という。) 4 a, 4 b, 4 c, 4 d, 4 e, 4 f , 4 g, 4 hと、 上記各 RAC4 a, 4 b, 4 c, 4 d, 4 e, 4 I, 4 g, 4 hの出力データを ラッチして出力する出力レジスタ 5 a, 5 b, 5 c, 5 d, 5 e, 5 f , 5 g, 5 hとからなる。
また、 上記各 R AC 4 a, 4 b, 4 c, 4 d, 4 e, 4 f , 4 g, 4 hは、 そ れぞれ、 行列演算におけろ列係数に対して、 入力される列または行を構成する各 画素データの各ビッ卜を乗算したものの和を含む 2の 8乗個のデ一タテ一ブルを 有する ROM41 a〜41 hと、 該 ROM41 a〜41 hの出力を累算する累算 器 42 a〜42 hとからなる。
この従来の技術の D C丁演算回路は、 行列演算にいわゆる D Λ (d i s t buted arithmetic)法を使用している。 この DA法は、 固定係数の積和浈算に対して効率 的な演算方法で、 各入力画素デ一タと固定係数との積和 算を通常のヮード単位 ではなく、 ビット列単位に処理する方法である。 各入力画素データのそれぞれの ビッ トにより構成されるビッ ト列をアドレスとして、 これに対応する部分積を、 予め部分積の計算結果をテーブルとして格納している ROMから読み出し、 L S B (Least Significant. Bit :最" F位ビント)から MS B (Most Significant Bit : 最上位ビッ ト)までを累算することにより固定係数の積和演算を実現するもので ある。 この従来の DC T演算回路は、 Nまたは M画素の人力画素データのそれぞ れの 1 ビッ 卜により構成されるビット列と、 DC T係数の行係数とを乗算した部 分積の計算結果が、 D C T係数の各行係数に対応して、 R Λ C 4 a 4 hのそれ ぞれの ROM 4 1 a 4 1 hにテーブルとして格納しており、 Nまたは MPS素の 入力画素デ一タのそれぞれの 1ビン トにより構成される Nまたは Mビッ トのビッ ト列をァドレスとして各 ROM4 1 a 4 1 hに入力してやることで、 部分積が R〇M4 1 a 4 1 hから出力され、 この部分積を各画素データのし S Bから M S Bまで順次出力し、 累算することで、 1次元の DC T演算結果を得るものであ る。
次に動作にっレ、て説明する。
入力レジスタ 2 aは、 8ビッ トの入力画素データをラッチし、 入力サイク 毎 に入力レジスタ 2 aから入力レジスタ 2 b 入力レジスタ 2 bから入力レジス 夕 2 cへと、 各入力レジスタ 2 a, 2 b, 2 c , 2 d, 2 e, 2 ί , 2 g, 2 h すべてに I素データがラッチされるまでシフ ト動作を行なう。 その後、 各人カレ ジスタ 2 a 2 b, 2 c, 2 d, 2 e 2 f , 2 g, 2 hは、 それぞれに対応す る各ホールディングレジスタ 3 a , 3 b, 3 c, 3 d, 3 e, f , 3 g, 3 h にラッチした画素データを出力する。 次の、 8個の入力画素データが、 各入カレ ジスタ 2 a , 2 b, 2 c , 2 d, 2 e, 2 f , 2 g, 2 hヘラツチされるのと並 行して、 各ホールディングレジスタ 3 a, 3 b, 3 c, 3 d, 3 e, 3 f , 3 g, 3 hは、 ラツチした 8ビッ卜の画素データの最下位ビットカ >ら、 1ビット毎にシ フト出力する。 各 ROM4 1 a, 41 b, 4 1 c, 4 1 d, 4 1 e, 1 f , 4
1 gl 4 1 hは、 上 ^ホールディングレジスタ: 3 a, 3 b, 3 c, 3 d, 3 e ,
3 f , 3 g, 3 hが出力した 8ビッ トのデータをア ドレスとして、 該アドレスに 対応する ROMデータを出力する。 各紫算器 42 a , 42 b, c, 42 d,
42 e, 42 f , 4 2 g, 42 hは、 それぞれに対応する R〇M 4 l a, 4 1 b, 4 1 c, 4 1 d, 4 1 e, 4 I f , 4 1 g, 4 1 hが出力した 8ビッ ト分の R O
Mデ一タを累算して、 即ち、 8ビッ トのデータとして出力する。 各 RAC4 a,
4 b, 4 c, 4 d, e, 4 f , 4 g, 4 hに対応する出力レジスタ 5 a, 5 b,
5 c, 5 d, 5 c, 5 f , 5 g, 5 hは、 上記各累算器 42 a , 4 2 b, 42 c, 4 2 d, 4 2 e, 42 f , 42 g, 42 hが出力したデータを、 出力レジスタ 5 hから出力レジスタ 5 gへ、 出力レジスタ 5 gから出力レジスタ 5 f へと、 順次 シフ ト動作を行ない、 ラッチされたデータを出力する。
上記 DCT演算装置 1を用いて、 例えば 8 X 8を^位プロックとする画素デー タの 2次元 DC T演算を ίί·う場合には、 まず、 列方向の S個の画素データ毎に一 連の 算を 8回繰り返し行うことで 64個の中間結果を出力し、 その後、 該 64 倔の中間結果に対し行方向へ 1次元 DC Τを行なう。
し力、し、 従来の DCT演 ϊ?装置は、 例えば 8 X 8を単位ブロックとして 1次元 DCT演筠乂は逆 DC丁演算を行なう場合には、 入力画素データが 8ビッ トであ れば 256個の ROMテーブルデータを 8個備え、 D C丁演算及び逆 DC T演算 を 1つの装置で行うには 5 1 2個の ROMデ一タテ一ブルを 8個備えているもの であることが必要である。 また、 近年、 画像情報の圧縮の規格によっては、 単位 ブロックのサイズを可変とする要請があるが、 上記 DC丁装置は 8 X 8を単 ブ ロックとする画素データしか対応できないため、 8 X 8以外の例えば 7 X 7, 6 X 6, 5 5, 4 X 4等を 位ブロンクとする画素データに対応するには、 それ ぞれ 256 |0の ROMテーブルを 7個, 1 28個の R OMテーブルを 6 (0, 64 個の ROMテーブルを 5個, :32個の ROMテーブルを 4個、 備えた DCT装置 を必要とする。 従って、 NXMの任意に選択された単位ブロックの画素データに して D C T演算及び逆 D C丁演算を行うためには、 複数の D C丁演算装置を必 要とし、 それらの回路面積は非常に大きなものとなるという問題があった。
本発明は、 上記の問題を鑑みてなされたものであり、 興なるサイズの単位ブロ
ックの画像データに対して D C T演算又は逆 D C T演算を行うことができる回路 面積の小さい D C T演算装 を提供することを目的とする。 発明の開示
本発明は、 N X M単位プロック (N及び Mは 1カ ら 8の任意の整数) の画像デ ータの画素データに対して 1次元の D C T演算又は逆 D C T演算を行う D C T演 算装置であって、 N X M申'.位ブロックの画像データの画素データを、 行ごとに、 または列ごとに入力し、 入力された行または列を構成する各画素データをビッ ト ごとにスライスして出力するビッ トスライス手段と、 上記入力される各行または 各列を構成する画素データ数である入力画素データ数、 及び、 D C丁演算又は逆 D C丁演算のいずれを行う力 を示す値を含む制御信号を出力する制御手段と、 上 記制御手段が出力する制御信号が、 上記入力画素データ数が, 2のべき乗である ことを示し、 かつ D C T演算を行うことを示す ¾ ^には、 上記ビッ トスライス手 段の出力に対してバタフライ演算を行って、 その演算結果を出力し、 その他の場 合には、 バタフライ演算を行うことなく、 上記ビッ トスライス手段の出力をその まま出力する第 1のバタフライ演算手段と、 上記第 1のバタフライ演算手段の出 力から得られるビッ ト列と、 上記制御信号に含まれる入力画素データ数、 及び D C T演算または逆 D C T演算のいずれを行うかを示す値とに基づいて、 ァドレス を生成して出力するァドレス発生手段と、 1次元の D C T^^結果及び逆 D C T 演算結果をもとめるために用いる乗算結果を上記ァドレスに対応して出力する乗 算結果出力手段、 及ひ亥朵算結果出力手段の出力を累算して出力する累算手段、 を 8組有する演算手段と、 上記制御手段が出力する制御信号が、 上記人力 l¾j素デ ータ数が、 2のべき乗であることを示し、 かつ逆 D C T演算を行うことを示す場 合には、 上記演算手段の出力に対してバタフライ演算を行って、 その演算結果を 入力画素データの順序に対応して並べ替えて出力し、 その他の場合には、 バタフ ラィ 算を行うことなく、 ヒ記演算手段の出力を入力画素デ一タの順序に対応し て並べ替えて出力する第 2のバタフライ演算手段とを備えている。 これにより、 D C T演算結果及び逆 D C T演算結果を求めるために用いる乗算結果となるデー タの ftを小さくすることができ、 このデータを出力する乗算結果出力手段のデ一
タ容盘を小さくすることができ、 回路面積の小さな D C T演算装置を得ることが できる。
また、 本発明は、 上記ア ドレス発生手段は、 上記第 1のバタフライ演算手段の 出力と、 入力画素データ数と、 DCT演算または逆 DC丁演算のいずれを行う力、 を示す値とに基づいて生成するア ドレスとして、 上記制御信号が、 上記入力画素 データ数の値が 7, 6, 5, :3のいずれかであることを示す^には、 上記第 1 のバタフライ演算手段の出力に基づいて構成される 7, 6, 5, 3ビッ トの各々 のピソ ト列に対し、 DCT演算または逆 DC T演算のいずれを行うかを示す値を 含む、 上 ¾人カ凼素データ数の値を示すための 2, 3, 4 , 6ビッ トの各々のへ ッダァドレスを付加したァドレスを生成し、 上記制御信号が、 上記人力画素デー タ数が 8, 4, 2のいずれかであることを示す場合であって、 かつ、 DC丁演算 を行うことを示す場合には、 上記第 1のバタフライ演算手段によりバタフライ演 算された加算結果に基づいて構成される 4, 2, 1ビッ トの各々のビント列、 及 び減^結果に基づいて構成される 4, 2, 1ビットの各々のビッ ト列それぞれに 対し、 DCT演算を行うことを示すための値を含む、 上記入力画素データ数の値 を示すための 5, 7, 8ビットの各々のへッダァドレスを付加したアドレスを生 成し、 上記制御信号が、 上記入力画素データ数が 8, 4, 2のいずれかであるこ とを す場合であって、 力つ、 逆 DCT演算を行うことを示す場合には、 上記第 1のバタフライ演算手段の 8, 4, 2ビットの各々の出力に基づいて構成される 4, 2, 1 ビットの各々のビッ ト列に対し、 逆 DCT演算を行うことを示すため の値を含む、 上記入力画素データ数の値を示すための 5, 7, 8ビッ トの各々の ヘッダァドレスを付加したァドレスを生成するものであるとともに、 上記ヘッダ ァドレスとして、 上記第 1のバタフライ演算手段の出力に基づいて構成されるァ ドレスに対して、 このヘッダァドレスを付加することによって得られる全てのァ ドレス力;、 連続したア ドレスとなるようなビット列を付加するものとしている。 これにより、 乗算結果出力手] ¾内に無駄な領域が発生しないよう効率よく、 乗算 結果出力手段をマッビングでき、 乗算結果出力手段の大きさを削減することがで き、 D C T演算装置の回路面積をより小さくすることができる。
また、 本発明は、 上記乗算結果出力手段は、 上記乗算結果として、 上記制御手
段が出力する制御信号が、 上記入力面素データ数が、 2のべき乗であることを示 し、 かつ D C丁演算を行うことを示す場合には、 高速フーリエ変換を行った D C Tの行列演算における、 上記第 1のバタフライ演算手段の出力から得られるビッ ト列についての乗算結果を出力し、 上記制御手段が出力する制御信号が、 上記入 カ両素データ数が、 2のべき^以外であることを示し、 かつ D C T演算を行うこ とを示す場合には、 D C Tの行列演算における、 上記第 1のバタフライ演算手段 の出力から得られるビット列についての乗算結果を出力し、 上記制御手段が出力 する制御信号が、 上記入力幽素データ数が、 2のべき乗であることを示し、 かつ 逆 D C T演算を行うことを示す場合には、 高速フーリエ変換を行った逆 D C丁の 行列演算における、 上記第 1のバタフライ演算手段の出力から得られるビット列 についての乗算結果を出力し、 上記制御手段が出力する制御信号が、 上記入力画 素データ数が、 2のべき乗以外であることを示し、 かつ逆 D C T演算を行うこと を示す場合には、 逆 D C丁の行列演算における、 上記第 1のバタフライ演算手段 の出力から得られるビット列についての乗算結果を出力することとしている。 こ れにより、 D C T演算装置の回路面積をより小さくすることができる。
また、 本発明は、 上記 D C T演算装置は、 制御信号が入力画素データ数が 8以 外であることを示す場合に、 演算に未使用となる手段の動作を停止するものとし ている。 これにより、 消費電力を削減できる。
また、 本発明は、 N X M単位ブロック (N及び Mは 1以上の任意の整数) の画 像データの画素データに対して 1次元の D C T演算を行う D C T演算装置であつ て、 N X M単位ブロックの両像データの画素データを行ごとに、 または列ごとに 入力し、 入力される行または列を構成する各画素データをビット毎にスライスし て出力するビットスライス手段と、 上記入力される各行または各列を構成する画 素データ数である入力画素データ数を示す制御信号を出力する制御手段と、 該制 御手段が出力する制御信号が、 上記入力画素データ数が、 2のべき乗であること を示す場合には、 上記ビッ卜スライス手段の出力に対してバタフライ演算を行つ て、 その演算結果を出力し、 その他の場合には、バタフライ演算を行うことなく、 上記ビットスライス手段の出力をそのまま出力するバタフライ演算手段と、 上記 バタフライ演算手段の出力から得られるビット列と上記制御信号に含まれる入力
画素データ数とを用いてァドレスを生成して出力するァドレス 生手段と、 1次 元の D C T演算結果を求めるために用いる乗算結果を上記ァドレスに対応して出 力する乗算結果出力手段、 及び上記乗算結果出力手段の出力する乗算結果を累算 して出力する累算回路を、 上記入力画素デ一タ数の最大値に対応した組数備えた 演算-干段と、 上記演算手段の出力を、 入力される画素データの順序に対応して並 ベ替えて、 1次元の D C T演算結果として出力する出力手段とを備えている。 こ れにより、 D C T演算結果を求めるために用いる乗算結果となるデータの量を小 さくすることができ、 このデータを出力する乗算結果出力手段のデータ容量を小 さくすることができ、 回路面積の小さな D C丁演算装置を得ることができる。 また、 本発明は、 上記ア ドレス発生手段は、 上記第 1のバタフライ演算手段の 出力と、 上記入力画素データ数とに基づいて生成するア ドレスとして、 上記制御 信兮が、上記入力画素データ数が 2のべき乗以外の値であることを示す場合には、 卜.記第〗 のバタフライ演算手段の出力に基づいて構成される、 入力画素データ数 と同じビント数となるァドレスに対して上記入力画素データ数の値を示すための ヘッダア ドレスを付加したア ドレスを生成し、 上記制御信号が、 上記入力画素デ —タ数が 2のべき乗であることを示す場合には、 上記第 1のバタフライ演算于.段 によりバタフライ演算された加算結果に基づレ、て構成される、 上記入力画素デー タ数の半分と同じビッ ト数となるビッ 卜列、及び減算結果に基づいて構成される、 上記入力画素データ数の半分と同じビ'ント数となるビン ト列それぞれに対して上 記入カ凼素データ数の値を示すためのヘッダァドレスを付加したア ドレスを生成 するものであるとともに、 上記ヘッダア ドレスとして、 上記第 1のバタフライ演 算手段の出力に基づいて構成されるァドレスに対して、 このヘッダァドレスを付 加することによって得られる全てのア ドレスが、 連統したア ドレスとなり、 かつ そのビッ ト数が上記入力両素データ数の最大値と同じビッ ト数となるようなビッ ト列を付加するものとしている。 これにより、 乗算結果出力手段内に無駄な領域 が発生しないよう効率よく、 乗算結果出力手段をマッビングでき、 乗算結果出力 手段の大きさを削減することができ、 D C T演算装置の回路面積をより小さくす ることができる。
また、 本発明は、 ト.記バタフライ演算手段は、 上記ビッ トスライス手段に、 行
または列ごとに入力され、 ビ'ノトごとにスライスして出力される面素デ一タを、 上記入力される列または行の両端側から内側に向かって順次互いに加算した値、 及び Ml次互いに減算した値を出力するバタフライ演算を行うものとしている。 こ れにより、 D C T演算装置の回路面積をより小さくすることができる。
また、 本発明は、 上記乘算結果出力手段は、 上記乗算結果として、 卜.記制御手 段が出力する制御信号が、 上記入力画素データ数が、 2のべき乗であることを示 す 合には、 高速フ一リエ変換を行った D C Tの行列演算における、 上記第 1の バタフライ浈算手段の出力から得られるビット列にっレ、ての乗算結果を出力し、 上記制御手段が出力する制御信号が、 上記入力画素データ数が、 2のべき乗以外 であることを示す場合には、 D C Tの行列演算における、 上記第 1のバタフライ 演算—亍段の出力から得られるビン 卜列についての乗算結果を; I I力するものとして いる。 これにより、 D C丁演算装置の回路面積をより小さくすることができる。 また、 本発明は、 N X M単位ブロック (N及び Mは 1以上の任意の整数〉 の画 像データの画素データに対して 1次元の逆 D C T演算を行う Γ) C T演算装置であ つて、 N X M単位ブ口ックの画像データの画素データを行ごとに、 または列ごと に入力し、 入力される行または列を構成する各画素データをビット毎にスライス して出力するビットスライス手段と、 上記入力される各行または各列を構成する 画素データ数である入力面素データ数を示す制御信号を出力する制御手段と、 上 記ビッ卜スライス手段の出力から得られるビット列と上記制御 号に含まれる入 力画素データ数とを用いてア ドレスを生成して出力するア ドレス発生手段と、 上 ¾ァドレスに対応して、 1次元の逆 D C T演算結果を求めるために用いる乗算結 果を出力する乗算結 出力手段、 及び上記乗算結果出力手段の出力する乗算結果 を累算して出力する累算回路を、 上記入力画素データ数の最大値に対応した組数 備えた演算手段と、該制御手段が出力する制御信号が、上記入力画素データ数が、 2のべき乗であることを示す場合には、 上記演算手段の出力に対してバタフライ 演算を行って、 その演算結果を入力画素データの順序に対応して並べ替えて出力 し、 その他の^には、 バタフライ演算を行うことなく、 上記各演算手段の出力 を入力される画素データの順序に対応して並べ替えて出力するバタフライ演算手 段とを備えている。 これにより、 逆 D C T演算結果を求めるために用いる乗算結
果となるデ一タの量を小さくすることができ、 このデ一タを出力する釆算結果出 力手段のデータ容量を小さくすることができ、 回路而稹の小さな D C丁演算装置 を得ることができる。
また、 本発明は、 上記ァドレス発生手段は、 上記ビッ トスライス手段の出力と、 上記入力画素データ数とに基づいて生成するア ドレスとして、 上記制御信号が、 上記入力画素データ数が 2のべき乘以外の値であることを示す場合には、 上記ビ ットスライス手段の出力に基づいて構成される, 上記入力画素データ数と同じビ ッ ト数となるビ'ノト列に対して上記入力画素データ数の値を示すためのヘッダァ ドレスを付加したア ドレスを生成し、 上記制御信号が、 上記入力画素データ数が 2のべき乗であろことを示す場合には、 上記ビッ トスライス手段の出力に基づい て構成される、 上記入力画素データ数の半分と同じビッ ト数となるビット列それ ぞれに対して上記入力画素データ数の値を示すためのへッダァドレスを付加した ア ドレスを生成するものであるとともに、 上記ヘッダア ドレスとして、 上記ビッ トスライス手段の出力に基づいて構成されるァドレスに対して、 このヘッダァド レスを付加することによって得られる全てのアドレスが、 連続したア ドレスとな り、 かつそのビッ ト数が上記人力される行または列を構成する入力画素データ数 の最大値と向じビッ ト数となるようなビッ ト列を付加するものとしている。 これ により、 乗算結果出力手段内に無駄な領域が発生しないよう効率よく、 乗算結果 出力手段をマッビングでき、 乗算結果出力手段の大きさを削減することができ、 D C丁演算装置の回路 ώ積をより小さくすることができる。
また、 本発明は、 上記バタフライ演算手段は、 上記演算手段が出力する、 上記 行または列ごとに入力される面素データのうちの、 奇数番目の画素データに基づ いて^められた上記乘算結果を.累算した値と、 偶数番 Fiの画素データに基づレ、て 求められた上記乘算結果を累算した値とを加算した値及び減算した値を出力する バタフライ演算を行うものとしている。 これにより、 D C T演算装置の回路面積 をより小さくすることができる。
また、 本発明は、 上記乗算結果出力手段は、 上記乗算結果として、 上記制御手 段が出力する制御信号が、 上記入力画素データ数が、 2のべき乗であることを示 す場合には、 高速フーリエ変換を行った逆 D C Tの行列演^における、 上記第 1
のバタフライ演算手段の出力から得られるピノ卜列についての乗算結果を出力し, 上記制御手段が出力する制御信号が、 上記入力画素データ数が、 2のべき乗以外 であることを示す場合には、 逆 D C丁の行列演算における、 上記第 1のバタフラ ィ¾ ^手段の出力から得られるビット列についての乗算結果を出力するものとし ている。 これにより、 D C T演筧装置の回路面積をより小さくすることができる c また、 本発明は、 上記ビットスライス手段に入力される画像データの単位プロ ックは、 N X M単位ブロック (N, 及び Mは 1から 8までの任意の値) であり、 上記演算手段は、 乗算結果出力手段と累算手段とを含む鉗を、 上記入力画素デー タ数の最大値である 8組備えている。 これにより、 D C T演算装置の回路面積を より小さくすることができる。
また、 本発明は、 上記ビットスライス手段は、 入力される各画素データとして 1 6ビッ卜のデータを入力するとともに、 この 1 6ビッ卜のデータを 2ビントご とにスライスして出力し、 上記演算手段は、 上記各乗算結果出力于段として、 互 いに並列に設けられた上記乗算結果をそれぞれ出力する 2つの乗算結果出力部を 備えており、 この 2つの乗^結果出力部の出力を加算したデータを上記累算手段 で, 算するものとしている。 これにより、 入力画素データが 1 6ビッ トのデータ である場合に、 D C Tj¾算装 @の回路面積をより小さくすることができる。
また、 本発明は、 上記 D C丁演算手段は、 制御信号が、 入力される行または列 を構成する入力画素データ数の値が上記入力画素データ数の最大値以外の値であ ることを示す^に、 未使用となる手段の動作を停止するものとしている。 これ により、 消費電力を削減できる。 図面の簡単な説明
第 1図は、 本発明の実施の形態 1による D C T演算装置の構成を示すプロック 図、 第 2図は、 本発明の実施の形態 1による第 1のバタフライ演算回路の内部構 成を示す図、 第 3図は、 本発明の実施の形態 1による第 2のバタフライ演算回路 の内部構成を示す図、 第 4図は、 本発明の実施の形態 1による R OMアドレスの マップ図、 第 5図は、 本発 の実施の形態丄による R OM使用データ容量のマツ ブ図、 第 6 は、 本発明の実施の形態 1による 8 X 7画素プロックに対する D C
丁演算を説明するための概略図、 第 7図は、 本発明の実施の形態 Uこよる 6 X 4 画素ブロックに対する逆 DC T演算を説明するための概略図、 第 8図は、 従来の DCT演算装置の稱成を示すブロック図、 第 9図は、 本発明の実施の形態 4によ る DC T演算装置の構成を示すブロック図、 第 1 ϋ図は、 不発明の芙施の形態 4 による DC Τ演算装置の構成を示すブロック図、 第 1 1図は、 本発明の実施の形 態 4による D C T演算装置の構成を示すブロック図である。 発明を実施するための最良の形態
実施の形態 1.
本実施の形態 1による DC T装置は、 NXM (N, Mは 1から 8の任意の整数) の画素データで構成される単位プロックの画素データを列ごと, もしくは行ごと に入力していき、 これらに対して、 DCT演算又は逆 DC丁演算を行うとともに、 特に N又は Mが 2のべき乗である 、 即ち、 N= 8, N= 4, N= 2である場 合には、 周波数問引形の高速フーリエ変換 (以下、 「F FTj という。) を利用す るものである。
上記 F FTを用いると、 上記 DC Tの行列演算は、 N= 8の場合は
**N= 8"
ヽ
X0 0.353553 0.353553 0.353553 0.353553 x0+x7
X2 0.461940 0.191342 -0.191342 -0.461940 x1+x6
X4 0.353553 -0.353553 -0.353553 0.353553 x2+x5
X6 0.191342 -0.461940 0.461940 -0.191342 x3+x4
/ ソ
0.490393 0.415735 0.277785 0.097545 x0-x7
0.415735 •0.097545 -0.490393 -0.277785 x1-x6
'式(18)
0.277785 -0.490393 0.097545 0.415735 x2-x5
0.097545 -0.277785 0.415735 -0.490393 x3-x4
*N=4*
f ヽ
χθ 0.500000 0.500000 X0 0.653281 0.270598
+ X1 x1 0.500000 -0.500000 X2 0.270593 -0.65328 X3 x3 0.500000 0.500000 xo 0.653281 0.270598 X1 x2 0.500000 -0.500000 X2 0.270598 -0.653281ノ X3
•式 (22) で、 N=2の場合は
**N=2**
ΓχΟ に 0.707107 XOj + 0.707107リ X1
'式 (23) x1 I
で表される。
これらの式に示されているように、 FF丁を利用することにより、 行列演算の 演算量を大幅に削減できることがわかる。
本実施の形態 1においては、 いわゆるバタフライ演算を利用することにより、 F FTを DCT演算又は逆 DC Τ演算の行列式に対して適用できるようにし、 D C T演算又は逆 DC T演算を少ない演算量で実行できるようにする。
以下、 本 DC T演算装置の構成について説明する。
第 1図は、 本実施の形態 1による DC丁演算装置を説明するための図であり、 該装置の構成を示すブロック図である。 図において、 DCT演算装置 100は、 N XMの単位プロンクを構成する画素データの個数 N及び Mを表す信号を出力 する制御回路 101と、 入力された 8ビットの各画素データの L S Bから 1ビッ 卜毎にシフト出力を行うビントスライス回路 102と、 該ビットスライス回路 1 02の出力に対してバタフライ演算を行う第 1のバタフライ演算回路 103と、 該第 1のバタフライ演算回路 103の出力に基づいて、 ROMアドレスを生成す る ROMァドレス発生回路 104と、 該 ROMァドレスに対応する ROMデータ を読み出して累算する R AC 105と、 該 R AC 105の出力に対してバタフラ ィ演算を行う第 2のバタフライ演算回路 106とからなる。
また、 上記 RAC105は、 DCT演算及び逆 DCT演算をおこなうための R
OMO, OM1, ROM 2, ROM 3, ROM 4, ROM 5, ROM 6, R〇 M7と、該各 ROMの出力を累算する累算回路 51 a, 51 b, 51 c, 5 I d, 51 e, 51 f , 51 g, 51 hとからなる。 本実施の形態 1においては、 R O MO〜 7は 1つの R OM内の複数の ROM領域である。
この DC丁演算回路は、行列演算に D A法を使用しており、 DCTの行列演算、 逆 DC丁の行列演算、 高速フーリエ変換した DC Tの行列演算、 及び高速フーリ ェ変換した逆 D C丁の行列演算のそれぞれにおける、 第 1のバタフライ演算回路 103の各出力から 1ビットごとにデ一タを取り出すことにより得られるビット 列についての乗算結果を、 R〇M0〜ROM7のそれぞれにテーブルとして格納 しており、 第 1のバタフライ 算回路 103の各出力から得られるビット列をァ ドレスとして各 R〇Mに人力してやることで、 上記乗算結果が R〇Mから出力さ れ、 この乗算結果を各画素データの L S Bから MS Bまで順次出力し、 ^算回路 51 a〜51 hで累算して出力することで、行列演算結果を得るものとしている。 なお、 上記 ROMt)〜R〇M7には、 上記画素データの数 Nまたは Mが 2のべ き乗である場合についての乗算結果として、 卨速フーリエ変換を行った DCT及 び逆 DC Tの行列演!?における、 第 1のバタフライ演算回路 103の出力から得 られるビット列についての乗算結果を格納しており、 上記画素データの数 Nまた は Mが 2のべき乗以外である場合についての乗算結果として、 高速フーリニ変換 を行わなレ、通常の D C丁及び逆 D C Tの行列演算における、 ; 1のバタフライ演 算回路】.03の出力から得られるビット列についての乗算結果を格納している。 即ち、 第 1のバタフライ演算回路 103のビッ卜単位の出力から得られるビッ ト列と上述した式 (5) 〜式 (7)、 式(9〉、 式(12) 〜式 U 、 式 6) 及び式 (18) 〜式 (23) で示した行列演算の係数との部分積の計算結果がテ —ブルとして ROM0〜R〇M7に格納されている。
なお、 入力画素データ数となる Nまたは Mの値が可変であるため、 ROMと累 算回路との組は Nまたは Mの値の最大数の組、 ここでは 8組設けられている。 ま た、 本実施の形態 1においては、 Nまたは Mの値が可変であり、 DCT演算及び 逆 DCT演算に使用する係数も変化するため、 各 ROM0〜ROM7には、 Nま たは Mの値が変化した 合に応じた部分積の結果が個別に格納されている。
第 2図は、 上記第 1のバタフライ演算回路 1 0 3の內部構成の一例を示すプロ ック図である。 該第 1のバタフライ演算回路 1 0 3は、 制御信号が D C T演算を 行う場合であって、画素データの個数を示す N又は Mが 2のべき乗、 即ち 2, 4 , 8である場合にはバタフライ演算を行い、 それ以外の場合にはバタフライ演算を 行うことなくデータを出力するものであり、 上記ビットスライス冋路 1 0 2が出 力した各画素データのビット信号を入力とするデータ線 3 0 a , 3 0 b , 3 0 c , 3 0 d , 3 0 e , 3 0 f , 3 0 g , 3 0 hと、 制御信号が N又は Mが 8であるこ とを示す ^にはデータ線 3 U hを、 制御信号が N又は Mが 4であることを示す i にはデータ線 3 0 dを、 制御信号が N又は Mが 2であることを示 には データ線 3 0 dを選択する第 1の選択回路 3 1 aと、 制御信号が N又は Mが 8で あることを示す ^にはデータ線 3 0 gを、 制御信号が N又は Mが 4であること を示す場合にはデータ線 3 0 cを選択する第 2の選択回路 3 1 bと、 データ線 3 0 aと第 1の選択回路 3 1 aとから入力されるデータを加算する第 1の加算回路 3 2 aと、 データ線 3 ϋ bと第 2の選択回路 3 1 bとから入力されるデータを加 算する第 2の加算回路 3 2 bと、 データ線 3 0 cとデータ線 3 0 dとから入力さ れるデ --タを加算する第 3の加算回路 3 2 cと、 データ線 3 0 dとデータ線 3 0 eとから入力されるデータを加算する第 4の加算回路 3 2 dと、 データ線 3 0 d とデータ線 3 0 eとから入力される信号を減算する第 1の減算回路 3 3 aと、 デ ータ線 3 0 cとデータ線 3 0 f とから入力されるデータを減算する第 2の減算回 路 3 3 bと、 データ線 3 0 bと第 2の選択回路 3 1 bとから入力されるデータを 減算する第 3の減算回路 3 3 bと、 データ線 3 0 aと第 1の選択回路 3 1 aと力 > ら入力されるデータを減算する第 4の減算回路 3 3 dと力、らなる。 この第 1のバ タフライ演算回路 1 ϋ 4は、 ビットスライス回路 1 0 2に、 行または列ごとに入 力され、 ビントごとにスライスして出力される画素データを、 入力される列また は行の両端側から内側に向かって順次互いに加算した値、 及び順次互いに減算し た値を出力するバタフライ演算を行う。
第 3図は、 上記第 2のバタフライ演算回路 1 0 6の内部構成の一例を示すプロ ック図である。 該第 2のバタフライ演算回路 1 0 6は、 制御信号が逆 D C T演算 を行う場合であって、 画素データの俩数を示す Ν又は Μが 2のべき乗、 即ち 2 ,
4, 8である場合にはバタフライ演算を行い、 それ以外の ¾ ^にはバタフライ演 算を行うことなくデータを出力するものであり、 上記 RAC 105の各累算回路
51 a, 51 b, 51 c, 51 d , 51 e , 51 f , 51 g, 51 hの出力をラ ツチするレジスタ 60 a, 60 b, 60 c, 60 d, 60 e , 60 f , 60 g, 60 hと、 上記各レジスタ 6 ϋ a , 60 c, 60 e, 60 gの出力をラッチする レジスタ 61 aと、 上記各レジスタ 60 b, 60 d, 60 f , 6 O hの出力をラ ツチするレジスタ 61 bと、 上記レジスタ 61 aとレジスタ 61 bとから入力さ れるデータを加算する加算器 62と、 該加算器 62の出力をラッチすろレジスタ
63とからなる。 この第 2のバタフライ演算回路 106は、 上記 RAC105力; 出力する、 上記行または列ごとに入力される画素データのうちの奇数番目の画素 データと F Tにより得られる行列係数との演算結果と、 偶¾ 目の画素データ と FFTにより得られる行列係数との演算結果とを加算したィ ϋ¾び减算した値を 出力するバタフライ演算を行う。
次に、 ROMァドレス発生回路 104により生成される ROMァドレスについ て説明する。 この ROMアドレス発生回路 1 04は、 第 1のバタフライ演算回路 104の出力により構成されるビット列をそのまま利用して、 これにヘッダアド レスを加えることでァドレスとするもので、 さらにこのヘッダァドレスを加えた 結果得られる全てのァ ドレス力;、 連続したァドレスとなるようなヘンダァドレス を付加するものである。 このヘッダア ドレスは、 制御回路丄 01が出力する制御 信号が示す、 Nまたは Mの値と、 DC丁演算または逆 DCT演算のいずれを行う かを示す値に基づいて決定される。
第 4図に示すように、 N又は Mの値が 7の場合の DC T演算では、 第 1のバタ フライ演算回路 103の各データ線 30 g, 30 f , 30 e, 30 d, 30 c, 30 b, 30 aから出力される ί言号 A6, Α5, Α4, A3, A2, A 1, AO に基づいて構成される 7ビッ卜の信号に、 その上位ビットである A 7に 0を付加 し、 さらに、 その信号 A7, A6, A 5, A4, A3, A2, Al, AOからな る 8ビットの信号に、 D C丁演算を行うことを示す値である 0を付加してなる 9 ビン 卜の信号を ROMァドレスとして生成する。
同様に、 N又は Mの値が 6の場合の DC T演算には、 第 1のバタフライ演算回
路 103の各デ一タ線 30 ί , 30 e, 30 d , 30 c, 30 b, 30 aから出 力される信号 A 6, A 5, A4, A 3, A2, Al, AOに基づいて構成される 6ビットの信号に、 その上位ビシトである Λ7, A6にそれぞれ 1, 0を付力 [1し、 N又は Mの値が 5の i^8 こは、 第 1のバタフライ演算回路 103の各データ線 3 0 e. 30 d, 30 c, 30b, 30 aから出力される信号 A 4 , A3, Α2, A 1 , AOに基づいて構成される 5ビットの信号に、その上位ビン卜である A 7, A 6, A 5にそれぞれ 1, 1, 0を付カ卩し、 N又は Mの値が 8の場合には、 第 1 のバタフライ演算回路 103のデータ線 34 a , 34 b, 34 c, 34 d、 又は データ線 34 e, 34 f , 34 g, 34 hから出力される信弓 A 3, A 2, A 1 , AOに基づレ、て構成される 4ビットの信号に、その上位ビットである A 7 , A 6 , A 5, A 4にそれぞれ 1, ] , 1 , 0を付加し、 Ν又は Μの値が 3の場合には、 第 1のバタフライ演算回路 103の各データ線 30 c, 30 b, 30 aから出力 される信号 A2, A 1, AOに基づいて構成される 3ビッ トの信号に、 その上位 ビットである A7, A 6, A 5, A4, A 3にそれぞれ 1, 1, 1, 1, 0を付 加し、 N又は Mの値が 4の^には、 第 1のバタフライ演算回路 103のデータ 線 34 a, 34 b、 又は 34 e, 34 ίから出力される信号 A 1, A 0に某づぃ て構成される 2ビットの信号に、 その上位ビットである A 7, A 6, Αδ, Α4, A3, A 2にそれぞれ 1, 1, 1, 1, 1, 0を付加し、 N又は Mの値が 2の場 合には、 第 1のバタフライ演算回路 103のデータ線 34 a、 又はデータ線 34 eから出力される信号 A 0に基づく 1ビッ卜の信号に、 その上位ビットである Λ 7, A6, A5, A4, A3, A 2, A 1にそれぞれ 1, 1, 1, 1, 1, 1, 0を付加し、 さらに、 上記各 A 7, A6, A5, A4, A3, A2, Al, AO からなる 8ビットの信号に、 DCT演算であることを示す 0を付加してなる 9ビ ットの信号を ROMァドレスとして生成する。
逆 DC T演算を行う場合には、 各 A 7, A6, A5, A4, A3, A2, A 1 , AOからなる 8ビットの信号に、 その最上位に 1を付加して、 ROMアドレスを 生成する。
即ち、 N又は Mの値が 7の場合の逆 DC T演算では、 第 1のバタフライ演算回 路 103の各データ線 30 g, 30 f , 30 e, 30 d, 30 c, 30 b, 30
aから出力される信号 A 6, A5, A4, A3, A2, A 1 , AOに基づいて構 成される 7ビッ トの信号に、 その上位ビットである A7に 0を付加し、 さらに、 その信号 A7, A6, A 5, Ad, A3, A2, A 1 , ΛΟからなる 8ビッ トの 信号に、 逆 DC Τ演算であることを示す 1を付加してなる 9ビッ卜の信号を R〇 Mァドレスとして生成する。
同様に、 N又は Mの値が 6の場合の逆 DC T演算には、 第 1のバタフライ演算 回路 103の各データ線 30 f , 30 e, 30 d, 30 c, 30 b, 30 aから 出力される信号 A6, A 5, A4, A3, A2, A 1, AOに基づいて構成され る 6ビットの信号に、 その上位ビットである A 7, A6にそれぞれ 1, 0を付加 し、 N又は Mの値が [ の場^には、 第 1のバタフライ演算回路 103の各データ 線 30 e, 30 d, 30 c, 30 b, 30 aから出力される信号 A 4 , A3, A 2, A 1 , AOに基づいて構成される 5ビットの信号に、 その上位ビットである A 7, AG, A 5にそれぞれ 1, 1, 0を付力 Dし、 N又は Mの値が 8の^には、 第 1のバタフライ演算回路 103のデータ線 30 g, 30 e, 30 c, 30 a, 又はデータ線 3 Oh, 30 f , 30 d, 30 bから出力される信号 A 3, A 2, A 1 , AOに基づいて構成される 4ビッ卜の信号に、その上位ビットである A 7, A 6, A 5, A 4にそれぞれ 1, 1, 1, 0を付加し、 N又は Mの値が 3の^ には、 第 1のバタフライ演算回 ¾§103の各データ線 30 c, 30 b, 30 aカ ら出力される信号 A2, A 1, AOに基づいて榷成される 3ビッ トの信号に、 そ の上位ビットである A7, A6, A 5, A4, A3にそれぞれ 1, 1, 1, 1, 0を付加し、 N又は Mの値が 4の^には、 第 1のバタフライ演算回路 103の データ線 30し', 30 a、又はデータ線 30 d, 30 bから出力される信号 A 1 , AOに基づいて構成される 2ビットの信号に、その上位ビントである A 7, A6, A 5, A4. A3, A 2にそれぞれ 1, 1, 1, 1, 1, 0を付加し、 N又は M の値が 2の^^には、 第 1のバタフライ演算回路 103のデータ線 30 a、 乂は 30 bから出力される信号 AOに基づく 1ビットの信号に. その上位ビットであ る A7, A 6, A 5, A4, A3, Λ2, A 1にそれぞれ 1, 1, 1 , 1, 1, 1, 0を付カロし、 さらに、 上記各 Α7, Α6, Α5, Α4, A3, Α2, Al, AOからなる 8ビットの信号に、 逆 DC T演算であることを示す 1を付加してな
る 9ビットの信 を R ΟΜァドレスとして生成する。
ROMアドレス発生回路 104においては、 以上のようなアドレスを生成する ことにより, : AC 105が有する各 ROMに対するァドレスのデータ数を 51 2個とすることができる。 但し、 第 3図に示す 4個の未使用アドレスのデータ部 を含む。
第 5図は、 RAC 105の各 ROMに記録された ROMデータのマンブ図であ る。 N又は Mが 1から 8までの の、 DC丁演算又は逆 DC丁演算を行うため の乗算結果が、 RUMアドレスに対応して、 それぞれ ROM 0, RO 1, R〇 M2, ROM 3, ROM 4, ROM 5, ROM6, R OM 7に IB録されている。 次に、 本 DC T演算装置 100の動作について説明する。
ここでは、 S X 7で構成される画素データを入力として、 本 DCT装置 100 により D C Τ演算を行う場合にっレ、て説明する。
まず、 制御回路 101は、 入力画素データの個数 Ν又は Μと、 DC丁演算又は 逆 DC T演算を行うことを示す信号を出力する。 この場合は、 N=8, M= 7, DCT演算を示す信号である。 つぎに、 ビットスライス回路 102は、 入力され た列方向の 8個の面素データを、 各画素データの L SBから 1ビント毎に出力す る。 第 1のバタフライ演算回路] 03、 N= 8を示す信号を受け、 式 (18) で 表されろバタフライ演算を行う。 即ち、 第 1の選択回路 31 aはデータ線 30 h を、 笫 2の選択回路 31 bはデータ線 30 gを選択する。 第 1の選択回路 31 a により選択されたデータ線 30 hにより入力された信号と、 データ線 30 aによ り入力された信号とを第 1の加算回路 32 aが加算する。 また、 第 2の選択回路 31 bにより選択されたデータ線 30 gにより入力された信号と、 データ線 30 bにより入力された信号とを第 2の加算回路 32 bが加算する。 さらに、 データ 線 30 cとデータ線 30 dとから入力されるデータを第 3の加算回路 32 cがカロ 算し、 データ線 30 dとデータ線 30 eとから入力されるデータを第 4の加算回 路 32 dが加算する。
—方、 データ線 30 dとデータ線 30 eとから入力される信号を第 1の減算 0 路 33 aが减算し、 データ線 30 cとデータ線 30 f とから人力されるデータを 第 2の減算回路 33 bが減算する。 さらに、 上記第 2の選択回路 31 bにより選
択されたデータ線 30 gと、 データ線 30 bとから入力されるデ一タを第 3の減 算回路 33 bが減算し、 上記第 1の選択回路 31 aにより選択されたデータ線 3 0 hと、 データ線 30 aとから入力されるデ一タを第 4の減算回路 33 dが减算 する。
このようにして、第 1のバタフライ演算回路 103は、バタフライ演算を行う。 この演算は、 式 (18) の右辺に示された、 X 0 + x 7, X 1 + X 6 , X 2 + X 5, X 3 + X 4. X 0 - X 7, X 1 - 6, χ 2- χ 5, χ 3— χ 4の加減算を 実行していることとなる。
ROMァドレス発生回路 104は、 上記第 1のバタフライ演算回路 103の出 力に基づいて、 ROMア ドレス信号を生成して出力する。 即ち、 ROMアドレス 発生回路 104は、 上記 X υ + X 7, X 1 f X 6 , x 2 + x 5 , χ 3 + χ4を示 す信号の順に構成された 4ビットの信号に、 該 4ビットの信号の上位 5ビッ卜に 01 110を付加して、 9ビン 卜の ROMァドレスを生成する。 該 ROMァドレ スは、 尺 じ 105の1 〇^10, ROM2, ROM4, ROM6に出力される„ また、 ROMアドレス発生回路 104は、 上記 X 0— X 7, x 1 x 6, x 2- x 5, x 3- x 4を示す信号の順に構成された 4ビットの信号に、 第 4ビッ トの 上記 5ビットに ϋ 1 1 10を付加して、 9ビッ卜の ROMァドレスを生成する。 該 ROMア ドレスは、 1¾八 105の1 0^1, ROM3, ROMS, ROM7 に出力される。
RAC 105WRO U, ROM1, ROM2, ROM 3, ROM4, ROM 5, ROM 6, ROM 7は、 R OMアドレス発生回路 104によって生成された RO [ァドレスに対応するデータを出力し、 該各 ROMの出力を累算する累算回 路 5 l a, 51 b, 51 c, 51 d. 51 e. 5 I f , 51 g, 51 hは、 各 R OMの出力を累算して、 出力する。 これにより、 式 (18) に示す X0, X 2, X4, X6, XI, X 3, X 5, X 7が算出されることとなる。
第 2のバタフライ演算回路 106は、 R AC 105の各累筧回路 51 a, 51 b, 51 c, 5 I d, 51 e, 5 I f, 51 g, 51 hの出力を、 DCT演算さ れた 8個の画素データとして出力する。 即ち、 第 2のバタフライ演算回路 106 の各レジスタ 60 a, 60 b, 60 c, 60 d , 60 e, 60 f , 60 g, 60
hは、 RAC 105の各累算回路 51 a, 51 b, 51 c, 51 d, 51 e, 5 1 f , 51 g, 51 hの出力信号をラッチし、 入力された順に上記各レジスタか ら出力する。
このようにして、 列方向に入力される 8個の画素データ毎に一連の演算を 7回 繰り返し (第 6 (a) 図)、 これにより 56個の画素データに対する中間結果を出 力して 1次元 DC丁演算を終了する (第 6 (b) 図)。
つぎに、 上 IE56個の中間結果 (第 6 (b) 図) に対し、 行力'向に 7個の画素 データ毎に、 DCT演算装置 100に入力される。 この場合は、 式 (5) に表さ れる演算を実行することとなる。 上記と同様の動作で、 入力される 7個の画素デ ータ毎に一連の演算を 8回繰り返し (笫 6 (c) 図)、 これにより 56個の画素デ —タに対する 2次兀 UCT演算を終了する (第 6 (d) 図)。
なお、 この場合には、 8個目の画素データは存在しないため、 上記ビソ トスラ イス回路 102は、 7個の入力画素データに対応してビッ トスライス動作を行レ、、 また、 RAC 105の ROM7及び累算回路 S 1 hは、 動作を行わない。
次に、 6 X 4で構成される画素データを入力として、 本 DCT装置 100によ り逆 D C T演算を行う場合にっレ、て説明する。
まず、 制御回路 1 U 1は、 入力画素データの個数 N又は Mと、 DCT演算又は 逆 DCT演算を行うことを示す信号を出力する。 この場合は、 N=6, M二 4, 逆 DC丁演算を示す信号である。 つぎに、 ビットスライス回路 102は、 入力さ れた列方向の 6個の画素データを、 各画素データの L S Bから 1ビッ卜毎に出力 する。 第 1のバタフライ滾算回路 103は、 6及び逆 DC Tを示す信号を S け、 バタフライ演算を行わずに、 入力画素データをそのまま出力する。
ROMァドレス発生回路 104は、 上記第 1のバタフライ演算回路 103の出 力に基づいて、 ROMァドレス信号を生成して出力する。
N=6の場合は、 ROMアドレス発生回路 104は、 信号 A 5, A 4, A3, A 2, A 1, AOの順に構成された fiビットの信号に、 該 6ビットの信号の上位 3ビシ トに 1 10を付加して、 9ビン トの ROMァドレスを生成する。 該 ROM アドレスは、 RAC 105の RQMO, RO 1 , ROM 2, ROM 3, ROM 4, ROM5に出力される。
RAC 105の ROMO, ROM1, ROM2, RO 3, ROM4, ROM 5は、 ROMァドレス発生回路 104によって ^された ROMァ ドレスに対応 するデータを出力し、 該各 ROMの出力を累算する累算回路 51 a, 51 b, 5 1 c, 5 I d, 51 e, 51 f は、 各 ROMの出力を累算して、 出力する。 これ により、 式 (13) に不す X0, XI, X2, X 3, X4, X 5が筧出されるこ ととなる。
なお、 1¾ じ 105の1 〇^6, ROM7、 及び累算回路 5丄 g, 51 hは、 対応する入力画素データが存在しないので、 動作を行わない。
第 2のバタフライ演算回路は、 N = 6及び逆 D C T演算を示す制御 ί言号を受け、 RAC 105の各累算回路 51 a , 51 b, 51 c, 51 d, 51 e , 51 f の 出力を、 逆 DC丁演算された 6個の画素データとして出力する。 即ち、 第 2のバ タフライ演算回路 106の各レジスタ 60 a, 60 b, 60 c, 60 d, 60 e , 60 f は、 RAC 105の各累算回路 5 l a, 51 b, 51 c, 51 d, 51 e, 51 ίの出力信号をラッチし、 入力された順に上記各レジスタから出力する。 このようにして、 列方向に入力される 6個の画素データ毎に一連の演算を 4回 繰り返し (第 7 (a) 図〉、 これにより 24個の画素データに対する中間結果を出 力して 1次兀 DC T演算を終了する (第 7 (b) 図)。
つぎに、 上記 24個の中間結果 (第 7 (b) 図) は、 行方向に 4個の画素デー タ毎に、 DCT演算装置 100に入力される。 ここでも、 上記と同様の動作で、 入力される 4個の画素データ毎に一連の演算を 6回繰り返し (第 7 (c) 図)、 こ れにより、 24個の画素データに対する 2次元 DCT演算を終了する (第 7 (d) 図)。
即ち、 制御回路 101は、 M=4, 逆 DCT演筧を示す信号を出力する。 つぎ に、 ビシトスライス回路 102は、 入力された行方向の 4 の画素データを、 各 画素データの L S Bから 1ビット毎に出力する。 第 1のバタフライ演算回路 10 3は、 M= 4及び逆 DC Tを示す信号を受け、 バタフライ演算を行わずに、 1ビ ット毎にスライスされた入力画素データをそのまま出力する。
ROMァドレス発生回路 104は、 上記第 1のバタフライ演算回路 103の出 力に基づいて、 ROMアドレス信号を生成して出力する。 即ち、 RAC 105の
データ線 30 c, 30 a、 又はデータ線 30 d, 30 bの出力である 2ビッ卜の 信号に、 該 2ビッ卜の信号の上位 7ビットに 0111 1 10を付加して、 9ビッ トの ROMァドレスを生成する。該 ROMァドレスは、 RAC 105の R〇M0, R〇M2、 又は R〇M1, ROM3に出力される。
RAC丄 05の ROMO, ROM1. ROM2, ROM3は、 ROMアドレス 発生回路 104によって生成された ROMァドレスに対応するデータを出力し、 該各 ROMの出力を累算する累算回路 51 a, 51 b, 51 c, 5 I dは、 各 R OMの出力を累算して、 出力する。
第 2のバタフライ演算回路は、 M= 4及び逆 D C T演算を示す制御信弓を受け、 R AC 105の各累算回路 51 a , 5 l b, 51 c, 5 I dの出力をバタフライ 演算して出力する。 即ち、 R AC 105の各累算回路 51 a, 51 b, 51 c, 5 Ί dの出力を、 各レジスタ 60 a, 60 b, 60 c, 60 dにランチする。 レジスタ 6 l aは、 レジスタ 60 aの出力、 レジスタ 60 cの出力、 レジスタ ΰ ,0 aの出力、 レジスタ 60 cの出力の順に、 データのラッチを 4回行う。 一方、 レジスタ 6 l bは、 レジスタ 60 bの出力、 レジスタ 60 dの出力、 レジスタ 6 0 bの反転出力、 レジスタ 60 dの反転出力の順に、データのラツチを 4回行う。 加算器 ΰ 2は、レジスタ 61 aの出力とレジスタ 61 bの出力とを順 fc^算する。 これにより、 式 (22) に示す X 0, X 1, X 2, X 3が算出されることとなる。 レジスタ 63は、 上記加 ¾62の出力を順にラッチして、 出力する。
このように、 本実施の形態 1による DC T演算装置によれば、 N又は Mの値、 及び DC T演算又は逆 DC丁演算を示す制御信号により、 笫 1のバタフライ演算 回路 103及び第 2のバタフライ演算回路 106が行うバタフライ演算を制御し、 N又は Mの単^∑ブロックの画素デ一タの Γ» C T演算又は逆 D C T演算に対応する ROMアドレスを、 ROMアドレス発生回路 104が生成することにより、 一の DC T演算装置で、 1力 ら 8の任意の で構成される N X M単位ブロックの画 素デ一タの DC T演算及び逆 DC丁演算を行うことができる。 これにより、 回路 面積の小さな上記 D C丁演算装置を得ることができる。
また、 第 1のバタフライ演算回路 103及び第 2のバタフライ演算回路 106 を設け、 N又は Mの値が 2のべき乗である^には、 バタフライ演算を利用する
ようにしたので、 行列演算に F F Tを利用して演算量を減らすことができ、 R O Mに格納している, D C T演算結果及び逆 D C T演算結果を求めるために用いる 乗算結果となるデータ、 即ち Nまたは M画素の入力画素データのそれぞれの 1ビ ットにより構成される Nまたは Mビッ卜のビット歹 IJと、 D C T演算結果及び逆 D C丁演算結果を求めるために用いる係数とを乗算した部分積の計算結果の量を小 さくすることができ、 このデータを記録する R OMのデータ容量を小さくするこ とができ、 回路面積の小さな D C丁演算装置を得ることができる効果がある また、 F F Tを用いることにより R OM O〜7内に格納すろデータの量を削減 することができるが、 R OM O〜7を 1つの R OM内の複数の領域として実現す る^ 、 R OMの全体の容量を削 l—るためには、 削減したデータ部分を詰める 必要がある。 しかしながら、 F F Tによりデータ数の削减を行ったデータを、 単 に削減したデ一タ部分をそのままの順でつめて R OMに格納すると、 D A法を用 いた^の特徴の 1つである入力データの各ビントをァドレスとするということ が不可能となり、 入力画素デ一タの各ビットから得られたビット列を並べ替える ための手段が必要となる結果、ァドレス生成が 化してしまう。 これに対して、 本実施の形態 1においては、 R OMアドレス発生回路 1 0 4力;、 第 1のバタフラ ィ演算回路 1 0 3から得られたビット列に対してァドレスを生成するために付加 するヘッダァドレスとして, このヘッダァドレスを付加することによって得られ る全てのァドレス力 連統したァドレスとなるようなビット列を用いるようにし たことにより、 第 1のバタフライ演算回路 1 0 3からビット列をアドレスの一部 としてそのまま利用できるように、 力つ、 R OM内に無駄な領域が発生しないよ う効率よく、 データを R OM にマッピングでき、 R OM容量を削減することが できる„ これにより、 D C T演算装置の回路面積をより小さくすることができる 効果が得られる。
実施の形態 2 .
第 1 0図は、本発明の実施の形態 2に係る D C丁演算装置であり、図において、 第 1図と同一符号は同一または相当する部分を示している。 この実施の形態 2に 係る D C T演算装置 2◦ 0は、 上記実施の形態 1に係る D C T演算装置 1 0 0に おいて、 第 2のバタフライ演算回路に代えて、 演算手段の出力を、 入力画素デ一
タの順序に対応して出力する出力回路 206を備えたものとして、 DCT演算の みを行うようにしたものである。 この DCT演算装置 200においては、 制御回 路 101が出力する制御信号には DC丁演算を行う力 \ 逆 DCT演算を行うかを 示す値が不要となり、 ROMァドレス発生回路 104が生成する ROMァドレス は、 DC丁演算を行う力、 逆 DC T演算を行う力 ^示す値を含める必要がないた め、 入力画素データをビットスライスしたものに、 N又は Mの値を示すヘンダァ ドレスを付加した 8ビッ トのものとする。 また、 ROM10〜ROM17は、 上 記実施の形態 1におレ、て説明した R OM 0〜 R OM 7から、 逆 D C T演箅に使用 すろデータを格納する領域をそれぞれ除いたものである。 なお、 この DCT演算 装 S200の動作については、 上記実施の形態 1に係る DC T演算装置における DC丁演算を行う動作と同様であるので、 ここでは、 その説明を省略する。 このような実施の形態 2においても、 上記実施の形態 1と同様に、 N又は Mの 値を 7、す制御信号により、 第 1のバタフライ演算回路 1 U 3が行うバタフライ演 算を制御し、 ROMァドレス発生回路 1◦ 4が第 1のバタフライ演算回路 103 の出力に基づいて N又は Mの単位ブロンクの画素データの DC T演算に対応する ROMアドレスを生成することにより、 一の DCT演算装置で、 行数または列数 力; 1カゝら 8の任意の整数で構成される NX M単位プロックの画素データの DC T演算を行うことができ、 回路面積の小さな上記 D C T演算装置を得ることがで きる。
また、 N又は Mの値が 2のべき乗である^には、 バタフライ演算を利用する ようにしたので、 行列演算に F FTを利用して演算量を減らすことができ、 DC T演算結果を求めるために用いる乗算結果となるデータを記録する R OMのデー タ容量を小さくすることができ、 回路面積の小さな DC T演算装置を得ることが できる効果がある。
また、 第 1のバタフライ演算回路 103から得られたビット列をア ドレスの一 部としてそのまま利用できるように、 かつ、 ROM内に無駄な領域が ¾生しない よう、 効率よくデータを ROM内にマッピングでき、 ROM容量を削減すること ができ、 DC T演算装置の回路面積をより小さくすることができる効果が得られ る。
実施の形態 3.
第 1 1図は、本発明の実施の形態 3に係る DC丁演算装置であり、図において、 第 1囡と同一符号は同一または相 する部分を示している。 この実施の形態 3に 係る DC丁演算装置 300は、 上記实施の形態 1に係る DC丁演算装置 100に おいて、 第 1のバタフライ演算回路を設けないようにし、 ビットスライス手段 1 02の出力が ROMァドレス発生回路 104に直接入力されるようにし、 逆 DC 丁演算のみを行うようにしたものである。この DCT演算装置 300においては、 制御回路 101が出力する制御信号には DC T演算を行う力 逆 DC T演算を行 うかを示す値が不要となり、 ROMア ドレス発生回路 104は生成する ROMァ ドレスは、 0じ丁演算を打ぅカ'、 逆 DC T演算を行うかを示す値を含める必要が ないため、 入力画素データをビットスライスしたものに, N又は Mの値を示すへ ッダア ドレスを付カ卩した 8ビッ トのものとする。 また、 R〇M20〜R〇M27 は、 上記実施の形態 1において説明した ROM 0〜: ROM 7から、 DCT演算に 使用するデータをそれぞれ除いたものである。 なお、 この DCT演算装置 300 の動作については、 上記実施の形態 1に係る DCT演算装置における逆 DCT演 算を ί了う動作と同様であるので、 ここでは、 その説明を省略する。
このような実施の形態; においても、 上記実施の形態 1と同様に、 Ν又は Μの 値を示す制御信号により、 第 2のバタフライ演算回路 106が行うバタフライ演 算を制御し、 ROMァドレス発生回路がビットスライス回路 1 ϋ 2の出力から Ν 又は Μの単位ブロックの画素データの逆 DC Τ演算に対応する ROMァドレスを 生成することにより、 --の DC T演算装置で、 行数または列数が 1から 8の任意 の整数で構成される NX M単位ゾロックの画素データの逆 DC丁演算を行うこ とができ、 回路面積の小さな上記 D C T演算装置を得ることができる。
また、 N又は Mの値が 2のべき乗である場合には、 バタフライ演算を利用する ようにしたので、 行列演算に FF丁を利用して演算量を減らすことができ、 逆 D C丁演算結果を求めるために用いろ乗算結果となるデータを記録する ROMのデ ータ容量を小さくすることができ、 回路面積の小さな D C T演算装置を得ること ができる効果がある。
また、 ビットスライス回路 102から得られたビット列をァドレスの一部とし
てそのまま利用できるように、 かつ、 ROM内に無駄な領域が発生しないよう、 効率よくデータを R OJV [内にマソビングでき、 R OM容量を削减することができ、 D C T演筧装置の回路面積をより小さくすることができる効果が得られる。
実施の形態 4.
第 9図は本発明の実施の形態 4に係る D C T演算装置の構成を示すプロック図 であり、 図において、 ビットスライス回路 112は、 上記実施の形態 1に係るビ ットスライス回路 102の、 入力を 16ビッ トの画素データとし、 この画素デ一 タをスライスする単^ Ϊを 2ビット単 ί立としたものである。 また、 第 1のバラフラ ィ演算回路 1 13は、 上記実施の形態 1に係る第 1のバタフライ演算回路 103 において、 2ビットのデータについてバタフライ演算を行い、 2ビット単位で出 力するようにしたものである。 ROMアドレス発生回路 1 14は、 第 1のバラフ ライ演算回路 113の出力である 2ビットのデータの各ビットにより表わされる ァドレスに対して、 それぞれヘッダァドレスを付加して、 9ビットのァドレスを 作成するもので、 このヘッダアドレスとしては、 卜.記実施の形態 1に係る ROM アドレス発生回路 104が付加するものと同様のデータ、 即ち、 笫 1のバラフラ ィ演算回路 1 13の出力に対してこのヘッダアドレスを付加することによって得 られる全てのァドレスが連続したアドレスに並べ替えられるようなビシト列を用 いる u RAC115は、 上記実施の形態 1に示した R AC 105と同様に、 第 1 のバタフライ演算回路 113のビット単位の出力から得られるビット列と上記実 施の形態 1において式(5) 〜式(7)、式(9)、式(12) 〜式(14)、 式(1 6) 及び式 (18) 〜式 (23) で示した行列演算の係数との部分積の計算結果 をテープノレとして保持する ROMと、 ROMァドレス発生回路丄 14から出力さ れるァドレスによりこの ROMから出力されるデータを累算する累箅回路を備え ていろ。 ただし、 ビットスライス回路 112が 2ビット単位で画素データをスラ イスしており、 それぞれのビットから得られる 2つのアドレスに対する上記部分 積の計算結果を個別に保持するテーブルが必要となるため、 上記実施の形態 1に 示した RAC 105の、 ROM0〜R〇M7のそれぞれの代わりに、 ROM0〜 ROM 7と同様の構成を有している、 ROMO a〜ROM7 aと R〇M0 b〜R 〇M7 bとを 1つずつ互いに並列に設けた構成としている。 なお、 ここでは、 R
OMO a〜R〇M7 a及び ROMO b〜ROM7 b內のデータを 16ビットとす るが、 このデータのビット数は他のビット数であってもよい。 累算回路 52 a〜 52 hはそれぞれ、 ROMO aと ROMO bとの出力、 ROMl aと ROMl b との出力、 ROM2 aと ROM2 bとの出力、 ROM3 aと ROM3 bとの出力、 ROM4 aと R〇M4 bとの出力、 ROM 5 aと R OM 5 bとの出力、 ROM6 aと ROM6 bとの出力、 R〇M7 aと ROM7 bとの出力を、 それぞれ 1 Gビ ットのデータとして入力し、 累算した結果を、 DCT演算の^には DC丁演算 結果として、 また、 逆 DGT演算の^には逆 DCT演算の結果を求めろために 第 2のバタフライ演算回路 1 1 6に入力するデータとして出力する。 第 2のバタ フライ演算回路 1 1 Gは、 上記実施の形態 1に係る第 2のバタフライ演算回路 1 06において、 出力するデ一タを 1 6ビットとしたものである。
この実施の形態 4に係る DCT演算回路においては、 NXM単位ブロックの画 像データから行単位、 または列単位で入力される画素データを 2ビッ卜ごとにス ライスし、第 1のバタフライ演算回路 1:! 3は、 DCT演筧を行う場合であって、 入力される行または列の画素データ数である Nまたは Mが 2のべき乗である には、 上記スライスした 2ビットのデータに対して上記実施の形態 1と向様のバ タフライ演算を行う π また. それ以外の には, バタフライ演算を行わない。
ROMァドレス発生回路 1 14は第 1のバタフライ演算回路 1 1 3の 2ビットご との複数の出力のうちの各 1ビッ卜のデータからそれぞれ構成される 2つのビッ ト列にヘッダアドレスを付加して、 2つのアドレスを生成し、 その一方を ROM 0 a〜ROM7 aに、 他方を R OM 0 b〜R〇M 7 bに対して出力する。 ROM 0 a〜ROM7 b及び ROMO b〜ROM7 bは入力されるァドレスに対応した、 D C丁演算または逆 D C T演算に用いる部分積の計算結果をそれぞれ出力する。 累算回路 52 a〜52 hは並列に設けられた ROM同士の出力を累算して出力し、 第 2のバタフライ演算回路 1 1 6は逆 DC丁演算を行う場合であって、 入力され る行または列の画素データ数である Nまたは Mが 2のべき乗である場合には、 累 算回路 52 a〜52 hから出力されるデータに対して上記実施の形態 1と同様の 逆 D C T演算を行って、 その演算結果を入力画素データの順序に対応して並び替 えて出力し、 その他の場合にはバタフライ演算を行わずに、 累算回路 52 a〜5
2 hから出力されるデータを入力がソデータの順序に対応して並び替えて出力す る。
このような実施の形態 4によれば、 入力される行または列の画素データ数であ る Nまたは Mが 2のべき乗である場合にバタフライ演算を行うようにしたので、 行列演算に F F Tを利用でき、 R OM O a〜R OM 7 a , R OM 0 a〜R〇M 7 aに格納する D C T演算及び逆 D C丁演算を求めるために用いるデータ数を減ら すことができ、 上記実施の形態 1と同様に R OM容量を削減できる効果がある。 また、 第 1のバタフライ演算回路"! 1 3から出力される 2ビットからなる複数 の画素データのそれぞれのビットにより構成されるアドレスに対して、 全てのァ ドレスが連続して配列されるようにヘッダァドレスを付加するようにしたから、 R OM内におけるデータのマツビングを効率よく行うことができ、 入力される画 素データが 1 6ビシトの ^においても、 上記実施の形態 1と同様に、 R OM容 量を削减することができる効果がある。
なお、 上記実施の形態 4においては、 上記実施の形態 1に係る D C T演算装置 を、 その入力が 1 6ビットとなるように変形したものについて説明したが、 本発 明においては、 上記実施の形態 2及び 3に係る D C丁演算装置において、 その入 力が 1 6ビットとなるようにするようにしてもよく、このような^においても、 上記実施の形態 4と同様の効果を奏する。
また、 上記実施の形態 1〜4においては、 ビットスライス回路に入力されるデ ータが 8ビットまたは ] fiビットとしたが、 本発明においては、 入力画素データ のビット数は何ビントであってもよく、 ビントスライス回路によるスライスする ビッ トの単位や、 R A Cに含まれる R OMの数を調整することにより、 上記各実 施の形態と同様の効果を奏する。
なお、 上記各実施の形態 1〜4に係る D C T演算装置において、 N又は Mの値 が 8以外、 即ちその上限値以外の:^ 8こ、 未使用となる R OM及び累算回路等の 手段の動作を停止すろようにしてもよい。 このようにすることで、 不必要な R O IV [及び累算回路等の手段による消費電力を削減することができる。
また、 上記実施の形態 1〜4においては、 乗算結果を出力するための手段とし て、 R ON [を用いるようにしたが、 本発明においては、 R OMの代わりに、 アド
レスが入力されると、 これに対応した乗算結果を出力するような組み合わせ回路 を用いるようにしてもよく、 このような^においても、 上記各実施の形態と同 様の効果を奏する。
また、 上記実施の形態 1〜4においては、 入力される画像データの単位ブロッ クが最大 8 X 8画素まで対応できるものについて、 説明したが、 寧-位ブロックの 最大の大きさは、 8 X 8以外のどのような大きさであってもよく、 このような場 合においても、 単位ブロックの最大の人きさに合わせて、 R OMと累算回路との 組の数, 及び各 R OMのサイズ等を増減させることにより、 上記各実施の形態と 同様の効果を奏する。 産業上の利用可能性
以上のように、 本発明に係る D C T演算装置は、 動画像データの符号化装置、 あるいは復号化装置内における D C丁演算装置として有用であり、 特に、 M P E G (Moving Picture Coding Experts Group)方式による符号化、 または復号化を行 う装置内の D C丁演算装置に用いるのに適している。