(57)【要約】【課題】  一般的に転送データを削減することは画質の劣化をもたらす。本発明では、リモート操作システムにおいて、表示画質を良好に保つと共に端末間の転送データを少なくことを課題とする。【解決手段】  本発明では、ビットマップの色数と通信速度に応じてデータの加工方法を変更することにより、前述の課題を解決することを目的とする。ビットマップから使用されている色数を算出し、その色数に応じて適切な圧縮方法を用い、画像の圧縮を行う。また画像の圧縮方法は、リモート操作システムの端末間の通信速度によりユーザの見た目上の画質の低下を抑えるよう最適化することで、画面データの転送サイズを小さくしつつ且つユーザの操作性と視認性を損なわないようにする。【選択図】  図７
2006338226.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して操作端末により被操作端末を操作するリモート操作システムにおける情報送信方法であって、
前記被操作端末は、
画像データの色数に応じて前記画像データの圧縮方法を選択し、
前記選択した圧縮方法で前記画像データを圧縮し、
圧縮した前記画像データを前記操作端末に送信する
ことを特徴とするリモート操作システムにおける情報送信方法。
【請求項２】
請求項１記載のリモート操作システムにおける情報送信方法であって、
前記画像データは、ディスプレイに表示される画像データを所定のサイズに分割したそれぞれの画像データであることを特徴とするリモート操作システムにおける情報送信方法。
【請求項３】
請求項１記載のリモート操作システムにおける情報送信方法であって、
前記画像データは、所定の時間経過前のディスプレイに表示される画像データと所定の時間経過後のディスプレイに表示される画像データとの間で変更のあった部分の画像データであることを特徴とするリモート操作システムにおける情報送信方法。
【請求項４】
請求項３記載のリモート操作システムにおける情報送信方法であって、
前記画像データは、前記変更のあった部分の画像データを所定のサイズに分割したそれぞれの画像データであることを特徴とするリモート操作システムにおける情報送信方法。
【請求項５】
請求項１記載のリモート操作システムにおける情報送信方法であって、
前記操作端末と前記被操作端末とはキャッシュを有し、
前記操作端末に送信する前記画像データが前記被操作端末のキャッシュに存在した場合には、前記被操作端末は該画像データのインデックス情報のみを前記操作端末に送信する
ことを特徴とするリモート操作システムにおける情報送信方法。
【請求項６】
請求項５記載のリモート操作システムにおける情報送信方法であって、
前記インデックス情報を受信した前記操作端末は、前記インデックス情報に対応する画像データを前記操作端末のキャッシュから取得することを特徴とするリモート操作システムにおける情報送信方法。
【請求項７】
ネットワークを介して操作端末により被操作端末を操作するリモート操作システムであって、
前記被操作端末は、
画像データの色数に応じて前記画像データの圧縮方法を選択し、前記選択した圧縮方法で前記画像データを圧縮する基本制御部と、
圧縮した前記画像データを前記操作端末に送信する通信制御部と、
を有することを特徴とするリモート操作システム。
【請求項８】
請求項７記載のリモート操作システムであって、
前記画像データは、ディスプレイに表示される画像データを前記基本制御部が所定のサイズに分割したそれぞれの画像データであることを特徴とするリモート操作システム。
【請求項９】
請求項７記載のリモート操作システムであって、
前記画像データは、所定の時間経過前のディスプレイに表示される画像データと所定の時間経過後のディスプレイに表示される画像データとの間で変更のあった部分の画像データであることを特徴とするリモート操作システム。
【請求項１０】
請求項９記載のリモート操作システムであって、
前記画像データは、前記変更のあった部分の画像データを前記基本制御部が所定のサイズに分割したそれぞれの画像データであることを特徴とするリモート操作システム。
【請求項１１】
請求項７記載のリモート操作システムであって、
前記操作端末と前記被操作端末とはキャッシュを有し、
前記基本制御部は、前記操作端末に送信する前記画像データが前記被操作端末のキャッシュに存在するかどうか判定し、該判定により前記画像データがキャッシュに存在する場合には、前記送信制御部が該画像データのインデックス情報のみを前記操作端末に送信する
ことを特徴とするリモート操作システム。
【請求項１２】
請求項１１記載のリモート操作システムであって、
前記インデックス情報を受信した前記操作端末は、前記インデックス情報に対応する画像データを前記操作端末のキャッシュから取得する基本制御部を有することを特徴とするリモート操作システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数台のネットワークおよびネットワークに接続されたコンピュータにより構成されるリモート操作システムにおいて、画面データを効率よく転送するためのシステムおよび方法に関するものである。
【背景技術】
【０００２】
リモート操作システムは、操作側端末からネットワークで接続された遠隔地にある被操作側端末を操作するものであり、具体的には操作側端末のディスプレイ上では、被操作側端末のディスプレイ上で表示される内容と同一の内容が表示され、ユーザが操作側端末で行った操作が被操作側端末上にて実際に行われるというものである。実現方法としては、被操作側端末のディスプレイ上の内容を遠隔地の操作側端末に表示させるため、被操作側端末から操作側端末にディスプレイの表示内容（描画データ）の転送が行われる。そのデータ量は、画面描画データの転送になるため、通常の文字ベースのデータより一般的に多量のデータとなる傾向がある。例えば特許２７５３２７７号公報。
【０００３】
近年企業活動の中で使用される端末でモバイル端末の占める割合は年々増加しており、無線ＬＡＮ（Local Area Network）や携帯電話経由など、有線ＬＡＮなどと比較してより低速な回線を介したネットワークアクセスが増加している。リモート操作システムの端末間において、このような低速回線の環境では、前述のように転送データが多量の場合操作側端末へのデータ転送に遅延が発生し、結果として操作側端末のユーザ操作に対する表示側の画面のレスポンスが低下し、ユーザの操作性は著しく低下する。そのため端末間の転送データは少なくすることが望ましい。
【０００４】
【特許文献１】特許２７５３２７７号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一般的に転送データを削減することは画質の劣化をもたらす。本発明では、リモート操作システムにおいて、表示画質を良好に保つと共に端末間の転送データを少なくことを課題とする。
【課題を解決するための手段】
【０００６】
本発明では、ビットマップの色数と通信速度に応じてデータの加工方法を変更することにより、前述の課題を解決することを目的とする。具体的には、被操作端末のディスプレイ上で画像を３２×２４ピクセルに分割する。この分割したビットマップを分割矩形と呼ぶ。ここでは３２×２４ピクセルとしているが、任意の大きさに分割することも可能である。前記分割矩形のビットマップから使用されている色数を算出し、その色数に応じて適切な圧縮方法を用い、画像の圧縮を行う。また画像の圧縮方法は、リモート操作システムの端末間の通信速度によりユーザの見た目上の画質の低下を抑えるよう最適化することで、画面データの転送サイズを小さくしつつ且つユーザの操作性と視認性を損なわないようにする。
【発明の効果】
【０００７】
本発明により、リモート操作システムにおいて、操作端末および被操作端末間の回線が中低速回線の場合にも、ユーザの操作性を損なわず且つ画質の低下を抑えることが可能となる。また、本発明により端末間のネットワークへ流れる転送データが削減されるため、リモート操作システムの端末間のトラフィックが軽減される。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【０００９】
図１は、本発明における一実施事例であるリモート操作システムの外観を示すものである。操作端末１０２Ａにはディスプレイ１０１Ａ、キーボード１０３Ａ及びマウス１０４Ａが接続されている。被操作端末１０２Ｂも同様に、ディスプレイ１０１Ｂ、キーボード１０３Ｂ及びマウス１０４Ｂが接続されている。ネットワーク１０７は、構内であればＬＡＮなどの回線を使用することができ、構外であれば無線ＬＡＮ、携帯電話やＰＨＳ(Personal Handyphone System) などの無線通信回線を使用することもできる。操作端末１０２Ａのディスプレイ１０１Ａには、被操作端末１０２Ｂと同一の画面が表示され、表示データの流れとしては矢印１０５で表される。操作端末１０２Ａで入力されたキーボードおよびマウス入力は被操作端末で再現され、入力データの流れとしては矢印１０６で表される。操作端末および被操作端末としては、汎用的なパーソナルコンピュータを利用してもよいし、専用の端末を提供することもできる。また、被操作端末１０２Ｂにディスプレイ１０１Ｂ、キーボード１０３Ｂ及びマウス１０４Ｂが接続されていない場合も同様に利用することができる。
【００１０】
以下、被操作端末をエージェント端末、操作端末をコントローラ端末と称して説明を行う。
【００１１】
図２は、コントローラ端末とエージェント端末間の制御シーケンスを図に表したものである。コントローラ端末はエージェントに接続する際に、接続開始処理２０１を行い、コントローラ端末とエージェント端末間の通信回線速度に応じた最適な画像転送のオプションを選択する。画像転送のオプションについては図５および図６にて後述する。前記コントローラ端末は、接続開始処理２０１にて選択した設定オプション情報を付加し、前記エージェント端末への接続要求２０２を送信する。前記エージェント端末は接続要求に対し、前記エージェント端末の画面情報を取得する（２０３）。接続開始後取得された全画面情報は、描画データの最適化２０４が行われる。画面情報の取得および描画命令の最適化については後述の図４および図７から図１３を用いて詳細に説明する。最適化された描画命令は前記コントローラ端末に対し送信される（２０５）。前記コントローラ端末では、受信した最適化された描画命令を前記エージェント端末で最適化された方法と同様な方法で復元する（２０６）。復元された描画命令をオペレーティングシステムに対して行うことにより、前記コントローラ端末の画面に表示される（２０７）。前記コントローラ端末では、画面の表示後に前記エージェント端末に対し完了通知２０８を送信する。
【００１２】
完了通知２０８を受信した前記エージェント端末では、送付済みの画面からの変更部分の画面情報を取得する（２０９）。取得した画面情報は描画命令の最適化が行われ、前記コントローラ端末に送信される（２１０）。前記コントローラ端末では描画命令の復元（２１１）、画面への表示（２１２）を行い、前記エージェント端末に対し完了通知２１４を送信する。これらの画面情報の転送手順は繰り返し行われる。その後、前記コントローラ端末より前記エージェント端末に対し終了通知２１５が行われると前記エージェント端末で画面情報の転送が終了し、前記コントローラ端末と前記エージェント間の通信が切断される。
【００１３】
図３は、本実施例のコントローラ端末とエージェント端末のモジュール構成および画面データの流れを示すものである。エージェント端末３０１には、コントローラ端末３１１との通信を制御する通信制御部３０４、オペレーティングシステム３０３からディスプレイドライバ３０６へ出力される描画命令を補足するディスプレイドライバフック制御部３０５、および各制御部を統括制御し前記ディスプレイドライバフック制御部から描画命令を取得し加工を行う基本制御部３０８から構成されるソフトウェアが動作する。
【００１４】
コントローラ端末３１１には、エージェント端末３０１との通信を制御する通信制御部３１２、エージェント端末３０１からの描画命令を復元しオペレーティングシステムに対して描画命令を実行する表示制御部３１４、オペレーティングシステム３１７からの描画命令により実際の描画データを表示するディスプレイドライバ３１５、および表示媒体であるディスプレイ３１６、および各制御部を統括制御する基本制御部３１３から構成されるソフトウェアが動作する。
【００１５】
またコントローラ端末上では、キーボードドライバ３２３からオペレーティングシステム３１７へ入力されるキーボードデータを捕捉するキーボードフック制御部３２１、マウスドライバ３２４からオペレーティングシステム３１７へ入力されるマウスデータを捕捉するマウスフック制御部３２２から構成されるソフトウェアが動作する。
前記マウスフック制御部および前記キーボードフック制御部により補足された操作データは、通信制御部３１２を通じ前記エージェント端末に送信され、前記エージェント端末上のオペレーティングシステム３０３に入力、実行される。オペレーティングシステム３０３は操作データに対してディスプレイドライバ３０７に描画命令を送信し、ディスプレイ上に画面を表示する。
【００１６】
前記エージェント端末上のオペレーティングシステム３０３より描画命令３０２が送信された場合、前記ディスプレイドライバフック制御部にて変更された画面データ部分の描画命令が捕捉される（３１０）。捕捉された描画命令は基本制御部３０８にて最適化され、通信制御部３０４を通じ前記コントローラ端末に送信される。前記コントローラ端末上の基本制御部３１４にて、送信された描画命令は、前記ディスプレイドライバフック制御部にて捕捉された描画命令に復元される。復元された描画命令は、オペレーティングシステム３１７およびディスプレイドライバ３１５を通じディスプレイ３１６に表示される。
【００１７】
図４は、前記エージェント端末にて行われる描画データの最適化処理の概要について示した図である。ディスプレイドライバフック制御部３０５にて補足された描画命令の内、座標情報がディスプレイドライバフック制御部のキューに保存される（４０１）。座標情報は、矩形左上の頂点を表す座標情報（ｘｎ、ｙｎ）および矩形右下の頂点を表す座標情報（ｘｎ’、ｙｎ’）で表される。座標基本制御部３０８は、キューに保存された座標情報を一定間隔で取得し、座標情報が２つの以上の場合に、変更された描画命令の座標情報から重複した部分がなくなるように座標情報の最適化が行われる（４０２）。なおキューに保存された座標情報が１つの場合には最適化が行われない。基本制御部３０８では、最適化された座標情報を３２×２４ピクセルの矩形に分割する（４０３）。この分割矩形は、矩形の左上の頂点を表す座標情報（ｘｎ、ｙｎ）と分割矩形の幅および高さを表す（w、h）の組み合わせで表される。次に分割された矩形情報から矩形内のビットマップを取得する（４０４）。次にビットマップのデータ量を削減するため、ビットマップに使用されている色数を算出し、その色数に応じて適切な圧縮が行われ描画情報の最適化を行う（４０５）。変更された描画データのすべての部分について、（４０３）、（４０４）、（４０５）の処理を繰り返し実行する。
【００１８】
なお、本実施例では３２×２４ピクセルに分割するが、他のサイズで分割してもよく、このサイズ情報は、コントローラ端末及びエージェント端末それぞれの図３に図示されていない記憶装置に記憶されており、記憶装置から読み出したこの所定のサイズで分割する。所定のサイズはコントローラ端末及びエージェント端末で統一されており、分割するサイズを変更した場合には、分割した描画情報を送信する際に合わせて分割サイズ情報を通知する。
【００１９】
図５は、前記コントローラ端末における接続開始処理の流れを示すフローチャートである。前記コントローラ端末では、接続開始時に前記エージェント端末間の回線速度を計測することで通信速度を算出する（５０１）。なおこの通信速度の設定については前記コントローラ端末に設定された通信速度からでも算出することが可能である。次に算出された通信速度より、画像転送のオプション設定の読み込みを行う（５０２）。このオプション設定は、通信速度に応じてユーザの操作性および可視性に対し、最適化されるように予め設定されている。この画像転送のオプション設定は通信速度に応じて、１２８Ｋｂｐｓ未満の場合には低速オプション（５０３）、１Ｍｂｐｓ未満の場合には中速オプション（５０４）、１Ｍｂｐｓ以上の場合には高速オプション（５０５）が選択される。ここで通信速度の値は任意の値に設定することも可能である。
【００２０】
図６は、前記コントローラ端末における通信速度に応じたオプションの設定を表した表であり、図３に図示していない記憶装置に格納される。本実施例では、転送サイズを小さくしつつ且つユーザの操作性と視認性を損なわないという目的を達するため、画面の減色数６０１、ビットマップのＪＰＥＧ圧縮の適用（有効／無効）６０２、ビットマップのキャッシュの適用（有効／無効）６０３、および送信データのフロー制御の適用（有効／無効）６０４などの設定を、通信速度に応じて予め最適化された値に基づき動作する。画面の減色６０１のオプションは、実際の前記エージェント端末の画面設定の色数を４ビットから１６ビットまでの色数に落とすことでデータ量の削減を行う。ビットマップのＪＰＥＧ圧縮６０２のオプションは、ビットマップデータの圧縮方法として一般的に使用されているＪＰＥＧを用いた圧縮を行うことでデータ量の削減を行う。ビットマップのキャッシュ６０３は、図８にて後述する。送信データのフロー制御６０４は、前記エージェント端末から前記コントローラ端末へ送信される描画情報を、前記コントローラ端末からの完了通知を待って送信する場合に有効とする。前記コントローラ端末からの完了通知を待たずに送信を行う場合は設定を無効とする。オプション設定の内容は、任意の設定に変更することも可能である。
【００２１】
図７は、前記エージェント端末における描画データの最適化処理の流れを示したフローチャートである。基本制御部３０８では、ディスプレイドライバフック制御部３０５のキューに保存された1つ以上の描画データから座標情報を取得する（７０１）。取得した1つ以上の座標情報を最適化し３２×２４ピクセルの矩形に分割する（７０２）。取得した３２×２４ピクセルの座標情報から描画データ（ビットマップファイル）を取得する（７０３）。取得したビットマップから使用されている色数を算出し、色数に応じてビットマップファイルの変換方法を選択する（７０４）。ビットマップの総色数が２色以内の場合には、ビットマップファイルの１ｂｐｐ（ｂｉｔ ｐｅｒ ｐｉｘｅｌ）変換を行う（７０５）。ここで１ｂｐｐ変換により、１ピクセルは２ビットの情報に置き換えられ、かつ描画データに添付する色情報は２色のデータ（カラーパレット）となり転送データ量を削減することができる。また同様にビットマップの総色数が４色以内の場合にはビットマップファイルを２ｂｐｐ変換（７０６）を行い、８色以内の場合には３ｂｐｐ変換（７０７）、１６色以内の場合には４ｂｐｐ変換（７０８）を行う。このようにビットマップの色数に応じて必要なデータ形式に変換することで画像の低下を抑えつつデータ量の削減が可能となる。次にビットマップの総色数が１６色以上の場合の処理については図１０にて後述する。
【００２２】
次に、ビットマップの総色数が４色以内の場合、それぞれ１ｂｐｐ変換（Ｓ７０５）および２ｂｐｐ変換（７０６）が行われるが、変換後のビットマップに対しＭＭＲ（Ｍｏｄｉｆｉｅｄ Ｍｏｄｉｆｉｅｄ Ｒｅａｄ）圧縮を行う（７１０）。なおＭＭＲ圧縮を行うことでビットマップの複雑度や色数に応じてデータ量の削減が期待できるが、この変換はビットマップのデータに依存するため、圧縮後ファイルのデータ量が圧縮前ファイルのデータ量よりも大きくなることが有り得る。そのため、ＭＭＲ圧縮後ファイルとＭＭＲ圧縮前ファイルのファイルサイズを比較する（７１１）。ＭＭＲ圧縮後ファイルが、ＭＭＲ圧縮前ファイルよりも小さい場合ＭＭＲ圧縮後ファイルを選択し（７１２）、逆にＭＭＲ圧縮前ファイルよりも小さい場合にはＭＭＲ圧縮が不適切であると判断しＭＭＲ圧縮前ファイルを選択する（７１３）。なお、ビットマップの総色数が８色以上の場合にはビットマップの複雑度が高いと考えられＭＭＲ圧縮の効果が低いと考えられるため、ｂｐｐ変換後のファイルをそのまま選択する（７１４）。このように色数に応じてビットマップの変換および圧縮を行った後、座標情報及び描画データを前記コントローラ端末への送信用のキューに格納する（７１５）。次に、分割したすべてのビットマップの変換や圧縮が完了したかどうか判断し（７１６）、完了していない場合には分割したビットマップそれぞれに対し、ビットマップの取得（７０３）から総色数の取得、変換および圧縮の処理を繰り返し行う。
【００２３】
図８は、前記エージェント端末における描画データのキャッシュ処理の流れを示したフローチャートである。基本制御部３０８では、図７の７１５にて格納された描画データを取得し（８０１）、取得した描画データからダイジェストを作成する（８０２）。ダイジェストの作成方法については、ここでは描画データからサンプリングした１６バイトのデータをダイジェストとするが、他の方法および他のサイズでも可能である。次に、キューに存在する描画データが既に送信済みでキャッシュに存在するか探索を行う（８０３）。基本制御部３０８では、前記コントローラ端末に送信した描画データについてはキャッシュに保存しておき、次に同一の描画データを送信する際に描画データを送信せず、キャッシュのインデックス情報のみを送信する。ここでキャッシュは前記エージェント端末およびコントローラ端末にそれぞれ同一のキャッシュを保持し、同時に描画データのインデックスとしてダイジェストをリスト化しておく。キャッシュの探索では、リスト化されたダイジェストとの比較を行い同一のダイジェストの有無を確認する（８０４）。ダイジェストがリストに存在する場合には、ダイジェストからキャッシュに存在する描画データを取得し、キュー内の描画データとキャッシュ内の描画データの比較を行う（８０６）。比較により描画データが一致した場合には、キュー内の描画データをキャッシュのインデックスに置き換える（８０７）。比較により描画データが一致しない場合には、キャッシュ内の同一のダイジェストを探索し（８０８）、ダイジェストの有無を判定する（８０９）。同一のダイジェストが存在した場合には、再度キャッシュ内の描画データとキュー内の描画データの比較を行う（８０６）。８０９で同一のダイジェストが存在しない場合には、キャッシュ済みの描画データではないと判断し、ダイジェストをリストに登録し（８１０）、描画データをキャッシュに格納する（８１１）。なお８０４にて、同一のダイジェストが全く存在しないと判定された場合にも同様に、ダイジェストの登録（８１０）および描画データのキャッシュへの格納（８１１）を行う。これらの８０１から８１２までのキャッシュ処理を、キュー内のそれぞれの描画データに対し繰り返し行う。
【００２４】
図９は、前記エージェント端末におけるキャッシュ処理後のデータ圧縮の流れを示したフローチャートである。図８の８１２にてキャッシュ処理が完了したキュー内の描画命令に対し座標情報のｗ、ｈの値を省略する（９０１）。次にキュー内の描画データが連続して存在する場合には同一データを省略し最適化を行う（９０２）。連続同一データの最適化については図１３にて後述する。最後に、最適化が行われたキュー内の１つ以上の描画命令に対しＺｉｐ圧縮を行い単一データに圧縮をする（９０３）。
【００２５】
図１０は、前記エージェント端末における描画データのビットマップの色数が１６色より多い場合の処理の流れを示すフローチャートである。オプション設定でＪＰＥＧオプションが有効になっているかどうか判定（１００１）し、ＪＰＥＧオプションが有効になっている（中速オプション設定）場合、３２×２４ピクセルのビットマップをＺｉｐ圧縮する（１００２）。次に、同じ３２×２４ピクセルのビットマップをＪＰＥＧ圧縮する（１００３）。Ｚｉｐ圧縮したファイルとＪＰＥＧ圧縮したファイルのサイズを比較する（１００４）。Ｚｉｐ圧縮したファイルの方が大きい場合、ＪＰＥＧ圧縮後のファイルを選択する（１００５）。
【００２６】
ＪＰＥＧオプションが無効になっている（低速、高速オプション設定）場合、およびＺｉｐ圧縮したファイルの方が小さい場合、減色オプション設定を取得（１００６）し、設定値で３２×２４ピクセルのビットマップを減色処理し（１００７）、減色後のビットマップを選択する（１００８）。これらの場合は、比較に使用したＺｉｐ圧縮後ファイルについては破棄する。最適化された描画データは最後にまとめてＺｉｐ圧縮するため（図９ステップ９０３）Ｚｉｐ圧縮後ファイルを保存する必要はない。
【００２７】
図１１は、前記エージェント端末においてビットマップを３２×２４ピクセルで分割し、減色・圧縮加工した時点でキューイングした描画命令の一例を示している。この時点では、描画命令は、座標情報と幅と高さからなる（ｘ、ｙ、ｗ、ｈ）矩形情報（１１０１）と減色・圧縮加工した描画データ（１１０２）からなる。
【００２８】
描画データは、カラーパレットを含む圧縮情報と圧縮データの組合せ、または、減色後のビットマップからなる。圧縮したビットマップの場合、ビットマップであることを示すフラグと１ｂｐｐ変換などの変換方法を示すフラグとＭＭＲ圧縮をしたことを示すフラグとカラーパレット（１ｂｐｐ変換の場合は２色パレット、４ｂｐｐ変換の場合は１６色パレット）、さらに変換・圧縮後のデータから構成される。減色後のビットマップは、ビットマップであることを示すフラグと減色後のデータから構成される。
【００２９】
ＪＰＥＧ圧縮したビットマップの場合、ＪＰＥＧで圧縮したことを示すフラグと圧縮データから構成される。
【００３０】
図１２は、描画データのキャッシュテーブルを示している。描画データのダイジェスト（１２０１）、データポインタ（１２０２）、同一ダイジェストポインタ（１２０３）からなる、ダイジェストテーブルと、インデックス（１２０４）、描画データ（１２０５）からなる、インデックステーブルがある。これらのテーブルは、エージェントとコントローラ側で共通のアルゴリズムに従い、全く同じテーブルを作成することができる。
【００３１】
本発明の場合は、転送データを減らすため、このようなテーブル情報は転送しないが、エージェントとコントローラとで共通に保持するテーブルとして、どちらか一方が作成したテーブルを他方へ転送することも可能である。
【００３２】
エージェントでは、このテーブルに登録済みの描画データと同じ描画データの場合は、描画データをインデックスに置き換えて送信キューに格納する。コントローラでは、エージェントと逆の処理を行うことで、インデックスから実際の描画データを引き当てて復元する。
【００３３】
図１３は、前記エージェント端末において減色・圧縮・キャッシュ後の描画データを、転送データを削減するためにさらに最適化する際の描画データの加工方法について一例を示している。
【００３４】
減色・圧縮・キャッシュ後の描画データは、圧縮・減色後のファイルかインデックスかのいずれかとなっている。（１３０１）から（１３０４）はＸ座標が同じであるため同じ行に表示される情報である。また、この実施例では、Ｗ＝３２ピクセル、Ｈ＝２４ピクセルに固定しているため、Ｙ座標、幅、高さは計算によって求められる値である。
【００３５】
そこで、まず（１３０１）から幅と高さを省略し、（１３１０）に加工する
次に、（１３０２）から（１３０４）はＸ座標およびインデックス情報が同一である。そのため、繰り返すリピートカウンタ（ｒｅｐｅａｔ）を設け、（１３１１）のように重複データを省略するように加工する。
【００３６】
以下同様に、すべての描画データについて最適化を行う。
【００３７】
最適化された描画命令は、前記エージェント端末から前記コントローラ端末に送信され、前記コントローラ端末上の前記基本制御部にて復元される。復元は、描画データの先頭に設定されたフラブによって、描画データのデータ種別を判定しそれに応じた復元を行う。描画データの先頭に設定されたフラグにより、ビットマップファイルであると判断した場合、ＭＭＲ圧縮をしたことを示すフラグを判定し、フラグがオンの場合にはＭＭＲ圧縮の解凍を行う。ＭＭＲ圧縮をしていないあるいは、ＭＭＲ圧縮解凍後の描画データ（ビットマップファイル）は、そのままでオペレーティングシステムが処理できるため復元処理を行う必要がない。最後に省略した描画命令の幅、高さを示すＷ、Ｈを設定し、オペレーティングシステムに対し描画命令を出す。描画データの先頭に設定されたフラグで、ＪＰＥＧファイルであると判定した場合には、ＪＰＥＧファイルをビットマップファイルに復元し、省略した描画命令の幅、高さを示すＷ、Ｈを設定し、オペレーティングシステムに対し描画命令を出す。
【００３８】
（１３１１）のようにインデックス、リピートカウンタが存在する場合には、インデックスから前記エージェント端末のキャッシュテーブルより該当の描画データを読み込み、上記と同様の方法で復元し、オペレーティングシステムに対し描画命令を出す。その後、リピートカウンタの数分だけ同一の処理を実行する。もしくは、リピートカウンタ値から、Ｗ、Ｈを算出し直し、１つの描画命令として実行することもできる。
【００３９】
なお、実施例では、最適化が行われた描画データをまとめてＺｉｐ圧縮し、単一データに圧縮して送信するが、圧縮方式はＺｉｐに限られたものでなく、もちろんその他の圧縮方式を使用してもかまわない。この場合は、図１０ステップ１００２で圧縮する方式は当該他の圧縮方式で圧縮される。
【００４０】
本実施例では最適化された座標情報を３２×２４ピクセルの矩形に分割する（図４，４０３）ものであるが、矩形ではなく座標から３点を選択し、これを繰り返すことで三角形の形状で分割していくこともできる。
【００４１】
また本実施例では、色数が１６色以上の場合にはＪＰＥＧ圧縮を行う等色数に応じて圧縮方法を変えるものであるが（図７）、例えば３２色以上の場合には圧縮率８０％、６４色以上の場合には圧縮率色６０％にする等、色数に応じて圧縮の圧縮率を変更することもできる。
【図面の簡単な説明】
【００４２】
【図１】リモート操作システムの外観を示す図である。
【図２】コントローラ端末とエージェント端末間の制御シーケンスを示す図である。
【図３】コントローラ端末とエージェント端末のモジュール構成および画面データの流れを示す図である。
【図４】エージェント端末にて行われる描画データの最適化処理の概要を示す図である。
【図５】コントローラ端末における接続開始処理の流れを示すフローチャートを示す図である。
【図６】画像転送のオプションの設定テーブルを示す図である。
【図７】エージェント端末における描画データの最適化処理の流れを示したフローチャートである。
【図８】エージェント端末における描画データのキャッシュ処理の流れを示したフローチャートである。
【図９】エージェント端末におけるキャッシュ処理後のデータ圧縮の流れを示したフローチャートである。
【図１０】ビットマップの色数が１６色より多い場合の処理の流れを示すフローチャートを示す図である。
【図１１】キューイングした描画命令の一例を示す図である。
【図１２】描画データのキャッシュテーブルを示す図である。
【図１３】転送データを削減するための最適化処理の一例を示す図である。
【符号の説明】
【００４３】
１０１Ａ 操作端末ディスプレイ
１０１Ｂ 被操作端末ディスプレイ
１０２Ａ 操作端末
１０２Ｂ 被操作端末
１０３Ａ 操作端末キーボード
１０３Ｂ 被操作端末キーボード
１０４Ａ 操作端末マウス
１０４Ｂ 被操作端末マウス
１０５ 表示データの流れ
１０６ 入力データの流れ
１０７ ネットワーク
２０１〜２１３ コントローラ端末とエージェント端末の制御を示すシーケンス図
３０１ エージェント端末
３０２ 変更された描画データ
３０３ オペレーティングシステム
３０４ エージェント端末側の通信制御部
３０５ エージェント端末側のディスプレイドライバフック制御部
３０６ エージェント端末側のディスプレイドライバ
３０７ エージェント端末側のディスプレイ
３０８ エージェント端末側の基本制御部
３０９ 変更された描画命令の流れ
３１０ 捕捉した描画命令の流れ
３１１ コントローラ端末
３１２ コントローラ端末側の通信制御部
３１３ コントローラ端末側の基本制御部
３１４ コントローラ端末側の表示制御部
３１５ コントローラ端末側のディプレイドライバ
３１６ コントローラ端末側のディスプレイ
３１７ コントローラ端末側のオペレーティングシステム
３１８ コントローラ端末上での描画命令の流れ
３２１ キーボードフック制御部
３２２ マウスフック制御部
３２３ キーボードドライバ
３２４ マウスドライバ
４０１ 変更された描画命令の座標情報
４０２ 最適化された描画命令の座標情報
４０３ ３２×２４ピクセルに分割された座標情報
４０４ 取得した1矩形の描画情報
４０５ 最適化した１矩形の描画情報
５０１〜５０５ コントローラ端末の接続開始処理を示すフローチャート
６０１〜６０４ 画像転送のオプションの設定テーブル
７０１〜７１６ 描画データの最適化処理の流れを示したフローチャート
８０１〜８１２ キャッシュ処理の流れを示したフローチャート
９０１〜９０３ データ圧縮の流れを示したフローチャート
１００１〜１００８ １６色より多い場合の処理の流れを示すフローチャート
１１０１ 描画データの矩形情報
１１０２ 描画データ
１２０１〜１２０５ 描画データのキャッシュテーブル
１３０１〜１３０９ 最適化前の描画命令
１３１０〜１３１４ 最適化後の描画命令
【図１】
2006338226.tif 000003
【図２】
2006338226.tif 000004
【図３】
2006338226.tif 000005
【図４】
2006338226.tif 000006
【図５】
2006338226.tif 000007
【図６】
2006338226.tif 000008
【図７】
2006338226.tif 000009
【図８】
2006338226.tif 000010
【図９】
2006338226.tif 000011
【図１０】
2006338226.tif 000012
【図１１】
2006338226.tif 000013
【図１２】
2006338226.tif 000014
【図１３】
2006338226.tif 000015