JP3852895B2 - 乗法演算節減可能な二次元離散コサイン変換及びその逆変換の実行方法 - Google Patents
乗法演算節減可能な二次元離散コサイン変換及びその逆変換の実行方法 Download PDFInfo
- Publication number
- JP3852895B2 JP3852895B2 JP6901999A JP6901999A JP3852895B2 JP 3852895 B2 JP3852895 B2 JP 3852895B2 JP 6901999 A JP6901999 A JP 6901999A JP 6901999 A JP6901999 A JP 6901999A JP 3852895 B2 JP3852895 B2 JP 3852895B2
- Authority
- JP
- Japan
- Prior art keywords
- stage
- unit
- data
- dimensional
- idct
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 48
- 238000004364 calculation method Methods 0.000 claims description 220
- 238000006243 chemical reaction Methods 0.000 claims description 52
- 125000004122 cyclic group Chemical group 0.000 claims description 14
- 230000002195 synergetic effect Effects 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 5
- 238000007792 addition Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は離散コサイン変換(DCT)及びその逆変換(IDCT)の実行方法に関し、特に乗法演算節減可能な二次元DCT/IDCTの実行方法に関する。
【0002】
【従来の技術】
本出願人にかかる米国特許第5,471,412号は、6段階演算DCT/IDCT速算法を使って8×8データブロックの連続入力データを処理する離散コサイン変換及び逆離散コサイン変換の方法と装置を開示しており、該DCT/IDCT速算法の6段階演算は通常交互に挿入されるバタフライ演算段階と乗法演算段階を具えて、該乗法演算段階は内部乗法演算、加算後相乗演算、及び相乗後減算演算を含む。上記米国特許において、単一バタフライ演算ユニットがそれらバタフライ演算段階を行い、単一乗法演算ユニットがそれら乗法演算段階を行う。該バタフライ演算ユニットと該乗法演算ユニットは循環的な平行処理方式で運用され、したがってDCT及びIDCTはかなり低廉なハードウェアコストで有効に達成することができる。
【0003】
図9及び図11はそれぞれ上記米国特許で使用されている6段階演算DCT及びIDCT速算法のフローグラフである。該DCT速算法は図10(A)乃至(C)に示すように、バタフライ、内部乗法、及び加算後相乗の3種の算術演算を使い、IDCT速算法は図10(A),(B)と(D)に示すように、バタフライ、内部乗法、相乗後減算の3種の算術演算を使う。
【0004】
図9に示す如く、DCT速算法の6段階演算は4回のバタフライ演算をする第1段階演算、2回の加算後相乗演算をする第2段階演算、4回のバタフライ演算をする第3段階演算、3回の加算後相乗演算をする第4段階演算、4回のバタフライ演算をする第5段階演算、及び8回の内部乗法演算をする第6段階演算を含む。
【0005】
図11に示す如く、IDCT速算法の6段階演算は8回の内部乗法演算をする第1段階演算、4回のバタフライ演算をする第2段階演算、3回の相乗後減算演算をする第3段階演算、4回のバタフライ演算をする第4段階演算、及び2回の相乗後減算演算をする第5段階演算、及び4回のバタフライ演算をする第6段階演算を含む。
【0006】
通常、DCT/IDCTの乗法演算はかなり時間を費やして相当複雑なハードウエアを要する。上記米国特許は一次元変換として僅かに13個の乗法演算を含んで、8×8データブロックの二次元変換として僅かに総数208個(2×8×13)の乗法演算を含む速算法を利用しているが、より高い処理速度を実現するには、より乗法演算の数を減らすことが望ましい。
【特許文献1】
特開平7−239842号公報
【特許文献2】
特開平10−49517号公報
【0007】
【発明が解決しようとする課題】
即ち、本発明の目的は一種の乗法演算節減が可能な二次元DCT/IDCTの実行方法を提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明の一つの特徴は、一種の連続する第一及び第二巡一次元離散コサイン変換演算を含んだ二次元DCT方法を提供する。各第一及び第二巡一次元DCT演算は6段階演算DCT速算法を使って、8×8データブロックの連続入力データを処理して連続的に変換データを生ずる。該DCT速算法は複数のバタフライ演算を具えた第1、第3及び第5段階演算、複数の加算後相乗演算を具えた第2及び第4段階演算、及び複数の内部乗法演算を具えた第6段階演算を含む。二次元DCT方法は下記の段階を含む、(a)入力ユニットにより入力データを受け、(b)該入力ユニットを制御して該入力データをバタフライ演算ユニットに提供し、該バタフライ演算ユニットが該第一巡一次元DCT演算におけるDCT速算法の第1段階演算を行い、
(c)データレジスタユニットを制御してバタフライ演算ユニットからの第1段階出力データを記憶させ、(d)該データレジスタユニットを制御して、所定の第1段階出力データを乗法演算ユニットに提供させ、該所定の第1段階出力データが該データレジスタユニット内に記憶された際に該乗法演算ユニットが該DCT速算法の第2段階演算を行い、(e)該データレジスタユニットを制御して該乗法演算ユニットからの第2段階出力データを記憶させ、(f)該データレジスタユニットを制御して所定順序で第1段階及び第2段階出力データを該バタフライ演算ユニットに提供させ、該バタフライ演算ユニットが該DCT速算法の第1段階演算を行った後に、該DCT速算法の第3段階演算を行い、(g)該データレジスタユニットを制御して、該バタフライ演算ユニットの第3段階出力データを記憶させ、(h)該データレジスタユニットを制御して、所定の第3段階出力データを乗法演算ユニットに提供させ、該所定の第3段階出力データが該データレジスタユニット内に記憶された際に該乗法演算ユニットが該DCT速算法の第4段階演算を行い、(i)該データレジスタユニットを制御して、該乗法演算ユニットからの第4段階出力データを記憶させ、(j)該データレジスタユニットを制御して所定順序で第3段階及び第4段階出力データを該バタフライ演算ユニットに提供し、該バタフライ演算ユニットが該DCT速算法の第3段階演算を行った後に、該DCT速算法の第5段階演算を行い、(k)該データレジスタユニットを制御して、該バタフライ演算ユニットから作用が基準化一次元変換データと同様な第5段階出力データを記憶させ、(l)該データレジスタユニットを制御してもう一つの方向から該基準化一次元変換データを該バタフライ演算ユニットに提供させ、該バタフライ演算ユニットが第二巡一次元DCT演算のDCT速算法の第1段階演算を行い、(m)段階(c)から段階(j)を反復して、第二巡一次元演算のDCT速算法の第2乃至第5段階演算を行い、(n)該データレジスタユニットを制御して、該バタフライ演算ユニットから作用が基準化二次元変換データと同じである第5段階出力データを記憶させ、(o)該データレジスタユニットを制御して該基準化二次元変換データを該乗法演算ユニットに提供し、該乗法演算ユニットは、該乗法演算ユニットに記憶された係数ROMに記憶された第i(i=0〜7)行の基準化重み係数をc i 、及び、第j(j=0〜7)列の基準化重み係数をc j としたとき、該第一及び第二巡一次元DCT演算におけるDCT速算法の第6段階の重み係数をc i* c j として、該第二巡一次元DCT演算のDCT速算法の第6段階演算を行い、これにより該入力データと対応する二次元変換データを得、(p)出力ユニットを制御して乗法演算ユニットから該二次元変換データを受ける。
【0009】
本発明のもう一つの特徴は、一種の連続する第一及び第二巡一次元逆離散コサイン変換演算を含んだ二次元IDCT方法を提供する。各第一及び第二巡一次元IDCT演算は6段階演算IDCT速算法を使って、8×8データブロックの連続入力データを処理して連続的に変換データを生ずる。該IDCT速算法は複数の内部乗法演算をする第1段階、複数のバタフライ演算をする第2、第4及び第6段階演算、及び複数の相乗後減算演算を具えた第3及び第5段階演算を含む。二次元IDCT方法は下記の段階を含む。(a)入力ユニットにより入力データを受け、(b)該入力ユニットを制御して該入力データを乗法演算ユニットに提供し、該乗法演算ユニットは、該乗法演算ユニットに記憶された係数ROM内の第i(0〜7)行の基準化重み係数をp i 、及び、第j(j=0〜7)列の基準化重み係数をp j としたとき、該第一及び第二巡一次元IDCT演算におけるIDCT速算法での重み係数をp i* p j として、該第一巡一次元IDCT演算のIDCT速算法の第1段階演算を行い、(c)データレジスタユニットを制御して乗法演算ユニットからの基準化第1段階出力データを記憶させ、(d)該データレジスタユニットを制御して、該基準化第1段階出力データをバタフライ演算ユニットに提供し、該バタフライ演算ユニットが該第一巡一次元IDCT演算のIDCT速算法の第2段階演算を行い、(e)該データレジスタユニットを制御して該バタフライ演算ユニットからの第2段階出力データを記憶させ、(f)該データレジスタユニットを制御して所定の第2段階出力データを該乗法演算ユニットに提供させ、該所定の第2段階出力データが該データレジスタユニットに記憶された際に、該乗法演算ユニットが該IDCT速算法の第3段階演算を行い、(g)該データレジスタユニットを制御して、該乗法演算ユニットからの第3階出力データを記憶させ、(h)該データレジスタユニットを制御して、所定順序に第2段階及び第3段階出力データを該バタフライ演算ユニットに提供させ、該バタフライ演算ユニットが該IDCT速算法の第2段階演算を行った後に、該IDCT速算法の第4段階演算を行い、(i)該データレジスタユニットを制御して、該バタフライ演算ユニットからの第4段階出力データを記憶させ、(j)該データレジスタユニットを制御して所定の第4段階出力データを該乗法演算ユニットに提供し、該所定の第4段階出力データが該データレジスタユニット内に記憶された際に、該乗法演算ユニットが該IDCT速算法の第5段階演算を行い、(k)該データレジスタユニットを制御して、該乗法演算ユニットからの第5段階出力データを記憶させ、(l)該データレジスタユニットを制御して、所定順序で第4段階及び第5段階出力データを該バタフライ演算ユニットに提供し、該バタフライ演算ユニットが該IDCT速算法の第4段階演算を行った後に、該IDCT速算法の第6段階演算を行い、(m)該データレジスタユニットを制御して、該バタフライ演算ユニットがステップ(l)で生じた基準化一次元データを記憶させ、(n)該データレジスタユニットを制御してもう一つの方向から該基準化一次元変換データを該バタフライ演算ユニットに提供し、該バタフライ演算ユニットが第二巡一次元IDCT演算のIDCT速算法の第2段階演算を行い、(o)段階(e)から段階(l)を反復して、第二巡一次元IDCT演算のIDCT速算法の第3乃至第6段階演算を行い、(p)段階(o)の後に、出力ユニットを制御して該バタフライ演算ユニットから第6段階出力データを受け、該入力データと対応する二次元変換データとする。
【0010】
本発明のその他特徴及び優点は添付した図面を参照しながら下記の実施例の詳細な説明から明らかとなろう。
【0011】
【発明の実施の形態】
以下、本発明を実施の形態に基づいて具体的に説明するが、本発明はこの例だけに限定されない。
図1に示す如く、本発明の二次元DCT方法の比較的好ましい実施例は連続する第一及び第二巡一次元DCT演算を含むように表示される。第一巡一次元DCT演算は図9に示したDCT速算法の始めの5段階演算を含み、入力原始ブロックデータから基準化一次元DCTブロックデータを得るように行われる。第二巡一次元DCT演算は図9で示したDCT速算法の第6段階演算を含み、基準化一次元DCTブロックデータから二次元DCTブロックデータを得るように行われる。
【0012】
各第一及び第二巡一次元DCT演算の第2及び第4段階演算の加算後相乗演算で使用される係数は、図9に示すように、それぞれa1、a2、b1、b2及びb3である。しかし乍ら、DCT速算法の第6段階演算は本発明のDCT方法の第一巡一次元DCT演算では省略されており、一組の基準化重み係数が第二巡一次元DCT演算におけるDCT速算法の第6段階演算の内部乗法演算に使われる。図3(A)は第二巡一次元DCT演算に使用され且つデータブロックと対応する8×8マトリックスの処理中に使用される基準化重み係数ci,jを表示している。図示のように、第二巡一次元DCT演算におけるDCT速算法の第6段階演算の内部乗法演算中で使用される原始重み係数は一個の各行(或いは各列)が異なるスケーラ(Scaler)により基準化される。若しもcj(j=0から7)が図9に示したDCT速算法の内部乗法演算中で使用される原始重み係数であると、第1から第8行(或いは列)のスケーラ(ci)はそれぞれc0、c1、c2、c3、c4、c5、c6、及びc7である。即ち、第i行(或いは列)の内部乗法演算の原始重み係数(cj)はci、jに基準化されて、それがciとcjの乗積に等しく、そのうち、iとj=0〜7で、各行(或いは列)の第j個の一次元変換データは例えば図9に示すF(j)である。
【0013】
図2に示す如く、本発明の二次元IDCT方法の比較的好ましい実施例は連続する第一及び第二巡一次元IDCT演算を含むように表示される。第一巡一次元IDCT演算は図11で示したIDCT速算法の6段階演算を含み、入力原始ブロックデータから基準化一次元IDCTブロックデータを得るように行われる。第二巡一次元IDCT演算は図11で示したIDCT速算法の後の5段階演算を含み、基準化一次元IDCTブロックデータから二次元IDCTブロックデータを得るように行われる。
【0014】
各第一及び第二巡一次元IDCT演算の第3及び第5段階演算の相乗後減算演算で使用される係数は、図11に示すように、それぞれq1、q2、q3、r1及びr2である。しかし乍ら、IDCT速算法の第1段階演算は本発明のIDCT方法の第二巡一次元IDCT演算で省略されており、一組の基準化重み係数が第一巡一次元IDCT演算におけるIDCT速算法の第1段階演算の内部乗法演算に使われる。図3(B)は第一巡一次元IDCT演算に使用され且つデータブロックと対応する8×8マトリックスの処理中に使用される基準化重み係数pi,jを表示している。図示のように、第一巡一次元IDCT演算におけるIDCT速算法の第1段階演算の内部乗法演算中で使用される原始重み係数は一個の各行(或いは各列)が異なるスケーラ(Scaler)により基準化される。若しもpj(j=0から7)が図11に示したIDCT速算法の内部乗法演算中で使用される原始重み係数であれば、第1から第8行(或いは列)のスケーラ(pi)はそれぞれp0、p1、p2、p3、p4、p5、p6、及びp7である。即ち、第i行(或いは列)の内部乗法演算の原始重み係数p(j)はpi、jに基準化されて、それはpiとpjの乗積に等しく、そのうち、iとj=0〜7で、各行(或いは列)の第j個の一次元変換データは例えば図11で示すF(j)である。
【0015】
図4は本発明の比較的好ましい実施例のDCT/IDCT方法を行うのに用いられるDCT/IDCT装置の表示図で、DCT/IDCT装置の構造は大方米国特許第5,471,412号で記述したものと同じく、入力ユニット1、バタフライ演算ユニット2、乗法演算ユニット3、データレジスタユニット4、出力ユニット5及び制御ユニット6を含む。
【0016】
入力ユニット1はデマルチプレクサであり、外部装置(図示せず)から8×8データブロックの連続直列入力データ(Din)を受ける。入力ユニット1は必要な変換演算に応じて入力データ(Din)をバタフライ演算ユニット2或いは乗法演算ユニット3へ発送するに運用される。
バタフライ演算ユニット2はマルチプレクサ21とバタフライ形回路22を含み、バタフライ形回路22は二つの入力データの和と差を生じる。マルチプレクサ21は制御ユニット6に連接する選択入力端部と入力ユニット1及びデータレジスタユニット4に連接するデータ入力端部を具えている。制御ユニット6がマルチプレクサ21を制御して入力ユニット1からの入力データ(Din)或いはデータレジスタユニット4からのデータを選択させ、且つその選択データをバタフライ形回路22に提供して、バタフライ形回路22にバタフライ演算を行わせる。バタフライ形回路22の出力はデータレジスタユニット4に記憶され、或いは出力ユニット5に発送される。
【0017】
乗法演算ユニット3は入力選択マルチプレクサ31、加算/減算回路32、乗法器回路33、係数ROM34、及び出力選択マルチプレクサ35を含み、係数ROM34は、乗法器回路33に入力されてそのうちの一つの演算数入力として作用し、図3(A)及び(B)で示す基準化重み係数を含む多数の重み係数を具えている。乗法演算ユニット3は内部乗法演算、加算後相乗演算及び相乗後減算演算を行うことができる。入力ユニット1からの入力データ(Din)或いはデータレジスタユニット4からのデータが加算/減算回路32或いは入力選択マルチプレクサ31に発送されると、乗法演算ユニット3をして望む算術演算を行うことができる。加算/減算回路32と乗法器回路33の出力が出力選択マルチプレクサ35に発送されるとデータレジスタユニット4に記憶することができる。また乗法器回路33の出力も直接出力ユニット5に送る。
【0018】
そして、乗法演算ユニット3が如何にして内部乗法演算、加算後相乗演算、或いは相乗後減算演算を行うかは、すでに上記米国特許で述べているので、ここでは説明を省略する。
データレジスタユニット4は一個の両書込みポート(WP1、WP2)及び両読取りポート(RP1、RP2)を具えた4ポートレジスタであり、第一セットの読取り及び書込みポート(RP1、WP2)がバタフライ演算ユニット2に連接されて、第二セットの読取り及び書込みポート(RP2、WP2)が乗法演算ユニット3に連接される。データレジスタユニット4はバタフライ演算ユニット2及び乗法演算ユニット3からのデータを記憶する作用を有して、進んでそれらにデータを提供する作用をも有する。
【0019】
出力ユニット5はマルチプレクサであり、DCT実行かIDCT実行かの違いによりバタフライ形回路22或いは乗法器回路33の出力を選択する。
最後に、制御ユニット6が係数ROM34及びデータレジスタユニット4の読取り/書込み操作を制御して、異なるマルチプレクサ21、31、35をも制御し、制御ユニット6は更にDCT/IDCT装置のその他部材の操作タイミングを制御する。
【0020】
図5及び図6は装置が本発明の比較的好ましい実施例のDCTとIDCT方法を行っている時の操作タイムチャートである。本発明において、一個のデータブロック(N)が二次元DCT/IDCTを受けると、基準化一次元変換データは第一巡一次元DCT/IDCT演算後に得られて、基準化一次元データは然る後に第二巡一次元DCT/IDCT演算を経て二次元DCT/IDCTデータを得ることができる。図4のDCT/IDCT装置において、第一巡一次元DCT/IDCT演算の第1段階演算は入力データブロック(N)を受取った際に直ちに行われ、二次元DCT/IDCTデータは第二巡一次元DCT/IDCT演算の第6段階演算の出力から得られる。二次元DCT/IDCT期間中、データブロック(N)の第一巡一次元DCT/IDCT演算の結果はデータレジスタユニット4に記憶される。若しも原始データブロックが行の方式で入力されると、第一巡一次元DCT/IDCT演算で獲得した変換データブロックは必ず列の方式で処理できるように置換されなければならず、データブロック(N)の第一巡一次元DCT/IDCT演算の結果がデータレジスタユニット4内に記憶される。データレジスタユニット4はバタフライ演算ユニット2と乗法演算ユニット3が同時にデータを読取り及び書込めるように構成されて、これによりバタフライ演算ユニット2と乗法演算ユニット3は循環及び平行パイプライン方式処理を達成することができる。
【0021】
次に、図4の装置が如何にして本発明の比較的好ましい実施例のDCT及びIDCT方法を行うかを詳細に記述する。
図4,図5に示すように、第一巡一次元DCT演算の期間中、一個の8×8画素ブロックの64個の画素データは行の方式(或いは列の方式)で順に入力ユニット1に供給される。制御ユニット6は入力ユニット1を制御して入力画素データ(Din)をバタフライ演算ユニット2に発送し、バタフライ演算ユニット2が各行(或いは列)の四つのバタフライ演算を含むDCT速算法の第1段階演算を行う。制御ユニット6は然る後にデータレジスタユニット4を制御して、バタフライ演算ユニット2からの第1段階出力データを書込みポート(WP1)を経てデータレジスタユニット4内に記憶させる。そして、所定の第1段階出力データがデータレジスタユニット4に記憶されると、制御ユニット6がデータレジスタユニット4を制御して読取りポート(RP2)を経て所定の第1段階出力データを乗法演算ユニット3に供給し、乗法演算ユニット3が各行(或いは各列)の二つの加算後相乗演算を含むDCT速算法の第2段階演算を行い、バタフライ演算ユニット2は持続的にDCT速算法の第1段階演算を行う。制御ユニット6は再びデータレジスタユニット4を制御して書込みポート(WP2)を経て乗法演算ユニット3からの第2段階出力データをデータレジスタユニット4内に記憶させる。バタフライ演算ユニット2がDCT速算法の第1段階演算を完成した後、制御ユニット6はデータレジスタユニット4を制御して、所定の順序で読取りポート(RP1)を経て第1段階及び第2段階出力データをバタフライ演算ユニット2に提供し、バタフライ演算ユニット2が各行(或いは各列)の他の四つのバタフライ演算を含むDCT速算法の第3段階演算を行う。制御ユニット6は再びデータレジスタユニット4を制御して、書込みポート(WP1)を通じてバタフライ演算ユニット2からの第3段階出力データをデータレジスタユニット4内に記憶させる。所定の第3段階出力データがすでにデータレジスタユニット4内に記憶されると、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP2)を通じてそれら所定の第3段階出力データを乗法演算ユニット3に供給し、乗法演算ユニット3が各行(或いは各列)の三つの加算後相乗演算を含むDCT速算法の第4段階演算を行い始め、バタフライ演算ユニット2は持続的にDCT速算法の第3段階演算を行う。制御ユニット6がデータレジスタユニット4を制御して、書込みポート(WP2)を通じて乗法演算ユニット3からの第4段階出力データをデータレジスタユニット4に記憶させる。バタフライ演算ユニット2がDCT速算法の第3段階演算を行った後、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP1)を通じて第3段階及び第4段階出力データを所定の順序でバタフライ演算ユニット2に供給し、バタフライ演算ユニット2に各行(或いは各列)の更に他の四つのバタフライ演算を含んだDCT速算法の第5段階演算を行わせる。制御ユニット6が更にデータレジスタユニット4を制御して、書込みポート(WP1)を通じてバタフライ演算ユニット2からの第5段階出力データをデータレジスタユニット4に記憶させる。第5段階出力データは第一巡一次元DCT演算の基準化一次元変換データとして作用する。
【0022】
上記米国特許で開示された二次元DCT方法と異なる所は、DCT速算法の第6段階演算が第一巡一次元DCT演算中で省略されている。したがって、基準化一次元変換データがデータレジスタユニット4内に記憶された際、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP1)を通じて順に他の方向から基準化一次元変換データをバタフライ演算ユニット2に出力し、例えば列(或いは行)の方式で、これによりバタフライ演算ユニット2が第二巡一次元DCT演算のDCT速算法の第1段階演算を行う。第二巡一次元DCT演算のDCT速算法の第2から第5段階演算はしかる後に第一巡一次元DCT演算のDCT速算法の第2から第5段階演算と同じ形式で行う。次に、制御ユニット6がデータレジスタユニット4を制御して、書込みポート(WP1)を通じてバタフライ演算ユニット2の第5段階出力データをデータレジスタユニット4に記憶させる。第5段階出力データは第二巡一次元DCT演算の基準化二次元変換データとして作用する。
【0023】
続いて、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP2)を通じて基準化二次元変換データを乗法演算ユニット3に提供し、乗法演算ユニット3が、図3(A)で示した且つ係数ROM34内の記憶される一組の重み係数により、各列(或いは各行)の八つの内部乗法演算を含む第二巡一次元DCT演算のDCT速算法の第6段階演算を行って、これにより入力画素データ(Din)に対応する二次元変換データを得る。最後に、制御ユニット6が出力ユニット5を制御して、乗法演算ユニット3の乗法器回路33から二次元変換データを受け、二次元変換データを外部装置(図示せず)に提供するのである。
【0024】
図4及び図6に示す如く、第一巡一次元IDCT演算の期間中、一個の8×8データブロックの64個の変換データは列の方式(或いは行の方式)で順に入力ユニット1に供給される。制御ユニット6は入力ユニット1を制御して入力変換データ(Din)を乗法演算ユニット3に発送し、乗法演算ユニット3が各列(或いは行)の八つの内部乗法演算を含むIDCT速算法の第1段階演算を行う。上記米国特許で開示した二次元IDCT方法と異なるのは、第一巡一次元IDCT演算のIDCT速算法の第1段階演算を、図3(B)で示した且つ係数ROM34内に記憶される一組の重み係数により行うことで、第二巡一次元IDCT演算にIDCT速算法の第1段階演算を省略することができる。乗法演算ユニット3はこの際基準化第1段階出力データを出力する。
【0025】
制御ユニット6はデータレジスタユニット4を制御して、乗法演算ユニット3からの基準化第1段階出力データを書込みポート(WP2)を通じてデータレジスタユニット4内に記憶させる。基準化第1段階出力データがデータレジスタユニット4に記憶されると、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP1)を通じてその得られた基準化第1段階出力データをバタフライ演算ユニット2に供給し、バタフライ演算ユニット2が各列(或いは行)の四つバタフライ演算を含むIDCT速算法の第2段階演算を行う。制御ユニット6が又もデータレジスタユニット4を制御して、書込みポート(WP1)を通じてバタフライ演算ユニット2からの第2段階出力データをデータレジスタユニット4に記憶させる。その所定の第2段階出力データがデータレジスタユニット4に記憶されると、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP2)を通じてそれら所定の第2段階出力データを乗法演算ユニット3に供給し、乗法演算ユニット3が各列(或いは行)の三つ相乗後減算を含むIDCT速算法の第3段階演算を行い、バタフライ演算ユニット2は持続的にIDCT速算法の第2段階演算を行う。制御ユニット6は更にデータレジスタユニット4を制御して、書込みポート(WP2)を通じて乗法演算ユニット3からの第3段階出力データをデータレジスタユニット4に記憶させる。バタフライ演算ユニット2においてIDCT速算法の第2段階演算を完成されると、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP1)を通じて所定の順で第2段階及び第3段階出力データをバタフライ演算ユニット2に送り、バタフライ演算ユニット2が各列(或いは各行)の他の四つバタフライ演算を含むIDCT速算法の第4段階演算を行う。制御ユニット6が又もデータレジスタユニット4を制御して、書込みポート(WP1)を通じてバタフライ演算ユニット2からの第4段階出力データをデータレジスタユニット4内に記憶させる。所定の第4段階出力データがデータレジスタユニット4に記憶されると、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP2)を通じてそれら所定の第4段階出力データを乗法演算ユニット3に供給し、乗法演算ユニット3が各列(或いは各行)の二つの相乗後減算演算を含むIDCT速算法の第5段階演算を行い、バタフライ演算ユニット2は持続的にIDCT速算法の第4段階演算を行う。制御ユニット6が又もデータレジスタユニット4を制御して、書込みポート(WP2)を通じて乗法演算ユニット3からの第5段階出力データをデータレジスタユニット4に記憶させる。バタフライ演算ユニット2がIDCT速算法の第4段階演算を行えば、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP1)を通じて所定順に第4段階及び第5段階出力データをバタフライ演算ユニット2に供給し、バタフライ演算ユニット2が各列(或いは各行)の外の四つバタフライ演算を含むIDCT速算法の第6段階演算を行う。制御ユニット6がデータレジスタユニット4を制御して第6段階出力データを記憶させ、第6段階出力データは第一巡一次元IDCT演算の基準化一次元変換データとして作用する。
【0026】
上述したように、第二巡一次元IDCT演算のIDCT速算法の第1段階演算は本発明の比較的好ましい実施例のIDCT方法では省略している。したがって、基準化一次元データがデータレジスタユニット4内に記憶されると、制御ユニット6がデータレジスタユニット4を制御して、読取りポート(RP1)を通じて順にもう一つの方向、例えば行(或いは列)の方式で基準化一次元変換データをバタフライ演算ユニット2に出力し、これによりバタフライ演算ユニット2は第二巡一次元IDCT演算のIDCT速算法の第2段階演算を行える。第二巡一次元IDCT演算のIDCT速算法の第3から第6段階演算は、しかる後に第一巡一次元演算のIDCT速算法の第3から第6段階演算と同じ形式で行われる。次に、制御ユニット6が出力ユニット5を制御して、バタフライ演算ユニット2のバタフライ形回路22から第6段階出力データを受けて二次元変換データとし、6段階出力データを外部装置(図示せず)へ提供することができる。
【0027】
図7に示すのは、本発明の比較的好ましい実施例の二次元DCT/IDCT方法を行うのに用いられるもう一種のDCT/IDCT装置である。DCT/IDCT装置の構造は米国特許第5,471,412号で述べたものを基本としている。図7のDCT/IDCT装置は8×8データブロックの二次元DCT/IDCT循環と平行パイプライン方式処理を行い、二つの第一巡及び第二巡一次元DCT/IDCT処理ユニット101,102及び制御ユニット103とを含み表示される。第一巡一次元DCT/IDCT処理ユニット101は、デマルチプレクサのような入力ユニット1011、マルチプレクサ10121とバタフライ形回路10122を具えたバタフライ演算ユニット1012、入力選択マルチプレクサ10131と加算/減算回路10132と乗法器回路10133と係数ROM10134と出力セレクトマルチプレクサ10135を具えた乗法演算ユニット1013、及び第一巡一次元DCT/IDCT演算の各段階の演算結果を記憶して且つ入力データを第二巡一次元DCT/IDCT処理ユニット102に供給するに用いられる転置メモリの作用をするデータレジスタユニット(A)1014を含む。第二巡一次元DCT/IDCT処理ユニット102は、マルチプレクサ10211とバタフライ形回路10212を具えたバタフライ演算ユニット1021、入力セレクタマルチプレクサ10221と加算/減算回路10222と乗法器回路10223と係数ROM10224と出力セレクタマルチプレクサ10225を具えた乗法演算ユニット1022、データレジスタユニット(B)1023、及びマルチプレクサのような出力ユニット1024を含む。DCT速算法の第6段階演算が第一巡一次元DCT演算で省略されて、IDCT速算法の第1段階演算が第二巡一次元IDCT演算で省略されていることから、乗法器回路10133,10223はそれぞれの係数ROM10134,10224が必要であり、特に係数ROM10134はDCT処理期間にa1、a2、b1、b2とb3を含んで、IDCT処理期間にq1、q2、q3、r1、r2とPi、j(i、j=0から7)を含む。係数ROM10224はDCT処理期間にa1、a2、b1、b2、b3とCi、j(i、j=0から7)を含んで、IDCT処理期間にq1、q2、q3、r1とr2を含む。制御ユニット103は係数ROM10134,10224及びデータレジスタユニット1014,1023の読取り/書込み操作を制御して、異なる各マルチプレクサ10121,10131,10135,10211,10221,10225をも制御する。制御ユニット103は更に第一及び第二巡一次元DCT/IDCT処理ユニット101,102の残りの部材の操作タイミングを制御する。
【0028】
図7及び図8に示すように、装置が二次元DCT処理をする際、第一処理ユニット101が図9のDCT速算法の前の5段階演算を行って、第二処理ユニット102に供給する基準化一次元変換データを得る。第二処理ユニット102がしかる後に図9のDCT速算法の第6段階演算を行って、出力ユニット1024から外部装置(図示せず)へ伝送される二次元変換データを得る。そして、装置が二次元IDCT処理をする時は、第一処理ユニット101が図11のIDCT速算法の全て6段階演算を行って、第二処理ユニット102に供給される基準化一次元変換データを得る。第二処理ユニット102がしかる後に図11のIDCT速算法の後の五段階演算を行って、出力ユニット1024が外部装置(図示せず)へ伝送する二次元変換データを得る。
【0029】
図7の装置は図4の装置の二倍の処理速度を具えており、これにより高い出力ビット転送速度を許される。したがって、第二巡一次元DCT演算のDCT速算法の内部乗法演算中、即ち、第6段階演算で一組の基準化重み係数を使用することにより、第一巡一次元DCT演算のDCT速算法の第6段階演算を省略することができる。同様に、第一巡一次元IDCT演算のIDCT速算法の内部乗法演算中、即ち、第1段階演算でセットの基準化重み係数を使用することにより、第二巡一次元IDCT演算のIDCT速算法の第1段階演算を省略することができる。それ故、二次元DCT/IDCT処理は一個の速算法の6段階演算を具えた一次元DCT/IDCT演算、及びもう一個の速算法の5段階演算を具えた一次元DCT/IDCT演算を利用して行われる。これにより、そのうちの一個の一次元DCT/IDCT演算が13個の乗法演算を含んで、もう一個の一次元DCT/IDCT演算が僅かに5個の乗法演算を含み、したがって、一個の8×8データブロックから言うと、本発明の二次元DECT/IDCT方法中の乗法演算の総数を144個(8×13+8×5)までに減少でき、上記米国特許に比べて乗法演算総数を31%も減少でき、明らかに処理速度を向上させ得る。
【0030】
【発明の効果】
上記のように構成された本発明は、二つの一次元DCT/IDCT演算中のうち、一方の6段階演算DCT/IDCT速算法の内部乗法演算に一組の基準化重み係数を使用したことから、他方の一次元DCT/IDCT演算のDCT/IDCT速算法におけるそれと対応する演算を省略できて、二次元DCT/IDCT処理の乗法演算の数を減らしてより高い処理速度を実現することができる。
【図面の簡単な説明】
【図1】本発明のDCT方法の比較的好ましい実施例のフローチャートである。
【図2】本発明のIDCT方法の比較的好ましい実施例のフローチャートである。
【図3】(A)は上記実施例のDCT方法で使用される一組の基準化重み係数表示図、
(B)は上記実施例のIDCT方法で使用される一組の基準化重み係数表示図である。
【図4】上記実施例のDCT/IDCT方法を行うのに使われるDCT/IDCT装置例の電気回路ブロック図である。
【図5】図4の装置が二次元DCTを行う際の演算タイミング図である。
【図6】図4の装置が二次元IDCTを行う際の演算タイミング図である。
【図7】上記実施例のDCT/IDCT方法に使われるもう一つのDCT/IDCT装置例の電気回路ブロック図である。
【図8】図7の装置の操作タイミング図である。
【図9】従来例のDCT装置の一次元変換演算中で使用されるDCT迅速演算法のフローグラフである。
【図10】(A)は図9のフローグラフにおけるバタフライ演算を説明する図、(B)は図9のフローグラフにおける内部乗法演算を説明する図、(C)は図9のフローグラフにおける加算後相乗演算を説明する図、(D)は図9のフローグラフにおける相乗後減算演算を説明する図である。
【図11】従来例のIDCT装置の一次元変換演算中で使用されるIDCT速算法のフローグラフである。
【符号の説明】
1 入力ユニット
2 バタフライ演算ユニット
3 乗法演算ユニット
4 データレジスタユニット
21 マルチプレクサ
22 バタフライ形回路
31 入力選択マルチプレクサ
32 加算/減算回路
33 乗法器回路
34 係数ROM
35 出力選択マルチプレクサ
Din 入力データ
WP1 書込みポート
WP2 書込みポート
RP1 読取りポート
RP2 読取りポート
101 DCT/IDCT処理ユニット
102 DCT/IDCT処理ユニット
103 制御ユニット
Claims (6)
- それぞれ第一及び第二巡一次元DCT演算が6段階演算のDCT速算法を使って、8×8データブロックの連続入力データを処理して連続的に変換データを生じ、該DCT速算法が複数のバタフライ演算を具えた第1、第3及び第5段階演算、複数の加算後相乗演算を具えた第2及び第4段階演算、及び複数の内部乗法演算を具えた第6段階演算を含んでなり、
(a)入力ユニットにより入力データを受け、
(b)該入力ユニットを制御して該入力データをバタフライ演算ユニットに提供し、該バタフライ演算ユニットが該第一巡一次元DCT演算におけるDCT速算法の第1段階演算を行い、
(c)データレジスタユニットを制御してバタフライ演算ユニットからの第1段階出力データを記憶させ、
(d)該データレジスタユニットを制御して、所定の第1段階出力データを乗法演算ユニットに提供させ、該所定の第1段階出力データが該データレジスタユニット内に記憶された際に該乗法演算ユニットが該DCT速算法の第2段階演算を行い、
(e)該データレジスタユニットを制御して該乗法演算ユニットからの第2段階出力データを記憶させ、
(f)該データレジスタユニットを制御して所定順序で第1段階及び第2段階出力データを該バタフライ演算ユニットに提供させ、該バタフライ演算ユニットが該DCT速算法の第1段階演算を行った後に、該DCT速算法の第3段階演算を行い、
(g)該データレジスタユニットを制御して、該バタフライ演算ユニットの第3段階出力データを記憶させ、
(h)該データレジスタユニットを制御して、所定の第3段階出力データを乗法演算ユニットに提供させ、該所定の第3段階出力データが該データレジスタユニット内に記憶された際に該乗法演算ユニットが該DCT速算法の第4段階演算を行い、
(i)該データレジスタユニットを制御して、該乗法演算ユニットからの第4段階出力データを記憶させ、
(j)該データレジスタユニットを制御して所定順序で第3段階及び第4段階出力データを該バタフライ演算ユニットに提供し、該バタフライ演算ユニットが該DCT速算法の第3段階演算を行った後に、該DCT速算法の第5段階演算を行い、
(k)該データレジスタユニットを制御して、該バタフライ演算ユニットから作用が基準化一次元変換データと同様な第5段階出力データを記憶させ、
(l)該データレジスタユニットを制御してもう一つの方向から該基準化一次元変換データを該バタフライ演算ユニットに提供させ、該バタフライ演算ユニットが第二巡一次元DCT演算のDCT速算法の第1段階演算を行い、
(m)段階(c)から段階(j)を反復して、第二巡一次元演算のDCT速算法の第2乃至第5段階演算を行い、
(n)該データレジスタユニットを制御して、該バタフライ演算ユニットから作用が基準化二次元変換データと同じである第5段階出力データを記憶させ、
(o)該データレジスタユニットを制御して該基準化二次元変換データを該乗法演算ユニットに提供し、該乗法演算ユニットは、該乗法演算ユニットに記憶された係数ROMに記憶された第i(i=0〜7)行の基準化重み係数をc i 、及び、第j(j=0〜7)列の基準化重み係数をc j としたとき、該第一及び第二巡一次元DCT演算におけるDCT速算法の第6段階の重み係数をc i* c j として、該第二巡一次元DCT演算のDCT速算法の第6段階演算を行い、これにより該入力データと対応する二次元変換データを得、
(p)出力ユニットを制御して乗法演算ユニットから該二次元変換データを受ける、
各段階を具えてなる、連続する第一及び第二巡一次元離散コサイン変換(DCT)演算を含んだ二次元DCT方法。 - 6段階演算DCT速算法が複数のバタフライ演算を具えた第1、第3及び第5段階演算、複数の加算後相乗演算を具えた第2及び第4段階演算、及び複数の内部乗法演算を具えた第6段階演算を含んでなり、
(a)第i(0〜7)行の基準化重み係数をc i 、及び、第j(0〜7)列の基準化重み係数をc j としたとき、第一巡一次元変換と第二巡一次元変換中のDCT速算法の第6段階重み係数をc i* c j とし、乗法演算ユニットの係数ROM内に記憶させ、
(b)バタフライ演算ユニット及び該乗法演算ユニットを制御して、入力データに対してDCT速算法の第1から第5段階演算を行わせて基準化一次元変換データを得、
(c)バタフライ演算ユニット及び該乗法演算ユニットを制御して、該基準化一次元変換データに対してDCT速算法の第1から第5段階演算を行わせて基準化二次元変換データを得、
(d)該乗法演算ユニットを制御して、該係数ROM内の基準化重み係数に基づいて該基準化二次元変換データに対して該DCT速算法の第6段階演算を行い、これにより該入力データに対応する二次元変換データを得る各段階を含んでなる、6段階演算離散コサイン変換(DCT)速算法による二次元DCT方法。 - 連続的に第一及び第二巡一次元DCT演算を行い、各第一及び第二巡一次元DCT演算が8×8データブロックの連続入力データを処理して連続の変換データを生じさせる6段階演算のDCT速算法を含み、該DCT速算法が複数の二次元DCT装置のバタフライ演算ユニットが行うバタフライ演算の第1、第3及び第5段階演算、複数の該二次元DCT装置の乗法演算ユニットが行う加算後相乗演算の第2及び第4段階演算、及び複数の該乗法演算ユニットが行う内部乗法演算の第6段階演算を含んでなり、
(a)第i(0〜7)行の基準化重み係数をc i 、及び、第j(0〜7)列の基準化重み係数をc j としたとき、第一巡一次元変換と第二巡一次元変換中のDCT速算法の第6段階重み係数をc i* c j として、乗法演算ユニットの係数ROM内に記憶させ、
(b)バタフライ演算ユニットが該第一巡一次元DCT演算のDCT速算法の第5段階演算を行って基準化一次元変換データを得た後、該バタフライ演算ユニットを制御してもう一つの方向から該基準化一次元変換データに対して第二巡一次元DCT演算のDCT速算法の第1段階演算を行わせ、
(c)該バタフライ演算ユニットが該第二巡一次元DCT演算のDCT速算法の第5段階演算を行って基準化二次元DCT変換データを得た後、該乗法演算ユニットを制御して、該係数ROM内の基準化重み係数に基づいて該基準化二次元DCT変換データに対して第二巡一次元DCT演算のDCT速算法の第6段階演算を行い、これにより入力データに対応する二次元変換データを得る各段階を含んでなる、二次元離散コサイン変換(DCT)装置の乗法演算の減少方法。 - それぞれ第一及び第二巡一次元IDCT演算が6段階演算のIDCT速算法を使って、8×8データブロックの連続入力データを処理して連続的に変換データを生じ、該IDCT速算法が複数の内部乗法演算を具えた第1段階演算、複数のバタフライ演算を具えた第2、第4及び第6段階演算、及び複数の相乗後減算演算を具えた第3及び第5段階演算を含んでなり、
(a)入力ユニットにより入力データを受け、
(b)該入力ユニットを制御して該入力データを乗法演算ユニットに提供し、該乗法演算ユニットは、該乗法演算ユニットに記憶された係数ROM内の第i(0〜7)行の基準化重み係数をp i 、及び、第j(j=0〜7)列の基準化重み係数をp j としたとき、該第一及び第二巡一次元IDCT演算におけるIDCT速算法での重み係数をp i* p j として、該第一巡一次元IDCT演算のIDCT速算法の第1段階演算を行い、
(c)データレジスタユニットを制御して乗法演算ユニットからの基準化第1段階出力データを記憶させ、
(d)該データレジスタユニットを制御して、該基準化第1段階出力データをバタフライ演算ユニットに提供し、該バタフライ演算ユニットが該第一巡一次元IDCT演算のIDCT速算法の第2段階演算を行い、
(e)該データレジスタユニットを制御して該バタフライ演算ユニットからの第2段階出力データを記憶させ、
(f)該データレジスタユニットを制御して所定の第2段階出力データを該乗法演算ユニットに提供させ、該所定の第2段階出力データが該データレジスタユニットに記憶された際に、該乗法演算ユニットが該IDCT速算法の第3段階演算を行い、
(g)該データレジスタユニットを制御して、該乗法演算ユニットからの第3階出力データを記憶させ、
(h)該データレジスタユニットを制御して、所定順序に第2段階及び第3段階出力データを該バタフライ演算ユニットに提供させ、該バタフライ演算ユニットが該IDCT速算法の第2段階演算を行った後に、該IDCT速算法の第4段階演算を行い、
(i)該データレジスタユニットを制御して、該バタフライ演算ユニットからの第4段階出力データを記憶させ、
(j)該データレジスタユニットを制御して所定の第4段階出力データを該乗法演算ユニットに提供し、該所定の第4段階出力データが該データレジスタユニット内に記憶された際に、該乗法演算ユニットが該IDCT速算法の第5段階演算を行い、
(k)該データレジスタユニットを制御して、該乗法演算ユニットからの第5段階出力データを記憶させ、
(l)該データレジスタユニットを制御して、所定順序で第4段階及び第5段階出力データを該バタフライ演算ユニットに提供し、該バタフライ演算ユニットが該IDCT速算法の第4段階演算を行った後に、該IDCT速算法の第6段階演算を行い、
(m)該データレジスタユニットを制御して、該バタフライ演算ユニットがステップ(l)で生じた基準化一次元データを記憶させ、
(n)該データレジスタユニットを制御してもう一つの方向から該基準化一次元変換データを該バタフライ演算ユニットに提供し、該バタフライ演算ユニットが第二巡一次元IDCT演算のIDCT速算法の第2段階演算を行い、
(o)段階(e)から段階(l)を反復して、第二巡一次元IDCT演算のIDCT速算法の第3乃至第6段階演算を行い、
(p)段階(o)の後に、出力ユニットを制御して該バタフライ演算ユニットから第6段階出力データを受け、該入力データと対応する二次元変換データとする各段階を具えてなる、連続する第一及び第二巡一次元逆離散コサイン変換(IDCT)演算を含んだ二次元IDCT方法。 - IDCT速算法が複数の内部乗法演算を具えた第1段階演算、複数のバタフライ演算を具えた第2、第4及び第6段階演算、及び複数の相乗後減算演算を具えた第3及び第5段階演算を含んでなり、
(a)第一巡一次元変換と第二巡一次元変換中のIDCT速算法の第1段階の第i(i=0〜7)行の基準化重み係数をp i 、及び、第j(j=0〜7)列の基準化重み係数をp j としたとき、該第一及び第二巡一次元IDCT演算におけるIDCT速算法での第1段階重み係数をp i* p j として、乗法演算ユニットの係数ROM内に記憶させ、
(b)乗法演算ユニットを制御して、該係数ROM内の基準化重み係数を利用して、入力データに対してIDCT速算法の第1段階演算を行わせて基準化第1段階出力データを得、
(c)バタフライ演算ユニット及び該乗法演算ユニットを制御して、該基準化第1段階出力データに対してIDCT速算法の第2から第6段階演算を行わせて基準化一次元変換データを得、
(d)該バタフライ演算ユニット及び該乗法演算ユニットを制御して、該基準化一次元変換データに対して該IDCT速算法の第2から第6段階演算を行い、これにより該入力データに対応する二次元変換データを得る各段階を含んでなる、6段階演算逆離散コサイン変換(IDCT)速算法による二次元IDCT方法。 - 二次元IDCT装置が連続的に第一及び第二巡一次元IDCT演算を行い、各第一及び第二巡一次元IDCT演算が6段階演算のIDCT速算法を使って8×8データブロックの連続入力データを処理して連続の変換データを生じ、該IDCT速算法が複数の二次元IDCT装置の乗法演算ユニットが行う内部乗法演算の第1段階演算、複数の該二次元IDCT装置のバタフライ演算ユニットが行うバタフライ演算の第2、第4及び第6段階演算、及び複数の該乗法演算ユニットが行う相乗後減算演算の第3及び第5段階演算を含んでなり、(a)第一及び第二巡一次元IDCT演算のIDCT速算法の第1段階の第i(i=0〜7)行の基準化重み係数をp i 、及び、第j(j=0〜7)列の基準化重み係数をp j としたとき、該第一及び第二巡一次元IDCT演算におけるIDCT速算法での第1段階重み係数をp i* p j として、乗法演算ユニットの係数ROM内に記憶させ、
(b)乗法演算ユニットを制御して、該係数ROM内の基準化重み係数により入力データに対して第一巡一次元IDCT演算のIDCT速算法の第1段階演算を行わせて基準化第1段階出力データを得、
(c)バタフライ演算ユニットを制御して、該基準化第1段階出力データに対して第一巡一次元IDCT演算のIDCT速算法の第2段階演算を行わせ、
(d)該バタフライ演算ユニットが第一巡一次元IDCT演算のIDCT速算法の第6段階演算を終え基準化一次元変換データを得た後、該バタフライ演算ユニットを制御して、該基準化一次元変換データに対して第二巡一次元IDCT演算のIDCT速算法の第2段階演算を行わせる各段階を含んでなる、二次元逆離散コサイン変換(IDCT)装置の乗法演算の減少方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW87115327 | 1998-09-15 | ||
TW87115327A TW490634B (en) | 1998-09-15 | 1998-09-15 | Method for performing two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations |
US09/153,055 US6189021B1 (en) | 1998-09-15 | 1998-09-15 | Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000099495A JP2000099495A (ja) | 2000-04-07 |
JP3852895B2 true JP3852895B2 (ja) | 2006-12-06 |
Family
ID=26666588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6901999A Expired - Lifetime JP3852895B2 (ja) | 1998-09-15 | 1999-03-15 | 乗法演算節減可能な二次元離散コサイン変換及びその逆変換の実行方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6189021B1 (ja) |
JP (1) | JP3852895B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3524747B2 (ja) | 1998-01-30 | 2004-05-10 | 三洋電機株式会社 | 離散コサイン変換回路 |
JP3547972B2 (ja) | 1998-01-30 | 2004-07-28 | 三洋電機株式会社 | 離散コサイン変換回路 |
JP3547971B2 (ja) * | 1998-01-30 | 2004-07-28 | 三洋電機株式会社 | 離散コサイン変換回路及びその動作方法 |
US6493737B1 (en) * | 1998-06-29 | 2002-12-10 | Stmicroelectronics S.R.L. | Method and circuit for computing the discrete cosine transform (DCT) in microcontrollers |
US7082450B2 (en) | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
US7379956B2 (en) * | 2002-07-14 | 2008-05-27 | Apple Inc. | Encoding and decoding data arrays |
US7376280B2 (en) * | 2002-07-14 | 2008-05-20 | Apple Inc | Video encoding and decoding |
US7792891B2 (en) * | 2002-12-11 | 2010-09-07 | Nvidia Corporation | Forward discrete cosine transform engine |
US8423597B1 (en) | 2003-08-29 | 2013-04-16 | Nvidia Corporation | Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation |
WO2005122590A1 (ja) * | 2004-06-08 | 2005-12-22 | Matsushita Electric Industrial Co., Ltd. | 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路 |
US20070200738A1 (en) * | 2005-10-12 | 2007-08-30 | Yuriy Reznik | Efficient multiplication-free computation for signal and data processing |
US8595281B2 (en) * | 2006-01-11 | 2013-11-26 | Qualcomm Incorporated | Transforms with common factors |
US8849884B2 (en) * | 2006-03-29 | 2014-09-30 | Qualcom Incorporate | Transform design with scaled and non-scaled interfaces |
WO2008004742A1 (en) * | 2006-07-06 | 2008-01-10 | Electronics And Telecommunications Research Institute | Multi-dimensional and multi-stage transforming apparatus and method |
KR100846870B1 (ko) | 2006-07-06 | 2008-07-16 | 한국전자통신연구원 | 다수의 기본 블록들의 다차원 구성을 통한 다단계 변환장치 및 그 방법 |
CN100450184C (zh) * | 2006-07-12 | 2009-01-07 | 浙江大学 | 运用于图像编码和视频编码的离散余弦变换方法 |
US9798698B2 (en) | 2012-08-13 | 2017-10-24 | Nvidia Corporation | System and method for multi-color dilu preconditioner |
US9712829B2 (en) * | 2013-11-22 | 2017-07-18 | Google Inc. | Implementation design for hybrid transform coding scheme |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68928886T2 (de) * | 1988-10-27 | 1999-06-02 | Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka | Gerät für die direkte oder umgekehrte orthogonale Transformation |
US5299025A (en) * | 1989-10-18 | 1994-03-29 | Ricoh Company, Ltd. | Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform |
US5257213A (en) * | 1991-02-20 | 1993-10-26 | Samsung Electronics Co., Ltd. | Method and circuit for two-dimensional discrete cosine transform |
US5831881A (en) * | 1994-12-02 | 1998-11-03 | Sican Gmbh | Method and circuit for forward/inverse discrete cosine transform (DCT/IDCT) |
US5894430A (en) * | 1996-05-20 | 1999-04-13 | Matsushita Electric Industrial Co., Ltd. | Orthogonal transform processor |
-
1998
- 1998-09-15 US US09/153,055 patent/US6189021B1/en not_active Expired - Lifetime
-
1999
- 1999-03-15 JP JP6901999A patent/JP3852895B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6189021B1 (en) | 2001-02-13 |
JP2000099495A (ja) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3852895B2 (ja) | 乗法演算節減可能な二次元離散コサイン変換及びその逆変換の実行方法 | |
US4385363A (en) | Discrete cosine transformer | |
EP0660247B1 (en) | Method and apparatus for performing discrete cosine transform and its inverse | |
JPH03180965A (ja) | 単一のマルチプライヤ/アキュムレータと単一のランダムアクセスメモリを用いてdct/idct演算を繰り返す集積回路装置 | |
CN110673824B (zh) | 矩阵向量乘电路以及循环神经网络硬件加速器 | |
Gong et al. | High-throughput FPGA implementation of 256-bit Montgomery modular multiplier | |
JP4698242B2 (ja) | 並列演算プロセッサ、並列演算プロセッサの動作を制御する制御プログラム及び制御方法、並びに並列演算プロセッサを搭載した画像処理装置 | |
WO1999010818A1 (en) | Variable block size 2-dimensional inverse discrete cosine transform engine | |
JPH10254681A (ja) | 自乗を計算するための算術回路 | |
US6460061B1 (en) | 2-dimensional discrete cosine transform using a polynomial transform | |
JP2662501B2 (ja) | 離散的コサイン変換及び逆変換のための集積回路プロセッサ | |
KR0126109B1 (ko) | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 | |
JPH0335353A (ja) | 離散的コサイン変換装置 | |
JP2822684B2 (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 | |
JP3540280B2 (ja) | べき乗剰余演算方法、および、剰余演算方法 | |
JPH0540776A (ja) | 二次元dctマトリクス演算回路 | |
KR100790846B1 (ko) | 영상처리의 정수 변환 방법 및 그의 프로세서 | |
JP3575991B2 (ja) | 直交変換回路 | |
JPS62295174A (ja) | 並列デ−タ処理装置 | |
US20030174250A1 (en) | Digital signal processor and digital signal processing method | |
JP2646844B2 (ja) | 離散コサイン変換装置 | |
JP2005072800A5 (ja) | ||
KR19990017608A (ko) | 신호 처리 프로세서의 연산 유닛 및 입출력 장치 | |
JP2002152045A (ja) | 画像データ用フィルタ処理装置及びその制御方法 | |
JP2000137703A (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040109 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040402 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060330 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060710 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060904 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090915 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120915 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130915 Year of fee payment: 7 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |