(57)【要約】少なくとも差分演算器とローカルメモリとを含む複数のプロセッサ（１０１〜１１６）が第１の制御ユニット（１４０）からの単一命令で動作し、第１の制御ユニット（１４０）から全プロセッサ（１０１〜１１６）へデータを伝送するブロードキャストデータバス（１６０）を備えた第１のＳＩＭＤ型計算機（１００）と、少なくとも乗算器を含む複数のプロセッサ（２０１〜２０６）が第２の制御ユニット（２４０）からの単一命令で動作する１つ以上の第２のＳＩＭＤ型計算機（２００）とを接続し、第１のＳＩＭＤ型計算機（１００）は画像処理における動き検出の処理を行い、１つまたは複数の第２のＳＩＭＤ型計算機（２００）は画像処理におけるＤＣＴ、逆ＤＣＴ、量子化または逆量子化の処理を行う。
2005025230.tif 000002
【特許請求の範囲】
【請求項１】
差分演算器とローカルメモリとを含む複数の第１のプロセッサと、前記第１のプロセッサを制御する第１の制御ユニットと、前記第１の制御ユニットからすべての前記第１のプロセッサへデータを伝送するブロードキャストデータバスと、を有する第１のＳＩＭＤ型計算機と、
乗算器を含む複数の第２のプロセッサと、前記第２のプロセッサを制御する第２の制御ユニットと、を有する一つまたは複数の第２のＳＩＭＤ型計算機と、を備え、
前記第１のＳＩＭＤ型計算機は、前記第１の制御ユニットからの単一命令により複数の前記第１のプロセッサが並列に動作し、画像処理における動き検出の処理を行い、
前記第２のＳＩＭＤ型計算機は、前記第２の制御ユニットからの単一命令により複数の前記第２のプロセッサが並列に動作し、画像処理における離散コサイン変換、逆離散コサイン変換、量子化または逆量子化の処理を行うことを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記第１のＳＩＭＤ型計算機と前記第２のＳＩＭＤ型計算機は、複数のバッファを介して接続され、前記第１のＳＩＭＤ型計算機と前記第２のＳＩＭＤ型計算機は、それぞれパイプライン並行処理を行うことを特徴とする画像処理装置。
【請求項３】
請求項２記載の画像処理装置であって、
前記第２のＳＩＭＤ型計算機が複数の場合に、複数の前記第２のＳＩＭＤ型計算機は、それぞれ複数のバッファを介して接続され、前記第１のＳＩＭＤ型計算機と複数の前記第２のＳＩＭＤ型計算機は、それぞれパイプライン並行処理を行うことを特徴とする画像処理装置。
【請求項４】
請求項２記載の画像処理装置であって、
複数の前記バッファは、前記第１のＳＩＭＤ型計算機の演算結果を前記第２のＳＩＭＤ型計算機内の複数の前記第２のプロセッサへ並列に転送することを特徴とする画像処理装置。
【請求項５】
請求項３記載の画像処理装置であって、
複数の前記バッファは、前段の前記第２のＳＩＭＤ型計算機の演算結果を後段の前記第２のＳＩＭＤ型計算機内の前記第２のプロセッサへ並列に転送することを特徴とする画像処理装置。
【請求項６】
請求項１〜５のいずれか１項に記載の画像処理装置であって、
前記第１のＳＩＭＤ型計算機と１つまたは複数の前記第２のＳＩＭＤ型計算機の間で転送されるデータには、ブロック単位のデータ転送ごとにブロックの属性を示すヘッダ情報が付加されていることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】  本発明は、画像処理装置に関し、特に、ＭＰＥＧ画像圧縮伸張に適用して有効な技術に関するものである。
【背景技術】  本発明者が検討した技術として、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）画像圧縮伸張においては、次の技術が考えられる。
ＩＳＯ／ＩＥＣ１４４９６−２（ＭＰＥＧ４）、ＩＳＯ／ＩＥＣ１３８１８−２（ＭＰＥＧ２）、ＩＳＯ／ＩＥＣ１１１７２−２（ＭＰＥＧ１）などの動画圧縮規格では、デジタル化された画像をブロック分割してブロックごとに動きベクトル検出、離散コサイン変換（ＤＣＴ；Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、量子化、ＡＣ／ＤＣ予測を実施し、ハフマン符号化して画像データを圧縮する。
このうち、動きベクトル検出は、画像フレーム中の１６×１６画素のマクロブロック（シフトブロック）に対して、時間的に前あるいは後の画像フレームのマクロブロック範囲から、現在のフレームと差分がもっとも小さい１６×１６画素の位置を検出する。そして、その位置ベクトルと差分（フレーム差）を用いて、以後のＤＣＴ、量子化、ＡＣ／ＤＣ予測、ハフマン符号化を実施することにより、高動画圧縮が可能となる。
また、圧縮データの伸張処理は、前記の圧縮と逆の手順、すなわち、ハフマン復号化、ＡＣ／ＤＣ予測、逆量子化、逆ＤＣＴおよび動きベクトル情報から補償画を生成することにより実現する。
また、動画圧縮を含めた画像処理は、比較的単純な計算アルゴリズムの反復が多く、同一命令に対するデータ並列性が大きい。そのため、画像処理の高速化にはＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  ｓｔｒｅａｍ；単一命令複数データ流）型並列計算手法が適することが多い。
ＳＩＭＤ型並列計算アーキテクチャの実現例としては、例えば、汎用型ニューロコンピュータがある。このコンピュータのアーキテクチャは、複数のプロセッサと１つの制御系からなり、制御系が全プロセッサへ共通の命令とデータをブロードキャストして動作する。各プロセッサは、ローカルメモリと演算器（乗算器、ＡＬＵ、シフタなど）を備えている。制御系は、書き換え可能なプログラムメモリとグローバルメモリを備えている。そして、制御系から全プロセッサにデータを伝達するブロードキャストデータバスと、アドレス信号で指定する任意１つのプロセッサがトライステートバッファを介して制御系にデータを伝達する共通バスとによって、制御系・プロセッサ間のデータの授受が行われる。
制御系がブロードキャストデータバスを介して全プロセッサに伝達するデータとしては、制御系内のメモリ上のデータ、または制御系が共通バスを介して任意の１つのプロセッサから受け取ったデータのうちどちらかを選択することができる。
また、制御系からの命令は、アドレス信号で指定する１つのプロセッサだけを指定して実行させることも可能である。これにより、制御系は各プロセッサのローカルメモリを初期設定することが可能となり、制御系・プロセッサ間の１対Ｎ（Ｎは任意の自然数）のデータ伝送が可能となる。
汎用型ニューロコンピュータにおいて、制御系からブロードキャストされる単一の命令で制御される複数のプロセッサの個々がニューロン（神経細胞）の模倣単位となる。そして、制御系を介して全プロセッサへブロードキャストされる入力データに対して、各プロセッサが個々に持つローカルメモリ内の重み値データを演算することで、ニューラルネットワークの動作を模倣する。すなわち、制御系のプロブラムを書き換えることによって、バックプロパゲーション（誤差逆伝搬）に代表されるニューロアルゴリズムやその他のニューロアルゴリズムなど、あるいはニューロ以外のアルゴリズムを汎用的に並列計算することが可能となる。
前記汎用型ニューロコンピュータを画像処理における動きベクトル検出に適用すると、複数のプロセッサをシフトブロックの計算単位とすることができる。すなわち、１フレーム前の画像上にある動きベクトル検出範囲のシフトブロック（１６×１６画素の複数）をプロセッサ（複数）のローカルメモリに初期設定する。現フレームの動きベクトル検出画像（１６×１６画素のマクロブロック）を制御系から全プロセッサへブロードキャストする。各プロセッサは、ブロードキャストされたデータとローカルメモリ内のデータとのフレーム差を演算する。制御系は、全プロセッサのフレーム差を比較することで、最小となるプロセッサに設定したシフトブロックの画像位置を動きベクトル位置として検出することができる。
【発明の開示】
ところで、前記のようなＭＰＥＧ画像圧縮伸張の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
ＭＰＥＧ画像圧縮伸張における動きベクトル検出およびＤＣＴ・逆ＤＣＴのための演算処理量は非常に膨大である。動きベクトル検出において、もっとも単純な「動き補償フレーム間符号化」では、１フレーム前のマクロブロックの周り±１５画素が検出範囲とされ、現フレームのマクロブロックとの比較対照となるシフトブロックは９６１個存在する。したがって、ＶＧＡ（画素サイズ；６４０×４８０画素）についての演算量は２７８メガ回以上、１秒間に３０フレームの処理で換算すると８ギガ回／秒必要となる。また、ＤＣＴおよび逆ＤＣＴにおいても、ＶＧＡサイズ毎秒３０フレーム処理換算で０．８ギガ回／秒が必要となる。
以上の処理を半導体集積回路装置の単一の演算器で行う場合、１０ギガオーダの動作周波数が必要となり、そのままデジタルビデオカメラなどの低消費電力で駆動する携帯型家電に実装することは非常に困難である。
また、前記汎用型ニューロコンピュータのアーキテクチャを用いて動き検出を行う場合、各プロセッサのローカルメモリにマクロブロックに対する比較画情報を記憶しておき、マクロブロック情報をブロードキャストし、ローカルメモリ内の情報との差分演算を行えば、各プロセッサで並列動作が実現できる。
また、ＤＣＴ・逆ＤＣＴ処理においては、各プロセッサのローカルメモリにブロック単位の差分情報を記憶しておき、ＤＣＴ・逆ＤＣＴ係数をブロードキャストすることにより、演算の並列化を実現できる。
しかし、上記の動き検出とＤＣＴ処理を１つのＳＩＭＤ型並列計算機のみで実現する場合、動きを検出したプロセッサの差分ブロック情報結果をＤＣＴ処理のために他のプロセッサへ移動する必要が生じ、全体の処理性能が低下する。また、動き検出ではプロセッサ内に差分絶対値演算器が必要であり、ＤＣＴでは乗算器が必要となる。したがって、動き検出とＤＣＴを１つのＳＩＭＤ型並列計算機で処理した場合、差分絶対値演算器と乗算器の両方をプロセッサに内蔵して構成する必要があり、全体のゲート規模が増加する。
そこで、本発明の目的は、ＭＰＥＧ画像圧縮伸張などの画像処理において、回路構成が小規模で、かつ高速に動作させることができる画像処理装置を提供するものである。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
すなわち、本発明による画像処理装置は、少なくとも差分演算器とローカルメモリとを含む複数のプロセッサが第１の制御ユニットからの単一命令で動作し、第１の制御ユニットから全プロセッサへデータを伝送するブロードキャストデータバスを備えた第１のＳＩＭＤ型計算機と、少なくとも乗算器を含む複数のプロセッサが第２の制御ユニットからの単一命令で動作する１つ以上の第２のＳＩＭＤ型計算機とを接続し、第１のＳＩＭＤ型計算機は画像処理における動き検出の処理を行い、１つまたは複数の第２のＳＩＭＤ型計算機は画像処理におけるＤＣＴ、逆ＤＣＴ、量子化または逆量子化の処理を行うものである。
また、上記構成において、第１のＳＩＭＤ型計算機の演算結果は、第２のＳＩＭＤ型計算機内のプロセッサへ、バッファを介して並列に伝送され、プロセッサは、それぞれ画像のブロック単位で並列に処理を行う。
また、ブロック単位のデータ伝送ごとに、ブロックの属性を示すヘッダ情報（ブロックのずれのベクトル情報、Ｉ・Ｐ・Ｂフレーム情報など）を付加することにより、第２のＳＩＭＤ型計算機の各プロセッサは各ヘッダ情報を判別してブロックに適した処理を効率的に行える構成とする。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
（１）ＭＰＥＧ動画圧縮において、動き検出処理およびＤＣＴ・量子化などの処理を各々別のＳＩＭＤ型計算機で処理するため、各処理に最小限必要な演算器およびローカルメモリで構成することができ、それぞれの処理に必要な性能に見合ったプロセッサ数で画像圧縮処理を実現できる。
（２）動き検出やＤＣＴ・量子化などを処理ごとにパイプライン動作で行えるため、性能の向上が図れる。
（３）プロセッサ数が比較的小規模のＳＩＭＤ型計算機の構成で、ＭＰＥＧに代表される動画圧縮・伸張などの画像処理が実時間で処理可能となるため、例えばデジタルビデオカメラなどの低消費電力駆動の携帯型家電に実装可能な半導体集積回路（電子部品）で、従来に比べて画素密度の大きい画像処理機能を実現することが可能となる。
【図面の簡単な説明】  図１は本発明の一実施の形態の画像処理装置の構成を示すブロック図である。
図２は本発明の一実施の形態の画像処理装置に含まれるＳＩＭＤ型計算機１００の内部構成を示すブロック図である。
図３は本発明の一実施の形態の画像処理装置において、ＳＩＭＤ型計算機１００における動き検出処理手順を示す説明図である。
図４は本発明の一実施の形態の画像処理装置において、ＳＩＭＤ型計算機２００におけるＤＣＴ・量子化処理手順を示す説明図である。
図５は本発明の一実施の形態の画像処理装置において、ＳＩＭＤ型計算機３００における逆ＤＣＴ・逆量子化処理手順を示す説明図である。
図６は本発明の一実施の形態の画像処理装置を応用したビューアーシステムの構成を示すブロック図である。
【発明を実施するための最良の形態】  以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には同一の符号を付し、その繰り返しの説明は省略する。
まず、図１により、本発明の一実施の形態の画像処理装置の構成の一例を説明する。図１は本発明の一実施の形態の画像処理装置の構成を示すブロック図である。本実施の形態の画像処理装置は、例えば、画像圧縮システムとされ、ＳＩＭＤ型計算機１００、ＳＩＭＤ型計算機２００、ＳＩＭＤ型計算機３００、バッファ４０１〜４０６，５０１〜５０６，６０１〜６０６などから構成されている。
ＳＩＭＤ型計算機１００は、演算器（例えば差分演算器）とローカルメモリとを含む複数のプロセッサ１０１〜１１６からなるプロセッサアレイ１３０と、制御ユニット１４０などから構成されている。
ＳＩＭＤ型計算機２００は、演算器（例えば乗算器）とローカルメモリとを含む複数のプロセッサ２０１〜２０６からなるプロセッサアレイ２３０と、制御ユニット２４０などから構成されている。
ＳＩＭＤ型計算機３００は、演算器（例えば乗算器）とローカルメモリとを含む複数のプロセッサ３０１〜３０６からなるプロセッサアレイ３３０と、制御ユニット３４０などから構成されている。
ＳＩＭＤ型計算機１００とＳＩＭＤ型計算機２００とは複数のバッファ４０１〜４０６を介して電気的に接続され、ＳＩＭＤ型計算機１００内の制御ユニット１４０の出力が複数のバッファ４０１〜４０６に並列に入力し、バッファ４０１〜４０６の出力がＳＩＭＤ型計算機２００内の複数のプロセッサ２０１〜２０６に並列に入力している。ＳＩＭＤ型計算機２００とＳＩＭＤ型計算機３００とは、複数のバッファ５０１〜５０６を介して電気的に接続され、ＳＩＭＤ型計算機２００内の複数のプロセッサ２０１〜２０６の出力が複数のバッファ５０１〜５０６に並列に入力し、バッファ５０１〜５０６の出力がＳＩＭＤ型計算機３００内の複数のプロセッサ３０１〜３０６に並列に入力している。ＳＩＭＤ型計算機３００内の複数のプロセッサ３０１〜３０６の出力が複数のバッファ６０１〜６０６に入力している。また、バッファ５０１〜５０６の出力は、ＡＣ／ＤＣ予測およびハフマン処理へ、バッファ６０１〜６０６の出力は補償画生成処理へ伝送されている。
ＳＩＭＤ型計算機１００において、プロセッサアレイ１３０内の各プロセッサ１０１〜１１６と制御ユニット１４０とは、命令バス１５０、ブロードキャストデータバス１６０、プロセッサデータ出力共通バス１７０などにより電気的に接続されている。ＳＩＭＤ型計算機２００において、各プロセッサ２０１〜２０６と制御ユニット２４０とは、命令バス２５０などにより電気的に接続されている。ＳＩＭＤ型計算機３００において、各プロセッサ３０１〜３０６と制御ユニット３４０とは、命令バス３５０などにより電気的に接続されている。
なお、図１では、ＳＩＭＤ型計算機１００〜３００は３段で構成されているが、２段または４段以上の構成であってもよい。また、ＳＩＭＤ型計算機１００内のプロセッサ１０１〜１１６の個数は、１６個であるが、いくつであってもよい。また、ＳＩＭＤ型計算機２００，３００内のプロセッサ２０１〜２０６，３０１〜３０６並びにバッファ４０１〜４０６，５０１〜５０６，６０１〜６０６はそれぞれ６つ並列であるが、並列個数はいくつであってもよい。
図２に、ＳＩＭＤ型計算機１００の詳細な構成を示す。ＳＩＭＤ型計算機１００は、制御ユニット１４０、プロセッサアレイ１３０の他に複数のメモリユニット１２１〜１２９などから構成されている。プロセッサ１０１〜１１６内のローカルメモリおよびメモリユニット１２１〜１２９は、ＲＡＭ（メモリ）から構成されている。
プロセッサアレイ１３０内において、各プロセッサ１０１〜１１６はマトリクス状に配置され、各プロセッサ１０１〜１１６内のローカルメモリは上下左右の他のプロセッサと接続され、演算データを前後左右へシフトできるようになっている。また、プロセッサアレイ１３０の端に位置するプロセッサ１０４，１０８，１１２，１１３，１１４，１１５，１１６のローカルメモリは、プロセッサアレイ１３０の周りに配置されたメモリユニット１２１〜１２９と接続され、メモリユニット１２１〜１２９とも演算データをシフトできるようになっている。制御ユニット１４０と全プロセッサ１０１〜１１６内の演算器は、命令バス１５０およびブロードキャストデータバス１６０を介して接続され、制御ユニット１４０から全プロセッサ１０１〜１１６へ命令およびデータが出力されるようになっている。全プロセッサ１０１〜１１６内の演算器の出力は、トライステートバッファとプロセッサデータ出力共通バス１７０を介して制御ユニット１４０と接続され、各プロセッサ１０１〜１１６内の演算器の演算データが制御ユニット１４０へ出力されるようになっている。
各メモリユニット１２１〜１２９は隣接する他のメモリユニットと接続され、メモリユニット間でデータをシフトできるようになっている。また、各メモリユニット１２１〜１２９と制御ユニット１４０は、メモリ共通バス１８０を介して接続されている。
さらに、制御ユニット１４０は、外部制御（メインＣＰＵ）および外部メモリ（画像データ）と接続されている。
次に、図１により、本実施の形態の画像処理装置の動作を説明する。まず、ＳＩＭＤ型計算機１００では、画像処理における動き検出処理を行う。そして、ＳＩＭＤ型計算機１００は、動き検出処理の結果であるブロックごとの差分情報および動きベクトル情報をブロック単位でバッファ４０１〜４０６へ出力する。差分情報および動きベクトル情報をバッファ４０１〜４０６へ出力した後、ＳＩＭＤ型計算機１００は、次のマクロブロックに対する動き検出処理を行う。
ＳＩＭＤ型計算機２００では、プロセッサ２０１〜２０６により、画像処理におけるＤＣＴ演算を並列に行う。この時、プロセッサ２０１〜２０６は、バッファ４０１〜４０６内のブロックごとの差分情報を取り込み、ＤＣＴ演算を行う。次に、その演算結果を基に、ＳＩＭＤ型計算機２００はプロセッサ２０１〜２０６により量子化の処理を並列に行う。各ブロックのＤＣＴ演算および量子化処理終了後、プロセッサ２０１〜２０６は、動きベクトル情報とともにバッファ５０１〜５０６へ処理結果を並列に出力する。バッファ５０１〜５０６内の各ブロックの動きベクトル情報および量子化処理後のデータは、ＡＣ／ＤＣ処理とハフマン処理が行われ、圧縮データとして出力される。
また、バッファ５０１〜５０６の各ブロックの動きベクトル情報および量子化処理後のデータは、補償画生成のためにＳＩＭＤ型計算機３００へ出力される。ＳＩＭＤ型計算機３００では、プロセッサ３０１〜３０６が各ブロックに対して逆量子化の処理を並列に行う。次に、その処理結果を基に、プロセッサ３０１〜３０６は、逆ＤＣＴ演算を並列に行う。各ブロックの逆量子化処理および逆ＤＣＴ演算終了後、プロセッサ３０１〜３０６は、動きベクトル情報とともにバッファ６０１〜６０６へ処理結果を並列に出力する。バッファ６０１〜６０６内の各ブロックの動きベクトル情報および逆ＤＣＴ演算後のデータは、補償画生成処理に使用される。
ＳＩＭＤ型計算機１００，２００，３００では、それぞれの処理（動き検出、ＤＣＴ演算、量子化、逆量子化、逆ＤＣＴ演算）がバッファ４０１〜４０６，５０１〜５０６，６０１〜６０６を介して行われるため、パイプライン並行処理が可能であり、全体の処理が高速化される。
なお、本実施の形態では、ＳＩＭＤ型計算機２００でＤＣＴ演算および量子化処理を行い、ＳＩＭＤ型計算機３００で逆量子化処理および逆ＤＣＴ演算を行っているが、１つのＳＩＭＤ型計算機でＤＣＴ演算、量子化処理、逆量子化処理および逆ＤＣＴ演算を行ってもよく、あるいは、３つ以上のＳＩＭＤ型計算機でそれぞれの処理を分担して実行させてもよい。
また、バッファ４０１〜４０６，５０１〜５０６，６０１〜６０６には、演算処理結果やブロックのベクトル情報だけではなく、ブロックごとの属性、例えば比較画と差分処理を行ったか否かなどの情報を書き込むことができ、各プロセッサにてその情報を判断して、それぞれ異なる演算処理を実施することが可能となる。
次に、図３により、ＳＩＭＤ型計算機１００における動き検出処理の手順を説明する。図３（ａ）は全体画像に対するマクロブロック単位の動き検出処理順序を示し、図３（ｂ）はマクロブロックごとの処理フローを示す。
図３（ａ）に示すように、全体画像（現画像）は、マクロブロック（１６×１６画素）に分割され、マクロブロックごとに処理される。
図３（ｂ）に示すように、マクロブロックは、輝度（Ｙ０，Ｙ１，Ｙ２，Ｙ３）と色差（Ｕ，Ｖ）とで構成される。また、Ｙ０，Ｙ１，Ｙ２，Ｙ３，Ｕ，Ｖは、それぞれ８×８色要素で構成される。
マクロブロックに分割した後、マクロブロックごとに動き検出処理を実施する。動き検出処理は、比較画との差分を検出することにより行われる。
したがって、比較画との動き検出処理後の情報は、ブロックＹ０，Ｙ１，Ｙ２，Ｙ３，Ｕ，Ｖごとの差分値情報（Ｙ０’，Ｙ１’，Ｙ２’，Ｙ３’，Ｕ’，Ｖ’）と動きベクトル情報となる。
上記のブロック情報は、バッファ４０１〜４０６へ出力される。
次に図４により、ＳＩＭＤ型計算機２００におけるＤＣＴ演算および量子化処理の手順を説明する。
各ブロックＹ０，Ｙ１，Ｙ２，Ｙ３，Ｕ，Ｖの差分値情報（Ｙ０’，Ｙ１’，Ｙ２’，Ｙ３’，Ｕ’，Ｖ’）と動きベクトル情報は、バッファ４０１〜４０６からプロセッサ２０１〜２０６へ並列に入力され、並列に演算処理され、処理結果がバッファ５０１〜５０６へ並列に出力される。
次に、図５により、ＳＩＭＤ型計算機３００における逆量子化処理および逆ＤＣＴ演算の手順を説明する。
各ブロックＹ０，Ｙ１，Ｙ２，Ｙ３，Ｕ，Ｖの処理結果と動きベクトル情報は、バッファ５０１〜５０６からプロセッサ３０１〜３０６へ並列に入力され、並列に演算処理され、処理結果がバッファ６０１〜６０６へ並列に出力される。
次に、図６により、本実施の形態の画像処理装置の応用例を説明する。図６は、本実施の形態の画像処理装置をビューアーシステムへ応用した例である。本システムは、例えば、本実施の形態の画像処理装置７００、ＡＣ／ＤＣ予測ハフマン７０１、画像メモリ７０２、表示回路７０３、モニタ７０４、ＲＯＭ７０５、ＲＡＭ７０６、ＣＰＵ７０７、ＩＦ（インターフェイス）回路７０８などから構成されている。
画像処理装置７００は、画像メモリ７０２およびＡＣ／ＤＣ予測ハフマン７０１と接続され、画像メモリ７０２は表示回路７０３と接続され、表示回路７０３はモニタ７０４と接続されている。また、ＡＣ／ＤＣ予測ハフマン７０１、ＲＯＭ７０５、ＲＡＭ７０６、ＣＰＵ７０７、ＩＦ回路７０８はそれぞれバスを介して接続されている。ＩＦ回路７０８はメモリカード７０９と接続されている。
本システムは、デジタルムービーカメラなどで撮影したＭＰＥＧ画像をモニタやＴＶへ表示するシステムである。
本システムは、ＭＰＥＧの伸張のみの処理のため、図１で示した前記実施の形態の画像処理装置のうち、ＳＩＭＤ型計算機３００のみの構成で逆量子化と逆ＤＣＴを処理する。動き検出、ＤＣＴ、量子化、逆量子化および逆ＤＣＴの処理をそれぞれのＳＩＭＤ型計算機で別々に処理するため、必要な部分のみのＳＩＭＤ型計算機で画像処理装置を構成することができ、小型化、低消費電力化が可能となる。
したがって、前記実施の形態の画像処理装置によれば、ＭＰＥＧ動画圧縮では、動き検出およびＤＣＴ・量子化などの処理を各々別々のＳＩＭＤ型計算機で処理するため、各処理に必要な演算器およびローカルメモリで構成することができ、それぞれの処理に必要な性能に見合ったプロセッサ数で画像圧縮処理を実現することができる。また、動き検出やＤＣＴ・量子化などを処理ごとにパイプライン動作で行うことができるため、性能の向上を図ることができる。
また、プロセッサ数が比較的小規模のＳＩＭＤ型計算機の構成で、ＭＰＥＧに代表される動画圧縮・伸張などの画像処理が実時間で処理可能になるため、従来に比べて画素密度の大きい画像処理機能をデジタルビデオカメラなどの低消費電力で駆動する携帯型家電に実装可能な半導体集積回路装置（電子部品）により実現することが可能となる。
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、前記実施の形態においては、ＭＰＥＧの動画圧縮・伸張について説明したが、これに限定されるものではなく、他の画像圧縮・伸張についても適用可能である。
以上の説明では、主として本発明者によってなされた発明をその属する技術分野である画像処理に適用した場合について説明したが、これに限定されるものではなく、例えば、その他の画像処理、音声処理を始めとする行列演算を含む計算アルゴリズムを処理する電子機器全般などに適用することも可能である。
【産業上の利用可能性】  以上のように、本発明にかかる画像処理装置は、例えば、デジタルビデオカメラ、ビデオデッキ、情報端末などの動画圧縮・伸張を行う電子機器に用いるのに適している。また、その他の画像処理、音声処理を始めとする行列演算を含む計算アルゴリズムを処理する電子機器全般に応用可能である。
【図１】
2005025230.tif 000003
【図２】
2005025230.tif 000004
【図３】
2005025230.tif 000005
【図４】
2005025230.tif 000006
【図５】
2005025230.tif 000007
【図６】
2005025230.tif 000008
【国際調査報告】
2005025230.tif 000009
2005025230.tif 000010
2005025230.tif 000011
2005025230.tif 000012