(57)【要約】【課題】画面フレームのうち低い画質で送信された部分の画質を改善させることを可能とする画面データ送信方法を提供する。【解決手段】  第１の画面フレームに含まれる複数のブロックの各々について、前記第１の画面フレームよりも前の第２の画面フレームに含まれ、対応する位置にあるブロックと所定量を超える差分があるか否かを検出する差分検出ステップと、前記差分検出ステップの検出結果が肯定的であるブロックのデータを圧縮符号化して送信する第１の送信ステップと、前記第１の送信ステップに送信された符号の前記第１の画面フレームあたりの総量が所定のしきい値未満であるか否かを判断する判断ステップと、前記判断ステップによる判断結果が肯定的である場合に、前記第１の送信ステップによりデータが圧縮符号化されたブロック以外のブロックのうちの全て又は一部のブロックのデータを圧縮符号化して送信する第２の送信ステップと、を備える。【選択図】図１０
2010062626.tif 000002
【特許請求の範囲】
【請求項１】
第１の画面フレームに含まれる複数のブロックの各々について、前記第１の画面フレームよりも前の第２の画面フレームに含まれ、対応する位置にあるブロックと所定量を超える差分があるか否かを検出する差分検出手段と、
前記差分検出手段の検出結果が肯定的であるブロックのデータを圧縮符号化して送信する第１の送信手段と、
前記第１の送信手段に送信された符号の前記第１の画面フレームあたりの総量が所定のしきい値未満であるか否かを判断する判断手段と、
前記判断手段による判断結果が肯定的である場合に、前記第１の送信手段によりデータが圧縮符号化されたブロック以外のブロックのうちの全て又は一部のブロックのデータを圧縮符号化して送信する第２の送信手段と、
を備えることを特徴とする画面データ送信装置。
【請求項２】
請求項１に記載の画面データ送信装置において、
前記第２の送信手段は、所定の画質未満の画質に対応する符号化パラメータを用いて過去にデータが圧縮符号化されて送信されたブロックのデータを前記所定の画質以上の画質に対応する符号化パラメータを用いてデータを圧縮符号化して送信することを特徴とする画面データ送信装置。
【請求項３】
請求項２に記載の画面データ送信装置において、
前記第２の送信手段によりデータが圧縮符号化されて送信されるブロックとして、前記所定の画質未満の画質に対応する符号化パラメータを用いて或る過去にデータが圧縮符号化されて送信されたブロックのデータを、前記所定の画質未満の画質に対応する符号化パラメータを用いて前記或る過去よりも近い過去にデータが圧縮符号化されて送信されたブロックのデータよりも優先して圧縮符号化して送信することを特徴とする画面データ送信装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の画面データ送信装置において、
第１の送信手段により送信された符号の前記第１の画面フレームあたりの総量と前記第２の送信手段により送信された符号の前記第１の画面フレームあたりの総量との和が前記しきい値未満である間、前記選択手段は、ブロックの選択を続け、前記第２の送信手段はデータの圧縮符号化と送信を続けることを特徴とする画面データ送信装置。
【請求項５】
第１の画面フレームに含まれる複数のブロックの各々について、前記第１の画面フレームよりも前の第２の画面フレームに含まれ、対応する位置にあるブロックと所定量を超える差分があるか否かを検出する差分検出ステップと、
前記差分検出ステップの検出結果が肯定的であるブロックのデータを圧縮符号化して送信する第１の送信ステップと、
前記第１の送信ステップに送信された符号の前記第１の画面フレームあたりの総量が所定のしきい値未満であるか否かを判断する判断ステップと、
前記判断ステップによる判断結果が肯定的である場合に、前記第１の送信ステップによりデータが圧縮符号化されたブロック以外のブロックのうちの全て又は一部のブロックのデータを圧縮符号化して送信する第２の送信ステップと、
を備えることを特徴とする画面データ送信方法。
【請求項６】
請求項５に記載の画面データ送信方法において、
前記第２の送信ステップは、所定の画質未満の画質に対応する符号化パラメータを用いて過去にデータが圧縮符号化されて送信されたブロックのデータを前記所定の画質以上の画質に対応する符号化パラメータを用いてデータを圧縮符号化して送信することを特徴とする画面データ送信方法。
【請求項７】
請求項６に記載の画面データ送信方法において、
前記第２の送信ステップによりデータが圧縮符号化されて送信されるブロックとして、前記所定の画質未満の画質に対応する符号化パラメータを用いて或る過去にデータが圧縮符号化されて送信されたブロックのデータを、前記所定の画質未満の画質に対応する符号化パラメータを用いて前記或る過去よりも近い過去にデータが圧縮符号化されて送信されたブロックのデータよりも優先して圧縮符号化して送信することを特徴とする画面データ送信方法。
【請求項８】
請求項５乃至７のいずれか１項に記載の画面データ送信方法において、
第１の送信ステップにより送信された符号の前記第１の画面フレームあたりの総量と前記第２の送信ステップにより送信された符号の前記第１の画面フレームあたりの総量との和が前記しきい値未満である間、前記選択ステップは、ブロックの選択を続け、前記第２の送信ステップはデータの圧縮符号化と送信を続けることを特徴とする画面データ送信方法。
【請求項９】
第１の画面フレームに含まれる複数のブロックの各々について、前記第１の画面フレームよりも前の第２の画面フレームに含まれ、対応する位置にあるブロックと所定量を超える差分があるか否かを検出する差分検出ステップと、
前記差分検出ステップの検出結果が肯定的であるブロックのデータを圧縮符号化して送信する第１の送信ステップと、
前記第１の送信ステップに送信された符号の前記第１の画面フレームあたりの総量が所定のしきい値未満であるか否かを判断する判断ステップと、
前記判断ステップによる判断結果が肯定的である場合に、前記第１の送信ステップによりデータが圧縮符号化されたブロック以外のブロックのうちの全て又は一部のブロックのデータを圧縮符号化して送信する第２の送信ステップと、
を備えることを特徴とする画面データ送信方法をコンピュータに実行させる画面データ送信プログラム。
【請求項１０】
請求項９に記載の画面データ送信プログラムにおいて、
前記第２の送信ステップは、所定の画質未満の画質に対応する符号化パラメータを用いて過去にデータが圧縮符号化されて送信されたブロックのデータを前記所定の画質以上の画質に対応する符号化パラメータを用いてデータを圧縮符号化して送信することを特徴とする画面データ送信プログラム。
【請求項１１】
請求項１０に記載の画面データ送信プログラムにおいて、
前記第２の送信ステップによりデータが圧縮符号化されて送信されるブロックとして、前記所定の画質未満の画質に対応する符号化パラメータを用いて或る過去にデータが圧縮符号化されて送信されたブロックのデータを、前記所定の画質未満の画質に対応する符号化パラメータを用いて前記或る過去よりも近い過去にデータが圧縮符号化されて送信されたブロックのデータよりも優先して圧縮符号化して送信することを特徴とする画面データ送信プログラム。
【請求項１２】
請求項９乃至１１のいずれか１項に記載の画面データ送信プログラムにおいて、
第１の送信ステップにより送信された符号の前記第１の画面フレームあたりの総量と前記第２の送信ステップにより送信された符号の前記第１の画面フレームあたりの総量との和が前記しきい値未満である間、前記選択ステップは、ブロックの選択を続け、前記第２の送信ステップはデータの圧縮符号化と送信を続けることを特徴とする画面データ送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面データを送信する画面データ送信装置、画面データ送信方法及び画面データ送信プログラムに関し、特に、サーバ装置からシンクライアント(thin client)に画面を送信する画面データ送信装置、画面データ送信方法及び画面データ送信プログラムに関する。
【背景技術】
【０００２】
近年、シンクライアント及びそれに対応したサーバを有するシンクライアントシステムが普及してきている。シンクライアントシステムにおいては、サーバがアプリケーションプログラムやデータファイルを保有し、シンクライアントは、必要最低限の機能を有する。
【０００３】
画面転送型のシンクライアントシステムにおいては、シンクライアントの画面に表示する画面データもサーバが保有する。そして、変化のあった画面データをサーバからシンクライアントに送信し、シンクライアントは、サーバから送られてきた画面データを基に、表示画面データを再構築する。
【０００４】
次に、変化のあった画面データをサーバからシンクライアントに送信するための基本的な画面データ送信装置について説明する。
【０００５】
図１を参照すると、基本的な画面データ送信装置は、ブロック化部８０１、フレームメモリ８０３、減算器８０５、ブロック間差分検出部８０７、送信ブロック判断部８０９、符号化部８１１及びバッファ８１３を含む。
【０００６】
ブロック化部８０１は、入力した画面データの順序を入れ替えることにより画面データを符号化ブロックにブロック化する。符号化ブロックは例えば、図２に示すように３２画素×３２画素のサイズを有する。
【０００７】
フレームメモリ８０３は、画面データを１フレーム遅延させる。
【０００８】
減算器８０５は、現在の画素の値から１フレーム前の同一位置の画素の値を減算する。
【０００９】
ブロック間差分検出部８０７は、各ブロックに含まれる画素の減算器８０５による減算値を基に、現在のブロックと１フレーム前の同一位置のブロックとの間の差分を検出する。例えば、ブロック間差分検出部８０７は、ブロックに含まれる全ての画素についての減算値の絶対値の和をブロック間差分とする。また、例えば、ブロック間差分検出部８０７は、ブロックに含まれる全ての画素の減算値の絶対値のうち最大の絶対値をブロック間差分とする。
【００１０】
送信ブロック判断部８０９は、現在のブロックの画面データをシンクライアントに送信するべきか否かを判断する。例えば、送信ブロック判断部８０９は、ブロック間差分の値が所定の送信判断用のしきい値よりも大きければ、現在のブロックの画面データをシンクライアントに送信するべきであると判断する。所定の送信判断用のしきい値は、例えば、ゼロであるが、これよりも大きい値であってもよい。
【００１１】
符号化部８１１は、送信ブロック判断部８０９により画面データを送信するべきであると判断されたブロックの画面データを圧縮符号化し、圧縮符号化された画面データをシンクライアントに送信する。圧縮符号化のためには、例えば、ウェーブレット変換、ハフマン符号化などが用いられる。送信データのフレームあたりのビット数が目標ビットレートに対応するビット数から離れている場合には、符号化パラメータを変更して符号化を実行し直す。符号化を実行し直すためには、現フレームのブロックのデータをバッファ８１３に一時記憶する。符号化パラメータは、例えば、再量子化幅、周波数帯域幅などである。
【００１２】
図３にシンクライアントのうち表示画面に関連する部分を示す。
【００１３】
復号部８２１は、符号化部８１１により圧縮符号化された画面データを復号する。
【００１４】
フレームメモリ８２３は、復号された画面データを格納する。
【００１５】
表示部８２５は、フレームメモリ８２３に格納されている画面データを読み出して、表示装置に出力する。
【００１６】
図４に図１に示す基本的な画面データ送信装置の動作を説明するためのフローチャートを示す。
【００１７】
図４を参照すると、まず、ブロック化部８０１は、画面データを符号化ブロックにブロック化する（ステップＳ９０１）。
【００１８】
次に、現フレームの各ブロックについてステップＳ９０５〜Ｓ９１３を繰り返す（ステップＳ９０３）。
【００１９】
ステップＳ９０５では、前フレームの現ブロックデータをフレームメモリ８０３から読み出す。ここで、ブロックデータとは、ブロックを構成する画素の画面データの集合のことである。
【００２０】
次に、ステップＳ９０７では、現フレームの現ブロックデータをフレームメモリ８０３に書き込む。
【００２１】
次に、ステップＳ９０９では、減算器８０５が、現フレームの現ブロックの各画素について、前フレームの同位置の画素との差分を計算する。
【００２２】
次に、ステップＳ９１１では、ブロック間差分検出部８０７は、現フレームの現ブロックについてブロック間差分を検出する。
【００２３】
次に、ステップＳ９１３では、送信ブロック判断部８０９は、現フレームの現ブロックの画面データを圧縮符号化して送信するべきか否かを判断する。判断の結果は、バッファ８１３に一時保存する。
【００２４】
ステップＳ９０３の繰り返しが終了したならば、現フレームの各ブロックについてステップＳ９１７又はステップＳ９１７及びステップＳ９１９を繰り返す（ステップＳ９１５）。
【００２５】
ステップＳ９１７では、現ブロックは圧縮符号化するべきブロックであるか否かのステップＳ９１３での判断の結果を取得する。このためには、ステップＳ９１３でバッファ８１３に一時保存された判断結果を参照する。
【００２６】
ステップＳ９１７で取得した判断結果が肯定的である場合には（ステップＳ９１７でＹＥＳ）、現ブロックを圧縮符号化する（ステップＳ９１９）。圧縮符号化により得られた符号は、バッファ８１３に一時保存する。
【００２７】
ステップＳ９１５の繰り返しが終了したならば、現フレームの圧縮符号化するべきブロックを圧縮符号化して得られた符号の全ビット数が目標ビットレートに対応するビット数以上か否かを判断する（ステップＳ９２１）。この判断のためには、ステップＳ９１９でバッファ８１３に一時保存された全ての符号のビット数を足し合わせる。
【００２８】
ステップＳ９２１の結果が肯定的である場合には（ステップＳ９２１でＹＥＳ）、バッファ８１３に一時保存していた現フレームの全符号を送信する（ステップＳ９２３）。
【００２９】
ステップＳ９２５の結果が否定的である場合には（ステップＳ９２５でＮＯ）、符号化パラメータを変更し（ステップＳ９２５）、ステップＳ９１５に戻る。
【００３０】
上述した画面データ送信装置の構成と動作により、次に説明するような送信が行われる。
【００３１】
すなわち、例えば、第ｎフレームが図５（ａ）に示すようなものであり、第（ｎ＋１）フレームで図５（ｂ）に示すように新たなウィンドウ７０１が現れた場合、図５（ｃ）に示すようなウィンドウ７０１を含む符号化ブロック群７０３の画面データが符号化されて送信される。
【００３２】
また、例えば、自動車７０５が第ｎフレームで図６（ａ）に示すような位置にあり、第（ｎ＋１）フレームで図６（ｂ）に示すような位置にある場合には、図６（ｃ）に示すような、自動車７０５が走り去った後の背景を含む符号化ブロック群７０７と新たに自動車７０５を含むこととなった符号化ブロック群７０９の画面データが符号化されて送信される。
【特許文献１】特開２００６−１８６５２９号公報
【非特許文献１】クライアント統合ソリューション、画面転送型、平成２０年９月１日検索、  インターネット<URL: http://www.nec.co.jp/clsol/gamentenso.html>
【発明の開示】
【発明が解決しようとする課題】
【００３３】
上記の画面データ送信装置では、ブロック間差分の値が所定の送信判断のしきい値よりも大きい符号化ブロックが送信される。他方で、１つのクライアントあたりのクライアントとサーバとの間の伝送帯域には上限値が設けられている。従って、送信するべき符号化ブロックが多い画面フレームの場合には圧縮率を上げて符号化ブロックのデータを圧縮符号化して送信している。そのため、符号化ブロックが多い画面フレームの画質がクライアントにおいて落ちてしまう。
【００３４】
そこで、本発明は、画面フレームのうち低い画質で送信された部分の画質を改善させることを可能とする画面データ送信装置、画面データ送信方法及び画面データ送信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３５】
本発明によれば、第１の画面フレームに含まれる複数のブロックの各々について、前記第１の画面フレームよりも前の第２の画面フレームに含まれ、対応する位置にあるブロックと所定量を超える差分があるか否かを検出する差分検出手段と、前記差分検出手段の検出結果が肯定的であるブロックのデータを圧縮符号化して送信する第１の送信手段と、前記第１の送信手段に送信された符号の前記第１の画面フレームあたりの総量が所定のしきい値未満であるか否かを判断する判断手段と、前記判断手段による判断結果が肯定的である場合に、前記第１の送信手段によりデータが圧縮符号化されたブロック以外のブロックのうちの全て又は一部のブロックのデータを圧縮符号化して送信する第２の送信手段と、を備えることを特徴とする画面データ送信装置が提供される。
【００３６】
また、本発明によれば、第１の画面フレームに含まれる複数のブロックの各々について、前記第１の画面フレームよりも前の第２の画面フレームに含まれ、対応する位置にあるブロックと所定量を超える差分があるか否かを検出する差分検出ステップと、前記差分検出ステップの検出結果が肯定的であるブロックのデータを圧縮符号化して送信する第１の送信ステップと、前記第１の送信ステップに送信された符号の前記第１の画面フレームあたりの総量が所定のしきい値未満であるか否かを判断する判断ステップと、前記判断ステップによる判断結果が肯定的である場合に、前記第１の送信ステップによりデータが圧縮符号化されたブロック以外のブロックのうちの全て又は一部のブロックのデータを圧縮符号化して送信する第２の送信ステップと、を備えることを特徴とする画面データ送信方法が提供される。
【００３７】
更に、本発明によれば、第１の画面フレームに含まれる複数のブロックの各々について、前記第１の画面フレームよりも前の第２の画面フレームに含まれ、対応する位置にあるブロックと所定量を超える差分があるか否かを検出する差分検出ステップと、前記差分検出ステップの検出結果が肯定的であるブロックのデータを圧縮符号化して送信する第１の送信ステップと、前記第１の送信ステップに送信された符号の前記第１の画面フレームあたりの総量が所定のしきい値未満であるか否かを判断する判断ステップと、前記判断ステップによる判断結果が肯定的である場合に、前記第１の送信ステップによりデータが圧縮符号化されたブロック以外のブロックのうちの全て又は一部のブロックのデータを圧縮符号化して送信する第２の送信ステップと、を備えることを特徴とする画面データ送信方法をコンピュータに実行させる画面データ送信プログラムが提供される。
【発明の効果】
【００３８】
本発明によれば、画面フレームのうち広い領域が圧縮符号化されて送信されたために、クライアント側において低画質となっている部分の画質を向上させることができる。
【発明を実施するための最良の形態】
【００３９】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００４０】
図７を参照すると、本発明の実施形態による画面データ送信装置は、ブロック化部１０１、フレームメモリ１０３、減算器１０５、ブロック間差分検出部１０７、送信ブロック判断部１０９、符号化部１１１、バッファ１１３及び符号化パラメータテーブル１１５を含む。
【００４１】
本発明の実施形態による画面送信装置は、ハードウェアのみで構築することもできるが、コンピュータを画面送信装置として機能させるためのプログラムをコンピュータが読み込んで実行することによっても構築することができる。
【００４２】
ブロック化部１０１、フレームメモリ１０３、減算器１０５、ブロック間差分検出部１０７、送信ブロック判断部１０９は、それぞれ、ブロック化部８０１、フレームメモリ８０３、減算器８０５、ブロック間差分検出部８０７、送信ブロック判断部８０９と同様なものであるため重複する説明は省略する。
【００４３】
符号化部１１１の動作は、符号化部８１１の動作と類似するが異なる。
【００４４】
本実施形態では、画面フレームは、図８に示すように、複数の分割ブロックＡｉ，ｊに分割される。１つの分割ブロックには、１つ又は複数の符号化ブロックが含まれる。
【００４５】
符号化パラメータテーブル１１５は、図９に示すように、各分割ブロック毎に符号化パラメータ及び更新時刻を格納する。ここで、符号化パラメータは、例えば、圧縮符号化に用いる量子化ステップ数と帯域幅との加重平均である。更新時刻は、各分割ブロックについて、符号化パラメータが符号化パラメータテーブル１１５に書き込まれるフレームの時刻である。
【００４６】
次に、図１０を参照して、本発明の実施形態による画面送信装置の動作の概要を説明する。
【００４７】
まず、現フレームで更新された領域に含まれる符号化ブロックのデータを所定の画質未満の画質に対応した符号化パラメータで圧縮符号化して送信する（ステップＳ２０１）。また、ステップＳ２０１では、フレームあたりの送信された符号量がしきい値以下におさまるようにする。
【００４８】
次に、フレームあたりの送信された符号量はしきい値以上であるか否かを判断する（ステップＳ２０３）。
【００４９】
フレームあたりの送信された符号量はしきい値以上である場合には、現フレームについての処理を終了する。
【００５０】
フレームあたりの送信された符号量はしきい値未満である場合には、現フレームで更新されなかった領域（ステップＳ２０１で処理されなかった領域）に含まれる符号化ブロックのうち、過去のフレームで低画質に対応した符号化パラメータでデータが圧縮符号化され、まだ、現フレームでデータが圧縮符号化されていない所定数の符号化ブロックのデータを高画質に対応した符号化パラメータで圧縮符号化して送信する（ステップＳ２０５）。
【００５１】
ステップＳ２０５の処理が終了したならば、ステップＳ２０３に戻る。
【００５２】
こうして、ステップＳ２０１が実行された後で、フレームあたりの送信された符号量がしきい値未満であれば、フレームあたりの送信された符号量がしきい値以上になるまでステップＳ２０５が繰り返される。
【００５３】
次に、ステップＳ２０１の詳細について図１１及び図１２を参照して説明する。
【００５４】
図１１を参照すると、まず、画面フレームを符号化ブロックにブロック化する（ステップＳ２０１−１）。
【００５５】
次に、現フレームの各符号化ブロックについてステップＳ２０１−５、Ｓ２０１−７、Ｓ２０９−９、Ｓ２０９−１１、Ｓ２０９−１３を繰り返す。
【００５６】
ステップＳ２０１−５では、前フレームの現符号化ブロックのデータをフレームメモリ１０３から読み出す。
【００５７】
次に、現フレームの現符号化ブロックのデータをフレームメモリ１０３に書き込む（ステップＳ２０１−７）。
【００５８】
次に、減算器１０５は、現フレームの現符号化ブロックの各画素について、前フレームの同一位置の画素との差分をとる（ステップＳ２０１−９）。
【００５９】
次に、ブロック間差分検出部１０７は、ステップＳ２０１−９での減算の結果を用いて、現在のフレームの現在の符号化ブロックの符号化ブロック間差分を検出する（ステップＳ２０１−１１）。ここで、符号化ブロック間差分とは、上述したように、例えば、符号化ブロックに含まれる全ての画素についての減算値の絶対値の和、ブロックに含まれる全ての画素の減算値の絶対値のうち最大の絶対値などである。
【００６０】
次に、符号化部１１１は、現フレームの現符号化ブロックを圧縮符号化するべきか否かを符号化ブロック間差分に基づいて判断する（ステップＳ２０１−１３）。例えば、符号化ブロック間差分があるしきい値より大きければ符号化するべきであると判断する。しきい値としてはゼロを用いてもよいが、それよりも大きな値を用いてもよい。判断結果は、バッファ１１３に一時保存する。
【００６１】
ステップＳ２０１−３の繰り返しが終了したならば、符号化部１１１は、符号化パラメータを最低画質に対応した符号化パラメータに設定する（ステップＳ２０１−１５）。最低画質に対応したパラメータとは、例えば、所定の少ない量子化ステップ数と所定の狭い周波数帯域の組合せである。
【００６２】
次に、現フレーム内の各符号化ブロックについて、ステップＳ２０１−１９又はステップＳ２０１−１９、Ｓ２０１−２１及びＳ２０１−２３を繰り返す（ステップＳ２０１−１７）。
【００６３】
ステップＳ２０１−１９では、現符号化ブロックが圧縮符号化するべき符号化ブロックであるか否かをみる。このためには、ステップＳ２０１−１１でバッファ１１３に一時保存した判断結果を参照する。
【００６４】
現フレームの現符号化ブロックが圧縮符号化するべき符号化ブロックであると判断された場合には（ステップＳ２０１−１９でＹＥＳ）、現フレームの現符号化ブロックを符号化し（ステップＳ２０１−２１）、その符号化に用いた符号化パラメータを現フレームの時刻と共にバッファ１１３に一時保存する。
【００６５】
現フレームの現符号化ブロックが圧縮符号化するべき符号化ブロックでないと判断された場合には、現フレームの現符号化ブロックについては、ステップＳ２０１−２１及びＳ２０１−２３は実行しない。
【００６６】
ステップＳ２０１−１７の繰り返しが終了したならば、ステップＳ２０１−２３でバッファに一時保存された現フレームについての符号のビット数を求め、これが１フレームあたりの目標ビット数以上か否かを判断する（ステップＳ２０１−２５）。
【００６７】
ステップＳ２０１−２５での判断結果が肯定的であれば、バッファ１１３に一時保存されている現フレームの符号化された全ての符号化ブロックより得られた符号を送信する（ステップＳ２０１−２７）。次に、符号化パラメータテーブル１１５を更新する（ステップＳ２０１−２９）。ステップＳ２０１−２９の詳細は後に説明する。
【００６８】
ステップＳ２０１−２５の判断結果が否定的であれば、符号化パラメータを、より高い画質に対応する符号化パラメータに更新する（ステップＳ２０１−３１）。より高い画質に対応する符号化パラメータとは、現在の量子化ステップ数よりも多い量子化ステップ数、現在の周波数帯域よりも広い周波数帯域又はその双方である。
【００６９】
次に、現在の符号化パラメータは、所定の画質未満の画質に対応した符号化パラメータであるか否かを判断する（ステップＳ２０１−３３）。所定の画質未満の画質に対応した符号化パラメータとは、所定の量子化ステップ数よりも少ないステップ数及び所定の周波数帯域より狭い周波数帯域の組合せ又は何れか一方である。
【００７０】
ステップＳ２０１−３３の判断結果が肯定的である場合には、ステップＳ２０１−１７に戻る。この場合には、送信される画面フレームの更新部の画質を更に向上させることができる。
【００７１】
図１２に進み、ステップＳ２０１−３３の判断結果が否定的である場合には、最後のステップＳ２０１−３１で更新された符号化パラメータを更新前の符号化パラメータに戻す（ステップＳ２０１−３５）。
【００７２】
次に、現フレーム内の各符号化ブロックについて、ステップＳ２０１−３９又はステップＳ２０１−３９、Ｓ２０１−４１及びＳ２０１−４３を繰り返す（ステップＳ２０１−３７）。
【００７３】
ステップＳ２０１−３９、Ｓ２０１−４１及びＳ２０１−４３は、それぞれ、ステップＳ２０１−１９、Ｓ２０１−２１及びＳ２０１−２３と同様であるため重複する説明は省略する。
【００７４】
ステップＳ２０１−３７の繰り返しの次に、バッファ１１３に一時保存されている（ステップＳ２０１−４１で一時保存された）現フレームの符号化された全ての符号化ブロックより得られた符号を送信する（ステップＳ２０１−４５）。次に、符号化パラメータテーブル１１５を更新する（ステップＳ２０１−４７）。ステップＳ２０１−４７の内容は、ステップＳ２０１−２９の内容と同一であるが、この詳細は次に説明する。
【００７５】
図１３は、ステップＳ２０１−９及びＳ２０１−４７の詳細を説明するためのフローチャートである。
【００７６】
図１３を参照すると、現フレームの各分割ブロックについてステップＳ３０３及びＳ３０５又はステップＳ３０１、Ｓ３０３、Ｓ３０５、Ｓ３０７、Ｓ３０９及びＳ３１１を繰り返す。１つの分割ブロックの大きさにより、１つの分割ブロックには１以上の所定数の符号化ブロックが含まれる。
【００７７】
ステップＳ３０３では、現フレームの現分割ブロックブロックに対応した過去のフレームの同一位置の分割ブロックの符号化パラメータ（以下、「過去の符号化パラメータ」という。）を符号化パラメータテーブル１１５から読み出す。
【００７８】
次に、過去の符号化パラメータは所定の画質未満の画質に対応した符号化パラメータであるか否かを判断する（ステップＳ３０５）。
【００７９】
ステップＳ３０５での判断結果が肯定的である場合には、ステップＳ３０７、Ｓ３０９及びＳ３１１をスキップして、次の分割ブロックについての処理に進む。これにより、符号化パラメータテーブル１１５に格納されている過去の符号化パラメータが所定の画質未満の画質に対応した符号化パラメータである場合には、過去の符号化パラメータは符号化パラメータテーブル１１５に残されることとなる（図１４（ｃ）及び図１４（ｄ）を参照。黒丸が符号化パラメータテーブル１１５に残される符号化パラメータである）。
【００８０】
ステップＳ３０５の判断結果が否定的である場合には、現フレームの現分割ブロックに含まれる全ての符号化ブロックの符号化パラメータ（以下、「現在の符号化パラメータ」という。）を現フレームの時刻と共にバッファ１１３から読み出す（ステップＳ３０７）。
【００８１】
次に、現フレームの現分割ブロックに含まれる全ての符号化ブロックの符号化パラメータのうち最低画質に対応した符号化パラメータを求める（ステップＳ３０９）。
【００８２】
次に、ステップＳ３０９で求めた符号化パラメータをステップＳ３０７で読み出した現フレームの時刻と共に符号化パラメータテーブル１１５に書き込む（ステップＳ３１１）。
【００８３】
現フレームの現分割ブロックに含まれる全ての符号化ブロックの符号化パラメータのうち最低画質に対応した符号化パラメータは、所定画質に対応したパラメータ以上の場合もあるし（図１４（ａ）参照）、所定画質に対応したパラメータ未満の場合もある（図１４（ｂ））。
【００８４】
次に、図１０に示すステップＳ２０５の詳細を図１５を参照して説明する。
【００８５】
まず、現フレーム内の各分割ブロックについて、ステップＳ２０５−３又はステップＳ２０５−３及びＳ２０５−５を繰り返す（ステップＳ２０５−１）。
【００８６】
ステップＳ２０５−３では、現フレームの現分割ブロック内の全ての符号化ブロックは現フレームでのステップＳ２０１で圧縮符号化されたか否かを判断する。
【００８７】
ステップＳ２０５−３での判断結果が肯定的である分割ブロックについては、その分割ブロックに含まれる符号化ブロックのデータを送信する必要がないため、ステップＳ２０５−５をスキップする。
【００８８】
ステップＳ２０５−３での判断結果が否定的である分割ブロックについては、その分割ブロックに含まれる符号化ブロックのデータを送信する必要がある可能性があるため、その分割ブロック（現フレームの現分割ブロック）に対応した符号化パラメータとフレーム時刻を符号化パラメータテーブル１１５から読み出す。
【００８９】
ステップＳ２０５−１の繰り返しが終了したならば、ステップＳ２０５−５で読み出したフレーム時刻のうち最も古いフレーム時刻を検出する（ステップＳ２０５−７）。
【００９０】
次に、最も古いフレーム時刻に対応する分割ブロックに含まれる全ての符号化ブロックを高画質に対応した符号化パラメータで圧縮符号化する（ステップＳ２０５−９）。ここで、高画質に対応した符号化パラメータとは、ステップＳ２０１の所定の画質以上の画質に対応した符号化パラメータである。また、最も古いフレーム時刻が複数ある場合には、ステップＳ２０５−５で読み出した符号化パラメータのうち最も低い画質に対応した符号化パラメータを有する分割ブロックに含まれる全ての符号化ブロックを高画質に対応した符号化パラメータで圧縮符号化する。
【００９１】
次に、ステップＳ２０５−９で圧縮符号化された符号化ブロックの符号化パラメータを現在のフレーム時刻と共に符号化パラメータテーブル１１５に書き込む（ステップＳ２０５−１１）。これにより、ステップＳ２０５−９で圧縮符号化された符号化ブロックが画面フレームの変更前に再度圧縮符号化されることを避けることができる。
【図面の簡単な説明】
【００９２】
【図１】基本的な画面データ送信装置の構成を示すブロック図である。
【図２】符号化ブロックを示す図である。
【図３】シンクライアントのうち表示画面に関連する部分を示すブロック図である。
【図４】図１に示す基本的な画面データ送信装置の動作を説明するためのフローチャートである。
【図５】画面転送型シンクライアントシステムにおいて転送される画面ブロックを説明するための第１の図である。
【図６】画面転送型シンクライアントシステムにおいて転送される画面ブロックを説明するための第２の図である。
【図７】本発明の実施形態による画面データ送信装置の構成を示すブロック図である。
【図８】（ａ）は画面フレームにおける分割ブロックを示す図であり、（ｂ）は分割ブロックの構成を示す図である。
【図９】図７に示す符号化パラメータテーブルの構成を示す図である。
【図１０】本発明の実施形態による画面データ送信方法の全体の動作を示すフローチャートである。
【図１１】図１０に示すステップＳ２０１の詳細を示すフローチャート（１／２）である。
【図１２】図１０に示すステップＳ２０１の詳細を示すフローチャート（２／２）である。
【図１３】図１１に示すステップＳ２０１−２９及び図１２に示すステップＳ２０１−４７の詳細を示すフローチャートである。
【図１４】本発明の実施形態による図１１に示すステップＳ２０１−２９及び図１２に示すステップＳ２０１−４７で画質パラメータが更新される様子を示す図である。
【図１５】図１０に示すステップＳ２０５の詳細を示すフローチャートである。
【符号の説明】
【００９３】
１０１  ブロック化部
１０３  フレームメモリ
１０５  減算器
１０７  ブロック間差分検出部
１０９  送信ブロック判断部
１１１  符号化部
１１３  バッファ
１１５  符号化パラメータテーブル
【図１】
2010062626.tif 000003
【図２】
2010062626.tif 000004
【図３】
2010062626.tif 000005
【図４】
2010062626.tif 000006
【図５】
2010062626.tif 000007
【図６】
2010062626.tif 000008
【図７】
2010062626.tif 000009
【図８】
2010062626.tif 000010
【図９】
2010062626.tif 000011
【図１０】
2010062626.tif 000012
【図１１】
2010062626.tif 000013
【図１２】
2010062626.tif 000014
【図１３】
2010062626.tif 000015
【図１４】
2010062626.tif 000016
【図１５】
2010062626.tif 000017