(57)【要約】【課題】ユーザの操作性の低下を防ぐこと。【解決手段】端末装置１０１は、画面１１０上で行われた操作入力を表す操作情報を情報処理装置１０２に送信する。情報処理装置１０２は、受信した操作情報１３０から特定される操作入力に応じて操作対象となった操作対象画像の表示領域を表す操作対象情報を端末装置１０１に送信する。端末装置１０１は、操作対象情報１４０を受信した場合、画面１１０の画像データから、操作対象情報１４０から特定される表示領域１２４の画像データを抽出する。端末装置１０１は、抽出した表示領域１２４の画像データ１５０を、オブジェクト１２２の画像データとして記憶領域１６０に格納する。【選択図】図１
2014067312.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記情報処理装置は、
前記端末装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記端末装置に送信し、
前記端末装置は、
前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納することを特徴とするシステム。
【請求項２】
前記情報処理装置は、
前記画面上での操作入力に応じて前記操作対象画像を移動させる移動イベントが発生した場合、前記操作対象画像の前記画面上での移動後の表示領域を表すイベント情報を前記端末装置に送信し、
前記端末装置は、
前記イベント情報を受信した場合、前記記憶領域に格納されている前記操作対象画像の画像データを、前記イベント情報から特定される前記移動後の表示領域に表示することを特徴とする請求項１に記載のシステム。
【請求項３】
前記端末装置は、
前記イベント情報を受信した場合、前記表示領域において前記操作対象画像により非表示となっている非表示画像の画像データの送信要求を前記情報処理装置に送信し、
前記情報処理装置は、
前記送信要求を受信した場合、前記非表示画像の画像データを前記端末装置に送信し、
前記端末装置は、
前記非表示画像の画像データを受信した場合、前記表示領域に前記非表示画像の画像データを表示するとともに、前記移動後の表示領域に前記記憶領域に格納されている前記操作対象画像の画像データを表示することを特徴とする請求項２に記載のシステム。
【請求項４】
ネットワークを介して情報処理装置と接続される端末装置において、
自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信する受信部と、
前記画面の画像データから、前記受信部によって受信された前記操作対象情報から特定される前記表示領域の画像データを抽出する抽出部と、
前記抽出部によって抽出された前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する格納部と、
を有することを特徴とする端末装置。
【請求項５】
ネットワークを介して情報処理装置と接続される端末装置が、
自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信し、
前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、
抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する、
処理を実行することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、端末装置および画像処理方法に関する。
【背景技術】
【０００２】
シンクライアントシステムは、クライアントに最低限の機能しか持たせず、サーバでアプリケーションやデータを管理するシステムである。また、タブレット端末やスマートフォンなどの端末装置の普及にともなって、モバイル環境で社内のアプリケーションやデータをセキュアに利用する、いわゆるモバイルシンクライアントシステムのニーズが拡大している。
【０００３】
関連する先行技術としては、例えば、サーバ装置において、シンクライアントからの操作情報によるアプリケーションの処理に基づき生成され動画像として符号化される画面情報のフレームレートを変更する技術がある。また、クライアント端末が、サーバから受信したドキュメント情報を描画ログバッファに蓄積保持し、サーバとの通信が切断されている間は、蓄積保持したドキュメント情報に基づいてドキュメント画像を再現してディスプレイに表示する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９２２２９号公報
【特許文献２】特開２００７−３４６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、シンクライアントシステムにおいて、端末側で画面内のウィンドウやアイコン等を移動させる場合、画面に表示する画像データをサーバから取得することになり、ユーザの操作性の低下を招くという問題がある。
【０００６】
１つの側面では、本発明は、ユーザの操作性の低下を防ぐシステム、端末装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、前記情報処理装置は、前記端末装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記端末装置に送信し、前記端末装置は、前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納するシステムが提案される。
【０００８】
また、本発明の一側面によれば、ネットワークを介して情報処理装置と接続される端末装置が、自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信し、前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する端末装置および画像処理方法が提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、ユーザの操作性の低下を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。
【図２】図２は、シンクライアントシステム２００のシステム構成例を示す説明図である。
【図３】図３は、サーバ２０１のハードウェア構成例を示すブロック図である。
【図４】図４は、クライアント装置２０２のハードウェア構成例を示すブロック図である。
【図５】図５は、サーバ２０１の機能的構成例を示すブロック図である。
【図６】図６は、クライアント装置２０２の機能的構成例を示すブロック図である。
【図７】図７は、シンクライアントシステム２００の動作例を示す説明図（その１）である。
【図８】図８は、シンクライアントシステム２００の動作例を示す説明図（その２）である。
【図９】図９は、クライアント装置２０２の動作例を示す説明図である。
【図１０】図１０は、クライアント装置２０２の表示制御処理手順の一例を示すフローチャートである。
【図１１】図１１は、サーバ２０１の画像処理手順の一例を示すフローチャート（その１）である。
【図１２】図１２は、サーバ２０１の画像処理手順の一例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかるシステム、端末装置および画像処理方法の実施の形態を詳細に説明する。
【００１２】
（画像処理方法の一実施例）
図１は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。図１において、システム１００は、端末装置１０１と、情報処理装置１０２と、を含む。システム１００は、例えば、端末装置１０１に最低限の機能しか持たせず、情報処理装置１０２でアプリケーションやデータを管理するシンクライアントシステムである。
【００１３】
端末装置１０１は、ネットワークを介して情報処理装置１０２と通信可能なコンピュータである。また、端末装置１０１は、画面１１０を有し、情報処理装置１０２から受信した画像データに基づいて、画面１１０に画像を表示する機能を有する。端末装置１０１は、例えば、タブレット端末、ノートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、携帯電話機などである。
【００１４】
情報処理装置１０２は、ネットワークを介して端末装置１０１と通信可能なコンピュータである。また、情報処理装置１０２は、端末装置１０１の画面１１０に表示する画像の画像データを生成して、端末装置１０１に送信する機能を有する。情報処理装置１０２は、例えば、サーバである。
【００１５】
また、画像は、例えば、端末装置１０１の要求に応じて情報処理装置１０２で実行されるアプリケーションの実行結果を表示するウィンドウやアイコンなどである。アプリケーションは、例えば、電子メールソフト、プレゼンテーションソフト、表計算ソフト、設計支援ツールなどである。
【００１６】
ここで、シンクライアントシステムにおいて、端末側で画面内のウィンドウやアイコン等を移動させる場合、画面の表示内容が更新されるため、画面の画像データを改めてサーバから取得することになる。また、タブレット端末などでシンクライアントシステムを利用する場合は、サーバとの通信状態が不安定になりやすいため、ウィンドウ等を移動させる操作時の応答時間が増大しユーザの操作性が低下してしまう場合がある。
【００１７】
また、指やスタイラスなどのタッチ操作で画面内のウィンドウ等を移動させる場合、端末装置がデスクトップ画面全体の移動かウィンドウ等の移動かを区別できず、ユーザの意図した動作にならない場合がある。なお、デスクトップ画面全体を移動させる操作モードと画面内のウィンドウ等を移動させる操作モードを用意することも考えられるが、操作モードを切り替える操作が必要となるとともに、複数の操作モードの存在によりユーザの混乱を招くという問題がある。
【００１８】
そこで、本実施の形態では、情報処理装置１０２は、端末装置１０１におけるユーザの操作入力に応じて操作対象となった画像（ウィンドウ、アイコン等）の表示領域を特定して端末装置１０１に通知する。端末装置１０１は、情報処理装置１０２から通知された表示領域の画像を保持しておく。これにより、操作対象となった画像を移動させる操作入力が行われた場合に、端末装置１０１側で保持した画像を利用して画面更新することを可能にする。以下、システム１００の動作例について説明する。
【００１９】
（１）端末装置１０１は、画面１１０上で行われた操作入力を表す操作情報を情報処理装置１０２に送信する。ここで、操作とは、例えば、画面１１０上で行われるクリック、ダブルクリック、ドラッグ＆ドロップなどである。操作情報には、例えば、画面１１０上で行われた操作入力の種別と、その操作入力が行われた位置を表す情報が含まれている。
【００２０】
図１の例では、画面１１０には、オブジェクト１２１とオブジェクト１２２とを含むデスクトップ画面１２０が表示されている。また、デスクトップ画面１２０内の点１２３を指定する操作入力（操作対象を指定するクリック）が行われた結果、点１２３の座標位置（ｘ、ｙ）を含む操作情報１３０が端末装置１０１から情報処理装置１０２に送信されている。
【００２１】
（２）情報処理装置１０２は、受信した操作情報１３０から特定される操作入力に応じて操作対象となった操作対象画像の表示領域を表す操作対象情報を端末装置１０１に送信する。ここで、操作対象画像とは、例えば、移動、削除、複製等の対象として選択された画像である。
【００２２】
図１の例では、情報処理装置１０２は、デスクトップ画面１２０内の点１２３を含むオブジェクト１２２を操作対象にし、オブジェクト１２２の画面１１０上での表示領域１２４を表す操作対象情報１４０を端末装置１０１に送信する。操作対象情報１４０には、例えば、オブジェクト１２２の各頂点の座標位置を表す頂点データが含まれている。
【００２３】
（３）端末装置１０１は、操作対象情報１４０を受信した場合、画面１１０の画像データから、操作対象情報１４０から特定される表示領域１２４の画像データを抽出する。具体的には、例えば、端末装置１０１は、オブジェクト１２２の各頂点の座標位置から表示領域１２４を特定し、表示領域１２４の画像データ１５０を抽出する。これにより、操作対象となったオブジェクト１２２の画像データ１５０を抽出することができる。
【００２４】
（４）端末装置１０１は、抽出した表示領域１２４の画像データ１５０を、オブジェクト１２２の画像データとして記憶領域１６０に格納する。記憶領域１６０は、例えば、端末装置１０１の揮発性メモリにより実現される。
【００２５】
このように、システム１００によれば、端末装置１０１は、ユーザの操作入力に応じ操作対象となったオブジェクト１２２の表示領域１２４を特定して画面１１０上の操作対象画像を判別することができるとともに、オブジェクト１２２の画像データ１５０を記憶領域１６０に格納することができる。
【００２６】
これにより、端末装置１０１は、オブジェクト１２２を移動させる操作入力が行われた場合に、記憶領域１６０に格納したオブジェクト１２２の画像データ１５０を用いて画面１１０の表示内容を更新することができる。すなわち、端末装置１０１は、情報処理装置１０２と通信して画面１１０の画像データを取得することなく、画面１１０の表示内容を更新することができる。
【００２７】
この結果、例えば、通信状態が不安定なモバイル環境で、端末装置１０１によりアプリケーションを操作する場合でも、ウィンドウやアイコン等の移動を行うたびに発生する画面更新のためのデータ転送量を削減して、ユーザの操作性を向上させることができる。
【００２８】
（シンクライアントシステムのシステム構成例）
つぎに、図１に示したシステム１００をシンクライアントシステムに適用した場合について説明する。
【００２９】
図２は、シンクライアントシステム２００のシステム構成例を示す説明図である。図２において、シンクライアントシステム２００は、サーバ２０１と、複数のクライアント装置２０２（図２の例では、３台）とを含む。シンクライアントシステム２００において、サーバ２０１およびクライアント装置２０２は、ネットワーク２１０を介して通信可能に接続されている。ネットワーク２１０は、例えば、移動体通信網（携帯電話網）やインターネットなどである。
【００３０】
シンクライアントシステム２００は、クライアント装置２０２が表示する画面をリモートでサーバ２０１に制御させる。シンクライアントシステム２００によれば、実際にはサーバ２０１が実行した処理結果や保持するデータをクライアント装置２０２に表示させつつ、あたかもクライアント装置２０２が主体となって処理を実行したり、データを保持しているかのように振る舞うことができる。
【００３１】
サーバ２０１は、クライアント装置２０２に表示する画面をリモートで制御するリモート画面制御サービスを提供するコンピュータである。サーバ２０１は、図１に示した情報処理装置１０２に相当する。クライアント装置２０２は、サーバ２０１からリモート画面制御サービスの提供を受けるコンピュータである。クライアント装置２０２は、図１に示した端末装置１０１に相当する。
【００３２】
（サーバ２０１のハードウェア構成例）
図３は、サーバ２０１のハードウェア構成例を示すブロック図である。図３において、サーバ２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、を有している。また、各構成部はバス３００によってそれぞれ接続されている。
【００３３】
ここで、ＣＰＵ３０１は、サーバ２０１の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有している。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されているプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させることになる。
【００３４】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、クライアント装置２０２）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３５】
磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。なお、サーバ２０１は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、ディスプレイなどを有することにしてもよい。
【００３６】
（クライアント装置２０２のハードウェア構成例）
図４は、クライアント装置２０２のハードウェア構成例を示すブロック図である。図４において、クライアント装置２０２は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、磁気ディスクドライブ４０４と、磁気ディスク４０５と、Ｉ／Ｆ４０６と、ディスプレイ４０７と、入力装置４０８と、を有している。また、各構成部はバス４００によってそれぞれ接続されている。
【００３７】
ここで、ＣＰＵ４０１は、クライアント装置２０２の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００３８】
Ｉ／Ｆ４０６は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、サーバ２０１）に接続される。そして、Ｉ／Ｆ４０６は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
【００３９】
ディスプレイ４０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ４０７は、例えば、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４０】
入力装置４０８は、文字、数字、各種指示などの入力を行う。入力装置４０８は、例えば、データの入力を行うキーボードやカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行うマウスであってもよい。また、入力装置４０８は、ディスプレイ４０７と一体化されたタッチパネルや、タッチパネル式の入力パッドやテンキーなどであってもよい。
【００４１】
（サーバ２０１の機能的構成例）
図５は、サーバ２０１の機能的構成例を示すブロック図である。図５において、サーバ２０１は、受信部５０１と、取得部５０２と、生成部５０３と、送信部５０４と、作成部５０５と、を含む構成である。受信部５０１〜作成部５０５は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、磁気ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置に記憶される。
【００４２】
受信部５０１は、クライアント装置２０２から操作情報を受信する機能を有する。ここで、操作情報は、クライアント装置２０２の表示画面Ｓ上での入力装置４０８（図４参照）を用いたユーザの操作入力を表す情報である。なお、表示画面Ｓは、ディスプレイ４０７の表示領域全体を表す。
【００４３】
操作情報には、例えば、入力装置４０８を用いたクリック、ダブルクリック、ドラッグ＆ドロップ等の操作入力の種別と、その操作入力が行われたマウスポインタの位置を表す情報が含まれている。また、操作情報には、操作入力が終了したことを示す情報や、マウスのホイールの回転量、キーボードの押下されたキーなどを表す情報が含まれていてもよい。
【００４４】
取得部５０２は、受信部５０１によって受信された操作情報に基づいて、クライアント装置２０２のディスプレイ４０７の表示画面Ｓに表示する画像Ｐの画像データを取得する機能を有する。具体的には、例えば、取得部５０２は、クライアント装置２０２からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、フレームバッファに格納される画像Ｐの画像データを取得する。
【００４５】
なお、フレームバッファは、表示画面Ｓに表示する１フレーム分の画像データを一時的に保存する記憶領域であり、例えば、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）である。フレームバッファは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置により実現される。
【００４６】
生成部５０３は、画像Ｐの画像データと画像Ｐpreの画像データとに基づいて、表示画面Ｓの表示内容が更新されているか否かを判断する機能を有する。ここで、画像Ｐpreは、表示画面Ｓに表示する画像Ｐの１フレーム前の画像である。具体的には、例えば、生成部５０３は、画像Ｐの画像データと画像Ｐpreの画像データとの間に差分が存在する場合に、表示画面Ｓの表示内容が更新されていると判断する。
【００４７】
なお、画像Ｐpreの画像データは、退避用バッファに格納されている。例えば、画像Ｐpreの画像データは、フレームバッファに画像Ｐの画像データが格納される際に、フレームバッファから退避用バッファに退避される。退避用バッファは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置により実現される。
【００４８】
また、生成部５０３は、表示画面Ｓの表示内容が更新されている場合、画像Ｐの更新領域Ｒの画像データを生成する。ここで、更新領域Ｒは、画像Ｐのうちの更新された領域を表す画像である。具体的には、例えば、生成部５０３は、画像Ｐのうち画像Ｐpreとの差分領域を含む矩形領域を更新された領域として、更新領域Ｒの画像データを生成する。
【００４９】
送信部５０４は、表示画面Ｓに表示する画像Ｐの画像データをクライアント装置２０２に送信する機能を有する。具体的には、例えば、送信部５０４は、表示画面Ｓに表示する画像Ｐの画像データを所定の圧縮方式で圧縮（エンコード）することにより、圧縮後の画像Ｐの画像データを静止画データまたは動画データとしてクライアント装置２０２に送信する。
【００５０】
圧縮方式としては、例えば、画像データが静止画の場合は、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、ＧＩＦ（Ｇｒａｐｈｉｃ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）などがある。また、画像データが動画の場合は、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）がある。
【００５１】
また、送信部５０４は、表示画面Ｓの表示内容が更新されている場合、生成部５０３によって生成された更新領域Ｒの画像データをクライアント装置２０２に送信する機能を有する。具体的には、例えば、送信部５０４は、更新領域Ｒの画像データを圧縮（エンコード）することにより、圧縮後の更新領域Ｒの画像データを静止画データまたは動画データとしてクライアント装置２０２に送信する。
【００５２】
作成部５０５は、受信部５０１によって受信された操作情報が表す表示画面Ｓ上での操作入力に応じて操作対象となった操作対象画像の操作対象情報を作成する機能を有する。ここで、操作対象画像は、例えば、表示画面Ｓ上での操作入力に応じて操作対象となった画像である。
【００５３】
具体的には、例えば、操作対象画像は、表示画面Ｓ上のある点を指定する操作入力（クリック）に応じて操作対象となったウィンドウやアイコンである。また、操作対象情報は、例えば、操作対象となったウィンドウやアイコンなどの表示画面Ｓ上での表示領域を表す情報である。
【００５４】
以下の説明では、操作対象画像の一例として、ウィンドウＷを例に挙げて説明する。ウィンドウＷは、例えば、表示画面Ｓに表示されるデスクトップ画面やデスクトップ画面に含まれるウィンドウなどである。また、アクティブになったウィンドウＷを「アクティブウィンドウＡＷ」と表記し、操作対象情報を「ウィンドウ情報」と表記する場合がある。
【００５５】
ウィンドウ情報には、例えば、アクティブウィンドウＡＷの頂点データ（ｘ，ｙ，ｈ，ｗ）が含まれている。ここで、（ｘ，ｙ）は、表示画面Ｓ上でのアクティブウィンドウＡＷの左上の頂点の座標位置を表す。また、（ｈ）は、表示画面Ｓ上でのアクティブウィンドウＡＷの縦方向の幅を表す。また、（ｗ）は、表示画面Ｓ上でのアクティブウィンドウＡＷの横方向の幅を表す。
【００５６】
具体的には、例えば、作成部５０５は、クライアント装置２０２からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、表示画面Ｓ上の点を指定する操作入力に応じてアクティブになったアクティブウィンドウＡＷを特定する。そして、作成部５０５は、特定したアクティブウィンドウＡＷの頂点データを特定することによりウィンドウ情報を作成することにしてもよい。
【００５７】
また、送信部５０４は、作成部５０５によって作成されたウィンドウ情報をクライアント装置２０２に送信する機能を有する。ウィンドウ情報によれば、クライアント装置２０２側で、表示画面Ｓ上のある点を指定する操作入力に応じてアクティブになったアクティブウィンドウＡＷの表示領域を特定することができる。
【００５８】
以下の説明では、ウィンドウ情報から特定されるアクティブウィンドウＡＷの表示領域を「アクティブウィンドウ領域ＡＴ」と表記する場合がある。
【００５９】
また、作成部５０５は、表示画面Ｓ上での操作入力に応じてアクティブウィンドウＡＷを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報を作成する機能を有する。ここで、ウィンドウ移動イベント情報は、アクティブウィンドウＡＷの表示画面Ｓ上での移動後のアクティブウィンドウ領域ＡＴを表す情報である。ウィンドウ移動イベント情報には、例えば、移動後のアクティブウィンドウＡＷの頂点データ（ｘ，ｙ，ｈ，ｗ）が含まれている。
【００６０】
また、送信部５０４は、作成部５０５によって作成されたウィンドウ移動イベント情報をクライアント装置２０２に送信する機能を有する。具体的には、例えば、送信部５０４は、アクティブウィンドウＡＷを移動させる移動イベントが発生した場合、更新領域Ｒの画像データの代わりに、ウィンドウ移動イベント情報をクライアント装置２０２に送信する。
【００６１】
すなわち、アクティブウィンドウＡＷを移動させる移動イベントが発生した場合は、アクティブウィンドウＡＷの移動により表示画面Ｓの表示内容が更新されても、サーバ２０１からクライアント装置２０２に更新領域Ｒの画像データを送信しなくてもよい。
【００６２】
また、生成部５０３は、アクティブウィンドウＡＷを移動させる移動イベントが発生した場合、更新領域Ｒの画像データを生成しないことにしてもよい。すなわち、アクティブウィンドウＡＷの移動により表示画面Ｓの表示内容が更新されても、クライアント装置２０２に更新領域Ｒの画像データを送信しなくてもよいため、生成部５０３は、更新領域Ｒの画像データを生成しなくてもよい。
【００６３】
また、受信部５０１は、送信部５０４によってウィンドウ移動イベント情報が送信された結果、非表示画像要求をクライアント装置２０２から受信することにしてもよい。ここで、非表示画像要求は、アクティブウィンドウ領域ＡＴにおいてアクティブウィンドウＡＷにより非表示となっている非表示画像の画像データを要求するものである。非表示画像要求には、例えば、アクティブウィンドウＡＷの頂点データ（ｘ，ｙ，ｈ，ｗ）が含まれている。
【００６４】
また、生成部５０３は、受信部５０１によって非表示画像要求が受信された場合、アクティブウィンドウＡＷにより非表示となっている非表示画像の画像データを生成することにしてもよい。具体的には、例えば、生成部５０３は、アクティブウィンドウＡＷを一時的に非表示にして、非表示画像要求に含まれるアクティブウィンドウＡＷの頂点データ（ｘ，ｙ，ｈ，ｗ）から特定される表示領域の画像データをフレームバッファから取得する。これにより、アクティブウィンドウＡＷの裏に隠れている非表示画像の画像データを生成することができる。
【００６５】
また、送信部５０４は、生成部５０３によってアクティブウィンドウＡＷにより非表示となっている非表示画像の画像データが生成された場合、非表示画像の画像データをクライアント装置２０２に送信することにしてもよい。これにより、アクティブウィンドウＡＷの裏に隠れている非表示画像の画像データをクライアント装置２０２に送信することができる。
【００６６】
（クライアント装置２０２の機能的構成例）
図６は、クライアント装置２０２の機能的構成例を示すブロック図である。図６において、クライアント装置２０２は、取得部６０１と、送信部６０２と、受信部６０３と、表示制御部６０４と、抽出部６０５と、格納部６０６と、を含む構成である。取得部６０１〜格納部６０６は制御部となる機能であり、具体的には、例えば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０６により、その機能を実現する。各機能部の処理結果は、例えば、ＲＡＭ４０３、磁気ディスク４０５などの記憶装置に記憶される。
【００６７】
取得部６０１は、ユーザの操作入力を表す操作情報を取得する機能を有する。具体的には、例えば、取得部６０１は、ディスプレイ４０７の表示画面Ｓ上での入力装置４０８（図４参照）を用いたユーザの操作入力を受け付けることにより、ユーザの操作入力を表す操作情報を取得する。
【００６８】
上述したように、操作情報には、例えば、入力装置４０８を用いたクリック、ダブルクリック、ドラッグ＆ドロップ等の操作入力の種別と、その操作入力が行われたマウスポインタの位置を表す情報が含まれている。また、操作情報には、操作入力が終了したことを示す情報や、マウスのホイールの回転量、キーボードの押下されたキーなどを表す情報が含まれていてもよい。
【００６９】
また、タッチパネルを用いて、タップ、ドラッグ、フリック、ピンチアウト、ピンチイン等の操作入力が行われる場合がある。この場合、取得部６０１は、タッチパネルを用いた操作入力を、例えば、サーバ２０１で実行中のアプリケーションが解釈可能なマウスを用いた操作入力に変換した操作情報を取得することにしてもよい。
【００７０】
ただし、操作情報の変換処理は、サーバ２０１側で行われることにしてもよい。また、ドラッグ＆ドロップのように操作入力が継続して行われる場合がある。この場合、取得部６０１は、ユーザの操作入力を表す操作情報を一定時間間隔ごとに取得することにしてもよい。
【００７１】
送信部６０２は、取得部６０１によって取得された操作情報をサーバ２０１に送信する機能を有する。具体的には、例えば、送信部６０２は、取得部６０１によって操作情報が取得されると、その都度、取得された操作情報をサーバ２０１に送信する。
【００７２】
受信部６０３は、送信部６０２によって操作情報が送信された結果、表示画面Ｓの画像データをサーバ２０１から受信する機能を有する。具体的には、例えば、受信部６０３は、表示画面Ｓ全体の画像Ｐの画像データや表示画面Ｓの更新領域Ｒの画像データをサーバ２０１から受信する。
【００７３】
表示制御部６０４は、受信部６０３によって受信された表示画面Ｓの画像データを表示する機能を有する。具体的には、例えば、表示制御部６０４は、ディスプレイ４０７を制御して、受信された表示画面Ｓの画像データをデコードして、表示画面Ｓ上の対応する位置に表示する。
【００７４】
また、受信部６０３は、送信部６０２によって操作情報が送信された結果、表示画面Ｓ上での操作入力に応じて操作対象となったアクティブウィンドウＡＷのウィンドウ情報をサーバ２０１から受信する機能を有する。
【００７５】
抽出部６０５は、表示画面Ｓの画像データから、受信部６０３によって受信されたウィンドウ情報から特定されるアクティブウィンドウ領域ＡＴの画像データを抽出する機能を有する。具体的には、例えば、抽出部６０５は、ウィンドウ情報に含まれる頂点データからアクティブウィンドウ領域ＡＴを特定する。そして、抽出部６０５は、表示画面Ｓの画像データから、特定したアクティブウィンドウ領域ＡＴの画像データを抽出する。
【００７６】
格納部６０６は、抽出部６０５によって抽出されたアクティブウィンドウ領域ＡＴの画像データを、アクティブウィンドウＡＷの画像データとして記憶領域Ｍに格納する機能を有する。記憶領域Ｍは、例えば、ＣＰＵ４０１のキャッシュメモリやＲＡＭ４０３により実現される。
【００７７】
また、受信部６０３は、送信部６０２によって操作情報が送信された結果、表示画面Ｓ上での操作入力に応じてアクティブウィンドウＡＷを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報をサーバ２０１から受信する。
【００７８】
また、表示制御部６０４は、受信部６０３によってウィンドウ移動イベント情報が受信された場合、記憶領域Ｍに格納されているアクティブウィンドウＡＷの画像データを、ウィンドウ移動イベント情報から特定される移動後のアクティブウィンドウ領域ＡＴに表示する。
【００７９】
これにより、ユーザの操作入力に応じたウィンドウＷの移動イベントが発生した場合に、サーバ２０１と通信して更新領域Ｒの画像データを取得することなく、表示画面Ｓの表示内容を更新することができる。なお、移動前のアクティブウィンドウ領域ＡＴについては、ブランク領域とすることにしてもよい。
【００８０】
また、送信部６０２は、受信部６０３によってウィンドウ移動イベント情報が受信された場合、非表示画像要求をサーバ２０１に送信することにしてもよい。この場合、受信部６０３は、送信部６０２によって非表示画像要求が送信された結果、非表示画像の画像データをサーバ２０１から受信する。非表示画像の画像データは、上述したように、アクティブウィンドウ領域ＡＴにおいてアクティブウィンドウ領域ＡＷにより非表示となっている非表示画像の画像データである。
【００８１】
表示制御部６０４は、受信部６０３によって非表示画像の画像データが受信された場合、移動前のアクティブウィンドウ領域ＡＴに非表示画像の画像データを表示する。また、表示制御部６０４は、記憶領域Ｍに格納されているアクティブウィンドウＡＷの画像データを、ウィンドウ移動イベント情報から特定される移動後のアクティブウィンドウ領域ＡＴに表示する。
【００８２】
これにより、ウィンドウＷの移動イベントが発生した場合に、サーバ２０１と通信して更新領域Ｒの画像データを取得することなく、移動前のウィンドウＷの裏に隠れていた部分を含めて表示画面Ｓの表示内容を更新することができる。
【００８３】
また、表示制御部６０４は、表示画面Ｓ上のいずれかの点を指定する操作入力が行われた場合、指定された点がアクティブウィンドウ領域ＡＴ内か否かを判定することにしてもよい。アクティブウィンドウ領域ＡＴは、例えば、ウィンドウ情報またはウィンドウ移動イベント情報から特定することができる。そして、表示制御部６０４は、指定された点がアクティブウィンドウ領域ＡＴ外の場合、表示画面Ｓ全体（例えば、デスクトップ画面）をアクティブウィンドウＡＷとすることにしてもよい。
【００８４】
また、表示制御部６０４は、表示画面Ｓ全体をアクティブウィンドウＡＷとした結果、アクティブウィンドウＡＷを移動させる操作入力が行われた場合は、表示画面Ｓ全体を移動させることにしてもよい。これにより、ウィンドウＷの移動イベントが発生した場合に、サーバ２０１との通信が一時的に切断されても、サーバ２０１からウィンドウ情報を受信することなく、表示画面Ｓの表示内容を更新することができる。
【００８５】
（シンクライアントシステム２００の動作例）
図７および図８は、シンクライアントシステム２００の動作例を示す説明図である。図７において、クライアント装置２０２の表示画面Ｓにデスクトップ画面ＤＳ１が表示されている。また、デスクトップ画面ＤＳ１にはウィンドウＷ１とウィンドウＷ２とが表示されている。
【００８６】
（７−１）クライアント装置２０２は、表示画面Ｓ上の点７０１を指でタッチする操作入力が行われた場合、サーバ２０１に操作情報７１０を送信する。操作情報７１０には、例えば、点７０１で行われた操作入力の種別「クリック」と点７０１の座標位置とを表す情報が含まれている。
【００８７】
（７−２）サーバ２０１は、操作情報７１０を受信した場合、操作情報７１０が表す表示画面Ｓ上での操作入力に応じてアクティブとなったウィンドウＷ１のウィンドウ情報７２０をクライアント装置２０２に送信する。ウィンドウ情報７２０には、例えば、アクティブとなったウィンドウＷ１の頂点データが含まれている。
【００８８】
また、表示画面Ｓ上の点７０１を指でタッチする操作入力が行われた結果、サーバ２０１からクライアント装置２０２に更新領域Ｒの画像データが送信され、表示画面Ｓの表示内容がデスクトップ画面ＤＳ１からデスクトップ画面ＤＳ２に更新される。
【００８９】
（７−３）クライアント装置２０２は、ウィンドウ情報７２０を受信した場合、ウィンドウ情報７２０に含まれる頂点データからウィンドウＷ１の表示領域７０２を特定する。そして、クライアント装置２０２は、表示画面Ｓの画像データ（ビットマップ画像の画像データ）から、表示領域７０２の画像データ７３０を抽出して記憶領域Ｍにキャッシュする。
【００９０】
（７−４）クライアント装置２０２は、表示画面Ｓ上でドラッグ＆ドロップ（指でタッチしたまま移動）の操作入力が行われた場合、サーバ２０１に操作情報７４０を送信する。操作情報７４０は、例えば、ドラッグ＆ドロップの操作入力が行われている間に、サーバ２０１に一定時間間隔で送信される操作情報群である。
【００９１】
操作情報７４０には、例えば、操作入力の種別「ドラッグ＆ドロップ」と、その操作入力が行われた点の座標位置とを表す情報が含まれている。また、操作情報７４０には、ドラッグ＆ドロップの操作入力が行われたことを示す情報が含まれていてもよい。
【００９２】
（７−５）サーバ２０１は、受信した操作情報７４０から特定される表示画面Ｓ上での操作入力に応じてウィンドウＷ１を移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報７５０を作成してクライアント装置２０２に送信する。ウィンドウ移動イベント情報７５０には、移動後のウィンドウＷ１の頂点データが含まれている。
【００９３】
また、ウィンドウＷ１を移動させる移動イベントが発生した結果、サーバ２０１側では、表示画面Ｓの表示内容がデスクトップ画面ＤＳ２からデスクトップ画面ＤＳ３に更新される。なお、クライアント装置２０２側では、サーバ２０１から更新領域Ｒの画像データが送信されないため、この時点では表示画面Ｓの表示内容は更新されない。
【００９４】
（７−６）クライアント装置２０２は、ウィンドウ移動イベント情報７５０を受信した場合、非表示画像要求７６０をサーバ２０１に送信する。非表示画像要求７６０には、移動前のウィンドウＷ１の頂点データ（ｘ，ｙ，ｈ，ｗ）が含まれている。
【００９５】
（７−７）サーバ２０１は、アクティブとなっているウィンドウＷ１を一時的に非表示にする。そして、サーバ２０１は、非表示画像要求７６０に含まれる移動前のウィンドウＷ１の頂点データから特定される表示領域７０３の画像データ７７０を取得してクライアント装置２０２に送信する。
【００９６】
（７−８）クライアント装置２０２は、非表示画像の画像データ７７０を受信した場合、移動前のウィンドウＷ１の表示領域７０２に非表示画像の画像データ７７０を表示する。また、クライアント装置２０２は、記憶領域ＭにキャッシュしたウィンドウＷ１の画像データ７３０を、ウィンドウ移動イベント情報７５０から特定される移動後のウィンドウＷ１の表示領域７０４に表示する。
【００９７】
この結果、クライアント装置２０２の表示画面Ｓに、デスクトップ画面ＤＳ２におけるウィンドウＷ１を表示領域７０２から表示領域７０４に移動したデスクトップ画面ＤＳ３が表示される（図８中、（７−９）参照）。
【００９８】
このように、クライアント装置２０２は、ユーザの操作入力に応じたウィンドウＷ１の移動イベントが発生した場合に、サーバ２０１と通信して更新領域Ｒの画像データを取得することなく、表示画面Ｓの表示内容を更新することができる。
【００９９】
（クライアント装置２０２の動作例）
図９は、クライアント装置２０２の動作例を示す説明図である。図９において、クライアント装置２０２の表示画面Ｓにデスクトップ画面ＤＳ１が表示されている。また、デスクトップ画面ＤＳ１にはウィンドウＷ１とウィンドウＷ２とが表示されている。ウィンドウＷ１は、サーバ２０１からのウィンドウ情報から特定されるアクティブウィンドウである。
【０１００】
（９−１）クライアント装置２０２は、表示画面Ｓ上の点９０１を指でタッチする操作入力が行われた場合、サーバ２０１からのウィンドウ情報から特定されるウィンドウＷ１の表示領域９０２内に点９０１があるか否かを判断する。
【０１０１】
図９の例では、点９０１が表示領域９０２外のため、表示領域９０２内に点９０１がないと判断される。これにより、クライアント装置２０２は、表示画面Ｓ上でアクティブウィンドウＡＷ以外のものが指でタッチされたことを認識することができる。
【０１０２】
（９−２）クライアント装置２０２は、点９０１が表示領域９０２外で、かつ、表示画面Ｓ上で点９０１からドラッグ＆ドロップ（指でタッチしたまま移動）の操作入力が行われた場合、表示画面Ｓ全体を操作対象とする。図９の例では、デスクトップ画面ＤＳ１が操作対象となる。
【０１０３】
（９−３）クライアント装置２０２は、表示画面Ｓ上で行われたドラッグ＆ドロップ（指でタッチしたまま移動）の操作入力に応じて、操作対象となるデスクトップ画面ＤＳ１を移動させることにより、表示画面Ｓに画像９１０（点線枠）を表示する。
【０１０４】
このように、クライアント装置２０２は、アクティブとなったウィンドウＷ１の表示領域９０２を判別できるため、表示画面Ｓ上でアクティブウィンドウＡＷ以外のものが指でタッチされたことを認識することができる。また、クライアント装置２０２は、アクティブウィンドウＡＷ以外のものが指でタッチされた場合に表示画面Ｓ全体を操作対象とすることができ、表示画面Ｓ上で行われたタッチ操作の移動に応じて、表示画面Ｓ全体の画像を移動させることができる。
【０１０５】
（クライアント装置２０２の表示制御処理手順）
つぎに、クライアント装置２０２の表示制御処理手順について説明する。
【０１０６】
図１０は、クライアント装置２０２の表示制御処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、クライアント装置２０２は、ユーザの操作入力を受け付けたか否かを判断する（ステップＳ１００１）。ここで、クライアント装置２０２は、ユーザの操作入力を受け付けるのを待つ（ステップＳ１００１：Ｎｏ）。
【０１０７】
そして、クライアント装置２０２は、ユーザの操作入力を受け付けた場合（ステップＳ１００１：Ｙｅｓ）、ユーザの操作入力を表す操作情報を取得する（ステップＳ１００２）。つぎに、クライアント装置２０２は、取得した操作情報をサーバ２０１に送信する（ステップＳ１００３）。
【０１０８】
そして、クライアント装置２０２は、サーバ２０１からウィンドウ情報を受信したか否かを判断する（ステップＳ１００４）。ここで、サーバ２０１からウィンドウ情報を受信した場合（ステップＳ１００４：Ｙｅｓ）、クライアント装置２０２は、表示画面Ｓに表示中のビットマップ画像の画像データから、受信したウィンドウ情報から特定されるアクティブウィンドウ領域ＡＴの画像データを抽出する（ステップＳ１００５）。
【０１０９】
そして、クライアント装置２０２は、抽出したアクティブウィンドウ領域ＡＴの画像データを記憶領域Ｍに格納して（ステップＳ１００６）、本フローチャートによる一連の処理を終了する。
【０１１０】
また、ステップＳ１００４において、クライアント装置２０２は、ウィンドウ情報を受信していない場合（ステップＳ１００４：Ｎｏ）、サーバ２０１からウィンドウ移動イベント情報を受信したか否かを判断する（ステップＳ１００７）。
【０１１１】
ここで、クライアント装置２０２は、ウィンドウ移動イベント情報を受信した場合（ステップＳ１００７：Ｙｅｓ）、非表示画像要求をサーバ２０１に送信する（ステップＳ１００８）。そして、クライアント装置２０２は、サーバ２０１から非表示画像の画像データを受信したか否かを判断する（ステップＳ１００９）。
【０１１２】
ここで、クライアント装置２０２は、非表示画像の画像データを受信するのを待つ（ステップＳ１００９：Ｎｏ）。そして、クライアント装置２０２は、非表示画像の画像データを受信した場合（ステップＳ１００９：Ｙｅｓ）、移動前のアクティブウィンドウ領域ＡＴに非表示画像の画像データを表示する（ステップＳ１０１０）。
【０１１３】
つぎに、クライアント装置２０２は、記憶領域Ｍに格納したアクティブウィンドウＡＷの画像データを、ウィンドウ移動イベント情報から特定される移動後のアクティブウィンドウ領域ＡＴに表示して（ステップＳ１０１１）、本フローチャートによる一連の処理を終了する。
【０１１４】
また、ステップＳ１００７において、クライアント装置２０２は、ウィンドウ移動イベント情報を受信していない場合（ステップＳ１００７：Ｎｏ）、サーバ２０１から更新領域Ｒの画像データを受信したか否かを判断する（ステップＳ１０１２）。
【０１１５】
ここで、クライアント装置２０２は、更新領域Ｒの画像データを受信していない場合（ステップＳ１０１２：Ｎｏ）、本フローチャートによる一連の処理を終了する。一方、クライアント装置２０２は、更新領域Ｒの画像データを受信した場合（ステップＳ１０１２：Ｙｅｓ）、更新領域Ｒの画像データが動画データか否かを判断する（ステップＳ１０１３）。
【０１１６】
ここで、更新領域Ｒの画像データが動画データの場合（ステップＳ１０１３：Ｙｅｓ）、クライアント装置２０２は、更新領域Ｒの画像データを動画用の復元方式を用いてデコードした動画データを表示画面Ｓに表示して（ステップＳ１０１４）、本フローチャートによる一連の処理を終了する。
【０１１７】
一方、更新領域Ｒの画像データが静止画データの場合（ステップＳ１０１３：Ｎｏ）、更新領域Ｒの画像データを静止画用の復元方式を用いてデコードした静止画データを表示画面Ｓに表示して（ステップＳ１０１５）、本フローチャートによる一連の処理を終了する。
【０１１８】
なお、ステップＳ１００４において受信されたウィンドウ情報に更新領域Ｒの画像データが含まれている場合、クライアント装置２０２は、更新領域Ｒの動画データまたは静止画データを表示画面Ｓに表示する。
【０１１９】
これにより、クライアント装置２０２は、ユーザの操作入力に応じたウィンドウＷの移動イベントが発生した場合に、サーバ２０１と通信して更新領域Ｒの画像データを取得することなく、表示画面Ｓの表示内容を更新することができる。
【０１２０】
（サーバ２０１の画像処理手順）
つぎに、サーバ２０１の画像処理手順について説明する。
【０１２１】
図１１および図１２は、サーバ２０１の画像処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、サーバ２０１は、クライアント装置２０２から操作情報を受信したか否かを判断する（ステップＳ１１０１）。
【０１２２】
ここで、サーバ２０１は、クライアント装置２０２から操作情報を受信した場合（ステップＳ１１０１：Ｙｅｓ）、受信した操作情報が表す操作入力に応じて表示画面Ｓ内のウィンドウＷがアクティブになったか否かを判断する（ステップＳ１１０２）。
【０１２３】
ここで、ウィンドウＷがアクティブになっていない場合（ステップＳ１１０２：Ｎｏ）、サーバ２０１は、ステップＳ１１０４に移行する。一方、ウィンドウＷがアクティブになった場合（ステップＳ１１０２：Ｙｅｓ）、サーバ２０１は、ウィンドウＷのウィンドウ情報をクライアント装置２０２に送信する（ステップＳ１１０３）。
【０１２４】
そして、サーバ２０１は、アクティブウィンドウＡＷの移動イベントが発生したか否かを判断する（ステップＳ１１０４）。ここで、アクティブウィンドウＡＷの移動イベントが発生した場合（ステップＳ１１０４：Ｙｅｓ）、サーバ２０１は、ウィンドウ移動イベント情報を作成する（ステップＳ１１０５）。そして、サーバ２０１は、作成したウィンドウ移動イベント情報をクライアント装置２０２に送信して（ステップＳ１１０６）、本フローチャートによる一連の処理を終了する。
【０１２５】
また、ステップＳ１１０１において、サーバ２０１は、操作情報を受信していない場合（ステップＳ１１０１：Ｎｏ）、非表示画像要求をクライアント装置２０２から受信したか否かを判断する（ステップＳ１１０７）。ここで、サーバ２０１は、非表示画像要求を受信していない場合（ステップＳ１１０７：Ｎｏ）、ステップＳ１１０１に戻る。
【０１２６】
一方、サーバ２０１は、非表示画像要求を受信した場合（ステップＳ１１０７：Ｙｅｓ）、表示画面ＳにおいてアクティブウィンドウＡＷを非表示にする（ステップＳ１１０８）。そして、サーバ２０１は、非表示画像要求から特定される非表示画像の画像データをフレームバッファから取得する（ステップＳ１１０９）。
【０１２７】
つぎに、サーバ２０１は、取得した非表示画像の画像データをクライアント装置２０２に送信する（ステップＳ１１１０）。そして、サーバ２０１は、非表示にしたアクティブウィンドウＡＷを表示して（ステップＳ１１１１）、本フローチャートによる一連の処理を終了する。
【０１２８】
また、ステップＳ１１０４において、アクティブウィンドウＡＷの移動イベントが発生していない場合（ステップＳ１１０４：Ｎｏ）、サーバ２０１は、図１２に示すステップＳ１２０１に移行する。
【０１２９】
図１２のフローチャートにおいて、まず、サーバ２０１は、フレームバッファから画像Ｐの画像データを取得する（ステップＳ１２０１）。つぎに、サーバ２０１は、画像Ｐの画像データと画像Ｐpreの画像データとに基づいて、表示画面Ｓの表示内容が更新されているか否かを判断する（ステップＳ１２０２）。
【０１３０】
ここで、表示画面Ｓの表示内容が更新されていない場合（ステップＳ１２０２：Ｎｏ）、サーバ２０１は、本フローチャートによる一連の処理を終了する。
【０１３１】
一方、表示画面Ｓの表示内容が更新されている場合（ステップＳ１２０２：Ｙｅｓ）、サーバ２０１は、更新領域Ｒの画像データを生成する（ステップＳ１２０３）。そして、サーバ２０１は、生成した更新領域Ｒの画像データが動画データか否かを判断する（ステップＳ１２０４）。
【０１３２】
ここで、更新領域Ｒの画像データが動画データの場合（ステップＳ１２０４：Ｙｅｓ）、サーバ２０１は、所定の圧縮方式で更新領域Ｒの画像データを圧縮して、圧縮した画像データを動画データとしてクライアント装置２０２に送信して（ステップＳ１２０５）、本フローチャートによる一連の処理を終了する。
【０１３３】
一方、更新領域Ｒの画像データが静止画データの場合（ステップＳ１２０４：Ｎｏ）、サーバ２０１は、所定の圧縮方式で更新領域Ｒの画像データを圧縮して、圧縮した画像データを静止画データとしてクライアント装置２０２に送信して（ステップＳ１２０６）、本フローチャートによる一連の処理を終了する。
【０１３４】
これにより、クライアント装置２０２の表示画面Ｓ上での操作入力に応じてアクティブとなったウィンドウＷのウィンドウ情報をクライアント装置２０２に送信することができる。また、表示画面Ｓ上での操作入力に応じてアクティブウィンドウＡＷを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報をクライアント装置２０２に送信することができる。
【０１３５】
なお、図１１に示したステップＳ１１１１において、非表示にしたアクティブウィンドウＡＷを表示する処理は、例えば、アクティブウィンドウＡＷを移動させる操作入力が終了した場合に実行することにしてもよい。
【０１３６】
また、ステップＳ１２０４において、サーバ２０１は、例えば、画像Ｐの画像データに付加されている、画像Ｐが静止画データか動画データかを識別する識別情報に基づいて、更新領域Ｒの画像データが動画データか否かを判断することにしてもよい。
【０１３７】
また、サーバ２０１は、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置２０２に送信する機能を有することにしてもよい。具体的には、例えば、サーバ２０１は、アプリケーションに操作情報を通知して得られる画像を複数の領域に分割し、分割した領域ごとに変更の頻度を監視する。そして、サーバ２０１は、変更の頻度が閾値を超えた領域を動画化領域として扱うことにしてもよい。
【０１３８】
この場合、ステップＳ１２０４において、サーバ２０１は、例えば、更新領域Ｒが動画化領域を含むか否かによって、更新領域Ｒの画像データが動画データか否かを判断することにしてもよい。より具体的には、例えば、サーバ２０１は、例えば、更新領域Ｒが動画化領域を含む場合は、更新領域Ｒの画像データが動画データであると判断する。なお、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置２０２に送信する技術については、例えば、特開２０１１−２３８０１４を参照することができる。
【０１３９】
以上説明したように、実施の形態にかかるシンクライアントシステム２００によれば、サーバ２０１は、クライアント装置２０２の表示画面Ｓ上での操作入力に応じてアクティブとなったウィンドウＷのウィンドウ情報をクライアント装置２０２に送信することができる。また、クライアント装置２０２は、ウィンドウ情報を受信した場合、表示画面Ｓの画像データから、ウィンドウ情報から特定されるアクティブウィンドウ領域ＡＴの画像データを抽出することができる。また、クライアント装置２０２は、抽出したアクティブウィンドウ領域ＡＴの画像データを、アクティブウィンドウＡＷの画像データとして記憶領域Ｍに格納することができる。
【０１４０】
これにより、クライアント装置２０２は、ユーザの操作入力に応じてアクティブとなったウィンドウＷの表示領域を特定して操作対象画像を判別することができるとともに、ウィンドウＷの画像データをキャッシュすることができる。
【０１４１】
また、サーバ２０１は、表示画面Ｓ上での操作入力に応じてアクティブウィンドウＡＷを移動させる移動イベントが発生した場合、ウィンドウ移動イベント情報をクライアント装置２０２に送信することができる。また、クライアント装置２０２は、ウィンドウ移動イベント情報を受信した場合、記憶領域Ｍに格納したアクティブウィンドウＡＷの画像データを、ウィンドウ移動イベント情報から特定されるアクティブウィンドウ領域ＡＴに表示することができる。
【０１４２】
これにより、クライアント装置２０２は、ユーザの操作入力に応じたウィンドウＷの移動イベントが発生した場合に、サーバ２０１と通信して更新領域Ｒの画像データを取得することなく、表示画面Ｓの表示内容を更新することができる。例えば、通信状態が不安定なモバイル環境で、ユーザがクライアント装置２０２を用いてアプリケーションを操作する場合であっても、ウィンドウＷの移動を行うたびに発生する画面更新のためのデータ転送量を削減して、ユーザの操作性を向上させることができる。
【０１４３】
また、クライアント装置２０２は、ウィンドウ移動イベント情報を受信した場合、ウィンドウＷにより非表示となっている非表示画像の非表示画像要求をサーバ２０１に送信することができる。また、サーバ２０１は、非表示画像要求を受信した場合、ウィンドウＷにより非表示となっている非表示画像の画像データをクライアント装置２０２に送信することができる。
【０１４４】
これにより、クライアント装置２０２は、ウィンドウＷの移動イベントが発生した場合に、移動前のウィンドウＷの裏に隠れていた非表示画像の画像データを取得することができる。
【０１４５】
また、クライアント装置２０２は、非表示画像の画像データを受信した場合、移動前のアクティブウィンドウ領域ＡＴに非表示画像の画像データを表示することができる。また、クライアント装置２０２は、記憶領域Ｍに格納したアクティブウィンドウＡＷの画像データを、移動後のアクティブウィンドウ領域ＡＴに表示することができる。
【０１４６】
これにより、クライアント装置２０２は、ウィンドウＷの移動イベントが発生した場合に、サーバ２０１と通信して更新領域Ｒの画像データを取得することなく、移動前のウィンドウＷの裏に隠れていた部分を含めて表示画面Ｓの表示内容を更新することができる。
【０１４７】
また、クライアント装置２０２は、表示画面Ｓ上のいずれかの点を指定する操作入力を受け付けた場合、ウィンドウ情報またはウィンドウ移動イベント情報に基づいて、指定された点がアクティブウィンドウ領域ＡＴ内にあるか否かを判定することができる。そして、クライアント装置２０２は、指定された点がアクティブウィンドウ領域ＡＴ外の場合、表示画面Ｓに表示されている画像全体を操作対象とすることができる。
【０１４８】
これにより、ウィンドウＷの移動イベントが発生した場合に、サーバ２０１との通信が一時的に切断されても、表示画面Ｓの表示内容を更新することができ、通信の不安定さをユーザに対して隠蔽することができる。また、ユーザが、ウィンドウＷの移動操作をタッチ操作で行う場合に、画面全体の移動とウィンドウＷの移動とを混乱せずにスムーズに操作することができる。
【０１４９】
なお、本実施の形態で説明した画像処理方法、表示制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本画像処理プログラム、表示制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本画像処理プログラム、表示制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５１】
（付記１）ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記情報処理装置は、
前記端末装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記端末装置に送信し、
前記端末装置は、
前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納することを特徴とするシステム。
【０１５２】
（付記２）前記情報処理装置は、
前記画面上での操作入力に応じて前記操作対象画像を移動させる移動イベントが発生した場合、前記操作対象画像の前記画面上での移動後の表示領域を表すイベント情報を前記端末装置に送信し、
前記端末装置は、
前記イベント情報を受信した場合、前記記憶領域に格納されている前記操作対象画像の画像データを、前記イベント情報から特定される前記移動後の表示領域に表示することを特徴とする付記１に記載のシステム。
【０１５３】
（付記３）前記端末装置は、
前記イベント情報を受信した場合、前記表示領域において前記操作対象画像により非表示となっている非表示画像の画像データの送信要求を前記情報処理装置に送信し、
前記情報処理装置は、
前記送信要求を受信した場合、前記非表示画像の画像データを前記端末装置に送信し、
前記端末装置は、
前記非表示画像の画像データを受信した場合、前記表示領域に前記非表示画像の画像データを表示するとともに、前記移動後の表示領域に前記記憶領域に格納されている前記操作対象画像の画像データを表示することを特徴とする付記２に記載のシステム。
【０１５４】
（付記４）前記端末装置は、
前記画面上のいずれかの点を指定する操作入力を受け付けた場合、前記操作対象情報または前記イベント情報に基づいて、前記いずれかの点が前記操作対象画像の表示領域内にあるか否かを判定し、
前記いずれかの点が前記操作対象画像の表示領域外の場合、前記画面に表示されている画像全体を操作対象とすることを特徴とする付記３に記載のシステム。
【０１５５】
（付記５）ネットワークを介して情報処理装置と接続される端末装置において、
自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信する受信部と、
前記画面の画像データから、前記受信部によって受信された前記操作対象情報から特定される前記表示領域の画像データを抽出する抽出部と、
前記抽出部によって抽出された前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する格納部と、
を有することを特徴とする端末装置。
【０１５６】
（付記６）ネットワークを介して情報処理装置と接続される端末装置が、
自装置の画面上での操作入力に応じて操作対象となった操作対象画像の前記画面上での表示領域を表す操作対象情報を前記情報処理装置から受信し、
前記操作対象情報を受信した場合、前記画面の画像データから、前記操作対象情報から特定される前記表示領域の画像データを抽出し、
抽出した前記表示領域の画像データを、前記操作対象画像の画像データとして記憶領域に格納する、
処理を実行することを特徴とする画像処理方法。
【符号の説明】
【０１５７】
１００  システム
１０１  端末装置
１０２  情報処理装置
２００  シンクライアントシステム
２０１  サーバ
２０２  クライアント装置
５０１，６０３  受信部
５０２，６０１  取得部
５０３  生成部
５０４，６０２  送信部
５０５  作成部
６０４  表示制御部
６０５  抽出部
６０６  格納部
【図１】
2014067312.tif 000003
【図２】
2014067312.tif 000004
【図３】
2014067312.tif 000005
【図４】
2014067312.tif 000006
【図５】
2014067312.tif 000007
【図６】
2014067312.tif 000008
【図７】
2014067312.tif 000009
【図８】
2014067312.tif 000010
【図９】
2014067312.tif 000011
【図１０】
2014067312.tif 000012
【図１１】
2014067312.tif 000013
【図１２】
2014067312.tif 000014