(57)【特許請求の範囲】
【請求項１】
画像データを送信する画像送信装置であって、
表示画面上に表示される前記画像データに対するユーザによる任意の画面更新操作を検出した際は、その画面更新が連続した連続スクロールか否かを判別する第１判別手段と、
前記第１判別手段で前記連続スクロールであると判別された際は、通信状態が良好か否かを判別する第２判別手段と、
前記第２判別手段で良好であると判別された場合は、前記表示スクロールに応じて更新された表示領域の画像データを低品質画像として直ちにリアルタイム送信し、一方、前記第２判別手段で良好でないと判別された場合は、前記低品質画像を所定間隔でまとめて送信する第１送信制御手段と、
前記第１判別手段で前記連続スクロールでない画面更新であると判別された際は、その画面更新に応じた表示領域の画像データを高品質画像として送信する第２送信制御手段と、
を備えたことを特徴とする画像送信装置。
【請求項２】
前記第１判別手段は、短い時間間隔で且つ連続してスクロールする画面更新操作が行われたか否かに基づいて前記画面更新が前記連続スクロールの画面更新か否かを判別する、
ことを特徴とする請求項１に記載の画像送信装置。
【請求項３】
前記第１判別手段は、前回の画像データと今回の画像データとの差分が所定閾値以上であるか否かに基づいて前記画面更新が前記連続スクロールの画面更新か否かを判別する、
ことを特徴とする請求項１又は２に記載の画像送信装置。
【請求項４】
前記第２判別手段は、画像データの伝送遅延時間が特定閾値以下か否かに基づいて通信状態が良好か否かを判別する、
ことを特徴とする請求項１〜３の何れかに記載の画像送信装置。
【請求項５】
当該画像送信装置は、ネットワークを介したクライアント装置からの入力イベントに応じて画像データを生成し、その画像データを当該クライアント装置に対して送信する装置であり、
前記画面更新操作の検出は、前記クライアント装置でのユーザ操作によるスクロール要求を検出することで検出する、
ことを特徴とする請求項１〜４の何れかに記載の画像送信装置。
【請求項６】
画像データを送信する画像送信装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
表示画面上に表示される前記画像データに対するユーザによる任意の画面更新操作を検出した際は、その画面更新が連続した連続スクロールの画面更新か否かを判別する第１判別手段、
前記第１判別手段で前記連続スクロールの画面更新であると判別された際は、通信状態が良好か否かを判別する第２判別手段、
前記第２判別手段で良好であると判別された場合は、前記表示スクロールに応じて更新された表示領域の画像データを低品質画像として直ちにリアルタイム送信し、一方、前記第２判別手段で良好でないと判別された場合は、前記低品質画像を所定間隔でまとめて送信する第１送信制御手段、
前記第１判別手段で前記連続スクロールでない画面更新であると判別された際は、その画面更新に応じた表示領域の画像データを高品質画像として送信する第２送信制御手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを送信する画像送信装置に関する。
【背景技術】
【０００２】
従来のサーバ・クライアント・システムにおいて、例えばクライアント装置からのリモート操作によりサーバ装置側で所望のアプリケーションプログラムを起動実行させるサーバベース・コンピューティング・システム(ＳＢＣ;Server Based Computing system)がある。このＳＢＣシステムでは、クライアント装置の操作入力に応じてサーバ装置側で処理され更新される表示用の描画データが、該サーバ装置からその描画更新の都度クライアント装置へと送信転送されて表示される。これによりクライアント装置は、表示や入力など最低限の機能のみを持てば良く、アプリケーションなどの資源はサーバ装置で一元管理するものである。
【０００３】
このようにＳＢＣシステムは、サーバ装置上でアプリケーションプログラムが実行されるので、クライアント装置の性能が低い場合にも高機能なコンピューティング環境を実現可能である。
【０００４】
従来、ＳＢＣシステムは、社内ＬＡＮ(Local Area Network)のような、遅延の存在しない高速ネットワークを前提に設計されている。しかしながら、画面更新のデータ量が大きかったり、ネットワークの通信速度（帯域幅）が低速（狭い）であったりした場合には、クライアント装置の操作入力に対してサーバ装置により生成される画面描画データが当該クライアント装置に送信転送されて１画面として完成表示されるまでに時間が掛かり、応答性の悪い問題となる。
【０００５】
そこで、クライアント装置におけるユーザの見かけの反応を良くするため、最初は低画質にしたデータ量の少ない画面描画データを送信し、その後インターバルを置いて高画質の画面描画データを送信する、２段階で画面転送する画面転送装置が考えられている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２４６１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前記従来の画面転送装置では、クライアント装置におけるユーザ操作に応じた画面表示の見かけ上のレスポンスは向上するものの、全ての画面転送を２段階にすると、画面データの総送信データ量としては逆に増加することになる。
【０００８】
このため、例えばネットワークが無線ＷＡＮ(Wide Area Network)などにより伝送遅延が発生しやすい環境では、システム全体としての負荷がより大きくなり、そのパフォーマンスも劣化し、本来の操作レスポンスの向上には寄与しない問題がある。
【０００９】
なお、ＳＢＣシステムにおいて、特に、操作レスポンスが悪化しやすい状況としては、Ｗｅｂページなどの長大なデータを連続的にスクロール操作しながら表示させる場合があげられる。
【００１０】
つまり、この連続的なスクロールの場合には、１単位分スクロールの都度、当該１スクロールに応じた幅の画面描画データを生成しクライアント装置へ転送する処理が生じるため、前記無線ＷＡＮなどにより伝送遅延が発生する環境では、なおさら操作レスポンス良く表示させることはできない。
【００１１】
本発明は、Ｗｅｂページなどの長大なデータを連続的にスクロールしながら表示させる場合に、システム全体への負荷を抑制しつつ、操作レスポンス良く表示させることが可能になる装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
請求項１は、画像データを送信する画像送信装置であって、表示画面上に表示される前記画像データに対するユーザによる任意の画面更新操作を検出した際は、その画面更新が連続した連続スクロールの画面更新か否かを判別する第１判別手段と、前記第１判別手段で前記連続スクロールの画面更新であると判別された際は、通信状態が良好か否かを判別する第２判別手段と、前記第２判別手段で良好であると判別された場合は、前記表示スクロールに応じて更新された表示領域の画像データを低品質画像として直ちにリアルタイム送信し、一方、前記第２判別手段で良好でないと判別された場合は、前記低品質画像を所定間隔でまとめて送信する第１送信制御手段と、前記第１判別手段で前記連続スクロールでない画面更新であると判別された際は、その画面更新に応じた表示領域の画像データを高品質画像として送信する第２送信制御手段と、を備えたことを特徴としている。
【発明の効果】
【００１６】
本発明によれば、Ｗｅｂページなどの長大なデータを連続的にスクロールしながら表示させる場合に、システム全体への負荷を抑制しつつ、操作レスポンス良く表示させることが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るＳＢＣ(Server Based Computing)システムの構成を示すブロック図。
【図２】前記ＳＢＣシステムにおけるサーバ装置１０の回路構成を示すブロック図。
【図３】前記サーバ装置１０のクライアント用フレームバッファＲＡＭ１４ａ上に生成されるＷｅｂページＨＰの描画データＧと、画面スクロール時（１スクロール毎）にクライアント装置２０へ送信される描画データＧ（Ｇｋ＋Ｇnew）との関係を示す図。
【図４】前記ＳＢＣシステムにおけるクライアント装置２０の回路構成を示すブロック図。
【図５】前記サーバ装置１０とクライアント装置２０におけるソフトウエア・モジュールの構成を示す図。
【図６】前記サーバ装置１０のＲＡＭ１４に用意される主要なデータメモリを示す図。
【図７】前記サーバ装置１０のスクロール中フラグの状態およびＲＴＴ測定モジュール１３ａ１により取得された伝送遅延時間ｔに応じて設定される「Eager Updateモード」と「Lazy Updateモード」とによる画面送信スケジュールを対比して説明する図。
【図８】前記ＳＢＣシステムのサーバ装置１０が実行する描画更新処理の概要を示すフローチャート。
【図９】前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール（スクロール中）の判断処理（ＳＡ）を示すフローチャート。
【図１０】前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた更新描画データＧの圧縮処理（ＳＢ）を示すフローチャート。
【図１１】前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた画面転送スケジューリング処理（ＳＣ）を示すフローチャート。
【図１２】前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた画面送信処理（ＳＤ）を示すフローチャート。
【発明を実施するための形態】
【００１８】
以下図面により本発明の実施の形態について説明する。
【００１９】
図１は、本発明の実施形態に係るＳＢＣ(Server Based Computing)システムの構成を示すブロック図である。
【００２０】
このＳＢＣシステムは、有線または無線のＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)からなるネットワークＮ上に接続されたサーバ装置１０および複数のクライアント装置(Thin client)２０，…を備える。
【００２１】
サーバ装置１０は、テキスト作成処理プログラム，Ｗｅｂブラウザプログラム，表計算処理プログラム，メール処理プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置１０に接続されたクライアント装置２０，…からの操作入力（入力イベント）信号に応じて起動しその処理を実行する。
【００２２】
このサーバ装置１０において、クライアント装置２０，…からの操作入力信号に応じたアプリケーションプログラムの実行に伴い、クライアント用のフレームバッファＲＡＭ１４ａ（図２参照）上に生成された表示出力用の描画データＧは、イメージ送信やコマンド送信を組み合わせてアクセス元のクライアント装置２０，…へ転送される。
【００２３】
そして、クライアント装置２０，…では、前記サーバ装置１０から転送された描画データＧがフレームバッファＲＡＭ２５（図４参照）に展開され、表示装置２６の表示画面に表示される。
【００２４】
つまり、このＳＢＣシステムにおける各クライアント装置(Thin client)２０，…は、何れもキーボードやマウスなどのユーザ操作に応じた入力機能とＬＣＤ表示部及びプリンタなどへの出力機能を主要な機能として有し、前記サーバ装置１０が有している各種のアプリケーション機能やデータファイルの管理機能を持っていない。
【００２５】
そして、クライアント装置２０，…からの操作入力（入力イベント）信号に応じてサーバ装置１０にて起動実行される各種の処理に伴い生成されたデータファイルは、原則として、当該サーバ装置１０内あるいは該サーバ装置１０にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【００２６】
図２は、前記ＳＢＣシステムにおけるサーバ装置１０の回路構成を示すブロック図である。
【００２７】
サーバ装置１０は、コンピュータとしてのＣＰＵ１１を備え、このＣＰＵ１１には、バス１２を介してＲＯＭ１３、ＲＡＭ１４、フレームバッファＲＡＭ１５、表示装置１６が接続される。
【００２８】
また、ＣＰＵ１１には、バス１２を介してキーボード，マウスなどの入力装置１７、外部記憶装置１８、クライアント装置２０，…との通信Ｉ／Ｆ（インターフェイス）１９が接続される。
【００２９】
ＣＰＵ１１は、ＲＯＭ１３のプログラムメモリ１３ａに予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってＲＡＭ１４を作業用メモリとし回路各部の動作を制御するもので、入力装置１７からのキー入力信号や通信Ｉ／Ｆ１９を介して受信されるクライアント装置２０からのユーザ操作に応じた処理指令（入力イベント）信号などに応じて前記種々のプログラムが起動・実行される。
【００３０】
このサーバ装置１０において、クライアント装置２０からの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザＩＤに対応付けられて外部記憶装置１８に記憶される。またクライアント表示用の描画データＧは、ＲＡＭ１４内のクライアント用フレームバッファＲＡＭ１４ａを使用して生成されると共に、通信Ｉ／Ｆ１９からクライアント装置２０へ転送されて表示出力される。
【００３１】
例えばクライアント装置２０からの入力イベントがＷｅｂページＨＰの表示を要求するイベントである場合に、これに応答してサーバ装置１０のＷｅｂブラウザプログラムにより取得されたＷｅｂページＨＰの全体データから、クライアント装置２０の表示画面（２６）に合わせた描画データＧが生成されてクライアント用フレームバッファＲＡＭ１４ａに記憶される（図３（Ａ）参照）。
【００３２】
そして、前記クライアント用フレームバッファＲＡＭ１４ａに生成された描画データＧは、適切な圧縮方式で圧縮処理された後、適切なタイミングでクライアント装置２０へ転送され、そのフレームバッファＲＡＭ２５（図４参照）に記憶され表示される。
【００３３】
なお、前記クライアント用フレームバッファＲＡＭ１４ａに生成された描画データＧは、前回の入力イベントに応じて生成された描画データＧ-1と画像に差のある部分を含む矩形の領域のみイメージで抽出され、表示画面（２６）上の表示位置を指示する座標と共に送信される。
【００３４】
この際、前記クライアント用フレームバッファＲＡＭ１４ａに生成された描画データＧのうち、前回の入力イベントに応じて生成された描画データＧ-1と画像に差のない矩形領域については、当該矩形領域のコピーコマンド共に、表示画面（２６）上の表示位置を指示する座標が送信される。
【００３５】
図３は、前記サーバ装置１０のクライアント用フレームバッファＲＡＭ１４ａ上に生成されるＷｅｂページＨＰの描画データＧと、画面スクロール時（１スクロール毎）にクライアント装置２０へ送信される描画データＧ（Ｇｋ＋Ｇnew）との関係を示す図である。
【００３６】
クライアント装置２０からの入力イベントに応じて生成されたクライアント表示用の描画データＧについて、図３（Ａ）の状態において画面スクロールが発生すると、図３（Ｂ）に示すように、画像に変化がない矩形領域Ｇｋについては、当該矩形領域Ｇｋのコピーコマンドと共に、１スクロールの幅Ｄｓに応じた表示画面（２６）上の表示位置を指示する座標（ａ，ｂ）が送信される。
【００３７】
これと共に、１スクロールの幅Ｄｓで画像が変化した矩形領域Ｇnewについては、そのイメージデータと共に、表示画面（２６）上の表示位置を指示する座標（ｃ，ｄ）が送信される。
【００３８】
一方、サーバ装置１０自身の表示装置１６にて表示させるための描画データは、フレームバッファＲＡＭ１５上に生成される。
【００３９】
図４は、前記ＳＢＣシステムにおけるクライアント装置２０の回路構成を示すブロック図である。
【００４０】
クライアント装置２０は、コンピュータとしてのＣＰＵ２１を備え、このＣＰＵ２１には、バス２２を介してＲＯＭ２３、ＲＡＭ２４、フレームバッファＲＡＭ２５が接続される。そして、このフレームバッファＲＡＭ２５に書き込まれた描画データＧ（図３参照）が、表示装置２６の表示画面に表示される。
【００４１】
また、ＣＰＵ２１には、バス２２を介して入力装置２７、外部記憶装置２８、前記サーバ装置１０との通信Ｉ／Ｆ（インターフェイス）２９が接続される。
【００４２】
ＣＰＵ２１は、ＲＯＭ２３のプログラムメモリ２３ａに予め記憶されているシステムプログラムに従ってＲＡＭ２４を作業用メモリとし回路各部の動作を制御するもので、入力装置２７からのキー入力信号、通信Ｉ／Ｆ２９を介して受信されるサーバ装置１０からのアプリケーション応答信号や転送描画データＧなどに応じて前記システムプログラムが起動され実行される。
【００４３】
このクライアント装置２０において、前記サーバ装置１０におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶装置２８に読み込ませて記憶させ、また生成転送された表示用の描画データＧは、そのイメージやコマンドに従いフレームバッファＲＡＭ２５に展開され表示装置２６で表示出力される。
【００４４】
図５は、前記サーバ装置１０とクライアント装置２０におけるソフトウエア・モジュールの構成を示す図である。
【００４５】
サーバ装置１０のプログラムメモリ１３ａに記憶されるサーバ制御プログラムは、ＲＴＴ(Round Trip Time)測定モジュール１３ａ１、画面制御モジュール１３ａ２、通信モジュール１３ａ３を有する。
【００４６】
ＲＴＴ測定モジュール１３ａ１は、ネットワークＮにおけるクライアント装置２０との間での伝送遅延の度合いを測定し、この測定結果を画面制御モジュール１３ａ２に通知する機能を有する。
【００４７】
画面制御モジュール１３ａ２は、クライアント装置２０からの入力イベントに応じたアプリケーションプログラムを起動させて表示用の描画データＧをクライアント用フレームバッファＲＡＭ１４ａ上に生成し、前記ＲＴＴ測定モジュール１３ａ１から通知された伝送遅延の測定結果や画面スクロールの状態などに応じて、前記描画データＧのクライアント装置２０への送信スケジュールを制御する機能を有する。
【００４８】
通信モジュール１３ａ３は、クライアント装置２０から受け取った入力イベントデータやＲＴＴ測定のためのデータを、画面制御モジュール１３ａ２やＲＴＴ測定モジュール１３ａ１に引き渡す機能、およびＲＴＴ測定モジュール１３ａ１から受け取ったＲＴＴ測定のためのデータや画面制御モジュール１３ａ２から受け取った描画データＧをクライアント装置２０へ送信する機能を有する。
【００４９】
一方、クライアント装置２０のプログラムメモリ２３ａに記憶されるクライアント制御プログラムは、通信モジュール２３ａ１、入力モジュール２３ａ２、画面表示モジュール２３ａ３を有する。
【００５０】
通信モジュール２３ａ１は、サーバ装置１０との間でＲＴＴ測定のためのデータを受信／送信する機能、および入力モジュール２３ａ２から受け取った入力イベントデータをサーバ装置１０へ送信し、サーバ装置１０から受信された表示用の描画データＧを画面表示モジュール２３ａ３に引き渡す機能を有する。
【００５１】
入力モジュール２３ａ２は、ユーザ操作に応じた入力イベントデータを通信モジュール２３ａ１に引き渡す機能を有する。
【００５２】
画面表示モジュール２３ａ３は、通信モジュール２３ａ１から受け取った表示用の描画データＧを、そのイメージやコマンドに従いフレームバッファＲＡＭ２５に展開して表示装置２６に表示させる機能を有する。
【００５３】
図６は、前記サーバ装置１０のＲＡＭ１４に用意される主要なデータメモリを示す図である。
【００５４】
ＲＡＭ１４には、前記クライアント用フレームバッファＲＡＭ１４ａの他に、コピー命令タイムスタンプメモリ１４ｂ、コピー命令連続回数メモリ１４ｃ、スクロール中フラグメモリ１４ｄ、描画更新領域座標メモリ１４ｅ、画面送信ＦＩＦＯメモリ１４ｆ、送信スケジューリングタイマメモリ１４ｇ、ＲＴＴメモリ１４ｈ、描画更新モードメモリ１４ｉ、画面転送予約数メモリ１４ｊなどが用意される。
【００５５】
コピー命令タイムスタンプメモリ１４ｂには、クライアント装置２０からの入力イベントに応じたアプリケーションプログラムに従い発行される描画コマンドが、描画データＧｋのコピーコマンドであると判断された場合に、そのコマンド発行毎にタイムスタンプのデータが記憶される。
【００５６】
コピー命令連続回数メモリ１４ｃには、前記コピー命令タイムスタンプメモリ１４ｂに記憶された前回と今回のコピーコマンド発行に伴うタイムスタンプ間の差分が予め設定された閾値以下である場合に、そのコピーコマンドの発行回数が加算されて記憶される。
【００５７】
スクロール中フラグメモリ１４ｄには、前記コピー命令連続回数メモリ１４ｃに記憶されたコピーコマンドの発行回数が予め設定された閾値以上になった場合に、連続的な画面スクロールによる描画データＧの更新が発生していることを示すフラグが記憶される。
【００５８】
描画更新領域座標メモリ１４ｅには、クライアント表示用の描画データＧが更新された場合に、前回の描画データＧ-1との画像変化部分を含む画像全体の中での矩形領域の座標が記憶される。
【００５９】
画面送信ＦＩＦＯメモリ１４ｆには、クライアント用フレームバッファＲＡＭ１４ａにて生成された描画データＧが、クライアント装置２０へ転送されるデータとしてバッファリングされるもので、この際、前回の描画データＧ-1との比較により更新された前記矩形領域のデータだけが圧縮処理され、例えば当該描画データＧを生成したアプリケーションにより設定される画面スクロールの幅Ｄｓ（図３参照）の単位で記憶される。
【００６０】
送信スケジューリングタイマメモリ１４ｇには、画面送信のスケジュール設定を一定時間毎に繰り返し実施するためのタイマデータが記憶される。
【００６１】
ＲＴＴメモリ１４ｈには、前記ＲＴＴ測定モジュール１３ａ１によるＲＴＴ測定機能により測定されたクライアント装置２０との間での伝送遅延時間ｔが記憶される。
【００６２】
前記サーバ装置１０のＲＴＴ測定モジュール１３ａ１によるＲＴＴ測定処理のシーケンス(1)〜(5)は次の通りである。
【００６３】
(1)サーバ装置１０は、ＲＴＴ測定リクエストを一定間隔毎にクライアント装置２０へ送信する。
【００６４】
(2)クライアント装置２０において、前記サーバ装置１０から送信されたＲＴＴ測定リクエストが受信されると、上りのＲＴＴ測定パケットを前記サーバ装置１０へ送信する。
【００６５】
(3)サーバ装置１０において、前記クライアント装置２０から送信された上りのＲＴＴ測定パケットが受信されると、下りのＲＴＴ測定パケットを前記クライアント装置２０へ送信する。
【００６６】
(4)クライアント装置２０において、前記サーバ装置１０から送信された下りのＲＴＴ測定パケットが受信されると、前記上りのＲＴＴ測定パケット送出時のタイムスタンプと、当該下りのＲＴＴ測定パケット受信時との差分を伝送遅延時間ｔとし、サーバ装置１０へ通知する。
【００６７】
(5)サーバ装置１０に通知された伝送遅延時間ｔは、前記ＲＴＴ測定モジュール１３ａ１に渡されてＲＴＴメモリ１４ｈに記憶されると共に、前記画面制御モジュール１３ａ２に渡される。
【００６８】
前記画面制御モジュール１３ａ２は、前記スクロール中フラグメモリ１４ｄに記憶されるフラグのセット（ｏｎ）／リセット（ｏｆｆ）の状態、および前記ＲＴＴメモリ１４ｈに記憶されたクライアント装置２０との間での伝送遅延時間ｔに基づき、クライアント画面更新のための描画データＧの送信スケジュールを、後述する「Eager Updateモード」または「Lazy Updateモード」に設定して制御する。
【００６９】
図７は、前記サーバ装置１０のスクロール中フラグの状態およびＲＴＴ測定モジュール１３ａ１により取得された伝送遅延時間ｔに応じて設定される「Eager Updateモード」と「Lazy Updateモード」とによる画面送信スケジュールを対比して説明する図である。
【００７０】
サーバ装置１０が画面を送信するスケジューリング方式は、主に以下の２つがあげられる。
【００７１】
（１）アプリケーションが描画コマンドを発行したタイミングに応じてその描画データＧをリアルタイムに送信する方式（Eager Updateモード：図７（Ａ）参照）。
【００７２】
（２）一定時間のインターバルを置き、その間の描画データＧを前記一定時間のタイムアップに応じて纏めて送信する方式（Lazy Updateモード：図７（Ｂ）参照）。
【００７３】
クライアント画面更新のための描画データＧの送信スケジュールについて、理想的には、図７（Ａ）に示すように、余計な待ちが少なく、描画コマンドを生成順にリアルタイムに送信するEager Updateモードが望ましい。
【００７４】
しかしながら、伝送遅延の大きな環境でデータ量の大きい描画データＧの送信（高品質な送信）を何度も繰り返すと、送信オーバヘッドが何度も起こって伝送遅延を更に助長してしまう。
【００７５】
このため、更新された描画データＧの送信を何度も繰り返す必要のある連続的な画面スクロールが発生した場合、高圧縮（低画質）にしたデータ量の少ない描画データＧを、伝送遅延の小さいときにEager Updateモードで送信することで、クライアント装置２０の側でレスポンス良く更新画面を表示させる。そして、連続的な画面スクロールが終わった後に、前記高圧縮（低画質）で送信した既に更新済の描画データＧについて、低圧縮（高画質）にした描画データＧを、Lazy Updateモードで再送信することで、画面クロール後に素早く画質の回復を図る。
【００７６】
前記ＲＡＭ１４内の描画更新モードメモリ１４ｉには、前記スクロール中フラグメモリ１４ｄにおけるフラグがセット（ｏｎ）状態にあって、且つ前記ＲＴＴメモリ１４ｈに逐次更新されて記憶される伝送遅延時間ｔが、予め設定された閾値ＴＨ以下の場合に、前記Eager Updateモードを示すデータが記憶され、前記スクロール中フラグがリセット（ｏｆｆ）状態にあるか、または前記伝送遅延時間ｔが閾値ＴＨを超える場合に、前記Lazy Updateモードを示すデータが記憶される。
【００７７】
画面転送予約数メモリ１４ｊには、前記画面送信ＦＩＦＯメモリ１４ｆにバッファリングされた描画データＧのクライアント装置２０への転送待ち予約数（画面スクロールの場合はＤｓ単位）が記憶される。
【００７８】
次に、前記構成のＳＢＣシステムのサーバ装置１０の動作について説明する。
【００７９】
図８は、前記ＳＢＣシステムのサーバ装置１０が実行する描画更新処理の概要を示すフローチャートである。
【００８０】
クライアント装置２０からの入力イベントに応じて実行されるアプリケーションプログラム（例えばＷｅｂブラウザプログラム）により、インターネットＮ上のＷｅｂサイトからＷｅｂページＨＰが取得され、クライアント表示用の描画データＧが新規または更新されてフレームバッファＲＡＭ１４ａ上に生成されると、描画コマンドの内容に応じて、今回の描画データＧの生成処理が連続的な画面スクロール（スクロール中）に伴う描画更新処理であるか否か判断される（ステップＳＡ）。
【００８１】
ここで、連続的な画面スクロール（スクロール中）に伴う描画更新処理であると判断されると（ステップＳｊ（Ｙｅｓ））、当該連続的な画面スクロールに特化した描画データＧ（スクロール幅Ｄｓ分の矩形領域の描画データＧnew）の画像圧縮処理が実行される（ステップＳＢｓ）。一方、連続的な画面スクロールに伴う描画更新処理中でないと判断されると（ステップＳｊ（Ｎｏ））、通常の画像圧縮処理が実行される（ステップＳＢｎ）。
【００８２】
また同様に、連続的な画面スクロールに伴う描画更新処理中であると判断されると（ステップＳｊ（Ｙｅｓ））、当該連続的な画面スクロールに特化した画面転送スケジューリング処理が実行される（ステップＳＣｓ）。一方、連続的な画面スクロールに伴う描画更新処理中でないと判断されると（ステップＳｊ（Ｎｏ））、通常の画面転送スケジューリング処理が実行される（ステップＳＣｎ）。
【００８３】
そして、前記連続的な画面スクロールに伴う描画更新処理中かそうでないかに応じて画像圧縮処理されスケジューリングされた更新描画データＧが、Eager UpdateモードまたはLazy Updateモードによる送信形態に応じて送信される（ステップＳＤ）。
【００８４】
図９は、前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール（スクロール中）の判断処理（ＳＡ）を示すフローチャートである。
【００８５】
クライアント用フレームバッファＲＡＭ１４ａに対する描画データＧの生成に伴い、アプリケーションプログラム（例えばＷｅｂブラウザプログラム）から発行される描画コマンドが確認されると（ステップＡ１）、当該描画コマンドにコピーコマンドが含まれるか否か判断される（ステップＡ２）。
【００８６】
ここで、前記描画コマンドにコピーコマンドが含まれると判断されると（ステップＡ２（Ｙｅｓ））、当該コピーコマンドの発行に伴うタイムスタンプがコピー命令タイムスタンプメモリ１４ｂに記憶される（ステップＡ３）。
【００８７】
すると、前記コピー命令タイムスタンプメモリ１４ｂに記憶された前回のタイムスタンプと今回のタイムスタンプとの差分（時間間隔）が求められ（ステップＡ４）、当該前回〜今回間のタイムスタンプの差分が、予め設定された閾値以下か否か、つまり、ある短い時間間隔で連続して描画データＧの更新のためのコピーコマンドが発行されたか否か判断される（ステップＡ５）。
【００８８】
ここで、前記予め設定された時間間隔で連続して描画データＧの更新のためのコピーコマンドが発行されたと判断されると（ステップＡ５（Ｙｅｓ））、当該連続したコピーコマンドの発行回数がコピー命令連続回数メモリ１４ｃにカウントされて記憶される（ステップＡ６）。
【００８９】
すると、前記コピー命令連続回数メモリ１４ｃに記憶された連続したコピーコマンドの発行回数が予め設定された閾値以上か否か、つまり、ある短い時間間隔で、且つある回数以上連続して描画データＧの更新のためのコピーコマンドが発行された否か判断される（ステップＡ７）。
【００９０】
ここで、前記予め設定された回数以上連続して短い時間間隔のコピーコマンドが発行されたと判断されると（ステップＡ７（Ｙｅｓ））、連続的な画面スクロールに伴う描画更新処理の状態にあると判断され、スクロール中フラグメモリ１４ｄにスクロール中を示すフラグがセット（ｏｎ）される（ステップＡ８）。
【００９１】
一方、前記ステップＡ２において、前記描画コマンドにコピーコマンドが含まれないと判断された場合（ステップＡ２（Ｎｏ））、画面スクロールに伴う描画更新処理の状態にない（例えば、１画面分の描画データＧが新規生成される場合）と判断され、前記スクロール中フラグ（１４ｄ）はセットされない。
【００９２】
また、前記ステップＡ５において、前回〜今回間のコピーコマンドに伴うタイムスタンプの差分が、予め設定された閾値以下でなく、短い時間間隔での連続したコピーコマンドの発行ではない（または、なくなった）と判断された場合（ステップＡ５（Ｎｏ））、前記コピー命令連続回数メモリ１４ｃに記憶されている連続したコピーコマンドの発行回数がリセットされると共に、前記スクロール中フラグメモリ１４ｄにセットされているスクロール中フラグがリセットされる（ステップＡ９）。
【００９３】
また、前記ステップＡ７において、前記コピー命令連続回数メモリ１４ｃに記憶された連続したコピーコマンドの発行回数が予め設定された閾値以上に到達しないと判断された場合（ステップＡ７（Ｎｏ））、連続的な画面スクロールに伴う描画更新処理の状態ではないと判断され、前記スクロール中フラグ（１４ｄ）はセットされない。
【００９４】
こうして、連続的な画面スクロールに伴う描画更新処理の状態にあると判断されると、スクロール中フラグメモリ１４ｄにフラグがセット（ｏｎ）される。
【００９５】
図１０は、前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた更新描画データＧの圧縮処理（ＳＢ）を示すフローチャートである。
【００９６】
前記スクロール中フラグメモリ１４ｄにスクロール中フラグがセット（ｏｎ）されているか否か（ｏｆｆ）判断され（ステップＢ１，Ｂ２）、当該スクロール中フラグがセットされていると判断されると（ステップＢ２（Ｙｅｓ））、今回の画面スクロールにより更新されたスクロール幅Ｄｓ分の矩形領域（Ｇnew）（図３参照）の画像全体の中での座標が抽出され、描画更新領域座標メモリ１４ｅに記憶される（ステップＢ３）。
【００９７】
すると、前記スクロール幅Ｄｓ分の矩形領域の描画データＧnewが高圧縮モードで少ないデータ量に圧縮され（ステップＢ４）、表示画面上での描画位置を指示する座標情報と共に画面送信ＦＩＦＯメモリ１４ｆに登録される（ステップＢ５）。
【００９８】
一方、前記ステップＢ２において、前記スクロール中フラグメモリ１４ｄにスクロール中フラグがセットされてない（ｏｆｆ）と判断されると（ステップＢ２（Ｎｏ））、今回画面更新された描画データＧは、通常圧縮モードで圧縮され（ステップＢ６）、画面送信ＦＩＦＯメモリ１４ｆに登録される（ステップＢ５）。
【００９９】
こうして、連続的な画面スクロールに伴い描画更新された描画データＧnewは、高圧縮処理されて画面送信ＦＩＦＯメモリ１４ｆに登録され、後の画面送信処理（ＳＤ）に従いクライアント装置２０へ送信される。一方、例えば画面全体が描画更新された描画データＧ、あるいは連続的でない単発的な画面スクロールに伴い描画更新された描画データＧnewは、通常圧縮処理されて画面送信ＦＩＦＯメモリ１４ｆに登録され、後の画面送信処理（ＳＤ）に従いクライアント装置２０へ送信される。
【０１００】
図１１は、前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた画面転送スケジューリング処理（ＳＣ）を示すフローチャートである。
【０１０１】
送信スケジューリングタイマメモリ１４ｇに記憶されたタイマデータに応じてタイマハンドラが起動されると（ステップＣ１）、前記描画更新領域座標メモリ１４ｅに、既に高圧縮処理されて画面送信ＦＩＦＯメモリ１４ｆへ送られ送信されたスクロール幅Ｄｓ分の矩形領域（Ｇnew）（図３参照）の座標が記憶されているか否か判断される（ステップＣ２）。
【０１０２】
ここで、前記描画更新領域座標メモリ１４ｅに、スクロール幅Ｄｓ分の矩形領域（Ｇnew）の座標が記憶されていると判断されると（ステップＣ２（Ｙｅｓ））、スクロール中フラグメモリ１４ｄの内容が読み出され（ステップＣ３）、そのスクロール中フラグがリセット（ｏｆｆ）されているか否か判断される（ステップＣ４）。
【０１０３】
そして、前記スクロール中フラグがリセット（ｏｆｆ）されている、つまり現在、連続的な画面スクロールの後だと判断されると（ステップＣ４（Ｙｅｓ））、ＲＴＴメモリ１４ｈの内容が読み出され（ステップＣ５）、その伝送遅延時間ｔが予め設定された閾値ＴＨ以下にあるか否か判断される（ステップＣ６）。
【０１０４】
そして、前記伝送遅延時間ｔが予め設定された閾値ＴＨ以下にある、つまり現在、サーバ−クライアント間の伝送遅延が小さく良好な通信状態にあると判断されると（ステップＣ６（Ｙｅｓ））、さらに、画面転送予約数メモリ１４ｊの内容が読み出され（ステップＣ７）、前記画面送信ＦＩＦＯメモリ１４ｆにバッファリングされて未送信となっている描画データＧの転送待ち予約数が予め設定された閾値以下にあるか否か判断される（ステップＣ８）。
【０１０５】
ここで、前記画面送信ＦＩＦＯメモリ１４ｆにバッファリングされている描画データＧの転送待ち予約数が予め設定された閾値以下にある、つまり現在、本サーバ装置１０の画面転送に伴う負荷が軽い状態にあると判断されると（ステップＣ８（Ｙｅｓ））、前記描画更新領域座標メモリ１４ｅに記憶されているスクロール幅Ｄｓ分の矩形領域の座標に対応する描画データＧnew（高圧縮モードで圧縮・送信済）が、通常圧縮（高品質）モードで圧縮される（ステップＣ９）。
【０１０６】
そして現在、クライアント装置２０からの入力イベントが無いことが確認されると（ステップＣ１０（Ｙｅｓ））、前記通常圧縮（高品質）モードで圧縮された描画データＧnewが、表示画面上での描画位置を指示する座標情報と共に画面送信ＦＩＦＯメモリ１４ｆに登録され、後の画面送信処理（ＳＤ）に従いクライアント装置２０へ送信される（ステップＣ１１）。
【０１０７】
すると、前記通常圧縮処理されて画面送信ＦＩＦＯメモリ１４ｆに登録されたスクロール幅Ｄｓ分の矩形領域の座標が、前記描画更新領域座標メモリ１４ｅから消去され（ステップＣ１２）、さらに、前記送信スケジューリングタイマメモリ１４ｇに記憶されたタイマデータが初期セットされる（ステップＣ１３）。
【０１０８】
一方、前記ステップＣ２において、描画更新領域座標メモリ１４ｅに、高圧縮処理して送信処理済みであるスクロール幅Ｄｓ分の矩形領域（Ｇnew）の座標が記憶されてないと判断されるか（ステップＣ２（Ｎｏ）、または、同高圧縮送信済の矩形領域（Ｇnew）の座標が記憶されていると判断されても（ステップＣ２（Ｙｅｓ））、前記ステップＣ４において、スクロール中フラグがリセット（ｏｆｆ）されてない、つまり現在、連続的な画面スクロール中であると判断されるか（ステップＣ４（Ｎｏ））、または、同スクロール中フラグがリセット（ｏｆｆ）されていると判断されても（ステップＣ４（Ｙｅｓ））、前記ステップＣ６において、サーバ−クライアント間の伝送遅延時間ｔが予め設定された閾値ＴＨ以下にないと判断されるか（ステップＣ６（Ｎｏ））、または、前記ステップＣ８において、画面送信ＦＩＦＯメモリ１４ｆにバッファリングされている描画データＧの転送待ち予約数が予め設定された閾値以下にないと判断されると（ステップＣ８（Ｎｏ））、前記矩形領域（Ｇnew）に対応する描画データＧnewの通常圧縮モード（高品質）での圧縮・送信処理（ステップＣ９〜Ｃ１２）は実行されず、前記送信スケジューリングタイマメモリ１４ｇに記憶されたタイマデータが初期セットされる（ステップＣ１３）。
【０１０９】
また、前記スクロール中フラグ（ｏｆｆ）（ステップＣ４（Ｙｅｓ））、ＲＴＴ閾値ＴＨ以下（ステップＣ６（Ｙｅｓ））、画面転送予約数閾値以下（ステップＣ８（Ｙｅｓ））、の各条件がクリアされ、ステップＣ９において、スクロール幅Ｄｓ分の矩形領域の座標に対応する描画データＧnew（高圧縮送信済）の通常圧縮（高品質）モードによる圧縮がされても、現在、クライアント装置２０からの入力イベントが有ると判断されると（ステップＣ１０（Ｎｏ））、当該通常圧縮処理された描画データＧnewの送信処理（ステップＣ１１，Ｃ１２）は実行されず、前記送信スケジューリングタイマメモリ１４ｇに記憶されたタイマデータが初期セットされる（ステップＣ１３）。
【０１１０】
こうして、連続的な画面スクロールに伴い、前記画像圧縮処理（ＳＢ）において高圧縮モードで圧縮処理され送信処理されたスクロール幅Ｄｓ分の矩形領域の描画データＧnewは、この画面転送スケジューリング処理（ＳＣ）において、連続的な画面スクロール中でないこと、伝送遅延が小さいこと、画面転送予約数が少ないこと、クライアント装置２０からの入力イベントがないことを条件に、通常圧縮モード（高品質）で圧縮処理され再送信される。
【０１１１】
図１２は、前記サーバ装置１０が実行する描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた画面送信処理（ＳＤ）を示すフローチャートである。
【０１１２】
前記スクロール中フラグメモリ１４ｄにフラグがセット（ｏｎ）されているか否か（ｏｆｆ）が判断され（ステップＤ１，Ｄ２）、当該スクロール中フラグがセットされていると判断されると（ステップＤ２（Ｙｅｓ））、ＲＴＴメモリ１４ｈに記憶されている伝送遅延時間ｔが予め設定された閾値ＴＨ以下にあるか否か判断される（ステップＤ３）。
【０１１３】
そして、前記伝送遅延時間ｔが予め設定された閾値ＴＨ以下にある、つまり現在、サーバ−クライアント間の伝送遅延が小さく良好な通信状態にあると判断されると（ステップＤ３（Ｙｅｓ））、前記画面送信ＦＩＦＯメモリ１４ｆに記憶されているクライアント画面更新のための描画データＧ（Ｇnew）の送信スケジュールが「Eager Updateモード」に設定され、描画更新モードメモリ１４ｉに記憶される（ステップＤ４）。
【０１１４】
一方、前記ステップＤ２において、スクロール中フラグがリセット（ｏｆｆ）されていると判断された場合（ステップＤ２（Ｎｏ））、または、スクロール中フラグがセット（ｏｎ）されていると判断された場合でも（ステップＤ２（Ｙｅｓ））、前記伝送遅延時間ｔが予め設定された閾値ＴＨ以下になく、現在、サーバ−クライアント間の伝送遅延が大きい通信状態にあると判断された場合には（ステップＤ３（Ｎｏ））、前記画面送信ＦＩＦＯメモリ１４ｆに記憶されているクライアント画面更新のための描画データＧ（Ｇnew）の送信スケジュールが「Lazy Updateモード」に設定され、描画更新モードメモリ１４ｉに記憶される（ステップＳ４）。
【０１１５】
したがって、前記構成のＳＢＣシステムのサーバ装置１０によれば、連続的な画面スクロール中には、伝送遅延が小さいときに限り、スクロール幅Ｄｓに対応する矩形領域の描画データＧnewを、「高圧縮モード」で少ないデータ量（低品質）に圧縮すると共に、「Eager Updateモード」でリアルタイムにクライアント装置２０へ送信して表示更新させる。そして、前記連続的な画面スクロールが終わった後、伝送遅延が小さく、且つ画面送信予約数が少なく、且つクライアント装置２０からの入力イベントがないときを判断して、前記高圧縮して送信済である描画データＧnewを、「通常圧縮モード」（高品質）で圧縮すると共に、「Lazy Updateモード」で纏めてクライアント装置２０へ再送信し、高画質に表示更新させる。
【０１１６】
このため、特に、操作レスポンスが悪化しやすい連続的な画面スクロールによる描画更新処理を実行する場合に限り、その画面スクロール中は、順次更新される描画データＧnewを高圧縮（低品質）でリアルタイムに送信してレスポンス性を確保し、画面スクロール後は、前記送信済の描画データＧnewを低圧縮（高品質）で纏めて送信して閲覧性を確保するという２段階の画面転送を、何れも伝送遅延が小さいときを確認して実施できる。よって、無線ＷＡＮのように伝送遅延が避けられないネットワーク環境においても、システム全体への負荷を抑制しつつ、快適な画面スクロールのレスポンスを実現できる。
【０１１７】
なお、前記実施形態において記載したＳＢＣシステムのサーバ装置１０による各処理の手法、すなわち、図８のフローチャートに示す描画更新処理、図９のフローチャートに示す前記描画更新処理に伴う連続的な画面スクロール（スクロール中）の判断処理（ＳＡ）、図１０のフローチャートに示す前記描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた更新描画データＧの圧縮処理（ＳＢ）、図１１のフローチャートに示す前記描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた画面転送スケジューリング処理（ＳＣ）、図１２のフローチャートに示す前記描画更新処理に伴う連続的な画面スクロール中か否かの判断処理（ＳＡ）に応じた画面送信処理（ＳＤ）等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記録装置１８の媒体に格納して配布することができる。そして、サーバ装置１０のコンピュータ（ＣＰＵ１１）は、この外部記憶装置１８の媒体に記憶されたプログラムを記憶装置（フラッシュＲＯＭ１３やＲＡＭ１４）に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した連続的な画面スクロールに伴う描画更新処理に特化した描画データＧnewの２段階送信機能を実現し、前述した手法による同様の処理を実行することができる。
【０１１８】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク（Ｎ）上を伝送させることができ、この通信ネットワーク（Ｎ）に接続されたコンピュータ装置（プログラムサーバ）から前記のプログラムデータをサーバ装置１０に取り込んで記憶装置（フラッシュＲＯＭ１３やＲＡＭ１４）に記憶させ、前述した連続的な画面スクロールに伴う描画更新処理に特化した描画データＧnewの２段階送信機能を実現することもできる。
【０１１９】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【０１２０】
１０  …サーバ装置
２０  …クライアント装置
１１、２１…ＣＰＵ
１２、２２…バス
１３、２３…ＲＯＭ
１３ａ，２３ａ…プログラムメモリ
１３ａ１…ＲＴＴ測定モジュール
１３ａ２…画面制御モジュール
１３ａ３，２３ａ１…通信モジュール
２３ａ２…入力モジュール
２３ａ３…画面表示モジュール
１４、２４…ＲＡＭ
１４ａ…クライアント用フレームバッファＲＡＭ
１４ｂ…コピー命令タイムスタンプメモリ
１４ｃ…コピー命令連続回数メモリ
１４ｄ…スクロール中フラグメモリ
１４ｅ…描画更新領域座標メモリ
１４ｆ…画面送信ＦＩＦＯメモリ
１４ｇ…送信スケジューリングタイマメモリ
１４ｈ…ＲＴＴメモリ
１４ｉ…描画更新モードメモリ
１４ｊ…画面転送予約数メモリ
１５、２５…フレームバッファＲＡＭ
１６、２６…表示装置
１７、２７…入力装置
１８、２８…外部記憶装置
１９、２９…通信Ｉ／Ｆ
Ｎ    …通信ネットワーク
ＨＰ  …Ｗｅｂページ
Ｇ    …クライアント表示用描画データ
Ｄｓ  …スクロール幅（移動量）
Ｇnew…スクロール幅の更新描画データ
【図１】
0005402415.tif 000002
【図２】
0005402415.tif 000003
【図３】
0005402415.tif 000004
【図４】
0005402415.tif 000005
【図５】
0005402415.tif 000006
【図６】
0005402415.tif 000007
【図７】
0005402415.tif 000008
【図８】
0005402415.tif 000009
【図９】
0005402415.tif 000010
【図１０】
0005402415.tif 000011
【図１１】
0005402415.tif 000012
【図１２】
0005402415.tif 000013