(57)【要約】【課題】サーバ装置側で設定した解像度と違う解像度の信号が、映像エンコーダに入って、サーバ装置の画面表示の一部しか、クライアント装置に表示されない場合でも、画面表示を修正し、かつ、ローカルマウスカーソルにずれが無いように調整する。【解決手段】本発明の描画制御システムは、表示装置に表示させる画像データをキャプチャおよびエンコードするサーバ装置と、サーバ装置からエンコードされたキャプチャデータをデコードして表示し、マウスカーソルの位置情報に対する出力制御を行うクライアント装置とを備え、サーバ装置は、クライアント装置に対してトレーニング映像の情報を送信した後で、トレーニング映像を挿入した画像データをクライアント装置へ送信し、クライアント装置は、受信したトレーニング映像の情報と画像データに挿入されたトレーニング映像の情報とを比較して、ローカルマウスカーソルの移動領域を制御する。【選択図】図４
2011039665.tif 000002
【特許請求の範囲】
【請求項１】
表示装置に表示させる画像データをキャプチャおよびエンコードするサーバ装置と、
前記サーバ装置からエンコードされたキャプチャデータをデコードして表示し、マウスカーソルの位置情報に対する出力制御を行うクライアント装置と、
を備える描画制御システムであって、
前記サーバ装置は、前記クライアント装置に対してトレーニング映像の情報を送信した後で、前記トレーニング映像を挿入した前記画像データを前記クライアント装置へ送信し、
前記クライアント装置は、受信した前記トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較して、ローカルマウスカーソルの移動領域を制御する、
ことを特徴とする描画制御システム。
【請求項２】
前記クライアント装置は、受信した前記トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較し、前記画像データが不完全であると判断した場合、前記サーバ装置に対して、全画面トレーニング映像を要求する、
ことを特徴とする請求項１記載の描画制御システム。
【請求項３】
前記サーバ装置は、前記クライアント装置の前記全画面トレーニング映像の要求に対して、前記全画面トレーニング映像を作成し、キャプチャおよびエンコードして前記クライアント装置へ送信する、
ことを特徴とする請求項２記載の描画制御システム。
【請求項４】
前記クライアント装置は、前記全画面トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較し、キャプチャ座標補正情報を取得し、前記サーバ装置へ送信する、
ことを特徴とする請求項３記載の描画制御システム。
【請求項５】
前記トレーニング映像の情報は、解像度と、検出マークの数、大きさ、座標および該検出マーク間の距離である、
ことを特徴とする請求項１から４のいずれか１項に記載の描画制御システム。
【請求項６】
クライアント装置のローカルマウスカーソルの移動領域を制御するために、前記クライアント装置へトレーニング映像の情報を送信した後で、前記トレーニング映像を挿入した画像データをキャプチャおよびエンコードして前記クライアント装置へ送信する、
ことを特徴とするサーバ装置。
【請求項７】
前記クライアント装置が、受信した前記トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較し、前記画像データが不完全であると判断した場合、前記クライアント装置が要求する全画面トレーニング映像を作成し、キャプチャおよびエンコードして前記クライアント装置へ送信する、
ことを特徴とする請求項６記載のサーバ装置。
【請求項８】
前記トレーニング映像の情報は、解像度と、検出マークの数、大きさ、座標および該検出マーク間の距離である、
ことを特徴とする請求項６または７のいずれか１項に記載のサーバ装置。
【請求項９】
ローカルマウスカーソルの移動領域を制御するために、サーバ装置から送信されたトレーニング映像の情報と前記サーバ装置から送信されデコードした画像データに挿入された前記トレーニング映像の情報とを比較する、
ことを特徴とするクライアント装置。
【請求項１０】
前記サーバ装置から送信された前記トレーニング映像の情報と前記画像データに挿入された前記トレーニング映像の情報とを比較した結果、前記画像データが不完全であると判断した場合、前記サーバ装置に対して、全画面トレーニング映像を要求する、
ことを特徴とする請求項９記載のクライアント装置。
【請求項１１】
前記全画面トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較し、キャプチャ座標補正情報を取得し、前記サーバ装置へ送信する、
ことを特徴とする請求項１０記載のクライアント装置。
【請求項１２】
前記トレーニング映像の情報は、解像度と、検出マークの数、大きさ、座標および該検出マーク間の距離である、
ことを特徴とする請求項９から１１のいずれか１項に記載のクライアント装置。
【請求項１３】
サーバ装置によってトレーニング映像の情報をクライアント装置へ送信する第１のステップと、
前記サーバ装置によって前記トレーニング映像を挿入した画像データをキャプチャおよびエンコードして前記クライアント装置へ送信する第２のステップと、
前記クライアント装置によって受信した前記トレーニング映像の情報とデコードされた前記画像データに挿入されたトレーニング映像の情報とを比較し、ローカルマウスカーソルの移動領域を制御する第３のステップと、
を備えることを特徴とする描画制御システムのマウスずれ制御方法。
【請求項１４】
前記第３のステップにおいて、前記クライアント装置による受信した前記トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較した結果、前記画像データが不完全であると判断された場合、
前記クライアント装置によって前記サーバ装置に対して全画面トレーニング映像を要求する第４のステップと、
を備えることを特徴とする請求項１３記載の描画制御システムのマウスずれ制御方法。
【請求項１５】
前記第４のステップにおいて、前記全画面トレーニング映像を要求があった場合、
前記サーバ装置によって前記全画面トレーニング映像の作成、キャプチャおよびエンコードして前記クライアント装置へ送信する第５のステップと、
を備えることを特徴とする請求項１４記載の描画制御システムのマウスずれ制御方法。
【請求項１６】
前記第５のステップにおける前記全画面トレーニング映像を前記クライアント装置が受信した場合、
前記クライアント装置によって前記全画面トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較し、キャプチャ座標補正情報を取得し、前記サーバ装置へ送信する第６のステップと、
を備えることを特徴とする請求項１５記載の描画制御システムのマウスずれ制御方法。
【請求項１７】
サーバ装置によってトレーニング映像の情報をクライアント装置へ送信する第１の処理と、
前記サーバ装置によって前記トレーニング映像を挿入した画像データをキャプチャおよびエンコードして前記クライアント装置へ送信する第２の処理と、
前記クライアント装置によって受信した前記トレーニング映像の情報とデコードされた前記画像データに挿入されたトレーニング映像の情報とを比較し、ローカルマウスカーソルの移動領域を制御する第３の処理と、
をコンピュータに実行させるプログラム。
【請求項１８】
前記第３の処理において、前記クライアント装置による受信した前記トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較した結果、前記画像データが不完全であると判断された場合、
前記クライアント装置によって前記サーバ装置に対して全画面トレーニング映像を要求する第４の処理と、
をコンピュータに実行させる請求項１７記載のプログラム。
【請求項１９】
前記第４の処理において、前記全画面トレーニング映像を要求があった場合、前記サーバ装置によって前記全画面トレーニング映像の作成、キャプチャおよびエンコードして前記クライアント装置へ送信する第５の処理と、
をコンピュータに実行させる請求項１８記載のプログラム。
【請求項２０】
前記第５の処理における前記全画面トレーニング映像を前記クライアント装置が受信した場合、
前記クライアント装置によって前記全画面トレーニング映像の情報と前記画像データに挿入されたトレーニング映像の情報とを比較し、キャプチャ座標補正情報を取得し、前記サーバ装置へ送信する第６の処理と、
をコンピュータに実行させる請求項１９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置側とクライアント装置側でのマウスカーソルのずれを防止する描画制御システム、サーバ装置、クライアント装置、それらのマウスずれ制御方法およびプログラムに関するものである。
【背景技術】
【０００２】
サーバ装置において表示されている画面をキャプチャして、映像信号をクライアント装置へと送出することで、サーバ装置の画面をクライアント装置へと表示させてリモートコントロールする方式の描画制御システムが提案されている（例えば、特許文献１参照）。
【０００３】
このような方式の描画制御システムについて詳細に説明する。図７は、従来の描画制御システムの一例である。従来の描画制御システムは、サーバ装置１０と、ネットワーク３０を介して接続されたクライアント装置２０と、を有して構成される。
【０００４】
サーバ装置１０は、第１の解像度設定部１１と、第２の解像度設定部１２と、映像出力部１３と、キャプチャ・エンコード部１４と、データ送信部１５と、を有する。また、クライアント装置２０は、データ受信部２１と、デコード部２２と、ローカルマウスカーソル生成部２３と、表示部２４と、を有して構成される。
【０００５】
第１の解像度設定部１１は、ＯＳ制御による画面解像度設定部であり、第２の解像度設定部１２は、グラフィックカード及びそのドライバによる画面解像度設定部である。
【０００６】
第２の解像度設定部１２は、サーバ装置１０に接続された表示装置に対応するようＯＳ制御による画面解像度を自動で変更する。このときの変更方法は、グラフィックカード毎の制御やユーザの設定により異なり、例えば、ＯＳ制御による解像度を同一アスペクト比で拡大し、余った部分に黒帯などを表示したり、異なるアスペクト比で拡大して表示装置の画面全体に拡大されるよう表示を行ったりする。
【０００７】
映像出力部１３は、各解像度設定部により設定された画像データをディスプレイなどの表示装置へ出力する。
【０００８】
キャプチャ・エンコード部１４は、映像出力部１３から出力されている画像データをキャプチャした後、エンコードを行い、データ送信部１５からネットワーク３０を介してクライアント装置２０のデータ受信部２１へと送出する。
【０００９】
クライアント装置２０は、サーバ１０装置より受信したデータをデコード部２２でデコードして表示部２４に表示する。
【００１０】
このとき、サーバ１０装置にてマウスなどのポインティングデバイスの入力情報を生成してクライアント装置２０に送出すると、ネットワーク３０を介する際の伝送遅延により、クライアント装置２０側でのユーザによるマウス操作より、画面上のポインティングデバイスの入力位置を示すマウスカーソルの動作の方が、遅れることになる。
【００１１】
そこで、クライアント装置２０は、ローカルマウスカーソル生成部２３を有しており、クライアント装置２０にてローカルマウスカーソル（クライアント装置側で生成・描画されるマウスポインタ）としてマウスカーソルが生成される。クライアント装置２０を操作するユーザからのマウスの入力情報は、サーバ装置１０へと送出される。なお、このときサーバ１０装置側から得られるＯＳ設定による解像度情報、あるいはエンコーダからの入力解像度情報を参照してローカルマウスカーソルの移動範囲、移動位置が決定される。
【００１２】
図８は、描画制御システムにおけるサーバ装置１０及びクライアント装置２０の画面表示例である。なお、ＯＳへの設定による表示解像度を８００×６００ドット（以下ではドットを省略する）、サーバ装置１０の表示装置１７における表示解像度を８００×６００、クライアント装置２０の表示装置２５における表示解像度を１２８０×７６８とする。
【００１３】
図８（ａ）に示すように、ＯＳ設定解像度１６が８００×６００であり、表示装置１７の表示解像度も８００×６００であれば、第２の解像度設定部１２によるスケーリングは行われず、クライアント装置２０へは、ネットワークを介して８００×６００の画像が送出される。
【００１４】
クライアント装置２０では、図８（ｂ）に示すように、表示装置２５において表示解像度が８００×６００になるよう受信した画像データを出力する。このとき、その他の余白部分は、黒枠などで表示し、ローカルマウスカーソル生成部２３は、ローカルマウスカーソル移動範囲内２６の中だけで移動可能なように制御する。
【００１５】
ところで、サーバ装置１０の画面表示の一部しか、クライアント装置２０に表示されないケースがある。図９は、あるサーバ装置の概略ブロック図である。サーバ装置を直接利用する場合は、スイッチはＡ側で、ＬＣＤへ映像が表示される。クライアント装置からリモートでサーバ装置を利用する場合は、Ｂ側へスイッチされ、ｃの出力がｂへ入力され、キャプチャデータがネットワークを介してクライアント装置へ送られる。ａとｂは、映像出力部（ディスプレイアダプタ）から見ると、ＰＣモニタとして認識される。また、ａとｃの仕様（サポート解像度など）は、使用者の環境により異なる。
【００１６】
通常、Ａ→ＢおよびＢ→Ａのスイッチには、Ｈ／ＷおよびＳ／Ｗ制御により、モニタが切り替わったことをｃに認識させ、ａおよびｂの仕様（サポート解像度など）に合わせてｃが映像出力する。しかし、一部のｃでは、そのＨ／Ｗおよびドライバソフトウェアの組み合わせによっては、モニタが切り替わったことを検出されず、Ｂにスイッチされた後も、Ａに対する仕様で映像を出力してしまうものが存在する。
【００１７】
また、その中で、図１０に示した「切替認識ＮＧ」のパターンで映像を出力するような動作をするものが存在する。即ち、ＯＳの設定により設定された解像度でキャプチャすると、グラフィックカードやそのドライバの問題で、黒帯をつけて解像度が変更されてしまったような場合に、入力の左上からキャプチャする場合が生じて、キャプチャの位置ずれが発生する（図１０の点線部分）。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特表２００２−５２５７５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
そこで、本発明は、サーバ装置側で設定した解像度と違う解像度の信号が、映像エンコーダに入って、サーバ装置の画面表示の一部しか、クライアント装置に表示されない場合でも、画面表示を修正し、かつ、サーバ装置の画面上のマウスカーソルとローカルマウスカーソルにずれが無いように調整できる描画制御システム、サーバ装置、クライアント装置、制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の描画制御システムは、表示装置に表示させる画像データをキャプチャおよびエンコードするサーバ装置と、サーバ装置からエンコードされたキャプチャデータをデコードして表示し、マウスカーソルの位置情報に対する出力制御を行うクライアント装置とを備え、サーバ装置は、クライアント装置に対してトレーニング映像の情報を送信した後で、トレーニング映像を挿入した画像データをクライアント装置へ送信し、クライアント装置は、受信したトレーニング映像の情報と画像データに挿入されたトレーニング映像の情報とを比較して、ローカルマウスカーソルの移動領域を制御することを特徴とする。
【００２１】
また、本発明のサーバ装置は、クライアント装置のローカルマウスカーソルの移動領域を制御するために、クライアント装置へトレーニング映像の情報を送信した後で、トレーニング映像を挿入した画像データをキャプチャおよびエンコードしてクライアント装置へ送信することを特徴とする。
【００２２】
また、本発明のクライアント装置は、ローカルマウスカーソルの移動領域を制御するために、サーバ装置から送信されたトレーニング映像の情報とサーバ装置から送信されデコードした画像データに挿入されたトレーニング映像の情報とを比較することを特徴とする。
【００２３】
また、本発明の描画制御システムのマウスずれ制御方法は、サーバ装置によってトレーニング映像の情報をクライアント装置へ送信する第１のステップと、サーバ装置によってトレーニング映像を挿入した画像データをキャプチャおよびエンコードしてクライアント装置へ送信する第２のステップと、クライアント装置によって受信した前記トレーニング映像の情報とデコードされた画像データに挿入されたトレーニング映像の情報とを比較し、ローカルマウスカーソルの移動領域を制御する第３のステップとを備えることを特徴とする。
【００２４】
また、本発明のプログラムは、サーバ装置によってトレーニング映像の情報をクライアント装置へ送信する第１の処理と、サーバ装置によってトレーニング映像を挿入した画像データをキャプチャおよびエンコードしてクライアント装置へ送信する第２の処理と、クライアント装置によって受信したトレーニング映像の情報とデコードされた画像データに挿入されたトレーニング映像の情報とを比較し、ローカルマウスカーソルの移動領域を制御する第３の処理とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２５】
本発明は、サーバ装置の画面表示の一部しか、クライアント装置に表示されない場合でも、画面表示を修正し、ローカルマウスカーソルのずれが無いように調整できるという効果を奏する。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態に係る描画制御システムの構成図である。
【図２】本発明の実施形態におけるサーバとクライアントの動作説明図（１）である。
【図３】本発明の実施形態におけるサーバとクライアントの動作説明図（２）である。
【図４】実画面範囲検出の説明図である。
【図５】全画面トレーニング映像とキャプチャ座標補正の説明図である。
【図６】本発明の第２の実施形態に係る描画制御システムの構成図である。
【図７】従来の描画制御システムの構成図である。
【図８】従来の描画制御システムにおける画面表示の説明図である。
【図９】サーバの画面表示の一部しかクライアントに表示されないケースに係る説明図（１）である。
【図１０】サーバの画面表示の一部しかクライアントに表示されないケースに係る説明図（２）である。
【発明を実施するための形態】
【００２７】
次に、本発明を実施するための最良の実施形態について、図面を用いて詳細に説明する。
【００２８】
図１は、本発明の第１の実施形態における描画制御システムの構成図である。本描画制御システムは、サーバ装置１００と、ネットワーク３００を介して接続されたクライアント装置２００とを有して構成される。
【００２９】
サーバ装置１００は、スケーリング設定部１０１と、解像度設定部１０２と、画面生成部１０３と、映像出力部１０４と、キャプチャ・エンコード部１０５と、データ送信部１０６とを有する。また、クライアント装置２００は、データ受信部２０１と、デコード部２０２と、検出マーク分析部２０３と、ローカルマウスカーソル生成部２０４と、表示部２０５とを有して構成される。
【００３０】
スケーリング設定部１０１および解像度設定部１０２は、ＯＳ制御やグラフィックカードおよびそのドライバよる画面解像度設定部である。これらの設定部は、サーバ装置１００に接続された表示装置に対応するようＯＳ制御によって画面解像度を自動に変更する。このときの変更方法は、グラフィックカード毎の制御やユーザの設定により異なり、例えば、ＯＳ制御による解像度を同一アスペクト比で拡大し、余った部分に黒帯を表示して、異なるアスペクト比で拡大して表示装置の画面全体に拡大されるように表示を行ったりする。
【００３１】
画面生成部１０３は、トレーニング映像および画像データを生成する。そして、生成された画像データに対して、トレーニング映像を挿入する。なお、トレーニング映像は、検出マークを備えており、検出マークの座標、数、大きさおよび検出マーク間の距離によって、サーバ装置１００で表示された画像とクライアント装置２００で表示された画像との相違を把握することができる。
【００３２】
映像出力部１０４は、各解像度設定部により設定された画像データをディスプレイなどの表示装置へと出力する。また、ディスプレイに表示される画像をキャプチャしてクライアント装置２００に表示させる本実施形態における描画制御システムでは、画像データをキャプチャ・エンコード部１０５へと出力する。
【００３３】
キャプチャ・エンコード部１０５は、映像出力部１０４から出力された画像データをキャプチャした後、エンコードを行い、データ送信部１０６からネットワーク３００を介して、クライアント装置２００のデータ受信部２０１へと送信する。
【００３４】
クライアント装置２００は、サーバ装置１００を介してデータ受信部２０１より受信した画像データをデコード部２０２でデコードする。
【００３５】
検出マーク分析部２０３は、画面生成部１０３で生成されたトレーニング映像に関する情報（解像度や検出マークの座標、数、大きさおよび検出マーク間の距離）を予め取得しており、その後、トレーニング映像が挿入され、映像出力部１０４で出力された画像データが送信されてきた際、トレーニング映像に関する情報（具体的には、検出マーク）を比較することで、サーバ装置１００側で表示された画像とクライアント装置２００側に送信された画像データとの差分を検出する。そして、その差分から得られた範囲をローカルマウスカーソル生成部２０４とサーバ装置１００へ送信する。
【００３６】
ローカルマウスカーソル生成部２０４は、検出マーク分析部２０３から得られた情報を基にマウスの移動範囲を決定し、マウスカーソルを生成する。表示部２０５は、デコードされた画像データおよび生成されたマウスカーソルを表示する。
【００３７】
図２、図３は、本発明の第１の実施形態におけるサーバ装置１００とクライアント装置２００のフローチャート図である。本フローチャート図を用いて、サーバ装置１００とクライアント装置２００の動作について詳細に説明する。
【００３８】
まず、サーバ装置１００の画面生成部１０３において、トレーニング映像を生成する。このトレーニング映像は、検出マークを備えており、詳細には、検出マークの座標、数、大きさおよび検出マーク間の距離などが決められている。サーバ装置１００は、トレーニング映像に関する情報、即ち検出マークに関する上記の情報と解像度をクライアント装置２００へと送信する（ステップＳ３０１）。そして、クライアント装置２００は、トレーニング映像に関する情報等を受信する（ステップＳ７０１）。
【００３９】
次に、サーバ装置１００の画面生成部１０３において、画像データが生成される。そして、ステップＳ３０１のトレーニング映像がこの生成された画像データに挿入される（ステップＳ３０２）。次に、トレーニング映像を挿入した画像データは、映像出力部１０４により、各解像度設定部により設定された解像度に変更された画像データとなり、キャプチャ・エンコード部１０５へ出力される（ステップＳ３０３）。
【００４０】
そして、キャプチャ・エンコード部１０５は、映像出力部１０４から出力された画像データをキャプチャした後、エンコードを行い（ステップＳ３０４）、データ送信部１０６からネットワーク３００を介して、クライアント装置２００のデータ受信部２０１へと送信する（ステップＳ３０５）。
【００４１】
クライアント装置２００は、サーバ装置１００を介してデータ受信部２０１へ送信された画像データを受信し（ステップＳ７０２）、その画像データをデコード部２０２でデコードする（ステップＳ７０３）。
【００４２】
クライアント装置２００の検出マーク分析部２０３は、ステップＳ７０２で受信した画像データのトレーニング映像に関する情報（具体的には、検出マーク）を分析する。具体的には、トレーニング映像が挿入された画像において、検出マークの座標と数、検出マーク間の距離とその大きさを抽出する（ステップＳ７０４）。
【００４３】
そして、ステップＳ７０４の分析結果より、検出マークが４点あるか否かを判定する（ステップＳ７０５）。４点ある場合は、ステップＳ７０６へ進み、４点ない場合は、ステップＳ５０１へ進む。
【００４４】
ステップＳ７０５の分析結果、検出マークが４点ある場合、検出マーク間の距離とその大きさから、スケール比を算出する。これは、ステップＳ７０１において、サーバ装置１００の画面生成部１０３で生成されたトレーニング映像に関する情報（解像度や検出マークの座標、数、大きさおよび検出マーク間の距離）を予め取得しているため、それらの値と比較することでスケール比を算出することができる（ステップＳ７０６）。
【００４５】
次に、ステップＳ７０４の分析結果、検出マークの座標と数から、実画面範囲を検出する（ステップＳ７０７）。ここで、図４を用いて、実画面範囲検出を説明する。図４に示したケースは、ＯＳの設定により、解像度を８００×６００とするが、グラフィックカードからの出力は、１２８０×７６８の画像を表示する場合を想定している。
【００４６】
図４のサーバ装置の中に表示されたように、ＯＳの設定による解像度８００×６００の画像が、グラフィックカードからの出力では、解像度１２８０×７６８の画像になる。ここで、解像度８００×６００の画像が、解像度１２８０×７６８の画像にアスペクト比を保った状態で引き伸ばされると、画面の両側に、不表示の部分（図４では、斜線部分）が生じる。クライアント装置側では、この斜線部分を除く、実画面範囲を検出する。実画面範囲の検出においては、検出マークの座標や数を基に、上記斜線部分が画面上のどこに位置するかを認識し、実際にローカルマウスカーソルが移動可能な実画面を検出する。
【００４７】
そして、クライアント装置２００の検出マーク分析部２０３は、サーバ装置１００側で表示された画像とクライアント装置２００側に送信された画像データとの差分を検出し、その差分から得られた範囲をローカルマウスカーソル生成部２０４へ送信する。ローカルマウスカーソル生成部２０４は、検出マーク分析部２０３から得られた情報を基に、ローカルマウスカーソルの座標計算式を確定する（ステップＳ７０８）。
【００４８】
ステップＳ７０５の分析結果、検出マークが４点ない場合、クライアント装置２００の検出マーク分析部２０３は、サーバ装置１００に対して、全画面トレーニング映像を要求する（ステップＳ５０１）。なお、全画面トレーニング映像については、後に詳細な説明をする。
【００４９】
サーバ装置１００は、クライアント装置２００の検出マーク分析部２０３からの分析結果を待ち（ステップＳ３０６）、全画面トレーニング映像の要求があった場合（ステップＳ３０７）は、全画面トレーニング映像を作成し（ステップＳ３０８）、表示する（ステップＳ３０９）。なお、ステップＳ７０８を終了した後、全画面トレーニング映像の要求なしの通知がサーバ装置１００へ送信される（ステップＳ３０６）。
【００５０】
表示された全画面トレーニング映像をキャプチャした後、エンコードを行い（ステップＳ３１０）、データ送信部１０６からネットワーク３００を介して、クライアント装置２００のデータ受信部２０１へと送信する（ステップＳ３１１）。
【００５１】
クライアント装置２００は、データ受信部２０１へ送信された全画面トレーニング映像を受信し、その全画面トレーニング映像をデコード部２０２でデコードする（ステップＳ５０２）。
【００５２】
クライアント装置２００の検出マーク分析部２０３は、差分分析で、実画面範囲を検出し、キャプチャ座標補正情報をサーバ装置１００へ送信する（ステップＳ５０３）。
【００５３】
ここで、全画面トレーニング映像やクライアント装置２００の検出マーク分析部２０３における差分分析から得られるキャプチャ座標補正について、図５を用いて詳細に説明する。図５に示したケースは、接続時にサーバ装置の解像度を１２８０×７６８へ変更するが、グラフィックカードからの出力は、１２８０×１０２４の中央に１２８０×７６８の画像を表示する場合を想定している。
【００５４】
図５の（１）は、接続時の画像を表している。画像は、ＯＳの設定により、１２８０×７６８の解像度であり、そして、トレーニング映像により、四隅に検出マークが存在している。図５の（２）は、グラフィックカードから出力された画像である。１２８０×１０２４の中央に１２８０×７６８の画像が表示されている。
【００５５】
図５の（３）は、通常のキャプチャによる画像を表している。このケースでは、ＯＳで１２８０×７６８に解像度を設定しているので、そのサイズをキャプチャするが、原点ずれが生じる。即ち、通常は入力の左上を原点としてキャプチャを行うので、点線部分がキャプチャの対象になる。よって、クライアント装置側の画像では、上方の２つの検出マークしか検出できないこととなる。
【００５６】
図５の（４）は、図５の（３）で生じたキャプチャの位置ずれの補正を表している。クライアント装置は、図５の（３）で説明した通り、サーバ装置から画像では、上方の２つの検出マークしか検出できない。そこで、クライアント装置は、サーバ装置に対して、図５の（３）で表示されている上側の帯状の斜線部を検出するため、画像を少なくとも２フレーム要求する。例えば、全画面砂嵐を表示したフレームと全面赤を表示したフレームである。この場合、画像には、検出マークをつけない。
【００５７】
さて、エンコーダの機能から、映像フレーム間の差分のみを抽出して、エンコード、送信されるので、デコード側では、全画面砂嵐を表示したフレームと全面赤を表示したフレームの差分から図５の（３）で表示された上側の帯状の斜線部を認識することができる。なぜ、上側の帯状の斜線部が認識されるかを詳細に説明すると、２つのフレームにおいて、上側の帯状の斜線部は、両方のフレームに存在するので差分として検出されず、それ以外の部分は、砂嵐画面と赤画面の差によって検出されるからである。そして、この全画面砂嵐を表示したフレームと全面赤を表示したフレームが、全画面トレーニング映像である。
【００５８】
クライアント装置では、上述したように全画面トレーニング映像を基に図５の（３）で表示された上側の帯状の斜線部を認識できるので、キャプチャずれを分析することができる。このケースでは、キャプチャ原点を（０，０）→（０，１２７）ずらせば良いことが判明する。この補正値により、キャプチャ座標補正を行うことができる。
【００５９】
さて、サーバ装置１００では、画面範囲の分析結果を待っている（ステップＳ３１２）。そして、ステップＳ５０３で得られたキャプチャ座標補正情報を取得し、サーバ装置１００内に格納する（ステップＳ３１３）。
【００６０】
また、クライアント装置２００では、ステップＳ５０３の全画面トレーニング映像の検出マーク間の距離とその大きさから、スケール比を算出する。これは、ステップＳ７０１において、サーバ装置１００の画面生成部１０３で生成されたトレーニング映像に関する情報（解像度や検出マークの座標、数、大きさおよび検出マーク間の距離）を予め取得しているため、それらの値と比較することでスケール比を算出することができる（ステップＳ５０４）。検出マークの座標と数から、実画面範囲を検出する（ステップＳ５０５）。
【００６１】
そして、クライアント装置２００の検出マーク分析部２０３は、サーバ装置１００側で表示された画像とクライアント装置２００側に送信された画像データとの差分を検出し、その差分から得られた範囲をローカルマウスカーソル生成部２０４へ送信する。ローカルマウスカーソル生成部２０４は、検出マーク分析部２０３から得られた情報を基に、ローカルマウスカーソルの座標計算式を確定する（ステップＳ５０６）。
【００６２】
以上のような準備段階を終了する（ステップＳ３１４、ステップＳ５０７）と、次からの実際の画面データが、サーバ装置１００からクライアント装置２００に送信されても、画面が部分的に欠けることもなく、また、クライアント装置２００のローカルマウスカーソルがクライアント装置２００に表示されるサーバ装置１００の画面の有効な範囲でしか移動しないように制御することで、サーバ装置１００とクライアント装置２００との間でのマウス位置のずれを無くすことが可能となる。
【００６３】
なお、実際の画面データが、サーバ装置１００からクライアント装置２００に送信される前に、もう一度、ステップＳ３０１〜Ｓ３０６およびステップＳ７０１〜Ｓ７０８を実施して、検出マークが画面に入っているかを確認することが望ましい。
【００６４】
図６は、本発明の第２の実施形態における描画制御システムの構成図である。なお、第１の実施形態における描画制御システムと同一の機能部については、同一符号を記して説明を省略する。
【００６５】
サーバ装置１００は、スケリーリング設定部１０１と、解像度設定部１０２と、画面生成部１０３と、映像出力部１０４と、キャプチャ・エンコード部１１１と、データ送信部１０６と、検出マーク分析部１１２を有する。また、クライアント装置２００は、データ受信部２０１と、デコード部２０２と、ローカルマウスカーソル生成部２１１と、表示部２０５とを有して構成される。
【００６６】
第２の実施形態においては、キャプチャ・エンコード部１１１において、検出マークの分析を行うため、検出マーク分析部１１２が、サーバ装置１１０側に実装されている。なお、サーバ装置１１０とクライアント装置２１０の動作に関しては、実質的に第１の実施形態と同じであるので、説明は省略する。
【００６７】
以上、実施の形態を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨およびその範囲から逸脱することなく、これら実施の形態や具体例に様々な修正および変更が可能である。
【符号の説明】
【００６８】
１００    サーバ装置
１０１    スケリーリング設定部
１０２    解像度設定部
１０３    画面生成部
１０４    映像出力部
１０５    キャプチャ・エンコード部
１０６    データ送信部
２００    クライアント装置
２０１    データ受信部
２０２    デコード部
２０３    検出マーク分析部
２０４    ローカルマウスカーソル生成部
２０５    表示部
３００    ネットワーク
【図１】
2011039665.tif 000003
【図２】
2011039665.tif 000004
【図３】
2011039665.tif 000005
【図４】
2011039665.tif 000006
【図５】
2011039665.tif 000007
【図６】
2011039665.tif 000008
【図７】
2011039665.tif 000009
【図８】
2011039665.tif 000010
【図９】
2011039665.tif 000011
【図１０】
2011039665.tif 000012