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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete 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
るのに最適であり、簡易なデータルーティング、規則的
な構造、及びモジュラー設計が可能なDCT回路、ID
CT回路及びDCT/IDCT回路に関するものであ
る。
1、MPEG−2、H.261、H.263、JPEG
等の多くの順離散コサイン変換(以下「DCT」とい
う。)を行うためのアルゴリズムが提供され、画像圧縮
を行うためのチップにおいて、前記DCTは主要な機能
を有する。そして、前記DCTにおいては、大量の乗算
が行われるので、リアルタイムアプリケーションのハー
ドウェアコストが高くなる。
イン関数に基づく直交変換のセットから成る。一般化さ
れた二次元のDCTは次のように定義される。
ケンスであり、
下「IDCT」という。)は次のように定義される。
シーケンスであり、
は、標準の分離可能な二次元偶コサイン変換であり、従
来のDCT/IDCT回路において行列分解法によって
行われ、N×Nデータの2−D DCTが、N点の1−
D DCTによって得られる。そして、一次元のDCT
及び一次元のIDCTは次のように定義される。
を減らすために、種々の高速アルゴリズムが提供されて
いる。該各高速アルゴリズムは、通常、流れ図において
バタフライ構造を採る。ところが、該バタフライ構造
は、ICに実装する上で多くの欠点がある。特に、不規
則な構造、複雑なデータルーティング等の欠点は、必要
なシリコン面積が大きくなるだけでなく、ICの設計時
間が長くなってしまう。さらに、計算上の精度を高くす
るのに限度があり、いくつかの段階で乗算に切上げ又は
切捨てを伴うので、固定された内部精度が著しく低下し
てしまう。
わたって多くの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コアプロセッサ」で発表さ
れている。
来のDCTにおいては、実際にICに実装する上で考慮
しなければならない点が多数ある。例えば、DCT及び
IDCTの両方を行うことによって、制御回路ロジック
が複雑になったり、データの格納数及びシャッフリング
要素の数が多くなったりしてしまう。
決して、超LSIに実装するのに最適であり、ハードウ
ェアコストを低くすることができ、変換効率を高くする
ことができ、規則的な構造を有するDCT回路、IDC
T回路及びDCT/IDCT回路を提供することを目的
とする。
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のパス
の変換データを置換メモリに連続的に格納する並列/直
列回路とを有する。
前記第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変換データとして連続的に出力する。
て図面を参照しながら詳細に説明する。本発明は前述さ
れた式(1)、(2)を効率よく、かつ、正規の性質を
失うことなく計算するために設計されたDCT/IDC
T回路を提供する。また、式(3)及び(4)を計算す
る代わりに、以下の式(5)〜(7)を計算することに
よって乗算を半減させることができる。
るので、ハードウェアコストを低くすることができる。
モードのデータ流れ図、図3は本発明の実施の形態にお
けるDCTのデータシーケンスを示す図である。この場
合、N×N 2−Dデータは4段階でDCT変換され、
そのために、DCT回路は、プリプロセッシング回路1
0、直列/並列回路12、計算回路14及び並列/直列
回路16を備える。
において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)}を連続的に計算する。
/並列回路12に送られ、現在の列のすべてのデータが
処理されて計算回路14に送られる。該計算回路14
は、前記式(5)を解いて最終の結果F(i,j)を得
る。すなわち、前記第1のパスの修正項を計算して、
x,y=0、…、N−1であるときの、第1のパスの変
換データf1 (x,y)を計算する。そして、計算が終
了するのと同時に、前記結果F(i,j)は、並列/直
列回路16に送られた後、一つずつ置換メモリとしての
置換RAM18に格納される。
る。例えば、j番目の列のデータが計算回路14によっ
て計算が行われるとき、直列/並列回路12は使用され
ない。このことは、直列/並列回路12が、プリプロセ
ッシング回路10から(j+1)番目の列の2−Dデー
タを受信することができることを意味している。しかし
ながら、並列/直列回路16は、依然として(j−1)
番目の列の結果を一つずつ置換RAM18に格納し、デ
ータは4段階を通して一列ずつ進み、停止することはな
い。図3は、この場合のデータシーケンスを示す。2−
D DCTの第1のパスは、(N+1)番目の列のデー
タが、処理され、置換RAM18に格納された後に終了
する。
データを列単位で受信する代わりに、第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)}を連続的に計算する。
/並列回路12に送られ、現在の列のすべてのデータが
処理されて計算回路14に送られる。該計算回路14
は、前記式(5)を解いて最終の結果F(i,j)を得
る。すなわち、前記第2のパスの修正項を計算して、
x,y=0、…、N−1であるときの、第2のパスの変
換データf2 (x,y)を計算する。そして、計算が終
了するのと同時に、前記結果F(i,j)は、並列/直
列回路16に送られた後、N×N変換データとして一つ
ずつ置換RAM18に格納される。
DCT手順が終了したときに終了する。また、IDCT
手順はDCT手順に類似する。これら二つの手順は、プ
リプロセッシング回路10を含む段階と後述されるポス
トプロセッシング回路20(図2)を含む段階において
唯一相違する。DCT手順においては、直列/並列回路
12に送られる前の2−Dデータが「前処理」される。
これに対して、IDCT手順においては、次の段階で後
述される置換RAM28に格納される前に、後述される
計算回路24からのデータが「後処理」される。
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のパスの内積項
feven(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に格納する。
ータを列単位で受信する代わりに、第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に格納す
る。
のIDCT手順が終了したときに終了する。なお、プリ
プロセッシング回路10(図1)及びポストプロセッシ
ング回路20は、同じハードウェアから成り、プリ/ポ
ストプロセッシング回路を構成する。
ポストプロセッシング回路の回路図である。プリ/ポス
トプロセッシング回路は、直列に接続され、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の出力
を表す。
モードにおける制御シーケンスを示す図である。図にお
いて、DFF1.qはDフリップフロップD11(図
4)の出力波形を表し、ASU.sは加算器ASUの出
力波形を表す。なお、同じ制御シーケンスをIDCTモ
ードに適用することもできる。
する8×8データの二次元のDCTが使用される。前述
された定義によると、DCT及びIDCTはそれぞれ、
データ流方式)アーキテクチャに基づいて、前記各式は
4点の内積の機能を有する8個のPEによって同時に計
算される。図6は本発明の実施の形態におけるパイプラ
インSIMD DCT/IDCT回路の回路図である。
回路は、一次元のDCTを行うとともに、行列分解法を
利用することによってN×Nデータの二次元のDCTも
行う。直列/並列回路12(22)及び並列/直列回路
16(26)は、それぞれ、直列に接続された最高7個
のDフリップフロップ(DFF)D0〜D6、及び直列
に接続された最高7個のDフリップフロップ(DFF)
D0’〜D6’を備える。
のレジスタ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)は
プリ/ポストプロセッシング回路である。
積回路の回路図である。この四点内積回路は、ワードパ
ラレル・ビットシリアル法に従って設計される。例え
ば、信号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から成る。
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)を計算する。
方式を示す。
そして、前記部分和は、桁上げ保存加算器CSA0〜C
SA2によって加算され、桁上げ伝搬加算器CPAによ
って最終的に加算される。このように、前記DCT/I
DCT回路は、パイプラインSIMDプロセッサアレイ
としての計算回路14(24)、置換メモリ及び制御回
路を備え、前記計算回路14(24)は、一次元のDC
Tを行うとともに、行列分解法を利用することによっ
て、N×Nの二次元データについてDCTを行う。
前記計算回路14(24)は、N個のPEから成り、従
来の乗数計算器(MAC)の代わりに、ワードパラレル
・ビットシリアル法によってN/2点の内積を計算す
る。N/2個のROMテーブル、ウォーレストリー及び
桁上げ伝搬加算器CPAによって、各PEはワードパラ
レル・ビットシリアル法に基づいてN/2点の内積を計
算する。したがって、従来の乗数計算器による計算と比
べてハードウェアコストを低くすることができる。
いては、同じハードウェアから成る共通のプリ/ポスト
プロセッシング回路が使用されるので、ハードウェアコ
ストを更に低くすることができるだけでなく、規則的な
構造、モジュラー設計が可能になり、DCT/IDCT
回路を超LSIに実装するのに最適である。そして、計
算回路14(24)にROMアキュムレータA0〜A7
が配設されるので、DCT及びIDCTの変換の効率を
高くすることができるだけでなく、最適なタイミングを
得ることができる。また、簡易なデータルーティング、
規則的な構造、モジュラー設計が可能になる。
るものではなく、本発明の趣旨に基づいて種々変形させ
ることが可能であり、それらを本発明の範囲から排除す
るものではない。
れば、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のパスの変換データを置換メモリに連続的に格納す
る並列/直列回路とを有する。
前記第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変換データとして連続的に出力する。
第1のパスの変換データf1 (x,y)を計算し、第2
のパスの修正項に基づいて第2のパスの変換データf2
(x,y)を計算するようになっているので、乗算を半
減することができる。したがって、ハードウェアコスト
を低くすることができるとともに、変換効率を高くする
ことができる。
ータ流れ図である。
データ流れ図である。
ーケンスを示す図である。
セッシング回路の回路図である。
ける制御シーケンスを示す図である。
MD DCT/IDCT回路の回路図である。
路図である。
Dフリップフロップ ROM0〜ROM3 ROMテーブル
Claims (15)
- 【請求項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】 前記プリプロセッシング回路は、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】 前記プリプロセッシング回路は、N×N
データを列単位で、又は第1のパスの変換データを行単
位で受信するための、直列に接続された複数のDフリッ
プフロップ、及びN×Nデータ又はDフリップフロップ
からの第1のパスの変換データを加算及び減算し、第1
のパスの修正項又は第2のパスの修正項を得るデータプ
ロセッサを備える請求項1に記載のDCT回路。 - 【請求項4】 前記計算回路は、第1のパスの修正項又
は第2のパスの修正項をそれぞれ格納するための複数の
レジスタ、及び該各レジスタに接続され、第1のパスの
変換データ又は第2のパスの変換データを計算する複数
のROMアキュムレータを備える請求項1に記載のDC
T回路。 - 【請求項5】 前記各ROMアキュムレータは、第1の
パスの修正項又は第2のパスの修正項のビット区分に対
応する部分和をそれぞれ計算する複数のROMテーブ
ル、ビット区分に対応するすべての小計をそれぞれ加算
して部分和を計算する複数の桁上げ保存加算器、及び該
桁上げ保存加算器のすべての部分和をそれぞれ加算して
第1のパスの変換データ又は第2のパスの変換データを
得る複数の桁上げ伝搬加算器を備える請求項4に記載の
DCT回路。 - 【請求項6】 前記直列/並列回路は、直列に接続され
た複数のDフリップフロップを備える請求項1に記載の
DCT回路。 - 【請求項7】 前記並列/直列回路は、直列に接続され
た複数のDフリップフロップを備える請求項1に記載の
DCT回路。 - 【請求項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】 前記直列/並列回路は、N×Nデータ及
び第1のパスの逆変換データを連続的に受信する請求項
8に記載のIDCT回路。 - 【請求項10】 前記ポストプロセッシング回路は、前
記第1のパスの内積項又は第2のパスの内積項を受信す
るために、直列に接続された複数のDフリップフロッ
プ、及び第1のパスの内積項又は第2の内積項を加算及
び減算し、第1のパスの逆変換データ又はN×N逆変換
データを計算するデータプロセッサを備える請求項8に
記載のIDCT回路。 - 【請求項11】 前記計算回路は、N×Nデータ又は第
1のパスの逆変換データをそれぞれ列単位で格納するた
めの複数のレジスタ、及び該各レジスタに接続され、第
1のパスの内積項又は第2のパスの内積項を計算する複
数のROMアキュムレータを備える請求項8に記載のI
DCT回路。 - 【請求項12】 前記各ROMアキュムレータは、N×
Nデータ又は第1のパスの逆変換データのビット区分に
対応する部分和をそれぞれ計算する複数のROMテーブ
ル、ビット区分に対応するすべての小計をそれぞれ加算
して部分和を計算するための複数の桁上げ保存加算器、
及び該桁上げ保存加算器のすべての部分和をそれぞれ加
算して第1のパスの内積項又は第2のパスの内積項を得
る複数の桁上げ伝搬加算器を備える請求項11に記載の
IDCT回路。 - 【請求項13】 前記直列/並列回路は、直列に接続さ
れた複数のDフリップフロップを備える請求項8に記載
のIDCT回路。 - 【請求項14】 前記並列/直列回路は、直列に接続さ
れた複数のDフリップフロップを備える請求項8に記載
のIDCT回路。 - 【請求項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回路。
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)
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)
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 | 離散コサイン変換装置 |
-
1998
- 1998-01-02 TW TW087100031A patent/TW364269B/zh not_active IP Right Cessation
- 1998-02-23 US US09/027,941 patent/US6038580A/en not_active Expired - Fee Related
- 1998-09-10 JP JP25615598A patent/JP2949498B2/ja not_active Expired - Fee Related
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 |