JP5701964B2 - 画面中継装置 - Google Patents

画面中継装置 Download PDF

Info

Publication number
JP5701964B2
JP5701964B2 JP2013252118A JP2013252118A JP5701964B2 JP 5701964 B2 JP5701964 B2 JP 5701964B2 JP 2013252118 A JP2013252118 A JP 2013252118A JP 2013252118 A JP2013252118 A JP 2013252118A JP 5701964 B2 JP5701964 B2 JP 5701964B2
Authority
JP
Japan
Prior art keywords
image information
relay
screen
area
destination device
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
JP2013252118A
Other languages
English (en)
Other versions
JP2014112373A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013252118A priority Critical patent/JP5701964B2/ja
Publication of JP2014112373A publication Critical patent/JP2014112373A/ja
Application granted granted Critical
Publication of JP5701964B2 publication Critical patent/JP5701964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、画面中継装置に関するものである。
入出力インタフェースを有する表示端末をユーザ側に配し、遠隔地に位置するサーバ装置が複雑な演算処理を実行する画面転送システムが知られている(例えば、非特許文献1参照)。サーバ装置は、表示端末からの操作情報に従い、表示端末で表示される画面情報を描画し、表示画面の更新領域の画面情報を表示端末に転送する。サーバ装置は画面情報を、1台または複数台の表示端末へ転送する。サーバ装置では、描画処理、差分抽出処理、圧縮処理、転送処理が、シングルスレッドで実行される。
しかし、サーバ装置から複数の画面情報を受信して表示端末へ転送するような多量の画像情報を扱う画面中継システムにおいて、非特許文献1に記載されているような従来の画面転送方式を用いる場合、複数の表示端末へは1つの画面しか転送できないという問題があった。また、各処理がシングルスレッドで実行されるため、画面転送性能が低いという問題があった。
T. Richardson, Q. Stafford‐Fraser, K. Wood and A. Hopper, "Virtual Network Computing," IEEE Internet Computing, vol.2, no.1, pp.33−38, 1998
本発明は、画面転送性能を向上させた画面中継装置を提供することを目的とする。
本発明の一態様による画面中継装置は、中継先機器から操作情報を受信して複数の中継元機器へ画像情報取得要求を送信し、前記中継元機器から前記画像情報取得要求に対応した第1画像情報を受信し、前記中継先機器へ第2画像情報を送信するとともに、画面転送開始時は前記中継先機器へ前記中継先機器の表示部の1画面分の画像情報を送信する通信部と、前記操作情報により前記中継先機器の表示部で画像の更新が生じる更新領域を記憶する更新領域記憶部と、前記第1画像情報を用いて、前記更新領域について前記操作情報が反映された画像を描画する描画部と、前記描画部により描画された画像を記憶する第1記憶部と、前記中継先機器へ送信された前記第2画像情報を含む前記中継先機器で表示されている画像情報を記憶する第2記憶部と、前記更新領域に対応する画像情報を前記第1記憶部及び前記第2記憶部から読み出して比較し、画像情報が異なる差分領域を抽出し、前記差分領域について、前記第1記憶部から読み出した画像情報を用いて前記第2記憶部に記憶されている画像情報を更新し、更新した前記差分領域に対応する画像情報を前記第2画像情報として前記通信部へ出力する画面転送部と、を備えるものである。
本発明によれば、画面中継装置の画面転送性能を向上できる。
本発明の第1の実施形態に係る画面中継システムの概略構成図である。 画面中継の一例を示す図である。 画面中継装置の概略構成図である。 更新領域の一例を示す図である。 境界情報の一例を示す図である。 並列処理されるスレッド数の算出方法の一例を示す図である。 並列処理されるスレッド数の算出方法の一例を示す図である。 並列処理されるスレッド数の算出方法の一例を示す図である。 並列処理されるスレッド数の算出方法の一例を示す図である。 画面転送部における並列処理の一例を示す図である。 画像描画処理を説明するフローチャートである。 画像転送処理を説明するフローチャートである。 本発明の第2の実施形態に係る画面中継システムの概略構成図である。 同第2の実施形態に係る画面中継装置の概略構成図である。 本発明の第3の実施形態に係る画面中継システムの概略構成図である。 同第3の実施形態に係る画面中継装置の概略構成図である。
以下、本発明の実施の形態を図面に基づいて説明する。
(第1の実施形態)図1に本発明の第1の実施形態に係る画面中継システムの概略構成を示す。画面中継システムは、画面中継装置100、N台の中継元機器201〜20N、及びM台の中継先機器301〜30Mを備える。N、Mは、1以上の整数である。
中継元機器201〜20Nは、画像情報を作成するサーバ装置である。画像情報は、ユーザ側に配置された表示端末である中継先機器301〜30Mの画面に表示される画像についての情報である。
中継元機器201〜20Nは、画面転送開始時に、中継先機器301〜30Mに表示される1画面分の画像情報を作成して送信する。その後、中継元機器201〜20Nは、中継先機器の画面内の更新が発生した領域の画像情報のみを送信する。更新については後述する。
中継元機器201〜20Nは、画像情報の取得要求メッセージを受け取った時だけ画像情報を送信してもよいし、所定時間毎に画像情報を送信してもよい。
画面中継装置100は、N台の中継元機器201〜20Nから送信されたN個の画像情報を合成する。画面中継装置100は、合成画像のうちの所定又は任意のM個の領域に対応する画像情報を選択する。そして、画面中継装置100は、第1領域に対応する画像情報を中継先機器301へ、第2領域に対応する画像情報を中継先機器302へ、・・・、第M領域に対応する画像情報を中継先機器30Mへ送信する。画面中継装置は、中継先機器301〜30Mへ送信する画像情報を、自装置内で生成することもできる。
また、画面中継装置100は、中継先機器301〜30Mから送信された操作情報(後述する)を受信し、中継元機器201〜20Nへ送信できる。また、画面中継装置100は、画像情報取得要求メッセージを中継元機器201〜20Nへ送信する。画像情報取得要求メッセージは、画像中継装置100が生成してもよいし、中継先機器301〜30Mから受信したものでもよい。
中継先機器301〜30Mは表示部(表示画面)を有し、画面中継装置100から受け取った画像情報を表示できる。表示部は、例えば、液晶表示装置である。
また、中継先機器301〜30Mは、キーボードやマウス等の入力装置を有する。中継先機器301〜30Mは、入力装置を介して、ユーザからの操作情報を受け付ける。操作情報は、例えば、カーソルの移動、文字入力、操作が発生した位置等である。この操作情報により生じる画面内の変化が、上述の更新である。中継先機器301〜30Mは、操作情報を画面中継装置100へ送信する。
図2に、画面中継システムによる画面中継の一例を示す。中継元機器201〜207はそれぞれ画像201a〜207aを示す画像情報を作成し、画面中継装置100へ送信する。
画面中継装置100は、中継元機器201〜207から画像201a〜207aを示す画像情報を受信すると、それらを合成した合成画像100aを描画する。そして、画面中継装置100は、合成画像100aの任意又は所定の領域に対応する画像情報を中継先機器301〜306へ送信する。
画面中継装置100は、画面転送開始時に、中継先機器の表示部の1画面分の画像情報を送信する。その後、画面中継装置100は、表示画面中の変化のあった領域(差分領域)を特定し、差分領域に対応する画像情報を圧縮して送信する。
中継先機器301〜306は、画面中継装置100から送信された画像情報を表示部の画面に表示する。例えば、中継先機器301〜304は、合成画像100aの領域A1〜A4を表示する。つまり、中継先機器301〜304はそれぞれ、中継元機器201が作成した画像201aを4分割した画像を表示する。
中継先機器305は合成画像100aの領域A5を表示する。つまり、中継先機器305は、中継元機器202〜205が作成した画像202a〜205aを合成表示する。
中継先機器306は合成画像100aの領域A6を表示する。つまり、中継先機器306は、中継元機器206及び207が作成した2つの画像206a及び207aを跨いで表示する。
このように、画面中継装置100は、1つの中継元機器が作成した画像を複数に分割して複数の中継先機器へ送信したり、複数の中継元機器が作成した画像を合成して1つの中継先機器へ送信したり、複数の中継元機器が作成した画像に跨った画像を1つの中継先機器へ送信したりすることができる。
このような画面中継装置100の概略構成を図3に示す。画面中継装置100は、アプリケーション110、ハードウェア120、及びウィンドウサーバ130を有する。
アプリケーション110は、画面中継装置100上で動作する各種処理を提供するプログラムである。アプリケーション110は、通信部122を介して中継元機器201〜20Nから画像情報を受け取る。また、アプリケーション110は、通信部122を介して中継先機器301〜30Mから操作情報を受け取る。
アプリケーション110は、操作情報に含まれる操作が発生した位置に基づいて、当該操作情報が中継元機器へ送信(転送)すべき情報か、又は画面中継装置100内で処理すべき情報かを判定する。アプリケーション110は、操作情報が中継元機器へ送信すべき情報であると判定した場合、当該操作情報を通信部122を介して中継元機器へ送信する。
アプリケーション110は、中継元機器から受け取った画像情報又は画面中継装置100内で処理すべきと判定した操作情報に基づいて、中継先機器に表示される画面に変化(更新)が発生するか否かを検出する。中継先機器に表示される画面に変化(更新)が発生する場合、アプリケーション110は、ウィンドウサーバ130の描画部132に対して画像の描画命令を出力する。描画命令に基づく描画部132の動作については後述する。
ハードウェア120は、CPU121、通信部122、バックアップ画像記憶部123、及びフレームバッファ124を有する。
CPU(Central Processing Unit:中央演算装置)121は、アプリケーション110及びウィンドウサーバ130を実行する制御部である。画面中継装置100は、CPU121を複数搭載したマルチプロセッサでもよいし、複数のプロセッサコアを1つのパッケージに集積したマルチコアプロセッサでもよい。
画面中継装置100は、1つの処理内容を複数の処理単位(スレッド)に分割し、複数のスレッドを各CPU(プロセッサコア)に割り当て、複数のCPUによる並列処理を行うようにしてもよい。
通信部122は、中継元機器への画面情報取得要求メッセージの送信、中継元機器からの画像情報の受信、中継先機器への画像情報の送信などを行う。また、通信部122は、中継先機器から操作情報を受信して、中継元機器へ該操作情報を送信する。
バックアップ画像記憶部123は、中継先機器に送信した画像情報を記憶する。フレームバッファ124は、中継元機器から受信した画像情報や中継先機器から受信した操作情報に基づいて描画部132が描画した画像の画像情報を記憶する。バックアップ画像記憶部123及びフレームバッファ124は、RAM(Random Access Memory)、HDD(Hard Disk Drive)、光ディスク、メモリカード等の一般的に利用されている様々な記憶媒体により構成することができる。
ウィンドウサーバ130は、決定部131、描画部132、更新領域記憶部133、境界情報記憶部134、算出部135、画面転送部136、及びタイマ137を有する。
決定部131は、中継元機器201〜20Nから受信した画像情報を、それぞれフレームバッファのどの位置に描画するかを決定し、アプリケーション110に通知する。アプリケーション110に通知された描画位置は、アプリケーション110が出力する描画命令に含まれる。
描画位置の決定方法は任意である。例えば、決定部131は、中継元機器201〜20Nからの画像情報の受信順に、フレームバッファ124の上から描画位置を割り当てる。
描画部132は、アプリケーション110から受け取った描画命令に基づいて各種画像処理を行って画像(合成画像)を作成し、画像情報をフレームバッファ124に記憶させる。また、描画部132は、描画命令に含まれる操作発生位置を示す座標情報を用いて、中継先機器の表示部で画像の更新(変更)が生じた更新領域を特定する。描画部132は、特定した更新領域を更新領域記憶部133に記録する。
ここで、座標情報とは、例えば、1024×768ピクセルの画面の場合、画面左上を(0、0)、画面右下を(1023、767)とするような座標系で表された情報をいう。なお、更新領域記憶部133への更新領域の記録方法は、中継先機器の表示画面上の更新領域が分かる任意の方法でよい。例えば、「座標(0,0)から幅10ピクセル、高さ10ピクセルの矩形領域及び座標(30,30)から幅200ピクセル、高さ5ピクセルの矩形領域」のように、更新領域を矩形情報のリストとして記録することができる。
図4に、更新領域の一例を示す。例えば、ウィンドウWを、図4(a)に示す位置から、図4(b)に示す位置に下方向へ移動する操作が行われる。
この操作により、ウィンドウWを下方向に移動するための「幅350ピクセル、高さ200ピクセルの矩形領域を座標(300、50)から座標(300、200)の位置にコピーする」第1描画命令と、ウィンドウWで隠れていた領域を復元するための「座標(300、50)の位置に幅350ピクセル、高さ150ピクセルの矩形領域を描画する」第2描画命令と、ドラッグ中であることを示すカーソル画像を描画するための「座標(350、200)の位置に幅50ピクセル、高さ50ピクセルの矩形領域を描画する」第3描画命令とが発生する。
第1描画命令による更新領域は、図4(c)に示すような、座標(300、200)から幅350ピクセル、高さ200ピクセルの矩形領域R1となる。また、第2描画命令による更新領域は、図4(c)に示すような、座標(300、50)から幅350ピクセル、高さ150ピクセルの矩形領域R2となる。また、第3描画命令による更新領域は、図4(c)に示すような、座標(350、200)から幅50ピクセル、高さ50ピクセルの矩形領域R3となる。
そして、矩形領域R1〜R3がそれぞれ更新領域として更新領域記憶部133に記録される。
なお、矩形領域R1〜R3は連続した領域のため、3つの矩形領域を1つにまとめて、図4(d)に示すような、座標(300、50)から幅350ピクセル、高さ350ピクセルの矩形領域R4を更新領域として更新領域記憶部133に記録してもよい。
境界情報記憶部134は、フレームバッファ124に記憶されている合成画像内の境界情報を記憶する。境界情報とは、フレームバッファ124内の合成画像における、中継先機器で表示される領域の境界を示す情報である。
例えば、フレームバッファ124に図5(a)に示すような合成画像が記憶されており、中継先機器301〜306で図5(b)に示すような画像が表示される場合、図5(c)に示される破線が表示境界となる。境界情報記憶部134は、このような境界を示す情報を記憶する。
算出部135は、更新領域の数、各更新領域の面積、境界情報、搭載されているCPU121の数などの情報の少なくともいずれか1つを用いて、画面転送部136内で並列処理されるスレッド数(並列数)を算出する。画面転送部136は、後述する差分抽出処理等を、複数の処理領域について並行して実行できる。並列処理される単位処理領域は、更新領域を分割/グループ化して決定される。
図6〜図9に並列処理されるスレッド数の算出方法の例を示す。図6〜図8に示す例では、更新領域記憶部133に、合成画像内の更新領域として6つの矩形領域R11〜R16が記憶されているものとする。図6〜図8では、更新領域を破線で示している。
図6は、更新領域の数に基づいてスレッド数を算出する例を示す。更新領域が6つあるため、スレッド数は6となる。つまり、画面転送部136における6つのスレッドはそれぞれ更新領域(矩形領域)R11〜R16に対応する画像情報の処理を行う。
図7は、各更新領域の面積に基づいてスレッド数を算出する例を示す。更新領域の面積は、例えば、幅10ピクセル、高さ10ピクセルの更新領域の場合は100(=10×10)、幅200ピクセル、高さ5ピクセルの更新領域の場合は1000(=200×5)となる。
各スレッドに割り当てる領域の大きさを同等にするために、領域面積に閾値Th1と閾値Th2(Th1>Th2)を設け、閾値Th1よりも面積が大きい更新領域は複数に分割し、閾値Th2よりも面積が小さい複数の更新領域を1つにグループ化する。
更新領域R11の面積が大きいため、これが分割される。なお、更新領域R12は更新領域R11に隣接しているため、更新領域R11とR12を1まとめにした上で分割することが好適である。図7に示すように、更新領域R11とR12を1まとめにして、3つの処理領域R71〜R73に分割される。
更新領域(矩形領域)R13〜R15は面積が小さいため1つにグループ化され、処理領域R74となる。
更新領域R16は面積が閾値Th1以下、閾値Th2以上であるため、処理領域R75となる。従って、スレッド数(画面転送部136で並列処理される領域数)は5つとなる。このように、更新領域の面積を考慮することで、各スレッドにおける処理量を均等化することができる。
図8は、各更新領域の面積及び境界情報に基づいてスレッド数を算出する例を示す。表示境界は、一点鎖線で示すように、合成画像を4分割したものとする。更新領域の面積に基づいて決定した処理領域が表示境界を跨ぐ場合は、表示境界を跨がないように分割する。従って、図7における処理領域R74が、この例では処理領域R84、R85に分割される。処理領域R84は更新領域R13及びR14をグループ化したものであり、処理領域R85は更新領域R15に相当する。
処理領域R81〜R83、R86は、図7における処理領域R71〜R73、R75に対応する。従って、図8に示す例では、スレッド数(画面転送部136で並列処理される領域数)は6つとなる。
境界情報を用いて、複数の中継先機器301〜30Mが表示する領域を考慮することで、1つのスレッドを1つの中継先機器に対応させることができる。
図9は、CPU121の搭載数に基づいてスレッド数を算出する例を示す。画面転送部136で並列処理されるスレッド数はCPU121の搭載数に制限される。従って、CPU121の搭載数をスレッド数として算出する。例えば、CPU121を4つ搭載している場合は、スレッド数を4とする。
図9では、全画面更新が発生し、更新領域記録部133に、全画面分の更新領域(矩形領域)が1つ記憶されているものとする。CPU121の搭載数が4つの場合、図9に示すように、全画面が4つの処理領域R91〜R94に等分割される。
更新領域の数がCPU121の搭載数よりも多い場合は、スレッド数(処理領域数)をCPU121の搭載数以下に抑えるために、複数の更新領域をグループ化して1つの処理領域とする。
算出部135は、スレッド数の算出にあたり、更新領域の数、各更新領域の面積、境界情報、搭載されているCPU121の数などの情報を任意に組み合わせて用いることができる。また、算出部135は、1つのスレッド数を算出してもよいし、画面転送部136で実行される後述の差分抽出処理、画素形式変換処理、圧縮処理等の各処理毎にスレッド数を算出してもよい。
例えば、差分抽出処理に対しては、図6に示すように更新領域の数に基づいてスレッド数が算出され、算出したスレッド数がCPU121の搭載数よりも小さい場合は、領域面積が閾値Th1より大きい更新領域を分割する。
また、例えば、画素形式変換処理および圧縮処理は、中継先機器毎にそれぞれ画素形式や圧縮形式が異なる形式の画面情報を扱っている可能性があり、中継先機器毎に異なるスレッドで処理するために、境界情報を考慮してスレッド数が算出される。
このように、算出部135が、CPU搭載数や、画面転送部136における処理内容に応じて、画面転送部136における並列処理のスレッド数を算出し、並列処理される処理領域を決定することで、画面転送部136は効率良く並列処理を実行できる。
画面転送部136は、更新領域記憶部133に記憶されている更新領域を参照して、この更新領域に対応する画像情報をフレームバッファ124から読み出す。フレームバッファ124から読み出される画像情報は、描画部132が作成した画像情報であり、中継先機器301〜30Mから受け取った操作情報が反映されたものである。
また、画面転送部136は、これらの領域に対応する画像情報をバックアップ画像記憶部123から読み出す。バックアップ画像記憶部123から読み出される画像情報は、過去に中継先機器301〜30Mへ送信され、中継先機器301〜30Mで表示されている画像情報である。
そして、画面転送部136は、差分抽出処理を、算出部135により決定された処理領域毎に並列に実行する。差分抽出処理は、フレームバッファ124から読み出した画像情報とバックアップ画像記憶部123から読み出した画像情報とを比較して、差分領域(画像情報が異なる領域)を抽出する処理である。
画面転送部136は、抽出した差分領域について、バックアップ画像記憶部123に記憶されている画像情報を更新する。また、画面転送部136は、差分領域で更新領域記憶部133内の更新領域を上書きする。
画面転送部136は、差分抽出処理後に、画素形式変換処理を行う。画素形式変換処理は、画面中継装置100における画素形式を、中継先機器301〜30Mにおける画素形式に変換する処理である。両者の画素形式が同じ場合は、この処理を省略することができる。なお、画素形式は、bpp(1画素あたりのビット数)、depth(1画素で表示可能な色数)、カラーマップ(色番号と実際の色の対応を定義する)を含む。
画面転送部136は、画素形式変換処理後に、圧縮処理を行い、差分領域の画像情報を圧縮する。圧縮された画像情報は、通信部122を介して中継先機器301〜30Mへ送信される。
例えば、画面転送部136は、図10に示すように、更新領域の数に基づいたスレッド数で差分抽出処理を行い、境界情報に基づいたスレッド数で画素形式変換処理及び圧縮処理を行う。
画面転送部136は、圧縮処理後に、中継先機器へ送信される画像情報に対応する領域(差分領域)の情報を、更新領域記憶部133から削除する。
タイマ137は所定時間毎に画面転送部136に割込み通知を行う。画面転送部136は割込み通知に基づいて、上述の差分抽出処理等を開始する。なお、画面転送部136の処理開始のトリガはタイマ137からの割込み通知でなくてもよい。例えば、描画部132による描画回数が所定値に達したら、画面転送部136が処理を開始するようにしてもよい。
上述したように、画面中継装置100が行う画像処理は、フレームバッファ124に更新画像を書き込む画像描画処理と、更新領域の画像情報を中継先機器へ転送する画像転送処理の2つに分けられる。
図11に示すフローチャートを用いて画像描画処理について説明する。
(ステップS101)画面中継装置100から中継元機器201〜20Nへ画面情報取得要求メッセージが送信される。
(ステップS102)アプリケーション110が、中継元機器201〜20Nからの画像情報を受信する。
(ステップS103)アプリケーション110が、中継元機器201〜20Nからの画像情報に従って処理を実行し、画像情報の更新が発生した場合に、合成画像の描画を要求する描画命令を描画部132へ出力する。
なお、画面中継装置100上で画像情報を生成してもよい。この場合、アプリケーション110は、中継先機器301〜30Mからの操作情報に基づいて、描画部132へ描画命令を出力する。
(ステップS104)描画部132が、描画命令に応じて画像処理を行い、図2に示すような合成画像を描画し、合成画像の画像情報をフレームバッファ124に記憶させる。描画部132は、画面中継装置100の動作開始時に全画面についての合成画像を作成した後は、更新領域の画像を描画する。
(ステップS105)描画部132が、更新領域(の座標)を更新領域記憶部133に記憶させる。
図12に示すフローチャートを用いて画像転送処理について説明する。
(ステップS201)算出部135が、画面転送部136において画像情報が並列処理されるスレッド数を算出する。画面転送部136で実行される差分抽出処理、画素形式変換処理、圧縮処理のそれぞれについてスレッド数を算出してもよいし、スレッド数を1つだけ算出し、すべての処理に対してそのスレッド数を適用してもよい。ここで算出されたスレッド数に従って、以降の画面転送部136の処理は並列処理される。
(ステップS202)差分抽出処理するか否かが判定される。差分抽出処理を行う場合はステップS203に進み、行わない場合はステップS205に進む。
(ステップS203)更新領域記憶部133に記憶されている更新領域を参照し、当該更新領域に対応するフレームバッファ124の(更新画像の)画像情報と、バックアップ画像記憶部123の画像情報とが比較され、差分領域が抽出される。そして、更新領域記憶部133内の更新領域に差分領域が上書きされる。
(ステップS204)差分領域に対応する更新画像の画像情報が、バックアップ画像記憶部123に記憶される。
(ステップS205)画面転送部136が更新領域に対応する更新画像の画像情報をフレームバッファ124から読み出す。
(ステップS206)画素形式変換処理するか否かが判定される。画素形式変換処理を行う場合はステップS207に進み、行わない場合はステップS209に進む。
(ステップS207)画面中継装置100とは画素形式の異なる中継先機器が検出される。
(ステップS208)ステップS207で検出された中継先機器へ送信される更新領域の更新画像の画素形式が変換される。
(ステップS209)圧縮処理するか否かが判定される。圧縮処理を行う場合はステップS210に進み、行わない場合はステップS211に進む。
(ステップS210)更新領域の更新画像が圧縮される。
(ステップS211)中継先機器へ送信される更新画像に対応する更新領域が更新領域記憶部133から削除される。
(ステップS212)更新画像が、通信部122を介して、中継先機器へ送信される。
上述したように、画面中継装置100は、N台の中継元機器201〜20Nから受信した画像を合成し、合成画像の任意の領域をM台の中継先機器301〜30Mへ送信できる。つまり、画面中継装置100は、1台の中継元機器が作成した画像を分割した画像、複数の中継先機器が作成した画像を合成した画像、複数の中継先機器が作成した画像に跨る画像など、N台の中継元機器が作成した画像を任意に合成/分割して、M台の中継先機器へ転送することができる。
また、算出部135が、更新領域の数、各更新領域の面積、境界情報、搭載されているCPU121の数などの情報を用いて、画面転送部136で実行される差分抽出処理等のスレッド数を求めている。そのため、画面中継装置100は、中継元機器が作成した画面の画像情報を中継先機器へ効率良く送信できる。
このように、本実施形態によれば、画面中継装置の画面転送性能を向上できる。
上記第1の実施形態では、画面中継装置100は、1種類の合成画像を描画してフレームバッファ124に記憶させていたが、画面中継装置100で描画される合成画像と中継先機器が要求する合成画像とが異なる場合は、中継先機器の要求する合成画像をフレームバッファ124の別領域に記憶してもよい。
例えば、図2では、合成画像100aにおいて、中継元機器202が作成した画像202aは、中継元機器203が作成した画像203aの左隣に位置していたが、中継先機器からこの2つの画像の位置を入れ替えた合成画像が要求されている場合、そのような合成画像を描画して、フレームバッファ124の別領域に記憶する。
また、各中継先機器に対応するようにフレームバッファ124を複数設け、各中継先機器に要求される合成画像を描画して、フレームバッファに記憶させてもよい。
画面中継装置100から画像情報を受信した中継先機器が、所望の表示位置となるように、画像の位置の入れ替えを行ってもよい。
(第2の実施形態)図13に本発明の第2の実施形態に係る画面中継システムの概略構成を示す。画面中継システムは、画面中継装置400、N台の中継元機器201〜20N、及び1台の中継先機器301を備える。Nは1以上の整数である。画面中継装置400は、中継元機器201〜20Nによって作成された画像を任意に合成/分割して、中継先機器301へ送信する。また、画面中継装置400は、中継先機器301の表示画像が更新された(変化が発生した)場合は、更新画像を中継先機器301へ送信する。
図14に画面中継装置400の概略構成を示す。画面中継装置400は、第1送信部401、第1受信部402、第2送信部403、第1決定部411、関連部412、検出部413、更新部414、第1記憶部421、及び第2記憶部422を有する。
第1送信部401は、N台の中継元機器201〜20Nへ画像情報取得要求メッセージを送信する。
第1受信部402は、N台の中継元機器201〜20Nから、画像情報取得要求メッセージの応答として、中継元機器で作成された画像情報を受信する。第1受信部402は、受信した画像情報を第1記憶部421内の第1決定部412により指示された記憶領域に記憶する。
なお、第1受信部402は、受信した画像情報が圧縮されている場合は、伸張処理を施す。
第1記憶部421は、中継元機器201〜20Nから受信した画像情報を記憶する。第1記憶部421は、上記第1の実施形態におけるフレームバッファ124に相当する。
第1決定部412は、N台の中継元機器201〜20Nから受信した画像情報が記憶される第1記憶部421内の記憶領域を決定する。
第1決定部412は、画面中継装置400が中継元機器を「発見」した順によって記憶する領域を指定した設定ファイルAであってもよい。なお、第1決定部412が設定ファイルAの場合、第1受信部402は、設定ファイルAを参照して、第1記憶部421に受信した画像情報を記憶させる。
第2記憶部422は、中継先機器301へ送信した画像情報を記憶する。第2記憶部422は、上記第1の実施形態におけるバックアップ画像記憶部123に相当する。
関連部412は、第1記憶部421に記憶された画像情報と、第2記憶部422に記憶される画像情報との対応関係を記憶する。関連部412は、対応情報を記載した設定ファイルBであってもよい。
検出部413は、関連部413から対応情報を取得し、第1記憶部421と第2記憶部422とに記憶されている画像情報の画素値を比較し、差分がある領域を検出する。なお、関連部413が設定ファイルBの場合、検出部413は、設定ファイルBを参照して、第1記憶部421と第2記憶部422の間で、画素値を比較する画像情報の領域を知ることができる。
更新部414は、検出部413が検出した差分領域に対応する第1記憶部421内の画像情報を更新画像情報として第2記憶部422に記憶させる。また、更新部414は、差分領域を示す情報を第2送信部403に通知する。
第2送信部403は、更新部414から通知された差分領域を示す情報を用いて、第2記憶部422から、当該差分領域の画像情報を取得し、中継先機器301へ送信する。送信の際には、画像情報を圧縮してもよい。
第1送信部401、第1受信部402、及び第2送信部403は、上記第1の実施形態における通信部122に相当する。また、第2送信部403は、上記第1の実施形態における画面転送部136の圧縮処理の機能を有する。また、第1受信部402及び決定部411が、上記第1の実施形態における決定部131及び描画部132に相当する。
このように、本実施形態の画面中継装置400は、N台の中継元機器から画像情報を受信し、任意に合成/分割して1つの画像情報を作成し、1台の中継先機器へ転送することができる。
また、検出部413、更新部414、第2送信部403における処理について、上記第1の実施形態で示したようなスレッド数の算出を行い、算出したスレッド数で並列処理を行うことで、画像情報を効率的に中継先機器へ送信することができる。
(第3の実施形態)図15に本発明の第3の実施形態に係る画面中継システムの概略構成を示す。画面中継システムは、画面中継装置500、N台の中継元機器201〜20N、及びM台の中継先機器301〜30Mを備える。N、Mは1以上の整数である。画面中継装置500は、中継元機器201〜20Nによって作成された画像を任意に合成/分割して、中継先機器301〜30Mへ送信する。また、画面中継装置100は、中継先機器301〜30Mの表示画像が更新された(変化が発生した)場合は、更新画像を中継先機器301〜30Mへ送信する。
図16に画面中継装置500の概略構成を示す。画面中継装置500は、図13に示す上記第2の実施形態に係る画面中継装置400に、第2決定部415を追加した構成となっている。
画面中継装置500は、画面中継装置400の機能を拡張したものである。第2送信部403は、M台の中継先機器301〜30Mに画像情報を送信することができる。それぞれの中継先機器へ送信する画像情報は、第2記憶部422に分離して記憶されている。
第2決定部415は、M台の中継先機器301〜30Mへ送信された、又は、送信される画像情報が記憶される第2記憶部415の記憶領域を決定する。
第2決定部415は、画面中継装置500が中継先機器を「発見」した順によって、第2記憶部422内の記憶領域を指定した設定ファイルCであってもよい。なお、第2決定部415が設定ファイルCの場合、第2送信部403は、中継先機器へ画像情報を送信する際に設定ファイルCを参照して、送信先の中継先機器に対応する第2記憶部422の記憶領域を特定し、当該記憶領域に記憶された画像情報を送信する。
図16に示される関連部412、検出部413、更新部414は、M台の中継先機器301〜30Mに対応するように、上記第2の実施形態で説明したそれぞれの機能を拡張したものである。
このように、本実施形態の画面中継装置500は、N台の中継元機器から画像情報を受信し、任意に合成/分割してM個の画像情報を作成し、M台の中継先機器へ転送することができる。
さらに、検出部413の処理、更新部414の処理、第2送信部403の処理については、上記第1の実施形態で示したようなスレッド数の算出を行い、算出したスレッド数で並列処理を行うことで、画像情報を効率的に中継先機器へ送信することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
100 画面中継装置
110 アプリケーション
120 ハードウェア
121 CPU
122 通信部
123 バックアップ画像記憶部
124 フレームバッファ
130 ウィンドウサーバ
131 決定部
132 描画部
133 更新領域記憶部
134 境界情報記憶部
135 算出部
136 画面転送部
137 タイマ
201〜20N 中継元機器
301〜30M 中継先機器

Claims (7)

  1. 中継先機器から操作情報及び画像情報取得要求を受信し複数の中継元機器へ前記画像情報取得要求を送信し、前記中継元機器から前記画像情報取得要求に対応した第1画像情報を受信し、前記中継先機器へ第2画像情報を送信するとともに、画面転送開始時は前記中継先機器へ前記中継先機器の表示部の1画面分の画像情報を送信する通信部と、
    前記操作情報により前記中継先機器の表示部で画像の更新が生じる更新領域を記憶する更新領域記憶部と、
    前記第1画像情報を用いて、前記更新領域について前記操作情報が反映された画像を描画する描画部と、
    前記描画部により描画された画像情報を記憶する第1記憶部と、
    前記中継先機器へ送信された前記第2画像情報を含む前記中継先機器で表示されている画像情報を記憶する第2記憶部と、
    前記更新領域に対応する画像情報を前記第1記憶部及び前記第2記憶部から読み出して比較し、画像情報が異なる差分領域を抽出し、前記差分領域について、前記第1記憶部から読み出した画像情報を用いて前記第2記憶部に記憶されている画像情報を更新し、更新した前記差分領域に対応する画像情報を前記第2画像情報として前記通信部へ出力する画面転送部と、
    を備える画面中継装置。
  2. 前記更新領域の数に基づいて第1並列数を算出する算出部をさらに備え、
    前記画面転送部は、前記差分領域を抽出する処理を、前記第1並列数で並列に実行することを特徴とする請求項1に記載の画面中継装置。
  3. 前記算出部は、前記更新領域の数及び前記更新領域の面積に基づいて前記第1並列数を算出することを特徴とする請求項2に記載の画面中継装置。
  4. 前記第1記憶部に記憶されている前記第1画像情報のうち、前記中継先機器が表示する領域の境界を示す境界情報を記憶する第4記憶部をさらに備え、
    前記算出部は、前記境界情報に基づいて第2並列数を算出し、
    前記画面転送部は、前記第2画像情報を圧縮する圧縮処理を前記第2並列数で並列に実行し、圧縮した前記第2画像情報を前記通信部へ出力することを特徴とする請求項3に記載の画面中継装置。
  5. 前記算出部は、前記境界情報、前記更新領域の数、及び前記更新領域の面積に基づいて、前記第1並列数及び/又は前記第2並列数を算出することを特徴とする請求項4に記載の画面中継装置。
  6. 中継先機器から操作情報及び画像情報取得要求を受信し、複数の中継元機器へ前記画像情報取得要求を送信し、前記中継元機器から前記画像情報取得要求に対応した第1画像情報を受信し、前記中継先機器へ第2画像情報を送信するとともに、画面転送開始時は前記中継先機器へ前記中継先機器の表示部の1画面分の画像情報を送信する工程と、
    前記操作情報により前記中継先機器の表示部で画像の更新が生じる更新領域を記憶する工程と、
    前記第1画像情報を用いて、前記更新領域について前記操作情報が反映された画像を描画する工程と、
    描画された第3画像情報を記憶する工程と、
    前記中継先機器へ送信された前記第2画像情報を含む前記中継先機器で表示されている第4画像情報を記憶する工程と、
    前記更新領域に対応する前記第3画像情報及び前記第4画像情報を比較し、画像情報が異なる差分領域を抽出し、前記差分領域について、前記第3画像情報を用いて前記第4画像情報を更新し、更新した前記差分領域に対応する画像情報を前記第2画像情報として出力する工程と、
    を備える画面中継方法。
  7. 中継先機器から操作情報及び画像情報取得要求を受信し、複数の中継元機器へ前記画像情報取得要求を送信し、前記中継元機器から前記画像情報取得要求に対応した第1画像情報を受信し、前記中継先機器へ第2画像情報を送信するとともに、画面転送開始時は前記中継先機器へ前記中継先機器の表示部の1画面分の画像情報を送信する工程と、
    前記操作情報により前記中継先機器の表示部で画像の更新が生じる更新領域を記憶する工程と、
    前記第1画像情報を用いて、前記更新領域について前記操作情報が反映された画像を描画する工程と、
    描画された第3画像情報を記憶する工程と、
    前記中継先機器へ送信された前記第2画像情報を含む前記中継先機器で表示されている第4画像情報を記憶する工程と、
    前記更新領域に対応する前記第3画像情報及び前記第4画像情報を比較し、画像情報が異なる差分領域を抽出し、前記差分領域について、前記第3画像情報を用いて前記第4画像情報を更新し、更新した前記差分領域に対応する画像情報を前記第2画像情報として出力する工程と、
    をコンピュータに実行させるプログラム。
JP2013252118A 2013-12-05 2013-12-05 画面中継装置 Active JP5701964B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013252118A JP5701964B2 (ja) 2013-12-05 2013-12-05 画面中継装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013252118A JP5701964B2 (ja) 2013-12-05 2013-12-05 画面中継装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011547162A Division JPWO2011077550A1 (ja) 2009-12-25 2009-12-25 画面中継装置

Publications (2)

Publication Number Publication Date
JP2014112373A JP2014112373A (ja) 2014-06-19
JP5701964B2 true JP5701964B2 (ja) 2015-04-15

Family

ID=51169434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013252118A Active JP5701964B2 (ja) 2013-12-05 2013-12-05 画面中継装置

Country Status (1)

Country Link
JP (1) JP5701964B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4853328B2 (ja) * 2007-02-28 2012-01-11 富士ゼロックス株式会社 処理実行システム、中継装置、及びプログラム
JP2008262357A (ja) * 2007-04-11 2008-10-30 Casio Comput Co Ltd 管理サーバ装置、サーバ装置、情報処理システム及びプログラム

Also Published As

Publication number Publication date
JP2014112373A (ja) 2014-06-19

Similar Documents

Publication Publication Date Title
JP5215945B2 (ja) 画像処理装置
WO2011077550A1 (ja) 画面中継装置
JP5678743B2 (ja) 情報処理装置、画像送信プログラム、画像送信方法および画像表示方法
US8819270B2 (en) Information processing apparatus, computer-readable non transitory storage medium storing image transmission program, and computer-readable storage medium storing image display program
WO2016034089A1 (zh) 图片渲染方法和装置、移动终端以及机器可读存储介质
JP5899897B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2014135013A (ja) 画像転送方法、サーバ機器及びプログラム
US20170149857A1 (en) Systems and methods for transmitting data
CN113368492A (zh) 渲染的方法、装置
US20170371614A1 (en) Method, apparatus, and storage medium
US9037749B2 (en) Information processing apparatus and image transmission method
WO2016016607A1 (en) Managing display data for display
US20140089812A1 (en) System, terminal apparatus, and image processing method
US20160155429A1 (en) Information processing apparatus and terminal device
JP4675944B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム
US20150281699A1 (en) Information processing device and method
JP6186429B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
US20120005587A1 (en) Performing Remoting Operations For Different Regions Of A Display Surface At Different Rates
JPWO2015107672A1 (ja) 画像処理プログラム、画像処理方法、および画像処理装置
JP5701964B2 (ja) 画面中継装置
JP2019515516A (ja) 画像描画方法、関係するデバイス及びシステム
US20150381987A1 (en) Drawing system, information processing apparatus for drawing, and drawing control method
US9161009B2 (en) System, terminal device, and image capturing method
CN112218003B (zh) 一种桌面图像采集方法、装置及电子设备
US20090058874A1 (en) Image display device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150218

R151 Written notification of patent or utility model registration

Ref document number: 5701964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151