(57)【要約】【課題】コンピュータなどのデバイスの画面の変化を効率よく検出する。【解決手段】  ディスプレイタイミング設定部１６は画像をラスタースキャンにより描画するためのタイミングを決定する。ピクセル読出部１０はディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す。関心領域情報入力部２０は画像中に任意の関心領域を特定するための情報を入力する。関心領域特定部２６はディスプレイタイミング設定部１６が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する。有限ビット生成部３０は前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する。【選択図】図１
2010277368.tif 000002
【特許請求の範囲】
【請求項１】
画像をラスタースキャンにより描画するためのタイミングを決定するディスプレイタイミング設定部と、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すピクセル読出部と、
画像中に任意の関心領域を特定するための情報を入力する関心領域情報入力部と、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する関心領域特定部と、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する有限ビット生成部とを含むことを特徴とする画像処理装置。
【請求項２】
前記関心領域特定部は、前記ディスプレイタイミング設定部から受け取った水平同期信号およびピクセルクロックをそれぞれ計数し、その値に基づいて前記ピクセルが関心領域に含まれるか否かを特定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記有限ビット生成部により生成された第一の有限ビット列と、あらかじめ計算により生成され格納されている第二の有限ビット列とを比較することにより第一の有限ビット列の生成に用いた画像と第二の有限ビット列の生成に用いた画像とが相違するか否かを検出する有限ビット比較部を更に含むことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第二の有限ビット列の生成に用いる画像は、前記第一の有限ビット列の生成に用いる画像と比較してフレームの過去画像であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
画像情報が格納されたディスプレイバッファと、
画像情報を変換する画像処理部とをさらに含み、
前記第一の有限ビット列の生成に用いる画像と前記第二の有限ビット列の生成に用いる画像は、それぞれ前記画像処理部が実際に出力した画像と、前記画像処理部が本来出力すべき画像であることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
画像情報が格納されたディスプレイバッファと、
画像情報を変換する直列に接続された複数の画像処理部と、
各画像処理部が実際に出力した画像を写像変換することにより第一の有限ビット列を生成する有限ビット生成部と、
各画像処理部が本来出力すべき画像を写像変換することにより得られる第二の有限ビット列と前記第一の有限ビット列とを比較することにより各画像処理部の動作検証を行う有限ビット比較部とを含むことを特徴とする画像処理装置。
【請求項７】
画像をラスタースキャンにより描画するためのタイミングを決定するステップと、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すステップと、
画像中に任意の関心領域を特定するための情報を入力するステップと、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定するステップと、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成するステップとをプロセッサに実行させることを特徴とする画像処理方法
【請求項８】
画像をラスタースキャンにより描画するためのタイミングを決定する機能と、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す機能と、
画像中に任意の関心領域を特定するための情報を入力する機能と、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する機能と、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する機能とをコンピュータに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータ等から出力される画像の画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
コンピュータネットワークは一般家庭にも普及しており、各部屋のコンピュータを無線ＬＡＮで互いに接続したり、プリンタを共有することが普通に行われている。また、デジタルカメラで撮影した写真やインターネットからダウンロードした映像を家族で見るために、コンピュータに保存した静止画や動画をリビングルームにあるゲーム機やテレビジョン（ＴＶ）システムの画面に手軽に表示させたいというニーズも高まっている。
【０００３】
そのため、ゲーム機やＴＶシステムもコンピュータネットワークに接続し、コンピュータの画面をコンピュータに直接接続されたＰＣモニタではなく、ネットワークに接続されたゲーム機やＴＶシステムのディスプレイに表示する機能が求められるようになってきている。
【０００４】
遠隔地にあるコンピュータのデスクトップ画面をネットワークに接続された別のコンピュータ上の画面に仮想的に表示し、その仮想デスクトップ画面上での操作を特定のプロトコルでネットワークを介して遠隔地にあるコンピュータに送信することにより、遠隔地のコンピュータを遠隔操作する「リモートデスクトップ」と呼ばれるサービスも利用されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２００７／０２０，２９５６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
遠隔地にあるコンピュータのデスクトップ画面を別のコンピュータやＴＶ等の画面に表示して、デスクトップ画面上で遠隔操作するためには、デスクトップの画面を別のコンピュータ等に送信する必要があり、例えばデスクトップ画面を複数の矩形領域に分割し、変更のあった領域のみを送信するといった技術が知られている。しかしながら、この技術では、特定のウィンドウの表示位置のみが変化し、そのウィンドウ内の表示内容は変化しないような場合でも、デスクトップの画面を別のコンピュータに送信することになる。特定のウィンドウの表示内容が重要であり、その表示位置はさして重要でない場合には、送信にかかる時間や手間が無駄となる。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンピュータなどの画面表示データの任意の関心領域の変化を効率よく検出する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様の画像処理装置は、画像をラスタースキャンにより描画するためのタイミングを決定するディスプレイタイミング設定部と、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すピクセル読出部と、画像中に任意の関心領域を特定するための情報を入力する関心領域情報入力部と、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する関心領域特定部と、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する有限ビット生成部とを含む。
【０００９】
本発明のさらに別の態様の画像処理装置は、画像情報が格納されたディスプレイバッファと、画像情報を変換する直列に接続された複数の画像処理部と、各画像処理部が実際に出力した画像を写像変換することにより第一の有限ビット列を生成する有限ビット生成部と、各画像処理部が本来出力すべき画像を写像変換することにより得られる第二の有限ビット列と前記第一の有限ビット列とを比較することにより各画像処理部の動作検証を行う有限ビット比較部とを含む。
【００１０】
本発明のさらに別の態様は、画像処理方法である。この方法は、画像をラスタースキャンにより描画するためのタイミングを決定するステップと、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すステップと、画像中に任意の関心領域を特定するための情報を入力するステップと、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定するステップと、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成するステップとをプロセッサに実行させる。
【００１１】
本発明の更に別の態様は、画像の関心領域を写像変換して有限ビット列を生成するプログラムである。このプログラムは、画像をラスタースキャンにより描画するためのタイミングを決定する機能と、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す機能と、画像中に任意の関心領域を特定するための情報を入力する機能と、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する機能と、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する機能とをコンピュータに実現させる。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
コンピュータなどの画面表示データの任意の関心領域の変化を効率よく検出する技術を提供することができる。また、画像が正しく生成されたか否かについて効率よく検証する技術を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態に係る画面出力システムの全体構成図である。
【図２】図１のディスプレイタイミング設定部の構成図の一例である。
【図３】図１のディスプレイタイミング設定部の構成図の別の例である。
【図４】図１の関心領域特定部の構成図の一例である。
【図５】表示領域を、水平方向を長手方向とした５つの矩形領域に分割した様子を、非表示領域とともに表した図である。
【図６】図４のライン方向判定部の構成図である。
【図７】ＨｓｙｎｃおよびＶｓｙｎｃと、画像の表示領域との関係を表した図である。
【図８】図１の関心領域特定部の構成図の別の例である。
【図９】図８のラインカウント部の構成図である。
【図１０】図８のラインカウント比較部の構成図である。
【図１１】図１の関心領域特定部の構成図の更に別の例である。
【図１２】図１１のラインカウント部の構成図である。
【図１３】図１１のラインカウント比較部の構成図である。
【図１４】表示領域内に矩形の第１の領域および第２の領域のふたつを関心領域として設定した様子を表した図である。
【図１５】図１１の関心領域判定部の構成図である。
【図１６】図１５の反転領域演算部の構成図である。
【図１７】表示領域内に矩形の領域を除外領域とする関心領域を設定した様子を表した図である。
【図１８】図１の写像変換部の構成図である。
【図１９】表示領域内に表示されているウィンドウの表示位置が変化した場合に、その変化の前後におけるウィンドウを表した図である。
【図２０】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子を図示したものである。
【図２１】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子の別の例を図示したものである。
【図２２】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子のさらに別の例を図示したものである。
【発明を実施するための形態】
【００１５】
図１は、実施の形態に係る画面出力システムの全体構成図である。ピクセル読出部１０はディスプレイタイミング設定部１６から取得するピクセルクロック（画素描画の周波数）に基づいてディスプレイバッファ１２からピクセルデータを読み出し、画像出力部１４に出力する。画像出力部１４はディスプレイタイミング設定部１６からピクセルクロックとＨｓｙｎｃ（水平同期信号）とを取得し、図示しないモニタ等の表示デバイスにピクセル読出部１０から取得したピクセルを出力する。
【００１６】
写像変換部１８は関心領域情報入力部２０から写像変換の対象となる関心領域の情報を受け取り、ディスプレイタイミング設定部１６のピクセルクロックとＨｓｙｎｃを参照して関心領域に含まれるピクセルを特定し、ピクセルデータに基づいて有限ビットを生成する。生成された有限ビットは有限ビット比較部２２に送られ、有限ビット格納部２４に格納された有限ビットと比較される。
【００１７】
有限ビット格納部２４に格納する情報は、例えば、関心領域に本来表示されるべき画像を写像変換して得られた有限ビットである。有限ビット比較部２２の比較結果が一致するか否かによって、ピクセル読出部１０やディスプレイタイミング設定部１６等が正しく動作しているか否かの検証が可能となる。
【００１８】
有限ビット格納部２４に格納する情報の別の例としては、フレームの過去画像における関心領域を写像変換して得られた有限ビットである。有限ビット比較部２２の比較結果が一致するか否かによって、関心領域においてフレームの過去画像と比較して変化があったか否かを検出することができる。フレームの過去画像とは、例えば１フレーム前の画像等である。
【００１９】
写像変換部１８は関心領域特定部２６、ピクセル選択部２８、有限ビット生成部３０を含む。関心領域特定部２６は関心領域情報入力部２０から写像変換の対象となる関心領域の情報を受け取り、ディスプレイタイミング設定部１６のピクセルクロックとＨｓｙｎｃとを参照して関心領域を特定し、関心領域に含まれるピクセルか否かの情報を出力する。ピクセル選択部２８は関心領域特定部２６の出力結果に基づき、関心領域に含まれるピクセルの場合にはピクセルデータを有限ビット生成部３０に出力する。有限ビット生成部３０は関心領域特定部２６から関心領域識別番号を受け取って、ピクセル選択部２８から取得したピクセルデータに基づき、関心領域ごとに有限ビットを生成する。
【００２０】
ここで写像変換とは、画像のピクセルデータ等の大量のデータから有限ビットへの写像を意味し、例えばＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）やＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ  ５）等のハッシュ値を生成するものであればどのようなものでも良い。
【００２１】
図２はディスプレイタイミング設定部１６の内部構造の一例を図示したものである。ディスプレイタイミング設定部１６はピクセルクロック生成部３２とタイミング信号生成部３４とを含む。ピクセルクロック生成部３２はさらに基準周波数発振部３６と任意周波数発生部３８とを含む。
【００２２】
基準周波数発振部３６は特定の周波数の信号を高い精度で発振するものであり、例えば水晶振動子を用いて実現できる。任意周波数発生部３８は基準周波数発振部３６から得られた信号をピクセルクロック信号に変換するものである。これは、例えばＰＬＬ回路と分周器等を用いて実現できる。
【００２３】
タイミング信号生成部は任意周波数発生部３８から得られたピクセルクロックに基づいてＨｓｙｎｃを生成する。本例では、ディスプレイタイミング設定部１６はピクセルクロック生成部３２で生成したピクセルクロックをタイミング信号生成部３４に送る前に分岐して外部に出力する。
【００２４】
図３はディスプレイタイミング設定部１６の内部構造の別の例を図示したものである。本例ではピクセルクロックをタイミング信号生成部３４から取り出す。これは、Ｈｓｙｎｃを生成するためにタイミング信号生成部３４はピクセルクロックを取得しているので、その情報を出力することで実現できる。前述のようなピクセルクロックをタイミング信号生成部３４に送る前に分岐して外部に出力する場合と比べて、タイミング信号であるピクセルクロックとＨｓｙｎｃの発振源を統一できるため、遅延等の抑制をしやすい点で有利である。
【００２５】
図４は関心領域特定部２６の内部構造を図示したものである。関心領域特定部はピクセル方向判定部４０、ライン方向判定部４２、関心領域判定部４４を含む。
【００２６】
まず、ピクセル方向判定部４０およびライン方向判定部４２はそれぞれ関心領域情報入力部２０から関心領域の位置情報を取得する。その後、ピクセル方向判定部４０は、ディスプレイタイミング設定部１６からピクセルクロックを受け取り、ピクセル読出部１０で現在読み出されたピクセルの座標が、関心領域の水平方向（Ｘ軸方向）の存在領域に含まれるか否かを判定する。また、ライン方向判定部４２は、ディスプレイタイミング設定部１６からＨｓｙｎｃを受け取り、当該ピクセルの座標が関心領域の垂直方向（Ｙ軸方向）の存在領域に含まれるか否かを判定する。
【００２７】
関心領域判定部４４は、ピクセル方向判定部４０とライン方向判定部４２とからそれぞれ、現在読み出されたピクセルが関心領域の水平方向および垂直方向の存在領域に含まれるか否かの情報を受け取り、それらの情報に基づいて当該ピクセルが関心領域に含まれるか否かを判定する。その際、画像内に複数の関心領域が存在する場合でも正しく判定するために、関心領域判定部４４は関心領域情報入力部２０から関心領域の水平方向および垂直方向の位置関係を定める識別情報を受け取る。識別情報を参照することで、関心領域判定部４４は関心領域の水平方向および垂直方向の存在領域の正しい組み合わせを判断することができる。判断の結果はピクセル選択部２８に送られる。
【００２８】
以後、実施の形態に係るライン方向判定部４２について具体例を用いて説明する。
【００２９】
図５は表示領域を領域１から領域５までの５つの領域に分けた場合を例示したものである。画像の表示領域は水平方向がＸ１（例えば１９２０ピクセル）の大きさであり、垂直方向がＹ５（例えば１０８０ライン）の大きさである。通常、本実施例のようなビデオ信号にはブランク期間が存在する。図５においては水平方向がＸ１からＸ２、垂直方向はＹ５からＹ６がブランク期間である。Ｘ２の大きさは例えば２２００であり、Ｙ６の大きさは例えば１１２５である。水平方向がＹ６、垂直方向がＸ２の長方形から前記表示領域を除いた領域が非表示領域となる。
【００３０】
図６はライン方向判定部４２の内部構造のひとつの例である。本例では、ライン方向判定部４２はレジスタ群４６、Ｈｓｙｎｃのカウント部４８、比較部５０、カウンターリセット部５２を含む。
【００３１】
レジスタ群４６は、関心領域情報入力部２０から関心領域を特定するための垂直方向の座標を受け取り格納する。例えば、関心領域が図５に示されるように画像を水平方向を長手方向とした５つの長方形に分割したものである場合には、画像中最も上部にある領域（第１の領域）は、隣接する領域（第２の領域）との境界のＹ座標であるＹ１に基づいて特定できる。そこで、レジスタ１にＹ１を格納する。第２の領域は、領域１との境界のＹ座標であるＹ１と、第１の領域の反対側で隣接する領域（第３の領域）との境界のＹ座標であるＹ２に基づいて特定できるので、レジスタ２にＹ２を格納する。同様に、第３の領域はＹ２およびＹ３、第４の領域はＹ３およびＹ４に基づいて特定できるから、Ｙ３をレジスタ３、Ｙ４をレジスタ４にそれぞれ格納する。第５の領域は第４の領域との境界Ｙ４よりもＹ座標の大きい領域であるから、Ｙ４のみを用いて特定できる。以上より、５つの領域を特定するためには４つのレジスタが必要である。一般に、ｎ個の領域を特定するためには少なくともｎ−１個のレジスタが必要である。
【００３２】
カウント部４８はディスプレイタイミング設定部１６からＨｓｙｎｃを受け取るたびに図示しないカウンターの値をひとつ増加する。このカウンターの値は現在読み出されたピクセルが表示される位置のＹ座標を表すから、この値とレジスタ群４６に格納されている値とを比較することにより、当該ピクセルがどの領域に含まれるかを知ることができる。
【００３３】
比較部５０は、カウンターの値とレジスタ群４６に格納されている値とを受け取って比較する。具体的には、比較部５０はまずカウンターの値とレジスタ１に格納されているＹ１とを比較する。この結果、カウンターの値がＹ１よりも小さい場合には、当該ピクセルは第１の領域に含まれていることになるから、ライン方向の識別子として、１を関心領域判定部４４に出力する。カウンターの値がＹ１よ以上の場合には、カウンターの値とレジスタ２に格納されているＹ３とを比較する。この結果、カウンターの値がＹ３よりも小さい場合には、当該ピクセルは第２の領域に含まれていることになるから、ライン方向の識別子として、２を関心領域判定部４４に出力する。
【００３４】
以後、同様の比較を繰り返し、カウンターの値がレジスタ３に格納されているＹ３よりも小さければ３を、Ｙ３以上かつレジスタ４に格納されているＹ４よりも小さい場合には４を関心領域判定部４４に出力する。Ｙ４以上の場合には当該ピクセルは第５の領域に含まれることになるから５を関心領域判定部４４に出力する。
【００３５】
カウンターが飽和することを防ぐため、適切なタイミングでカウンターの値を０にリセットする必要がある。具体的には、カウンターの値が表示領域の垂直方向の境界座標（Ｙ５）を超え、非表示領域の垂直方向の境界座標（Ｙ６）に到達したら、比較部５０はカウンターリセット部５２に信号を送り、カウンターリセット部５２はカウント部４８のカウンターの値を０にリセットする。これを実現するためにレジスタ群４６のレジスタ５に、非表示領域の垂直方向の境界座標であるＹ６を格納しておく必要がある。よって、５つの領域を特定する場合には、カウンターをリセットすることも考慮すると、５つのレジスタが必要となる。一般に、ｎ個の領域を特定するためには少なくともｎ個のレジスタが必要となる。
【００３６】
カウンターのリセットは上記の他に、垂直同期信号（Ｖｓｙｎｃ）を利用することでも実現できる。以下、Ｖｓｙｎｃを利用したカウンターのリセットの方法について説明する。
【００３７】
図７は、Ｈｓｙｎｃ１５２およびＶｓｙｎｃ１５４と、画像の表示領域との関係を模式的に表したものである。図７は水平方向、垂直方向ともに表示領域の左右（上下）に非表示領域が存在する場合について図示したものである。
【００３８】
Ｖｓｙｎｃは、ラスタースキャンによるピクセル描画における垂直方向の同期を取るために用いられる。したがって、Ｖｓｙｎｃがアサートされるタイミングでカウンターの値を０にリセットすれば、ラインを正しくカウントすることができる。図７に示すような垂直方向の上下に非表示領域は、Ｖｓｙｎｃがアサートされた直後の垂直ブランキング期間１５６と、表示領域の描画後に次のＶｓｙｎｃがアサートされるまでの間の垂直ブランキング期間１５８との存在によるものである。そこで、このようなブランキング期間が存在する場合には、表示領域の垂直方向の境界座標値（Ｙ１〜Ｙ５）として、垂直ブランキング区間１５６に相当するライン数ＶＢＩ１をオフセットとして加算した値をレジスタ群４６の各レジスタに格納する必要がある。
【００３９】
垂直ブランキング期間に垂直ブランキング区間１５６に相当するライン数ＶＢＩ１および垂直ブランキング区間１５８に相当するライン数ＶＢＩ２が存在するのと同様に、水平同期信号１５２についても、Ｈｓｙｎｃがアサートされた直後の水平ブランキング期間ＨＢＩ１１６０と、表示領域描画後に次のＨｓｙｎｃがアサートされるまでの間の水平ブランキング期間ＨＢＩ２１６２とが存在する。結果として、図７に示すように、表示領域が非表示領域に囲まれる形となる。
【００４０】
なお、Ｖｓｙｎｃに基づいてカウンターをリセットする場合には、カウンターリセットのためのレジスタが不要となるので、ｎ個の領域を特定するためには少なくともｎ−１個のレジスタを用意すればよい。また、Ｖｓｙｎｃを利用する場合は、ディスプレイタイミング設定部１６内のタイミング信号生成部３４においてＨｓｙｎｃを計数する等の方法により生成されているものとする。
【００４１】
上記は、ディスプレイタイミング設定部１６からＨｓｙｎｃを受け取りカウント部４８でカウントすることでピクセルの垂直方向の位置座標を取得する場合について説明した。ディスプレイタイミング設定部１６内のタイミング信号生成部３４がピクセルのラスター位置を保存するレジスタを持っている場合などは、そこから直接カウント値を読み出しても良い。この場合も、カウンターリセットのためのレジスタは不要となる。
【００４２】
以上はライン方向判定部をひとつのまとまった機能を持つものとして説明したが、ライン方向判定部４２は、ラインカウント部５４と、ラインカウント比較部５６とのふたつの機能を含むものとして考えることもできる。図８はそのような場合の一例を図示したものである。ライン方向判定部４２と同様、ピクセル方向判定部４０もピクセルカウント部５８とピクセルカウント比較部６０とを含む。
【００４３】
図９は図８におけるラインカウント部５４の内部構造を図示したものである。ラインカウント部５４はカウント部６２とカウンターリセット部６４とを含む。カウント部６２は前述のカウント部４８と同様の機能を持つものであり、現在読み出されたピクセルの垂直方向の位置座標を後述のラインカウント比較部５６に出力する。ラインカウント部５４内のカウンターが飽和することを防ぐために、カウンターリセット部６４は後述のラインカウント比較部５６からカウンターのリセット信号を受け取り、カウンターの値を０にリセットする。
【００４４】
図１０は図８におけるラインカウント比較部５６の内部構造を図示したものである。ラインカウント比較部５６はレジスタ群６６、比較部６８、リセット信号送信部７０を含む。レジスタ群６６および比較部６８はそれぞれ前述のレジスタ群４６および比較部５０と同様の機能を持つものである。比較部６８は、ラインカウント部５４内のカウント部６２から受け取ったピクセルの位置座標がレジスタ群４６のレジスタｎに格納された非表示領域の垂直方向の境界座標以上となった場合、リセット信号送信部７０にカウンターのリセット信号を送信するように要求する。リセット信号送信部７０は、リセット信号送信の受け取ると、ラインカウント部５４内のカウンターリセット部６４にカウンターのリセット信号を送信する。
【００４５】
以上は、ラインカウント比較部５６がラインカウント部５４内のカウンターのリセット時期を判断する場合について説明したが、カウンターのリセット時期をラインカウント部内で判断するようにすることもできる。図１１はそのような場合の一例を図示したものである。この例においても、ライン方向判定部４２はラインカウント部７２とラインカウント比較部７４とを含む。同様に、ピクセル方向判定部４０はピクセルカウント部７６とピクセルカウント比較部７８とを含む。
【００４６】
図１２は図１１におけるラインカウント部７２の内部構造を図示したものである。ラインカウント部７２はレジスタ８０、カウント部８２、比較部８４、カウンターリセット部８６を含む。カウント部８２はディスプレイタイミング設定部１６からＨｓｙｎｃを受け取りカウントすることで、現在読み出されたピクセルの垂直方向の位置座標を取得する。取得した位置座標は後述のラインカウント比較部７４内の比較部９０に出力するとともに、比較部８４にも出力する。比較部８４は、関心領域情報入力部から非表示領域の垂直方向の境界座標を受け取り保持しているレジスタ８０から当該境界座標を取得し、カウント部８２から取得したピクセルの位置座標との比較を行う。ピクセルの位置座標が非表示領域の垂直方向の境界座標値以上となった場合、カウンターリセット部８６にカウント部８２内のカウンターの値を０とするように要求する。カウンターリセット部８６は比較部８４からの要求に応じ、カウント部８２内のカウンターの値を０にリセットする。
【００４７】
図１３は図１１におけるラインカウント比較部の内部構造を図示したものである。ラインカウント比較部７４はレジスタ群８８と比較部９０とを含む。ラインカウント比較部７４は前述したラインカウント比較部５６とは異なり、ラインカウント部内のカウンターのリセット時期について判断する必要がない。したがって、レジスタ群８８は非表示領域の垂直方向の境界座標を保持するレジスタも不要となる。比較部９０は前述した５０と同様の機能を持つものである。
【００４８】
以上、ライン方向判定部４２について具体的に説明した。ピクセル方向判定部４０はライン方向判定部４２とほぼ同様の構造を持つ。ライン方向判定部との違いはＨｓｙｎｃの代わりにピクセルクロックを受け取って、現在読み出されたピクセルの水平方向の位置を取得することである。このため、ピクセル方向判定部４０は関心領域情報入力部２０から、関心領域の水平方向の境界座標および、非表示領域の水平方向の境界座標を受け取り、内部のレジスタ群に格納する。
【００４９】
また、ライン方向判定部４２で説明した場合と同様に、ライン方向判定部内のカウンターのリセットのため、同期信号を利用することも可能である。具体的には、同期信号としてＨｓｙｎｃがアサートされるタイミングでカウンターをリセットすればよい。
【００５０】
以後、実施の形態に係る関心領域判定部４４について具体例を用いて説明する。
【００５１】
図１４は表示領域内に第１の領域と第２の領域との、ふたつの矩形上の関心領域が存在する例を図示したものである。第１の領域は、水平方向の識別子が２でありかつ垂直方向の識別子が２の領域として特定することができる。ここで、水平方向の識別子とは、ライン方向判定部が垂直方向の識別子として出力する垂直方向の識別子と同様に、現在読み出されたピクセルが、水平方向のどの関心領域に含まれるかについてピクセル方向判定部４０が出力した識別子を意味する。第２の領域は水平方向の識別子が４でありかつ垂直方向の識別子が４の領域として特定できる。なお、図１４は表示領域のみを図示してあり、非表示領域については図示していない。
【００５２】
図１５は関心領域判定部４４の内部構造を図示したものである。関心領域判定部４４はレジスタ群９２、識別子比較部９４、論理積演算部９６、反転領域演算部９８を含む。レジスタ群９２は、関心領域情報入力部２０から関心領域を特定するための情報を受け取り格納する部分である。例えば、図１４に示すように表示領域内に第１の領域と第２の領域とのふたつの矩形上の関心領域が存在する場合には、第１の領域の水平方向識別子である２がレジスタ群９２内のＸレジスタ１に格納される。また、第１の領域の垂直方向識別子である２はレジスタ群９２内のＹレジスタ１に格納される。同様に、第２の領域の水平方向識別子である４はＸレジスタ２に、垂直識別子である４はＹレジスタ２に格納される。反転レジスタは０又は１の値を取る１ビットのレジスタである。したがって、レジスタ群９２は少なくとも関心領域の数の２倍＋１の数のレジスタを含む。反転レジスタの詳細については後述する。
【００５３】
識別子比較部９４は、レジスタ群９２に格納されている識別子と、ピクセル方向判定部４０およびライン方向判定部４２から受け取った識別子とを比較し、両者が一致するか否かを判定する部分である。例えば識別子比較部９４内の水平方向識別子比較部１はＸレジスタ１に格納されている値である３と、ピクセル方向判定部４０から受け取った値とを比較し、同じ値であれば１を、異なる値であれば０を出力する。
【００５４】
論理積演算部９６は、関心領域それぞれについての水平方向および垂直方向の識別子の比較結果を識別子比較部９４から受け取り、その論理積を計算する部分であり、少なくとも関心領域の数と同数の論理積演算器を含む。例えば、論理積演算部９６内の論理積演算器１は、識別子比較部９４内の水平方向識別子比較部１および垂直方向識別子比較部１の出力結果の論理積を計算する。現在読み出されたピクセルが第１の関心領域に含まれるものであれば、水平方向識別子比較部１および垂直方向識別子比較部１の出力はともに１となるから、論理積演算器１の出力は１となる。当該ピクセルが第１の関心領域に含まれない場合には、水平方向識別子比較部１、垂直方向識別子比較部１のどちらか一方あるいは両方の出力が０となるから、論理積演算器１の出力は０となる。すなわち、各関心領域に対応する論理積演算器の出力が１であれば当該ピクセルは対応する関心領域に含まれることを意味し、対応する論理積演算器の出力が０であれば、当該ピクセルは対応する関心領域に含まれないことを意味する。
【００５５】
反転領域演算部９８は論理積演算部９６からの出力、すなわち、当該ピクセルが各関心領域に含まれているか否かについての情報と、反転レジスタの情報とを受け取り、当該ピクセルが関心領域に含まれている否か、含まれているとするならばどの領域に含まれているかを決定する部分である。以後、反転領域演算部９８の動作について説明する。
【００５６】
図１６は反転領域演算部９８の内部構造を図示したものである。反転領域演算部９８は論理和演算部１００、乗算部１０２、加算部１０４、排他的論理和演算器１０６を含む。論理和演算部１００は論理積演算部９６から当該ピクセルが各関心領域に含まれているか否かについての情報を受け取り、それら全ての論理和を計算する部分である。すなわち、当該ピクセルがいずれかの関心領域に含まれている場合には１を出力し、当該ピクセルがどの関心領域にも含まれていない場合には０を出力する。
【００５７】
乗算部１０２は論理積演算部９６から当該ピクセルが各関心領域に含まれているか否かについての情報を受け取り、当該情報それぞれについて所定の定数を乗算する部分であり、少なくとも関心領域と同数の乗算器を含む。すなわち、乗算部１０２には関心領域それぞれに対応する乗算器を含む。図１４に示すような表示領域内に第１の領域と第２の領域とのふたつの矩形上の関心領域が存在する場合において、当該ピクセルが関心領域２に含まれていると仮定する。この場合論理積演算部から送られてくる値（９６ｂを経由して送られてくる値）が１となり、関心領域１に対応する値（９６ａを経由して送られてくる値）は０である。関心領域それぞれに対応する乗算器は、関心領域の通し番号と同一数で当該ピクセルの内包情報を乗算するものであり、関心領域１に対応する乗算器では０×１、関心領域２に対応する乗算器では１×２の乗算が実行される。
【００５８】
加算部１０４は、乗算部１０２に含まれる各乗算器の出力の総和を計算する部分である。本例では、関心領域１に対応する乗算器の出力は０であり、関心領域２に対応する乗算器の出力は２であるから、加算部１０４は０＋２＝２の値を出力する。一般に、ひとつのピクセルが同時に複数の関心領域に含まれることはないから、加算部１０４の出力は、当該ピクセルが含まれる領域の通し番号と同一の値となる。なお、当該ピクセルがいずれの関心領域にも含まれない場合には、論理積演算部から得られる値はいずれも０となるから、加算部１０４の出力は０となる。
【００５９】
以上の構成によれば、当該ピクセルが関心領域のいずれかに含まれる場合、論理和演算部１００の出力が１となり、加算部１０４の出力が、当該ピクセルの含まれる領域の番号となる。当該ピクセルがいずれの関心領域にも含まれない場合には、論理和演算部１００と加算部１０４の出力とはともに０となる。
【００６０】
関心領域が図１４に示すような表示領域内のいくつかの矩形領域の場合には、上述した構成で当該ピクセルが関心領域のいずれかに含まれるか否かを決定することができる。しかしながら、関心領域として表示領域内の特定の矩形領域を除外した形状の領域も扱うためには、上記説明に加えさらに処理を行う必要がある。反転レジスタの情報はそのために使用されるものであり、具体的には、排他的論理和演算器１０６は論理和演算部１００の出力と反転レジスタの値との排他的論理和を計算する。当該ピクセルが関心領域のいずれかに含まれるときに１を出力し、関心領域に含まれないときは０を出力するように構成する。以下、そのような構成について具体的に説明する。
【００６１】
図１７は関心領域として表示領域内の特定の矩形領域を除外した領域を設定した場合について例示したものである。具体的には、表示領域全体から水平方向がＸ１〜Ｘ２、垂直方向がＹ１〜Ｙ２の矩形領域を場外した領域である。すなわち、水平方向識別子が２でありかつ垂直方向識別子が２である領域を除外した領域である。
【００６２】
まず、関心領域判定部４４におけるレジスタ群９２内のＸレジスタ１に、除外領域を特定するための水平方向識別子である２の値を格納する。また、Ｙレジスタ１には、垂直方向識別子である２を格納する。これにより、当該ピクセルが除外領域に含まれる場合には、論理和演算部１００の出力が１となり、加算部１０４の出力が１となる。ここで、本例のように、除外領域を特定することで関心領域を設定する場合には、関心領域情報入力部２０を用いて、レジスタ群９２内の反転レジスタの値を１に設定する。このとき、排他的論理和演算器１０６は、論理和演算部１００の出力である１と反転レジスタの値である１との排他的論理和を取って０を出力する。すなわち、当該ピクセルは関心領域に含まれないと判断できる。一方、当該ピクセルが除外領域に含まれない場合には、論理和演算部１００の出力は０となるから、排他的論理和演算器１０６の出力は１となる。当該ピクセルが除外領域に含まれないとことは当該ピクセルが関心領域の含まれることを意味するから、排他的論理和演算器１０６の出力である１と一致する。
【００６３】
なお、関心領域として図１４に示すような表示領域内のいくつかの矩形領域として設定する場合には、反転レジスタの値を０に設定する。このとき、当該ピクセルがいずれかの関心領域に含まれる場合には論理和演算部１００の出力は１となるが、この値と反転レジスタの値である０との排他的論理和は１となり、論理和演算部１００の出力値と変わらない。また、当該ピクセルがいずれの関心領域にも含まれない場合には論理和演算部１００の出力は０となるが、この値と反転レジスタの値である０との排他的論理和は０となり、この場合も論理和演算部１００の出力値と変わらない。
【００６４】
以上まとめると、関心領域が図１４に示すような表示領域内をいくつかの矩形領域として設定する場合および図１７に示すような除外領域を特定することで関心領域を設定する場合のいずれの場合においても、当該ピクセルが関心領域に含まれる場合には、排他的論理和演算器１０６の値は１となる。逆に、当該ピクセルがいずれの関心領域にも含まれない場合には排他的論理和演算器１０６の値は０となる。さらに、関心領域が図１４に示すように表示領域内のいくつかの矩形領域として設定される場合には、加算部１０４の出力は当該ピクセルを含む関心領域の通し番号を出力する。関心領域が図１７に示すように除外領域を特定することで関心領域を設定する場合には、加算部１０４の出力は０となる。
【００６５】
次に、写像変換部１８内のピクセル選択部２８について説明する。ピクセル選択部２８はピクセル読出部１０が読み出したピクセルを受け取る。また、関心領域特定部２６内の排他的論理和演算器１０６の出力を受け取り、ピクセル読出部１０が現在読み出したピクセルが関心領域に含まれるか否かを判断する。すなわち、排他的論理和演算器１０６の出力が１の場合には当該ピクセルが関心領域に含まれるものであり、写像変換の対象となる画像を構成するピクセルとして有限ビット生成部３０に出力する。排他的論理和演算器１０６の出力が０の場合には当該ピクセルが関心領域に含まれないものと判断する。
【００６６】
図１８は有限ビット生成部３０の内部構造を図示したものである。有限ビット生成部３０は有限ビット計算部選択部１０８、有限ビット計算部群１１０、有限ビット格納レジスタ群１１２を含む。有限ビット計算部選択部１０８は、ピクセル選択部２８からピクセル情報を受け取り、関心領域特定部２６内の加算部１０４から当該ピクセルが含まれる関心領域の番号を受け取る。有限ビット計算部選択部１０８は、受け取った番号に基づいて当該ピクセル情報を計算すべき有限ビット計算部を選択し、当該ピクセル情報を出力する。例えば、当該ピクセルが第２の関心領域に含まれるという情報を受け取った場合には、当該ピクセル情報を有限ビット計算部群１１０内の有限ビット計算部２に出力する。
【００６７】
有限ビット計算部群１１０は、少なくとも関心領域と同数の有限ビット計算部を含む。各有限ビット計算部は対応する関心領域に含まれるピクセル情報を写像変換して有限ビットに変換する。前述したとおり、写像変換とは画像のピクセルデータ等の大量のデータから有限ビットへの写像を意味し、例えばＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）やＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ  ５）等のハッシュ値を生成するものであればどのようなものでも良いが、ＣＲＣは写像変換すべき関心領域内のピクセル情報がすべて揃わなくとも計算を開始することができる点で有利である。また、ＣＲＣを採用する場合には、ＣＲＣ値は例えば３２ｂｉｔとする。
【００６８】
有限ビット格納レジスタ群１１２は、少なくとも関心領域と同数の有限ビット格納レジスタを含む。各有限ビット格納レジスタは対応する関心領域に含まれるピクセル情報を写像変換して得られた有限ビットを格納する。格納された有限ビットは有限ビット比較部２２によって参照される。
【００６９】
なお、関心領域が図１７に示すような除外領域を特定することで設定されている場合には、関心領域の番号は０となる。この場合、有限ビット計算部としてはいずれを用いても良い。
【００７０】
以上、実施の形態に係る写像変換部１８により、関心領域を写像変換して有限ビットを導出するまでの流れについて説明した。以後、実施の形態に係る写像変換部１８の応用例について説明する。
【００７１】
応用例のひとつとして表示領域内を移動するウィンドウを追尾して、そのウィンドウ内の画像が変化したか否かを検出する例について説明する。図１９は表示領域上に水平方向の長さがＷ、垂直方向の長さがＨである矩形領域のウィンドウ１１４が表示されている様子を図示したものである。矩形領域の４つの頂点の座標はそれぞれ（Ｘ０，Ｙ０）、（Ｘ０＋Ｗ，Ｙ０）、（Ｘ０，Ｙ０＋Ｈ）、（Ｘ０＋Ｗ，Ｙ０＋Ｈ）である。本例では、表示領域は水平方向の大きさが１９２０、垂直方向の大きさが１０８０であり、非表示領域まで含めると、水平方向の大きさが２２００、垂直方向の大きさが１１２５であるものとする。また、表示はオペレーティングシステムやアプリケーションプログラムによって制御されており、当該オペレーティングシステムやアプリケーションプログラムはウィンドウが表示されている座標や当該ウィンドウの大きさを知っているものとする。
【００７２】
まず、ウィンドウの位置や大きさが固定されている場合について説明する。この場合は関心領域がひとつの矩形で設定されている場合に相当する。
【００７３】
オペレーティングシステムやアプリケーションプログラムは関心領域情報入力部２０を介してライン方向判定部４２内のレジスタ１にＸ０を、レジスタ２にＸ０＋Ｗを設定する。同様に、ピクセル方向判定部４０内のレジスタ１にＹ０を、レジスタ２にＹ０＋Ｈを設定する。なお、Ｘ０＋Ｗが２２００を超える場合にはＸ０＋Ｗに換えて２２００を、Ｙ０＋Ｈが１１２５を超える場合にはＹ０＋Ｈに換えて１１２５をそれぞれ用いる。続いてオペレーティングシステムは関心領域情報入力部２０を介して関心領域判定部４４内のＸレジスタ１に矩形領域を特定するための水平方向識別子およびＹレジスタ１に垂直方向識別子を設定する。本例の場合、矩形領域となるウィンドウは水平方向識別子が２、垂直方向識別子が２として特定されるから、関心領域判定部４４内のＸレジスタ１に２をＹレジスタ１に２をそれぞれ設定する。関心領域がひとつの矩形で設定されている場合に相当するから、反転レジスタの値は０に設定する。
【００７４】
上記の設定によりウィンドウ内の画像に変更があった場合、変更の前後で有限ビット生成部３０で生成される有限ビットの値は異なったものとなる。そこで、毎フレームごとに有限ビットを計算して有限ビット格納部２４に格納しておき、有限ビット比較部２２いおいて前後するフレームの有限ビットを比較することにより、ウィンドウ内の画像変化を検出することが可能となる。これにより、例えば特定のウィンドウ内のみを遠隔地に送信している場合において、ウィンドウ内に変更があった場合にのみウィンドウ内の画像を送信することにより、送信時間や使用帯域を抑制することができる。表示領域全体での変化を検出する場合には特定のウィンドウの表示位置のみ変更があり、ウィンドウ内の画像には変更がない場合でも、変更があったものとして画像情報を送信しなければならないことと比較し、本手法は送信時間や使用帯域を抑制できる点で有利である。
【００７５】
ウィンドウの位置や大きさが固定されておらず、例えばユーザによって表示位置が変更される場合でも、表示領域内を移動するウィンドウを追尾して、そのウィンドウ内の画像が変化したか否かを検出することが可能である。以下、このことについて説明する。
【００７６】
前述したとおり、通常、ウィンドウの表示はオペレーティングシステムやアプリケーションプログラムによって制御されているから、それらはウィンドウの表示されている座標やウィンドウの大きさを知っている。そこで、ウィンドウの位置がユーザによって変更された場合は、都度、関心領域情報入力部２０を介して関心領域の情報を関心領域特定部２６に送信することにより、ウィンドウ内の画像について写像変換することが可能となる。例えば、図１９に図示するように、ウィンドウ１１４を水平方向にα、垂直方向にβ移動し、ウィンドウの４つの頂点の座標がそれぞれ（Ｘ０＋α，Ｙ０＋β）、（Ｘ０＋α＋Ｗ，Ｙ０＋β）、（Ｘ０＋α，Ｙ０＋β＋Ｈ）、（Ｘ０＋α＋Ｗ，Ｙ０＋β＋Ｈ）であるウィンドウ１１６となったとする。このとき、オペレーティングシステムやアプリケーションプログラムは関心領域情報入力部２０を介してライン方向判定部内のレジスタ１にＸ０＋αに、レジスタ２にＸ０＋α＋Ｗに変更すればよい。同様に、ピクセル方向判定部内のレジスタ１にＹ０＋βを、レジスタ２にＹ０＋β＋Ｈに変更すればよい。
【００７７】
本例とは逆に、特定の領域を除外領域とする処理を行えば、表示領域内の特定の領域について画像の変化を検出しないようにすることもできる。これは、例えばリモートデスクトップ等の利用において、送信元の表示領域内でカーソルが点滅する場合等、わざわざ送信するまでもない変化についてあらかじめ分かっている場合に，その部分について画像の変化を検出しないようにすることで、送信時間や使用帯域の抑制ができる。上述の方法を用いれば、例えばカーソルの点滅による画像の変化を除外した場合、当該点滅するカーソルが移動する場合であっても追尾しながら関心領域から除外することもできる。
【００７８】
別の応用例として、ディスプレイバッファから画像出力部に至るまでの間にいくつかの画像処理装置が存在する場合において、その画像処理装置を構成するハードウェアの動作検証に用いる例について説明する。
【００７９】
図２０はグラフィックプロセッサの全体構成を図示したものである。ディスプレイバッファ１１８に格納された画像が第１の画像処理部１２０、第２の画像処理部１２２を通り、第ｎの画像処理部１２４で処理された後に画像出力部１２６に至る様子を図示している。ここで、各画像処理部はグラフィックプロセッサのパイプライン処理を担当するものであり、例えばスケーリングや色空間変換、ディザリングなど、画像出力に用いられる画像処理を行う。
【００８０】
第１の写像変換部１２８はディスプレイバッファ１１８から画像データを受け取り、画像データの関心領域について写像変換を行い、第１の有限ビットを出力する。ここで、関心領域は画像全体も含む。また、第２の写像変換部１３０は第１の画像処理部１２０の画像処理結果を受け取り、当該結果の画像の関心領域について写像変換を行い、第２の有限ビットを出力する。以後同様に第ｎの写像変換部１３２は第ｎ−１の画像処理部の画像処理結果について、第ｎ＋１の写像変換部は第ｎの画像処理部の関心領域についてそれぞれ有限ビットを生成する。
【００８１】
各画像処理部において本来出力されるべき結果は、あらかじめ例えばコンピュータシミュレーション等を用いて計算し、それぞれの関心領域についての有限ビットを計算しておく。これらの有限ビットは正解有限ビットとして、正解有限ビット格納部に格納しておく。具体的には、ディスプレイバッファに格納されている画像データの関心領域についての正解有限ビットは、第１の正解有限ビット格納部１３６に格納する。第１の画像処理部１２０の画像処理結果の関心領域についての正解有限ビットは、第２の正解有限ビット格納部１３８に格納する。以後同様に、第ｎ−１の画像処理部の画像処理結果の関心領域についての正解有限ビットは第ｎの正解有限ビット格納部１４０に、第ｎの画像処理部の画像処理結果の関心領域についての正解有限ビットは第ｎ＋１の正解有限ビット格納部１４２にそれぞれ格納する。
【００８２】
各写像変換部において得られた有限ビットと対応する正解有限ビットとを比較することにより、一連の画像処理部の動作検証を行うことができる。具体的には、第１の有限ビット比較部１４４において、第１の写像変換部１２８で計算された有限ビットと、第１の正解有限ビット格納部１３６に格納されている有限ビットとを比較し、両者が一致する場合にはディスプレイバッファ１１８から第１の写像変換部１２８の情報の転送に誤りがないことが検証できる。第２の有限ビット比較部１４６において、第２の写像変換部１３０で計算された有限ビットと、第２の正解有限ビット格納部１３８に格納されている有限ビットとを比較し、両者が一致する場合には、第１の画像処理部の画像処理が正しく動作していることが検証できる。また、たとえば第ｎの有限ビット比較部１４８において第ｎ−１の画像処理部の動作が正しいことが検証されている場合に、第ｎ＋１有限ビット比較部１５０おいて第ｎの画像処理部の動作が誤っていると確認された場合、画像処理の不具合は第ｎの画像処理部にあることが特定できる。
【００８３】
一般に、図２０に示すようにパイプライン処理によって画像処理が直列に行われる場合には、上流の画像処理部において起きた誤りは、以後下流の画像処理結果に受け継がれることになる。したがって、本例のように各画像処理部の前後で画像処理の動作を検証することにより、いずれの画像処理部において不具合が起きたかを特定することが可能となる。これにより、たとえば各画像処理部を構成するハードウェアの不具合を特定するに際しての有益な情報が得られる。
【００８４】
図２１は、グラフィックプロセッサの全体構成の別の例を表したものである。ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子の別の例を図示したものである。ディスプレイバッファ１１８に格納された画像が第１の画像処理部１２０、第２の画像処理部１２２を通り、第ｎの画像処理部１２４で処理された後に画像出力部１２６に至ることは前述した図２０に図示した例と同様である。
【００８５】
画像選択部１６４はディスプレイバッファ１１８から画像出力部１２６に至るまでの途中における画像処理結果を取得する部分である。画像処理部は複数あるため中途の画像処理結果も複数あるから、画像選択部１６４は、任意の画像処理結果を選択して取得する。たとえば、第１の画像処理部１２０の画像処理結果を取得したい場合には、第１の画像処理部１２０と第２の画像処理部１２２との間で画像を取得する。
【００８６】
正解有限ビット格納部１７０は、画像選択部１６４で選択して取得した画像処理結果について、本来出力されるべき画像をあらかじめコンピュータシミュレーション等を用いて生成しそこから計算された正解有限ビットを格納する部分である。この正解有限ビットと、写像変換部１６６によって変換された画像選択部１６４が取得した画像とを、有限ビット比較部１６８で比較しすることで、画像選択部１６４で選択した画像処理部の動作検証を行うことができる。画像選択部１６４を設けることで、写像変換部、有限ビット比較部、正解有限ビット格納部の数を抑制できる点でメリットがある。
【００８７】
図２２は、グラフィックプロセッサの全体構成のさらに別の例を表したものである。ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子のさらに別の例を図示したものである。本例においても、ディスプレイバッファ１１８に格納された画像が第１の画像処理部１２０、第２の画像処理部１２２を通り、第ｎの画像処理部１２４で処理された後に画像出力部１２６に至ることは前述した図２０および図２１に図示した例と同様である。また、第１の正解有限ビット格納部１３６、第２の正解有限ビット格納部１３８、第ｎの正解有限ビット格納部１４０、第ｎ＋１の正解有限ビット格納部１４２の複数の正解有限ビット格納部を有する点は、図２０に図示した例と同様である。画像選択部１６４、写像変換部１６６、有限ビット比較部１６８を有する点は図２１に図示した例と同様である。
【００８８】
正解有限ビット選択部１７２は、正解有限ビット格納部に格納されている複数の正解有限ビットから、任意の正解ビットを選択して取得する部分である。これは、例えば画像選択部１６４が第１の画像処理部１２０の画像処理結果を取得した場合には、それと連動して、第１の画像処理部１２０が本来出力すべき画像を写像変換して得た有限ビットを格納してある第２の正解有限ビット格納部１３８から正解有限ビットを取得する。この正解有限ビットと、写像変換部１６６によって変換された画像選択部１６４が取得した画像とを、有限ビット比較部１６８で比較しすることで、画像選択部１６４で選択した画像処理部の動作検証を行うことができる。複数の画像処理部が本来出力すべき画像を写像変換することで得られる有限ビットについてあらかじめ用意できる場合には、画像選択部１６４および正解有限ビット選択部１７２の選択対象を変更するだけで容易に各画像処理部の動作検証を行える点で有利である。
【００８９】
なお、各写像変換部において写像変換の計算に必要なピクセルカウントやＨｓｙｎｃ、関心領域の特定のための情報は外部から適宜入力されているものとする。また、画像選択部１６４、正解有限ビット選択部１７２は、図示しない入力部等を等して、ユーザによる手動や、オペレーティングシステムやアプリケーションプログラム等によって選択対象を自由に変更できる。
【００９０】
上記の例では複数の画像処理部のうちどの画像処理部に不具合があるかを特定するための構成について説明した。本実施例の写像変換部は、ひとたび不具合のある画像処理部を特定した後は、その画像処理部が出力する画像のうちどの領域に不具合があるかを検出することにも利用することができる。以下、この利用方法について説明する。
【００９１】
画像処理部がたとえば画像を構成する画素のうち、特定の色相を持つ画素の色相を変化させるような処理の場合、画像の局所領域が変更される。具体的には、画像の背景の色を置換するような処理の場合である。この場合、まず画像全体について正解有限ビットと画像処理結果から計算される有限ビットとを比較する。この結果両者が一致しない場合には、次は例えば画像の右半分の領域についてのみ、正解有限ビットと画像処理結果から計算される有限ビットとを比較する。このとき両者が一致すれば、画像処理部の不具合は画像の左半分にあることが特定できる。このように、比較に利用する画像領域を少しずつ狭めていくことにより、画像処理部における画像処理において不具合のおきる領域を追い込むことができる。最終的に、不具合領域を特定することが可能となる。
【００９２】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９３】
上記の説明において、関心領域特定部２６およびピクセル選択部２８は、マイコン等を用いてソフトウェアで実現することができる。また、関心領域特定部２６においてピクセルカウント部５８および７６、ならびにラインカウント部５４および７２をハードウェアで実現し、その他の部分をマイコン等を用いてソフトウェアで実現することもできる。また、関心領域特定部２６は簡単な論理演算と比較器等とを用いて実現できるから、全てハードウェアで実現することも可能である。この際、比較部を共有できることから、図６に示すように、ラインカウント部およびラインカウント比較部、ならびにピクセルカウント部およびピクセルカウント比較部を分離せずひとつのハードウェア上で実装することが好ましい。さらに、関心領域判定部４４も簡単な回路で構成できるから、関心領域特定部２６はまとめてひとつのハードウェアブロックとして実装することの方が、コストが下がる点で有利である。
【符号の説明】
【００９４】
１０  ピクセル読出部、  １２  ディスプレイバッファ、  １４  画像出力部、  １６  ディスプレイタイミング設定部、  １８  写像変換部、  ２０  関心領域情報入力部、  ２２  有限ビット比較部、  ２４  有限ビット格納部、  ２６  関心領域特定部、  ２８  ピクセル選択部、  ３０  有限ビット生成部、  ４０  ピクセル方向判定部、  ４２  ライン方向判定部、  ４４  関心領域判定部、  ５２  カウンターリセット部、  ５４  ラインカウント部、  ５６  ラインカウント比較部、  ７０  リセット信号送信部、  ９４  識別子比較部、  ９６  論理積演算部、  ９８  反転領域演算部、  １００  論理和演算部、  １０６  排他的論理和演算器、  １０８  有限ビット計算部選択部、  １１０  有限ビット計算部群、  １２０  第１の画像処理部、  １２８  第１の写像変換部、  １３６  第１の正解有限ビット格納部、  １４４  第１の有限ビット比較部。
【図１】
2010277368.tif 000003
【図２】
2010277368.tif 000004
【図３】
2010277368.tif 000005
【図４】
2010277368.tif 000006
【図５】
2010277368.tif 000007
【図６】
2010277368.tif 000008
【図７】
2010277368.tif 000009
【図８】
2010277368.tif 000010
【図９】
2010277368.tif 000011
【図１０】
2010277368.tif 000012
【図１１】
2010277368.tif 000013
【図１２】
2010277368.tif 000014
【図１３】
2010277368.tif 000015
【図１４】
2010277368.tif 000016
【図１５】
2010277368.tif 000017
【図１６】
2010277368.tif 000018
【図１７】
2010277368.tif 000019
【図１８】
2010277368.tif 000020
【図１９】
2010277368.tif 000021
【図２０】
2010277368.tif 000022
【図２１】
2010277368.tif 000023
【図２２】
2010277368.tif 000024