(57)【特許請求の範囲】
【請求項１】
第０〜第７被変換係数の中から被変換係数を、第１と第３、第５と第７、第０と第２、第４と第６の各２個の被変換係数をペアで選択し、４サイクルで出力するデータ選択手段と、
該データ選択手段により選択された第１被変換係数と第３被変換係数とを加算して新たな第３被変換係数とし、選択された第３被変換係数と第５被変換係数とを加算して新たな第５被変換係数とし、選択された第５被変換係数と第７被変換係数とを加算して新たな第７被変換係数として出力する前処理手段と、
前記データ選択手段及び前記前処理手段からの被変換係数を、第０と第４の被変換係数を第１の出力に、第２と第６の被変換係数を第２の出力に、第１と第５の被変換係数を第３の出力に、第３と第７の被変換係数を第４の出力に、それぞれ２サイクル期間を２回繰り返して出力するデータ分配手段と、
所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する手段とからなり、それぞれ前記第１〜第４のデータ選択手段の出力に接続され、それぞれ所定の乗算値を用いて、それぞれ２サイクル期間で第１回目及び第２回目の累積加算を行う第１〜第４の積和演算手段と、
前記第１と第２の積和演算手段の前記第１回目及び第２回目の累積加算の演算結果を、第１サイクル及び第２サイクルでは、前記第１と第２の積和演算手段の第１回目の累積加算の演算結果を、第３及び第４サイクルでは、前記第１と第２の積和手段の第２回目の累積加算の演算結果を、それぞれ加減算する第１の中間値生成手段と、
前記第３と第４の積和演算手段の前記第１回目及び第２回目の累積加算の演算結果を、第１サイクル及び第２サイクルでは、前記第３と第４の積和演算手段の第１回目の累積加算結果を、第３及び第４サイクルでは、前記第３と第４の積和演算手段の第２回目の累積加算の演算結果を、それぞれ加減算し、更に所定値を乗ずる手段からなる第２の中間値生成手段と、
前記第１と第２の中間値生成手段の出力を加算・減算して８点逆離散コサイン変換の結果を出力する後処理手段と
を備えたことを特徴とする逆離散コサイン変換装置。
【請求項２】
前記データ選択手段は、前記第０〜第７被変換係数の中から１サイクルで２個の被変換係数を選択して前記前処理手段に入力し、前記データ分配手段は、前記前処理手段の処理結果の第０，第４被変換係数は前記第１の積和演算手段に、第２，第６被変換係数は前記第２の積和演算手段に、第３，第７被変換係数は前記第３の積和演算手段に、第１，第５被変換係数は前記第４の積和演算手段に、それぞれ２回繰り返して分配する構成としたことを特徴とする請求項１記載の逆離散コサイン変換装置。
【請求項３】
第０〜第７被変換係数の中から被変換係数を、第１と第３、第５と第７、第０と第２、第４と第６の各２個の被変換係数をペアで選択し、４サイクルで出力するデータ選択手段と、
該データ選択手段からの第０〜第７被変換係数の第０と第４の被変換係数を第１の出力に、第２と第６の被変換係数を第２の出力に、第１と第５の被変換係数を第３の出力に、第３と第７の被変換係数を第４の出力に、それぞれ分配出力するデータ分配手段と、
該データ分配手段からの第１，第３，第５，第７被変換係数が所定タイミングで２回繰り返し入力され、選択された第１被変換係数と第３被変換係数とを加算して新たな第３被変換係数とし、選択された第３被変換係数と第５被変換係数とを加算して新たな第５被変換係数とし、選択された第５被変換係数と第７被変換係数とを加算して新たな第７被変換係数として出力する前処理手段と、
前記データ分配手段からの第０，第４被変換係数が入力され所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する第１の積和演算手段と、
前記データ分配手段からの第２，第６被変換係数が入力され所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する第２の積和演算手段と、
前記前処理手段からの第３，第７被変換係数が入力され所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する第３の積和演算手段と、
前記前処理手段からの第１，第５被変換係数が入力され所定値を乗算する乗算手段と、該乗算手段による乗算結果を累積加減算する第４の積和演算手段と、
前記第１と第２の積和演算手段の前記第１回目及び第２回目の累積加算の演算結果を、第１サイクル及び第２サイクルでは、前記第１と第２の積和演算手段の第１回目の累積加算の演算結果を、第３及び第４サイクルでは、前記第１と第２の積和手段の第２回目の累積加算の演算結果を、それぞれ加減算する第１の中間値生成手段と、
前記第３と第４の積和演算手段の前記第１回目及び第２回目の累積加算の演算結果を、第１サイクル及び第２サイクルでは、前記第３と第４の積和演算手段の第１回目の累積加算結果を、第３及び第４サイクルでは、前記第３と第４の積和演算手段の第２回目の累積加算の演算結果を、それぞれ加減算し、更に所定値を乗ずる手段からなる第２の中間値生成手段と、
前記第１と第２の中間値生成手段の出力を加算・減算して８点逆離散コサイン変換の結果を出力する後処理手段と
を備えたことを特徴とする逆離散コサイン変換装置。
【請求項４】
前記第１の積和演算手段に於ける乗算手段は、入力値を定数（１／２）・ｃｏｓ（（４／１６）π）倍する半固定乗算器からなることを特徴とする請求項１又は３記載の逆離散コサイン変換装置。
【請求項５】
前記第２の積和演算手段と前記第３の積和演算手段とに於ける乗算手段は、第１回目及び第２回目のそれぞれの累積加算の期間に於いて、入力値を定数ｂ倍する半固定乗算器と、入力値を定数ｃ倍する半固定乗算器とに、前記第２の積和演算手段の入力と前記第３の積和演算手段の入力とをそれぞれセレクタによって切替えて入力し、且つそれぞれの乗算出力をセレクタによって切替えて前記第２の積和演算手段の加減算器と前記第３の積和演算手段の加減算器とに入力する構成としたことを特徴とする請求項１又は３記載の逆離散コサイン変換装置。
【請求項６】
前記第４の積和演算手段に於ける乗算手段は、入力値を定数（１／２）・ｃｏｓ（（４／１６）π）倍する半固定乗算器と、入力値を１／２倍する乗算器との出力を選択する構成としたことを特徴とする請求項１又は３記載の逆離散コサイン変換装置。
【請求項７】
前記後処理手段の出力データを所定の順番に並べ替える出力データ並べ替え手段を備えたことを特徴とする請求項１又は３記載の逆離散コサイン変換装置。
【請求項８】
前記第１〜第４の積和演算手段を含み、前記第１の積和演算手段に於ける乗算手段は、入力値を１／２倍する半固定乗算器からなることを特徴とする請求項１又は３記載の逆離散コサイン変換装置。
【請求項９】
前記第２の積和演算手段と前記第３の積和演算手段とに於ける乗算手段は、入力値を（１／√２）・ｃｏｓ（（２／１６）π）倍する半固定乗算器と、入力値を（１／√２）・ｃｏｓ（（６／１６）π）倍する半固定乗算器とに、前記第２の積和演算手段の入力と前記第３の積和演算手段の入力とをそれぞれセレクタによって切替えて入力し、且つそれぞれの乗算出力をセレクタによって切替えて前記第２の積和演算手段の加減算器と前記第３の積和演算手段の加減算器とに入力する構成としたことを特徴とする請求項１又は３又は８記載の逆離散コサイン変換装置。
【請求項１０】
前記第４の積和演算手段に於ける乗算手段は、入力値を（√２／２）倍する半固定乗算器と、入力値を１／２倍する乗算器との出力を選択する構成としたことを特徴とする請求項１又は３又は８記載の逆離散コサイン変換装置。
【請求項１１】
前記請求項１０に記載の逆離散コサイン変換装置から構成される変換手段を含む二次元逆離散コサイン変換装置に於いて、
前記変換手段により変換した一次元目のデータを記憶する転置用記憶手段と、
入力ＤＣＴ係数を前記変換手段に入力するか前記転置用記憶手段から読出した前記一次元目のデータを前記変換手段に入力するかを選択する入力選択手段と、
前記変換手段により変換した一次元目のデータを前記転置用記憶手段に入力して書込むか前記変換手段により変換した二次元目のデータを出力するかを選択する出力手段と、
前記出力手段より出力された二次元目のデータを１／２倍する乗算手段と
を備えたことを特徴とする二次元逆離散コサイン変換装置。
【請求項１２】
前記請求項１０に記載の逆離散コサイン変換装置から構成される第１の変換手段及び第２の変換手段を含む二次元逆離散コサイン変換装置に於いて、
前記第１の変換手段により、入力されたデータの一次元目の一次元離散コサイン変換を行って一次元目のデータを書込み、該一次元目のデータを読出して前記第２の変換手段により二次元目の一次元離散コサイン変換を行う為の転置用記憶手段と、
前記第２の変換手段から出力された二次元目のデータを１／２倍する乗算手段と
を備えたことを特徴とする二次元逆離散コサイン変換装置。
【請求項１３】
前記データ分配手段は、第１，第２の入力パスと、第１〜第４の出力パスとを有し、前記第１の入力パスのデータを２単位時間遅延する第１の遅延手段と、前記第１の入力パスのデータと前記第１の遅延手段の出力との何れかを選択して前記第１の出力パスに出力する第１の選択手段と、該第１の選択手段と反対側を選択して前記第２の出力パスへ出力する第２の選択手段と、前記第２の入力パスのデータを２単位時間遅延する第２の遅延手段と、前記第２の入力バスのデータと前記第２の遅延手段の出力との何れかを選択して前記第３の出力パスへ出力する第３の選択手段と、該第３の選択手段と反対側を選択して前記第４の出力パスへ出力する第４の選択手段とを備えたことを特徴とする請求項１，３，１１の何れか１項記載の逆離散コサイン変換装置。
【請求項１４】
前記前処理手段は、第１，第２の入力パスと、第１，第２の出力パスとを有し、前記第１の入力パスのデータを遅延する遅延手段と、前記第２の入力パスと値０との何れかを選択する第１の選択手段と、前記遅延手段と値０との何れかを選択する第２の選択手段と、前記第１の選択手段の出力と前記第１の入力パスのデータとを加算して前記第１の出力パスへ出力する第１の加算手段と、前記第２の選択手段の出力と前記第２の入力パスのデータとを加算して前記第２の出力パスへ出力する第２の加算手段とを備えたことを特徴とする請求項１，３，１１の何れか１項記載の逆離散コサイン変換装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、８点離散コサイン変換されたデータを元のデータに復元する逆離散コサイン変換装置に関する。
離散コサイン変換（Ｄiscrete Ｃosine Ｔransform；ＤＣＴ）は、画像信号の帯域圧縮処理に採用されており、又逆離散コサイン変換（Ｉnversa  Ｄiscrete Ｃosine Ｔransform；ＩＤＣＴ）は、ＤＣＴにより圧縮した画像信号を復元するものである。このＤＣＴ及びＩＤＣＴは、行列演算に基づく積和演算を行うもので、各種の方式が提案されており、回路規模を縮小し且つ高速処理を可能とすることが要望されている。
【０００２】
【従来の技術】
画像をＭ×Ｍ画素からなる小ブロックに分割して、各小ブロックに対して二次元離散コサイン変換を施す方式は、静止画の圧縮を行う国際標準化方式のＪＰＥＧ（Ｊoint  Ｐhotographic Ｉmage  Ｃoding Ｅxperts  Ｇroup）、動画像圧縮符号化のＭＰＥＧ１（Ｍoving Ｐicture  Ｉmage  Ｃoding Ｅxperts  ＧroupＰhase  １）及びＩＴＵ−ＴＳ（旧ＣＣＩＴＴ）勧告のＨ．２６１に、それぞれ採用されている。又ＭＰＥＧ１より更に圧縮できるＭＰＥＧ２の標準化も進められている。
【０００３】
前述のように、画像をＭ×Ｍ画素からなる小ブロックに分割し、各小ブロックに対して二次元ＤＣＴを施す場合、（１）式に基づいて行われる。又その逆変換は、（２）式に基づいて行われる。
【数１】
0004035789.tif 000002
なお、Ｃ(u),Ｃ(v) の値は定数倍異なる場合がある。
【０００４】
このようなＤＣＴ及びＩＤＣＴの両方又は何れか一方を実行する回路は、既に各種提案されている。例えば、（Ａ）前述の（１），（２）式の行列演算に基づく積和演算を行う構成（例えば、１９９０年電子情報通信学会春季全国大会、Ｄ−４００“ディスクリートコサイン変換用ＶＬＳＩの開発”参照）、（Ｂ）係数の性質を利用して演算を高速アルゴリズムに基づいて実行する構成（例えば、特開昭６３−１６４６４０号公報参照）、（Ｃ）シフトと積和演算による単純な回路の並列構成（例えば、米国特許第４７９１５９８号明細書又は特開平４−１７４６４号公報参照）等が知られている。
【０００５】
【発明が解決しようとする課題】
前述の従来例（Ａ）は、回路構成が単純で制御も簡単であるが、回路規模が大きくなる問題がある。又従来例（Ｂ）は、乗算回数が少ない分、乗算器の個数を削減することができるが、アルゴリズムが複雑な分、回路構成や制御が複雑となる問題がある。
【０００６】
又従来例（Ｃ）は、乗算器が必要でなく、制御や回路構成が単純であるが、演算速度を単純な演算ユニットの並列化によって得ることになり、従って、１単位時間の遅延素子（Ｄフリップフロップ）を非常に多く使用することになる。それによって、回路規模が大きくなる問題がある。更に、この従来例に於いては、変換するデータのビット幅に演算速度が比例し、ＤＣＴに比較してＩＤＣＴの場合の係数のビット幅が大きくなるから、ＩＤＣＴに適用した場合、ＤＣＴに適用した場合のようなメリットがないものである。
【０００７】
又ディジタル・テレビジョンの受像機等については、ＤＣＴの機能を備えたデコーダは必要でなく、ＩＤＣＴの機能を備えた構成で充分である。従って、本発明は、ＩＤＣＴ専用で、且つ制御が容易であると共に回路規模も小さい構成を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の逆離散コサイン変換装置は、（１）第０〜第７被変換係数の中から被変換係数を選択出力するデータ選択手段１と、このデータ選択手段１により選択された第１被変換係数と第３被変換係数とを加算して新たな第３被変換係数とし、選択された第３被変換係数と第５被変換係数とを加算して新たな第５被変換係数とし、選択された第５被変換係数と第７被変換係数とを加算して新たな第７被変換係数として出力する前処理手段２と、データ選択手段及び前処理手段からの被変換係数を分配出力するデータ分配手段３と、所定値を乗算する乗算手段とこの乗算手段による乗算結果を累積加減算する手段とからなる第１〜第４の積和演算手段４〜７と、第１と第２の積和演算手段の演算結果を加減算する第１の中間値生成手段８と、第３と第４の積和演算手段の演算結果を加減算し更に所定値を乗ずる手段からなる第２の中間値生成手段９と、第１と第２の中間値生成手段８，９の出力を加算・減算して８点逆離散コサイン変換の結果を出力する後処理手段１０とを備えている。又１１は各部を制御する制御手段である。
【０００９】
（２）又データ選択手段１は、第０〜第７被変換係数の中から選択した被変換係数を前処理手段２に入力し、データ分配手段３は前処理手段２の処理結果の第０，第４被変換係数は第１の積和演算手段４に、第２，第６被変換係数は第２の積和演算手段５に、第３，第７被変換係数は第３の積和演算手段６に、第１，第５被変換係数は第４の積和演算手段７に、それぞれ２回繰り返して分配する構成とするものである。
【００１０】
（３）又第０〜第７被変換係数の中から被変換係数を選択出力するデータ選択手段と、このデータ選択手段からの第０〜第７被変換係数を分配するデータ分配手段と、このデータ分配手段からの第１，第３，第５，第７被変換係数が所定タイミングで２回繰り返し入力され、第１被変換係数と第３被変換係数とを加算して新たな第３被変換係数とし、選択された第３被変換係数と第５被変換係数とを加算して新たな第５被変換係数とし、選択された第５被変換係数と第７被変換係数とを加算して新たな第７被変換係数として出力する前処理手段と、データ分配手段からの第０，第４被変換係数が入力される第１の積和演算手段と、データ分配手段からの第２，第６被変換係数が入力される第２の積和演算手段と、前処理手段からの第３，第７被変換係数が入力される第３の積和演算手段と、前処理手段からの第１，第５被変換係数が入力される第４の積和演算手段と、第１と第２の積和演算手段の演算結果を加減算する第１の中間値生成手段と、第３と第４の積和演算手段の演算結果を加減算し更に所定値を乗ずる手段からなる第２の中間値生成手段と、第１，第２の中間値生成手段の出力を加算・減算して８点逆離散コサイン変換の結果を出力する後処理手段とを備えている。
【００１１】
（４）又データ選択手段は、第１〜第４の積和演算手段が単位時間で動作する速度と同一の速度で、８個の被変換係数の中の２個の被変換係数を同時に選択出力する構成を備えることができる。
【００１２】
（５）又データ選択手段は、第１〜第４の積和演算手段が単位時間で動作する速度の２倍の速度で、８個の被変換係数の中の１個のデータを選択出力する構成とすることができる。
【００１３】
（６）又第１の積和演算手段に於ける乗算手段は、入力値を定数ａ倍する半固定乗算器により構成することができる。
【００１４】
（７）又第２の積和演算手段と第３の積和演算手段とに於ける乗算手段は、入力値を定数ｂ倍する半固定乗算器と、入力値を定数ｃ倍する半固定乗算器とに、第２の積和演算手段の入力と第３の積和演算手段の入力とをそれぞれセレクタによって切替えて入力し、且つそれぞれの乗算出力をセレクタによって切替えて第２の積和演算手段の加減算器と第３の積和演算手段の加減算器とに入力する構成とすることができる。
【００１５】
（８）又第４の積和演算手段に於ける乗算手段は、入力値を定数ｄ倍する半固定乗算器と、入力値を２の巾乗の値による乗除算を行う乗算器との出力を選択する構成とすることができる。
【００１６】
（９）又後処理手段の出力データを所定の順番に並べ替える出力データ並べ替え手段を備えることができる。
【００１７】
（１０）又データ選択手段，前処理手段，データ分配手段，第１〜第４の積和演算手段，第１，第２の中間値生成手段，後処理手段とを含む変換手段を有する逆離散コサイン変換装置に於いて、一次元目のデータと二次元目のデータとを選択して前記変換手段に入力する入力選択手段と、前記変換手段からの一次元目のデータと二次元目のデータとを選択し、二次元目のデータを出力する出力選択手段と、この出力選択手段による前記変換手段からの一次元目のデータを記憶し、そのデータを読出して入力選択手段を介して前記変換手段に二次元目のデータとして入力する転置用記憶手段とを備えて、二次元逆離散コサイン変換を行うことができる。
【００１８】
（１１）又データ選択手段，前処理手段，データ分配手段，第１〜第４の積和演算手段，第１，第２の中間値生成手段，後処理手段とを含む変換手段を有する逆離散コサイン変換装置に於いて、入力されたデータの一次元目の一次元逆離散コサイン変換を行う第１の前記変換手段と、この第１の変換手段からのデータを記憶して転置を行う転置用記憶手段と、この転置用記憶手段からのデータの二次元目の一次元逆離散コサイン変換を行う第２の前記変換手段とを備えて、二次元逆離散コサイン変換を行うことができる。
【００１９】
（１２）又変換手段の第１の積和演算手段に於ける乗算手段は、２の巾乗である定数ａ倍する半固定乗算器からなり、且つこの変換手段内に於いて演算するデータに、２の巾乗の定数を乗除する構成を備えることができる。
【００２０】
（１３）又変換手段又は出力選択手段からの出力データを所定の順序に並べ替えるデータ並べ替え手段を備えることができる。
【００２１】
（１４）又入力された少なくとも８×８の被変換係数を記憶し、この被変換係数を読出して入力選択手段又は第１の変換手段に加える被変換係数記憶手段を備えることができる。
【００２２】
（１５）又被変換係数記憶手段は、少なくとも８×８の被変換係数を記憶し、この被変換係数を読出して変換手段に入力し、この変換手段による一次元目の逆離散コサイン変換処理後のデータを、被変換係数を読出したアドレスに書込み、このデータを転置処理に従って読出す構成とすることができる。
【００２３】
（１６）又被変換係数記憶手段又は転置用記憶手段は、読出アドレス制御によって第０〜第７被変換係数の中の被変換係数を選択出力するデータ選択手段の機能を実現する構成とすることができる。
【００２４】
（１７）又データ分配手段は、第１，第２の入力パスと、第１〜第４の出力パスとを有し、第１の入力パスのデータを２単位時間遅延する第１の遅延手段と、第１の入力パスと第１の遅延手段の出力との何れかを選択して第１の出力パスに出力する第１の選択手段と、この第１の選択手段と反対側を選択して第２の出力パスに出力する第２の選択手段と、第２の入力パスのデータを２単位時間遅延する第２の遅延手段と、第２の入力パスと第２の遅延手段の出力との何れかを選択して第３の出力パスへ出力する第３の選択手段と、この第３の選択手段と反対側を選択して第４の出力パスへ出力する第４の選択手段とを備えることができる。
【００２５】
（１８）又前処理手段は、第１，第２の入力パスと、第１，第２の出力パスとを有し、第１の入力パスのデータを遅延させる遅延手段と、第２の入力パスと値０との何れかを選択する第１の選択手段と、遅延手段と値０との何れかを選択する第２の選択手段と、第１の選択手段の出力と第１の入力パスのデータとを加算して第１の出力パスへ出力する第１の加算手段と、第２の選択手段の出力と第２の入力パスのデータとを加算して第２の出力パスへ出力する第２の加算手段とを備えることができる。
【００２６】
【作用】
（１）８点逆離散コサイン変換を示す行列式を、データの順番の並べ替えを表す行列，加減算を表す行列，無理数部分を二つの４点逆離散コサイン変換を表す４×４行列と、一つの４×４対角行列とに分解し、更に、二つの４点逆離散コサイン変換を表す４×４行列を、それぞれ２×２の無理数を含む行列とデータの並べ替えを表す行列と加減算を表す行列とに分解し、各小行列の演算処理を行う回路構成によって逆離散コサイン変換を行うものである。
【００２７】
図１はデータ選択手段１とデータ分配手段３との間に前処理手段２を設けた場合を示し、この前処理手段２は、第１，第３被変換係数を加算して第３被変換係数とし、第３，第５被変換係数を加算して第５被変換係数とし、第５，第７被変換係数を加算して第７被変換係数とし、第０，第２，第４，第６被変換係数をそのまま出力する。又第１〜第４の積和演算手段４〜７は、２×２の小行列の演算を行う。又第１の中間値生成手段８は、２×２の小行列の演算結果を加減算し、又第２の中間値生成手段９は、２×２の小行列の演算結果を加減算し、且つ対角行列の乗算を行うものである。又後処理手段１０は、第１，第２の中間値生成手段８，９の出力を加算及び減算して、８点逆離散コサイン変換の結果を出力する。
【００２８】
又前処理手段をデータ分配手段３と第１〜第４の積和演算手段との間に配置した構成とすることもできる。その場合、第１の積和演算手段４にはデータ分配手段からの第０，第４被変換係数が分配され、第２の積和演算手段にはデータ分配手段から第２，第６被変換係数が分配される。又前処理手段にはデータ分配手段から第１，第３，第５，第７被変換係数が２回繰り返して分配される。前処理手段は、前述の前処理手段と同様に、第１，第３被変換係数を加算して第３被変換係数とし、第３，第５被変換係数を加算して第５被変換係数とし、第５，第７被変換係数を加算して第７被変換係数とし、第３の積和演算手段に第３，第７被変換係数を出力し、第４の積和演算手段に第１，第５被変換係数を出力する。第１〜第４の積和演算手段の演算出力を第１，第２の中間値生成手段により加減算，乗算を行い、後処理手段により加算及び減算を行って８点逆離散コサイン変換の結果を出力する。
【００２９】
又データ選択手段１又は前処理手段２を含めてデータを並列処理するか又は第１〜第４の積和演算手段の演算速度の２倍の速度で処理し、第１〜第４の積和演算手段に於ける空きタイムスロットが生じないようにして、処理の高速化を図ることができる。又乗算手段や除算手段に於いて２の巾乗処理となるように、√２倍し、乗算及び除算をシフト処理で済むようにして回路構成を単純化することができる。
【００３０】
【実施例】
図１は本発明の第１実施例の説明図であり、１はデータ選択手段、２は前処理手段、３はデータ分配手段、４〜７は第１〜第４の積和演算手段、８，９は第１，第２の中間値生成手段、１０は後処理手段、１１は制御手段である。この制御手段１１は、図示を省略した経路で各部を制御するものであり、データ選択手段１にＩＤＣＴを行う入力ＤＣＴ係数が入力され、後処理手段１０からＩＤＣＴ処理結果の画素値が出力される。
【００３１】
前述のＭ×Ｍ画素の小ブロックについて、Ｍ＝８として一次元ＩＤＣＴを行列で表現すると、ＤＣＴ係数Ｆ0 〜Ｆ7 を入力して、画素値ｘ0 〜ｘ7 を出力することになり、（３）式で示すものとなる。
【数２】
0004035789.tif 000003
なお、第１列は、（２）式に於いては、√２／２・Ｃ0 であるが、Ｃ4 と同じ値であるから、Ｃ4 として示している。
【００３２】
この（３）式に従ってＩＤＣＴ処理を行うと、６４回の無理数との乗算が必要となることが判る。そこで、この（３）式を変形して乗算回数の削減を図るものである。即ち、（３）式を小行列に分解して（４）式に示すように変形する。なお、（４）式は〔〕のみで小行列の配列の概要を示すものである。
【００３３】
【数３】
0004035789.tif 000004
この（４）式の小行列（ａ）〜（ｋ）の内容は、次の（５）式の小行列（ａ）〜（ｋ）に対応する。
【００３４】
【数４】
0004035789.tif 000005
【数５】
0004035789.tif 000006
【数６】
0004035789.tif 000007
【００３５】
前述の（３）式の変形は、８点ＩＤＣＴにＬｅｅ（“ＦＣＴ−Ａ  ＦＡＳＴＣＯＳＩＮＥ  ＴＲＡＮＳＦＯＲＭ”，ＩＣＡＳＳＰ８４  ２８Ａ．３参照）の手法を適用し、データの順番の並べ替えを表す行列，加減算を表す行列，無理数部分を二つの４点ＩＤＣＴを表す４×４行列と一つの４×４対角行列とに分解し、更に、この二つの４点ＩＤＣＴを表す行列を、Ｗ．Ｈ．Ｃｈｅｎ外２名による手法（“Ａ  Ｆast Ｃomputational  Ａlgorithm for the  Ｄiscrete Ｃosine Ｔransform”，ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｍｕｎ．，ｖｏｌ．ＣＯＭ−２５，Ｎｏ．９，pp. 1004〜1009, Ｓｅｐｔ．1977，参照) を適用して、更に二つの４点ＩＤＣＴを表す行列をそれぞれ２×２の無理数を含む行列，データの並べ替えを表す行列，加減算を表す行列に分解したものである。
【００３６】
更に、Ｃ0 は１／２であり、一般に２の巾乗の固定値の乗算はシフト処理で実現できるから、一般の乗算器を必要としないことになる。従って、（５）式によりＩＤＣＴ処理を行うと、乗算回数は実質上は１８回となる。この乗算回数は、前述のＣｈｅｎの手法では１６回、Ｌｅｅの手法では１２回であるが、（５）式による処理は、乗算と加算とを単純な積和演算によって実現できるから、バタフライ演算を基にした回路に比較して、制御が簡単で記憶素子が少なくて済む利点がある。
【００３７】
又二次元ＩＤＣＴに適用すると、８点一次元のＩＤＣＴ当たり１４回の乗算回数となるから、前述のＣｈｅｎの手法による乗算回数とＬｅｅの手法による乗算回数との中間の回数となる。又積和演算回路も１個削減できるものである。
【００３８】
前述の（５）式の（ａ）〜（ｋ）の小行列の処理機能を持った回路を組合せることにより、ＩＤＣＴ回路を構成することができる。具体的には、（ｃ），（ｄ），（ｈ），（ｉ）の２×２の小行列を計算する為の第１〜第４の積和演算手段（図１の４〜７参照）と、（ｃ），（ｄ）の小行列の演算結果を加減算する（ｂ）の小行列に相当する第１の中間値生成手段（図１の８参照）と、（ｈ），（ｉ）の小行列の演算結果を（ｇ）に基づいて加減算し、（ｆ）の対角行列の乗算を行う第２の中間値生成手段（図１の９参照）と、（ａ）の小行列に相当する加減算を行う後処理手段（図１の１０参照）と、（ｊ）の小行列に相当する処理を行う前処理手段（図１の２参照）と、行列式からは明示できないが、（ｋ），（ｅ）と（ｊ）との一部に相当し、回路にデータを供給する順番を制御するデータ選択手段とデータ分配手段（図１の１及び３参照）等によって実現できる。
【００３９】
又（ｃ），（ｄ），（ｈ），（ｉ）の２×２の小行列の計算を４並列の第１〜第４の積和演算手段４〜７で行う場合、各小行列は回路の４単位時間で一般的には演算可能である。ところで、８点ＩＤＣＴの係数は８個あり、タイムスロット上の空きをなくすには、８個の係数を４単位時間に読出して、各積和演算手段４〜７に分配すれば良いことになる。この為に、１クロック中に２個のデータを入力するように、データを２並列として入力するか、或いは２倍のクロックレートでデータを読出して入力することができる。
【００４０】
図２はデータ選択手段，前処理手段及びデータ分配手段の説明図であり、データ選択手段１は、入力記憶部２１ａ，２１ｂとセレクタ２２，２３ａ，２３ｂとを含む構成を有し、入力されたデータをセレクタ２２を介して入力記憶部２１ａ，２１ｂに順次書込み、セレクタ２３ａ，２３ｂを介して読出して、２並列化して前処理手段２に加えるものである。セレクタ２２，２３ａ，２３ｂは、入力記憶部２１ａ，２１ｂの書込アドレスと読出アドレスとの制御によって実現することができる。
【００４１】
前処理手段２は、加算器２４ａ，２４ｂと遅延素子（Ｄ）２５とセレクタ２６，２７とを含み、データ選択手段１からの第０，第２，第４，第６被変換係数に対しては、セレクタ２６，２７を実線位置から点線位置の選択位置とすると、値０を加算器２４ａ，２４ｂに加えるから、第０，第２，第４，第６被変換係数は加算器２４ａ，２４ｂを通過して、次のデータ分配手段３に出力する。例えば、データ選択手段１のセレクタ２３ａを介して第３被変換係数が出力され、セレクタ２３ｂを介して第１被変換係数が出力されると、セレクタ２６は点線位置、セレクタ２７は実線位置の選択位置となり、加算器２４ａに於いて第１，第３被変換係数が加算されて、第３被変換係数として出力され、又加算器２４ｂを通過して第１被変換係数が出力される。次にデータ選択手段１のセレクタ２３ａを介して第７被変換係数が出力され、セレクタ２３ｂを介して第５被変換係数が出力されると、セレクタ２６，２７は実線位置の選択位置となり、加算器２４ａに於いて第５，第７被変換係数が加算されて第７被変換係数として出力され、加算器２４ｂに於いて遅延素子２５により遅延された第３被変換係数と、第５被変換係数とが加算されて第５被変換係数として出力される。
【００４２】
データ分配手段３は、記憶部２８とセレクタ２９ａ〜２９ｄとを含み、前処理手段２からの第０〜第７被変換係数を一時的に記憶部２８に記憶して、セレクタ２９ａ〜２９ｄを介して（４）〜（７）で示す第１〜第４の積和演算手段へ分配する。即ち、セレクタ２９ａ〜２９ｄは実線位置と点線位置とを選択する構成として示しているが、同時的に２並列データを選択出力するもので、第１の積和演算手段４には第０，第４被変換係数、第２の積和演算手段５には第２，第６被変換係数、第３の積和演算手段６には第３，第７被変換係数、第４の積和演算手段７には第１，第５被変換係数をそれぞれ分配する。この場合のセレクタ２９ａ〜２９ｄは、記憶部２８の読出アドレスの制御によって実現することができる。
【００４３】
図３はデータ選択手段，前処理手段及びデータ分配手段の説明図であり、データ選択手段１は、入力記憶部３１とセレクタ３２，３３とを含み、セレクタ３２を介して入力記憶部３１に順次書込み、セレクタ３３を介して後段の積和演算手段に於けるクロックの２倍のクロックレートで読出して前処理手段２に加える。前処理手段２は、加算器３４と遅延素子（Ｄ）３５とセレクタ３６とを含み、データ選択手段１からの第０，第２，第４，第６被変換係数に対しては、セレクタ３６は点線位置の選択位置となり、値０が選択されて加算器３４に入力される。又セレクタ３６が実線位置の選択位置となった時は、遅延素子３５を介した値が加算器３４に入力される。
【００４４】
例えば、第１被変換係数がデータ選択手段１から入力されると、セレクタ２６は点線位置となり、第１被変換係数は加算器３４を通過してデータ分配手段３に加えられる。又遅延素子３５から第１被変換係数が出力されるタイミングで第３被変換係数がデータ選択手段１から入力されると、セレクタ３５は実線位置となり、遅延素子３５により遅延された第１被変換係数と、第３被変換係数とが加算器３４により加算されて、前処理された第３被変換係数としてデータ分配手段３に加えられる。
【００４５】
次にデータ選択手段１から再び第３被変換係数が入力されると、セレクタ３６は点線位置となり、次に遅延素子３５を介して第３被変換係数が出力されるタイミングで第５被変換係数がデータ選択手段１から入力されると、セレクタ３６は実線位置となり、第３，第５被変換係数は加算器３４により加算されて、前処理された第５変換係数としてデータ分配手段３に加えられる。第５被変換係数と第７被変換係数についても同様にして、前処理された第７被変換係数がデータ分配手段３に加えられる。
【００４６】
又データ分配手段３は、記憶部３８とセレクタ３９ａ〜３９ｄとを含み、図２に示すデータ分配手段と同様に、前処理手段２からの第０〜第７被変換係数を一時的に記憶部３８に記憶して、セレクタ３９ａ〜３９ｄを介して（４）〜（７）で示す第１〜第４の積和演算手段へ分配する。即ち、セレクタ３９ａ〜３９ｄは実線位置と点線位置とを選択して、第１〜第４の積和演算手段４〜７に於けるクロックの２倍のクロックレートで、第１の積和演算手段４には第０，第４被変換係数、第２の積和演算手段５には第２，第６被変換係数、第３の積和演算手段６には第３，第７被変換係数、第４の積和演算手段７には第１，第５被変換係数をそれぞれ分配する。
【００４７】
前述のように、８個の被変換係数を４単位時間に読出して、第１〜第４の積和演算手段４〜７に分配する為に、図２に於いては２並列化し、図３に於いては２倍の速度として、処理タイムスロットの無駄をなくすことができる。
【００４８】
図４は本発明の第２の実施例の説明図であり、４１はデータ選択手段、４２は前処理手段、４３はデータ分配手段、４４〜４７は第１〜第４の積和演算手段、４８，４９は第１，第２の中間値生成手段、５０は後処理手段、５１は制御手段である。この実施例は、前処理手段４２をデータ分配手段４３の後段に設けた場合を示す。なお、前処理手段は、データ選択手段の前段に設けることも可能であるが、図１及び図４に示す構成に比較して構成が複雑となる。
【００４９】
データ分配手段４３は、第０，第４被変換係数を第１の積和演算手段４４に、第２，第６被変換係数を第２の積和演算手段４５に、又第１，第３，第５，第７被変換係数を前処理手段４２に、それぞれ分配する。前処理手段４２に於いては、第１，第３被変換係数を加算して第３被変換係数とし、第３，第５被変換係数を加算して第５被変換係数とし、第５，第７被変換係数を加算して第７被変換係数として出力し、第３，第７被変換係数を第３の積和演算手段４６に、第１，第５被変換係数を第４の積和演算手段４７に加える。
【００５０】
第１，第２の中間値生成手段４８，４９と後処理手段５０とは、図１に示す実施例と同様の構成を有し、後処理手段５０から８点逆離散コサイン変換の結果を出力する。又制御手段５１は各部を制御するものである。
【００５１】
図５はデータ選択手段，データ分配手段及び前処理手段の説明図であり、図２と同様に２並列化する場合を示し、データ選択手段４１は、セレクタ５２，５３ａ，５３ｂと入力記憶部６０ａ，６０ｂとを含む構成を有し、セレクタ５２によって入力記憶部６０ａ，６０ｂに順次入力データを書込み、セレクタ５３ａ，５３ｂによって同時にデータを読出して２並列のデータとしてデータ分配手段４３に加える。又（４４）〜（４７）は図４に於ける第１〜第４の積和演算手段４４〜４７に接続されることを示す。
【００５２】
データ分配手段４３は、記憶部５８とセレクタ５９ａ〜５９ｄとを含み、又前処理手段４２は、加算器５４ａ，５４ｂと遅延素子（Ｄ）５５とセレクタ５６，５７とを含み、セレクタ５９ａ，５９ｂからの偶数番の第０，第２，第４，第６被変換係数はそのまま通過させ、奇数番の第１，第３，第５，第７被変換係数は、加算器５４ａ，５４ｂによる加算処理により新たな第３，第５，第７被変換係数として出力する。
【００５３】
例えば、データ分配手段４３のセレクタ５９ｃ，５９ｄを介して０が前処理手段４２に加えられ、次にセレクタ５９ｃを介して第３被変換係数が、又セレクタ５９ｄを介して第１被変換係数がそれぞれ前処理手段４２に加えられると、セレクタ５６，５７は実線位置となり、加算器５４ａにより第１，第３被変換係数が加算されて、第３変換係数として第３の積和演算手段４６に加えられ、又加算器５４ｂでは、セレクタ５７が値０を選択して入力するから、第１被変換係数がそのまま第４の積和演算手段４７に加えられる。
【００５４】
次にデータ分配手段４３のセレクタ５９ｃを介して第７被変換係数が、又セレクタ５９ｄを介して第５被変換係数がそれぞれ前処理手段４２に加えられると、加算器５４ａにより第５，第７被変換係数が加算されて、第７被変換係数として第３の積和演算手段４６に加えられ、又加算器５４ｂにより第５被変換係数と遅延素子５５を介した第３被変換係数とが加算されて、第５被変換係数として第４の積和演算手段４７に加えられる。
【００５５】
図６はデータ選択手段，データ分配手段及び前処理手段の説明図であり、データ選択手段４１は、入力記憶部６１とセレクタ６２，６３とを含む構成を有し、セレクタ６２を介して入力記憶部６１に順次書込み、セレクタ６３を介して積和演算手段のクロックの２倍のクロックレートのクロックに従って読出して、データ分配手段４３に入力する。
【００５６】
データ分配手段４３は、記憶部６８とセレクタ６９ａ〜６９ｄとを含み、積和演算手段のクロックと同一のクロックレートのクロックに従ってセレクタ５９ａ〜５９ｄからデータを分配する。前処理手段４２は、加算器６４ａ，６４ｂと遅延素子（Ｄ）６５とセレクタ６６，６７とを含む構成であり、図５に於ける前処理手段と同一の構成及び作用を有するものであり、重複する説明を省略する。
【００５７】
前述のように、図５に於いては２並列化し、図６に於いては２倍の速度として、８個の被変換係数を４単位時間に読出して、第１〜第４の積和演算手段４４〜４７に分配するもので、処理タイムスロットの無駄をなくすことができる。
【００５８】
図７は積和演算回路の説明図であり、（Ａ）は、乗算器７１と、加減算器７２と、Ｄフリップフロップ等からなる遅延素子（Ｄ）７３，７４と、記憶素子７５とから構成され、乗算器７１により入力と記憶素子７５に記憶された乗算値とが乗算され、この乗算結果と遅延素子７３を介してデータとが加減算器７２に於いて加減算される。その場合、遅延素子７３はクリア信号によってクリアされる構成を有し、クリアされた場合は、乗算結果がそのまま遅延素子７４に加えられることになる。
【００５９】
又図７の（Ｂ）の（Ａ）と同一符号は同一部分を示し、７６は遅延素子（Ｄ）、７７はセレクタである。セレクタ７７を実線位置とすると、遅延素子７６により遅延されたデータが加減算器７２に加えられて、乗算結果との加減算が行われ、セレクタ７７を点線位置とすると、加減算器７２には値０が入力されるから、乗算結果はそのまま出力されることになる。このような（Ａ）又は（Ｂ）に示す構成の積和演算回路を用いることも可能であるが、更に回路規模を縮小した構成を用いることができる。
【００６０】
図８は本発明の実施例の第１及び第４の積和演算手段の説明図であり、図１及び図４に示す第１の積和演算手段４，４４は、（Ａ）に示す構成とすることができ、又第４の積和演算手段７，４７は、（Ｂ）に示す構成とすることができる。即ち、前述の（５）式の（ｃ）の行列計算を行う第１の積和演算手段４，４４は、正負の極性を除けば、行列要素がＣ4 の１種類である。
【００６１】
従って、乗算器８１は定数ａを乗算する半固定乗算器とすることができる。一般に、乗数と被乗数との何れか一方を固定値とした場合、通常の乗算器の半分以下の回路規模で実現可能となり、従って、半固定乗算器８１の回路規模を縮小することができる。又８２は正負極性に対応して加減算する加減算器、８３はクリアできる遅延素子（Ｄ）、８４は遅延素子（Ｄ）であり、この加減算処理部分は、図７の（Ａ）に示すクリア可能の遅延素子７３を用いた加減算処理部分と同様であるが、図７の（Ｂ）に示すセレクタ７７を用いた加減算処理部分と同様な構成とすることもできる。
【００６２】
又第４の積和演算手段７，４７は、（５）式の（ｈ）の行列計算を行うものであり、正負極性を除けば、行列要素Ｃ0 ，Ｃ4 を乗算するものであり、この場合のＣ0 は１／２であるから、単純なシフト演算で済むことになる。従って、図８の（Ｂ）に示すように、半固定乗算器８５と、シフト回路８６と、セレクタ８７と、加減算器８８と、遅延素子８９，９０とから構成することができる。この場合の遅延素子８９はクリアできる構成を用いる。従って、通常の乗算器を用いる構成に比較して著しく回路規模を縮小することが可能となる。又この場合の加減算処理部分は、図７の（Ａ）のクリア可能の遅延素子７３を用いた加減算処理部分と同様であるが、図７の（Ｂ）のセレクタ７７を用いた加減算処理部分と同様な構成とすることができる。
【００６３】
図９は本発明の実施例の第２，第３の積和演算手段の説明図であり、９１はセレクタ、９２，９３は半固定乗算器、９４はセレクタ、９５，９６は加減算器、９７，９８はクリアできる遅延素子（Ｄ）、９９，１００は遅延素子（Ｄ）である。
【００６４】
第２の積和演算手段５，４５と第３の積和演算手段６，４６とは、（５）式の（ｄ），（ｉ）の行列計算を行うものであり、この場合も正負極性を除けば、行列要素Ｃ2 ，Ｃ6 の２種類の無理数を乗算する必要がある。この第２の積和演算手段と第３の積和演算手段とに於いて、第２の積和演算手段でＣ2 を乗算するタイミングで、第３の積和演算手段でＣ6 を乗算するようにし、且つ第２の積和演算手段でＣ6 を乗算するタイミングで、第３の積和演算手段でＣ2 を乗算するように、データのタイミングを制御することができる。
【００６５】
そこで、図９に於いては、Ｃ2 を乗算する半固定乗算器９２と、Ｃ6 を乗算する半固定乗算器９３との入出力をセレクタ９１，９４により切替える構成とするものである。従って、半固定乗算器による回路規模の縮小と、時分割的な共用による回路規模の縮小とによって、大幅な回路規模の縮小を図ることができる。又クリア可能の遅延素子９７，９８を用いて、加減算器９５，９６に於ける乗算結果の加減算を行わせる。この加減算処理部分は、図７の（Ａ）のクリア可能の遅延素子７３を用いた加減算処理部分と同様な構成であるが、図７の（Ｂ）のセレクタ７７を用いた加減算処理部分と同様な構成とすることもできる。
【００６６】
図１０はデータ並べ替え手段の説明図であり、ＩＤＣＴ処理結果の出力データが、表示装置等に於いて必要とするデータの順序でない場合が多いものである。図１０の（Ａ）は、少なくとも８記憶素子からなる記憶部１０１と、２並列データ対応のセレクタ１０２ａ，１０２ｂと、所望の順序でデータを出力するセレクタ１０３とを備えている。これらのセレクタ１０２ａ，１０２ｂ，１０３の構成は、具体的には記憶部１０１の書込アドレスと読出アドレスとの制御によって実現することが可能であり、所望の順序にデータを並べ替えることができる。
【００６７】
又図１０の（Ｂ）は、２並列で入力して２並列で出力する場合を示し、２並列の入力データをセレクタ１０２ａ，１０２ｂを介して記憶部１０１に書込み、セレクタ１０３ａ，１０３ｂを介して所望の順序でデータを２並列で出力するものであり、セレクタ１０２ａ，１０２ｂ，１０３ａ，１０３ｂは、記憶部１０１の書込アドレスと読出アドレスとの制御によって実現することができる。又この２並列のデータを、２倍のデータレートとして１本のデータ線に多重化することも可能である。
【００６８】
図１１は本発明の二次元逆離散コサイン変換装置の一実施例の説明図であり、１１１は入力選択手段、１１２は変換手段、１１３は出力選択手段、１１４は転置用記憶手段、１１５は制御手段である。変換手段１１２は、例えば、図１に示すように、データ選択手段１と、前処理手段２と、データ分配手段３と、第１〜第４の積和演算手段４〜７と、第１，第２の中間値生成手段８，９と、後処理手段１０とを含む構成を有するものである。又図４に示す構成を適用することも可能である。
【００６９】
二次元ＩＤＣＴは、通常は、縦方向と横方向とにそれぞれ一次元ＩＤＣＴを施すものであり、入力選択手段１１１と出力選択手段１１３とが実線位置の選択位置の場合、一次元目のＩＤＣＴが行われ、その結果が転置用記憶手段１１４に書込まれる。次に、入力選択手段１１１と出力選択手段１１３とが点線位置の選択位置となり、転置用記憶手段１１４から転置されたデータが読出されて二次元目のＩＤＣＴが行われ、その結果が出力される。
【００７０】
変換手段１１２は、前述のように、８点ＩＤＣＴを４単位時間で完了するように構成できるから、この変換手段１１２を一次元目と二次元目とのＩＤＣＴに共用化しても、充分に高速処理が可能である。
【００７１】
図１２は本発明の二次元逆離散コサイン変換装置の他の実施例の説明図であり、１２１は第１の変換手段、１２２は転置用記憶手段、１２３は第２の変換手段、１２４は制御手段である。第１，第２の変換手段１２１，１２３は、例えば、図１に示すように、データ選択手段１と、前処理手段２と、データ分配手段３と、第１〜第４の積和演算手段４〜７と、第１，第２の中間値生成手段８，９と、後処理手段１０とを含む構成を有するものであり、図４に示す構成を適用することも可能である。
【００７２】
第１の変換手段１２１により一次元目のＩＤＣＴを行い、その結果を転置用記憶手段１２２に書込み、この転置用記憶手段１２２から転置されたデータを読出して、第２の変換手段１２３により二次元目のＩＤＣＴを行うものである。この場合は、図１１に示す構成に比較して変換手段が２倍必要となるが、高速処理が可能となる。
【００７３】
図１３は本発明の二次元逆離散コサイン変換装置の更に他の実施例の説明図であり、１３１は入力選択手段、１３２は変換手段、１３３は出力選択手段、１３４は転置用記憶手段、１３５は制御手段、１３６は被変換係数記憶部、１３７は除算部である。変換手段１３２は、例えば、図１に示すように、データ選択手段１と、前処理手段２と、データ分配手段３と、第１〜第４の積和演算手段４〜７と、第１，第２の中間値生成手段８，９と、後処理手段１０とを含む構成を有するものである。又図４に示す構成を適用することも可能である。
【００７４】
入力選択手段１３１と出力選択手段１３３とは、一次元目のＩＤＣＴに於いては実線位置、二次元目のＩＤＣＴに於いては点線位置の選択位置となる。又被変換係数記憶部１３６は、８×８のＩＤＣＴを行う被変換係数を記憶し、所定の順序で、１クロック時間に２係数を読出して、入力選択手段１３１を介して変換手段１３２に加え、一次元目のＩＤＣＴを行わせる。その結果の１クロック時間の２個のデータを転置用記憶手段１３４に書込み、次の二次元目のＩＤＣＴを行う時に、同様に１クロック時間に２個のデータを読出して変換手段１３２に加えて、二次元目のＩＤＣＴを行わせ、出力選択手段１３３を介して除算部１３７に加え、１／２の除算が行われて、二次元ＩＤＣＴの結果が出力される。
【００７５】
ここで、（５）式に於けるＣ0 は√２／４であるから、この（５）式を√２倍することを考えると、（５）式の小行列（ｃ），（ｄ），（ｈ），（ｉ）にそれぞれ√２を乗算することになる。従って、（５）式は、次の（６）式となる。
【数７】
0004035789.tif 000008
【数８】
0004035789.tif 000009
【数９】
0004035789.tif 000010
【００７６】
この（６）式の小行列（ｃ）は、正負の極性を除けば、１／２の固定値であり、２の巾乗の乗算は単純なシフト演算で実現できるから、小行列（ｃ）の演算に対応する第１の積和演算手段４，４４（図１又は図４参照）の乗算器８１（図８参照）は、シフト回路で済むから、回路規模を更に縮小することができる。
【００７７】
又（６）式に従って演算を行うことにより、一次元目のＩＤＣＴにより通常の場合の√２倍の大きさの値となり、次の二次元目のＩＤＣＴにより√２×√２＝２倍の大きさの値となる。従って、（６）式に従って二次元ＩＤＣＴを行った結果を１／２すれば良いことになり、この除算もシフト演算で済むことになる。即ち、図１３に於ける変換手段１３２は（６）式に従ったＩＤＣＴ処理を行い、除算部１３７に於いて二次元ＩＤＣＴの結果を１／２する場合を示す。
【００７８】
又（６）式に従って二次元ＩＤＣＴを行うことにより、第１の積和演算手段の乗算はシフト処理で済み、乗算回数は、８点の一次元ＩＤＣＴ当たり１４回で、８×８の１ブロック分では２２４回となる。この乗算回数は、前述のＬｅｅの手法を用いた場合（８点の一次元ＩＤＣＴ当たり１２回、８×８の１ブロック分は１９２回）に比較して、乗算回数は僅かに多くなるが、乗算器として、半固定乗算器が３個、通常の乗算器が１個で済み、且つ４クロックで８点一次元ＩＤＣＴが完了させることが可能であるから、回路規模が小さく且つ高速処理が可能の二次元ＩＤＣＴ装置を実現できる。
【００７９】
又二次元ＩＤＣＴ装置に於いても、一次元ＩＤＣＴ装置と同様に、出力データの順番が表示装置等に於いて必要とする順番でない場合が多いから、例えば、図１０に示すようなデータ並べ替え手段を設けることができる。
【００８０】
又８×８のブロックについてのＤＣＴ結果を、ジクザグスキャンによる順番で蓄積或いは伝送することが多いから、二次元ＩＤＣＴを行う場合、少なくともこの１ブロック分を一旦蓄積し、二次元ＩＤＣＴに有利な順番で読出す構成を用いることができる。即ち、図１３に示す実施例の被変換係数記憶部１３６により、少なくとも１ブロック分の被変換係数を記憶し、ＩＤＣＴ処理に有利な順番で読出すことができる。
【００８１】
又この被変換係数記憶部１３６を転置用に利用することができる。これは、８点の一次元ＩＤＣＴを４クロックで完了できるから、８×８のブロックの一次元ＩＤＣＴは３２クロックで完了できることになり、被変換係数記憶部１３６を、２倍の速度で同時に書込みと読出しとを行う構成とし、被変換係数を読出したアドレスに、一次元ＩＤＣＴ処理結果を書込み、それを転置して読出す構成とすることにより、図１３に於ける転置用記憶手段１３４を省略して、回路規模の縮小を図ることができる。
【００８２】
又被変換係数記憶部１３６及び転置用記憶手段１３４の読出アドレスを制御することにより、データ選択手段１，４１（図１又は図４参照）に於けるデータの選択と同様な作用を行わせて、データ選択手段１，４１を省略した構成とすることができる。この場合の読出アドレス制御は、データ選択手段１，４１によるデータ選択の順序に従った制御とするものであり、容易に実現することができる。
【００８３】
図１４は本発明の実施例の詳細な説明図であり、前処理手段，データ分配手段，第１〜第４の積和演算手段，第１，第２の中間値生成手段及び後処理手段について示し、Ｆ０，Ｆ００，Ｆ０１，Ｆ１０，Ｆ１１，Ｆ２０，Ｆ２１，Ｆ３０〜Ｆ３３，Ｆ４０〜Ｆ４３，Ｆ５０〜Ｆ５３，Ｆ６０〜Ｆ６３，Ｆ７１，Ｆ８１，Ｆ９０，Ｆ９１，Ｆａ０，Ｆａ１は遅延素子（Ｄ）を構成するフリップフロップ、Ａ０〜Ａ２は加算器、ＡＤ０〜ＡＤ５は加減算器、ＳＢ１は減算器である。
【００８４】
又Ｍ０，Ｍ３は１／２を乗算する為のシフト回路、Ｍ１はｃｏｓ（π／８）／√２を乗算する半固定乗算器、Ｍ２はｃｏｓ（３π／８）／√２を乗算する半固定乗算器、Ｍ４は１／√２を乗算する半固定乗算器、Ｍ５はセレクタＳ６で選択されたｍ１＝１／２ｃｏｓ（π／１６）、ｍ２＝１／２ｃｏｓ（３π／１６）、ｍ３＝１／２ｃｏｓ（５π／１６）、ｍ４＝１／２ｃｏｓ（７π／１６）を乗算する乗算器である。
【００８５】
又１４１は前加算回路、１４２は２Ｄ遅延回路、１４３は乗算回路、１４４は累積加算回路、１４５は加算・減算回路を示し、Ｓ０，Ｓ１は前加算回路１４１のセレクタ、Ｓ２はフリップフロップＦ３０〜Ｆ３３の入力切替えを行うセレクタ、Ｓ３は半固定乗算器Ｍ１，Ｍ２の入出力の切替えを行うセレクタ、Ｓ４はシフト回路Ｍ３と半固定乗算器Ｍ４との切替えを行うセレクタ、Ｓ５は累積加算回路１４４に於ける累積加算を行うか否かを選択するセレクタ、Ｓ６は乗算器Ｍ５に加える乗数ｍ１〜ｍ４を選択するセレクタである。
【００８６】
この実施例は、前加算回路１４１の前段に被変換係数記憶部（図示を省略）を設け、この被変換係数記憶部（図１３の符号１３６参照）から所定の順番で同時に２個の被変換係数ＤＬ，ＤＨを読出して、前加算回路１４１に入力する構成とし、図１に於けるデータ選択手段１を省略できる構成とした場合を示し、前加算回路１４１は、図１の前処理手段２に対応する。又２Ｄ遅延回路１４２とセレクタＳ２とにより図１のデータ分配手段３が構成され、乗算回路１４３と累積加算回路１４４とにより、図１の第１〜第４の積和演算手段４〜７が構成され、加減算器ＡＤ４を含む構成により図１の第１の中間値生成手段８が構成され、加減算器ＡＤ５と乗算器Ｍ５とを含む構成により図１の第２の中間値生成手段９が構成され、又加算・減算回路１４５により図１の後処理手段１０が構成される。
【００８７】
図１５〜図１９は本発明の実施例のタイムチャートを示し、括弧内の符号と図１４の各部の符号とを対応付けて示す。又図１８のＴＭはフリップフロップＦ６０〜Ｆ６３のラッチタイミングを示す。又各図に於けるデータを２桁の数字で表し、１桁目が処理されている次元のデータ、２桁目が非処理方向の次元のデータの添字を示し、一次元目と二次元目とに於いて逆転する。例えば、前加算回路１４１には、図１５の（ＤＬ），（ＤＨ）に示すように、２並列のデータ０１−０３，０５−０７，００−０２，０４−０６の順番に入力され、次に、１１−１３，１５−１７，１０−１２，１４−１６の順番に入力される。
【００８８】
又セレクタＳ０〜Ｓ５について、実線位置を０，点線位置を１として示し、又フリップフロップについて、各タイミングに於ける処理内容とその処理結果を上側に示す。例えば、ＤＬ＝０５，ＤＨ＝０７，Ｓ０＝１，Ｓ１＝１の時、前加算回路１４１の加算器Ａ０は（０３＋０５），加算器Ａ１は（０５＋０７）の加算を行い、次のタイミングにフリップフロップＦ００には前処理された第５被変換係数０５’（＝０３＋０５）がラッチされ、フリップフロップＦ０１には前処理された第７被変換係数０７’（＝０５＋０７）がラッチされる。
【００８９】
同様に、ＤＬ＝００，ＤＨ＝０２の時、Ｓ０＝０，Ｓ１＝０となり、加算器Ａ０，Ａ１を介して次のタイミングにフリップフロップＦ００，Ｆ０１に、第０被変換係数００，第２被変換係数０２がラッチされる。即ち、第０，第２，第４，第６被変換係数（ｉ０，ｉ２，ｉ４，ｉ６）（但し、ｉ＝０〜７）はそのまま出力され、又第１被変換係数（ｉ１）はそのまま出力されるが、この第１被変換係数（ｉ１）と第３被変換係数（ｉ３）とが加算され、又第３被変換係数（ｉ３）と第５被変換係数（ｉ５）と加算され、又第５被変換係数（ｉ５）と第７被変換係数（ｉ７）と加算されて、第１，第３，第５，第７被変換係数は、それぞれｉ１’，ｉ３’，ｉ５’，ｉ７’となる。
【００９０】
又２Ｄ遅延回路１４２は、フリップフロップＦ１０，Ｆ１１，Ｆ２０，Ｆ２１により２クロック分遅延させるもので、セレクタＳ２によって遅延させたものと遅延させないものとを選択する。例えば、Ｓ２＝１の時、Ｆ３２＝０１’，Ｆ３３＝０３’，Ｆ３０＝００，Ｆ３１＝０２（図１６参照）で、次のタイミングにＳ２＝０であると、Ｆ３２＝０５’，Ｆ３３＝０７’，Ｆ３０＝０４，Ｆ３１＝０６となり、次のタイミングにＳ２＝０であると、Ｆ３２＝１１’，Ｆ３３＝１３’，Ｆ３０＝００，Ｆ３１＝０２となり、２クロック分遅延されたデータが再びフリップフロップＦ３０，Ｆ３１にラッチされる。
【００９１】
即ち、第４の積和演算手段に相当する奇偶パスと第３の積和演算手段に相当する奇奇パスとに対して、第１の積和演算手段に相当する偶偶パスと第２の積和演算手段に相当する偶奇パスより２クロック分早く、２個のデータ列からなるシーケンスを２回繰り返し供給できることになる。
【００９２】
第１の積和演算手段に相当する奇奇パスの乗算は、前述のように１／２倍すれば良いから、シフト回路Ｍ０によって実現できる。又第２の積和演算手段に相当する偶奇パスに於ける乗算と、第３の積和演算手段に相当する奇奇パスに於ける乗算とは、半固定乗算器Ｍ１，Ｍ２の入出力をセレクタＳ３によって切替えて実行するものである。即ち、第１，第２の積和演算手段と第３，第４の積和演算手段とに入力されるデータは２クロック分の差があり、従って、乗算すべき２種類の値の√２Ｃ2 ，√２Ｃ6 を交互に切替えることにより乗算を実行することができるから、セレクタＳ３によって半固定乗算器Ｍ１，Ｍ２を、図１７の（Ｓ３）の１，０に従って切替えて、半固定乗算器Ｍ１，Ｍ２の共用化を図ることができる。
【００９３】
又第４の積和演算手段に相当する奇偶パスに於ける乗算すべき値は、１／２（√２Ｃ4 ），√２／２（√２Ｃ0 ）の２種類であり、１／２倍はシフト処理で済むから、シフト回路Ｍ３と√２／２を乗算する半固定乗算器Ｍ４とを、セレクタＳ４によって切替えることにより、乗算機能を実現できる。セレクタＳ４は、図１７の（Ｓ４）の１，０に従って切替えられ、乗算回路１４３のフリップフロップＦ４０〜Ｆ４３には、図１７の（Ｆ４０）〜（Ｆ４３）に示す処理の結果がラッチされる。
【００９４】
又累積加算回路１４４のセレクタＳ５は、図１８の（Ｓ５）の１，０に従って制御され、又加減算器ＡＤ０〜ＡＤ３は、（ＡＤ０）〜（ＡＤ３）の＋，−に従って加算と減算との処理を行うものである。即ち、加減算器ＡＤ０，ＡＤ１は、同時に加算（＋）又は減算（−）を行い、又加減算器ＡＤ２，ＡＤ３は、同時に加算（＋）又は減算（−）を行うものである。そして、フリップフロップＦ５０〜Ｆ５３には、（Ｆ５０）〜（Ｆ５３）に示す処理の結果がラッチされる。そして、ラッチタイミングＴＭに於いてフリップフロップＦ６０〜Ｆ６３にラッチすることにより、（Ｆ６０）〜（Ｆ６３）に示す処理の結果が得られる。なお、ｏｅｉｊ（ｉ＝０〜７，ｊ＝０〜７）は第４の積和演算手段に相当する奇偶パス、ｏｏｉｊは第３の積和演算手段に相当する奇奇パス、ｅｅｉｊは第１の積和演算手段に相当する偶偶パス、ｅｏｉｊは第２の積和演算手段に相当する偶奇パスのそれぞれデータを示す。
【００９５】
又第１の中間値生成手段の構成する加減算器ＡＤ４は、図１９の（ＡＤ４）の＋，−に従って、フリップフロップＦ６０，Ｆ６１の内容の加算又は減算の処理を行うものであり、処理結果は（Ｆ９０）に示すようにフリップフロップＦ９０にラッチされる。この場合、ｅｉｊは偶数パス、ｏｉｊは奇数パスのデータを示し、例えば、ＡＤ４＝＋で、ｅ０１＝ｅｅ００−ｅｏ００、ＡＤ４＝−で、ｅ０２＝ｅｅ０１＋ｅｏ０１、ＡＤ４＝＋で、ｅ０３＝ｅｅ０１−ｅｏ０１となる。
【００９６】
又第２の中間値生成手段を構成する加減算器ＡＤ５と乗算器Ｍ５との加減算器ＡＤ５は、（ＡＤ５）の＋，−に従って、フリップフロップＦ６２，Ｆ６３の内容の加算又は減算の処理を行い、その処理結果は（Ｆ７１）に示すようにフリップフロップＦ７１にラッチされる。例えば、ＡＤ５＝＋で、ｏ０１＝ｏｅ００−ｏｏ００、ＡＤ５＝−で、ｏ０２＝ｏｅ０１＋ｏｅ０１となる。
【００９７】
又乗算器Ｍ５はセレクタＳ６により選択された乗数ｍ１〜ｍ４とフリップフロップＦ７１の内容との乗算を行うもので、その乗算結果はフリップフロップＦ８１にラッチされる。その時の処理内容は（Ｆ８１）に示すものとなる。このフリップフロップＦ８１の内容はフリップフロップＦ９１にラッチされる。このフリップフロップＦ９１は、奇数パスと偶数パスとのタイミングを合わせる為のものである。
【００９８】
又後処理手段を構成する加算・減算回路１４５の加算器Ａ２は奇数パスと偶数パスとのデータを加算し、その結果はフリップフロップＦａ０にラッチされ、又減算器ＳＢ１は奇数パスと偶数パスとのデータの差を求め、その結果はフリップフロップＦａ１にラッチされる。このフリップフロップＦａ０，Ｆａ１から一次元目の処理結果の場合は転置用記憶手段（例えば、図１３の符号１３４参照）に加えられ、二次元目の処理結果の場合は、除算部（例えば、図１３の符号１３７参照）に加えられて１／２の処理が行われる。この１／２の処理はシフト演算により実行することができる。
【００９９】
又転置用記憶手段の機能を、前加算回路１４１の前段に設けた被変換係数記憶部のアドレス制御によって実現し、二次元ＩＤＣＴを行う為の転置用記憶手段を省略することも可能である。又８×８点の二次元ＩＤＣＴ装置を、半固定乗算器（Ｍ１，Ｍ２，Ｍ４）を３個、通常の乗算器（Ｍ５）を１個、加算器（Ａ０〜Ａ２，加減算器ＡＤ０〜ＡＤ５，減算器ＳＢ１）を１０個、その他フリップフロップやセレクタを用いて構成することができる。又８×８の１ブロック当たり乗算回数が２２４回、クロック数は６４とすることができる。
【０１００】
【発明の効果】
以上説明したように、本発明は、前述の（５）式又は（６）式に従って、データ選択手段１，前処理手段２，データ分配手段３，第１〜第４の積和演算手段４〜７，第１，第２の中間値生成手段８，９，後処理手段１０を含む構成としたもので、乗算回数は従来例としてのＬｅｅの手法に比較して多いが、通常の乗算器は、例えば、１個で済むことになり、回路規模の縮小が可能となり、集積回路化が容易となる利点がある。又制御も簡単化できる利点がある。
【０１０１】
又データ選択手段１から２並列のデータ、又は２倍のクロックレートのデータを出力することにより、第１〜第４の積和演算手段４〜７に於ける処理に空きタイムスロットが生じないようにすることができる。即ち、ＩＤＣＴ処理の高速化を図ることができる利点がある。
【０１０２】
又一次元ＩＤＣＴの変換手段と転置用記憶手段と入力選択手段と出力選択手段とを用いることにより、小さい回路構成で二次元ＩＤＣＴ装置を構成することができる。又２個の一次元ＩＤＣＴの変換手段と転置用記憶手段とを用いることにより、二次元ＩＤＣＴの処理を高速化できる。又前段に被変換係数記憶部を設けて、二次元ＩＤＣＴを行う場合の少なくとも１ブロック分のデータを記憶して、ＩＤＣＴ処理に適合した順番で読出すことにより、無駄なタイムスロットが生じないようにして、二次元ＩＤＣＴ処理の高速化を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例の説明図である。
【図２】データ選択手段，前処理手段及びデータ分配手段の説明図である。
【図３】データ選択手段，前処理手段及びデータ分配手段の説明図である。
【図４】本発明の第２の実施例の説明図である。
【図５】データ選択手段，データ分配手段及び前処理手段の説明図である。
【図６】データ選択手段，データ分配手段及び前処理手段の説明図である。
【図７】積和演算回路の説明図である。
【図８】本発明の実施例の第１及び第４の積和演算手段の説明図である。
【図９】本発明の実施例の第２及び第３の積和演算手段の説明図である。
【図１０】データ並べ替え手段の説明図である。
【図１１】本発明の二次元逆離散コサイン変換装置の一実施例の説明図である。
【図１２】本発明の二次元逆離散コサイン変換装置の他の実施例の説明図である。
【図１３】本発明の二次元逆離散コサイン変換装置の更に他の実施例の説明図である。
【図１４】本発明の実施例の詳細な説明図である。
【図１５】本発明の実施例のタイムチャートである。
【図１６】本発明の実施例のタイムチャートである。
【図１７】本発明の実施例のタイムチャートである。
【図１８】本発明の実施例のタイムチャートである。
【図１９】本発明の実施例のタイムチャートである。
【符号の説明】
１  データ選択手段
２  前処理手段
３  データ分配手段
４〜７  第１〜第４の積和演算手段
８，９  第１，第２の中間値生成手段
１０  後処理手段
１１  制御手段
【図１】
0004035789.tif 000011
【図２】
0004035789.tif 000012
【図３】
0004035789.tif 000013
【図４】
0004035789.tif 000014
【図５】
0004035789.tif 000015
【図６】
0004035789.tif 000016
【図７】
0004035789.tif 000017
【図８】
0004035789.tif 000018
【図９】
0004035789.tif 000019
【図１０】
0004035789.tif 000020
【図１１】
0004035789.tif 000021
【図１２】
0004035789.tif 000022
【図１３】
0004035789.tif 000023
【図１４】
0004035789.tif 000024
【図１５】
0004035789.tif 000025
【図１６】
0004035789.tif 000026
【図１７】
0004035789.tif 000027
【図１８】
0004035789.tif 000028
【図１９】
0004035789.tif 000029