(57)【要約】【課題】画像処理装置によるコンピュータ・グラフィックス、コンピュータ・ビジョン、画像フィルタ等の画像処理を１チップの画像処理部で効率良く行う。【解決手段】描画するエリアを適切なピクセル数からなるブロック単位で扱い、各ブロックの代表点に関する情報の展開計算をするブロック展開部３２と、ブロック展開部で計算されたブロック代表点情報から少なくとも矩形領域内のピクセル単位に情報展開するピクセル展開部５０およびピクセル展開部により情報展開されたピクセル単位の演算を行う演算部６０をそれぞれ有する複数のピクセル処理部４０とを備えた画像処理部３０が同一半導体チップ上に形成されており、ブロック展開部とピクセル処理部が連携して行うグラフィックス処理およびピクセル処理部がブロック展開部とは独立して行う画像処理を、選択的に実行することを特徴とする。【選択図】    図１
2004280157.tif 000002
【特許請求の範囲】
【請求項１】
描画するエリアを複数のピクセルからなるブロック単位で扱い、各ブロックの代表点に関する情報の展開計算をするブロック展開部と、前記ブロック展開部で計算されたブロック代表点情報から少なくとも矩形領域内のピクセル単位に情報展開するピクセル展開部および前記ピクセル展開部により情報展開されたピクセル単位の演算を行う演算部をそれぞれ有する複数のピクセル処理部とを備えた画像処理部が同一半導体チップ上に形成されており、
前記ブロック展開部とピクセル処理部が連携して行うグラフィックス処理および前記ピクセル処理部がブロック展開部とは独立して行う画像処理を、選択的に実行することを特徴とする画像処理装置。
【請求項２】
前記ピクセル展開部は、
多重ループのカウントを制御するループカウンタ部と、前記ピクセル処理部内のバッファからデータを読み出すためのアドレスを計算するバッファ・アドレス計算部と、前記バッファからデータを読み出し、前記演算部で必要となる複数のパラメータとメモリのアドレスを計算するアドレス・パラメータ計算部とを具備することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記演算部は、
前記ピクセル展開部が計算した複数のアドレスにしたがって画像処理装置の内部あるいは外部のメモリから読み出したデータおよび前記ピクセル展開部が計算した複数のパラメータを用いて演算を行う複数の積和計算部と、前記積和計算部の最終段に付加され、前記メモリからのデータ読み出しの代わりにアキュムレートを行うアキュムレータとを具備することを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記ピクセル処理部は、前記演算部との間でデータの書き込み／読み込みが行われるファースト・イン・ファースト・アウト型のバッファ回路を具備することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記ピクセル処理部は、前記演算部からデータが書き込まれ、前記ピクセル展開部へデータが読み込まれるバッファ回路を具備することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
前記ピクセル処理部は、前記演算部からデータが書き込まれ、前記ピクセル展開部へデータが読み込まれる第１のパスと、前記ピクセル展開部からのアドレスにしたがって前記演算部へデータが読み込まれる第２のパスを有するバッファ回路を具備することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像処理部を複数有し、複数の画像処理部が互いに異なる処理を並行して実行することを可能としたことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
描画するエリアを複数のピクセルからなるブロック単位で扱い、各ブロック内のピクセルの代表値計算をするピクセル展開部と、少なくとも矩形領域内のピクセルに関するパラメータとアドレスを計算するアドレス計算部および前記ピクセルの代表値と前記アドレス計算部で計算されたパラメータとアドレスに応じてメモリから読み出した少なくとも１つ以上を用いてピクセル処理の部分演算を行う演算部をそれぞれ有する複数のピクセル処理部とを備えた画像処理部が同一半導体チップ上に形成され、
前記ピクセル展開部とピクセル処理部が連携して行うグラフィックス処理および前記ピクセル処理部がブロック展開部とは独立して行う画像処理を、選択的に実行することを特徴とする画像処理装置。
【請求項９】
前記ピクセル処理部が、前記演算部との間で書き込み／読み込みが行われるファースト・イン・ファースト・アウト型のバッファ回路を具備することを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記ピクセル処理部は、前記演算部から書き込まれ、前記ピクセル展開部から読み込まれるバッファ回路を具備することを特徴とする請求項８記載の画像処理装置。
【請求項１１】
前記ピクセル処理部は、前記演算部から書き込まれ、前記ピクセル展開部から読み込まれるパスと、前記ピクセル展開部からのアドレスにしたって前記演算部へ読み込まれるパスとがあるバッファ回路を具備することを特徴とする請求項記載の画像処理装置。
【請求項１２】
前記画像処理部を複数有することを特徴とする請求項８乃至１１のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に係り、特に画像処理用プロセッサに関するもので、例えばコンピュータ・グラフィックス、コンピュータ・ビジョン、画像フィルタなどに使用されるものである。
【０００２】
【従来の技術】
一般に、画像処理装置は、処理するアドレスと演算用のパラメータを準備するラスタライズ部とピクセル単位の処理を行う演算部とから構成された画像処理部を有する。
【０００３】
従来のコンピュータ・グラフィックスに使用されるプロセッサは、任意の三角形を各ピクセルに展開する高機能なラスタライズ部を必要とし、また、各ピクセルに対する高度なシェーディング処理を行うための複雑で深いパイプラインの演算部（あるいはピクセルパイプ）を必要としていた。そのため、単純な画像処理を行う場合には動作が不要な回路が多く、処理結果が出るまでのレイテンシも長く、処理の効率が悪かった。
【０００４】
一方、従来のコンピュータ・ビジョンまたは画像フィルタなどに使用される画像処理用プロセッサでは、非常に単純なアドレス生成部と単純な演算部から構成される。そのため、複雑なグラフィックス処理を行うには、メモリへの読み書きを多用する方法しかなく、処理の効率が悪かった。
【０００５】
また、一般の汎用プロセッサは、画像処理全般に特有なピクセル処理の並列性を活用できないので、画像処理専用プロセッサに対して処理の効率が悪い。
【０００６】
図１８は、従来の画像処理部の構成例として、処理のアルゴリズムとしてＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅｒ）を用いた例を示している。
【０００７】
この画像処理部は、セットアップ（ＳＥＴＵＰ）  部２０１  、ＤＤＡ  部２０２  、エクスパンド（Ｅｘｐａｎｄ）部２０３  、複数のピクセル処理部２０４  、メモリコントローラ２０５  、内蔵メモリ２０６  が同一半導体チップ上に形成されてなる。
【０００８】
前記セットアップ部２０１  、ＤＤＡ  部２０２  、エクスパンド部２０３  は、ラスタライズ処理を行う。ピクセル処理部２０４  はピクセル処理を行うものであり、各ピクセル処理部２０４  は演算部２０７  からなる。
【０００９】
図１９は、図１８中のピクセル処理部２０４  の動作例を示す。
【００１０】
この例は、ピクセル処理部２０４  が８個あり、４×２ピクセルのスタンプ（ｓｔａｍｐ）  を４×２のパイプで並列処理する場合を示している。
【００１１】
図１８中のピクセル処理部２０４  は、演算部２０７  が複数回のループ演算処理を行う際、セットアップ部２０１  までのループになる近傍ピクセルを異なる演算部２０７で処理するので、メモリコントローラ２０５  による制御が複雑になる。
【００１２】
なお、特許文献１には、グラフィックス処理において、各ピクセルに対する処理を行う装置について開示されている。この装置は、各ピクセルの処理をテクスチャステージとレジスタコンバイナ（ｒｅｇｉｓｔｅｒ  ｃｏｍｂｉｎｅｒ）  ステージで行うものであり、テクスチャステージでメモリから必要なデータを読み出してグラフィックスに適した加工をし、レジスタコンバイナステージでそのデータを使用してピクセル色を計算する。レジスタコンバイナステージでは、カスケードに接続した演算器のそれぞれに入力データと演算の種類を定義し、データストリームを流すことで、ピクセルの処理をする。したがって、演算器数と入力データ数を増やし、入力データの指定方法や、演算器同士の接続関係をより柔軟にしている。
【００１３】
【特許文献１】
米国特許第６３３３７４４号明細書
【００１４】
【発明が解決しようとする課題】
上記したように従来の画像処理装置は、コンピュータ・グラフィックス、コンピュータ・ビジョンまたは画像フィルタにおいてそれぞれの画像処理を効率よく実行できる画像処理用プロセッサのアーキテクチャは未だ提案されていないという問題があった。
【００１５】
本発明は上記の問題点を解決すべくなされたもので、コンピュータ・グラフィックス、コンピュータ・ビジョン、画像フィルタ等の画像処理を１チップの画像処理部で効率良く行うことが可能になる画像処理装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明の第１の態様に係る画像処理装置は、描画するエリアを複数のピクセルからなるブロック単位で扱い、各ブロックの代表点に関する情報の展開計算をするブロック展開部と、前記ブロック展開部で計算されたブロック代表点情報から少なくとも矩形領域内のピクセル単位に情報展開するピクセル展開部および前記ピクセル展開部により情報展開されたピクセル単位の演算を行う演算部をそれぞれ有する複数のピクセル処理部とを備えた画像処理部が同一半導体チップ上に形成されており、前記ブロック展開部とピクセル処理部が連携して行うグラフィックス処理および前記ピクセル処理部がブロック展開部とは独立して行う画像処理を、選択的に実行することを特徴とすることを特徴とする。
【００１７】
本発明の第２の態様に係る画像処理装置は、描画するエリアを複数のピクセルからなるブロック単位で扱い、各ブロック内のピクセルの代表値計算をするピクセル展開部と、少なくとも矩形領域内のピクセルに関するパラメータとアドレスを計算するアドレス計算部および前記ピクセルの代表値と前記アドレス計算部で計算されたパラメータとアドレスに応じてメモリから読み出した少なくとも１つ以上を用いてピクセル処理の部分演算を行う演算部をそれぞれ有する複数のピクセル処理部とを備えた画像処理部が同一半導体チップ上に形成されており、前記ピクセル展開部とピクセル処理部が連携して行うグラフィックス処理および前記ピクセル処理部がブロック展開部とは独立して行う画像処理を、選択的に実行することを特徴とする。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１９】
＜第１の実施の形態＞
図１は、本発明の画像処理装置の第１の実施形態で使用される画像処理部の構成の一例を示す。
【００２０】
図１に示す画像処理部３０は、セットアップ（ＳＥＴＵＰ）  部３１、ブロック展開部３２、複数のピクセル処理部４０、メモリコントローラ３４、内蔵メモリ３５が同一半導体チップ上に形成されてなる。なお、内蔵メモリ３５に代えて外部メモリを用いてもよい。前記セットアップ部３１は、送られてきた頂点情報に対してラスタライズするための初期値や傾き係数を計算する機能を有する。
【００２１】
前記ブロック展開部３２は、描画するエリアを適切なピクセル数（複数のピクセル）からなるブロック単位で扱い、各ブロックの代表点に関する情報展開（ラスタライズ）の計算をする機能を有する。この場合、処理のアルゴリズムがＤＤＡ  であり、ブロック展開は上位レベルのラスタライズである。
【００２２】
図２は、図１の画像処理部３０を１つ持つ画像処理装置２０の構成例を示す。
【００２３】
図２において、システム・インターフェース２１には、画像入力部２２、画像出力部２３、メモリ・インターフェース２４、画像処理部３０が接続されている。
【００２４】
図３は、図２の画像処理装置２０を用いた画像処理システムの一例を示す。
【００２５】
図３において、１０はＣＰＵであり、メモリ１１との間でデータを授受し、バス・ブリッジ１２を介して画像処理装置２０が接続されている。この画像処理装置２０は、外部メモリ１３との間でデータを授受し、入力インターフェース１４を介してカメラ１  等が接続されており、Ｄ／Ａコンバータ１５を介してビデオ信号出力部２  が接続されている。前記バス・ブリッジ１２には、インターフェースバス１６を介して、コントローラ３  、ＤＶＤドライブ４  、ハードディスク５  、通信装置６  などが接続されている。
【００２６】
図４は、図１中のピクセル処理部４０の構成例を示す。
【００２７】
このピクセル処理部４０は、ピクセル展開部５０と演算部６０とからなる。
【００２８】
ピクセル展開部５０は、図１中のブロック展開部３２で計算されたブロック代表点情報から少なくとも矩形領域内のピクセル単位に情報（データおよびアドレス）の展開の計算を行う機能を有する。
【００２９】
演算部６０は、ピクセル展開部５０により情報展開されたピクセル単位の演算を行ってデータおよびアドレスを出力する機能を有する。この際、図１中のメモリコントローラ３４を介して内蔵メモリ３５との間でデータの授受を行う。
【００３０】
図５は、図４中のピクセル展開部５０の構成例を示す。
【００３１】
このピクセル展開部５０は、ループカウンタ部５１で多重ループのカウントを制御し、バッファ・アドレス計算部５２でピクセル処理部４０内のバッファ５３からデータを読み出すためのバッファ・アドレスを計算する。アドレス・パラメータ計算部５４は、バッファ５３からデータを読み出し、図４中の演算部６０で必要となる複数のパラメータとメモリのアドレスを計算する。
【００３２】
図６は、図４中の演算部６０の構成例を示す。
【００３３】
この演算部６０では、図５に示したピクセル展開部５０が計算した複数のアドレス（本例では４つのシングル・インストラクション・マルチプル・データ；ＳＩＭＤ  ）で図１中のメモリコントローラ３４を介して内蔵メモリ３５からデータを読み出し、前記ピクセル展開部５０が計算した複数のパラメータを各ＭＡＣ（積和計算）部６１１  〜６１４  に与えて所要の演算を行う。ＭＡＣ部の最終段６１５  では、図１中の内蔵メモリ３５からデータの読み出しデータを行わない（読み出しデータを使わない）代わりに、アキュムレータ（アキュムレーションレジスタ）を持ち、アキュムレートが可能になっている。
【００３４】
次に、図１に示した画像処理部３０の動作を説明する。図１に示した画像処理部３０は、ブロック展開部３２とピクセル処理部４０が連携して行うグラフィックス処理およびピクセル処理部３２がブロック展開部４０とは独立して行う画像処理を、選択的に実行することが可能になっている。
【００３５】
まず、グラフィックス処理を行う場合には、セットアップ部３１は、送られてきた頂点情報に対してラスタライズするための初期値や傾き係数を計算する。そして、ブロック展開部３２は、セットアップ部３１から送られてきた情報に基づいて各ピクセル処理部４０が処理できるピクセル量のブロック毎の代表値を計算する。各ピクセル処理部４０は、ブロック展開部３２から送られてきた代表値に基づいて、ブロック内のピクセルについて計算を行う。
【００３６】
図７は、図１に示した画像処理部３０においてブロック代表値の計算を１パスで処理する場合の動作フローを示す。
【００３７】
まず、ステップＳ１において、セットアップ部３１で、処理に必要なパラメータの初期値と差分を計算する。次に、ステップＳ２において、ピクセル処理部４０が一度に処理できる大きさのブロックを定める。そして、処理対象領域をブロックで覆いながら処理するための準備を行う。この際、ピクセル処理部の番号Ｐを０にセットする。
【００３８】
次に、ステップＳ３において、処理対象領域に未処理のブロックがあるか否かを判定する。判定の結果がＹＥＳ  である（未処理のブロックがある）場合には、ステップＳ４に移り、ブロック代表点の情報（アドレスやパラメータ）を計算する。そして、ブロック代表点の情報から、各ピクセルの情報を求めるのに必要な係数を計算し、Ｐ番目のピクセル処理部にブロック代表点の情報と係数を送る。ステップＳ５においては、ピクセル処理部の番号Ｐを１つ歩進（Ｐ＝Ｐ＋１）させ、Ｐがピクセル処理部の数に一致したら、ピクセル処理部の番号Ｐを０にリセットし、ステップＳ３に戻る。
【００３９】
なお、ステップＳ３において、判定の結果がＮＯである（未処理のブロックがない）場合には、処理を終了させる。
【００４０】
一方、図１の画像処理部３０で画像処理を行う場合は、ブロック毎の代表値は予め計算できる場合が多く、図１中に示した各ピクセル処理部４０のみでピクセルについて計算を行う。
【００４１】
即ち、上記した構成を有する図１の画像処理部３０は、ピクセル単位の処理を振り分けるラスタライズ部を２段構成（ブロック展開部３２、ピクセル展開部５０）としている。これによって、グラフィックス処理では、ブロック展開部３２とピクセル処理部５０が連携し、それらの協調処理によってレンダリング処理が可能となる。また、ビジョン処理や画像処理では、ピクセル処理部４０がブロック展開部３２とは独立して動作し、個々のピクセル処理部４０がブロック処理を行うことによって画像処理を効率良く行うことが可能である。これに対して、図１８中に示した従来のピクセル処理部２０４  は、グラフィックス処理内のピクセル処理のみしか行うことができなかった。
【００４２】
＜第２の実施形態＞
図８は、本発明の画像処理装置の第２の実施形態で使用される画像処理部３０ａ  の構成例を示す。
【００４３】
この画像処理部３０ａ  は、図１を参照して前述した画像処理部３０と比べて、図１中のブロック展開部３２に代えてピクセル展開部３６が設けられており、各ピクセル処理部４０ａ  において図１中のピクセル展開部５０に代えてアドレス計算部８０が設けられており、メモリコントローラ３４ａ  で制御されるセレクタ３７が付加されている点が異なり、その他は同じであるので図１中と同一符号を付している。
【００４４】
即ち、図８の画像処理部３０ａ  でグラフィックス処理を行う場合は、セットアップ部３１ａ  はピクセル展開部３６のラスタライズで使用するパラメータを計算し、ピクセル展開部３６はピクセルの各パラメータ計算に共通に使用する重心座標を計算してピクセル代表値を生成し、矩形領域内の１つ以上のピクセル代表値を出力する。この場合、各ピクセル処理部４０ａ  の入力側にセレクタ３７が設けられており、１つのピクセル処理部４０ａ  をメモリコントローラ３４ａ  で選択して前記ピクセル代表値を転送する。この処理を複数のピクセル処理部４０ａ  に対して順次行う。この場合、処理のアルゴリズムはＤＥ（Ｄｉｒｅｃｔ  Ｅｖａｌｕａｔｉｏｎ  ）であり、ブロック展開はピクセル展開である。
【００４５】
各ピクセル処理部４０ａ  においては、転送されてきた１ピクセル毎に順次必要なアドレスやパラメータをアドレス計算部８０で計算し、計算結果を演算部６０に転送する。この場合、アドレス計算部８０は、矩形領域内の複数のピクセルを順次処理するため、少なくとも矩形領域のアドレス計算が可能である。演算部６０は、転送されてきたアドレスから必要なデータをメモリコントローラ３４ａ  を介して内蔵メモリ３５から取得し、実際の演算を行い、処理結果を出力する。
【００４６】
即ち、上記したアドレス計算部８０と演算部６０の処理をピクセル処理部４０ａ  に転送されてきたピクセル全てに対してピクセルを変更しながら繰り返し行う。一連の処理を終了した時点で、内蔵メモリ３５上の決められたバッファにピクセルデータを書き込む。この処理を、入力された全てのプリミティブに対して行う。
【００４７】
一方、図８の画像処理部３０ａ  で画像処理を行う場合は、重心座標の場合のように各ピクセルに個別なパラメータはあまり必要ではなく、矩形領域内のアドレス計算は、殆どは演算部６０のアキュムレータで行うことが可能である。そのため、内蔵メモリ３５から矩形領域の代表値を各ピクセル処理部４０ａ  に転送し、その代表値から各ピクセルのアドレスやパラメータをアドレス計算部８０で計算し、その結果を用いて、演算部６０が実際の画像処理であるフィルタリングやテンプレートマッチングの処理を行う。
【００４８】
例えば８×８ピクセルのカーネルによるフィルタリングでは、アドレス計算部８０が対象画像のカーネル内のピクセルアドレスを順次計算し、フィルタの係数とともに演算部６０に渡す。演算部６０では、渡されたアドレスからピクセルデータを読み出し、フィルタ係数との乗算を行い、その結果をアキュムレーションしていく。この時、同時に乗算を行うピクセル数は幾つでもよく、本例では４ピクセルである。
【００４９】
＜第３の実施の形態＞
図９は、本発明の画像処理装置の第３の実施形態で使用されるピクセル処理部の構成例を示す。
【００５０】
このピクセル処理部４０ａ  は、図４に示したピクセル処理部４０と比べて、演算部６０の出力をファースト・イン・ファースト・アウト（Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  ｏｕｔ；  ＦＩＦＯ）型のバッファ回路４１を介して演算部の入力に戻すループが付加されている点が異なり、その他は同じである。
【００５１】
このようにバッファループを持つと、計算途中の値をメモリまで書き戻さずに済み、演算部６０を複数回ループ処理（繰り返し処理）することが可能になる。したがって、複雑な処理を複数の手続きに分解し、単純な構成の演算部６０でも複雑な演算処理を高速に行うことが可能になり、演算部６０の回路面積を小さくすることが可能になる。
【００５２】
図１０は、図９に示したピクセル処理部４０ａ  に対するブロック内処理の割り当てに関する一例を示す。
【００５３】
この例は、ピクセル処理部４０ａ  が４個あり、４×２ピクセルのスタンプ（ｓｔａｍｐ）  を各ピクセル処理部４０ａ  が処理する場合を示している。
【００５４】
ここでは、小さめのｍ１×ｍ２のスタンプ（ｓｔａｍｐ）  を１つのピクセル処理部４０ａ  で処理する。なお、スタンプ（ｓｔａｍｐ）  は、ピクセル処理部４０ａ  のバッファ回路４１に溜められるピクセル数までの大きさである。ブロック展開部（ＤＤＡ  ）からスタンプ（ｓｔａｍｐ）  に属するピクセル処理部４０ａ  に同じ係数が渡される。各ピクセル処理部４０ａ  は、自己に相応したオフセットを加えて解釈する。したがって、上記処理動作は、コンピュータ・グラフィックス（ＣＧ）向きの挙動と言える。
【００５５】
図１１は、図９に示したピクセル処理部４０ａ  に対するブロック内処理の割り当てに関する他の例を示す。
【００５６】
この例は、ピクセル処理部４０ａ  が８個あり、８×８ピクセルのスタンプ（ｓｔａｍｐ）  を各ピクセル処理部４０ａ  が４×２ピクセルづつ処理する場合を示している。
【００５７】
ここでは、大きめのｎ×ｎのスタンプ（ｓｔａｍｐ）  を複数のピクセル処理部４０ａ  で処理するので、スタンプ（ｓｔａｍｐ）  が埋まらないと不利である。ピクセル処理部４０ａ  は、ピクセル処理部４０ａ  のバッファ回路４１に溜められるピクセル数を一度に担当する。ブロック展開部（ＤＤＡ  ）からスタンプ（ｓｔａｍｐ）  に属するピクセル処理部４０ａ  に同じ係数が渡される。各ピクセル処理部４０ａ  は、自己に相応したオフセットを加えて解釈する。したがって、上記処理動作は、画像処理向きの挙動と言える。
【００５８】
図１２は、図９に示したピクセル処理部４０ａ  に対するブロック内処理の割り当てが図１０および図１１に示すように行われた場合に、図１の画像処理部３０においてブロック代表値の計算を２パスで処理する場合の動作フローを示す。
【００５９】
まず、ステップＳ１において、処理の第１段階の計算準備を行う。次に、ステップＳ２において、ブロック内の全てのピクセルの処理が終了したか否かを判定する。判定の結果がＮＯである（未処理のピクセルがある）場合には、ステップＳ３に移り、ピクセル展開部からパラメータを受け取り、処理の第１段階の計算を行い、その結果をバッファへ書き出した後、前記ステップＳ２に戻る。このステップＳ２において、判定の結果がＹＥＳ  である（未処理のピクセルがない）場合には、ステップＳ４に移り、処理の第２段階の計算準備を行う。次に、ステップＳ５において、ブロック内の全てのピクセルの処理が終了したか否かを判定する。判定の結果がＮＯである（未処理のピクセルがある）場合には、ステップＳ６に移り、ピクセル展開部からパラメータを受け取り、前記バッファから処理の第１段階の計算結果を受け取り、処理の第２段階の計算を行い、メモリへ書き出した後、前記ステップＳ５に戻る。このステップＳ５において、判定の結果がＹＥＳ  である（未処理のピクセルがない）場合には、処理を終了させる。
【００６０】
＜第４の実施の形態＞
図１３は、本発明の画像処理装置の第４の実施形態で使用されるピクセル処理部の構成例を示す。
【００６１】
このピクセル処理部４０ｂ  は、図９に示した第３の実施形態によるピクセル処理部４０ａと比べて、演算部６０の計算結果がバッファ回路４２を経由してピクセル展開部５０に入力されている点が異なり、その他は同じである。
【００６２】
このような構成によれば、ピクセル展開部５０で次の処理のアドレスを計算することができ、いわゆるデペンデント・テクスチャ処理が効率よく行える。
【００６３】
このような構成のピクセル処理部４０ｂ  で行う処理としては、グラフィックスのバンプ環境マップ（Ｂｕｍｐｅｄ  Ｅｎｖｉｒｏｎｍｅｎｔ  Ｍａｐｐｉｎｇ）などがある。
【００６４】
図１４は、図１３に示したピクセル処理部４０ｂ  によるバンプ環境マップの計算動作の一例を示す。
【００６５】
最初に、バンプマップ（ｂｕｍｐ  ｍａｐ）を読み出し、そのピクセルにどの方向の物体や背景が写りこんで見えるかを計算する。次に、その計算結果の方向から、環境マップの画像を読み出し、そのピクセルの色を計算する。この際、環境マップの読み出しアドレスは、バンプマップの読み出し結果に依存していて、バンプマップから計算した方向をバッファに格納することで処理を行う。例えば、１パス目では、ｂｕｍｐ  ｍａｐで反射するベクトルの方向を計算し、２パス目では、ベクトルの方向から環境マップの画像を読み出してピクセルの色を計算する。
【００６６】
＜第５の実施の形態＞
図１５は、本発明の画像処理装置の第５の実施形態で使用されるピクセル処理部の構成例を示す。
【００６７】
このピクセル処理部４０ｃ  は、図１３に示した第４の実施形態のピクセル処理部４０ｂ  と比べて、演算部６０の計算結果がバッファ回路４３を経由してピクセル展開部５０に入力されている点、ピクセル展開部５０でのアドレス計算の結果（アドレス）によるバッファ回路４３のデータを演算部６０で読むように構成されている点が異なり、その他は同じである。
【００６８】
このような構成によれば、演算部６０の計算結果をピクセル展開部５０のアドレス計算に使い、そのアドレスによるバッファ回路４３のデータを演算部６０が読むことによって、より複雑な処理が可能となる。
【００６９】
このような構成のピクセル処理部４０ｃ  で行う処理としては、カラー動画像標準化符号化方式（以下、ＭＰＥＧと記す）の符号化で行うジグザグスキャンなどがある。ＭＰＥＧ符号化では、ＤＣＴ変換、正規化後に、ジグザグスキャンを行う。
【００７０】
図１６は、図１５に示したピクセル処理部４０ｃ  によるジグザグスキャン処理における相対アドレスの一例を示す。
【００７１】
図１５および図１６に示すように、ジグザグスキャンでは、ピクセル展開部５０で順番を入れ替えるための相対アドレスをバッファ回路４３から読み出し、ピクセル展開部５０でアドレスを計算し、それまでの計算結果を読み出す。
【００７２】
＜第６の実施形態＞
図１７は、本発明の画像処理装置の第６の実施形態として、画像処理部を複数持つ場合の構成例を示す。
【００７３】
この画像処理装置２０ａ  は、図２を参照して前述した画像処理装置２０と比べて、システム・インターフェース２１にバス（またはクロスバス）２５を介して複数の画像処理部３０が接続されている点が異なり、その他は同じであるので図２中と同一符号を付している。
【００７４】
このような構成の画像処理装置２０ａ  によれば、複数の画像処理部３０が互いに異なる処理を並行して実行することができる。例えば、第１の画像処理部（Ａ）３０ではグラフィックスレンダリングを実施しながら、第２の画像処理部（Ｂ）３０ではＭＰＥＧ符号化を行うことが可能である。
【００７５】
【発明の効果】
上述したように本発明の画像処理装置によれば、コンピュータ・グラフィックス、コンピュータ・ビジョン、画像フィルタ等の画像処理を１チップの画像処理部で効率良く行うことができる。
【図面の簡単な説明】
【図１】本発明の画像処理装置の第１の実施形態で使用される画像処理部の構成の一例を示すブロック図。
【図２】図１の画像処理部を１つ持つ画像処理装置の構成例を示すブロック図。
【図３】図２の画像処理装置を用いた画像処理システムの一例を示すブロック図。
【図４】図３中のピクセル処理部の構成例を示すブロック図。
【図５】図４中のピクセル展開部の構成例を示すブロック図。
【図６】図４中の演算部の構成例を示すブロック図。
【図７】図１に示した画像処理部においてブロック代表値の計算を１パスで処理する場合の動作フローを示す図。
【図８】本発明の画像処理装置の第２の実施形態で使用される画像処理部の構成例を示すブロック図。
【図９】本発明の画像処理装置の第３の実施形態で使用されるピクセル処理部の構成例を示すブロック図。
【図１０】図９に示したピクセル処理部に対するブロック内処理の割り当てに関する一例を示す図。
【図１１】図９に示したピクセル処理部に対するブロック内処理の割り当てに関する他の例を示す図。
【図１２】図９に示したピクセル処理部に対するブロック内処理の割り当てが図１０および図１１に示すように行われた場合に図１の画像処理部においてブロック代表値の計算を２パスで処理する場合の動作フローを示す図。
【図１３】本発明の画像処理装置の第４の実施形態で使用されるピクセル処理部の構成例を示すブロック図。
【図１４】図１３に示したピクセル処理部によるバンプ環境マップの計算動作の一例を示す図。
【図１５】本発明の画像処理装置の第５の実施形態で使用されるピクセル処理部の構成例を示すブロック図。
【図１６】図１５に示したピクセル処理部によるジグザグスキャン処理における相対アドレスの一例を示す図。
【図１７】本発明の画像処理装置の第６の実施形態として、画像処理部を複数持つ場合の構成例を示すブロック図。
【図１８】従来の画像処理装置における画像処理部の構成例を示すブロック図。
【図１９】図１８中のピクセル処理部の動作例を示す図。
【符号の説明】
３０…画像処理部、３１…セットアップ（ＳＥＴＵＰ）  部、３２…ブロック展開部、３４…メモリコントローラ、３５…内蔵メモリ、４０…ピクセル処理部、５０…ピクセル展開部、６０…演算部。
【図１】
2004280157.tif 000003
【図２】
2004280157.tif 000004
【図３】
2004280157.tif 000005
【図４】
2004280157.tif 000006
【図５】
2004280157.tif 000007
【図６】
2004280157.tif 000008
【図７】
2004280157.tif 000009
【図８】
2004280157.tif 000010
【図９】
2004280157.tif 000011
【図１０】
2004280157.tif 000012
【図１１】
2004280157.tif 000013
【図１２】
2004280157.tif 000014
【図１３】
2004280157.tif 000015
【図１４】
2004280157.tif 000016
【図１５】
2004280157.tif 000017
【図１６】
2004280157.tif 000018
【図１７】
2004280157.tif 000019
【図１８】
2004280157.tif 000020
【図１９】
2004280157.tif 000021