(57)【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する仮想クライアント部と、
前記画面データを圧縮符号化する画像エンコード部と、
前記描画コマンドを圧縮符号化する描画コマンドエンコード部と、
ネットワークを介してサーバ装置に接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する帯域計測部と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択部と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出するパケット送受信部と、を備える、前記サーバ装置。
【請求項２】
前記選択部は、計測した帯域が所定の閾値以上である場合、圧縮符号化した前記画面データを選択し、それ以外の場合、圧縮符号化した前記描画コマンドを選択する、請求項１に記載のサーバ装置。
【請求項３】
前記応答パケットは、前記サーバ装置から前記端末に向けて送出されたパケットのデータサイズ、および、前記パケットの前記端末による受信時刻を含み、
前記帯域計測部は、前記応答パケットに含まれる前記データサイズおよび前記受信時刻に基づいて前記ネットワークの帯域を計測する、請求項１または２に記載のサーバ装置。
【請求項４】
前記画像エンコード部は、前記画面データが表す画像のうちの第１の領域に相当するデータを、第１の圧縮符号化方式に基づいて圧縮符号化する第１の画像エンコーダと、
前記画像から前記第１の領域を除いた第２の領域に相当するデータを、第２の圧縮符号化方式に基づいて圧縮符号化する第２の画像エンコーダと、を有する、請求項１ないし３のいずれか１項に記載のサーバ装置。
【請求項５】
前記第１の領域は、前記画面データが表す画像のうちの動画領域であり、
前記第２の領域は、前記画面データが表す画像のうちの静止画領域である、請求項４に記載のサーバ装置。
【請求項６】
アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する仮想クライアント部と、
前記画面データを圧縮符号化する画像エンコード部と、
前記描画コマンドを圧縮符号化する描画コマンドエンコード部と、
ネットワークを介してサーバ装置に接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する帯域計測部と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択部と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出するパケット送受信部と、を備える前記サーバ装置に対して、前記ネットワークを介して接続し、
圧縮符号化された前記画面データを復号する画像デコード部と、
圧縮符号化された前記描画コマンドを復号化する描画コマンドデコーダと、
復号化された前記描画コマンドを実行することで前記画面データを生成する画面描画部と、を備える、端末。
【請求項７】
前記画像エンコード部は、前記画面データが表す画像のうちの第１の領域に相当するデータを第１の圧縮符号化方式に基づいて圧縮符号化する第１の画像エンコーダと、
前記画像から前記第１の領域を除いた第２の領域に相当するデータを第２の圧縮符号化方式に基づいて圧縮符号化する第２の画像エンコーダと、を有し、
前記画像デコード部は、前記第１の画像エンコーダにより圧縮符号化されたデータを復号化する第１の画像デコーダと、
前記第２の画像エンコーダにより圧縮符号化されたデータを復号化する第２の画像デコーダと、を有し、
前記端末は、前記第１の画像デコーダにより復号化された前記第１の領域のデータおよび前記第２の画像デコーダにより復号化された前記第２の領域のデータを足し合わせて、前記画面データが表す画像を生成する画面表示部を備える、請求項６に記載の端末。
【請求項８】
サーバ装置と、
ネットワークを介して前記サーバ装置に接続する端末と、を備え、
前記サーバ装置は、アプリケーションソフトウェアを動作させて描画コマンドを実行することで画面データを生成する仮想クライアント部と、
前記画面データを圧縮符号化する画像エンコード部と、
前記描画コマンドを圧縮符号化する描画コマンドエンコード部と、
前記端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて前記ネットワークの帯域を計測する帯域計測部と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択部と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出するパケット送受信部と、を有し、
前記端末は、圧縮符号化された前記画面データを復号する画像デコード部と、
圧縮符号化された前記描画コマンドを復号化する描画コマンドデコーダと、
復号化された前記描画コマンドを実行することで前記画面データを生成する画面描画部と、を有する、シンクライアントシステム。
【請求項９】
サーバ装置が、アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する生成工程と、
前記画面データまたは前記描画コマンドを圧縮符号化する符号化工程と、
ネットワークを介して前記サーバ装置に接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する計測工程と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択工程と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出する送出工程と、を含む、画面送信方法。
【請求項１０】
アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する生成処理と、
前記画面データまたは前記描画コマンドを圧縮符号化する符号化処理と、
ネットワークを介してコンピュータに接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する計測処理と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択処理と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出する送出処理と、を前記コンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−２５０８８７号（２０１２年１１月１５日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明はサーバ装置、端末、シンクライアントシステム、画面送信方法およびプログラムに関し、特に、携帯端末等の端末がモバイルネットワーク等のネットワークを介してリモートでサーバ装置にアクセスしサーバ装置上の仮想クライアントを操作するシンクライアントシステム、シンクライアントシステムにおけるサーバ装置、端末、画面送信方法およびプログラムに関する。
【背景技術】
【０００２】
近年、企業等では、高度なセキュリティを確保するために、シンクライアントの使用が普及し始めている。シンクライアントとは、端末から、あたかも実際の端末を操作するようにサーバ装置上の仮想クライアントを操作し仮想クライアント上でアプリケーションを動作させて画面情報を生成するとともに、生成した画面情報を端末に転送して端末で表示する技術をいう。シンクライアントによると、端末にはデータが一切残らないため、端末を紛失しても秘密情報、企業情報等が外部に漏れるおそれがないという利点がある。【０００３】
特許文献１には、ネットワークを介して接続されたシンクライアント端末とサーバ装置を備えたシンクライアントシステムにおいて、クライアント端末の処理部におけるクロック周波数をネットワーク帯域を考慮して制御することで、クライアント端末の消費電力を削減する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０７０５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。【０００６】
サーバ装置側でアプリケーションを動作させて画面を生成し、生成した画面を圧縮して端末に転送し、端末で画面を復号して表示するシンクライアント方式によると、画面の状況にかかわらず常に画像コーデックを用いて画面を圧縮符号化して転送した場合、サーバ装置から端末に転送するデータ量が増大するという問題がある。特に、ネットワークの帯域幅が狭い場合、データの転送に遅延が発生し、端末での画面更新が遅くなったり、反応が遅くなったりする問題がある。【０００７】
一方、サーバ装置から画面そのものを転送する代わりに、端末で当該画面を生成するための画面描画コマンドを、サーバ装置から端末に転送する方法が知られている。かかる方法によると、画面の動きが少ない場合、上記シンクライアント方式と比較して、サーバ装置から端末に転送するデータ量を削減することができる。しかしながら、画面が複雑で動きが大きい場合、サーバ装置から端末に転送するコマンドが大幅に増えるため、当該画面を描画させるための端末での処理負荷が上記シンクライアント方式と比較して大幅に増大する。このとき、端末での処理時間が増大し、応答性が低下するという問題がある。また、端末での処理負荷の増大により、端末の電力使用量も増大するという問題もある。【０００８】
そこで、シンクライアントサーバ装置とクライアント端末との間のネットワークの帯域が変動した場合に、クライアント端末における画面表示の遅延を防ぐことが要望される。本発明の目的は、かかる要望に寄与するサーバ装置、携帯端末、シンクライアントシステム、画面送信方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の視点に係るサーバ装置は、
アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する仮想クライアント部と、
前記画面データを圧縮符号化する画像エンコード部と、
前記描画コマンドを圧縮符号化する描画コマンドエンコード部と、
ネットワークを介してサーバ装置に接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する帯域計測部と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択部と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出するパケット送受信部と、を備える。
【００１０】
本発明の第２の視点に係る端末は、
アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する仮想クライアント部と、
前記画面データを圧縮符号化する画像エンコード部と、
前記描画コマンドを圧縮符号化する描画コマンドエンコード部と、
ネットワークを介してサーバ装置に接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する帯域計測部と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択部と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出するパケット送受信部と、を備える、前記サーバ装置に対して、前記ネットワークを介して接続し、
圧縮符号化された前記画面データを復号する画像デコード部と、
圧縮符号化された前記描画コマンドを復号化する描画コマンドデコーダと、
復号化された前記描画コマンドを実行することで前記画面データを生成する画面描画部と、を備える。
【００１１】
本発明の第３の視点に係るシンクライアントシステムは、
サーバ装置と、
ネットワークを介して前記サーバ装置に接続する端末と、を備え、
前記サーバ装置は、アプリケーションソフトウェアを動作させて描画コマンドを実行することで画面データを生成する仮想クライアント部と、
前記画面データを圧縮符号化する画像エンコード部と、
前記描画コマンドを圧縮符号化する描画コマンドエンコード部と、
前記端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて前記ネットワークの帯域を計測する帯域計測部と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択部と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出するパケット送受信部と、を有し、
前記端末は、圧縮符号化された前記画面データを復号する画像デコード部と、
圧縮符号化された前記描画コマンドを復号化する描画コマンドデコーダと、
復号化された前記描画コマンドを実行することで前記画面データを生成する画面描画部と、を有する。
【００１２】
本発明の第４の視点に係る画面送信方法は、
サーバ装置が、アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する生成工程と、
前記画面データまたは前記描画コマンドを圧縮符号化する符号化工程と、
ネットワークを介して前記サーバ装置に接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する計測工程と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択工程と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出する送出工程と、を含む。
【００１３】
本発明の第５の視点に係るプログラムは、
アプリケーションソフトウェアを用いて描画コマンドを実行することで画面データを生成する生成処理と、
前記画面データまたは前記描画コマンドを圧縮符号化する符号化処理と、
ネットワークを介してコンピュータに接続する端末に向けて送出されたパケットに対する前記端末からの応答パケットに基づいて、前記ネットワークの帯域を計測する計測処理と、
計測した帯域に応じて、圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのいずれを前記端末に送出するかを選択する選択処理と、
圧縮符号化した前記画面データおよび圧縮符号化した前記描画コマンドのうちの選択された一方を前記端末に送出する送出処理とを、前記コンピュータに実行させる。
なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することができる。
【発明の効果】
【００１４】
本発明に係るサーバ装置、携帯端末、シンクライアントシステム、方法およびプログラムによると、シンクライアントサーバ装置とクライアント端末との間のネットワークの帯域が変動した場合に、クライアント端末における画面表示の遅延を防ぐことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係るシンクライアントシステムの接続構成を一例として示す図である。
【図２】第１の実施形態に係るシンクライアントシステムにおけるサーバ装置の構成を一例として示すブロック図である。
【図３】第１の実施形態に係るシンクライアントシステムにおけるサーバ装置に含まれる制御部の構成を一例として示すブロック図である。
【図４】第１の実施形態に係るシンクライアントシステムにおけるサーバ装置に含まれる画像エンコード部の構成を一例として示すブロック図である。
【図５】第１の実施形態に係るシンクライアントシステムにおける携帯端末に搭載されるクライアントソフトウェアの構成を一例として示すブロック図である。
【発明を実施するための形態】
【００１６】
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
図１は、本発明に係るシンクライアントシステムの接続構成を一例として示す図である。図１を参照すると、シンクライアントシステムは、シンクライアントサーバに相当するサーバ装置（110）と、シンクライアント端末に相当する端末であって、ネットワーク（例えば、モバイルネットワーク150）を介してサーバ装置（110）に接続する端末（例えば、携帯端末170）と、を備える。
【００１８】
図２は、サーバ装置（110）の構成を一例として示すブロック図である。また、図３は、サーバ装置（110）に含まれる制御部（185）の構成を一例として示すブロック図である。図２および図３を参照すると、サーバ装置（110）は、アプリケーションソフトウェアを動作させて描画コマンドを実行することで画面データを生成する仮想クライアント部（211）と、画面データを圧縮符号化する画像エンコード部（186）と、描画コマンドを圧縮符号化する描画コマンドエンコード部（183）と、端末（170）に向けて送出されたパケットに対する端末（170）からの応答パケットに基づいてネットワーク（150）の帯域を計測する帯域計測部（203）と、計測した帯域に応じて、圧縮符号化した画面データおよび圧縮符号化した描画コマンドのいずれを端末（170）に送出するかを選択する選択部（202）と、圧縮符号化した画面データおよび圧縮符号化した描画コマンドのうちの選択された一方を端末（170）に送出するパケット送受信部（176）と、を備える。
【００１９】
図５は、端末（170）に搭載されるクライアントソフトウェア（171）の構成を一例として示すブロック図である。図５を参照すると、端末（170）は、圧縮符号化された画面データを復号する画像デコード部（254）と、圧縮符号化された描画コマンドを復号化する描画コマンドデコーダ（259）と、復号化された描画コマンドを実行することで画面データを生成する画面描画部（260）と、を有する。
【００２０】
選択部（202）は、計測した帯域が所定の閾値以上である場合、圧縮符号化した画面データを選択し、それ以外の場合、圧縮符号化した描画コマンドを選択してもよい。
【００２１】
かかるシンクライアントシステムによると、シンクライアントサーバ装置とクライアント端末との間のネットワークの帯域が変動した場合に、クライアント端末における画面表示の遅延を防ぐことが可能となる。なぜなら、ネットワークの帯域が狭い場合に、圧縮符号化した画面データよりもデータ量の小さい圧縮符号化した描画コマンドをクライアント端末に送出し、クライアント端末で描画コマンドを実行して画面データを生成することで、データ転送の遅延による画面表示の遅延を防ぐことができるからである。
【００２２】
図４は、サーバ装置（110）に含まれる画像エンコード部（186）の構成を一例として示すブロック図である。図４を参照すると、画像エンコード部（186）は、画面データが表す画像のうちの第１の領域（例えば、動画領域）に相当するデータを第１の圧縮符号化方式に基づいて圧縮符号化する第１の画像エンコーダ（227）と、画像から第１の領域を除いた第２の領域（例えば、静止画領域）に相当するデータを第２の圧縮符号化方式に基づいて圧縮符号化する第２の画像エンコーダ（228）と、を備える。また、図５を参照すると、端末（170）の画像デコード部（254）は、第１の画像エンコーダ（227）により圧縮符号化されたデータを復号化する第１の画像デコーダ（252）と、第２の画像エンコーダ（228）により圧縮符号化されたデータを復号化する第２の画像デコーダ（253）とを有し、端末（170）は第１の画像デコーダ（252）により復号化された第１の領域（動画領域）のデータおよび第２の画像デコーダ（253）により復号化された第２の領域（静止画領域）のデータを足し合わせて、画面データが表す画像を生成する画面表示部（256）を備えていてもよい。
【００２３】
かかるシンクライアントシステムによると、画面データが表す画像に動画領域および静止画領域が含まれる場合に、画面データのすべてを圧縮符号化してサーバ装置（110）から端末（170）に送出したときと比較して、サーバ装置（110）において圧縮符号化すべきデータ量、サーバ装置（110）から端末（170）に対して送出すべきデータ量、および、端末（170）において復号化すべきデータ量を、いずれも削減することができる。したがって、かかるシンクライアントシステムによると、サーバ装置（110）および端末（170）での処理負荷および処理時間を削減し、データ送信時間も削減することができる。
【００２４】
なお、本発明において、下記の形態が可能である。
［形態１］
上記第１の視点に係るサーバ装置のとおりである。
［形態２］
前記選択部は、計測した帯域が所定の閾値以上である場合、圧縮符号化した前記画面データを選択し、それ以外の場合、圧縮符号化した前記描画コマンドを選択してもよい。
［形態３］
前記応答パケットは、前記サーバ装置から前記端末に向けて送出されたパケットのデータサイズ、および、当該パケットの前記端末による受信時刻を含み、
前記帯域計測部は、前記応答パケットに含まれる前記データサイズおよび前記受信時刻に基づいて前記ネットワークの帯域を計測してもよい。
［形態４］
前記画像エンコード部は、前記画面データが表す画像のうちの第１の領域に相当するデータを第１の圧縮符号化方式に基づいて圧縮符号化する第１の画像エンコーダと、
前記画像から前記第１の領域を除いた第２の領域に相当するデータを第２の圧縮符号化方式に基づいて圧縮符号化する第２の画像エンコーダと、を有していてもよい。
［形態５］
前記第１の領域は、前記画面データが表す画像のうちの動画領域であり、
前記第２の領域は、前記画像データが表す画像のうちの静止画領域であってもよい。
［形態６］
上記第２の視点に係る端末のとおりである。
［形態７］
前記画像エンコード部は、前記画面データが表す画像のうちの第１の領域に相当するデータを第１の圧縮符号化方式に基づいて圧縮符号化する第１の画像エンコーダと、
前記画像から前記第１の領域を除いた第２の領域に相当するデータを第２の圧縮符号化方式に基づいて圧縮符号化する第２の画像エンコーダと、を有し、
前記画像デコード部は、前記第１の画像エンコーダにより圧縮符号化されたデータを復号化する第１の画像デコーダと、
前記第２の画像エンコーダにより圧縮符号化されたデータを復号化する第２の画像デコーダと、を有し、
前記端末は、前記第１の画像デコーダにより復号化された前記第１の領域のデータおよび前記第２の画像デコーダにより復号化された前記第２の領域のデータを足し合わせて、前記画面データが表す画像を生成する画面表示部を備えていてもよい。
［形態８］
前記第１の領域は、前記画面データが表す画像のうちの動画領域であり、
前記第２の領域は、前記画像データが表す画像のうちの静止画領域であってもよい。
［形態９］
上記第３の視点に係るシンクライアントシステムのとおりである。
［形態１０］
前記選択部は、計測した帯域が所定の閾値以上である場合、圧縮符号化した前記画面データを選択し、それ以外の場合、圧縮符号化した前記描画コマンドを選択してもよい。
［形態１１］
前記応答パケットは、前記サーバ装置から前記端末に向けて送出されたパケットのデータサイズ、および、当該パケットの前記端末による受信時刻を含み、
前記帯域計測部は、前記応答パケットに含まれる前記データサイズおよび前記受信時刻に基づいて前記ネットワークの帯域を計測してもよい。
［形態１２］
前記画像エンコード部は、前記画面データが表す画像のうちの第１の領域に相当するデータを第１の圧縮符号化方式に基づいて圧縮符号化する第１の画像エンコーダと、
前記画像から前記第１の領域を除いた第２の領域に相当するデータを第２の圧縮符号化方式に基づいて圧縮符号化する第２の画像エンコーダと、を有していてもよい。
［形態１３］
前記画像デコード部は、前記第１の画像エンコーダにより圧縮符号化されたデータを復号化する第１の画像デコーダと、
前記第２の画像エンコーダにより圧縮符号化されたデータを復号化する第２の画像デコーダと、を有し、
前記端末は、前記第１の画像デコーダにより復号化された前記第１の領域のデータおよび前記第２の画像デコーダにより復号化された前記第２の領域のデータを足し合わせて、前記画面データが表す画像を生成する画面表示部を備えていてもよい。
［形態１４］
前記第１の領域は、前記画面データが表す画像のうちの動画領域であり、
前記第２の領域は、前記画像データが表す画像のうちの静止画領域であってもよい。
［形態１５］
上記第４の視点に係る画面送信方法のとおりである。
［形態１６］
前記選択工程において、計測した帯域が所定の閾値以上である場合、圧縮符号化した前記画面データを選択し、それ以外の場合、圧縮符号化した前記描画コマンドを選択してもよい。
［形態１７］
画面送信方法は、前記画面データが表す画像のうちの第１の領域に相当するデータを第１の圧縮符号化方式に基づいて圧縮符号化する工程と、
前記画像から前記第１の領域を除いた第２の領域に相当するデータを第２の圧縮符号化方式に基づいて圧縮符号化する工程と、を含んでいてもよい。
［形態１８］
前記第１の領域は、前記画面データが表す画像のうちの動画領域であり、
前記第２の領域は、前記画像データが表す画像のうちの静止画領域であってもよい。
［形態１９］
上記第５の視点に係るプログラムのとおりである。
［形態２０］
前記選択処理において、計測した帯域が所定の閾値以上である場合、圧縮符号化した前記画面データを選択し、それ以外の場合、圧縮符号化した前記描画コマンドを選択してもよい。
［形態２１］
前記プログラムは、前記画面データが表す画像のうちの第１の領域に相当するデータを第１の圧縮符号化方式に基づいて圧縮符号化する処理と、
前記画像から前記第１の領域を除いた第２の領域に相当するデータを第２の圧縮符号化方式に基づいて圧縮符号化する処理とを、前記コンピュータに実行させてもよい。
［形態２２］
前記第１の領域は、前記画面データが表す画像のうちの動画領域であり、
前記第２の領域は、前記画像データが表す画像のうちの静止画領域であってもよい。
【００２５】
（実施形態１）
第１の実施形態に係るシンクライアントシステムの構成および動作について、図面を参照して詳細に説明する。ここでは、シンクライアントシステムの一例として、シンクライアント端末に相当する携帯端末がネットワークを経由してシンクライアントサーバに相当するサーバ装置にアクセスするリモート型携帯通信システムについて説明する。ただし、本発明に係るシンクライアントシステムの適用対象は、かかるシステムに限定されない。
【００２６】
図１は、本実施形態に係るシンクライアントシステムの接続構成を一例として示す。図１は、ネットワークとして、モバイルネットワーク150を用いる例を示す。また、図１は、パケット転送装置として、SGSN/GGSN装置を用いる場合の構成を示す。ここで、SGSN/GGSN装置とは、SGSN (Serving General packet radio service Support Node)装置とGGSN (Gateway General packet radio service Support Node)装置を一体化した装置である。また、図１は、一例として、シンクライアントのサーバ装置110がクラウド網130上に配置されており、クラウド網130とモバイルネットワーク150とが接続された構成を示す。
【００２７】
図１において、エンドユーザは、携帯端末170をクラウド網130に配置されたサーバ装置110の仮想クライアントに接続し、仮想クライアントをあたかも実端末を操作するように操作する。そのために、携帯端末170のクライアントソフトから、モバイルネットワーク150上の基地局装置194、RNC (Radio Network Controller)装置195およびSGSN/GGSN装置190を経由して、サーバ装置110に対し、操作信号を格納したパケット（操作信号パケット）を送出する。ここで、操作信号とは、携帯端末170でのキー操作、画面へのタッチ操作、文字入力、スクロール等の操作により、携帯端末170からサーバ装置110に送出される信号である。
【００２８】
携帯端末170に搭載されたクライアントソフトのパケット送信部から送出された操作信号パケットは、モバイルネットワーク150上に設けられた基地局装置194、RNC装置195およびSGSN/GGSN装置190を介して、クラウド網130上のサーバ装置110に到達する。これにより、サーバ装置110は、操作信号を受信する。操作信号を送出するときのプロトコルとして、既存のプロトコルを使用することができる。ここでは、一例として、UDP/IP (User Datagram Protocol/Internet Protocol)を用いるものとする。ただし、TCP/IP (Transmission Control Protocol/Internet Protocol)等を用いることもできる。
【００２９】
図２は、サーバ装置110の構成を一例として示すブロック図である。図２を参照すると、サーバ装置110は、操作信号パケット受信部182、仮想クライアント部211、画面キャプチャ部180、描画コマンド収集部181、制御部185、画像エンコード部186、オーディオエンコード部187、描画コマンドエンコード部183、パケット送受信部176、および、パケット送信部177を備える。
【００３０】
操作信号パケット受信部182は、携帯端末170から、基地局装置194、RNC装置195およびSGSN/GGSN装置190を経由して、操作信号を格納したパケットを受信する。操作信号パケット受信部182は、受信したUDP/IPパケットから操作信号を抽出し、仮想クライアント部211に出力する。
【００３１】
仮想クライアント部211は、各種サービスに対応したアプリケーションソフト、制御部、画面生成部、キャッシュメモリ等を有する。また、サーバ装置110の外部からアプリケーションソフトの更新を容易に行える構成となっている。仮想クライアント部211は、操作信号パケット受信部182から入力した操作信号を解析し、操作信号で指定されたアプリケーションソフトを起動し、アプリケーションソフトおよびOS (Operating System)により、予め定められた画面解像度で画面を生成し、生成した画面を画面キャプチャ部180に出力する。さらに、仮想クライアント部211は、画面を生成・描画する際に実行される描画コマンドを、描画コマンド収集部181に出力する。
【００３２】
描画コマンド収集部181は、仮想クライアント部211から出力される描画コマンド群を画面毎に収集し、画面毎に一旦保存した上で、制御部185に出力する。
【００３３】
画面キャプチャ部180は、予め定められた画面解像度およびフレームレートで、前記画面をキャプチャして出力する。
【００３４】
画面キャプチャ部180は、キャプチャした画面を予め定められたサイズの複数個のブロックに分割する。ここでは、一例として、ブロックのサイズを、１６画素×１６ラインとする。ただし、他のサイズ、例えば、８画素×８ラインや４画素×４ライン等を用いることもできる。ブロックのサイズを小さくするに従って、制御部185における判別精度が向上するものの、制御部185による処理量は増大する。画面キャプチャ部180は、分割したブロックを制御部185に出力する。
【００３５】
図３は、制御部185の構成を一例として示すブロック図である。図３を参照すると、制御部185は、帯域計測部203および選択部202を有する。
【００３６】
帯域計測部203は、ネットワークの帯域を計測する。
【００３７】
選択部202は、帯域計測部203で求めた帯域計測値に基づいて、画面を転送するか、描画コマンドを転送するかを判別する。
【００３８】
帯域計測部203は、予め定められたタイミングで、図２に示すパケット送受信部176に対して、特定のパケット（プローブパケット）を送出するように指示する。パケット送受信部176は、指示に従って、指示を受けたタイミングで特定のパケットを携帯端末170に向けて、複数パケット以上連続して送出する。
【００３９】
ここで、複数パケットとは、２つ以上のパケットをいう。また、送出する順番は予め定められた順番とし、例えば、データサイズの小さいパケットからデータサイズの大きいパケットまで順番に送出する。さらに、パケットと次のパケットの間の時間間隔は、予め定められた時間区間とする。ここで、パケットを送出するためのプロトコルとして、一例として、UDP/IPを使用することができる。ただし、パケットを送出するためのプロトコルは、これに限定されない。
【００４０】
パケット送受信部176は、携帯端末170からの応答パケットを受信する。ここで、応答パケットは、例えば、携帯端末170で遅延の閾値以下で受信できたデータサイズ、パケットの番号、サーバ装置110からの送信時刻、携帯端末170での受信時刻の情報を含む。
【００４１】
パケット送受信部176は、受信した応答パケットから、遅延の閾値以下で受信できたデータサイズ、パケットの番号、サーバ装置110からの送信時刻、携帯端末170での受信時刻の情報を抽出し、これらを図３の帯域計測部203に出力する。
【００４２】
帯域計測部203は、遅延の閾値以下で受信できたデータサイズ、パケットの番号、サーバ装置110からの送信時刻、携帯端末170での受信時刻の情報を受け取り、式（１）に従ってネットワークの帯域Wを算出する。
【００４３】
D(N)/W = R(N) - R(N - 1)      （１）
【００４４】
式（１）において、D(N)はサーバ装置110からN番目に送出したパケットのパケットサイズを示す。ここで、N、D(N)には、それぞれ、携帯端末170において遅延の閾値以下で受信できたパケットの番号、データサイズを入力する。また、R(N)はサーバ装置110からN番目に送出したパケットの携帯端末170での受信時刻を示す。一方、R(N - 1)はサーバ装置110からN - 1番目に送出したパケットの携帯端末170での受信時刻を示す。
【００４５】
次に、帯域計測部203は、帯域計測値Wを、式（２）に基づいて時間的に平滑化する。
【００４６】
B(n) = (1 - β) B (n - 1) + βW      （２）
【００４７】
式（２）において、B(n)は第n時刻の平滑化後の帯域計測値を示す。また、βは0＜β＜1の範囲の定数である。なお、帯域計測部203は、不要な場合（例えば、帯域の変動が乏しい場合）、式（２）基づく時間方向の平滑化を省略してもよい。
【００４８】
図２のパケット送受信部176は、例えば、セッション接続時のみ、または、セッション接続時およびセッション接続時を基点とし予め定められた時間間隔毎に、ネットワーク帯域計測に必要な情報を携帯端末170に送出するとともに、定期的に携帯端末170から応答信号を受信する。
【００４９】
図３の選択部202は、帯域計測部203から、ネットワーク帯域計測値B(n)を受け取る。ネットワーク帯域計測値B(n)が予め定められた閾値Th1以上である場合、選択部202は、画面転送と判断する。この場合、選択部202は、フラグFを0とし、図２の画像エンコード部186およびパケット送受信部176に対して、フラグFを出力する。
【００５０】
一方、帯域計測値B(n)が閾値Th1未満である場合、選択部202は、コマンド転送と判断する。この場合、選択部202は、フラグFを1とし、図２の描画コマンドエンコード部183およびパケット送受信部176に対して、フラグFを出力する。
【００５１】
図４は、画像エンコード部186の構成を一例として示すブロック図である。図4を参照すると、画像エンコード部186は、第１の画像エンコーダ227および第２の画像エンコーダ228を備える。
【００５２】
第１の画像エンコーダ227は、制御部185からフラグFを入力し、フラグFが0、すなわち、画面転送の場合、画面キャプチャ部180から画像信号を入力し、予め定められた動画エンコーダを用いて圧縮符号化した上で圧縮後のビットストリームを図２のパケット送受信部176に出力する。ここでは、予め定められた動画エンコーダとして、H.264を用いるものとする。ただし、他の既存の動画コーデック、例えば、MPEG (Moving Picture Experts Group)-4はHEVC (High Efficiency Video Coding)等を用いることもできる。さらに、第１の画像エンコーダ227は、動画領域の領域情報を図２のパケット送受信部176に出力する。
【００５３】
第２の画像エンコーダ228は、画像キャプチャ部180からキャプチャ画像を入力し、制御部185からフラグFを入力し、フラグFが0のとき、静止領域の範囲を入力し、静止画の場合は、静止画コーデックを用いて画像を圧縮符号化し、図２のパケット送受信部176に出力する。ここでは、第２の画像エンコーダ228は、静止画コーデックとして、JPEG (Joint Photographic Experts Group) 2000を用いるものとする。ただし、他の既存のコーデック、例えば、JPEG等を用いることもできる。
【００５４】
描画コマンドエンコード部183は、制御部185からフラグFを入力し、フラグFが1、すなわち、描画コマンド転送の場合、描画コマンド収集部181から画面毎に描画コマンド群を入力し、予め定められた圧縮方式により描画コマンド群をロスレス符号化し、圧縮符号化した結果をパケット送受信部176に出力する。ここで、描画コマンド収集部181は、予め定められた圧縮方式として、Zip圧縮方式等の既存のロスレス符号化方式を用いることができる。
【００５５】
次に、画面にオーディオが付随する場合は、オーディオエンコード部187は、画面キャプチャ部180から画面に付随するオーディオ信号を入力し、オーディオエンコーダにより圧縮符号化して図２のパケット送信部177に出力する。ここでは、オーディオエンコード部187は、オーディオエンコーダとして、MPEG-4 AAC (Advanced Audio Coding)を用いるものとする。ただし、オーディオエンコード部187は、他の既存のオーディオエンコーダを用いることもできる。
【００５６】
図２に戻ると、パケット送受信部176は、制御部185からフラグFを受け取る。また、パケット送受信部176は、フラグFが0の場合、画像エンコード部186から圧縮符号化ビットストリームを受け取り、フラグFが1の場合、描画コマンドエンコード部183から圧縮符号化された描画コマンドを受け取る。さらに、パケット送受信部176は、フラグF、圧縮符号化されたビットストリーム、圧縮符号化された描画コマンドをパケットのペイロード部に格納し、予め定められたプロトコルによるパケットを構築して、図１のSGSN/GGSN装置190に送出する。ここでは、パケット送受信部176は、予め定められたプロトコルとして、UDP/IPを用いるものとする。ただし、パケット送受信部176は、既存のプロトコルとして、RTP (Real-time Transport Protocol)/UDP/IP、TCP/IP等を用いることもできる。
【００５７】
さらに、パケット送受信部176は、携帯端末170から受信した応答信号を図３の帯域計測部203に出力する。
【００５８】
パケット送信部177は、オーディオ信号に対する圧縮符号化ビットストリームをパケットのペイロードに格納し、予め定められたプロトコルによるパケットを構築して、SGSN/GGSN装置190に送出する。ここでは、パケット送信部177は、予め定められたプロトコルとして、UDP/IPを用いるものとする。ただし、パケット送受信部177は、既存のプロトコルとして、RTP/UDP/IP、TCP/IP等を用いることもできる。
【００５９】
図１のSGSN/GGSN装置190は、サーバ装置110から受信したパケットを、GTP-U (General packet radio service Tunneling Protocol User plane)プロトコルによりトンネリングしてRNC装置195に転送する。
【００６０】
RNC装置195は、受信したパケットを、基地局装置194を通して無線により携帯端末170に送出する。
【００６１】
本実施形態では、携帯端末170は、クライアントソフトウェアを有する。クライアントソフトウェアは、ユーザが携帯端末170を操作したときの操作信号をサーバ装置110に送出するとともに、サーバ装置110からのパケットを受信し、圧縮符号化ストリームをデコードして表示させる。
【００６２】
図５は、クライアントソフトウェア171の構成を一例として示すブロック図である。図５を参照すると、クライアントソフトウェア171は、パケット送受信部250、第１の画像デコーダ252、第２の画像デコーダ253、描画コマンドデコーダ259、画面描画部260、画面表示部256、パケット受信部251、オーディオデコーダ255、操作信号生成部257、および、パケット送信部258を備える。
【００６３】
パケット送受信部250は、パケットを受信し、パケットに格納された、フラグF、圧縮符号化ビットストリーム、圧縮符号化された描画コマンド情報を取り出す。フラグFが0、すなわち、画面転送を示す場合、パケット送受信部250は、第１の画像エンコーダ227（図４）によってエンコードされた圧縮符号化ビットストリームを選択抽出し、第１の画像デコーダ252に出力する。また、パケット送受信部250は、第２の画像エンコーダ228（図４）によってエンコードされた圧縮符号化ビットストリームを、第２の画像デコーダ253に出力する。
【００６４】
第１の画像デコーダ252は、圧縮符号化されたストリームを受け取り、圧縮符号化されたストリームをデコードして画面表示部256に出力する。また、第１の画像デコーダ252は、動画領域情報も画面表示部256に出力する。ここでは、第１の画像デコーダ252として、例えば、H.264デコーダを用いるものとする。ただし、第１の画像デコーダ252として、他の既存の画像デコーダ、例えば、MPEG-4デコーダ等を用いることもできる。なお、サーバ装置110の画像エンコード部186における第１の画像エンコーダ227と、第１の画像デコーダ252との間で、同一種類の符号化を用いることは言うまでもない。
【００６５】
第２の画像デコーダ253は、圧縮符号化されたストリームを受け取り、その他の領域に対して圧縮符号化されたストリームをデコードして画面表示部256に出力する。また、第２の画像デコーダ253は、その他の領域情報を画面表示部256に出力する。
【００６６】
画面表示部256は、第１の画像デコーダ252から、第１の領域情報と第１の領域における画像信号を受け取り、第２の画像デコーダ253から、その他の領域情報とその他の領域における画像信号を受け取る。また、画像表示部256は、第１の領域情報を用いて、第１の画像デコーダ252からの出力画像を第１の領域に表示させ、その他の領域情報を用いて、第２の画像デコーダ253からの出力画像をその他の領域に表示させる。このようにして、画面表示部256は、各々の領域の画像信号を組み合わせて表示画面を生成して、出力する。
【００６７】
パケット送受信部250は、フラグFが1の場合、すなわち、描画コマンド転送の場合、圧縮符号化された描画コマンド情報を選択抽出して描画コマンドデコーダ259に出力する。
【００６８】
描画コマンドデコーダ259は、予め定められたデコード方式により圧縮復号して画面毎に描画コマンド群を画面描画部260に出力する。ここで、描画コマンドデコーダ259は、予め定められたデコード方式として、例えば、Zip方式を用いることができる。ただし、描画コマンドデコーダ259は、デコード方式として、他の既存の方式を用いてもよい。
【００６９】
画面描画部260は、画面毎に描画コマンド群を受け取り、画面を描画生成し、生成した画面を画面表示部256に出力する。
【００７０】
さらに、パケット送受信部250は、受信したプローブパケットに対する応答信号パケットをネットワークに送出する。ここで、パケット送受信部250は、例えば、以下のように応答信号を生成する。
【００７１】
パケット送受信部250は、図２のパケット送受信部176から送出された複数個のプローブパケットの各々を受信し、各パケットに対する遅延時間T(n)を、式（３）に基づいて計測する。
【００７２】
T(n) = R(n) - S(n)      （３）
【００７３】
式（３）において、T(n)、R(n)およびS(n)は、それぞれ、第n番目のパケットの遅延時間、第n番目のパケットの受信時刻、および、第n番目のパケットの送信時刻を示す。
【００７４】
また、パケット送受信部250は、各パケット間の遅延差分τ(n)を式（４）に基づいて算出する。
τ(n) = T(n) - T(n - 1)      （４）
【００７５】
式（４）において、τ(n)はn番目のパケットの遅延差分を示す。
【００７６】
次に、パケット送受信部250は、τ(n)を用いて、遅延差分が予め定められた閾値以上であるか否かを判別する。パケット送受信部250は、τ(n)≧Th3の場合、n番目のパケットで遅延差分が閾値以上となったものと判別する。そして、第１のパケット送受信部250は、応答信号として、N = nとして、Nの値、第N番目のパケットのデータサイズ、N - 1番目のパケットのデータサイズ、各々の受信時刻、送信時刻を応答信号パケットのペイロードに格納した上で、サーバ装置110に対して送出する。
【００７７】
ここで、閾値Th3は予め定めておいてもよいし、τ(n)の一連の数値を参照した上でその都度決定してもよい。
【００７８】
また、パケット送受信部250は、判別法として、他の方法を用いることもできる。例えば、パケット送受信部250は、T(n)を閾値と比較し、閾値以上となった時点のnをNとするようにしてもよい。
【００７９】
パケット受信部251は、パケットを受信し、パケットに格納されたオーディオに関する圧縮符号化ビットストリームを取り出し、オーディオデコーダ255に出力する。
【００８０】
オーディオデコーダ255は、圧縮符号化ストリームを受け取り、デコードした上で、画面部分と同期をとって出力する。オーディオデコーダ255として、例えばMPEG-4 AACを用いることができる。ただし、オーディオデコーダ255として、他の既存のオーディオデコーダを使用してもよい。なお、サーバ装置110のオーディオエンコード部187におけるオーディオエンコーダと、オーディオデコーダ255との間で、同一種類の符号化を用いることは言うまでもない。
【００８１】
操作信号生成部257は、ユーザが携帯端末170に対して入力した操作、例えば、画面タッチ、画面スクロール、アイコンタッチ、文字入力等を検出し、各々に対する操作信号を生成してパケット送信部258に出力する。
【００８２】
パケット送信部258は、操作信号を受け取り、予め定められたプロトコルによるパケットに格納して、ネットワークに送出する。パケット送信部258は、予め定められたプロトコルとして、TCP/IP、UDP/IP等を用いることができる。ただし、パケット送信部258が用いるプロトコルは、これらに限定されない。
【００８３】
本実施形態に係るシンクライアントシステムについて、種々の変形が可能である。
【００８４】
帯域計測部203における帯域計測の手法として、他の既存の手法を用いることもできる。ネットワーク帯域計測のタイミングとして、セッション接続時に１回、プローブパケットを送出することにより計測するようにしてもよい。一方、セッション接続時にプローブパケットを送出し、それ以降、予め定められた時間間隔毎にプローブパケットを送出しながらセッションが切断されるまで計測するようにしてもよい。ネットワーク帯域幅が時間的に変動する場合、後者の手法によると、帯域幅の時間的変動に追随することができる。
【００８５】
選択部202における判別手法として、他の既存の手法を用いることもできる。
【００８６】
図１に示したモバイルネットワーク150として、モバイルLTE/EPC (Long Term Evolution/Evolved Packet Core)ネットワークとすることもできる。また、モバイルネットワーク150として、WiMax (Worldwide Interoperability for Microwave Access)網やWiFi (Wireless Fidelity)網とすることもできる。さらに、モバイルネットワーク150として、固定網、NGN (Next Generation Network)網、インターネットとすることもできる。ただし、この場合には、携帯端末170の代わりに、固定端末、PC (Personal Computer)等からの接続となる。
【００８７】
図１では、サーバ装置110をクラウド網130に配置したが、インターネット網に配置することもできる。また、企業にシンクライアントのサーバを置く場合は、サーバ装置110を企業網に配置することもできる。また、他の構成として、通信事業者自身がシンクライアントのサーバを設置する場合、モバイルネットワーク150、固定網またはNGN網上に、サーバ装置110を配置することもできる。
【００８８】
本発明によると、ネットワークを介してシンクライアントを使う場合、サーバ装置側からプローブパケット送出してネットワークの帯域を計測し、計測値に基づき画面を転送するか描画コマンドを転送するかのいずれかを判別し、これらを切り替えて転送する。したがって、データ量、ネットワーク遅延量、端末での負荷量のバランスをとることが可能となる。これにより、シンクライアントシステムにおいて、データ量の大幅な増加、応答時間の大幅な遅延、端末での処理負荷の大幅な増加を防ぐことができる。
【００８９】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９０】
110    サーバ装置
130    クラウド網
150    モバイルネットワーク
170    携帯端末
171    クライアントソフトウェア
176    パケット送受信部
177    パケット送信部
180    画面キャプチャ部
181    描画コマンド収集部
182    操作信号パケット受信部
183    描画コマンドエンコード部
185    制御部
186    画像エンコード部
187    オーディオエンコード部
190    SGSN/GGSN装置
194    基地局装置
195    RNC装置
202    選択部
203    帯域計測部
211    仮想クライアント部
227    第１の画像エンコーダ
228    第２の画像エンコーダ
250    パケット送受信部
251    パケット受信部
252    第１の画像デコーダ
253    第２の画像デコーダ
254    画像デコード部
255    オーディオデコーダ
256    画面表示部
257    操作信号生成部
258    パケット送信部
259    描画コマンドデコーダ
260    画面描画部
【図１】
0005983761.tif 000002
【図２】
0005983761.tif 000003
【図３】
0005983761.tif 000004
【図４】
0005983761.tif 000005
【図５】
0005983761.tif 000006