JP2949498B2 - Dct回路、idct回路及びdct/idct回路 - Google Patents

Dct回路、idct回路及びdct/idct回路

Info

Publication number
JP2949498B2
JP2949498B2 JP25615598A JP25615598A JP2949498B2 JP 2949498 B2 JP2949498 B2 JP 2949498B2 JP 25615598 A JP25615598 A JP 25615598A JP 25615598 A JP25615598 A JP 25615598A JP 2949498 B2 JP2949498 B2 JP 2949498B2
Authority
JP
Japan
Prior art keywords
data
circuit
path
pass
dct
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP25615598A
Other languages
English (en)
Other versions
JPH11203271A (ja
Inventor
嘉佑 葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KAHO DENSHI KOFUN JUGENKOSHI
Original Assignee
KAHO DENSHI KOFUN JUGENKOSHI
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 KAHO DENSHI KOFUN JUGENKOSHI filed Critical KAHO DENSHI KOFUN JUGENKOSHI
Publication of JPH11203271A publication Critical patent/JPH11203271A/ja
Application granted granted Critical
Publication of JP2949498B2 publication Critical patent/JP2949498B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、超LSIに実装す
るのに最適であり、簡易なデータルーティング、規則的
な構造、及びモジュラー設計が可能なDCT回路、ID
CT回路及びDCT/IDCT回路に関するものであ
る。
【0002】
【従来の技術】従来、画像圧縮基準としてMPEG−
1、MPEG−2、H.261、H.263、JPEG
等の多くの順離散コサイン変換(以下「DCT」とい
う。)を行うためのアルゴリズムが提供され、画像圧縮
を行うためのチップにおいて、前記DCTは主要な機能
を有する。そして、前記DCTにおいては、大量の乗算
が行われるので、リアルタイムアプリケーションのハー
ドウェアコストが高くなる。
【0003】ところで、前記DCTは、抽出されたコサ
イン関数に基づく直交変換のセットから成る。一般化さ
れた二次元のDCTは次のように定義される。
【0004】
【数1】
【0005】ここで、f(x,y)は2−Dデータシー
ケンスであり、
【0006】
【数2】
【0007】である。同様に、逆離散コサイン変換(以
下「IDCT」という。)は次のように定義される。
【0008】
【数3】
【0009】ここで、F(u,v)は2−D変換データ
シーケンスであり、
【0010】
【数4】
【0011】である。前記二つの式(1)及び(2)
は、標準の分離可能な二次元偶コサイン変換であり、従
来のDCT/IDCT回路において行列分解法によって
行われ、N×Nデータの2−D DCTが、N点の1−
D DCTによって得られる。そして、一次元のDCT
及び一次元のIDCTは次のように定義される。
【0012】
【数5】
【0013】ところで、前記変換において行われる乗算
を減らすために、種々の高速アルゴリズムが提供されて
いる。該各高速アルゴリズムは、通常、流れ図において
バタフライ構造を採る。ところが、該バタフライ構造
は、ICに実装する上で多くの欠点がある。特に、不規
則な構造、複雑なデータルーティング等の欠点は、必要
なシリコン面積が大きくなるだけでなく、ICの設計時
間が長くなってしまう。さらに、計算上の精度を高くす
るのに限度があり、いくつかの段階で乗算に切上げ又は
切捨てを伴うので、固定された内部精度が著しく低下し
てしまう。
【0014】また、多大な努力の結果、過去の数十年に
わたって多くのDCTが開発された。「画像技術のため
のIEEEトランスアクション回路とシステム」Vo
l.2、No.2、1992年6月、p111−122
の「高性能フルモーション画像圧縮チップセット」にお
いて、ピーター.エイ.等は、4点の内積及びウォラス
トリー技術によって実装されたDCT回路を提示し、ハ
ードウェアを20〔%〕削減したと発表している。ま
た、「IEEEトランスアクション回路とシステム」V
ol.36、No.4、1989年4月、p610−6
17の「16×16DCTの超LSIの実装」におい
て、ミンチンサン等は、分配計算法を利用して、16×
16の置換を実行するための32個のPE(プロセッサ
要素)及びRAMをDCTと共に実装したことを発表し
ている。さらに、「IEEEトランスアクションコンシ
ューマエレクトロニクス」Vol.39、No.4、1
993年、p859−869の「二次元DCT及びID
CTのためのSIMDシストリックアーキテクチャと超
LSIチップ」において、チェンミウ、オーチーチュ等
は、バタフライアルゴリズムによって実現されるDCT
のためのSIMDシストリックアーキテクチャを発表し
ている。また、イーフェンタン等は、この分配アルゴリ
ズムに基づく高速DCTアルゴリズム及び乗数計算器を
利用してDCT回路を設計している。ハードウェアのコ
ストを更に低くするために、DCTの各次元の間に挿入
された置換メモリが区分される。この設計は「コンシュ
ーマエレクトロニクスのIEEEトランスアクション」
Vol.40、No.3、1993年8月の「0.8μ
100MHz2−D DCTコアプロセッサ」で発表さ
れている。
【0015】
【発明が解決しようとする課題】しかしながら、前記従
来のDCTにおいては、実際にICに実装する上で考慮
しなければならない点が多数ある。例えば、DCT及び
IDCTの両方を行うことによって、制御回路ロジック
が複雑になったり、データの格納数及びシャッフリング
要素の数が多くなったりしてしまう。
【0016】本発明は、前記従来のDCTの問題点を解
決して、超LSIに実装するのに最適であり、ハードウ
ェアコストを低くすることができ、変換効率を高くする
ことができ、規則的な構造を有するDCT回路、IDC
T回路及びDCT/IDCT回路を提供することを目的
とする。
【0017】
【課題を解決するための手段】そのために、本発明のD
CT回路においては、x,y=0、…、N−1であると
きの、N×Nデータf(x,y)の順離散コサイン変換
を行うためのDCT回路において、N×Nデータを受信
し、j=0、…、N−1であるときの、第1のパスの修
正項{f(0,j)±f(N−1,j)、f(1,j)
±f(N−2,j)、…、f(N/2−1,j)±f
(N/2−1,j)}を連続的に計算するプリプロセッ
シング回路と、前記第1のパスの修正項を受け、該第1
のパスの修正項を列単位で出力する直列/並列回路と、
該直列/並列回路から受けた前記第1のパスの修正項を
計算して、x,y=0、…、N−1であるときの、第1
のパスの変換データf1 (x,y)を計算する計算回路
と、前記第1のパスの変換データを受け、該第1のパス
の変換データを置換メモリに連続的に格納する並列/直
列回路とを有する。
【0018】そして、前記プリプロセッシング回路は、
前記第1のパスの変換データを受け、i=0、…、N−
1であるときの、第2のパスの修正項{f1 (i,0)
±f 1 (i,N−1)、f1 (i,1)±f1 (i,N
−2)、…、f1 (i,N/2−1)±f1 (i,N/
2−1)}を連続的に計算し、前記直列/並列回路は、
前記第2のパスの修正項を受け、該第2のパスの修正項
を列単位で出力し、前記計算回路は、前記直列/並列回
路から受けた前記第2のパスの修正項に基づいて第2の
パスの変換データを計算し、前記並列/直列回路は、前
記第2のパスの変換データを受け、該第2のパスの変換
データをN×N変換データとして連続的に出力する。
【0019】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら詳細に説明する。本発明は前述さ
れた式(1)、(2)を効率よく、かつ、正規の性質を
失うことなく計算するために設計されたDCT/IDC
T回路を提供する。また、式(3)及び(4)を計算す
る代わりに、以下の式(5)〜(7)を計算することに
よって乗算を半減させることができる。
【0020】
【数6】
【0021】この場合、次の恒等式 feven(x)=feven(N−1−x) 及び fodd (x)=fodd (N−1−x) が用いられる。このように、乗算を半減することができ
るので、ハードウェアコストを低くすることができる。
【0022】図1は本発明の実施の形態におけるDCT
モードのデータ流れ図、図3は本発明の実施の形態にお
けるDCTのデータシーケンスを示す図である。この場
合、N×N 2−Dデータは4段階でDCT変換され、
そのために、DCT回路は、プリプロセッシング回路1
0、直列/並列回路12、計算回路14及び並列/直列
回路16を備える。
【0023】プリプロセッシング回路10は、入力端子
において2−Dデータ(0≦x,y≦Nであるf(x,
y)で表される。)を{f(0,j)、f(N−1,
j)、f(1,j)、…、f(N/2−1,j)、f
(N/2,j)}の順に列単位で受信し、i=0、…、
N/2−1であるときの、第1のパスの修正項{f
(i,j)+f(N−1−i,j)、f(i,j)−f
(N−1−i,j)}を連続的に計算する。
【0024】次に、前記各第1のパスの修正項は、直列
/並列回路12に送られ、現在の列のすべてのデータが
処理されて計算回路14に送られる。該計算回路14
は、前記式(5)を解いて最終の結果F(i,j)を得
る。すなわち、前記第1のパスの修正項を計算して、
x,y=0、…、N−1であるときの、第1のパスの変
換データf1 (x,y)を計算する。そして、計算が終
了するのと同時に、前記結果F(i,j)は、並列/直
列回路16に送られた後、一つずつ置換メモリとしての
置換RAM18に格納される。
【0025】次に、パイプライン機構を簡単に説明す
る。例えば、j番目の列のデータが計算回路14によっ
て計算が行われるとき、直列/並列回路12は使用され
ない。このことは、直列/並列回路12が、プリプロセ
ッシング回路10から(j+1)番目の列の2−Dデー
タを受信することができることを意味している。しかし
ながら、並列/直列回路16は、依然として(j−1)
番目の列の結果を一つずつ置換RAM18に格納し、デ
ータは4段階を通して一列ずつ進み、停止することはな
い。図3は、この場合のデータシーケンスを示す。2−
D DCTの第1のパスは、(N+1)番目の列のデー
タが、処理され、置換RAM18に格納された後に終了
する。
【0026】続いて、プリプロセッシング回路10は、
データを列単位で受信する代わりに、第1のパスのDC
T手順と同じ第2のパスのDCT手順で置換RAM18
からデータを行単位で受信し、j=0、…、N/2−1
であるときの、第2のパスの修正項{f(i,j)+f
(i,N−1−j)、f(i,j)−f(i,N−1−
j)}を連続的に計算する。
【0027】次に、前記各第2のパスの修正項は、直列
/並列回路12に送られ、現在の列のすべてのデータが
処理されて計算回路14に送られる。該計算回路14
は、前記式(5)を解いて最終の結果F(i,j)を得
る。すなわち、前記第2のパスの修正項を計算して、
x,y=0、…、N−1であるときの、第2のパスの変
換データf2 (x,y)を計算する。そして、計算が終
了するのと同時に、前記結果F(i,j)は、並列/直
列回路16に送られた後、N×N変換データとして一つ
ずつ置換RAM18に格納される。
【0028】そして、二次元のDCTは、第2のパスの
DCT手順が終了したときに終了する。また、IDCT
手順はDCT手順に類似する。これら二つの手順は、プ
リプロセッシング回路10を含む段階と後述されるポス
トプロセッシング回路20(図2)を含む段階において
唯一相違する。DCT手順においては、直列/並列回路
12に送られる前の2−Dデータが「前処理」される。
これに対して、IDCT手順においては、次の段階で後
述される置換RAM28に格納される前に、後述される
計算回路24からのデータが「後処理」される。
【0029】図2は本発明の実施の形態におけるIDC
Tモードのデータ流れ図である。第1のパスの手順の直
列/並列段階において、j=0、…、Nであるときの2
−Dデータが、{f(0,j)、f(N−1,j)、f
(1,j)、…、f(N/2−1,j)、f(N/2,
j)}の順に列単位で受信され、現在の列のすべてのデ
ータが処理されて直列/並列回路22に送られ、計算回
路24に送られる。該計算回路24は、式(6)及び
(7)を解くことによって、第1のパスの内積項feven
(x)、fodd (x)を得ると、該第1のパスの内積項
even(x)、fodd (x)を並列/直列回路26を介
してポストプロセッシング回路20に送る。該ポストプ
ロセッシング回路20は、第1のパスの内積項f
even(x)、fodd (x)を列単位で加算及び減算し、
j=0、…、Nであるときの、第1のパスの逆変換デー
タ{F(0,j)、F(N−1,j)、F(1,j)、
…、F(N/2−1,j)、F(N/2,j)}を置換
メモリとしての置換RAM28に格納する。
【0030】続いて、直列/並列回路22は、2−Dデ
ータを列単位で受信する代わりに、第1のパスのIDC
T手順と同じ第2のパスのIDCT手順を介して置換R
AM28から前記第1のパスの逆変換データを順に行単
位で受信し、該第1のパスの逆変換データを計算回路2
4に送る。該計算回路24は、式(6)及び(7)を解
くことによって、第2のパスの内積項feven(x)、f
odd (x)を得ると、該第2のパスの内積項f
even(x)、fodd (x)を並列/直列回路26を介し
てポストプロセッシング回路20に送る。該ポストプロ
セッシング回路20は、第2のパスの内積項f
even(x)、fodd (x)を行単位で加算及び減算し、
第2のパスの逆変換データ、すなわち、j=0、…、N
であるときの、N×N逆変換データ{f(0,j)、f
(N−1,j)、f(1,j)、…、f(N/2−1,
j)、f(N/2,j)}を置換RAM28に格納す
る。
【0031】そして、二次元のIDCTは、第2のパス
のIDCT手順が終了したときに終了する。なお、プリ
プロセッシング回路10(図1)及びポストプロセッシ
ング回路20は、同じハードウェアから成り、プリ/ポ
ストプロセッシング回路を構成する。
【0032】図4は本発明の実施の形態におけるプリ/
ポストプロセッシング回路の回路図である。プリ/ポス
トプロセッシング回路は、直列に接続され、N×Nデー
タを列単位で、又は第1のパスの変換データを行単位で
受信するための三つのDフリップフロップ(DEF1)
D11〜D13を備え、図示されない制御信号に従って
データを受信する。また、プリ/ポストプロセッシング
回路は、前処理又は後処理が行われたデータを得ること
ができるように、DフリップフロップD11〜D13か
らの結果を処理するデータプロセッサとしての加算器A
SUを備える。該加算器ASUは、DCTモードにおい
て、N×Nデータ又はDフリップフロップD11〜D1
3からの第1のパスの変換データを加算及び減算し、第
1のパスの修正項又は第2のパスの修正項を得る。ま
た、加算器ASUは、IDCTモードにおいて、N×N
データ又はDフリップフロップD11〜D13からの第
1のパスの内積項feven(x)、fodd (x)又は第2
のパスの内積項feven(x)、fod d (x)を加算及び
減算し、第1のパスの逆変換データ又は第2のパスの逆
変換データを得る。なお、DFF1.qはDフリップフ
ロップD11の出力、ASU.sは加算器ASUの出力
を表す。
【0033】図5は本発明の実施の形態におけるDCT
モードにおける制御シーケンスを示す図である。図にお
いて、DFF1.qはDフリップフロップD11(図
4)の出力波形を表し、ASU.sは加算器ASUの出
力波形を表す。なお、同じ制御シーケンスをIDCTモ
ードに適用することもできる。
【0034】この場合、固定された20のワード長を有
する8×8データの二次元のDCTが使用される。前述
された定義によると、DCT及びIDCTはそれぞれ、
【0035】
【数7】
【0036】を表す。そして、SIMD(単一命令複数
データ流方式)アーキテクチャに基づいて、前記各式は
4点の内積の機能を有する8個のPEによって同時に計
算される。図6は本発明の実施の形態におけるパイプラ
インSIMD DCT/IDCT回路の回路図である。
【0037】パイプラインSIMD DCT/IDCT
回路は、一次元のDCTを行うとともに、行列分解法を
利用することによってN×Nデータの二次元のDCTも
行う。直列/並列回路12(22)及び並列/直列回路
16(26)は、それぞれ、直列に接続された最高7個
のDフリップフロップ(DFF)D0〜D6、及び直列
に接続された最高7個のDフリップフロップ(DFF)
D0’〜D6’を備える。
【0038】また、計算回路14(24)は、最高8個
のレジスタR0〜R7、データルーティング回路、及び
最高8個のROMアキュムレータ(AC)A0〜A7を
備える。そして、前記レジスタR0〜R7は、DCTモ
ードにおいて、第1のパスの修正項又は第2のパスの修
正項をそれぞれ格納し、IDCTモードにおいて、N×
Nデータ又は第1のパスの逆変換データをそれぞれ格納
する。また、ROMアキュムレータA0〜A7は、DC
Tモードにおいて、第1のパスの変換データ又は第2の
パスの変換データを計算し、IDCTモードにおいて、
第1のパスの内積項feven(x)、fodd (x)又は第
2のパスの内積項feven(x)、fodd(x)を計算す
る。そして、各ROMアキュムレータA0〜A7は、そ
れぞれ四点内積回路を構成する。なお、10(20)は
プリ/ポストプロセッシング回路である。
【0039】図7は本発明の実施の形態における四点内
積回路の回路図である。この四点内積回路は、ワードパ
ラレル・ビットシリアル法に従って設計される。例え
ば、信号PP0〜PP3は、それぞれ次の部分積項であ
る。 [f(0)−f(7)]cos(π/16)、[f
(1)−f(6)]cos(3π/16)、…、[f
(3)−f(4)]cos(7π/16) 前記四点内積回路の回路全体はパイプライン構造になっ
ている。直列/並列回路12(22)(図6)及び並列
/直列回路16(26)は、1列当たり8サイクルでデ
ータを受信する。したがって、計算回路14(24)は
1列当たり8サイクル以内で計算を終了しなければなら
ない。この要件を満たすために、前記計算回路14(2
4)において、4ビットオーバラップ・一記録方式に基
づく高速乗算器が使用される。そのために、前記計算回
路14(24)は、複数のROMテーブルROM0〜R
OM2、複数の桁(けた)上げ保存加算器CSA0〜C
SA2、DフリップフロップDFF、及び桁上げ伝搬加
算器CPAから成る。
【0040】そして、前記ROMテーブルROM0〜R
OM3は、DCTモードにおいて、第1のパスの修正項
又は第2のパスの修正項のビット区分に対応する部分和
をそれぞれ出力し、IDCTモードにおいて、N×Nデ
ータ又は第1のパスの逆変換データのビット区分に対応
する部分和をそれぞれ出力し、桁上げ保存加算器CSA
0〜CSA2は、DCTモードにおいて、第1のパスの
修正項又は第2のパスの修正項のビット区分に対応する
すべての小計をそれぞれ加算して部分和を計算し、ID
CTモードにおいて、N×Nデータ又は第1のパスの逆
変換データのビット区分に対応するすべての小計をそれ
ぞれ加算して部分和を計算し、桁上げ伝搬加算器CPA
は、DCTモードにおいて、桁上げ保存加算器CSA0
〜CSA2のすべての部分和をそれぞれ加算して第1の
パスの変換データ又は第2のパスの変換データを計算
し、IDCTモードにおいて、桁上げ保存加算器CSA
0〜CSA2のすべての部分和をそれぞれ加算して第1
のパスの内積項feven(x)、fodd (x)又は第2の
パスの内積項feven(x)、fodd (x)を計算する。
【0041】表1は前記4ビットオーバラップ・一記録
方式を示す。
【0042】
【表1】
【0043】ICANDはコサイン係数で代用される。
そして、前記部分和は、桁上げ保存加算器CSA0〜C
SA2によって加算され、桁上げ伝搬加算器CPAによ
って最終的に加算される。このように、前記DCT/I
DCT回路は、パイプラインSIMDプロセッサアレイ
としての計算回路14(24)、置換メモリ及び制御回
路を備え、前記計算回路14(24)は、一次元のDC
Tを行うとともに、行列分解法を利用することによっ
て、N×Nの二次元データについてDCTを行う。
【0044】N点のDCTアプリケーションにおいて、
前記計算回路14(24)は、N個のPEから成り、従
来の乗数計算器(MAC)の代わりに、ワードパラレル
・ビットシリアル法によってN/2点の内積を計算す
る。N/2個のROMテーブル、ウォーレストリー及び
桁上げ伝搬加算器CPAによって、各PEはワードパラ
レル・ビットシリアル法に基づいてN/2点の内積を計
算する。したがって、従来の乗数計算器による計算と比
べてハードウェアコストを低くすることができる。
【0045】また、本発明のDCT/IDCT回路にお
いては、同じハードウェアから成る共通のプリ/ポスト
プロセッシング回路が使用されるので、ハードウェアコ
ストを更に低くすることができるだけでなく、規則的な
構造、モジュラー設計が可能になり、DCT/IDCT
回路を超LSIに実装するのに最適である。そして、計
算回路14(24)にROMアキュムレータA0〜A7
が配設されるので、DCT及びIDCTの変換の効率を
高くすることができるだけでなく、最適なタイミングを
得ることができる。また、簡易なデータルーティング、
規則的な構造、モジュラー設計が可能になる。
【0046】なお、本発明は前記実施の形態に限定され
るものではなく、本発明の趣旨に基づいて種々変形させ
ることが可能であり、それらを本発明の範囲から排除す
るものではない。
【0047】
【発明の効果】以上詳細に説明したように、本発明によ
れば、DCT回路においては、x,y=0、…、N−1
であるときの、N×Nデータf(x,y)の順離散コサ
イン変換を行うためのDCT回路において、N×Nデー
タを受信し、j=0、…、N−1であるときの、第1の
パスの修正項{f(0,j)±f(N−1,j)、f
(1,j)±f(N−2,j)、…、f(N/2−1,
j)±f(N/2−1,j)}を連続的に計算するプリ
プロセッシング回路と、前記第1のパスの修正項を受
け、該第1のパスの修正項を列単位で出力する直列/並
列回路と、該直列/並列回路から受けた前記第1のパス
の修正項を計算して、x,y=0、…、N−1であると
きの、第1のパスの変換データf1 (x,y)を計算す
る計算回路と、前記第1のパスの変換データを受け、該
第1のパスの変換データを置換メモリに連続的に格納す
る並列/直列回路とを有する。
【0048】そして、前記プリプロセッシング回路は、
前記第1のパスの変換データを受け、i=0、…、N−
1であるときの、第2のパスの修正項{f1 (i,0)
±f 1 (i,N−1)、f1 (i,1)±f1 (i,N
−2)、…、f1 (i,N/2−1)±f1 (i,N/
2−1)}を連続的に計算し、前記直列/並列回路は、
前記第2のパスの修正項を受け、該第2のパスの修正項
を列単位で出力し、前記計算回路は、前記直列/並列回
路から受けた前記第2のパスの修正項に基づいて第2の
パスの変換データを計算し、前記並列/直列回路は、前
記第2のパスの変換データを受け、該第2のパスの変換
データをN×N変換データとして連続的に出力する。
【0049】この場合、第1のパスの修正項に基づいて
第1のパスの変換データf1 (x,y)を計算し、第2
のパスの修正項に基づいて第2のパスの変換データf2
(x,y)を計算するようになっているので、乗算を半
減することができる。したがって、ハードウェアコスト
を低くすることができるとともに、変換効率を高くする
ことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるDCTモードのデ
ータ流れ図である。
【図2】本発明の実施の形態におけるIDCTモードの
データ流れ図である。
【図3】本発明の実施の形態におけるDCTのデータシ
ーケンスを示す図である。
【図4】本発明の実施の形態におけるプリ/ポストプロ
セッシング回路の回路図である。
【図5】本発明の実施の形態におけるDCTモードにお
ける制御シーケンスを示す図である。
【図6】本発明の実施の形態におけるパイプラインSI
MD DCT/IDCT回路の回路図である。
【図7】本発明の実施の形態における四点内積回路の回
路図である。
【符号の説明】 10 プリプロセッシング回路 12、22 直列/並列回路 14、24 計算回路 16、26 並列/直列回路 18、28 置換RAM 20 ポストプロセッシング回路 ASU 加算器 A0〜A7 ROMアキュムレータ CPA 桁上げ伝搬加算器 CSA0〜CSA2 桁上げ保存加算器 DFF、D0〜D6、D0’〜D6’、D11〜D13
Dフリップフロップ ROM0〜ROM3 ROMテーブル
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/14 G06T 1/20 H04N 7/30

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 x,y=0、…、N−1であるときの、
    N×Nデータf(x,y)の順離散コサイン変換を行う
    ためのDCT回路において、(a)N×Nデータを受信
    し、j=0、…、N−1であるときの、第1のパスの修
    正項{f(0,j)±f(N−1,j)、f(1,j)
    ±f(N−2,j)、…、f(N/2−1,j)±f
    (N/2−1,j)}を連続的に計算するプリプロセッ
    シング回路と、(b)前記第1のパスの修正項を受け、
    該第1のパスの修正項を列単位で出力する直列/並列回
    路と、(c)該直列/並列回路から受けた前記第1のパ
    スの修正項を計算して、x,y=0、…、N−1である
    ときの、第1のパスの変換データf1 (x,y)を計算
    する計算回路と、(d)前記第1のパスの変換データを
    受け、該第1のパスの変換データを置換メモリに連続的
    に格納する並列/直列回路とを有するとともに、(e)
    前記プリプロセッシング回路は、前記第1のパスの変換
    データを受け、i=0、…、N−1であるときの、第2
    のパスの修正項{f1 (i,0)±f1 (i,N−
    1)、f1 (i,1)±f1 (i,N−2)、…、f1
    (i,N/2−1)±f1 (i,N/2−1)}を連続
    的に計算し、前記直列/並列回路は、前記第2のパスの
    修正項を受け、該第2のパスの修正項を列単位で出力
    し、前記計算回路は、前記直列/並列回路から受けた前
    記第2のパスの修正項に基づいて第2のパスの変換デー
    タを計算し、前記並列/直列回路は、前記第2のパスの
    変換データを受け、該第2のパスの変換データをN×N
    変換データとして連続的に出力することを特徴とするD
    CT回路。
  2. 【請求項2】 前記プリプロセッシング回路は、j=
    0、…、N−1であるときの、N×Nデータを、{f
    (0,j)、f(N−1,j)、f(1,j)、…、f
    (N/2−1,j)、f(N/2,j)}の順に受信
    し、i=0、…、N−1であるときの、第1のパスの変
    換データを、{f(i,0)、f(i,N−1)、f
    (i,1)、…、f(i,N/2−1)、f(i,N/
    2)}の順に受信する請求項1に記載のDCT回路。
  3. 【請求項3】 前記プリプロセッシング回路は、N×N
    データを列単位で、又は第1のパスの変換データを行単
    位で受信するための、直列に接続された複数のDフリッ
    プフロップ、及びN×Nデータ又はDフリップフロップ
    からの第1のパスの変換データを加算及び減算し、第1
    のパスの修正項又は第2のパスの修正項を得るデータプ
    ロセッサを備える請求項1に記載のDCT回路。
  4. 【請求項4】 前記計算回路は、第1のパスの修正項又
    は第2のパスの修正項をそれぞれ格納するための複数の
    レジスタ、及び該各レジスタに接続され、第1のパスの
    変換データ又は第2のパスの変換データを計算する複数
    のROMアキュムレータを備える請求項1に記載のDC
    T回路。
  5. 【請求項5】 前記各ROMアキュムレータは、第1の
    パスの修正項又は第2のパスの修正項のビット区分に対
    応する部分和をそれぞれ計算する複数のROMテーブ
    ル、ビット区分に対応するすべての小計をそれぞれ加算
    して部分和を計算する複数の桁上げ保存加算器、及び該
    桁上げ保存加算器のすべての部分和をそれぞれ加算して
    第1のパスの変換データ又は第2のパスの変換データを
    得る複数の桁上げ伝搬加算器を備える請求項4に記載の
    DCT回路。
  6. 【請求項6】 前記直列/並列回路は、直列に接続され
    た複数のDフリップフロップを備える請求項1に記載の
    DCT回路。
  7. 【請求項7】 前記並列/直列回路は、直列に接続され
    た複数のDフリップフロップを備える請求項1に記載の
    DCT回路。
  8. 【請求項8】 N×Nデータの逆離散コサイン変換を行
    うためのIDCT回路において、(a)N×Nデータを
    受信し、該N×Nデータを列単位で出力する直列/並列
    回路と、(b)該直列/並列回路からのN×Nデータを
    受け、第1のパスの内積項を計算する計算回路と、
    (c)該計算回路に接続され、第1のパスの内積項を受
    け、該第1のパスの内積項を連続的に出力する並列/直
    列回路と、(d)前記第1のパスの内積項を受け、該第
    1のパスの内積項を列単位で加算及び減算してj=0、
    …、N−1であるときの、第1のパスの逆変換データ
    {F(0,j)、F(N−1,j)、F(1,j)、
    …、F(N/2−1,j)、F(N/2,j)}を計算
    し、該第1のパスの逆変換データを置換メモリに格納す
    るポストプロセッシング回路とを有するとともに、
    (e)前記直列/並列回路は、第1のパスの逆変換デー
    タを受信し、該第1のパスの逆変換データを行単位で出
    力し、前記計算回路は、直列/並列回路から第1のパス
    の逆変換データを受け、第2のパスの内積項を計算し、
    前記並列/直列回路は、第1のパスの逆変換データに従
    って第2のパスの内積項を連続的に出力し、前記ポスト
    プロセッシング回路は、第2のパスの内積項を受けて列
    単位で加算及び減算し、j=0、…、N−1であるとき
    の、第2のパスの逆変換データ{f(0,j)、f(N
    −1,j)、f(1,j)、…、f(N/2−1,
    j)、f(N/2,j)}を計算し、該第2のパスの逆
    変換データをN×N逆変換データとして保存することを
    特徴とするIDCT回路。
  9. 【請求項9】 前記直列/並列回路は、N×Nデータ及
    び第1のパスの逆変換データを連続的に受信する請求項
    8に記載のIDCT回路。
  10. 【請求項10】 前記ポストプロセッシング回路は、前
    記第1のパスの内積項又は第2のパスの内積項を受信す
    るために、直列に接続された複数のDフリップフロッ
    プ、及び第1のパスの内積項又は第2の内積項を加算及
    び減算し、第1のパスの逆変換データ又はN×N逆変換
    データを計算するデータプロセッサを備える請求項8に
    記載のIDCT回路。
  11. 【請求項11】 前記計算回路は、N×Nデータ又は第
    1のパスの逆変換データをそれぞれ列単位で格納するた
    めの複数のレジスタ、及び該各レジスタに接続され、第
    1のパスの内積項又は第2のパスの内積項を計算する複
    数のROMアキュムレータを備える請求項8に記載のI
    DCT回路。
  12. 【請求項12】 前記各ROMアキュムレータは、N×
    Nデータ又は第1のパスの逆変換データのビット区分に
    対応する部分和をそれぞれ計算する複数のROMテーブ
    ル、ビット区分に対応するすべての小計をそれぞれ加算
    して部分和を計算するための複数の桁上げ保存加算器、
    及び該桁上げ保存加算器のすべての部分和をそれぞれ加
    算して第1のパスの内積項又は第2のパスの内積項を得
    る複数の桁上げ伝搬加算器を備える請求項11に記載の
    IDCT回路。
  13. 【請求項13】 前記直列/並列回路は、直列に接続さ
    れた複数のDフリップフロップを備える請求項8に記載
    のIDCT回路。
  14. 【請求項14】 前記並列/直列回路は、直列に接続さ
    れた複数のDフリップフロップを備える請求項8に記載
    のIDCT回路。
  15. 【請求項15】 N×Nデータの順/逆離散コサイン変
    換を行うためのDCT/IDCT回路において、(a)
    DCTモードでは第1のパスの変換データが格納され、
    IDCTモードでは第1のパスの逆変換データが格納さ
    れる置換メモリと、(b)前記DCTモードではN×N
    データ又は第1のパスの変換データを受信して加算及び
    減算し、第1のパスの修正項又は第2のパスの修正項を
    計算するプリ/ポストプロセッシング回路と、(c)前
    記DCTモードでは第1のパスの修正項又は第2のパス
    の修正項を受け、前記IDCTモードではN×Nデータ
    又は第1のパスの逆変換データを受け、列単位で出力す
    る直列/並列回路と、(d)前記DCTモードでは、第
    1のパスの修正項、又は前記直列/並列回路からの第2
    のパスの修正項に基づいて第1のパスの変換データ又は
    第2のパスの変換データを計算し、前記IDCTモード
    では、N×Nデータ、又は前記直列/並列回路からの第
    1のパスの逆変換データに基づいて第1のパスの内積項
    又は第2のパスの内積項を計算する計算回路と、(e)
    前記DCTモードにおいて、第1のパスの変換データ又
    は第2のパスの変換データを受け、置換メモリに格納さ
    れた第1のパスの変換データ、又はN×N変換データを
    計算し、前記計算回路からの第1のパスの内積項又は第
    2のパスの内積項を連続的に出力する並列/直列回路と
    を有するとともに、(f)前記プリ/ポストプロセッシ
    ング回路は、IDCTモードにおいて、第1のパスの内
    積項又は第2のパスの内積項を受けて加算及び減算し、
    置換メモリに格納された第1のパスの逆変換データ又は
    N×N逆変換データを計算することを特徴とするDCT
    /IDCT回路。
JP25615598A 1998-01-02 1998-09-10 Dct回路、idct回路及びdct/idct回路 Expired - Fee Related JP2949498B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW087100031A TW364269B (en) 1998-01-02 1998-01-02 Discreet cosine transform/inverse discreet cosine transform circuit
TW87100031 1998-01-02

Publications (2)

Publication Number Publication Date
JPH11203271A JPH11203271A (ja) 1999-07-30
JP2949498B2 true JP2949498B2 (ja) 1999-09-13

Family

ID=21629291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25615598A Expired - Fee Related JP2949498B2 (ja) 1998-01-02 1998-09-10 Dct回路、idct回路及びdct/idct回路

Country Status (3)

Country Link
US (1) US6038580A (ja)
JP (1) JP2949498B2 (ja)
TW (1) TW364269B (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584156B1 (en) * 1998-07-17 2003-06-24 Stream Machine Company LSI Architecture and implementation of MPEG video codec
US6356993B1 (en) 1999-10-26 2002-03-12 Pyxsys Corporation Dual aspect ratio PE array with no connection switching
US6728863B1 (en) 1999-10-26 2004-04-27 Assabet Ventures Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory
JP2001309386A (ja) * 2000-04-19 2001-11-02 Mitsubishi Electric Corp 画像処理装置
US6742010B1 (en) * 2000-07-10 2004-05-25 Advanced Micro Devices, Inc. Dual-block discrete consine transform method
US6832232B1 (en) * 2000-07-10 2004-12-14 Advanced Micro Devices, Inc. Dual-block inverse discrete cosine transform method
US6973469B1 (en) 2001-02-01 2005-12-06 Advanced Micro Devices, Inc. Two-dimensional discrete cosine transform using SIMD instructions
TWI227840B (en) 2003-12-03 2005-02-11 Via Tech Inc Method and apparatus for multiplying based on Booth's algorithm
US20060126726A1 (en) * 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards
CN100448293C (zh) * 2005-02-03 2008-12-31 联想(北京)有限公司 一种二维离散余弦变换装置及方法
US7933405B2 (en) * 2005-04-08 2011-04-26 Icera Inc. Data access and permute unit
US8036274B2 (en) 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US8731051B1 (en) * 2006-02-10 2014-05-20 Nvidia Corporation Forward and inverse quantization of data for video compression
US8934539B2 (en) * 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US8369638B2 (en) 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8275209B2 (en) 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
TWI398781B (zh) * 2009-08-03 2013-06-11 Hon Hai Prec Ind Co Ltd 離散餘弦轉換電路及裝置
JP4746693B2 (ja) * 2009-08-05 2011-08-10 株式会社東芝 情報送信装置
TWI414186B (zh) * 2009-08-12 2013-11-01 Hon Hai Prec Ind Co Ltd 離散余弦轉換及其逆轉換電路
CN102256120B (zh) * 2010-05-20 2013-05-08 炬力集成电路设计有限公司 一种视频解码中的整数反变换装置
US10356440B2 (en) * 2014-10-01 2019-07-16 Qualcomm Incorporated Scalable transform hardware architecture with improved transpose buffer
US11010338B2 (en) 2017-04-06 2021-05-18 Shanghai Cambricon Information Technology Co., Ltd Data screening device and method
CN108733625B (zh) * 2017-04-19 2021-06-08 上海寒武纪信息科技有限公司 运算装置及方法
CN113542770B (zh) * 2021-06-15 2023-11-03 杭州未名信科科技有限公司 一种dct变换方法及dct变换电路系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0557204A3 (en) * 1992-02-21 1995-10-18 Sony Corp Discrete cosine transform apparatus and inverse discrete cosine transform apparatus
US5420811A (en) * 1992-08-26 1995-05-30 Sony Corporation Simple quick image processing apparatus for performing a discrete cosine transformation or an inverse discrete cosine transformation
US5544091A (en) * 1993-03-05 1996-08-06 Casio Computer Co., Ltd. Circuit scale reduction for bit-serial digital signal processing
JP3697717B2 (ja) * 1993-09-24 2005-09-21 ソニー株式会社 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
JPH07152730A (ja) * 1993-11-30 1995-06-16 Toshiba Corp 離散コサイン変換装置

Also Published As

Publication number Publication date
JPH11203271A (ja) 1999-07-30
TW364269B (en) 1999-07-11
US6038580A (en) 2000-03-14

Similar Documents

Publication Publication Date Title
JP2949498B2 (ja) Dct回路、idct回路及びdct/idct回路
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
US7127482B2 (en) Performance optimized approach for efficient downsampling operations
US4621337A (en) Transformation circuit for implementing a collapsed Walsh-Hadamard transform
JPH0526229B2 (ja)
KR950009472A (ko) 2차원 이산코사인 변환장치, 2차원 역이산코사인 변환장치 및 디지탈 신호처리 장치
WO1995033241A1 (fr) Processeur arithmetique a haute vitesse pour transformee en cosinus discrete et operations associees
Meher et al. Low-area and low-power reconfigurable architecture for convolution-based 1-D DWT using 9/7 and 5/3 filters
US7263544B2 (en) Performance optimized approach for efficient numerical computations
Xu et al. Using Fermat number transform to accelerate convolutional neural network
US6003058A (en) Apparatus and methods for performing arithimetic operations on vectors and/or matrices
US5434808A (en) Highly parallel discrete cosine transform engine
Alam et al. A new time distributed DCT architecture for MPEG-4 hardware reference model
JP2725544B2 (ja) Dct及び逆dct演算装置並びにその演算方法
US6044176A (en) Method of performing inverse discrete cosine transform
Dimitrov et al. Multiplierless DCT algorithm for image compression applications
Do et al. A high-accuracy and high-speed 2-D 8x8 discrete cosine transform design
Shen et al. Sum-box technique for fast linear filtering
CN112712461B (zh) 一种图像反卷积处理方法、装置及终端设备
US5999958A (en) Device for computing discrete cosine transform and inverse discrete cosine transform
Bruguera et al. 2-D DCT using on-line arithmetic
JP3135528B2 (ja) Fftネットワークのエラー検出回路及びエラー検出方法
Bowlyn et al. A novel distributed arithmetic approach for computing a radix-2 FFT butterfly implementation
EP1298932A2 (en) Architecture component and method for performing discrete wavelet transforms
US6944640B2 (en) Progressive two-dimensional (2D) pyramid filter

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990608

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees