JP5201142B2 - 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体 - Google Patents

画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体 Download PDF

Info

Publication number
JP5201142B2
JP5201142B2 JP2009521605A JP2009521605A JP5201142B2 JP 5201142 B2 JP5201142 B2 JP 5201142B2 JP 2009521605 A JP2009521605 A JP 2009521605A JP 2009521605 A JP2009521605 A JP 2009521605A JP 5201142 B2 JP5201142 B2 JP 5201142B2
Authority
JP
Japan
Prior art keywords
screen
transmission
data
code data
difference
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.)
Expired - Fee Related
Application number
JP2009521605A
Other languages
English (en)
Other versions
JPWO2009004996A1 (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 JP2009521605A priority Critical patent/JP5201142B2/ja
Publication of JPWO2009004996A1 publication Critical patent/JPWO2009004996A1/ja
Application granted granted Critical
Publication of JP5201142B2 publication Critical patent/JP5201142B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、送信する現画面の画面データの伝送データ量を削減する画面伝送技術に関し、特に、その画面伝送技術を用いた画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体に関する。
画面データを送信する場合、伝送データ量を削減するために、前画面に対して変化した差分領域の画像データだけを送信するということが行われている。例えば、特開昭61−252784号公報では、差分領域の画像データと差分領域の位置情報とを受信側に送信するようにしている。また、特開平8−223430号公報では、差分領域の画像データを圧縮し、圧縮した画像データと差分領域の位置情報とを受信側に送信するようにしている。
上述した技術によれば、現画面の画面データを全て送信する場合に比較して、伝送データ量を削減することができる。しかし、差分領域の画像データだけを送信するにしても、通信帯域が狭ければ、差分領域の画像データの全てを送信することは困難になる。これらの技術においては、そのような事態は想定されておらず、それに対する対策が講じられていない。
一方、複数台の撮像装置と、複数台の画像表示装置とを備えた監視用システムにおいて、少ない労力で容易に監視を行えるようにする技術も知られている。例えば、特開平10−290447号公報には、撮像装置毎に、出力される画像の時間的変化の大きさ求め、変化の大きい撮像装置から出力された画像を、変化の小さい撮像装置から出力された画像よりも強調して表示するようにした技術が開示されている。しかし、この特開平10−290447号公報に記載されている技術は、差分領域の画像データを送信する技術ではない。
本発明の目的は、画面更新に与える影響を最小限に抑えて画面データを伝送する画面伝送システム、画面送信サーバおよび画面伝送方法を提供することにある。
本発明の観点によれば、画面伝送システムは、画面送信サーバと画面受信クライアントとを備える。前記画面送信サーバは、差分領域抽出部と、優先度決定部と、通信部とを具備する。差分領域抽出部は、前画面と現画面とを比較し、前画面に対して変化した現画面上の領域を差分領域として抽出する。優先度決定部は、差分領域抽出部で複数の差分領域が抽出された場合、差分領域毎に、その領域の画像データを送信する際の優先度を、予め定められた基準に基づいて決定する。通信部は、優先度決定部で決定された優先度が高い差分領域から優先的に画像データを前記画面受信クライアントへ送信する。画面受信クライアントは、画面送信サーバから受信した前記画像データに基づいて画面データを合成してクライアント画面に表示する。
本発明の他の観点によれば、画面送信サーバは、差分領域抽出部と、優先度決定部と、通信部とを具備する。差分領域抽出部は、前画面と現画面とを比較し、前画面に対して変化した現画面上の領域を差分領域として抽出する。優先度決定部は、差分領域抽出部で複数の差分領域が抽出された場合、差分領域毎に、その領域の画像データを送信する際の優先度を、予め定められた基準に基づいて決定する。通信部は、優先度決定部で決定された優先度が高い差分領域から優先的に画像データを送信する。
また、本発明の他の観点によれば、画面伝送方法は、差分領域抽出ステップと、優先度決定ステップと、通信ステップとを備える。差分領域抽出ステップでは、前画面と現画面とが比較され、前画面に対して変化した現画面上の領域が差分領域として抽出される。優先度決定ステップでは、差分領域抽出ステップで抽出された差分領域毎に、差分領域の画像データを送信する際の優先度が、予め定められた基準に基づいて決定される。通信ステップでは、優先度決定ステップで決定された優先度が高い差分領域から優先的に、画像データが送信される。
さらに、本発明の他の観点によれば、プログラムを記録するプログラム記録媒体は、コンピュータを、差分領域抽出手段、優先度決定手段、通信手段として機能させるプログラムを記録する。差分領域抽出手段は、前画面と現画面とを比較し、前画面に対して変化した現画面上の領域を差分領域として抽出する。優先度決定手段は、差分領域抽出手段で抽出された差分領域毎に、差分領域の画像データを送信する際の優先度を、予め定められた基準に基づいて決定する。通信手段は、優先度決定手段で決定された優先度が高い差分領域から優先的に画像データを送信する。
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、本発明の第1の実施の形態に係る画面伝送システムの構成例を示すブロック図である。 図2A〜2Cは、本発明の差分領域の概念を示す図である。 図3は、差分画面データリストの一例を示す図である。 図4は、画面符号データリストの一例を示す図である。 図5は、第1の実施の形態に係る画面伝送システムのハードウェア構成例を示すブロック図である。 図6は、第1の実施の形態に係る画面伝送システムの動作の概要を示す流れ図である。 図7は、画面伝送部の動作を示す流れ図である。 図8は、画面伝送部の動作を示す流れ図である。 図9は、画面受信クライアントの動作を示す流れ図である。 図10は、送信画面データ記憶部に格納される前画面の画面データの一例を示す図である。 図11は、画面データ記憶部に格納される現画面の画面データの一例を示す図である。 図12は、前画面、現画面の画面データが図10、図11に示すものであるときの差分領域を示す図である。 図13は、差分領域情報の一例を示す図である。 図14A〜14Cは、優先度決定部の動作を説明するための図である。 図15A〜15Dは、送信画面データ更新部の動作を説明するための図である。 図16は、差分領域更新部の動作を説明するための画面データを示す図である。 図17は、差分領域更新部の動作を説明するための図である。 図18は、差分領域更新部の動作を説明するための図である。 図19A〜19Cは、差分領域更新部の動作を説明するための図である。 図20は、本発明の第2の実施の形態に係る画面伝送システムの構成例を示すブロック図である。 図21は、画面送信サーバの動作を示す流れ図である。 図22A〜22Bは、送信履歴を説明するための図である。 図23A〜23Bは、重み生成部の動作を説明するための図である。 図24A〜24Bは、重み生成部の動作を説明するための図である。 図25A〜25Bは、重み生成部の動作を説明するための図である。 図26は、本発明の第3の実施の形態に係る画面伝送システムの構成例を示すブロック図である。 図27は、画面送信サーバの動作を示す流れ図である。 図28A〜28Cは、優先度決定部の動作を説明するための図である。 図29は、本発明の第4の実施の形態に係る画面伝送システムの構成例を示すブロック図である。 図30は、画面送信サーバの動作を示す流れ図である。 図31は、本発明の第5の実施の形態に係る画面伝送システムの構成例を示すブロック図である。 図32は、変化情報密度付き画面符号データの一例を示す図である。 図33は、画面送信サーバの動作を示す流れ図である。 図34は、送信符号生成部の動作を示す流れ図である。 図35は、画面受信クライアントの動作を示す流れ図である。
〔本発明の第1の実施の形態〕
図面を参照して、本発明の第1の実施の形態について詳細に説明する。図1は、本実施の形態に係る画面伝送システムの構成例を示すブロック図である。第1の実施の形態に係る画面伝送システムは、画面データを符号化して送信する画面送信サーバ1と、符号化された画面データを復号化して表示する画面受信クライアント3とを具備する。画面送信サーバ1と画面受信クライアント3とは、インターネット等のネットワーク2を介して接続され、互いに情報を送受する。画面送信サーバ1と画面受信クライアント3との間で送受される画面データは、画面内の各画像を表す画像データを含む。画像データは、例えば、画像内の位置を示す座標値と色成分毎の強度を表す画素値とを含む画素データを備える。
画面送信サーバ1は、画面生成部10と、画面データ取得部11と、画面伝送部12と、イーサネット(登録商標)等のサーバ通信部14と、送信画面データ更新部13とを備える。画面生成部10は、画面受信クライアント3へ送信する画面(現画面という場合もある)の画面データを生成する。画面データ取得部11は、画面生成部10で生成された画面データを取得し、画面伝送部12に渡す。画面伝送部12は、現画面上に存在する各差分領域を抽出し、抽出された差分領域の画像データを送信する際の優先度を決定する。画面伝送部12は、各差分領域の画像データを符号化し、符号化された画像データを優先度に従ってサーバ通信部14を介して画面受信クライアント3へ送信する。
このような機能を有する画面伝送部12は、画面データ記憶部121と、差分領域抽出部122と、優先度決定部123と、送信画面データ記憶部124と、符号化部125とを備える。
画面データ記憶部121には、画面データ取得部11によって現画面の画面データが書き込まれる。また、画面データ記憶部121に対するデータの書き込みを許可するか否かを示す書き込み制御情報が、送信画面データ更新部13によって画面データ記憶部121に書き込まれる。画面データ取得部11は、書き込み制御情報が書き込み許可を示しているときに、画面生成部10から取得した現画面の画面データを画面データ記憶部121に書き込むことができる。
送信画面データ記憶部124には、送信画面データが格納される。送信画面データとは、画面送信サーバ1が画面受信クライアント3に対して送信したことになっている最新の画面データ(前画面の画面データ)である。即ち、送信画面データ記憶部124に記録されている画面データは、画面受信クライアント3が表示していると画面送信サーバ1が推定している画面のデータである。
差分領域抽出部122は、現画面の画面データと、前画面の画面データとに基づいて、前画面に対して画素値が変化した画素の塊(集合)が存在する現画面上の領域を差分領域として抽出する。現画面の画面データは、画面データ記憶部121に登録され、前画面の画面データは、送信画面データ記憶部124に登録されている。差分領域の形状は、矩形、円など任意の形状とすることができる。したがって、差分領域の形状を矩形とした場合には、例えば、左上、右下の頂点の座標値を差分領域情報とすることができる。差分領域抽出部122は、抽出された各差分領域を示す差分領域情報を出力する。
差分領域の形状が矩形である場合、図2A〜2Cに示されるように、現画面(図2A)、前画面(図2B)の二つの画面データが比較され、前画面に対して画素値が変化している画素の塊を包含した現画面上の矩形領域、即ち絵として異なっている画像データを包含する矩形領域が差分領域(図2C)となる。
図2Aに示される画面データ41および図2Bに示される画面データ44の二つの画面データを比較すると、画面データ41内の太陽を示す絵42と画面データ44内の雲を示す絵45とが異なっている。また、画面データ41内の家の窓を示す絵43と画面データ44内の家の窓を示す絵46とが絵として異なっている。したがって、差分領域47(絵42および絵45を内包する矩形領域)と差分領域48(絵43および絵46を内包する矩形領域)とが画面データ44の画面データ41に対する差分領域となる。
優先度決定部123は、差分領域抽出部122から渡された各差分領域情報によって示される差分領域の画素データを画面データ記憶部121から取り込む。優先度決定部123は、入力した画素データに基づいて、各差分領域の変化情報密度を計算する。変化情報密度は、例えば、
変化情報密度=変化量合計値÷差分領域の面積の2乗
により算出される。優先度決定部123は、この変化情報密度に基づいて優先度を決定する。その後、優先度決定部123は、差分領域毎に、算出された変化情報密度と、差分領域情報と、画素データとを組にした差分画面データをリスト化し、図3に示されるような差分画面データリストを生成する。差分画面データリストは、符号化部125に出力される。
変化情報密度とは、差分領域における画素値の変化の度合い、即ち差分領域内の画像データの絵としての変化の大きさを表す値である。変化情報密度は、例えば、差分領域の面積が大きい程小さくなり、差分領域内の各画素の画素値の前画面からの変化量の合計値が大きい程大きくなるような値を用いることができる。なお、本実施の形態では、変化情報密度そのものを、差分領域の画素データ(画像データ)を送信する際の優先度にしている。
符号化部125は、優先度決定部123から差分画面データリストが渡されると、画面符号データリストを生成する。画面符号データリストは、図4に示されるように、差分領域情報と符合データとを備える画面符号データを含む。画面符号データリストに含まれている各画面符号データは、それぞれ差分画面データリスト中の差分画面データと1対1に対応するものである。符号データは、対応する差分画面データ中の画素データをJPEG等の画像符号化方式を用いて符号化して得られる。差分領域情報は、対応する差分画面データ中の差分領域情報と同じものである。
符号化部125は、画面符号データリストを生成すると、画面符号データリストに含まれている各画面符号データを優先度に基づいて順にサーバ通信部14に渡す。即ち、符号化部125は、優先度を示す差分画面データ中の変化情報密度が大きいものから優先的に画面符号データをサーバ通信部14内の送信バッファ141に書き込む。画面符号データリスト中の全ての画面符号データを送信バッファ141に書き込んで書き込み処理を終了する。或いは、サーバ通信部14から書き込み不可通知を受けると書き込み処理を終了する。符号化部125は、書き込み処理を終了すると、送信バッファ141に書き込んだ差分領域情報を送信画面データ更新部13に渡す。即ち、画面受信クライアント3に対して画面符号データを送信した差分領域(送信済み差分領域という場合もある)を示す差分領域情報を送信画面データ更新部13に渡す。
サーバ通信部14は、画面受信クライアント3へ送信する画面符号データを一時的に保持する送信バッファ141を備える。サーバ通信部14は、送信バッファ141に書き込まれた画面符号データを書き込まれた順番で画面受信クライアント3へ送信する。送信バッファ141に空き容量がなくなると、サーバ通信部14は、符号化部125に対して書き込み不可通知を発行する。なお、サーバ通信部14と符号化部125とは、優先度決定部123において算出された優先度に基づいて差分領域の画面符号データを送信する通信手段を形成する。即ち、サーバ通信部14と符号化部125とは、変化情報密度が大きい差分領域の画面符号データを優先的に送信する通信手段である。
送信済みの差分領域を示す差分領域情報を符号化部125から受け取ると、送信画面データ更新部13は、この差分領域情報に基づいて画面データ記憶部121から送信済み差分領域の画素データを取り出す。更に、送信画面データ更新部13は、差分領域情報によって特定される送信画面データ記憶部124中の画素データを、画面データ記憶部121から取り出した送信済み差分領域の画素データで置き換える。また、送信画面データ更新部13は、上記の置き換え処理が終了すると、書き込み許可を示す書き込み制御情報を画面データ記憶部121に書き込む。即ち、送信画面データ更新部13は、画面データ記憶部121を、符号化部125から差分領域情報を受け取ると書き込み禁止状態に、置き換え処理が終了すると書き込み許可状態にする。
次に、画面受信クライアント3の構成について説明する。
画面受信クライアント3は、画面送信サーバ1と通信するイーサネット等のクライアント通信部33と、ディスプレイ等の画像データ表示装置である画面出力部31と、画面作成部32とを備える。
画面作成部32は、画面送信サーバ1から送られてきた画面符号データに基づいて、画面出力部31に対して出力する画面データを生成する。このような機能を有する画面作成部32は、復号化部323と、差分領域更新部322と、表示画面データ記憶部321とを備えている。
復号化部323は、画面送信サーバ1から送られてきた画面符号データ(図4参照)内の符号データをJPEG等の画像符号化方式を用いて復号化する。復号化より生成された画素データと画面符号データ中の差分領域情報とを備える受信側差分画面データは、差分領域更新部322に送られる。
差分領域更新部322は、復号化部323から渡された受信側差分画面データ中の差分領域情報によって、表示画面データ記憶部321に格納されている画素データの内の領域を特定する。差分領域更新部322は、特定された領域内の画素データを受信側差分画面データに含まれる画素データと入れ替える。
表示画面データ記憶部321は、画面出力部31に対して出力する画面データを格納している。
図5は、本実施の形態に係る画面伝送システムのハードウェア構成例を示すブロック図である。画面伝送システムは、画面送信サーバ1を実現するパーソナルコンピュータ501と、画面受信クライアント3を実現するパーソナルコンピュータ503とを備える。両者はインターネット502を介して相互に接続されている。
画面送信サーバ1を実現するパーソナルコンピュータ501は、中央演算装置およびメモリを備える。メモリには中央演算装置を画面生成部10、画面データ取得部11、画面伝送部12、送信画面データ更新部13として機能させるためのオペレーティングシステムやアプリケーションプログラムといったプログラムが記録されている。更に、パーソナルコンピュータ501は、サーバ通信部14として機能するイーサネットや、画面データ記憶部121および送信画面データ記憶部124として機能するRAM(Random Access Memory)を備えている。
一方、画面受信クライアント3として機能するパーソナルコンピュータ503は、中央演算装置およびメモリを備える。メモリには中央演算装置を差分領域更新部322および復号化部323として機能させるためのオペレーティングシステムやアプリケーションプログラムといったプログラムが記録されている。更に、パーソナルコンピュータ503は、画面出力部31として機能するディスプレイ装置と、クライアント通信部33として機能するイーサネットと、表示画面データ記憶部321として機能するVRAM(Video Random Access Memory)を有するグラフィックボードとを備えている。
次に、本実施の形態の動作について詳細に説明する。
先ず、図6に示される流れ図を参照して、本実施の形態に係る画面伝送システムの動作概要を説明する。
画面生成部10は、画面データを生成すると、それを画面データ取得部11に渡す(ステップS100)。
画面データ取得部11は、画面データを取得すると、画面伝送部12の画面データ記憶部121に書き込む(ステップS200)。このとき、画面データ取得部11は、画面データ記憶部121に格納されている書き込み制御情報に基づいて書き込みが許可されているか否かを判定し、書き込みが許可されていれば、画面データを画面データ記憶部121に書き込む。書き込みが許可されていない場合は、書き込みが許可されるのを待って画面データを画面データ記憶部121に書き込む。即ち、現画面の画面データは、画面データ記憶部121に格納される。
画面伝送部12は、画面データ記憶部121に書き込まれた現画面の画面データと、送信画面データ記憶部124に保持される送信画面の画面データとに基づいて差分領域を抽出し、差分画面データリスト(図3参照)を生成し、さらに、画面符号データリスト(画面符号データの集合:図4参照)を生成する。画面伝送部12は、変化情報密度に基づいて画面符号データリスト中の画面符号データに優先度を付与し、優先度が大きいものから優先的に画面符号データをサーバ通信部14へ送る(ステップS300)。なお、ステップS300の詳細については、後述する。
サーバ通信部14は、画面伝送部12から受け取った画面符号データを順に送信バッファ141に書き込み、書き込んだ順番でネットワーク2を介して画面受信クライアント3に送出する。また、サーバ通信部14は、送信バッファ141に空き容量がなくなった場合は、画面伝送部12に対して書き込み不可通知を発行する(ステップS500)。
画面伝送部12は、生成された画面符号データを全てサーバ通信部14に送り終えるか、或いは、サーバ通信部14から書き込み不可通知を受けると、送信済みの差分領域情報を送信画面データ更新部13に対して渡す。送信画面データ更新部13は、画面伝送部12から送られてきた送信済みの差分領域を示す差分領域情報に基づいて、送信画面データを更新する(ステップS700)。なお、送信画面データの更新動作の詳細は、後述する。
ステップS500においてサーバ通信部14から送出された画面符号データは、ネットワーク2を介して画面受信クライアント3へ送信される。画面受信クライアント3内のクライアント通信部33は、受信した画面符号データを画面作成部32に渡す(ステップS810)。
画面作成部32は、取得した画面符号データに基づいて復号化して画面データを生成し、画面出力部31に渡す(ステップS830)。画面生成部32の詳細動作は、後述する。
画面出力部31は、画面作成部32が生成した画面データを表示する(ステップS880)。
次に、図7を参照して、画面データ生成部10によって生成された画面データを画面データ記憶部121に格納するときの動作を詳細に説明する。画面データ取得部11は、画面データを取得すると(ステップS120)、画面データ記憶部121から書き込み制御情報を読み出して、書き込み可能か否か確認する。書き込み制御情報が書き込み禁止状態を示しているとき(ステップS211)、画面データ取得部11は、書き込み可能になるまで待つ。書き込み制御情報が書き込み可能状態を示すと(ステップS212)、取得した画面データを画面データ記憶部121に書き込む(ステップS230)。画面データを書き込み終わると、画面伝送部12(差分領域抽出部122)へ書き込み終了を通知する(ステップS240)。画面伝送部12(差分領域抽出部122)は、書き込み禁止を示す書き込み制御情報を画面データ記憶部121に書き込み(ステップS250)、画面データ記憶部121を書き込み禁止状態にする(ステップS290)。
次に、図8を参照して、画面伝送部12の動作を詳細に説明する。
画面データが画面データ記憶部121に書き込まれると、差分領域抽出部122は、画面データ記憶部121に格納されている現画面の画面データと送信画面データ記憶部124に格納されている前画面の画面データとを比較し、差分領域の抽出処理を行う。差分領域を抽出できた場合は、抽出した差分領域毎の差分領域情報を生成する(ステップS310)。現画面と前画面に差がなければ、差分領域抽出部122は、画面データ記憶部121に書き込み許可を示す書き込み制御情報を書き込み、次の画面データ書き込みを待つ(ステップS331)。
差分領域情報が生成されると、優先度決定部123は、各差分領域情報によって特定される各差分領域の画素データを画面データ記憶部121から取得し、取得した画素データに基づいて各差分領域の変化情報密度を計算する。その後、優先度決定部123は、差分領域毎に、差分領域情報、画素データおよび変化情報密度を含む差分画面データをリスト化した差分画面データリスト(図3参照)を生成し、符号化部125に渡す(ステップS330)。
符号化部125は、差分画面データリストを受け取ると、差分画面データ中の画素データを符号化する。即ち、先ず、符号化部125は、差分画面データリスト中の差分画面データの内の1つに注目し、注目した差分画面データ中の画素データをJPEG等の画像符号化方式を用いて符号化する。次いで、符号化部125は、符号化により生成した符号データと、注目した差分画面データ中の差分領域情報とを含む画面符号データを生成し、生成した画面符号データを画面符号データリストに追加する。以上の処理を未注目の差分画面データがなくなるまで繰り返し行うことにより、図4に示されるように、画面符号データリストが生成される(ステップS340)。
その後、符号化部125は、画面符号データリストに含まれている各画面符号データを、変化情報密度が大きいものから優先的にサーバ通信部14に送り、送信バッファ141に書き込む(ステップS510)。この書き込み動作は、画面符号データリスト中の全ての画面符号データの書き込みが完了するか、或いは、サーバ通信部14から書き込み不可通知が発行されるまで行われる。
サーバ通信部14は、送信バッファ141に書き込まれた画面符号データを、書き込まれた順番で画面受信クライアント3へ送信する(ステップS570)。また、送信バッファ141に空き容量がなくなった場合、サーバ通信部14は、符号化部125に対して書き込み不可通知を発行する(ステップS580)。
狭帯域環境においては、画面符号データリスト中の画面符号データを送信バッファ141に書き込んでいる最中にサーバ通信部14から書き込み不可通知が発行される可能性が高い。その場合、画面符号データリスト中の一部の画面符号データしか画面受信クライアント3へ送信できないことになる。そこで、本実施の形態では、画素値の変化の度合いを示す変化情報密度が大きい差分領域に対応する画面符号データが優先的に送信バッファ141に書き込まれ、書き込みの順番で画面受信クライアント3に送信される。一般的に、ユーザによって操作されたアイコン等の画面上でユーザに認識して欲しい部分は、色の変化の度合いが大きくなるように工夫されている。従って、上記したように、画素の変化の度合いを示す変化情報密度が大きな差分領域に対応する画面符号データから優先的に送信することにより、狭帯域環境であってもユーザに認識して欲しい情報は遅滞なく確実に画面受信クライアント3へ送信されることになる。
符号化部125は、画面符号データリスト中の全ての画面符号データを送信バッファ141に書き込み終わるか、或いは書き込み不可通知を受信すると、送信画面データ更新部13に対して送信済みの差分領域情報を渡す(ステップS710)。
送信画面データ更新部13は、送信済みの差分領域情報を受け取ると、この差分領域情報に基づいて送信済みの差分領域の画素データを画面データ記憶部121から取り出す。そして、送信画面データ更新部13は、取り出した画素データによって、送信画面データ記憶部124に格納されている送信画面データのうちの差分領域情報によって特定される画素データを置き換える(ステップS720)。その後、送信画面データ更新部13は、書き込み許可を示す書き込み制御情報を画面データ記憶部121に書き込む(ステップS770)。
次に、図9を参照して、画面受信クライアント3の画面データ生成処理について詳しく説明する。
クライアント通信部33は、画面送信サーバ1から送られてきた画面符号データを受信し、画面作成部32に渡す(ステップS810)。画面作成部32内の復号化部323は、画面符号データ中の符号データをJPEG等の画像符号化方式を用いて復号化する。復号化して得られた画素データと、画面符号データ中の差分領域情報とは、受信側差分画面データとして、差分領域更新部322に渡される(ステップS832)。
差分領域更新部322は、復号化部323から受け取った受信側差分画面データに基づいて、差分領域の画素データを更新する。即ち、差分領域更新部322は、表示画面データ記憶部321に格納されている画素データの内、差分領域情報によって特定される領域内の画素データを復号化して得られた画素データと入れ替える(ステップS834、S836)。
表示画面データが更新されると、画面出力部31は、表示画面データ記憶部321に記録されている画面データを表示する(ステップS880)。以上の処理は、画面送信サーバ1から画面符号データが送られてくる毎に実行される。
このように、画面送信サーバ1で生成された画面データは、画面受信クライアント3に送信され、画面データが更新される。本発明では、予め定められた基準に従って差分領域に優先度を付与し、優先度の高いものから順に送信するため、通信帯域の制限によって送受信されない差分領域は、優先度の低い差分領域に限定される。したがって、画面受信クライアント3側の画面の更新に与える影響を最小限に抑えることができる。
また、本実施の形態では、優先度決定部123は、差分領域毎に変化情報密度=(変化量合計値)÷(差分領域の面積の2乗)なる演算を行って、各差分領域の画素値の変化の度合いを示す変化情報密度を求める。そして、変化情報密度の大きい差分領域から優先的に画面符号データを送信するようにしている。そのため、面積が小さくとも画素値の変化の度合いが大きい差分領域の画面符号データを優先的に送信することが可能になる。例えば、2種類の差分領域が1画面内にあったとする。一方は、面積は広いが画素値の変化の度合いが少ない差分領域(動画の背景の変化部分など)であり、他方は、面積は小さいが画素値の変化の度合いが大きい差分領域(ユーザが操作したデスクトップ上のアイコンなど)であったとする。この場合、ユーザが変化することを期待しているアイコンに対応する差分領域の画面符号データが優先的に送信される。したがって、アイコンの表示状態を迅速に変化させることができるので、ユーザに違和感を与えることがなくなる。
次に、本実施の形態の具体例について説明する。
先ず、画面送信サーバ1が画面受信クライアント3に対して最初の画面データを送信する場合の動作について説明する。画面送信サーバ1と画面受信クライアント3とは、HTTPのKeep−Aliveモードを用いて画面符号データを送受信する。
画面送信サーバ1は、画面受信クライアント3からHTTP接続要求を受信すると、前画面データをクリアする。即ち、送信画面データ記憶部124に格納されている全ての画素データの画素値は0に設定される。従って、HTTP接続要求を受信後に、画面生成部10において最初に生成された画面データ(初期画面データという場合もある)では、画面送信サーバ1は、画面全体を差分領域として抽出する。
即ち、送信画面データ記憶部124に格納されている画面データを構成する全ての画素データの画素値が0になっているので、差分領域抽出部122は、画面全体を差分領域として抽出することになる。この結果、画面受信クライアント3へは画面データ記憶部121に格納されている初期画面データ全体を符号化した符号データが送信される。したがって、送信画面データ更新部13によって、送信画面データ記憶部124には初期画面データが格納される。但し、符号化部125は、初期画面データに対応する画面符号データを送信バッファ141に書き込んでいる最中に、サーバ通信部14から書き込み不可通知が発行された場合は、所定時間(送信バッファ141に十分な空きができる時間)が経過した後、画面符号データの書き込み処理を再度実行する。符号化部125は、画面符号データの書き込みに成功するまで、上記した処理を繰り返し行い、書き込みに成功すると、送信済みの差分領域情報を送信画面データ更新部13に渡す。
次に、差分領域抽出部122および優先度決定部123の動作を図10〜図13を参照して説明する。なお、ここでは、画面データは画面内の画素毎の画素データを含み、各画素データは画素の位置を示す座標値と色成分毎の強度を示す画素値とを備えるとして説明する。また、画素値はRGB表記を用いて表す。より具体的には、R、G、B成分をそれぞれ8ビットで表し、最上位ビット側にR成分を、最下位ビット側にB成分を、中間にG成分を配置した24ビット構成のデータを用いる。例えば、R=8、G=50、B=170の場合、画素値は、8×65536+50×256+170=537258となる。
本具体例における差分領域抽出部122は、次のように差分領域情報を生成する。
現画面の画面データは、画面データ記憶部121に格納され、前画面の画面データは、送信画面データ記憶部124に格納されている。先ず、差分領域抽出部122は、現画面の画面データと前画面の画面データとを比較し、画素値の変化量(差分量)が一定値(最小差分量)以上の画素データを現画面の画面データから抽出する。その後、差分領域抽出部122は、互いの画面上の距離が一定値(最小画素間距離)以下である抽出画素データどうしを結ぶ線分によってつながる複数の抽出画素データの集合を覆う矩形領域を差分領域とする。そして、差分領域抽出部122は、各差分領域を特定する差分領域情報として、矩形領域の左上、右下の頂点の座標値を含む差分領域情報を生成する。
前画面の画面データは、図10に示されるように、送信画面データ記憶部124に格納され、現画面の画面データは、図11に示されるように、画面データ記憶部121に格納されている。なお、最小差分量は50、最小画素間距離は1に設定されているとする。
図10、図11に示されるように、画面データは、縦、横それぞれ6個の計36個の画素データから構成されている。また、画面データの座標系は、左上の画素データが原点、水平軸がx軸(右方向がxが増加する方向)、垂直軸がy軸(下方向がyが増加する方向)となっている。また、各マス目内に記した数値は、画素値を表している。例えば、図10において、縦縞を施して示される画素データは、座標値が(2,0)で、画素値が72である。
差分領域抽出部122は、前画面の画面データと現画面の画面データとを比較し、差分量が最小差分量の50以上となる現画面上の画素データを抽出する。この処理により、図11に斜線を施して示される抽出画素データが抽出される。
次に、差分領域抽出部122は、互いの距離が最小画素間距離の1以下である抽出画素データどうしを結ぶ線分によってつながる抽出画素データの集合を覆う最小の矩形領域を差分領域(図12に斜線により示される部分)とする。そして、差分領域抽出部122は、矩形領域(差分領域)毎の差分領域情報として、図13に示されるように、2つの差分領域情報408、409を生成する。差分領域情報408は、差分領域の左上、右下の頂点の座標値がそれぞれ(3,1)、(4,2)であることを示し、差分領域情報409は、差分領域に左上、右下の座標値がそれぞれ(1,4)、(3,4)であることを示している。
次に、図14A〜14Cを参照して、優先度決定部123の動作を説明する。
図14Aに示されるように、画面データ403が送信画面データ記憶部124および表示画面データ記憶部321に格納されている。この画面データ403には、動画を再生するための動画再生領域402が設けられている。
画面受信クライアント3を利用するユーザが、図14Aに示される画面データ403を表示する画面上のファイルを示すアイコン401をマウス操作によって選択する。また、動画再生領域402上に表示される映像が変化する。その結果、図14Bに示されるように、画面データ404が生成され、画面データ取得部11によって画面データ記憶部121に格納される。この例では、アイコン401の全体の色が濃くなり、動画再生領域402の右上の「NEWS」という文字列が「WEATHER」に変化している。
画面データ404が画面データ記憶部121に書き込まれると、差分領域抽出部122は、送信画面データ記憶部124、画面データ記憶部121からそれぞれ図14A、図14Bに示される画面データ403、404を取得する。そして、差分領域抽出部122は、図14Cに示されるように、差分領域405、406を特定する差分領域情報を生成する。
優先度決定部123は、差分領域情報によって特定される各差分領域405、406の変化情報密度を算出する。優先度決定部123は、変化情報密度を
変化情報密度=(変化量合計値)÷(差分領域の面積の2乗) … (1)
により算出する。変化情報密度は、差分領域の面積が大きい程小さくなり、差分領域内の各画素の画素値変化量の合計値(変化量合計値)が大きい程大きくなる。
図14Cに示されるように、差分領域405では、文字列を構成する画素データの画素値が変化し、差分領域406では、領域内の全ての画素データの画素値が変化している。また、差分領域406の方が差分領域405よりも面積が小さい。このため、変化情報密度は差分領域406の方が大きくなる。したがって、差分領域406に付与される優先度は、差分領域405に付与される優先度より高くなる。
符号化部125は、ユーザによって操作されたアイコン401に対応する差分領域406の画面符号データを、動画中の文字列に対応する差分領域405の画面符号データよりも優先的に送信バッファ141に書き込む。したがって、狭帯域環境であっても動画中の差分領域405の画面符号データの伝送によって、ユーザ操作に関連する差分領域406の画面符号データの伝送が滞ることがなくなる。
次に、図15A〜15Dを参照して送信画面データ更新部13の動作を説明する。
差分領域406の画面符号データが送信されると、符号化部125は、送信済みの差分領域を示す差分領域情報を送信画面データ更新部13に渡す。即ち、符号化部125から送信画面データ更新部13に対して、図15Aに示されるように、送信済み差分領域406を示す差分領域情報が送られる。
送信画面データ更新部13は、差分領域406を示す差分領域情報を受信すると、図15Bに示されるように、画面データ記憶部121に格納されている現画面の画像データ404から、差分領域情報によって示される領域内のアイコン401を示す画素データを取得する。その後、送信画面データ更新部13は、図15Cに示されるように、送信画面データ記憶部124に格納されている画面データ403上の、差分領域情報によって示される領域の画素データを、画面データ記憶部121から取得した画素データ401で置き換える。これにより、図15Dに示されるように、送信画面データ記憶部124中の画面データは、画面データ403から画面データ407へと変化する。
次に、図16〜図18を参照して、画面受信クライアント3の動作を説明する。
図16に示されるように、画面データが表示画面データ記憶部321に格納されている。この状態において、復号化部323は、画面送信サーバ1から送られてきた画面符号データを復号化し、図17に示されるように、受信側差分画面データ410、412を生成する。復号化部323は、受信側差分画面データ410、412を差分領域更新部322へ送る。
差分領域更新部322は、復号化部323によって生成された受信側差分画面データ410、412を用いて表示画面データ記憶部321に格納されている画面データを更新する。即ち、差分領域更新部322は、受信側差分画面データ410中の座標値(3,1)、(4、2)によって示される領域内の画素データを画面データ記憶部121から検索し、検索した画素データを受信側差分画面データ410中の画素データ411で置き換える。また、差分領域更新部322は、受信側差分画面データ412についても同様の処理を行う。
この処理により、表示画面データ記憶部321に格納されている画面データは、図18に示されるようになる。なお、一部分しか送られて来なかった画面符号データは破棄される。
上述の処理は、図19A〜19Cを参照して、以下のように説明される。
図19Bに示されるように、画面データが表示画面データ記憶部321に格納されている。このとき、図19Aに示されるように、アイコン401を示す画素データと、ファイル401に対応する差分領域406の差分領域情報とを含む画面符号データが画面送信サーバ1から送られてきたとする。復号化部323は、画面符号データを復号化して差分領域更新部322に渡す。
差分領域更新部322は、図19Bに示されるように、差分領域情報によって特定される画面データ403内の画素データを、アイコン401の画素データと入れ替える。これにより、表示画面データ記憶部321中の画面データは、図19Cに示されるように、画面データ414に変更される。画面データ414は、画面出力部31により表示装置に表示される。
〔本発明の第2の実施の形態〕
次に、本発明の第2の実施の形態について詳細に説明する。第1の実施の形態では、変化情報密度が大きい差分領域から優先的に画像データを送信する例が説明された。狭帯域環境において画面変化が多くなると、変化情報密度が小さい差分領域の画像データが画面受信クライアント3へほとんど送信されない事態が発生するおそれがある。そこで、本実施の形態では、過去の送信履歴を考慮して優先度を決定する。ここでは、送信履歴に応じた重みで重み付けした変化情報密度(重み付き変化情報密度)を優先度として用い、差分領域の画像データを送信する。
図20は、本実施の形態に係る画面伝送システムの構成例を示すブロック図である。図1に示される第1の実施の形態との相違は、画面送信サーバ1の代わりに画面送信サーバ5を備えている点である。
画面送信サーバ5は、画面送信サーバ1と比較して、画面伝送部12の代わりに画面伝送部51を備えている点、重み生成部52および送信履歴記憶部53が追加されている点が相違している。画面伝送部51は、画面伝送部21と比較して、優先度決定部123、符号化部125の代わりにそれぞれ優先度決定部54、符号化部55を備えている点が相違している。
送信履歴記憶部53には、画面を複数のブロックに分割した際の各ブロックの送信履歴が格納されている。送信履歴としては、例えば、最新の送信時刻や送信頻度を用いることができる。
優先度決定部54は、差分領域抽出部122が抽出した各差分領域について、第1の実施の形態と同じように変化情報密度を計算し、重み生成部52から取得する重みに基づいて各差分領域の重み付き変化情報密度を生成する。その後、差分領域毎に、差分領域情報、画素データおよび重み付き変化情報密度の組である差分画面データをリスト化して差分画面データリストを生成する。優先度決定部54は、生成された差分画面データリストを符号化部55に渡す。この差分画面データリストは、図3に示される差分画面データリストとほぼ同じであるが、変化情報密度の代わりに重み付き変化情報密度を含んでいる。
重み生成部52は、差分領域の変化情報密度に重み付けする重みを送信履歴記憶部53に格納されている各ブロックの送信履歴に基づいて生成する。重み生成部52は、生成した重みを優先度決定部54に送る。重みは、例えば、最新の送信時刻から現時点までの時間や、送信頻度などに基づいて設定される。即ち、頻繁に送信される差分領域の重みは軽く、重み付き変化情報密度が小さくなるように算出され、あまり送信されない差分領域の重みは重く、重み付き変化情報密度が大きくなるように算出される。また、重み生成部52は、符号化部55から渡される差分領域情報に基づいて、送信履歴記憶部53に格納される送信履歴を更新する。例えば、重みが最新の送信時刻の履歴に基づいて算出される場合には、差分領域情報によって示される差分領域で覆われる各ブロックの最新の送信時刻が現在時刻に更新される。また、重みが送信頻度の履歴に基づいて算出される場合には、該当するブロックの送信頻度がインクリメントされる。
符号化部55は、優先度決定部54から差分画面データリストが渡されると、第1の実施の形態と同様に、図4に示されるように、画面符号データリストを生成する。符号化部55は、画面符号データリスト中の画面符号データを重み付き変化情報密度が大きいものから優先的にサーバ通信部14内の送信バッファ141に書き込む。また、符号化部55は、送信済みの差分領域を示す差分領域情報を送信画面データ更新部13および重み生成部52に渡す。
画面送信サーバ5は、第1の実施の形態の画面送信サーバ1と同じように、コンピュータにより実現可能である。コンピュータによって実現する場合、例えば、コンピュータを画面送信サーバ5として機能させるためのプログラムを記録したディスク、半導体メモリを用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、画面データ取得部11、差分領域抽出部122、重み生成部52、優先度決定部54、符号化部55、および送信画面データ更新部13を実現する。なお、画面受信クライアント3は、第1の実施の形態と同じであるので、説明は省略される。
次に、図21を参照して本実施の形態の動作について詳細に説明する。なお、ここでは、第1の実施の形態との相違点について説明する。
画面生成部10が現画面の画面データを生成すると、第1の実施の形態と同じように、現画面の画面データは、画面データ記憶部121に格納される(図7参照)。差分領域抽出部122は、現画面上に存在する各差分領域の差分領域情報を生成する。生成された各差分領域情報は優先度決定部54に渡される(ステップS310)。
優先度決定部54は、重み生成部52に各差分領域情報を渡し、各差分領域の変化情報密度に対する重みを要求する。重み生成部52は、送信履歴記憶部53に格納されている各ブロックの送信履歴の内の差分領域情報によって特定される差分領域によって覆われているブロックの送信履歴に基づいて、差分領域の変化情報密度に対する重みを算出する。算出された重みは、優先度決定部54に送られる(ステップS410)。
優先度決定部54は、各差分領域の変化情報密度に対する重みを受け取ると、第1の実施の形態と同様の方法で算出された各差分領域の変化情報密度に対応する重みで重み付けし、差分領域毎の重み付き変化情報密度を生成する。その後、優先度決定部54は、差分領域毎に差分領域情報、画素データおよび重み付き変化情報密度を含む差分画面データをリスト化した差分画面データリストを生成し、符号化部55に渡す(ステップS331)。
符号化部55は、差分画面データリストが渡されると、図4に示されるような画面符号データリストを生成する(ステップS340)。その後、符号化部55は、画面符号データリストに載っている各画面符号データを、重み付き変化情報密度が大きいものから優先的にサーバ通信部14に送り、送信バッファ141に書き込む(ステップS510)。
サーバ通信部14は、送信バッファ141に書き込まれた画面符号データを書き込まれた順番で画面受信クライアント3へ送信する(ステップS570)。送信バッファ141が満杯になった場合、サーバ通信部14は、画面伝送部51に対して書き込み不可通知を発行する(ステップS580)。
符号化部55は、画面符号データリスト中の全ての画面符号データを送信バッファ141に書き込み終えたか、サーバ通信部14から書き込み不可通知を受信した場合、送信済みの差分領域を示す差分領域情報を重み生成部52および送信画面データ更新部13に送る(ステップS711)。
送信画面データ更新部13は、符号化部55から送信済みの差分領域情報を受け取ると、第1の実施の形態と同じように、送信画面データ記憶部124に格納される送信画面データを更新する(ステップS720)。その後、送信画面データ更新部13は、画面データ記憶部121に書き込み許可を示す書き込み制御情報を書き込む(ステップS770)。
一方、重み生成部52は、符号化部55から送信済みの差分領域情報を受け取ると、送信履歴記憶部53に格納されている各ブロックの送信履歴の内の差分領域情報で示される差分領域で覆われるブロックの送信履歴を更新する(ステップS730)。
その他の動作は第1の実施の形態と同じであるので、説明を省略する。
本実施の形態では、複数のブロックに分割された画面の各ブロックの送信履歴を、重み生成部52が送信履歴記憶部53を用いて管理する。優先度決定部54は、差分領域が覆うブロックの送信履歴に基づいて算出された重みによって重み付けされた各差分領域の変化情報密度を優先度とする。符号化部55は、重み付けされた変化情報密度が大きい差分領域の画面符号データを優先的に送信する。したがって、例えば、動画の背景部分のように画素値の変化の度合いが小さい差分領域の画面符号データが全く送信されないという事態が発生することがなくなる。
次に、具体例を挙げて第2の実施の形態について説明する。
先ず、送信履歴記憶部53について説明する。なお、以下の説明では、画面生成部10が生成する画面データのサイズは縦×横=6画素×6画素であり、差分領域の形状は、矩形であるとする。
ここでは、画面データ415は、図22Aに示されるように、縦×横=2画素×2画素のブロックA〜Iに分割され、各ブロックA〜Iの最新の送信時刻が送信履歴として送信履歴記憶部53に記録される。図22Bは、送信履歴記憶部53に格納される送信履歴の構成例を示している。各ブロックA〜Iのブロック名A〜Iに対応付けて最新の送信時刻が格納される。
次に、重み生成部52が行う送信履歴の更新動作(ステップS720)について、図23A、23Bおよび図24A、24Bを参照して説明する。
図23Aに示されるように、重み生成部52は、符号化部55から差分領域417、418の差分領域情報を2007年3月21日13時2分5秒に受け取ったとする。差分領域417はブロックA、B、D、Eに含まれ、差分領域418はブロックGに含まれる。そのため、符号化部55は、送信履歴記憶部53に格納されている送信履歴を図23Bに示されるように更新する。図23Bに示されるように、送信履歴419では、ブロックA、B、D、E、Gの最新送信時刻が2007年3月21日13時2分5秒を表す「2007/03/21 13:02:05」となる。
その後、重み生成部52は、2007年3月21日13時2分30秒に、図24Aに示されるように、差分領域420の差分領域情報を符号化部55から受け取る。差分領域420は、ブロックB、C、E、F、H、Iを含むため、符号化部55は、送信履歴記憶部53に格納されている送信履歴を図24Bに示されるように変更する。図24Bに示される送信履歴421においては、ブロックB、C、E、F、H、Iの最新送信時刻が2007年3月21日13時2分30秒を表す「2007/03/21 13:02:30」となる。
次に、重み生成処理、即ち、差分領域の変化情報密度に対する重みの算出(ステップS410)について図25A、25Bを参照して説明する。上述のように送信履歴が更新されたときに、優先度決定部54が、図25Aに示される差分領域422、423の変化情報密度に対する重みを要求したとする。このときの時刻は、2007年3月21日13時2分40秒とする。
重み生成部52は、差分領域情報が渡されると、差分領域422、423毎に、その差分領域の画素を最も多く含んでいるブロックを求める。その後、重み生成部52は、そのブロックの最新送信時刻を送信履歴記憶部53から取得し、差分領域の最新送信時刻とする。但し、差分領域の画素を最も多く含んでいるブロックが複数存在する場合には、重み生成部52は、それらのブロックの最新送信時刻を送信履歴記憶部53から取得し、その中で最も新しい最新送信時刻を差分領域の最新送信時刻とする。また、差分領域の画素を含んでいるブロックの最新送信時刻が送信履歴記憶部53に記録されていない場合は、この差分領域の最新送信時刻は「記録なし」とする。図25Aの場合、差分領域422、423の画素を最も多く含むブロックは、それぞれブロックA、Hである。重み生成部52は、ブロックA、Hの最新送信時刻「2007/03/21 13:02:05」、「2007/03/21 13:02:30」をそれぞれ差分領域422、423の最新送信時刻とする。
その後、重み生成部52は、差分領域422、423毎に、現在時刻と差分領域の最新送信時刻との差分、即ち経過時間を求める。重み生成部52は、この経過時間を差分領域422、423の変化情報密度に対する重みとする。但し、「記録なし」とされた差分領域については、重み生成部52は、重みとして取り得る最大数等の非常に大きな整数(例えば65535等)を重みとする。
差分領域422については、経過時間は、「2007/03/21 13:02:40」と「2007/03/21 13:02:05」との差分「35秒」となるので、重みは「35」となる。また、差分領域423については、経過時間は、「2007/03/21 13:02:40」と「2007/03/21 13:02:30」との差分「10秒」となるので、重みは「10」となる。
次に、差分画面データリスト生成処理(ステップS331)、画面符号データリスト生成及び送信処理(ステップS340、S510)について説明する。図25Aに示される差分領域422が画素値の変化の度合いが少ない領域、差分領域423が画素値の変化の度合いが大きい領域であるとする。
優先度決定部54は、重み生成部52から差分領域422、423の変化情報密度に対する重みw1、w2を受け取ると、次式(2)、(3)に示される演算を行い、差分領域422、423に対する重み付き変化情報密度h1、h2を算出する。
h1=(差分領域422の変化情報密度)×w1 … (2)
h2=(差分領域423の変化情報密度)×w2 … (3)
ここで、変化情報密度は、前述したように、差分領域の変化量合計値が大きい程大きくなり、差分領域の面積が小さい程大きくなる。画面送信サーバ5の動作開始直後は、差分領域422、423の最新送信時刻は大差なく、重みw1、w2も同じような値になる。したがって、画素値の変化の度合いが大きく、且つ面積が小さい差分領域423の画像データが優先的に送信される。このため、狭帯域環境では、差分領域422の画像データが画面受信クライアント3にほとんど送信されないという事態が発生することがある。このような事態になっても画面送信サーバ5を起動してから時間が経過すると、差分領域422の画像データが送信されないため、経過時間が長くなり重みw1は徐々に大きくなっていくが、重みw2は余り変化しない。このため、重み付き変化情報密度h1が重み付き変化情報密度h2よりも大きくなり、その結果、差分領域422の画像データが優先的に送信されることになる。
その他の動作は、第1の実施の形態と同じであるので、説明を省略する。
〔本発明の第3の実施の形態〕
次に、本発明の第3の実施の形態について詳細に説明する。本実施の形態は、ユーザが行った操作に応じた重みで重み付けを行った変化情報密度(重み付き変化情報密度)に基づいて、差分領域の画像データを送信する際の優先度が決定される。したがって、画面受信クライアントのユーザが行った操作と関連性の高い差分領域の画像データを優先的に送信できるようになる。
図26は、本実施の形態に係る画面伝送システムの構成例を示すブロック図である。図1に示される第1の実施の形態との相違は、画面送信サーバ1の代わりに画面送信サーバ6を備え、画面受信クライアント3の代わりに画面クライアント7を備えている点である。
画面送信サーバ6は、画面送信サーバ1と比較して、操作情報取得部62が追加されている点、優先度決定部123およびサーバ通信部14の代わりにそれぞれ優先度決定部63およびサーバ通信部64を備えている点が相違している。また、画面受信クライアント7は、画面受信クライアント3と比較して、操作情報入力部71が追加されている点およびクライアント通信部33の代わりにクライアント通信部72を備えている点が相違している。
操作情報入力部71は、マウスやキーボード等の入力装置(図示せず)から操作情報を取得し、取得した操作情報をクライアント通信部72に渡す。クライアント通信部72は、クライアント通信部33が備える機能に加え、操作情報入力部71から渡された操作情報を画面送信サーバ6内のサーバ通信部64宛に送信する機能を有する。
ここで、操作情報とは、画面受信クライアント7のユーザが、画面出力部31に表示されている画面データに対して行った操作内容を示す情報であり、例えば、カーソルの座標値、カーソルの移動速度、キーの操作頻度(単位時間当たりの操作回数)等の情報である。
サーバ通信部64は、サーバ通信部14が備える機能に加え、クライアント通信部72から送られてきた操作情報を操作情報取得部62に渡す機能を有する。なお、サーバ通信部64内の送信バッファ641は、図1に示される送信バッファ141と同様の機能を有する。
操作情報取得部62は、サーバ通信部64から渡された操作情報を保持し、優先度決定部63から要求があると、保持している操作情報を優先度決定部63に渡す。
優先度決定部63は、差分領域抽出部122が抽出した差分領域毎に変化情報密度を計算し、更に、計算された各差分領域の変化情報密度に、ユーザ操作との関連性を示す重みを用いて重み付けして重み付き変化情報密度を算出する。即ち、ユーザ操作との関連性を示す重みとは、操作情報取得部62から取得した操作情報と各差分領域固有の情報(例えば、重心の座標値や面積)とに応じた重みであり、ユーザが行った操作との関連性が高い差分領域ほど大きな値となる。その後、優先度決定部63は、差分領域毎に、差分領域情報、画素データおよび重み付き変化情報密度の組である差分画面データをリスト化し、差分画面データリストを生成する。生成された差分画面データリストは、符号化部125に送られる。このとき生成される差分画面データリストは、図3に示される差分画面データリストとほぼ同じであるが、変化情報密度の代わりに重み付き変化情報密度を含んでいる点が相違する。
ユーザが行った操作と関連性が高い差分領域ほど大きな値となる重みとしては、次のようなものを使用することができる。例えば、操作情報がカーソルの位置を示す座標値である場合は、カーソル位置と差分領域の重心位置との間の距離の逆数を重みとして使用することができる。また、操作情報がカーソルの移動速度を示す場合は、移動速度が閾値未満の場合は1となり、閾値以上の場合は差分領域の面積が小さくなるほど大きな値となる重みを使用することができる。また、操作情報がキーの操作頻度を示す場合は、操作頻度が閾値未満の場合は1となり、閾値以上の場合は差分領域の面積が小さいほど大きな値となる重みを使用することができる。
操作情報としてカーソルの座標値を用い、重みとしてカーソル位置と差分領域の重心位置との間の距離の逆数を用いた場合、ユーザの操作位置に近い差分領域のデータが優先的に送信される。そのため、例えば、ユーザがアイコンを操作した場合、アイコンの表示状態の変化を迅速にユーザに伝えることが可能になる。また、操作情報としてカーソルの移動速度を用い、移動速度が閾値未満であれば1となり、閾値以上であれば差分領域の面積が小さくなるほど大きな値となる重みを用いた場合、例えば、画面に描かれる線分の変化の仕方を滑らかなものとすることができる。ユーザがペイントソフトを用いて絵を描いている場合には、カーソルの移動速度が閾値以上となり、面積が小さい差分領域ほど重みが大きくなる。そのため、ユーザが新たに描いた線分が優先的に送信されることになり、その結果、ユーザが描いている線分の変化の仕方を滑らかなものとすることができる。また、操作情報としてキーの操作頻度を用い、操作頻度が閾値未満の場合は1となり、閾値以上の場合は差分領域の面積が小さいほど大きな値となる重みを用いた場合は、例えば、ユーザがキー入力した文字を迅速に表示することが可能になる。ユーザがキーを用いて文字を入力している場合には、キーの操作頻度が閾値以上となり、面積が小さい差分領域ほど重みが大きくなる。そのため、ユーザが新たに入力した文字が優先的に送信されることになり、その結果、ユーザがキー入力した文字を迅速に表示することが可能になる。
なお、本実施の形態の画面送信サーバ6、画面受信クライアント7も前述した実施の形態と同様に、コンピュータによって実現することができる。
次に、図27を参照して、本実施の形態の動作について詳細に説明する。なお、ここでは、第1の実施の形態との相違点について説明する。画面生成部10が生成した現画面の画面データが画面データ記憶部124に格納されるまでの動作は、図6に示される動作と同じであるため、説明を省略する。
差分領域抽出部122は、現画面上に存在する差分領域を抽出し、生成した各差分領域情報を優先度決定部63に渡す(ステップS310)。
優先度決定部63は、差分領域抽出部122から差分領域情報を受け取ると、その差分領域情報に基づいて、画面データ記憶部121から各差分領域の画素データを取得する。優先度決定部63は、その画素データに基づいて、各差分領域に対する変化情報密度を計算する。また、操作情報取得部62から操作情報を取得し、その操作情報と各差分領域の固有の情報(重心の座標値、面積など)とに基づいて、差分領域毎の重みを算出する。
更に、優先度決定部63は、算出した変化情報密度と重みとを乗算して、差分領域毎に重み付き変化情報密度を算出する。その後、図3に示すように、差分画面データリストを生成し、符号化部125に渡す(ステップS332)。符号化部125は、第2の実施の形態と同様に、画面符号データリストを生成し(ステップS340)、優先度である重み付き変化情報密度が大きい画面符号データから順に画面受信クライアント7へ送る(ステップS510)。
その他の動作は第1の実施の形態と同じであるので、説明を省略する。
上述のように、本実施の形態では、優先度決定部63は、画面受信クライアント7から送られる操作情報に基づいて、各差分領域の変化情報密度に対する重みを算出する。符号化部125は、重み付けされた変化情報密度が大きい差分領域から優先的に画像符号データを送信する。そのため、ユーザが行った操作と関連性が大きい差分領域の画像符号データが優先的に送信される。その結果、ユーザ操作に対する応答性を向上させることが可能になる。
次に、具体例を挙げて第3の実施の形態を説明する。なお、ここでは、操作情報としてマウスカーソルの位置を示す座標値が用いられる。
図28Aに示されるように、画面データ記憶部121に現画面の画面データ403が格納され、図28Bに示されるように、送信画面データ記憶部124に前画面の画面データ404が格納されている。差分領域抽出部122は、図28Cに示されるように、差分領域405、406を抽出し、その差分領域情報を優先度決定部63に送る(ステップS310)。
優先度決定部63は、差分領域405、406の差分領域情報を受け取ると、画面データ記憶部121から差分領域405、406の画素データを取得し、各差分領域405、406の変化情報密度を算出する。また、優先度決定部63は、操作情報取得部62から操作情報として、図28Aに示されるマウスカーソル424の座標値を取得したとする。
その後、優先度決定部63は、次式(4)、(5)に示される演算を行い、差分領域405、406の変化情報密度に対する重みw5、w6を算出する。
w5=1/(差分領域405の重心位置とマウスカーソル424との間の距離) … (4)
w6=1/(差分領域406の重心位置とマウスカーソル424との間の距離) … (5)
ここで、差分領域406の方が差分領域405よりも重心位置がマウスカーソル424に近いので、差分領域406の変化情報密度に対する重みw6の方が、差分領域405の変化情報密度に対する重みw5よりも大きなものとなる。
その後、優先度決定部63は、差分領域405、406毎に次式(6)、(7)に示す演算を行い、差分領域405、406に対する重み付き変化情報密度h5、h6を算出する。
h5=(差分領域405の変化情報密度)×w5 … (6)
h6=(差分領域406の変化情報密度)×w6 … (7)
その後、優先度決定部63は、差分領域405、406の差分画面データ、重み付き変化情報密度を含む差分画面データリストを生成し、符号化部125に送る。符号化部125は、差分画面データリストに基づいて画面符号データリストを生成し、重み付き変化情報密度が大きい画面符号データから優先的に画面受信クライアント7へ送信する。
その他の動作は、第1の実施の形態と同じであるので、説明を省略する。
以上の動作によって、動画再生中であっても、アイコン選択のようなユーザ操作による画面の変化が優先して画面受信クライアントに送信される。したがって、狭帯域環境であっても動画映像による差分画面データによって、ユーザの操作応答結果である画面の変化の伝達が滞ることなく、かつ、ユーザが操作の対象としている画面データ内の領域の変化を優先的に伝達することができる。即ち、ユーザ操作への応答性を向上させることができる。
〔本発明の第4の実施の形態〕
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。本実施の形態では、画面送信サーバの通信能力に応じたサイズの画面符号データが送信バッファに書き込まれる。そのため、古い画面符号データによって新たに生成された画面符号データの転送が妨げられない。
図29は、本発明の第4の実施の形態に係る画面伝送システムの構成例を示すブロック図である。図1に示される第1の実施の形態との相違は、画面送信サーバ1の代わりに画面送信サーバ8を備えている点である。
画面送信サーバ8は、画面送信サーバ1と比較して、画面伝送部12の代わりに画面伝送部81を備えている点、サーバ通信部14の代わりにサーバ通信部84を備えている点、および通信速度算出部82が追加されている点が相違している。画面伝送部81は、画面伝送部12と比較して、符号化部125の代わりに符号化部83を備えている点が相違している。
送信バッファ841を有するサーバ通信部84は、サーバ通信部14が備える機能に加え、通信記録情報を保持する機能を有する。通信記録情報としては、例えば、送信したデータのデータサイズ及び送信に要した時間(送信時間)を用いることができる。
通信速度算出部82は、サーバ通信部84が保持している通信記録情報に基づいて、サーバ通信部84の通信速度を算出する。通信記録情報として、サーバ通信部84が送信したデータのデータサイズと送信時間とが保持されていれば、通信速度は、
通信速度=(データサイズ)/(送信時間)
なる演算により算出することができる。
符号化部83は、画面符号データリスト中の画面符号データをサーバ通信部84内の送信バッファ841に書き込む際、書き込む画面符号データのデータサイズ(最大データサイズ)を決定する。そのデータサイズは、通信速度算出部82が算出した通信速度と、前回書き込みを行った時刻から現在時刻までの経過時間とに基づいて算出される。符号化部83は、決定された最大データサイズを超えない範囲内で、最大個数の画面符号データを変化情報密度が大きいものから優先的に送信バッファ841に書き込む。但し、サーバ通信部84から書き込み不可通知が発行された場合は、その時点で書き込み処理を終了する。
最大データサイズは、例えば、(通信速度)×(経過時間)なる演算を行うことにより算出する。また、図示を省略したが、符号化部83は、その内部に前回書き込みを行った時刻を保持する時刻保持部を備える。符号化部83は、画面符号データの書き込み時に、時刻保持部に保持されている前回書き込みを行った時刻から現在時刻までの経過時間を算出し、その時の現在時刻を時刻保持部に書き込む。
なお、本実施の形態の画面送信サーバ8も、画面送信サーバ1と同様に、コンピュータによって実現可能である。
次に、図30を参照して本実施の形態の動作について説明する。なお、ここでは、第1の実施の形態との相違点について説明する。
符号化部83は、優先度決定部123から差分画面データリスト(図3参照)を受け取ると、画面符号データリスト(図4参照)を生成する(ステップS340)。
その後、符号化部83は、時刻保持部に保持されている前回書き込みを行った時刻から現在時刻までの送信経過時間を計算する(ステップS460)。また、通信速度算出部82は、上述のように、サーバ通信部84が保持している通信記録情報に基づいて、サーバ通信部84の通信速度を算出している(ステップS450)。符号化部83は、通信速度算出部82から取得した通信速度と、算出された送信経過時間とを乗算し、送信バッファ841に書き込む画面符号データの最大データサイズを決定する(ステップS470)。
その後、符号化部83は、画面符号データリストに載っている画面符号データを、送信するときの優先度を示す変化情報密度が大きいものから優先的に送信バッファ841に書き込む。その際、符号化部83は、決定された最大データサイズを超えない範囲で、最大個数の画面符号データを送信バッファ841に書き込む(ステップS512)。
サーバ通信部84は、送信バッファ841に書き込まれた画面符号データを、書き込まれた順番で画面受信クライアント3へ送信する(ステップS570)。
一方、符号化部83は、最大データサイズ分の画面符号データを全て送信バッファ841に書き込むか、サーバ通信部84から書き込み不可通知を受け取ると、送信バッファ841に書き込み済みの差分領域情報を送信画面データ更新部13に渡す(ステップS710)。これにより、送信画面データ更新部13は、送信画面データ記憶部124に格納されている画面データを更新する(ステップS720)。
その他の動作は第1の実施の形態と同じであるので、説明を省略する。
本実施の形態によれば、第1の実施の形態で得られる効果に加え、次のような効果を得ることができる。本実施の形態では、符号化部83が、通信速度算出部82によって算出された自サーバ8の通信速度および前回の書き込み時からの経過時間に基づいて、送信バッファ841に書き込む画面符号データのデータサイズを決定し、決定したデータサイズの範囲内で、各差分領域の画面符号データを、変化情報密度が大きい順に送信バッファ841に書き込むようにしているので、画面送信サーバ8の通信能力が低い場合に、送信バッファ841に古い画面符号データが存在し続ける時間を短縮することができ、その結果、画面生成部10が生成した画面データの変化が画面受信クライアント3に伝達するまでの遅延時間を短くすることができるという効果を得ることができる。
〔本発明の第5の実施の形態〕
次に、本発明の第5の実施の形態について詳細に説明する。本実施の形態では、サイズの大きな画面符号データは、複数の分割符号データに分割されて送信される。そのため、サイズの大きな画面符号データを送信中であっても、変化情報密度の大きな画面符号データの送信が迅速に行われ、かつ迅速に送信された画面符号データを受信後、受信された画面符号データが迅速に復号化される。
図31は、本実施の形態に係る画面伝送システムの構成例を示すブロック図である。本実施の形態に係る画面伝送システムは、画面送信サーバ92と、画面受信クライアント91とを具備し、画面送信サーバ92と、画面受信クライアント91とはネットワーク2を介して接続される。
画面送信サーバ92は、次の点で図1に示される画面送信サーバ1と相違している。即ち、送信対象符号バッファ9231を含む送信符号生成部923と、送信優先度算出部924を備える点、符号化部125により生成される画面符号データリストの代わりに符号化部922が、変化情報密度付き画面符号データリストを生成する点、生成された変化情報密度付き画面符号データリストは送信符号生成部923に送信され、送信符号生成部923が変化情報密度付き画面符号データリストと、送信優先度算出部924によって算出された送信優先度とに基づいて、送信対象符号データを生成し、サーバ通信部14に通知する点、送信符号生成部923が送信済みの差分領域情報を送信画面データ更新部13に通知する点が、相違している。
また、画面受信クライアント91は、次の点で図1に示される画面受信クライアント3と相違している。即ち、受信符号バッファ9111を含む受信符号合成部911を備える点、その受信符号合成部911はクライアント通信部33から分割符号データを受信し、受信データに基づいて生成された画面符号データを復号化部323に送信する点が、相違している。
符号化部922は、優先度決定部123から差分画面データリストを受け取ると、変化情報密度付き画面符号データリストを生成する。差分画面データリストは、図3に示されるように、1または複数の差分画面データを含み、各差分画面データは、差分領域情報と画素データと変化情報密度とを含む。変化情報密度付き画面符号データリストは、図32に示されるように、1または複数の変化情報密度付き画面符号データを含み、各変化情報密度付き画面符号データは、差分領域情報と符号データと変化情報密度とを備える。各変化情報密度付き画面符号データは、それぞれ差分画面データリスト中の差分画面データと1対1に対応する。したがって、各変化情報密度付き画面符号データは、対応する差分画面データ中の画素データをJPEG等の画像符号化方式を用いて符号化して得られる符号データと、対応する差分画面データ中の差分領域情報と同じ差分領域情報とを備える。さらに、各変化情報密度付き画面符号データは、差分画面データ中の変化情報密度と1対1に対応する変化情報密度を備える。
送信符号生成部923は、符号化部922から変化情報密度付き画面符号データリストを取得し、変化情報密度付き画面符号データリスト内の画面符号データに基づいて、送信対象符号データを生成する。このとき、送信符号生成部923は、画面符号データのデータサイズが所定のサイズ以下になるように画面符号データを分割して分割符号データを生成し、生成された分割符号データを含む送信対象符号データを送信対象符号バッファ9231に書き込む。送信対象符号データには後述する送信優先度が設定される。また、送信対象符号データには、元の画面符号データを生成するために分割符号データを結合する順番を示す情報である結合順序情報が付与される。結合順序情報は、例えば、1からカウントされる番号とする。また、結合順序情報は、結合する順序が最後であることを示す情報も含んでいる。最後に結合される分割符号データには、例えば、順に付与された番号の符号を反転した負数が結合順序情報として付与される。結合順序情報が1からカウントされる番号である場合、結合順序情報が最初の分割符号データであることを示している送信対象符号データとは、例えば、送信対象符号バッファ9231に書き込まれている送信対象符号データのうち、含まれている分割符号データの結合順序情報の絶対値が最小値である送信対象符号データを選択することを意味する。
送信対象符号データを生成し終わると、送信符号生成部923は、送信対象符号データを送信優先度の大きいものから優先的にサーバ通信部14を介して送信する。
送信符号生成部923は、変化情報密度付き画面符号データリストを受け取ったとき、送信対象符号バッファ9231にデータが書き込まれていると、その送信対象符号データ内に含まれている分割符号データの中の結合順序情報が最小を示している送信対象符号データを選択して、サーバ通信部14へ送る。即ち、送信途中の差分領域の画像データが送信される。
さらに、送信符号生成部923は、分割されていない画面符号データを送信した場合、あるいは分割符号データ内の結合順序情報が最後の分割符号データであることを示す結合順序情報を含む分割符号データを送信した場合、送信した画面符号データまたは分割符号データに対応付けられている差分領域情報を送信済み差分領域として、送信画面データ更新部13に通知する。また、分割符号データを送信した場合、送信符号生成部923は、その送信対象符号データを送信対象符号バッファ9231から削除する。さらに、送信符号生成部923は、送信バッファ書き込み不可通知をサーバ通信部から受信すると、画像データを送信途中の差分領域に対応する送信対象符号データを除く送信対象符号データを送信対象符号バッファ9231から削除する。即ち、送信対象符号バッファ9231内に、差分領域情報が同一である送信対象符号データが2個以上記録されており、かつ分割符号データの中の結合順序情報に、分割符号データを結合して画面符号データを生成する際に最初に結合する分割符号データの結合順序情報(例えば「1」)が含まれている場合、差分領域情報が同一である送信対象符号データは、送信対象符号バッファ9231から削除される。さらに、分割されていない画面符号データを含んでいる送信対象符号データも送信対象符号バッファ9231から削除される。
送信対象符号データは、画面符号データまたは画面符号データが分割された分割符号データと、その送信優先度と、差分領域情報とを含む。即ち、分割符号データは、画面符号データ内の符号データを、所定のデータサイズ以下となるように分割して得られるデータと、差分領域情報と、結合順序情報とを備える。分割符号データサイズには、例えば利用可能な通信帯域を単位時間当たりの画面更新数で割った値等が用いられる。単位時間当たりの画面更新数はユーザが設定することが好ましい。
送信優先度算出部924は、送信符号生成部923から画面符号データ内の符号データのサイズ、分割符号データサイズ、分割符号データ、変化情報密度を取得し、分割符号データ毎に送信優先度を生成する。
送信優先度は、例えば、変化情報密度を分割数で割って求められる。各送信優先度間の差を詳細に求めたい場合、送信優先度は、画面符号データ内の符号データのサイズを分割符号データのサイズで割った値を用いて割って算出されてもよい。したがって、分割符号データの送信優先度は、変化情報密度より小さな値となる。即ち、送信優先度は、分割数が大きくなると、下がることになる。
画面受信クライアント91では、受信符号合成部911は、クライアント通信部33から、分割符号データあるいは画面符号データを受け取る。画面符号データを受け取ると、受信符号合成部911は、受信した画面符号データを復号化部323に送信する。また、受信符号合成部911は、分割符号データを受け取ると、受信した分割符号データを受信符号バッファ9111に書き込む。書き込んだ分割符号データの結合順序情報が、最後の順番であることを示す場合、受信符号合成部911は、受信符号バッファ9111内の分割符号データを結合順序情報に基づいて結合して画面符号データを生成し、生成された画面符号データを復号化部322に送信する。
なお、本実施の形態の画面送信サーバ92、画面受信クライアント91も前述した実施の形態と同様に、コンピュータによって実現することができる。
次に、図33および図34を参照して画面送信サーバ92の動作について詳細に説明する。なお、ここでは、第1の実施の形態との相違点について説明する。したがって、図8に示されるステップS330以降が図33を参照して説明される。
図33に示されるように、符号化部922は、優先度決定部123から差分画面データリストを受け取ると、変化情報密度付き画面符号データリストを生成する。生成された変化情報密度付き画面符号データリストは、送信符号生成部923に渡される(ステップS341)。
送信符号生成部923は、符号化部922から取得した変化情報密度付き画面符号データリスト内の画面符号データに基づいて、送信対象符号データを生成する(ステップS600)。
送信符号生成部923は、送信優先度が大きい順に、送信対象符号データ内の画面符号データまたは分割符号データをサーバ通信部14に渡す(ステップS514)。サーバ通信部14は、受け取った画面符号データまたは分割符号データを送信バッファ141に書き込み、順に画面受信クライアント91にネットワーク2を介して送信する(ステップS570)。サーバ通信部14は、送信バッファ141に空き容量がなくなると、符号化部922に対して書き込み不可通知を発行する(ステップS580)。
送信符号生成部923は、送信対象符号データを全て送信し終わるか、送信バッファ書き込み不可通知を受信すると、送信済みの差分領域情報を送信画面データ更新部13に送る(S710)。このとき、送信対象符号データが分割された画面符号データを含む場合、最後の順番であることを示す結合順序情報を有する送信対象符号データが送り終わったものが送信済みとなる。即ち、分割されていない画面符号データを含む送信対象符号データ或いは最後の順番であることを示す結合順序情報を有する分割符号データを含む送信対象符号データが送り終わると、その送信対象符号データに対応する差分領域情報が送信済みとなる。
また、送信対象符号データが送信されると、送信符号生成部923は、送信された送信対象符号データを送信対象符号バッファ9231から削除する。さらに、送信符号生成部923は、送信対象符号バッファ9231内に記録されているデータのうち、送信途中である送信対象符号データを除いて送信対象符号データを削除する。送信途中である送信対象符号データとは、結合順序情報が最初に結合される分割符号データであることを示す(例えば「1」)送信対象符号データが送信済みであり、その送信対象符号データと差分領域情報が同一である送信対象符号データである。最初に結合される分割符号データであることを示す結合順序情報(例えば「1」)を含む送信対象符号データが未送信の場合、差分領域情報が同一である送信対象符号データは、送信対象符号バッファ9231から削除される。
次に、送信符号生成部923の送信対象符号データ生成動作(ステップS600)の詳細について、図34を参照して説明する。
符号化部922により生成された変化情報密度付き画面符号データリストを取得すると(ステップS610)、送信符号生成部923は、送信対象符号バッファ9231にデータが書き込まれているかどうか調べる(ステップS620)。送信対象符号バッファ9231に送信対象符号データが残っている場合(ステップS620−有)、結合順序情報が最小の送信対象符号データ(分割符号データ)を送信する(ステップS622)。
送信符号生成部923は、未処理の変化情報密度付き画面符号データ内で、最も大きな変化情報密度に対応付けられている画面符号データを選択する(ステップS630)。
選択された画面符号データ内の符号データのサイズが分割符号データサイズよりも大きい場合、送信符号生成部923は、選択された画面符号データ内の符号データを、データサイズが分割符号データサイズ以下となるように分割して分割符号データを生成し、送信符号バッファ9231に書き込む(ステップS640)。分割符号データサイズよりも小さい場合は、分割数が1、即ち分割せずに画面符号データが送信符号バッファ9231に書き込まれる。
次に、送信符号生成部923は、分割された画面符号データ内の符号データのサイズおよび変化情報密度、分割符号データサイズ、分割符号データを送信優先度算出部924に送信する。送信優先度算出部924は、送られた情報に基づいて、送信優先度を計算する(ステップS650)。計算された送信優先度を受け取った送信符号生成部923は、送信符号バッファ9231内に書き込まれた送信対象符号データ内の送信優先度に書き込む。変化情報密度付き画面符号データリストに含まれる画面符号データが全て送信対象符号データとして処理されて送信符号バッファ9231に格納されるまで繰り返す(ステップS660)。
その後、送信符号生成部923は、送信符号バッファ9231に書き込まれた送信対象符号データの中で送信優先度が高い順に分割符号データをサーバ通信部14へ送信する。複数に分割されて生成された分割符号データは、送信優先度が同じであるので、分割符号データに付与された結合順序情報が最も小さい送信対象符号データ、即ち先に結合される送信対象符号データから送信される(ステップS514)。このとき、送信されずに残っていた前画面の分割符号データが、新たに生成された現画面の分割符号データより後に送信されることがないように、現画面の分割符号データの送信が制御されることが好ましい。
具体的な数値によって上記の手順を説明する。例えば、差分領域A〜Fが抽出され、その優先度が、領域A:110、領域B:200、領域C:180、領域D:160、領域E:70、領域F:60と算出されたとする。送信符号生成部923は、これらの差分領域の画面符号データサイズから、領域A:1、領域B:2、領域C:3、領域D:2、領域E:1、領域F:1に分割して分割符号を生成する。したがって、送信優先度算出部924は、送信優先度を、領域A:110、領域B:100、領域C:90、領域D:80、領域E:70、領域F:60と算出する。送信対象符号データは、A(110)、B1(100)、B2(100)、C1(90)、C2(90)、C3(90)、D1(80)、D2(80)、E(70)、F(60)と生成される。送信対象符号バッファ9231に残留するデータがなく、サーバ通信部14から送信バッファ書き込み不可通知を受けないときは、送信符号生成部923からA、B1、B2、C1、C2、C3、D1、D2、E、Fの順に送信される。
例えば、A、B1、B2、C1が送信され、C2の送信後に送信バッファ書き込み不可通知を受けると、送信符号生成部923は、送信対象符号バッファからA、B1、B2、D1、D2、E1、F1を削除し、送信対象符号バッファにはC2、C3が残る。
次に、送信優先度が110で分割数1の送信対象データG(110)と、送信優先度が100で分割数2の送信対象データH1(100)、H2(100)が生成されると、送信対象符号バッファ9231に残っているC2が送信される。次に送信優先度の高いGが送信され、さらに残っているC3が送信され、H1、H2が送信される。
その他の説明は第1の実施の形態と同じであるので、説明を省略する。
次に、図25を参照して本実施の形態における画面受信クライアント91の動作について詳細に説明する。なお、ここでは、第1の実施の形態との相違点について説明する。
クライアント通信部33は、画面送信サーバ92からネットワーク2を介して分割符号データあるいは画面符号データを受信する(ステップS811)。受信符号合成部911は、クライアント通信部33により受信された分割符号データを取得し、受信符号バッファ9111に格納する。結合順序情報が最後の順番であることを示している分割符号データか分割されていない画面符号データを受信した場合(ステップS812)、受信符号合成部911は、受信符号バッファ9111に格納し(ステップS822)、受信符号バッファ9111に格納されている受信データに基づいて画面符号データを合成する(ステップS825)。即ち、複数に分割された分割符号データは、結合順序情報に基づいて結合処理され、画面符号データに戻される。受信符号合成部911は、受信した画面符号データを復号化部323に渡す。
その他の説明は第1の実施の形態と同じであるので、説明を省略する。
上述のように、本実施の形態では、送信符号生成部923は、分割符号データサイズより大きな符号データを持つ画面符号データを分割符号データサイズ以下となるように分割して分割符号データを生成する。生成された分割符号データは、送信対象符号バッファ9231に書き込まれる。画面符号データの変化情報密度に基づいて、分割符号データ毎に送信優先度が送信優先度算出部924によって算出され、送信対象符号データ毎に割り当てられる。
また、送信符号生成部923は、分割符号データサイズより小さな符号データを持つ画面符号データの変化情報密度を送信優先度として用いる。
そして、送信符号生成部923が、送信対象符号バッファ9231に書き込まれている送信対象符号データ内の分割符号データを結合順所情報順に一つ取得し、画面符号データを符号データとして持つ送信対象符号データと合わせて、送信優先度の大きいものから優先的に分割符号データあるいは画面符号データを送信する。
以上の動作により、本実施の形態によれば、第1の実施の形態で得られる効果に加え、次のような効果を得ることができる。分割符号データサイズより大きな符号データを持つ画面符号データ(以下巨大画面符号データ)が分割符号データに分割され、かつ分割符号データを送信後に次の分割符号データを送信するまでに、画面データ取得部11が画面データを取得するため、画面データ取得部11によって取得された画面データから差分領域抽出部122によって差分領域が抽出され、優先度決定部123によって計算された、前記差分領域の変化情報密度が大きな値であった場合、前記変化情報密度の大きな差分領域の画像データを符号化することで得られた画面符号データ(以下高変化画面符号データ)を、前記巨大画面符号データから生成した分割符号データ1個を送信後に送信することができ、前記巨大画面符号データ自体の送信後に、前記画面データ取得部11が画面データを取得する第1の実施の形態に比べて、前記高変化画面符号データを迅速に送信することができる。
即ち、第1の実施の形態で説明された画面伝送システムでは、巨大画面符号データを送信し終わるまで差分領域抽出手段の動作が開始されない。そのため、変化の大きな画面変化が発生していても、この変化を送信することができない。これに対して、第5の実施の形態で説明された画面伝送システムでは、巨大画面符号データを分割した分割符号データ送信後に差分領域抽出手段の動作が行われる。そのため、巨大画面符号データよりも変化情報密度の大きく伝送データサイズの小さい画面符号データが得られた場合、送信優先度の大きい高変化画面符号データが、巨大画面符号データの分割符号データの伝送の間に送信され、結果的に巨大画面符号データより先に高変化画面符号データの送信が完了する。
また、本実施の形態では、画面受信クライアント91において、受信符号合成部911は、分割符号データを受信した場合、受信符号バッファ9111に受信した分割符号データを書き込み後、直ちにクライアント通信部33からのデータ受信を待機する。そのため、巨大画面符号データから生成した分割符号データ1個を受信後に高変化画面符号データを受信することができ、巨大画面符号データ自体の受信後に、次の画面符号データを受信する第1の実施の形態に比べて、高変化画面符号データを迅速に受信かつ復号することができる。
なお、上述した各具体例では、画面の伝送プロトコルにHTTPを用いた場合について説明したが、その他の伝送プロトコルを用いてもよい。また、画像データの例として画素データを用いた場合について説明したが、ベクトル表現された点や線分であっても構わない。さらに、差分領域の形状を矩形にしたが、差分領域の形状はこれに限られるものではない。さらに、変化情報密度として「(変化量合計値)÷(差分領域の面積の2乗)」を用いたが、差分領域の面積が大きくなる程小さくなり、且つ差分領域の変化量合計値が大きくなるような値であれば、他の値を用いても良い。
本発明は、シンクライアントシステムなどにおいて画面データを転送する場合に適用でき、特に、狭帯域環境において利用すると好適である。
また、本発明がコンピュータによって実現される場合、そのプログラムは、
(1)コンピュータを、
前画面と現画面とを比較し、前記前画面に対して変化した前記現画面上の領域を差分領域として抽出する差分領域抽出手段、
該差分領域抽出手段で抽出された差分領域毎に、差分領域の画像データを送信する際の優先度を、予め定められた基準に基づいて決定する優先度決定手段、
該優先度決定手段で決定された優先度が高い差分領域から優先的に画像データを送信する通信手段として機能させるためのプログラムであることが好ましい。
(2)また、(1)に記載のプログラムにおいて、
前記優先度決定手段が、前記複数の差分領域毎に、前画面に対する画素値の変化の度合いを示す変化情報密度を算出し、該算出した変化情報密度に基づいて前記複数の差分領域の優先度を決定するプログラムであってもよい。
(3)さらに、(2)に記載のプログラムにおいて、
前記コンピュータが、画面を複数のブロックに分割した際の各ブロックの送信履歴が格納された送信履歴記憶部を備え、且つ、
前記優先度決定手段が、前記複数の差分領域の変化情報密度に対する重みを、差分領域が覆っているブロックの送信履歴に基づいて算出し、該算出した重みで重み付けした変化情報密度に基づいて前記複数の差分領域の優先度を決定するプログラムであってもよい。
(4)また、(2)に記載のプログラムにおいて、
前記優先度決定手段が、前記複数の差分領域の変化情報密度に対する重みを、画面受信クライアントから送られてきた、ユーザが画面データに対して行った操作内容を示す操作情報に基づいて算出し、該算出した重みで重み付けした変化情報密度に基づいて前記複数の差分領域の優先度を決定するプログラムであってもよい。
(5)また、(1)乃至(4)の何れかに記載のプログラムにおいて、
前記コンピュータが、送信する画像データを一時的に保持する送信バッファを備え、且つ、
前記コンピュータを、自コンピュータの通信速度を算出する通信速度算出手段として機能させ、
前記通信手段が、前記通信速度算出手段で算出された通信速度に基づいて、前記送信バッファに書き込む画像データのデータサイズを決定し、該決定したデータサイズの範囲内で、前記複数の差分領域の画像データを、前記優先度決定手段で決定された優先度が高いものから優先的に前記送信バッファに書き込むプログラムであってもよい。
(6)また、(1)に記載のプログラムにおいて、
さらに、
前記差分領域の画素データを符号化して符号データを生成する符号化手段、
前記符号データのサイズが閾値よりも大きい場合にサイズが閾値以下となるように前記符号データを分割して分割符号データを生成し、前記変化情報密度を前記分割符号データと同数だけ分割して送信優先度を前記分割符号データに対応付ける送信符号生成手段
としてコンピュータを機能させ、
前記通信手段は、前記送信優先度に基づいて、前記分割符号データを送信するようにコンピュータを機能させるプログラムであってもよい。
(7)また、(6)に記載のプログラムにおいて、
前記分割符号データは、前記分割符号データを結合して前記符号データを再生する順番を示す結合順序情報を含み、
前記送信符号生成手段は、最も小さい順番を示す前記結合順序情報を含む前記分割符号データを選択して前記通信手段を用いて送信し、前記送信した送信対象符号データを削除し、前記通信手段で送信できなかった分割符号データのうち、前記分割符号データを結合して前記画面符号データを生成する際の最初に結合する分割符号データが含まれている場合に、前記最初に結合する分割符号データおよび、画面符号データを生成する際に前記最初に結合する分割符号データの後に結合する分割符号データ全てを削除し、さらに前記通信手段で送信できなかった画面符号データを削除する手段としてコンピュータを機能させるプログラムであってもよい。
本発明によれば、通信帯域の制限を受ける差分領域は、優先度の低い差分領域に限定されるため、画面受信クライアント側の画面の更新に与える影響を最小限に抑えることができる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本出願は、日本出願番号2007−172069及び2008−137156に基づく優先権を主張するものであり、日本出願番号2007−172069及び2008−137156における開示内容は引用により本出願に組み込まれる。

Claims (36)

  1. 表示されている現画面と、前記現画面に変化する前の前画面とを比較し、前記前画面に対して変化した画素の集合が存在する前記現画面上の領域を差分領域として抽出する差分領域抽出手段と、
    前記差分領域毎に、前記差分領域に含まれる画素の画素値と前記差分領域の面積とに基づいて、前画面に対する画素値の変化の度合いを示す変化情報密度を計算し、前記変化情報密度に基づいて優先度を決定する優先度決定手段と、
    前記優先度が高い順に前記差分領域の画像データを送信する通信手段と
    を備える画面送信サーバと、
    前記画面送信サーバから受信した前記差分領域の画像データに基づいて画像データと予め保持している画面データとを合成してクライアント画面に表示する画面受信クライアント装置
    を具備する
    画面伝送システム。
  2. 請求項1に記載の画面伝送システムにおいて、
    前記変化情報密度を、前記画素値の変化量の合計を前記面積の2乗で除して算出する
    画面伝送システム。
  3. 請求項1又は2に記載の画面伝送システムにおいて、
    前記画面送信サーバは、
    画面を複数のブロックに分割したブロックのうち少なくとも1つに前記差分領域の画像データの少なくとも一部が含まれており、前記差分領域の画像データを送信したことを示す送信履歴を格納する送信履歴記憶手段と、
    前記差分領域が覆う前記ブロックの前記送信履歴に基づいて、前記優先度に対する重みを算出する重み生成手段と
    を更に備え、
    前記優先度決定手段は、前記変化情報密度に前記重みで重み付けして前記優先度を決定する
    画面伝送システム。
  4. 請求項3に記載の画面伝送システムにおいて、
    前記送信履歴は、前記ブロックに少なくとも一部が含まれる前記差分領域の画像データが最後に送信された時刻を示す最新送信時刻を含み、
    前記優先度決定手段は、前記最新送信時刻と現在時刻との差分が大きい程、前記重みを大きな値とする
    画面伝送システム。
  5. 請求項3に記載の画面伝送システムにおいて、
    前記送信履歴は、前記ブロックに含まれる画像データが送信された回数を示す送信頻度を含み、
    前記優先度決定手段が、前記差分領域が覆う前記ブロックの前記送信頻度が小さい程、前記重みを大きな値とする
    画面伝送システム。
  6. 請求項1乃至5の何れか1項に記載の画面伝送システムにおいて、
    前記画面受信クライアント装置は、
    ユーザが行った操作内容を示す操作情報を前記画面送信サーバへ送信する操作情報入力手段を備え、
    前記優先度決定手段は、前記画面受信クライアント装置から送られてきた操作情報に基づいて、前記重みを算出し、前記変化情報密度を前記重みで重み付けして前記優先度を決定する
    画面伝送システム。
  7. 請求項6に記載の画面伝送システムにおいて、
    前記操作情報は、前記クライアント画面に表示されるカーソルの位置を含み、
    前記優先度決定手段は、前記差分領域の重心位置と前記操作情報によって示される前記カーソルの位置との距離が小さい程、前記重みを大きな値とする
    画面伝送システム。
  8. 請求項6に記載の画面伝送システムにおいて、
    前記操作情報は、前記クライアント画面に表示されるカーソルの移動速度を含み、
    前記優先度決定手段は、前記移動速度が所定の閾値未満の場合に前記重みによる重み付けをせずに前記優先度を決定し、前記閾値以上の場合に前記面積が小さい程、大きな値となるように算出した前記重みによる重み付けをして前記優先度を決定する
    画面伝送システム。
  9. 請求項6に記載の画面伝送システムにおいて、
    前記操作情報は、前記ユーザが操作するキーの操作頻度を含み、
    前記優先度決定手段は、前記キーの操作頻度が所定の閾値未満の場合に前記重みによる重み付けをせずに前記優先度を決定し、前記閾値以上の場合に前記面積が小さい程大きな値となるように算出した前記重みによる重み付けをして前記優先度を決定する
    画面伝送システム。
  10. 請求項1乃至9の何れか1項に記載の画面伝送システムにおいて、
    前記画面送信サーバは、前記通信手段が前記画面受信クライアント装置との間で通信するときの通信速度を算出する通信速度算出手段を更に具備し、
    前記通信手段は、前記画面受信クライアント装置へ送信する画像データを一時的に保持する送信バッファを備え、
    前記通信速度に基づいて、前記送信バッファに書き込む画像データの最大データサイズを決定し、前記最大データサイズの範囲内で前記差分領域の画像データを前記優先度が高いものから優先的に前記送信バッファに書き込む
    画面伝送システム。
  11. 請求項1乃至10の何れか1項に記載の画面伝送システムにおいて、
    前記差分領域抽出手段は、前記前画面に対して画素値が所定値以上変化した画素を抽出し、互いの画面上の距離が一定値以下である抽出画素どうしを結ぶ線分によってつながる複数の前記抽出画素の集合を覆う領域を差分領域として抽出する
    画面伝送システム。
  12. 請求項1乃至11の何れか1項に記載の画面伝送システムにおいて、
    前記差分領域抽出手段は、画素の各色成分の値をそれぞれ異なる重みで重み付けされた重み付け画素値に基づいて前記差分領域を抽出する
    画面伝送システム。
  13. 請求項1乃至請求項12に記載の画面伝送システムにおいて、
    前記画面送信サーバは
    前記差分領域の画素データを符号化して符号データを生成する符号化手段と、
    所定値以下のデータサイズとなるように前記符号データを分割して分割符号データを生成し、前記分割符号データに分割にした分割数で前記変化情報密度を除した送信優先度を前記分割符号データに対応付ける送信符号生成手段と
    更に備え、
    前記通信手段は、前記送信優先度に基づいて、前記分割符号データを送信する
    画面伝送システム。
  14. 請求項13に記載の画面伝送システムにおいて、
    前記分割符号データは、前記分割符号データを結合する順番を示す結合順序情報を含み、
    前記送信符号生成手段は、最も小さい順番を示す前記結合順序情報を含む前記分割符号データを選択して前記通信手段を用いて送信し、前記送信した送信対象符号データを削除し、前記通信手段で送信できなかった分割符号データのうち、前記分割符号データを結合して前記画面符号データを生成する際の最初に結合する分割符号データが含まれている場合に、前記最初に結合する分割符号データおよび、画面符号データを生成する際に前記最初に結合する分割符号データの後に結合する分割符号データ全てを削除し、更に前記通信手段で送信できなかった画面符号データを削除する
    画面伝送システム。
  15. 表示されている現画面と、前記現画面に変化する前の前画面とを比較し、前記前画面に対して変化した画素の集合が存在する前記現画面上の領域を差分領域として抽出する差分領域抽出手段と、
    前記差分領域毎に、前記差分領域に含まれる画素の画素値と前記差分領域の面積とに基づいて、前画面に対する画素値の変化の度合いを示す変化情報密度を計算し、前記変化情報密度に基づいて優先度を決定する優先度決定手段と、
    前記優先度が高い順に前記差分領域の画像データを送信する通信手段と
    を具備し、
    画像データと予め保持している画面データとを合成してクライアント画面に表示する画面受信クライアント装置に前記差分領域の画像データを送信する
    画面送信サーバ。
  16. 請求項15に記載の画面送信サーバにおいて、
    画面を複数のブロックに分割したブロックのうち少なくとも1つに前記差分領域の画像データの少なくとも一部が含まれており、前記差分領域の画像データを送信したことを示す送信履歴を格納する送信履歴記憶手段を備え、
    前記差分領域が覆う前記ブロックの前記送信履歴に基づいて、前記優先度に対する重みを算出する重み生成手段と
    を更に具備し、
    前記優先度決定手段は、前記変化情報密度に前記重みで重み付けして前記優先度を決定する
    画面送信サーバ。
  17. 請求項15又は16に記載の画面送信サーバにおいて、
    前記画面受信クライアント装置から受信した、ユーザが行った操作内容を示す操作情報を保持する操作情報取得手段を更に具備し、
    前記優先度決定手段は、前記操作情報に基づいて、前記重みを算出し、前記変化情報密度を前記重みで重み付けして前記優先度を決定する
    画面送信サーバ。
  18. 請求項15乃至17の何れか1項に記載の画面送信サーバにおいて、
    前記通信手段が前記画面受信クライアント装置との間で通信するときの通信速度を算出する通信速度算出手段を更に具備し、
    前記通信手段は、前記画面受信クライアント装置へ送信する画像データを一時的に保持する送信バッファを備え、
    前記通信速度に基づいて、前記送信バッファに書き込む画像データの最大データサイズを決定し、前記最大データサイズの範囲内で前記差分領域の画像データを前記優先度が高いものから優先的に前記送信バッファに書き込む
    画面送信サーバ。
  19. 請求項15乃至18の何れか1項に記載の画面送信サーバにおいて、
    前記差分領域の画素データを符号化して符号データを生成する符号化手段と、
    所定の値以下となるように前記符号データを分割して分割符号データを生成し、前記分割符号データに分割した分割数で前記変化情報密度を除した送信優先度を前記分割符号データに対応付ける送信符号生成手段と
    更に具備し、
    前記通信手段は、前記送信優先度に基づいて、前記分割符号データを送信する
    画面送信サーバ。
  20. 請求項19に記載の画面送信サーバにおいて、
    前記分割符号データは、前記分割符号データを結合する順番を示す結合順序情報を含み、
    前記送信符号生成手段は、最も小さい順番を示す前記結合順序情報を含む前記分割符号データを選択して前記通信手段を用いて送信し、前記送信した送信対象符号データを削除し、前記通信手段で送信できなかった分割符号データのうち、前記分割符号データを結合して前記画面符号データを生成する際の最初に結合する分割符号データが含まれている場合に、前記最初に結合する分割符号データおよび、画面符号データを生成する際に前記最初に結合する分割符号データの後に結合する分割符号データ全てを削除し、更に前記通信手段で送信できなかった画面符号データを削除する
    画面送信サーバ。
  21. 表示されている現画面と、前記現画面に変化する前の前画面とを比較し、前記前画面に対して変化した画素の集合が存在する前記現画面上の領域を差分領域として抽出する差分領域抽出ステップと、
    前記差分領域毎に、前記差分領域に含まれる画素の画素値と前記差分領域の面積と基づいて、優先度を決定する優先度決定ステップと、
    前記優先度が高い順に前記差分領域の画像データを送受信する通信ステップと
    前記通信ステップにおいて送受信された前記差分領域の画像データに基づいて画像データと予め保持している画面データとを合成してクライアント画面に表示するステップと
    を具備する
    画面伝送方法。
  22. 請求項21に記載の画面伝送方法において、
    前記優先度決定ステップは、前記画素値と前記面積とに基づいて、前画面に対する画素値の変化の度合いを示す変化情報密度を算出し、前記変化情報密度に基づいて前記差分領域の前記優先度を決定するステップを備える画面伝送方法。
  23. 請求項22に記載の画面伝送方法において、
    画面を複数のブロックに分割して前記ブロックのうち少なくとも1つに前記差分領域の画像データの少なくとも一部が含まれており、前記差分領域の画像データを送信したことを示す送信履歴を管理するステップを更に具備し、
    前記優先度決定ステップは、
    前記変化情報密度に対する重みを前記送信履歴に基づいて算出するステップと、
    前記変化情報密度を前記重みで重み付けした重み付け変化情報密度に基づいて前記複数の差分領域の各々の優先度を決定するステップと
    を備える
    画面伝送方法。
  24. 請求項23に記載の画面伝送方法において、
    前記優先度決定ステップは、前記画面受信クライアント装置から受信した、ユーザが行った操作内容を示す操作情報に基づいて、前記変化情報密度に対する重みを算出するステップと、
    前記変化情報密度を前記重みで重み付けした重み付け変化情報密度に基づいて、前記差分領域の前記優先度を決定するステップと
    を備える
    画面伝送方法。
  25. 請求項21乃至24の何れか1項に記載の画面伝送方法において、
    前記差分領域の画像データを送信バッファに一時的に保持するステップと、
    前記差分領域の画像データを送信するサーバの通信速度を算出する通信速度算出ステップと
    を具備し、
    前記通信ステップは、
    前記通信速度算出ステップで算出された通信速度に基づいて、前記送信バッファに書き込むデータのデータサイズを決定するステップと、
    前記データサイズの範囲内で、前記複数の差分領域の画像データを、前記優先度が高いものから優先的に前記送信バッファに書き込むステップと
    を備える
    画面伝送方法。
  26. 請求項21乃至25の何れか1項に記載の画面伝送方法において、
    記差分領域の画素データを符号化して符号データを生成するステップと、
    前記符号データのサイズが閾値よりも大きい場合にサイズが閾値以下となるように前記符号データを分割して分割符号データを生成するステップと、
    前記変化情報密度を前記分割符号データと同数だけ分割して送信優先度を前記分割符号データに対応付けるステップと
    更に具備し、
    前記通信ステップは、前記送信優先度に基づいて前記分割符号データを送信するステップを備える
    画面伝送方法。
  27. 請求項26に記載の画面伝送方法において、
    前記分割符号データは、前記分割符号データを結合して前記符号データを再生する順番を示す結合順序情報を含み、
    前記通信ステップは、前記順番に基づいて前記分割符号データを送信するステップを備える
    画面伝送方法。
  28. 請求項21乃至27の何れか1項に記載の画面伝送方法をコンピュータに実行させるためのプログラムを記録するプログラム記録媒体。
  29. 請求項21乃至27の何れか1項に記載の画面伝送方法をコンピュータに実行させるためのプログラム。
  30. 表示されている現画面と、前記現画面に変化する前の前画面とを比較し、前記前画面に対して変化した画素の集合が存在する前記現画面上の領域を差分領域として抽出し、前記差分領域毎に前記差分領域に含まれる画素の画素値と前記差分領域の面積とに基づいて、前画面に対する画素値の変化の度合いを示す変化情報密度を計算し、前記変化情報密度に基づいて優先度を決定し、前記優先度が高い順に送信される前記差分領域の画像データを受信する手段と、
    受信した前記差分領域の画像データに基づいて画面データと予め保持している画面データとを合成する画面合成手段と、
    合成された前記画面データを表示するクライアント画面と
    を具備する
    画面受信クライアント装置
  31. 表示されている現画面と、前記現画面に変化する前の前画面とを比較し、前記前画面に対して変化した画素の集合が存在する前記現画面上の領域を差分領域として抽出する差分領域抽出ステップと、
    前記差分領域毎に、前記差分領域に含まれる画素の画素値と前記差分領域の面積とに基づいて、前画面に対する画素値の変化の度合いを示す変化情報密度を計算し、前記変化情報密度に基づいて優先度を決定する優先度決定ステップと、
    前記優先度が高い順に前記差分領域の画像データを、前記差分領域の画像データと予め保持している画面データとを合成してクライアント画面に表示する画面受信クライアント装置に送信する通信ステップと
    を具備する
    画面情報送信方法。
  32. 請求項31に記載の画面情報送信方法をコンピュータに実行させるためのプログラムを記録するプログラム記録媒体。
  33. 請求項31に記載の画面情報送信方法をコンピュータに実行させるためのプログラム。
  34. 表示されている現画面と、前記現画面に変化する前の前画面とが比較され、前記前画面に対して変化した画素の集合が存在する前記現画面上の領域を差分領域として抽出され、前記差分領域毎に前記差分領域に含まれる画素の画素値と前記差分領域の面積とに基づいて、前画面に対する画素値の変化の度合いを示す変化情報密度を計算し、前記変化情報密度に基づいて優先度が決定され、前記優先度が高い順に送信される前記差分領域の画像データを受信するステップと、
    受信した前記差分領域の画像データを合成して表示するクライアント画面と
    を具備する
    画面情報受信方法。
  35. 請求項34に記載の画面情報受信方法をコンピュータに実行させるためのプログラムを記録するプログラム記録媒体。
  36. 請求項34に記載の画面情報受信方法をコンピュータに実行させるためのプログラム。
JP2009521605A 2007-06-29 2008-06-27 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体 Expired - Fee Related JP5201142B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009521605A JP5201142B2 (ja) 2007-06-29 2008-06-27 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2007172069 2007-06-29
JP2007172069 2007-06-29
JP2008137156 2008-05-26
JP2008137156 2008-05-26
JP2009521605A JP5201142B2 (ja) 2007-06-29 2008-06-27 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体
PCT/JP2008/061712 WO2009004996A1 (ja) 2007-06-29 2008-06-27 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体

Publications (2)

Publication Number Publication Date
JPWO2009004996A1 JPWO2009004996A1 (ja) 2010-08-26
JP5201142B2 true JP5201142B2 (ja) 2013-06-05

Family

ID=40226042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009521605A Expired - Fee Related JP5201142B2 (ja) 2007-06-29 2008-06-27 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体

Country Status (3)

Country Link
US (1) US8224099B2 (ja)
JP (1) JP5201142B2 (ja)
WO (1) WO2009004996A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
WO2011033572A1 (ja) * 2009-09-18 2011-03-24 株式会社 東芝 中継装置
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
JP5678619B2 (ja) * 2010-12-02 2015-03-04 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP5664289B2 (ja) * 2011-01-31 2015-02-04 富士通株式会社 情報処理装置、画像送信プログラムおよび画像表示方法
US8682083B2 (en) * 2011-06-30 2014-03-25 American Express Travel Related Services Company, Inc. Method and system for webpage regression testing
GB2493510A (en) * 2011-07-28 2013-02-13 Daniel Rajkumar Methods of controlling a search engine
JP5812821B2 (ja) * 2011-11-24 2015-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ポインタ移動制御方法、装置、およびそのプログラム。
JPWO2014049761A1 (ja) * 2012-09-26 2016-08-22 富士通株式会社 システム、情報処理装置および画像処理方法
US9066071B2 (en) * 2012-11-12 2015-06-23 Samsung Electronics Co., Ltd. Method and apparatus for providing screen data
US9986239B2 (en) 2013-03-27 2018-05-29 Nec Corporation Image encoding apparatus, image encoding method, and recording medium
JPWO2014174799A1 (ja) 2013-04-25 2017-02-23 日本電気株式会社 画像内領域重要度評価装置、方法およびプログラム
JPWO2014174802A1 (ja) * 2013-04-26 2017-02-23 日本電気株式会社 画面伝送システム、画像情報送信装置および画像情報受信装置
JP6248671B2 (ja) * 2014-02-10 2017-12-20 富士通株式会社 情報処理装置、方法、プログラム、および情報処理システム
JP6907888B2 (ja) * 2017-10-30 2021-07-21 富士通株式会社 情報処理システム、情報処理装置および情報処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0884331A (ja) * 1994-09-13 1996-03-26 Canon Inc 画像通信装置およびその画像通信方法
JP2006246153A (ja) * 2005-03-04 2006-09-14 Toshiba Corp 画面転送装置、画面転送システム、画面転送方法、およびプログラム
JP2007025073A (ja) * 2005-07-13 2007-02-01 Sony Corp データ伝送方法、データ送信装置及びデータ受信装置、並びにプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0759081B2 (ja) 1985-04-30 1995-06-21 三菱電機株式会社 画像伝送装置
JPH08223430A (ja) 1995-02-15 1996-08-30 Oki Electric Ind Co Ltd 画面表示データ転送方法およびシステム
JP3484531B2 (ja) 1997-04-16 2004-01-06 オムロン株式会社 画像出力制御装置、監視用システム、画像出力制御方法および記憶媒体
US7715640B2 (en) * 2002-11-05 2010-05-11 Konica Minolta Business Technologies, Inc. Image processing device, image processing method, image processing program and computer-readable recording medium on which the program is recorded
JP4779756B2 (ja) * 2006-03-29 2011-09-28 カシオ計算機株式会社 コンピュータシステムにおけるサーバ装置及びサーバ制御プログラム
EP1881454A1 (en) * 2006-07-17 2008-01-23 Mitsubishi Electric Information Technology Centre Europe B.V. Image processing for change detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0884331A (ja) * 1994-09-13 1996-03-26 Canon Inc 画像通信装置およびその画像通信方法
JP2006246153A (ja) * 2005-03-04 2006-09-14 Toshiba Corp 画面転送装置、画面転送システム、画面転送方法、およびプログラム
JP2007025073A (ja) * 2005-07-13 2007-02-01 Sony Corp データ伝送方法、データ送信装置及びデータ受信装置、並びにプログラム

Also Published As

Publication number Publication date
JPWO2009004996A1 (ja) 2010-08-26
US20100322523A1 (en) 2010-12-23
US8224099B2 (en) 2012-07-17
WO2009004996A1 (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
JP5201142B2 (ja) 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体
JP6049220B2 (ja) デジタル画像検索のためのタイリング工程
US10965783B2 (en) Multimedia information sharing method, related apparatus, and system
WO2019114328A1 (zh) 一种基于增强现实的视频处理方法及其装置
JP2006345214A (ja) 3次元イメージデータ配信装置並びに3次元イメージデータ配信方法
JP2013229672A (ja) 通信端末、通信方法、通信プログラム及び通信システム
WO2011077550A1 (ja) 画面中継装置
JP5853003B2 (ja) 画面共有端末、画面共有方法、画面共有端末用プログラム
JP4916950B2 (ja) 動画像比較装置、動画像比較方法、及び動画像比較プログラム
JP2021033354A (ja) 通信装置およびその制御方法
JP6623905B2 (ja) サーバ装置、情報処理方法およびプログラム
JP2020526132A (ja) ビデオデータの表示方法及び装置
JP6597041B2 (ja) サーバー装置及び情報処理システム
JP5374671B1 (ja) 動画像処理システム、動画像処理方法及びプログラム
US20240144620A1 (en) Visual effects and content enhancements for vr
KR102608117B1 (ko) 이미지 보정 방법 및 이미지 보정 시스템
JP3987172B2 (ja) 対話型コミュニケーション端末装置
JP2002111998A (ja) 画像合成方法および情報処理装置
JP2006279440A (ja) 映像通信方法および端末装置
WO2023210187A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP2012034383A (ja) 画像処理装置、画像処理プログラム及び画像処理方法
KR102090009B1 (ko) 3차원 영상 콘텐츠를 제공하는 방법 및 프로그램
JP6146440B2 (ja) 表示端末装置及びプログラム
JP2008165559A (ja) 情報配信装置及びプログラム
JP5701964B2 (ja) 画面中継装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Ref document number: 5201142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees