(57)【要約】【課題】シンクライアントにおけるスクロール操作に対する操作性能を向上させる。【解決手段】ＧＷサーバ２００は、クライアント端末３００に表示する画像の領域より大きい表示可能領域の画像を保持するフレームバッファ２０４を有する。ＧＷサーバ２００は、表示可能領域の画像を複数の領域に分割し、領域毎にフレーム間の変更の頻度を判別し、表示可能領域の中で、クライアント端末３００に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす変更頻度判定部２０６を有する。ＧＷサーバ２００は、高頻度更新領域を識別する高頻度変更領域識別部２０７を有する。ＧＷサーバ２００は、高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、高頻度更新領域として識別された領域の画像を第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する第２通信部２０９を有する。【選択図】図１
2016103117.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置であって、
コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を保持する画像メモリと、
前記画像メモリに保持された表示可能領域の画像を送信する第１の画像送信部と、
前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別する変更頻度判別部と、
前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別する高頻度変更領域識別部と、
前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する第２の画像送信部と、を有し、
前記変更頻度判別部は、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす
ことを特徴とする情報処理装置。
【請求項２】
前記第２の画像送信部は、前記端末装置の表示部に現に表示されている領域の画像を表示されていない領域の画像より先行して送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の画像送信部は、前記表示部に表示されている領域の前記表示可能領域における位置を前記端末装置から受け取ると、前記表示部に表示されていない領域の画像を送信する際に、受け取った領域の位置から定められる前記表示可能領域における移動方向の領域の画像を先行して送信する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の画像送信部は、前記表示部に表示されている領域の画像の送信データ分を残した余剰帯域を用いて、前記表示部に表示されていない領域の画像を送信する
ことを特徴とする請求項２または請求項３に記載の情報処理装置。
【請求項５】
情報処理装置からネットワークを経由して受信した画像を表示する端末装置であって、
表示部に表示する画像の領域より大きい表示可能領域の画像を保持する画像メモリと、
前記情報処理装置から変更のある領域の画像データを受信すると、受信した画像データを圧縮処理に応じて復元し、復元した画像を前記画像メモリの前記変更のある領域に対応する領域に更新する画像更新部と、
前記表示部に表示されている領域の移動要求を検知すると、移動した領域の前記表示可能領域における位置を前記情報処理装置に送信するとともに、前記画像メモリから前記位置に応じた領域の画像を前記表示部に表示する画像表示部と、
を有することを特徴とする端末装置。
【請求項６】
ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置と、前記情報処理装置から前記ネットワークを経由して受信した画像を表示する端末装置とを有する画像表示システムであって、
前記情報処理装置は、
コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を保持する第１の画像メモリと、
前記第１の画像メモリに保持された表示可能領域の画像を送信する第１の画像送信部と、
前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別し、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす変更頻度判別部と、
前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別する高頻度変更領域識別部と、
前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する第２の画像送信部と、を有し、
前記端末装置は、
前記表示部に表示する画像の領域より大きい表示可能領域の画像を保持する第２の画像メモリと、
前記情報処理装置から変更のある領域の画像データを受信すると、受信した画像データを圧縮処理に応じて復元し、復元した画像を前記第２の画像メモリの前記変更のある領域に対応する領域に更新する画像更新部と、
前記表示部に表示されている領域の移動要求を検知すると、移動した領域の前記表示可能領域における位置を前記情報処理装置に送信するとともに、前記第２の画像メモリから前記位置に応じた領域の画像を前記表示部に表示する画像表示部と、を有する
ことを特徴とする画像表示システム。
【請求項７】
ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置に用いる画像送信プログラムであって、
前記情報処理装置に、
コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を画像メモリに保持し、
前記画像メモリに保持された表示可能領域の画像を送信し、
前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別し、
前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別し、
前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する処理を実行させ、
前記変更の頻度を判別する処理は、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす
ことを特徴とする画像送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置等に関する。
【背景技術】
【０００２】
シンクライアントというシステムが知られている。シンクライアントシステムでは、クライアント端末に最低限の機能しか持たせず、サーバでアプリケーションやファイル等のリソースを管理するようにシステムが構築される。
【０００３】
かかるシンクライアントシステムは、実際にはサーバが処理を実行した処理結果やサーバが保持するデータをクライアント端末に表示させつつも、あたかもクライアント端末が主体となって処理を実行したり、データを保持したりしているかのように振る舞う。
【０００４】
このように、サーバおよびクライアント端末間でクライアント端末に表示させる画面データを伝送する場合には、操作に伴って画面更新が発生する。シンクライアントシステムで画面更新が発生すると、サーバからクライアント端末に画面更新前後の差分の画面データが送信される。ここで、例えば、ＷｅｂブラウザでＷｅｂページを表示する場合に、Ｗｅｂページが縦長であると、一部分のみがＷｅｂブラウザの表示領域に表示される。このとき、クライアント端末からＷｅｂページをスクロールする操作情報がサーバに送られると、残りの部分のＷｅｂページについて、スクロール量に応じた差分の画面データが送信される。
【０００５】
例えば、サーバからクライアント端末への画面データの送信について、図７を参照して説明する。図７は、画面データ送信方法の一例を示す図である。サーバ上のＷｅｂブラウザによってＷｅｂページが表示されている。Ｗｅｂページの全体がクライアント端末の画面サイズを超える場合には、Ｗｅｂページの一部分（クライアント端末の画面サイズ）に絞ってＷｅｂブラウザの画面に表示される。このとき、クライアント端末のユーザがスクロール操作によって画面に表示されていない部分を表示しようとする。すると、クライアント端末で受け付けられたスクロール操作がサーバへ通知されると、サーバは、スクロール後の更新画面の差分を圧縮し、クライアント端末へ送信する。図７の例では、サーバは、Ｗｅｂ画面の領域ａから領域ｂの差分を圧縮し、クライアント端末へ送信する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−５９２２６号公報
【特許文献２】特開２０１３−１４２７５１号公報
【特許文献３】特開２０１３−２１４３２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、シンクライアントシステムにおける従来の画面データの送信技術では、サーバはクライアント端末でのスクロール操作に対する操作性能を低下させる場合がある。
【０００８】
例えば、サーバは、Ｗｅｂページの一部分（クライアント端末の画面サイズ）をＷｅｂブラウザの画面に表示するので、クライアント端末でスクロール操作がなされる都度、スクロール後の新たな更新画面との差分をクライアント端末へ送信する。すなわち、サーバは、クライアント端末でスクロール操作がなされる都度、クライアント端末との間で画面の同期をとることとなる。これによって、クライアント端末側でスクロール操作がなされてから更新画面が描画されるまでに遅延が生じ、サーバは、クライアント端末での操作性能を低下させる場合がある。画面データの転送量が多い場合には、サーバは、さらに、クライアント端末での操作性能を低下させる。
【０００９】
一つの側面では、本発明は、シンクライアントにおけるスクロール操作に対する操作性能を向上させることができる情報処理装置、端末装置、画像表示システムおよび画像送信プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本願の開示する情報処理装置は、ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置であって、コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を保持する画像メモリと、前記画像メモリに保持された表示可能領域の画像を送信する第１の画像送信部と、前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別する変更頻度判別部と、前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別する高頻度変更領域識別部と、前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する第２の画像送信部と、を有し、前記変更頻度判別部は、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす。
【発明の効果】
【００１１】
本願の開示する情報処理装置の一つの態様によれば、シンクライアントにおけるスクロール操作に対する操作性能を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係るシンクライアントシステムに含まれる各装置の構成を示すブロック図である。
【図２Ａ】図２Ａは、実施例に係る変更頻度判定の具体例を示す図である。
【図２Ｂ】図２Ｂは、実施例に係る変更頻度判定の具体例を示す図である。
【図３】図３は、実施例に係る通信制御の具体例を示す図である。
【図４Ａ】図４Ａは、実施例に係るＧＷサーバの画像送信処理の手順を示すフローチャートである。
【図４Ｂ】図４Ｂは、実施例に係るＧＷサーバの画像送信処理の手順を示すフローチャートである。
【図５】図５は、実施例に係るクライアント端末の画像表示処理の手順を示すフローチャートである。
【図６】図６は、画像送信プログラムを実行するコンピュータの一例を示す図である。
【図７】図７は、画面データ送信方法の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する情報処理装置、端末装置、画像表示システムおよび画像送信プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１４】
［システム構成］
まず、本実施例に係るシンクライアントシステムの構成について説明する。図１は、実施例のシンクライアントシステムに含まれる各装置の構成を示すブロック図である。図１に示すシンクライアントシステム１は、クライアント端末３００が表示する画面をリモートで中継装置であるＧＷ（Gate  Way）サーバ２００に制御させるものである。つまり、シンクライアントシステム１は、実際にはＧＷサーバ２００が実行した処理結果や保持するデータをクライアント端末３００に表示させつつも、あたかもクライアント端末３００が主体となって処理を実行したり、データを保持したりしているかのように振る舞う。
【００１５】
図１に示すシンクライアントシステム１は、サーバ装置であるＷｅｂサーバ１００と、中継装置であるＧＷサーバ２００と、クライアント端末３００とを有する。なお、図１の例では、１つのＧＷサーバ２００に対し、１つのＷｅｂサーバ１００および１つのクライアント端末３００を接続する場合を図示したが、任意の数のＷｅｂサーバおよびクライアント端末を接続できる。
【００１６】
これらＷｅｂサーバ１００、ＧＷサーバ２００およびクライアント端末３００は、所定のネットワークを介して、相互に通信可能に接続される。かかるネットワークには、有線または無線を問わず、インターネット、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）等の任意の種類の通信網を採用できる。なお、ＧＷサーバ２００およびクライアント端末３００間の通信プロトコルには、一例として、ＶＮＣにおけるＲＦＢ（Remote  Frame  Buffer）プロトコルを採用する場合を想定する。
【００１７】
Ｗｅｂサーバ１００は、コンテンツを配信するサーバ装置であり、コンテンツとしてＷｅｂページを配信する。Ｗｅｂサーバ１００は、ＧＷサーバ２００からのページ要求に応じて、対応するＷｅｂページをＧＷサーバ２００に送信する。なお、以下の説明では、Ｗｅｂページのことを単にページと記載する場合がある。
【００１８】
ＧＷサーバ２００は、クライアント端末３００に表示させる画面をリモートで制御するサービスを提供するコンピュータである。このＧＷサーバ２００には、サーバ向けのリモート画面制御用のアプリケーションがインストールまたはプリインストールされる。なお、以下では、サーバ向けのリモート画面制御用のアプリケーションのことを「サーバ側リモート画面制御用アプリ」と記載する場合がある。
【００１９】
このサーバ側リモート画面制御用アプリは、基本機能として、リモート画面制御サービスを提供する機能を有する。例えば、サーバ側リモート画面制御用アプリは、クライアント端末３００における操作情報を取得した上でその操作により要求された処理を自装置で動作するアプリケーションに実行させる。そして、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果を表示するための画面を生成した上でその画面をクライアント端末３００へ送信する。ここでいう画面のサイズは、ＧＷサーバ２００に搭載されたメモリやＯＳ（Operating  System）に依存し、縦の画素数に制限がある。例えば、ＯＳがＷｉｎｄｏｗｓ（登録商標）である場合には、画面のサイズは、横の画素数として１２００、縦の画素数として２０４８を最大とする。このとき、サーバ側リモート画面制御用アプリは、今回の画面生成の前にクライアント端末３００で記憶させていた表示可能領域のビットマップ画像との間で変更があった部分の画素が集まった領域、すなわち更新矩形の画像を送信する。ここでいう表示可能領域とは、クライアント端末３００の表示部に表示するビットマップ画像の領域より大きい領域のことをいい、ＧＷサーバ２００の画面のサイズと同じサイズの領域のことを意味する。なお、更新部分の画像は矩形の画像に限られず、矩形以外の形状であっても良い。
【００２０】
このほか、サーバ側リモート画面制御用アプリは、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント端末３００へ送信する機能も有する。例えば、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果から生成した画面を複数の領域に分割し、分割した領域毎に変更の頻度を監視する。このとき、サーバ側リモート画面制御用アプリは、表示可能領域の中で、クライアント端末３００の表示部に表示されている領域よりも表示されていない領域に対する変更頻度の判定を減らす。サーバ側リモート画面制御アプリは、クライアント端末３００の表示部に表示されていない領域に対するフレームのキャプチャ回数を減らすことで、処理負荷を軽減することができる。そして、サーバ側リモート画面制御用アプリは、変更の頻度がしきい値を超えた領域、すなわち高頻度変更領域の属性情報をクライアント端末３００へ送信する。これとともに、サーバ側リモート画面制御用アプリは、高頻度変更領域のビットマップ画像をＭＰＥＧ−２やＭＰＥＧ−４等のＭＰＥＧ方式のデータにエンコードした上でクライアント端末３００へ送信する。なお、ここでは、ＭＰＥＧ（Moving  Picture  Experts  Group）方式のデータへ圧縮する場合を例示したが、これに限定されない。例えば、動画向けの圧縮方式であれば任意の圧縮符号化方式、例えばＭｏｔｉｏｎ−ＪＰＥＧ（Joint  Photographic  Experts  Group）等を採用できる。
【００２１】
クライアント端末３００は、ＧＷサーバ２００によるリモート画面制御サービスの提供を受ける側のコンピュータである。かかるクライアント端末３００の一例としては、タブレット端末、スマートフォン等を採用できる。また、クライアント端末３００の他の例としては、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistant）等の移動体端末の他、パーソナルコンピュータ（personal  computer）等の固定端末を採用することができる。このクライアント端末３００には、クライアント向けのリモート画面制御用アプリケーションがインストールまたはプリインストールされる。なお、以下では、クライアント向けのリモート画面制御用のアプリケーションのことを「クライアント側リモート画面制御用アプリ」と記載する場合がある。
【００２２】
このクライアント側リモート画面制御用アプリは、タッチパネル、マウスやキーボード等の各種の入力デバイスを介して受け付けた操作情報をＧＷサーバ２００へ通知する機能を有する。例えば、クライアント側リモート画面制御用アプリは、表示部と一体となったタッチパネル上でのパンの操作量、フリックの操作量、タップ等を操作情報として通知する。他の一例としては、クライアント側リモート画面制御用アプリは、マウスの左右のクリックを始め、ダブルクリックやドラッグ、マウスの移動操作を介して得られたマウスカーソルの移動量等を操作情報として通知する。さらに他の一例としては、クライアント側リモート画面制御用アプリは、マウスホイールの回転量、キーボードのうち押下されたキーの種別等も操作情報として通知する。
【００２３】
さらに、クライアント側リモート画面制御用アプリは、ＧＷサーバ２００から受信した画像を画像キャッシュに保持させるとともに、表示部に表示させる機能を有する。ここでいう画像キャッシュは、表示可能領域を記憶するキャッシュメモリのことをいう。一例として、クライアント側リモート画面制御用アプリは、ＧＷサーバ２００から更新矩形のビットマップ画像を受信した場合には、更新矩形の画像を前回のビットマップ画像から変更のあった位置に合わせて表示する。別の一例としては、クライアント側リモート画面制御用アプリは、ＧＷサーバ２００から高頻度変更領域の属性情報を受信した場合には、その属性情報に含まれる位置に対応する表示画面上の領域をビットマップ画像の表示対象外のブランク領域とする。その上で、クライアント側リモート画面制御用アプリは、動画向けの圧縮方式のデータを受信した場合にそのデータをデコードした上でブランク領域に表示する。
【００２４】
また、クライアント端末３００は、ユーザによるスクロールの操作が入力されると、スクロールの操作の操作量に応じて画像キャッシュに記憶された表示可能領域の該当領域を表示部に表示する。スクロールの操作とは、例えば、パン操作であったり、フリック操作であったりする。
【００２５】
［Ｗｅｂサーバの構成］
次に、本実施例に係るＷｅｂサーバの機能的構成について説明する。図１に示すように、Ｗｅｂサーバ１００は、通信部１０１と、読出部１０２と、記憶部１０３とを有する。なお、Ｗｅｂサーバ１００は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや表示デバイス等の機能を有するものとする。
【００２６】
通信部１０１は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１０１は、ネットワークを介してＧＷサーバ２００と有線または無線で接続され、ＧＷサーバ２００との間で情報の通信を司る通信インタフェースである。通信部１０１は、ＧＷサーバ２００からページ要求を受信し、受信したページ要求を読出部１０２に出力する。また、通信部１０１は、読出部１０２から入力されたページをＧＷサーバ２００に送信する。
【００２７】
読出部１０２は、通信部１０１からページ要求が入力されると、対応するページを記憶部１０３から読み出す。読出部１０２は、ページ要求として、例えば、所定ＵＲＬ（Uniform  Resource  Locator）が入力されると、記憶部１０３から所定ＵＲＬに対応するページを読み出す。読出部１０２は、読み出したページを通信部１０１に出力する。
【００２８】
記憶部１０３は、ページを記憶する。ページは、例えば、ＨＴＭＬ（Hyper  Text  Markup  Language）等で記述され、画像等が含まれる。また、ページは、Ｊａｖａ（登録商標）アプレット、Ｊａｖａ（登録商標）ＥＥ（Java  Platform,  Enterprise  Edition）、Ｆｌａｓｈ（登録商標）、Ａｊａｘ等を用いた動的なページであっても良い。ページは、他にも、ＪＰＥＧ等の静止画像、ＭＰＥＧ−２やＭＰＥＧ−４等の動画像を含んでも良い。
【００２９】
［ＧＷサーバの構成］
次に、本実施例に係るＧＷサーバの機能的構成について説明する。図１に示すように、ＧＷサーバ２００は、ＯＳ実行制御部２０１と、第１通信部２０２と、画面生成部２０３と、フレームバッファ２０４と、表示可能領域生成部２０５と、変更頻度判定部２０６と、高頻度変更領域識別部２０７と、エンコーダ２０８とを有する。また、ＧＷサーバ２００は、第２通信部２０９と、操作情報取得部２１０と、画像キャッシュ管理部２１１と、通信制御部２１２とを有する。なお、ＧＷサーバ２００は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや表示デバイス等の機能を有するものとする。
【００３０】
ＯＳ実行制御部２０１は、ＯＳの実行を制御する処理部である。例えば、ＯＳ実行制御部２０１は、第２通信部２０９を介して取得された操作情報からアプリケーションの起動指示やアプリケーションに対するコマンドを検出する。例えば、ＯＳ実行制御部２０１は、アプリケーションのアイコン上でタップを検出した場合に、そのアイコンに対応するアプリケーションを起動する。また、ＯＳ実行制御部２０１は、起動中のアプリケーションの操作画面、いわゆるウィンドウ上でコマンドの実行を要求する操作を検出した場合に、そのコマンドの実行を当該アプリケーションへ指示する。なお、以下では、アプリケーションのことを「アプリ」と記載する場合がある。また、ＯＳ実行制御部２０１は、リモート画面および各アプリケーションの画面の画像を記憶するフレームバッファ２０４を有し、リモート画面全体を制御する。
【００３１】
第１通信部２０２は、例えば、ＮＩＣ等によって実現される。第１通信部２０２は、ネットワークを介してＷｅｂサーバ１００と有線または無線で接続され、Ｗｅｂサーバ１００との間で情報の通信を司る通信インタフェースである。第１通信部２０２は、Ｗｅｂサーバ１００に対してページ要求を送信する。また、第１通信部２０２は、Ｗｅｂサーバ１００からページを受信する。
【００３２】
画面生成部２０３は、第１通信部２０２から入力されたページに基づいて、画面生成を実行する。例えば、画面生成部２０３は、アプリケーションとしてＷｅｂブラウザ機能を有し、ページのＨＴＭＬ等に従ってページに対応する画像を生成する。すなわち、画面生成部２０３は、表示画面（「Ｗｅｂブラウザ画面」という）内に現れる領域の画像を生成し、フレームバッファ２０４に描画して記憶する。言い換えると、画面生成部２０３は、クライアント端末１の画像キャッシュに保持させる画像を生成しているともいえる。なお、表示画面のサイズは、一例として、ＯＳがＷｉｎｄｏｗｓ（登録商標）である場合には、横の画素数として１２００、縦の画素数として２０４８を最大とする。
【００３３】
また、画面生成部２０３は、ＯＳ実行制御部２０１による指示に基づいて、アプリケーションの実行を制御したり、画面生成を実行したりする。例えば、画面生成部２０３は、ＯＳ実行制御部２０１によりアプリの起動が指示された場合や起動中のアプリにコマンドの実行が指示された場合にアプリを動作させる。そして、画面生成部２０３は、アプリを実行することにより得られた処理結果の画像を生成し、フレームバッファ２０４に描画して記憶する。
【００３４】
フレームバッファ２０４は、画面生成部２０３により描画されたページ全体に対応する画像であるビットマップ画像を記憶する記憶デバイスである。かかるフレームバッファ２０４の一態様としては、ＶＲＡＭ（Video  Random  Access  Memory）を始めとするＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）等の半導体メモリ素子が挙げられる。なお、フレームバッファ２０４は、ハードディスク、光ディスク等の記憶装置を採用することとしてもかまわない。
【００３５】
表示可能領域生成部２０５は、クライアント端末３００の画像キャッシュ３０６に保持させる表示可能領域の画像を生成する。例えば、表示可能領域生成部２０５は、画面生成部２０３によりフレームバッファ２０４へビットマップデータが格納される度に、次のような処理を起動する。すなわち、表示可能領域生成部２０５は、前回のフレーム生成時に生成された画面データフレームと、今回のフレーム生成時にフレームバッファ２０４へ書き込まれた画面データフレームとを比較する。そして、表示可能領域生成部２０５は、前回のフレームから変更があった部分の画素をつなげ合わせた上で矩形に整形した更新矩形の画像を生成し、変更頻度判定部２０６に出力する。
【００３６】
また、表示可能領域生成部２０５は、現在表示されているページの次のページのビットマップデータが画面生成部２０３によりフレームバッファ２０４へ格納されると、表示可能領域の最大画面サイズに応じた画像を生成し、画像キャッシュ管理部２１１に出力する。なお、表示可能領域生成部２０５は、初回のページについても、初回のページのビットマップデータが画面生成部２０３によりフレームバッファ２０４へ格納されると、表示可能領域の最大画面サイズに応じた画像を生成し、画像キャッシュ管理部２１１に出力する。
【００３７】
変更頻度判定部２０６は、フレームバッファ２０４に描画された画像を分割した領域毎に、フレーム間の変更の頻度を判別する。例えば、変更頻度判別部２０６は、表示可能領域生成部２０５により生成された更新矩形を図示しない作業用の内部メモリへ所定の期間にわたって蓄積する。このとき、変更頻度判定部２０６は、更新矩形の位置および大きさを特定可能な属性情報、例えば更新矩形の左上の頂点の座標と更新矩形の幅および高さとを蓄積する。かかる更新矩形を蓄積させる期間は、高頻度変更領域を識別する精度と相関関係があり、期間を長くするほど高頻度変更領域の誤検出が低減される。一例として、変更頻度判定部２０６は、１秒間にわたって更新矩形の画像を蓄積する。
【００３８】
このとき、変更頻度判定部２０６は、更新矩形の画像を蓄積してから所定の期間が経過した場合に、クライアント端末３００の画像キャッシュ３０６に保持させる表示可能領域をメッシュ状に分割したマップを用いて、表示可能領域の変更頻度を判別する。変更頻度判定部２０６は、表示可能領域のうちクライアント端末３００の表示部に表示されている領域よりも表示されていない領域に対する変更頻度の判定を減らす。一例として、変更頻度判定部２０６は、表示可能領域のうちクライアント端末３００の表示部に表示されている領域に対する変更頻度を３０ＦＰＳ（Frames  Per  Second）で判定する。変更頻度判定部２０６は、表示可能領域のうちクライアント端末３００の表示部に表示されていない領域に対する変更頻度を２ＦＰＳ（Frames  Per  Second）で判定する。これにより、変更頻度判定部２０６は、クライアント端末３００の表示部に表示されていない領域に対するフレームのキャプチャ回数を減らすことで、処理負荷を軽減することができる。
【００３９】
高頻度変更領域識別部２０７は、クライアント端末３００の画像キャッシュに保持される表示可能領域のうち高頻度で変更される領域を高頻度変更領域として識別する。例えば、高頻度変更領域識別部２０７は、変更頻度判定部２０６により変更回数がしきい値を超えるメッシュが取得された場合に、隣接するメッシュ同士を連結したメッシュ連結体を矩形に補正する。一例としては、高頻度変更領域識別部２０７は、メッシュ連結体に補間する補間領域を導出した上でメッシュ連結体に補間領域を足し合わせることによりメッシュ連結体を矩形に補正する。この補間領域の導出には、メッシュの連結体が最小の補間で矩形に整形される領域を導出するアルゴリズム（algorithm）が適用される。上記の「しきい値」は、サーバ側リモート画面制御用アプリの開発者が段階的に設定した値をエンドユーザに選択させたり、エンドユーザが値を直接設定したりすることができる。なお、高頻度変更領域識別部２０７によって行われる高頻度変更領域の識別手法には、様々な手法を用いることができる。例えば、特開２０１１-２３８０１４号公報によって示される技術を用いることができる。
【００４０】
エンコーダ２０８は、高頻度変更領域識別部２０７から入力される高頻度変更領域の画像をエンコードする。例えば、エンコーダ２０８は、高頻度変更領域識別部２０７から入力された高頻度変更領域のビットマップ画像がストリーム（stream）を形成可能なフレーム数に到達した段階で高頻度変更領域のビットマップ画像をエンコードする。なお、エンコード方式の一態様としては、ＭＰＥＧ−２やＭＰＥＧ−４等のＭＰＥＧ方式やＭｏｔｉｏｎ−ＪＰＥＧ方式が挙げられる。
【００４１】
第２通信部２０９は、例えば、ＮＩＣ等によって実現される。第２通信部２０９は、ネットワークを介してクライアント端末３００と有線または無線で接続され、クライアント端末３００との間で情報の通信を司る通信インタフェースである。例えば、第２通信部２０９は、表示可能領域生成部２０５により生成された更新矩形の画像および属性情報をクライアント端末３００へ送信する。この更新矩形を送信する場合の通信プロトコルには、一例としてＶＮＣにおけるＲＦＢプロトコルが採用される。また、別の例として、第２通信部２０９は、エンコーダ２０８によりエンコードされた高頻度変更領域のエンコード画像をクライアント端末３００へ送信する処理部である。この高頻度変更領域のエンコード画像を送信する場合の通信プロトコルには、一例として、ＲＴＰ（Real-time  Transport  Protocol）を採用できる。
【００４２】
操作情報取得部２１０は、第２通信部２０９を介して、クライアント端末３００から操作情報を取得する。かかる操作情報の一例としては、スクロールイベントに関する操作情報であり、タッチパネル上でのフリックの操作量、パンの操作量等が挙げられる。操作情報の他の一例としては、タッチパネル上でのタップ等が挙げられる。また、操作情報の他の一例としては、マウスの左右のクリックを始め、ダブルクリックやドラッグ、マウスの移動操作を介して得られたマウスカーソルの移動量等が挙げられる。また、操作情報の他の一例としては、マウスホイールの回転量、キーボードのうち押下されたキーの種別等も挙げられる。
【００４３】
画像キャッシュ管理部２１１は、クライアント端末３００の画像キャッシュを管理する。これは、クライアント端末３００の画像キャッシュに保持される表示可能領域とＷｅｂブラウザ画面との同期をとるためである。例えば、画像キャッシュ管理部２１１は、操作情報取得部２１０により取得された操作情報がスクロールイベントに関する情報である場合には、スクロールイベント後のクライアント端末３００の表示部３０８に表示されている領域の表示可能領域の中の位置情報を記憶する。また、画像キャッシュ管理部２１１は、操作情報取得部２１０により取得された操作情報がＷｅｂブラウザ画面をスクロールさせるイベントに関する情報である場合には、第１通信部２０２を介して、Ｗｅｂサーバ１００に対して次のページを要求する。この後、画面生成部２０３が、要求に基づいて入力された次のページに対応する画像を生成し、フレームバッファ２０４に描画して記憶することになる。そして、画像キャッシュ管理部２１１は、表示可能領域生成部２０５から出力された表示可能領域の最大画面サイズに応じた画像を第２通信部２０９に出力する。
【００４４】
通信制御部２１２は、第２通信部２０９の通信を制御する。例えば、通信制御部２１２は、クライアント端末３００で表示部３０８に表示されている領域の位置情報を用いて、クライアント端末３００で現に表示されている領域の更新矩形の画像を表示されていない領域の更新矩形の画像より先行して送信する。さらに、通信制御部２１２は、表示されていない領域の更新矩形の画像を送信する際に、表示可能領域内の移動方向における領域の更新矩形の画像を先行して送信しても良い。
【００４５】
また、通信制御部２１２は、クライアント端末３００とＧＷサーバ２００との通信経路の可用帯域を推定する。通信制御部２１２は、クライアント端末３００の表示部３０８に表示されている領域の更新画像の送信に必要な帯域を推定し、推定した帯域を用いて該更新画像を送信するように通信を制御する。そして、通信制御部２１２は、残りの帯域を用いて表示されていない領域の更新画像を送信するように通信を制御する。このとき、通信制御部２１２は、表示されていない領域の更新画像が残りの帯域に収まらない場合には、該更新画像の今回の送信をスキップすれば良い。言い換えれば、通信制御部２１２は、かかる場合には、表示されていない領域の送信間隔を所定時間長くすれば良い。
【００４６】
［クライアント端末の構成］
次に、本実施例に係るクライアント端末の機能的構成について説明する。図１に示すように、クライアント端末３００は、入力部３０１と、操作情報取得部３０２と、通信部３０３と、デコーダ３０４と、描画処理部３０５と、画像キャッシュ３０６と、画像キャッシュ管理部３０７と、表示部３０８とを有する。なお、クライアント端末３００は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば音声出力部等の機能を有するものとする。
【００４７】
入力部３０１は、ユーザから各種操作を受け付ける入力デバイスである。例えば、入力部３０１は、タッチパネル、マウスやキーボード等によって実現される。また、入力部３０１は、タッチパネルを用いる場合には、表示デバイスである表示部３０８と一体化される。
【００４８】
操作情報取得部３０２は、入力部３０１により受け付けられた、ユーザの操作に応じた操作情報を取得する。かかる操作情報の一例は、操作情報取得部２１０で説明したものと同様である。すなわち、操作情報の一例としては、スクロールイベントに関する操作情報であり、タッチパネル上でのパンの操作量、フリックの操作量等が挙げられる。操作情報の他の一例としては、タッチパネル上でのタップ等が挙げられる。また、操作情報の他の一例としては、マウスの左右のクリックを始め、ダブルクリックやドラッグ、マウスの移動操作を介して得られたマウスカーソルの移動量等が挙げられる。また、操作情報の他の一例としては、マウスホイールの回転量、キーボードのうち押下されたキーの種別等も挙げられる。
【００４９】
通信部３０３は、例えば、ＮＩＣ等によって実現され、送信部および受信部を有する。通信部３０３は、ネットワークを介してＧＷサーバ２００と有線または無線で接続され、ＧＷサーバ２００との間で情報の通信を司る通信インタフェースである。通信部３０３は、操作情報取得部３０２により取得された操作情報を、ネットワークを介してＧＷサーバ２００に送信する。また、通信部３０３は、ＧＷサーバ２００から圧縮データを受信すると、デコーダ３０４または描画処理部３０５に対して圧縮データを出力する。圧縮データには、表示可能領域における最大画面サイズの画像も含まれる。
【００５０】
デコーダ３０４は、通信部３０３により受信された高頻度変更領域のエンコード画像をデコードする。なお、デコーダ３０４には、ＧＷサーバ２００に搭載されるエンコード方式に適合するデコード方式のデコーダが搭載される。
【００５１】
描画処理部３０５は、通信部３０３による高頻度変更領域の属性情報に基づき、デコーダ３０４によりデコードされた高頻度変更領域のデコード画像を画像キャッシュ３０６に描画して記憶する。一例としては、描画処理部３０５は、高頻度変更領域の属性情報に含まれる高頻度変更領域の位置および大きさに対応する、画像キャッシュ３０６の表示可能領域に高頻度変更領域のデコード画像を記憶する。
【００５２】
また、描画処理部３０５は、通信部３０３により受信された更新矩形の画像を画像キャッシュ３０６に描画して記憶する。一例としては、描画処理部３０５は、通信部３０３により受信された更新矩形の属性情報に含まれる位置および大きさに対応する画像キャッシュ３０６の表示可能領域に更新矩形のビットマップ画像を記憶する。また、描画処理部３０５は、通信部３０３により高頻度変更領域の属性情報が受信された場合には、次のような処理を行う。すなわち、描画処理部３０５は、高頻度変更領域の属性情報に含まれる高頻度変更領域の位置および大きさに対応する画像キャッシュ３０６の表示可能領域をビットマップ画像の表示対象外のブランク領域とする。なお、描画処理部３０５によって行われる描画処理の手法には、様々な手法を用いることができる。例えば、特開２０１１-２３８０１４号公報によって示される技術を用いることができる。
【００５３】
画像キャッシュ３０６は、描画処理部３０５により描画されたビットマップデータを記憶する。画像キャッシュ３０６は、表示部３０８に表示させることが可能な表示可能領域を記憶し、表示部３０８に表示するビットマップ画像の領域より大きい領域を記憶する。すなわち、画像キャッシュ３０６は、ＧＷサーバ２００のＷｅｂブラウザ画面のサイズに対応する領域となる。かかる画像キャッシュ３０６の一態様としては、ＶＲＡＭ（Video  Random  Access  Memory）を始めとするＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）等の半導体メモリ素子が挙げられる。なお、画像キャッシュ３０６は、ハードディスク、光ディスク等の記憶装置を採用することとしてもかまわない。
【００５４】
画像キャッシュ管理部３０７は、画像キャッシュ３０６を管理する。これは、画像キャッシュ３０６に保持される表示可能領域とＷｅｂブラウザ画面との同期をとるためである。例えば、画像キャッシュ管理部３０７は、操作情報取得部３０２により取得された操作情報がスクロールイベントに関する操作情報である場合には、操作情報に含まれるスクロール量に応じて画像キャッシュ３０６に記憶された表示可能領域の該当領域を表示部３０８に表示する。このとき、画像キャッシュ管理部３０７は、操作のスクロール量が表示可能領域の最下部を超える移動となる場合には、スクロールイベントを、ＧＷサーバ２００のＷｅｂブラウザ画面をスクロールさせるイベントに変換する。画像キャッシュ管理部３０７は、変換されたイベントの操作情報を、通信部３０３を介して、ＧＷサーバ２００に対して送信する。これは、ＧＷサーバ２００に対して、次のページをＷｅｂサーバ１００に要求させるためである。そして、画像キャッシュ管理部３０７は、操作情報に含まれるスクロール量に応じて画像キャッシュ３０６に記憶された表示可能領域の該当領域を表示部３０８に表示する。この後、描画処理部３０５は、最大画面サイズに応じた次のページのビットマップ画像を画像キャッシュ３０６の表示可能領域に記憶することになる。
【００５５】
表示部３０８は、各種の情報、例えばＧＷサーバ２００から送信されたＷｅｂブラウザ画面内の領域等を表示する表示デバイスであり、一例としては、モニタ（monitor）、ディスプレイ（display）やタッチパネル（touch  panel）等を適用できる。
【００５６】
［変更頻度判定の具体例］
図２Ａおよび図２Ｂは、実施例に係る変更頻度判定の具体例を示す図である。なお、Ｗｅｂサーバ１００のＷｅｂ画面には、コンテンツ全体として横の画素数１２００、縦の画素数３６００のページが表示される場合とする。
【００５７】
図２Ａに示すように、ＧＷサーバ２００のＷｅｂブラウザ画面には、Ｗｅｂサーバ１００のＷｅｂ画面に表示されているコンテンツ全体のうちＷｅｂブラウザ画面の最大画面サイズのコンテンツを表示している。Ｗｅｂブラウザ画面の最大画面サイズは、横の画素数１２００、縦の画素数２０４８であるとする。ここでは、Ｗｅｂブラウザ画面には、動画１、動画２、動画３が含まれている。
【００５８】
クライアント端末３００では、画像キャッシュ３０６は、Ｗｅｂブラウザ画面と同じ大きさ（横の画素数１２００、縦の画素数２０４８）の画像を表示可能領域として記憶する。表示可能領域の中で表示部３０８に表示されている領域は、横の画素数１２００、縦の画素数８００の矩形領域である。ここでは、符号ａ１で示される矩形領域が表示されている領域であり、それ以外の領域が表示されていない領域である。
【００５９】
ＧＷサーバ２００では、画像キャッシュ管理部２１１が、クライアント端末３００から送信される、表示部３０８に表示されている領域の表示可能領域の中の位置情報を管理する。
【００６０】
ＧＷサーバ２００では、変更頻度判定部２０６は、フレームバッファ２０４に描画された画像を分割した領域毎に、フレーム間の変更の頻度を判別する。このとき、変更頻度判定部２０６は、クライアント端末３００の表示可能領域のうち表示部３０８に表示されている領域よりも表示されていない領域に対する変更頻度の判定を減らす。ここでは、符号ａ１で示される矩形領域が表示されている領域であるので、符号ｂ１で示される領域が表示されている領域に対応し、符号ｂ２で示される領域が表示されていない領域に対応する。そこで、変更頻度判定部２０６は、表示されている領域（符号ｂ１）よりも表示されていない領域（符号ｂ２）に対する変更頻度の判定を減らす。図２Ａの例では、変更頻度判定部２０６は、表示されている領域について、フレームを３０ＦＰＳ（frame  per  second）でキャプチャして変更頻度を判定する。変更頻度判定部２０６は、表示されていない領域について、フレームを２ＦＰＳでキャプチャして変更頻度を判定する。
【００６１】
この結果、高頻度変更領域識別部２０７は、表示されている領域における動画部分を高頻度変更領域として識別する。そして、第２通信部２０９は、高頻度変更領域のエンコード画像を更新画像としてクライアント端末３００に送信する。ここでは、動画１と動画２の表示されている領域に含まれる部分が高頻度変更領域と識別され、第２通信部２０９は、高頻度変更領域のエンコード画像を更新画像としてクライアント端末３００に送信する。つまり、表示されている領域では、第２通信部２０９は、動画部分を動画で送信する。
【００６２】
一方、高頻度変更領域識別部２０７は、表示されていない領域における動画部分を高頻度変更領域として識別しない。すなわち、表示されていない領域では、変更頻度の判定が減らされるので、高頻度変更領域識別部２０７は、動画部分であっても変更頻度が低くなり、高頻度変更領域として識別されない。そして、第２通信部２０９は、更新矩形の画像を更新画像としてクライアント端末３００に送信する。つまり、表示されていない領域では、第２通信部２０９は、動画部分であっても動画化せずに更新画像を静止画で送信する。動画２の表示されていない領域ｂ２に含まれる部分と動画３は、静止画で送信される。
【００６３】
図２Ｂに示すように、クライアント端末３００では、ユーザが表示部３０８上で移動方向を下とするスクロール操作の入力を行ったとする。すると、操作情報取得部３０２は、入力部３０１により受け付けられたスクロールイベントに関する操作情報を受け付け、受け付けた操作情報を、通信部３０３を介してＧＷサーバ２００に送信する。操作情報には、スクロール量、すなわち、表示部３０８に表示されている領域の表示可能領域の中の位置情報が含まれる。なお、操作情報に含まれるスクロール量に応じて、画像キャッシュ管理部３０７は、画像キャッシュ３０６に記憶された表示可能領域から該当領域を読み出して表示部３０８に表示する。ここでは、符号ａ２で示される矩形領域が表示部３０８に表示されている領域であり、それ以外の領域が表示されていない領域である。
【００６４】
ＧＷサーバ２００では、画像キャッシュ管理部２１１が、クライアント端末３００から送信される、表示部３０８に表示されている領域の表示可能領域の中の位置情報を管理する。
【００６５】
ＧＷサーバ２００では、変更頻度判定部２０６は、フレームバッファ２０４に描画された画像を分割した領域毎に、フレーム間の変更の頻度を判別する。このとき、変更頻度判定部２０６は、クライアント端末３００の表示可能領域のうち表示部３０８に表示されている領域よりも表示されていない領域に対する変更頻度の判定を減らす。ここでは、符号ｂ３で示される領域が表示されている領域ａ２に対応し、符号ｂ４、ｂ５で示される領域が表示されていない領域に対応する。そこで、変更頻度判定部２０６は、表示されている領域（符号ｂ３）よりも表示されていない領域（符号ｂ４、ｂ５）に対する変更頻度の判定を減らす。図２Ｂの例では、変更頻度判定部２０６は、表示されている領域ｂ３について、フレームを３０ＦＰＳ（frame  per  second）でキャプチャして変更頻度を判定する。変更頻度判定部２０６は、表示されていない領域ｂ４、ｂ５について、フレームを２ＦＰＳでキャプチャして変更頻度を判定する。
【００６６】
この結果、高頻度変更領域識別部２０７は、表示されている領域ｂ３における動画部分（動画１の一部、動画２）を高頻度変更領域として識別する。そして、第２通信部２０９は、高頻度変更領域のエンコード画像を更新画像としてクライアント端末３００に送信する。ここでは、動画１の表示されている領域に含まれる部分と動画２が高頻度変更領域と識別され、第２通信部２０９は、高頻度変更領域のエンコード画像を更新画像としてクライアント端末３００に送信する。つまり、表示されている領域では、第２通信部２０９は、動画部分を動画で送信する。
【００６７】
一方、高頻度変更領域識別部２０７は、表示されていない領域ｂ４、ｂ５における動画部分を高頻度変更領域として識別しない。すなわち、表示されていない領域では、変更頻度の判定が減らされるので、高頻度変更領域識別部２０７は、動画部分であっても変更頻度が低くなり、高頻度変更領域として識別されない。そして、第２通信部２０９は、更新矩形の画像を更新画像としてクライアント端末３００に送信する。つまり、表示されていない領域では、第２通信部２０９は、動画部分であっても動画化せずに更新画像を静止画で送信する。動画１の表示されていない領域ｂ４に含まれる部分と動画３は、静止画で送信される。
【００６８】
これにより、ＧＷサーバ２００は、クライアント端末３００の表示部３０８の表示領域より大きい領域（表示可能領域）について変更頻度の判定処理を行うことによる処理負荷を軽減することができる。また、ＧＷサーバ２００は、クライアント端末３００の表示部３０８の表示領域より大きい領域（表示可能領域）について変更頻度の判定処理を含む画像処理を行うことで、クライアント端末３００の操作性を向上させることができる。
【００６９】
［通信制御の具体例］
図３は、実施例に係る通信制御の具体例を示す図である。なお、図３では、図２Ｂで示した状況と同じ状況での通信制御について説明する。すなわち、クライアント端末３００において、符号ａ２で示される矩形領域が表示部３０８に表示されている領域であり、それ以外の領域が表示されていない領域である。ＧＷサーバ２００において、符号ｂ３で示される領域が表示されている領域ａ２に対応し、符号ｂ４、ｂ５で示される領域が表示されていない領域に対応する。
【００７０】
通信制御部２１２は、クライアント端末３００とＧＷサーバ２００との通信経路の可用帯域を推定する。ここでは、可用帯域は、５Ｍｂｐｓであると推定されるとする。
【００７１】
また、通信制御部２１２は、表示されている領域ｂ３の更新画像の送信に必要な帯域を推定し、推定した帯域を用いて、表示されている領域ｂ３の更新画像を送信するように通信を制御する。ここでは、表示されている領域ｂ３の更新画像の送信に必要な帯域が、４Ｍｂｐｓであると推定されるとする。すると、通信制御部２１２は、可用帯域の４Ｍｂｐｓを用いて、表示されている領域ｂ３に含まれる動画領域（動画１、動画２）の更新画像を送信する。
【００７２】
また、通信制御部２１２は、残りの帯域を用いて、表示されていない領域ｂ４、ｂ５の更新画像を送信するように通信を制御する。このとき、通信制御部２１２は、表示されていない領域ｂ４、ｂ５の更新画像が残りの帯域に収まらない場合には、今回の送信をスキップすれば良い。これにより、通信制御部２１２は、表示部３０８に表示されていない領域に対応する領域ｂ４、ｂ５の画像を余剰帯域で送信することで、表示部３０８に表示されている領域に対応する領域ｂ３の画像を確実に送信することができる。この結果、通信制御部２１２は、クライアント端末３００側の操作性を担保できる。
【００７３】
また、通信制御部２１２は、表示されていない領域ｂ４、ｂ５の更新画像を送信する際に、表示可能領域内の移動方向における領域の更新画像を先行して送信するように通信を制御する。図３の例では、ユーザによりスクロール操作された移動方向は下方向である。すると、通信制御部２１２は、表示されている領域ｂ３より下方向の表示されていない領域ｂ５を領域ｂ４より先行して送信する。これにより、通信制御部２１２は、移動方向の表示されていない領域ｂ５を先行して送信することで、表示されていない領域ｂ４、ｂ５に含まれる動画を静止画で送信することによるデータ転送量の増加を抑止できる。
【００７４】
［ＧＷサーバの画像送信処理のフローチャート］
次に、ＧＷサーバ２００の画像送信処理のフローチャートを、図４Ａおよび図４Ｂを参照して説明する。図４Ａおよび図４Ｂは、実施例に係るＧＷサーバの画像送信処理の手順を示すフローチャートである。なお、ＧＷサーバ２００の画像送信処理は、クライアント端末３００から所定ＵＲＬのＷｅｂ画面データの依頼要求を受け付けた場合に起動するものとする。
【００７５】
クライアント端末３００から所定ＵＲＬのＷｅｂ画面データの依頼要求を受け付けると、画面生成部２０３は、ＯＳ実行制御部２０１の指示に基づき、Ｗｅｂブラウザを初期化する（ステップＳ１１）。すなわち、画面生成部２０３は、Ｗｅｂブラウザを最大サイズで起動する。
【００７６】
そして、画面生成部２０３は、Ｗｅｂサーバ１００から所定ＵＲＬのＷｅｂ画面データを取得する（ステップＳ１２）。すると、画面生成部２０３は、所定ＵＲＬのＷｅｂ画面データをＷｅｂブラウザで表示する（ステップＳ１３）。例えば、画面生成部２０３は、Ｗｅｂ画面データに対応する画像を生成し、フレームバッファ２０４に描画して記憶する。そして、画面生成部２０３は、生成した画像をＷｅｂブラウザ画面に表示する。
【００７７】
続いて、画像キャッシュ管理部２１１は、クライアント端末３００に所定ＵＲＬのキャッシュ用データを送信したか否かを判定する（ステップＳ１４）。ここでいうキャッシュ用データとは、所定ＵＲＬにおける表示可能領域の最大画面サイズに応じた画像のことをいう。すなわち、キャッシュ用データとは、画像キャッシュ３０６に保持させる画像のことをいう。
【００７８】
画像キャッシュ管理部２１１は、クライアント端末３００に所定ＵＲＬのキャッシュ用データを送信したと判定した場合には（ステップＳ１４；Ｙｅｓ）、ステップＳ１６に移行する。
【００７９】
一方、画像キャッシュ管理部２１１は、クライアント端末３００に所定ＵＲＬのキャッシュ用データを送信していないと判定した場合には（ステップＳ１４；Ｎｏ）、キャッシュ用データをクライアント端末３００に送信する（ステップＳ１５）。そして、画像キャッシュ管理部２１１は、ステップＳ１６に移行する。
【００８０】
ステップＳ１６では、操作情報取得部２１０が、第２通信部２０９を介して、クライアント端末３００からイベントを受信したか否かを判定する（ステップＳ１６）。操作情報取得部２１０が、クライアント端末３００からイベントを受信しなかったと判定した場合には（ステップＳ１６；Ｎｏ）、受信した要求に応じた個別操作の処理の実行をＯＳ実行制御部２０１に依頼する（ステップＳ１７）。
【００８１】
一方、操作情報取得部２１０が、クライアント端末３００からイベントを受信したと判定した場合には（ステップＳ１６；Ｙｅｓ）、受信したイベントがスクロールイベントであるか否かを判定する（ステップＳ１８）。操作情報取得部２１０は、受信したイベントがスクロールイベントでないと判定した場合には（ステップＳ１８；Ｎｏ）、ステップＳ２４に移行する。
【００８２】
一方、操作情報取得部２１０は、受信したイベントがスクロールイベントであると判定した場合には（ステップＳ１８；Ｙｅｓ）、受信したイベントがＷｅｂブラウザ画面をスクロールさせるイベントであるか否かを判定する（ステップＳ１９）。
【００８３】
操作情報取得部２１０が、受信したイベントがＷｅｂブラウザ画面をスクロールさせるイベントである場合には（ステップＳ１９；Ｙｅｓ）、画像キャッシュ管理部２１１は、以下の処理を行う。すなわち、画像キャッシュ管理部２１１は、次のページのＷｅｂ画面データを、第１通信部２０２を介してＷｅｂサーバ１００に対して要求する。そして、画面生成部２０３は、次のページのＷｅｂ画面データを取得する（ステップＳ２２）。そして、画面生成部２０３は、次のページのＷｅｂ画面データをＷｅｂブラウザで表示する（ステップＳ２３）。そして、画像キャッシュ管理部２１１は、キャッシュ用データをクライアント端末３００に送信すべく、ステップＳ１５に移行する。
【００８４】
一方、操作情報取得部２１０が、受信したイベントがＷｅｂブラウザ画面をスクロールさせるイベントでないと判定した場合には（ステップＳ１９；Ｎｏ）、画像キャッシュ管理部２１１は、端末表示領域の位置情報を記憶する（ステップＳ２０）。端末表示領域の位置情報とは、スクロールイベントに関する操作情報に含まれる位置情報のことをいい、クライアント端末３００の表示部３０８に表示されている領域の表示可能領域の中の位置情報のことをいう。
【００８５】
そして、画像キャッシュ管理部２１１は、Ｗｅｂブラウザを、端末表示領域の位置情報に応じて所定距離だけスクロール処理を行う（ステップＳ２１）。
【００８６】
続いて、変更頻度判定部２０６は、クライアント端末３００の表示部３０８に表示されている領域について、フレームを３０ＦＰＳでキャプチャし、前フレームとの差分を判定する（ステップＳ３１）。例えば、変更頻度判定部２０６は、フレームバッファ２０４に描画された画像を分割した領域毎にフレーム間の変更の頻度を判別する。変更頻度判定部２０６は、クライアント端末３００の表示部３０８に表示されている領域に対応する領域について、フレームを３０ＦＰＳでキャプチャし、変更頻度を判定する。
【００８７】
そして、変更頻度判定部２０６は、クライアント端末３００の表示部３０８に表示されていない領域について、フレームを２ＦＰＳでキャプチャし、前フレームとの差分を判定する（ステップＳ３２）。例えば、変更頻度判定部２０６は、フレームバッファ２０４に描画された画像を分割した領域毎にフレーム間の変更の頻度を判別する。変更頻度判定部２０６は、クライアント端末３００の表示部３０８に表示されていない領域に対応する領域について、フレームを２ＦＰＳでキャプチャし、変更頻度を判定する。
【００８８】
続いて、変更頻度判定部２０６は、描画更新があるか否かを判定する（ステップＳ３３）。変更頻度判定部２０６は、描画更新がないと判定した場合には（ステップＳ３３；Ｎｏ）、次のイベントの受信を待ち合わせるべく、ステップＳ１６に移行する。
【００８９】
一方、変更頻度判定部２０６は、描画更新があると判定した場合には（ステップＳ３３；Ｙｅｓ）、通信制御部２１２は、送信可能な帯域（可用帯域）を推定する（ステップＳ３４）。そして、通信制御部２１２は、描画更新がクライアント端末３００の表示部３０８に表示されている領域内であるか否かを判定する（ステップＳ３５）。通信制御部２１２は、描画更新がクライアント端末３００の表示部３０８に表示されている領域内でないと判定した場合には（ステップＳ３５；Ｎｏ）、ステップＳ３８に移行する。
【００９０】
一方、通信制御部２１２は、描画更新がクライアント端末３００の表示部３０８に表示されている領域内であると判定した場合には（ステップＳ３５；Ｙｅｓ）、動画または静止画に応じて圧縮された更新画像を可用帯域で送信するように制御する（ステップＳ３６）。そして、通信制御部２１２は、クライアント端末３００の表示部３０８に表示されていない領域に描画更新があるか否かを判定する（ステップＳ３７）。
【００９１】
通信制御部２１２は、クライアント端末３００の表示部３０８に表示されていない領域に描画更新がないと判定した場合には（ステップＳ３７；Ｎｏ）、送信をスキップする（ステップＳ４０）。そして、通信制御部２１２は、次のイベントの受信を待ち合わせるべく、ステップＳ１６に移行する。
【００９２】
一方、通信制御部２１２は、クライアント端末３００の表示部３０８に表示されていない領域に描画更新があると判定した場合には（ステップＳ３７；Ｙｅｓ）、静止画圧縮して送信した場合に余剰帯域があるか否かを判定する（ステップＳ３８）。通信制御部２１２は、静止画圧縮して送信した場合に余剰帯域がないと判定した場合には（ステップＳ３８；Ｎｏ）、送信をスキップすべく、ステップＳ４０に移行する。
【００９３】
一方、通信制御部２１２は、静止画圧縮して送信した場合に余剰帯域があると判定した場合には（ステップＳ３８；Ｙｅｓ）、次の処理を行う。すなわち、通信制御部２１２は、スクロール方向に応じた優先順位に応じて、クライアント端末３００の表示部３０８に表示されていない領域の描画更新を静止画圧縮で送信するように制御する（ステップＳ３９）。そして、通信制御部２１２は、次のイベントの受信を待ち合わせるべく、ステップＳ１６に移行する。
【００９４】
ステップＳ２４において、操作情報取得部２１０は、受信したイベントが終了イベントであるか否かを判定する（ステップＳ２４）。操作情報取得部２１０は、受信したイベントが終了イベントでないと判定した場合には（ステップＳ２４；Ｎｏ）、受信したイベントに応じた個別操作の処理を実行すべく、ステップＳ１７に移行する。
【００９５】
一方、操作情報取得部２１０は、受信したイベントが終了イベントであると判定した場合には（ステップＳ２４；Ｙｅｓ）、画像送信処理を終了する。
【００９６】
［クライアント端末の画像表示処理のフローチャート］
次に、クライアント端末３００の画像表示処理のフローチャートを、図５を参照して説明する。図５は、実施例に係るクライアント端末の画像表示処理の手順を示すフローチャートである。
【００９７】
通信部３０３は、ＧＷサーバ２００からデータを受信した否かを判定する（ステップＳ５１）。通信部３０３は、ＧＷサーバ２００からデータを受信しなかったと判定した場合に（ステップＳ５１；Ｎｏ）、ユーザからの入力処理の判定をすべく、ステップＳ５６に移行する。一方、通信部３０３は、ＧＷサーバ２００からデータを受信したと判定した場合に（ステップＳ５１；Ｙｅｓ）、受信したデータが描画更新データであるか否かを判定する（ステップＳ５２）。
【００９８】
通信部３０３は、受信したデータが描画更新データでないと判定した場合には（ステップＳ５２；Ｎｏ）、以下の処理を行う。すなわち、描画処理部３０５は、Ｗｅｂ画面データのうち、ＧＷサーバ２００から受信した最大画面サイズに応じた画面データを画像キャッシュ３０６に格納する（ステップＳ５３）。そして、画像キャッシュ管理部３０７は、ステップＳ５５に移行する。
【００９９】
一方、通信部３０３は、受信したデータが描画更新データであると判定した場合には（ステップＳ５２；Ｙｅｓ）、以下の処理を行う。すなわち、デコーダ３０４は、受信した描画更新データを圧縮方式（動画、静止画）に応じて復元する。描画処理部３０５は、画像キャッシュ３０６の相当する部分を更新する（ステップＳ５４）。そして、画像キャッシュ管理部３０７は、ステップＳ５５に移行する。
【０１００】
ステップＳ５５では、画像キャッシュ管理部３０７は、表示部３０８の表示領域に対応する画像キャッシュ３０６の部分を表示部３０８に表示する（ステップＳ５５）。そして、描画処理部３０５は、ステップＳ５６に移行する。
【０１０１】
操作情報取得部３０２は、ユーザから入力処理があったか否かを判定する（ステップＳ５６）。操作情報取得部３０２は、ユーザから入力処理がなかったと判定した場合には（ステップＳ５６；Ｎｏ）、データを受信したか否かを判定すべく、ステップＳ５１に移行する。一方、操作情報取得部３０２は、ユーザから入力処理があったと判定した場合には（ステップＳ５６；Ｙｅｓ）、入力処理がタッチ操作（画面移動）であるか否かを判定する（ステップＳ５７）。
【０１０２】
操作情報取得部３０２は、入力処理がタッチ操作（画面移動）でないと判定した場合には（ステップＳ５７；Ｎｏ）、その他処理のイベントをＧＷサーバ２００に通知する（ステップＳ５８）。そして、操作情報取得部３０２は、画像表示処理を終了する。
【０１０３】
一方、操作情報取得部３０２は、入力処理がタッチ操作（画面移動）であると判定した場合には（ステップＳ５７；Ｙｅｓ）、スクロールイベントをＧＷサーバ２００に通知する（ステップＳ５９）。スクロールイベントには、端末表示領域の位置情報が含まれる。そして、操作情報取得部３０２は、タッチ操作（画面移動）は最大画面サイズ以上に移動したか否かを判定する（ステップＳ６０）。
【０１０４】
操作情報取得部３０２は、タッチ操作（画面移動）は最大画面サイズ以上に移動していないと判定した場合には（ステップＳ６０；Ｎｏ）、以下の処理を行う。すなわち、画像キャッシュ管理部３０７は、画像キャッシュ３０６のキャッシュデータをタッチ操作に応じて移動させて表示部３０８に表示する（ステップＳ６１）。そして、画像キャッシュ管理部３０７は、画像表示処理を終了する。
【０１０５】
一方、操作情報取得部３０２は、タッチ操作（画面移動）は最大画面サイズ以上に移動していると判定した場合には（ステップＳ６０；Ｙｅｓ）、以下の処理を行う。すなわち、画像キャッシュ管理部３０７は、タッチ操作に応じて、スクロールイベントをＧＷサーバ２００側のＷｅｂブラウザ画面をスクロールさせるイベントに変換してＧＷサーバ２００に送信する（ステップＳ６２）。
【０１０６】
そして、画像キャッシュ管理部３０７は、ＧＷサーバ２００から受信した画像更新部分を表示部３０８に表示する。そして、画像キャッシュ管理部３０７は、最大画面サイズに応じた画面データを新たに画像キャッシュ３０６に格納する（ステップＳ６３）。そして、画像キャッシュ管理部３０７は、画像表示処理を終了する。
【０１０７】
［実施例の効果］
このようにして、上記実施例では、ＧＷサーバ２００は、Ｗｅｂサーバ１００の実行結果を表示する画像に関し、クライアント端末３００の表示部３０８に表示する画像の領域より大きい表示可能領域の画像をフレームバッファ２０４に保持する。ＧＷサーバ２００は、フレームバッファ２０４に保持された表示可能領域の画像を送信する。ＧＷサーバ２００は、表示可能領域の画像を複数の領域に分割し、領域毎にフレーム間の変更の頻度を判別する。ＧＷサーバ２００は、変更の頻度がしきい値を超えた領域を高頻度更新領域として識別する。ＧＷサーバ２００は、高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、高頻度更新領域として識別された領域の画像を第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する。そして、ＧＷサーバ２００は、表示可能領域の中で、クライアント端末３００の表示部３０８に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす。かかる構成によれば、ＧＷサーバ２００は、クライアント端末３００の表示部３０８の表示領域より大きい表示可能領域について変更頻度の判定処理を行うことによる処理負荷を軽減することができる。また、ＧＷサーバ２００は、クライアント端末３００の表示部３０８の表示領域より大きい表示可能領域について変更頻度の判定処理を含む画像処理を行うことで、クライアント端末３００の操作性を向上させることができる。
【０１０８】
また、上記実施例では、ＧＷサーバ２００は、クライアント端末３００の表示部３０８に現に表示されている領域の画像を表示されていない領域の画像より先行して送信する。かかる構成によれば、ＧＷサーバ２００は、クライアント端末３００の操作性をさらに向上させることができる。
【０１０９】
また、上記実施例では、ＧＷサーバ２００は、表示部３０８に表示されている領域の表示可能領域における位置をクライアント端末３００から受け取ると、以下の処理を行う。ＧＷサーバ２００は、表示部３０８に表示されていない領域の画像を送信する際に、受け取った領域の位置から定められる表示可能領域における移動方向の領域の画像を先行して送信する。かかる構成によれば、ＧＷサーバ２００は、表示可能領域における移動方向の表示されていない領域を先行して送信することで、表示されていない領域に含まれる画像を第１の圧縮率の圧縮処理を行って送信することによるデータ転送量の増加を抑止できる。すなわち、ＧＷサーバ２００は、表示されていない領域のフレーム間の変更頻度の判定を、表示されている領域よりも減らすことにより、仮に表示されている領域にあれば高頻度更新領域と識別される変更領域も高頻度更新領域と識別しない。この結果、ＧＷサーバ２００は、表示されていない変更領域を第１の圧縮率の圧縮処理を行って送信することとなり、データ転送量が大幅に大きくなってしまう。したがって、ＧＷサーバ２００は、表示されていない領域の画像を送信する際に、受け取った領域の位置から定められる表示可能領域における移動方向の領域の画像を先行して送信することで、データ転送量の増加を抑止できる。
【０１１０】
また、上記実施例では、ＧＷサーバ２００は、表示部３０８に表示されている領域の画像の送信データ分を残した余剰帯域を用いて、表示部３０８に表示されていない領域の画像を送信する。かかる構成によれば、ＧＷサーバ２００は、表示部３０８に表示されていない領域の画像を余剰帯域で送信することで、表示部３０８に表示されている領域の画像を確実に送信することができ、クライアント端末３００の操作性を担保できる。
【０１１１】
［その他］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１１２】
例えば、ＧＷサーバ２００の高頻度変更領域識別部２０７およびエンコーダ２０８を１つの圧縮処理部に統合することとしても良い。また、クライアント端末３００のデコーダ３０４および描画処理部３０５を１つの展開処理部に統合することとしても良い。
【０１１３】
また、ＧＷサーバ２００が有する表示可能領域生成部２０５、変更頻度判定部２０６、高頻度変更領域識別部２０７、エンコーダ２０８、第２通信部２０９、操作情報取得部２１０、画像キャッシュ管理部２１１または通信制御部２１２を次のように構成できる。一例としては、これらの機能部をＧＷサーバ２００の外部装置としてネットワーク経由で接続するようにしても良い。他の一例としては、これらの機能部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のＧＷサーバ２００の機能を実現するようにしても良い。同様に、クライアント端末３００が有する操作情報取得部３０２、通信部３０３、デコーダ３０４、描画処理部３０５または画像キャッシュ管理部３０７を先のように構成できる。
【０１１４】
［画像送信プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図６を用いて、上記の実施例と同様の機能を有する画像送信プログラムを実行するコンピュータの一例について説明する。なお、図６は、実施例に係る画像送信プログラムを実行するコンピュータの一例について説明するための図である。また、ここでは、ＧＷサーバ２００と同様の機能を有する画像送信プログラムを実行するコンピュータの例を説明するが、クライアント端末３００と同様の機能を有する画像表示プログラムを実行する場合も同様である。
【０１１５】
図６に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１１６】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、画像送信プログラム２０５ａおよび画像送信処理関連情報２０５ｂを記憶する。
【０１１７】
ＣＰＵ２０３は、画像送信プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、ＧＷサーバ２００の各機能部に対応する。画像送信処理関連情報２０５ｂは、フレームバッファ２０４に対応する。そして、例えばリムーバブルディスク２１１が、画像送信プログラム２０５ａ等の各情報を記憶する。
【０１１８】
なお、画像送信プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから画像送信プログラム２０５ａを読み出して実行するようにしても良い。
【０１１９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２０】
（付記１）ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置であって、
コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を保持する画像メモリと、
前記画像メモリに保持された表示可能領域の画像を送信する第１の画像送信部と、
前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別する変更頻度判別部と、
前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別する高頻度変更領域識別部と、
前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する第２の画像送信部と、を有し、
前記変更頻度判別部は、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす
ことを特徴とする情報処理装置。
【０１２１】
（付記２）前記第２の画像送信部は、前記端末装置の表示部に現に表示されている領域の画像を表示されていない領域の画像より先行して送信する
ことを特徴とする付記１に記載の情報処理装置。
【０１２２】
（付記３）前記第２の画像送信部は、前記表示部に表示されている領域の前記表示可能領域における位置を前記端末装置から受け取ると、前記表示部に表示されていない領域の画像を送信する際に、受け取った領域の位置から定められる前記表示可能領域における移動方向の領域の画像を先行して送信する
ことを特徴とする付記２に記載の情報処理装置。
【０１２３】
（付記４）前記第２の画像送信部は、前記表示部に表示されている領域の画像の送信データ分を残した余剰帯域を用いて、前記表示部に表示されていない領域の画像を送信する
ことを特徴とする付記２または付記３に記載の情報処理装置。
【０１２４】
（付記５）情報処理装置からネットワークを経由して受信した画像を表示する端末装置であって、
表示部に表示する画像の領域より大きい表示可能領域の画像を保持する画像メモリと、
前記情報処理装置から変更のある領域の画像データを受信すると、受信した画像データを圧縮処理に応じて復元し、復元した画像を前記画像メモリの前記変更のある領域に対応する領域に更新する画像更新部と、
前記表示部に表示されている領域の移動要求を検知すると、移動した領域の前記表示可能領域における位置を前記情報処理装置に送信するとともに、前記画像メモリから前記位置に応じた領域の画像を前記表示部に表示する画像表示部と、
を有することを特徴とする端末装置。
【０１２５】
（付記６）ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置と、前記情報処理装置から前記ネットワークを経由して受信した画像を表示する端末装置とを有する画像表示システムであって、
前記情報処理装置は、
コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を保持する第１の画像メモリと、
前記第１の画像メモリに保持された表示可能領域の画像を送信する第１の画像送信部と、
前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別し、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす変更頻度判別部と、
前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別する高頻度変更領域識別部と、
前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する第２の画像送信部と、を有し、
前記端末装置は、
前記表示部に表示する画像の領域より大きい表示可能領域の画像を保持する第２の画像メモリと、
前記情報処理装置から変更のある領域の画像データを受信すると、受信した画像データを圧縮処理に応じて復元し、復元した画像を前記第２の画像メモリの前記変更のある領域に対応する領域に更新する画像更新部と、
前記表示部に表示されている領域の移動要求を検知すると、移動した領域の前記表示可能領域における位置を前記情報処理装置に送信するとともに、前記第２の画像メモリから前記位置に応じた領域の画像を前記表示部に表示する画像表示部と、を有する
ことを特徴とする画像表示システム。
【０１２６】
（付記７）ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置に用いる画像送信プログラムであって、
前記情報処理装置に、
コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を画像メモリに保持し、
前記画像メモリに保持された表示可能領域の画像を送信し、
前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別し、
前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別し、
前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する処理を実行させ、
前記変更の頻度を判別する処理は、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らす
ことを特徴とする画像送信プログラム。
【０１２７】
（付記８）ネットワーク経由で接続された端末装置の表示部にコンピュータの実行結果を表示するための画像を生成してネットワークへ送信する情報処理装置と、前記情報処理装置から前記ネットワークを経由して受信した画像を表示する端末装置とを有する画像表示システムに用いる画像表示方法であって、
前記情報処理装置が、
コンピュータの実行結果を表示する画像に関し、前記端末装置の表示部に表示する画像の領域より大きい表示可能領域の画像を第１の画像メモリに保持し、
前記第１の画像メモリに保持された表示可能領域の画像を送信し、
前記表示可能領域の画像を複数の領域に分割し、前記領域毎にフレーム間の変更の頻度を判別し、
前記変更の頻度がしきい値を超えた領域を高頻度更新領域として識別し、
前記高頻度更新領域として識別されない領域の画像を第１の圧縮率の圧縮処理を行って送信し、前記高頻度更新領域として識別された領域の画像を前記第１の圧縮率より高い第２の圧縮率の圧縮処理を行って送信する処理を実行し、
前記変更の頻度を判別する処理は、前記表示可能領域の中で、前記端末装置の表示部に現に表示されている領域よりも表示されていない領域のフレーム間の変更頻度の判定を減らし、
前記端末装置は、
前記表示部に表示する画像の領域より大きい表示可能領域の画像を第２の画像メモリに保持し、
前記情報処理装置から変更のある領域の画像データを受信すると、受信した画像データを圧縮処理に応じて復元し、復元した画像を前記第２の画像メモリの前記変更のある領域に対応する領域に更新し、
前記表示部に表示されている領域の移動要求を検知すると、移動した領域の前記表示可能領域における位置を前記情報処理装置に送信するとともに、前記第２の画像メモリから前記位置に応じた領域の画像を前記表示部に表示する
処理を実行することを特徴とする画像表示方法。
【符号の説明】
【０１２８】
１    シンクライアントシステム
１００  Ｗｅｂサーバ
１０１  通信部
１０２  読出部
１０３  記憶部
２００  ＧＷサーバ
２０１  ＯＳ実行制御部
２０２  第１通信部
２０３  画面生成部
２０４  フレームバッファ
２０５  表示可能領域生成部
２０６  変更頻度判定部
２０７  高頻度変更領域識別部
２０８  エンコーダ
２０９  第２通信部
２１０  操作情報取得部
２１１  画像キャッシュ管理部
２１２  通信制御部
３００  クライアント端末
３０１  入力部
３０２  操作情報取得部
３０３  通信部
３０４  デコーダ
３０５  描画処理部
３０６  画像キャッシュ
３０７  画像キャッシュ管理部
３０８  表示部
【図１】
2016103117.tif 000003
【図２Ａ】
2016103117.tif 000004
【図２Ｂ】
2016103117.tif 000005
【図３】
2016103117.tif 000006
【図４Ａ】
2016103117.tif 000007
【図４Ｂ】
2016103117.tif 000008
【図５】
2016103117.tif 000009
【図６】
2016103117.tif 000010
【図７】
2016103117.tif 000011