(57)【要約】【課題】画面切り替えを円滑にできる端末装置等を提供する。【解決手段】端末装置は、通信部と、記憶部と、表示部と、第１の算出部と、第２の算出部と、表示制御部とを有する。通信部は、サーバ装置から画面画像を受信する。記憶部は、通信部で受信された画面画像を記憶する。表示部は、記憶部に記憶された画面画像を表示する。第１の算出部は、表示部の画面サイズから求まる１画面分の画面画像のデータ量と、サーバ装置との通信に関する可用帯域とに基づいて、画面画像の切り替えが終了する切り替え終了時間を算出する。第２の算出部は、画面サイズと画面画像の切り替え速度から得られる画面画像の切り替え時間と、切り替え終了時間とに基づいて、画面画像の切り替えを開始する切り替え開始時間を算出する。表示制御部は、ユーザによる切り替え操作を受けてから切り替え開始時間経過後に、画面画像を記憶部から読み出して切り替え速度で表示部に表示する。【選択図】図１
2015076010.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたサーバ装置から画面画像を受信する通信部と、
前記通信部で受信された前記画面画像を記憶する記憶部と、
前記記憶部に記憶された前記画面画像を表示する表示部と、
前記表示部の画面サイズから求まる１画面分の前記画面画像のデータ量と、前記サーバ装置との通信に関する可用帯域とに基づいて、前記画面画像の切り替えが終了する切り替え終了時間を算出する第１の算出部と、
前記画面サイズと前記画面画像の切り替え速度から得られる前記画面画像の切り替え時間と、前記切り替え終了時間とに基づいて、前記画面画像の切り替えを開始する切り替え開始時間を算出する第２の算出部と、
ユーザによる切り替え操作を受けてから前記切り替え開始時間経過後に、前記画面画像を前記記憶部から読み出して前記切り替え速度で前記表示部に表示する表示制御部と
を有することを特徴とする端末装置。
【請求項２】
前記表示制御部は、前記切り替え開始時間が所定値以下である場合に、前記画面画像に代えて、前記通信部で受信された画面画像を前記切り替え速度で前記表示部に表示することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記通信部は、さらに、前記サーバ装置で計測された前記可用帯域を受信し、
前記算出部は、前記可用帯域として、前記通信部で受信された可用帯域を用いて前記切り替え終了時間を算出することを特徴とする請求項１または２に記載の端末装置。
【請求項４】
前記記憶部は、前記画面画像の代わりに一時的に前記表示部に表示する代替画像をさらに記憶し、
前記表示制御部は、前記代替画像を前記記憶部から読み出して前記切り替え速度で前記表示部に表示した後に、前記画面画像を前記記憶部から読み出して前記切り替え速度で前記表示部に表示することを特徴とする請求項１または２に記載の端末装置。
【請求項５】
前記算出部は、前記切り替え速度として、所定の関数に基づいて算出された切り替え速度を用いて前記切り替え時間を算出し、
前記表示制御部は、前記画面画像を前記所定の関数に基づいて算出された切り替え速度で前記表示部に表示することを特徴とする請求項１〜４のいずれか１項に記載の端末装置。
【請求項６】
サーバ装置と、端末装置とを有するシンクライアントシステムであって、
前記サーバ装置は、
ネットワークを介して接続された前記端末装置に表示させる表示用の画像を記憶する画像メモリと、
ソフトウエアの処理結果を前記画像メモリに描画する描画部と、
前記画像メモリに描画される画像のフレーム間で更新があった更新領域を検出する検出部と、
前記端末装置との通信に関する可用帯域を計測する計測部と、
前記更新領域の画像である画面画像と前記可用帯域とを前記端末装置に送信する送信部と、を有し、
前記端末装置は、
前記画面画像と前記可用帯域とを受信する通信部と、
前記通信部で受信された前記画面画像を記憶する記憶部と、
前記記憶部に記憶された前記画面画像を表示する表示部と、
前記表示部の画面サイズから求まる１画面分の前記画面画像のデータ量と、前記サーバ装置との通信に関する可用帯域とに基づいて、前記画面画像の切り替えが終了する切り替え終了時間を算出する第１の算出部と、
前記画面サイズと前記画面画像の切り替え速度から得られる前記画面画像の切り替え時間と、前記切り替え終了時間とに基づいて、前記画面画像の切り替えを開始する切り替え開始時間を算出する第２の算出部と、
ユーザによる切り替え操作を受けてから前記切り替え開始時間経過後に、前記画面画像を前記記憶部から読み出して前記切り替え速度で前記表示部に表示する表示制御部と
を有することを特徴とするシンクライアントシステム。
【請求項７】
端末装置が、
ネットワークを介して接続されたサーバ装置から画面画像を受信し、
受信された前記画面画像を記憶部に記憶し、
前記記憶部に記憶された前記画面画像を表示部に表示し、
前記表示部の画面サイズから求まる１画面分の前記画面画像のデータ量と、前記サーバ装置との通信に関する可用帯域とに基づいて、前記画面画像の切り替えが終了する切り替え終了時間を算出し、
前記画面サイズと前記画面画像の切り替え速度から得られる前記画面画像の切り替え時間と、前記切り替え終了時間とに基づいて、前記画面画像の切り替えを開始する切り替え開始時間を算出し、
ユーザによる切り替え操作を受けてから前記切り替え開始時間経過後に、前記画面画像を前記記憶部から読み出して前記切り替え速度で前記表示部に表示する
処理を実行することを特徴とする表示方法。
【請求項８】
端末装置に、
ネットワークを介して接続されたサーバ装置から画面画像を受信し、
受信された前記画面画像を記憶部に記憶し、
前記記憶部に記憶された前記画面画像を表示部に表示し、
前記表示部の画面サイズから求まる１画面分の前記画面画像のデータ量と、前記サーバ装置との通信に関する可用帯域とに基づいて、前記画面画像の切り替えが終了する切り替え終了時間を算出し、
前記画面サイズと前記画面画像の切り替え速度から得られる前記画面画像の切り替え時間と、前記切り替え終了時間とに基づいて、前記画面画像の切り替えを開始する切り替え開始時間を算出し、
ユーザによる切り替え操作を受けてから前記切り替え開始時間経過後に、前記画面画像を前記記憶部から読み出して前記切り替え速度で前記表示部に表示する
処理を実行させることを特徴とする表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、シンクライアントシステム、表示方法および表示プログラムに関する。
【背景技術】
【０００２】
シンクライアントというシステムが知られている。シンクライアントシステムでは、クライアント端末に最低限の機能しか持たせず、サーバでアプリケーションやファイルなどのリソースを管理するようにシステムが構築される。
【０００３】
かかるシンクライアントシステムは、実際にはサーバが処理を実行した処理結果やサーバが保持するデータをクライアント端末に表示させつつも、あたかもクライアント端末が主体となって処理を実行したり、データを保持したりしているかのように振る舞う。
【０００４】
このように、サーバおよびクライアント端末間でクライアント端末に表示させる画面データを伝送する場合には、操作に伴って画面更新が発生する。シンクライアントシステムで画面更新が発生すると、サーバからクライアント端末に画面更新前後の差分の画面データが送信される。ここで、例えば、プレゼンテーション等で、スライド、つまり画面を切り替えるためにスクロール表示等の演出を行った場合には、画面内の多くの部分で更新が発生し、差分の画面データがクライアント端末に対して送信される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１１１５４４号公報
【特許文献２】特開２００８−４６８０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の技術では、伝送遅延による画面切り替えの遅延が発生する場合がある。
【０００７】
例えば、クライアント端末がモバイル通信環境でサーバと接続されている場合に、スライドを切り替えるためにスクロール表示等の演出を行なうと、クライアント端末に対して多くの差分の画面データが送信されることになる。これによって、サーバおよびクライアント端末間のネットワークでは、転送量が変動する使用可能帯域によって制限されてしまい、伝送遅延が発生する。この結果、クライアント端末では、差分の画面データを受信して表示する速度が不安定となるので、スクロール表示等による画面切り替えの速度よりも遅くなり、スクロール表示等の画面切り替えがカクカクするなど、円滑にできない場合がある。
【０００８】
一つの側面では、本発明は、画面切り替えを円滑にできる端末装置、シンクライアントシステム、表示方法および表示プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
一つの態様では、端末装置は、通信部と、記憶部と、表示部と、第１の算出部と、第２の算出部と、表示制御部とを有する。端末装置の通信部は、ネットワークを介して接続されたサーバ装置から画面画像を受信する。端末装置の記憶部は、前記通信部で受信された前記画面画像を記憶する。端末装置の表示部は、前記記憶部に記憶された前記画面画像を表示する。端末装置の第１の算出部は、前記表示部の画面サイズから求まる１画面分の前記画面画像のデータ量と、前記サーバ装置との通信に関する可用帯域とに基づいて、前記画面画像の切り替えが終了する切り替え終了時間を算出する。端末装置の第２の算出部は、前記画面サイズと前記画面画像の切り替え速度から得られる前記画面画像の切り替え時間と、前記切り替え終了時間とに基づいて、前記画面画像の切り替えを開始する切り替え開始時間を算出する。端末装置の表示制御部は、ユーザによる切り替え操作を受けてから前記切り替え開始時間経過後に、前記画面画像を前記記憶部から読み出して前記切り替え速度で前記表示部に表示する。
【発明の効果】
【００１０】
画面切り替えを円滑にできる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例のシンクライアントシステムの構成の一例を示すブロック図である。
【図２】図２は、表示画像の切り替えの一例を示す説明図である。
【図３】図３は、受信時間と切り替え時間との関係の一例を示す説明図である。
【図４】図４は、実施例のシンクライアントシステムの動作の一例を示すシーケンス図である。
【図５】図５は、表示画像の切り替えの他の一例を示す説明図である。
【図６】図６は、受信時間と切り替え時間との関係の他の一例を示す説明図である。
【図７】図７は、表示プログラムを実行するコンピュータの一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本願の開示する端末装置、シンクライアントシステム、表示方法および表示プログラムの実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例１】
【００１３】
［システム構成］
まず、本実施例に係るシンクライアントシステムの構成について説明する。図１は、実施例のシンクライアントシステムの構成の一例を示すブロック図である。図１に示すシンクライアントシステム１は、端末装置２００が表示する画面をリモートでサーバ装置１００に制御させるものである。つまり、シンクライアントシステム１は、実際にはサーバ装置１００が実行した処理結果や保持するデータを端末装置２００に表示させつつも、あたかも端末装置２００が主体となって処理を実行したり、データを保持しているかのように振る舞う。
【００１４】
図１に示すシンクライアントシステム１は、サーバ装置１００と、端末装置２００とを有する。なお、図１の例では、１つのサーバ装置１００に対し、１つの端末装置２００を接続する場合を図示したが、任意の数のクライアント端末を接続できる。
【００１５】
これらサーバ装置１００および端末装置２００は、所定のネットワークを介して、相互に通信可能に接続される。かかるネットワークには、有線または無線を問わず、インターネット、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。なお、サーバ装置１００および端末装置２００間の通信プロトコルには、一例として、ＶＮＣにおけるＲＦＢ（Remote  Frame  Buffer）プロトコルを採用する場合を想定する。
【００１６】
サーバ装置１００は、情報処理装置の一例であり、端末装置２００に表示させる画面をリモートで制御するサービスを提供するコンピュータである。このサーバ装置１００には、サーバ向けのリモート画面制御用のアプリケーションがインストールまたはプリインストールされる。なお、以下では、サーバ向けのリモート画面制御用のアプリケーションのことを「サーバ側リモート画面制御用アプリ」と記載する場合がある。
【００１７】
このサーバ側リモート画面制御用アプリは、基本機能として、リモート画面制御サービスを提供する機能を有する。一態様としては、サーバ側リモート画面制御用アプリは、端末装置２００における操作情報を取得した上でその操作により要求された処理を自装置で動作するアプリケーションに実行させる。そして、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果を表示するための画面を生成した上でその画面を端末装置２００へ送信する。このとき、サーバ側リモート画面制御用アプリは、今回の画面生成の前に端末装置２００で表示させていたビットマップ画像との間で変更があった部分の画素が集まった領域、すなわち更新矩形の画像を送信する。なお、更新部分の画像は矩形の画像に限られず、矩形以外の形状であってもよい。
【００１８】
このほか、サーバ側リモート画面制御用アプリは、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮して端末装置２００へ送信する機能も有する。一態様としては、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果から生成した画面を複数の領域に分割し、分割した領域ごとに変更の頻度を監視する。このとき、サーバ側リモート画面制御用アプリは、変更の頻度がしきい値を超えた領域、すなわち高頻度変更領域の属性情報を端末装置２００へ送信する。これとともに、サーバ側リモート画面制御用アプリは、高頻度変更領域のビットマップ画像をＭＰＥＧ−２やＭＰＥＧ−４などのＭＰＥＧ方式のデータにエンコードした上で端末装置２００へ送信する。なお、ここでは、ＭＰＥＧ（Moving  Picture  Experts  Group）方式のデータへ圧縮する場合を例示したが、これに限定されない。例えば、動画向けの圧縮方式であれば任意の圧縮符号化方式、例えばＭｏｔｉｏｎ−ＪＰＥＧ（Joint  Photographic  Experts  Group）などを採用できる。
【００１９】
サーバ装置１００は、端末装置２００との間のネットワークにおいて、使用可能な帯域である可用帯域を計測し、計測された可用帯域を端末装置２００に送信する。サーバ装置１００は、例えば、端末装置２００に対して直前に送信した画像データについて、端末装置２００から転送時間を取得する。サーバ装置１００は、例えば、直前に送信した画像データのデータ量と、自装置が送信した送信時間と、端末装置２００から取得された転送時間とに基づいて、可用帯域を計測する。サーバ装置１００は、計測された可用帯域を端末装置２００に送信する。
【００２０】
端末装置２００は、サーバ装置１００によるリモート画面制御サービスの提供を受ける側のコンピュータである。かかる端末装置２００の一例としては、タブレット端末、スマートフォン、可搬型のパーソナルコンピュータ（personal  computer）等を採用できる。また、端末装置２００の他の例としては、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistant）などの移動体端末の他、据置型のパーソナルコンピュータなどの固定端末を採用することができる。この端末装置２００には、クライアント向けのリモート画面制御用のアプリケーションがインストールまたはプリインストールされる。なお、以下では、クライアント向けのリモート画面制御用のアプリケーションのことを「クライアント側リモート画面制御用アプリ」と記載する場合がある。
【００２１】
このクライアント側リモート画面制御用アプリは、タッチパネル、マウスやキーボードなどの各種の入力デバイスを介して受け付けた操作情報をサーバ装置１００へ通知する機能を有する。一態様としては、クライアント側リモート画面制御用アプリは、表示部と一体となったタッチパネル上でのタップ、フリックの操作量などを操作情報として通知する。他の一例としては、クライアント側リモート画面制御用アプリは、マウスの左右のクリックを始め、ダブルクリックやドラッグ、マウスの移動操作を介して得られたマウスカーソルの移動量などを操作情報として通知する。さらに他の一例としては、クライアント側リモート画面制御用アプリは、マウスホイールの回転量、キーボードのうち押下されたキーの種別なども操作情報として通知する。
【００２２】
さらに、クライアント側リモート画面制御用アプリは、サーバ装置１００から受信した画像を所定の表示部に表示させる機能を有する。一態様としては、クライアント側リモート画面制御用アプリは、サーバ装置１００から更新矩形のビットマップ画像を受信した場合には、更新矩形の画像を前回のビットマップ画像から変更のあった位置に合わせて表示する。他の一態様としては、クライアント側リモート画面制御用アプリは、サーバ装置１００から高頻度変更領域の属性情報を受信した場合には、その属性情報に含まれる位置に対応する表示画面上の領域をビットマップ画像の表示対象外のブランク領域とする。その上で、クライアント側リモート画面制御用アプリは、動画向けの圧縮方式のデータを受信した場合にそのデータをデコードした上でブランク領域に表示する。
【００２３】
また、端末装置２００は、サーバ装置１００上で実行されるアプリケーションでプレゼンテーション等を行なう場合に、スライド、つまり画面を切り替えるためにスクロール表示等の演出を行うことがある。端末装置２００は、受信を開始した次スライドの画像のデータを記憶部に一時保存、つまりバッファリングしておき、受信完了とスクロール表示の終了とが同じタイミングになるように、一時保存した次スライドの画像のスクロール表示を開始する。
【００２４】
［サーバ装置の構成］
次に、本実施例に係るサーバ装置１００の機能的構成について説明する。図１に示すように、サーバ装置１００は、制御部１０１と、通信部１０２と、描画部１０３と、画像メモリ１０４と、検出部１０５と、計測部１０６とを有する。なお、図１の例では、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや表示デバイスなどの機能を有するものとする。
【００２５】
制御部１０１は、サーバ装置１００全体を制御し、サーバ側リモート画面制御用アプリ、および、各種アプリケーションを実行する。また、制御部１０１は、サーバ側リモート画面制御用アプリによって、描画部１０３と画像メモリ１０４と検出部１０５とを制御して、リモート画面制御サービスを提供する。制御部１０１は、各種アプリケーションとして、例えば、プレゼンテーション用アプリケーションを実行する。制御部１０１は、通信部１０２から操作情報が入力されると、操作情報に応じてサーバ側リモート画面制御用アプリ、および、各種アプリケーションを実行する。
【００２６】
通信部１０２は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１０２は、ネットワークを介して端末装置２００と有線または無線で接続され、端末装置２００との間で情報の通信を司る通信インタフェースである。通信部１０２は、端末装置２００がインターネットに接続されている場合には、例えば、ネットワークとしてインターネット上に構築されたＶＰＮを介して端末装置２００と接続されるようにできる。通信部１０２は、端末装置２００から操作情報を受信して制御部１０１に出力する。また、通信部１０２は、検出部１０５から画像データが入力されると、端末装置２００に対して画像データを送信する。また、通信部１０２は、計測部１０６から可用帯域が入力されると、端末装置２００に対して可用帯域を送信する。
【００２７】
描画部１０３は、制御部１０１で実行されるサーバ側リモート画面制御用アプリによって制御される。描画部１０３は、制御部１０１上で実行されるアプリケーションの画像を画像メモリ１０４に描画して記憶する。つまり、描画部１０３は、端末装置２００で表示される表示画像（画面画像）を画像メモリ１０４に描画して記憶する。
【００２８】
画像メモリ１０４は、いわゆるフレームバッファであり、描画部１０３により描画されたページ全体に対応する画像であるビットマップ画像を記憶する記憶デバイスである。かかる画像メモリ１０４の一態様としては、ＶＲＡＭ（Video  Random  Access  Memory）を始めとするＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子が挙げられる。なお、画像メモリ１０４は、ハードディスク、光ディスクなどの記憶装置を採用することとしてもかまわない。
【００２９】
検出部１０５は、制御部１０１で実行されるサーバ側リモート画面制御用アプリによって制御される。検出部１０５は、画像メモリ１０４に描画された画像について更新を検出し、更新があれば差分の画像データをキャプチャして生成する。検出部１０５は、生成された差分の画像データを圧縮する。検出部１０５は、圧縮のコーデックとして、例えば、静止画像であればＪＰＥＧ、動画像であればＭＰＥＧ−２またはＭＰＥＧ−４等を用いる。検出部１０５は、圧縮された差分の画像データを通信部１０２に出力する。
【００３０】
計測部１０６は、通信部１０２での通信を計測する。計測部１０６は、例えば、通信部１０２と、端末装置２００の後述する通信部２０１との間の通信データ量を１秒ごとに計測し、通信部１０２と通信部２０１との間の使用可能な帯域である可用帯域を計測する。また、計測部１０６は、例えば、端末装置２００に対して直前に送信した画像データについて、通信部１０２から画像データのデータ量を取得する。また、計測部１０６は、例えば、端末装置２００に対して直前に送信した画像データについて、端末装置２００から通信部１０２を介して転送時間を取得する。計測部１０６は、例えば、直前に送信した画像データのデータ量と、通信部１０２が送信した送信時間と、端末装置２００から取得された転送時間とに基づいて、可用帯域を計測する。計測部１０６は、計測された可用帯域を通信部１０２に出力する。
【００３１】
［端末装置の構成］
次に、本実施例に係る端末装置２００の機能的構成について説明する。図１に示すように、端末装置２００は、通信部２０１と、入力部２０２と、表示部２０３と、記憶部２０４と、制御部２０５と、算出部２０６と、表示制御部２０７とを有する。なお、図１の例では、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部を有するものとする。
【００３２】
通信部２０１は、例えば、携帯電話回線、無線ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、および、ＮＦＣ（Near  Field  Communication）等に対応する無線通信モジュールによって実現される。通信部２０１は、例えば、無線基地局を介してインターネットに接続され、インターネットに接続されたサーバ装置１００との間でＶＰＮを構築して情報の通信を司る通信インタフェースである。なお、通信部２０１は、例えば、ＮＩＣ等によって実現され、ネットワークを介してサーバ装置１００と有線または無線で接続されるようにしてもよい。なお、通信部２０１は、携帯電話回線として、例えば、３Ｇ（3rd  Generation；第3世代移動通信システム）、ＷｉＭＡＸ（Worldwide  Interoperability  for  Microwave  Access）およびＬＴＥ（Long  Term  Evolution）等を用いることができる。
【００３３】
通信部２０１は、サーバ装置１００から画像データおよび可用帯域を受信して、制御部２０５に出力する。また、通信部２０１は、制御部２０５から操作情報が入力されると、サーバ装置１００に対して操作情報を送信する。
【００３４】
入力部２０２は、ユーザから各種操作を受け付ける入力デバイスである。例えば、入力部２０２は、タッチパネル、マウスやキーボードなどによって実現される。また、入力部２０２は、タッチパネルを用いる場合には、表示デバイスである表示部２０３と一体化される。入力部２０２は、ユーザの操作に応じた操作情報を制御部２０５に出力する。
【００３５】
表示部２０３は、各種情報を表示するための表示デバイスであり、例えば、液晶ディスプレイ等によって実現される。また、表示部２０３は、入力部２０２としてタッチパネルを用いる場合には、入力部２０２と一体化される。表示部２０３は、表示制御部２０７から画像データが入力されると、画像データに対応する画面を表示する。また、端末装置２００は、表示部２０３として、例えば、プロジェクタによって実現される。表示部２０３にプロジェクタを用いる場合には、例えば、ユーザの手元にあるタブレット端末の表示部２０３と、タブレット端末とは別体であるが機能的には表示部２０３であるプロジェクタに、例えば、同じプレゼンテーション画面を表示できる。
【００３６】
記憶部２０４は、通信部２０１で受信された画像データが制御部２０５を介して記憶される。記憶部２０４は、表示部２０３に表示する画像データを一時保存、つまりバッファリングするものであり、一時保存された画像データは、表示制御部２０７によって読み出される。記憶部２０４の一態様としては、ＶＲＡＭを始めとするＲＡＭ、ＲＯＭやフラッシュメモリなどの半導体メモリ素子が挙げられる。なお、記憶部２０４は、ハードディスク、光ディスクなどの記憶装置を採用することとしてもかまわない。また、記憶部２０４は、切り替え開始時間Ｔｓが所定の値よりも大きい場合に一旦表示する代替画像が記憶される。
【００３７】
制御部２０５は、端末装置２００全体を制御し、クライアント側リモート画面制御用アプリを実行する。制御部２０５は、通信部２０１から画像データおよび可用帯域が入力されると、画像データを記憶部２０４に記憶し、可用帯域を算出部２０６に出力する。また、制御部２０５は、入力部２０２から操作情報が入力されると、通信部２０１に操作情報を出力するとともに、現在時刻を操作開始時刻Ｔ０にセットして表示制御部２０７に出力する。また、制御部２０５は、算出部２０６から直接表示情報が入力されると、通信部２０１から入力された画像データを、記憶部２０４に記憶せずに表示制御部２０７に出力する。なお、制御部２０５は、画像データを記憶部２０４に記憶、または、表示制御部２０７に出力する際に圧縮された画像データを伸張する。また、制御部２０５は、操作情報の入力から所定時間経過しても直接表示情報が入力されない場合に、画像データを記憶部２０４に記憶するようにしてもよい。なお、当該所定時間は、例えば、１００ｍｓｅｃとすることができるが、算出部２０６の演算速度に合わせて適宜変更してもよい。
【００３８】
算出部２０６は、表示制御部２０７から表示部２０３の画面サイズが入力される。また、算出部２０６では、表示部２０３に表示する表示画像、つまり画面画像の切り替え速度が、ユーザまたは本システムの管理者によって、例えば、入力部２０２または通信部２０１を介したサーバ装置１００から設定される。つまり、算出部２０６は、表示画像を切り替えるための切り替え速度として、予め定められた切り替え速度が設定される。なお、設定された切り替え速度は、設定時と同様に変更することができる。算出部２０６は、切り替え終了時間を算出する第１の算出部、および、切り替え開始時間を算出する第２の算出部である。
【００３９】
算出部２０６は、表示部２０３の画面サイズと、表示画像の予め定められた切り替え速度とに基づいて、表示画像の切り替え時間Ｔｓｗを算出する。ここで、図２を用いて表示画像の切り替えについて説明する。図２は、表示画像の切り替えの一例を示す説明図である。図２の例は、表示画像の切り替えとして、例えば、画面の上から下に向けて次スライド２２をスクロール表示させる場合である。記憶部２０４に一時保存された次スライド２２の画像データは、現スライド２１の上部から下部に向けて、切り替え速度、例えば一定のスクロール速度Ｖｓでスクロール表示される。表示画像の切り替え時間Ｔｓｗは、例えば、画面サイズが横１２８０ｐｉｘｅｌ、縦７８０ｐｉｘｅｌとし、スクロール速度Ｖｓが５００ｐｉｘｅｌ／秒であるとすると、７８０／５００＝１．５６秒となる。
【００４０】
また、算出部２０６は、表示部２０３の画面サイズと平均的な圧縮率とに基づいて、１画面分の表示画像のデータ量、つまり、スクロール表示される次スライド２２のデータ量を算出する。算出部２０６は、例えば、画面サイズが横１２８０ｐｉｘｅｌ、縦７８０ｐｉｘｅｌであるとすると、カラー（ＲＧＢ）のビットマップ画像のデータ量は、１２８０×７８０×３＝２．８５ＭＢｙｔｅとなる。算出部２０６は、例えば、ＪＰＥＧ形式の画像、つまり圧縮された画像とするための平均的な圧縮率として、例えば、１／１０とすると、１画面分の表示画像のデータ量は、２９３ＫＢｙｔｅとなる。算出部２０６は、１画面分の表示画像のデータ量として、初期設定時に一度算出することで、表示部２０３の画面サイズが変わらない限り、引き続き初期設定時に算出された値を用いる。
【００４１】
また、算出部２０６は、制御部２０５から可用帯域が入力される。算出部２０６は、算出された１画面分の表示画像のデータ量と可用帯域とに基づいて、表示画像の切り替えが終了する切り替え終了時間Ｔｅを算出する。つまり、算出部２０６は、受信した画像データをバッファリングせずに表示部２０３に直接表示した場合に、表示画像の表示が完了するまでの時間を算出する。算出部２０６は、例えば、１画面分の表示画像のデータ量を２９３ＫＢｙｔｅとし、可用帯域を１Ｍｂｐｓとすると、切り替え終了時間Ｔｅは、（２９３×１０２４×８）／（１×１０２４×１０２４）＝２．２９秒となる。なお、切り替え終了時間Ｔｅは、ユーザによる操作開始時刻Ｔ０から次スライド２２の画像データを受信しつつ表示し、表示が完了する受信時間Ｔｒと、操作情報の送受信時間の差がある。しかし、当該送受信時間は、受信時間Ｔｒに比べて極めて短いため、以下の説明では簡便のために、切り替え終了時間Ｔｅと受信時間Ｔｒとは同じであるとして説明する。
【００４２】
また、算出部２０６は、切り替え時間Ｔｓｗと切り替え終了時間Ｔｅとに基づいて、表示画像の切り替えを開始する切り替え開始時間Ｔｓを算出する。算出部２０６は、切り替え終了時間Ｔｅから切り替え時間Ｔｓｗを減算して切り替え開始時間Ｔｓを算出する。算出部２０６は、例えば、切り替え時間Ｔｓｗが１．５６秒、切り替え終了時間Ｔｅが２．２９秒とすると、切り替え開始時間Ｔｓは、２．２９−１．５６＝０．７３秒となる。なお、切り替え開始時間Ｔｓは、ユーザによる操作開始時刻Ｔ０から次スライド２２の画像データを受信して表示を開始するまでの待ち時間Ｔｗと、操作情報の送受信時間の差がある。しかし、当該送受信時間は、待ち時間Ｔｗに比べて極めて短いため、以下の説明では簡便のために、切り替え開始時間Ｔｓと待ち時間Ｔｗとは同じであるとして説明する。算出部２０６は、算出された切り替え開始時間Ｔｓと切り替え速度とを表示制御部２０７に出力する。また、算出部２０６は、切り替え開始時間Ｔｓが所定値以下の場合には、制御部２０５に対して直接表示情報を出力する。ここで、所定値は、例えば５０ｍｓｅｃとすることができる。
【００４３】
ここで、図３を用いて、受信時間Ｔｒと切り替え時間Ｔｓｗ等との関係を説明する。図３は、受信時間と切り替え時間との関係の一例を示す説明図である。図３に示すように、端末装置２００は、操作開始時刻Ｔ０から次スライド２２の画像データの受信を開始する。グラフ２３は、受信した画像データをバッファリングせずに表示部２０３に直接表示した場合のデータ転送量を示す。端末装置２００は、次スライド２２、つまり１画面分の表示画像のデータ量Ｄｉをグラフ２３に示すように、受信時間Ｔｒで受信して表示が完了する。上記の例で示すと、受信時間Ｔｒは、切り替え終了時間Ｔｅと同じとなり２．２９秒となる。
【００４４】
グラフ２４は、次スライド２２の画像データを、スクロール速度Ｖｓでスクロール表示する場合に必要なデータ転送量を示す。グラフ２４は、グラフ２３の次スライド２２の画像データを受信して表示完了する時刻と、操作開始時刻Ｔ０に切り替え終了時間Ｔｅを加算した切り替え終了時刻Ｔａｅとが一致するように描かれる。つまり、端末装置２００は、操作開始時刻Ｔ０に切り替え開始時間Ｔｓを加算した時刻である切り替え開始時刻Ｔaｓから、スクロール表示を開始する。すなわち、端末装置２００は、待ち時間Ｔｗ経過後であるグラフ２４と時間Ｔの軸との交点の時刻からスクロール表示を開始する。上記の例で示すと、待ち時間Ｔｗは、切り替え開始時間Ｔｓと同じとなり０．７３秒となる。つまり、端末装置２００は、操作開始時刻Ｔ０から０．７３秒後にスクロール表示を開始する。
【００４５】
図１の説明に戻って、表示制御部２０７は、制御部２０５から操作開始時刻Ｔ０が入力され、算出部２０６から切り替え開始時間Ｔｓと切り替え速度が入力される。表示制御部２０７は、操作開始時刻Ｔ０に切り替え開始時間Ｔｓを加算して切り替え開始時刻Ｔａｓを算出する。表示制御部２０７は、例えばＲＴＣ（Real  Time  Clock）等を参照し、現在時刻が切り替え開始時刻Ｔａｓ以降であるか否かを判定する。表示制御部２０７は、現在時刻が切り替え開始時刻Ｔａｓ以降である場合に、記憶部２０４から一時保存された画像データを読み出して、表示部２０３に切り替え速度で表示する。表示制御部２０７は、上述のスクロール表示の例では、現スライド２１をスクロール速度Ｖｓで次スライド２２に切り替えるためにスクロール表示する。また、表示制御部２０７は、表示部２０３の画面サイズを検出して算出部２０６に出力する。
【００４６】
また、表示制御部２０７は、制御部２０５から画像データが入力された場合には、直接表示する画像であるとして記憶部２０４に一時保存せずに、当該画像データを表示部２０３に切り替え速度で表示する。なお、この場合の切り替え速度は、算出部２０６と同様に予め設定された切り替え速度を用いる。
【００４７】
次に、本実施例のシンクライアントシステム１の動作について説明する。
【００４８】
図４は、実施例のシンクライアントシステムの動作の一例を示すシーケンス図である。
サーバ装置１００の計測部１０６は、例えば、端末装置２００に対して直前に送信した画像データについて、通信部１０２から画像データのデータ量を取得する。また、計測部１０６は、例えば、端末装置２００に対して直前に送信した画像データについて、端末装置２００から通信部１０２を介して転送時間を取得する。計測部１０６は、例えば、直前に送信した画像データのデータ量と、通信部１０２が送信した送信時間と、端末装置２００から取得された転送時間とに基づいて、可用帯域を計測する。なお、可用帯域の計測は、例えば、サーバ装置１００の通信部１０２と、端末装置２００の通信部２０１との間の通信データ量を１秒ごとに計測するようにしてもよい。計測部１０６は、計測された可用帯域を通信部１０２に出力する。通信部１０２は、可用帯域を端末装置２００に送信する（ステップＳ１０）。端末装置２００の通信部２０１は、可用帯域を受信すると制御部２０５に出力する（ステップＳ１１）。
【００４９】
端末装置２００の入力部２０２は、例えば、プレゼンテーションを行っているときに、次スライド２２を表示するための操作がユーザから入力されると、操作情報を制御部２０５に出力する（ステップＳ１２）。制御部２０５は、入力部２０２から操作情報が入力されると、通信部２０１に操作情報を出力するとともに（ステップＳ１３）、現在時刻を操作開始時刻Ｔ０にセットして表示制御部２０７に出力する（ステップＳ１４）。
【００５０】
制御部２０５は、可用帯域が入力されると、入力された可用帯域を算出部２０６に出力する。算出部２０６は、可用帯域が入力されると、切り替え時間Ｔｓｗと、切り替え終了時間Ｔｅと、切り替え開始時間Ｔｓとを算出する。なお、切り替え時間Ｔｓｗは、設定の変更がなければ予め算出した値を用いてもよい。算出部２０６は、表示制御部２０７から入力された表示部２０３の画面サイズと、表示画像の予め定められた切り替え速度とに基づいて、表示画像の切り替え時間Ｔｓｗを算出する（ステップＳ１５）。
【００５１】
また、算出部２０６は、表示部２０３の画面サイズと平均的な圧縮率とに基づいて、１画面分の表示画像のデータ量を算出する。なお、１画面分の表示画像のデータ量についても、切り替え時間Ｔｓｗと同様に、設定の変更がなければ予め算出した値を用いてもよい。算出部２０６は、算出された１画面分の表示画像のデータ量と入力された可用帯域とに基づいて、表示画像の切り替えが終了する切り替え終了時間Ｔｅを算出する（ステップＳ１６）。また、算出部２０６は、切り替え時間Ｔｓｗと切り替え終了時間Ｔｅとに基づいて、切り替え開始時間Ｔｓを算出する（ステップＳ１７）。
【００５２】
サーバ装置１００の通信部１０２は、端末装置２００から操作情報を受信して制御部１０１に出力する（ステップＳ１８）。制御部１０１は、操作情報が入力されると、操作情報に応じてサーバ側リモート画面制御用アプリ、および、各種アプリケーションを実行する。サーバ側リモート画面制御用アプリは、描画部１０３を制御して制御部１０１上で実行されるアプリケーションの画像を画像メモリ１０４に描画して記憶させる（ステップＳ１９）。
【００５３】
サーバ側リモート画面制御用アプリは、検出部１０５を制御して画像メモリ１０４に描画された画像について更新を検出し、更新があれば差分の画像データをキャプチャして生成する（ステップＳ２０）。検出部１０５は、生成された差分の画像データを圧縮して通信部１０２に出力する。通信部１０２は、入力された画像データを端末装置２００に対して送信する（ステップＳ２１）。
【００５４】
端末装置２００の通信部２０１は、サーバ装置１００から画像データを受信すると制御部２０５に出力する。制御部２０５は、通信部２０１から画像データが入力されると、圧縮された画像データの伸張を開始する（ステップＳ２２）。
【００５５】
算出部２０６は、算出された切り替え開始時間Ｔｓが所定値を超えるか否かを判定する（ステップＳ２３）。算出部２０６は、切り替え開始時間Ｔｓが所定値を超える場合には（ステップＳ２３：肯定）、制御部２０５に対して直接表示情報を出力しない。制御部２０５は、例えば、所定時間経過後に伸張後の画像データを記憶部２０４に表示画像として記憶する（ステップＳ２４）。
【００５６】
表示制御部２０７は、制御部２０５から操作開始時刻Ｔ０が入力され、算出部２０６から切り替え開始時間Ｔｓと切り替え速度が入力される。表示制御部２０７は、操作開始時刻Ｔ０に切り替え開始時間Ｔｓを加算して切り替え開始時刻Ｔａｓを算出する。表示制御部２０７は、現在時刻Ｔｉが切り替え開始時刻Ｔａｓ（Ｔ０＋Ｔｓ）以降であるか否かを判定する（ステップＳ２５）。表示制御部２０７は、現在時刻Ｔｉが切り替え開始時刻Ｔａｓ以降でない場合には（ステップＳ２５：否定）、ステップＳ２４に戻り、引き続き画像データを受信する。表示制御部２０７は、現在時刻Ｔｉが切り替え開始時刻Ｔａｓ以降である場合には（ステップＳ２５：肯定）、記憶部２０４から一時保存された画像データを読み出して、表示部２０３に所定の切り替え速度で表示を開始する（ステップＳ２６）。
【００５７】
算出部２０６は、切り替え開始時間Ｔｓが所定値以下の場合には（ステップＳ２３：否定）、制御部２０５に対して直接表示情報を出力する。制御部２０５は、直接表示情報が入力されると、通信部２０１から入力された画像データを表示制御部２０７に出力する。表示制御部２０７は、入力された画像データを表示部２０３に切り替え速度で表示する。つまり、表示制御部２０７は、表示部２０３に所定の切り替え速度で、受信された画像の表示を開始する（ステップＳ２７）。なお、シンクライアントシステム１は、図４の一連の処理を繰り返すことで、ユーザは、端末装置２００を介して、サーバ装置１００上で動作するアプリケーションを操作することができる。このように、端末装置２００は、受信を開始した画像データを記憶部に一時保存して、受信完了と切り替え表示の終了とが同じタイミングになるように、一時保存した画像の切り替え表示を開始する。このため、画像データの転送量を増加させることなく、画面切り替えを円滑にできる。
【００５８】
このように、端末装置２００は、ネットワークを介して接続されたサーバ装置１００から画面画像を受信する。端末装置２００は、受信された画面画像を記憶部２０４に記憶し、記憶部２０４に記憶された画面画像を表示部２０３に表示する。端末装置２００は、表示部２０３の画面サイズから求まる１画面分の画面画像のデータ量と、サーバ装置１００との通信に関する可用帯域とに基づいて、画面画像の切り替えが終了する切り替え終了時間を算出する。端末装置２００は、画面サイズと画面画像の切り替え速度から得られる画面画像の切り替え時間と、切り替え終了時間とに基づいて、画面画像の切り替えを開始する切り替え開始時間を算出する。端末装置２００は、ユーザによる切り替え操作を受けてから切り替え開始時間経過後に、画面画像を記憶部２０４から読み出して切り替え速度で表示部２０３に表示する。その結果、画面切り替えを円滑にできる。また、プレゼンテーションを見ているユーザにストレスを与えずに、次のページ（スライド）に画面遷移することができる。
【００５９】
また、端末装置２００は、切り替え開始時間が所定値以下である場合に、画面画像に代えて、通信部２０１で受信された画面画像を切り替え速度で表示部２０３に表示する。その結果、データ転送速度と切り替え表示の表示速度とが近似している場合に、バッファリングを行わずに画像を表示できるので、端末装置２００の処理を軽減できる。
【００６０】
また、端末装置２００は、さらにサーバ装置１００で計測された可用帯域を受信し、受信された可用帯域を用いて切り替え終了時間を算出する。その結果、可用帯域の計測に係る処理を軽減できる。
【００６１】
また、上記実施例では、図２に示すように、現スライド２１をスクロール表示によって次スライド２２に切り替えたが、これに限定されない。端末装置２００は、例えば、現スライド２１と次スライド２２との間に、予め記憶部２０４に記憶された代替画像を表示することができる。図５は、表示画像の切り替えの他の一例を示す説明図である。図５に示すように、端末装置２００の表示制御部２０７は、例えば、切り替え開始時間Ｔｓが所定の値よりも大きい場合には、記憶部２０４に予め記憶された代替画像２５を先に表示する。表示制御部２０７は、記憶部２０４から代替画像２５の画像データを読み出して所定の切り替え速度で表示部２０３に表示する。表示制御部２０７は、代替画像２５を表示部２０３に表示した後に、受信され一時保存された次スライド２２の画像データを読み出して所定の切り替え速度で表示部２０３に表示する。なお、代替画像には、例えば企業ロゴ等を用いることができる。
【００６２】
このように、端末装置２００は、さらに、画面画像の代わりに一時的に表示部２０３に表示する代替画像を記憶部２０４に記憶する。端末装置２００は、代替画像を記憶部２０４から読み出して切り替え速度で表示部２０３に表示した後に、画面画像を記憶部２０４から読み出して切り替え速度で表示部２０３に表示する。その結果、受信時間が長い場合に、プレゼンテーションの画面が停止することを防止できる。
【００６３】
また、上記実施例では、図３のグラフ２４に示すように、切り替え速度であるスクロール速度Ｖｓを一定としたが、これに限定されない。端末装置２００は、例えば、スクロール表示が途中から加速するような関数を用いて切り替え速度を設定できる。図６は、受信時間と切り替え時間との関係の他の一例を示す説明図である。図６のグラフ２６に示すように、例えば、切り替え速度として、スクロール速度を時間の関数Ｖｓ（ｔ）＝αｔ２とすることができる。なお、αは任意の所定値である。また、時間の関数Ｖｓ（ｔ）は上記に限定されず、演出効果があるものであればよい。例えば、スクロール速度が減速するような関数を用いてもよい。
【００６４】
このように、端末装置２００は、切り替え速度として、所定の関数に基づいて算出された切り替え速度を用いて切り替え時間を算出し、画面画像を所定の関数に基づいて算出された切り替え速度で表示部２０３に表示する。その結果、画面切り替えの速度を変化させるので、より高い演出効果があり、かつ、画面切り替えを円滑にできる。
【００６５】
また、上記実施例では、可用帯域の計測をサーバ装置１００で行ったが、これに限定されない。端末装置２００は、例えば、通信部２０１で可用帯域を計測するようにしてもよい。この場合、サーバ装置１００との間のネットワークの負荷を可用帯域の通信分だけ軽減することができる。
【００６６】
また、上記実施例では、画面の切り替え表示として現画面に次画面を上書きしていくスクロール表示を例示したが、これに限定されない。端末装置２００は、画面の切り替え表示として、例えば、瞬時に画面が切り替わる「カット」、徐々に現画面を薄くしていき、徐々に次画面を表示する「フェード」を用いることができる。また、端末装置２００は、画面の切り替え表示として、例えば、現画面を押し出すようにして次画面を表示する「プッシュ」、右または左から画面を拭き取るように次画面が表示される「ワイプ」等を用いることができる。
【００６７】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、算出部２０６は、表示画像の切り替え時間Ｔｓｗと表示画像のデータ量Ｄｉとを算出する機能部と、切り替え終了時間Ｔｅと切り替え開始時間Ｔｓとを算出する機能部とに分けて構成してもよい。
【００６８】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（またはＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしても良いことは言うまでもない。
【００６９】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図７は、表示プログラムを実行するコンピュータの一例を示す説明図である。
【００７０】
図７が示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータ入力を受け付ける入力装置３０２と、モニタ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る媒体読取装置３０４と、他の装置と接続するためのインタフェース装置３０５と、他の装置と無線により接続するための無線通信装置３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。また、各装置３０１〜３０８は、バス３０９に接続される。
【００７１】
ハードディスク装置３０８には、図１に示した制御部２０５、算出部２０６および表示制御部２０７の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置３０８には、情報処理プログラムを実現するための各種データが記憶される。インタフェース装置３０５および無線通信装置３０６は、図１に示した通信部２０１と同様の機能を有する。また、入力装置３０２は入力部２０２に、モニタ３０３は表示部２０３に、ＲＡＭ３０７は記憶部２０４に、それぞれ対応する。
【００７２】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ３００を図１に示した制御部２０５、算出部２０６および表示制御部２０７として機能させることができる。
【００７３】
なお、上記の情報処理プログラムは、必ずしもハードディスク装置３０８に記憶されている必要はない。例えば、コンピュータ３００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしてもよい。コンピュータ３００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ３００がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００７４】
１  シンクライアントシステム
１００  サーバ装置
１０１  制御部
１０２  通信部
１０３  描画部
１０４  画像メモリ
１０５  検出部
１０６  計測部
２００  端末装置
２０１  通信部
２０２  入力部
２０３  表示部
２０４  記憶部
２０５  制御部
２０６  算出部
２０７  表示制御部
【図１】
2015076010.tif 000003
【図２】
2015076010.tif 000004
【図３】
2015076010.tif 000005
【図４】
2015076010.tif 000006
【図５】
2015076010.tif 000007
【図６】
2015076010.tif 000008
【図７】
2015076010.tif 000009