(57)【要約】  画像送信装置が画像受信装置へ画像データ送信する際に効率的な送信の実現を目的とする。画像送信装置であるサーバ装置１の操作データ受信部１１が、画像受信装置であるクライアント装置２で発生した操作イベントをネットワーク３経由で受信し、送信制御部１７が、所定の送信間隔にもとづく送信の制御において、クライアント装置２へ送信する画像データの送信データ量、画像データを送信するネットワーク３の帯域、及び直前の送信時から画像データの送信をする時点までに受信していた操作イベントのイベント数をもとに画像データの判定用時刻ｔを計算し、画像データの送信をする時点を示す送信時刻ｔｎｏｗと判定用時刻ｔとを比較し、判定用時刻ｔが送信時刻ｔｎｏｗより遅い場合に、画像データの送信を抑止する。
2013128623.tif 000002
【特許請求の範囲】
【請求項１】
画像送信装置が画像データを画像受信装置へ送信する方法において、
前記画像送信装置が、
前記画像受信装置で発生した操作イベントをネットワーク経由で受信し、
予め定められた送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する、処理を実行する
ことを特徴とする画像送信方法。
【請求項２】
前記画像送信装置が、
前記画像データの送信を実行した場合に前記画像受信装置から受信した応答情報に含まれる前記ネットワークの帯域及び前記画像データの消失率を取得し、
前記判定用時刻を計算する際に、前記ネットワーク情報として前記帯域及び前記消失率を用いる
ことを特徴とする請求項１に記載の画像送信方法。
【請求項３】
コンピュータに、画像データを画像受信装置へ送信させる処理を実行させるための画像送信プログラムにおいて、
前記コンピュータに、
画像受信装置で発生した操作イベントをネットワーク経由で受信し、
予め定められた送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する、処理を実行させる
ことを特徴とする画像送信プログラム。
【請求項４】
画像データを画像受信装置へ送信する画像送信装置であって、
画像データを取得する画像更新検知部と、
予め定められた送信間隔毎に前記画像データを画像受信装置へ送信する画像送信部と、
前記画像受信装置で発生した操作イベントをネットワーク経由で受信する操作イベント受信部と、
前記受信した操作イベントを保持する操作イベント格納部と、
前記送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する送信制御部とを備える
ことを特徴とする画像送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをネットワーク経由で他の装置へ送信する画像送信方法、画像送信プログラム、画像送信装置に関する。
【背景技術】
【０００２】
近年、アプリケーションを含むほとんどの処理をサーバ装置側で実行し、デスクトップ画面や実行結果をネットワーク経由でクライアント装置側へ送信することにより、ユーザが使用するクライアント側では必要最小限の処理のみを行うようにするシンクライアントシステムと呼ばれるシステムアーキテクチャが普及している。【０００３】
シンクライアントシステムでは、サーバ装置が実行するアプリケーション等の処理結果やデスクトップ画面などのフレームバッファに格納される画像データを、ネットワークを経由してリアルタイムでクライアント装置へ送信する。画像データのリアルタイム送信により、クライアント装置は、サーバ装置で生成された画像データ（フレームバッファのデータ）を即座に表示することができる。【０００４】
シンクライアントシステムでは、サーバ装置は画像データを送信する画像送信装置として、クライアント装置は画像データを受信する画像受信装置として機能するが、送信を行うネットワークの状態によっては、クライアント装置へのデータ通信に遅延が生じる。【０００５】
そのため、サーバ−クライアント間の通信遅延の影響を軽減する送信手法が提案されている。１つの従来手法として、画像データを送信する送信装置が、画像データを受信する受信装置へ送付パケットを送信し、受信装置から、送付パケットの送信時刻を含む受領応答の返信を受信し、送付パケットの送信時刻から計算した応答時間と所定の閾値との関係から、画像データの送信時のパケット数を増減することによって、送信遅延を回避できるようにする手法が知られている。【０００６】
また、別の従来手法として、画像データを送信する送信側装置が、送信対象の画像データを、ネットワーク上での予想されるパケット消失率をもとに設定された符号化率で冗長符号化してネットワーク経由で受信側装置へ送信し、受信側装置では、受信した冗長符号化された符号化データを用いて元の画像データを復号処理することによって、応答を待つことなく画像データを送信することができる手法が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２５４３８３号公報
【特許文献２】特開２００７−２５１７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
シンクライアントシステムでは、サーバ装置側のフレームバッファに格納された画像データを素早く検知し、検知した画像データをできる限りネットワーク状態の影響を受けないようにしてクライアント装置に受信させる必要がある。【０００９】
しかし、サーバ装置で生成される画像データは、クライアント装置で発生したユーザ操作に関連している。そのため、サーバ装置がユーザ操作に応じて実行された結果を示す画像データ（デスクトップ画面、実行結果等）をクライアント装置へ送信するタイミングによっては、クライアント装置で発生したユーザ操作とクライアント装置で表示される画像データとの関係が不自然なものとなってしまう恐れがある。【００１０】
サーバ装置からクライアント装置へ画像データを送信する場合に、一定のフレームレートで送信する方式、受信側からの応答を待って送信する方式等がある。しかし、これらの送信方式であっても送信遅延が生じる。【００１１】
図１０は、一定のフレームレートで送信する方式の場合の遅延を説明するための図である。【００１２】
図１０の左側は、シンクライアントシステムのサーバ装置側、右側はクライアント装置側を示す。【００１３】
クライアント装置は、ユーザによりマウス操作イベントが発生すると、各マウス操作ｏｐ１、ｏｐ２、ｏｐ３、ｏｐ４、…を発生順にサーバ装置へ送信する。サーバ装置は、一定の送信間隔で、デスクトップ画面のフレームデータの全部または一部であるフレームｆｒ１、ｆｒ２、ｆｒ３、ｆｒ４、…をクライアント装置へ送信する。デスクトップ画面は、アプリケーションのユーザ操作にもとづく実行結果に応じて更新されている。【００１４】
サーバ装置の送信間隔が長い場合（フレームレートが低い場合）には、クライアント装置での受信間隔も長くなるため画面更新がスムーズに行われないという問題がある。例えば、クライアント装置では、ユーザのマウス操作ｏｐ１、ｏｐ２がなされても、マウス操作ｏｐ２に対応していないデスクトップ画面（フレームｆｒ１）が表示されたり、マウス操作ｏｐ３、ｏｐ４がなされた後、しばらく経ってからフレームｆｒ２、ｆｒ３、ｆｒ４が表示されたりすることがある。そのため、ユーザは、自分が操作を終えているのにデスクトップ画面が更新されていくという違和感を持つ場合がある。【００１５】
サーバ装置の送信間隔が短い場合（フレームレートが高い場合）には、サーバ装置が送信をするネットワークの送信可能な帯域を超えて送信をしてしまう可能性があり、結局、クライアント装置側での、画像データ（フレームｆｒ）の受信が遅れて、デスクトップ画面の更新が遅れてしまうというおそれがある。【００１６】
図１１は、受信側からの応答を待って送信する方式の場合の遅延を説明するための図である。【００１７】
図１１の左側は、シンクライアントシステムのサーバ装置側、右側はクライアント装置側を示す。図１０に示す場合と同様に、クライアント装置は、マウス操作ｏｐを発生順にサーバ装置へ送信し、サーバ装置は、デスクトップ画面の画像データ（フレームｆｒ）を、クライアント装置からの受信応答を確認してクライアント装置へ送信する。【００１８】
ネットワークで、例えばＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）遅延が大きい場合には、サーバ装置での受信応答も遅延するため、受信応答のタイミングによっては送信がスキップされるフレームｆｒが生ずるおそれがある。例えば、クライアント装置からのフレームｆｒ１の受信応答が遅延すると、サーバ装置では、受信応答の受信時にフレームバッファに格納されているデータ（フレームｆｒ３）を送信するため、タイミングによっては、フレームｆｒ２がスキップされてしまい、クライアント装置には、フレームｆｒ１、ｆｒ３の順で画面が更新されるため、スムーズに画面更新されないおそれがある。【００１９】
サーバ装置が送信する画像データがデスクトップ画面やアプリケーションの実行結果を示す画面である場合は、クライアント装置で発生した操作イベントに従って画面が更新されるため、サーバ装置は、操作イベントに応じた画像データをできる限り早く送信する必要がある。しかし、クライアント装置側で、短時間に複数の操作イベントが発生しているような場合には、更新される画面をすべてクライアント装置へ送信すると、ネットワークの条件によっては送信時間が長くなり、送信遅延を生じさせることになる。【００２０】
ここで、短時間に複数の操作イベントが発生している状況は、ユーザが一連の操作を行っているとみなすことが可能である。ユーザにとって、一連のユーザ操作の途中の処理結果を示す画面に比べて、最終的な処理結果を示す画面のほうがより重要である。また、一連のユーザ操作の途中を含めた画面更新に長い時間がかかるより、一連のユーザ操作の途中の表示更新が省略されても最終的な画面が表示されていれば、表示更新に違和感を持ちにくい。さらに、最終的な画面の表示更新までの時間が長くなければ、レスポンスが遅延しているとの感覚を持ちにくい。【００２１】
本発明は、かかる問題に鑑みてなされたものであり、サーバ装置からクライアント装置へネットワークを経由して画像データを送信する際に、クライアント装置で発生した操作イベントが多い場合でも、画面データを効率的に送信する制御を行い、もって、ユーザが表示更新に対する違和感やレスポンスの遅延感を持ちにくいリモート環境を実現することを目的とする。
【課題を解決するための手段】
【００２２】
本発明の一態様として開示する画像送信方法は、前記画像送信装置が、前記画像受信装置で発生した操作イベントをネットワーク経由で受信し、予め定められた送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する、処理を実行するものである。
【発明の効果】
【００２３】
開示する画像送信方法によれば、ユーザが使用するアプリケーションなどを提供するサーバ装置が画像送信装置として、ユーザが操作するクライアント装置が画像受信装置として実施される場合に、画像送信装置が、画像受信装置での操作イベント量に応じた最適な画像データ更新のレスポンスを実現することができ、ユーザに、よりスムーズな操作環境を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一態様として開示する画像送信方法、画像送信装置、画像送信プログラムを実施する画像送信システムの構成例を示す図である。
【図２】サーバ装置及びクライアント装置で実行される送信処理例を示す図である。
【図３】サーバ装置が実行する画像データの送信制御を説明するための図である。
【図４】サーバ装置の一実施例におけるブロック構成例を示す図である。
【図５】クライアント装置の一実施例におけるブロック構成例を示す図である。
【図６】サーバ装置における操作データ処理の処理フロー例を示す図である。
【図７】サーバ装置の画像データ取得処理の処理フロー例を示す図である。
【図８】サーバ装置の画像データ送信処理の処理フロー例を示す図である。
【図９】サーバ装置及びクライアント装置のハードウェア構成の一例を示す図である。
【図１０】一定のフレームレートで送信する方式の場合の遅延を説明するための図である。
【図１１】受信側からの応答を待って送信する方式の場合の遅延を説明するための図である。
【発明を実施するための形態】
【００２５】
以下に、本発明の一態様として開示する画像送信方法、画像送信装置等の実施例を説明する。
【００２６】
図１は、画像送信方法、画像送信装置、画像送信プログラムを実施する画像送信システムの構成例を示す図である。
【００２７】
図１に示すシステムは、シンクライアントシステムとしての実施例であり、サーバ装置１とクライアント装置２とを備え、両装置がネットワーク３で接続している。サーバ装置１は、ユーザが使用可能なアプリケーションプログラムを記憶する記憶装置４と接続する。クライアント装置２は、入力装置２１及び表示装置２２を有する。入力装置２１は、マウス、キーボード、トラックパッド、タブレット等で実施される。
【００２８】
サーバ装置１は、画像送信装置に相当する装置であり、クライアント装置２のユーザにアプリケーションを提供し、アプリケーションの実行を含む全ての処理を実行し、クライアント装置２のデスクトップ環境を生成する。すなわち、サーバ装置１は、クライアント装置２のデスクトップ画面を示す画像データをネットワーク３経由でクライアント装置２へ送信する。
【００２９】
クライアント装置２は、画像受信装置に相当する装置であり、サーバ装置１で実行されるアプリケーションのリモート操作端末として機能する。クライアント装置２は、サーバ装置１から画像データを受信して表示装置２２に表示し、入力装置２１からデスクトップ画面にもとづくユーザ操作から操作イベントを発生させ、発生した操作イベントを示す操作データをネットワーク３経由でサーバ装置１へ送信する。
【００３０】
図２は、サーバ装置１及びクライアント装置２で実行される送信処理例を示す図である。
【００３１】
サーバ装置１は、フレームバッファから、アプリケーションプログラムの実行結果を示すデスクトップ画面を検出し（画像検出処理）、検出したデスクトップ画面（フレームデータ）の全部または一部を画像圧縮して送信用の画像データを生成する（画像圧縮処理）。サーバ装置１は、予め設定された送信間隔（１／３０秒）毎に、帯域制御を行いつつ、生成した画像データをクライアント装置２へ送信する（通信処理）。
【００３２】
本実施例において、サーバ装置１は、通信処理を、ＲＰＳ（Ｒａｎｄｏｍ  Ｐａｒｉｔｙ  Ｓｔｒｅａｍ）通信で行う。ＲＰＳ通信は、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）をベースにした通信処理であり、送信側で、通信中のパケットの消失率を想定し、送信する画像データを消失率に基づいて冗長符号化した送信パケットを生成して送信する。そして、受信側で、受信した送信パケットから、その冗長性を利用して元の画像データを復号する処理である。
【００３３】
クライアント装置２は、ネットワーク３を経由して受信した画像データからデスクトップ画面（フレームデータ）を復元し（画像復元処理）、復元したデスクトップ画面を表示装置２２に表示する（画像表示処理）。
【００３４】
なお、ＰＲＳ通信の詳細は、前述の特許文献２に記載されているが、本発明の要旨ではないため、ＰＲＳ通信の詳細説明は省略する。
【００３５】
また、本実施例において、クライアント装置２は、発生した操作イベントを示す操作データの送信を、ＴＣＰ／ＩＰ通信で行う。クライアント装置２は、表示装置２２に表示したデスクトップ画面に対する入力装置２１のユーザ操作により操作イベントが発生する度に、操作イベントの内容（例えば、マウスの移動量、キーボードから入力されたデータ等）を示す操作データをネットワーク３経由でサーバ装置１へ送信する。サーバ装置１は、受信した操作データから操作イベントを発生させ、アプリケーションへ渡すとともに、保持しておく。
【００３６】
図３は、サーバ装置１が実行する画像データの送信制御を説明するための図である。
【００３７】
サーバ装置１は、フレームバッファに格納されている画像データ（デスクトップ画面）を、所定の送信間隔Ｍ（例えば、１／３０秒）に従って、クライアント装置２へ順次送信するように送信制御する。送信される画像データを、フレームｆｒ１、ｆｒ２、ｆｒ３、ｆｒ４、…とする。クライアント装置２は、操作イベントが発生する度に、発生した操作イベントを示す操作データをサーバ装置１へ送信する。送信される操作データを、マウス操作ｏｐ１、ｏｐ２、ｏｐ３、ｏｐ４、…とする。
【００３８】
サーバ装置１は、クライアント装置２が受信可能な帯域内で画像データを送信する必要があり、既知の帯域制御として、画像データの送信データ量（データサイズ）とネットワーク３の帯域、クライアント装置２側でのデータの消失率にもとづいて、送信制御を行っている。
【００３９】
本実施例にかかるサーバ装置１は、画像データの効率的送信を実現するため、さらに、クライアント装置２から受信した操作イベントの量に応じた帯域制御を行う。
【００４０】
サーバ装置１が一定期間に受信する操作イベント数が０や１程度であれば、クライアント装置２でのユーザ操作がない状況か、または操作の頻度が高くない状況である。したがって、サーバ装置１が、送信間隔毎に画像データ（フレームｆｒ）を送信することによって、クライアント装置２では、画面がすぐに更新されるため、ユーザは、表示レスポンスが良いと感じやすい。そこで、サーバ装置１は、一定期間中に受信した操作イベント数が少ない場合は、送信間隔毎にフレームｆｒを送信する。
【００４１】
一方、サーバ装置１が一定期間に受信する操作イベント数が多い場合は、クライアント装置２でのユーザ操作が頻繁な状況である。したがって、クライアント装置２での画面更新も頻繁になるが、操作途中での表示されるフレームバッファがスキップされて画面更新されたとしても、ユーザはスキップされた画面を認知しにくい。
【００４２】
そこで、サーバ装置１では、フレームｆｒを送信する時点までの一定時間内に受信した操作イベントのイベント数を、フレームｆｒの送信を抑止するかどうかの判定値に反映させて、送信制御を行う。
【００４３】
例えば、フレームｆｒ３を送信するまでの一定時間内にクライアント装置２からマウス操作ｏｐ３、ｏｐ４を受信していた場合に、アプリケーションの実行結果を示すフレームデータは、フレームｆｒ３からフレームｆｒ４へ書き替えられる。そのような場合に、フレームｆｒ３、ｆｒ４をクライアント装置２へ送信しても、フレームｆｒ３はすぐにフレームｆｒ４へ更新される。クライアント装置２でフレームｆｒ３をスキップしてフレームｆｒ４へ表示を更新しても、ユーザは操作に対する結果を見ることができるため、違和感を持ちにくいからである。
【００４４】
また、サーバ装置１は、フレームｆｒ１の送信前の一定期間にマウス操作ｏｐ２を受信していた場合に、受信した操作イベントのイベント数は少ない（１）。しかし、既知の帯域制御により、フレームｆｒ２のデータ量またはネットワーク３の帯域から、送信時間が長くかかると予測された場合は、サーバ装置１は、イベント数が少なくても、フレームｆｒ２の送信を抑止する制御を行う。
【００４５】
以上のように、サーバ装置１は、帯域制御において、必要な画像データを確実に送信し、以降の送信において遅延の影響を及ぼさないように送信を制御している。
【００４６】
図４は、サーバ装置１の一実施例におけるブロック構成例を示す図である。
【００４７】
サーバ装置１は、操作データ受信部１１、操作イベント発生部１２、操作イベント格納部１３、画像更新検知部１４、前フレームバッファ１４１、画像圧縮部１５、圧縮情報記憶部１６、送信制御部１７、画像データ送信部１８、及びネットワーク情報記憶部１９を備える。
【００４８】
操作データ受信部１１は、クライアント装置２で発生された操作データを受信する。
【００４９】
操作イベント発生部１２は、操作データ受信部１１が操作データを受信する度に、受信した操作データにもとづいて操作イベントを発生させ、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１００が管理する入出力ドライバ１０１に通知するともに、操作イベント格納部１３に格納する。
【００５０】
操作イベント格納部１３は、操作イベント発生部１２が発生させた操作イベントを記憶する。
【００５１】
画像更新検知部１４は、ＯＳ１００が管理するタイマ１０２のタイマシグナルにより、グラフィックドライバ１０３が管理するフレームバッファ１０４からフレームデータ（デスクトップ画面）を取得し、前フレームバッファ１４１に保持していた前回取得したフレームデータと、今回取得したフレームデータとを比較し、データが更新された領域（更新領域）を抽出する。さらに、次回処理のために、画像更新検知部１４は、今回取得したフレームデータを前フレームバッファ１４１に格納する。
【００５２】
画像圧縮部１５は、画像更新検知部１４が抽出したフレームデータの更新領域を画像圧縮して画像データを生成し、生成した画像データの送信データ量ｐ（ｂｙｔｅ：バイト）を含む圧縮情報を、圧縮情報記憶部１６に格納する。
【００５３】
圧縮情報記憶部１６は、画像圧縮部１５の画像圧縮に関する圧縮情報を記憶する。
【００５４】
送信制御部１７は、画像データ送信部１８による、送信間隔Ｍ（ｓ：秒）毎の送信処理について帯域制御を行い、さらに、クライアント装置２から受信した操作イベント量に基づいて画像データの送信を抑止するか否かの送信制御を行う。
【００５５】
より詳しくは、送信制御部１７は、送信制御として、圧縮情報記憶部１６に記憶された圧縮情報、後述するネットワーク情報記憶部１９に記憶されたネットワーク情報、及び、操作イベント格納部１３に記憶されている操作イベント数をもとに、判定用時刻ｔを計算する。そして、送信制御部１７は、送信間隔Ｍ毎の送信処理において、今回の送信時を示す送信時刻ｔｎｏｗとして現在時刻を取得し、判定用時刻ｔと送信時刻ｔｎｏｗとを比較する。送信制御部１７は、判定用時刻ｔが送信時刻ｔｎｏｗより遅い（値が越えている）場合に、今回の送信を抑止する制御を行う。また、送信制御部１７は、判定用時刻ｔが送信時刻ｔｎｏｗより早い（値が以下である）場合に、今回の送信を実行する制御を行い、操作イベント格納部１３に記憶されている操作イベントをクリアする。
【００５６】
より具体的には、送信制御部１７は、圧縮情報記憶部１６に記憶されている圧縮情報に含まれる送信データ量ｐ（ｂｙｔｅ）、ネットワーク情報記憶部１９に記憶されているネットワーク情報に含まれる帯域Ｘ（ｂｐｓ：ビット／秒）及びクライアント装置２が受信した画像データの消失率ｑ（０≦ｐ＜１）、操作イベント格納部１３に記憶されている操作イベントのイベント数ｎを用いた以下の式で判定用時刻ｔを計算する。
【００５７】
ｔ＝ｔ０＋ｆ（ｎ）＊ｍｉｎ（ｐ（１＋ｑ）／（Ｘ／８），Ｍ）
上記の式の前送信時刻ｔ０は、送信制御部１７が、１つ前の制御において送信時刻として取得した時刻（その時点での現在時刻ｔｎｏｗ）である。ｆ（ｎ）は、イベント数ｎに基づく単調増大関数ｆ（ｎ）であって、１≦ｆ（ｎ）＜３ｎの値をとる。
【００５８】
上記式によれば、操作イベント格納部１３に操作イベントが格納されていない場合（イベント数ｎ＝０）に単調増大関数ｆ（ｎ）＝１となるため、操作イベントのイベント数は、画像データの送信制御に反映されない。しかし、操作イベント格納部１３に操作イベントが格納されている場合（イベント数ｎ＜１）に、イベント数ｎが判定用時刻ｔを増大させるため、操作イベント数が画像データの送信制御に反映される。
【００５９】
画像データ送信部１８は、送信制御部１７の制御にもとづいて、ネットワーク３を経由したＲＰＳ送信により画像データをクライアント装置２へ送信する。さらに、画像データ送信部１８は、クライアント装置２からの受信応答を取得し、受信応答に含まれる送信時刻、受信時刻、受信した画像データのデータ量にもとづいて得られたネットワーク情報（帯域Ｘ、消失率ｑ）をネットワーク情報記憶部１９に保存する。
【００６０】
以上のように、送信制御部１７が、イベント数ｎの単調増大関数ｆ（ｎ）を含む式による判定用時刻ｔの計算を実行する構成をとることによって、サーバ装置１は、一定期間内にクライアント装置２から受信した操作イベント数を考慮した画像データの送信制御を、簡易な計算処理によって実現することができる。
【００６１】
図５は、クライアント装置２の一実施例におけるブロック構成例を示す図である。
【００６２】
クライアント装置２は、入力装置２１、表示装置２２の他、操作イベント発生部２３、操作データ送信部２４、画像データ受信部２５、画像表示部２６を備える。
【００６３】
操作イベント発生部２３は、入力装置２１のユーザ操作に基づいて操作イベントを発生させる。
【００６４】
操作データ送信部２４は、発生した操作イベントを示す操作データを、ネットワーク３を経由してサーバ装置１へ送信する。
【００６５】
画像データ受信部２５は、サーバ装置１がＲＰＳ送信により送信した画像データの送信パケットを受信し、受信した送信パケットをもとに完全な画像データを復元する。
【００６６】
画像表示部２６は、画像データをもとに画像フレームデータを再現し、表示装置２２に表示する。
【００６７】
次に、サーバ装置１及びクライアント装置２での処理の流れを説明する。
【００６８】
サーバ装置１では、操作データ処理として、以下の処理を行う。
【００６９】
図６は、サーバ装置１における操作データ処理の処理フロー例を示す図である。
【００７０】
操作データ受信部１１は、クライアント装置２から操作データを受信する（ステップＳ１）。操作イベント発生部１２は、受信した操作データから操作の種別を判定する（ステップＳ２）。イベントの種別がマウスイベントであれば（ステップＳ２の“マウス”）、操作イベント発生部１２は、マウスイベントを発生させて、発生させたマウスイベントを入出力ドライバ１０１に通知し、さらに操作イベント格納部１３に格納する（ステップＳ３）。イベントの種別がキーボードイベントであれば（ステップＳ２の“キーボード”）、操作イベント発生部１２は、キーボードイベントを発生させて、発生させたキーボードイベントを入出力ドライバ１０１に通知し、さらに操作イベント格納部１３に格納する（ステップＳ４）。
【００７１】
この操作データ処理により、操作イベント格納部１３には、クライアント装置２で発生した操作イベントが順次蓄積される。
【００７２】
サーバ装置１では、画像データ処理として、以下の処理を行う。
【００７３】
図７は、サーバ装置１の画像データ取得処理の処理フロー例を示す図である。
【００７４】
サーバ装置１では、図７のステップＳ１１〜Ｓ１５の処理が繰り返し実行され、クライアント装置２へ送信される画像データとなるデータが取得される。
【００７５】
画像更新検知部１４は、タイマ１０２からタイマシグナルを受信すると（ステップＳ１１）、フレームバッファ１０４に格納されたフレームデータ（デスクトップ画面）を取得する（ステップＳ１２）。そして、画像更新検知部１４は、前フレームバッファ１４１に格納された１つ前の取得処理で得た前フレームデータと今回の処理で得たフレームデータとを比較し、データが異なる領域を更新領域として抽出する（ステップＳ１３）。さらに、画像更新検知部１４は、今回の処理で得たフレームデータを前フレームデータとして前フレームバッファ１４１に保存し（ステップＳ１４）、タイマ１０２に、次のタイマシグナルを依頼する（ステップＳ１５）。
【００７６】
図８は、サーバ装置１の画像データ送信処理の処理フロー例を示す図である。
【００７７】
サーバ装置１では、所定の送信間隔Ｍの経過毎に図８のステップＳ２１〜Ｓ２７の処理が実行され、画像データが送信される。
【００７８】
画像圧縮部１５は、画像更新検知部１４が抽出したフレームデータの更新領域のデータに対して圧縮処理を行い、送信対象となる画像データを生成し、圧縮情報として、圧縮処理後のデータ量ｐ（ｂｙｔｅ）を圧縮情報記憶部１６に保存する（ステップＳ２１）。送信制御部１７は、ネットワーク情報記憶部１９から、ネットワーク情報の帯域Ｘ（ｂｐｓ）、消失率ｑ（０≦ｑ＜１）を取得する（ステップＳ２２）。
【００７９】
さらに、送信制御部１７は、今回の送信時刻ｔｎｏｗをとして現時刻を取得し、式“ｔ＝ｔ０＋ｆ（ｎ）＊ｍｉｎ（ｐ（１＋ｑ）／（Ｘ／８），Ｍ）”により、判定用時刻ｔを計算する（ステップＳ２３）。判定用時刻ｔが送信時刻ｔｎｏｗより早い（ｔ≦ｔｎｏｗ）場合に、送信制御部１７は、送信実行と判定する（ステップＳ２４のＹ）。画像データ送信部１８は、送信制御部１７の送信実行を受け付けて、画像データをクライアント装置２へ送信する（ステップＳ２５）。その後、送信制御部１７は、送信時刻ｔｎｏｗを前送信時刻ｔ０に書き込み（ステップＳ２６）、操作イベント格納部１３に格納されている操作イベントをクリアして（ステップＳ２７）、処理を終了する。
【００８０】
一方、判定用時刻ｔが送信時刻ｔｎｏｗより早い（ｔ≦ｔｎｏｗ）時刻でない場合に、送信制御部１７は、送信抑止と判定して（ステップＳ２４のＮ）、処理を終了する。この場合に、画像データ送信部１８は、送信制御部１７の送信実行を受け付けないため、画像データの送信は行われない。
【００８１】
次に、クライアント装置２の処理を説明する。
【００８２】
クライアント装置２では、操作イベント発生部２３が、入力装置２１によりポインティング位置の移動、入力、選択等を検出し、検出した操作を示す操作イベントを発生させる。そして、操作データ送信部２４は、操作イベントが発生する度に、発生した操作イベントの種別及び操作内容を示す操作データを、ネットワーク３を経由してサーバ装置１へＴＣＰ送信する。
【００８３】
また、画像データ受信部２５が、サーバ装置１から画像データを受信し、フレームデータに復号する。画像表示部２６が、復号されたフレームデータを表示装置２２へ表示する。
【００８４】
なお、クライアント装置２の処理は、既知の処理により実施するものであるので、処理についての詳細説明を省略する。
【００８５】
以上説明した本実施例における処理では、サーバ装置１は、クライアント装置２への画像データの送信をＲＰＳ通信により行うものとしたが、通信方式は、これに限定されるものではない。サーバ装置１の画像データ送信部１８は、ＲＰＳ通信の代わりに、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）通信、または、ＵＤＰ通信によって画像データの送信を行うように構成されてもよい。
【００８６】
ＴＣＰ通信及びＵＤＰ通信については既知の処理であり、詳細な説明を省略するが、画像データ送信部１８が、ＴＣＰ通信により画像データを送信する場合には、判定用時刻ｔを計算する式において、予め、消失率ｑが“０”に、帯域Ｘが任意の固定値に設定されているものとする。また、画像データ送信部１８が、ＵＤＰ通信により画像データを送信する場合には、判定用時刻ｔを計算する式において、予め、消失率ｑが“０”または任意の固定値に、帯域Ｘが任意の固定値に、それぞれ設定されているものとする。これらの実施例の場合にも、帯域Ｘ、消失率ｑが、ネットワーク情報記憶部１９に記憶される。
【００８７】
本実施例におけるサーバ装置１及びクライアント装置２は、コンピュータとして実施することができる。図９は、上記のサーバ装置１及びクライアント装置２のハードウェア構成の一例を示す図である。
【００８８】
コンピュータ２００は、例えば、演算装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、主記憶装置２０２、補助記憶装置２０３、駆動装置２０４、インタフェース装置２０５、ネットワーク接続装置２０６、入力装置２０７、出力装置２０８などを備え、これらの各装置がバスＢに接続されている構成である。
【００８９】
演算装置２０１は、コンピュータ２００の全体を制御し、主記憶装置２０２に格納されたプログラムに従ってサーバ装置１に関する機能を実現する。主記憶装置２０２は、ＣＰＵ１０１に実行させるＯＳのプログラム、アプリケーションプログラム、データ等を補助記憶装置２０３から読み出して格納する。補助記憶装置２０３は、プログラム及び処理に必要なデータ等も格納する。
【００９０】
プログラムが記録された記録媒体が駆動装置２０４にセットされることにより、プログラムが、駆動装置２０４を介して補助記憶装置２０３にインストールされる。記録媒体は、例えば、ＦＤ（フレキシブルディスク）、ＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスクなどの媒体である。なお、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワークを経由して他のコンピュータによりダウンロードすることができる。
【００９１】
インタフェース装置２０５は、ネットワークに接続するためのものであり、他のコンピュータとプログラムやデータの送受信を行う。入力装置２０７は、操作指示を入力するためのものであり、例えばキーボード、マウス、タッチパネルなどである。出力装置２０８は、プログラムによるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を表示するものであり、例えばディスプレイなどである。
【００９２】
サーバ装置１及びクライアント装置２は、ハードウェアとして実施することができるだけでなく、コンピュータのソフトウェアとしても実施することができる。
【００９３】
例えば、図４に示した操作データ受信部１１、操作イベント発生部１２、画像更新検知部１４、画像圧縮部１５、送信制御部１７、画像データ送信部１８の機能をコンピュータに実行させるプログラムを作成し、当該プログラムをコンピュータ２００の主記憶装置２０２に読み込ませて実行させることによって、サーバ装置１を実現することができる。また、図５に示した操作イベント発生部２３、操作データ送信部２４、画像データ受信部２５、画像表示部２６の機能をコンピュータに実行させるプログラムを作成し、当該プログラムをコンピュータ２００の主記憶装置２０２に読み込ませて実行させることによって、クライアント装置２を実現することができる。
【００９４】
サーバ装置１を実現するプログラムは、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ等やフレキシブルディスク等の記録媒体だけでなく、通信回線の先に備えられた他の記憶装置やコンピュータのハードディスク等の記憶装置に記憶されるものであってもよい。
【００９５】
また、サーバ装置１及びクライアント装置２を構成する要素は、任意の組合せで実現されてよい。複数の構成要素が１つの部材として実現されてもよく、１つの構成要素が複数の部材から構成されてもよい。
【００９６】
さらに、サーバ装置１及びクライアント装置２は、上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲において、各種の改良および変更を行ってもよいことは当然である。
【００９７】
以上説明したように、本発明によれば、画像送信側が、画像データを送信するネットワークの状態やデータ量だけでなく、画像受信側で発生した操作イベントを考慮して効率的な送信を実現することが可能となる。
【００９８】
よって、画像受信側のクライアント装置では、例えばデスクトップ画面の更新がよりスムーズに行われるため、ユーザがリモート操作における違和感を持ちにくい環境を提供することができる。
【符号の説明】
【００９９】
１  サーバ装置
１１  操作データ受信部
１２  操作イベント発生部
１３  操作イベント格納部
１４  画像更新検知部
１４１  前フレームバッファ
１５  画像圧縮部
１６  圧縮情報記憶部
１７  送信制御部
１８  画像データ送信部
１９  ネットワーク情報記憶部
２  クライアント装置
２１  入力装置
２２  表示装置
２３  操作イベント発生部
２４  操作データ送信部
２５  画像データ受信部
２６  画像表示部
３  ネットワーク
【図１】
2013128623.tif 000003
【図２】
2013128623.tif 000004
【図３】
2013128623.tif 000005
【図４】
2013128623.tif 000006
【図５】
2013128623.tif 000007
【図６】
2013128623.tif 000008
【図７】
2013128623.tif 000009
【図８】
2013128623.tif 000010
【図９】
2013128623.tif 000011
【図１０】
2013128623.tif 000012
【図１１】
2013128623.tif 000013
【国際調査報告】
2013128623.tif 000014
2013128623.tif 000015
2013128623.tif 000016
2013128623.tif 000017