(57)【要約】  情報処理装置（１０１）は、端末装置（１０２）の表示画面（１１０）に表示する画像（１２０）の画像データと、画像（１２０）の画像データの圧縮率（ｃ）とに基づいて、端末装置（１０２）に送信するデータ転送量（Ｔ）を算出する。情報処理装置（１０１）は、データ転送量（Ｔ）とデータ転送速度（Ｋ）とに基づいて、画像（１２０）の画像データの転送時間（ｔ）を算出する。情報処理装置（１０１）は、画像（１２０）の画像データの転送時間（ｔ）に基づいて、画像（１２０）を分割する分割単位を決定する。
2014049761.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記情報処理装置は、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とするシステム。
【請求項２】
前記情報処理装置は、
前記データ転送量と前記データ転送速度とに基づいて、前記画像データの転送時間を算出する転送時間算出部を有し、
前記決定部は、
前記転送時間算出部によって算出された前記画像データの転送時間が閾値より大きい場合に、前記画像を分割した分割領域の画像データの転送時間が前記閾値以下となるように前記分割単位を決定することを特徴とする請求項１に記載のシステム。
【請求項３】
前記情報処理装置は、
前記決定部によって決定された前記分割単位で前記画像を分割した分割領域画像の画像データを、所定の順序で前記端末装置に順次送信する送信部を有することを特徴とする請求項２に記載のシステム。
【請求項４】
前記情報処理装置は、
前記端末装置で行われた操作入力を表す操作情報を前記端末装置から受信する受信部と、前記受信部によって受信された前記操作情報を前記端末装置からの要求に応じて実行中のアプリケーションに通知することにより、前記画像の画像データを取得する取得部と、を有し、
前記転送量算出部は、
前記取得部によって取得された前記画像の画像データと、当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項３に記載のシステム。
【請求項５】
前記情報処理装置は、
前記操作情報を前記アプリケーションに通知して得られる第１の画像の画像データと、前記操作情報の直前に前記端末装置から受信された操作情報を前記アプリケーションに通知して得られる第２の画像の画像データとに基づいて、前記第１の画像のうちの更新領域を表す画像の画像データを生成する生成部を有し、
前記転送量算出部は、
前記生成部によって生成された前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項４に記載のシステム。
【請求項６】
前記情報処理装置は、
前記端末装置に送信されたデータの送信時刻と、前記端末装置によって前記データが受信された受信時刻と、前記データのデータ量とに基づいて、前記データ転送速度を算出する転送速度算出部を有し、
前記転送時間算出部は、
前記転送量算出部によって算出された前記データ転送量と前記転送速度算出部によって算出された前記データ転送速度とに基づいて、前記画像の画像データの転送時間を算出することを特徴とする請求項５に記載のシステム。
【請求項７】
前記情報処理装置は、
前記第２の画像のうちの更新領域を表す画像から分割された分割領域画像の画像データのうち、前記端末装置に送信されていない未送信の分割領域画像の画像データがある場合、前記未送信の分割領域画像の画像データの代わりに、前記画像から分割された分割領域画像の画像データを前記端末装置に送信することを特徴とする請求項６に記載のシステム。
【請求項８】
前記転送量算出部は、
前記画像の画像データが静止画データの場合に、前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項７に記載のシステム。
【請求項９】
前記送信部は、
前記画像の画像データが静止画データではない場合、前記画像の画像データを前記端末装置に送信することを特徴とする請求項８に記載のシステム。
【請求項１０】
ネットワークを介して端末装置と接続される情報処理装置において、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とする情報処理装置。
【請求項１１】
ネットワークを介して端末装置と接続される情報処理装置が、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出し、
算出した前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する、
処理を実行することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、情報処理装置および画像処理方法に関する。
【背景技術】
【０００２】
シンクライアントシステムは、クライアントに最低限の機能しか持たせず、サーバでアプリケーションやデータを管理するシステムである。また、タブレット端末やスマートフォンなどの端末装置の普及にともなって、モバイル環境で社内のアプリケーションやデータをセキュアに利用する、いわゆるモバイルシンクライアントシステムのニーズが拡大している。【０００３】
関連する先行技術としては、例えば、第１のコンピュータシステムで表示されるウェブページを第２のコンピュータシステムと共有するための技術がある。また、複数の端末からの同じデータ要求に対して、サーバ・端末間のネットワーク性能の良否に応じて配信するデータ量を端末ごとに異ならせる技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１８３１４号公報
【特許文献２】特開２００２−２６８９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、タブレット端末などの端末装置でシンクライアントシステムを利用する場合、ネットワークの帯域幅が狭くサーバとの通信状態が不安定になりやすいため、端末装置におけるユーザの操作性が低下してしまうという問題がある。【０００６】
１つの側面では、本発明は、ユーザの操作性の低下を防ぐシステム、情報処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、前記情報処理装置が、前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出し、算出した前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定するシステム、情報処理装置および画像処理方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、ユーザの操作性の低下を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。
【図２】図２は、シンクライアントシステム２００のシステム構成例を示す説明図である。
【図３】図３は、サーバ２０１のハードウェア構成例を示すブロック図である。
【図４】図４は、クライアント装置２０２のハードウェア構成例を示すブロック図である。
【図５】図５は、サーバ２０１の機能的構成例を示すブロック図である。
【図６】図６は、クライアント装置２０２の機能的構成例を示すブロック図である。
【図７】図７は、デスクトップ画面の第１の表示例を示す説明図（その１）である。
【図８】図８は、デスクトップ画面の第１の表示例を示す説明図（その２）である。
【図９】図９は、デスクトップ画面の第２の表示例を示す説明図である。
【図１０】図１０は、デスクトップ画面の第３の表示例を示す説明図である。
【図１１】図１１は、クライアント装置２０２の表示制御処理手順の一例を示すフローチャートである。
【図１２】図１２は、サーバ２０１の画像処理手順の一例を示すフローチャートである。
【図１３】図１３は、分割領域画像処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかるシステム、情報処理装置および画像処理方法の実施の形態を詳細に説明する。
【００１１】
（画像処理方法の一実施例）
図１は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。図１において、システム１００は、情報処理装置１０１と、端末装置１０２と、を含む。システム１００は、例えば、端末装置１０２に最低限の機能しか持たせず、情報処理装置１０１でアプリケーションやデータを管理するシンクライアントシステムである。
【００１２】
情報処理装置１０１は、ネットワークを介して端末装置１０２と通信可能なコンピュータである。また、情報処理装置１０１は、端末装置１０２の表示画面１１０に表示する画像の画像データを生成して、端末装置１０２に画像の画像データを送信する機能を有する。情報処理装置１０１は、例えば、サーバである。
【００１３】
画像は、例えば、端末装置１０２の要求に応じて情報処理装置１０１で実行されるアプリケーションの実行結果を表示する画面の画像である。アプリケーションは、例えば、設計支援ツール、プレゼンテーションソフト、表計算ソフト、電子メールソフトなどである。画像データは、例えば、製図などに利用されるＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データや商品のカタログデータなどである。
【００１４】
端末装置１０２は、ネットワークを介して情報処理装置１０１と通信可能なコンピュータである。また、端末装置１０２は、表示画面１１０を有し、情報処理装置１０１から受信した画像データに基づいて、表示画面１１０に画像を表示する機能を有する。端末装置１０２は、例えば、タブレット端末、ノートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、携帯電話機などである。
【００１５】
ここで、タブレット端末やノートＰＣなどでシンクライアントシステムを利用する場合、ネットワークの帯域幅が狭くサーバとの通信状態が不安定になりやすいため、タブレット端末やノートＰＣにおけるユーザの操作性が低下してしまう場合がある。例えば、サーバからタブレット端末へのデータ転送に時間がかかり、タブレット端末における操作に対するレスポンスが悪化してしまう場合がある。
【００１６】
また、画像の画質を落としてデータ量を減らし、画像データの転送時間を短縮化することも考えられるが、例えば、設計、製図などに利用されるＣＡＤデータなどの精細な画像を扱う場合、画質を落とすと設計や製図に支障をきたす恐れがある。このため、画質を落として画像データの転送時間を調整することが難しい。
【００１７】
また、サーバとの通信が一時的に切断された場合でも、端末側での操作の続行を可能にするために、端末側にデータやアプリケーションをサーバからダウンロードして実行した後、端末側のデータやアプリケーションを消去することも考えられる。しかし、データやアプリケーションのデータサイズが大きい場合にはダウンロード時間が増大するとともに、一時的にも端末側にデータやアプリケーションが残ることはセキュリティ上好ましくない。
【００１８】
そこで、本実施の形態では、情報処理装置１０１は、端末装置１０２で行われたユーザ操作に対する画面更新時に、表示画面１１０に送信するデータ転送量とデータ転送速度とに基づく分割単位で画像を分割して端末装置１０２に順次送信する。これにより、ネットワーク環境に合わせて、ユーザに不快感を与えない程度の応答時間を確保して操作性を向上させる。
【００１９】
以下、端末装置１０２で行われたユーザの操作入力に応じて端末装置１０２の表示画面１１０に画像１２０を表示する場合を例に挙げて、情報処理装置１０１の画像処理例について説明する。
【００２０】
（１）情報処理装置１０１は、端末装置１０２の表示画面１１０に表示する画像１２０の画像データと、画像１２０の画像データの圧縮率ｃとに基づいて、端末装置１０２に送信するデータ転送量Ｔを算出する。ここで、圧縮率ｃは、例えば、画像データを圧縮した前後のデータ量の比率を表す。
【００２１】
具体的には、例えば、情報処理装置１０１は、画像１２０の画像データのデータ量と圧縮率ｃとを乗算することにより、端末装置１０２に送信するデータ転送量Ｔを算出する。一例として、画像１２０の画像データのデータ量を「３７５［Ｍｂｙｔｅ］」とし、圧縮率ｃを「０．１（＝１０［％］）」とすると、端末装置１０２に送信するデータ転送量Ｔは「３７５［Ｋｂｙｔｅ］」となる。
【００２２】
（２）情報処理装置１０１は、データ転送量Ｔとデータ転送速度Ｋとに基づいて、画像１２０の画像データの転送時間ｔを算出する。ここで、データ転送速度Ｋは、例えば、単位時間当たりに情報処理装置１０１から端末装置１０２に送信可能な平均データ量である。データ転送速度Ｋは、予め設定されている初期値を用いることにしてもよく、また、情報処理装置１０１が端末装置１０２と通信することにより測定することにしてもよい。
【００２３】
具体的には、例えば、情報処理装置１０１は、データ転送量Ｔをデータ転送速度Ｋで除算することにより、転送時間ｔを算出することができる。一例として、データ転送速度Ｋを「１０［Ｍｂｐｓ］」とすると、１００［ｍｓｅｃ］で送れるデータ量は１２５［Ｋｂｙｔｅ］となり、転送時間ｔは「３００［ｍｓｅｃ］」となる。
【００２４】
（３）情報処理装置１０１は、画像１２０の画像データの転送時間ｔに基づいて、画像１２０を分割する分割単位を決定する。ここで、分割単位は、画像１２０を分割する単位であり、例えば、画像１２０から分割される分割領域画像の面積（画素数）やデータ量によって表される。
【００２５】
具体的には、例えば、情報処理装置１０１は、画像１２０の画像データの転送時間ｔが閾値Ｘより大きい場合に、画像１２０を分割した分割領域画像の画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定する。
【００２６】
ここで、閾値Ｘは、例えば、ユーザによる操作入力が行われてから、その操作入力に対するレスポンスが返ってくるまでにかかる応答時間を表す値である。閾値Ｘには、例えば、応答時間が閾値Ｘを超えると、ユーザが不快に感じる程度の値（例えば、数百ミリ秒）が設定される。
【００２７】
一例として、閾値Ｘを「１００［ｍｓｅｃ］」とすると、画像１２０の画像データの転送時間ｔ（３００［ｍｓｅｃ］）は閾値Ｘを超えている。この場合、情報処理装置１０１は、例えば、画像１２０を分割した分割領域画像の画像データの転送時間ｔが閾値Ｘ以下となるように、画像１２０を分割する分割単位を「１２５［Ｋｂｙｔｅ］」に決定する。
【００２８】
（４）情報処理装置１０１は、決定した分割単位で画像１２０を分割した分割領域画像の画像データを、端末装置１０２に順次送信する。図１の例では、情報処理装置１０１は、画像１２０を１２５［Ｋｂｙｔｅ］単位で分割した分割領域画像１２１，１２２，１２３の画像データｄ１，ｄ２，ｄ３を端末装置１０２に順次送信する。
【００２９】
より具体的には、例えば、まず、情報処理装置１０１は、分割領域画像１２１の画像データｄ１を端末装置１０２に送信する。次に、情報処理装置１０１は、画像データｄ１が端末装置１０２に到着したタイミング、例えば、画像データｄ１を送信してから１００［ｍｓｅｃ］後に、分割領域画像１２２の画像データｄ２を端末装置１０２に送信する。
【００３０】
同様に、情報処理装置１０１は、画像データｄ２が端末装置１０２に到着したタイミングに、分割領域画像１２３の画像データｄ３を端末装置１０２に送信する。この結果、端末装置１０２において、画像１２０から分割された分割領域画像１２１，１２２，１２３が表示画面１１０に順次表示される。
【００３１】
このように、情報処理装置１０１によれば、ネットワークの性能を表すデータ転送速度Ｋと、端末装置１０２に送信するデータ転送量Ｔとに基づいて、端末装置１０２の表示画面１１０に表示する画像１２０の分割単位を動的に変更することができる。具体的には、例えば、情報処理装置１０１によれば、画像１２０を分割した分割領域画像の画像データの転送時間ｔが閾値Ｘを超えないように、画像１２０を分割する分割単位を決定することができる。
【００３２】
これにより、端末装置１０２は、表示画面１１０の表示内容が更新される更新間隔が閾値Ｘを超えないように、分割領域画像１２１〜１２３の画像データｄ１〜ｄ３を表示画面１１０に順次表示することができる。この結果、ユーザの操作入力に対するレスポンスを早めて、ユーザの操作性の低下を防ぐことができる。
【００３３】
（シンクライアントシステムのシステム構成例）
次に、図１に示したシステム１００をシンクライアントシステムに適用した場合について説明する。
【００３４】
図２は、シンクライアントシステム２００のシステム構成例を示す説明図である。図２において、シンクライアントシステム２００は、サーバ２０１と、複数のクライアント装置２０２（図２の例では、３台）とを含む。シンクライアントシステム２００において、サーバ２０１およびクライアント装置２０２は、ネットワーク２１０を介して通信可能に接続されている。ネットワーク２１０は、例えば、移動体通信網（携帯電話網）やインターネットなどである。
【００３５】
シンクライアントシステム２００は、クライアント装置２０２が表示する画面をリモートでサーバ２０１に制御させる。シンクライアントシステム２００によれば、実際にはサーバ２０１が実行した処理結果や保持するデータをクライアント装置２０２に表示させつつ、あたかもクライアント装置２０２が主体となって処理を実行したり、データを保持しているかのように振る舞うことができる。
【００３６】
サーバ２０１は、クライアント装置２０２に表示する画面をリモートで制御するリモート画面制御サービスを提供するコンピュータである。サーバ２０１は、図１に示した情報処理装置１０１に相当する。クライアント装置２０２は、サーバ２０１からリモート画面制御サービスの提供を受けるコンピュータである。クライアント装置２０２は、図１に示した端末装置１０２に相当する。
【００３７】
（サーバ２０１のハードウェア構成例）
図３は、サーバ２０１のハードウェア構成例を示すブロック図である。図３において、サーバ２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、を有している。また、各構成部はバス３００によってそれぞれ接続されている。
【００３８】
ここで、ＣＰＵ３０１は、サーバ２０１の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有している。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されているプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させることになる。
【００３９】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、クライアント装置２０２）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４０】
磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。なお、サーバ２０１は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、ディスプレイなどを有することにしてもよい。
【００４１】
（クライアント装置２０２のハードウェア構成例）
図４は、クライアント装置２０２のハードウェア構成例を示すブロック図である。図４において、クライアント装置２０２は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、磁気ディスクドライブ４０４と、磁気ディスク４０５と、Ｉ／Ｆ４０６と、ディスプレイ４０７と、キーボード４０８と、マウス４０９と、を有している。また、各構成部はバス４００によってそれぞれ接続されている。
【００４２】
ここで、ＣＰＵ４０１は、クライアント装置２０２の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００４３】
Ｉ／Ｆ４０６は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、サーバ２０１）に接続される。そして、Ｉ／Ｆ４０６は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
【００４４】
ディスプレイ４０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ４０７は、例えば、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４５】
キーボード４０８は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、キーボード４０８は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４０９は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
【００４６】
（サーバ２０１の機能的構成例）
図５は、サーバ２０１の機能的構成例を示すブロック図である。図５において、サーバ２０１は、受信部５０１と、取得部５０２と、生成部５０３と、転送量算出部５０４と、転送速度算出部５０５と、転送時間算出部５０６と、分割部５０７と、送信部５０８と、を含む構成である。受信部５０１〜送信部５０８は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、磁気ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置に記憶される。
【００４７】
受信部５０１は、クライアント装置２０２から操作情報を受信する機能を有する。ここで、操作情報は、クライアント装置２０２のキーボード４０８（図４参照）やマウス４０９（図４参照）を用いたユーザの操作入力を表す情報である。
【００４８】
操作情報には、例えば、キーボード４０８やマウス４０９を用いたクリック、ダブルクリック、ドラッグ＆ドロップ等の操作入力の種別と、その操作入力が行われたマウスポインタの位置を表す情報が含まれている。また、操作情報には、操作入力が終了したことを示す情報や、マウス４０９のホイールの回転量、キーボード４０８の押下されたキーを表す情報が含まれていてもよい。
【００４９】
取得部５０２は、受信部５０１によって受信された操作情報に基づいて、クライアント装置２０２の表示画面Ｓに表示する画像Ｐの画像データを取得する機能を有する。ここで、表示画面Ｓは、例えば、クライアント装置２０２のディスプレイ４０７に表示されるデスクトップ画面全体であってもよく、また、デスクトップ画面内のウィンドウであってもよい。
【００５０】
具体的には、例えば、取得部５０２は、クライアント装置２０２からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、フレームバッファに格納される画像Ｐの画像データを取得する。なお、フレームバッファは、表示画面Ｓに表示する１フレーム分の画像データを一時的に保存する記憶領域であり、例えば、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）である。フレームバッファは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置により実現される。
【００５１】
生成部５０３は、画像Ｐの画像データと画像Ｐpreの画像データとに基づいて、表示画面Ｓの表示内容が更新されているか否かを判断する機能を有する。ここで、画像Ｐpreは、表示画面Ｓに表示する画像Ｐの１フレーム前の画像である。具体的には、例えば、生成部５０３は、画像Ｐの画像データと画像Ｐpreの画像データとの間に差分が存在する場合に、表示画面Ｓの表示内容が更新されていると判断する。
【００５２】
なお、画像Ｐpreの画像データは、退避用バッファに格納されている。例えば、画像Ｐpreの画像データは、フレームバッファに画像Ｐの画像データが格納される際に、フレームバッファから退避用バッファに退避される。退避用バッファは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置により実現される。
【００５３】
また、生成部５０３は、表示画面Ｓの表示内容が更新されている場合、画像Ｐの更新領域画像Ｒの画像データを生成する。ここで、更新領域画像は、画像Ｐのうちの更新領域を表す画像である。具体的には、例えば、生成部５０３は、画像Ｐのうち画像Ｐpreとの差分領域画像を含む矩形領域を更新領域画像Ｒとして、更新領域画像Ｒの画像データを生成する。
【００５４】
転送量算出部５０４は、更新領域画像Ｒの画像データと、更新領域画像Ｒの画像データの圧縮率ｃとに基づいて、クライアント装置２０２に送信するデータ転送量Ｔを算出する機能を有する。具体的には、例えば、まず、転送量算出部５０４は、更新領域画像Ｒの画像データを圧縮する圧縮方式を選択する。
【００５５】
圧縮方式としては、例えば、画像データが静止画の場合は、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、ＧＩＦ（Ｇｒａｐｈｉｃ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）などがある。また、画像データが動画の場合は、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）がある。
【００５６】
より具体的には、例えば、転送量算出部５０４は、更新領域画像Ｒの画像データの各画素の画素値に基づいて、複数の圧縮方式の中から圧縮効率が最も高い圧縮方式を選択する。なお、画素値とは、例えば、画素の赤色、緑色、青色ごとの輝度である。そして、転送量算出部５０４は、例えば、更新領域画像Ｒの画像データのデータ量と、選択した圧縮方式の圧縮率ｃとを乗算することにより、データ転送量Ｔを算出する。
【００５７】
転送速度算出部５０５は、サーバ２０１とクライアント装置２０２との間のデータ転送速度Ｋを算出する機能を有する。具体的には、例えば、転送速度算出部５０５は、クライアント装置２０２に送信した所定データの送信時刻と、所定データをクライアント装置２０２が受信した受信時刻と、所定データのデータ量とに基づいて、データ転送速度Ｋを算出する。
【００５８】
より具体的には、例えば、転送速度算出部５０５は、所定データのデータ量を、所定データの送信時刻と受信時刻との時間間隔で除算することにより、単位時間当たりにクライアント装置２０２に送信可能なデータ転送速度Ｋを算出する。なお、所定データは、データ転送速度Ｋを測定する専用のデータであってもよく、また、表示画面Ｓに表示する画像Ｐや更新領域画像Ｒの画像データであってもよい。
【００５９】
転送時間算出部５０６は、更新領域画像Ｒの画像データの転送時間ｔを算出する機能を有する。ここで、更新領域画像Ｒの画像データの転送時間ｔは、サーバ２０１からクライアント装置２０２に画像データを転送するのにかかる時間である。具体的には、例えば、転送時間算出部５０６は、データ転送量Ｔをデータ転送速度Ｋで除算することにより、更新領域画像Ｒの画像データの転送時間ｔを算出する。
【００６０】
分割部５０７は、更新領域画像Ｒの画像データの転送時間ｔに基づいて、更新領域画像Ｒを分割する分割単位を決定する機能を有する。具体的には、例えば、分割部５０７は、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きい場合に、更新領域画像Ｒから分割した分割領域画像ｒの画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定する。
【００６１】
上述したように、閾値Ｘは、ユーザによる操作入力が行われてから、その操作入力に対するレスポンスが返ってくるまでにかかる応答時間を表す値である。閾値Ｘには、例えば、応答時間が閾値Ｘを超えると、ユーザが不快に感じる程度の値が設定される。閾値Ｘは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置に記憶されている。
【００６２】
また、分割部５０７は、決定した分割単位で更新領域画像Ｒを分割することにより、更新領域画像Ｒから分割した分割領域画像ｒごとの画像データを生成する機能を有する。具体的には、例えば、分割部５０７は、決定した分割単位で更新領域画像Ｒを縦方向または横方向に区切って分割することにより、分割領域画像ｒごとの画像データを生成する。
【００６３】
送信部５０８は、更新領域画像Ｒから分割された分割領域画像ｒごとの画像データを、所定の順序でクライアント装置２０２に順次送信する機能を有する。具体的には、例えば、送信部５０８は、選択した圧縮方式で分割領域画像ｒの画像データを圧縮（エンコード）することにより、圧縮後の分割領域画像ｒの画像データを静止画データとしてクライアント装置２０２に送信する。
【００６４】
より具体的には、例えば、更新領域画像Ｒを縦方向に区切って分割した場合、送信部５０８は、更新領域画像Ｒの左から順に分割領域画像ｒの画像データをクライアント装置２０２に送信することにしてもよい。また、例えば、更新領域画像Ｒを横方向に区切って分割した場合、送信部５０８は、更新領域画像Ｒの上から順に分割領域画像ｒの画像データをクライアント装置２０２に送信することにしてもよい。
【００６５】
また、送信部５０８は、更新領域画像Ｒから分割された複数の分割領域画像のうち、マウスポインタを含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信することにしてもよい。分割領域画像ｒは、例えば、操作情報に含まれるマウスポインタの位置を表す情報から特定することができる。
【００６６】
また、送信部５０８は、更新領域画像Ｒから分割された複数の分割領域画像のうち、表示画面Ｓの中心点を含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信することにしてもよい。
【００６７】
なお、更新領域画像Ｒから分割された分割領域画像ｒの画像データの送信順序例については、図７〜図１０を用いて後述する。
【００６８】
また、送信部５０８は、更新領域画像Ｒが分割されていない場合は、更新領域画像Ｒの画像データをクライアント装置２０２に送信する。具体的には、例えば、送信部５０８は、選択した圧縮方式で更新領域画像Ｒの画像データを圧縮（エンコード）することにより、圧縮後の更新領域画像Ｒの画像データを静止画データまたは動画データとしてクライアント装置２０２に送信する。
【００６９】
また、画像Ｐpreの更新領域画像Ｒpreから分割された分割領域画像ｒpreの画像データのうち、クライアント装置２０２に送信されていない未送信の分割領域画像ｒpreの画像データが存在する場合がある。この場合、送信部５０８は、未送信の分割領域画像ｒpreの画像データの代わりに、更新領域画像Ｒから分割された分割領域画像ｒの画像データをクライアント装置２０２に送信することにしてもよい。
【００７０】
また、生成部５０３は、更新領域画像Ｒの画像データが静止画データか否かを判定することにしてもよい。具体的には、例えば、生成部５０３は、画像Ｐの画像データが静止画データか動画データかを識別する識別情報に基づいて、更新領域画像Ｒの画像データが静止画データか否かを判定することにしてもよい。
【００７１】
そして、送信部５０８は、更新領域画像Ｒの画像データが動画データの場合は、更新領域画像Ｒの画像データをクライアント装置２０２に送信することにしてもよい。これにより、画像Ｐが頻繁に更新されて分割にかかるオーバーヘッドが大きくなる動画データの場合は、画像Ｐの更新領域画像Ｒを分割することなくクライアント装置２０２に送信することができる。すなわち、転送量算出部５０４は、更新領域画像Ｒの画像データが静止画データの場合にのみ、更新領域画像Ｒの画像データと圧縮率ｃとに基づいて、データ転送量Ｔを算出する。
【００７２】
なお、サーバ２０１は、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置２０２に送信する機能を有することにしてもよい。具体的には、例えば、サーバ２０１は、アプリケーションに操作情報を通知して得られる画像を複数の領域に分割し、分割した領域ごとに変更の頻度を監視する。そして、サーバ２０１は、変更の頻度が閾値を超えた領域を動画化領域として扱うことにしてもよい。
【００７３】
この場合、生成部５０３は、例えば、更新領域画像Ｒが動画化領域を含むか否かによって、更新領域画像Ｒの画像データが静止画データか否かを判定することにしてもよい。より具体的には、例えば、生成部５０３は、例えば、更新領域画像Ｒが動画化領域を含む場合は、更新領域画像Ｒの画像データが動画データであると判定する。なお、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置２０２に送信する技術については、例えば、特開２０１１−２３８０１４を参照することができる。
【００７４】
（クライアント装置２０２の機能的構成例）
図６は、クライアント装置２０２の機能的構成例を示すブロック図である。図６において、クライアント装置２０２は、取得部６０１と、送信部６０２と、受信部６０３と、表示制御部６０４と、を含む構成である。取得部６０１〜表示制御部６０４は制御部となる機能であり、具体的には、例えば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０６により、その機能を実現する。各機能部の処理結果は、例えば、ＲＡＭ４０３、磁気ディスク４０５などの記憶装置に記憶される。
【００７５】
取得部６０１は、ユーザの操作入力を表す操作情報を取得する機能を有する。具体的には、例えば、取得部６０１は、表示画面Ｓ上でのキーボード４０８（図４参照）やマウス４０９（図４参照）を用いたユーザの操作入力を受け付けることにより、ユーザの操作入力を表す操作情報を取得する。
【００７６】
上述したように、操作情報には、例えば、クリック、ダブルクリック、ドラッグ＆ドロップ等の操作入力の種別、その操作入力が行われたマウスポインタの位置、その操作入力が終了したことを示す情報が含まれている。なお、ドラッグ＆ドロップのように操作入力が継続して行われる場合には、取得部６０１は、ユーザの操作入力を表す操作情報を一定時間間隔ごとに取得することにしてもよい。
【００７７】
また、タッチパネル式のキーボード４０８を用いて、タップ、ドラッグ、フリック、ピンチアウト、ピンチイン等の操作入力が行われる場合がある。この場合、取得部６０１は、タッチパネル式のキーボード４０８を用いた操作入力を、例えば、サーバ２０１で実行中のアプリケーションが解釈可能なマウス４０９を用いた操作入力に変換した操作情報を取得することにしてもよい。ただし、操作情報の変換処理は、サーバ２０１側で行われることにしてもよい。
【００７８】
送信部６０２は、取得部６０１によって取得された操作情報をサーバ２０１に送信する機能を有する。具体的には、例えば、送信部６０２は、取得部６０１によって操作情報が取得されると、その都度、取得された操作情報をサーバ２０１に送信する。
【００７９】
受信部６０３は、サーバ２０１から画像データを受信する機能を有する。具体的には、例えば、受信部６０３は、画像Ｐ、画像Ｐに含まれる更新領域画像Ｒ、更新領域画像Ｒから分割された分割領域画像ｒの画像データをサーバ２０１から受信する。
【００８０】
表示制御部６０４は、ディスプレイ４０７を制御して、受信部６０３によって受信された画像データＳＤを表示する機能を有する。具体的には、例えば、表示制御部６０４は、受信された画像Ｐ、更新領域画像Ｒ、分割領域画像ｒの画像データをデコードとして、表示画面Ｓの対応する位置に表示する。
【００８１】
また、送信部６０２は、受信部６０３によって受信された所定データの受信時刻をサーバ２０１に送信することにしてもよい。所定データは、上述したように、サーバ２０１においてデータ転送速度Ｋを測定するためのデータである。
【００８２】
（デスクトップ画面の表示例）
次に、クライアント装置２０２のディスプレイ４０７に表示されるデスクトップ画面の表示例について説明する。ここでは、まず、更新領域画像Ｒを横方向に分割し、更新領域画像Ｒから分割された分割領域画像ｒの画像データを配置位置が上のものから順にクライアント装置２０２に送信する場合について説明する。
【００８３】
＜第１の表示例＞
図７および図８は、デスクトップ画面の第１の表示例を示す説明図である。図７において、クライアント装置２０２のディスプレイ４０７にデスクトップ画面７０１が表示されている。また、デスクトップ画面７０１にはウィンドウ７０２が表示されており、ウィンドウ７０２には画像７１０が表示されている。
【００８４】
ここで、クライアント装置２０２において、ウィンドウ７０２に表示されている画像７１０を矢印７０３のように回転させる操作入力が行われた結果（図７中（７−１）参照）、サーバ２０１において、ウィンドウ７０２に次に表示する画像７２０が取得された場合を想定する（図７中（７−２）参照）。また、画像７２０の更新領域画像Ｒを画像７２０の全領域とし、更新領域画像Ｒが分割領域画像７２１〜７２３に分割された場合を想定する（図７中（７−３）参照）。
【００８５】
この場合、まず、サーバ２０１は、分割領域画像７２１〜７２３のうち分割領域画像７２１の画像データをクライアント装置２０２に送信する。そして、クライアント装置２０２は、分割領域画像７２１の画像データに基づいて、ウィンドウ７０２の対応する位置に分割領域画像７２１を表示する（図７中（７−４）参照）。
【００８６】
ここで、クライアント装置２０２において、ウィンドウ７０２に表示されている一部更新済みの画像７１０を矢印７０４のように回転させる操作入力が行われた結果（図７中（７−５）参照）、サーバ２０１において、ウィンドウ７０２に次に表示する画像７３０が取得された場合を想定する（図７中（７−６）参照）。また、画像７３０の更新領域画像Ｒを画像７３０の全領域とし、更新領域画像Ｒが分割領域画像７３１〜７３３に分割された場合を想定する（図８中（７−７）参照）。
【００８７】
この場合、サーバ２０１は、分割領域画像７２２の代わりに、分割領域画像７３２の画像データをクライアント装置２０２に送信する。この結果、クライアント装置２０２は、分割領域画像７３２の画像データに基づいて、ウィンドウ７０２内の対応する位置に分割領域画像７３２を表示する（図８中（７−８）参照）。
【００８８】
次に、サーバ２０１は、分割領域画像７３１〜７３３のうち未送信の分割領域画像７３３の画像データをクライアント装置２０２に送信する（図８中（７−９）参照）。この結果、クライアント装置２０２は、分割領域画像７３３の画像データに基づいて、ウィンドウ７０２内の対応する位置に分割領域画像７３３を表示する（図８中（７−１０）参照）。
【００８９】
次に、サーバ２０１は、分割領域画像７３１〜７３３のうち未送信の分割領域画像７３１の画像データをクライアント装置２０２に送信する（図８中（７−１１）参照）。この結果、クライアント装置２０２は、分割領域画像７３１の画像データに基づいて、ウィンドウ７０２内の対応する位置に分割領域画像７３１を表示する（図８中（７−１２）参照）。この結果、ウィンドウ７０２のすべての画面更新が行われて画像７３０がウィンドウ７０２に表示される。
【００９０】
このように、サーバ２０１によれば、ウィンドウ単位で表示内容を更新するよりも早いタイミングでウィンドウ７０２の表示内容を部分的に更新することができる。この結果、ユーザは、自身が行った操作入力に対してウィンドウ７０２の表示内容がどのように変化するのかを予測することができるようになり、新たな操作入力を行うべきか否かを判断し易くなる。
【００９１】
また、サーバ２０１によれば、更新領域画像Ｒから分割された分割領域画像ｒの画像データを予め決められた順序でクライアント装置２０２に送信することができる。これにより、ユーザは、ウィンドウ７０２上で次に更新される部分を把握し易くなる。また、サーバ２０１によれば、未送信の分割領域画像の画像データが存在する状態で、次の操作入力が行われた場合、未送信の画像データの代わりに、次の更新領域画像Ｒから分割された分割領域画像ｒの画像データをクライアント装置２０２に送信することができる。
【００９２】
＜第２の表示例＞
次に、更新領域画像Ｒを横方向に分割し、更新領域画像Ｒから分割された分割領域画像ｒのうち、マウスポインタを含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信する場合について説明する。
【００９３】
図９は、デスクトップ画面の第２の表示例を示す説明図である。図９において、クライアント装置２０２のディスプレイ４０７にデスクトップ画面９０１が表示されている。また、デスクトップ画面９０１にはウィンドウ９０２が表示されており、ウィンドウ９０２には画像９１０とマウスカーソル９０３が表示されている。
【００９４】
ここで、クライアント装置２０２において、ウィンドウ９０２に表示されている画像９１０を矢印９０４のように回転させる操作入力が行われた結果（図９中（９−１）参照）、サーバ２０１において、ウィンドウ９０２に次に表示する画像９２０が取得された場合を想定する（図９中（９−２）参照）。また、画像９２０の更新領域画像Ｒを画像９２０の全領域とし、更新領域画像Ｒが分割領域画像９２１〜９２３に分割された場合を想定する（図９中（９−３）参照）。
【００９５】
この場合、まず、サーバ２０１は、分割領域画像９２１〜９２３のうちマウスカーソル９０３（マウスポインタ）を含む分割領域画像９２３を特定する。そして、サーバ２０１は、マウスカーソル９０３（マウスポインタ）を含む分割領域画像９２３の画像データをクライアント装置２０２に送信する。そして、クライアント装置２０２は、分割領域画像９２３の画像データに基づいて、ウィンドウ９０２の対応する位置に分割領域画像９２３を表示する（図９中（９−４）参照）。
【００９６】
次に、サーバ２０１は、分割領域画像９２１〜９２３のうち未送信の分割領域画像９２１の画像データをクライアント装置２０２に送信する（図９中（９−５）参照）。この結果、クライアント装置２０２は、分割領域画像９２１の画像データに基づいて、ウィンドウ９０２内の対応する位置に分割領域画像９２１を表示する（図９中（９−６）参照）。
【００９７】
次に、サーバ２０１は、分割領域画像９２１〜９２３のうち未送信の分割領域画像９２２の画像データをクライアント装置２０２に送信する（図９中（９−７）参照）。この結果、クライアント装置２０２は、分割領域画像９２２の画像データに基づいて、ウィンドウ９０２内の対応する位置に分割領域画像９２２を表示する（図９中（９−８）参照）。
【００９８】
このように、サーバ２０１によれば、更新領域画像Ｒから分割された分割領域画像９２１〜９２３のうちマウスカーソル９０３を含む分割領域画像９２３の画像データを最初にクライアント装置２０２に送信することができる。これにより、ウィンドウ９０２においてマウスカーソル９０３を含む部分が最初に更新されるため、ユーザは、ウィンドウ９０２上で次に更新される部分を把握し易くなる。
【００９９】
＜第３の表示例＞
次に、更新領域画像Ｒを横方向に分割し、更新領域画像Ｒから分割された分割領域画像ｒのうち、更新領域画像Ｒの中心点を含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信する場合について説明する。
【０１００】
図１０は、デスクトップ画面の第３の表示例を示す説明図である。図１０において、クライアント装置２０２のディスプレイ４０７にデスクトップ画面１００１が表示されている。また、デスクトップ画面１００１にはウィンドウ１００２が表示されており、ウィンドウ１００２には画像１０１０が表示されている。
【０１０１】
ここで、クライアント装置２０２において、ウィンドウ１００２に表示されている画像１０１０を矢印１００３のように回転させる操作入力が行われた結果（図１０中（１０−１）参照）、サーバ２０１において、ウィンドウ１００２に次に表示する画像１０２０が取得された場合を想定する（図１０中（１０−２）参照）。また、画像１０２０の更新領域画像Ｒを画像１０２０の全領域とし、更新領域画像Ｒが分割領域画像１０２１〜１０２３に分割された場合を想定する（図１０中（１０−３）参照）。
【０１０２】
この場合、まず、サーバ２０１は、分割領域画像１０２１〜１０２３のうちウィンドウ１００２の中心点１００４を含む分割領域画像１０２２を特定する。そして、サーバ２０１は、中心点１００４を含む分割領域画像１０２２の画像データをクライアント装置２０２に送信する。そして、クライアント装置２０２は、分割領域画像１０２２の画像データに基づいて、ウィンドウ１００２の対応する位置に分割領域画像１０２２を表示する（図１０中（１０−４）参照）。
【０１０３】
次に、サーバ２０１は、分割領域画像１０２１〜１０２３のうち未送信の分割領域画像１０２１の画像データをクライアント装置２０２に送信する（図１０中（１０−５）参照）。この結果、クライアント装置２０２は、分割領域画像１０２１の画像データに基づいて、ウィンドウ１００２内の対応する位置に分割領域画像１０２１を表示する（図１０中（１０−６）参照）。
【０１０４】
次に、サーバ２０１は、分割領域画像１０２１〜１０２３のうち未送信の分割領域画像１０２３の画像データをクライアント装置２０２に送信する（図１０中（１０−７）参照）。この結果、クライアント装置２０２は、分割領域画像１０２３の画像データに基づいて、ウィンドウ１００２内の対応する位置に分割領域画像１０２３を表示する（図１０中（１０−８）参照）。
【０１０５】
このように、サーバ２０１によれば、更新領域画像Ｒから分割された分割領域画像１０２１〜１０２３のうちウィンドウ１００２の中心点１００４を含む分割領域画像１０２２の画像データを最初にクライアント装置２０２に送信することができる。これにより、ウィンドウ１００２において中心点１００４を含む部分が最初に更新されるため、ユーザは、ウィンドウ１００２上で次に更新される部分を把握し易くなる。
【０１０６】
（クライアント装置２０２の表示制御処理手順）
次に、クライアント装置２０２の表示制御処理手順について説明する。
【０１０７】
図１１は、クライアント装置２０２の表示制御処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、クライアント装置２０２は、ユーザの操作入力を受け付けたか否かを判断する（ステップＳ１１０１）。ここで、クライアント装置２０２は、ユーザの操作入力を受け付けるのを待つ（ステップＳ１１０１：Ｎｏ）。
【０１０８】
そして、クライアント装置２０２は、ユーザの操作入力を受け付けた場合（ステップＳ１１０１：Ｙｅｓ）、ユーザの操作入力を表す操作情報を取得する（ステップＳ１１０２）。次に、クライアント装置２０２は、取得した操作情報をサーバ２０１に送信する（ステップＳ１１０３）。
【０１０９】
そして、クライアント装置２０２は、サーバ２０１から画像データを受信したか否かを判断する（ステップＳ１１０４）。ここで、サーバ２０１から画像データを受信しなかった場合（ステップＳ１１０４：Ｎｏ）、クライアント装置２０２は、本フローチャートによる一連の処理を終了する。
【０１１０】
一方、サーバ２０１から画像データを受信した場合（ステップＳ１１０４：Ｙｅｓ）、クライアント装置２０２は、受信した画像データが静止画データか否かを判断する（ステップＳ１１０５）。
【０１１１】
ここで、静止画データの場合（ステップＳ１１０５：Ｙｅｓ）、クライアント装置２０２は、受信した画像データを静止画用の復元方式を用いてデコードした静止画データを表示画面Ｓに表示して（ステップＳ１１０６）、本フローチャートによる一連の処理を終了する。
【０１１２】
一方、動画データの場合（ステップＳ１１０５：Ｎｏ）、クライアント装置２０２は、受信した画像データを動画用の復元方式を用いてデコードした動画データを表示画面Ｓに表示して（ステップＳ１１０７）、本フローチャートによる一連の処理を終了する。これにより、ユーザの操作入力に応じて表示画面Ｓの表示内容を更新することができる。
【０１１３】
（サーバ２０１の画像処理手順）
次に、サーバ２０１の画像処理手順について説明する。
【０１１４】
図１２は、サーバ２０１の画像処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、サーバ２０１は、クライアント装置２０２から操作情報を受信したか否かを判断する（ステップＳ１２０１）。
【０１１５】
ここで、サーバ２０１は、クライアント装置２０２から操作情報を受信した場合（ステップＳ１２０１：Ｙｅｓ）、クライアント装置２０２からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、フレームバッファから画像Ｐの画像データを取得する（ステップＳ１２０２）。
【０１１６】
次に、サーバ２０１は、画像Ｐの画像データと画像Ｐpreの画像データとに基づいて、表示画面Ｓの表示内容が更新されているか否かを判断する（ステップＳ１２０３）。ここで、表示画面Ｓの表示内容が更新されていない場合（ステップＳ１２０３：Ｎｏ）、サーバ２０１は、ステップＳ１２１０に移行する。
【０１１７】
一方、表示画面Ｓの表示内容が更新されている場合（ステップＳ１２０３：Ｙｅｓ）、サーバ２０１は、画像Ｐの更新領域画像Ｒの画像データを生成する（ステップＳ１２０４）。そして、サーバ２０１は、生成した更新領域画像Ｒの画像データが静止画データか否かを判断する（ステップＳ１２０５）。
【０１１８】
ここで、更新領域画像Ｒの画像データが静止画データの場合（ステップＳ１２０５：Ｙｅｓ）、サーバ２０１は、更新領域画像Ｒの画像データと、更新領域画像Ｒの画像データの圧縮率ｃとに基づいて、クライアント装置２０２に送信するデータ転送量Ｔを算出する（ステップＳ１２０６）。
【０１１９】
次に、サーバ２０１は、算出したデータ転送量Ｔをデータ転送速度Ｋで除算することにより、更新領域画像Ｒの画像データの転送時間ｔを算出する（ステップＳ１２０７）。そして、サーバ２０１は、算出した更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きいか否かを判断する（ステップＳ１２０８）。
【０１２０】
ここで、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きい場合（ステップＳ１２０８：Ｙｅｓ）、サーバ２０１は、分割領域画像処理を実行する（ステップＳ１２０９）。なお、分割領域画像処理の具体的な処理手順については、図１３を用いて後述する。そして、サーバ２０１は、所定時間（例えば、３０［ｍｓｅｃ］）待機して（ステップＳ１２１０）、ステップＳ１２０１に戻る。
【０１２１】
また、ステップＳ１２０８において、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘ以下の場合（ステップＳ１２０８：Ｎｏ）、サーバ２０１は、分割数ｎを「ｎ＝０」で初期化する（ステップＳ１２１１）。そして、サーバ２０１は、更新領域画像Ｒの画像データを静止画データとしてクライアント装置２０２に送信して（ステップＳ１２１２）、ステップＳ１２１０に移行する。
【０１２２】
また、ステップＳ１２０５において、更新領域画像Ｒの画像データが動画データの場合（ステップＳ１２０５：Ｎｏ）、サーバ２０１は、更新領域画像Ｒの画像データを動画データとしてクライアント装置２０２に送信して（ステップＳ１２１３）、ステップＳ１２１０に移行する。
【０１２３】
また、ステップＳ１２０１において、サーバ２０１は、クライアント装置２０２から操作情報を受信していない場合（ステップＳ１２０１：Ｎｏ）、分割数ｎが「ｎ＞０」かつ未送信の分割領域画像の画像データがあるか否かを判断する（ステップＳ１２１４）。
【０１２４】
ここで、「ｎ＞０」かつ未送信の分割領域画像の画像データがある場合（ステップＳ１２１４：Ｙｅｓ）、サーバ２０１は、図１３に示すステップＳ１３０４に移行する。一方、「ｎ＝０」または未送信の分割領域画像の画像データがない場合（ステップＳ１２１４：Ｎｏ）、サーバ２０１は、ステップＳ１２１０に移行する。
【０１２５】
ここで、図１２に示したステップＳ１２０９の分割領域画像処理の具体的な処理手順について説明する。
【０１２６】
図１３は、分割領域画像処理の具体的処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、サーバ２０１は、更新領域画像Ｒから分割した分割領域画像ｒの画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定する（ステップＳ１３０１）。
【０１２７】
次に、サーバ２０１は、決定した分割単位で更新領域画像Ｒを分割することにより、更新領域画像Ｒから分割した分割領域画像ごとの画像データを生成する（ステップＳ１３０２）。そして、サーバ２０１は、更新領域画像Ｒを分割した分割数ｎを設定する（ステップＳ１３０３）。
【０１２８】
次に、サーバ２０１は、更新領域画像Ｒから分割された分割領域画像から選択されていない未選択の分割領域画像の画像データを選択する（ステップＳ１３０４）。そして、サーバ２０１は、選択した分割領域画像の画像データに基づいて、分割領域画像に更新箇所があるか否かを判断する（ステップＳ１３０５）。
【０１２９】
ここで、分割領域画像に更新箇所がない場合（ステップＳ１３０５：Ｎｏ）、サーバ２０１は、図１２に示したステップＳ１２１０に移行する。一方、分割領域画像に更新箇所がある場合（ステップＳ１３０５：Ｙｅｓ）、サーバ２０１は、選択した分割領域画像の画像データを静止画データとしてクライアント装置２０２に送信して（ステップＳ１３０６）、分割領域画像処理を呼び出したステップに戻る。
【０１３０】
これにより、クライアント装置２０２において、表示画面Ｓの表示内容が更新される更新間隔が閾値Ｘを超えないように、更新領域画像Ｒを分割した分割領域画像ｒの画像データをクライアント装置２０２に送信することができる。
【０１３１】
以上説明したように、実施の形態にかかるサーバ２０１によれば、クライアント装置２０２の表示画面Ｓに表示する更新領域画像Ｒの画像データと、当該画像データの圧縮率ｃとに基づいて、データ転送量Ｔを算出することができる。また、サーバ２０１によれば、データ転送量Ｔとデータ転送速度Ｋとに基づいて、更新領域画像Ｒの画像データの転送時間ｔを算出することができる。また、サーバ２０１によれば、算出した更新領域画像Ｒの画像データの転送時間ｔに基づいて、更新領域画像Ｒを分割する分割単位を決定することができる。
【０１３２】
これにより、ネットワークの性能を表すデータ転送速度Ｋと、端末装置１０２に送信するデータ転送量Ｔとに応じて、端末装置１０２の表示画面１１０に表示する更新領域画像Ｒの分割単位を動的に変更することができる。
【０１３３】
また、サーバ２０１によれば、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きい場合に、更新領域画像Ｒを分割した分割領域画像ｒの画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定することができる。また、サーバ２０１によれば、決定した分割単位で更新領域画像Ｒを分割した分割領域画像ｒの画像データを、所定の順序でクライアント装置２０２に順次送信することができる。
【０１３４】
これにより、クライアント装置２０２において、表示画面Ｓの表示内容が更新される更新間隔が閾値Ｘを超えないように、分割領域画像ｒの画像データを表示画面Ｓに順次表示させることができる。この結果、ユーザの操作入力に対するレスポンスを早めて、ユーザの操作性の低下を防ぐことができる。また、サーバ２０１によれば、閾値Ｘを変更することにより、ユーザの操作入力に対する応答時間を調整することができる。
【０１３５】
また、サーバ２０１によれば、クライアント装置２０２に送信された所定データの送信時刻と、クライアント装置２０２によって所定データが受信された受信時刻と、所定データのデータ量とに基づいて、データ転送速度Ｋを算出することができる。これにより、時々刻々と変化するトラフィック量に応じたネットワーク２１０の性能を測定することができる。
【０１３６】
また、サーバ２０１によれば、未送信の分割領域画像ｒpreの画像データがある状態で新たな画面更新が行われる場合は、未送信の分割領域画像ｒpreの画像データの代わりに、分割領域画像ｒの画像データをクライアント装置２０２に送信することができる。これにより、過去の操作入力に対する画面更新のための画像データの送信を止めて、ネットワーク２１０のトラフィック量の増大化を防ぐことができる。
【０１３７】
これらのことから実施の形態にかかるシンクライアントシステム２００によれば、ユーザが不快に感じない程度の更新間隔で表示画面Ｓの表示内容を部分的に更新することができる。これにより、ユーザの操作入力に対する応答時間を早めて操作感を向上させるとともに、操作入力に対して表示画面Ｓの表示内容がどのように変化するのかをユーザが予測できるようになり操作性を向上させることができる。
【０１３８】
例えば、通信状態が不安定なモバイル環境でクライアント装置２０２を用いてアプリケーションを操作する場合に、オブジェクトの回転などを繰り返し操作するたびに発生するデータ転送のデータ量を削減することができる。また、通信が一時的に切断されても、表示画面Ｓの表示内容を部分的に更新することにより、通信の不安定さをユーザに対して隠蔽することができる。
【０１３９】
なお、本実施の形態で説明した画像処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本画像処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本画像処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１４０】
１００  システム
１０１  情報処理装置
１０２  端末装置
２００  シンクライアントシステム
２０１  サーバ
２０２  クライアント装置
５０１，６０３  受信部
５０２，６０１  取得部
５０３  生成部
５０４  転送量算出部
５０５  転送速度算出部
５０６  転送時間算出部
５０７  分割部
５０８，６０２  送信部
６０４  表示制御部
【図１】
2014049761.tif 000003
【図２】
2014049761.tif 000004
【図３】
2014049761.tif 000005
【図４】
2014049761.tif 000006
【図５】
2014049761.tif 000007
【図６】
2014049761.tif 000008
【図７】
2014049761.tif 000009
【図８】
2014049761.tif 000010
【図９】
2014049761.tif 000011
【図１０】
2014049761.tif 000012
【図１１】
2014049761.tif 000013
【図１２】
2014049761.tif 000014
【図１３】
2014049761.tif 000015
【手続補正書】
【提出日】平成27年3月18日(2015.3.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記情報処理装置は、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とするシステム。
【請求項２】
前記情報処理装置は、
前記データ転送量と前記データ転送速度とに基づいて、前記画像データの転送時間を算出する転送時間算出部を有し、
前記決定部は、
前記転送時間算出部によって算出された前記画像データの転送時間が閾値より大きい場合に、前記画像を分割した分割領域の画像データの転送時間が前記閾値以下となるように前記分割単位を決定することを特徴とする請求項１に記載のシステム。
【請求項３】
前記情報処理装置は、
前記決定部によって決定された前記分割単位で前記画像を分割した分割領域画像の画像データを、所定の順序で前記端末装置に順次送信する送信部を有することを特徴とする請求項２に記載のシステム。
【請求項４】
前記情報処理装置は、
前記端末装置で行われた操作入力を表す操作情報を前記端末装置から受信する受信部と、前記受信部によって受信された前記操作情報を前記端末装置からの要求に応じて実行中のアプリケーションに通知することにより、前記画像の画像データを取得する取得部と、を有し、
前記転送量算出部は、
前記取得部によって取得された前記画像の画像データと、当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項３に記載のシステム。
【請求項５】
前記情報処理装置は、
前記操作情報を前記アプリケーションに通知して得られる第１の画像の画像データと、前記操作情報の直前に前記端末装置から受信された操作情報を前記アプリケーションに通知して得られる第２の画像の画像データとに基づいて、前記第１の画像のうちの更新領域を表す画像の画像データを生成する生成部を有し、
前記転送量算出部は、
前記生成部によって生成された前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項４に記載のシステム。
【請求項６】
前記情報処理装置は、
前記端末装置に送信されたデータの送信時刻と、前記端末装置によって前記データが受信された受信時刻と、前記データのデータ量とに基づいて、前記データ転送速度を算出する転送速度算出部を有し、
前記転送時間算出部は、
前記転送量算出部によって算出された前記データ転送量と前記転送速度算出部によって算出された前記データ転送速度とに基づいて、前記画像の画像データの転送時間を算出することを特徴とする請求項５に記載のシステム。
【請求項７】
前記情報処理装置は、
前記第２の画像のうちの更新領域を表す画像から分割された分割領域画像の画像データのうち、前記端末装置に送信されていない未送信の分割領域画像の画像データがある場合、前記未送信の分割領域画像の画像データの代わりに、前記画像から分割された分割領域画像の画像データを前記端末装置に送信することを特徴とする請求項６に記載のシステム。
【請求項８】
前記転送量算出部は、
前記画像の画像データが静止画データの場合に、前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項７に記載のシステム。
【請求項９】
ネットワークを介して端末装置と接続される情報処理装置において、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とする情報処理装置。
【請求項１０】
ネットワークを介して端末装置と接続される情報処理装置が、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出し、
算出した前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する、
処理を実行することを特徴とする画像処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、情報処理装置および画像処理方法に関する。
【背景技術】
【０００２】
シンクライアントシステムは、クライアントに最低限の機能しか持たせず、サーバでアプリケーションやデータを管理するシステムである。また、タブレット端末やスマートフォンなどの端末装置の普及にともなって、モバイル環境で社内のアプリケーションやデータをセキュアに利用する、いわゆるモバイルシンクライアントシステムのニーズが拡大している。
【０００３】
関連する先行技術としては、例えば、第１のコンピュータシステムで表示されるウェブページを第２のコンピュータシステムと共有するための技術がある。また、複数の端末からの同じデータ要求に対して、サーバ・端末間のネットワーク性能の良否に応じて配信するデータ量を端末ごとに異ならせる技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１８３１４号公報
【特許文献２】特開２００２−２６８９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、タブレット端末などの端末装置でシンクライアントシステムを利用する場合、ネットワークの帯域幅が狭くサーバとの通信状態が不安定になりやすいため、端末装置におけるユーザの操作性が低下してしまうという問題がある。
【０００６】
１つの側面では、本発明は、ユーザの操作性の低下を防ぐシステム、情報処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、前記情報処理装置が、前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出し、算出した前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定するシステム、情報処理装置および画像処理方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、ユーザの操作性の低下を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。
【図２】図２は、シンクライアントシステム２００のシステム構成例を示す説明図である。
【図３】図３は、サーバ２０１のハードウェア構成例を示すブロック図である。
【図４】図４は、クライアント装置２０２のハードウェア構成例を示すブロック図である。
【図５】図５は、サーバ２０１の機能的構成例を示すブロック図である。
【図６】図６は、クライアント装置２０２の機能的構成例を示すブロック図である。
【図７】図７は、デスクトップ画面の第１の表示例を示す説明図（その１）である。
【図８】図８は、デスクトップ画面の第１の表示例を示す説明図（その２）である。
【図９】図９は、デスクトップ画面の第２の表示例を示す説明図である。
【図１０】図１０は、デスクトップ画面の第３の表示例を示す説明図である。
【図１１】図１１は、クライアント装置２０２の表示制御処理手順の一例を示すフローチャートである。
【図１２】図１２は、サーバ２０１の画像処理手順の一例を示すフローチャートである。
【図１３】図１３は、分割領域画像処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかるシステム、情報処理装置および画像処理方法の実施の形態を詳細に説明する。
【００１１】
（画像処理方法の一実施例）
図１は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。図１において、システム１００は、情報処理装置１０１と、端末装置１０２と、を含む。システム１００は、例えば、端末装置１０２に最低限の機能しか持たせず、情報処理装置１０１でアプリケーションやデータを管理するシンクライアントシステムである。
【００１２】
情報処理装置１０１は、ネットワークを介して端末装置１０２と通信可能なコンピュータである。また、情報処理装置１０１は、端末装置１０２の表示画面１１０に表示する画像の画像データを生成して、端末装置１０２に画像の画像データを送信する機能を有する。情報処理装置１０１は、例えば、サーバである。
【００１３】
画像は、例えば、端末装置１０２の要求に応じて情報処理装置１０１で実行されるアプリケーションの実行結果を表示する画面の画像である。アプリケーションは、例えば、設計支援ツール、プレゼンテーションソフト、表計算ソフト、電子メールソフトなどである。画像データは、例えば、製図などに利用されるＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データや商品のカタログデータなどである。
【００１４】
端末装置１０２は、ネットワークを介して情報処理装置１０１と通信可能なコンピュータである。また、端末装置１０２は、表示画面１１０を有し、情報処理装置１０１から受信した画像データに基づいて、表示画面１１０に画像を表示する機能を有する。端末装置１０２は、例えば、タブレット端末、ノートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、携帯電話機などである。
【００１５】
ここで、タブレット端末やノートＰＣなどでシンクライアントシステムを利用する場合、ネットワークの帯域幅が狭くサーバとの通信状態が不安定になりやすいため、タブレット端末やノートＰＣにおけるユーザの操作性が低下してしまう場合がある。例えば、サーバからタブレット端末へのデータ転送に時間がかかり、タブレット端末における操作に対するレスポンスが悪化してしまう場合がある。
【００１６】
また、画像の画質を落としてデータ量を減らし、画像データの転送時間を短縮化することも考えられるが、例えば、設計、製図などに利用されるＣＡＤデータなどの精細な画像を扱う場合、画質を落とすと設計や製図に支障をきたす恐れがある。このため、画質を落として画像データの転送時間を調整することが難しい。
【００１７】
また、サーバとの通信が一時的に切断された場合でも、端末側での操作の続行を可能にするために、端末側にデータやアプリケーションをサーバからダウンロードして実行した後、端末側のデータやアプリケーションを消去することも考えられる。しかし、データやアプリケーションのデータサイズが大きい場合にはダウンロード時間が増大するとともに、一時的にも端末側にデータやアプリケーションが残ることはセキュリティ上好ましくない。
【００１８】
そこで、本実施の形態では、情報処理装置１０１は、端末装置１０２で行われたユーザ操作に対する画面更新時に、表示画面１１０に送信するデータ転送量とデータ転送速度とに基づく分割単位で画像を分割して端末装置１０２に順次送信する。これにより、ネットワーク環境に合わせて、ユーザに不快感を与えない程度の応答時間を確保して操作性を向上させる。
【００１９】
以下、端末装置１０２で行われたユーザの操作入力に応じて端末装置１０２の表示画面１１０に画像１２０を表示する場合を例に挙げて、情報処理装置１０１の画像処理例について説明する。
【００２０】
（１）情報処理装置１０１は、端末装置１０２の表示画面１１０に表示する画像１２０の画像データと、画像１２０の画像データの圧縮率ｃとに基づいて、端末装置１０２に送信するデータ転送量Ｔを算出する。ここで、圧縮率ｃは、例えば、画像データを圧縮した前後のデータ量の比率を表す。
【００２１】
具体的には、例えば、情報処理装置１０１は、画像１２０の画像データのデータ量と圧縮率ｃとを乗算することにより、端末装置１０２に送信するデータ転送量Ｔを算出する。一例として、画像１２０の画像データのデータ量を「３７５［Ｍｂｙｔｅ］」とし、圧縮率ｃを「０．１（＝１０［％］）」とすると、端末装置１０２に送信するデータ転送量Ｔは「３７５［Ｋｂｙｔｅ］」となる。
【００２２】
（２）情報処理装置１０１は、データ転送量Ｔとデータ転送速度Ｋとに基づいて、画像１２０の画像データの転送時間ｔを算出する。ここで、データ転送速度Ｋは、例えば、単位時間当たりに情報処理装置１０１から端末装置１０２に送信可能な平均データ量である。データ転送速度Ｋは、予め設定されている初期値を用いることにしてもよく、また、情報処理装置１０１が端末装置１０２と通信することにより測定することにしてもよい。
【００２３】
具体的には、例えば、情報処理装置１０１は、データ転送量Ｔをデータ転送速度Ｋで除算することにより、転送時間ｔを算出することができる。一例として、データ転送速度Ｋを「１０［Ｍｂｐｓ］」とすると、１００［ｍｓｅｃ］で送れるデータ量は１２５［Ｋｂｙｔｅ］となり、転送時間ｔは「３００［ｍｓｅｃ］」となる。
【００２４】
（３）情報処理装置１０１は、画像１２０の画像データの転送時間ｔに基づいて、画像１２０を分割する分割単位を決定する。ここで、分割単位は、画像１２０を分割する単位であり、例えば、画像１２０から分割される分割領域画像の面積（画素数）やデータ量によって表される。
【００２５】
具体的には、例えば、情報処理装置１０１は、画像１２０の画像データの転送時間ｔが閾値Ｘより大きい場合に、画像１２０を分割した分割領域画像の画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定する。
【００２６】
ここで、閾値Ｘは、例えば、ユーザによる操作入力が行われてから、その操作入力に対するレスポンスが返ってくるまでにかかる応答時間を表す値である。閾値Ｘには、例えば、応答時間が閾値Ｘを超えると、ユーザが不快に感じる程度の値（例えば、数百ミリ秒）が設定される。
【００２７】
一例として、閾値Ｘを「１００［ｍｓｅｃ］」とすると、画像１２０の画像データの転送時間ｔ（３００［ｍｓｅｃ］）は閾値Ｘを超えている。この場合、情報処理装置１０１は、例えば、画像１２０を分割した分割領域画像の画像データの転送時間ｔが閾値Ｘ以下となるように、画像１２０を分割する分割単位を「１２５［Ｋｂｙｔｅ］」に決定する。
【００２８】
（４）情報処理装置１０１は、決定した分割単位で画像１２０を分割した分割領域画像の画像データを、端末装置１０２に順次送信する。図１の例では、情報処理装置１０１は、画像１２０を１２５［Ｋｂｙｔｅ］単位で分割した分割領域画像１２１，１２２，１２３の画像データｄ１，ｄ２，ｄ３を端末装置１０２に順次送信する。
【００２９】
より具体的には、例えば、まず、情報処理装置１０１は、分割領域画像１２１の画像データｄ１を端末装置１０２に送信する。次に、情報処理装置１０１は、画像データｄ１が端末装置１０２に到着したタイミング、例えば、画像データｄ１を送信してから１００［ｍｓｅｃ］後に、分割領域画像１２２の画像データｄ２を端末装置１０２に送信する。
【００３０】
同様に、情報処理装置１０１は、画像データｄ２が端末装置１０２に到着したタイミングに、分割領域画像１２３の画像データｄ３を端末装置１０２に送信する。この結果、端末装置１０２において、画像１２０から分割された分割領域画像１２１，１２２，１２３が表示画面１１０に順次表示される。
【００３１】
このように、情報処理装置１０１によれば、ネットワークの性能を表すデータ転送速度Ｋと、端末装置１０２に送信するデータ転送量Ｔとに基づいて、端末装置１０２の表示画面１１０に表示する画像１２０の分割単位を動的に変更することができる。具体的には、例えば、情報処理装置１０１によれば、画像１２０を分割した分割領域画像の画像データの転送時間ｔが閾値Ｘを超えないように、画像１２０を分割する分割単位を決定することができる。
【００３２】
これにより、端末装置１０２は、表示画面１１０の表示内容が更新される更新間隔が閾値Ｘを超えないように、分割領域画像１２１〜１２３の画像データｄ１〜ｄ３を表示画面１１０に順次表示することができる。この結果、ユーザの操作入力に対するレスポンスを早めて、ユーザの操作性の低下を防ぐことができる。
【００３３】
（シンクライアントシステムのシステム構成例）
次に、図１に示したシステム１００をシンクライアントシステムに適用した場合について説明する。
【００３４】
図２は、シンクライアントシステム２００のシステム構成例を示す説明図である。図２において、シンクライアントシステム２００は、サーバ２０１と、複数のクライアント装置２０２（図２の例では、３台）とを含む。シンクライアントシステム２００において、サーバ２０１およびクライアント装置２０２は、ネットワーク２１０を介して通信可能に接続されている。ネットワーク２１０は、例えば、移動体通信網（携帯電話網）やインターネットなどである。
【００３５】
シンクライアントシステム２００は、クライアント装置２０２が表示する画面をリモートでサーバ２０１に制御させる。シンクライアントシステム２００によれば、実際にはサーバ２０１が実行した処理結果や保持するデータをクライアント装置２０２に表示させつつ、あたかもクライアント装置２０２が主体となって処理を実行したり、データを保持しているかのように振る舞うことができる。
【００３６】
サーバ２０１は、クライアント装置２０２に表示する画面をリモートで制御するリモート画面制御サービスを提供するコンピュータである。サーバ２０１は、図１に示した情報処理装置１０１に相当する。クライアント装置２０２は、サーバ２０１からリモート画面制御サービスの提供を受けるコンピュータである。クライアント装置２０２は、図１に示した端末装置１０２に相当する。
【００３７】
（サーバ２０１のハードウェア構成例）
図３は、サーバ２０１のハードウェア構成例を示すブロック図である。図３において、サーバ２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、を有している。また、各構成部はバス３００によってそれぞれ接続されている。
【００３８】
ここで、ＣＰＵ３０１は、サーバ２０１の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有している。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されているプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させることになる。
【００３９】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、クライアント装置２０２）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４０】
磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。なお、サーバ２０１は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、ディスプレイなどを有することにしてもよい。
【００４１】
（クライアント装置２０２のハードウェア構成例）
図４は、クライアント装置２０２のハードウェア構成例を示すブロック図である。図４において、クライアント装置２０２は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、磁気ディスクドライブ４０４と、磁気ディスク４０５と、Ｉ／Ｆ４０６と、ディスプレイ４０７と、キーボード４０８と、マウス４０９と、を有している。また、各構成部はバス４００によってそれぞれ接続されている。
【００４２】
ここで、ＣＰＵ４０１は、クライアント装置２０２の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００４３】
Ｉ／Ｆ４０６は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、サーバ２０１）に接続される。そして、Ｉ／Ｆ４０６は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
【００４４】
ディスプレイ４０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ４０７は、例えば、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４５】
キーボード４０８は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、キーボード４０８は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４０９は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
【００４６】
（サーバ２０１の機能的構成例）
図５は、サーバ２０１の機能的構成例を示すブロック図である。図５において、サーバ２０１は、受信部５０１と、取得部５０２と、生成部５０３と、転送量算出部５０４と、転送速度算出部５０５と、転送時間算出部５０６と、分割部５０７と、送信部５０８と、を含む構成である。受信部５０１〜送信部５０８は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、磁気ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置に記憶される。
【００４７】
受信部５０１は、クライアント装置２０２から操作情報を受信する機能を有する。ここで、操作情報は、クライアント装置２０２のキーボード４０８（図４参照）やマウス４０９（図４参照）を用いたユーザの操作入力を表す情報である。
【００４８】
操作情報には、例えば、キーボード４０８やマウス４０９を用いたクリック、ダブルクリック、ドラッグ＆ドロップ等の操作入力の種別と、その操作入力が行われたマウスポインタの位置を表す情報が含まれている。また、操作情報には、操作入力が終了したことを示す情報や、マウス４０９のホイールの回転量、キーボード４０８の押下されたキーを表す情報が含まれていてもよい。
【００４９】
取得部５０２は、受信部５０１によって受信された操作情報に基づいて、クライアント装置２０２の表示画面Ｓに表示する画像Ｐの画像データを取得する機能を有する。ここで、表示画面Ｓは、例えば、クライアント装置２０２のディスプレイ４０７に表示されるデスクトップ画面全体であってもよく、また、デスクトップ画面内のウィンドウであってもよい。
【００５０】
具体的には、例えば、取得部５０２は、クライアント装置２０２からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、フレームバッファに格納される画像Ｐの画像データを取得する。なお、フレームバッファは、表示画面Ｓに表示する１フレーム分の画像データを一時的に保存する記憶領域であり、例えば、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）である。フレームバッファは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置により実現される。
【００５１】
生成部５０３は、画像Ｐの画像データと画像Ｐpreの画像データとに基づいて、表示画面Ｓの表示内容が更新されているか否かを判断する機能を有する。ここで、画像Ｐpreは、表示画面Ｓに表示する画像Ｐの１フレーム前の画像である。具体的には、例えば、生成部５０３は、画像Ｐの画像データと画像Ｐpreの画像データとの間に差分が存在する場合に、表示画面Ｓの表示内容が更新されていると判断する。
【００５２】
なお、画像Ｐpreの画像データは、退避用バッファに格納されている。例えば、画像Ｐpreの画像データは、フレームバッファに画像Ｐの画像データが格納される際に、フレームバッファから退避用バッファに退避される。退避用バッファは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置により実現される。
【００５３】
また、生成部５０３は、表示画面Ｓの表示内容が更新されている場合、画像Ｐの更新領域画像Ｒの画像データを生成する。ここで、更新領域画像は、画像Ｐのうちの更新領域を表す画像である。具体的には、例えば、生成部５０３は、画像Ｐのうち画像Ｐpreとの差分領域画像を含む矩形領域を更新領域画像Ｒとして、更新領域画像Ｒの画像データを生成する。
【００５４】
転送量算出部５０４は、更新領域画像Ｒの画像データと、更新領域画像Ｒの画像データの圧縮率ｃとに基づいて、クライアント装置２０２に送信するデータ転送量Ｔを算出する機能を有する。具体的には、例えば、まず、転送量算出部５０４は、更新領域画像Ｒの画像データを圧縮する圧縮方式を選択する。
【００５５】
圧縮方式としては、例えば、画像データが静止画の場合は、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、ＧＩＦ（Ｇｒａｐｈｉｃ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）などがある。また、画像データが動画の場合は、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）がある。
【００５６】
より具体的には、例えば、転送量算出部５０４は、更新領域画像Ｒの画像データの各画素の画素値に基づいて、複数の圧縮方式の中から圧縮効率が最も高い圧縮方式を選択する。なお、画素値とは、例えば、画素の赤色、緑色、青色ごとの輝度である。そして、転送量算出部５０４は、例えば、更新領域画像Ｒの画像データのデータ量と、選択した圧縮方式の圧縮率ｃとを乗算することにより、データ転送量Ｔを算出する。
【００５７】
転送速度算出部５０５は、サーバ２０１とクライアント装置２０２との間のデータ転送速度Ｋを算出する機能を有する。具体的には、例えば、転送速度算出部５０５は、クライアント装置２０２に送信した所定データの送信時刻と、所定データをクライアント装置２０２が受信した受信時刻と、所定データのデータ量とに基づいて、データ転送速度Ｋを算出する。
【００５８】
より具体的には、例えば、転送速度算出部５０５は、所定データのデータ量を、所定データの送信時刻と受信時刻との時間間隔で除算することにより、単位時間当たりにクライアント装置２０２に送信可能なデータ転送速度Ｋを算出する。なお、所定データは、データ転送速度Ｋを測定する専用のデータであってもよく、また、表示画面Ｓに表示する画像Ｐや更新領域画像Ｒの画像データであってもよい。
【００５９】
転送時間算出部５０６は、更新領域画像Ｒの画像データの転送時間ｔを算出する機能を有する。ここで、更新領域画像Ｒの画像データの転送時間ｔは、サーバ２０１からクライアント装置２０２に画像データを転送するのにかかる時間である。具体的には、例えば、転送時間算出部５０６は、データ転送量Ｔをデータ転送速度Ｋで除算することにより、更新領域画像Ｒの画像データの転送時間ｔを算出する。
【００６０】
分割部５０７は、更新領域画像Ｒの画像データの転送時間ｔに基づいて、更新領域画像Ｒを分割する分割単位を決定する機能を有する。具体的には、例えば、分割部５０７は、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きい場合に、更新領域画像Ｒから分割した分割領域画像ｒの画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定する。
【００６１】
上述したように、閾値Ｘは、ユーザによる操作入力が行われてから、その操作入力に対するレスポンスが返ってくるまでにかかる応答時間を表す値である。閾値Ｘには、例えば、応答時間が閾値Ｘを超えると、ユーザが不快に感じる程度の値が設定される。閾値Ｘは、例えば、メモリ３０２、磁気ディスク３０５などの記憶装置に記憶されている。
【００６２】
また、分割部５０７は、決定した分割単位で更新領域画像Ｒを分割することにより、更新領域画像Ｒから分割した分割領域画像ｒごとの画像データを生成する機能を有する。具体的には、例えば、分割部５０７は、決定した分割単位で更新領域画像Ｒを縦方向または横方向に区切って分割することにより、分割領域画像ｒごとの画像データを生成する。
【００６３】
送信部５０８は、更新領域画像Ｒから分割された分割領域画像ｒごとの画像データを、所定の順序でクライアント装置２０２に順次送信する機能を有する。具体的には、例えば、送信部５０８は、選択した圧縮方式で分割領域画像ｒの画像データを圧縮（エンコード）することにより、圧縮後の分割領域画像ｒの画像データを静止画データとしてクライアント装置２０２に送信する。
【００６４】
より具体的には、例えば、更新領域画像Ｒを縦方向に区切って分割した場合、送信部５０８は、更新領域画像Ｒの左から順に分割領域画像ｒの画像データをクライアント装置２０２に送信することにしてもよい。また、例えば、更新領域画像Ｒを横方向に区切って分割した場合、送信部５０８は、更新領域画像Ｒの上から順に分割領域画像ｒの画像データをクライアント装置２０２に送信することにしてもよい。
【００６５】
また、送信部５０８は、更新領域画像Ｒから分割された複数の分割領域画像のうち、マウスポインタを含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信することにしてもよい。分割領域画像ｒは、例えば、操作情報に含まれるマウスポインタの位置を表す情報から特定することができる。
【００６６】
また、送信部５０８は、更新領域画像Ｒから分割された複数の分割領域画像のうち、表示画面Ｓの中心点を含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信することにしてもよい。
【００６７】
なお、更新領域画像Ｒから分割された分割領域画像ｒの画像データの送信順序例については、図７〜図１０を用いて後述する。
【００６８】
また、送信部５０８は、更新領域画像Ｒが分割されていない場合は、更新領域画像Ｒの画像データをクライアント装置２０２に送信する。具体的には、例えば、送信部５０８は、選択した圧縮方式で更新領域画像Ｒの画像データを圧縮（エンコード）することにより、圧縮後の更新領域画像Ｒの画像データを静止画データまたは動画データとしてクライアント装置２０２に送信する。
【００６９】
また、画像Ｐpreの更新領域画像Ｒpreから分割された分割領域画像ｒpreの画像データのうち、クライアント装置２０２に送信されていない未送信の分割領域画像ｒpreの画像データが存在する場合がある。この場合、送信部５０８は、未送信の分割領域画像ｒpreの画像データの代わりに、更新領域画像Ｒから分割された分割領域画像ｒの画像データをクライアント装置２０２に送信することにしてもよい。
【００７０】
また、生成部５０３は、更新領域画像Ｒの画像データが静止画データか否かを判定することにしてもよい。具体的には、例えば、生成部５０３は、画像Ｐの画像データが静止画データか動画データかを識別する識別情報に基づいて、更新領域画像Ｒの画像データが静止画データか否かを判定することにしてもよい。
【００７１】
そして、送信部５０８は、更新領域画像Ｒの画像データが動画データの場合は、更新領域画像Ｒの画像データをクライアント装置２０２に送信することにしてもよい。これにより、画像Ｐが頻繁に更新されて分割にかかるオーバーヘッドが大きくなる動画データの場合は、画像Ｐの更新領域画像Ｒを分割することなくクライアント装置２０２に送信することができる。すなわち、転送量算出部５０４は、更新領域画像Ｒの画像データが静止画データの場合にのみ、更新領域画像Ｒの画像データと圧縮率ｃとに基づいて、データ転送量Ｔを算出する。
【００７２】
なお、サーバ２０１は、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置２０２に送信する機能を有することにしてもよい。具体的には、例えば、サーバ２０１は、アプリケーションに操作情報を通知して得られる画像を複数の領域に分割し、分割した領域ごとに変更の頻度を監視する。そして、サーバ２０１は、変更の頻度が閾値を超えた領域を動画化領域として扱うことにしてもよい。
【００７３】
この場合、生成部５０３は、例えば、更新領域画像Ｒが動画化領域を含むか否かによって、更新領域画像Ｒの画像データが静止画データか否かを判定することにしてもよい。より具体的には、例えば、生成部５０３は、例えば、更新領域画像Ｒが動画化領域を含む場合は、更新領域画像Ｒの画像データが動画データであると判定する。なお、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント装置２０２に送信する技術については、例えば、特開２０１１−２３８０１４を参照することができる。
【００７４】
（クライアント装置２０２の機能的構成例）
図６は、クライアント装置２０２の機能的構成例を示すブロック図である。図６において、クライアント装置２０２は、取得部６０１と、送信部６０２と、受信部６０３と、表示制御部６０４と、を含む構成である。取得部６０１〜表示制御部６０４は制御部となる機能であり、具体的には、例えば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０６により、その機能を実現する。各機能部の処理結果は、例えば、ＲＡＭ４０３、磁気ディスク４０５などの記憶装置に記憶される。
【００７５】
取得部６０１は、ユーザの操作入力を表す操作情報を取得する機能を有する。具体的には、例えば、取得部６０１は、表示画面Ｓ上でのキーボード４０８（図４参照）やマウス４０９（図４参照）を用いたユーザの操作入力を受け付けることにより、ユーザの操作入力を表す操作情報を取得する。
【００７６】
上述したように、操作情報には、例えば、クリック、ダブルクリック、ドラッグ＆ドロップ等の操作入力の種別、その操作入力が行われたマウスポインタの位置、その操作入力が終了したことを示す情報が含まれている。なお、ドラッグ＆ドロップのように操作入力が継続して行われる場合には、取得部６０１は、ユーザの操作入力を表す操作情報を一定時間間隔ごとに取得することにしてもよい。
【００７７】
また、タッチパネル式のキーボード４０８を用いて、タップ、ドラッグ、フリック、ピンチアウト、ピンチイン等の操作入力が行われる場合がある。この場合、取得部６０１は、タッチパネル式のキーボード４０８を用いた操作入力を、例えば、サーバ２０１で実行中のアプリケーションが解釈可能なマウス４０９を用いた操作入力に変換した操作情報を取得することにしてもよい。ただし、操作情報の変換処理は、サーバ２０１側で行われることにしてもよい。
【００７８】
送信部６０２は、取得部６０１によって取得された操作情報をサーバ２０１に送信する機能を有する。具体的には、例えば、送信部６０２は、取得部６０１によって操作情報が取得されると、その都度、取得された操作情報をサーバ２０１に送信する。
【００７９】
受信部６０３は、サーバ２０１から画像データを受信する機能を有する。具体的には、例えば、受信部６０３は、画像Ｐ、画像Ｐに含まれる更新領域画像Ｒ、更新領域画像Ｒから分割された分割領域画像ｒの画像データをサーバ２０１から受信する。
【００８０】
表示制御部６０４は、ディスプレイ４０７を制御して、受信部６０３によって受信された画像データＳＤを表示する機能を有する。具体的には、例えば、表示制御部６０４は、受信された画像Ｐ、更新領域画像Ｒ、分割領域画像ｒの画像データをデコードとして、表示画面Ｓの対応する位置に表示する。
【００８１】
また、送信部６０２は、受信部６０３によって受信された所定データの受信時刻をサーバ２０１に送信することにしてもよい。所定データは、上述したように、サーバ２０１においてデータ転送速度Ｋを測定するためのデータである。
【００８２】
（デスクトップ画面の表示例）
次に、クライアント装置２０２のディスプレイ４０７に表示されるデスクトップ画面の表示例について説明する。ここでは、まず、更新領域画像Ｒを横方向に分割し、更新領域画像Ｒから分割された分割領域画像ｒの画像データを配置位置が上のものから順にクライアント装置２０２に送信する場合について説明する。
【００８３】
＜第１の表示例＞
図７および図８は、デスクトップ画面の第１の表示例を示す説明図である。図７において、クライアント装置２０２のディスプレイ４０７にデスクトップ画面７０１が表示されている。また、デスクトップ画面７０１にはウィンドウ７０２が表示されており、ウィンドウ７０２には画像７１０が表示されている。
【００８４】
ここで、クライアント装置２０２において、ウィンドウ７０２に表示されている画像７１０を矢印７０３のように回転させる操作入力が行われた結果（図７中（７−１）参照）、サーバ２０１において、ウィンドウ７０２に次に表示する画像７２０が取得された場合を想定する（図７中（７−２）参照）。また、画像７２０の更新領域画像Ｒを画像７２０の全領域とし、更新領域画像Ｒが分割領域画像７２１〜７２３に分割された場合を想定する（図７中（７−３）参照）。
【００８５】
この場合、まず、サーバ２０１は、分割領域画像７２１〜７２３のうち分割領域画像７２１の画像データをクライアント装置２０２に送信する。そして、クライアント装置２０２は、分割領域画像７２１の画像データに基づいて、ウィンドウ７０２の対応する位置に分割領域画像７２１を表示する（図７中（７−４）参照）。
【００８６】
ここで、クライアント装置２０２において、ウィンドウ７０２に表示されている一部更新済みの画像７１０を矢印７０４のように回転させる操作入力が行われた結果（図７中（７−５）参照）、サーバ２０１において、ウィンドウ７０２に次に表示する画像７３０が取得された場合を想定する（図７中（７−６）参照）。また、画像７３０の更新領域画像Ｒを画像７３０の全領域とし、更新領域画像Ｒが分割領域画像７３１〜７３３に分割された場合を想定する（図８中（７−７）参照）。
【００８７】
この場合、サーバ２０１は、分割領域画像７２２の代わりに、分割領域画像７３２の画像データをクライアント装置２０２に送信する。この結果、クライアント装置２０２は、分割領域画像７３２の画像データに基づいて、ウィンドウ７０２内の対応する位置に分割領域画像７３２を表示する（図８中（７−８）参照）。
【００８８】
次に、サーバ２０１は、分割領域画像７３１〜７３３のうち未送信の分割領域画像７３３の画像データをクライアント装置２０２に送信する（図８中（７−９）参照）。この結果、クライアント装置２０２は、分割領域画像７３３の画像データに基づいて、ウィンドウ７０２内の対応する位置に分割領域画像７３３を表示する（図８中（７−１０）参照）。
【００８９】
次に、サーバ２０１は、分割領域画像７３１〜７３３のうち未送信の分割領域画像７３１の画像データをクライアント装置２０２に送信する（図８中（７−１１）参照）。この結果、クライアント装置２０２は、分割領域画像７３１の画像データに基づいて、ウィンドウ７０２内の対応する位置に分割領域画像７３１を表示する（図８中（７−１２）参照）。この結果、ウィンドウ７０２のすべての画面更新が行われて画像７３０がウィンドウ７０２に表示される。
【００９０】
このように、サーバ２０１によれば、ウィンドウ単位で表示内容を更新するよりも早いタイミングでウィンドウ７０２の表示内容を部分的に更新することができる。この結果、ユーザは、自身が行った操作入力に対してウィンドウ７０２の表示内容がどのように変化するのかを予測することができるようになり、新たな操作入力を行うべきか否かを判断し易くなる。
【００９１】
また、サーバ２０１によれば、更新領域画像Ｒから分割された分割領域画像ｒの画像データを予め決められた順序でクライアント装置２０２に送信することができる。これにより、ユーザは、ウィンドウ７０２上で次に更新される部分を把握し易くなる。また、サーバ２０１によれば、未送信の分割領域画像の画像データが存在する状態で、次の操作入力が行われた場合、未送信の画像データの代わりに、次の更新領域画像Ｒから分割された分割領域画像ｒの画像データをクライアント装置２０２に送信することができる。
【００９２】
＜第２の表示例＞
次に、更新領域画像Ｒを横方向に分割し、更新領域画像Ｒから分割された分割領域画像ｒのうち、マウスポインタを含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信する場合について説明する。
【００９３】
図９は、デスクトップ画面の第２の表示例を示す説明図である。図９において、クライアント装置２０２のディスプレイ４０７にデスクトップ画面９０１が表示されている。また、デスクトップ画面９０１にはウィンドウ９０２が表示されており、ウィンドウ９０２には画像９１０とマウスカーソル９０３が表示されている。
【００９４】
ここで、クライアント装置２０２において、ウィンドウ９０２に表示されている画像９１０を矢印９０４のように回転させる操作入力が行われた結果（図９中（９−１）参照）、サーバ２０１において、ウィンドウ９０２に次に表示する画像９２０が取得された場合を想定する（図９中（９−２）参照）。また、画像９２０の更新領域画像Ｒを画像９２０の全領域とし、更新領域画像Ｒが分割領域画像９２１〜９２３に分割された場合を想定する（図９中（９−３）参照）。
【００９５】
この場合、まず、サーバ２０１は、分割領域画像９２１〜９２３のうちマウスカーソル９０３（マウスポインタ）を含む分割領域画像９２３を特定する。そして、サーバ２０１は、マウスカーソル９０３（マウスポインタ）を含む分割領域画像９２３の画像データをクライアント装置２０２に送信する。そして、クライアント装置２０２は、分割領域画像９２３の画像データに基づいて、ウィンドウ９０２の対応する位置に分割領域画像９２３を表示する（図９中（９−４）参照）。
【００９６】
次に、サーバ２０１は、分割領域画像９２１〜９２３のうち未送信の分割領域画像９２１の画像データをクライアント装置２０２に送信する（図９中（９−５）参照）。この結果、クライアント装置２０２は、分割領域画像９２１の画像データに基づいて、ウィンドウ９０２内の対応する位置に分割領域画像９２１を表示する（図９中（９−６）参照）。
【００９７】
次に、サーバ２０１は、分割領域画像９２１〜９２３のうち未送信の分割領域画像９２２の画像データをクライアント装置２０２に送信する（図９中（９−７）参照）。この結果、クライアント装置２０２は、分割領域画像９２２の画像データに基づいて、ウィンドウ９０２内の対応する位置に分割領域画像９２２を表示する（図９中（９−８）参照）。
【００９８】
このように、サーバ２０１によれば、更新領域画像Ｒから分割された分割領域画像９２１〜９２３のうちマウスカーソル９０３を含む分割領域画像９２３の画像データを最初にクライアント装置２０２に送信することができる。これにより、ウィンドウ９０２においてマウスカーソル９０３を含む部分が最初に更新されるため、ユーザは、ウィンドウ９０２上で次に更新される部分を把握し易くなる。
【００９９】
＜第３の表示例＞
次に、更新領域画像Ｒを横方向に分割し、更新領域画像Ｒから分割された分割領域画像ｒのうち、更新領域画像Ｒの中心点を含む分割領域画像ｒの画像データを最初にクライアント装置２０２に送信する場合について説明する。
【０１００】
図１０は、デスクトップ画面の第３の表示例を示す説明図である。図１０において、クライアント装置２０２のディスプレイ４０７にデスクトップ画面１００１が表示されている。また、デスクトップ画面１００１にはウィンドウ１００２が表示されており、ウィンドウ１００２には画像１０１０が表示されている。
【０１０１】
ここで、クライアント装置２０２において、ウィンドウ１００２に表示されている画像１０１０を矢印１００３のように回転させる操作入力が行われた結果（図１０中（１０−１）参照）、サーバ２０１において、ウィンドウ１００２に次に表示する画像１０２０が取得された場合を想定する（図１０中（１０−２）参照）。また、画像１０２０の更新領域画像Ｒを画像１０２０の全領域とし、更新領域画像Ｒが分割領域画像１０２１〜１０２３に分割された場合を想定する（図１０中（１０−３）参照）。
【０１０２】
この場合、まず、サーバ２０１は、分割領域画像１０２１〜１０２３のうちウィンドウ１００２の中心点１００４を含む分割領域画像１０２２を特定する。そして、サーバ２０１は、中心点１００４を含む分割領域画像１０２２の画像データをクライアント装置２０２に送信する。そして、クライアント装置２０２は、分割領域画像１０２２の画像データに基づいて、ウィンドウ１００２の対応する位置に分割領域画像１０２２を表示する（図１０中（１０−４）参照）。
【０１０３】
次に、サーバ２０１は、分割領域画像１０２１〜１０２３のうち未送信の分割領域画像１０２１の画像データをクライアント装置２０２に送信する（図１０中（１０−５）参照）。この結果、クライアント装置２０２は、分割領域画像１０２１の画像データに基づいて、ウィンドウ１００２内の対応する位置に分割領域画像１０２１を表示する（図１０中（１０−６）参照）。
【０１０４】
次に、サーバ２０１は、分割領域画像１０２１〜１０２３のうち未送信の分割領域画像１０２３の画像データをクライアント装置２０２に送信する（図１０中（１０−７）参照）。この結果、クライアント装置２０２は、分割領域画像１０２３の画像データに基づいて、ウィンドウ１００２内の対応する位置に分割領域画像１０２３を表示する（図１０中（１０−８）参照）。
【０１０５】
このように、サーバ２０１によれば、更新領域画像Ｒから分割された分割領域画像１０２１〜１０２３のうちウィンドウ１００２の中心点１００４を含む分割領域画像１０２２の画像データを最初にクライアント装置２０２に送信することができる。これにより、ウィンドウ１００２において中心点１００４を含む部分が最初に更新されるため、ユーザは、ウィンドウ１００２上で次に更新される部分を把握し易くなる。
【０１０６】
（クライアント装置２０２の表示制御処理手順）
次に、クライアント装置２０２の表示制御処理手順について説明する。
【０１０７】
図１１は、クライアント装置２０２の表示制御処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、クライアント装置２０２は、ユーザの操作入力を受け付けたか否かを判断する（ステップＳ１１０１）。ここで、クライアント装置２０２は、ユーザの操作入力を受け付けるのを待つ（ステップＳ１１０１：Ｎｏ）。
【０１０８】
そして、クライアント装置２０２は、ユーザの操作入力を受け付けた場合（ステップＳ１１０１：Ｙｅｓ）、ユーザの操作入力を表す操作情報を取得する（ステップＳ１１０２）。次に、クライアント装置２０２は、取得した操作情報をサーバ２０１に送信する（ステップＳ１１０３）。
【０１０９】
そして、クライアント装置２０２は、サーバ２０１から画像データを受信したか否かを判断する（ステップＳ１１０４）。ここで、サーバ２０１から画像データを受信しなかった場合（ステップＳ１１０４：Ｎｏ）、クライアント装置２０２は、本フローチャートによる一連の処理を終了する。
【０１１０】
一方、サーバ２０１から画像データを受信した場合（ステップＳ１１０４：Ｙｅｓ）、クライアント装置２０２は、受信した画像データが静止画データか否かを判断する（ステップＳ１１０５）。
【０１１１】
ここで、静止画データの場合（ステップＳ１１０５：Ｙｅｓ）、クライアント装置２０２は、受信した画像データを静止画用の復元方式を用いてデコードした静止画データを表示画面Ｓに表示して（ステップＳ１１０６）、本フローチャートによる一連の処理を終了する。
【０１１２】
一方、動画データの場合（ステップＳ１１０５：Ｎｏ）、クライアント装置２０２は、受信した画像データを動画用の復元方式を用いてデコードした動画データを表示画面Ｓに表示して（ステップＳ１１０７）、本フローチャートによる一連の処理を終了する。これにより、ユーザの操作入力に応じて表示画面Ｓの表示内容を更新することができる。
【０１１３】
（サーバ２０１の画像処理手順）
次に、サーバ２０１の画像処理手順について説明する。
【０１１４】
図１２は、サーバ２０１の画像処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、サーバ２０１は、クライアント装置２０２から操作情報を受信したか否かを判断する（ステップＳ１２０１）。
【０１１５】
ここで、サーバ２０１は、クライアント装置２０２から操作情報を受信した場合（ステップＳ１２０１：Ｙｅｓ）、クライアント装置２０２からの要求に応じて実行中のアプリケーションに操作情報を通知することにより、フレームバッファから画像Ｐの画像データを取得する（ステップＳ１２０２）。
【０１１６】
次に、サーバ２０１は、画像Ｐの画像データと画像Ｐpreの画像データとに基づいて、表示画面Ｓの表示内容が更新されているか否かを判断する（ステップＳ１２０３）。ここで、表示画面Ｓの表示内容が更新されていない場合（ステップＳ１２０３：Ｎｏ）、サーバ２０１は、ステップＳ１２１０に移行する。
【０１１７】
一方、表示画面Ｓの表示内容が更新されている場合（ステップＳ１２０３：Ｙｅｓ）、サーバ２０１は、画像Ｐの更新領域画像Ｒの画像データを生成する（ステップＳ１２０４）。そして、サーバ２０１は、生成した更新領域画像Ｒの画像データが静止画データか否かを判断する（ステップＳ１２０５）。
【０１１８】
ここで、更新領域画像Ｒの画像データが静止画データの場合（ステップＳ１２０５：Ｙｅｓ）、サーバ２０１は、更新領域画像Ｒの画像データと、更新領域画像Ｒの画像データの圧縮率ｃとに基づいて、クライアント装置２０２に送信するデータ転送量Ｔを算出する（ステップＳ１２０６）。
【０１１９】
次に、サーバ２０１は、算出したデータ転送量Ｔをデータ転送速度Ｋで除算することにより、更新領域画像Ｒの画像データの転送時間ｔを算出する（ステップＳ１２０７）。そして、サーバ２０１は、算出した更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きいか否かを判断する（ステップＳ１２０８）。
【０１２０】
ここで、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きい場合（ステップＳ１２０８：Ｙｅｓ）、サーバ２０１は、分割領域画像処理を実行する（ステップＳ１２０９）。なお、分割領域画像処理の具体的な処理手順については、図１３を用いて後述する。そして、サーバ２０１は、所定時間（例えば、３０［ｍｓｅｃ］）待機して（ステップＳ１２１０）、ステップＳ１２０１に戻る。
【０１２１】
また、ステップＳ１２０８において、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘ以下の場合（ステップＳ１２０８：Ｎｏ）、サーバ２０１は、分割数ｎを「ｎ＝０」で初期化する（ステップＳ１２１１）。そして、サーバ２０１は、更新領域画像Ｒの画像データを静止画データとしてクライアント装置２０２に送信して（ステップＳ１２１２）、ステップＳ１２１０に移行する。
【０１２２】
また、ステップＳ１２０５において、更新領域画像Ｒの画像データが動画データの場合（ステップＳ１２０５：Ｎｏ）、サーバ２０１は、更新領域画像Ｒの画像データを動画データとしてクライアント装置２０２に送信して（ステップＳ１２１３）、ステップＳ１２１０に移行する。
【０１２３】
また、ステップＳ１２０１において、サーバ２０１は、クライアント装置２０２から操作情報を受信していない場合（ステップＳ１２０１：Ｎｏ）、分割数ｎが「ｎ＞０」かつ未送信の分割領域画像の画像データがあるか否かを判断する（ステップＳ１２１４）。
【０１２４】
ここで、「ｎ＞０」かつ未送信の分割領域画像の画像データがある場合（ステップＳ１２１４：Ｙｅｓ）、サーバ２０１は、図１３に示すステップＳ１３０４に移行する。一方、「ｎ＝０」または未送信の分割領域画像の画像データがない場合（ステップＳ１２１４：Ｎｏ）、サーバ２０１は、ステップＳ１２１０に移行する。
【０１２５】
ここで、図１２に示したステップＳ１２０９の分割領域画像処理の具体的な処理手順について説明する。
【０１２６】
図１３は、分割領域画像処理の具体的処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、サーバ２０１は、更新領域画像Ｒから分割した分割領域画像ｒの画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定する（ステップＳ１３０１）。
【０１２７】
次に、サーバ２０１は、決定した分割単位で更新領域画像Ｒを分割することにより、更新領域画像Ｒから分割した分割領域画像ごとの画像データを生成する（ステップＳ１３０２）。そして、サーバ２０１は、更新領域画像Ｒを分割した分割数ｎを設定する（ステップＳ１３０３）。
【０１２８】
次に、サーバ２０１は、更新領域画像Ｒから分割された分割領域画像から選択されていない未選択の分割領域画像の画像データを選択する（ステップＳ１３０４）。そして、サーバ２０１は、選択した分割領域画像の画像データに基づいて、分割領域画像に更新箇所があるか否かを判断する（ステップＳ１３０５）。
【０１２９】
ここで、分割領域画像に更新箇所がない場合（ステップＳ１３０５：Ｎｏ）、サーバ２０１は、図１２に示したステップＳ１２１０に移行する。一方、分割領域画像に更新箇所がある場合（ステップＳ１３０５：Ｙｅｓ）、サーバ２０１は、選択した分割領域画像の画像データを静止画データとしてクライアント装置２０２に送信して（ステップＳ１３０６）、分割領域画像処理を呼び出したステップに戻る。
【０１３０】
これにより、クライアント装置２０２において、表示画面Ｓの表示内容が更新される更新間隔が閾値Ｘを超えないように、更新領域画像Ｒを分割した分割領域画像ｒの画像データをクライアント装置２０２に送信することができる。
【０１３１】
以上説明したように、実施の形態にかかるサーバ２０１によれば、クライアント装置２０２の表示画面Ｓに表示する更新領域画像Ｒの画像データと、当該画像データの圧縮率ｃとに基づいて、データ転送量Ｔを算出することができる。また、サーバ２０１によれば、データ転送量Ｔとデータ転送速度Ｋとに基づいて、更新領域画像Ｒの画像データの転送時間ｔを算出することができる。また、サーバ２０１によれば、算出した更新領域画像Ｒの画像データの転送時間ｔに基づいて、更新領域画像Ｒを分割する分割単位を決定することができる。
【０１３２】
これにより、ネットワークの性能を表すデータ転送速度Ｋと、端末装置１０２に送信するデータ転送量Ｔとに応じて、端末装置１０２の表示画面１１０に表示する更新領域画像Ｒの分割単位を動的に変更することができる。
【０１３３】
また、サーバ２０１によれば、更新領域画像Ｒの画像データの転送時間ｔが閾値Ｘより大きい場合に、更新領域画像Ｒを分割した分割領域画像ｒの画像データの転送時間ｔが閾値Ｘ以下となるように分割単位を決定することができる。また、サーバ２０１によれば、決定した分割単位で更新領域画像Ｒを分割した分割領域画像ｒの画像データを、所定の順序でクライアント装置２０２に順次送信することができる。
【０１３４】
これにより、クライアント装置２０２において、表示画面Ｓの表示内容が更新される更新間隔が閾値Ｘを超えないように、分割領域画像ｒの画像データを表示画面Ｓに順次表示させることができる。この結果、ユーザの操作入力に対するレスポンスを早めて、ユーザの操作性の低下を防ぐことができる。また、サーバ２０１によれば、閾値Ｘを変更することにより、ユーザの操作入力に対する応答時間を調整することができる。
【０１３５】
また、サーバ２０１によれば、クライアント装置２０２に送信された所定データの送信時刻と、クライアント装置２０２によって所定データが受信された受信時刻と、所定データのデータ量とに基づいて、データ転送速度Ｋを算出することができる。これにより、時々刻々と変化するトラフィック量に応じたネットワーク２１０の性能を測定することができる。
【０１３６】
また、サーバ２０１によれば、未送信の分割領域画像ｒpreの画像データがある状態で新たな画面更新が行われる場合は、未送信の分割領域画像ｒpreの画像データの代わりに、分割領域画像ｒの画像データをクライアント装置２０２に送信することができる。これにより、過去の操作入力に対する画面更新のための画像データの送信を止めて、ネットワーク２１０のトラフィック量の増大化を防ぐことができる。
【０１３７】
これらのことから実施の形態にかかるシンクライアントシステム２００によれば、ユーザが不快に感じない程度の更新間隔で表示画面Ｓの表示内容を部分的に更新することができる。これにより、ユーザの操作入力に対する応答時間を早めて操作感を向上させるとともに、操作入力に対して表示画面Ｓの表示内容がどのように変化するのかをユーザが予測できるようになり操作性を向上させることができる。
【０１３８】
例えば、通信状態が不安定なモバイル環境でクライアント装置２０２を用いてアプリケーションを操作する場合に、オブジェクトの回転などを繰り返し操作するたびに発生するデータ転送のデータ量を削減することができる。また、通信が一時的に切断されても、表示画面Ｓの表示内容を部分的に更新することにより、通信の不安定さをユーザに対して隠蔽することができる。
【０１３９】
なお、本実施の形態で説明した画像処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本画像処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本画像処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１４０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４１】
（付記１）ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記情報処理装置は、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とするシステム。
【０１４２】
（付記２）前記情報処理装置は、
前記データ転送量と前記データ転送速度とに基づいて、前記画像データの転送時間を算出する転送時間算出部を有し、
前記決定部は、
前記転送時間算出部によって算出された前記画像データの転送時間が閾値より大きい場合に、前記画像を分割した分割領域の画像データの転送時間が前記閾値以下となるように前記分割単位を決定することを特徴とする付記１に記載のシステム。
【０１４３】
（付記３）前記情報処理装置は、
前記決定部によって決定された前記分割単位で前記画像を分割した分割領域画像の画像データを、所定の順序で前記端末装置に順次送信する送信部を有することを特徴とする付記２に記載のシステム。
【０１４４】
（付記４）前記情報処理装置は、
前記端末装置で行われた操作入力を表す操作情報を前記端末装置から受信する受信部と、前記受信部によって受信された前記操作情報を前記端末装置からの要求に応じて実行中のアプリケーションに通知することにより、前記画像の画像データを取得する取得部と、を有し、
前記転送量算出部は、
前記取得部によって取得された前記画像の画像データと、当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする付記３に記載のシステム。
【０１４５】
（付記５）前記情報処理装置は、
前記操作情報を前記アプリケーションに通知して得られる第１の画像の画像データと、前記操作情報の直前に前記端末装置から受信された操作情報を前記アプリケーションに通知して得られる第２の画像の画像データとに基づいて、前記第１の画像のうちの更新領域を表す画像の画像データを生成する生成部を有し、
前記転送量算出部は、
前記生成部によって生成された前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする付記４に記載のシステム。
【０１４６】
（付記６）前記情報処理装置は、
前記端末装置に送信されたデータの送信時刻と、前記端末装置によって前記データが受信された受信時刻と、前記データのデータ量とに基づいて、前記データ転送速度を算出する転送速度算出部を有し、
前記転送時間算出部は、
前記転送量算出部によって算出された前記データ転送量と前記転送速度算出部によって算出された前記データ転送速度とに基づいて、前記画像の画像データの転送時間を算出することを特徴とする付記５に記載のシステム。
【０１４７】
（付記７）前記情報処理装置は、
前記第２の画像のうちの更新領域を表す画像から分割された分割領域画像の画像データのうち、前記端末装置に送信されていない未送信の分割領域画像の画像データがある場合、前記未送信の分割領域画像の画像データの代わりに、前記画像から分割された分割領域画像の画像データを前記端末装置に送信することを特徴とする付記６に記載のシステム。
【０１４８】
（付記８）前記転送量算出部は、
前記画像の画像データが静止画データの場合に、前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする付記７に記載のシステム。
【０１４９】
（付記９）前記送信部は、
前記画像の画像データが静止画データではない場合、前記画像の画像データを前記端末装置に送信することを特徴とする付記８に記載のシステム。
【０１５０】
（付記１０）ネットワークを介して端末装置と接続される情報処理装置において、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とする情報処理装置。
【０１５１】
（付記１１）ネットワークを介して端末装置と接続される情報処理装置が、
前記端末装置の表示画面に表示する画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出し、
算出した前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する、
処理を実行することを特徴とする画像処理方法。
【符号の説明】
【０１５２】
１００  システム
１０１  情報処理装置
１０２  端末装置
２００  シンクライアントシステム
２０１  サーバ
２０２  クライアント装置
５０１，６０３  受信部
５０２，６０１  取得部
５０３  生成部
５０４  転送量算出部
５０５  転送速度算出部
５０６  転送時間算出部
５０７  分割部
５０８，６０２  送信部
６０４  表示制御部
【手続補正書】
【提出日】平成28年5月9日(2016.5.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して情報処理装置と端末装置とが接続されるシステムにおいて、
前記情報処理装置は、
前記端末装置で行われた操作入力を表す操作情報を前記端末装置から受信する受信部と、
前記受信部によって受信された前記操作情報を前記端末装置からの要求に応じて実行中のアプリケーションに通知することにより、前記端末装置の表示画面に表示する画像の画像データを取得する取得部と、
前記取得部によって取得される画像を分割した複数の領域それぞれの変更の頻度を監視し、変更の頻度が閾値を超えた領域を動画化領域として特定する生成部と、
前記取得部によって取得された画像が動画化領域を含まない場合に、前記画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とするシステム。
【請求項２】
前記情報処理装置は、
前記データ転送量と前記データ転送速度とに基づいて、前記画像データの転送時間を算出する転送時間算出部を有し、
前記決定部は、
前記転送時間算出部によって算出された前記画像データの転送時間が閾値より大きい場合に、前記画像を分割した分割領域の画像データの転送時間が前記閾値以下となるように前記分割単位を決定することを特徴とする請求項１に記載のシステム。
【請求項３】
前記情報処理装置は、
前記決定部によって決定された前記分割単位で前記画像を分割した分割領域画像の画像データを、所定の順序で前記端末装置に順次送信する送信部を有することを特徴とする請求項２に記載のシステム。
【請求項４】
前記転送量算出部は、
前記取得部によって取得された前記画像の画像データと、当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項３に記載のシステム。
【請求項５】
前記生成部は、
前記操作情報を前記アプリケーションに通知して得られる第１の画像の画像データと、前記操作情報の直前に前記端末装置から受信された操作情報を前記アプリケーションに通知して得られる第２の画像の画像データとに基づいて、前記第１の画像のうちの更新領域を表す画像の画像データを生成し、
前記転送量算出部は、
前記生成部によって生成された前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項４に記載のシステム。
【請求項６】
前記情報処理装置は、
前記端末装置に送信されたデータの送信時刻と、前記端末装置によって前記データが受信された受信時刻と、前記データのデータ量とに基づいて、前記データ転送速度を算出する転送速度算出部を有し、
前記転送時間算出部は、
前記転送量算出部によって算出された前記データ転送量と前記転送速度算出部によって算出された前記データ転送速度とに基づいて、前記画像の画像データの転送時間を算出することを特徴とする請求項５に記載のシステム。
【請求項７】
前記情報処理装置は、
前記第２の画像のうちの更新領域を表す画像から分割された分割領域画像の画像データのうち、前記端末装置に送信されていない未送信の分割領域画像の画像データがある場合、前記未送信の分割領域画像の画像データの代わりに、前記画像から分割された分割領域画像の画像データを前記端末装置に送信することを特徴とする請求項６に記載のシステム。
【請求項８】
前記転送量算出部は、
前記画像の画像データが静止画データの場合に、前記画像の画像データと当該画像データの圧縮率とに基づいて、前記データ転送量を算出することを特徴とする請求項７に記載のシステム。
【請求項９】
ネットワークを介して端末装置と接続される情報処理装置において、
前記端末装置で行われた操作入力を表す操作情報を前記端末装置から受信する受信部と、
前記受信部によって受信された前記操作情報を前記端末装置からの要求に応じて実行中のアプリケーションに通知することにより、前記端末装置の表示画面に表示する画像の画像データを取得する取得部と、
前記取得部によって取得される画像を分割した複数の領域それぞれの変更の頻度を監視し、変更の頻度が閾値を超えた領域を動画化領域として特定する生成部と、
前記取得部によって取得された画像が動画化領域を含まない場合に、前記画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出する転送量算出部と、
前記転送量算出部によって算出された前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する決定部と、
を有することを特徴とする情報処理装置。
【請求項１０】
ネットワークを介して端末装置と接続される情報処理装置が、
前記端末装置で行われた操作入力を表す操作情報を前記端末装置から受信し、
受信した前記操作情報を前記端末装置からの要求に応じて実行中のアプリケーションに通知することにより、前記端末装置の表示画面に表示する画像の画像データを取得し、
取得した画像を分割した複数の領域それぞれの変更の頻度を監視し、変更の頻度が閾値を超えた領域を動画化領域として特定し、
取得した画像が動画化領域を含まない場合に、前記画像の画像データと、前記画像データの圧縮率とに基づいて、前記端末装置に送信するデータ転送量を算出し、
算出した前記データ転送量と、前記端末装置との間のデータ転送速度とに基づいて、前記画像を分割する分割単位を決定する、
処理を実行することを特徴とする画像処理方法。
【国際調査報告】
2014049761.tif 000016
2014049761.tif 000017
2014049761.tif 000018
2014049761.tif 000019