JP5780353B2 - 画像送信方法、プログラム、及び装置 - Google Patents
画像送信方法、プログラム、及び装置 Download PDFInfo
- Publication number
- JP5780353B2 JP5780353B2 JP2014501921A JP2014501921A JP5780353B2 JP 5780353 B2 JP5780353 B2 JP 5780353B2 JP 2014501921 A JP2014501921 A JP 2014501921A JP 2014501921 A JP2014501921 A JP 2014501921A JP 5780353 B2 JP5780353 B2 JP 5780353B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- image data
- image
- time
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本発明は、画像データをネットワーク経由で他の装置へ送信する画像送信方法、画像送信プログラム、画像送信装置に関する。
近年、アプリケーションを含むほとんどの処理をサーバ装置側で実行し、デスクトップ画面や実行結果をネットワーク経由でクライアント装置側へ送信することにより、ユーザが使用するクライアント側では必要最小限の処理のみを行うようにするシンクライアントシステムと呼ばれるシステムアーキテクチャが普及している。
シンクライアントシステムでは、サーバ装置が実行するアプリケーション等の処理結果やデスクトップ画面などのフレームバッファに格納される画像データを、ネットワークを経由してリアルタイムでクライアント装置へ送信する。画像データのリアルタイム送信により、クライアント装置は、サーバ装置で生成された画像データ(フレームバッファのデータ)を即座に表示することができる。
シンクライアントシステムでは、サーバ装置は画像データを送信する画像送信装置として、クライアント装置は画像データを受信する画像受信装置として機能するが、送信を行うネットワークの状態によっては、クライアント装置へのデータ通信に遅延が生じる。
そのため、サーバ−クライアント間の通信遅延の影響を軽減する送信手法が提案されている。1つの従来手法として、画像データを送信する送信装置が、画像データを受信する受信装置へ送付パケットを送信し、受信装置から、送付パケットの送信時刻を含む受領応答の返信を受信し、送付パケットの送信時刻から計算した応答時間と所定の閾値との関係から、画像データの送信時のパケット数を増減することによって、送信遅延を回避できるようにする手法が知られている。
また、別の従来手法として、画像データを送信する送信側装置が、送信対象の画像データを、ネットワーク上での予想されるパケット消失率をもとに設定された符号化率で冗長符号化してネットワーク経由で受信側装置へ送信し、受信側装置では、受信した冗長符号化された符号化データを用いて元の画像データを復号処理することによって、応答を待つことなく画像データを送信することができる手法が知られている。
シンクライアントシステムでは、サーバ装置側のフレームバッファに格納された画像データを素早く検知し、検知した画像データをできる限りネットワーク状態の影響を受けないようにしてクライアント装置に受信させる必要がある。
しかし、サーバ装置で生成される画像データは、クライアント装置で発生したユーザ操作に関連している。そのため、サーバ装置がユーザ操作に応じて実行された結果を示す画像データ(デスクトップ画面、実行結果等)をクライアント装置へ送信するタイミングによっては、クライアント装置で発生したユーザ操作とクライアント装置で表示される画像データとの関係が不自然なものとなってしまう恐れがある。
サーバ装置からクライアント装置へ画像データを送信する場合に、一定のフレームレートで送信する方式、受信側からの応答を待って送信する方式等がある。しかし、これらの送信方式であっても送信遅延が生じる。
図10は、一定のフレームレートで送信する方式の場合の遅延を説明するための図である。
図10の左側は、シンクライアントシステムのサーバ装置側、右側はクライアント装置側を示す。
クライアント装置は、ユーザによりマウス操作イベントが発生すると、各マウス操作op1、op2、op3、op4、…を発生順にサーバ装置へ送信する。サーバ装置は、一定の送信間隔で、デスクトップ画面のフレームデータの全部または一部であるフレームfr1、fr2、fr3、fr4、…をクライアント装置へ送信する。デスクトップ画面は、アプリケーションのユーザ操作にもとづく実行結果に応じて更新されている。
サーバ装置の送信間隔が長い場合(フレームレートが低い場合)には、クライアント装置での受信間隔も長くなるため画面更新がスムーズに行われないという問題がある。例えば、クライアント装置では、ユーザのマウス操作op1、op2がなされても、マウス操作op2に対応していないデスクトップ画面(フレームfr1)が表示されたり、マウス操作op3、op4がなされた後、しばらく経ってからフレームfr2、fr3、fr4が表示されたりすることがある。そのため、ユーザは、自分が操作を終えているのにデスクトップ画面が更新されていくという違和感を持つ場合がある。
サーバ装置の送信間隔が短い場合(フレームレートが高い場合)には、サーバ装置が送信をするネットワークの送信可能な帯域を超えて送信をしてしまう可能性があり、結局、クライアント装置側での、画像データ(フレームfr)の受信が遅れて、デスクトップ画面の更新が遅れてしまうというおそれがある。
図11は、受信側からの応答を待って送信する方式の場合の遅延を説明するための図である。
図11の左側は、シンクライアントシステムのサーバ装置側、右側はクライアント装置側を示す。図10に示す場合と同様に、クライアント装置は、マウス操作opを発生順にサーバ装置へ送信し、サーバ装置は、デスクトップ画面の画像データ(フレームfr)を、クライアント装置からの受信応答を確認してクライアント装置へ送信する。
ネットワークで、例えばRTT(Round Trip Time)遅延が大きい場合には、サーバ装置での受信応答も遅延するため、受信応答のタイミングによっては送信がスキップされるフレームfrが生ずるおそれがある。例えば、クライアント装置からのフレームfr1の受信応答が遅延すると、サーバ装置では、受信応答の受信時にフレームバッファに格納されているデータ(フレームfr3)を送信するため、タイミングによっては、フレームfr2がスキップされてしまい、クライアント装置には、フレームfr1、fr3の順で画面が更新されるため、スムーズに画面更新されないおそれがある。
サーバ装置が送信する画像データがデスクトップ画面やアプリケーションの実行結果を示す画面である場合は、クライアント装置で発生した操作イベントに従って画面が更新されるため、サーバ装置は、操作イベントに応じた画像データをできる限り早く送信する必要がある。しかし、クライアント装置側で、短時間に複数の操作イベントが発生しているような場合には、更新される画面をすべてクライアント装置へ送信すると、ネットワークの条件によっては送信時間が長くなり、送信遅延を生じさせることになる。
ここで、短時間に複数の操作イベントが発生している状況は、ユーザが一連の操作を行っているとみなすことが可能である。ユーザにとって、一連のユーザ操作の途中の処理結果を示す画面に比べて、最終的な処理結果を示す画面のほうがより重要である。また、一連のユーザ操作の途中を含めた画面更新に長い時間がかかるより、一連のユーザ操作の途中の表示更新が省略されても最終的な画面が表示されていれば、表示更新に違和感を持ちにくい。さらに、最終的な画面の表示更新までの時間が長くなければ、レスポンスが遅延しているとの感覚を持ちにくい。
本発明は、かかる問題に鑑みてなされたものであり、サーバ装置からクライアント装置へネットワークを経由して画像データを送信する際に、クライアント装置で発生した操作イベントが多い場合でも、画面データを効率的に送信する制御を行い、もって、ユーザが表示更新に対する違和感やレスポンスの遅延感を持ちにくいリモート環境を実現することを目的とする。
本発明の一態様として開示する画像送信方法は、前記画像送信装置が、前記画像受信装置で発生した操作イベントをネットワーク経由で受信し、予め定められた送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する、処理を実行するものである。
開示する画像送信方法によれば、ユーザが使用するアプリケーションなどを提供するサーバ装置が画像送信装置として、ユーザが操作するクライアント装置が画像受信装置として実施される場合に、画像送信装置が、画像受信装置での操作イベント量に応じた最適な画像データ更新のレスポンスを実現することができ、ユーザに、よりスムーズな操作環境を提供することができる。
以下に、本発明の一態様として開示する画像送信方法、画像送信装置等の実施例を説明する。
図1は、画像送信方法、画像送信装置、画像送信プログラムを実施する画像送信システムの構成例を示す図である。
図1に示すシステムは、シンクライアントシステムとしての実施例であり、サーバ装置1とクライアント装置2とを備え、両装置がネットワーク3で接続している。サーバ装置1は、ユーザが使用可能なアプリケーションプログラムを記憶する記憶装置4と接続する。クライアント装置2は、入力装置21及び表示装置22を有する。入力装置21は、マウス、キーボード、トラックパッド、タブレット等で実施される。
サーバ装置1は、画像送信装置に相当する装置であり、クライアント装置2のユーザにアプリケーションを提供し、アプリケーションの実行を含む全ての処理を実行し、クライアント装置2のデスクトップ環境を生成する。すなわち、サーバ装置1は、クライアント装置2のデスクトップ画面を示す画像データをネットワーク3経由でクライアント装置2へ送信する。
クライアント装置2は、画像受信装置に相当する装置であり、サーバ装置1で実行されるアプリケーションのリモート操作端末として機能する。クライアント装置2は、サーバ装置1から画像データを受信して表示装置22に表示し、入力装置21からデスクトップ画面にもとづくユーザ操作から操作イベントを発生させ、発生した操作イベントを示す操作データをネットワーク3経由でサーバ装置1へ送信する。
図2は、サーバ装置1及びクライアント装置2で実行される送信処理例を示す図である。
サーバ装置1は、フレームバッファから、アプリケーションプログラムの実行結果を示すデスクトップ画面を検出し(画像検出処理)、検出したデスクトップ画面(フレームデータ)の全部または一部を画像圧縮して送信用の画像データを生成する(画像圧縮処理)。サーバ装置1は、予め設定された送信間隔(1/30秒)毎に、帯域制御を行いつつ、生成した画像データをクライアント装置2へ送信する(通信処理)。
本実施例において、サーバ装置1は、通信処理を、RPS(Random Parity Stream)通信で行う。RPS通信は、UDP(User Datagram Protocol)をベースにした通信処理であり、送信側で、通信中のパケットの消失率を想定し、送信する画像データを消失率に基づいて冗長符号化した送信パケットを生成して送信する。そして、受信側で、受信した送信パケットから、その冗長性を利用して元の画像データを復号する処理である。
クライアント装置2は、ネットワーク3を経由して受信した画像データからデスクトップ画面(フレームデータ)を復元し(画像復元処理)、復元したデスクトップ画面を表示装置22に表示する(画像表示処理)。
なお、PRS通信の詳細は、前述の特許文献2に記載されているが、本発明の要旨ではないため、PRS通信の詳細説明は省略する。
また、本実施例において、クライアント装置2は、発生した操作イベントを示す操作データの送信を、TCP/IP通信で行う。クライアント装置2は、表示装置22に表示したデスクトップ画面に対する入力装置21のユーザ操作により操作イベントが発生する度に、操作イベントの内容(例えば、マウスの移動量、キーボードから入力されたデータ等)を示す操作データをネットワーク3経由でサーバ装置1へ送信する。サーバ装置1は、受信した操作データから操作イベントを発生させ、アプリケーションへ渡すとともに、保持しておく。
図3は、サーバ装置1が実行する画像データの送信制御を説明するための図である。
サーバ装置1は、フレームバッファに格納されている画像データ(デスクトップ画面)を、所定の送信間隔M(例えば、1/30秒)に従って、クライアント装置2へ順次送信するように送信制御する。送信される画像データを、フレームfr1、fr2、fr3、fr4、…とする。クライアント装置2は、操作イベントが発生する度に、発生した操作イベントを示す操作データをサーバ装置1へ送信する。送信される操作データを、マウス操作op1、op2、op3、op4、…とする。
サーバ装置1は、クライアント装置2が受信可能な帯域内で画像データを送信する必要があり、既知の帯域制御として、画像データの送信データ量(データサイズ)とネットワーク3の帯域、クライアント装置2側でのデータの消失率にもとづいて、送信制御を行っている。
本実施例にかかるサーバ装置1は、画像データの効率的送信を実現するため、さらに、クライアント装置2から受信した操作イベントの量に応じた帯域制御を行う。
サーバ装置1が一定期間に受信する操作イベント数が0や1程度であれば、クライアント装置2でのユーザ操作がない状況か、または操作の頻度が高くない状況である。したがって、サーバ装置1が、送信間隔毎に画像データ(フレームfr)を送信することによって、クライアント装置2では、画面がすぐに更新されるため、ユーザは、表示レスポンスが良いと感じやすい。そこで、サーバ装置1は、一定期間中に受信した操作イベント数が少ない場合は、送信間隔毎にフレームfrを送信する。
一方、サーバ装置1が一定期間に受信する操作イベント数が多い場合は、クライアント装置2でのユーザ操作が頻繁な状況である。したがって、クライアント装置2での画面更新も頻繁になるが、操作途中での表示されるフレームバッファがスキップされて画面更新されたとしても、ユーザはスキップされた画面を認知しにくい。
そこで、サーバ装置1では、フレームfrを送信する時点までの一定時間内に受信した操作イベントのイベント数を、フレームfrの送信を抑止するかどうかの判定値に反映させて、送信制御を行う。
例えば、フレームfr3を送信するまでの一定時間内にクライアント装置2からマウス操作op3、op4を受信していた場合に、アプリケーションの実行結果を示すフレームデータは、フレームfr3からフレームfr4へ書き替えられる。そのような場合に、フレームfr3、fr4をクライアント装置2へ送信しても、フレームfr3はすぐにフレームfr4へ更新される。クライアント装置2でフレームfr3をスキップしてフレームfr4へ表示を更新しても、ユーザは操作に対する結果を見ることができるため、違和感を持ちにくいからである。
また、サーバ装置1は、フレームfr1の送信前の一定期間にマウス操作op2を受信していた場合に、受信した操作イベントのイベント数は少ない(1)。しかし、既知の帯域制御により、フレームfr2のデータ量またはネットワーク3の帯域から、送信時間が長くかかると予測された場合は、サーバ装置1は、イベント数が少なくても、フレームfr2の送信を抑止する制御を行う。
以上のように、サーバ装置1は、帯域制御において、必要な画像データを確実に送信し、以降の送信において遅延の影響を及ぼさないように送信を制御している。
図4は、サーバ装置1の一実施例におけるブロック構成例を示す図である。
サーバ装置1は、操作データ受信部11、操作イベント発生部12、操作イベント格納部13、画像更新検知部14、前フレームバッファ141、画像圧縮部15、圧縮情報記憶部16、送信制御部17、画像データ送信部18、及びネットワーク情報記憶部19を備える。
操作データ受信部11は、クライアント装置2で発生された操作データを受信する。
操作イベント発生部12は、操作データ受信部11が操作データを受信する度に、受信した操作データにもとづいて操作イベントを発生させ、OS(Operating System)100が管理する入出力ドライバ101に通知するともに、操作イベント格納部13に格納する。
操作イベント格納部13は、操作イベント発生部12が発生させた操作イベントを記憶する。
画像更新検知部14は、OS100が管理するタイマ102のタイマシグナルにより、グラフィックドライバ103が管理するフレームバッファ104からフレームデータ(デスクトップ画面)を取得し、前フレームバッファ141に保持していた前回取得したフレームデータと、今回取得したフレームデータとを比較し、データが更新された領域(更新領域)を抽出する。さらに、次回処理のために、画像更新検知部14は、今回取得したフレームデータを前フレームバッファ141に格納する。
画像圧縮部15は、画像更新検知部14が抽出したフレームデータの更新領域を画像圧縮して画像データを生成し、生成した画像データの送信データ量p(byte:バイト)を含む圧縮情報を、圧縮情報記憶部16に格納する。
圧縮情報記憶部16は、画像圧縮部15の画像圧縮に関する圧縮情報を記憶する。
送信制御部17は、画像データ送信部18による、送信間隔M(s:秒)毎の送信処理について帯域制御を行い、さらに、クライアント装置2から受信した操作イベント量に基づいて画像データの送信を抑止するか否かの送信制御を行う。
より詳しくは、送信制御部17は、送信制御として、圧縮情報記憶部16に記憶された圧縮情報、後述するネットワーク情報記憶部19に記憶されたネットワーク情報、及び、操作イベント格納部13に記憶されている操作イベント数をもとに、判定用時刻tを計算する。そして、送信制御部17は、送信間隔M毎の送信処理において、今回の送信時を示す送信時刻tnowとして現在時刻を取得し、判定用時刻tと送信時刻tnowとを比較する。送信制御部17は、判定用時刻tが送信時刻tnowより遅い(値が越えている)場合に、今回の送信を抑止する制御を行う。また、送信制御部17は、判定用時刻tが送信時刻tnowより早い(値が以下である)場合に、今回の送信を実行する制御を行い、操作イベント格納部13に記憶されている操作イベントをクリアする。
より具体的には、送信制御部17は、圧縮情報記憶部16に記憶されている圧縮情報に含まれる送信データ量p(byte)、ネットワーク情報記憶部19に記憶されているネットワーク情報に含まれる帯域X(bps:ビット/秒)及びクライアント装置2が受信した画像データの消失率q(0≦p<1)、操作イベント格納部13に記憶されている操作イベントのイベント数nを用いた以下の式で判定用時刻tを計算する。
t=t0+f(n)*min(p(1+q)/(X/8),M)
上記の式の前送信時刻t0は、送信制御部17が、1つ前の制御において送信時刻として取得した時刻(その時点での現在時刻tnow)である。f(n)は、イベント数nに基づく単調増大関数f(n)であって、1≦f(n)<3nの値をとる。
上記の式の前送信時刻t0は、送信制御部17が、1つ前の制御において送信時刻として取得した時刻(その時点での現在時刻tnow)である。f(n)は、イベント数nに基づく単調増大関数f(n)であって、1≦f(n)<3nの値をとる。
上記式によれば、操作イベント格納部13に操作イベントが格納されていない場合(イベント数n=0)に単調増大関数f(n)=1となるため、操作イベントのイベント数は、画像データの送信制御に反映されない。しかし、操作イベント格納部13に操作イベントが格納されている場合(イベント数n<1)に、イベント数nが判定用時刻tを増大させるため、操作イベント数が画像データの送信制御に反映される。
画像データ送信部18は、送信制御部17の制御にもとづいて、ネットワーク3を経由したRPS送信により画像データをクライアント装置2へ送信する。さらに、画像データ送信部18は、クライアント装置2からの受信応答を取得し、受信応答に含まれる送信時刻、受信時刻、受信した画像データのデータ量にもとづいて得られたネットワーク情報(帯域X、消失率q)をネットワーク情報記憶部19に保存する。
以上のように、送信制御部17が、イベント数nの単調増大関数f(n)を含む式による判定用時刻tの計算を実行する構成をとることによって、サーバ装置1は、一定期間内にクライアント装置2から受信した操作イベント数を考慮した画像データの送信制御を、簡易な計算処理によって実現することができる。
図5は、クライアント装置2の一実施例におけるブロック構成例を示す図である。
クライアント装置2は、入力装置21、表示装置22の他、操作イベント発生部23、操作データ送信部24、画像データ受信部25、画像表示部26を備える。
操作イベント発生部23は、入力装置21のユーザ操作に基づいて操作イベントを発生させる。
操作データ送信部24は、発生した操作イベントを示す操作データを、ネットワーク3を経由してサーバ装置1へ送信する。
画像データ受信部25は、サーバ装置1がRPS送信により送信した画像データの送信パケットを受信し、受信した送信パケットをもとに完全な画像データを復元する。
画像表示部26は、画像データをもとに画像フレームデータを再現し、表示装置22に表示する。
次に、サーバ装置1及びクライアント装置2での処理の流れを説明する。
サーバ装置1では、操作データ処理として、以下の処理を行う。
図6は、サーバ装置1における操作データ処理の処理フロー例を示す図である。
操作データ受信部11は、クライアント装置2から操作データを受信する(ステップS1)。操作イベント発生部12は、受信した操作データから操作の種別を判定する(ステップS2)。イベントの種別がマウスイベントであれば(ステップS2の“マウス”)、操作イベント発生部12は、マウスイベントを発生させて、発生させたマウスイベントを入出力ドライバ101に通知し、さらに操作イベント格納部13に格納する(ステップS3)。イベントの種別がキーボードイベントであれば(ステップS2の“キーボード”)、操作イベント発生部12は、キーボードイベントを発生させて、発生させたキーボードイベントを入出力ドライバ101に通知し、さらに操作イベント格納部13に格納する(ステップS4)。
この操作データ処理により、操作イベント格納部13には、クライアント装置2で発生した操作イベントが順次蓄積される。
サーバ装置1では、画像データ処理として、以下の処理を行う。
図7は、サーバ装置1の画像データ取得処理の処理フロー例を示す図である。
サーバ装置1では、図7のステップS11〜S15の処理が繰り返し実行され、クライアント装置2へ送信される画像データとなるデータが取得される。
画像更新検知部14は、タイマ102からタイマシグナルを受信すると(ステップS11)、フレームバッファ104に格納されたフレームデータ(デスクトップ画面)を取得する(ステップS12)。そして、画像更新検知部14は、前フレームバッファ141に格納された1つ前の取得処理で得た前フレームデータと今回の処理で得たフレームデータとを比較し、データが異なる領域を更新領域として抽出する(ステップS13)。さらに、画像更新検知部14は、今回の処理で得たフレームデータを前フレームデータとして前フレームバッファ141に保存し(ステップS14)、タイマ102に、次のタイマシグナルを依頼する(ステップS15)。
図8は、サーバ装置1の画像データ送信処理の処理フロー例を示す図である。
サーバ装置1では、所定の送信間隔Mの経過毎に図8のステップS21〜S27の処理が実行され、画像データが送信される。
画像圧縮部15は、画像更新検知部14が抽出したフレームデータの更新領域のデータに対して圧縮処理を行い、送信対象となる画像データを生成し、圧縮情報として、圧縮処理後のデータ量p(byte)を圧縮情報記憶部16に保存する(ステップS21)。送信制御部17は、ネットワーク情報記憶部19から、ネットワーク情報の帯域X(bps)、消失率q(0≦q<1)を取得する(ステップS22)。
さらに、送信制御部17は、今回の送信時刻tnowをとして現時刻を取得し、式“t=t0+f(n)*min(p(1+q)/(X/8),M)”により、判定用時刻tを計算する(ステップS23)。判定用時刻tが送信時刻tnowより早い(t≦tnow)場合に、送信制御部17は、送信実行と判定する(ステップS24のY)。画像データ送信部18は、送信制御部17の送信実行を受け付けて、画像データをクライアント装置2へ送信する(ステップS25)。その後、送信制御部17は、送信時刻tnowを前送信時刻t0に書き込み(ステップS26)、操作イベント格納部13に格納されている操作イベントをクリアして(ステップS27)、処理を終了する。
一方、判定用時刻tが送信時刻tnowより早い(t≦tnow)時刻でない場合に、送信制御部17は、送信抑止と判定して(ステップS24のN)、処理を終了する。この場合に、画像データ送信部18は、送信制御部17の送信実行を受け付けないため、画像データの送信は行われない。
次に、クライアント装置2の処理を説明する。
クライアント装置2では、操作イベント発生部23が、入力装置21によりポインティング位置の移動、入力、選択等を検出し、検出した操作を示す操作イベントを発生させる。そして、操作データ送信部24は、操作イベントが発生する度に、発生した操作イベントの種別及び操作内容を示す操作データを、ネットワーク3を経由してサーバ装置1へTCP送信する。
また、画像データ受信部25が、サーバ装置1から画像データを受信し、フレームデータに復号する。画像表示部26が、復号されたフレームデータを表示装置22へ表示する。
なお、クライアント装置2の処理は、既知の処理により実施するものであるので、処理についての詳細説明を省略する。
以上説明した本実施例における処理では、サーバ装置1は、クライアント装置2への画像データの送信をRPS通信により行うものとしたが、通信方式は、これに限定されるものではない。サーバ装置1の画像データ送信部18は、RPS通信の代わりに、TCP(Transmission Control Protocol)通信、または、UDP通信によって画像データの送信を行うように構成されてもよい。
TCP通信及びUDP通信については既知の処理であり、詳細な説明を省略するが、画像データ送信部18が、TCP通信により画像データを送信する場合には、判定用時刻tを計算する式において、予め、消失率qが“0”に、帯域Xが任意の固定値に設定されているものとする。また、画像データ送信部18が、UDP通信により画像データを送信する場合には、判定用時刻tを計算する式において、予め、消失率qが“0”または任意の固定値に、帯域Xが任意の固定値に、それぞれ設定されているものとする。これらの実施例の場合にも、帯域X、消失率qが、ネットワーク情報記憶部19に記憶される。
本実施例におけるサーバ装置1及びクライアント装置2は、コンピュータとして実施することができる。図9は、上記のサーバ装置1及びクライアント装置2のハードウェア構成の一例を示す図である。
コンピュータ200は、例えば、演算装置(CPU:Central Processing Unit)201、主記憶装置202、補助記憶装置203、駆動装置204、インタフェース装置205、ネットワーク接続装置206、入力装置207、出力装置208などを備え、これらの各装置がバスBに接続されている構成である。
演算装置201は、コンピュータ200の全体を制御し、主記憶装置202に格納されたプログラムに従ってサーバ装置1に関する機能を実現する。主記憶装置202は、CPU101に実行させるOSのプログラム、アプリケーションプログラム、データ等を補助記憶装置203から読み出して格納する。補助記憶装置203は、プログラム及び処理に必要なデータ等も格納する。
プログラムが記録された記録媒体が駆動装置204にセットされることにより、プログラムが、駆動装置204を介して補助記憶装置203にインストールされる。記録媒体は、例えば、FD(フレキシブルディスク)、CD−ROM、DVD、光磁気ディスクなどの媒体である。なお、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワークを経由して他のコンピュータによりダウンロードすることができる。
インタフェース装置205は、ネットワークに接続するためのものであり、他のコンピュータとプログラムやデータの送受信を行う。入力装置207は、操作指示を入力するためのものであり、例えばキーボード、マウス、タッチパネルなどである。出力装置208は、プログラムによるGUI(Graphical User Interface)等を表示するものであり、例えばディスプレイなどである。
サーバ装置1及びクライアント装置2は、ハードウェアとして実施することができるだけでなく、コンピュータのソフトウェアとしても実施することができる。
例えば、図4に示した操作データ受信部11、操作イベント発生部12、画像更新検知部14、画像圧縮部15、送信制御部17、画像データ送信部18の機能をコンピュータに実行させるプログラムを作成し、当該プログラムをコンピュータ200の主記憶装置202に読み込ませて実行させることによって、サーバ装置1を実現することができる。また、図5に示した操作イベント発生部23、操作データ送信部24、画像データ受信部25、画像表示部26の機能をコンピュータに実行させるプログラムを作成し、当該プログラムをコンピュータ200の主記憶装置202に読み込ませて実行させることによって、クライアント装置2を実現することができる。
サーバ装置1を実現するプログラムは、CD−ROM、CD−RW、DVD−R、DVD−RAM、DVD−RW等やフレキシブルディスク等の記録媒体だけでなく、通信回線の先に備えられた他の記憶装置やコンピュータのハードディスク等の記憶装置に記憶されるものであってもよい。
また、サーバ装置1及びクライアント装置2を構成する要素は、任意の組合せで実現されてよい。複数の構成要素が1つの部材として実現されてもよく、1つの構成要素が複数の部材から構成されてもよい。
さらに、サーバ装置1及びクライアント装置2は、上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲において、各種の改良および変更を行ってもよいことは当然である。
以上説明したように、本発明によれば、画像送信側が、画像データを送信するネットワークの状態やデータ量だけでなく、画像受信側で発生した操作イベントを考慮して効率的な送信を実現することが可能となる。
よって、画像受信側のクライアント装置では、例えばデスクトップ画面の更新がよりスムーズに行われるため、ユーザがリモート操作における違和感を持ちにくい環境を提供することができる。
1 サーバ装置
11 操作データ受信部
12 操作イベント発生部
13 操作イベント格納部
14 画像更新検知部
141 前フレームバッファ
15 画像圧縮部
16 圧縮情報記憶部
17 送信制御部
18 画像データ送信部
19 ネットワーク情報記憶部
2 クライアント装置
21 入力装置
22 表示装置
23 操作イベント発生部
24 操作データ送信部
25 画像データ受信部
26 画像表示部
3 ネットワーク
11 操作データ受信部
12 操作イベント発生部
13 操作イベント格納部
14 画像更新検知部
141 前フレームバッファ
15 画像圧縮部
16 圧縮情報記憶部
17 送信制御部
18 画像データ送信部
19 ネットワーク情報記憶部
2 クライアント装置
21 入力装置
22 表示装置
23 操作イベント発生部
24 操作データ送信部
25 画像データ受信部
26 画像表示部
3 ネットワーク
Claims (5)
- 画像送信装置が画像データを画像受信装置へ送信する方法において、
前記画像送信装置が、
前記画像受信装置で発生した操作イベントをネットワーク経由で受信し、
予め定められた送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する、処理を実行する
ことを特徴とする画像送信方法。 - 前記画像送信装置が、
前記画像データの送信を実行した場合に前記画像受信装置から受信した応答情報に含まれる前記ネットワークの帯域及び前記画像データの消失率を取得し、
前記判定用時刻を計算する際に、前記ネットワーク情報として前記帯域及び前記消失率を用いる
ことを特徴とする請求項1に記載の画像送信方法。 - コンピュータに、画像データを画像受信装置へ送信させる処理を実行させるための画像送信プログラムにおいて、
前記コンピュータに、
画像受信装置で発生した操作イベントをネットワーク経由で受信し、
予め定められた送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する、処理を実行させる
ことを特徴とする画像送信プログラム。 - 画像データを画像受信装置へ送信する画像送信装置であって、
画像データを取得する画像更新検知部と、
予め定められた送信間隔毎に前記画像データを画像受信装置へ送信する画像送信部と、
前記画像受信装置で発生した操作イベントをネットワーク経由で受信する操作イベント受信部と、
前記受信した操作イベントを保持する操作イベント格納部と、
前記送信間隔にもとづく送信の制御において、前記画像受信装置へ送信する画像データの送信データ量、該画像データを送信するネットワークに関する情報、及び直前の送信時から該画像データの送信をする時点までに受信していた前記操作イベントのイベント数をもとに、該画像データの判定用時刻を計算し、前記画像データの送信をする時点を示す送信時刻と前記判定用時刻とを比較し、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を抑止する送信制御部とを備える
ことを特徴とする画像送信装置。 - 前記画像送信装置は、前記判定用時刻が前記送信時刻を超えて後である場合に、前記画像データの送信を行なわない処理を実行することを特徴とする請求項1又は2に記載の画像送信方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/055319 WO2013128623A1 (ja) | 2012-03-02 | 2012-03-02 | 画像送信方法、プログラム、及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013128623A1 JPWO2013128623A1 (ja) | 2015-07-30 |
JP5780353B2 true JP5780353B2 (ja) | 2015-09-16 |
Family
ID=49081867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014501921A Active JP5780353B2 (ja) | 2012-03-02 | 2012-03-02 | 画像送信方法、プログラム、及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9705956B2 (ja) |
EP (1) | EP2821920A4 (ja) |
JP (1) | JP5780353B2 (ja) |
CN (1) | CN104145253B (ja) |
WO (1) | WO2013128623A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6149652B2 (ja) * | 2013-09-26 | 2017-06-21 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
JP6191421B2 (ja) * | 2013-12-02 | 2017-09-06 | 富士通株式会社 | 画像表示制御プログラム、情報処理システム、及び画像表示制御方法 |
JP6747150B2 (ja) * | 2016-08-03 | 2020-08-26 | 富士通株式会社 | 情報処理装置、情報処理方法、及び、情報処理プログラム |
US11586404B2 (en) * | 2019-06-28 | 2023-02-21 | Kyocera Document Solutions Inc. | Job processing system |
CN113395302B (zh) * | 2020-03-11 | 2022-04-26 | 杭州中天微***有限公司 | 异步数据分发器、相关装置和方法 |
JP2022131338A (ja) * | 2021-02-26 | 2022-09-07 | ヤンマーホールディングス株式会社 | 報知制御方法、作業機械、管理システム、管理プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171169B2 (en) * | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
JP4257307B2 (ja) | 2005-03-14 | 2009-04-22 | 富士通株式会社 | 通信制御システムおよび通信制御方法 |
JP4808054B2 (ja) * | 2006-03-17 | 2011-11-02 | 富士通株式会社 | データ転送方法及び,これを適用する通信システム及びプログラム |
JP4775069B2 (ja) * | 2006-03-29 | 2011-09-21 | カシオ計算機株式会社 | コンピュータシステムにおけるサーバ装置及びサーバ制御プログラム |
JP5140978B2 (ja) * | 2006-09-26 | 2013-02-13 | カシオ計算機株式会社 | クライアント装置およびプログラム |
JP2008289030A (ja) * | 2007-05-21 | 2008-11-27 | Nec Corp | 画面描画転送システム |
JP4883801B2 (ja) | 2007-08-14 | 2012-02-22 | キヤノン株式会社 | 通信制御装置、通信制御方法、及びコンピュータプログラム |
JP4973390B2 (ja) * | 2007-08-29 | 2012-07-11 | カシオ計算機株式会社 | サーバ装置およびサーバ処理プログラム |
EP2237526A1 (en) * | 2009-03-30 | 2010-10-06 | NEC Corporation | Method for optimizing the remote display transfer in thin client computing environment |
JP5402415B2 (ja) * | 2009-09-02 | 2014-01-29 | カシオ計算機株式会社 | 画像送信装置及びプログラム |
-
2012
- 2012-03-02 JP JP2014501921A patent/JP5780353B2/ja active Active
- 2012-03-02 EP EP12870009.3A patent/EP2821920A4/en not_active Withdrawn
- 2012-03-02 WO PCT/JP2012/055319 patent/WO2013128623A1/ja active Application Filing
- 2012-03-02 CN CN201280071083.2A patent/CN104145253B/zh not_active Expired - Fee Related
-
2014
- 2014-08-26 US US14/468,423 patent/US9705956B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104145253A (zh) | 2014-11-12 |
US20150026299A1 (en) | 2015-01-22 |
US9705956B2 (en) | 2017-07-11 |
JPWO2013128623A1 (ja) | 2015-07-30 |
EP2821920A1 (en) | 2015-01-07 |
EP2821920A4 (en) | 2015-03-25 |
WO2013128623A1 (ja) | 2013-09-06 |
CN104145253B (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5780353B2 (ja) | 画像送信方法、プログラム、及び装置 | |
EP2912546B1 (en) | Performance enhancement in virtual desktop infrastructure (vdi) | |
CN111221491A (zh) | 交互控制方法及装置、电子设备、存储介质 | |
US20150229960A1 (en) | Information processing device, method, and terminal device | |
CN109819322A (zh) | 视频传输方法、装置、计算机可读存储介质及电子设备 | |
JP5084362B2 (ja) | データ送信装置、及びデータ送受信システム | |
CN108337246B (zh) | 防止重放延迟的媒体重放设备和媒体服务设备 | |
WO2018107717A1 (zh) | 一种改善kvm鼠标操作延时感的方法及*** | |
WO2014054325A1 (ja) | 符号化制御装置および符号化制御方法 | |
KR101942270B1 (ko) | 재생 지연 방지 시스템을 포함하는 미디어 재생 장치 및 방법 | |
JP5259683B2 (ja) | サーバ装置及びプログラム | |
JP2014075735A (ja) | 画像処理装置および画像処理方法 | |
JP5200979B2 (ja) | 画像転送装置、方法及びプログラム | |
CN110798700B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
US20150381987A1 (en) | Drawing system, information processing apparatus for drawing, and drawing control method | |
JP6781445B1 (ja) | 情報処理方法 | |
JP5695537B2 (ja) | サーバ、サーバ制御方法、サーバ制御プログラム | |
JP5407479B2 (ja) | 画像伝送システム、画像伝送装置、クライアント端末、画像伝送方法、及び、画像伝送プログラム | |
JP5646410B2 (ja) | 情報処理装置およびプログラム | |
JP5651872B2 (ja) | 受信装置、スクリーンフレーム伝送システムと方法 | |
JP5752507B2 (ja) | サーバ、サーバ制御方法、及びサーバ制御プログラム | |
US10062136B2 (en) | Recording medium having stored image display control program, information processing system, and image display control method | |
CN114501083A (zh) | 码率调节方法、装置、设备、介质及程序产品 | |
JP2005012780A (ja) | 画像伝送方法および画像伝送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150518 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150629 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5780353 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |