(57)【要約】【課題】画像データに適した圧縮方式をＣＰＵ負荷を低く抑えて選択する。【解決手段】本発明の一態様としてのサーバは、画面上の少なくとも一部の領域の画像データを生成する画像データ生成部と、生成された画像データの領域に含まれるＧＵＩ部品の種別を判定する種別判定部と、ＧＵＩ部品の種別毎に、画像データの圧縮特性に関する情報を含む圧縮特性情報を格納する圧縮特性情報格納部と、判定されたＧＵＩ部品の種別に対応する圧縮特性情報に基づいて圧縮方式を決定する圧縮方式決定部と、決定された圧縮方式により前記生成された画像データを圧縮して圧縮データを生成する圧縮部と、前記圧縮データを前記クライアント端末に送信する送信部と、前記ＧＵＩ部品の種別毎に前記圧縮特性情報格納部における前記圧縮特性情報の更新頻度を決定する更新頻度決定部と、前記ＧＵＩ部品の種別毎に決定された更新頻度に応じて前記圧縮特性情報を更新する更新部と、を備える。【選択図】図６
2010055280.tif 000002
【特許請求の範囲】
【請求項１】
画面上の複数の種別のグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品を含む表示画像の少なくとも一部の領域の画像データを圧縮してクライアント端末に送信するサーバであって、
前記画面上の少なくとも一部の領域の画像データを生成する画像データ生成部と、
生成された画像データの領域に含まれるＧＵＩ部品の種別を判定する種別判定部と、
ＧＵＩ部品の種別毎に、画像データの圧縮特性に関する情報を含む圧縮特性情報を格納する圧縮特性情報格納部と、
前記種別判定部で判定されたＧＵＩ部品の種別に対応する圧縮特性情報に基づいて圧縮方式を決定する圧縮方式決定部と、
決定された圧縮方式により前記生成された画像データを圧縮して圧縮データを生成する圧縮部と、
前記圧縮データを前記クライアント端末に送信する送信部と、
前記ＧＵＩ部品の種別毎に前記圧縮特性情報格納部における前記圧縮特性情報の更新頻度を決定する更新頻度決定部と、
前記ＧＵＩ部品の種別毎に決定された更新頻度に応じて前記圧縮特性情報を更新する更新部と、
を備えたサーバ。
【請求項２】
前記更新頻度決定部は、前記ＧＵＩ部品の種別毎に表示画像の性質に応じて前記更新頻度を決定する
ことを特徴とする請求項１に記載のサーバ。
【請求項３】
前記圧縮方式決定部は、前記圧縮特性情報に基づいて複数の圧縮方式の中から圧縮方式を決定し、
前記更新頻度決定部は、前記生成された画像データを前記複数の圧縮方式のそれぞれで圧縮し、最大の圧縮率をもつ圧縮方式を記憶し、記憶した圧縮方式の履歴に基づいて、前記更新頻度を決定する
ことを特徴とする請求項１に記載のサーバ。
【請求項４】
前記更新頻度決定部は、前記履歴において前記複数の圧縮方式のそれぞれの出現比率に基づいて前記更新頻度を決定する
ことを特徴とする請求項３に記載のサーバ。
【請求項５】
前記更新頻度決定部は、前記履歴において圧縮方式の変動回数に基づいて前記更新頻度を決定する
ことを特徴とする請求項３に記載のサーバ。
【請求項６】
前記更新頻度決定部は、前記履歴において末尾の圧縮方式からさかのぼって連続して同一の圧縮方式が現れる回数に基づいて前記更新頻度を決定する
ことを特徴とする請求項５に記載のサーバ。
【請求項７】
前記圧縮方式決定部は、前記圧縮特性情報に基づいて複数の圧縮方式の中から圧縮方式を決定し、
前記更新頻度決定部は、前記生成された画像データを前記複数の圧縮方式のそれぞれで圧縮して圧縮率を計算し、各計算した圧縮率を記憶し、各計算した圧縮率の履歴に基づいて、前記更新頻度を決定する
ことを特徴とする請求項１に記載のサーバ。
【請求項８】
前記更新頻度決定部は、前記履歴において前記複数の圧縮方式のそれぞれについて圧縮率の最大値と最小値との差を計算し、各差の大きさが一定値以上である圧縮方式の個数に基づいて前記更新頻度を決定する
ことを特徴とする請求項７に記載のサーバ。
【請求項９】
前記更新頻度決定部は、
計算した圧縮率を計算時刻と関連づけて記憶し、
前記履歴において、前記計算時刻からまだ所定時間経過していないデータを特定し、
前記履歴において特定したデータのみを用いて前記更新頻度を決定する
ことを特徴とする請求項７または８に記載のサーバ。
【請求項１０】
前記更新頻度は更新時間間隔である
ことを特徴とする請求項１ないし９のいずれか一項に記載のサーバ。
【請求項１１】
前記ＧＵＩ部品の種別毎に、前記生成された画像データの累積面積、または前記画面において前記ＧＵＩ部品の種別が占める領域に対する累積面積の割合を計算する累積面積計算部をさらに備え、
前記更新部は、累積面積または前記累積面積の割合が面積閾値を超えたとき、前記圧縮特性情報を更新し、
前記更新頻度決定部は、前記更新頻度として、前記面積閾値を決定する
ことを特徴とする請求項１ないし９のいずれか一項に記載のサーバ。
【請求項１２】
画面上の複数の種別のグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品を含む表示画像の少なくとも一部の領域の画像データを圧縮してクライアント端末に送信する画面送信方法であって、
前記画面上の少なくとも一部の領域の画像データを生成する画像データ生成ステップと、
生成された画像データの領域に含まれるＧＵＩ部品の種別を判定する種別判定ステップと、
ＧＵＩ部品の種別毎に、画像データの圧縮特性に関する情報を含む圧縮特性情報を格納する圧縮特性情報格納部から、判定されたＧＵＩ部品の種別に対応する圧縮特性情報を読み出し、読み出した圧縮特性情報に基づいて圧縮方式を決定する圧縮方式決定ステップと、
決定された圧縮方式により前記生成された画像データを圧縮して圧縮データを生成する圧縮ステップと、
前記圧縮データを前記クライアント端末に送信する送信ステップと、
前記ＧＵＩ部品の種別毎に前記圧縮特性情報格納部における前記圧縮特性情報の更新頻度を決定する更新頻度決定ステップと、
前記ＧＵＩ部品の種別毎に決定された更新頻度に応じて前記圧縮特性情報を更新する更新ステップと、
を備えた画面送信方法。
【請求項１３】
画面上の複数の種別のグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品を含む表示画像の少なくとも一部の領域の画像データを圧縮してクライアント端末に送信するコンピュータにおいて実行するコンピュータプログラムであって、
前記画面上の少なくとも一部の領域の画像データを生成する画像データ生成ステップと、
生成された画像データの領域に含まれるＧＵＩ部品の種別を判定する種別判定ステップと、
ＧＵＩ部品の種別毎に圧縮方式を示す情報を含む圧縮特性情報を格納する圧縮特性情報格納部から、判定されたＧＵＩ部品の種別に対応する圧縮特性情報を読み出し、読み出した圧縮特性情報に基づいて圧縮方式を決定する圧縮方式決定ステップと、
決定された圧縮方式により前記生成された画像データを圧縮して圧縮データを生成する圧縮ステップと、
前記圧縮データを前記クライアント端末に送信する送信ステップと、
前記ＧＵＩ部品の種別毎に前記圧縮特性情報格納部における前記圧縮特性情報の更新頻度を決定する更新頻度決定ステップと、
前記ＧＵＩ部品の種別毎に決定された更新頻度に応じて前記圧縮特性情報を更新する更新ステップと、
を備えたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上の画像データを圧縮してクライアント端末に送信するサーバ、画面送信方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
ネットワークを介してサーバ端末からクライアント端末へ画面上のデスクトップ画像をパケット化してリアルタイムで配信する画面共有システムがある。このような画面共有システムでは、一方の端末のデスクトップ画像を遠隔地の両ユーザで共通して参照することが可能になり、ネットワークを介した両拠点間において効率的な共同作業環境が実現できる。
【０００３】
画面共有システムを構築する際には、サーバ端末のデスクトップ領域全体の描画内容を一定時間おきにクライアント端末に向けて配信するという方法と、デスクトップ領域の描画領域に更新が生じるごとにその変更部分のみを、その描画座標とともに配信するという方法がある。差分を配信する後者の方法では、描画内容の変化に応じて、必要な部分のみのデータ生成が行われるため、前者の方法と比較して、ネットワーク帯域を効率的に利用することができ、さらに単位時間当たりの描画コマ数を大きくできるなどといった利点がある。したがって、現在提供されている画面共有システムでは、差分データのみを配信する構成によりサービスが提供されることが多い。
【０００４】
また、サーバ端末において取得された画像データを送信する際には、適当な圧縮方式で圧縮処理を行うことにより、データ量を削減しネットワークの負荷を軽減する手法が一般的である。このとき用いられる圧縮方式にはさまざまな種類が存在する。たとえば、ＪＰＥＧ（Joint Photograph Experts Group）では、画像データの高周波成分を低周波数成分よりも粗く量子化することにより、特に写真画像などの自然画で高い圧縮率での圧縮を可能にしている。また、ＰＮＧ（Portable Network Graphics）では、ｇｚｉｐ（GNU zip）を利用することにより、特に文字画像などの単調画で高い圧縮率での圧縮を可能にしている。一般的に、サーバ端末のデスクトップにおいて描画される画像は、上記の様々な圧縮特性をもつ画像が混在する。したがって、少ないデータ量で効率よく画像データを伝送するためには、画像データの圧縮特性に関する情報（圧縮特性情報）に応じて、より高い圧縮率を示す方式を選んで処理を行うことが必要となる。
【０００５】
特許文献１では、送信しようとする画像データに対し複数の圧縮方式を適用し、圧縮率のより高い方式を採用することにより、データ量を効果的に削減することを可能にしている。
【０００６】
特許文献２では、画像データのビットマップから使用されている色数を算出し、その色数に応じて適切な圧縮方式を判断することにより、同じくデータ量削減の効果を得ることを可能にしている。
【０００７】
特許文献３では、画像データが含むグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品の種別に着目した方式を開示している。サーバ端末のデスクトップに表示される画像には、さまざまな種類のＧＵＩ部品が存在する。そこで特許文献３では、同じ種別のＧＵＩ部品が含む画像データは似た圧縮特性を持つという性質を利用し、ＧＵＩ部品の種別に対応して圧縮特性を示す情報を格納しておき、圧縮方式の決定時にはこの情報を参照して決定を行うことにより、表示画像の特性に応じて適切な圧縮方式を選択して高い圧縮率で圧縮することを可能にしている。
【特許文献１】特開平１０−１２６７７３号公報
【特許文献２】特開２００６−３３８２２６号公報
【特許文献３】特開２００６−２８５３０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１および特許文献２に記載される手法では、送信しようとする画像データに対し、複数の圧縮方式の圧縮後データ量を比較したり、色数を分析したりするといった判断処理を施すことで、適した圧縮方式を選択することができる。しかし、送信しようとする全ての画像データに対して判断処理を施す必要があり、したがってＣＰＵにかかる負荷が大きくなるという問題があった。
【０００９】
一方、特許文献３に記載される手法では、ＧＵＩ部品の種別ごとに圧縮特性情報を格納しておき、圧縮方式の決定の際にこの情報を参照することにより、適切な圧縮方式の選択を可能にしている。しかし本手法では、適切な圧縮方式を選ぶ精度を高く保つために所定の時間間隔おきに圧縮特性情報を更新する必要があり、圧縮特性情報が時間ごとに大きく変動するようなＧＵＩ部品と、ほぼ一定で変動しないＧＵＩ部品との両方とが混在する状況では、本来不要な更新処理が発生してしまうという問題がある。つまり、前者のタイプのＧＵＩ部品に関わる圧縮特性情報の精度を高く保つためには、更新の時間間隔をあらかじめ小さく設定しておかなければならないが、そうすると、頻繁な更新が不要な後者のタイプのＧＵＩ部品においても繰り返し更新が生じることになり、その結果、本来不要な処理がＣＰＵに課されてしまうこととなる。
【００１０】
このように従来の方式では、画像データに適用する圧縮方式を適正に選択することと、適切な圧縮方式を選択するために必要な処理のＣＰＵ負荷軽減を図ることとの両立が困難であるという問題があった。
【００１１】
本発明は上記課題を解決するためになされたもので、ＣＰＵに対する負荷を小さく抑えつつ、画像データに適用する圧縮方式を適正に選択できるようにしたサーバ、画面送信方法および画面送信プログラムを提供する。
【課題を解決するための手段】
【００１２】
本発明の一態様としてのサーバは、
画面上の複数の種別のグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品を含む表示画像の少なくとも一部の領域の画像データを圧縮してクライアント端末に送信するサーバであって、
前記画面上の少なくとも一部の領域の画像データを生成する画像データ生成部と、
生成された画像データの領域に含まれるＧＵＩ部品の種別を判定する種別判定部と、
ＧＵＩ部品の種別毎に、画像データの圧縮特性に関する情報を含む圧縮特性情報を格納する圧縮特性情報格納部と、
前記種別判定部で判定されたＧＵＩ部品の種別に対応する圧縮特性情報に基づいて圧縮方式を決定する圧縮方式決定部と、
決定された圧縮方式により前記生成された画像データを圧縮して圧縮データを生成する圧縮部と、
前記圧縮データを前記クライアント端末に送信する送信部と、
前記ＧＵＩ部品の種別毎に前記圧縮特性情報格納部における前記圧縮特性情報の更新頻度を決定する更新頻度決定部と、
前記ＧＵＩ部品の種別毎に決定された更新頻度に応じて前記圧縮特性情報を更新する更新部と、
を備えたことを特徴とする。
【００１３】
本発明の一態様としての画面送信方法は、
画面上の複数の種別のグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品を含む表示画像の少なくとも一部の領域の画像データを圧縮してクライアント端末に送信する画面送信方法であって、
前記画面上の少なくとも一部の領域の画像データを生成する画像データ生成ステップと、
生成された画像データの領域に含まれるＧＵＩ部品の種別を判定する種別判定ステップと、
ＧＵＩ部品の種別毎に圧縮方式を示す情報を含む圧縮特性情報を格納する圧縮特性情報格納部から、判定されたＧＵＩ部品の種別に対応する圧縮特性情報を読み出し、読み出した圧縮特性情報に基づいて圧縮方式を決定する圧縮方式決定ステップと、
決定された圧縮方式により前記生成された画像データを圧縮して圧縮データを生成する圧縮ステップと、
前記圧縮データを前記クライアント端末に送信する送信ステップと、
前記ＧＵＩ部品の種別毎に前記圧縮特性情報格納部における前記圧縮特性情報の更新頻度を決定する更新頻度決定ステップと、
前記ＧＵＩ部品の種別毎に決定された更新頻度に応じて前記圧縮特性情報を更新する更新ステップと、
を備えたことを特徴とする。
【００１４】
本発明の一態様としてのコンピュータプログラムは、
画面上の複数の種別のグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品を含む表示画像の少なくとも一部の領域の画像データを圧縮してクライアント端末に送信するコンピュータにおいて実行するコンピュータプログラムであって、
前記画面上の少なくとも一部の領域の画像データを生成する画像データ生成ステップと、
生成された画像データの領域に含まれるＧＵＩ部品の種別を判定する種別判定ステップと、
ＧＵＩ部品の種別毎に、画像データの圧縮特性に関する情報を含む圧縮特性情報を格納する圧縮特性情報格納部から、判定されたＧＵＩ部品の種別に対応する圧縮特性情報を読み出し、読み出した圧縮特性情報に基づいて圧縮方式を決定する圧縮方式決定ステップと、
決定された圧縮方式により前記生成された画像データを圧縮して圧縮データを生成する圧縮ステップと、
前記圧縮データを前記クライアント端末に送信する送信ステップと、
前記ＧＵＩ部品の種別毎に前記圧縮特性情報格納部における前記圧縮特性情報の更新頻度を決定する更新頻度決定ステップと、
前記ＧＵＩ部品の種別毎に決定された更新頻度に応じて前記圧縮特性情報を更新する更新ステップと、
を備えたことを特徴とする。
【発明の効果】
【００１５】
本発明により、ＣＰＵに対する負荷を小さく抑えつつ、画像データに適用する圧縮方式を適正に選択できる。
【発明を実施するための最良の形態】
【００１６】
以下に、添付図面を参照しながら、本発明の実施形態を説明する。
【００１７】
図１は、本発明の実施形態に係る画面共有システムの構成を示す。
【００１８】
この画面共有システムは、サーバとして機能する情報処理端末装置（サーバ端末）１と、サーバ端末１にネットワーク３を介して接続された、クライアントとして機能する情報処理端末装置（クライアント端末）２とを備える。サーバ端末１は、ネットワーク３を介してクライアント端末２と画面共有を実施する。サーバ端末１の画面には、複数の種別のグラフィカル・ユーザ・インタフェース（ＧＵＩ）部品を含む画像が表示されている。サーバ端末１は、デスクトップの画面の全体または一部の領域の画像データを圧縮およびパケット化してリアルタイムで配信する。
【００１９】
図２は、サーバ端末１の内部構成を示すブロック図である。
【００２０】
サーバ端末１は、その構成要素として、画面情報生成部１１と、圧縮方式決定部１２と、圧縮部１３と、通信部１４と、圧縮特性情報格納部１５と、更新部１６と、更新頻度情報格納部１７とを有する。これらの構成要素のうち、特に更新部１６と、更新頻度情報格納部１７とを備えることが、本実施形態において大きな特徴の１つとなる。以下ではまず各部の概要について説明し、その後、詳細な動作を説明する。
【００２１】
画面情報生成部１１は、サーバ端末１において実行されるＯＳ（Operating System）および各種アプリケーションの動作状態に応じて、画面情報（画像データと、画面上における画像データの位置情報とを含む）を生成する。
【００２２】
圧縮方式決定部１２は、画面情報生成部１１が生成した画像データが画面全体の中で占める領域に対し、その領域がどの種別のＧＵＩ部品に属するかを判定する。圧縮方式決定部は、ＧＵＩ部品の種別を判定する種別判定部を含む。
【００２３】
たとえば文書編集アプリケーションにおいては、ユーザの入力した文字や挿入した写真を表示するための表示部分、表示位置の変更を行うためのスクロールバー部分、アプリケーションの各機能を呼び出すためのボタン部分、編集中文書のタイトルを表示するためのタイトルバー部分などが存在する。あるいは、動画閲覧アプリケーションにおいては、動画の再生を行うための再生部分、動画の再生位置を制御するための制御部分、再生中の動画のタイトルやアーティスト名などを表示するための情報表示部分などが存在する。
【００２４】
圧縮方式決定部１２は、上記の手続きにより判定したＧＵＩ部品の種別をもとにして、圧縮特性情報格納部１５から、そのＧＵＩ部品の種別に関わる圧縮特性情報を取得する。そして得られた圧縮特性情報をもとにして、生成された画像データに対する圧縮方式を決定する。
【００２５】
圧縮部１３は、圧縮方式決定部１２において選定された圧縮方式を用いて、画像データを圧縮して圧縮データを生成する。
【００２６】
通信部１４は、圧縮部１３において生成された圧縮データと、画面上の位置情報と、選定された圧縮方式を示す情報とを、ネットワーク３を通じてクライアント端末２に送信する。
【００２７】
圧縮特性情報格納部１５は、ＧＵＩ部品の種別と圧縮特性情報とを対応付けたテーブルを有する。このテーブルは、ＧＵＩの種別を示す項目と、そのＧＵＩ種別に対応した、画像データの圧縮特性を示す項目とで構成される。圧縮特性には様々な形態が考えられ、たとえば、単純に最も適した圧縮方式であってもよいし、画像データを複数の圧縮方式で圧縮したときのそれぞれの平均的な圧縮率、画像データの特徴を表すデータ、画像データで使用される色数の最大値、単位面積あたりの平均的な圧縮処理時間などでもよい。圧縮方式決定部１２では、ＧＵＩ部品の種別毎に、圧縮特性に基づいて、生成された画像データに適用する圧縮方式を決定する。
【００２８】
更新頻度情報格納部１７は、ＧＵＩ部品の種別毎に、それぞれの圧縮特性情報を更新する頻度を決定するための更新頻度情報を格納したテーブルを有する。このテーブルは、ＧＵＩの種別を示す項目と、そのＧＵＩ種別に対応した更新頻度情報を示す項目とで構成される。更新頻度情報には様々な形態が考えられ、たとえば、画像データの特徴の時間的傾向、圧縮特性情報の過去の履歴、その他後述される種々のものがある。圧縮特性情報の具体例については後に詳しく述べる。
【００２９】
更新部１６は、ＧＵＩ部品の種別毎に、更新頻度情報格納部１７内の更新頻度情報に応じた頻度で、圧縮特性情報格納部１５内の圧縮特性情報を更新する。更新対象となるＧＵＩ部品の種別については、新たな圧縮特性情報を算出し、算出した圧縮特性情報によって、圧縮特性情報格納部１５を更新する。すなわち更新部１６は圧縮特性情報格納部１５に更新指示を出力し、圧縮特性情報格納部１５は、更新部１６からの指示にしたがって、該当するＧＵＩ部品の種別についての圧縮特性情報を更新する。
【００３０】
図３は、画面情報生成部１１、圧縮方式決定部１２、圧縮部１３、通信部１４および圧縮特性情報格納部１５間の動作シーケンスを示す図である。図３には、サーバ端末１において行われる、画像データの生成から、データ送信までの一連の流れが示される。
【００３１】
画面共有を実施している状態にあるとき、画面情報生成部１１は、サーバ端末１において実行されるＯＳおよび各種アプリケーションの動作状態に変化が生じ、ユーザへ提示する視覚的情報に更新が行われたことを契機として画像データの生成を行う。この画像データは、デスクトップのうち更新のあった部分に相当する矩形状の画像である。画面情報生成部１１は、この画像データとともに、デスクトップ上における画像の表示位置を示す矩形位置情報を生成する。
【００３２】
ここで矩形位置情報とは、図４に示すように、デスクトップの左上をｘｙ座標平面の原点、デスクトップの横幅をＷｉｄｔｈ、縦幅をＨｅｉｇｈｔとしたときの、更新画像の矩形の左上頂点の座標値（Ｌｅｆｔ，Ｔｏｐ）および右下頂点の座標値（Ｒｉｇｈｔ，Ｂｏｔｔｏｍ）である。以下では、この画像データと矩形位置情報とを合わせて画面情報と呼ぶことにする。
【００３３】
画像情報生成部１１は、画面情報を圧縮方式決定部１２に入力する（Ｓ３０１）。なお、本実施の形態では処理開始の契機を、ユーザに提示する視覚的情報に更新が行われたタイミングとしているが、これに限らなくともよい。たとえば定期的なタイミングでデスクトップ全体もしくは一部分の領域の画像データを取得し、これに矩形位置情報を付加して画面情報を生成してもよいし、あるいは、一回前の取得結果と比較して変更のあった部分を抽出してもよい。
【００３４】
次に、圧縮方式決定部１２は、画面情報生成部１１から画面情報が入力されると、画面情報に含まれる矩形位置情報から、その画像データの占める領域がどの種別のＧＵＩ部品に属するかを判定する。判定の方法は、たとえば、デスクトップに表示中の各ＧＵＩ部品の領域に関する情報を取得し、その情報をもとに種別を判定するという方法が考えられる。このとき、もし矩形位置情報が示す領域が複数のＧＵＩ部品にまたがっている場合は、いずれか一つのＧＵＩ部品の種別をもって判定結果とする方法を用いてもよいし、あるいは、複数のＧＵＩ部品をまたがないように画面情報に対し分割処理を施すという方法を用いてもよい。もし分割を行った場合は、分割後の画面情報の各々に対して以降の処理を行う。
【００３５】
次に、圧縮方式決定部１２は、画面情報に対応するＧＵＩ部品の種別の判定が完了すると、判定したＧＵＩ部品の種別を圧縮特性情報格納部１５に入力することにより、圧縮特性情報の読出しを依頼する（Ｓ３０２）。これを受けて圧縮特性情報格納部１５は、テーブルを参照し、ＧＵＩ部品の種別に対応する圧縮特性情報を圧縮方式決定部１２に出力する（Ｓ３０３）。このテーブルの例を図５に示す。
【００３６】
図５では、圧縮特性情報の例として、各ＧＵＩ部品をＪＰＥＧとＰＮＧの圧縮方式の各々で圧縮したときの圧縮率（前回の更新時に計算された値）を記載している。たとえば圧縮方式決定部１２からの入力が「文書編集：スクロールバー部分」なら、圧縮特性情報格納部１５は「ＪＰＥＧ圧縮率４０％、ＰＮＧ圧縮率２０％」という情報を出力する。
【００３７】
次に圧縮方式決定部１２は、得られた圧縮特性情報をもとにして圧縮方式を選定する（Ｓ３０４）。図５の例では、より圧縮率の高いＪＰＥＧを選定するものとする。圧縮方式決定部１２は選定した圧縮方式を画面情報と共に圧縮部１３に出力することにより画像データの圧縮を依頼する（Ｓ３０５）。
【００３８】
圧縮部１３は、圧縮方式決定部１２から、選定された圧縮方式と画面情報を受け取ると、選定された圧縮方式により画面情報に含まれる画像データの圧縮処理を行う（Ｓ３０６）。圧縮部１３は圧縮を完了すると、圧縮データと、矩形位置情報と、圧縮方式とを通信部１４に出力することにより、送信を依頼する（Ｓ３０７）。
【００３９】
通信部１４は、圧縮部１３から圧縮データと、矩形位置情報と、圧縮方式とを受け取ると、これらを含めた、ネットワーク３を通じて送信可能な形式のデータを作成する。通信部１４は作成したデータをクライアント端末２に向けて送信する。
【００４０】
図６は、更新部１６、圧縮特性情報格納部１５および更新頻度情報格納部１７間の動作シーケンスを説明する図である。以下図６を参照して更新部１６の基本的な動作について説明する。更新部１６は、任意の繰り返しタイミングで以下の処理を行う。
【００４１】
まず更新部１６は、任意のＧＵＩ部品の種別について、更新頻度情報格納部１７に対し更新頻度情報の読出しを依頼する（ステップＳ６０１）。
【００４２】
更新頻度情報格納部１７は、入力されたＧＵＩ部品の種別に対応する更新頻度情報をテーブルから探索し応答する（ステップＳ６０２）。
【００４３】
更新部１６は更新頻度情報を受け取ると、この情報をもとにして、該当のＧＵＩ部品の種別に対して圧縮特性情報の更新を行うか否かを判断する（ステップＳ６０３）。更新頻度情報の例、および圧縮特性情報の更新を行うか否かの判断の具体例については後述する。
【００４４】
更新を行う場合（ＹＥＳの場合）、更新部１６は該当のＧＵＩ部品の種別について圧縮特性情報の算出を行う（ステップＳ６０４）。圧縮特性情報の算出は、デスクトップに表示されている該当のＧＵＩ部品の画像全体または一部分を取得することにより可能である。たとえば図５の場合は、更新部１６は、該当のＧＵＩ部品の種別の領域の画像を取得し、取得画像をＪＰＥＧおよびＰＮＧのそれぞれで圧縮することにより圧縮特性情報を算出する。そしてこの算出した圧縮特性情報を圧縮特性情報格納部１５に通知することにより、圧縮特性情報の更新を依頼する（ステップＳ６０５）。
【００４５】
圧縮特性情報格納部１５は、更新部１６から受けた依頼に基づき、該当するＧＵＩ部品の種別について、圧縮特性情報を更新する。たとえば、図５の場合、圧縮特性情報格納部１５は、既に格納してある圧縮率の値をＯＬＤ（単位：％）、更新部１６から入力された圧縮率の値をＩＮ（単位：％）とおいた上で、ＮＥＷ＝（１−α）×ＯＬＤ＋α×ＩＮを計算し、計算された圧縮率ＮＥＷ（単位：％）の値でもって、自身に格納された圧縮特性情報を上書き更新する。ここでαは０から１までの範囲をとる一定のパラメータであり、たとえばα＝１であれば、更新部１６から入力された値でそのまま書き換えを行うことを意味する。
【００４６】
圧縮特性情報格納部１５は処理を完了するとその旨を更新部１６に通知し（ステップＳ６０６）、これにより本処理が完了する。Ｓ６０３で更新を行わないと判断された場合（ＮＯの場合）も本処理を終了する。
【００４７】
以下、更新頻度情報の例をいくつか示し、各々の場合につき、更新部１６が圧縮特性情報の更新を行うか否かをどのように判断するかの例を示す。
【００４８】
図７は、更新頻度情報の第１の例として、画像データの特徴の時間的傾向（画像データの性質）を示す。
【００４９】
たとえば文書編集アプリケーションの表示部分に関しては、文字などの比較的単調な部分と写真などの自然画とが混在して現れることが示され、また、同アプリケーションのスクロールバー部分に関しては、単調な描画がほぼ常になされることが示される。この情報は、あらかじめ静的に登録していてもよいし、更新部１６を含むプログラムの動作中にＧＵＩ部品の画像データを取得し動的に判断し、逐次更新するようにしてもよい。
【００５０】
図８は、更新部１６において更新を行うか否かの判断（図６のＳ６０３）の詳細フローを示す。
【００５１】
更新部１６は、ＧＵＩ部品の種別毎に、更新頻度情報格納部１７から更新頻度情報を取得し（Ｓ８０１）、１回前に行った圧縮特性情報の更新からの経過時間を算出する（Ｓ８０３）。
【００５２】
更新部１６は、ＧＵＩ部品の種別毎に、頻繁な更新が必要か否かを判断する（Ｓ８０３）。図７に示す例の場合、単調画と自然画とが混在して現れる表示部分に関しては圧縮特性情報の頻繁な更新が必要であると判断し、一方、常に単調画が現れるスクロールバー部分に関しては頻繁な更新は必要ない（比較的大きな時間間隔での更新で構わない）と判断する。
【００５３】
頻繁な更新が必要である場合は（Ｓ８０３のＹＥＳ）、Ｓ８０２で計算した前回の更新からの経過時間が、規定時間（たとえば１秒）以上経過していれば（Ｓ８０４のＹＥＳ）、更新を行うと判断し（Ｓ８０６）、経過していなければ（Ｓ８０４のＮＯ）まだ更新しないと判断する（Ｓ８０７）。
【００５４】
頻繁な更新が必要でない場合は（Ｓ８０３のＮＯ）、Ｓ８０２で計算した前回の更新からの経過時間が、Ｓ８０４のより大き目の規定時間（たとえば３秒）以上経過していれば（Ｓ８０５のＹＥＳ）更新を行うと判断し（Ｓ８０６）、経過していなければ（Ｓ８０５のＮＯ）、まだ更新しないと判断する（Ｓ８０７）。
【００５５】
このようにして、画像データの特徴の時間的傾向（画像データの性質）にもとづいて圧縮特性情報の更新頻度をＧＵＩ部品の種別ごとに調整でき、結果として、頻繁な更新が不要なＧＵＩ部品の種別については更新の回数を削減することが可能となる。したがって、圧縮特性情報の変動の大きさがＧＵＩ部品ごとで様々に異なるデスクトップ環境であっても、圧縮特性情報の精度を高く保ちつつＣＰＵ負荷軽減を図ることが可能になる。
【００５６】
図９は、更新頻度情報の第２の例として、過去における圧縮方式の履歴を示す。本例では過去５回分の履歴が記されている。
【００５７】
この情報の作成は、更新部１６が図６のステップＳ６０４において、該当のＧＵＩ部品の種別に対してＪＰＥＧとＰＮＧのぞれぞれで圧縮率を算出し、より大きな圧縮率が得られた圧縮方式を更新頻度情報格納部１７に通知することによって可能である。このようにして作成した更新頻度情報をもとにして、更新部１６は図６のステップＳ６０３において、該当のＧＵＩ部品の種別に対して圧縮特性情報の頻繁な更新（図８のＳ８０３参照）が必要であるか否かを判断することができる。
【００５８】
すなわち、図示の例では、文書編集アプリケーションの表示部分において過去５回のうちＪＰＥＧが３回、ＰＮＧが２回選定されていることから、当部分では画像データの特徴が比較的変動しやすく、頻繁な更新が必要である（Ｓ８０３のＹＥＳ）と判断できる。反対にスクロールバー部分は５回すべてがＰＮＧであるため、当部分では頻繁な更新は必要ない（Ｓ８０３のＮＯ）と判断できる。判断後は、図７で示した例と同様に、頻繁な更新が必要なＧＵＩ部品の種別に対して短い経過時間を閾値として更新の有無を判断できる（Ｓ８０４）。
【００５９】
あるいは、別の判定方法として、文書編集アプリケーションの表示部分ではＰＮＧ→ＪＰＥＧの切り替わりが２回、ＪＰＥＧ→ＰＮＧの切り替わりが１回、計３回の切り替わりが発生していることから、規定の閾値（たとえば２回）を超える回数の切り替わりが生じたときに頻繁な更新が必要である（Ｓ８０３のＹＥＳ）と判断してもよい。
【００６０】
以上の通り、選定結果（更新部１６で計算された圧縮率が最も大きい圧縮方式）の履歴を利用することによっても、ＧＵＩ部品の種別ごとに更新頻度を調整することが可能になる。
【００６１】
さらに精度の高い調整を行うための方法として、あるＧＵＩ部品の種別に対して同じ圧縮方式が連続して選択された場合には、圧縮特性情報の更新を行うまでの経過時間の閾値をより大きな値に変更するという方法も考えられる。この場合に更新頻度情報格納部１７に格納される更新頻度情報の例（第３の例）を図１０に示す。この更新頻度情報は、圧縮方式（ＪＰＥＧまたはＰＮＧ）と、連続回数（整数値）とによって構成される。初期時、圧縮方式はＪＰＥＧまたはＰＮＧのいずれか一方であり、連続回数は０にされている。この情報の作成は、更新部１６が図６のステップＳ６０４において、図１１のフローに従うことで可能である。より詳細には以下の通りである。
【００６２】
更新部１６は、該当のＧＵＩ部品の種別に対して、ＪＰＥＧとＰＮＧのそれぞれについて圧縮率を算出し（Ｓ１１０１、Ｓ１１０２）、圧縮率が大きい方の圧縮方式を選択する（Ｓ１１０３）。
【００６３】
更新部１６は、前回選択された圧縮方式を記憶しており、今回選択された圧縮方式が前回と一致しているか否かを判定する（ステップＳ１１０４）。
【００６４】
一致していれば（ＹＥＳ）、更新部１６は更新頻度情報格納部１７に対し、該当のＧＵＩ部品の種別に対する連続回数を１インクリメントするよう依頼する（ステップＳ１１０５）。
【００６５】
一致していなければ（ＮＯ）、更新頻度情報格納部１７に格納された圧縮方式を今回選択された圧縮方式で上書きし、連続回数を１でリセットするよう依頼する（ステップＳ１１０６）。
【００６６】
このようにして作成した更新頻度情報をもとにして、更新部１６は、図６のステップＳ６０３で更新の必要の有無を判断するときに、この連続回数を加味して判断を行うことができる。すなわち、図１２に示すように、連続回数と、経過時間の閾値とを対応づけたテーブルを用意し、連続回数に応じた経過時間の閾値をもとに判断を行う。このテーブルにおいては、連続回数が小さいほど小さい閾値が対応づけられ、連続回数が大きいほど大きい閾値が対応付けられている。よって、連続回数が小さければ、小さい経過時間の閾値で判断を行い、連続回数が大きければ、大きい経過時間の閾値で判断を行う。
【００６７】
例えば図１０の「文書編集：スクロールバー部分」のように、効率的な圧縮方式がＰＮＧのままほとんど変わらない（連続回数が大きい）ＧＵＩ部品の種別については圧縮特性情報の更新時間間隔が大きくなり、また「文書編集：表示部分」のように、効率的な圧縮方式が比較的頻繁に切り替わる（連続回数が小さい）ＧＵＩ部品の種別については圧縮特性情報の更新時間間隔が小さくなる。
【００６８】
以上の手順によって、圧縮方式の直近の選定結果を反映した、精度の高い更新頻度の調整を行うことが可能になる。
【００６９】
図１３には、更新頻度情報の第４の例として、圧縮特性情報の過去の履歴を示す。ここでは圧縮特性情報として図５のようなＪＰＥＧおよびＰＮＧによる圧縮率を採用した場合を想定している。
【００７０】
更新部１６は、図６のステップＳ６０４において、該当のＧＵＩ部品の種別に対してＪＰＥＧとＰＮＧの各々の圧縮率を算出し、その値を更新頻度情報格納部１７に入力する。図示の例では過去３回分の算出結果が記録されている。更新部１６は図６のステップＳ６０３において、この過去の履歴を参照することで、画像データの特徴に関する過去の平均的な傾向を判断に加味することができる。すなわち、過去の圧縮率の変動幅を見て、その最大値と最小値との差をＪＰＥＧとＰＮＧのそれぞれについて算出し、いずれの差も規定の閾値（例えば２０％）以下であれば頻繁な更新は不要と判断し、そうでなければ（少なくとも１つの差が規定の閾値より大きければ）必要と判断する。こうした方法を用いることによっても上記と同様の効果を得ることが可能である。
【００７１】
図１４は、更新頻度情報の第５の例として、図１３に示した更新頻度情報にさらにその算出時刻（アプリケーション起動時からの経過時間で定義。単位：ミリ秒）を付け加えたものを示す。
【００７２】
更新部１６は、図６のステップＳ６０３において判断を行う際に、現在時刻を取得し、「現在時刻−算出時刻」が規定時間以上経過した古いデータについては判断に加味しないといった処理を行うことができる。
【００７３】
たとえば算出時刻から１５０００ミリ秒以上経過したデータは判断に加味しないとの規定をもうけたとする。この場合、「文書編集：表示部分」に対しステップＳ６０３の処理を行う際、現在時刻が５５０００であるとすると、算出時刻が４００００以前である時刻１のデータは無視した上で図１３と同様の処理を行う。このように、最近に取得したデータのみを用いることにより、判断の精度を高めることが可能である。
【００７４】
以上、更新頻度情報の例を述べた。
【００７５】
これまでは、更新部１６が更新を行うか否かの判断を、前回の更新からの経過時間が閾値を超えたか否かに基づいていたが（図８のＳ８０４、Ｓ８０５参照）、経過時間と異なる基準により、更新を行うか否かを判断することも可能である。例えば、画面情報生成部１１において画面情報が生成されるごとにその画像データの面積をカウントし、累積の面積がある閾値を超えたか否かを判断の基準としてもよい。このときの処理手順を図１５、図１６、図１７を用いて説明する。ただし、ここでの説明では更新頻度情報として図１０で説明した連続回数を採用する。
【００７６】
図１５は画面情報生成部１１、圧縮方式決定部１２、圧縮部１３、通信部１４、圧縮特性情報格納部１５および更新部１６間の動作シーケンスの一例を示す。
【００７７】
圧縮方式決定部１２は、図３に示した手順と同様に圧縮方式の決定までを行ったら（ステップＳ１５０１〜Ｓ１５０４）、画面情報に含まれる矩形位置情報から画像データの面積を算出する。算出した面積とＧＵＩ部品の種別とを合わせて面積情報と定義する。
【００７８】
圧縮方式決定部１２は、面積情報を更新部１６に通知することにより、記録を依頼する（ステップＳ１５０５）。
【００７９】
更新部１６は、受け取った面積情報に含まれる面積の値をＧＵＩ部品の種別ごとに累積して記録する。
【００８０】
圧縮方式決定部１２は、更新部１６から記録完了の通知を受け取り（ステップＳ１５０６）、その後、図３と同様にして圧縮部１３に圧縮依頼を行う（ステップＳ１５０７）。圧縮部１３は画像データの圧縮を行い、通信部１４に圧縮データ、位置情報および圧縮方式を含めたデータの送信を依頼する。
【００８１】
一方、更新部１６は、任意の繰り返しのタイミングで、図６のＳ６０３において、図１７に示す手順に従って、圧縮特性情報の更新を行うか否かを判断する。
【００８２】
まず更新部１６は、任意のＧＵＩ部品の種別について、更新頻度情報格納部１７から更新頻度情報として連続回数を取得し（ステップＳ１７０１）、図１６に例示する表を参照して連続回数に対応する累積面積の閾値を読み出す（ステップＳ１７０２）。この表は、連続回数と、累積面積の閾値とを対応付けたものであり、連続回数が高いほど、閾値が大きくなり、連続回数が小さいほど、閾値も小さくなっている。
【００８３】
次に更新部１６は、該当のＧＵＩ部品がデスクトップにおいて占める面積をＯＳから取得し、ステップＳ１５０５で記録した累積面積が、このうちのどれだけの割合に達しているかを算出する。更新部１６は、画像データの累積面積、または画面において該当ＧＵＩ部品の種別が占める領域に対する累積面積の割合を計算する累積面積計算部を備えていてもよい。
【００８４】
そして、更新部１６は、ステップＳ１７０２で読み出した閾値と、この累積面積の割合とを比較し（ステップＳ１７０３）、累積面積の割合が閾値を超えていれば（ＹＥＳ）、圧縮特性情報の更新が必要と判断し（ステップＳ１７０４）、超えていなければ不要と判断する（ステップＳ１７０５）。ここでは累積面積の割合と閾値との関係に基づいて更新が必要かどうかを判断したが、累積面積と閾値との関係に基づいて判断を行っても良い。
【００８５】
以上のように、画面情報生成部１１が生成する画面データの面積の累積値にもとづいて圧縮特性情報の更新を行うか否かの判断を行うことにより、描画の発生が頻繁に起こるようなＧＵＩ部品の種別に対応する圧縮特性情報がより重点的に更新されるという効果が期待できる。
【００８６】
以上のように、本発明の実施形態によれば、ＧＵＩ部品の種別ごとに圧縮特性情報の変動の大きさに応じて、圧縮特性情報の更新を行う頻度をそれぞれ別個に定めることができる。したがって、圧縮特性情報の変動の大きさがＧＵＩ部品ごとに様々に異なるデスクトップ環境において、圧縮特性情報の不要な更新を抑えることができ、その結果、ＣＰＵに与える負荷を小さく抑えつつ、画像データに適用する圧縮方式を適正に選択することが可能となる。
【００８７】
以上、具体的な手順を挙げながら、本発明の実施形態について説明を行った。なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。その一例は上記手順中においていくつか述べてきた。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態に係る画面共有システムの構成を示す図。
【図２】サーバ端末の内部構成を示すブロック図。
【図３】画面情報生成部、圧縮方式決定部、圧縮部、通信部および圧縮特性情報格納部間の動作シーケンスを説明する図。
【図４】矩形位置情報を説明する図。
【図５】圧縮特性情報の一例を示す図。
【図６】更新部、圧縮特性情報格納部および更新頻度情報格納部間の動作シーケンスを説明する図。
【図７】更新頻度情報の第１の例を示す図。
【図８】圧縮特性情報を更新するか否かの判断を行う処理のフローを示すフローチャート。
【図９】更新頻度情報の第２の例を示す図。
【図１０】更新頻度情報の第３の例を示す図。
【図１１】図１０の更新頻度情報を更新する処理の流れを示すフローチャート。
【図１２】図１０の更新頻度情報に示される連続回数を、経過時間の閾値と対応づけたテーブルを示す図。
【図１３】更新頻度情報の第４の例を示す図。
【図１４】更新頻度情報の第５の例を示す図。
【図１５】サーバ端末において行われる、画像データの生成から、データ送信までの一連の処理の流れの他の例を示すシーケンス図。
【図１６】図１０の更新頻度情報に示される連続回数を、累積面積の閾値と対応付けたテーブルを示す図。
【図１７】圧縮特性情報を更新するか否かの判断を行う処理の他の例のフローを示すフローチャート。
【符号の説明】
【００８９】
１：サーバ端末
２：クライアント端末
３：ネットワーク
１１：画面情報生成部
１２：圧縮方式決定部
１３：圧縮部
１４：通信部
１５：圧縮特性情報格納部
１６：更新部
１７：更新頻度情報格納部
【図１】
2010055280.tif 000003
【図２】
2010055280.tif 000004
【図３】
2010055280.tif 000005
【図４】
2010055280.tif 000006
【図５】
2010055280.tif 000007
【図６】
2010055280.tif 000008
【図７】
2010055280.tif 000009
【図８】
2010055280.tif 000010
【図９】
2010055280.tif 000011
【図１０】
2010055280.tif 000012
【図１１】
2010055280.tif 000013
【図１２】
2010055280.tif 000014
【図１３】
2010055280.tif 000015
【図１４】
2010055280.tif 000016
【図１５】
2010055280.tif 000017
【図１６】
2010055280.tif 000018
【図１７】
2010055280.tif 000019