JP4035789B2 - 逆離散コサイン変換装置 - Google Patents
逆離散コサイン変換装置 Download PDFInfo
- Publication number
- JP4035789B2 JP4035789B2 JP24746994A JP24746994A JP4035789B2 JP 4035789 B2 JP4035789 B2 JP 4035789B2 JP 24746994 A JP24746994 A JP 24746994A JP 24746994 A JP24746994 A JP 24746994A JP 4035789 B2 JP4035789 B2 JP 4035789B2
- Authority
- JP
- Japan
- Prior art keywords
- product
- data
- input
- output
- sum operation
- 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
Images
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/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【産業上の利用分野】
本発明は、8点離散コサイン変換されたデータを元のデータに復元する逆離散コサイン変換装置に関する。
離散コサイン変換(Discrete Cosine Transform;DCT)は、画像信号の帯域圧縮処理に採用されており、又逆離散コサイン変換(Inversa Discrete Cosine Transform;IDCT)は、DCTにより圧縮した画像信号を復元するものである。このDCT及びIDCTは、行列演算に基づく積和演算を行うもので、各種の方式が提案されており、回路規模を縮小し且つ高速処理を可能とすることが要望されている。
【0002】
【従来の技術】
画像をM×M画素からなる小ブロックに分割して、各小ブロックに対して二次元離散コサイン変換を施す方式は、静止画の圧縮を行う国際標準化方式のJPEG(Joint Photographic Image Coding Experts Group)、動画像圧縮符号化のMPEG1(Moving Picture Image Coding Experts GroupPhase 1)及びITU−TS(旧CCITT)勧告のH.261に、それぞれ採用されている。又MPEG1より更に圧縮できるMPEG2の標準化も進められている。
【0003】
前述のように、画像をM×M画素からなる小ブロックに分割し、各小ブロックに対して二次元DCTを施す場合、(1)式に基づいて行われる。又その逆変換は、(2)式に基づいて行われる。
【数1】
なお、C(u),C(v) の値は定数倍異なる場合がある。
【0004】
このようなDCT及びIDCTの両方又は何れか一方を実行する回路は、既に各種提案されている。例えば、(A)前述の(1),(2)式の行列演算に基づく積和演算を行う構成(例えば、1990年電子情報通信学会春季全国大会、D−400“ディスクリートコサイン変換用VLSIの開発”参照)、(B)係数の性質を利用して演算を高速アルゴリズムに基づいて実行する構成(例えば、特開昭63−164640号公報参照)、(C)シフトと積和演算による単純な回路の並列構成(例えば、米国特許第4791598号明細書又は特開平4−17464号公報参照)等が知られている。
【0005】
【発明が解決しようとする課題】
前述の従来例(A)は、回路構成が単純で制御も簡単であるが、回路規模が大きくなる問題がある。又従来例(B)は、乗算回数が少ない分、乗算器の個数を削減することができるが、アルゴリズムが複雑な分、回路構成や制御が複雑となる問題がある。
【0006】
又従来例(C)は、乗算器が必要でなく、制御や回路構成が単純であるが、演算速度を単純な演算ユニットの並列化によって得ることになり、従って、1単位時間の遅延素子(Dフリップフロップ)を非常に多く使用することになる。それによって、回路規模が大きくなる問題がある。更に、この従来例に於いては、変換するデータのビット幅に演算速度が比例し、DCTに比較してIDCTの場合の係数のビット幅が大きくなるから、IDCTに適用した場合、DCTに適用した場合のようなメリットがないものである。
【0007】
又ディジタル・テレビジョンの受像機等については、DCTの機能を備えたデコーダは必要でなく、IDCTの機能を備えた構成で充分である。従って、本発明は、IDCT専用で、且つ制御が容易であると共に回路規模も小さい構成を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明の逆離散コサイン変換装置は、(1)第0〜第7被変換係数の中から被変換係数を選択出力するデータ選択手段1と、このデータ選択手段1により選択された第1被変換係数と第3被変換係数とを加算して新たな第3被変換係数とし、選択された第3被変換係数と第5被変換係数とを加算して新たな第5被変換係数とし、選択された第5被変換係数と第7被変換係数とを加算して新たな第7被変換係数として出力する前処理手段2と、データ選択手段及び前処理手段からの被変換係数を分配出力するデータ分配手段3と、所定値を乗算する乗算手段とこの乗算手段による乗算結果を累積加減算する手段とからなる第1〜第4の積和演算手段4〜7と、第1と第2の積和演算手段の演算結果を加減算する第1の中間値生成手段8と、第3と第4の積和演算手段の演算結果を加減算し更に所定値を乗ずる手段からなる第2の中間値生成手段9と、第1と第2の中間値生成手段8,9の出力を加算・減算して8点逆離散コサイン変換の結果を出力する後処理手段10とを備えている。又11は各部を制御する制御手段である。
【0009】
(2)又データ選択手段1は、第0〜第7被変換係数の中から選択した被変換係数を前処理手段2に入力し、データ分配手段3は前処理手段2の処理結果の第0,第4被変換係数は第1の積和演算手段4に、第2,第6被変換係数は第2の積和演算手段5に、第3,第7被変換係数は第3の積和演算手段6に、第1,第5被変換係数は第4の積和演算手段7に、それぞれ2回繰り返して分配する構成とするものである。
【0010】
(3)又第0〜第7被変換係数の中から被変換係数を選択出力するデータ選択手段と、このデータ選択手段からの第0〜第7被変換係数を分配するデータ分配手段と、このデータ分配手段からの第1,第3,第5,第7被変換係数が所定タイミングで2回繰り返し入力され、第1被変換係数と第3被変換係数とを加算して新たな第3被変換係数とし、選択された第3被変換係数と第5被変換係数とを加算して新たな第5被変換係数とし、選択された第5被変換係数と第7被変換係数とを加算して新たな第7被変換係数として出力する前処理手段と、データ分配手段からの第0,第4被変換係数が入力される第1の積和演算手段と、データ分配手段からの第2,第6被変換係数が入力される第2の積和演算手段と、前処理手段からの第3,第7被変換係数が入力される第3の積和演算手段と、前処理手段からの第1,第5被変換係数が入力される第4の積和演算手段と、第1と第2の積和演算手段の演算結果を加減算する第1の中間値生成手段と、第3と第4の積和演算手段の演算結果を加減算し更に所定値を乗ずる手段からなる第2の中間値生成手段と、第1,第2の中間値生成手段の出力を加算・減算して8点逆離散コサイン変換の結果を出力する後処理手段とを備えている。
【0011】
(4)又データ選択手段は、第1〜第4の積和演算手段が単位時間で動作する速度と同一の速度で、8個の被変換係数の中の2個の被変換係数を同時に選択出力する構成を備えることができる。
【0012】
(5)又データ選択手段は、第1〜第4の積和演算手段が単位時間で動作する速度の2倍の速度で、8個の被変換係数の中の1個のデータを選択出力する構成とすることができる。
【0013】
(6)又第1の積和演算手段に於ける乗算手段は、入力値を定数a倍する半固定乗算器により構成することができる。
【0014】
(7)又第2の積和演算手段と第3の積和演算手段とに於ける乗算手段は、入力値を定数b倍する半固定乗算器と、入力値を定数c倍する半固定乗算器とに、第2の積和演算手段の入力と第3の積和演算手段の入力とをそれぞれセレクタによって切替えて入力し、且つそれぞれの乗算出力をセレクタによって切替えて第2の積和演算手段の加減算器と第3の積和演算手段の加減算器とに入力する構成とすることができる。
【0015】
(8)又第4の積和演算手段に於ける乗算手段は、入力値を定数d倍する半固定乗算器と、入力値を2の巾乗の値による乗除算を行う乗算器との出力を選択する構成とすることができる。
【0016】
(9)又後処理手段の出力データを所定の順番に並べ替える出力データ並べ替え手段を備えることができる。
【0017】
(10)又データ選択手段,前処理手段,データ分配手段,第1〜第4の積和演算手段,第1,第2の中間値生成手段,後処理手段とを含む変換手段を有する逆離散コサイン変換装置に於いて、一次元目のデータと二次元目のデータとを選択して前記変換手段に入力する入力選択手段と、前記変換手段からの一次元目のデータと二次元目のデータとを選択し、二次元目のデータを出力する出力選択手段と、この出力選択手段による前記変換手段からの一次元目のデータを記憶し、そのデータを読出して入力選択手段を介して前記変換手段に二次元目のデータとして入力する転置用記憶手段とを備えて、二次元逆離散コサイン変換を行うことができる。
【0018】
(11)又データ選択手段,前処理手段,データ分配手段,第1〜第4の積和演算手段,第1,第2の中間値生成手段,後処理手段とを含む変換手段を有する逆離散コサイン変換装置に於いて、入力されたデータの一次元目の一次元逆離散コサイン変換を行う第1の前記変換手段と、この第1の変換手段からのデータを記憶して転置を行う転置用記憶手段と、この転置用記憶手段からのデータの二次元目の一次元逆離散コサイン変換を行う第2の前記変換手段とを備えて、二次元逆離散コサイン変換を行うことができる。
【0019】
(12)又変換手段の第1の積和演算手段に於ける乗算手段は、2の巾乗である定数a倍する半固定乗算器からなり、且つこの変換手段内に於いて演算するデータに、2の巾乗の定数を乗除する構成を備えることができる。
【0020】
(13)又変換手段又は出力選択手段からの出力データを所定の順序に並べ替えるデータ並べ替え手段を備えることができる。
【0021】
(14)又入力された少なくとも8×8の被変換係数を記憶し、この被変換係数を読出して入力選択手段又は第1の変換手段に加える被変換係数記憶手段を備えることができる。
【0022】
(15)又被変換係数記憶手段は、少なくとも8×8の被変換係数を記憶し、この被変換係数を読出して変換手段に入力し、この変換手段による一次元目の逆離散コサイン変換処理後のデータを、被変換係数を読出したアドレスに書込み、このデータを転置処理に従って読出す構成とすることができる。
【0023】
(16)又被変換係数記憶手段又は転置用記憶手段は、読出アドレス制御によって第0〜第7被変換係数の中の被変換係数を選択出力するデータ選択手段の機能を実現する構成とすることができる。
【0024】
(17)又データ分配手段は、第1,第2の入力パスと、第1〜第4の出力パスとを有し、第1の入力パスのデータを2単位時間遅延する第1の遅延手段と、第1の入力パスと第1の遅延手段の出力との何れかを選択して第1の出力パスに出力する第1の選択手段と、この第1の選択手段と反対側を選択して第2の出力パスに出力する第2の選択手段と、第2の入力パスのデータを2単位時間遅延する第2の遅延手段と、第2の入力パスと第2の遅延手段の出力との何れかを選択して第3の出力パスへ出力する第3の選択手段と、この第3の選択手段と反対側を選択して第4の出力パスへ出力する第4の選択手段とを備えることができる。
【0025】
(18)又前処理手段は、第1,第2の入力パスと、第1,第2の出力パスとを有し、第1の入力パスのデータを遅延させる遅延手段と、第2の入力パスと値0との何れかを選択する第1の選択手段と、遅延手段と値0との何れかを選択する第2の選択手段と、第1の選択手段の出力と第1の入力パスのデータとを加算して第1の出力パスへ出力する第1の加算手段と、第2の選択手段の出力と第2の入力パスのデータとを加算して第2の出力パスへ出力する第2の加算手段とを備えることができる。
【0026】
【作用】
(1)8点逆離散コサイン変換を示す行列式を、データの順番の並べ替えを表す行列,加減算を表す行列,無理数部分を二つの4点逆離散コサイン変換を表す4×4行列と、一つの4×4対角行列とに分解し、更に、二つの4点逆離散コサイン変換を表す4×4行列を、それぞれ2×2の無理数を含む行列とデータの並べ替えを表す行列と加減算を表す行列とに分解し、各小行列の演算処理を行う回路構成によって逆離散コサイン変換を行うものである。
【0027】
図1はデータ選択手段1とデータ分配手段3との間に前処理手段2を設けた場合を示し、この前処理手段2は、第1,第3被変換係数を加算して第3被変換係数とし、第3,第5被変換係数を加算して第5被変換係数とし、第5,第7被変換係数を加算して第7被変換係数とし、第0,第2,第4,第6被変換係数をそのまま出力する。又第1〜第4の積和演算手段4〜7は、2×2の小行列の演算を行う。又第1の中間値生成手段8は、2×2の小行列の演算結果を加減算し、又第2の中間値生成手段9は、2×2の小行列の演算結果を加減算し、且つ対角行列の乗算を行うものである。又後処理手段10は、第1,第2の中間値生成手段8,9の出力を加算及び減算して、8点逆離散コサイン変換の結果を出力する。
【0028】
又前処理手段をデータ分配手段3と第1〜第4の積和演算手段との間に配置した構成とすることもできる。その場合、第1の積和演算手段4にはデータ分配手段からの第0,第4被変換係数が分配され、第2の積和演算手段にはデータ分配手段から第2,第6被変換係数が分配される。又前処理手段にはデータ分配手段から第1,第3,第5,第7被変換係数が2回繰り返して分配される。前処理手段は、前述の前処理手段と同様に、第1,第3被変換係数を加算して第3被変換係数とし、第3,第5被変換係数を加算して第5被変換係数とし、第5,第7被変換係数を加算して第7被変換係数とし、第3の積和演算手段に第3,第7被変換係数を出力し、第4の積和演算手段に第1,第5被変換係数を出力する。第1〜第4の積和演算手段の演算出力を第1,第2の中間値生成手段により加減算,乗算を行い、後処理手段により加算及び減算を行って8点逆離散コサイン変換の結果を出力する。
【0029】
又データ選択手段1又は前処理手段2を含めてデータを並列処理するか又は第1〜第4の積和演算手段の演算速度の2倍の速度で処理し、第1〜第4の積和演算手段に於ける空きタイムスロットが生じないようにして、処理の高速化を図ることができる。又乗算手段や除算手段に於いて2の巾乗処理となるように、√2倍し、乗算及び除算をシフト処理で済むようにして回路構成を単純化することができる。
【0030】
【実施例】
図1は本発明の第1実施例の説明図であり、1はデータ選択手段、2は前処理手段、3はデータ分配手段、4〜7は第1〜第4の積和演算手段、8,9は第1,第2の中間値生成手段、10は後処理手段、11は制御手段である。この制御手段11は、図示を省略した経路で各部を制御するものであり、データ選択手段1にIDCTを行う入力DCT係数が入力され、後処理手段10からIDCT処理結果の画素値が出力される。
【0031】
前述のM×M画素の小ブロックについて、M=8として一次元IDCTを行列で表現すると、DCT係数F0 〜F7 を入力して、画素値x0 〜x7 を出力することになり、(3)式で示すものとなる。
【数2】
なお、第1列は、(2)式に於いては、√2/2・C0 であるが、C4 と同じ値であるから、C4 として示している。
【0032】
この(3)式に従ってIDCT処理を行うと、64回の無理数との乗算が必要となることが判る。そこで、この(3)式を変形して乗算回数の削減を図るものである。即ち、(3)式を小行列に分解して(4)式に示すように変形する。なお、(4)式は〔〕のみで小行列の配列の概要を示すものである。
【0033】
【数3】
この(4)式の小行列(a)〜(k)の内容は、次の(5)式の小行列(a)〜(k)に対応する。
【0034】
【数4】
【数5】
【数6】
【0035】
前述の(3)式の変形は、8点IDCTにLee(“FCT−A FASTCOSINE TRANSFORM”,ICASSP84 28A.3参照)の手法を適用し、データの順番の並べ替えを表す行列,加減算を表す行列,無理数部分を二つの4点IDCTを表す4×4行列と一つの4×4対角行列とに分解し、更に、この二つの4点IDCTを表す行列を、W.H.Chen外2名による手法(“A Fast Computational Algorithm for the Discrete Cosine Transform”,IEEE Trans.Commun.,vol.COM−25,No.9,pp. 1004〜1009, Sept.1977,参照) を適用して、更に二つの4点IDCTを表す行列をそれぞれ2×2の無理数を含む行列,データの並べ替えを表す行列,加減算を表す行列に分解したものである。
【0036】
更に、C0 は1/2であり、一般に2の巾乗の固定値の乗算はシフト処理で実現できるから、一般の乗算器を必要としないことになる。従って、(5)式によりIDCT処理を行うと、乗算回数は実質上は18回となる。この乗算回数は、前述のChenの手法では16回、Leeの手法では12回であるが、(5)式による処理は、乗算と加算とを単純な積和演算によって実現できるから、バタフライ演算を基にした回路に比較して、制御が簡単で記憶素子が少なくて済む利点がある。
【0037】
又二次元IDCTに適用すると、8点一次元のIDCT当たり14回の乗算回数となるから、前述のChenの手法による乗算回数とLeeの手法による乗算回数との中間の回数となる。又積和演算回路も1個削減できるものである。
【0038】
前述の(5)式の(a)〜(k)の小行列の処理機能を持った回路を組合せることにより、IDCT回路を構成することができる。具体的には、(c),(d),(h),(i)の2×2の小行列を計算する為の第1〜第4の積和演算手段(図1の4〜7参照)と、(c),(d)の小行列の演算結果を加減算する(b)の小行列に相当する第1の中間値生成手段(図1の8参照)と、(h),(i)の小行列の演算結果を(g)に基づいて加減算し、(f)の対角行列の乗算を行う第2の中間値生成手段(図1の9参照)と、(a)の小行列に相当する加減算を行う後処理手段(図1の10参照)と、(j)の小行列に相当する処理を行う前処理手段(図1の2参照)と、行列式からは明示できないが、(k),(e)と(j)との一部に相当し、回路にデータを供給する順番を制御するデータ選択手段とデータ分配手段(図1の1及び3参照)等によって実現できる。
【0039】
又(c),(d),(h),(i)の2×2の小行列の計算を4並列の第1〜第4の積和演算手段4〜7で行う場合、各小行列は回路の4単位時間で一般的には演算可能である。ところで、8点IDCTの係数は8個あり、タイムスロット上の空きをなくすには、8個の係数を4単位時間に読出して、各積和演算手段4〜7に分配すれば良いことになる。この為に、1クロック中に2個のデータを入力するように、データを2並列として入力するか、或いは2倍のクロックレートでデータを読出して入力することができる。
【0040】
図2はデータ選択手段,前処理手段及びデータ分配手段の説明図であり、データ選択手段1は、入力記憶部21a,21bとセレクタ22,23a,23bとを含む構成を有し、入力されたデータをセレクタ22を介して入力記憶部21a,21bに順次書込み、セレクタ23a,23bを介して読出して、2並列化して前処理手段2に加えるものである。セレクタ22,23a,23bは、入力記憶部21a,21bの書込アドレスと読出アドレスとの制御によって実現することができる。
【0041】
前処理手段2は、加算器24a,24bと遅延素子(D)25とセレクタ26,27とを含み、データ選択手段1からの第0,第2,第4,第6被変換係数に対しては、セレクタ26,27を実線位置から点線位置の選択位置とすると、値0を加算器24a,24bに加えるから、第0,第2,第4,第6被変換係数は加算器24a,24bを通過して、次のデータ分配手段3に出力する。例えば、データ選択手段1のセレクタ23aを介して第3被変換係数が出力され、セレクタ23bを介して第1被変換係数が出力されると、セレクタ26は点線位置、セレクタ27は実線位置の選択位置となり、加算器24aに於いて第1,第3被変換係数が加算されて、第3被変換係数として出力され、又加算器24bを通過して第1被変換係数が出力される。次にデータ選択手段1のセレクタ23aを介して第7被変換係数が出力され、セレクタ23bを介して第5被変換係数が出力されると、セレクタ26,27は実線位置の選択位置となり、加算器24aに於いて第5,第7被変換係数が加算されて第7被変換係数として出力され、加算器24bに於いて遅延素子25により遅延された第3被変換係数と、第5被変換係数とが加算されて第5被変換係数として出力される。
【0042】
データ分配手段3は、記憶部28とセレクタ29a〜29dとを含み、前処理手段2からの第0〜第7被変換係数を一時的に記憶部28に記憶して、セレクタ29a〜29dを介して(4)〜(7)で示す第1〜第4の積和演算手段へ分配する。即ち、セレクタ29a〜29dは実線位置と点線位置とを選択する構成として示しているが、同時的に2並列データを選択出力するもので、第1の積和演算手段4には第0,第4被変換係数、第2の積和演算手段5には第2,第6被変換係数、第3の積和演算手段6には第3,第7被変換係数、第4の積和演算手段7には第1,第5被変換係数をそれぞれ分配する。この場合のセレクタ29a〜29dは、記憶部28の読出アドレスの制御によって実現することができる。
【0043】
図3はデータ選択手段,前処理手段及びデータ分配手段の説明図であり、データ選択手段1は、入力記憶部31とセレクタ32,33とを含み、セレクタ32を介して入力記憶部31に順次書込み、セレクタ33を介して後段の積和演算手段に於けるクロックの2倍のクロックレートで読出して前処理手段2に加える。前処理手段2は、加算器34と遅延素子(D)35とセレクタ36とを含み、データ選択手段1からの第0,第2,第4,第6被変換係数に対しては、セレクタ36は点線位置の選択位置となり、値0が選択されて加算器34に入力される。又セレクタ36が実線位置の選択位置となった時は、遅延素子35を介した値が加算器34に入力される。
【0044】
例えば、第1被変換係数がデータ選択手段1から入力されると、セレクタ26は点線位置となり、第1被変換係数は加算器34を通過してデータ分配手段3に加えられる。又遅延素子35から第1被変換係数が出力されるタイミングで第3被変換係数がデータ選択手段1から入力されると、セレクタ35は実線位置となり、遅延素子35により遅延された第1被変換係数と、第3被変換係数とが加算器34により加算されて、前処理された第3被変換係数としてデータ分配手段3に加えられる。
【0045】
次にデータ選択手段1から再び第3被変換係数が入力されると、セレクタ36は点線位置となり、次に遅延素子35を介して第3被変換係数が出力されるタイミングで第5被変換係数がデータ選択手段1から入力されると、セレクタ36は実線位置となり、第3,第5被変換係数は加算器34により加算されて、前処理された第5変換係数としてデータ分配手段3に加えられる。第5被変換係数と第7被変換係数についても同様にして、前処理された第7被変換係数がデータ分配手段3に加えられる。
【0046】
又データ分配手段3は、記憶部38とセレクタ39a〜39dとを含み、図2に示すデータ分配手段と同様に、前処理手段2からの第0〜第7被変換係数を一時的に記憶部38に記憶して、セレクタ39a〜39dを介して(4)〜(7)で示す第1〜第4の積和演算手段へ分配する。即ち、セレクタ39a〜39dは実線位置と点線位置とを選択して、第1〜第4の積和演算手段4〜7に於けるクロックの2倍のクロックレートで、第1の積和演算手段4には第0,第4被変換係数、第2の積和演算手段5には第2,第6被変換係数、第3の積和演算手段6には第3,第7被変換係数、第4の積和演算手段7には第1,第5被変換係数をそれぞれ分配する。
【0047】
前述のように、8個の被変換係数を4単位時間に読出して、第1〜第4の積和演算手段4〜7に分配する為に、図2に於いては2並列化し、図3に於いては2倍の速度として、処理タイムスロットの無駄をなくすことができる。
【0048】
図4は本発明の第2の実施例の説明図であり、41はデータ選択手段、42は前処理手段、43はデータ分配手段、44〜47は第1〜第4の積和演算手段、48,49は第1,第2の中間値生成手段、50は後処理手段、51は制御手段である。この実施例は、前処理手段42をデータ分配手段43の後段に設けた場合を示す。なお、前処理手段は、データ選択手段の前段に設けることも可能であるが、図1及び図4に示す構成に比較して構成が複雑となる。
【0049】
データ分配手段43は、第0,第4被変換係数を第1の積和演算手段44に、第2,第6被変換係数を第2の積和演算手段45に、又第1,第3,第5,第7被変換係数を前処理手段42に、それぞれ分配する。前処理手段42に於いては、第1,第3被変換係数を加算して第3被変換係数とし、第3,第5被変換係数を加算して第5被変換係数とし、第5,第7被変換係数を加算して第7被変換係数として出力し、第3,第7被変換係数を第3の積和演算手段46に、第1,第5被変換係数を第4の積和演算手段47に加える。
【0050】
第1,第2の中間値生成手段48,49と後処理手段50とは、図1に示す実施例と同様の構成を有し、後処理手段50から8点逆離散コサイン変換の結果を出力する。又制御手段51は各部を制御するものである。
【0051】
図5はデータ選択手段,データ分配手段及び前処理手段の説明図であり、図2と同様に2並列化する場合を示し、データ選択手段41は、セレクタ52,53a,53bと入力記憶部60a,60bとを含む構成を有し、セレクタ52によって入力記憶部60a,60bに順次入力データを書込み、セレクタ53a,53bによって同時にデータを読出して2並列のデータとしてデータ分配手段43に加える。又(44)〜(47)は図4に於ける第1〜第4の積和演算手段44〜47に接続されることを示す。
【0052】
データ分配手段43は、記憶部58とセレクタ59a〜59dとを含み、又前処理手段42は、加算器54a,54bと遅延素子(D)55とセレクタ56,57とを含み、セレクタ59a,59bからの偶数番の第0,第2,第4,第6被変換係数はそのまま通過させ、奇数番の第1,第3,第5,第7被変換係数は、加算器54a,54bによる加算処理により新たな第3,第5,第7被変換係数として出力する。
【0053】
例えば、データ分配手段43のセレクタ59c,59dを介して0が前処理手段42に加えられ、次にセレクタ59cを介して第3被変換係数が、又セレクタ59dを介して第1被変換係数がそれぞれ前処理手段42に加えられると、セレクタ56,57は実線位置となり、加算器54aにより第1,第3被変換係数が加算されて、第3変換係数として第3の積和演算手段46に加えられ、又加算器54bでは、セレクタ57が値0を選択して入力するから、第1被変換係数がそのまま第4の積和演算手段47に加えられる。
【0054】
次にデータ分配手段43のセレクタ59cを介して第7被変換係数が、又セレクタ59dを介して第5被変換係数がそれぞれ前処理手段42に加えられると、加算器54aにより第5,第7被変換係数が加算されて、第7被変換係数として第3の積和演算手段46に加えられ、又加算器54bにより第5被変換係数と遅延素子55を介した第3被変換係数とが加算されて、第5被変換係数として第4の積和演算手段47に加えられる。
【0055】
図6はデータ選択手段,データ分配手段及び前処理手段の説明図であり、データ選択手段41は、入力記憶部61とセレクタ62,63とを含む構成を有し、セレクタ62を介して入力記憶部61に順次書込み、セレクタ63を介して積和演算手段のクロックの2倍のクロックレートのクロックに従って読出して、データ分配手段43に入力する。
【0056】
データ分配手段43は、記憶部68とセレクタ69a〜69dとを含み、積和演算手段のクロックと同一のクロックレートのクロックに従ってセレクタ59a〜59dからデータを分配する。前処理手段42は、加算器64a,64bと遅延素子(D)65とセレクタ66,67とを含む構成であり、図5に於ける前処理手段と同一の構成及び作用を有するものであり、重複する説明を省略する。
【0057】
前述のように、図5に於いては2並列化し、図6に於いては2倍の速度として、8個の被変換係数を4単位時間に読出して、第1〜第4の積和演算手段44〜47に分配するもので、処理タイムスロットの無駄をなくすことができる。
【0058】
図7は積和演算回路の説明図であり、(A)は、乗算器71と、加減算器72と、Dフリップフロップ等からなる遅延素子(D)73,74と、記憶素子75とから構成され、乗算器71により入力と記憶素子75に記憶された乗算値とが乗算され、この乗算結果と遅延素子73を介してデータとが加減算器72に於いて加減算される。その場合、遅延素子73はクリア信号によってクリアされる構成を有し、クリアされた場合は、乗算結果がそのまま遅延素子74に加えられることになる。
【0059】
又図7の(B)の(A)と同一符号は同一部分を示し、76は遅延素子(D)、77はセレクタである。セレクタ77を実線位置とすると、遅延素子76により遅延されたデータが加減算器72に加えられて、乗算結果との加減算が行われ、セレクタ77を点線位置とすると、加減算器72には値0が入力されるから、乗算結果はそのまま出力されることになる。このような(A)又は(B)に示す構成の積和演算回路を用いることも可能であるが、更に回路規模を縮小した構成を用いることができる。
【0060】
図8は本発明の実施例の第1及び第4の積和演算手段の説明図であり、図1及び図4に示す第1の積和演算手段4,44は、(A)に示す構成とすることができ、又第4の積和演算手段7,47は、(B)に示す構成とすることができる。即ち、前述の(5)式の(c)の行列計算を行う第1の積和演算手段4,44は、正負の極性を除けば、行列要素がC4 の1種類である。
【0061】
従って、乗算器81は定数aを乗算する半固定乗算器とすることができる。一般に、乗数と被乗数との何れか一方を固定値とした場合、通常の乗算器の半分以下の回路規模で実現可能となり、従って、半固定乗算器81の回路規模を縮小することができる。又82は正負極性に対応して加減算する加減算器、83はクリアできる遅延素子(D)、84は遅延素子(D)であり、この加減算処理部分は、図7の(A)に示すクリア可能の遅延素子73を用いた加減算処理部分と同様であるが、図7の(B)に示すセレクタ77を用いた加減算処理部分と同様な構成とすることもできる。
【0062】
又第4の積和演算手段7,47は、(5)式の(h)の行列計算を行うものであり、正負極性を除けば、行列要素C0 ,C4 を乗算するものであり、この場合のC0 は1/2であるから、単純なシフト演算で済むことになる。従って、図8の(B)に示すように、半固定乗算器85と、シフト回路86と、セレクタ87と、加減算器88と、遅延素子89,90とから構成することができる。この場合の遅延素子89はクリアできる構成を用いる。従って、通常の乗算器を用いる構成に比較して著しく回路規模を縮小することが可能となる。又この場合の加減算処理部分は、図7の(A)のクリア可能の遅延素子73を用いた加減算処理部分と同様であるが、図7の(B)のセレクタ77を用いた加減算処理部分と同様な構成とすることができる。
【0063】
図9は本発明の実施例の第2,第3の積和演算手段の説明図であり、91はセレクタ、92,93は半固定乗算器、94はセレクタ、95,96は加減算器、97,98はクリアできる遅延素子(D)、99,100は遅延素子(D)である。
【0064】
第2の積和演算手段5,45と第3の積和演算手段6,46とは、(5)式の(d),(i)の行列計算を行うものであり、この場合も正負極性を除けば、行列要素C2 ,C6 の2種類の無理数を乗算する必要がある。この第2の積和演算手段と第3の積和演算手段とに於いて、第2の積和演算手段でC2 を乗算するタイミングで、第3の積和演算手段でC6 を乗算するようにし、且つ第2の積和演算手段でC6 を乗算するタイミングで、第3の積和演算手段でC2 を乗算するように、データのタイミングを制御することができる。
【0065】
そこで、図9に於いては、C2 を乗算する半固定乗算器92と、C6 を乗算する半固定乗算器93との入出力をセレクタ91,94により切替える構成とするものである。従って、半固定乗算器による回路規模の縮小と、時分割的な共用による回路規模の縮小とによって、大幅な回路規模の縮小を図ることができる。又クリア可能の遅延素子97,98を用いて、加減算器95,96に於ける乗算結果の加減算を行わせる。この加減算処理部分は、図7の(A)のクリア可能の遅延素子73を用いた加減算処理部分と同様な構成であるが、図7の(B)のセレクタ77を用いた加減算処理部分と同様な構成とすることもできる。
【0066】
図10はデータ並べ替え手段の説明図であり、IDCT処理結果の出力データが、表示装置等に於いて必要とするデータの順序でない場合が多いものである。図10の(A)は、少なくとも8記憶素子からなる記憶部101と、2並列データ対応のセレクタ102a,102bと、所望の順序でデータを出力するセレクタ103とを備えている。これらのセレクタ102a,102b,103の構成は、具体的には記憶部101の書込アドレスと読出アドレスとの制御によって実現することが可能であり、所望の順序にデータを並べ替えることができる。
【0067】
又図10の(B)は、2並列で入力して2並列で出力する場合を示し、2並列の入力データをセレクタ102a,102bを介して記憶部101に書込み、セレクタ103a,103bを介して所望の順序でデータを2並列で出力するものであり、セレクタ102a,102b,103a,103bは、記憶部101の書込アドレスと読出アドレスとの制御によって実現することができる。又この2並列のデータを、2倍のデータレートとして1本のデータ線に多重化することも可能である。
【0068】
図11は本発明の二次元逆離散コサイン変換装置の一実施例の説明図であり、111は入力選択手段、112は変換手段、113は出力選択手段、114は転置用記憶手段、115は制御手段である。変換手段112は、例えば、図1に示すように、データ選択手段1と、前処理手段2と、データ分配手段3と、第1〜第4の積和演算手段4〜7と、第1,第2の中間値生成手段8,9と、後処理手段10とを含む構成を有するものである。又図4に示す構成を適用することも可能である。
【0069】
二次元IDCTは、通常は、縦方向と横方向とにそれぞれ一次元IDCTを施すものであり、入力選択手段111と出力選択手段113とが実線位置の選択位置の場合、一次元目のIDCTが行われ、その結果が転置用記憶手段114に書込まれる。次に、入力選択手段111と出力選択手段113とが点線位置の選択位置となり、転置用記憶手段114から転置されたデータが読出されて二次元目のIDCTが行われ、その結果が出力される。
【0070】
変換手段112は、前述のように、8点IDCTを4単位時間で完了するように構成できるから、この変換手段112を一次元目と二次元目とのIDCTに共用化しても、充分に高速処理が可能である。
【0071】
図12は本発明の二次元逆離散コサイン変換装置の他の実施例の説明図であり、121は第1の変換手段、122は転置用記憶手段、123は第2の変換手段、124は制御手段である。第1,第2の変換手段121,123は、例えば、図1に示すように、データ選択手段1と、前処理手段2と、データ分配手段3と、第1〜第4の積和演算手段4〜7と、第1,第2の中間値生成手段8,9と、後処理手段10とを含む構成を有するものであり、図4に示す構成を適用することも可能である。
【0072】
第1の変換手段121により一次元目のIDCTを行い、その結果を転置用記憶手段122に書込み、この転置用記憶手段122から転置されたデータを読出して、第2の変換手段123により二次元目のIDCTを行うものである。この場合は、図11に示す構成に比較して変換手段が2倍必要となるが、高速処理が可能となる。
【0073】
図13は本発明の二次元逆離散コサイン変換装置の更に他の実施例の説明図であり、131は入力選択手段、132は変換手段、133は出力選択手段、134は転置用記憶手段、135は制御手段、136は被変換係数記憶部、137は除算部である。変換手段132は、例えば、図1に示すように、データ選択手段1と、前処理手段2と、データ分配手段3と、第1〜第4の積和演算手段4〜7と、第1,第2の中間値生成手段8,9と、後処理手段10とを含む構成を有するものである。又図4に示す構成を適用することも可能である。
【0074】
入力選択手段131と出力選択手段133とは、一次元目のIDCTに於いては実線位置、二次元目のIDCTに於いては点線位置の選択位置となる。又被変換係数記憶部136は、8×8のIDCTを行う被変換係数を記憶し、所定の順序で、1クロック時間に2係数を読出して、入力選択手段131を介して変換手段132に加え、一次元目のIDCTを行わせる。その結果の1クロック時間の2個のデータを転置用記憶手段134に書込み、次の二次元目のIDCTを行う時に、同様に1クロック時間に2個のデータを読出して変換手段132に加えて、二次元目のIDCTを行わせ、出力選択手段133を介して除算部137に加え、1/2の除算が行われて、二次元IDCTの結果が出力される。
【0075】
ここで、(5)式に於けるC0 は√2/4であるから、この(5)式を√2倍することを考えると、(5)式の小行列(c),(d),(h),(i)にそれぞれ√2を乗算することになる。従って、(5)式は、次の(6)式となる。
【数7】
【数8】
【数9】
【0076】
この(6)式の小行列(c)は、正負の極性を除けば、1/2の固定値であり、2の巾乗の乗算は単純なシフト演算で実現できるから、小行列(c)の演算に対応する第1の積和演算手段4,44(図1又は図4参照)の乗算器81(図8参照)は、シフト回路で済むから、回路規模を更に縮小することができる。
【0077】
又(6)式に従って演算を行うことにより、一次元目のIDCTにより通常の場合の√2倍の大きさの値となり、次の二次元目のIDCTにより√2×√2=2倍の大きさの値となる。従って、(6)式に従って二次元IDCTを行った結果を1/2すれば良いことになり、この除算もシフト演算で済むことになる。即ち、図13に於ける変換手段132は(6)式に従ったIDCT処理を行い、除算部137に於いて二次元IDCTの結果を1/2する場合を示す。
【0078】
又(6)式に従って二次元IDCTを行うことにより、第1の積和演算手段の乗算はシフト処理で済み、乗算回数は、8点の一次元IDCT当たり14回で、8×8の1ブロック分では224回となる。この乗算回数は、前述のLeeの手法を用いた場合(8点の一次元IDCT当たり12回、8×8の1ブロック分は192回)に比較して、乗算回数は僅かに多くなるが、乗算器として、半固定乗算器が3個、通常の乗算器が1個で済み、且つ4クロックで8点一次元IDCTが完了させることが可能であるから、回路規模が小さく且つ高速処理が可能の二次元IDCT装置を実現できる。
【0079】
又二次元IDCT装置に於いても、一次元IDCT装置と同様に、出力データの順番が表示装置等に於いて必要とする順番でない場合が多いから、例えば、図10に示すようなデータ並べ替え手段を設けることができる。
【0080】
又8×8のブロックについてのDCT結果を、ジクザグスキャンによる順番で蓄積或いは伝送することが多いから、二次元IDCTを行う場合、少なくともこの1ブロック分を一旦蓄積し、二次元IDCTに有利な順番で読出す構成を用いることができる。即ち、図13に示す実施例の被変換係数記憶部136により、少なくとも1ブロック分の被変換係数を記憶し、IDCT処理に有利な順番で読出すことができる。
【0081】
又この被変換係数記憶部136を転置用に利用することができる。これは、8点の一次元IDCTを4クロックで完了できるから、8×8のブロックの一次元IDCTは32クロックで完了できることになり、被変換係数記憶部136を、2倍の速度で同時に書込みと読出しとを行う構成とし、被変換係数を読出したアドレスに、一次元IDCT処理結果を書込み、それを転置して読出す構成とすることにより、図13に於ける転置用記憶手段134を省略して、回路規模の縮小を図ることができる。
【0082】
又被変換係数記憶部136及び転置用記憶手段134の読出アドレスを制御することにより、データ選択手段1,41(図1又は図4参照)に於けるデータの選択と同様な作用を行わせて、データ選択手段1,41を省略した構成とすることができる。この場合の読出アドレス制御は、データ選択手段1,41によるデータ選択の順序に従った制御とするものであり、容易に実現することができる。
【0083】
図14は本発明の実施例の詳細な説明図であり、前処理手段,データ分配手段,第1〜第4の積和演算手段,第1,第2の中間値生成手段及び後処理手段について示し、F0,F00,F01,F10,F11,F20,F21,F30〜F33,F40〜F43,F50〜F53,F60〜F63,F71,F81,F90,F91,Fa0,Fa1は遅延素子(D)を構成するフリップフロップ、A0〜A2は加算器、AD0〜AD5は加減算器、SB1は減算器である。
【0084】
又M0,M3は1/2を乗算する為のシフト回路、M1はcos(π/8)/√2を乗算する半固定乗算器、M2はcos(3π/8)/√2を乗算する半固定乗算器、M4は1/√2を乗算する半固定乗算器、M5はセレクタS6で選択されたm1=1/2cos(π/16)、m2=1/2cos(3π/16)、m3=1/2cos(5π/16)、m4=1/2cos(7π/16)を乗算する乗算器である。
【0085】
又141は前加算回路、142は2D遅延回路、143は乗算回路、144は累積加算回路、145は加算・減算回路を示し、S0,S1は前加算回路141のセレクタ、S2はフリップフロップF30〜F33の入力切替えを行うセレクタ、S3は半固定乗算器M1,M2の入出力の切替えを行うセレクタ、S4はシフト回路M3と半固定乗算器M4との切替えを行うセレクタ、S5は累積加算回路144に於ける累積加算を行うか否かを選択するセレクタ、S6は乗算器M5に加える乗数m1〜m4を選択するセレクタである。
【0086】
この実施例は、前加算回路141の前段に被変換係数記憶部(図示を省略)を設け、この被変換係数記憶部(図13の符号136参照)から所定の順番で同時に2個の被変換係数DL,DHを読出して、前加算回路141に入力する構成とし、図1に於けるデータ選択手段1を省略できる構成とした場合を示し、前加算回路141は、図1の前処理手段2に対応する。又2D遅延回路142とセレクタS2とにより図1のデータ分配手段3が構成され、乗算回路143と累積加算回路144とにより、図1の第1〜第4の積和演算手段4〜7が構成され、加減算器AD4を含む構成により図1の第1の中間値生成手段8が構成され、加減算器AD5と乗算器M5とを含む構成により図1の第2の中間値生成手段9が構成され、又加算・減算回路145により図1の後処理手段10が構成される。
【0087】
図15〜図19は本発明の実施例のタイムチャートを示し、括弧内の符号と図14の各部の符号とを対応付けて示す。又図18のTMはフリップフロップF60〜F63のラッチタイミングを示す。又各図に於けるデータを2桁の数字で表し、1桁目が処理されている次元のデータ、2桁目が非処理方向の次元のデータの添字を示し、一次元目と二次元目とに於いて逆転する。例えば、前加算回路141には、図15の(DL),(DH)に示すように、2並列のデータ01−03,05−07,00−02,04−06の順番に入力され、次に、11−13,15−17,10−12,14−16の順番に入力される。
【0088】
又セレクタS0〜S5について、実線位置を0,点線位置を1として示し、又フリップフロップについて、各タイミングに於ける処理内容とその処理結果を上側に示す。例えば、DL=05,DH=07,S0=1,S1=1の時、前加算回路141の加算器A0は(03+05),加算器A1は(05+07)の加算を行い、次のタイミングにフリップフロップF00には前処理された第5被変換係数05’(=03+05)がラッチされ、フリップフロップF01には前処理された第7被変換係数07’(=05+07)がラッチされる。
【0089】
同様に、DL=00,DH=02の時、S0=0,S1=0となり、加算器A0,A1を介して次のタイミングにフリップフロップF00,F01に、第0被変換係数00,第2被変換係数02がラッチされる。即ち、第0,第2,第4,第6被変換係数(i0,i2,i4,i6)(但し、i=0〜7)はそのまま出力され、又第1被変換係数(i1)はそのまま出力されるが、この第1被変換係数(i1)と第3被変換係数(i3)とが加算され、又第3被変換係数(i3)と第5被変換係数(i5)と加算され、又第5被変換係数(i5)と第7被変換係数(i7)と加算されて、第1,第3,第5,第7被変換係数は、それぞれi1’,i3’,i5’,i7’となる。
【0090】
又2D遅延回路142は、フリップフロップF10,F11,F20,F21により2クロック分遅延させるもので、セレクタS2によって遅延させたものと遅延させないものとを選択する。例えば、S2=1の時、F32=01’,F33=03’,F30=00,F31=02(図16参照)で、次のタイミングにS2=0であると、F32=05’,F33=07’,F30=04,F31=06となり、次のタイミングにS2=0であると、F32=11’,F33=13’,F30=00,F31=02となり、2クロック分遅延されたデータが再びフリップフロップF30,F31にラッチされる。
【0091】
即ち、第4の積和演算手段に相当する奇偶パスと第3の積和演算手段に相当する奇奇パスとに対して、第1の積和演算手段に相当する偶偶パスと第2の積和演算手段に相当する偶奇パスより2クロック分早く、2個のデータ列からなるシーケンスを2回繰り返し供給できることになる。
【0092】
第1の積和演算手段に相当する奇奇パスの乗算は、前述のように1/2倍すれば良いから、シフト回路M0によって実現できる。又第2の積和演算手段に相当する偶奇パスに於ける乗算と、第3の積和演算手段に相当する奇奇パスに於ける乗算とは、半固定乗算器M1,M2の入出力をセレクタS3によって切替えて実行するものである。即ち、第1,第2の積和演算手段と第3,第4の積和演算手段とに入力されるデータは2クロック分の差があり、従って、乗算すべき2種類の値の√2C2 ,√2C6 を交互に切替えることにより乗算を実行することができるから、セレクタS3によって半固定乗算器M1,M2を、図17の(S3)の1,0に従って切替えて、半固定乗算器M1,M2の共用化を図ることができる。
【0093】
又第4の積和演算手段に相当する奇偶パスに於ける乗算すべき値は、1/2(√2C4 ),√2/2(√2C0 )の2種類であり、1/2倍はシフト処理で済むから、シフト回路M3と√2/2を乗算する半固定乗算器M4とを、セレクタS4によって切替えることにより、乗算機能を実現できる。セレクタS4は、図17の(S4)の1,0に従って切替えられ、乗算回路143のフリップフロップF40〜F43には、図17の(F40)〜(F43)に示す処理の結果がラッチされる。
【0094】
又累積加算回路144のセレクタS5は、図18の(S5)の1,0に従って制御され、又加減算器AD0〜AD3は、(AD0)〜(AD3)の+,−に従って加算と減算との処理を行うものである。即ち、加減算器AD0,AD1は、同時に加算(+)又は減算(−)を行い、又加減算器AD2,AD3は、同時に加算(+)又は減算(−)を行うものである。そして、フリップフロップF50〜F53には、(F50)〜(F53)に示す処理の結果がラッチされる。そして、ラッチタイミングTMに於いてフリップフロップF60〜F63にラッチすることにより、(F60)〜(F63)に示す処理の結果が得られる。なお、oeij(i=0〜7,j=0〜7)は第4の積和演算手段に相当する奇偶パス、ooijは第3の積和演算手段に相当する奇奇パス、eeijは第1の積和演算手段に相当する偶偶パス、eoijは第2の積和演算手段に相当する偶奇パスのそれぞれデータを示す。
【0095】
又第1の中間値生成手段の構成する加減算器AD4は、図19の(AD4)の+,−に従って、フリップフロップF60,F61の内容の加算又は減算の処理を行うものであり、処理結果は(F90)に示すようにフリップフロップF90にラッチされる。この場合、eijは偶数パス、oijは奇数パスのデータを示し、例えば、AD4=+で、e01=ee00−eo00、AD4=−で、e02=ee01+eo01、AD4=+で、e03=ee01−eo01となる。
【0096】
又第2の中間値生成手段を構成する加減算器AD5と乗算器M5との加減算器AD5は、(AD5)の+,−に従って、フリップフロップF62,F63の内容の加算又は減算の処理を行い、その処理結果は(F71)に示すようにフリップフロップF71にラッチされる。例えば、AD5=+で、o01=oe00−oo00、AD5=−で、o02=oe01+oe01となる。
【0097】
又乗算器M5はセレクタS6により選択された乗数m1〜m4とフリップフロップF71の内容との乗算を行うもので、その乗算結果はフリップフロップF81にラッチされる。その時の処理内容は(F81)に示すものとなる。このフリップフロップF81の内容はフリップフロップF91にラッチされる。このフリップフロップF91は、奇数パスと偶数パスとのタイミングを合わせる為のものである。
【0098】
又後処理手段を構成する加算・減算回路145の加算器A2は奇数パスと偶数パスとのデータを加算し、その結果はフリップフロップFa0にラッチされ、又減算器SB1は奇数パスと偶数パスとのデータの差を求め、その結果はフリップフロップFa1にラッチされる。このフリップフロップFa0,Fa1から一次元目の処理結果の場合は転置用記憶手段(例えば、図13の符号134参照)に加えられ、二次元目の処理結果の場合は、除算部(例えば、図13の符号137参照)に加えられて1/2の処理が行われる。この1/2の処理はシフト演算により実行することができる。
【0099】
又転置用記憶手段の機能を、前加算回路141の前段に設けた被変換係数記憶部のアドレス制御によって実現し、二次元IDCTを行う為の転置用記憶手段を省略することも可能である。又8×8点の二次元IDCT装置を、半固定乗算器(M1,M2,M4)を3個、通常の乗算器(M5)を1個、加算器(A0〜A2,加減算器AD0〜AD5,減算器SB1)を10個、その他フリップフロップやセレクタを用いて構成することができる。又8×8の1ブロック当たり乗算回数が224回、クロック数は64とすることができる。
【0100】
【発明の効果】
以上説明したように、本発明は、前述の(5)式又は(6)式に従って、データ選択手段1,前処理手段2,データ分配手段3,第1〜第4の積和演算手段4〜7,第1,第2の中間値生成手段8,9,後処理手段10を含む構成としたもので、乗算回数は従来例としてのLeeの手法に比較して多いが、通常の乗算器は、例えば、1個で済むことになり、回路規模の縮小が可能となり、集積回路化が容易となる利点がある。又制御も簡単化できる利点がある。
【0101】
又データ選択手段1から2並列のデータ、又は2倍のクロックレートのデータを出力することにより、第1〜第4の積和演算手段4〜7に於ける処理に空きタイムスロットが生じないようにすることができる。即ち、IDCT処理の高速化を図ることができる利点がある。
【0102】
又一次元IDCTの変換手段と転置用記憶手段と入力選択手段と出力選択手段とを用いることにより、小さい回路構成で二次元IDCT装置を構成することができる。又2個の一次元IDCTの変換手段と転置用記憶手段とを用いることにより、二次元IDCTの処理を高速化できる。又前段に被変換係数記憶部を設けて、二次元IDCTを行う場合の少なくとも1ブロック分のデータを記憶して、IDCT処理に適合した順番で読出すことにより、無駄なタイムスロットが生じないようにして、二次元IDCT処理の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の説明図である。
【図2】データ選択手段,前処理手段及びデータ分配手段の説明図である。
【図3】データ選択手段,前処理手段及びデータ分配手段の説明図である。
【図4】本発明の第2の実施例の説明図である。
【図5】データ選択手段,データ分配手段及び前処理手段の説明図である。
【図6】データ選択手段,データ分配手段及び前処理手段の説明図である。
【図7】積和演算回路の説明図である。
【図8】本発明の実施例の第1及び第4の積和演算手段の説明図である。
【図9】本発明の実施例の第2及び第3の積和演算手段の説明図である。
【図10】データ並べ替え手段の説明図である。
【図11】本発明の二次元逆離散コサイン変換装置の一実施例の説明図である。
【図12】本発明の二次元逆離散コサイン変換装置の他の実施例の説明図である。
【図13】本発明の二次元逆離散コサイン変換装置の更に他の実施例の説明図である。
【図14】本発明の実施例の詳細な説明図である。
【図15】本発明の実施例のタイムチャートである。
【図16】本発明の実施例のタイムチャートである。
【図17】本発明の実施例のタイムチャートである。
【図18】本発明の実施例のタイムチャートである。
【図19】本発明の実施例のタイムチャートである。
【符号の説明】
1 データ選択手段
2 前処理手段
3 データ分配手段
4〜7 第1〜第4の積和演算手段
8,9 第1,第2の中間値生成手段
10 後処理手段
11 制御手段
Claims (14)
- 第0〜第7被変換係数の中から被変換係数を、第1と第3、第5と第7、第0と第2、第4と第6の各2個の被変換係数をペアで選択し、4サイクルで出力するデータ選択手段と、
該データ選択手段により選択された第1被変換係数と第3被変換係数とを加算して新たな第3被変換係数とし、選択された第3被変換係数と第5被変換係数とを加算して新たな第5被変換係数とし、選択された第5被変換係数と第7被変換係数とを加算して新たな第7被変換係数として出力する前処理手段と、
前記データ選択手段及び前記前処理手段からの被変換係数を、第0と第4の被変換係数を第1の出力に、第2と第6の被変換係数を第2の出力に、第1と第5の被変換係数を第3の出力に、第3と第7の被変換係数を第4の出力に、それぞれ2サイクル期間を2回繰り返して出力するデータ分配手段と、
所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する手段とからなり、それぞれ前記第1〜第4のデータ選択手段の出力に接続され、それぞれ所定の乗算値を用いて、それぞれ2サイクル期間で第1回目及び第2回目の累積加算を行う第1〜第4の積和演算手段と、
前記第1と第2の積和演算手段の前記第1回目及び第2回目の累積加算の演算結果を、第1サイクル及び第2サイクルでは、前記第1と第2の積和演算手段の第1回目の累積加算の演算結果を、第3及び第4サイクルでは、前記第1と第2の積和手段の第2回目の累積加算の演算結果を、それぞれ加減算する第1の中間値生成手段と、
前記第3と第4の積和演算手段の前記第1回目及び第2回目の累積加算の演算結果を、第1サイクル及び第2サイクルでは、前記第3と第4の積和演算手段の第1回目の累積加算結果を、第3及び第4サイクルでは、前記第3と第4の積和演算手段の第2回目の累積加算の演算結果を、それぞれ加減算し、更に所定値を乗ずる手段からなる第2の中間値生成手段と、
前記第1と第2の中間値生成手段の出力を加算・減算して8点逆離散コサイン変換の結果を出力する後処理手段と
を備えたことを特徴とする逆離散コサイン変換装置。 - 前記データ選択手段は、前記第0〜第7被変換係数の中から1サイクルで2個の被変換係数を選択して前記前処理手段に入力し、前記データ分配手段は、前記前処理手段の処理結果の第0,第4被変換係数は前記第1の積和演算手段に、第2,第6被変換係数は前記第2の積和演算手段に、第3,第7被変換係数は前記第3の積和演算手段に、第1,第5被変換係数は前記第4の積和演算手段に、それぞれ2回繰り返して分配する構成としたことを特徴とする請求項1記載の逆離散コサイン変換装置。
- 第0〜第7被変換係数の中から被変換係数を、第1と第3、第5と第7、第0と第2、第4と第6の各2個の被変換係数をペアで選択し、4サイクルで出力するデータ選択手段と、
該データ選択手段からの第0〜第7被変換係数の第0と第4の被変換係数を第1の出力に、第2と第6の被変換係数を第2の出力に、第1と第5の被変換係数を第3の出力に、第3と第7の被変換係数を第4の出力に、それぞれ分配出力するデータ分配手段と、
該データ分配手段からの第1,第3,第5,第7被変換係数が所定タイミングで2回繰り返し入力され、選択された第1被変換係数と第3被変換係数とを加算して新たな第3被変換係数とし、選択された第3被変換係数と第5被変換係数とを加算して新たな第5被変換係数とし、選択された第5被変換係数と第7被変換係数とを加算して新たな第7被変換係数として出力する前処理手段と、
前記データ分配手段からの第0,第4被変換係数が入力され所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する第1の積和演算手段と、
前記データ分配手段からの第2,第6被変換係数が入力され所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する第2の積和演算手段と、
前記前処理手段からの第3,第7被変換係数が入力され所定値を乗算する乗算手段と、 該乗算手段による乗算結果を累積加減算する第3の積和演算手段と、
前記前処理手段からの第1,第5被変換係数が入力され所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する第4の積和演算手段と、
前記第1と第2の積和演算手段の前記第1回目及び第2回目の累積加算の演算結果を、第1サイクル及び第2サイクルでは、前記第1と第2の積和演算手段の第1回目の累積加算の演算結果を、第3及び第4サイクルでは、前記第1と第2の積和手段の第2回目の累積加算の演算結果を、それぞれ加減算する第1の中間値生成手段と、
前記第3と第4の積和演算手段の前記第1回目及び第2回目の累積加算の演算結果を、第1サイクル及び第2サイクルでは、前記第3と第4の積和演算手段の第1回目の累積加算結果を、第3及び第4サイクルでは、前記第3と第4の積和演算手段の第2回目の累積加算の演算結果を、それぞれ加減算し、更に所定値を乗ずる手段からなる第2の中間値生成手段と、
前記第1と第2の中間値生成手段の出力を加算・減算して8点逆離散コサイン変換の結果を出力する後処理手段と
を備えたことを特徴とする逆離散コサイン変換装置。 - 前記第1の積和演算手段に於ける乗算手段は、入力値を定数(1/2)・cos((4/16)π)倍する半固定乗算器からなることを特徴とする請求項1又は3記載の逆離散コサイン変換装置。
- 前記第2の積和演算手段と前記第3の積和演算手段とに於ける乗算手段は、第1回目及び第2回目のそれぞれの累積加算の期間に於いて、入力値を定数b倍する半固定乗算器と、入力値を定数c倍する半固定乗算器とに、前記第2の積和演算手段の入力と前記第3の積和演算手段の入力とをそれぞれセレクタによって切替えて入力し、且つそれぞれの乗算出力をセレクタによって切替えて前記第2の積和演算手段の加減算器と前記第3の積和演算手段の加減算器とに入力する構成としたことを特徴とする請求項1又は3記載の逆離散コサイン変換装置。
- 前記第4の積和演算手段に於ける乗算手段は、入力値を定数(1/2)・cos((4/16)π)倍する半固定乗算器と、入力値を1/2倍する乗算器との出力を選択する構成としたことを特徴とする請求項1又は3記載の逆離散コサイン変換装置。
- 前記後処理手段の出力データを所定の順番に並べ替える出力データ並べ替え手段を備えたことを特徴とする請求項1又は3記載の逆離散コサイン変換装置。
- 前記第1〜第4の積和演算手段を含み、前記第1の積和演算手段に於ける乗算手段は、入力値を1/2倍する半固定乗算器からなることを特徴とする請求項1又は3記載の逆離散コサイン変換装置。
- 前記第2の積和演算手段と前記第3の積和演算手段とに於ける乗算手段は、入力値を(1/√2)・cos((2/16)π)倍する半固定乗算器と、入力値を(1/√2)・cos((6/16)π)倍する半固定乗算器とに、前記第2の積和演算手段の入力と前記第3の積和演算手段の入力とをそれぞれセレクタによって切替えて入力し、且つそれぞれの乗算出力をセレクタによって切替えて前記第2の積和演算手段の加減算器と前記第3の積和演算手段の加減算器とに入力する構成としたことを特徴とする請求項1又は3又は8記載の逆離散コサイン変換装置。
- 前記第4の積和演算手段に於ける乗算手段は、入力値を(√2/2)倍する半固定乗算器と、入力値を1/2倍する乗算器との出力を選択する構成としたことを特徴とする請求項1又は3又は8記載の逆離散コサイン変換装置。
- 前記請求項10に記載の逆離散コサイン変換装置から構成される変換手段を含む二次元逆離散コサイン変換装置に於いて、
前記変換手段により変換した一次元目のデータを記憶する転置用記憶手段と、
入力DCT係数を前記変換手段に入力するか前記転置用記憶手段から読出した前記一次元目のデータを前記変換手段に入力するかを選択する入力選択手段と、
前記変換手段により変換した一次元目のデータを前記転置用記憶手段に入力して書込むか前記変換手段により変換した二次元目のデータを出力するかを選択する出力手段と、
前記出力手段より出力された二次元目のデータを1/2倍する乗算手段と
を備えたことを特徴とする二次元逆離散コサイン変換装置。 - 前記請求項10に記載の逆離散コサイン変換装置から構成される第1の変換手段及び第2の変換手段を含む二次元逆離散コサイン変換装置に於いて、
前記第1の変換手段により、入力されたデータの一次元目の一次元離散コサイン変換を行って一次元目のデータを書込み、該一次元目のデータを読出して前記第2の変換手段により二次元目の一次元離散コサイン変換を行う為の転置用記憶手段と、
前記第2の変換手段から出力された二次元目のデータを1/2倍する乗算手段と
を備えたことを特徴とする二次元逆離散コサイン変換装置。 - 前記データ分配手段は、第1,第2の入力パスと、第1〜第4の出力パスとを有し、前記第1の入力パスのデータを2単位時間遅延する第1の遅延手段と、前記第1の入力パスのデータと前記第1の遅延手段の出力との何れかを選択して前記第1の出力パスに出力する第1の選択手段と、該第1の選択手段と反対側を選択して前記第2の出力パスへ出力する第2の選択手段と、前記第2の入力パスのデータを2単位時間遅延する第2の遅延手段と、前記第2の入力バスのデータと前記第2の遅延手段の出力との何れかを選択して前記第3の出力パスへ出力する第3の選択手段と、該第3の選択手段と反対側を選択して前記第4の出力パスへ出力する第4の選択手段とを備えたことを特徴とする請求項1,3,11の何れか1項記載の逆離散コサイン変換装置。
- 前記前処理手段は、第1,第2の入力パスと、第1,第2の出力パスとを有し、前記第1の入力パスのデータを遅延する遅延手段と、前記第2の入力パスと値0との何れかを選択する第1の選択手段と、前記遅延手段と値0との何れかを選択する第2の選択手段と、前記第1の選択手段の出力と前記第1の入力パスのデータとを加算して前記第1の出力パスへ出力する第1の加算手段と、前記第2の選択手段の出力と前記第2の入力パスのデータとを加算して前記第2の出力パスへ出力する第2の加算手段とを備えたことを特徴とする請求項1,3,11の何れか1項記載の逆離散コサイン変換装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24746994A JP4035789B2 (ja) | 1994-10-13 | 1994-10-13 | 逆離散コサイン変換装置 |
US08/505,857 US5737256A (en) | 1994-10-13 | 1995-07-24 | Inverse discrete cosine transform apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24746994A JP4035789B2 (ja) | 1994-10-13 | 1994-10-13 | 逆離散コサイン変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08110903A JPH08110903A (ja) | 1996-04-30 |
JP4035789B2 true JP4035789B2 (ja) | 2008-01-23 |
Family
ID=17163921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24746994A Expired - Fee Related JP4035789B2 (ja) | 1994-10-13 | 1994-10-13 | 逆離散コサイン変換装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5737256A (ja) |
JP (1) | JP4035789B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW284869B (ja) | 1994-05-27 | 1996-09-01 | Hitachi Ltd | |
JP3092526B2 (ja) * | 1996-09-20 | 2000-09-25 | 日本電気株式会社 | 2次元逆離散コサイン変換回路 |
JP3016381B2 (ja) * | 1997-10-28 | 2000-03-06 | 日本電気株式会社 | バイト入替え演算器 |
JP3934290B2 (ja) * | 1999-09-30 | 2007-06-20 | 株式会社東芝 | 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び離散コサイン変換処理装置・逆離散コサイン変換処理装置 |
US7292730B1 (en) * | 1999-12-09 | 2007-11-06 | Intel Corporation | Two-dimensional inverse discrete cosine transforming |
JP3593944B2 (ja) * | 2000-03-08 | 2004-11-24 | 日本電気株式会社 | 画像データ処理装置及びそれに用いる動き補償処理方法 |
US6859815B2 (en) | 2000-12-19 | 2005-02-22 | Koninklijke Philips Electronics N.V. | Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding |
US7620674B2 (en) * | 2003-03-07 | 2009-11-17 | Sensys Medical, Inc. | Method and apparatus for enhanced estimation of an analyte property through multiple region transformation |
US7539916B2 (en) | 2005-06-28 | 2009-05-26 | Intel Corporation | BIST to provide phase interpolator data and associated methods of operation |
US9665540B2 (en) * | 2011-07-21 | 2017-05-30 | Arm Limited | Video decoder with a programmable inverse transform unit |
US10394735B2 (en) * | 2017-01-09 | 2019-08-27 | Nanya Technology Corporation | Comparative forwarding circuit providing first datum and second datum to one of first circuit and second circuit according to target address |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6316460A (ja) * | 1987-02-17 | 1988-01-23 | Sanyo Electric Co Ltd | デイスクプレ−ヤのトレ−摺動機構 |
US4791598A (en) * | 1987-03-24 | 1988-12-13 | Bell Communications Research, Inc. | Two-dimensional discrete cosine transform processor |
US5268853A (en) * | 1989-12-01 | 1993-12-07 | Ricoh Company, Ltd. | Orthogonal transformation processor for compressing information |
JP2646778B2 (ja) * | 1990-01-17 | 1997-08-27 | 日本電気株式会社 | ディジタル信号処理装置 |
JP2511173B2 (ja) * | 1990-05-11 | 1996-06-26 | 株式会社グラフィックス・コミュニケーション・テクノロジーズ | 離散コサイン順変換・逆変換装置 |
JP2866754B2 (ja) * | 1991-03-27 | 1999-03-08 | 三菱電機株式会社 | 演算処理装置 |
JPH06266747A (ja) * | 1993-03-12 | 1994-09-22 | Sharp Corp | Dct/逆dct演算装置 |
KR960010199B1 (ko) * | 1993-07-16 | 1996-07-26 | 배순훈 | 디지탈 신호처리 칩 제어장치 |
US5481487A (en) * | 1994-01-28 | 1996-01-02 | Industrial Technology Research Institute | Transpose memory for DCT/IDCT circuit |
-
1994
- 1994-10-13 JP JP24746994A patent/JP4035789B2/ja not_active Expired - Fee Related
-
1995
- 1995-07-24 US US08/505,857 patent/US5737256A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08110903A (ja) | 1996-04-30 |
US5737256A (en) | 1998-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0506111B1 (en) | DCT/IDCT processor and data processing method | |
JP2646778B2 (ja) | ディジタル信号処理装置 | |
Shams et al. | NEDA: A low-power high-performance DCT architecture | |
JP2945487B2 (ja) | 行列乗算器 | |
JP3546437B2 (ja) | 適応形ビデオ信号演算処理装置 | |
JP4035789B2 (ja) | 逆離散コサイン変換装置 | |
JPH08235159A (ja) | 逆コサイン変換装置 | |
JPH0793294A (ja) | 2次元離散コサイン変換装置、2次元逆離散コサイン変換装置およびディジタル信号処理装置 | |
US9378186B2 (en) | Data processing apparatus and method for performing a transform between spatial and frequency domains when processing video data | |
US5719963A (en) | Two-dimensional discrete cosine transform computing circuit | |
JP2001346213A (ja) | 離散コサイン変換装置及びその離散コサイン変換方法 | |
JPH0644291A (ja) | 離散コサイン変換器及び情報符号化器 | |
JP2822684B2 (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 | |
JP3052516B2 (ja) | 符号化データ処理装置 | |
JP3155383B2 (ja) | 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム | |
JP3046116B2 (ja) | 離散コサイン変換器 | |
JP3575991B2 (ja) | 直交変換回路 | |
KR100392969B1 (ko) | 영상 신호 압축 및 압축해제 장치 및 방법 | |
JPH08307868A (ja) | 動画像復号装置 | |
KR970003806B1 (ko) | 이산 및 역이산 코사인 변환 장치 | |
JP3652717B2 (ja) | 離散コサイン高速演算器 | |
JPH06274524A (ja) | 直交変換回路および逆変換回路 | |
KR960014197B1 (ko) | 파이프라인 분산연산을 이용한 8×8 이차원 이산여현 변환/역변환 처리장치 | |
KR100202567B1 (ko) | 고속 역이산 코사인변환 연산장치 | |
KR0154919B1 (ko) | 2차원 역이산 코사인 변환 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030916 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070416 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071018 |
|
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: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |