JPH1091615A - 離散コサイン変換/逆変換装置 - Google Patents

離散コサイン変換/逆変換装置

Info

Publication number
JPH1091615A
JPH1091615A JP24623296A JP24623296A JPH1091615A JP H1091615 A JPH1091615 A JP H1091615A JP 24623296 A JP24623296 A JP 24623296A JP 24623296 A JP24623296 A JP 24623296A JP H1091615 A JPH1091615 A JP H1091615A
Authority
JP
Japan
Prior art keywords
data
output
discrete cosine
transform
inverse
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.)
Pending
Application number
JP24623296A
Other languages
English (en)
Inventor
Susumu Yoshida
進 吉田
Yukitoshi Tsuboi
幸利 坪井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24623296A priority Critical patent/JPH1091615A/ja
Publication of JPH1091615A publication Critical patent/JPH1091615A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 DCT/IDCT処理での累積加算回路の個
数を削減する。 【解決手段】 入力される画像空間データあるいは変換
係数データを入力レジスタ部2で必要数の1/2ずつの
データに分けて第1,第2のデータの時分割の配列と
し、DCTのときには、バタフライ演算部3,ビット分
割部5で夫々を処理した後、乗算部6で第1,第2のデ
ータ毎に変換係数を乗算し、累積加算部7で第1,第2
のデータについて累積加算を行ない、出力レジスタ部1
0で変換係数データを得る。また、IDCTのときに
は、ビット分割部5で夫々を処理した後、乗算部6で第
1,第2のデータ毎に逆変換係数を乗算し、累積加算部
7で第1,第2のデータについて累積加算を行ない、バ
タフライ演算部8で処理した後、出力レジスタ部10で
IDCTデータを得る。累積加算部7は第1,第2のデ
ータのデータ数だけあればよく、その個数を半減でき
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル画像デ
ータなどの情報量圧縮に用いられる離散コサイン変換/
逆変換装置に関する。
【0002】
【従来の技術】ディジタル画像データなどの情報量圧縮
のための変換方式として、離散コサイン変換法及び逆変
換法(Discrete Cosine Transform, Inverse Discrete
CosineTransform:以下、夫々DCT,IDCTとい
う)が知られている。DCTは周波数変換法の一種であ
り、画像空間上のエネルギーを周波数空間上のエネルギ
ーに変換することができる。特に、低周波成分に大きな
値を集中させることができるので、高周波成分を落とす
操作を行なうことにより、効率良く情報量の圧縮を実現
することが可能となる。IDCTはその逆変換にあた
り、周波数空間上のエネルギーを画像空間上のエネルギ
ーに変換する。例えば、動画像符号化方式の国際標準で
あるMPEG(Moving Picture Experts Group)方式に
おいても、変換方式としてDCT/IDCTが採用され
ている。
【0003】図3はMPEG方式を用いた動画像符号化
装置の一従来例を示すブロック図である。
【0004】同図において、入力端子41から入力され
た画像データは、減算器42で参照画データとの差分が
とられる。この差分データの8×8画素のブロック単位
に対し、DCT回路43でDCTが施される。量子化回
路44では、このDCTによる係数データに対して、高
周波成分をカットするような操作が行なわれる。符号化
処理としては、量子化後の係数データが可変長符号化回
路49で可変長符号化され、バッファ50を介して出力
端子51から出力されるが、これとは別に、参照画生成
のために、局所復号が行なわれる。即ち、量子化された
係数データは逆量子化回路45で量子化回路44の逆処
理がなされ、IDCT回路46でIDCTが施されて差
分データに復号される。この差分データは、加算器47
でフレームメモリ48に記憶されていた参照画データと
加算されて、このフレームメモリ48に記憶され、局所
復号が成立する。
【0005】一般に、N×N(但し、Nは自然数)画素
の画像ブロックを単位とした2次元DCT/IDCTで
は、まず、行方向にN回の1次元DCT/IDCTが行
なわれ、同じ行に変換結果あるいは逆変換結果を戻し、
続いて、列方向にN回の1次元DCT/IDCTが行な
われ、同様に、同じ列に変換結果あるいは逆変換結果が
戻される。以上の演算により、N×N個の2次元DCT
/IDCTの結果を得ることができる。
【0006】例えば、N=8の場合、1次元DCTは次
の数1の行列式で表わされる。
【0007】
【数1】
【0008】但し、X0〜X7は入力値、Y0〜Y7は
1次元DCTの変換結果であり、また、Ciは次の数2
によって表わされる値である。
【0009】
【数2】
【0010】さらに、1次元IDCTは、次の数3の行
列式で表わされる。
【0011】
【数3】
【0012】つまり、2次元DCT/IDCTを行なう
ためには、上記行列式に基づく演算を効率良く行なえる
ような回路構成を実現することが必要がある。
【0013】そのような離散コサイン変換/逆変換装置
に関しては、多数の発明がなされており、例えば、特開
平2−173870号公報や特開平4−17464号公
報,米国特許明細書第4791598号などに記載され
ている。
【0014】
【発明が解決しようとする課題】ところで、上記従来技
術では、ROMテーブルの共用などにより、DCT及び
IDCTを同一の回路上で実現した離散コサイン変換/
逆変換装置が提案されている。これらの装置では、前述
のように、数1あるいは数3による行列式で表わされる
変換係数あるいは逆変換係数を入力データに掛けたもの
の総和をとる積和演算が必要であり、入力された画像空
間データあるいは変換係数データの数に対して同数の変
換結果あるいは逆変換結果を得るために、それと同数の
累積加算回路を必要としていた。
【0015】また、図3に示したような動画像の符号化
処理では、局所復号という処理が含まれるため、DCT
とIDCTをある動作周波数の下で間に合うように、同
時に処理する必要がある。DCTとIDCTでは、行列
演算として同様の処理をする部分が多いので、前述のよ
うに、回路の共通化を図ることが考えられるが、処理量
と時間的な制限によっては別個に回路を持ち、並列に処
理を行なわなければならないことがある。その場合に、
回路規模の増大を如何に抑えて、効率の良い回路構成を
どのように行なうかということについては、これまで特
に考慮されていなかった。
【0016】本発明は、かかる点に鑑みてなされたもの
であって、その目的は、累積加算回路の必要個数を入力
データの数よりも少なくすることができ、回路規模を大
幅に削減することができるようにした離散コサイン変換
/逆変換装置を提供することにある。
【0017】本発明の他の目的は、処理時間の制限にも
かかわらず、DCT変換と逆DCT変換での回路の共通
化を図ることができるようにした離散コサイン変換/逆
変換装置を提供することにある。
【0018】
【課題を解決するための手段】上記数1は、次の数4の
ように変形されることが知られている。
【0019】
【数4】
【0020】つまり、N=8の1次元DCTは、結果と
して、次の数5,6のような演算で実現できる。
【0021】
【数5】
【0022】
【数6】
【0023】また、同様にして、上記数3は、次の数7
のように変形されることが知られている。
【0024】
【数7】
【0025】つまり、N=8の1次元IDCTは、次の
数8,9のような演算で実現することができる。
【0026】
【数8】
【0027】
【数9】
【0028】以上のことからして、上記数1,数3の行
列式の演算を実現するためには、数5,数6あるいは数
8,数9に基づいた演算を実現すればよく、そのため
に、入力される画像空間データあるいは変換係数データ
を必要数の半分づつ入力するような構成とし、さらに、
行列演算のための乗算を時分割で行なうような構成とす
る。
【0029】また、バタフライ演算部の前段に2段のレ
ジスタを挿入する。これにより、入力された画像空間デ
ータあるいは変換係数データの数に対して同数の変換結
果あるいは逆変換結果を得るために、その半数の累積加
算回路で離散コサイン変換/逆変換装置を構成すること
を可能とする。
【0030】さらに、時間的な制限に対応してDCT及
びIDCTを並列に処理するように構成し、さらに、転
置用のメモリを兼用するように構成して、このメモリへ
のデータの書込み順やこのメモリからの読出し順を操作
することにより、回路規模の削減を図る。
【0031】
【発明の実施の形態】以下、図面を用いて本発明の実施
形態について説明する。
【0032】図1は本発明による離散コサイン変換/逆
変換装置の第1の実施形態を示すブロック図であって、
14は1次元DCT/IDCT回路、15は転置RAM
(Random Access Memory)、16は1次元DCT/ID
CT回路である。
【0033】この実施形態では、図3に示した動画像符
号化装置に対応した変換/逆変換装置として、画像デー
タに対して2次元のDCT/IDCTの演算が可能な構
成となっており、図2に示すように、図3におけるDC
T回路43とIDCT回路46を1つの離散コサイン変
換/逆変換装置回路13で実現している。特に、以下で
は、処理ブロック単位をN×N画素とし、N=8の場合
について説明する。
【0034】図1において、1次元DCT/IDCT回
路14,16は夫々、1次元のDCTとIDCTとを演
算できる構成となっている。転置RAM15は1ブロッ
ク分の容量を持ち、1次元DCT/IDCT回路14に
より計算された1次元目(行方向)の1次元DCT/I
DCTの結果を一旦記憶し、かつその読出し順序を2次
元目(列方向)に変えて1次元DCT/IDCT回路1
6に供給するためのものである。1次元DCT/IDC
T回路16は、転置RAM15から読み出されたデータ
に対して2次元目(列方向)の1次元DCT/IDCT
を行ない、最終的に、2次元DCT/IDCTを完了さ
せるものである。
【0035】図2は図1における1次元DCT/IDC
T回路14,16の一具体例を示す構成図であって、1
は入力端子、2は入力レジスタ、3はバタフライ演算
部、4は切替部、5はビット分割部、6は乗算部、7は
累積加算部、8はバタフライ演算部、9は切替部、10
は出力レジスタ、11は出力端子、12はDCT/ID
CT切替えフラグである。なお、23〜26,28〜3
2は夫々データを示す。
【0036】同図において、入力端子1から入力された
N(=8)個の入力データは、入力レジスタ2によって
一時記憶された後、所定の順番でN/2(=4)個ずつ
データ22a〜22d,データ23a〜23dとして読
み出され、データ22a〜22dは直接、また、データ
23a〜23dはバタフライ演算部3でバタフライ演算
が施されて、データ24a〜24dとして夫々切替部4
に供給される。ここで、データ22a〜22dとデータ
23a〜23dは同じデータであることはいうまでもな
い。
【0037】切替部4は、DCT/IDCT切替えフラ
グ12により、DCTの場合、データ24a〜24d
を、IDCTの場合、データ22a〜22dを夫々選択
する。即ち、入力レジスタ2から読み出されるN/2個
のデータは、DCTの場合、バタフライ演算部3でバタ
フライ演算が施され、IDCTの場合、このバタフライ
演算が施されない。
【0038】切替部4から出力されるデータ25a〜2
5dは、ビット分割部5でビット分割された後、下位ビ
ットから順にマルチプレクスされ、シリアルなデータ2
6として乗算部6に転送される。乗算部6では、かかる
データ26に対して、上記の数5,数6、即ち、
【0039】
【数5】
【0040】
【数6】
【0041】あるいは数8,数9、即ち、
【0042】
【数8】
【0043】
【数9】
【0044】に応じた乗算処理がなされ、その結果得ら
れるデータ28a〜28dを累積加算部7で加算してい
く。
【0045】累積加算部7から出力されるデータ29a
〜29hはバタフライ演算部8でバタフライ演算が施さ
れて切替部9に供給され、また、累積加算部7から出力
されるデータ30a〜30hは直接切替部9に供給され
る。これらデータ29a〜29hとデータ30a〜30
hとは同じデータであることはいうまでもない。切替部
9はDCT/IDCT切替えフラグ12によって切り替
えられ、DCTの場合には、データ30a〜30hを選
択し、IDCTの場合には、バタフライ演算が施された
データ31a〜31hを選択する。即ち、DCTの場
合、データはバタフライ演算が施されず、IDCTの場
合、データはバタフライ演算が施されることになる。
【0046】切替部9の出力データ32a〜32hは、
出力レジスタ10に一旦記憶された後、1次元DCT/
IDCTの結果として出力端子11から順次出力され
る。
【0047】以上の構成により、N個の入力データに対
して、その半分のN/2個ずつ時分割に各処理がなされ
ることが可能となっている。
【0048】図4は図2における入力レジスタ部2の一
具体例を示すブロック図であって、201〜208はレ
ジスタである。また、図5(a)はこの具体例の各部の
データを示すタイミング図であって、図4に対応するデ
ータには同一符号を付けている。なお、図5(a)にお
けるA0〜A7はDCTのときとIDCTのときのデー
タを総称するデータであって、かかる変換時のデータと
データA0〜A7との対応を図5(b)に示す。
【0049】図4及び図5において、8個のデータA
1,A2,……,A7はクロックに同期して入力され、
レジスタ201で夫々4クロック分シフトされて出力さ
れる。従って、レジスタ201で4クロック周期だけ遅
延される。レジスタ201から出力されるデータは、さ
らに、レジスタ202,203,204で、同様に、4
クロック周期ずつ順次遅延される。
【0050】また、レジスタ201,202,203,
204の出力データは、このようにしてデータA3,A
2,A1,A0のタイミングが揃った時点で夫々レジス
タ205,206,207,208にラッチされ、同様
にして、次の4個のデータA7,A6,A5,A4のタ
イミングが揃うまでの4クロック周期の期間、出力され
る。
【0051】このようにして、入力される8個のデータ
A0〜A7について、最初の4個の入力データA0,A
1,A2,A3がレジスタ208,207,206,2
05から4クロック周期の期間パラレルに出力され、次
いで、同様にして、次の4個の入力データA4,A5,
A6,A7がレジスタ208,207,206,205
から4クロック周期の期間パラレルに出力される。
【0052】かかるパラレルデータが入力レジスタ部2
の出力データ22a〜22d,23a〜23dである。
【0053】データA0〜A7は、DCTの場合には、
図5(b)に示すように、先の数5,数6での画素デー
タX0〜X7であり、IDCTの場合には、先の数8,
数9での1次元DCTの変換結果のデータY0〜Y7で
ある。
【0054】そこで、DCTの場合には、入力レジスタ
部2の出力データ22a〜22d,23a〜23dとし
て、レジスタ205〜208から夫々画素データX3,
X2,X1,X0がパラレルに4クロック周期の期間得
られ、次いで、4個のデータX4,X5,X6,X7
が、同様に、パラレルに4クロック周期の期間得られ
る。この場合には(即ち、DCTの場合には)、図2で
説明したように、出力データ23a〜23dが有効とな
る。
【0055】IDCTの場合には、入力レジスタ部2の
出力データ22a〜22d,23a〜23dとして、レ
ジスタ205〜208から4個のデータY6,Y4,Y
2,Y0がパラレルに4クロック周期の期間得られ、次
いで、4個のデータY7,Y5,Y3,Y1が、同様
に、パラレルに4クロック周期の期間得られる。この場
合には(即ち、IDCTの場合には)、図2で説明した
ように、出力データ22a〜22dが有効となる。
【0056】図6は図2でのバタフライ演算部3の一具
体例を示すブロック図であって、301〜304はレジ
スタ、305〜308は加算器、309〜312は減算
器、313〜316はレジスタ、317〜320はセレ
クタである。また、図7はこの具体例の各部のデータを
示すタイミング図であって、図6に対応するデータには
同一符号を付けている。
【0057】このバタフライ演算部3は、DCTのとき
にのみ有効とされる。先に説明したように、DCTでは
先の数5,数6に示す行列演算によってなされるもので
あるが、この際の行列演算は、画素データX0〜X7の
差,和、即ち、X0±X7,X1±X6,X2±X5,
X3±X4についてなされる。バタフライ演算部3は、
数5,数6の行列演算に先立ち、かかる画素データX0
〜X7の差,和のデータを求めるものである。
【0058】図6,図7において、入力レジスタ部2
(図4)の4個の出力データ23a,23b,23c,
23dが入力データとして、4クロック周期毎に、この
4周期の期間ずつ同時に供給される。ここで、入力デー
タ23aとしてデータX3が、入力データ23bとして
データX2が、入力データ23cとしてデータX1が、
入力データ23dとしてデータX0が夫々パラレルに供
給されると、これらデータX3,X2,X1,X0は夫
々、加算器305〜308と減算器309〜312に供
給されるとともに、レジスタ301〜304にも供給さ
れて、4クロック周期に等しい周期のクロック(以下、
これを分周クロックというが、この分周クロックは、周
期が図7に示すクロックの周期の4倍であるというだけ
であり、必ずしもこのクロックを分周して得られたもの
ではない)でラッチされる。
【0059】次に、このデータX3,X2,X1,X0
よりも4クロック周期だけ遅れて、データX4,X5,
X6,X7が入力データ23a,23b,23c,23
dとして供給され、夫々加算器305〜308と減算器
309〜312に供給されるが、これとともに、レジス
タ301,302,303,304にラッチされたデー
タX3,X2,X1,X0が出力されて、夫々加算器3
05〜308と減算器309〜312に同じに供給され
る。これにより、加算器305,306,307,30
8からは夫々、和データ(X3+X4),(X2+X5),(X1+X6),
(X0+X7)が出力され、減算器309,310,311,
312からは夫々、差データ(X3-X4),(X2-X5),(X1-X
6),(X0-X7)が出力される。
【0060】これら和データ(X3+X4),(X2+X5),(X1+X
6),(X0+X7)は直接セレクタ317,318,319,
320に供給され、差データ(X3-X4),(X2-X5),(X1-X
6),(X0-X7)は、4クロック周期の分周クロックでレジ
スタ313〜316にラッチされ、4クロック周期だけ
遅延されてセレクタ317,318,319,320に
供給される。これにより、これら和,差データは、同時
に生成されるが、図7に示すように、4クロック周期分
タイミングがずれることになる。
【0061】これらセレクタ317,318,319,
320は、加算器305,306,307,308から
和データ(X3+X4),(X2+X5),(X1+X6),(X0+X7)が出力さ
れると、これらを選択してデータ24a,24b,24
c,24dとして出力し、次に、レジスタ313,31
4,315,316から差データ(X3-X4),(X2-X5),(X
1-X6),(X0-X7)が出力されると、これを選択してデータ
24a,24b,24c,24dとして出力する。
【0062】このようにして、このバタフライ演算部3
により、先の数5,数6での右辺の和データと差データ
が得られることになる。これら和データと差データは、
図2で説明したように、DCTのとき、切替部4で選択
され、データ25a〜25dとしてビット分割部5に供
給される。
【0063】図8はかかるビット分割部5の一具体例を
示すブロック図であって、501〜504はセレクタ、
505はマルチプレクサである。また、図9(a)はこ
の具体例の各部の信号を示すタイミング図であって、図
8に対応する信号には同一符号を付けている。なお、図
9において、D0〜D7は切替部4(図2)から供給さ
れるデータを示し、これらとDCT/IDCTとでの入
力データ25a,25b,25c,25dとの対応を図
9(b)で示している。
【0064】先に示した数5によると、バタフライ演算
部3(図6)で得られた和データ(X0+X7),(X1+X6),(X2+
X5),(X3+X4)は、4回繰り返し演算されることになる。
数6によると、同様にして、バタフライ演算部3で得ら
れた差データ(X0-X7),(X1-X6),(X2-X5),(X3-X4)も、4
回繰り返し演算されることになる。ビット分割部4は、
この和データ(X0+X7),(X1+X6),(X2+X5),(X3+X4)を4回
繰り返し生成し、この差データ (X0-X7),(X1-X6),(X2-X
5),(X3-X4)を4回繰り返し生成するためのものである。
【0065】図8及び図9において、バタフライ演算部
3からのデータ25d,25c,25b,25aが入力
データD3,D2,D1,D0として供給され、これらが夫々和デ
ータ(X0+X7),(X1+X6),(X2+X5),(X3+X4) であると、これ
らは夫々セレクタ504,503,502,501に供
給される。
【0066】ここで、 a=(X0+X7),b=(X1+X6),c=(X2+X5),d=(X3+X4) とし、これら和データa,b,c,dが夫々4M(但
し、Mは1以上の整数)ビットからなり、最下位ビット
を“0”、最上位ビットを“4M−1”として、これら
を4分割し、和データa,b,c,dでの ビット“0”〜“M−1”の部分をデータa0,b0,
c0,d0 ビット“M”〜“2M−1”の部分をデータa1,b
1,c1,d1 ビット“2M”〜“3M−1”の部分をデータa2,b
2,c2,d2 ビット“3M”〜“4M−1”の部分をデータa3,b
3,c3,d3 とすると、セレクタ504では、和データ(X0+X7)をa
0,a1,a2,a3、セレクタ503では、和データ
(X1+X6)をb0,b1,b2,b3に、セレクタ502
では、和データ(X2+X5)をc0,c1,c2,c3に、
セレクタ501では、和データ(X3+X4)をd0,d1,
d2,d3に夫々ビット分割される。
【0067】そして、まず、1クロック周期の間に、セ
レクタ504が部分データa0を、セレクタ503が部
分データb0を、セレクタ502が部分データc0を、
セレクタ501が部分データd0を夫々その順に選択
し、これらがマルチプレクサ505で合成されて出力デ
ータ26となる。この出力データ26がデータE0(0)で
あり、 E0(0)=a0 (+) b0 (+) c0 (+) d0 と表わし、和データ(X0+X7),(X1+X6),(X2+X5),(X3+X4)
夫々の下位Mビット“0”〜“M−1”からなるもので
ある。なお、(+)は、和を表わすのではなく、順番に
配列されていることを表わしている。
【0068】次の1クロック周期の期間では、セレクタ
504が部分データa1を、セレクタ503が部分デー
タb1を、セレクタ502が部分データc1を、セレク
タ501が部分データd1をその順に選択し、これによ
り、出力データ26として、 E0(1)=a1 (+) b1 (+) c1 (+) d1 が得られ、同様にして、さらに次の1クロック周期の期
間では、 E0(2)=a2 (+) b2 (+) c2 (+) d2 が得られ、さらに次の1クロック周期の期間では、 E0(3)=a3 (+) b3 (+) c3 (+) d3 が得られる。
【0069】なお、データE0(0),データE0(1),データ
E0(2),データE0(3)はシリアルデータであり、このた
め、各部分データa0〜a3,b0〜b3,c0〜c3,d0〜d3も、
セレクタ501〜504から選択される際、その下位ビ
ットから順に配列されてなるものである。
【0070】差データ(X0-X7),(X1-X6),(X2-X5),(X3-X
4)についても同様であって、ここで、e=(X0-X7),f
=(X1-X6),g=(X2-X5),h=(X3-X4)とし、これらの
差データe,f,g,hが夫々4M(但し、Mは1以上
の整数)ビットからなり、最下位ビットを“0”、最上
位ビットを“4M−1”として、これらを4分割し、差
データe,f,g,hでの ビット“0”〜“M−1”の部分をデータe0,f0,
g0,h0 ビット“M”〜“2M−1”の部分をデータe1,f
1,g1,h1 ビット“2M”〜“3M−1”の部分をデータe2,f
2,g2,h2 ビット“3M”〜“4M−1”の部分をデータe3,f
3,g3,h3 とすると、セレクタ504では、差データ(X0-X7)をe
0,e1,e2,e3、セレクタ503では、差データ
(X1-X6)をf0,f1,f2,f3に、セレクタ502
では、差データ(X2-X5)をg0,g1,g2,g3に、
セレクタ501では、差データ(X3-X4)をh0,h1,
h2,h3に夫々ビット分割される。
【0071】そして、同様にして、出力データ26とし
て、1クロック周期の期間ずつシリアルのデータ E1(0)=e0 (+) f0 (+) g0 (+) h0 E1(1)=e1 (+) f1 (+) g1 (+) h1 E1(2)=e2 (+) f2 (+) g2 (+) h2 E1(3)=e3 (+) f3 (+) g3 (+) h3 を得る。
【0072】また、IDCTの場合には、上記数8の演
算のためのデータY0,Y2,Y4,Y6が、データD
3,D2,D1,D0として、4クロック周期の期間パ
ラレルに入力され、次に、数9の行列演算のためのデー
タY1,Y3,Y5,Y7が、データD7,D6,D
5,D4として、4クロック周期の期間パラレルに入力
される。
【0073】まず、データY0,Y2,Y4,Y6が入
力されるときには、a=Y0,b=Y2,c=Y4,d
=Y6として、先の和データ(X0+X7),(X1+X6),(X2+X5),
(X3+X4)と同様に、夫々a0〜a3,b0〜b3,c0
〜c3,d0〜d3にビット分割され、出力データ26
として、1クロック周期の期間ずつシリアルのデータ E0(0)=a0 (+) b0 (+) c0 (+) d0 E0(1)=a1 (+) b1 (+) c1 (+) d1 E0(2)=a2 (+) b2 (+) c2 (+) d2 E0(3)=a3 (+) b3 (+) c3 (+) d3 が生成される。
【0074】次に、データY1,Y3,Y5,Y7が入
力されたときには、e=Y1,f=Y3,g=Y5,h
=Y7として、先の差データ(X0-X7),(X1-X6),(X2-X5),
(X3-X4)と同様に、夫々e0〜e3,f0〜f3,g0
〜g3,h0〜h3にビット分割され、出力データ26
として、1クロック周期の期間ずつシリアルのデータ E1(0)=e0 (+) f0 (+) g0 (+) h0 E1(1)=e1 (+) f1 (+) g1 (+) h1 E1(2)=e2 (+) f2 (+) g2 (+) h2 E1(3)=e3 (+) f3 (+) g3 (+) h3 が生成される。
【0075】このようにして生成されたビット分割部5
の出力データ26は乗算部6(図2)に供給され、数
5,数6の演算、数8,数9の演算が行なわれる。
【0076】図10は図2における乗算部6の一具体例
を示すブロック図であって、601〜608はROM
(Read Only Memory)、609〜612は加算器であ
る。また、図11(a)はこの具体例の動作を示すタイ
ミング図であって、図10に対応する信号には同一符号
を付けており、図11(b)は同図(a)での各データ
の関係を示している。
【0077】この具体例は、図8及び図9で説明したビ
ット分割部5からのデータ26、即ち、データE0(1)〜E
0(3),E1(0)〜E1(3)について、DCTの場合には、先の
数5及び数6の行列演算を行ない、IDCTの場合に
は、先の数8、数9の行列演算を行なうものであって、
この演算のためにROM(Read Only Memory)を利用す
る。
【0078】なお、図11(a)において、E0(1)〜E0
(3),E1(0)〜E1(3)は先の図8に示したビット分割部5
で得られたデータである。また、図11(b)におい
て、C1〜C7は先の数5,数6,数8,数9での係数
であり、データa〜hも、図8に示したビット分割部5
の場合と同様、DCTの場合には、 a=X0+X7,b=X1+X6,c=X2+X5,d=X3+X4 e=X0-X7,f=X1-X6,g=X2-X5,h=X3-X4 とし、IDCTの場合には、 a=Y0,b=Y2,c=Y4,d=Y6, e=Y1,f=Y3,g=Y5,h=Y7 としている。
【0079】次に、この具体例の動作を説明する。
【0080】図10及び図11において、まず、DCT
の場合について説明すると、ビット分割部5から入力デ
ータ26として、最初に、データE0(0)、即ち、 E0(0)=a0 (+) b0 (+) c0 (+) d0 が供給される。その内の先頭から2Mビット、即ち、デ
ータa0(+)b0がROM601,603,605,607
で作用し、図11(b)でF0,F2,F4,F6とし
て示すように、ROM601から、出力27aとして、
F0(0)=C4・a0 (+) C4・b0が、ROM603から、出力2
7cとして、F2(0)=C2・a0 (+) C6・b0が、ROM605
から、出力27eとして、F4(0)=C4・a0 (+) -C4・b0
が、ROM607から、出力27gとして、F6(0)=C6・
a0 (+) -C2・b0が夫々得られる。また、データE0(0)の内
の残りの2Mビット、即ち、データc0(+)d0がROM
602,604,606,608で作用し、同様にし
て、ROM602から、出力27bとして、F1(0)= C4
・c0 (+) C4・d0が、ROM604から、出力27dとし
て、F3(0)=-C6・c0 (+) -C2・d0が、ROM606から、
出力27fとして、F5(0)=-C4・c0 (+) C4・d0が、RO
M608から、出力27hとして、F7(0)= C2・c0 (+)
-C6・d0が夫々得られる。
【0081】ROM601,602の出力データ27
a,27bは加算器609で合成されて、図11(b)
に G0 として示すように、 G0(0)=F0(0) (+) F1(0)=C4・a0 (+) C4・b0 (+) C4・c0 (+) C4・d0 が出力データ28aとして得られる。これは、和データ
(X0+X7),(X1+X6),(X2+X5),(X3+X4)のビット“0”〜
“M−1”の部分データに夫々、数5の演算での第1行
の変換係数C4を乗じたものの配列である。
【0082】同様にして、ROM603,604の出力
データ27c,27dは加算器610で、ROM60
5,606の出力データ27e,27fは加算器611
で、ROM607,608の出力データ27g,27h
は加算器612で夫々合成され、同様にして、 G1(0)=F2(0) (+) F3(0)=C2・a0 (+) C6・b0 (+) -C6・c0 (+) -C2・d0 G2(0)=F4(0) (+) F5(0)=C4・a0 (+) -C4・b0 (+) -C4・c0 (+) C4・d0 G3(0)=F6(0) (+) F7(0)=C6・a0 (+) -C2・b0 (+) C2・c0 (+) -C6・d0 が夫々出力データ28b,28c,28dとして得られ
る。これは、上記和データのビット“0”〜“M-1”
の部分データに夫々、数5の演算での第2行,第3行,
第4行の変換係数Ciを乗じたものの配列である。
【0083】次に、データE0(1)、即ち、E0(1)=a1 (+)
b1 (+) c1 (+) d1が入力されると、同様にして、上記
和データのビット“M”〜“2M-1”の部分データに
夫々、数5の演算での各の変換係数Ciを乗じたものの
配列である、 G0(1)=F0(1) (+) F1(1)=C4・a1 (+) C4・b1 (+) C4・c1 (+) C4・d1 G1(1)=F2(1) (+) F3(1)=C2・a1 (+) C6・b1 (+) -C6・c1 (+) -C2・d1 G2(1)=F4(1) (+) F5(1)=C4・a1 (+) -C4・b1 (+) -C4・c1 (+) C4・d1 G3(1)=F6(1) (+) F7(1)=C6・a1 (+) -C2・b1 (+) C2・c1 (+) -C6・d1 が出力データ28a,28b,28c,28dとして得
られる。
【0084】以下、同様にして、データE0(2)が入力さ
れると、 G0(2)=F0(2) (+) F1(2)=C4・a2 (+) C4・b2 (+) C4・c2 (+) C4・d2 G1(2)=F2(2) (+) F3(2)=C2・a2 (+) C6・b2 (+) -C6・c2 (+) -C2・d2 G2(2)=F4(2) (+) F5(2)=C4・a2 (+) -C4・b2 (+) -C4・c2 (+) C4・d2 G3(2)=F6(2) (+) F7(2)=C6・a2 (+) -C2・b2 (+) C2・c2 (+) -C6・d2 が出力データ28a,28b,28c,28dとして得
られ、データE0(3)が入力されると、 G0(3)=F0(3) (+) F1(3)=C4・a3 (+) C4・b3 (+) C4・c3 (+) C4・d3 G1(3)=F2(3) (+) F3(3)=C2・a3 (+) C6・b3 (+) -C6・c3 (+) -C2・d3 G2(3)=F4(3) (+) F5(3)=C4・a3 (+) -C4・b3 (+) -C4・c3 (+) C4・d3 G3(3)=F6(3) (+) F7(3)=C6・a3 (+) -C2・b3 (+) C2・c3 (+) -C6・d3 が出力データ28a,28b,28c,28dとして得
られる。
【0085】次に、差データ(X0-X7),(X1-X6),(X2-X5),
(X3-X4)に対するデータ E1(0),E1(1),E1(2),E1(3)が順
に供給されるが、これについても同様の処理が、数6の
係数を用いて行なわれ、データE1(0)が入力されると、
夫々出力データ28a,28b,28c,28dとして G4(0)=F8(0) (+) F9(0)=C1・e0 (+) C3・f0 (+) C5・g0 (+) C7・h0 G5(0)=F10(0) (+) F11(0)=C3・e0 (+) -C7・f0 (+) -C1・g0 (+) -C5・h0 G6(0)=F12(0) (+) F13(0)=C5・e0 (+) -C1・f0 (+) C7・g0 (+) C3・h0 G7(0)=F14(0) (+) F15(0)=C7・e0 (+) -C5・f0 (+) C3・g0 (+) -C1・h0 が出力データ28b,28c,28dとして得られる。
【0086】次に、データE1(1)が入力されると、 G4(1)=F8(1) (+) F9(1)=C1・e1 (+) C3・f1 (+) C5・g1 (+) C7・h1 G5(1)=F10(1) (+) F11(1)=C3・e1 (+) -C7・f1 (+) -C1・g1 (+) -C5・h1 G6(1)=F12(1) (+) F13(1)=C5・e1 (+) -C1・f1 (+) C7・g1 (+) C3・h1 G7(1)=F14(1) (+) F15(1)=C7・e1 (+) −C5・f1 (+)
C3・g1 (+) −C1・h1 が出力データ28b,28c,28dとして得られ、デ
ータE1(2)が入力されると、 G4(2)=F8(2) (+) F9(2)=C1・e2 (+) C3・f2 (+) C5・g2 (+) C7・h2 G5(2)=F10(2) (+) F11(2)=C3・e2 (+) -C7・f2 (+) -C1・g2 (+) -C5・h2 G6(2)=F12(2) (+) F13(2)=C5・e2 (+) -C1・f2 (+) C7・g2 (+) C3・h2 G7(2)=F14(2) (+) F15(2)=C7・e2 (+) -C5・f2 (+) C3・g2 (+) -C1・h2 が出力データ28b,28c,28dとして得られ、デ
ータE1(3)が入力されると、 G4(3)=F8(3) (+) F9(3)=C1・e3 (+) C3・f3 (+) C5・g3 (+) C7・h3 G5(3)=F10(3) (+) F11(3)=C3・e3 (+) -C7・f3 (+) -C1・g3 (+) -C5・h3 G6(3)=F12(3) (+) F13(3)=C5・e3 (+) -C1・f3 (+) C7・g3 (+) C3・h3 G7(3)=F14(3) (+) F15(3)=C7・e3 (+) -C5・f3 (+) C3・g3 (+) -C1・h3 が出力データ28b,28c,28dとして得られる。
【0087】IDCTの場合には、 a=Y0,b=Y2,c=Y4,d=Y6 e=Y1,f=Y3,g=Y5,h=Y7 として、数8,数9の逆変換係数が用いられ、データE0
(0)、即ち、 E0(0)=a0 (+) b0 (+) c0 (+) d0 が入力されると、出力データ28a,28b,28c,
28dとして、夫々G0(0),G1(0),G2(0),G3(0)、即
ち、 G0(0)=F0(0) (+) F1(0)=C4・a0 (+) C2・b0 (+) C4・c0 (+) C6・d0 G1(0)=F2(0) (+) F3(0)=C4・a0 (+) C6・b0 (+) -C4・c0 (+) -C2・d0 G2(0)=F4(0) (+) F5(0)=C4・a0 (+) -C6・b0 (+) -C4・c0 (+) C2・d0 G3(0)=F6(0) (+) F7(0)=C4・a0 (+) -C2・b0 (+) C4・c0 (+) -C6・d0 が得られ、次に、データE0(1)、即ち、 E0(1)=a1 (+) b1 (+) c1 (+) d1 が入力されると、出力データ28a,28b,28c,
28dとして、夫々、 G0(1)=F0(1) (+) F1(1)=C4・a1 (+) C2・b1 (+) C4・c1 (+) C6・d1 G1(1)=F2(1) (+) F3(1)=C4・a1 (+) C6・b1 (+) -C4・c1 (+) -C2・d1 G2(1)=F4(1) (+) F5(1)=C4・a1 (+) -C6・b1 (+) -C4・c1 (+) C2・d1 G3(1)=F6(1) (+) F7(1)=C4・a1 (+) -C2・b1 (+) C4・c1 (+) -C6・d1 が得られ、次に、データE0(2)、即ち、 E0(2)=a2 (+) b2 (+) c2 (+) d2 が入力されると、出力データ28a,28b,28c,
28dとして、夫々、 G0(2)=F0(2) (+) F1(2)=C4・a2 (+) C2・b2 (+) C4・c2 (+) C6・d2 G1(2)=F2(2) (+) F3(2)=C4・a2 (+) C6・b2 (+) -C4・c2 (+) -C2・d2 G2(2)=F4(2) (+) F5(2)=C4・a2 (+) -C6・b2 (+) -C4・c2 (+) C2・d2 G3(2)=F6(2) (+) F7(2)=C4・a2 (+) -C2・b2 (+) C4・c2 (+) -C6・d2 が出力データ28a,28b,28c,28dとして得
られ、データE0(3)、即ち、 E0(3)=a3 (+) b3 (+) c3 (+) d3 が入力されると、出力データ28a,28b,28c,
28dとして、夫々、 G0(3)=F0(3) (+) F1(3)=C4・a3 (+) C2・b3 (+) C4・c3 (+) C6・d3 G1(3)=F2(3) (+) F3(3)=C4・a3 (+) C6・b3 (+) -C4・c3 (+) -C2・d3 G2(3)=F4(3) (+) F5(3)=C4・a3 (+) -C6・b3 (+) -C4・c3 (+) C2・d3 G3(3)=F6(3) (+) F7(3)=C4・a3 (+) -C2・b3 (+) C4・c3 (+) -C6・d3 が出力データ28a,28b,28c,28dとして得
られる。
【0088】次に、データE1(0)、即ち、 E1(0)=e0 (+) f0 (+) g0 (+) h0 が入力されると、夫々出力データ28a,28b,28
c,28dとして、夫々、 G4(0)=F8(0) (+) F9(0)=C1・e0 (+) C3・f0 (+) C5・g0 (+) C7・h0 G5(0)=F10(0) (+) F11(0)=C3・e0 (+) -C7・f0 (+) -C1・g0 (+) -C5・h0 G6(0)=F12(0) (+) F13(0)=C5・e0 (+) -C1・f0 (+) C7・g0 (+) C3・h0 G7(0)=F14(0) (+) F15(0)=C7・e0 (+) -C5・f0 (+) C3・g0 (+) -C1・h0 が出力データ28b,28c,28dとして得られ、以下
同様に、データE1(1)が入力されると、 G4(1)=F8(1) (+) F9(1)=C1・e1 (+) C3・f1 (+) C5・g1 (+) C7・h1 G5(1)=F10(1) (+) F11(1)=C3・e1 (+) -C7・f1 (+) -C1・g1 (+) -C5・h1 G6(1)=F12(1) (+) F13(1)=C5・e1 (+) -C1・f1 (+) C7・g1 (+) C3・h1 G7(1)=F14(1) (+) F15(1)=C7・e1 (+) -C5・f1 (+) C3・g1 (+) -C1・h1 が夫々出力データ28b,28c,28dとして得ら
れ、データE1(2)が入力されると、 G4(2)=F8(2) (+) F9(2)=C1・e2 (+) C3・f2 (+) C5・g2 (+) C7・h2 G5(2)=F10(2) (+) F11(2)=C3・e2 (+) -C7・f2 (+) -C1・g2 (+) -C5・h2 G6(2)=F12(2) (+) F13(2)=C5・e2 (+) -C1・f2 (+) C7・g2 (+) C3・h2 G7(2)=F14(2) (+) F15(2)=C7・e2 (+) -C5・f2 (+) C3・g2 (+) -C1・h2 が出力データ28b,28c,28dとして得られ、デ
ータE1(3)が入力されると、 G4(3)=F8(3) (+) F9(3)=C1・e3 (+) C3・f3 (+) C5・g3 (+) C7・h3 G5(3)=F10(3) (+) F11(3)=C3・e3 (+) -C7・f3 (+) -C1・g3 (+) -C5・h3 G6(3)=F12(3) (+) F13(3)=C5・e3 (+) -C1・f3 (+) C7・g3 (+) C3・h3 G7(3)=F14(3) (+) F15(3)=C7・e3 (+) -C5・f3 (+) C3・g3 (+) -C1・h3 が出力データ28b,28c,28dとして得られる。
【0089】以上のようにして生成された出力データ2
8a,28b,28c,29dは、図2での累積加算部
7に供給される。
【0090】なお、数6と数9の行列式の係数は等しい
から、差データでの上記の演算の変換係数と、データY
1,Y3,Y5,Y7での逆変換係数とは等しい。図1
1(b)では、これを「DCT/IDCT共通」という
表に示している。
【0091】図12は図2における累積加算部7の一具
体例を示すブロック図であって、701〜704は加算
器、705〜708はレジスタ、709〜712はシフ
タ、713〜720はレジスタである。また、図13
(a)はこの具体例の動作を示すタイミング図であり、
図13(b)はデータの対応を示す表である。
【0092】図12及び図13において、図10及び図
11で説明した乗算部6の出力データ28a,28b,
28c,28dがパラレルに入力データとして供給され
るが、図11に示し、また、図13に示すように、DC
T,IDCTともに、入力データ28aとしては、デー
タG0(0),G0(1),G0(2),G0(3),G4(0),G4(1),G4
(2),G4(3)の順で、入力データ28bとしては、データ
G1(0),G1(1),G1(2),G1(3),G5(0),G5(1),G5(2),G
5(3)の順で、入力データ28cとしては、データG2
(0),G2(1),G2(2),G2(3),G6(0),G6(1),G6(2),G6
(3)の順で、入力データ28dとしては、データG3(0),
G3(1),G3(2),G3(3),G7(0),G7(1),G7(2),G7(3)の
順で夫々入力される。
【0093】そこで、まず、DCTの場合について説明
すると、入力データ28aにおいては、最初の4個のデ
ータG0(0),G0(1),G0(2),G0(3)において、データG0
(0)は、和データ(X0+X7),(X1+X6),(X2+X5),(X3+X4)
のビット“0”〜“M-1”夫々の部分データに同じ変
換係数C4を乗算したもの、データG0(1)は、これら和
データのビット“M”〜“2M-1”夫々の部分データ
に同じ変換係数C4を乗算したもの、データG0(2)は、
これら和データのビット“2M”〜“3M-1”夫々の
部分データに同じ変換係数C4を乗算したもの、データ
G0(3)は、これら和データのビット“3M”〜“4M-
1”夫々の部分データに同じ変換係数C4を乗算したも
のであり、これら部分データの位数関係を調整して加算
することにより、数5での第1行の演算処理を行なうこ
とに相当し、この結果、DCTされたデータY0が得られ
ることになる。
【0094】そこで、図12及び図13において、入力
データ28aとしてデータG0(0),G0(1),G0(2),G0(3)
が供給されると、その直前でレジスタ705がリセット
され、まず、データG0(0)が加算器701を介してレジ
スタ705に取り込まれる。このとき、加算器701で
シフタ709からのデータと加算されるが、このデータ
は0である。
【0095】次に、データG0(1)が供給されると、レジ
スタ705に取り込まれたデータG0(0)がシフタ709
でシフトされて加算器701に供給され、データG0(0)
と加算される。このシフタ709は、データG0(0),G0
(1),G0(2),G0(3)間の位を調整するものであり、これ
らはMビットずつ順に上位となるものであるから、入力
されるデータ(この場合、データG0(1))がレジスタ7
05からのデータ(この場合、データG0(0))に対して
Mビット上位となるように、レジスタ705からのデー
タをシフトする。これにより、加算器701の出力デー
タは、 G0(0)+G0(1)×(2のM乗) となり、これがレジスタ705に取り込まれる。
【0096】同様にして、データG0(2),G0(3)が入力さ
れると、夫々について、加算器701でのシフタ709
からのデータとの加算とレジスタ705への取り込みが
行なわれ、データG0(0),G0(1),G0(2),G0(3)が入力さ
れたときには、レジスタ705に、α=2のM乗とし
て、 H0=G0(0)+G0(1)α+G0(2)α2+G0(3)α3 が得られる。ところで、これらG0(0),G0(1),G0(2),G
0(3)の先の式から、 H0= C4・a0 (+) C4・b0 (+) C4・c0 (+) C4・d0 +(C4・a1 (+) C4・b1 (+) C4・c1 (+) C4・d1)×α +(C4・a2 (+) C4・b2 (+) C4・c2 (+) C4・d2)×α2 +(C4・a3 (+) C4・b3 (+) C4・c3 (+) C4・d3)×α3 = C4・(a0+a1×α+a2×α2+a3×α3) +C4・(b0+b1×α+b2×α2+b3×α3) +C4・(c0+c1×α+c2×α2+c3×α3) +C4・(d0+d1×α+d2×α2+d3×α) であり、先のa0〜a3,b0〜b3,c0〜c3,d
0〜d3の定義から、上記H0の式での右辺第1項の括
弧内は和データ(X0+X7),右辺第2項の括弧内は
和データ(X1+X6),右辺第3項の括弧内は和データ(X2+X
5),右辺第4項の括弧内は和データ(X3+X4)である。従
って、上記のデータH0は、 H0=C4・(X0+X7)+C4・(X1+X6)+C4・(X2+X5)+C4・(X
3+X4) となり、レジスタ705に数5での第1行の演算結果で
あるデータY0が得られることになる。このデータY0
はレジスタ713にラッチされる。
【0097】これらデータG0(0)〜G0(3)と同時に、デー
タG1(0)〜G1(3)が入力データ28bとして、データG2
(0)〜G2(3)が入力28cとして、データG3(0)〜G3(3)が
入力28として夫々供給される。そして、データG0(0)
〜G0(3)と同様にして、データG1(0)〜G1(3)が加算器7
02とレジスタ706とシフタ710とによって演算処
理されて、 H2=G1(0)+G1(1)α+G1(2)α2+G1(3)α3 =C2・(X0+X7)+C6・(X1+X6)−C6・(X2+X5)−C2・(X3+X4) =Y2 のデータY2が得られ、データG2(0)〜G2(3)が加算器7
03とレジスタ707とシフタ711とによって演算処
理されて、 H4=G2(0)+G2(1)α+G2(2)α2+G2(3)α3 =C4・(X0+X7)−C4・(X1+X6)−C4・(X2+X5)+C4・(X3+X4) =Y4 のデータY4が得られ、データG3(0)〜G3(3)が加算器7
04とレジスタ708とシフタ712とによって演算処
理されて、 H6=G3(0)+G3(1)α+G3(2)α2+G3(3)α3 =C6・(X0+X7)−C2・(X1+X6)+C2・(X2+X5)−C6・(X3+X4) =Y6 のデータY6が得られる。これらデータY2,Y4,Y
6は夫々レジスタ714,715,716にラッチされ
る。
【0098】以上のようにして、和データでの数5の行
列演算の結果Y0,Y2,Y4,Y6が得られるが、次
に、入力データ28aとして、データG4(0),G4(1),G4
(2),G4(3)が、入力データ28bとして、データG5
(0),G5(1),G5(2),G5(3)が、入力データ28cとし
て、データG6(0),G6(1),G6(2),G6(3)が、入力データ
28dとして、データG7(0),G7(1),G7(2),G7(3)がが
夫々供給され、これらが上記と同様に演算処理される。
これにより、レジスタ705には、 H1=G4(0)+G4(1)α+G4(2)α2+G4(3)α3 =C1・(X0-X7)+C3・(X1-X6)+C5・(X2-X5)+C7・(X3-X4) が得られるが、これは差データについての上記数6の第
1行の演算結果であり、これにより、DCTされたデー
タY1が得られることになる。
【0099】同様にして、レジスタ706,707,7
08に夫々、 H3=G5(0)+G5(1)α+G5(2)α2+G5(3)α3 =C3・(X0-X7)+C7・(X1-X6)−C1・(X2-X5)−C5・(X3-X4) =Y3 H5=G6(0)+G6(1)α+G6(2)α2+G6(3)α3 =C5・(X0-X7)−C1・(X1-X6)+C7・(X2-X5)+C3・(X3-X4) =Y5 H7=G7(0)+G7(1)α+G7(2)α2+G7(3)α3 =C7・(X0-X7)−C5・(X1-X6)+C3・(X2-X5)−C1・(X3-X4) =Y7 が得られる。
【0100】以上のようにしてDCTされたデータY
1,Y3,Y5,Y7がレジスタ705,706,70
7,708に得られると、レジスタ713,714,7
15,716にラッチされている先のDCTされたデー
タY0,Y2,Y4,Y6は夫々レジスタ717,71
8,719,720に転送ラッチされ、これとともに、
レジスタ705,706,707,708のDCTされ
たデータY1,Y3,Y5,Y7が夫々レジスタ71
3,714,715,716に転送ラッチされる。これ
により、上記数1の行列演算の結果としてのDCTされ
たデータY0,Y1,Y2,……,Y7が、累積加算部
7の出力データ30a,30b,3c,……,30hと
して、得られ、これが切替部9(図2)で選択されて出
力レジスタ10(図2)に供給される。
【0101】IDCTの場合も同様の演算処理がなさ
れ、入力データ28aについては、データG0(0),…
…,G0(3),G4(0),……,G4(3)の内の最初の4個のデ
ータについて、 H0=G0(0)+G0(1)α+G0(2)α2+G0(3)α3 =C4・Y0+C2・Y2+C4・Y4+C6・Y6 の演算結果がレジスタ705に得られるが、これは、先
の数8の第1行の演算結果であり、これにより、和デー
タ(X0+X7)/2が得られる。同様にして、レジスタ706
には、 H2=G1(0)+G1(1)α+G1(2)α2+G1(3)α3 =C4・Y0+C6・Y2−C4・Y4−C2・Y6 =(X1+X6)/2 が得られ、レジスタ707には、 H4=G2(0)+G2(1)α+G2(2)α2+G2(3)α3 =C4・Y0−C6・Y2−C4・Y4+C2・Y6 =(X2+X5)/2 が得られ、レジスタ708には、 H6=G3(0)+G3(1)α+G3(2)α2+G3(3)α3 =C4・Y0−C2・Y2+C4・Y4−C6・Y6 =(X3+X4)/2 が得られる。これら和データ (X0+X7)/2,(X1+X6)/2,
(X2+X5)/2,(X3+X4)/2 はレジスタ713,714,7
15,716にラッチされる。
【0102】次に、入力データ28a,28b,28
c,28dの残りの4個のデータG4(0)〜G4(3),G5(0)
〜G5(3),G6(0)〜G6(3),G7(0)〜G7(3)が供給される
と、同様にして、レジスタ705に、 H1=G4(0)+G4(1)α+G4(2)α2+G4(3)α3 =C1・Y1+C3・Y3+C5・Y5+C7・Y7 が得られる。これは、先の数9の第1項の演算であり、
この結果、差データ(X0-X7)/2が得られることになる。
同様にして、レジスタ706には、 H3=G5(0)+G5(1)α+G5(2)α2+G5(3)α3 =C3・Y1−C7・Y3−C1・Y5−C5・Y7 =(X1-X6)/2 が得られ、レジスタ707には、 H5=G6(0)+G6(1)α+G6(2)α2+G6(3)α3 =C5・Y1−C1・Y3+C7・Y5+C3・Y7 =(X2-X5)/2 が得られ、レジスタ708には、 H7=G7(0)+G7(1)α+G7(2)α2+G7(3)α3 =C7・Y1−C5・Y3+C3・Y5−C1・Y7 =(X3-X4)/2 が得られる。
【0103】このように差データ (X0-X7)/2,(X1-X6)/
2,(X2-X5)/2,(X3-X4)/2 が得られると、レジスタ71
3,714,715,716にラッチされている和デー
タ (X0+X7)/2,(X1+X6)/2,(X2+X5)/2,(X3+X4)/2 は夫
々レジスタ717,718,719,720に転送ラッ
チされ、差データ(X0-X7)/2,(X1-X6)/2,(X2-X5)/2,
(X3-X4)/2が夫々レジスタ713,714,715,7
16に転送ラッチされる。これにより、上記数8,数9
の行列演算の結果としてのIDCTされたデータ (X0+X
7)/2,(X1+X6)/2,(X2+X5)/2,(X3+X4)/2,(X0-X7)/2,
(X1-X6)/2,(X2-X5)/2,(X3-X4)/2 が、累積加算部7の
出力データ29a,29b,29c,……,29hとし
て、得られ、これがバタフライ演算部8で処理されて切
替部9(図2)で選択され、出力レジスタ10(図2)
に供給される。
【0104】図14は図2におけるバタフライ演算部8
の一具体例を示すブロック図であって、801〜804
は加算器、805〜808は減算器である。また、図1
5はこの具体例の動作を示すタイミングであって、図1
4での各部のデータに対応するデータには同一符号を付
けている。
【0105】この具体例は、図12に示した累積加算部
7で得られたIDCTの結果の和データ29a,29
c,29e,29gと差データ29b,29d,29
f,29hとから逆変換データX0,X1,……,X7
を得るためのものである。
【0106】図14及び図15において、和データ29
a=(X0+X7)/2 と差データ29b=(X0-X7)/2 とは、と
もに、加算器801と減算器805とに供給され、夫々
から出力データ31a,31hとして、 データ31a=(X0+X7)/2 + (X0-X7)/2 = X0 データ31h=(X0+X7)/2 − (X0-X7)/2 = X7 が得られる。また、和データ29c=(X1+X6)/2 と差デ
ータ29d=(X1-X6)/2とが、ともに、加算器802と
減算器806とに供給されて、夫々から出力データ31
b,31gとして、 データ31b=(X1+X6)/2 + (X1-X6)/2 = X1 データ31g=(X1+X6)/2 − (X1-X6)/2 = X6 が得られ、和データ29e=(X2+X5)/2 と差データ29
f=(X2-X5)/2 とが、ともに、加算器803と減算器8
07とに供給されて、夫々から出力データ31c,31
fとして、 データ31c=(X2+X5)/2 + (X2-X5)/2 = X2 データ31f=(X2+X5)/2 − (X2-X5)/2 = X5 が得られ、和データ29g=(X3+X4)/2 と差データ29
h=(X3-X4)/2 とが、ともに、加算器804と減算器8
08とに供給されて、夫々から出力データ31d,31
eとして、 データ31d=(X3+X4)/2 + (X3-X4)/2 = X3 データ31e=(X3+X4)/2 − (X3-X4)/2 = X4 が得られる。
【0107】このようにして、DCTされたデータY0
〜Y7から元の変換前のデータX0〜X7がパラレルに
得られる。
【0108】図16は図2における出力レジスタ10の
一具体例を示すブロック図であって、1001,100
2はセレクタ、1003〜1006はレジスタ、100
7はセレクタである。また、図17(a)はこの具体例
の動作を示すタイミング図であり、図16に対応するデ
ータには同一符号を付けている。図17(b)は同図
(a)のデータの内容を示す表図である。
【0109】図16及び図17において、セレクタ10
01には、切替部9(図2)の出力データ32a,32
b,32c,32dが、入力データJ0,J1,J2,
J3として、同時に4クロック周期の期間供給され、こ
れと同時に、セレクタ1002に、この切替部9の出力
データ32e,32f,32g,32hが、入力データ
J4,J5,J6,J7として、4クロック周期の期間
供給される。
【0110】セレクタ1001は、かかる入力データを
1クロック周期の期間ずつJ0,J1,J2,J3の順
で選択してセレクタ1007に供給し、これと同時に、
セレクタ1002が、その入力データを1クロック周期
の期間ずつJ4,J5,J6,J7の順で選択して出力
する。これらデータJ4,J5,J6,J7は、レジス
タ1003〜1006により、夫々1クロック周期の期
間ずつ合計4クロック周期の期間遅延されてセレクタ1
007に供給される。
【0111】セレクタ1007は、まず、セレクタ10
01からのシリアルなデータJ0,J1,J2,J3を
選択し、次いで、レジスタ1006からのシリアルなデ
ータJ4,J5,J6,J7を選択する。これにより、
出力端子11には、シリアルなデータJ0,J1,J
2,J3,J4,J5,J6,J7が得られる。
【0112】ここで、DCTの場合には、切替部9の切
り替え動作により、図11(b)に示すように、データ
J0,J1,J2,J3は夫々データY0,Y1,Y
2,Y3であり、データJ4,J5,J6,J7は夫々
データY4,Y5,Y6,Y7である。従って、出力端
子11からは、データY0,Y1,Y2,Y3,Y4,
Y5,Y6,Y7がその順に1クロック周期の期間ずつ
シリアルに得られることになる。
【0113】また、IDCTの場合には、切替部9の切
り替え動作により、図11(b)に示すように、データ
J0,J1,J2,J3は夫々データX0,X1,X
2,X3であり、データJ4,J5,J6,J7は夫々
データX4,X5,X6,X7である。従って、出力端
子11からは、データX0,X1,X2,X3,X4,
X5,X6,X7がその順に1クロック周期の期間ずつ
シリアルに得られることになる。
【0114】以上のように、この第1の実施形態では、
入力される画像空間データあるいは変換係数データを必
要数の半分づつ入力するような構成とし、行列演算のた
めの乗算を時分割で行ない、2段のレジスタを介してバ
タフライ演算を行なうことにより、入力された画像空間
データあるいは変換係数データの数に対して半数の累積
加算回路で1次元のDCT処理,IDCT処理を行なう
ようにすること可能となる。即ち、かかる処理をなす図
2に示す1次元DCT/IDCT回路を用いて、図1に
示した構成の離散コサイン変換/逆変換装置を実現する
ことができる。
【0115】図18は本発明による離散コサイン変換/
逆変換装置の第2の実施形態を示すブロック図であっ
て、17は切替部、18は1次元DCT/IDCT回
路、19は転置RAMである。
【0116】図1に示した第1の実施形態では、2次元
DCT/IDCTを実現するため、図2に示した1次元
DCT/IDCT回路を2個用いたが、この第2の実施
形態では、図2に示した1次元DCT/IDCT回路を
1個のみ用いるものである。
【0117】図18において、離散コサイン変換/逆変
換装置13は、切替部17と、図2に示した1次元DC
T/IDCT回路18と、転置RAM19とで構成され
ている。
【0118】まず、1ブロック分のデータが入力される
ときには、切替部17は、1次元目/2次元目切替フラ
グ21により、この入力データを選択し、1次元DCT
/IDCT回路18に供給する。この1次元DCT/I
DCT回路18は、先に説明したようにして、この入力
データに対して1次元目(行方向)の1次元DCT/I
DCTを行ない、その結果を、一旦、1ブロック分の容
量の転置RAM19に記憶させる。
【0119】この転置RAM19に記憶されたデータ
は、次に、列方向に読み出され、この出力データが、1
次元目/2次元目切替フラグ21に応じて切り替えられ
た切替部17で選択されて再び1次元DCT/IDCT
回路18に供給され、2次元目(列方向)の1次元DC
T/IDCT処理される。これにより、1次元DCT/
IDCT回路18から2次元DCT/IDCTされたデ
ータが得られる。
【0120】この第2の実施形態では、1個の1次元D
CT/IDCT回路でもって2次元DCT/IDCTを
実現するために、図1に示した第1の実施形態の場合に
比べて、2倍の速度で動作させる必要があるが、1次元
DCT/IDCT回路を1個分を丸々削減することがで
き、切替部17のみの追加で構成することができるの
で、回路規模が大幅に削減することになる。
【0121】ところで、離散コサイン変換/逆変換装置
として、図3に示すような動画像符号化装置に対応した
動作を行なうためには、N×N画素のブロック単位を処
理する時間(1ブロック期間という)内に、符号化のた
めの1次元DCT及び局所復号のための1次元IDCT
を各2回ずつ行なう必要がある。例えば、図18に示さ
れる離散コサイン変換/逆変換装置13の場合、1次元
DCT/IDCT回路18で同時にDCTとIDCTと
の演算を行なうことはできないので、図19に示すよう
に、1ブロック期間として4回以上の1次元DCT/I
DCTを行なうだけの時間が必要である。しかし、処理
対象の画像サイズや動作周波数の制限によっては、充分
なブロック期間を確保できない場合がある。
【0122】図20はかかる問題を解消できるようにし
た本発明による離散コサイン変換/逆変換装置の第3の
実施形態を示すブロック図であって、13aはDCT専
用部、13bはIDCT専用部、17a,17bは切替
部、18aは1次元DCT回路、18bは1次元IDC
T回路、19a,19bは転置RAMである。
【0123】同図において、この第3の実施形態では、
離散コサイン変換/逆変換装置13として、DCT専用
部13aとIDCT専用部13bの1個ずつをもって構
成しており、DCT専用部13aでは、1次元DCT回
路18aを用い、IDCT専用部13bでは、1次元I
DCT回路18bを用いて、夫々図18に示した第2の
実施形態と同様の構成をなすようにしている。
【0124】ここで、1次元DCT回路18aは、図2
1に示すように、先に具体例を示した入力レジスタ部
2,バタフライ演算部3,ビット分割部5,乗算部6,
累積加算部7及び出力レジスタ10からなり、入力デー
タを1次元DCT処理するものである。図2に示した1
次元DCT/IDCT回路に比べて、切替部4,9及び
バタフライ演算部8を省いたものである。また、1次元
IDCT回路18bは、図22に示すように、先に具体
例を示した入力レジスタ部2,ビット分割部5,乗算部
6,累積加算部7,バタフライ演算部8及び出力レジス
タ10からなり、入力データを1次元IDCT処理する
ものである。図2に示した1次元DCT/IDCT回路
に比べて、切替部4,9及びバタフライ演算部3を省い
たものである。
【0125】図20において、DCT専用部13aとI
DCT専用部13bの動作は図18に示した第2の実施
形態の動作と同様であり、かつこれらDCT専用部13
aとIDCT専用部13bとを同時に動作させることが
可能であるので、図23に示すように、1ブロック期間
が1次元DCT/IDCTを4回以上演算する時間に満
たない場合でも、並列処理により、実質的に4回の1次
元DCT/IDCTを行なうことが可能である。
【0126】以上のように、この第3の実施形態では、
DCT専用の演算部とIDCT専用の演算部を並列に動
作させることが可能な構成をとっているので、充分なブ
ロック期間が確保できない場合でも、必要なDCT/I
DCTの演算を実現することが可能である。また、DC
T専用部13aやIDCT専用部13bでは、入力デー
タの半数にあたる累積加算回路を用いた1次元DCT回
路18aや1次元IDCT回路18bにより構成されて
おり、回路規模の削減が図られた離散コサイン変換/逆
変換装置となっている。
【0127】図24は本発明による離散コサイン変換/
逆変換装置の第4の実施形態を示すブロック図であっ
て、19cは転置RAMであり、図20に対応する部分
には同一符号を付けて重複する説明を省略する。
【0128】この第4の実施形態は、図24に示すよう
に、図20での夫々1ブロック分の容量をもつ転置RA
M19a,19bを1ブロック分の容量をもつ1つの転
置RAM19cで兼用したものであり、その他の構成は
図20で示した第3の実施形態と同様である。
【0129】このように、DCT用の転置RAMとID
CT用の転置RAMとにこの転置RAM19cを兼用す
るために、1ブロック分の期間に3回以上の1次元DC
T/IDCTを行えるものとしている。
【0130】この場合の転置RAM57の使用状態を図
25で説明すると、まず、1次元DCT回路18aで演
算された1次元目(行方向)のDCTの結果データが転
置RAM19cに書き込まれる(横線のハッチングが、
転置RAM19でのDCT結果のデータの書込みの状況
の変化を模式的に示す)。次に、2次元目(列方向)の
DCTを行なうために転置RAM19cからこのDCT
結果のデータが読み出されるのと同時に、1次元IDC
T回路18bで演算された1次元目(列方向)のIDC
T結果のデータが転置RAM19cに書き込まれる(縦
線のハッチングが、転置RAM19でのIDCT結果の
データの書込みの状況の変化を模式的に示す)。その
後、2次元目(行方向)のIDCTを演算するために、
転置RAM19cからデータが読み出される。
【0131】ここでは、2次元目のDCTのための転置
RAM19cのデータ読出しは列方向に行われるため、
これに合わせて、1次元目のIDCTを列方向から行な
い、転置RAM19cのデータの書込みを列方向に行な
っている。但し、1次元目のIDCTを行方向から行な
って、アドレス操作により、列方向にデータの書込みを
行なうことも可能である。
【0132】以上のように、この第4の実施形態では、
DCT専用の演算部とIDCT専用の演算部を並列に動
作させる構成をとり、さらに、1ブロック分の転置RA
MをDCTとIDCTで兼用するようにしているので、
回路規模の大幅な削減が可能となる。
【0133】なお、以上の各実施形態は、動画像符号化
方式としてMPEG方式に応用する場合について説明し
たものであるが、本発明は、これに限るものでもない
し、また、変換/逆変換の処理ブロックサイズとして
は、N=8に限定されるものではない。さらに、乗算部
6(図2)としては、図10に示したように、ROMを
利用するものとしたが、これに限るものではなく、ロジ
ックによる構成とすることも可能である。
【0134】また、転置RAM15(図1),転置RA
M19(図18),転置RAM19a,19b(図2
0)については、そのサイズが1ブロック分の場合につ
いて説明したが、これ以上のサイズとすることにより、
ある程度の余裕を持たせるようにすることも可能であ
る。
【0135】
【発明の効果】以上説明したように、本発明によれば、
入力データを必要数の半分ずつ入力するような構成と
し、さらに、行列演算のための乗算を時分割で行なうよ
うな構成として、バタフライ演算部の前段に2段のレジ
スタを挿入することにより、入力された画像空間データ
あるいは変換係数データの数に対して同数の変換結果あ
るいは逆変換結果を得るために、その半数の累積加算回
路で離散コサイン変換/逆変換装置を構成することが可
能となる。
【0136】また、本発明によれば、DCT及びIDC
Tを並列に処理するように構成し、さらに、転置用のメ
モリをこれらに兼用するように構成して、該メモリへの
データの書込み順及び該メモリからの読出し順を操作す
ることにより、回路規模の大幅な削減が可能となる。
【図面の簡単な説明】
【図1】本発明による離散コサイン変換/逆変換装置の
第1の実施形態を示すブロック図である。
【図2】図1におけるDCT/IDCT回路の一具体例
を示すブロック図である。
【図3】動画像符号化装置を示すブロック図である。
【図4】図2における入力レジスタ部の一具体例を示す
ブロック図である。
【図5】図4に示した入力レジスタ部の動作を示すタイ
ミング図である。
【図6】図2でのDCT用のバタフライ演算部の一具体
例を示すブロック図である。
【図7】図6に示したバタフライ演算部の動作を示すタ
イミング図である。
【図8】図2におけるビット分割部の一具体例を示すブ
ロック図である。
【図9】図8に示したビット分割部の動作を示すタイミ
ング図である。
【図10】図2における乗算部の一具体例を示すブロッ
ク図である。
【図11】図10に示した乗算部の動作を示すタイミン
グ図である。
【図12】図2における累積加算部の一具体例を示すブ
ロック図である。
【図13】図12に示した累積加算部の動作を示すタイ
ミング図である。
【図14】図2におけるIDCT用のバタフライ演算部
の一具体例を示すブロック図である。
【図15】図14に示したバタフライ演算部の動作を示
すタイミング図である。
【図16】図2における出力レジスタの一具体例を示す
ブロック図である。
【図17】図16に示した出力レジスタの動作を示すタ
イミング図である。
【図18】本発明による離散コサイン変換/逆変換装置
の第2の実施形態を示すブロック図である。
【図19】1ブロック期間内に必要なDCT/IDCT
での演算回数を説明するための図である。
【図20】本発明による離散コサイン変換/逆変換装置
の第3の実施形態を示すブロック図である。
【図21】図20における1次元DCT回路の一具体例
を示すブロック図である。
【図22】図20における1次元IDCT回路の一具体
例を示すブロック図である。
【図23】時間的に制限のある場合の1ブロック期間で
の変換処理を説明するための図である。
【図24】本発明による離散コサイン変換/逆変換装置
の第4の実施形態を示すブロック図である。
【図25】図24に示した実施形態での転置RAMの動
作を示す図である。
【符号の説明】
2 入力レジスタ部 3 バタフライ演算部 4 切替部 5 ビット分割部 6 乗算部 7 累積加算部 8 バタフライ演算部 9 切替部 10 出力レジスタ部 13 離散コサイン変換/逆変換装置 13a DCT専用部 13b IDCT専用部 14 1次元DCT/IDCT回路 15 転置RAM 16 1次元DCT/IDCT回路 17,17a,17b 切替部 18 1次元DCT/IDCT回路 18a 1次元DCT回路 18b 1次元IDCT回路 19,19a〜19c 転置RAM

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 N×N画素(但し、Nは自然数)の画像
    ブロックに対して2次元の離散コサイン変換及び逆変換
    を行なう離散コサイン変換/逆変換装置において、 入力データに対して1次元目の離散コサイン変換あるい
    は逆変換を行なう第1の変換/逆変換手段と、 該変換あるいは逆変換の結果を一時記憶する記憶手段
    と、 該記憶手段から読み出されたデータに対して2次元目の
    離散コサイン変換あるいは逆変換を行なう第2の変換/
    逆変換手段とを備え、 該第1の変換/逆変換手段及び第2の変換/逆変換手段
    は、 シリアルに入力されるデータを順次シフトしてN/2個
    づつ転送する入力手段と、 該入力されたデータに対してバタフライ演算を行なう第
    1の演算手段と、 該演算手段の出力と前記入力手段の出力とを切り替える
    第1の切替手段と、 該切替手段のN/2個単位の出力を一定のビット数の複
    数のデータに分割する分割手段と、 該分割手段の出力に対して時分割に乗算を行なう乗算手
    段と、 該乗算手段による乗算結果を順次シフトし、加算するN
    /2個の累積加算手段と、 該累積加算手段の出力に対してバタフライ演算を行なう
    第2の演算手段と、 該演算手段の出力と前記累積加算手段の出力とを切り替
    える第2の切替手段と、 該第2の切替手段の出力をシフトしてシリアルに出力す
    る出力手段とを備えたことを特徴とする離散コサイン変
    換/逆変換装置。
  2. 【請求項2】 N×N画素(但し、Nは自然数)の画像
    ブロックに対して2次元の離散コサイン変換及び逆変換
    を行なう離散コサイン変換/逆変換装置において、 入力データに対して1次元目の離散コサイン変換あるい
    は逆変換を行なう変換/逆変換手段と、 該変換あるいは逆変換の結果を一時記憶する記憶手段
    と、 該記憶手段から読み出されたデータと入力データとを切
    り替える第1の切替手段とを備え、 該変換/逆変換手段は、該第1の切替手段によって該記
    憶手段から読み出されたデータが選択された場合には、
    2次元目の離散コサイン変換/逆変換を行なう構成と
    し、 該変換/逆変換手段は、 シリアルに入力されるデータを順次シフトしてN/2個
    づつ転送する入力手段と、 該入力されたデータに対してバタフライ演算を行なう第
    1の演算手段と、 該演算手段の出力と該入力手段の出力とを切り替える第
    2の切替手段と、 該第2の切替手段のN/2個単位の出力を一定のビット
    数の複数のデータに分割する分割手段と、 該分割手段の出力に対して時分割に乗算を行なう乗算手
    段と、 該乗算手段による乗算結果を順次シフトし、加算するN
    /2個の累積加算手段と、 該累積加算手段の出力に対してバタフライ演算を行なう
    第2の演算手段と、 該第2の演算手段の出力と該累積加算手段の出力とを切
    り替える第3の切替手段と、 該第3の切替手段の出力をシフトしてシリアルに出力す
    る出力手段とを備えたことを特徴とする離散コサイン変
    換/逆変換装置。
  3. 【請求項3】 N×N画素(但し、Nは自然数)の画像
    ブロックに対して2次元の離散コサイン変換及び逆変換
    を行なう離散コサイン変換/逆変換装置において、 離散コサイン変換専用部と逆離散コサイン変換専用部を
    別個に備えるように構成し、 該離散コサイン変換専用部は、入力データに対して1次
    元目の離散コサイン変換を行なう変換手段と、該変換結
    果を一時記憶する第1の記憶手段と、該第1の記憶手段
    から読み出されたデータと入力データとを切り替える第
    1の切替手段とを備え、 該変換手段は、該第1の切替手段によって該第1の記憶
    手段から読み出されたデータが選択された場合には、2
    次元目の離散コサイン変換を行なう構成とし、 該逆離散コサイン変換専用部は、入力データに対して1
    次元目の逆離散コサイン変換を行なう逆変換手段と、該
    逆変換結果を一時記憶する第2の記憶手段と、該第2の
    記憶手段から読み出されたデータと入力データとを切り
    替える第2の切替手段とを備え、 該逆変換手段は、該第2の切替手段によって該第2の記
    憶手段から読み出されたデータが選択された場合には、
    2次元目の逆離散コサイン変換を行なう構成とし、 該変換手段は、 シリアルに入力されるデータを順次シフトしてN/2個
    づつ転送する第1の入力手段と、 該入力されたデータに対してバタフライ演算を行なう第
    1の演算手段と、 該演算手段のN/2個単位の出力を一定のビット数の複
    数のデータに分割する第1の分割手段と、 該分割手段の出力に対して時分割に乗算を行なう第1の
    乗算手段と、 該乗算手段による乗算結果を順次シフトし加算するN/
    2個の第1の累積加算手段と、 該累積加算手段の出力をシフトしてシリアルに出力する
    第1の出力手段とを備え、 該逆変換手段は、 シリアルに入力されるデータを順次シフトしてN/2個
    づつ転送する第2の入力手段と、 該入力手段のN/2個単位の出力を一定のビット数の複
    数のデータに分割する第2の分割手段と、 該分割手段の出力に対して時分割に乗算を行なう第2の
    乗算手段と、 該乗算手段による乗算結果を順次シフトし加算するN/
    2個の第2の累積加算手段と、 該累積加算手段の出力に対してバタフライ演算を行なう
    第2の演算手段と、 該演算手段の出力をシフトしてシリアルに出力する第2
    の出力手段とを備えたことを特徴とする離散コサイン変
    換/逆変換装置。
  4. 【請求項4】 請求項3に記載の離散コサイン変換/逆
    変換装置において、 前記第1の記憶手段と第2の記憶手段を1つの記憶手段
    で兼用するように構成することを特徴とする、請求項3
    に記載の離散コサイン変換/逆変換装置。
JP24623296A 1996-09-18 1996-09-18 離散コサイン変換/逆変換装置 Pending JPH1091615A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24623296A JPH1091615A (ja) 1996-09-18 1996-09-18 離散コサイン変換/逆変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24623296A JPH1091615A (ja) 1996-09-18 1996-09-18 離散コサイン変換/逆変換装置

Publications (1)

Publication Number Publication Date
JPH1091615A true JPH1091615A (ja) 1998-04-10

Family

ID=17145484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24623296A Pending JPH1091615A (ja) 1996-09-18 1996-09-18 離散コサイン変換/逆変換装置

Country Status (1)

Country Link
JP (1) JPH1091615A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036842A1 (en) * 1998-12-14 2000-06-22 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
KR100563493B1 (ko) * 1999-09-16 2006-03-27 브이케이 주식회사 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036842A1 (en) * 1998-12-14 2000-06-22 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
US6574648B1 (en) 1998-12-14 2003-06-03 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
KR100563493B1 (ko) * 1999-09-16 2006-03-27 브이케이 주식회사 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법

Similar Documents

Publication Publication Date Title
US5590067A (en) Method and arrangement for transformation of signals from a frequency to a time domain
JP4491798B2 (ja) 低消費パワーでデータ値配列に2次元変換を実行する方法及びシステム
JPH04313157A (ja) 演算処理装置
JPH0526229B2 (ja)
JPH10207868A (ja) 2次元配列転置回路
JPH08235159A (ja) 逆コサイン変換装置
JP2008117368A5 (ja)
JPH11501420A (ja) Jpeg画像圧縮標準を実現するvlsi回路構造体
US5854757A (en) Super-compact hardware architecture for IDCT computation
US7076105B2 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
US6938105B2 (en) Data apparatus and method having DMA circuitry to efficiently transfer multivalued bit-plane data
US5748514A (en) Forward and inverse discrete cosine transform circuits
JPH1091615A (ja) 離散コサイン変換/逆変換装置
US6732131B1 (en) Discrete cosine transformation apparatus, inverse discrete cosine transformation apparatus, and orthogonal transformation apparatus
JP3155383B2 (ja) 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム
US7151861B2 (en) Raster image transformation circuit using micro-code and method
JP2003030174A (ja) Dct行列分解方法及びdct装置
JP3046115B2 (ja) 離散コサイン変換器
JP3046116B2 (ja) 離散コサイン変換器
JP4170173B2 (ja) ブロックマッチング演算装置
JP2002159006A (ja) 演算補助回路
KR100392969B1 (ko) 영상 신호 압축 및 압축해제 장치 및 방법
JP3575991B2 (ja) 直交変換回路
JP2002197075A (ja) データ処理装置及びその制御方法、データ処理方法、コンピュータ可読メモリ
Preethi et al. Area and Power Efficient Transposition Buffer design for 2D-DCT Architecture in Video Applications