JP6260163B2 - 遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム - Google Patents

遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム Download PDF

Info

Publication number
JP6260163B2
JP6260163B2 JP2013195560A JP2013195560A JP6260163B2 JP 6260163 B2 JP6260163 B2 JP 6260163B2 JP 2013195560 A JP2013195560 A JP 2013195560A JP 2013195560 A JP2013195560 A JP 2013195560A JP 6260163 B2 JP6260163 B2 JP 6260163B2
Authority
JP
Japan
Prior art keywords
remote
unit
image data
thinning
remote desktop
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
Application number
JP2013195560A
Other languages
English (en)
Other versions
JP2015060528A (ja
Inventor
善行 西村
善行 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013195560A priority Critical patent/JP6260163B2/ja
Publication of JP2015060528A publication Critical patent/JP2015060528A/ja
Application granted granted Critical
Publication of JP6260163B2 publication Critical patent/JP6260163B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラムに関し、例えばリモートデスクトップ端末装置においてスムーズな描画を実現する技術に関する。
端末装置から、ホスト装置の画面操作を行うことが可能な、リモートデスクトップ製品等が知られている。
リモートデスクトップとは、ホスト装置のグラフィカルな画面をそのまま遠隔地の端末装置に表示し、端末装置からホスト装置の画面操作を行う技術である。リモートデスクトップは、従来のコマンドベースのリモート操作にくらべ、画像、アニメーション、動画、USBリモート接続等を扱うため、端末装置とホスト装置間におけるデータ転送に係る負荷が大きく、また端末装置における画面の描画処理も複雑である。
従来、リモートデスクトップは、パーソナルコンピュータ(PC)など比較的処理速度の速いハードウェアを端末装置として利用することを想定して設計されてきた。端末装置としてのPCは、複雑で容量の大きいデータ処理を実現可能であった。
しかし、昨今では、スマートフォンやタブレットなどPCに比べ比較的処理速度が遅い機器が端末装置として利用され、インターネットや携帯電話ネットワーク経由でリモートデスクトップが利用されるようになっている。
このような比較的処理速度が遅い端末装置が、PCと同様の処理を実行しようとすると、その処理能力の限界により、描画遅れや反応のずれが発生し、グラフィカルユーザインタフェイスの円滑な操作性が損なわれてしまう場合がある。最悪のケースでは、全く端末装置を操作できなくなってしまう事象も発生し得る。
これは、従来のリモートデスクトッププロトコルがPCに最適化されているためである。比較的処理速度が遅い端末装置では、ホスト装置側から届くデータを十分な速度で処理できないため、描画が追い付かず、描画処理が端末装置のハードウェアリソースの多くを消費し、結果として他の操作ができない状態になってしまう。
また、リモートデスクトップは、図6に示すような多段接続形態で利用されることもある。例えば、データセンター内のホスト装置を遠隔の端末装置から管理する場合、一旦ホスト装置(接続先2、3、4)とデータセンター内にある管理マシン(接続先1)との間でリモートデスクトップ接続を行い、さらに管理マシン(接続先1)と端末装置(接続元)との間でリモートデスクトップ接続を行うケースがある。このように多段接続されたリモートデスクトップにおいては、ホスト装置の画面は、管理マシン(接続先1)上の仮想画面へ描画出力されることとなる。仮想画面における描画処理速度は一般に比較的遅いため、多段接続時の描画も、処理速度の遅い端末装置への描画を行っているのと同じ状況となる。この場合も、端末装置における描画遅れや反応のずれが発生し得る。
端末装置においてかかる問題が発生すると、単にリモートデスクトップアプリケーションがハングアップするにとどまらず、端末装置の他の機能もすべて操作不能になってしまう状況に陥り得る。リモートデスクトップアプリケーションは、一般に端末装置の全画面を占有する性質をもつためである。
かかる問題を解決するため、様々な手法が提案されている。例えば、特許文献1及び特許文献2には、フレームバッファ(ディスプレイに表示すべき画像データを一時的に保存するメモリ)とディスプレイデバイスとの間の間引き処理、オフロード処理により、端末装置における画面表示処理に係る負荷を軽量化する技術が記載されている。
また、メインメモリとフレームバッファ間のデータ転送処理を高速化する技術として、ハードウェアによるものとソフトウェアによるものが提案されている。
ハードウェアによる高速化技術としては、現在主流のオープンPCアーキテクチャを例にとれば、DDR/GDDR等の高速メモリバス仕様、PCI(PCIe)バスアーキテクチャにおけるDMA等ようなCPUオフロード処理があり、これらによれば非常に高速なメモリ転送処理が実現できる。例えば、特許文献3には、グラフィックデバイスによるアクセラレーション処理技術が開示されている。
また、ソフトウェアによる高速化技術としては、ホスト装置と端末装置との間で、表示タイミングの同期をとって画面をスムーズに見せるプロトコルを採用する技術(特許文献4)、描画処理や描画データ圧縮等の効率化処理をプロトコル内に実装する技術(特許文献5−7)等がある。
さらに、特許文献8には、リモートデスクトップとは独立して、データ転送経路であるネットワークにおいてデータ転送効率を向上させる技術が記載されている。
特開昭62−066324号公報 特許第3919877号 特許第3860034号 特許第4326836号 特表2008−507928号公報 特表2008−527507号公報 特表2012−519924号公報 特開2013−182522号公報
しかしながら、特許文献1−2記載の技術は、LCDなど表示駆動デバイスの負荷を下げることを目的とするものである。当該技術によれば、端末装置における表示性能向上という点で一定の効果はあるが、リモートデスクトップの描画ずれや描画遅延問題(多くはメインメモリとフレームバッファ間の転送処理過負荷により引き起こされる)を軽減するものではなく、上記問題の解決策を提供するものではない。
また、メインメモリとフレームバッファ間のデータ転送処理を高速化する上記ハードウェア(例えば特許文献3)について言えば、現在のところ、これらはスマートフォンやタブレットなどの安価なデバイスにおいて利用可能なコストで供給されていない。
加えて、リモートデスクトップを多段接続する場合、その中間地点(例えば図6の接続先1)における画面出力先は、ハードウェアによる性能向上技術の対象となる物理グラフィックデバイスのバッファではなく、物理グラフィックデバイスとして認識されないリモートデスクトップの仮想画面デバイスのバッファとなる。そのため、端末装置のグラフィックハードウェアを利用しての性能向上技術は、リモートデスクトップ多段接続においては有効に働かない。
メインメモリとフレームバッファ間のデータ転送処理を高速化するソフトウェア技術(例えば特許文献4−8)について言えば、これらのソフトウェアは、リモートデスクトップを複数又は多段接続する場合に、複数のリモートデスクトップ接続それぞれにおいて機能するため、全体的としては必ずしも最適な性能向上策とならない。
すなわち、これらの高速化技術は、「リモートデスクトップが多段接続されているか」、「複数のウィンドウが同時表示されているか」、「現在フォーカスがあたっているか」等、リモートデスクトップソフトウェアがどのような環境で実行されているかに着目した制御を行っていない。
本発明は、このような問題点を解決するためになされたものであり、リモートデスクトップ端末装置においてスムーズな描画を実現できる遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラムを提供することを目的とする。
その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本発明にかかる遠隔描画装置は、ホスト装置から、複数の画像データを含む第1の画像データを受信する通信部と、前記第1の画像データに基づいて第2の画像データを生成する画面作成部と、前記第2の画像データに含まれる複数の画像データの一部からなる第3の画像データを生成する間引き処理部と、前記第3の画像データに基づき描画を行う描画部と、を有する、遠隔描画部を有するものである。
本発明にかかる遠隔描画システムは、第1の遠隔描画装置と、第2の遠隔描画装置と、が第2の通信路を介して接続され、前記第2の遠隔描画装置の前記通信部は、前記第1の遠隔描画装置から前記第1の画像データを受信するものである場合において、前記第1の遠隔描画装置の前記ネットワーク及び描画性能測定部は、前記第2の通信路のデータ転送速度に基づき、前記間引き値を計算し、前記間引き処理部は、前記間引き値に基づいて、前記第3の画像データを生成するものである。
本発明にかかる遠隔描画方法は、遠隔描画部が、ホスト装置から、複数の画像データを含む第1の画像データを受信する通信ステップと、前記第1の画像データに基づいて第2の画像データを生成する画面作成ステップと、前記第2の画像データに含まれる複数の画像データの一部からなる第3の画像データを生成する間引き処理ステップと、前記第3の画像データに基づき描画を行う描画ステップと、を有するものである。
本発明にかかる他の遠隔描画方法は、第1の遠隔描画部と、第2の遠隔描画部と、が第2の通信路を介して接続され、前記第2の遠隔描画部の前記通信ステップは、前記第1の遠隔描画部から前記第1の画像データを受信するものである場合において、前記第1の遠隔描画部の前記ネットワーク及び描画性能測定ステップは、前記描画性能に替えて、前記第2の通信路のデータ転送速度に基づき、前記間引き値を計算し、前記間引き処理ステップは、前記間引き値に基づいて、前記第3の画像データを生成するものである。
本発明にかかるプログラムは、コンピュータに、前記遠隔描画部又は前記第1の遠隔描画部にかかるすべてのステップを実行させるためのプログラムである。
本発明により、リモートデスクトップ端末装置においてスムーズな描画を実現できる遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラムを提供することができる。
本発明の実施の形態1の構成を示す図である。 本発明の実施の形態2の構成を示す図である。 本発明の実施の形態1及び2の処理を示す図である。 本発明の実施の形態1の処理を示す図である。 本発明の実施の形態2の処理を示す図である。 リモートデスクトップ多段接続及び多数接続の一例を示す図である。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
<実施の形態1:基本構成>
実施の形態1は、リモートデスクトップの基本構成、すなわちただ1つのリモートデスクトップクライアントがホスト装置と接続され、多段接続、多数接続を含まない構成にかかる実施例である。
図1を用いて、本発明の実施の形態1にかかる遠隔描画装置としてのリモートデスクトップ装置1000の構成について説明する。
リモートデスクトップ装置1000は、リモートデスクトップクライアント100を有する。
リモートデスクトップ装置1000は、図示しないホスト装置と通信路を介して接続されており、ホスト装置に対してリモートデスクトップの端末装置として動作する。
リモートデスクトップクライアント100は、通信部1、画面作成部2、間引き処理部3、描画部4、ネットワーク及び描画性能測定部6、間引き値計算部8を有する。
通信部1は、ホスト装置から通信路を介して送信された描画データ50を、NWバッファ11に受け取る。
画面作成部2は、NWバッファ11に格納された描画データを処理して、ホスト装置の画面データを画面シャドウバッファ12上に再構成する。
描画部4は、画面作成部2が再構成したホスト装置の画面を、実際に利用者に見える形で描画処理を行う。すなわち、描画部4は、画面シャドウバッファ12に格納された画面データを処理して、画面フレームバッファ14上に画面フレームを形成する。従来のリモートデスクトップクライアントでは、画面作成部2と描画部4とが連動し、画面作成部2が再構成したホスト装置の画面を、そのまま描画部4が描画処理することが一般的である。しかし、本実施の形態では、画面作成部2による画面再構成処理と、描画部4における描画処理と、は独立してすなわち非同期に動作する。
間引き処理部3は、画面作成部2が画面シャドウバッファ12上に再構成したホスト装置の画面データを、間引く処理を行う。すなわち、画面シャドウバッファ12に格納された画面データの一部のみを描画部4に引き渡し、残りの画面データを破棄する。本実施の形態における描画部4は、この間引き後の画面データについて描画処理を行う。
間引き値計算部8は、間引き値53の計算を行い、間引き処理部3に通知する処理を行う。間引き値53とは、間引き処理部3がどれほどの間隔で画面データの間引き処理を行うべきかを示す値である。例えば、間引き値53が0.1秒である場合、間引き処理部3は、0.1秒間隔で画面データを表示する。それを超える画面データについては破棄し、表示する画面データのみを描画部4に引き渡す。間引き値53が0.5秒である場合、間引き処理部3は、0.5秒で受け取る画面データのうち1枚の画面データを描画部4に引き渡す。それを超えるものは破棄する。
ネットワーク及び描画性能測定部6は、ホスト装置とリモートデスクトップ装置1000との間の通信路のデータ伝送速度(以下、ネットワーク速度という)を測定し、ネットワーク速度に基づいて描画命令許容量を算出する処理を行う。また、リモートデスクトップ装置1000の表示許容量を算出する処理も行う。
つぎに、図3のフローチャートを用いて、リモートデスクトップ装置1000の動作について説明する。
S1:描画データの受信
通信部1は、リモートデスクトップ接続先、すなわちホスト装置から送信されてきた描画データ50を受信し、NWバッファ11に描画データ50を格納していく。
S2:サーバ画面の再構成
画面作成部2は、NWバッファ11に保存された描画データを読み出し、描画データを元に、サーバの画面を再構成する処理を行う。画面作成部2は、再構成された画面データを、画面シャドウバッファ12に格納していく。
S3:間引き
間引き処理部3は、間引き値計算部8から間引き値53を取得する。
また、間引き処理部3は、画面シャドウバッファ12から画面フレームバッファ14へのデータ転送を行う。この際、間引き処理部3は、間引き値53に基づいて、画面データを一定間隔において間引く処理を行う。すなわち、画面シャドウバッファ12に格納された画面データの一部のみを画面フレームバッファ14に転送し、残りの画面データを破棄する。
例えば、間引き値53が0.1秒である場合、間引き処理部3は、0.1秒間隔で画面データを表示する。それを超える画面データについては破棄し、表示する画面データのみを描画部4に引き渡す。間引き値53が0.5秒である場合、間引き処理部3は、0.5秒間に受け取るすべての画面データのうち1枚の画面データを描画部4に引き渡す。それを超えるものは破棄する。
S4:描画
描画部4は、画面フレームバッファ14に格納された画面データ、すなわち間引き処理部3によって間引かれた画面データを使用して、画面描画処理を行う。
つづいて、図4のフローチャートを用いて、間引き値計算部8による間引き値53の計算処理について説明する。この間引き値53計算処理は、図3のフローチャートに示した一連の処理とは非同期に動作する。
S100、S102:描画命令許容量及び表示許容量55の算出
ネットワーク及び描画性能測定部6は、ホスト装置とリモートデスクトップ装置1000との間のネットワーク速度を測定し、ネットワーク速度に基づいて描画命令許容量を算出する。
ここで、描画命令許容量とは、表示デバイスが、次のリモートデスクトップの仮想デバイスである場合の表示許容量のとこである。この場合、実際の描画は、ネットワークの先にあるリモートデスクトップクライアントの画面となるため、表示許容量は、1秒間に最大どれだけのフレーム数の画面データを接続先クライアントへ送信できるかを意味する値である。描画命令許容量は、例えば、クライアントとの間でデータ転送の速度を実測し、1フレームあたりに必要なデータ量で割るようにして計算可能である。
また、ネットワーク及び描画性能測定部6は、リモートデスクトップ装置1000表示許容量を算出する。
ここで、表示許容量とは、1秒間に最大どれだけのフレーム数の画面データを表示可能かを意味する値である。そして、表示許容量は、具体的には、画面データを実際に書き出して、その速度を実測し、1フレームあたりに必要なデータ量で割ることで計算可能である。
そして、ネットワーク及び描画性能測定部6は、算出した描画命令許容量及び表示許容量55を、間引き値計算部8に対して通知する。
S103:間引き値の決定
間引き値計算部8は、描画命令許容量と、表示許容量とに基づき、間引き値を計算する。具体的には、このリモートデスクトップ装置がユーザの利用している実端末の場合は、表示許容量を、ここからまだリモートデスクトップされておりクライアントへ画面データを送っている場合は、描画命令許容量を利用する。例えば、実端末の場合において表示許容量が5フレーム/秒の時、間引き値は1/5=0.2秒ごと、リモートデスクトップ接続(多段接続)の場合において、描画命令許容量が5フレーム/秒のとき、1/5=0.2秒ごととすることができる。
本実施の形態によれば、間引き処理部3が、ネットワーク速度や端末の処理性能等に応じて、描画すべき画像データの量を調整するため、リモートデスクトップクライアント側における最終描画処理、すなわち描画部4が画面フレームバッファ14のデータに基づき描画を実行する処理にかかる負荷を適宜抑制することができる。すなわち、描画部4の性能をオーバフローさせないように、描画頻度を調整する。これにより、描画部4がボトルネックとなることを抑制し、描画遅れ等の事象発生を低減し、遅い処理速度なりに操作性を向上させることが可能になる。
特に、もともとレイテンシーが長くバンド幅がLANに比べて広くないインターネット環境では、インタラクティブに高いフレームレートの画像転送ができない。すなわちネットワーク帯域を超えたデータ転送ができず、描画処理においてネットワーク反応速度以上の反応は実現できない。よって、画面表示の間引きを、もともとデータ転送の遅いインターネットの反応速度及び帯域に合わせて行っても、操作性への影響は最小限である。
また、本実施の形態によれば、処理能力に制限があるスマートフォンやタブレットにおいても、優れた操作性を得ることができる。描画部4による描画処理は全画面に対する処理であるから元来処理負荷が高いが、従来の描画手法によれば画面フレームバッファ14上の全ての画面データを描画するため、描画処理はリモートデスクトップ装置1000の情報処理リソースの多くを奪うことになる。例えば、1200x800の画面で20fps程度の描画を行うとすれば、ハイビジョンテレビ並の処理能力となる。これは現時点において専用プロセッサやCPUのマルチコア化が必要とされるレベルの処理能力である。しかし、本実施の形態のリモートデスクトップ装置1000では、間引き処理部3が描画部4の処理負荷を抑制するため、このような高いレベルの処理能力を必要としない。
さらに、本実施の形態によれば、リモートデスクトップ装置1000側に設けた間引き処理部3の処理のみによって、操作性を改善することができる。すなわち、リモートデスクトップのホスト装置、リモートデスクトップの通信プロトコル、通信路たるネットワーク、ネットワークにおけるデータ転送加速処理等に依存することなく、リモートデスクトップの端末装置側だけで、操作性の改善を実現可能である。
<実施の形態2:多段接続及び多数接続>
実施の形態2は、リモートデスクトップを多段接続及び多数接続した場合にかかる実施例である。
図6に多段接続及び多数接続の一形態を示す。この例において、端末装置(接続元)は、第1段階のホスト装置(接続先1)とリモートデスクトップ接続されて第1段階のホスト装置を遠隔操作する。また、第1段階のホスト装置(接続先1)は、第2段階のホスト装置(接続先2、3、4)とリモートデスクトップ接続されて第2段階のホスト装置を遠隔操作する。このように、リモートデスクトップを多段接続することにより、端末装置(接続元)は、第1段階のホスト装置(接続先1)を経由して、第2段階のホスト装置(接続先2、3、4)を遠隔操作することができる。
また、この例において、第1段階のホスト装置(接続先1)においては、第2段階のホスト装置(接続先2、3、4)それぞれにとの間でリモートデスクトップ接続を行うため、3つのリモートデスクトップクライアントが同時に実行されている。これをリモートデスクトップの多数接続という。
図2を用いて、本発明の実施の形態2にかかるリモートデスクトップ装置2000の構成について説明する。
リモートデスクトップ装置2000は、複数のリモートデスクトップクライアント200、210、・・・290を有する。以下、各リモートデスクトップクライアントの構成について、リモートデスクトップクライアント200を代表にとって説明する。
本実施の形態におけるリモートデスクトップクライアント200は、通信部1、画面作成部2、間引き処理部3、描画部4、ネットワーク及び描画性能測定部6、間引き値計算部8を有する。これらの処理部は、実施の形態1のリモートデスクトップクライアント100と共通するものである。特に言及しない限り、これらの処理部は、少なくとも実施の形態1のリモートデスクトップクライアント100におけるものと同様の機能を有する。
加えて、本実施の形態におけるリモートデスクトップクライアント200は、他リモートデスクトップ通信部5、描画量比較部7をさらに有する。
描画量比較部7は、多数接続の場合において間引き計算部8が最適な間引き値53を計算するために必要なデータを、間引き計算部8に対し通知する処理を行う。
描画量比較部7は、描画部4から、このリモートデスクトップクライアント200における画面の描画量54を取得する。ここで、描画量54とは、1秒間に何フレームの画像データを表示しているかを示す値である。描画量比較部7は、取得した描画量54を、他リモートデスクトップ通信部5を経由して、このリモートデスクトップ装置2000上で動作している他のリモートデスクトップクライアント210、・・・290に対し送信する。
さらに、描画量比較部7は、他リモートデスクトップ通信部5を経由して、このリモートデスクトップ装置2000上で動作している他のリモートデスクトップクライアント210、・・・290から、それぞれの描画量54を受信する。
そして、描画量比較部7は、このリモートデスクトップ装置2000上で動作しているリモートデスクトップクライアント200、210、・・・209それぞれの描画量54を比較し、このリモートデスクトップクライアント200の描画量54が最も多いか否かを判定する。描画量比較部7は、この判定結果と、このリモートデスクトップクライアント200の描画量54と、を間引き計算部8に通知する。
なお、多数接続の場合で、リモートデスクトップクライアント200がリモートデスクトップ装置2000上のGUIにおいてフォアグラウンドウィンドウとなっていない場合、描画量54は実測より2倍から数倍のウェイトを持たせて計算する。この処理には、フォアグラウンドになっていないリモートデスクトップの描画量を実際より大きく扱うことで、フォアグラウンドになっているリモートデスクトップよりも描画抑制処理を優先させて働かせ、ユーザが今利用しているフォアグラウンド画面をバックグラウンド画面より優先して表示できるようにする目的がある。
本実施の形態におけるネットワーク及び描画性能測定部6は、多段接続の場合において間引き計算部8が最適な間引き値53を計算するために必要なデータを、間引き計算部8に対し通知する処理を行う。
ネットワーク及び描画性能測定部6は、リモートデスクトップ装置2000が他の装置からリモートデスクトップ接続されている場合、すなわち図6における接続先1又は接続先2、3、4のようにホスト装置として動作している場合には、以下の処理によって表示許容量55を算出する。
ネットワーク及び描画性能測定部6は、このリモートデスクトップ装置2000をホスト装置としてリモートデスクトップ接続している他の装置との間のネットワーク速度を測定し、このネットワーク速度に基づいて、表示許容量を算出する。具体的には、接続元のPCとの間のネットワーク転送速度を測定し、その値を1フレームの表示に必要なデータ量で割ることで表示許容量を計算可能である。
そして、ネットワーク及び描画性能測定部6は、算出した描画命令許容量及び表示許容量55を、間引き値計算部8に対して通知する。なお、描画命令許容量については、実施の形態1と同様の手順により算出し得る。
本実施の形態における間引き値計算部8は、このリモートデスクトップクライアント200の描画量54が、表示許容量を超えているか否かを判定する。超えている場合、間引き値計算部8は、このリモートデスクトップクライアント200の描画量54がこのリモートデスクトップ装置2000上で動作している他のリモートデスクトップクライアント210、・・・209との比較において最も多いか否かに応じて、リモートデスクトップクライアント200の現在の間引き値53を変更する。例えば、リモートデスクトップクライアント200の描画量54が最も多い場合には、現在の間引き値53を1/2倍の間隔などに割り引いて、そうでない場合はそれより小さな割引率、例えば3/4倍の間隔に割り引く。この処理には、最も更新頻度の高い表示処理を行っているリモートデスクトップクライアントを優先的に間引くことにより、突出した表示処理を行っているリモートデスクトップがリモートデスクトップ装置全体の処理を圧迫することを防ぎ、複数のリモートデスクトップ利用時にもスムーズな画面表示を実現するという目的がある。
つぎに、リモートデスクトップ装置2000の動作について説明する。
本実施の形態におけるモートデスクトップ装置2000は、実施の形態1におけるモートデスクトップ装置1000と同様、図3に示すフローチャートに従って動作する。
一方、本実施の形態におけるモートデスクトップ装置2000は、間引き値計算部8が、多段接続及び多数接続に最適な間引き値53を計算する処理に特徴を有する。図5のフローチャートを用いて、この間引き値計算部8の計算処理について説明する。なお、図5に示す計算処理は、図3のフローチャートに示した一連の処理とは非同期に動作する。
S100:描画命令許容量の算出
ネットワーク及び描画性能測定部6は、ホスト装置とリモートデスクトップ装置1000との間のネットワーク速度を測定し、ネットワーク速度に基づいて描画命令許容量を算出する。
ここで、ネットワーク及び描画性能測定部6は、リモートデスクトップの多段接続がなされているか否かを判定する。ここでいう多段接続とは、リモートデスクトップ装置2000が、他の装置からさらにリモートデスクトップ接続されている場合、すなわち図6における接続先1又は接続先2、3、4のように、他の装置に対してリモートデスクトップのホスト装置としても動作している場合をいう。具体的には、ネットワーク及び描画性能測定部6は、リモートデスクトップクライアントが利用しているビデオデバイスが、リモートデスクトップホストが用意する仮想デバイスなのか、実際のハードウェアによる物理デバイスなのかを判定することにより、多段接続がなされているか否かを判定することができる。
この後、ネットワーク及び描画性能測定部6は、多段接続であるか否かに応じ、異なる方法を用いて表示許容量を算出する(S101又はS102)。これにより、多くの場合、多段接続である場合には、基本構成の場合に比べて大きな間引き量が設定されるであろう。これは、ハードウェア等による種々のアクセラレーション機能を備えるディスプレイやそれに準じる出力先にダイレクトに描画される場合と(基本構成)、レンダリングのほとんどをソフトウェアでカバーしかつレンダリングしたイメージをネットワークで転送する場合と(多段接続)では、多段接続の方が表示にかかる負荷が大きく、処理可能な画面データの量が相対的に少なくなるためである。
S101:表示許容量の算出(多段接続の場合)
多段接続であると判断された場合、ネットワーク及び描画性能測定部6は、このリモートデスクトップ装置2000をホスト装置としてリモートデスクトップ接続している他の装置との間のネットワーク速度を測定し、このネットワーク速度に基づいて、表示許容量を算出する。具体的には、実際に画面データを送信することで転送速度を測定し、その値を1フレームの描画に必要なデータ量で割ることで表示許容量を計算可能である。
そして、ネットワーク及び描画性能測定部6は、S100において算出した描画命令許容量及びS101において算出した表示許容量を、間引き値計算部8に対して通知する。
S102:表示許容量の算出(基本構成の場合)
一方、多段接続でない場合、すなわちリモートデスクトップ装置2000が他の装置からリモートデスクトップ接続されておらず、もっぱら図6における接続元のようなリモートデスクトップの端末側としてのみ動作している場合には、ネットワーク及び描画性能測定部6は、リモートデスクトップ装置1000の表示許容量を算出する。これは実施の形態1と同じ処理である。
そして、ネットワーク及び描画性能測定部6は、S100において算出した描画命令許容量及びS102において算出した表示許容量を、間引き値計算部8に対して通知する。
S103:間引き値の決定
間引き値計算部8は、描画命令許容量と、表示許容量とに基づき、間引き値を計算する。具体的には、このリモートデスクトップ装置がユーザの利用している実端末の場合は、表示許容量を利用、ここから先にさらにリモートデスクトップされクライアントへ画面データを送っている場合は、描画命令許容量を利用する。例えば、実端末の場合において表示許容量が5フレーム/秒の時、間引き値は1/5=0.2秒ごと、リモートデスクトップ接続(多段接続)の場合においては、描画命令許容量が5フレーム/秒のとき、1/5=0.2秒ごととすることができる。
ここで、ネットワーク及び描画性能測定部6は、リモートデスクトップの多数接続がなされているか否かを判定する。ここでいう多数接続とは、リモートデスクトップ装置2000において、複数のリモートデスクトップクライアント200、210、・・290が動作している場合をいう。具体的には、ネットワーク及び描画性能測定部6は、リモートデスクトップクライアントが利用しているビデオデバイスが、リモートデスクトップホストが用意する仮想デバイスなのか、実際のハードウェアによる物理デバイスなのかを判定することにより、多数接続がなされているか否かを判定することができる。
多数接続であると判断された場合、望ましくは以下のS104ないしS107の処理がさらに実行される。
S104:描画量の取得(多数接続の場合)
描画量比較部7は、描画部4から、このリモートデスクトップクライアント200における画面の描画量54を取得する。具体的には、フレームバッファを1秒間に何度ビデオデバイスに転送しているかを計測することで描画量54を取得可能である。
S105:描画量を他リモートデスクトップクライアントへ通知(多数接続の場合)
描画量比較部7は、取得した描画量54を、他リモートデスクトップ通信部5を経由して、このリモートデスクトップ装置2000上で動作している他のリモートデスクトップクライアント210、・・・290に対し送信する。
また、描画量比較部7は、他リモートデスクトップ通信部5を経由して、このリモートデスクトップ装置2000上で動作している他のリモートデスクトップクライアント210、・・・290から、それぞれの描画量54を受信する。
S106:描画量の比較(多数接続の場合)
そして、描画量比較部7は、このリモートデスクトップ装置2000上で動作しているリモートデスクトップクライアント200、210、・・・209それぞれの描画量54を比較し、このリモートデスクトップクライアント200の描画量54が最も多いか否かを判定する。描画量比較部7は、この判定結果と、このリモートデスクトップクライアント200の描画量54と、を間引き計算部8に通知する。
S107:間引き値の変更(多数接続の場合)
本実施の形態における間引き値計算部8は、このリモートデスクトップクライアント200の描画量54が、表示許容量を超えているか否かを判定する。超えている場合、間引き値計算部8は、このリモートデスクトップクライアント200の描画量54が、このリモートデスクトップ装置2000上で動作している他のリモートデスクトップクライアント210、・・・209の描画量との比較において最も多いか否かに応じて、リモートデスクトップクライアント200の現在の間引き値53を変更する。例えば、リモートデスクトップクライアント200の描画量54が最も多い場合には、現在の間引き値53を1/2倍の間隔などに割り引いて、そうでない場合はそれより小さな割引率、例えば3/4倍の間隔に割り引く。この処理には、最も更新頻度の高い表示処理を行っているリモートデスクトップクライアントを優先的に間引くことにより、突出した表示処理を行っているリモートデスクトップがリモートデスクトップ装置全体の処理を圧迫することを防ぎ、複数のリモートデスクトップ利用時にもスムーズな画面表示を実現するという目的がある。
一般に、リモートデスクトップクライアントの描画量は、リモートデスクトップ装置2000において、そのリモートデスクトップクライアントの画面がフォアグラウンドで表示されている場合、そのリモートデスクトップクライアントの画面が大きい場合、およびそのリモートデスクトップクライアントの画面更新が早い場合等に大きくなる。間引き計算部8は、このような描画量の大きいリモートデスクトップクライアントの画面データを優先的に間引くことにより、効率的な負荷軽減を行うことができる。
なお、これとは逆に、フォアグラウンドにあるリモートデスクトップクライアントや、フォーカスがあたっているリモートデスクトップクライアントは、実際に操作されていたり注目されていると推定されるから、かかるリモートデスクトップクライアントの間引き値を小さく設定することとしても良い。一方、画面が縮小表示されているリモートデスクトップクライアント、画面が一部分しか表示されていないリモートデスクトップクライアントなどは、注目度が低いと推定されるから、かかるリモートデスクトップクライアントの間引き値は大きくすることとしても良い。
本実施の形態によれば、リモートデスクトップを多段接続した場合においても、良好な操作性を得ることができる。それぞれリモートデスクトップクライアント200が動作する複数のリモートデスクトップ装置2000を多段接続する場合、リモートデスクトップの端末側においては、ネットワーク速度に応じて画面の更新頻度が最適化されるため、転送すべき描画データは減少し、端末側における処理負荷は低減される。また、ネットワークに対する負荷も低減される。よって、多段接続されたリモートデスクトップシステム全体にかかる負荷が抑制され、スムーズな操作環境を実現できる。
具体的には、多段接続の場合において上流(ホスト側)のネットワークが速く、下流(端末側)のネットワークが遅い場合であっても、中継役のリモートデスクトップ装置2000は、上流から送信される画像データを単に下流へ引き継ぐのではなく、下流のネットワークの速度に応じて転送すべき画像データの量を調整する。このため、下流側における描画の遅延や画像乱れの発生を抑制できる。
また、本実施の形態によれば、リモートデスクトップを多数接続した場合も、複数のリモートデスクトップクライアントが動作するリモートデスクトップ端末2000が、各リモートデスクトップクライアントの動作状況に応じ夫々の間引き値を最適化する。そのため、操作性への影響を抑えつつ、全体として処理負荷を効率的に軽減することができる。
そして、これらの構成は、多数接続、多段接続を同時に行う場合において同時に採用できる。この場合、それぞれによる技術的効果が相乗的に奏されるであろう。
<その他の実施の形態>
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態のうち、基本構成のみを実施しても良く、多数接続に係る構成のみを実施しても良く、多段接続に係る構成のみを実施しても良い。あるいは、これらの任意の組合せを実施しても良い。
本発明は、スマートフォン、タブレットのほか、任意のシンクライアント、組み込み装置、その他画像を表示し得る比較的性能が非力な端末に適用可能である。
また、本発明は、上述の実施の形態において例示したリモートデスクトップだけでなく、ホスト装置から通信路を介して送信された任意の画像データを端末装置において描画する任意のシステムに対して応用可能である。
また、上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1000 リモートデスクトップ装置
100 リモートデスクトップクライアント
2000 リモートデスクトップ装置
200 リモートデスクトップクライアント
210 他リモートデスクトップクライアント
290 他リモートデスクトップクライアント
1 通信部
2 画面作成部
3 間引き処理部
4 描画部
5 他リモートデスクトップ通信部
6 ネットワーク及び描画性能測定部
7 描画量比較部
8 間引き値計算部
11 NWバッファ
12 画面シャドウバッファ
14 画面フレームバッファ
50 描画データ
51 描画量
52 他クライアント描画量
53 間引き値
54 描画量
55 描画命令許容量、表示許容量

Claims (10)

  1. ホスト装置から、複数の画像データを含む第1の画像データを受信する通信部と、
    前記第1の画像データに基づいて第2の画像データを生成する画面作成部と、
    前記第2の画像データに含まれる複数の画像データの一部からなる第3の画像データを生成して画面フレームバッファに格納する間引き処理部と、
    前記画面フレームバッファに格納された前記第3の画像データに基づき描画を行う描画部と、を有する
    遠隔描画部を有する
    遠隔描画装置。
  2. 前記通信部は、前記ホスト装置との間に通信路を有し、
    前記通信路のデータ転送速度と、前記描画部の描画性能と、を取得するネットワーク及び描画性能測定部と、
    前記データ転送速度及び前記描画性能に基づき、間引き値を計算する間引き値計算部と、をさらに有し、
    前記間引き処理部は、前記間引き値に基づいて、前記第3の画像データを生成する
    請求項1記載の遠隔描画装置。
  3. 前記遠隔描画部を複数有し、
    少なくとも1つの前記遠隔描画部が、
    他の前記遠隔描画部の前記描画部の描画量を取得する他遠隔描画部通信部と、
    自らの前記描画部の描画量と、他の前記遠隔描画部の前記描画部の前記描画量と、を比較する描画量比較部と、をさらに有し、
    前記間引き処理部はさらに、前記比較の結果に応じて、前記間引き値を変更する
    請求項2記載の遠隔描画装置。
  4. それぞれが請求項2又は3記載の遠隔描画装置である、第1の遠隔描画装置と、第2の遠隔描画装置と、が第2の通信路を介して接続され、
    前記第2の遠隔描画装置の前記通信部は、前記第1の遠隔描画装置から前記第1の画像データを受信するものである場合において、
    前記第1の遠隔描画装置の前記ネットワーク及び描画性能測定部は、前記描画性能に替えて、前記第2の通信路のデータ転送速度に基づき、前記間引き値を計算する
    遠隔描画システム。
  5. 遠隔描画部が、
    ホスト装置から、複数の画像データを含む第1の画像データを受信する通信ステップと、
    前記第1の画像データに基づいて第2の画像データを生成する画面作成ステップと、
    前記第2の画像データに含まれる複数の画像データの一部からなる第3の画像データを生成して画面フレームバッファに格納する間引き処理ステップと、
    前記画面フレームバッファに格納された前記第3の画像データに基づき描画を行う描画ステップと、を有する
    遠隔描画方法。
  6. 前記ホスト装置との間の通信路のデータ転送速度と、描画性能と、に基づき間引き値を計算する間引き値計算ステップをさらに有し、
    前記間引き処理ステップは、前記間引き値に基づいて、前記第3の画像データを生成するものである
    請求項5記載の遠隔描画方法。
  7. 前記遠隔描画部は複数存在し、
    少なくとも1つの前記遠隔描画部が、
    他の前記遠隔描画部の前記描画ステップにおける描画量を取得する他遠隔描画部通信ステップと、
    自らの前記描画ステップにおける描画量と、他の前記遠隔描画部の前記描画ステップにおける前記描画量と、を比較する描画量比較ステップと、をさらに有し、
    前記間引き処理ステップはさらに、前記比較の結果に応じて、前記間引き値を変更するものである
    請求項6記載の遠隔描画方法。
  8. それぞれが請求項6又は7記載の前記遠隔描画部である、第1の遠隔描画部と、第2の遠隔描画部と、が第2の通信路を介して接続され、
    前記第2の遠隔描画部の前記通信ステップは、前記第1の遠隔描画部から前記第1の画像データを受信するものである場合において、
    前記第1の遠隔描画部の間引き値計算ステップは、前記描画性能に替えて、前記第2の通信路のデータ転送速度に基づき、前記間引き値を計算するものである
    遠隔描画方法。
  9. コンピュータに、請求項5乃至7いずれか1項記載の前記遠隔描画部にかかるすべてのステップを実行させるためのプログラム。
  10. コンピュータに、請求項8記載の前記第1の遠隔描画部にかかるすべてのステップを実行させるためのプログラム。
JP2013195560A 2013-09-20 2013-09-20 遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム Active JP6260163B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013195560A JP6260163B2 (ja) 2013-09-20 2013-09-20 遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013195560A JP6260163B2 (ja) 2013-09-20 2013-09-20 遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015060528A JP2015060528A (ja) 2015-03-30
JP6260163B2 true JP6260163B2 (ja) 2018-01-17

Family

ID=52817967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013195560A Active JP6260163B2 (ja) 2013-09-20 2013-09-20 遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6260163B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6559583B2 (ja) * 2016-01-21 2019-08-14 株式会社東芝 遠隔操作装置、遠隔操作方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3539264B2 (ja) * 1998-07-08 2004-07-07 日本電気株式会社 画像処理装置
JP2002108599A (ja) * 2000-09-29 2002-04-12 Kyocera Corp 情報処理装置
JP2009217713A (ja) * 2008-03-12 2009-09-24 Daihen Corp ロボット制御システム
JP2010239389A (ja) * 2009-03-31 2010-10-21 Kddi R & D Laboratories Inc 映像伝送システム
JP2013105367A (ja) * 2011-11-15 2013-05-30 Hitachi Ltd シンクライアントシステムおよびサーバ装置

Also Published As

Publication number Publication date
JP2015060528A (ja) 2015-03-30

Similar Documents

Publication Publication Date Title
US9930090B2 (en) Optimizing transfer to a remote access client of a high definition (HD) host screen image
US10397627B2 (en) Desktop-cloud-based media control method and device
US20120120256A1 (en) Parallel image processing using multiple processors
US9213521B2 (en) Control method of information processing apparatus and information processing apparatus
CN111045816B (zh) 一种性能优化的方法以及相关装置
US10152194B2 (en) Transmitting hardware-rendered graphical data
US20230379271A1 (en) Technologies for dynamic batch size management
CN111200606A (zh) 深度学习模型任务处理方法、系统、服务器及存储介质
JP6260163B2 (ja) 遠隔描画システム、遠隔描画装置、遠隔描画方法及びプログラム
WO2022057362A1 (zh) 图像处理方法及装置、云真机系统、存储介质和电子设备
CN112688991B (zh) 用于执行点云扫描操作的方法、相关装置及存储介质
GB2528870A (en) Managing display data for display
US10901491B2 (en) Sleep management method and device, and computer storage medium
US9514715B2 (en) Graphics voltage reduction for load line optimization
US20150281699A1 (en) Information processing device and method
US9584450B2 (en) Sending an out-of-facility notification based on aggregated content from a task management system
US20150070384A1 (en) Image processing apparatus, control method, and program therefor
CN113726883B (zh) 云数据处理方法、相关装置及计算机程序产品
CN115514718A (zh) 基于数据传输系统的数据交互方法、控制层、设备
CN113556575A (zh) 用于压缩数据的方法、装置、设备、介质和产品
CN113360736B (zh) 互联网数据的抓取方法和装置
JP7384215B2 (ja) 負荷分散システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム
JP6037694B2 (ja) サーバシステム、画像処理システム、プログラム及び画像処理方法
CN118158262A (zh) 云手机命令下发方法和装置
CN115695709A (zh) 一种数据传输方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170810

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: 20171114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6260163

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150