(57)【要約】  ユーザにとって重要な領域を高い品質で符号化することができる画像符号化装置を提供する。更新間隔指標算出部６３は、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する。重要領域特定部６４は、更新間隔指標を用いて各更新領域から重要領域を特定する。品質制御部６５は、更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する。
2014155919.tif 000002
【特許請求の範囲】
【請求項１】
画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段と、
画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出手段と、
更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出手段と、
更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定手段と、
更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御手段と、
前記品質値で重要領域全体を符号化する重要領域符号化手段とを備える
ことを特徴とする画像符号化装置。
【請求項２】
タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持するタイル品質保持手段と、
更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択する低品質タイル選択手段とを備え、
重要領域特定手段は、更新間隔指標を用いて各更新領域の重要度を算出し、重要度に基づいて各更新領域から重要領域を特定し、
前記重要領域特定手段は、更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出し、
品質制御手段は、１フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定し、
前記品質値で非重要領域全体を符号化する非重要領域符号化手段と、
イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化するイントラ更新手段とを備える
請求項１に記載の画像符号化装置。
【請求項３】
文字の表示領域に該当する尤もらしさを表す文字尤度をタイル毎に算出し、各更新領域の文字尤度を定める文字尤度算出手段を備え、
重要領域特定手段は、更新間隔指標と文字尤度とを用いて各更新領域の重要度を算出し、更新時刻からの経過時間と文字尤度とを用いてタイルの重要度を算出する
請求項２に記載の画像符号化装置。
【請求項４】
所定の座標への外部からの操作から一定時間内にタイルに更新が生じた場合、そのタイルの中心座標と、その更新時における当該座標との距離の逆数であるポインタ近接度を算出するポインタ近接度算出手段を備え、
重要領域特定手段は、更新時刻からの経過時間とポインタ近接度とを用いてタイルの重要度を算出する
請求項２または請求項３に記載の画像符号化装置。
【請求項５】
重要領域特定手段は、更新領域全体の面積に対する重要領域全体の面積の割合が所定値以上である場合、更新領域全体を非重要領域として定める
請求項１から請求項４のうちのいずれか１項に記載の画像符号化装置。
【請求項６】
更新間隔指標算出手段は、更新領域毎に、更新間隔指標として、更新領域と重なる更新タイル数のうち、更新間隔が閾値以上となっているタイル数の割合である長更新間隔タイル占有率を算出する
請求項１から請求項５のうちのいずれか１項に記載の画像符号化装置。
【請求項７】
更新間隔指標算出手段は、更新領域毎に、更新間隔指標として、更新領域と重なる各更新タイルの更新間隔の平均値を算出する
請求項１から請求項５のうちのいずれか１項に記載の画像符号化装置。
【請求項８】
画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出し、
更新タイルの検出時に更新タイルの更新時刻を記憶していくことで、タイル毎に更新時刻を記憶し、
更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出し、
更新間隔指標を用いて各更新領域から重要領域を特定し、
更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定し、
前記品質値で重要領域全体を符号化する
ことを特徴とする画像符号化方法。
【請求項９】
更新間隔指標を用いて各更新領域の重要度を算出し、重要度に基づいて各更新領域から重要領域を特定し、
タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持し、
更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択し、
更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出し、
１フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定し、
前記品質値で非重要領域全体を符号化し、
イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化する
請求項８に記載の画像符号化方法。
【請求項１０】
画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段を備えたコンピュータに適用される画像符号化プログラムであって、
前記コンピュータに、
画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出処理、
更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出処理、
更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定処理、
更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御処理、および、
前記品質値で重要領域全体を符号化する重要領域符号化処理
を実行させるための画像符号化プログラム。
【請求項１１】
コンピュータに、
タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持するタイル品質保持処理、および、
更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択する低品質タイル選択処理を実行させ、
重要領域特定処理で、更新間隔指標を用いて各更新領域の重要度を算出させ、重要度に基づいて各更新領域から重要領域を特定させ、
重要領域特定処理で、更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出させ、
品質制御処理で、１フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定させ、
前記品質値で非重要領域全体を符号化する非重要領域符号化処理、および、
イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化するイントラ更新処理を実行させる
請求項１０に記載の画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する画像符号化装置、画像符号化方法および画像符号化プログラムに関する。
【背景技術】
【０００２】
画像を送受信するサーバおよびシンクライアントを含むシステムが種々提案されている（例えば、特許文献１参照）。シンクライアントに画像を送信するサーバとして、例えば、画像のうち更新された領域を含む矩形領域の画像データを符号化して送信するサーバが提案されている（例えば、特許文献２参照）。このような送信方式によれば、画像中の一部のみが更新された場合に、サーバは、一部分の領域の画像データのみを符号化し、シンクライアントに送信すればよい。従って、送信データ量を減らすことができる。【０００３】
また、通信ネットワークを介してサーバがシンクライアントに画像データを送信する場合、データ量を圧縮するために画像データを符号化する場合がある（例えば、特許文献３参照）。データ圧縮時にサーバが量子化のような非可逆変換を用いると、受信側で復号された画像の品質が送信側の元画像よりも劣化する場合がある。また、通信路等においてデータ欠落や伝送エラーが発生した場合にも、受信画像の画像品質が低下する場合がある。この画像品質の低下が後続のフレームに伝搬することを防ぐため、サーバが定期的にイントラ更新（イントラリフレッシュ）の信号を挿入して伝送する方式が提案されている（例えば、特許文献４参照）。ここで、フレーム全体を符号化すると符号量が非常に大きくなる。そのため、一般に、イントラ更新を行う場合、サーバは、フレームを複数の部分領域（タイル）に分割して少しずつ伝送する。【０００４】
例えば、特許文献４に記載の装置は、更新領域の符号を伝送した後、余剰帯域の範囲で、低品質タイルを巡回しながらイントラ更新を行う。そのため、フレーム内の更新領域の面積が大きく変動した場合でも、イントラ更新の対象となる領域の面積を変動させることで、余剰帯域を十分に活用しながら高画質化を実現できる。例えば、前のフレームから更新されていないフレームや、更新領域の面積が小さいフレームでは、サーバは、余剰帯域に収まる限り多くのタイルに対してイントラ更新を行うことができる。また、サーバは、低画質で符号化された領域のタイルや、長期間更新されていないタイルに対するイントラ更新を優先的に行うことで、低品質タイルが画像内に残留する期間を短縮できる。【０００５】
また、特許文献５には、更新領域毎に送信優先度を判定し、更新領域を優先度順に送信する画像伝送システムが記載されている。【０００６】
以下、具体例を用いて、一般的な符号化処理を説明する。図９は、一部の領域が更新されたフレームの例を示す。フレーム９１とその前のフレーム（図示せず。）とを比較した場合、フレーム９１では、領域Ａ，Ｂ，Ｃが更新されているとする。サーバは、領域Ａ，Ｂ，Ｃのみを符号化してシンクライアントに送信すればよい。ここで、サーバは、通信帯域を目標フレームレートで除算することで、目標符号量を算出する。また、サーバは、更新領域Ａ，Ｂ，Ｃの圧縮前データ量と、目標符号量とに基づいて、目標圧縮率を算出する。例えば、通信帯域が３０００ｋｂｐｓ（kbit per second ）であり、目標フレームレートが３０ｆｐｓ（frames per second ）であるとする。すると、サーバは、目標符号量として１００kbit/frameを得る。また、更新領域Ａ，Ｂ，Ｃ全体の圧縮前データ量が１４０２kibtであるとする。すると、サーバは、目標圧縮率として約１／１４を得る。サーバは、更新領域Ａ，Ｂ，Ｃの画像データをこの目標圧縮率で圧縮し、シンクライアントに送信する。【０００７】
また、具体例を用いて、一般的なイントラ更新を説明する。図１０は、連続するフレームの状態の変化の例を示す模式図である。１つのフレームは、定められた大きさのタイル９５に分割されている。フレーム１で、領域９６が更新され、次のフレーム２で領域９７が更新されたとする。また、本例では、説明を簡単にするために、更新が生じた箇所の品質が低下するものとする。図１０では、品質が低下したタイルを散点模様で表している。また、高画質化済みのタイルを白色で表している。サーバは、フレーム１の領域９６に該当する各タイルを符号化し、シンクライアントに送信する。同様に、サーバは、次のフレーム２に関しては、領域９７に該当する各タイルを符号化し、シンクライアントに送信する。フレーム１，２の送信時には、余剰帯域が存在しなかったものとする。【０００８】
続くフレーム３〜１６では、更新領域は発生しなかったとする。すると、サーバは、フレーム３〜１６に関しては、更新領域の符号化および送信は行わない。サーバは、その結果生じる余剰帯域で、イントラ更新を行う。図１０では、サーバが１フレームに１タイルずつイントラ更新を行う場合を示している。サーバは、フレーム３〜１６の間、図１０に例示するように、品質が低下したタイルを巡回し、イントラ更新を行う。その結果、フレーム１６では、品質が低下したタイル数がフレーム２よりも減少している。図１０に示す例では、品質が低下したタイルのイントラ更新の優先度は、画面上段のタイルほど高い。また、同じ段のタイル同士では、ユーザから見て左側のタイルほど、優先度が高い。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００４−５０３８６２号公報
【特許文献２】特開２００８−８５５０２号公報
【特許文献３】特開２００４−３２０４７９号公報
【特許文献４】特開２０１０−２０６７５３号公報
【特許文献５】国際公開第２００９／００４９９６号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の一般的な符号化処理では、サーバは、１フレーム内の各更新領域（例えば、図９に示す領域Ａ，Ｂ，Ｃ）を同じ目標圧縮率で符号化する。その結果、１フレーム内の各更新領域の品質は均等である。【００１１】
しかし、一般に画像内には、ユーザにとって重要な領域やそうでない領域が存在する。例えば、ユーザが操作中のウィンドウや、ユーザによるツールバー操作に応じて表示されたメニュー項目に該当する領域は、操作上、重要な情報を多く含む。そのため、そのような領域は、より高品質になるように符号化することが好ましい。【００１２】
上記のように、１フレーム内の各更新領域の品質を均等にするような符号化方式では、ユーザにとって重要な領域の品質を十分に高くできない場合が生じ得る。そして、重要な領域の品質を十分に高くできないと、ユーザが表示内容を把握しにくくなってしまう。【００１３】
そこで、本発明は、ユーザにとって重要な領域を高い品質で符号化することができる画像符号化装置、画像符号化方法および画像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明による画像符号化装置は、画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段と、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出手段と、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出手段と、更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定手段と、更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御手段と、その品質値で重要領域全体を符号化する重要領域符号化手段とを備えることを特徴とする。【００１５】
また、本発明による画像符号化方法は、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出し、更新タイルの検出時に更新タイルの更新時刻を記憶していくことで、タイル毎に更新時刻を記憶し、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出し、更新間隔指標を用いて各更新領域から重要領域を特定し、更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定し、その品質値で重要領域全体を符号化することを特徴とする。【００１６】
また、本発明による画像符号化プログラムは、画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段を備えたコンピュータに適用される画像符号化プログラムであって、コンピュータに、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出処理、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出処理、更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定処理、更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御処理、および、その品質値で重要領域全体を符号化する重要領域符号化処理を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ユーザにとって重要な領域を高い品質で符号化することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の画像符号化装置の例を示すブロック図である。
【図２】更新領域および更新タイルの例を示す模式図である。
【図３】本発明の処理経過の例を示すフローチャートである。
【図４】ステップＳ１３の処理経過を示すフローチャートである。
【図５】ステップＳ１３で算出されるＡｑ，Ｂｑの具体例および非重要領域全体に対する品質値の導出例を示す説明図である。
【図６】画像符号化装置の変形例を示すブロック図である。
【図７】ポインタ近接度算出部の処理経過の例を示すフローチャートである。
【図８】本発明の画像符号化装置の主要部の例を示すブロック図である。
【図９】一部の領域が更新されたフレームの例を示す模式図である。
【図１０】連続するフレームの状態の変化の例を示す模式図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面を参照して説明する。
なお、以下に示す実施形態において、動画による画像変化は、表示の更新に該当しないものとする。画像内に動画表示領域が含まれていてもよい。ただし、以下の実施形態では説明を簡単にするために、画像内で、動画以外の表示変化が生じる場合を例にして説明する。すなわち、動画の表示はないものとして説明する。
【００２０】
図１は、本発明の画像符号化装置の例を示すブロック図である。本発明の画像符号化装置１は、更新領域検出部２と、タイル情報メモリ３と、更新間隔指標算出部４と、文字尤度算出部５と、重要度算出部６と、品質制御部７と、重要領域符号化部８と、タイル品質保持部９と、非重要領域符号化部１０と、イントラ更新タイル候補選択部１１と、イントラ更新部１２と、送信部１３とを備える。
【００２１】
画像符号化装置１は、フレームを順次キャプチャする。フレームは、固定サイズの領域に分けられる。このように固定サイズで分けられる個々の領域をタイルと記す。タイルのサイズは、例えば、縦３２画素、横３２画素であるが、タイルの大きさは限定されない。
【００２２】
タイル情報メモリ３は、タイル毎に、更新時刻、更新間隔、タイルの重要度等の情報を記憶するメモリである。更新間隔とは、着目しているタイルにおける前回の更新時刻から最新の更新時刻までの時間である。
【００２３】
更新領域検出部２は、最新のフレームをキャプチャすると、そのフレームと、１つ前のフレームとを比較し、最新のフレームから更新タイルを検出する。更新タイルとは、最新のフレームとその１つ前のフレームとの間で表示の更新が生じているタイルである。更新領域検出部２は、更新タイルを検出すると、タイル情報メモリ３に記憶されているそのタイルの更新時刻および更新間隔を最新の情報に書き換える。
【００２４】
また、更新領域検出部２は、最新のフレームとその１つ前のフレームとを比較し、画素単位で更新領域と更新されていない領域との境界を算出し、更新領域を特定する。
【００２５】
図２は、更新領域および更新タイルの例を示す模式図である。更新領域２１は、最新のフレーム２０とその１つ前のフレーム（図示略）との間で表示の更新が生じた領域である。なお、図２では、２つの更新領域２１を図示しているが、１つのフレームから検出される更新領域の数は特に限定されない。
【００２６】
また、フレームにおいて表示の更新は、タイル単位に行われるとは限らない。そのため、図２に示すように、更新領域２１の外縁は、タイル同士の境界と一致しているとは限らない。更新タイル２２は、タイル内の少なくとも一部の画素に更新が生じているタイルである。図２に示す例では、斜線で示した各タイル２２が更新タイルに該当する。
【００２７】
更新間隔指標算出部４は、更新領域毎に、更新間隔指標を算出する。更新間隔指標は、更新領域と重なる各更新タイル全体での更新間隔の長さの指標値である。更新領域と重なるタイル全体として更新間隔が長い傾向がある場合ほど値が大きくなり、更新領域と重なるタイル全体として更新間隔が短い傾向がある場合ほど値が小さくなるような指標を、更新間隔指標として用いればよい。
【００２８】
更新間隔指標の一例として、更新領域と重なる各タイルのうち、更新間隔が長いタイルの占有率が挙げられる。ここで、更新間隔が長いタイルとは、更新間隔が、予め定められた閾値以上のタイルである。この閾値は、更新間隔が長いか否かを判定するための閾値である。以下、本実施形態では、更新間隔指標算出部４が、更新間隔指標として、更新間隔が長いタイルの占有率を算出する場合を例にして説明する。
【００２９】
更新間隔指標算出部４は、更新領域毎に、更新領域と重なる各タイルのうち、更新間隔が長いタイルの占有率を算出する。例えば、ある更新領域に関して、その更新領域と重なるタイルの数がａであり、そのタイルのうち、更新間隔が閾値以上となっているタイルの数がｂであるとする。更新間隔指標算出部４は、その更新領域における、更新間隔が長いタイルの占有率を、ｂ／ａの計算によって求めればよい。更新領域における、更新間隔が長いタイルの占有率は、長更新間隔タイル占有率と称することもできる。
【００３０】
文字尤度算出部５は、タイル毎に文字尤度を算出する。文字尤度とは、文字の表示領域に該当する尤もらしさを表す値である。文字尤度が高いほど、文字の表示領域に該当していると考えられる。文字尤度算出部５は、例えば、タイル内でエッジ強度のヒストグラムを求め、その分散値を文字尤度としてもよい。一般に、文字の表示領域では、エッジ強度が非常に強い画素（文字と背景の境界となる画素）と、エッジ強度が非常に弱い画素（単色の背景に該当する画素）とが混在している。従って、文字の表示領域では、エッジ強度の分散値は大きな値になる。よって、文字尤度算出部５は、文字尤度としてエッジ強度の分散値を算出してよい。
【００３１】
また、文字尤度算出部５は、個々の更新領域毎に、更新領域の文字尤度も算出する。文字尤度算出部５は、１つの更新領域の文字尤度を算出する場合、その更新領域と重なる各タイルの文字尤度の統計値（例えば、平均値、最大値、最小値等）をその更新領域の文字尤度として算出してよい。
【００３２】
重要度算出部６は、更新領域毎に、ユーザにとってどの程度重要であるかを表す重要度を算出する。重要度算出部６は、更新領域毎に、更新間隔指標と文字尤度とを加重加算することによって重要度を算出する。なお、本実施形態では、更新間隔指標は、更新間隔が長いタイルの占有率である。さらに、重要度算出部６は、最新のフレームから検出された各更新領域を重要度順にソートし、重要度が、予め定められた閾値以上である更新領域を重要領域として特定する。この閾値は、重要領域を特定するための閾値である。重要度算出部６は、最新のフレームから検出された各更新領域のうち、重要領域以外の更新領域（すなわち、重要度が閾値未満である更新領域）を非重要領域として定める。従って、各更新領域が、重要領域または非重要領域のいずれかに分類される。なお、更新領域以外の領域は、重要領域および非重要領域に該当しない。
【００３３】
重要度が高いということは、更新間隔が長いタイルの占有率や文字尤度が高いということを意味している。そして、更新間隔が長いタイルが多いということは、しばらく更新されなかった箇所が突然更新されたということを意味している。このように、しばらく更新されなかった箇所が突然更新され、その箇所に文字が表されている可能性が高いということは、ユーザにとって重要な情報を表示している領域であると言える。例えば、ツールバー操作に応じて表示されたメニュー項目等は、ユーザにとって重要であり、しばらく更新されなかった箇所に突然表示されたり、文字を含んでいたりするという性質がある。よって、そのようなメニュー項目等として更新された更新領域は、重要領域に分類される。一方、ユーザにとって重要でないバナー等の表示領域は、比較的短い間隔で更新される。また、ユーザにとって重要でないアイコン等には文字が含まれていないことが多い。よって、これらのバナーやアイコン等の表示領域が更新されたとしても、その更新領域の重要度は低く、非重要領域に分類されることになる。
【００３４】
また、重要度算出部６は、更新タイル以外の各タイルの重要度も算出する。更新タイル以外の重要度は、前回の更新時刻から、最新のフレームに対応する時刻までの期間と、文字尤度によって定めればよい。重要度算出部６は、前回の更新時刻から、最新のフレームに対応する時刻までの期間が長いほど、また、文字尤度が大きいほど、タイルの重要度を大きな値に定めればよい。
【００３５】
品質制御部７は、重要領域に割り当てる品質値を特定する。品質値とは、画像データを符号化したときの品質の度合いを表す値（整数値）である。品質値が高いほど、符号化後の符号量が大きく、品質が良くなる。逆に、品質値が低いほど、符号化後の符号量が小さく、品質が悪くなる。品質値には、上限値および下限値が定められている。品質値の一例として、ＪＰＥＧ（Joint Photographic Experts Group）におけるＱ値が挙げられるが、ＪＰＥＧにおけるＱ値以外の品質値を用いてもよい。
【００３６】
品質制御部７は、重要領域の品質値を定める際、まず、重要領域全体の目標符号量を算出する。品質制御部７は、フレーム内総目標符号量を、更新領域全体の面積に対する重要領域全体の面積の割合（すなわち、重要領域全体の面積／更新領域全体の面積）で按分し、その按分結果に一定値（例えば、１０００バイト）を加算することによって、重要領域全体の目標符号量を算出する。このことは、重要領域全体に割り当てる目標符号量を、更新領域全体の面積に対する重要領域全体の面積の割合よりも多く割り当てる（偏重させる）ことを意味する。品質制御部７は、フレーム内総目標符号量を「重要領域全体の面積／更新領域全体の面積」で按分した結果よりも、重要領域全体の目標符号量が多くなるように、按分結果に対して加算を行えばよい。従って、品質制御部７は、按分結果に対して、上記のような一定加算を行ってもよいし、あるいは、定率乗算を行ってもよい。なお、フレーム内総目標符号量は、１フレーム当たりの総目標符号量であり、定数として予め定めておけばよい。
【００３７】
そして、品質制御部７は、重要領域全体の目標符号量を用いて、品質値を求める。例えば、品質制御部７は、重要領域全体の画像信号値の分散を算出する。この分散は、重要領域全体の複雑度を表す値である。品質制御部７は、重要領域全体の目標符号量および複雑度に対応する品質値を特定すればよい。例えば、品質制御部７は、目標符号量、複雑度、および品質値の対応関係を示すデータベースを予め保持していてもよい。そして、品質制御部７は、そのデータベースを参照して、重要領域全体の目標符号量および複雑度に対応する品質値を特定してもよい。品質制御部７は、例えば、個々の複雑度毎に、品質値と符号量との対応関係を示す情報をデータベースとして保持していてもよい。この場合、品質制御部７は、算出した複雑度に応じた、品質値と符号量との対応関係を示す情報を参照し、その情報から、目標符号量に対応する品質値を特定する。この品質値の導出方法は、例示であり、品質制御部７は、重要領域全体の目標符号量に基づいて、他の方法で品質値を導出してもよい。
【００３８】
重要領域符号化部８は、品質制御部７が定めた重要領域の品質値に基づいて、重要領域全体を符号化する。
【００３９】
タイル品質保持部９は、個々のタイルの品質値を保持する。タイル品質保持部９は、タイルの少なくとも一部の領域に対して、品質値が定められた後、そのタイルの品質値を求めなおして、そのタイルの品質値を保持する。例えば、品質制御部７が、上記のように重要領域に対する品質値を定めたとする。すると、タイル品質保持部９は、その重要領域に含まれるタイルの品質値を、その重要領域の品質値で更新する。また、１つのタイルの一部が重要領域に該当し、他の一部が非重要領域に該当したりすることによって、１つのタイルの一部に対してそれぞれ品質値が割り当てられることがある。この場合、タイル品質保持部９は、例えば、それらの品質値の最小値を、そのタイルの品質値として保持する。
【００４０】
イントラ更新タイル候補選択部１１は、更新タイル以外の各タイルのうち、品質値が閾値以下のタイルを全て選択する。以下、このタイルを低品質タイルと記す。また、この閾値は、低品質タイルを選択するための閾値である。低品質タイルは、イントラ更新の対象候補となるタイルである。
【００４１】
また、品質制御部７は、重要領域符号化部８が重要領域全体を符号化した結果の符号量をフレーム内総目標符号量から減算した残帯域に基づいて、非重要領域の品質値を特定する。品質制御部７は、残帯域を全て使って非重要領域全体を符号化する場合の品質値を、品質値の初期値として求める。そして、非重要領域の品質値をその初期値よりも低下させると、イントラ更新できる低品質タイル数は増加する。品質制御部７は、非重要領域の品質値を初期値から１ずつ減少させていき、非重要領域の品質値と、イントラ更新のために符号化した低品質タイルの送信に利用できる符号量（以下、タイル再送用符号量と記す。）の最適な組み合わせを算出する。この動作については、後述する。
【００４２】
非重要領域符号化部１０は、品質制御部７が定めた非重要領域の最適な品質値に基づいて、非重要領域全体を符号化する。
【００４３】
イントラ更新部１２は、重要領域および非重要領域の符号化結果を送信後の残帯域の範囲内で、低品質タイルを、重要度の高い順に符号化する。このとき、イントラ更新部１２は、イントラ更新用の品質値で低品質タイルを符号化する。
【００４４】
送信部１３は、重要領域の符号化データ、非重要領域の符号化データ、および低品質タイルの符号化データをそれぞれシンクライアントに送信する。なお、それらの符号化データの送信タイミングは異なる。符号化データの送信タイミングについては、図３に示すフローチャートを参照して後述する。
【００４５】
更新領域検出部２、更新間隔指標算出部４、文字尤度算出部５、重要度算出部６、品質制御部７、重要領域符号化部８、タイル品質保持部９、非重要領域符号化部１０、イントラ更新タイル候補選択部１１、イントラ更新部１２および送信部１３は、例えば、画像符号化プログラムに従って動作するコンピュータのＣＰＵ（Central Processing Unit）によって実現される。この場合、ＣＰＵが、画像符号化プログラムを読み込み、そのプログラムに従って、上記の各部として動作する。画像符号化プログラムは、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。
【００４６】
次に、本発明の処理経過について説明する。図３は、本発明の処理経過の例を示すフローチャートである。更新領域検出部２は、最新のフレームをキャプチャすると（ステップＳ１）、最新のフレームから更新タイルを検出する（ステップＳ２）。すなわち、更新領域検出部２は、前のフレームと比較して、変更が生じているタイルを検出する。
【００４７】
最新のフレームに更新タイルがなければ（ステップＳ３のＮｏ）、ステップＳ１７に移行する。また、更新タイルがあれば（ステップＳ３のＹｅｓ）、更新領域検出部２は、タイル情報メモリ３内に記憶されている、ステップＳ２で検出された更新タイルの更新時刻および更新間隔を書き換える（ステップＳ４）。すなわち、更新領域検出部２は、その更新タイルの更新時刻（最新のフレームに対応する時刻）と、タイル情報メモリ３に記憶されている前回の更新時刻との差を計算することにより、更新間隔を求め直す。そして、更新領域検出部２は、その更新間隔および最新の更新時刻で、タイル情報メモリ３に記憶されていた更新間隔および更新時刻を書き換える。更新領域検出部２は、ステップＳ２で検出された更新タイル毎に、更新時刻、更新間隔を書き換える。
【００４８】
続いて、更新領域検出部２は、個々の更新領域を特定する（ステップＳ５）。
【００４９】
そして、更新間隔指標算出部４は、更新領域毎に、更新間隔指標を算出する（ステップＳ６）。本実施形態では、更新間隔指標算出部４は、更新領域毎に、更新領域と重なる各タイルのうち、更新間隔が長いタイル（更新間隔が閾値以上であるタイル）の占有率を算出する。
【００５０】
また、文字尤度算出部５は、更新領域毎に、文字尤度を算出する（ステップＳ７）。ステップＳ７では、文字尤度算出部５は、まず、フレーム内のタイル毎に文字尤度を算出する。このとき、既に述べたように、文字尤度算出部５は、タイル内でエッジ強度のヒストグラムを求め、その分散値を文字尤度としてもよい。そして、文字尤度算出部５は、例えば、個々の更新領域を１つずつ順次、選択し、選択した更新領域と重なる各タイルの文字尤度の統計値（例えば、平均値、最大値、最小値等）をその更新領域の文字尤度として算出する。文字尤度算出部５は、他の方法で、各更新領域の文字尤度を算出してもよい。
【００５１】
次に、重要度算出部６は、更新領域毎に、更新間隔が長いタイルの占有率と、文字尤度とを加重加算することによって重要度を算出する（ステップＳ８）。
【００５２】
また、ステップＳ８において、重要度算出部６は、更新タイル以外の各タイルの重要度も算出する。このとき、重要度算出部６は、前回の更新時刻から、最新のフレームに対応する時刻までの期間が長いほど、また、文字尤度が大きいほど、タイルの重要度を大きな値に定めればよい。
【００５３】
そして、重要度算出部６は、各更新領域を重要度順にソートする（ステップＳ９）。次に、重要度算出部６は、重要度が閾値以上である更新領域を重要領域として特定する（ステップＳ１０）。また、重要度算出部６は、ステップＳ１０において、各更新領域のうち、重要領域以外の更新領域を非重要領域として定める。
【００５４】
このとき、更新領域全体の面積に対する重要領域全体の面積の割合が所定値（例えば、８％）以上である場合、重要度算出部６は、全ての更新領域を非重要領域として定めてもよい。このように、重要領域の割合が所定値以上の場合、全ての更新領域を非重要領域とすることで、更新領域間で重要度の有意な偏りが検出できなかった場合、後述のステップＳ１１の処理が行われなくなる。その結果、誤判定による悪影響を抑制できる。
【００５５】
重要領域の特定後、品質制御部７は、フレーム内総目標符号量を、更新領域全体の面積に対する重要領域全体の面積の割合（すなわち、重要領域全体の面積／更新領域全体の面積）で按分し、その按分結果に一定値を加算する。品質制御部７は、この結果を、重要領域全体の目標符号量とする。なお、前述のように、品質制御部７は、按分結果に対して、定率乗算を行うことで、重要領域全体の目標符号量を算出してもよい。
【００５６】
そして、品質制御部７は、重要領域全体の目標符号量を用いて、重要領域全体に対する品質値を求める（ステップＳ１１）。例えば、品質制御部７は、重要領域全体の複雑度を算出する。重要領域全体の画像信号値の分散を複雑度として用いることができる。品質制御部７は、目標符号量、複雑度、および品質値の対応関係を示すデータベースを予め保持し、重要領域全体の目標符号量および複雑度に対応する品質値を特定すればよい。なお、品質制御部７は、他の方法で品質値を特定してもよい。
【００５７】
次に、重要領域符号化部８は、ステップＳ１１で決定された品質値に基づいて、重要領域全体を符号化する。そして、送信部１３は、重要領域全体の符号化データをシンクライアントに送信する（ステップＳ１２）。
【００５８】
続いて、品質制御部７は、残帯域から非重要領域の品質値を特定する（ステップＳ１３）。なお、図３では、図示を省略しているが、イントラ更新タイル候補選択部１１は、ステップＳ１３の直前に、タイル品質保持部９が保持している各タイルの品質値を参照し、更新タイル以外の各タイルのうち、品質値が閾値以下のタイル（すなわち低品質タイル）を全て選択する。
【００５９】
以下、ステップＳ１３の処理を説明する。図４は、ステップＳ１３の処理経過を示すフローチャートである。品質制御部７は、ステップＳ１２で重要領域全体を符号化した結果の符号量をフレーム内総目標符号量から減算した残帯域を全て使って非重要領域全体を符号化する場合の品質値を算出し、品質値の初期値とする（ステップＳ２１）。以下、この初期値をＱｉｎｉと記す。
【００６０】
次に、品質制御部７は、Ｑｉｎｉから、品質値の下限値（１とする。）までの各品質値で、非重要領域全体を符号化した場合の推定符号量をそれぞれ求める（ステップＳ２２）。例えば、Ｑｉｎｉ＝９であるとする。この場合、品質制御部７は、９，８，・・・，１の各品質値で、非重要領域全体を符号化した場合の推定符号量をそれぞれ求める。
【００６１】
ここでは、前述のように、品質制御部７が、個々の複雑度毎に、品質値と符号量との対応関係を示す情報をデータベースとして保持している場合を例にしてステップＳ２２の処理を説明する。品質制御部７は、ステップＳ２２において、非重要領域全体の画像信号値の分散を、非重要領域の複雑度として求める。品質制御部７は、その複雑度に応じた、品質値と符号量との対応関係を示す情報を参照し、個々の品質値に対応する符号量を特定し、その符号量を、個々の品質値における推定符号量として定めればよい。この推定符号量の導出方法は例示であり、品質制御部７は、他の方法で推定符号量を導出してもよい。
【００６２】
そして、品質制御部７は、Ｑｉｎｉから１減算した値を品質値として選択する（ステップＳ２３）。
【００６３】
そして、品質制御部７は、Ｑｉｎｉに対応する推定符号量と、選択した品質値に対応する推定符号量との差分を計算する（ステップＳ２４）。各品質値に対応する推定符号量は、ステップＳ２２で得られている。
【００６４】
Ｑｉｎｉに対応する推定符号量と、選択した品質値に対応する推定符号量との差分は、非重要領域全体の品質値をＱｉｎｉから選択中の品質値まで下げた場合に、タイル再送用符号量として割り当てることができる符号量である。前述のように、タイル再送用符号量は、イントラ更新のために符号化した低品質タイルの送信に利用できる符号量である。
【００６５】
以下、選択中の品質値をｑと記す。また、ステップＳ２４で計算される差分（タイル再送用符号量）を、選択中の品質値ｑを添え字としてＡｑと記す。
【００６６】
ステップＳ２４の後、品質制御部７は、選択中の品質値ｑでの非重要領域品質指標を算出する（ステップＳ２５）。非重要領域品質指標は、非重要領域の品質を表す指標である。非重要領域品質指標を、選択中の品質値ｑを添え字としてＢｑと記す。品質制御部７は、例えば、以下の式（１）の計算によってＢｑを算出する。
【００６７】
Ｂｑ＝ｃ＊ｑ＊Ｓ          式（１）
【００６８】
式（１）において、Ｓは、非重要領域の面積の総和である。また、ｃは、予め定められた定数（本例は、２５０とする。）である。
【００６９】
次に、品質制御部７は、送信可能なタイル数の上限値を算出する（ステップＳ２６）。送信可能なタイル数の上限値を、選択中の品質値ｑを添え字としてＴｑと記す。
【００７０】
ステップＳ２６において、品質制御部７は、ステップＳ２４で求めたタイル再送用符号量Ａｑをタイル符号量で除算することによって、送信可能なタイル数の上限値Ｔｑを算出する。ここで、タイル符号量は、イントラ更新のために低品質タイルを再送した場合に１タイル当たりに発生する符号量の推定値である。タイル符号量は、予め定められる。例えば、１つのタイルのサイズが、縦３２画素、横３２画素であるとする。また、イントラ更新の典型圧縮率を１／１５とする。また、１画素にＲ，Ｇ，Ｂの３バイトのデータが含まれているとする。この場合、タイル符号量を、３２＊３２＊３／１５＝２０４バイトとして定めておけばよい。この例では、品質制御部７は、タイル再送用符号量Ａｑを２０４で除算することによってＴｑを求めればよい。
【００７１】
続いて、品質制御部７は、イントラ更新タイル候補選択部１１によって選択された低品質タイルを、タイルの重要度で降順にソートする。そして、品質制御部７は、ソート後の１番目の低品質タイルからＴｑ番目の低品質タイルまでの各タイルの重要度の総和を計算する（ステップＳ２７）。
【００７２】
そして、品質制御部７は、１番目からＴｑ番目までの各低品質タイルの重要度の総和が、ステップＳ２５で算出した非重要領域品質指標Ｂｑを超えているか否かを判定する（ステップＳ２８）。ステップＳ２７で求めた総和がＢｑを超えていなければ（ステップＳ２８のＮｏ）、品質制御部７は、選択中の品質値ｑから１減算した値を、品質値ｑとして新たに選択する（ステップＳ２９）。そして、品質制御部７は、その新たに選択した品質値ｑに関して、ステップＳ２４以降の処理を行う。
【００７３】
品質制御部７は、ステップＳ２７で求めた総和がＢｑを超えるまで、ステップＳ２４〜Ｓ２９のループ処理を繰り返す。
【００７４】
ステップＳ２７で求めた総和がＢｑを超えた場合（ステップＳ２８のＹｅｓ）、品質制御部７は、その時点で選択している品質値ｑを、非重要領域全体に対する品質値として決定し（ステップＳ３０）、ステップＳ１３を終了する。
【００７５】
ステップＳ２７で求めた総和が初めてＢｑを超えたときに選択している非重要領域の品質値ｑで非重要領域全体を符号化し、１番目の低品質タイルからＴｑ番目の低品質タイルに対してイントラ更新を行った場合、その非重要領域全体、および、１番目の低品質タイルからＴｑ番目の低品質タイルまでの各品質タイル全体での品質が最大になると推定できる。
【００７６】
なお、品質値の下限値である１を選択した場合でも、ステップＳ２７で求めた総和がＢｑ以下である場合には、品質制御部７は、Ｑｉｎｉを、非重要領域全体に対する品質値として決定する。
【００７７】
図５は、ステップＳ１３で算出されるＡｑ，Ｂｑの具体例および非重要領域全体に対する品質値の導出例を示す説明図である。図５では、Ｑｉｎｉ＝９である場合を例示し、９，８，７，・・・，１におけるＡｑ，Ｂｑの例を示している。なお、図４に例示するフローチャートでは、Ｑｉｎｉから１減算した値から、各品質値が順に選択される。従って、図４に示す例では、Ｑｉｎｉに対するＡｑ，Ｂｑは計算されないが、図５では便宜的に示している。品質値８の選択時には、ステップＳ２８においてＮｏと判定されたとする。品質制御部７が、ステップＳ２９で品質値７を選択した後、ステップＳ２４でタイル再送用符号量Ａ７＝１７００を求めたとする。また、非重要領域の面積の総和Ｓ＝１００であり、品質制御部７が、ステップＳ２５で、非重要領域品質指標Ｂ７＝１７５０００を求めたとする。
【００７８】
さらに、品質制御部７は、ステップＳ２６で、Ａ７をタイル符号量（２０４とする。）で除算することによって、送信可能なタイル数の上限値Ｔ７＝８を得る。なお、品質制御部７は、除算結果の小数点以下を切り捨てる。低品質タイルを降順にソートした結果が、図５に例示した通りになっているとする。品質制御部７は、１番目から８番目までの低品質タイルの重要度の総和を計算する。図５に示す例では、この値は１７６０００となる。すると、１７６０００＞Ｂ７であるので、品質制御部７は、選択中の品質値７を、非重要領域全体に対する品質値として決定する。
【００７９】
ステップＳ１３の後、非重要領域符号化部１０は、ステップＳ１３で決定された品質値に基づいて、非重要領域全体を符号化する。そして、送信部１３は、非重要領域全体の符号化データをシンクライアントに送信する（ステップＳ１４）。
【００８０】
ステップＳ１４の処理までに、更新領域（重要領域および非重要領域）の符号化および送信が完了する。既に述べたように、本実施形態では、動画による画像変化は、表示の更新に該当しないものとする。すなわち、フレーム内の動画表示領域は、更新領域に該当しない。フレーム内の動画表示領域が存在する場合、画像符号化装置１は、ステップＳ１４と、後述するステップＳ１５の間で、フレーム内の動画表示領域を符号化してシンクライアントに送信すればよい。
【００８１】
次に、ステップＳ１５において、イントラ更新部１２は、ステップＳ１５開始時点における総符号量をフレーム内総目標符号量から減算した残帯域の範囲内で、低品質タイルを重要度順にイントラ更新用の品質値で符号化する。そして、送信部１３が、符号化された低品質タイルをシンクライアントに送信する（ステップＳ１５）。ステップＳ１５において、イントラ更新部１２は、符号化および送信が完了した低品質タイルの符号量の累積値が残帯域を超えたならば、低品質タイルの符号化を停止する。送信部１３は、低品質タイルの符号量の累積値が残帯域を超えた時点の低品質タイルについては送信しない。ただし、イントラ更新部１２は、少なくとも１つの低品質タイルを符号化し、送信部１３は、その低品質タイルをシンクライアントに送信する。
【００８２】
ステップＳ１５の処理によって、イントラ更新が実現される。
【００８３】
なお、イントラ更新部１２は、ステップＳ１５で送信できなかった低品質タイルを次のフレーム以降に持ち越す。イントラ更新部１２は、それらの低品質タイルを次フレームで重要度順に送信されるように、低品質タイルを重要度順にソートしておく（ステップＳ１６）。
【００８４】
また、タイル品質保持部９は、重要領域および非重要領域に対して定められた品質値に基づいて、重要領域と重複するタイルおよび非重要領域と重複するタイルの品質値を求め直し、それらのタイルの品質値をそれぞれ保持する。
【００８５】
ステップＳ１６の後、画像符号化装置１は、次のフレームのキャプチャ開始を待つ（ステップＳ１７）。次のフレームをキャプチャした場合には、画像符号化装置１は、そのフレームに対して、ステップＳ１以降の処理を行う。
【００８６】
本実施形態によれば、更新間隔指標（本例では、更新間隔が長いタイルの占有率）や文字尤度が高い更新領域ほど、重要度が高くなる。従って、更新されない状態がしばらく続いて突然更新が生じた更新領域（例えば、ユーザの操作に応じて表示されたメニュー項目等に該当する領域）は、重要領域として特定される確率が高くなる。同様に、更新の結果文字を表している更新領域も重要領域として特定される確率が高くなる。これらの領域は、ユーザにとって意味のある重要な領域であると考えられる。そして、品質制御部７は、更新領域のうち、重要領域に対しては、フレーム内総目標符号量を「重要領域全体の面積／更新領域全体の面積」で按分した結果よりも多くなるように、重要領域全体に割り当てる目標符号量を算出する。すると、ユーザにとって重要である可能性が高い重要領域は、その他の更新領域（非重要領域）よりも優先的に高品質化される。従って、ユーザは、ユーザにとって意味のある重要領域の表示内容を早く把握することができる。
【００８７】
また、更新領域に非重要領域が存在する場合、品質制御部７は、ステップＳ１３において、非重要領域の品質値を抑制することで、イントラ更新のための符号量を割り当てる（図４に示すステップＳ２１〜Ｓ３０）。そして、非重要領域に対する符号化および送信後の残帯域の範囲内で、イントラ更新部１２が、低品質タイルに対して、重要度の高い順に符号化し、送信部１３が符号化された低品質タイルをシンクライアントに送信する。この結果、ユーザにとって重要と考えられる低品質タイルの画質回復を優先的に実現できる。
【００８８】
このような本発明におけるイントラ更新の順序と、図１０に例示するイントラ更新の順序とを比較する。図１０に示す例では、画面上段の低品質タイルほど優先度が高い。また、同じ段のタイル同士では、ユーザから見て左側のタイルほど、優先度が高い（図１０参照）。従って、図１０に例示する一般的なイントラ更新では、ユーザにとって意味のある情報を表している低品質タイルが、画面の下部に存在した場合、そのタイルの画質回復までに時間がかかってしまう。一方、本発明では、非重要領域の品質値を抑制し、イントラ更新のための符号量を割り当てた場合、低品質タイルの位置に依存せずに、重要度の高い低品質タイルから優先的にイントラ更新が行われる。よって、ユーザにとって重要と考えられる低品質タイルの画質回復を早めることができる。
【００８９】
また、タイルの更新期間が短いと、タイルの重要度は、低く設定される。従って、文字を表示していると考えられる領域であったとしても、定常的に変化するインジケータ等の表示領域に該当するタイルでは、重要度が低くなる。このように定常的に変化するタイルでは、イントラ更新により画質向上を実現したとしても、短期間のうちに次の描画更新が発生し、イントラ更新による画質向上が無駄になってしまう可能性が高い。定常的に更新が発生し、更新間隔の短いタイルの重要度は低く設定される。よって、イントラ更新による画質向上を行っても直ぐに書き換えられる可能性が高い低品質タイルについては、イントラ更新部１２は符号化を遅らせる。その分、ユーザにとって重要と考えられる低品質タイルにおけるイントラ更新のレートを高くすることができ、画像全体の平均品質を向上させることができる。
【００９０】
次に、上記の実施形態の変形例について説明する。
重要度算出部６は、文字尤度を用いずに、更新間隔指標（上記の例では、更新間隔が長いタイルの占有率）に基づいて、各更新領域の重要度を算出してもよい。また、重要度算出部６は、更新タイル以外の各タイルの重要度を定める場合にも、文字尤度を用いなくてもよい。この場合、文字尤度算出部５は設けられていなくてもよい。そして、ステップＳ７（図３参照）の処理は省略されてもよい。
【００９１】
また、上記の実施形態では、更新間隔が長いタイルの占有率を、更新間隔指標として用いる場合を例にして説明した。更新間隔が長いタイルの占有率以外の値を、更新間隔指標として用いてもよい。例えば、更新領域と重なる各タイルの更新間隔の平均値を、更新間隔指標として用いてもよい。この場合、更新間隔指標算出部４は、更新領域毎に、更新領域と重なる各タイルの更新間隔の平均値を算出すればよい。なお、更新領域と重なる各タイルの大部分では更新間隔が短いが、残りの少数のタイルでは更新間隔が非常に長くなっている場合も生じ得る。この場合、タイル全体としての更新間隔指標は小さな値になることが好ましいが、更新間隔が非常に長い少数のタイルの存在によって、その更新領域における更新間隔の平均値が大きくなってしまうことも考えられる。このような場合を避けるために、更新間隔指標算出部４は、更新間隔の平均値を算出する場合における各タイルの更新間隔の上限値を定めておき、その上限値よりも大きな更新間隔をその上限値で置換した上で、各タイルの更新間隔の平均値を算出することが好ましい。
【００９２】
また、上記の実施形態では、タイル情報メモリ３が、タイル毎の情報として、更新時刻とともに更新間隔も記憶する場合を例にして説明した。タイル情報メモリ３に更新時刻の情報が記憶されていれば、新たにキャプチャしたフレーム内の更新タイルの更新間隔を算出可能である。よって、タイル情報メモリ３が更新間隔の情報を記憶しない構成であってもよい。ただし、この場合であっても、タイル情報メモリ３は、タイル毎に、更新時刻の情報を記憶する。タイル情報メモリ３が更新間隔を記憶しない場合の動作態様の一例を以下に示す。本例では、ステップＳ４の処理を省略し、ステップＳ６の開始時点で、更新タイルの前回の更新時刻がタイル情報メモリ３に記憶されているものとする。そして、更新間隔指標算出部４が、更新領域毎に更新間隔指標を算出するときに、各更新タイルの最新の更新時刻（最新のフレームに対応する時刻）と、タイル情報メモリ３に記憶されている前回の更新時刻との差を計算することにより、更新間隔を算出し、その更新間隔を用いて更新間隔指標を算出すればよい。そして、更新間隔指標算出部４が、更新間隔指標を算出した後に、更新タイル毎に、タイル情報メモリ３に記憶されていた更新時刻を書き換えればよい。この動作態様は、タイル情報メモリ３が更新間隔を記憶しない場合の動作態様の一例であり、他の動作態様を採用してもよい。
【００９３】
また、低品質タイルの重要度を定める際に、マウス操作から一定時間内にタイルに更新が生じたときにおけるそのタイルとマウスの位置関係を表すパラメータを利用してもよい。具体的には、マウス操作から一定時間内にタイルに更新が生じた場合、そのタイルの中心座標と、その更新時におけるマウス座標との距離の逆数（以下、ポインタ近接度と記す。）を利用してもよい。図６は、本変形例における画像符号化装置の例を示すブロック図である。既に説明した要素と同様の要素については、図１と同一の符号を付し、説明を省略する。本変形例における画像符号化装置１は、ポインタ近接度算出部１４を備える（図６参照）。
【００９４】
ポインタ近接度算出部１４は、マウス操作が行われた場合、その操作時刻を記憶する。そして、その時刻から一定時間（例えば５００ｍｓｅｃ）以内の表示を表すフレームから更新タイルが検出された場合、そのフレームにおけるマウス座標と更新タイルの中心座標との距離の逆数を計算することによって、ポインタ近接度を算出する。ポインタ近接度算出部１４は、更新タイル毎にポインタ近接度を算出し、個々の更新タイルに対応する情報として、ポインタ近接度をタイル情報メモリ３に記憶させる。
【００９５】
また、ポインタ近接度算出部１４は、マウスの操作時刻から一定時間（例えば５００ｍｓｅｃ）経過した後の表示を表すフレームがキャプチャされたときには、タイル情報メモリ３に記憶させた全てのポインタ近接度を０とする。
【００９６】
図７は、ポインタ近接度算出部１４の処理経過の例を示すフローチャートである。図３に示す処理と同様の処理については、図３と同一のステップ番号を付している。また、ステップＳ２よりも前の処理、および、ステップＳ５以降の処理については、図３と同様であり、図示を省略している。
【００９７】
ステップＳ２の後、ポインタ近接度算出部１４は、マウスの操作時刻から一定時間（本例では５００ｍｓｅｃとする。）経過した後の表示を表すフレームが最新のフレームとしてキャプチャされたか否かを判定する（ステップＳ４１）。マウスの操作時刻から５００ｍｓｅｃ経過した後の表示を表すフレームがキャプチャされている場合（ステップＳ４１のＹｅｓ）、ポインタ近接度算出部１４は、タイル情報メモリ３に記憶されている全てのポインタ近接度を０にする（ステップＳ４２）。
【００９８】
そして、キャプチャしたフレームに更新タイルがあれば（ステップＳ３のＹｅｓ）、更新領域検出部２は、更新タイルの更新時刻および更新間隔を書き換える（ステップＳ４）。ステップＳ４については、既に説明した動作と同様であり、ここでは説明を省略する。
【００９９】
ステップＳ４の後、ポインタ近接度算出部１４は、直近にキャプチャした最新のフレームが、マウスの操作時刻から５００ｍｓｅｃ以内の表示を表すフレームであることを条件に、その最新フレームから検出された更新タイル毎に、ポインタ近接度を算出する。このとき、ポインタ近接度算出部１４は、更新タイル毎に、その最新フレームにおけるマウス座標と更新タイルの中心座標との距離の逆数を、ポインタ近接度として計算する。そして、ポインタ近接度算出部１４は、各更新タイルのポインタ近接度をタイル情報メモリ３に記憶させる（ステップＳ４３）。
【０１００】
ステップＳ４３の後、ステップＳ５（図３参照）に移行する。
【０１０１】
直近にキャプチャした最新のフレームが、マウスの操作時刻から５００ｍｓｅｃ経過後の表示を表すフレームである場合、ポインタ近接度算出部１４は上記のステップＳ４３を実行しない。この場合、ステップＳ４の後、ステップＳ５（図３参照）に移行する。
【０１０２】
ステップＳ４３の処理によって、タイルに対してポインタ近接度が算出された場合、そのポインタ近接度がタイル情報メモリ３に記憶される。
【０１０３】
ステップＳ５以降の処理は、図３に示すステップＳ５以降の処理と同様である。ただし、重要度算出部６は、更新タイル以外の各タイルの重要度も決定するときに、そのタイルのポインタ近接度も用いる。すなわち、重要度算出部６は、前回の更新時刻から、最新のフレームに対応する時刻までの期間が長いほど、また、文字尤度が大きいほど、また、ポインタ近接度が大きいほど、タイルの重要度を大きな値に定める。
【０１０４】
タイルのポインタ近接度が大きいということは、そのタイルが更新されたときにマウスカーソルがそのタイルの近傍に存在していたということを意味する。従って、そのタイルは、ユーザによるマウス操作に伴って更新されたタイルである可能性が高いといえる。マウス操作に伴って更新された箇所は、ユーザにとって重要であるといえる。上記のように、ポインタ近接度が大きいほど、タイルの重要度を大きな値に定めることで、そのタイルのイントラ更新の優先度が高まる。よって、マウス操作に伴って更新された箇所（例えば、ツールバーに対するマウス操作で表示されたメニュー等）の画質回復を早めることができる。
【０１０５】
また、前述の実施形態では、更新領域を重要領域と非重要領域の２つのグループに分類する場合を示したが、重要度算出部６は、個々の更新領域の重要度に応じて、更新領域を３つ以上のグループに分類してもよい。この場合、品質制御部７は、更新領域の品質を抑制することで、低品質タイルのイントラ更新のための符号量を確保する。この方法の一例として、以下に示す方法を採用してもよい。なお、以下では、更新領域が、重要度の高い順に第１から第ＮまでのＮ個のグループに分けられているとする。
【０１０６】
品質制御部７は、重要度の最も低い第Ｎグループの更新領域全体の品質値を１低下させる。このことによって、第Ｎグループの更新領域全体を符号化したときの符号量が減少し、その分、余剰符号量（タイル再送用符号量）が増加する。品質制御部７は、その余剰符号量で送信可能な低品質タイルの数と、全グループの更新領域全体の品質指標を算出する。そして、品質制御部７は、第Ｎグループの更新領域全体の品質値を１低下させたことで、フレーム全体の品質が改善するか否かを判定する。
【０１０７】
フレーム全体の品質が改善する場合、品質制御部７は、次に重要度の低いグループ（第Ｎ−１グループ）の更新領域全体の品質値を１低下させる。そして、上記と同様に、品質制御部７は、品質を低下させたことで発生する余剰符号量で送信可能な低品質タイルの数と、全グループの更新領域全体の品質指標を算出する。そして、品質制御部７は、第Ｎ−１グループの更新領域全体の品質値を１低下させたことで、フレーム全体の品質が改善するか否かを判定する。フレーム全体の品質が改善する場合、品質制御部７は、次に重要度の低いグループの更新領域全体の品質値を１低下させ、上記と同様に、品質値を１低下させたことで、フレーム全体の品質が改善するか否かを判定する。
【０１０８】
品質制御部７は、フレーム全体の品質が改善しないと判定されるまで、上記と同様の処理を繰り返す。また、重要度が最も高い第１グループの品質を１低下させたときにも、フレーム全体の品質が改善すると判定したならば、品質制御部７は、再度、重要の最も低い第Ｎグループの更新領域全体の品質値を１低下させ、同様の処理を繰り返す。
【０１０９】
次に、本発明の主要部について説明する。図８は、本発明の画像符号化装置の主要部の例を示すブロック図である。本発明の画像符号化装置は、タイル情報記憶部６１と、更新領域検出部６２と、更新間隔指標算出部６３と、重要領域特定部６４と、品質制御部６５と、重要領域符号化部６６とを備える。
【０１１０】
タイル情報記憶部６１（例えば、タイル情報メモリ３）は、画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶する。
【０１１１】
更新領域検出部６２（例えば、更新領域検出部２）は、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する。
【０１１２】
更新間隔指標算出部６３（例えば、更新間隔指標算出部４）は、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する。
【０１１３】
重要領域特定部６４（例えば、重要度算出部６）は、更新間隔指標を用いて各更新領域から重要領域を特定する。
【０１１４】
品質制御部６５（例えば、品質制御部７）は、更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する。
【０１１５】
重要領域符号化部６６（例えば、重要領域符号化部８）は、その品質値で重要領域全体を符号化する。
【０１１６】
そのような構成によれば、品質制御部６５が、更新領域全体の面積に対する重要領域全体の面積の割合で１フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当てる。従って、ユーザにとって重要な領域を高い品質で符号化することができる。
【０１１７】
また、タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持するタイル品質保持部（例えば、タイル品質保持部９）と、更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択する低品質タイル選択部（例えば、イントラ更新タイル候補選択部１１）とを備え、重要領域特定部６４が、更新間隔指標を用いて各更新領域の重要度を算出し、重要度に基づいて各更新領域から重要領域を特定し、重要領域特定部６４が、更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出し、品質制御部６５が、１フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定し、その品質値で非重要領域全体を符号化する非重要領域符号化部（例えば、非重要領域符号化部１０）と、イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化するイントラ更新部（例えば、イントラ更新部１２）とを備える構成であってもよい。
【０１１８】
また、文字の表示領域に該当する尤もらしさを表す文字尤度をタイル毎に算出し、各更新領域の文字尤度を定める文字尤度算出部（例えば、文字尤度算出部５）を備え、重要領域特定部６４が、更新間隔指標と文字尤度とを用いて各更新領域の重要度を算出し、更新時刻からの経過時間と文字尤度とを用いてタイルの重要度を算出してもよい。
【０１１９】
また、所定の座標への外部からの操作（例えば、マウス操作）から一定時間内にタイルに更新が生じた場合、そのタイルの中心座標と、その更新時における当該座標との距離の逆数であるポインタ近接度を算出するポインタ近接度算出部（例えば、ポインタ近接度算出部１４）を備え、重要領域特定部６４が、更新時刻からの経過時間とポインタ近接度とを用いてタイルの重要度を算出してもよい。
【０１２０】
重要領域特定部６４が、更新領域全体の面積に対する重要領域全体の面積の割合が所定値以上である場合、更新領域全体を非重要領域として定めてもよい。
【０１２１】
更新間隔指標算出部６３が、更新領域毎に、更新間隔指標として、更新領域と重なる更新タイル数のうち、更新間隔が閾値以上となっているタイル数の割合である長更新間隔タイル占有率を算出してもよい。
【０１２２】
更新間隔指標算出部６３が、更新領域毎に、更新間隔指標として、更新領域と重なる各更新タイルの更新間隔の平均値を算出してもよい。
【０１２３】
この出願は、２０１３年３月２７日に出願された日本特許出願２０１３−０６７０３５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１２４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【０１２５】
本発明は、シンクライアントに画像を送信するために画像を符号化する画像符号化装置に好適に利用される。
【符号の説明】
【０１２６】
１  画像符号化装置
２  更新領域検出部
３  タイル情報メモリ
４  更新間隔指標算出部
５  文字尤度算出部
６  重要度算出部
７  品質制御部
８  重要領域符号化部
９  タイル品質保持部
１０  非重要領域符号化部
１１  イントラ更新タイル候補選択部
１２  イントラ更新部
１３  送信部
【図１】
2014155919.tif 000003
【図２】
2014155919.tif 000004
【図３】
2014155919.tif 000005
【図４】
2014155919.tif 000006
【図５】
2014155919.tif 000007
【図６】
2014155919.tif 000008
【図７】
2014155919.tif 000009
【図８】
2014155919.tif 000010
【図９】
2014155919.tif 000011
【図１０】
2014155919.tif 000012
【国際調査報告】
2014155919.tif 000013
2014155919.tif 000014
2014155919.tif 000015
2014155919.tif 000016