(57)【特許請求の範囲】
【請求項１】
離散コサイン変換／離散コサイン逆変換、量子化／逆量子化、動きベクトル検出、動き補償、内積演算、画像データ加算および画像データ差分処理などの画像圧縮符号化／伸長復号化処理を、ｍｘｎの大きさのブロックの画像データについて、適応的に行う演算処理装置であって、
それぞれが、加算、減算、各種論理演算、大小比較、差分絶対値演算、バタフライ加算・減算処理を行う拡張算術論理演算ユニット、該拡張算術論理演算ユニットの後段に設けられた第１の内部パイプラインメモリ、該第１の内部パイプラインメモリの後段に設けられた乗算ユニット、該乗算ユニットに係数を提供する係数メモリ、該乗算ユニットに後段に設けられた第２の内部パイプラインメモリ、該第２の内部パイプラインメモリの後段に設けられた累積演算ユニット、該累積演算ユニットに後段に設けられた第３の内部パイプラインメモリを有する、複数の並列に設けられた演算ユニット、
これら複数の並列に設けられた演算ユニットのうち、隣接する演算ユニットを接続するように配設された相互接続パイプラインメモリ、および、
前記複数の演算ユニットに入力データを選択的に印加するデータセレクタ
を有し、
前記演算ユニット内において、前記拡張算術論理演算ユニット、前記乗算ユニット、前記累積演算ユニットが、パイプライン処理動作を行い、
前記拡張算術論理演算ユニットは、
第１の入力データの極性を反転する正負反転器、
該正負反転器の後段に設けられ、前記第１の入力データまたは前記極性反転された第１のデータを選択的に出力する第１のデータセレクタ、
該第１のデータセレクタの選択出力データおよび第２の入力データとを加算する加算器、
前記第１の入力データから前記第２の入力データを減じる減算器、
前記第１の入力データと前記第２のデータとの、論理和、論理積、排他的論理和、否定などの論理処理を行う論理演算器、
前記加算器および前記減算器の出力を入力して正負判定を行う正負判定器、
前記加算器、前記減算器、および、前記正負判定器の出力を入力し、選択的に出力する第２のデータセレクタ、
該第２のデータセレクタに接続された第１の出力端子、および、
前記減算器に接続された第２の出力端子
を有し、加算、減算、各種論理演算、大小比較、差分絶対値演算、バタフライ加算・減算処理のいずれかの処理内容に応じて、前記正負反転器と、前記第１のデータセレクタと、前記加算器と、前記減算器と、前記論理演算器と、前記正負判定器と、前記第２のデータセレクタとを組み合わせた回路を構成可能であり、  前記相互接続パイプラインメモリを介して隣接する演算ユニットを結合し、かつ、ビデオ信号処理の内容に応じて前記演算ユニット内の内部パイプラインメモリを選択して所定のデータ流れが形成される演算パイプライン回路を有する、
適応形ビデオ信号演算処理装置。
【請求項２】
前記適応形ビデオ信号演算処理装置は、単一の命令ストリームで多重のデータストリーム処理を行う、「単一命令ストリーム・多重データストリーム：ＳＩＭＤ」制御回路を有する、
請求項１記載の適応形ビデオ信号演算処理装置。
【請求項３】
前記複数の演算ユニットの初段の演算ユニットに、離散コサイン変換処理用データを入力する端子が設けられ、
前記複数の演算ユニットの最終段の演算ユニットに、離散コサイン逆変換処理用データを出力する端子が設けられた、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【請求項４】
ｍｘｎ画像データをブロックとして、バタフライ演算およびパイプラインメモリ処理を複数回数行って離散コサイン変換処理を行う際、
前記離散コサイン変換処理用データを前記最終段の演算ユニットを除く複数の演算ユニット内の拡張算術論理演算ユニットに入力し、該拡張算術論理演算ユニットにおける処理結果を隣接する前記相互接続パイプラインメモリに出力し、
全ての演算ユニット内の乗算ユニットに最終段の相互接続パイプラインメモリのデータを入力し、その乗算結果を前記累積ユニットにおいて累積させる、
回路を構成可能な、
請求項３記載の適応形ビデオ信号演算処理装置。
【請求項５】
ｍｘｎ画像データをブロックとして、パイプラインメモリ処理およびバタフライ演算を複数回数行って離散コサイン逆変換処理を行う際、
前記離散コサイン逆変換用データを全ての演算ユニット内の乗算ユニットに入力し、その乗算結果を前記累算ユニットにおいて累積させ、
その出力を前記初段の演算ユニットを除く複数の演算ユニット内の拡張算術論理演算ユニットに入力し、該拡張算術論理演算ユニットにおける処理結果を隣接する前記相互接続パイプラインメモリに出力する、
回路を構成可能な、
請求項３記載の適応形ビデオ信号演算処理装置。
【請求項６】
量子化処理を行う際、
隣接する演算ユニット内の第１の演算ユニットの乗算ユニットの出力端子を第２の演算ユニットの乗算ユニットの入力端子に接続し、
該第２の乗算ユニットの乗算結果をその後段の累積ユニットに入力し、
前記第１の乗算ユニットに量子化対象のデータを入力する、
回路を構成可能な、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【請求項７】
逆量子化処理を行う際、隣接する演算ユニット内の第１の演算ユニットの乗算ユニットの出力端子を第２の演算ユニットの乗算ユニットの入力端子に接続し、該第２の乗算ユニットの乗算結果をその後段の累積ユニットに入力し、第１の演算ユニットに逆量子化対象のデータおよび定数を入力し、その演算結果を第１の乗算ユニットに入力する、回路を構成可能な、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【請求項８】
動きベクトル検出処理の際、全ての演算ユニット内の拡張算術論理演算ユニットを累積演算ユニットに接続し、前記拡張算術論理演算ユニットに動きベクトル検出対象の２つのデータを入力する、回路を構成可能な、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【請求項９】
動き補償における仮想画素生成処理の際、全ての演算ユニット内の拡張算術論理演算ユニットを累積演算ユニットに接続し、前記拡張算術論理演算ユニットに動き補償における仮想画素生成対象の２つのデータを入力する、回路を構成可能な、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【請求項１０】
動き補償における予測画素生成処理の際、隣接する演算ユニットの一方の乗算ユニットの出力を他方の拡張算術論理演算ユニットの一方の入力端子に印加し、他方の乗算ユニットの出力を該他方の拡張算術論理演算ユニットの他方の入力端子に印加し、該他方の拡張算術論理演算ユニットの演算結果を他方の累積ユニットにおいて累積させる、回路を構成可能な、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【請求項１１】
内積演算処理の際、全ての演算ユニット内の乗算ユニットに内積対象のデータを入力し、該乗算結果を対応する累積ユニットにおいて累積する、回路を構成可能な、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【請求項１２】
画像データ加算処理の際、または、画像データ減算処理の際、全ての演算ユニット内の拡張算術論理演算ユニットに処理対象のデータを入力し、該処理結果を出力する、回路を構成可能な、
請求項１または２記載の適応形ビデオ信号演算処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば、数値計算、画像処理、グラフィックス処理等に用いられる計算機システムにおける中央処理装置（プロセッサ）に関するものであり、特に画像圧縮符号化（コーデック：ＣＯＤＥＣ）のようなビデオ信号処理に好適なディジタルシグナルプロセッサ（ＤＳＰ）などの適応形ビデオ信号演算処理装置に関する。
【０００２】
【従来の技術】
近年、ＣＣＩＴＴ  Ｈ．２６１勧告やＭＰＥＧ等の画像圧縮符号化／伸長復号化標準に基づく画像コーデック用ディジタルシグナルプロセッサ（ＤＳＰ）が多数提案されている。
本発明は、これらのＤＳＰのうちで、文献、Ｙａｍａｕｃｈｉ，ｅｔ  ａｌ，“Ａｒｃｈｉｔｅｃｔｕｒｅ  ａｎｄ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ａ  Ｈｉｇｈｌｙ  Ｐａｒａｌｌｅｌ  Ｓｉｎｇｌｅ−Ｃｈｉｐ  Ｖｉｄｅｏ  ＤＳＰ“，ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＣＩＲＣＵＩＴＳ  ＡＮＤ  ＳＹＳＴＥＭＳ  ＦＯＲ  ＶＩＤＥＯ  ＴＥＣＨＮＯＬＯＧＹ，ＶＯＬ．２，ＮＯ．２，ＪＵＮＥ  １９９２，ｐｐ．２０７−２２０、に提案されているように、算術論理演算ユニット、乗算器、累算器等からなる演算ユニットを複数有し、それらの演算ユニットが単一の命令流により複数のデータを並列に処理する「単一命令ストリーム・多重データストリーム：ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  ｓｔｒｅａｍ）」制御方式のＤＳＰに関する。
この文献に記載されている構成を図１７に示した。
このＤＳＰの演算ユニットは、演算器をパイプライン接続可能であり、演算パイプライン処理も行う。
【０００３】
まず、演算パイプラインの原理について簡単に説明する。
図１８に、演算パイプラインの構成例を示す。
この演算パイプラインは、２入力Ｘ，Ｙを算術論理演算ユニット（ＡＬＵ）Ａ１において加算した後に、加算結果と係数メモリＡ３からの係数とを乗算器Ａ２において乗算し、さらにその乗算結果を累算器Ａ３において累算する。
このような演算の連鎖を複数のデータに対して連続的に行うことを演算パイプライン処理と呼ぶ。
【０００４】
図１９は図１８の演算パイプラインにおける処理のタイムチャートを示すグラフである。
簡単化のため、演算パイプラインの各演算器Ａ１，Ａ２，Ａ４は１クロックサイクルで演算を完了するものとする。
図１９における処理単位は、２入力端子に入力されるデータの組（Ｘ，Ｙ）を意味する。
図１９に示すように、例えばｉ番目の処理単位についてみると、
（ｋ−１）番目のクロックサイクルにおいてＡＬＵ（Ａ１）が加算処理を行い、
ｋ番目のクロックサイクルにおいて乗算器Ａ２が乗算処理を行い、
（ｋ＋１）番目のクロックサイクルにおいて累算器Ａ４が累積処理を行う。
また、ｋ番目のクロックサイクルについてみると、
加算処理、乗算処理を終えた（ｉ−１）番目の処理単位が累算器Ａ４において累算され、
加算を終えたｉ番目の処理単位が乗算器Ａ２において乗算され、
（ｉ＋１）番目の処理単位が加算器Ａ１において加算されている。
このような動作を複数の処理単位に対して繰り返し行うことにより演算パイプライン処理が実現できる。
【０００５】
次に、従来の技術について説明する。
ここでは、４組の演算ユニットが単一の命令流により複数のデータを並列に処理する、上述した文献において提案されている「単一命令ストリーム・多重データストリーム：ＳＩＭＤ」制御方式のＤＳＰを考える。
前提として、各演算ユニットは、加算、減算および論理演算を行う算術論理演算ユニット（ＡＬＵ）、乗算器、累算器の３種の演算器からなるとする。
また、簡単化のため、各演算器は１クロックサイクルで演算を完了するものとする。
したがって、このＤＳＰは、１クロックサイクルで最大１２演算（例えば、４加算、４乗算、４累算）を実行することができる。
さらに、このＤＳＰは、演算器へデータを供給あるいは演算器からのデータを格納するためのデータメモリをチップ内あるいはチップ外に持つとする。
【０００６】
最初に、上記の前提の下で、最も自由度の高い演算パイプラインを実現する構成について述べる。
図２０（Ａ）〜（Ｄ）に示したように、最も自由度の高い演算パイプラインは、データメモリをパイプラインレジスタとみなし、ソフトウェアにより演算パイプライン処理（ソフトウェア・パイプライニングと呼ばれる）を行うことにより実現できる。このとき、各々の演算器はデータメモリを介してのみ結合されている。なお、図２０（Ａ）〜（Ｄ）はそれぞれ、４個の並列に設けられた演算処理ユニットの動作形態を示す。
したがって、データメモリは、１クロックサイクル毎にすべての演算器の入力に対して任意のデータを供給し、同時にすべての演算器からの出力のデータを任意のアドレスに格納する必要がある。
データメモリのポート数は、図２０（Ａ）〜（Ｄ）の図解から判るように、演算器への入力のために１６ポート必要で、演算器からの出力のために１２ポート必要である。したがって、合計２８ポートのマルチポートメモリが必要である。このポート数は、現在の半導体回路技術と考え合わせてみて、非現実的であり、事実上実現困難である。
【０００７】
そこで、データメモリをバンク分けして、１バンク当たりのポート数を減らす手法が考えられる。
しかしながら、例えばデータメモリを４バンクに分割したとしても、上記の例では、なおも１バンク当たり７ポートのマルチポートメモリを必要とする。
したがって、アプリケーション・プログラムに応じて演算パイプラインの自由度をある程度限定し、データメモリのポート数の減少を図るアプローチが採られる。
【０００８】
例えば、上述した文献に提案されているように、ＡＬＵ、乗算器、累算器からなる演算パイプラインを４本備え、演算パイプラインの入出力のみをデータメモリに接続する。この場合のデータメモリに要求されるポート数は、演算パイプラインへの入力のために８ポート、演算パイプラインからの出力のために４ポートとなる。
【０００９】
【発明が解決しようとする課題】
ところが、上述した従来のＤＳＰの演算パイプラインの構成では、演算パイプラインの自由度に制約がある。例えば、乗算した後に論理演算を行う演算については、パイプライン演算ができない。この場合、すべてのデータに対して、まず乗算器を用いて乗算のパイプライン処理を行い、次に乗算後のすべてのデータに対して、ＡＬＵを用いて論理演算のパイプライン処理を行う。したがって、乗算時はＡＬＵが使用されず、論理演算時は乗算器が使用されていないため、演算器の使用効率が低下し、性能低下を招く。また、演算パイプライン処理を２回に分けて行うため、演算パイプラインの立ち上げ時の初期設定が２回必要となる。
さらに、上述した従来のＤＳＰにおいては、１回目の演算パイプライン処理が完了した時点で中間結果を格納する必要があるので、データメモリ容量が増大する。
【００１０】
画像コーデックの要素処理では、上記の例のように乗算した後に論理演算を行う演算の他に、乗算を連続して行う演算や、乗算した結果同士を加算する演算等が必要となる。このような演算のそれぞれについて、上述した問題と同様の問題が発生する。
【００１１】
また、上述した従来のＤＳＰの演算パイプライン構成では、本出願人による、特許出願、特願平４年３３８１８３号、「２次元８ｘ８離散コサイン変換回路および２次元８ｘ８離散コサイン逆変換回路」において提案するような高速演算アルゴリズムにおける、バタフライ演算（加算および減算）と乗加算の演算パイプラインの構成を実現できない。
この先行する特許出願は、２次元８ｘ８離散コサイン変換、または、２次元８ｘ８離散コサイン逆変換を行うに際して、行列分解を適用して演算処理するものであるが、その詳細は、図５および図６を参照して後述する。
【００１２】
上記のように、演算パイプライン構成ができない理由としては、データメモリのポート数の制約上、バタフライ演算（従来例では２演算ユニットを使用）を行っているときには乗加算を並列に行えないためである。よって、バタフライ演算と乗加算は逐次的に実行されるので、上記特許出願において提案したような理想的な演算パイプライン構成と比較して、性能は著しく低下する。
【００１３】
【課題を解決するための手段】
上述した課題を解決するために、本発明では、ビデオ信号処理を行うディジタルシグナルプロセッサ（ＤＳＰ）、つまり、適応形ビデオ信号演算処理装置において、算術論理演算ユニット（ＡＬＵ）、乗算器、累算器からなる演算ユニットを複数有し、これらの演算ユニット内の演算器の接続形態および演算ユニット間の接続形態を適宜切り替えることにより、画像コーデック処理における
離散コサイン変換／離散コサイン逆変換（ＤＣＴ／ＩＤＣＴ）
量子化／逆量子化
動きベクトル検出
動き補償（仮想画素生成、予測画素生成）
フィルタ（内積演算）
画像加算、画像差分
等の要素処理の各々に適応した演算パイプラインを実現する構造可変な演算パイプラインを設ける。
【００１４】
したがって、本発明によれば、離散コサイン変換／離散コサイン逆変換、量子化／逆量子化、動きベクトル検出、動き補償、内積演算、画像データ加算および画像データ差分処理などの画像圧縮符号化／伸長復号化処理を、ｍｘｎの大きさのブロックの画像データについて、適応的に行う演算処理装置であって、
それぞれが、加算、減算、各種論理演算、大小比較、差分絶対値演算、バタフライ加算・減算処理を行う拡張算術論理演算ユニット、該拡張算術論理演算ユニットの後段に設けられた第１の内部パイプラインメモリ、該第１の内部パイプラインメモリの後段に設けられた乗算ユニット、該乗算ユニットに係数を提供する係数メモリ、該乗算ユニットに後段に設けられた第２の内部パイプラインメモリ、該第２の内部パイプラインメモリの後段に設けられた累積演算ユニット、該累積演算ユニットに後段に設けられた第３の内部パイプラインメモリを有する、複数の並列に設けられた演算ユニット、
これら複数の並列に設けられた演算ユニットのうち、隣接する演算ユニットを接続するように配設された相互接続パイプラインメモリ、および、
前記複数の演算ユニットに入力データを選択的に印加するデータセレクタ
を有し、
前記演算ユニット内において、前記拡張算術論理演算ユニット、前記乗算ユニット、前記累積演算ユニットが、パイプライン処理動作を行い、
前記拡張算術論理演算ユニットは、第１の入力データの極性を反転する正負反転器、該正負反転器の後段に設けられ、前記第１の入力データまたは前記極性反転された第１のデータを選択的に出力する第１のデータセレクタ、該第１のデータセレクタの選択出力データおよび第２の入力データとを加算する加算器、前記第１の入力データから前記第２の入力データを減じる減算器、前記第１の入力データと前記第２のデータとの、論理和、論理積、排他的論理和、否定などの論理処理を行う論理演算器、前記加算器および前記減算器の出力を入力して正負判定を行う正負判定器、前記加算器、前記減算器、および、前記正負判定器の出力を入力し、選択的に出力する第２のデータセレクタ、該第２のデータセレクタに接続された第１の出力端子、および、前記減算器に接続された第２の出力端子を有し、加算、減算、各種論理演算、大小比較、差分絶対値演算、バタフライ加算・減算処理のいずれかの処理内容に応じて、前記正負反転器と、前記第１のデータセレクタと、前記加算器と、前記減算器と、前記論理演算器と、前記正負判定器と、前記第２のデータセレクタとを組み合わせた回路を構成可能であり、
前記相互接続パイプラインメモリを介して隣接する演算ユニットを結合し、かつ、ビデオ信号処理の内容に応じて前記演算ユニット内の内部パイプラインメモリを選択して所定のデータ流れが形成される演算パイプライン回路を有する、
適応形ビデオ信号演算処理装置が提供される。
【００１５】
好適には、前記演算ユニット内において、前記拡張算術論理演算ユニット、前記乗算ユニット、前記累積演算ユニットが、パイプライン処理動作を行う。
【００１７】
【作用】
上記の構成によれば、算術論理演算ユニット（ＡＬＵ）、乗算器、累算器からなる演算ユニットを複数有し、これらの演算ユニット内の演算器の接続形態および演算ユニット間の接続形態を適宜切り替えることにより、画像コーデックの各要素処理を並列にパイプライン処理できる。
【００１８】
好適には、前記適応形ビデオ信号演算処理装置は、単一の命令ストリームで多重のデータストリーム処理を行う、「単一命令ストリーム・多重データストリーム：ＳＩＭＤ」制御方式で動作する。
【００１９】
離散コサイン変換処理用および離散コサイン逆変換処理用を行う場合には、前記複数の演算ユニットの初段の演算ユニットに、離散コサイン変換処理用データを入力する端子が設けられ、前記複数の演算ユニットの最終段の演算ユニットに、離散コサイン逆変換処理用データを出力する端子が設けられる。
ｍｘｎ画像データをブロックとして、バタフライ演算およびパイプラインメモリ処理を複数回数行って離散コサイン変換処理を行う際には、前記離散コサイン変換処理用データを前記最終段の演算ユニットを除く複数の演算ユニット内の拡張算術論理演算ユニットに入力し、該拡張算術論理演算ユニットにおける処理結果を隣接する前記相互接続パイプラインメモリに出力し、全ての演算ユニット内の乗算ユニットに最終段の相互接続パイプラインメモリのデータを入力し、その乗算結果を前記累積ユニットにおいて累積させる。
【００２０】
また、ｍｘｎ画像データをブロックとして、パイプラインメモリ処理およびバタフライ演算を複数回数行って離散コサイン逆変換処理を行う際には、前記離散コサイン逆変換用データを全ての演算ユニット内の乗算ユニットに入力し、その乗算結果を前記累算ユニットにおいて累積させ、
その出力を前記初段の演算ユニットを除く複数の演算ユニット内の拡張算術論理演算ユニットに入力し、該拡張算術論理演算ユニットにおける処理結果を隣接する相互接続パイプラインメモリに出力する。
【００２１】
量子化処理を行う際には、隣接する演算ユニット内の第１の演算ユニットの乗算ユニットの出力端子を第２の演算ユニットの乗算ユニットの入力端子に接続し、該第２の乗算ユニットの乗算結果をその後段の累積ユニットに入力し、前記第１の乗算ユニットに量子化対象のデータを入力する。
【００２２】
逆量子化処理を行う際には、隣接する演算ユニット内の第１の演算ユニットの乗算ユニットの出力端子を第２の演算ユニットの乗算ユニットの入力端子に接続し、該第２の乗算ユニットの乗算結果をその後段の累積ユニットに入力し、第１の演算ユニットに逆量子化対象のデータおよび定数を入力し、その演算結果を第１の乗算ユニットに入力する。
【００２３】
動きベクトル検出処理の際には、全ての演算ユニット内の拡張算術論理演算ユニットを累積演算ユニットに接続し、前記拡張算術論理演算ユニットに動きベクトル検出対象の２つのデータを入力する。
【００２４】
動き補償における仮想画素生成処理の際には、全ての演算ユニット内の拡張算術論理演算ユニットを累積演算ユニットに接続し、前記拡張算術論理演算ユニットに動き補償における仮想画素生成対象の２つのデータを入力する。
【００２５】
動き補償における予測画素生成処理の際には、隣接する演算ユニットの一方の乗算ユニットの出力を他方の拡張算術論理演算ユニットの一方の入力端子に印加し、他方の乗算ユニットの出力を該他方の拡張算術論理演算ユニットの他方の入力端子に印加し、該他方の拡張算術論理演算ユニットの演算結果を他方の累積ユニットにおいて累積させる。
【００２６】
内積演算処理の際には、全ての演算ユニット内の乗算ユニットに内積対象のデータを入力し、該乗算結果を対応する累積ユニットにおいて累積する。
【００２７】
画像データ加算処理の際、または、画像データ減算処理の際には、
全ての演算ユニット内の拡張算術論理演算ユニットに処理対象のデータを入力し、該処理結果を出力する。
【００２８】
【実施例】
以下、図面を参照し、本発明の実施例の適応形ビデオ信号演算処理装置について詳述する。
本発明の実施例においても、従来技術と同様に、４組の演算ユニットが単一の命令流により並列動作する、上記文献において提案されている「単一命令ストリーム・多重データストリーム：ＳＩＭＤ」制御方式のＤＳＰを考える。
前提として、各演算ユニットは、加算、減算および論理演算を行うＡＬＵ、乗算器、累算器の３種の演算器からなるとする。また、簡単のため、各演算器は１クロックサイクルで演算を完了するものとする。したがって、このＤＳＰは、１クロックサイクルで最大１２演算を実行することができる。さらに、このＤＳＰは演算器にデータを供給し、また、演算器からのデータを格納するためのデータメモリをチップ内あるいはチップ外に持つとする。
【００２９】
以下、演算ユニットの構成を述べたあと、画像コーデックの要素処理における演算ユニットの動作を説明する。
なお、ここで例示する画像コーデックの要素処理は、主にＭＰＥＧで使用される要素処理である。
（１）演算ユニットの構成
図１に、４組の演算ユニット１〜４間の結合形態を示す。図１では、データメモリは図示していない。
実際には、データ入力端子（Ｘｉｎ０〜Ｘｉｎ３）１１〜１４、および、データ入力端子（Ｙｉｎ０〜Ｙｉｎ３）２１〜２４、および、データ出力端子（Ｏｕｔ１〜Ｏｕｔ３）３１〜３４は、何らかの相互結合網を介してデータメモリ（図示せず）に接続されている。
ここでは簡単のため、データメモリは、上記８個のデータ入力端子１１〜１４、２１〜２４に１クロックサイクル毎にデータを供給でき、同時に上記４個のデータ出力端子３１〜３４からのデータを１クロックサイクル毎に書き込むことができるとする。すなわち、演算ユニット１〜４とデータメモリ（図示せず）とは、上記のデータ転送能力を備えた相互結合網により結合されているとする。
また、演算ユニット１〜４間を結合するメモリ（以下、相互接続パイプラインメモリと呼ぶ）０（５）、１（６）、２（７）や、パラレル−シリアル変換器９、シリアル−パラレル変換器１０、データセレクタ８，４１〜４４は、後述する離散コサイン変換／離散コサイン逆変換（ＤＣＴ／ＩＤＣＴ）の高速演算アルゴリズムにおけるマクロな演算パイプライン構成を実現する際に必要となる。
なお、図１に示したＤＣＴ入力端子５１およびＩＤＣＴ出力端子５２についても、相互結合網（図示せず）を介してデータメモリ（図示せず）に接続されており、１クロックサイクル毎のデータ入出力が可能となっている。
【００３０】
図２および図３に演算ユニットの内部構成を示す。
図２は演算ユニット０（１）および演算ユニット２（３）の内部構成図であり、図３が演算ユニット１（２）および演算ユニット３（４）の内部構成図である。
図２および図３に示すように、演算ユニット内では、加算、減算、論理演算および後述するバタフライ演算等の演算を行う拡張算術論理演算ユニット（ＥＡＬＵ）６１、係数メモリ６３、乗算器６２、累算とシフト演算を行うシフト機能付き累算器６４、さらには入力端子（Ｘｉｎｋ）１ｋ（ｋはｋ番目を示す）および（Ｙｉｎｋ）２ｋ、および、出力端子（Ｏｕｔｋ）３ｋが、データセレクタ７１〜７５を介して相互に結合されている。簡単化のため、これらの演算器は、全て１クロックサイクルで演算を完了するものとする。したがって、演算器６１、６２、６４の後段に設けられている内部パイプラインメモリ（図示省略）が存在する。
このような演算器６１、６２、６３および内部パイプラインメモリの結合形態を採ることにより、データセレクタ７１〜７５の設定に従って、内部パイプラインメモリを介して、演算器６１、６２、６４間のデータパスを変化させることが可能となる。よって、この演算ユニットは、１〜３段の構造可変な演算パイプライン構成を採りうる。
【００３１】
図２に示した演算ユニットと図３に示した演算ユニットとの相違は、図３に示した演算ユニットには、データセレクタ７１および７３に第３の入力データが印加される構成になっていることである。
【００３２】
図４に拡張算術論理演算ユニット（ＥＡＬＵ）６１の構成を示す。
ＥＡＬＵ６１は、正負反転器３０１、データセレクタ３０６、加算器３０２、減算器３０３、論理演算器３０４、正負判定器３０５、データセレクタ３０７を有する。
このＥＡＬＵ６１は、通常のＡＬＵの基本機能である加算、減算、論理演算（否定、論理和、論理積、排他的論理和等）の他に、大小比較演算ｍｉｎ（Ｘ，Ｙ）、ｍａｘ（Ｘ，Ｙ）、差分絶対値演算｜Ｘ−Ｙ｜、バタフライ演算（２入力について加算と減算を同時に行う）を拡張機能として備える。
これらの基本機能および拡張機能は、上述した各種演算器３０１、３０２、３０３、３０４および３０５を適切に結合することによって実現される。
以下、上記の基本機能および拡張機能をＥＡＬＵ６１が各種演算器を用いていかに実現するかを述べる。
【００３３】
加算
入力端子３１１および３１２に印加された２入力データＸおよびＹの加算は加算器３０２を用いて実現する。
入力データＸについては、正負反転器３０１を経由しないデータＸが加算器３０２に印加されるように、予めデータセレクタ３０６を設定する。これにより、加算器３０２からは加算結果（Ｘ＋Ｙ）が出力される。データセレクタ３０７は、加算器３０２の加算出力をＥＡＬＵ６１の出力として、Ａ側出力端子３１３から出力する。
【００３４】
減算
入力端子３１１および３１２に印加された２入力データ（Ｘ−Ｙ）の演算は減算器３０３を用いて実現する。
減算器８３からは減算結果（Ｘ−Ｙ）が出力される。この減算結果はＢ側出力端子３１４から出力される。
【００３５】
論理演算
入力端子３１１および３１２に印加された２入力データ（Ｘ，Ｙ）の論理演算は論理演算器３０４を用いて実現する。
論理演算器３０４は、否定、論理和、論理積、排他的論理和などの論理演算を行い、この演算結果が、データセレクタ３０７を介して、Ａ側出力端子３１３からＥＡＬＵ６１の結果として出力される。
【００３６】
大小比較演算：ｍｉｎ（Ｘ，Ｙ），ｍａｘ（Ｘ，Ｙ）
入力端子３１１および３１２に印加された２入力データ（Ｘ，Ｙ）の大小比較は、正負反転器３０１、加算器３０２、減算器３０３および正負判定器３０５を用いて行う。
入力データＸは正負反転器３０１で反転され、反転された（−Ｘ）がデータセレクタ３０６を介して加算器３０２に印加される。これにより、加算器３０２から減算結果（Ｙ−Ｘ）が出力される。一方、減算器３０３において減算（Ｘ−Ｙ）の演算が行われる。加算結果（Ｙ−Ｘ）および減算結果（Ｘ−Ｙ）が正負判定器３０５に印加されて、入力データＸとＹとの大小比較判定が行われる。
正負判定器３０５は下記の判定基準に従って、大小判定を行う。
１．最小値：ｍｉｎ（Ｘ，Ｙ）
（Ｙ−Ｘ）≧０とき、最小値＝Ｘ
（Ｙ−Ｘ）＜０とき、最小値＝Ｙ
２．最大値：ｍａｘ（Ｘ，Ｙ）
（Ｘ−Ｙ）≧０とき、最大値＝Ｙ
（Ｘ−Ｙ）＜０とき、最大値＝Ｘ
ただし、最小値と最大値とをを同時に出力はできない。データセレクタ３０７は、正負判定器３０５の出力をＥＡＬＵ６１の出力として、Ａ側出力端子３１３から出力する。
【００３７】
差分絶対値演算｜Ｘ−Ｙ｜
入力端子３１１および３１２に印加された２入力データ（Ｘ，Ｙ）の差分絶対値演算は、正負反転器３０１、加算器３０２、減算器３０３および正負判定器３０５を用いて行う。
入力データＸについては正負反転器３０１で極性反転された−Ｘがデータセレクタ３０６から加算器３０２に選択出力されるように、予めデータセレクタ３０６を設定しておく。加算器３０２は加算（Ｙ−Ｘ）を行い、減算器３０３は減算（Ｘ−Ｙ）を行う。これらの演算結果が正負判定器３０５に入力される。正負判定器３０５は、下記の差分絶対値演算を行う。
（Ｙ−Ｘ）≧０とき、差分絶対値＝Ｙ−Ｘ
（Ｘ−Ｙ）＜０とき、差分絶対値＝Ｘ−Ｙ
データセレクタ３０７は上記演算された差分絶対値をＡ側出力端子３１３から出力する。
【００３８】
バタフライ演算
入力端子３１１および３１２に印加された２入力データ（Ｘ，Ｙ）についてのバタフライ演算は、加算器３０２および減算器３０３を用いて実現する。
入力データＸが正負反転器３０１を経由しないで加算器３０２に印加されるように、予めデータセレクタ３０６を設定しておく。加算器３０２は加算（Ｘ＋Ｙ）を行い、減算器３０３は減算（Ｘ−Ｙ）を行う。データセレクタ３０７が加算器３０２の出力をＥＡＬＵ６１の出力としてＡ側出力端子３１３から出力すると同時に、減算器３０３の減算結果がＢ側出力端子３１４から出力される。
このバタフライ演算の場合のみ、ＥＡＬＵ６１は２入力２出力の演算器として動作する。上述した他の演算においては、ＥＡＬＵ６１は２入力１出力の演算器として動作する。
【００３９】
以下、ＤＣＴ／ＩＤＣＴ、量子化などの画像コーデックの各要素処理における演算ユニットの動作を個別的に説明する。
離散コサイン変換／離散コサイン逆変換（ＤＣＴ／ＩＤＣＴ）
離散コサイン変換／離散コサイン逆変換（ＤＣＴ／ＩＤＣＴ）の要素処理において、本発明の実施例における演算ユニットでは、本出願人が先に出願した、特願平４年３３８１８３号の明細書及び図面で提案するような高速演算アルゴリズムに適応するバタフライ演算（加算および減算）と乗加算のマクロな演算パイプラインの構成を以下のように実現する。
【００４０】
図５は８ｘ８ＤＣＴの演算パイプライン構成の概略図を示し、図６は８ｘ８ＩＤＣＴの演算パイプライン構成の概略図を示す。
これらの演算パイプラインの処理単位は８ｘ８の画像ブロック（６４画素）であり、パイプラインメモリ１３１〜１３３を介した４段の演算パイプライン構成となる。したがって、通常の画素単位で１クロックサイクル毎にパイプライン処理を行う演算パイプラインとは異なり、６４クロックサイクル毎にパイプライン処理を行うことから、マクロな演算パイプラインと考えられる。
【００４１】
以下、８ｘ８ＤＣＴを例にとって上記の演算パイプラインの高速演算アルゴリズムを簡単に説明する。
前述の特許出願、特願平４年３３８１８３号において提案したような行列分解により、８ｘ８ＤＣＴは、８×８の画像ブロック（６４画素）に対して１６５回のバタフライ演算（加算１６５回および減算１６５回）を行い、さらに、２２０回の乗加算（乗算２２０回および累算２２０回）を行うことにより実現できる。したがって、図５に示すような４段の演算パイプラインの構成、つまり、３個のバタフライ演算器１０１〜１０３と４個の乗加算器１１１による回路構成を採ることにより、６４クロックサイクル周期（理想的には５５クロックサイクル）で演算パイプライン処理を行い、８×８ＤＣＴを計算することが可能となる。
また、８×８ＩＤＣＴについても、乗加算とバタフライ演算の順序が入れ替わるだけで、演算量や演算パイプライン段数は変わらない。
なお、上述した出願では、乗加算器数を３個にするために、さらに乗加算回数を減らす工夫を行っているが、本発明の実施例においては乗加算器数は４個であると仮定しているため、この工夫は必要ない。
【００４２】
図７（Ａ）〜（Ｄ）に、本発明の実施例における演算ユニットを用いて、上述の８×８ＤＣＴの演算パイプライン構成を実現した場合の演算器およびメモリの結合形態（データパス）を示す。図７（Ａ）〜（Ｄ）はそれぞれ、４系統の演算ユニットの動作形態を示す。
図７（Ａ）〜（Ｄ）および図１に示すように、演算ユニット０（１），１（２），２（３）内のＥＡＬＵ６１をメモリ０（５），１（６），２（７）、つまり、パイプラインメモリ５，６，７を介してパイプライン接続する。さらに、演算ユニット２（３）のＥＡＬＵ６１の出力を、シリアル−パラレル変換器１０、データセレクタ４１〜４４を介して、４個の乗算器６２に接続し、各々の乗算器６２の出力をシフト機能付き累算器６４にパイプライン接続する。なお、この時のＥＡＬＵ６１は、前述したＥＡＬＵとしての拡張機能であるバタフライ演算を行うため、２入力２出力となっている。
このような演算器およびメモリの結合形態を採ることにより、図５に示すようなマクロな演算パイプライン構成を実現する。
【００４３】
また、図８（Ａ）〜（Ｄ）に、本発明の実施例における演算ユニットを用いて、上述の８×８ＩＤＣＴの演算パイプライン構成を実現した場合の演算器およびメモリの結合形態（データパス）を示す。図８（Ａ）〜（Ｄ）はそれぞれ、４系統の演算ユニットの動作形態を示す。
図８（Ａ）〜（Ｄ）および図１に示すように、各演算ユニットの４個の乗算器６２を各々シフト機能付き累算器６４にパイプライン接続する。さらに、すべてのシフト機能付き累算器６４の出力を、パラレル−シリアル変換器９、データセレクタ８を介して、メモリ０（５）に接続する。また、演算ユニット１（２），２（３），３（４）のＥＡＬＵ６１をメモリ０（５），１（６），２（７）、つまり、パイプラインメモリ５，６，７を介してパイプライン接続する。なお、この時のＥＡＬＵ６１は、前述したＥＡＬＵ６１の拡張機能であるバタフライ演算を行うため、２入力２出力となっている。
このような演算器およびメモリの結合形態を採ることにより、図６に示すようなマクロな演算パイプライン構成を実現する。
【００４４】
量子化／逆量子化処理
（イ）量子化
画像コーデックの量子化処理においては、下式１のように乗算を連続して行い、さらにシフト演算を行う演算パターンが存在する。これは、量子化処理において最も複雑な演算パターンである。
【００４５】
【数１】
0003546437.tif 000002
【００４６】
ただし、Ｘは量子化前の画素値であり、
Ｙは量子化後の画素値を表し、
Ｗは量子化行列の係数を示し、
ＱＰは量子化スケールパラメータを表す。
【００４７】
図９（Ａ）〜（Ｄ）に本発明の実施例における演算ユニットを用いて上式の演算を実現した場合の演算器の結合形態（データパス）を示す。図９（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す。
図９（Ａ）〜（Ｄ）のように、２個の乗算器６２およびシフト機能付き累算器６４をパイプライン接続するデータパスを実現することにより、上式の演算パターンを分割処理することなく１本の演算パイプラインで処理できる。この量子化処理の演算パターンにおいて、本発明の実施例における演算ユニットの構成では、図９（Ａ）〜（Ｄ）に示すように３段の演算パイプラインを２本実現できる。このような演算パイプライン構成を採ることにより、画像ブロック内の全画素に対する量子化を２並列にパイプライン処理できる。
【００４８】
ロ）逆量子化
画像コーデックの逆量子化処理においては、下式２のようにシフトおよび加算を行ったあと、乗算を連続して行い、さらに、シフト演算を行う演算パターンが存在する。これは、逆量子化処理において最も複雑な演算パターンである。
【００４９】
【数２】
0003546437.tif 000003
【００５０】
ただし、Ｘは量子化前の画素値であり、
Ｙは量子化後の画素値を表し、
Ｋは逆量子化時に必要となる定数を表し、
（Ｋ＝  ０、１または−１）
Ｗは量子化行列の係数であり、
ＱＰ量子化スケールパラメータを表す。
【００５１】
図１０（Ａ）〜（Ｄ）に本発明の一実施例における演算ユニットを用いて、上式の演算を実現した場合の演算器の結合形態（データパス）を示す。図１０（Ａ）〜（Ｄ）はそれぞれ、４系統の演算ユニットの動作形態を示す。
図１０（Ａ）〜（Ｄ）に示すように、ＥＡＬＵ６１と２個の乗算器６２およびシフト機能付き累算器６４をパイプライン接続するデータパスを構成することにより、上式の演算パターンを分割することなく１本の演算パイプラインで実現できる。なお、シフトおよび定数加算は、ＥＡＬＵ６１で１クロックサイクルで実行可能とする。この逆量子化処理の演算パターンにおいて、本発明の実施例における演算ユニットの構成では、図１０（Ａ）〜（Ｄ）に示すように４段の演算パイプラインを２本実現できる。このような演算パイプライン構成を採ることにより、画像ブロック内の全画素に対する逆量子化を２並列にパイプライン処理できる。
【００５２】
動きベクトル検出
画像コーデックの動きベクトル検出処理においては、下式のような差分絶対値和演算が動きベクトル候補の数だけ必要となる（ただし、探索アルゴリズムにブロックマッチングの全探索を採用した場合）。
【００５３】
【数３】
0003546437.tif 000004
【００５４】
ただし、Ｘは動きベクトル探索の基準となる画像ブロック（参照ブロックと呼ばれる）の画素値を表し、
Ｙは動きベクトル探索の対象となる画像ブロック（候補ブロックと呼ばれる）の画素値を表す。
【００５５】
図１１（Ａ）〜（Ｄ）に本発明の一実施例における演算ユニットを用いて、上式の演算を実現した場合の演算器の結合形態（データパス）を示す。図１１（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す。
図１１（Ａ）〜（Ｄ）のように、ＥＡＬＵ６１およびシフト機能付き累算器６４をパイプライン接続するデータパスを構成することにより、上式の差分絶対値和演算を分割することなく１本の演算パイプラインで実現できる。なお、差分絶対値演算には、前述したＥＡＬＵ６１の拡張機能である差分絶対値演算機能を用いる。この動きベクトル検出処理の差分絶対値和演算において、本発明の実施例における演算ユニットの構成では、図１１（Ａ）〜（Ｄ）に示すように２段の演算パイプラインを４本実現できる。
このような演算パイプライン構成を採ることにより、全候補ブロックに対する動きベクトル検出を４並列にパイプライン処理できる。
【００５６】
動き補償（仮想画素生成、予測画素生成）
画像コーデックにおける動き補償処理は、動きベクトルの値やブロックのモードにより、様々な処理に場合分けされる。このうち、最も複雑な演算を行う場合について考える。
このとき、動き補償処理は、仮想画素生成および予測画素生成の２つの処理に分けられる。
以下、本発明の実施例における演算ユニットにおいて、上記２つの処理のそれぞれに適応する演算パイプラインの構成をどのように実現するかを説明する。
【００５７】
（イ）仮想画素生成
仮想画素生成処理は、１／２画素精度の動きベクトルに伴い、画素間の補間を行って仮想画素を生成する処理である。
図１２に仮想画素の生成規則を示す。
図１２から分かるように、最も複雑な仮想画素生成処理は、近傍４画素から中央の１仮想画素を生成する場合である。
【００５８】
【数４】
0003546437.tif 000005
【００５９】
ただし、ａは仮想画素を表し、
ｘ，ｙ，ｚ，ｗは、近傍の４画素を表す。
【００６０】
図１３（Ａ）〜（Ｄ）に本発明の実施例における演算ユニットを用いて、上式の演算を実現した場合の演算器の結合形態（データパス）を示す。図１３（Ａ）〜（Ｄ）はそれぞれ、４系統の演算ユニットの動作形態を示す。
図１３（Ａ）〜（Ｄ）のように、ＥＡＬＵ６１およびシフト機能付き累算器６４をパイプライン接続するデータパスを構成することにより、上式の演算パターンを分割することなく１本の演算パイプラインで処理できる。
この仮想画素生成処理において、本発明の一実施例における演算ユニットの構成では、図１３（Ａ）〜（Ｄ）に示すように２段の演算パイプラインを４本実現できる。
このような演算パイプライン構成を採ることにより、画像ブロック内の全画素に対する仮想画素生成を４並列にパイプライン処理できる。
【００６１】
（ロ）予測画素生成
予測画素生成処理は、単方向（前向きあるいは後ろ向き）動き補償予測か両方向動き補償予測かのモードにより異なる。
単方向動き補償予測の場合は、単に動きベクトルに従ってフレームメモリにアクセスし、当該画像ブロックを得ればよい。
ところが、両方向動き補償予測の場合は、前向きおよび後ろ向きの２種の動きベクトルに従って２つのフレームメモリからそれぞれ画像ブロックを得、さらにそれらの画素を時間的距離によって平均化して予測値を得る。
【００６２】
【数５】
0003546437.tif 000006
【００６３】
ただし、ａは両方向動き補償予測値を示し、
ｘ，ｙはそれぞれ前向きおよび後ろ向きの動き補償予測値を示し、
Ａは２つの画像ブロックの時間的距離によって決定するパラメータである。
【００６４】
図１４（Ａ）〜（Ｄ）に本発明の一実施例における演算ユニットを用いて、上式の演算を実現した場合の演算器の結合形態（データパス）を示す。図１４（Ａ）〜（Ｄ）はそれぞれ、４系統の演算ユニットの動作形態を示す。
図１４（Ａ）〜（Ｄ）に示すように、２個の乗算器６２の出力をＥＡＬＵ６１の入力とし、さらにシフト機能付き累算器６４をパイプライン接続するデータパスを構成することにより、上式の演算パターンを分割することなく１本の演算パイプラインで実現できる。
この予測画素生成処理において、本発明の実施例における演算ユニットの構成では、図１４（Ａ）〜（Ｄ）に示すように３段の演算パイプラインを２本実現できる。
このような演算パイプライン構成を採ることにより、画像ブロック内の全画素に対する予測画素生成を２並列にパイプライン処理できる。
【００６５】
フィルタ（内積演算）
画像コーデックに限らず、フィルタ処理は画像処理の基本的な要素処理である。ここでは、画像ブロック内の全画素に対して１次元フィルタ処理を行う場合を考える。
フィルタ処理においては下式のような内積演算が必要となる。
【００６６】
【数６】
0003546437.tif 000007
【００６７】
ただし、ｃはフィルタ係数を示し、
ｘは画像ブロック内の画素を示す。
【００６８】
図１５（Ａ）〜（Ｄ）に本発明の実施例の演算ユニットを用いて上式の演算を実現した場合の演算器の結合形態（データパス）を示す。図１５（Ａ）〜（Ｄ）はそれぞれ、４系統の演算ユニットの動作形態を示す。
図１５（Ａ）〜（Ｄ）に示すように、乗算器６２およびシフト機能付き累算器６４をパイプライン接続するデータパスを構成することにより、上式の内積演算を分割することなく１本の演算パイプラインで実現できる。このフィルタ処理において、本発明の実施例における演算ユニットの構成では、図１５（Ａ）〜（Ｄ）に示すように２段の演算パイプラインを４本実現できる。
このような演算パイプライン構成を採ることにより、画像ブロック内の全画素に対するフィルタ処理を４並列にパイプライン処理できる。
【００６９】
画像加算、画像差分
画像加算および画像差分もまた、画像コーデックに限らず、画像処理の基本的な要素処理である。
ここでは、画像ブロック間で画像加算あるいは画像差分を計算する場合を考える。
図１６（Ａ）〜（Ｄ）に本発明の一実施例における演算ユニットを用いて、画像加算あるいは画像差分を実現した場合の演算器の結合形態（データパス）を示す。図１６（Ａ）〜（Ｄ）はそれぞれ、４系統の演算ユニットの動作形態を示す。
本発明の実施例における演算ユニットの構成では、図１６（Ａ）〜（Ｄ）に示すようにＥＡＬＵ６１を用いた１段の演算パイプラインを４本実現できる。このような演算パイプライン構成を採ることにより、画像ブロック内の全画素に対する画像加算あるいは画像差分を４並列にパイプライン処理できる。
【００７０】
以上の実施例は、適応形ビデオ信号の代表的な処理について述べたが、本発明き適応形ビデオ信号演算処理装置においては、上述した信号処理例に限定されず、上記同様の他の信号処理にも適用できる。
【００７１】
【発明の効果】
本発明によれば、画像コーデックの要素処理における、乗算した後に論理演算を行う演算、乗算を連続して行う演算、あるいは、乗算した結果同士を加算する種々の演算を適応的に１つの適応形ビデオ信号演算処理装置で実現できる。
また、本発明の適応形ビデオ信号演算処理装置は、「単一命令ストリーム・多重データストリーム：ＳＩＭＤ」制御方式に基づく、１本の演算パイプラインを用いた１回のパイプライン処理で実現できる。
したがって、従来の構成と比較して、本発明の適応形ビデオ信号演算処理装置は異なる演算器を用いる演算を並列に実行できるため、演算器の使用効率は低下しない。
また、本発明の適応形ビデオ信号演算処理装置は演算パイプラインの立ち上げ時の初期設定も１回でよい。さらには、本発明の適応形ビデオ信号演算処理装置は中間結果を格納する必要はないので、データメモリの容量は増大しない。
【００７２】
また、本発明の適応形ビデオ信号演算処理装置はバタフライ演算器３個と乗加算器をパイプライン・メモリで接続したマクロな演算パイプライン構成を実現可能としているため、前述の特願平４年３３８１８３号出願（平成４年１１月２５日出願）にて提案したような回路構成による、ＤＣＴ高速演算アルゴリズムにおけるバタフライ演算と乗加算の演算パイプラインの構成が実現可能となる。これにより、本発明の適応形ビデオ信号演算処理装置は、画像コーデックのＤＣＴ／ＩＤＣＴの要素処理における演算器使用効率が従来の構成と比較して大幅に向上し、性能が向上する。
【図面の簡単な説明】
【図１】本発明の実施例による演算ユニットの結合形態を示す適応形ビデオ信号演算処理装置の構成図である。
【図２】本発明の実施例による演算ユニット０，２の構成を示す図である。
【図３】本発明の実施例による演算ユニット１，３の構成を示す図である。
【図４】本発明の実施例による拡張論理演算ユニット（ＥＡＬＵ）の構成を示す図である。
【図５】８×８ＤＣＴの演算パイプライン構成図である。
【図６】８×８ＩＤＣＴの演算パイプライン構成図である。
【図７】本発明の実施例によるＤＣＴ処理時の適応形ビデオ信号演算処理装置の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図８】本発明の実施例によるＩＤＣＴ処理時の適応形ビデオ信号演算処理装置の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図９】本発明の実施例による量子化処理時の適応形ビデオ信号演算処理装置の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図１０】本発明の実施例による逆量子化処理時の適応形ビデオ信号演算処理装置の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図１１】本発明の実施例による動きベクトル検出処理時の適応形ビデオ信号演算処理装置の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図１２】画像コーデックの動き補償処理の仮想画素生成規則を示す図である。
【図１３】本発明の実施例による動き補償における仮想画素生成処理時の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図１４】本発明の実施例による動き補償における予測画素生成処理時の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図１５】本発明の実施例によるフィルタ処理時の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図１６】本発明の実施例による画像加算あるいは画像差分処理時の適応形ビデオ信号演算処理装置の演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【図１７】「単一命令ストリーム・多重データストリーム：ＳＩＭＤ」制御方式のプロセッサの構成図である。
【図１８】演算パイプラインの例を示す図である。
【図１９】図１８の演算パイプライン処理におけるタイムチャートを示すグラフである。
【図２０】最も自由度の高い演算パイプラインの構成を示す図であり、（Ａ）〜（Ｄ）はそれぞれ４系統の演算ユニットの動作形態を示す図である。
【符号の説明】
Ａ１・・算術論理演算ユニット（ＡＬＵ）
Ａ２・・乗算器
Ａ３・・係数メモリ
Ａ４・・累算器
１〜４・・本発明の実施例における演算ユニット
５〜７・・相互接続パイプラインメモリ
８・・データセレクタ
９・・パラレル−シリアル変換器
１０・・シリアル−パラレル変換器
１１〜１４，２１〜２４…演算ユニットの入力端子
３１〜３４・・演算ユニットの出力端子
４１〜４４・・データセレクタ
５１・・８ｘ８ＤＣＴ用入力端子
５２・・８ｘ８ＩＤＣＴ用出力端子
６１・・拡張論理演算ユニット（ＥＡＬＵ）
６２・・乗算器
６３・・係数メモリ
６４・・シフト機能付き累算器
７１〜７５・・データセレクタ
３０１・・正負反転器
３０２・・加算器
３０３・・減算器
３０４・・論理演算器
３０５・・正負判定器
３０６，３０７・・データセレクタ
３１１，３１２・・ＥＡＬＵの入力端子
３１３，３１４・・ＥＡＬＵの出力端子
１０１〜１０３・・バタフライ演算器
１１１・・乗加算器
１２１・・シリアル−パラレル変換器
１２２・・パラレル−シリアル変換器
１３１〜１３３・・パイプラインメモリ
１４１・・データメモリ
【図１】
0003546437.tif 000008
【図２】
0003546437.tif 000009
【図３】
0003546437.tif 000010
【図４】
0003546437.tif 000011
【図５】
0003546437.tif 000012
【図６】
0003546437.tif 000013
【図７】
0003546437.tif 000014
【図８】
0003546437.tif 000015
【図９】
0003546437.tif 000016
【図１０】
0003546437.tif 000017
【図１１】
0003546437.tif 000018
【図１２】
0003546437.tif 000019
【図１３】
0003546437.tif 000020
【図１４】
0003546437.tif 000021
【図１５】
0003546437.tif 000022
【図１６】
0003546437.tif 000023
【図１７】
0003546437.tif 000024
【図１８】
0003546437.tif 000025
【図１９】
0003546437.tif 000026
【図２０】
0003546437.tif 000027