画像処理装置および画像処理方法
【課題】コンピュータなどのデバイスの画面の変化を効率よく検出する。
【解決手段】
ディスプレイタイミング設定部16は画像をラスタースキャンにより描画するためのタイミングを決定する。ピクセル読出部10はディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す。関心領域情報入力部20は画像中に任意の関心領域を特定するための情報を入力する。関心領域特定部26はディスプレイタイミング設定部16が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する。有限ビット生成部30は前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する。
【解決手段】
ディスプレイタイミング設定部16は画像をラスタースキャンにより描画するためのタイミングを決定する。ピクセル読出部10はディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す。関心領域情報入力部20は画像中に任意の関心領域を特定するための情報を入力する。関心領域特定部26はディスプレイタイミング設定部16が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する。有限ビット生成部30は前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、コンピュータ等から出力される画像の画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
コンピュータネットワークは一般家庭にも普及しており、各部屋のコンピュータを無線LANで互いに接続したり、プリンタを共有することが普通に行われている。また、デジタルカメラで撮影した写真やインターネットからダウンロードした映像を家族で見るために、コンピュータに保存した静止画や動画をリビングルームにあるゲーム機やテレビジョン(TV)システムの画面に手軽に表示させたいというニーズも高まっている。
【0003】
そのため、ゲーム機やTVシステムもコンピュータネットワークに接続し、コンピュータの画面をコンピュータに直接接続されたPCモニタではなく、ネットワークに接続されたゲーム機やTVシステムのディスプレイに表示する機能が求められるようになってきている。
【0004】
遠隔地にあるコンピュータのデスクトップ画面をネットワークに接続された別のコンピュータ上の画面に仮想的に表示し、その仮想デスクトップ画面上での操作を特定のプロトコルでネットワークを介して遠隔地にあるコンピュータに送信することにより、遠隔地のコンピュータを遠隔操作する「リモートデスクトップ」と呼ばれるサービスも利用されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2007/020,2956号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
遠隔地にあるコンピュータのデスクトップ画面を別のコンピュータやTV等の画面に表示して、デスクトップ画面上で遠隔操作するためには、デスクトップの画面を別のコンピュータ等に送信する必要があり、例えばデスクトップ画面を複数の矩形領域に分割し、変更のあった領域のみを送信するといった技術が知られている。しかしながら、この技術では、特定のウィンドウの表示位置のみが変化し、そのウィンドウ内の表示内容は変化しないような場合でも、デスクトップの画面を別のコンピュータに送信することになる。特定のウィンドウの表示内容が重要であり、その表示位置はさして重要でない場合には、送信にかかる時間や手間が無駄となる。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンピュータなどの画面表示データの任意の関心領域の変化を効率よく検出する技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の画像処理装置は、画像をラスタースキャンにより描画するためのタイミングを決定するディスプレイタイミング設定部と、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すピクセル読出部と、画像中に任意の関心領域を特定するための情報を入力する関心領域情報入力部と、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する関心領域特定部と、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する有限ビット生成部とを含む。
【0009】
本発明のさらに別の態様の画像処理装置は、画像情報が格納されたディスプレイバッファと、画像情報を変換する直列に接続された複数の画像処理部と、各画像処理部が実際に出力した画像を写像変換することにより第一の有限ビット列を生成する有限ビット生成部と、各画像処理部が本来出力すべき画像を写像変換することにより得られる第二の有限ビット列と前記第一の有限ビット列とを比較することにより各画像処理部の動作検証を行う有限ビット比較部とを含む。
【0010】
本発明のさらに別の態様は、画像処理方法である。この方法は、画像をラスタースキャンにより描画するためのタイミングを決定するステップと、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すステップと、画像中に任意の関心領域を特定するための情報を入力するステップと、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定するステップと、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成するステップとをプロセッサに実行させる。
【0011】
本発明の更に別の態様は、画像の関心領域を写像変換して有限ビット列を生成するプログラムである。このプログラムは、画像をラスタースキャンにより描画するためのタイミングを決定する機能と、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す機能と、画像中に任意の関心領域を特定するための情報を入力する機能と、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する機能と、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する機能とをコンピュータに実現させる。
【0012】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
コンピュータなどの画面表示データの任意の関心領域の変化を効率よく検出する技術を提供することができる。また、画像が正しく生成されたか否かについて効率よく検証する技術を提供することができる。
【図面の簡単な説明】
【0014】
【図1】実施の形態に係る画面出力システムの全体構成図である。
【図2】図1のディスプレイタイミング設定部の構成図の一例である。
【図3】図1のディスプレイタイミング設定部の構成図の別の例である。
【図4】図1の関心領域特定部の構成図の一例である。
【図5】表示領域を、水平方向を長手方向とした5つの矩形領域に分割した様子を、非表示領域とともに表した図である。
【図6】図4のライン方向判定部の構成図である。
【図7】HsyncおよびVsyncと、画像の表示領域との関係を表した図である。
【図8】図1の関心領域特定部の構成図の別の例である。
【図9】図8のラインカウント部の構成図である。
【図10】図8のラインカウント比較部の構成図である。
【図11】図1の関心領域特定部の構成図の更に別の例である。
【図12】図11のラインカウント部の構成図である。
【図13】図11のラインカウント比較部の構成図である。
【図14】表示領域内に矩形の第1の領域および第2の領域のふたつを関心領域として設定した様子を表した図である。
【図15】図11の関心領域判定部の構成図である。
【図16】図15の反転領域演算部の構成図である。
【図17】表示領域内に矩形の領域を除外領域とする関心領域を設定した様子を表した図である。
【図18】図1の写像変換部の構成図である。
【図19】表示領域内に表示されているウィンドウの表示位置が変化した場合に、その変化の前後におけるウィンドウを表した図である。
【図20】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子を図示したものである。
【図21】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子の別の例を図示したものである。
【図22】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子のさらに別の例を図示したものである。
【発明を実施するための形態】
【0015】
図1は、実施の形態に係る画面出力システムの全体構成図である。ピクセル読出部10はディスプレイタイミング設定部16から取得するピクセルクロック(画素描画の周波数)に基づいてディスプレイバッファ12からピクセルデータを読み出し、画像出力部14に出力する。画像出力部14はディスプレイタイミング設定部16からピクセルクロックとHsync(水平同期信号)とを取得し、図示しないモニタ等の表示デバイスにピクセル読出部10から取得したピクセルを出力する。
【0016】
写像変換部18は関心領域情報入力部20から写像変換の対象となる関心領域の情報を受け取り、ディスプレイタイミング設定部16のピクセルクロックとHsyncを参照して関心領域に含まれるピクセルを特定し、ピクセルデータに基づいて有限ビットを生成する。生成された有限ビットは有限ビット比較部22に送られ、有限ビット格納部24に格納された有限ビットと比較される。
【0017】
有限ビット格納部24に格納する情報は、例えば、関心領域に本来表示されるべき画像を写像変換して得られた有限ビットである。有限ビット比較部22の比較結果が一致するか否かによって、ピクセル読出部10やディスプレイタイミング設定部16等が正しく動作しているか否かの検証が可能となる。
【0018】
有限ビット格納部24に格納する情報の別の例としては、フレームの過去画像における関心領域を写像変換して得られた有限ビットである。有限ビット比較部22の比較結果が一致するか否かによって、関心領域においてフレームの過去画像と比較して変化があったか否かを検出することができる。フレームの過去画像とは、例えば1フレーム前の画像等である。
【0019】
写像変換部18は関心領域特定部26、ピクセル選択部28、有限ビット生成部30を含む。関心領域特定部26は関心領域情報入力部20から写像変換の対象となる関心領域の情報を受け取り、ディスプレイタイミング設定部16のピクセルクロックとHsyncとを参照して関心領域を特定し、関心領域に含まれるピクセルか否かの情報を出力する。ピクセル選択部28は関心領域特定部26の出力結果に基づき、関心領域に含まれるピクセルの場合にはピクセルデータを有限ビット生成部30に出力する。有限ビット生成部30は関心領域特定部26から関心領域識別番号を受け取って、ピクセル選択部28から取得したピクセルデータに基づき、関心領域ごとに有限ビットを生成する。
【0020】
ここで写像変換とは、画像のピクセルデータ等の大量のデータから有限ビットへの写像を意味し、例えばCRC(Cyclic Redundancy Check)やMD5(Message Digest Algorithm 5)等のハッシュ値を生成するものであればどのようなものでも良い。
【0021】
図2はディスプレイタイミング設定部16の内部構造の一例を図示したものである。ディスプレイタイミング設定部16はピクセルクロック生成部32とタイミング信号生成部34とを含む。ピクセルクロック生成部32はさらに基準周波数発振部36と任意周波数発生部38とを含む。
【0022】
基準周波数発振部36は特定の周波数の信号を高い精度で発振するものであり、例えば水晶振動子を用いて実現できる。任意周波数発生部38は基準周波数発振部36から得られた信号をピクセルクロック信号に変換するものである。これは、例えばPLL回路と分周器等を用いて実現できる。
【0023】
タイミング信号生成部は任意周波数発生部38から得られたピクセルクロックに基づいてHsyncを生成する。本例では、ディスプレイタイミング設定部16はピクセルクロック生成部32で生成したピクセルクロックをタイミング信号生成部34に送る前に分岐して外部に出力する。
【0024】
図3はディスプレイタイミング設定部16の内部構造の別の例を図示したものである。本例ではピクセルクロックをタイミング信号生成部34から取り出す。これは、Hsyncを生成するためにタイミング信号生成部34はピクセルクロックを取得しているので、その情報を出力することで実現できる。前述のようなピクセルクロックをタイミング信号生成部34に送る前に分岐して外部に出力する場合と比べて、タイミング信号であるピクセルクロックとHsyncの発振源を統一できるため、遅延等の抑制をしやすい点で有利である。
【0025】
図4は関心領域特定部26の内部構造を図示したものである。関心領域特定部はピクセル方向判定部40、ライン方向判定部42、関心領域判定部44を含む。
【0026】
まず、ピクセル方向判定部40およびライン方向判定部42はそれぞれ関心領域情報入力部20から関心領域の位置情報を取得する。その後、ピクセル方向判定部40は、ディスプレイタイミング設定部16からピクセルクロックを受け取り、ピクセル読出部10で現在読み出されたピクセルの座標が、関心領域の水平方向(X軸方向)の存在領域に含まれるか否かを判定する。また、ライン方向判定部42は、ディスプレイタイミング設定部16からHsyncを受け取り、当該ピクセルの座標が関心領域の垂直方向(Y軸方向)の存在領域に含まれるか否かを判定する。
【0027】
関心領域判定部44は、ピクセル方向判定部40とライン方向判定部42とからそれぞれ、現在読み出されたピクセルが関心領域の水平方向および垂直方向の存在領域に含まれるか否かの情報を受け取り、それらの情報に基づいて当該ピクセルが関心領域に含まれるか否かを判定する。その際、画像内に複数の関心領域が存在する場合でも正しく判定するために、関心領域判定部44は関心領域情報入力部20から関心領域の水平方向および垂直方向の位置関係を定める識別情報を受け取る。識別情報を参照することで、関心領域判定部44は関心領域の水平方向および垂直方向の存在領域の正しい組み合わせを判断することができる。判断の結果はピクセル選択部28に送られる。
【0028】
以後、実施の形態に係るライン方向判定部42について具体例を用いて説明する。
【0029】
図5は表示領域を領域1から領域5までの5つの領域に分けた場合を例示したものである。画像の表示領域は水平方向がX1(例えば1920ピクセル)の大きさであり、垂直方向がY5(例えば1080ライン)の大きさである。通常、本実施例のようなビデオ信号にはブランク期間が存在する。図5においては水平方向がX1からX2、垂直方向はY5からY6がブランク期間である。X2の大きさは例えば2200であり、Y6の大きさは例えば1125である。水平方向がY6、垂直方向がX2の長方形から前記表示領域を除いた領域が非表示領域となる。
【0030】
図6はライン方向判定部42の内部構造のひとつの例である。本例では、ライン方向判定部42はレジスタ群46、Hsyncのカウント部48、比較部50、カウンターリセット部52を含む。
【0031】
レジスタ群46は、関心領域情報入力部20から関心領域を特定するための垂直方向の座標を受け取り格納する。例えば、関心領域が図5に示されるように画像を水平方向を長手方向とした5つの長方形に分割したものである場合には、画像中最も上部にある領域(第1の領域)は、隣接する領域(第2の領域)との境界のY座標であるY1に基づいて特定できる。そこで、レジスタ1にY1を格納する。第2の領域は、領域1との境界のY座標であるY1と、第1の領域の反対側で隣接する領域(第3の領域)との境界のY座標であるY2に基づいて特定できるので、レジスタ2にY2を格納する。同様に、第3の領域はY2およびY3、第4の領域はY3およびY4に基づいて特定できるから、Y3をレジスタ3、Y4をレジスタ4にそれぞれ格納する。第5の領域は第4の領域との境界Y4よりもY座標の大きい領域であるから、Y4のみを用いて特定できる。以上より、5つの領域を特定するためには4つのレジスタが必要である。一般に、n個の領域を特定するためには少なくともn−1個のレジスタが必要である。
【0032】
カウント部48はディスプレイタイミング設定部16からHsyncを受け取るたびに図示しないカウンターの値をひとつ増加する。このカウンターの値は現在読み出されたピクセルが表示される位置のY座標を表すから、この値とレジスタ群46に格納されている値とを比較することにより、当該ピクセルがどの領域に含まれるかを知ることができる。
【0033】
比較部50は、カウンターの値とレジスタ群46に格納されている値とを受け取って比較する。具体的には、比較部50はまずカウンターの値とレジスタ1に格納されているY1とを比較する。この結果、カウンターの値がY1よりも小さい場合には、当該ピクセルは第1の領域に含まれていることになるから、ライン方向の識別子として、1を関心領域判定部44に出力する。カウンターの値がY1よ以上の場合には、カウンターの値とレジスタ2に格納されているY3とを比較する。この結果、カウンターの値がY3よりも小さい場合には、当該ピクセルは第2の領域に含まれていることになるから、ライン方向の識別子として、2を関心領域判定部44に出力する。
【0034】
以後、同様の比較を繰り返し、カウンターの値がレジスタ3に格納されているY3よりも小さければ3を、Y3以上かつレジスタ4に格納されているY4よりも小さい場合には4を関心領域判定部44に出力する。Y4以上の場合には当該ピクセルは第5の領域に含まれることになるから5を関心領域判定部44に出力する。
【0035】
カウンターが飽和することを防ぐため、適切なタイミングでカウンターの値を0にリセットする必要がある。具体的には、カウンターの値が表示領域の垂直方向の境界座標(Y5)を超え、非表示領域の垂直方向の境界座標(Y6)に到達したら、比較部50はカウンターリセット部52に信号を送り、カウンターリセット部52はカウント部48のカウンターの値を0にリセットする。これを実現するためにレジスタ群46のレジスタ5に、非表示領域の垂直方向の境界座標であるY6を格納しておく必要がある。よって、5つの領域を特定する場合には、カウンターをリセットすることも考慮すると、5つのレジスタが必要となる。一般に、n個の領域を特定するためには少なくともn個のレジスタが必要となる。
【0036】
カウンターのリセットは上記の他に、垂直同期信号(Vsync)を利用することでも実現できる。以下、Vsyncを利用したカウンターのリセットの方法について説明する。
【0037】
図7は、Hsync152およびVsync154と、画像の表示領域との関係を模式的に表したものである。図7は水平方向、垂直方向ともに表示領域の左右(上下)に非表示領域が存在する場合について図示したものである。
【0038】
Vsyncは、ラスタースキャンによるピクセル描画における垂直方向の同期を取るために用いられる。したがって、Vsyncがアサートされるタイミングでカウンターの値を0にリセットすれば、ラインを正しくカウントすることができる。図7に示すような垂直方向の上下に非表示領域は、Vsyncがアサートされた直後の垂直ブランキング期間156と、表示領域の描画後に次のVsyncがアサートされるまでの間の垂直ブランキング期間158との存在によるものである。そこで、このようなブランキング期間が存在する場合には、表示領域の垂直方向の境界座標値(Y1〜Y5)として、垂直ブランキング区間156に相当するライン数VBI1をオフセットとして加算した値をレジスタ群46の各レジスタに格納する必要がある。
【0039】
垂直ブランキング期間に垂直ブランキング区間156に相当するライン数VBI1および垂直ブランキング区間158に相当するライン数VBI2が存在するのと同様に、水平同期信号152についても、Hsyncがアサートされた直後の水平ブランキング期間HBI1160と、表示領域描画後に次のHsyncがアサートされるまでの間の水平ブランキング期間HBI2162とが存在する。結果として、図7に示すように、表示領域が非表示領域に囲まれる形となる。
【0040】
なお、Vsyncに基づいてカウンターをリセットする場合には、カウンターリセットのためのレジスタが不要となるので、n個の領域を特定するためには少なくともn−1個のレジスタを用意すればよい。また、Vsyncを利用する場合は、ディスプレイタイミング設定部16内のタイミング信号生成部34においてHsyncを計数する等の方法により生成されているものとする。
【0041】
上記は、ディスプレイタイミング設定部16からHsyncを受け取りカウント部48でカウントすることでピクセルの垂直方向の位置座標を取得する場合について説明した。ディスプレイタイミング設定部16内のタイミング信号生成部34がピクセルのラスター位置を保存するレジスタを持っている場合などは、そこから直接カウント値を読み出しても良い。この場合も、カウンターリセットのためのレジスタは不要となる。
【0042】
以上はライン方向判定部をひとつのまとまった機能を持つものとして説明したが、ライン方向判定部42は、ラインカウント部54と、ラインカウント比較部56とのふたつの機能を含むものとして考えることもできる。図8はそのような場合の一例を図示したものである。ライン方向判定部42と同様、ピクセル方向判定部40もピクセルカウント部58とピクセルカウント比較部60とを含む。
【0043】
図9は図8におけるラインカウント部54の内部構造を図示したものである。ラインカウント部54はカウント部62とカウンターリセット部64とを含む。カウント部62は前述のカウント部48と同様の機能を持つものであり、現在読み出されたピクセルの垂直方向の位置座標を後述のラインカウント比較部56に出力する。ラインカウント部54内のカウンターが飽和することを防ぐために、カウンターリセット部64は後述のラインカウント比較部56からカウンターのリセット信号を受け取り、カウンターの値を0にリセットする。
【0044】
図10は図8におけるラインカウント比較部56の内部構造を図示したものである。ラインカウント比較部56はレジスタ群66、比較部68、リセット信号送信部70を含む。レジスタ群66および比較部68はそれぞれ前述のレジスタ群46および比較部50と同様の機能を持つものである。比較部68は、ラインカウント部54内のカウント部62から受け取ったピクセルの位置座標がレジスタ群46のレジスタnに格納された非表示領域の垂直方向の境界座標以上となった場合、リセット信号送信部70にカウンターのリセット信号を送信するように要求する。リセット信号送信部70は、リセット信号送信の受け取ると、ラインカウント部54内のカウンターリセット部64にカウンターのリセット信号を送信する。
【0045】
以上は、ラインカウント比較部56がラインカウント部54内のカウンターのリセット時期を判断する場合について説明したが、カウンターのリセット時期をラインカウント部内で判断するようにすることもできる。図11はそのような場合の一例を図示したものである。この例においても、ライン方向判定部42はラインカウント部72とラインカウント比較部74とを含む。同様に、ピクセル方向判定部40はピクセルカウント部76とピクセルカウント比較部78とを含む。
【0046】
図12は図11におけるラインカウント部72の内部構造を図示したものである。ラインカウント部72はレジスタ80、カウント部82、比較部84、カウンターリセット部86を含む。カウント部82はディスプレイタイミング設定部16からHsyncを受け取りカウントすることで、現在読み出されたピクセルの垂直方向の位置座標を取得する。取得した位置座標は後述のラインカウント比較部74内の比較部90に出力するとともに、比較部84にも出力する。比較部84は、関心領域情報入力部から非表示領域の垂直方向の境界座標を受け取り保持しているレジスタ80から当該境界座標を取得し、カウント部82から取得したピクセルの位置座標との比較を行う。ピクセルの位置座標が非表示領域の垂直方向の境界座標値以上となった場合、カウンターリセット部86にカウント部82内のカウンターの値を0とするように要求する。カウンターリセット部86は比較部84からの要求に応じ、カウント部82内のカウンターの値を0にリセットする。
【0047】
図13は図11におけるラインカウント比較部の内部構造を図示したものである。ラインカウント比較部74はレジスタ群88と比較部90とを含む。ラインカウント比較部74は前述したラインカウント比較部56とは異なり、ラインカウント部内のカウンターのリセット時期について判断する必要がない。したがって、レジスタ群88は非表示領域の垂直方向の境界座標を保持するレジスタも不要となる。比較部90は前述した50と同様の機能を持つものである。
【0048】
以上、ライン方向判定部42について具体的に説明した。ピクセル方向判定部40はライン方向判定部42とほぼ同様の構造を持つ。ライン方向判定部との違いはHsyncの代わりにピクセルクロックを受け取って、現在読み出されたピクセルの水平方向の位置を取得することである。このため、ピクセル方向判定部40は関心領域情報入力部20から、関心領域の水平方向の境界座標および、非表示領域の水平方向の境界座標を受け取り、内部のレジスタ群に格納する。
【0049】
また、ライン方向判定部42で説明した場合と同様に、ライン方向判定部内のカウンターのリセットのため、同期信号を利用することも可能である。具体的には、同期信号としてHsyncがアサートされるタイミングでカウンターをリセットすればよい。
【0050】
以後、実施の形態に係る関心領域判定部44について具体例を用いて説明する。
【0051】
図14は表示領域内に第1の領域と第2の領域との、ふたつの矩形上の関心領域が存在する例を図示したものである。第1の領域は、水平方向の識別子が2でありかつ垂直方向の識別子が2の領域として特定することができる。ここで、水平方向の識別子とは、ライン方向判定部が垂直方向の識別子として出力する垂直方向の識別子と同様に、現在読み出されたピクセルが、水平方向のどの関心領域に含まれるかについてピクセル方向判定部40が出力した識別子を意味する。第2の領域は水平方向の識別子が4でありかつ垂直方向の識別子が4の領域として特定できる。なお、図14は表示領域のみを図示してあり、非表示領域については図示していない。
【0052】
図15は関心領域判定部44の内部構造を図示したものである。関心領域判定部44はレジスタ群92、識別子比較部94、論理積演算部96、反転領域演算部98を含む。レジスタ群92は、関心領域情報入力部20から関心領域を特定するための情報を受け取り格納する部分である。例えば、図14に示すように表示領域内に第1の領域と第2の領域とのふたつの矩形上の関心領域が存在する場合には、第1の領域の水平方向識別子である2がレジスタ群92内のXレジスタ1に格納される。また、第1の領域の垂直方向識別子である2はレジスタ群92内のYレジスタ1に格納される。同様に、第2の領域の水平方向識別子である4はXレジスタ2に、垂直識別子である4はYレジスタ2に格納される。反転レジスタは0又は1の値を取る1ビットのレジスタである。したがって、レジスタ群92は少なくとも関心領域の数の2倍+1の数のレジスタを含む。反転レジスタの詳細については後述する。
【0053】
識別子比較部94は、レジスタ群92に格納されている識別子と、ピクセル方向判定部40およびライン方向判定部42から受け取った識別子とを比較し、両者が一致するか否かを判定する部分である。例えば識別子比較部94内の水平方向識別子比較部1はXレジスタ1に格納されている値である3と、ピクセル方向判定部40から受け取った値とを比較し、同じ値であれば1を、異なる値であれば0を出力する。
【0054】
論理積演算部96は、関心領域それぞれについての水平方向および垂直方向の識別子の比較結果を識別子比較部94から受け取り、その論理積を計算する部分であり、少なくとも関心領域の数と同数の論理積演算器を含む。例えば、論理積演算部96内の論理積演算器1は、識別子比較部94内の水平方向識別子比較部1および垂直方向識別子比較部1の出力結果の論理積を計算する。現在読み出されたピクセルが第1の関心領域に含まれるものであれば、水平方向識別子比較部1および垂直方向識別子比較部1の出力はともに1となるから、論理積演算器1の出力は1となる。当該ピクセルが第1の関心領域に含まれない場合には、水平方向識別子比較部1、垂直方向識別子比較部1のどちらか一方あるいは両方の出力が0となるから、論理積演算器1の出力は0となる。すなわち、各関心領域に対応する論理積演算器の出力が1であれば当該ピクセルは対応する関心領域に含まれることを意味し、対応する論理積演算器の出力が0であれば、当該ピクセルは対応する関心領域に含まれないことを意味する。
【0055】
反転領域演算部98は論理積演算部96からの出力、すなわち、当該ピクセルが各関心領域に含まれているか否かについての情報と、反転レジスタの情報とを受け取り、当該ピクセルが関心領域に含まれている否か、含まれているとするならばどの領域に含まれているかを決定する部分である。以後、反転領域演算部98の動作について説明する。
【0056】
図16は反転領域演算部98の内部構造を図示したものである。反転領域演算部98は論理和演算部100、乗算部102、加算部104、排他的論理和演算器106を含む。論理和演算部100は論理積演算部96から当該ピクセルが各関心領域に含まれているか否かについての情報を受け取り、それら全ての論理和を計算する部分である。すなわち、当該ピクセルがいずれかの関心領域に含まれている場合には1を出力し、当該ピクセルがどの関心領域にも含まれていない場合には0を出力する。
【0057】
乗算部102は論理積演算部96から当該ピクセルが各関心領域に含まれているか否かについての情報を受け取り、当該情報それぞれについて所定の定数を乗算する部分であり、少なくとも関心領域と同数の乗算器を含む。すなわち、乗算部102には関心領域それぞれに対応する乗算器を含む。図14に示すような表示領域内に第1の領域と第2の領域とのふたつの矩形上の関心領域が存在する場合において、当該ピクセルが関心領域2に含まれていると仮定する。この場合論理積演算部から送られてくる値(96bを経由して送られてくる値)が1となり、関心領域1に対応する値(96aを経由して送られてくる値)は0である。関心領域それぞれに対応する乗算器は、関心領域の通し番号と同一数で当該ピクセルの内包情報を乗算するものであり、関心領域1に対応する乗算器では0×1、関心領域2に対応する乗算器では1×2の乗算が実行される。
【0058】
加算部104は、乗算部102に含まれる各乗算器の出力の総和を計算する部分である。本例では、関心領域1に対応する乗算器の出力は0であり、関心領域2に対応する乗算器の出力は2であるから、加算部104は0+2=2の値を出力する。一般に、ひとつのピクセルが同時に複数の関心領域に含まれることはないから、加算部104の出力は、当該ピクセルが含まれる領域の通し番号と同一の値となる。なお、当該ピクセルがいずれの関心領域にも含まれない場合には、論理積演算部から得られる値はいずれも0となるから、加算部104の出力は0となる。
【0059】
以上の構成によれば、当該ピクセルが関心領域のいずれかに含まれる場合、論理和演算部100の出力が1となり、加算部104の出力が、当該ピクセルの含まれる領域の番号となる。当該ピクセルがいずれの関心領域にも含まれない場合には、論理和演算部100と加算部104の出力とはともに0となる。
【0060】
関心領域が図14に示すような表示領域内のいくつかの矩形領域の場合には、上述した構成で当該ピクセルが関心領域のいずれかに含まれるか否かを決定することができる。しかしながら、関心領域として表示領域内の特定の矩形領域を除外した形状の領域も扱うためには、上記説明に加えさらに処理を行う必要がある。反転レジスタの情報はそのために使用されるものであり、具体的には、排他的論理和演算器106は論理和演算部100の出力と反転レジスタの値との排他的論理和を計算する。当該ピクセルが関心領域のいずれかに含まれるときに1を出力し、関心領域に含まれないときは0を出力するように構成する。以下、そのような構成について具体的に説明する。
【0061】
図17は関心領域として表示領域内の特定の矩形領域を除外した領域を設定した場合について例示したものである。具体的には、表示領域全体から水平方向がX1〜X2、垂直方向がY1〜Y2の矩形領域を場外した領域である。すなわち、水平方向識別子が2でありかつ垂直方向識別子が2である領域を除外した領域である。
【0062】
まず、関心領域判定部44におけるレジスタ群92内のXレジスタ1に、除外領域を特定するための水平方向識別子である2の値を格納する。また、Yレジスタ1には、垂直方向識別子である2を格納する。これにより、当該ピクセルが除外領域に含まれる場合には、論理和演算部100の出力が1となり、加算部104の出力が1となる。ここで、本例のように、除外領域を特定することで関心領域を設定する場合には、関心領域情報入力部20を用いて、レジスタ群92内の反転レジスタの値を1に設定する。このとき、排他的論理和演算器106は、論理和演算部100の出力である1と反転レジスタの値である1との排他的論理和を取って0を出力する。すなわち、当該ピクセルは関心領域に含まれないと判断できる。一方、当該ピクセルが除外領域に含まれない場合には、論理和演算部100の出力は0となるから、排他的論理和演算器106の出力は1となる。当該ピクセルが除外領域に含まれないとことは当該ピクセルが関心領域の含まれることを意味するから、排他的論理和演算器106の出力である1と一致する。
【0063】
なお、関心領域として図14に示すような表示領域内のいくつかの矩形領域として設定する場合には、反転レジスタの値を0に設定する。このとき、当該ピクセルがいずれかの関心領域に含まれる場合には論理和演算部100の出力は1となるが、この値と反転レジスタの値である0との排他的論理和は1となり、論理和演算部100の出力値と変わらない。また、当該ピクセルがいずれの関心領域にも含まれない場合には論理和演算部100の出力は0となるが、この値と反転レジスタの値である0との排他的論理和は0となり、この場合も論理和演算部100の出力値と変わらない。
【0064】
以上まとめると、関心領域が図14に示すような表示領域内をいくつかの矩形領域として設定する場合および図17に示すような除外領域を特定することで関心領域を設定する場合のいずれの場合においても、当該ピクセルが関心領域に含まれる場合には、排他的論理和演算器106の値は1となる。逆に、当該ピクセルがいずれの関心領域にも含まれない場合には排他的論理和演算器106の値は0となる。さらに、関心領域が図14に示すように表示領域内のいくつかの矩形領域として設定される場合には、加算部104の出力は当該ピクセルを含む関心領域の通し番号を出力する。関心領域が図17に示すように除外領域を特定することで関心領域を設定する場合には、加算部104の出力は0となる。
【0065】
次に、写像変換部18内のピクセル選択部28について説明する。ピクセル選択部28はピクセル読出部10が読み出したピクセルを受け取る。また、関心領域特定部26内の排他的論理和演算器106の出力を受け取り、ピクセル読出部10が現在読み出したピクセルが関心領域に含まれるか否かを判断する。すなわち、排他的論理和演算器106の出力が1の場合には当該ピクセルが関心領域に含まれるものであり、写像変換の対象となる画像を構成するピクセルとして有限ビット生成部30に出力する。排他的論理和演算器106の出力が0の場合には当該ピクセルが関心領域に含まれないものと判断する。
【0066】
図18は有限ビット生成部30の内部構造を図示したものである。有限ビット生成部30は有限ビット計算部選択部108、有限ビット計算部群110、有限ビット格納レジスタ群112を含む。有限ビット計算部選択部108は、ピクセル選択部28からピクセル情報を受け取り、関心領域特定部26内の加算部104から当該ピクセルが含まれる関心領域の番号を受け取る。有限ビット計算部選択部108は、受け取った番号に基づいて当該ピクセル情報を計算すべき有限ビット計算部を選択し、当該ピクセル情報を出力する。例えば、当該ピクセルが第2の関心領域に含まれるという情報を受け取った場合には、当該ピクセル情報を有限ビット計算部群110内の有限ビット計算部2に出力する。
【0067】
有限ビット計算部群110は、少なくとも関心領域と同数の有限ビット計算部を含む。各有限ビット計算部は対応する関心領域に含まれるピクセル情報を写像変換して有限ビットに変換する。前述したとおり、写像変換とは画像のピクセルデータ等の大量のデータから有限ビットへの写像を意味し、例えばCRC(Cyclic Redundancy Check)やMD5(Message Digest Algorithm 5)等のハッシュ値を生成するものであればどのようなものでも良いが、CRCは写像変換すべき関心領域内のピクセル情報がすべて揃わなくとも計算を開始することができる点で有利である。また、CRCを採用する場合には、CRC値は例えば32bitとする。
【0068】
有限ビット格納レジスタ群112は、少なくとも関心領域と同数の有限ビット格納レジスタを含む。各有限ビット格納レジスタは対応する関心領域に含まれるピクセル情報を写像変換して得られた有限ビットを格納する。格納された有限ビットは有限ビット比較部22によって参照される。
【0069】
なお、関心領域が図17に示すような除外領域を特定することで設定されている場合には、関心領域の番号は0となる。この場合、有限ビット計算部としてはいずれを用いても良い。
【0070】
以上、実施の形態に係る写像変換部18により、関心領域を写像変換して有限ビットを導出するまでの流れについて説明した。以後、実施の形態に係る写像変換部18の応用例について説明する。
【0071】
応用例のひとつとして表示領域内を移動するウィンドウを追尾して、そのウィンドウ内の画像が変化したか否かを検出する例について説明する。図19は表示領域上に水平方向の長さがW、垂直方向の長さがHである矩形領域のウィンドウ114が表示されている様子を図示したものである。矩形領域の4つの頂点の座標はそれぞれ(X0,Y0)、(X0+W,Y0)、(X0,Y0+H)、(X0+W,Y0+H)である。本例では、表示領域は水平方向の大きさが1920、垂直方向の大きさが1080であり、非表示領域まで含めると、水平方向の大きさが2200、垂直方向の大きさが1125であるものとする。また、表示はオペレーティングシステムやアプリケーションプログラムによって制御されており、当該オペレーティングシステムやアプリケーションプログラムはウィンドウが表示されている座標や当該ウィンドウの大きさを知っているものとする。
【0072】
まず、ウィンドウの位置や大きさが固定されている場合について説明する。この場合は関心領域がひとつの矩形で設定されている場合に相当する。
【0073】
オペレーティングシステムやアプリケーションプログラムは関心領域情報入力部20を介してライン方向判定部42内のレジスタ1にX0を、レジスタ2にX0+Wを設定する。同様に、ピクセル方向判定部40内のレジスタ1にY0を、レジスタ2にY0+Hを設定する。なお、X0+Wが2200を超える場合にはX0+Wに換えて2200を、Y0+Hが1125を超える場合にはY0+Hに換えて1125をそれぞれ用いる。続いてオペレーティングシステムは関心領域情報入力部20を介して関心領域判定部44内のXレジスタ1に矩形領域を特定するための水平方向識別子およびYレジスタ1に垂直方向識別子を設定する。本例の場合、矩形領域となるウィンドウは水平方向識別子が2、垂直方向識別子が2として特定されるから、関心領域判定部44内のXレジスタ1に2をYレジスタ1に2をそれぞれ設定する。関心領域がひとつの矩形で設定されている場合に相当するから、反転レジスタの値は0に設定する。
【0074】
上記の設定によりウィンドウ内の画像に変更があった場合、変更の前後で有限ビット生成部30で生成される有限ビットの値は異なったものとなる。そこで、毎フレームごとに有限ビットを計算して有限ビット格納部24に格納しておき、有限ビット比較部22いおいて前後するフレームの有限ビットを比較することにより、ウィンドウ内の画像変化を検出することが可能となる。これにより、例えば特定のウィンドウ内のみを遠隔地に送信している場合において、ウィンドウ内に変更があった場合にのみウィンドウ内の画像を送信することにより、送信時間や使用帯域を抑制することができる。表示領域全体での変化を検出する場合には特定のウィンドウの表示位置のみ変更があり、ウィンドウ内の画像には変更がない場合でも、変更があったものとして画像情報を送信しなければならないことと比較し、本手法は送信時間や使用帯域を抑制できる点で有利である。
【0075】
ウィンドウの位置や大きさが固定されておらず、例えばユーザによって表示位置が変更される場合でも、表示領域内を移動するウィンドウを追尾して、そのウィンドウ内の画像が変化したか否かを検出することが可能である。以下、このことについて説明する。
【0076】
前述したとおり、通常、ウィンドウの表示はオペレーティングシステムやアプリケーションプログラムによって制御されているから、それらはウィンドウの表示されている座標やウィンドウの大きさを知っている。そこで、ウィンドウの位置がユーザによって変更された場合は、都度、関心領域情報入力部20を介して関心領域の情報を関心領域特定部26に送信することにより、ウィンドウ内の画像について写像変換することが可能となる。例えば、図19に図示するように、ウィンドウ114を水平方向にα、垂直方向にβ移動し、ウィンドウの4つの頂点の座標がそれぞれ(X0+α,Y0+β)、(X0+α+W,Y0+β)、(X0+α,Y0+β+H)、(X0+α+W,Y0+β+H)であるウィンドウ116となったとする。このとき、オペレーティングシステムやアプリケーションプログラムは関心領域情報入力部20を介してライン方向判定部内のレジスタ1にX0+αに、レジスタ2にX0+α+Wに変更すればよい。同様に、ピクセル方向判定部内のレジスタ1にY0+βを、レジスタ2にY0+β+Hに変更すればよい。
【0077】
本例とは逆に、特定の領域を除外領域とする処理を行えば、表示領域内の特定の領域について画像の変化を検出しないようにすることもできる。これは、例えばリモートデスクトップ等の利用において、送信元の表示領域内でカーソルが点滅する場合等、わざわざ送信するまでもない変化についてあらかじめ分かっている場合に,その部分について画像の変化を検出しないようにすることで、送信時間や使用帯域の抑制ができる。上述の方法を用いれば、例えばカーソルの点滅による画像の変化を除外した場合、当該点滅するカーソルが移動する場合であっても追尾しながら関心領域から除外することもできる。
【0078】
別の応用例として、ディスプレイバッファから画像出力部に至るまでの間にいくつかの画像処理装置が存在する場合において、その画像処理装置を構成するハードウェアの動作検証に用いる例について説明する。
【0079】
図20はグラフィックプロセッサの全体構成を図示したものである。ディスプレイバッファ118に格納された画像が第1の画像処理部120、第2の画像処理部122を通り、第nの画像処理部124で処理された後に画像出力部126に至る様子を図示している。ここで、各画像処理部はグラフィックプロセッサのパイプライン処理を担当するものであり、例えばスケーリングや色空間変換、ディザリングなど、画像出力に用いられる画像処理を行う。
【0080】
第1の写像変換部128はディスプレイバッファ118から画像データを受け取り、画像データの関心領域について写像変換を行い、第1の有限ビットを出力する。ここで、関心領域は画像全体も含む。また、第2の写像変換部130は第1の画像処理部120の画像処理結果を受け取り、当該結果の画像の関心領域について写像変換を行い、第2の有限ビットを出力する。以後同様に第nの写像変換部132は第n−1の画像処理部の画像処理結果について、第n+1の写像変換部は第nの画像処理部の関心領域についてそれぞれ有限ビットを生成する。
【0081】
各画像処理部において本来出力されるべき結果は、あらかじめ例えばコンピュータシミュレーション等を用いて計算し、それぞれの関心領域についての有限ビットを計算しておく。これらの有限ビットは正解有限ビットとして、正解有限ビット格納部に格納しておく。具体的には、ディスプレイバッファに格納されている画像データの関心領域についての正解有限ビットは、第1の正解有限ビット格納部136に格納する。第1の画像処理部120の画像処理結果の関心領域についての正解有限ビットは、第2の正解有限ビット格納部138に格納する。以後同様に、第n−1の画像処理部の画像処理結果の関心領域についての正解有限ビットは第nの正解有限ビット格納部140に、第nの画像処理部の画像処理結果の関心領域についての正解有限ビットは第n+1の正解有限ビット格納部142にそれぞれ格納する。
【0082】
各写像変換部において得られた有限ビットと対応する正解有限ビットとを比較することにより、一連の画像処理部の動作検証を行うことができる。具体的には、第1の有限ビット比較部144において、第1の写像変換部128で計算された有限ビットと、第1の正解有限ビット格納部136に格納されている有限ビットとを比較し、両者が一致する場合にはディスプレイバッファ118から第1の写像変換部128の情報の転送に誤りがないことが検証できる。第2の有限ビット比較部146において、第2の写像変換部130で計算された有限ビットと、第2の正解有限ビット格納部138に格納されている有限ビットとを比較し、両者が一致する場合には、第1の画像処理部の画像処理が正しく動作していることが検証できる。また、たとえば第nの有限ビット比較部148において第n−1の画像処理部の動作が正しいことが検証されている場合に、第n+1有限ビット比較部150おいて第nの画像処理部の動作が誤っていると確認された場合、画像処理の不具合は第nの画像処理部にあることが特定できる。
【0083】
一般に、図20に示すようにパイプライン処理によって画像処理が直列に行われる場合には、上流の画像処理部において起きた誤りは、以後下流の画像処理結果に受け継がれることになる。したがって、本例のように各画像処理部の前後で画像処理の動作を検証することにより、いずれの画像処理部において不具合が起きたかを特定することが可能となる。これにより、たとえば各画像処理部を構成するハードウェアの不具合を特定するに際しての有益な情報が得られる。
【0084】
図21は、グラフィックプロセッサの全体構成の別の例を表したものである。ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子の別の例を図示したものである。ディスプレイバッファ118に格納された画像が第1の画像処理部120、第2の画像処理部122を通り、第nの画像処理部124で処理された後に画像出力部126に至ることは前述した図20に図示した例と同様である。
【0085】
画像選択部164はディスプレイバッファ118から画像出力部126に至るまでの途中における画像処理結果を取得する部分である。画像処理部は複数あるため中途の画像処理結果も複数あるから、画像選択部164は、任意の画像処理結果を選択して取得する。たとえば、第1の画像処理部120の画像処理結果を取得したい場合には、第1の画像処理部120と第2の画像処理部122との間で画像を取得する。
【0086】
正解有限ビット格納部170は、画像選択部164で選択して取得した画像処理結果について、本来出力されるべき画像をあらかじめコンピュータシミュレーション等を用いて生成しそこから計算された正解有限ビットを格納する部分である。この正解有限ビットと、写像変換部166によって変換された画像選択部164が取得した画像とを、有限ビット比較部168で比較しすることで、画像選択部164で選択した画像処理部の動作検証を行うことができる。画像選択部164を設けることで、写像変換部、有限ビット比較部、正解有限ビット格納部の数を抑制できる点でメリットがある。
【0087】
図22は、グラフィックプロセッサの全体構成のさらに別の例を表したものである。ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子のさらに別の例を図示したものである。本例においても、ディスプレイバッファ118に格納された画像が第1の画像処理部120、第2の画像処理部122を通り、第nの画像処理部124で処理された後に画像出力部126に至ることは前述した図20および図21に図示した例と同様である。また、第1の正解有限ビット格納部136、第2の正解有限ビット格納部138、第nの正解有限ビット格納部140、第n+1の正解有限ビット格納部142の複数の正解有限ビット格納部を有する点は、図20に図示した例と同様である。画像選択部164、写像変換部166、有限ビット比較部168を有する点は図21に図示した例と同様である。
【0088】
正解有限ビット選択部172は、正解有限ビット格納部に格納されている複数の正解有限ビットから、任意の正解ビットを選択して取得する部分である。これは、例えば画像選択部164が第1の画像処理部120の画像処理結果を取得した場合には、それと連動して、第1の画像処理部120が本来出力すべき画像を写像変換して得た有限ビットを格納してある第2の正解有限ビット格納部138から正解有限ビットを取得する。この正解有限ビットと、写像変換部166によって変換された画像選択部164が取得した画像とを、有限ビット比較部168で比較しすることで、画像選択部164で選択した画像処理部の動作検証を行うことができる。複数の画像処理部が本来出力すべき画像を写像変換することで得られる有限ビットについてあらかじめ用意できる場合には、画像選択部164および正解有限ビット選択部172の選択対象を変更するだけで容易に各画像処理部の動作検証を行える点で有利である。
【0089】
なお、各写像変換部において写像変換の計算に必要なピクセルカウントやHsync、関心領域の特定のための情報は外部から適宜入力されているものとする。また、画像選択部164、正解有限ビット選択部172は、図示しない入力部等を等して、ユーザによる手動や、オペレーティングシステムやアプリケーションプログラム等によって選択対象を自由に変更できる。
【0090】
上記の例では複数の画像処理部のうちどの画像処理部に不具合があるかを特定するための構成について説明した。本実施例の写像変換部は、ひとたび不具合のある画像処理部を特定した後は、その画像処理部が出力する画像のうちどの領域に不具合があるかを検出することにも利用することができる。以下、この利用方法について説明する。
【0091】
画像処理部がたとえば画像を構成する画素のうち、特定の色相を持つ画素の色相を変化させるような処理の場合、画像の局所領域が変更される。具体的には、画像の背景の色を置換するような処理の場合である。この場合、まず画像全体について正解有限ビットと画像処理結果から計算される有限ビットとを比較する。この結果両者が一致しない場合には、次は例えば画像の右半分の領域についてのみ、正解有限ビットと画像処理結果から計算される有限ビットとを比較する。このとき両者が一致すれば、画像処理部の不具合は画像の左半分にあることが特定できる。このように、比較に利用する画像領域を少しずつ狭めていくことにより、画像処理部における画像処理において不具合のおきる領域を追い込むことができる。最終的に、不具合領域を特定することが可能となる。
【0092】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0093】
上記の説明において、関心領域特定部26およびピクセル選択部28は、マイコン等を用いてソフトウェアで実現することができる。また、関心領域特定部26においてピクセルカウント部58および76、ならびにラインカウント部54および72をハードウェアで実現し、その他の部分をマイコン等を用いてソフトウェアで実現することもできる。また、関心領域特定部26は簡単な論理演算と比較器等とを用いて実現できるから、全てハードウェアで実現することも可能である。この際、比較部を共有できることから、図6に示すように、ラインカウント部およびラインカウント比較部、ならびにピクセルカウント部およびピクセルカウント比較部を分離せずひとつのハードウェア上で実装することが好ましい。さらに、関心領域判定部44も簡単な回路で構成できるから、関心領域特定部26はまとめてひとつのハードウェアブロックとして実装することの方が、コストが下がる点で有利である。
【符号の説明】
【0094】
10 ピクセル読出部、 12 ディスプレイバッファ、 14 画像出力部、 16 ディスプレイタイミング設定部、 18 写像変換部、 20 関心領域情報入力部、 22 有限ビット比較部、 24 有限ビット格納部、 26 関心領域特定部、 28 ピクセル選択部、 30 有限ビット生成部、 40 ピクセル方向判定部、 42 ライン方向判定部、 44 関心領域判定部、 52 カウンターリセット部、 54 ラインカウント部、 56 ラインカウント比較部、 70 リセット信号送信部、 94 識別子比較部、 96 論理積演算部、 98 反転領域演算部、 100 論理和演算部、 106 排他的論理和演算器、 108 有限ビット計算部選択部、 110 有限ビット計算部群、 120 第1の画像処理部、 128 第1の写像変換部、 136 第1の正解有限ビット格納部、 144 第1の有限ビット比較部。
【技術分野】
【0001】
この発明は、コンピュータ等から出力される画像の画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
コンピュータネットワークは一般家庭にも普及しており、各部屋のコンピュータを無線LANで互いに接続したり、プリンタを共有することが普通に行われている。また、デジタルカメラで撮影した写真やインターネットからダウンロードした映像を家族で見るために、コンピュータに保存した静止画や動画をリビングルームにあるゲーム機やテレビジョン(TV)システムの画面に手軽に表示させたいというニーズも高まっている。
【0003】
そのため、ゲーム機やTVシステムもコンピュータネットワークに接続し、コンピュータの画面をコンピュータに直接接続されたPCモニタではなく、ネットワークに接続されたゲーム機やTVシステムのディスプレイに表示する機能が求められるようになってきている。
【0004】
遠隔地にあるコンピュータのデスクトップ画面をネットワークに接続された別のコンピュータ上の画面に仮想的に表示し、その仮想デスクトップ画面上での操作を特定のプロトコルでネットワークを介して遠隔地にあるコンピュータに送信することにより、遠隔地のコンピュータを遠隔操作する「リモートデスクトップ」と呼ばれるサービスも利用されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2007/020,2956号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
遠隔地にあるコンピュータのデスクトップ画面を別のコンピュータやTV等の画面に表示して、デスクトップ画面上で遠隔操作するためには、デスクトップの画面を別のコンピュータ等に送信する必要があり、例えばデスクトップ画面を複数の矩形領域に分割し、変更のあった領域のみを送信するといった技術が知られている。しかしながら、この技術では、特定のウィンドウの表示位置のみが変化し、そのウィンドウ内の表示内容は変化しないような場合でも、デスクトップの画面を別のコンピュータに送信することになる。特定のウィンドウの表示内容が重要であり、その表示位置はさして重要でない場合には、送信にかかる時間や手間が無駄となる。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンピュータなどの画面表示データの任意の関心領域の変化を効率よく検出する技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の画像処理装置は、画像をラスタースキャンにより描画するためのタイミングを決定するディスプレイタイミング設定部と、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すピクセル読出部と、画像中に任意の関心領域を特定するための情報を入力する関心領域情報入力部と、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する関心領域特定部と、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する有限ビット生成部とを含む。
【0009】
本発明のさらに別の態様の画像処理装置は、画像情報が格納されたディスプレイバッファと、画像情報を変換する直列に接続された複数の画像処理部と、各画像処理部が実際に出力した画像を写像変換することにより第一の有限ビット列を生成する有限ビット生成部と、各画像処理部が本来出力すべき画像を写像変換することにより得られる第二の有限ビット列と前記第一の有限ビット列とを比較することにより各画像処理部の動作検証を行う有限ビット比較部とを含む。
【0010】
本発明のさらに別の態様は、画像処理方法である。この方法は、画像をラスタースキャンにより描画するためのタイミングを決定するステップと、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すステップと、画像中に任意の関心領域を特定するための情報を入力するステップと、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定するステップと、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成するステップとをプロセッサに実行させる。
【0011】
本発明の更に別の態様は、画像の関心領域を写像変換して有限ビット列を生成するプログラムである。このプログラムは、画像をラスタースキャンにより描画するためのタイミングを決定する機能と、ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す機能と、画像中に任意の関心領域を特定するための情報を入力する機能と、ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する機能と、前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する機能とをコンピュータに実現させる。
【0012】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
コンピュータなどの画面表示データの任意の関心領域の変化を効率よく検出する技術を提供することができる。また、画像が正しく生成されたか否かについて効率よく検証する技術を提供することができる。
【図面の簡単な説明】
【0014】
【図1】実施の形態に係る画面出力システムの全体構成図である。
【図2】図1のディスプレイタイミング設定部の構成図の一例である。
【図3】図1のディスプレイタイミング設定部の構成図の別の例である。
【図4】図1の関心領域特定部の構成図の一例である。
【図5】表示領域を、水平方向を長手方向とした5つの矩形領域に分割した様子を、非表示領域とともに表した図である。
【図6】図4のライン方向判定部の構成図である。
【図7】HsyncおよびVsyncと、画像の表示領域との関係を表した図である。
【図8】図1の関心領域特定部の構成図の別の例である。
【図9】図8のラインカウント部の構成図である。
【図10】図8のラインカウント比較部の構成図である。
【図11】図1の関心領域特定部の構成図の更に別の例である。
【図12】図11のラインカウント部の構成図である。
【図13】図11のラインカウント比較部の構成図である。
【図14】表示領域内に矩形の第1の領域および第2の領域のふたつを関心領域として設定した様子を表した図である。
【図15】図11の関心領域判定部の構成図である。
【図16】図15の反転領域演算部の構成図である。
【図17】表示領域内に矩形の領域を除外領域とする関心領域を設定した様子を表した図である。
【図18】図1の写像変換部の構成図である。
【図19】表示領域内に表示されているウィンドウの表示位置が変化した場合に、その変化の前後におけるウィンドウを表した図である。
【図20】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子を図示したものである。
【図21】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子の別の例を図示したものである。
【図22】ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子のさらに別の例を図示したものである。
【発明を実施するための形態】
【0015】
図1は、実施の形態に係る画面出力システムの全体構成図である。ピクセル読出部10はディスプレイタイミング設定部16から取得するピクセルクロック(画素描画の周波数)に基づいてディスプレイバッファ12からピクセルデータを読み出し、画像出力部14に出力する。画像出力部14はディスプレイタイミング設定部16からピクセルクロックとHsync(水平同期信号)とを取得し、図示しないモニタ等の表示デバイスにピクセル読出部10から取得したピクセルを出力する。
【0016】
写像変換部18は関心領域情報入力部20から写像変換の対象となる関心領域の情報を受け取り、ディスプレイタイミング設定部16のピクセルクロックとHsyncを参照して関心領域に含まれるピクセルを特定し、ピクセルデータに基づいて有限ビットを生成する。生成された有限ビットは有限ビット比較部22に送られ、有限ビット格納部24に格納された有限ビットと比較される。
【0017】
有限ビット格納部24に格納する情報は、例えば、関心領域に本来表示されるべき画像を写像変換して得られた有限ビットである。有限ビット比較部22の比較結果が一致するか否かによって、ピクセル読出部10やディスプレイタイミング設定部16等が正しく動作しているか否かの検証が可能となる。
【0018】
有限ビット格納部24に格納する情報の別の例としては、フレームの過去画像における関心領域を写像変換して得られた有限ビットである。有限ビット比較部22の比較結果が一致するか否かによって、関心領域においてフレームの過去画像と比較して変化があったか否かを検出することができる。フレームの過去画像とは、例えば1フレーム前の画像等である。
【0019】
写像変換部18は関心領域特定部26、ピクセル選択部28、有限ビット生成部30を含む。関心領域特定部26は関心領域情報入力部20から写像変換の対象となる関心領域の情報を受け取り、ディスプレイタイミング設定部16のピクセルクロックとHsyncとを参照して関心領域を特定し、関心領域に含まれるピクセルか否かの情報を出力する。ピクセル選択部28は関心領域特定部26の出力結果に基づき、関心領域に含まれるピクセルの場合にはピクセルデータを有限ビット生成部30に出力する。有限ビット生成部30は関心領域特定部26から関心領域識別番号を受け取って、ピクセル選択部28から取得したピクセルデータに基づき、関心領域ごとに有限ビットを生成する。
【0020】
ここで写像変換とは、画像のピクセルデータ等の大量のデータから有限ビットへの写像を意味し、例えばCRC(Cyclic Redundancy Check)やMD5(Message Digest Algorithm 5)等のハッシュ値を生成するものであればどのようなものでも良い。
【0021】
図2はディスプレイタイミング設定部16の内部構造の一例を図示したものである。ディスプレイタイミング設定部16はピクセルクロック生成部32とタイミング信号生成部34とを含む。ピクセルクロック生成部32はさらに基準周波数発振部36と任意周波数発生部38とを含む。
【0022】
基準周波数発振部36は特定の周波数の信号を高い精度で発振するものであり、例えば水晶振動子を用いて実現できる。任意周波数発生部38は基準周波数発振部36から得られた信号をピクセルクロック信号に変換するものである。これは、例えばPLL回路と分周器等を用いて実現できる。
【0023】
タイミング信号生成部は任意周波数発生部38から得られたピクセルクロックに基づいてHsyncを生成する。本例では、ディスプレイタイミング設定部16はピクセルクロック生成部32で生成したピクセルクロックをタイミング信号生成部34に送る前に分岐して外部に出力する。
【0024】
図3はディスプレイタイミング設定部16の内部構造の別の例を図示したものである。本例ではピクセルクロックをタイミング信号生成部34から取り出す。これは、Hsyncを生成するためにタイミング信号生成部34はピクセルクロックを取得しているので、その情報を出力することで実現できる。前述のようなピクセルクロックをタイミング信号生成部34に送る前に分岐して外部に出力する場合と比べて、タイミング信号であるピクセルクロックとHsyncの発振源を統一できるため、遅延等の抑制をしやすい点で有利である。
【0025】
図4は関心領域特定部26の内部構造を図示したものである。関心領域特定部はピクセル方向判定部40、ライン方向判定部42、関心領域判定部44を含む。
【0026】
まず、ピクセル方向判定部40およびライン方向判定部42はそれぞれ関心領域情報入力部20から関心領域の位置情報を取得する。その後、ピクセル方向判定部40は、ディスプレイタイミング設定部16からピクセルクロックを受け取り、ピクセル読出部10で現在読み出されたピクセルの座標が、関心領域の水平方向(X軸方向)の存在領域に含まれるか否かを判定する。また、ライン方向判定部42は、ディスプレイタイミング設定部16からHsyncを受け取り、当該ピクセルの座標が関心領域の垂直方向(Y軸方向)の存在領域に含まれるか否かを判定する。
【0027】
関心領域判定部44は、ピクセル方向判定部40とライン方向判定部42とからそれぞれ、現在読み出されたピクセルが関心領域の水平方向および垂直方向の存在領域に含まれるか否かの情報を受け取り、それらの情報に基づいて当該ピクセルが関心領域に含まれるか否かを判定する。その際、画像内に複数の関心領域が存在する場合でも正しく判定するために、関心領域判定部44は関心領域情報入力部20から関心領域の水平方向および垂直方向の位置関係を定める識別情報を受け取る。識別情報を参照することで、関心領域判定部44は関心領域の水平方向および垂直方向の存在領域の正しい組み合わせを判断することができる。判断の結果はピクセル選択部28に送られる。
【0028】
以後、実施の形態に係るライン方向判定部42について具体例を用いて説明する。
【0029】
図5は表示領域を領域1から領域5までの5つの領域に分けた場合を例示したものである。画像の表示領域は水平方向がX1(例えば1920ピクセル)の大きさであり、垂直方向がY5(例えば1080ライン)の大きさである。通常、本実施例のようなビデオ信号にはブランク期間が存在する。図5においては水平方向がX1からX2、垂直方向はY5からY6がブランク期間である。X2の大きさは例えば2200であり、Y6の大きさは例えば1125である。水平方向がY6、垂直方向がX2の長方形から前記表示領域を除いた領域が非表示領域となる。
【0030】
図6はライン方向判定部42の内部構造のひとつの例である。本例では、ライン方向判定部42はレジスタ群46、Hsyncのカウント部48、比較部50、カウンターリセット部52を含む。
【0031】
レジスタ群46は、関心領域情報入力部20から関心領域を特定するための垂直方向の座標を受け取り格納する。例えば、関心領域が図5に示されるように画像を水平方向を長手方向とした5つの長方形に分割したものである場合には、画像中最も上部にある領域(第1の領域)は、隣接する領域(第2の領域)との境界のY座標であるY1に基づいて特定できる。そこで、レジスタ1にY1を格納する。第2の領域は、領域1との境界のY座標であるY1と、第1の領域の反対側で隣接する領域(第3の領域)との境界のY座標であるY2に基づいて特定できるので、レジスタ2にY2を格納する。同様に、第3の領域はY2およびY3、第4の領域はY3およびY4に基づいて特定できるから、Y3をレジスタ3、Y4をレジスタ4にそれぞれ格納する。第5の領域は第4の領域との境界Y4よりもY座標の大きい領域であるから、Y4のみを用いて特定できる。以上より、5つの領域を特定するためには4つのレジスタが必要である。一般に、n個の領域を特定するためには少なくともn−1個のレジスタが必要である。
【0032】
カウント部48はディスプレイタイミング設定部16からHsyncを受け取るたびに図示しないカウンターの値をひとつ増加する。このカウンターの値は現在読み出されたピクセルが表示される位置のY座標を表すから、この値とレジスタ群46に格納されている値とを比較することにより、当該ピクセルがどの領域に含まれるかを知ることができる。
【0033】
比較部50は、カウンターの値とレジスタ群46に格納されている値とを受け取って比較する。具体的には、比較部50はまずカウンターの値とレジスタ1に格納されているY1とを比較する。この結果、カウンターの値がY1よりも小さい場合には、当該ピクセルは第1の領域に含まれていることになるから、ライン方向の識別子として、1を関心領域判定部44に出力する。カウンターの値がY1よ以上の場合には、カウンターの値とレジスタ2に格納されているY3とを比較する。この結果、カウンターの値がY3よりも小さい場合には、当該ピクセルは第2の領域に含まれていることになるから、ライン方向の識別子として、2を関心領域判定部44に出力する。
【0034】
以後、同様の比較を繰り返し、カウンターの値がレジスタ3に格納されているY3よりも小さければ3を、Y3以上かつレジスタ4に格納されているY4よりも小さい場合には4を関心領域判定部44に出力する。Y4以上の場合には当該ピクセルは第5の領域に含まれることになるから5を関心領域判定部44に出力する。
【0035】
カウンターが飽和することを防ぐため、適切なタイミングでカウンターの値を0にリセットする必要がある。具体的には、カウンターの値が表示領域の垂直方向の境界座標(Y5)を超え、非表示領域の垂直方向の境界座標(Y6)に到達したら、比較部50はカウンターリセット部52に信号を送り、カウンターリセット部52はカウント部48のカウンターの値を0にリセットする。これを実現するためにレジスタ群46のレジスタ5に、非表示領域の垂直方向の境界座標であるY6を格納しておく必要がある。よって、5つの領域を特定する場合には、カウンターをリセットすることも考慮すると、5つのレジスタが必要となる。一般に、n個の領域を特定するためには少なくともn個のレジスタが必要となる。
【0036】
カウンターのリセットは上記の他に、垂直同期信号(Vsync)を利用することでも実現できる。以下、Vsyncを利用したカウンターのリセットの方法について説明する。
【0037】
図7は、Hsync152およびVsync154と、画像の表示領域との関係を模式的に表したものである。図7は水平方向、垂直方向ともに表示領域の左右(上下)に非表示領域が存在する場合について図示したものである。
【0038】
Vsyncは、ラスタースキャンによるピクセル描画における垂直方向の同期を取るために用いられる。したがって、Vsyncがアサートされるタイミングでカウンターの値を0にリセットすれば、ラインを正しくカウントすることができる。図7に示すような垂直方向の上下に非表示領域は、Vsyncがアサートされた直後の垂直ブランキング期間156と、表示領域の描画後に次のVsyncがアサートされるまでの間の垂直ブランキング期間158との存在によるものである。そこで、このようなブランキング期間が存在する場合には、表示領域の垂直方向の境界座標値(Y1〜Y5)として、垂直ブランキング区間156に相当するライン数VBI1をオフセットとして加算した値をレジスタ群46の各レジスタに格納する必要がある。
【0039】
垂直ブランキング期間に垂直ブランキング区間156に相当するライン数VBI1および垂直ブランキング区間158に相当するライン数VBI2が存在するのと同様に、水平同期信号152についても、Hsyncがアサートされた直後の水平ブランキング期間HBI1160と、表示領域描画後に次のHsyncがアサートされるまでの間の水平ブランキング期間HBI2162とが存在する。結果として、図7に示すように、表示領域が非表示領域に囲まれる形となる。
【0040】
なお、Vsyncに基づいてカウンターをリセットする場合には、カウンターリセットのためのレジスタが不要となるので、n個の領域を特定するためには少なくともn−1個のレジスタを用意すればよい。また、Vsyncを利用する場合は、ディスプレイタイミング設定部16内のタイミング信号生成部34においてHsyncを計数する等の方法により生成されているものとする。
【0041】
上記は、ディスプレイタイミング設定部16からHsyncを受け取りカウント部48でカウントすることでピクセルの垂直方向の位置座標を取得する場合について説明した。ディスプレイタイミング設定部16内のタイミング信号生成部34がピクセルのラスター位置を保存するレジスタを持っている場合などは、そこから直接カウント値を読み出しても良い。この場合も、カウンターリセットのためのレジスタは不要となる。
【0042】
以上はライン方向判定部をひとつのまとまった機能を持つものとして説明したが、ライン方向判定部42は、ラインカウント部54と、ラインカウント比較部56とのふたつの機能を含むものとして考えることもできる。図8はそのような場合の一例を図示したものである。ライン方向判定部42と同様、ピクセル方向判定部40もピクセルカウント部58とピクセルカウント比較部60とを含む。
【0043】
図9は図8におけるラインカウント部54の内部構造を図示したものである。ラインカウント部54はカウント部62とカウンターリセット部64とを含む。カウント部62は前述のカウント部48と同様の機能を持つものであり、現在読み出されたピクセルの垂直方向の位置座標を後述のラインカウント比較部56に出力する。ラインカウント部54内のカウンターが飽和することを防ぐために、カウンターリセット部64は後述のラインカウント比較部56からカウンターのリセット信号を受け取り、カウンターの値を0にリセットする。
【0044】
図10は図8におけるラインカウント比較部56の内部構造を図示したものである。ラインカウント比較部56はレジスタ群66、比較部68、リセット信号送信部70を含む。レジスタ群66および比較部68はそれぞれ前述のレジスタ群46および比較部50と同様の機能を持つものである。比較部68は、ラインカウント部54内のカウント部62から受け取ったピクセルの位置座標がレジスタ群46のレジスタnに格納された非表示領域の垂直方向の境界座標以上となった場合、リセット信号送信部70にカウンターのリセット信号を送信するように要求する。リセット信号送信部70は、リセット信号送信の受け取ると、ラインカウント部54内のカウンターリセット部64にカウンターのリセット信号を送信する。
【0045】
以上は、ラインカウント比較部56がラインカウント部54内のカウンターのリセット時期を判断する場合について説明したが、カウンターのリセット時期をラインカウント部内で判断するようにすることもできる。図11はそのような場合の一例を図示したものである。この例においても、ライン方向判定部42はラインカウント部72とラインカウント比較部74とを含む。同様に、ピクセル方向判定部40はピクセルカウント部76とピクセルカウント比較部78とを含む。
【0046】
図12は図11におけるラインカウント部72の内部構造を図示したものである。ラインカウント部72はレジスタ80、カウント部82、比較部84、カウンターリセット部86を含む。カウント部82はディスプレイタイミング設定部16からHsyncを受け取りカウントすることで、現在読み出されたピクセルの垂直方向の位置座標を取得する。取得した位置座標は後述のラインカウント比較部74内の比較部90に出力するとともに、比較部84にも出力する。比較部84は、関心領域情報入力部から非表示領域の垂直方向の境界座標を受け取り保持しているレジスタ80から当該境界座標を取得し、カウント部82から取得したピクセルの位置座標との比較を行う。ピクセルの位置座標が非表示領域の垂直方向の境界座標値以上となった場合、カウンターリセット部86にカウント部82内のカウンターの値を0とするように要求する。カウンターリセット部86は比較部84からの要求に応じ、カウント部82内のカウンターの値を0にリセットする。
【0047】
図13は図11におけるラインカウント比較部の内部構造を図示したものである。ラインカウント比較部74はレジスタ群88と比較部90とを含む。ラインカウント比較部74は前述したラインカウント比較部56とは異なり、ラインカウント部内のカウンターのリセット時期について判断する必要がない。したがって、レジスタ群88は非表示領域の垂直方向の境界座標を保持するレジスタも不要となる。比較部90は前述した50と同様の機能を持つものである。
【0048】
以上、ライン方向判定部42について具体的に説明した。ピクセル方向判定部40はライン方向判定部42とほぼ同様の構造を持つ。ライン方向判定部との違いはHsyncの代わりにピクセルクロックを受け取って、現在読み出されたピクセルの水平方向の位置を取得することである。このため、ピクセル方向判定部40は関心領域情報入力部20から、関心領域の水平方向の境界座標および、非表示領域の水平方向の境界座標を受け取り、内部のレジスタ群に格納する。
【0049】
また、ライン方向判定部42で説明した場合と同様に、ライン方向判定部内のカウンターのリセットのため、同期信号を利用することも可能である。具体的には、同期信号としてHsyncがアサートされるタイミングでカウンターをリセットすればよい。
【0050】
以後、実施の形態に係る関心領域判定部44について具体例を用いて説明する。
【0051】
図14は表示領域内に第1の領域と第2の領域との、ふたつの矩形上の関心領域が存在する例を図示したものである。第1の領域は、水平方向の識別子が2でありかつ垂直方向の識別子が2の領域として特定することができる。ここで、水平方向の識別子とは、ライン方向判定部が垂直方向の識別子として出力する垂直方向の識別子と同様に、現在読み出されたピクセルが、水平方向のどの関心領域に含まれるかについてピクセル方向判定部40が出力した識別子を意味する。第2の領域は水平方向の識別子が4でありかつ垂直方向の識別子が4の領域として特定できる。なお、図14は表示領域のみを図示してあり、非表示領域については図示していない。
【0052】
図15は関心領域判定部44の内部構造を図示したものである。関心領域判定部44はレジスタ群92、識別子比較部94、論理積演算部96、反転領域演算部98を含む。レジスタ群92は、関心領域情報入力部20から関心領域を特定するための情報を受け取り格納する部分である。例えば、図14に示すように表示領域内に第1の領域と第2の領域とのふたつの矩形上の関心領域が存在する場合には、第1の領域の水平方向識別子である2がレジスタ群92内のXレジスタ1に格納される。また、第1の領域の垂直方向識別子である2はレジスタ群92内のYレジスタ1に格納される。同様に、第2の領域の水平方向識別子である4はXレジスタ2に、垂直識別子である4はYレジスタ2に格納される。反転レジスタは0又は1の値を取る1ビットのレジスタである。したがって、レジスタ群92は少なくとも関心領域の数の2倍+1の数のレジスタを含む。反転レジスタの詳細については後述する。
【0053】
識別子比較部94は、レジスタ群92に格納されている識別子と、ピクセル方向判定部40およびライン方向判定部42から受け取った識別子とを比較し、両者が一致するか否かを判定する部分である。例えば識別子比較部94内の水平方向識別子比較部1はXレジスタ1に格納されている値である3と、ピクセル方向判定部40から受け取った値とを比較し、同じ値であれば1を、異なる値であれば0を出力する。
【0054】
論理積演算部96は、関心領域それぞれについての水平方向および垂直方向の識別子の比較結果を識別子比較部94から受け取り、その論理積を計算する部分であり、少なくとも関心領域の数と同数の論理積演算器を含む。例えば、論理積演算部96内の論理積演算器1は、識別子比較部94内の水平方向識別子比較部1および垂直方向識別子比較部1の出力結果の論理積を計算する。現在読み出されたピクセルが第1の関心領域に含まれるものであれば、水平方向識別子比較部1および垂直方向識別子比較部1の出力はともに1となるから、論理積演算器1の出力は1となる。当該ピクセルが第1の関心領域に含まれない場合には、水平方向識別子比較部1、垂直方向識別子比較部1のどちらか一方あるいは両方の出力が0となるから、論理積演算器1の出力は0となる。すなわち、各関心領域に対応する論理積演算器の出力が1であれば当該ピクセルは対応する関心領域に含まれることを意味し、対応する論理積演算器の出力が0であれば、当該ピクセルは対応する関心領域に含まれないことを意味する。
【0055】
反転領域演算部98は論理積演算部96からの出力、すなわち、当該ピクセルが各関心領域に含まれているか否かについての情報と、反転レジスタの情報とを受け取り、当該ピクセルが関心領域に含まれている否か、含まれているとするならばどの領域に含まれているかを決定する部分である。以後、反転領域演算部98の動作について説明する。
【0056】
図16は反転領域演算部98の内部構造を図示したものである。反転領域演算部98は論理和演算部100、乗算部102、加算部104、排他的論理和演算器106を含む。論理和演算部100は論理積演算部96から当該ピクセルが各関心領域に含まれているか否かについての情報を受け取り、それら全ての論理和を計算する部分である。すなわち、当該ピクセルがいずれかの関心領域に含まれている場合には1を出力し、当該ピクセルがどの関心領域にも含まれていない場合には0を出力する。
【0057】
乗算部102は論理積演算部96から当該ピクセルが各関心領域に含まれているか否かについての情報を受け取り、当該情報それぞれについて所定の定数を乗算する部分であり、少なくとも関心領域と同数の乗算器を含む。すなわち、乗算部102には関心領域それぞれに対応する乗算器を含む。図14に示すような表示領域内に第1の領域と第2の領域とのふたつの矩形上の関心領域が存在する場合において、当該ピクセルが関心領域2に含まれていると仮定する。この場合論理積演算部から送られてくる値(96bを経由して送られてくる値)が1となり、関心領域1に対応する値(96aを経由して送られてくる値)は0である。関心領域それぞれに対応する乗算器は、関心領域の通し番号と同一数で当該ピクセルの内包情報を乗算するものであり、関心領域1に対応する乗算器では0×1、関心領域2に対応する乗算器では1×2の乗算が実行される。
【0058】
加算部104は、乗算部102に含まれる各乗算器の出力の総和を計算する部分である。本例では、関心領域1に対応する乗算器の出力は0であり、関心領域2に対応する乗算器の出力は2であるから、加算部104は0+2=2の値を出力する。一般に、ひとつのピクセルが同時に複数の関心領域に含まれることはないから、加算部104の出力は、当該ピクセルが含まれる領域の通し番号と同一の値となる。なお、当該ピクセルがいずれの関心領域にも含まれない場合には、論理積演算部から得られる値はいずれも0となるから、加算部104の出力は0となる。
【0059】
以上の構成によれば、当該ピクセルが関心領域のいずれかに含まれる場合、論理和演算部100の出力が1となり、加算部104の出力が、当該ピクセルの含まれる領域の番号となる。当該ピクセルがいずれの関心領域にも含まれない場合には、論理和演算部100と加算部104の出力とはともに0となる。
【0060】
関心領域が図14に示すような表示領域内のいくつかの矩形領域の場合には、上述した構成で当該ピクセルが関心領域のいずれかに含まれるか否かを決定することができる。しかしながら、関心領域として表示領域内の特定の矩形領域を除外した形状の領域も扱うためには、上記説明に加えさらに処理を行う必要がある。反転レジスタの情報はそのために使用されるものであり、具体的には、排他的論理和演算器106は論理和演算部100の出力と反転レジスタの値との排他的論理和を計算する。当該ピクセルが関心領域のいずれかに含まれるときに1を出力し、関心領域に含まれないときは0を出力するように構成する。以下、そのような構成について具体的に説明する。
【0061】
図17は関心領域として表示領域内の特定の矩形領域を除外した領域を設定した場合について例示したものである。具体的には、表示領域全体から水平方向がX1〜X2、垂直方向がY1〜Y2の矩形領域を場外した領域である。すなわち、水平方向識別子が2でありかつ垂直方向識別子が2である領域を除外した領域である。
【0062】
まず、関心領域判定部44におけるレジスタ群92内のXレジスタ1に、除外領域を特定するための水平方向識別子である2の値を格納する。また、Yレジスタ1には、垂直方向識別子である2を格納する。これにより、当該ピクセルが除外領域に含まれる場合には、論理和演算部100の出力が1となり、加算部104の出力が1となる。ここで、本例のように、除外領域を特定することで関心領域を設定する場合には、関心領域情報入力部20を用いて、レジスタ群92内の反転レジスタの値を1に設定する。このとき、排他的論理和演算器106は、論理和演算部100の出力である1と反転レジスタの値である1との排他的論理和を取って0を出力する。すなわち、当該ピクセルは関心領域に含まれないと判断できる。一方、当該ピクセルが除外領域に含まれない場合には、論理和演算部100の出力は0となるから、排他的論理和演算器106の出力は1となる。当該ピクセルが除外領域に含まれないとことは当該ピクセルが関心領域の含まれることを意味するから、排他的論理和演算器106の出力である1と一致する。
【0063】
なお、関心領域として図14に示すような表示領域内のいくつかの矩形領域として設定する場合には、反転レジスタの値を0に設定する。このとき、当該ピクセルがいずれかの関心領域に含まれる場合には論理和演算部100の出力は1となるが、この値と反転レジスタの値である0との排他的論理和は1となり、論理和演算部100の出力値と変わらない。また、当該ピクセルがいずれの関心領域にも含まれない場合には論理和演算部100の出力は0となるが、この値と反転レジスタの値である0との排他的論理和は0となり、この場合も論理和演算部100の出力値と変わらない。
【0064】
以上まとめると、関心領域が図14に示すような表示領域内をいくつかの矩形領域として設定する場合および図17に示すような除外領域を特定することで関心領域を設定する場合のいずれの場合においても、当該ピクセルが関心領域に含まれる場合には、排他的論理和演算器106の値は1となる。逆に、当該ピクセルがいずれの関心領域にも含まれない場合には排他的論理和演算器106の値は0となる。さらに、関心領域が図14に示すように表示領域内のいくつかの矩形領域として設定される場合には、加算部104の出力は当該ピクセルを含む関心領域の通し番号を出力する。関心領域が図17に示すように除外領域を特定することで関心領域を設定する場合には、加算部104の出力は0となる。
【0065】
次に、写像変換部18内のピクセル選択部28について説明する。ピクセル選択部28はピクセル読出部10が読み出したピクセルを受け取る。また、関心領域特定部26内の排他的論理和演算器106の出力を受け取り、ピクセル読出部10が現在読み出したピクセルが関心領域に含まれるか否かを判断する。すなわち、排他的論理和演算器106の出力が1の場合には当該ピクセルが関心領域に含まれるものであり、写像変換の対象となる画像を構成するピクセルとして有限ビット生成部30に出力する。排他的論理和演算器106の出力が0の場合には当該ピクセルが関心領域に含まれないものと判断する。
【0066】
図18は有限ビット生成部30の内部構造を図示したものである。有限ビット生成部30は有限ビット計算部選択部108、有限ビット計算部群110、有限ビット格納レジスタ群112を含む。有限ビット計算部選択部108は、ピクセル選択部28からピクセル情報を受け取り、関心領域特定部26内の加算部104から当該ピクセルが含まれる関心領域の番号を受け取る。有限ビット計算部選択部108は、受け取った番号に基づいて当該ピクセル情報を計算すべき有限ビット計算部を選択し、当該ピクセル情報を出力する。例えば、当該ピクセルが第2の関心領域に含まれるという情報を受け取った場合には、当該ピクセル情報を有限ビット計算部群110内の有限ビット計算部2に出力する。
【0067】
有限ビット計算部群110は、少なくとも関心領域と同数の有限ビット計算部を含む。各有限ビット計算部は対応する関心領域に含まれるピクセル情報を写像変換して有限ビットに変換する。前述したとおり、写像変換とは画像のピクセルデータ等の大量のデータから有限ビットへの写像を意味し、例えばCRC(Cyclic Redundancy Check)やMD5(Message Digest Algorithm 5)等のハッシュ値を生成するものであればどのようなものでも良いが、CRCは写像変換すべき関心領域内のピクセル情報がすべて揃わなくとも計算を開始することができる点で有利である。また、CRCを採用する場合には、CRC値は例えば32bitとする。
【0068】
有限ビット格納レジスタ群112は、少なくとも関心領域と同数の有限ビット格納レジスタを含む。各有限ビット格納レジスタは対応する関心領域に含まれるピクセル情報を写像変換して得られた有限ビットを格納する。格納された有限ビットは有限ビット比較部22によって参照される。
【0069】
なお、関心領域が図17に示すような除外領域を特定することで設定されている場合には、関心領域の番号は0となる。この場合、有限ビット計算部としてはいずれを用いても良い。
【0070】
以上、実施の形態に係る写像変換部18により、関心領域を写像変換して有限ビットを導出するまでの流れについて説明した。以後、実施の形態に係る写像変換部18の応用例について説明する。
【0071】
応用例のひとつとして表示領域内を移動するウィンドウを追尾して、そのウィンドウ内の画像が変化したか否かを検出する例について説明する。図19は表示領域上に水平方向の長さがW、垂直方向の長さがHである矩形領域のウィンドウ114が表示されている様子を図示したものである。矩形領域の4つの頂点の座標はそれぞれ(X0,Y0)、(X0+W,Y0)、(X0,Y0+H)、(X0+W,Y0+H)である。本例では、表示領域は水平方向の大きさが1920、垂直方向の大きさが1080であり、非表示領域まで含めると、水平方向の大きさが2200、垂直方向の大きさが1125であるものとする。また、表示はオペレーティングシステムやアプリケーションプログラムによって制御されており、当該オペレーティングシステムやアプリケーションプログラムはウィンドウが表示されている座標や当該ウィンドウの大きさを知っているものとする。
【0072】
まず、ウィンドウの位置や大きさが固定されている場合について説明する。この場合は関心領域がひとつの矩形で設定されている場合に相当する。
【0073】
オペレーティングシステムやアプリケーションプログラムは関心領域情報入力部20を介してライン方向判定部42内のレジスタ1にX0を、レジスタ2にX0+Wを設定する。同様に、ピクセル方向判定部40内のレジスタ1にY0を、レジスタ2にY0+Hを設定する。なお、X0+Wが2200を超える場合にはX0+Wに換えて2200を、Y0+Hが1125を超える場合にはY0+Hに換えて1125をそれぞれ用いる。続いてオペレーティングシステムは関心領域情報入力部20を介して関心領域判定部44内のXレジスタ1に矩形領域を特定するための水平方向識別子およびYレジスタ1に垂直方向識別子を設定する。本例の場合、矩形領域となるウィンドウは水平方向識別子が2、垂直方向識別子が2として特定されるから、関心領域判定部44内のXレジスタ1に2をYレジスタ1に2をそれぞれ設定する。関心領域がひとつの矩形で設定されている場合に相当するから、反転レジスタの値は0に設定する。
【0074】
上記の設定によりウィンドウ内の画像に変更があった場合、変更の前後で有限ビット生成部30で生成される有限ビットの値は異なったものとなる。そこで、毎フレームごとに有限ビットを計算して有限ビット格納部24に格納しておき、有限ビット比較部22いおいて前後するフレームの有限ビットを比較することにより、ウィンドウ内の画像変化を検出することが可能となる。これにより、例えば特定のウィンドウ内のみを遠隔地に送信している場合において、ウィンドウ内に変更があった場合にのみウィンドウ内の画像を送信することにより、送信時間や使用帯域を抑制することができる。表示領域全体での変化を検出する場合には特定のウィンドウの表示位置のみ変更があり、ウィンドウ内の画像には変更がない場合でも、変更があったものとして画像情報を送信しなければならないことと比較し、本手法は送信時間や使用帯域を抑制できる点で有利である。
【0075】
ウィンドウの位置や大きさが固定されておらず、例えばユーザによって表示位置が変更される場合でも、表示領域内を移動するウィンドウを追尾して、そのウィンドウ内の画像が変化したか否かを検出することが可能である。以下、このことについて説明する。
【0076】
前述したとおり、通常、ウィンドウの表示はオペレーティングシステムやアプリケーションプログラムによって制御されているから、それらはウィンドウの表示されている座標やウィンドウの大きさを知っている。そこで、ウィンドウの位置がユーザによって変更された場合は、都度、関心領域情報入力部20を介して関心領域の情報を関心領域特定部26に送信することにより、ウィンドウ内の画像について写像変換することが可能となる。例えば、図19に図示するように、ウィンドウ114を水平方向にα、垂直方向にβ移動し、ウィンドウの4つの頂点の座標がそれぞれ(X0+α,Y0+β)、(X0+α+W,Y0+β)、(X0+α,Y0+β+H)、(X0+α+W,Y0+β+H)であるウィンドウ116となったとする。このとき、オペレーティングシステムやアプリケーションプログラムは関心領域情報入力部20を介してライン方向判定部内のレジスタ1にX0+αに、レジスタ2にX0+α+Wに変更すればよい。同様に、ピクセル方向判定部内のレジスタ1にY0+βを、レジスタ2にY0+β+Hに変更すればよい。
【0077】
本例とは逆に、特定の領域を除外領域とする処理を行えば、表示領域内の特定の領域について画像の変化を検出しないようにすることもできる。これは、例えばリモートデスクトップ等の利用において、送信元の表示領域内でカーソルが点滅する場合等、わざわざ送信するまでもない変化についてあらかじめ分かっている場合に,その部分について画像の変化を検出しないようにすることで、送信時間や使用帯域の抑制ができる。上述の方法を用いれば、例えばカーソルの点滅による画像の変化を除外した場合、当該点滅するカーソルが移動する場合であっても追尾しながら関心領域から除外することもできる。
【0078】
別の応用例として、ディスプレイバッファから画像出力部に至るまでの間にいくつかの画像処理装置が存在する場合において、その画像処理装置を構成するハードウェアの動作検証に用いる例について説明する。
【0079】
図20はグラフィックプロセッサの全体構成を図示したものである。ディスプレイバッファ118に格納された画像が第1の画像処理部120、第2の画像処理部122を通り、第nの画像処理部124で処理された後に画像出力部126に至る様子を図示している。ここで、各画像処理部はグラフィックプロセッサのパイプライン処理を担当するものであり、例えばスケーリングや色空間変換、ディザリングなど、画像出力に用いられる画像処理を行う。
【0080】
第1の写像変換部128はディスプレイバッファ118から画像データを受け取り、画像データの関心領域について写像変換を行い、第1の有限ビットを出力する。ここで、関心領域は画像全体も含む。また、第2の写像変換部130は第1の画像処理部120の画像処理結果を受け取り、当該結果の画像の関心領域について写像変換を行い、第2の有限ビットを出力する。以後同様に第nの写像変換部132は第n−1の画像処理部の画像処理結果について、第n+1の写像変換部は第nの画像処理部の関心領域についてそれぞれ有限ビットを生成する。
【0081】
各画像処理部において本来出力されるべき結果は、あらかじめ例えばコンピュータシミュレーション等を用いて計算し、それぞれの関心領域についての有限ビットを計算しておく。これらの有限ビットは正解有限ビットとして、正解有限ビット格納部に格納しておく。具体的には、ディスプレイバッファに格納されている画像データの関心領域についての正解有限ビットは、第1の正解有限ビット格納部136に格納する。第1の画像処理部120の画像処理結果の関心領域についての正解有限ビットは、第2の正解有限ビット格納部138に格納する。以後同様に、第n−1の画像処理部の画像処理結果の関心領域についての正解有限ビットは第nの正解有限ビット格納部140に、第nの画像処理部の画像処理結果の関心領域についての正解有限ビットは第n+1の正解有限ビット格納部142にそれぞれ格納する。
【0082】
各写像変換部において得られた有限ビットと対応する正解有限ビットとを比較することにより、一連の画像処理部の動作検証を行うことができる。具体的には、第1の有限ビット比較部144において、第1の写像変換部128で計算された有限ビットと、第1の正解有限ビット格納部136に格納されている有限ビットとを比較し、両者が一致する場合にはディスプレイバッファ118から第1の写像変換部128の情報の転送に誤りがないことが検証できる。第2の有限ビット比較部146において、第2の写像変換部130で計算された有限ビットと、第2の正解有限ビット格納部138に格納されている有限ビットとを比較し、両者が一致する場合には、第1の画像処理部の画像処理が正しく動作していることが検証できる。また、たとえば第nの有限ビット比較部148において第n−1の画像処理部の動作が正しいことが検証されている場合に、第n+1有限ビット比較部150おいて第nの画像処理部の動作が誤っていると確認された場合、画像処理の不具合は第nの画像処理部にあることが特定できる。
【0083】
一般に、図20に示すようにパイプライン処理によって画像処理が直列に行われる場合には、上流の画像処理部において起きた誤りは、以後下流の画像処理結果に受け継がれることになる。したがって、本例のように各画像処理部の前後で画像処理の動作を検証することにより、いずれの画像処理部において不具合が起きたかを特定することが可能となる。これにより、たとえば各画像処理部を構成するハードウェアの不具合を特定するに際しての有益な情報が得られる。
【0084】
図21は、グラフィックプロセッサの全体構成の別の例を表したものである。ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子の別の例を図示したものである。ディスプレイバッファ118に格納された画像が第1の画像処理部120、第2の画像処理部122を通り、第nの画像処理部124で処理された後に画像出力部126に至ることは前述した図20に図示した例と同様である。
【0085】
画像選択部164はディスプレイバッファ118から画像出力部126に至るまでの途中における画像処理結果を取得する部分である。画像処理部は複数あるため中途の画像処理結果も複数あるから、画像選択部164は、任意の画像処理結果を選択して取得する。たとえば、第1の画像処理部120の画像処理結果を取得したい場合には、第1の画像処理部120と第2の画像処理部122との間で画像を取得する。
【0086】
正解有限ビット格納部170は、画像選択部164で選択して取得した画像処理結果について、本来出力されるべき画像をあらかじめコンピュータシミュレーション等を用いて生成しそこから計算された正解有限ビットを格納する部分である。この正解有限ビットと、写像変換部166によって変換された画像選択部164が取得した画像とを、有限ビット比較部168で比較しすることで、画像選択部164で選択した画像処理部の動作検証を行うことができる。画像選択部164を設けることで、写像変換部、有限ビット比較部、正解有限ビット格納部の数を抑制できる点でメリットがある。
【0087】
図22は、グラフィックプロセッサの全体構成のさらに別の例を表したものである。ディスプレイバッファから画像出力部に至るまでの間に複数の画像処理部を経由する場合において、各画像処理部の前後で写像変換する様子のさらに別の例を図示したものである。本例においても、ディスプレイバッファ118に格納された画像が第1の画像処理部120、第2の画像処理部122を通り、第nの画像処理部124で処理された後に画像出力部126に至ることは前述した図20および図21に図示した例と同様である。また、第1の正解有限ビット格納部136、第2の正解有限ビット格納部138、第nの正解有限ビット格納部140、第n+1の正解有限ビット格納部142の複数の正解有限ビット格納部を有する点は、図20に図示した例と同様である。画像選択部164、写像変換部166、有限ビット比較部168を有する点は図21に図示した例と同様である。
【0088】
正解有限ビット選択部172は、正解有限ビット格納部に格納されている複数の正解有限ビットから、任意の正解ビットを選択して取得する部分である。これは、例えば画像選択部164が第1の画像処理部120の画像処理結果を取得した場合には、それと連動して、第1の画像処理部120が本来出力すべき画像を写像変換して得た有限ビットを格納してある第2の正解有限ビット格納部138から正解有限ビットを取得する。この正解有限ビットと、写像変換部166によって変換された画像選択部164が取得した画像とを、有限ビット比較部168で比較しすることで、画像選択部164で選択した画像処理部の動作検証を行うことができる。複数の画像処理部が本来出力すべき画像を写像変換することで得られる有限ビットについてあらかじめ用意できる場合には、画像選択部164および正解有限ビット選択部172の選択対象を変更するだけで容易に各画像処理部の動作検証を行える点で有利である。
【0089】
なお、各写像変換部において写像変換の計算に必要なピクセルカウントやHsync、関心領域の特定のための情報は外部から適宜入力されているものとする。また、画像選択部164、正解有限ビット選択部172は、図示しない入力部等を等して、ユーザによる手動や、オペレーティングシステムやアプリケーションプログラム等によって選択対象を自由に変更できる。
【0090】
上記の例では複数の画像処理部のうちどの画像処理部に不具合があるかを特定するための構成について説明した。本実施例の写像変換部は、ひとたび不具合のある画像処理部を特定した後は、その画像処理部が出力する画像のうちどの領域に不具合があるかを検出することにも利用することができる。以下、この利用方法について説明する。
【0091】
画像処理部がたとえば画像を構成する画素のうち、特定の色相を持つ画素の色相を変化させるような処理の場合、画像の局所領域が変更される。具体的には、画像の背景の色を置換するような処理の場合である。この場合、まず画像全体について正解有限ビットと画像処理結果から計算される有限ビットとを比較する。この結果両者が一致しない場合には、次は例えば画像の右半分の領域についてのみ、正解有限ビットと画像処理結果から計算される有限ビットとを比較する。このとき両者が一致すれば、画像処理部の不具合は画像の左半分にあることが特定できる。このように、比較に利用する画像領域を少しずつ狭めていくことにより、画像処理部における画像処理において不具合のおきる領域を追い込むことができる。最終的に、不具合領域を特定することが可能となる。
【0092】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0093】
上記の説明において、関心領域特定部26およびピクセル選択部28は、マイコン等を用いてソフトウェアで実現することができる。また、関心領域特定部26においてピクセルカウント部58および76、ならびにラインカウント部54および72をハードウェアで実現し、その他の部分をマイコン等を用いてソフトウェアで実現することもできる。また、関心領域特定部26は簡単な論理演算と比較器等とを用いて実現できるから、全てハードウェアで実現することも可能である。この際、比較部を共有できることから、図6に示すように、ラインカウント部およびラインカウント比較部、ならびにピクセルカウント部およびピクセルカウント比較部を分離せずひとつのハードウェア上で実装することが好ましい。さらに、関心領域判定部44も簡単な回路で構成できるから、関心領域特定部26はまとめてひとつのハードウェアブロックとして実装することの方が、コストが下がる点で有利である。
【符号の説明】
【0094】
10 ピクセル読出部、 12 ディスプレイバッファ、 14 画像出力部、 16 ディスプレイタイミング設定部、 18 写像変換部、 20 関心領域情報入力部、 22 有限ビット比較部、 24 有限ビット格納部、 26 関心領域特定部、 28 ピクセル選択部、 30 有限ビット生成部、 40 ピクセル方向判定部、 42 ライン方向判定部、 44 関心領域判定部、 52 カウンターリセット部、 54 ラインカウント部、 56 ラインカウント比較部、 70 リセット信号送信部、 94 識別子比較部、 96 論理積演算部、 98 反転領域演算部、 100 論理和演算部、 106 排他的論理和演算器、 108 有限ビット計算部選択部、 110 有限ビット計算部群、 120 第1の画像処理部、 128 第1の写像変換部、 136 第1の正解有限ビット格納部、 144 第1の有限ビット比較部。
【特許請求の範囲】
【請求項1】
画像をラスタースキャンにより描画するためのタイミングを決定するディスプレイタイミング設定部と、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すピクセル読出部と、
画像中に任意の関心領域を特定するための情報を入力する関心領域情報入力部と、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する関心領域特定部と、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する有限ビット生成部とを含むことを特徴とする画像処理装置。
【請求項2】
前記関心領域特定部は、前記ディスプレイタイミング設定部から受け取った水平同期信号およびピクセルクロックをそれぞれ計数し、その値に基づいて前記ピクセルが関心領域に含まれるか否かを特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記有限ビット生成部により生成された第一の有限ビット列と、あらかじめ計算により生成され格納されている第二の有限ビット列とを比較することにより第一の有限ビット列の生成に用いた画像と第二の有限ビット列の生成に用いた画像とが相違するか否かを検出する有限ビット比較部を更に含むことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記第二の有限ビット列の生成に用いる画像は、前記第一の有限ビット列の生成に用いる画像と比較してフレームの過去画像であることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
画像情報が格納されたディスプレイバッファと、
画像情報を変換する画像処理部とをさらに含み、
前記第一の有限ビット列の生成に用いる画像と前記第二の有限ビット列の生成に用いる画像は、それぞれ前記画像処理部が実際に出力した画像と、前記画像処理部が本来出力すべき画像であることを特徴とする請求項3に記載の画像処理装置。
【請求項6】
画像情報が格納されたディスプレイバッファと、
画像情報を変換する直列に接続された複数の画像処理部と、
各画像処理部が実際に出力した画像を写像変換することにより第一の有限ビット列を生成する有限ビット生成部と、
各画像処理部が本来出力すべき画像を写像変換することにより得られる第二の有限ビット列と前記第一の有限ビット列とを比較することにより各画像処理部の動作検証を行う有限ビット比較部とを含むことを特徴とする画像処理装置。
【請求項7】
画像をラスタースキャンにより描画するためのタイミングを決定するステップと、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すステップと、
画像中に任意の関心領域を特定するための情報を入力するステップと、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定するステップと、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成するステップとをプロセッサに実行させることを特徴とする画像処理方法
【請求項8】
画像をラスタースキャンにより描画するためのタイミングを決定する機能と、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す機能と、
画像中に任意の関心領域を特定するための情報を入力する機能と、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する機能と、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項1】
画像をラスタースキャンにより描画するためのタイミングを決定するディスプレイタイミング設定部と、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すピクセル読出部と、
画像中に任意の関心領域を特定するための情報を入力する関心領域情報入力部と、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する関心領域特定部と、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する有限ビット生成部とを含むことを特徴とする画像処理装置。
【請求項2】
前記関心領域特定部は、前記ディスプレイタイミング設定部から受け取った水平同期信号およびピクセルクロックをそれぞれ計数し、その値に基づいて前記ピクセルが関心領域に含まれるか否かを特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記有限ビット生成部により生成された第一の有限ビット列と、あらかじめ計算により生成され格納されている第二の有限ビット列とを比較することにより第一の有限ビット列の生成に用いた画像と第二の有限ビット列の生成に用いた画像とが相違するか否かを検出する有限ビット比較部を更に含むことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記第二の有限ビット列の生成に用いる画像は、前記第一の有限ビット列の生成に用いる画像と比較してフレームの過去画像であることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
画像情報が格納されたディスプレイバッファと、
画像情報を変換する画像処理部とをさらに含み、
前記第一の有限ビット列の生成に用いる画像と前記第二の有限ビット列の生成に用いる画像は、それぞれ前記画像処理部が実際に出力した画像と、前記画像処理部が本来出力すべき画像であることを特徴とする請求項3に記載の画像処理装置。
【請求項6】
画像情報が格納されたディスプレイバッファと、
画像情報を変換する直列に接続された複数の画像処理部と、
各画像処理部が実際に出力した画像を写像変換することにより第一の有限ビット列を生成する有限ビット生成部と、
各画像処理部が本来出力すべき画像を写像変換することにより得られる第二の有限ビット列と前記第一の有限ビット列とを比較することにより各画像処理部の動作検証を行う有限ビット比較部とを含むことを特徴とする画像処理装置。
【請求項7】
画像をラスタースキャンにより描画するためのタイミングを決定するステップと、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出すステップと、
画像中に任意の関心領域を特定するための情報を入力するステップと、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定するステップと、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成するステップとをプロセッサに実行させることを特徴とする画像処理方法
【請求項8】
画像をラスタースキャンにより描画するためのタイミングを決定する機能と、
ディスプレイタイミング設定部が出力するタイミングに応じてピクセルを読み出す機能と、
画像中に任意の関心領域を特定するための情報を入力する機能と、
ディスプレイタイミング設定部が出力するタイミングに基づいて、前記ピクセルが関心領域に含まれるか否かを特定する機能と、
前記ピクセルが関心領域に含まれる場合には、前記ピクセルの情報を写像変換することにより有限ビット列を生成する機能とをコンピュータに実現させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2010−277368(P2010−277368A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−129561(P2009−129561)
【出願日】平成21年5月28日(2009.5.28)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願日】平成21年5月28日(2009.5.28)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]