(57)【特許請求の範囲】
【請求項１】
１フレーム内の領域であって通信ネットワークを介して画像データが送信される領域の画像データを符号化するときの目標符号量を算出する目標符号量算出装置であって、
前記通信ネットワークの通信帯域を、予め定められたフレームレートで除算することにより、画像データが送信される各領域全体に対する目標符号量である全体目標符号量を算出する全体目標符号量算出手段と、
前記全体目標符号量を、画像データが送信される前記各領域の符号化前の画像データの総データ量で除算することにより、画像データを符号化するときの圧縮率を算出する圧縮率算出手段と、
画像データが送信される個々の領域毎に、当該領域の符号化前の画像データのデータ量に、前記圧縮率算出手段が算出した圧縮率を乗算して、当該領域の画像データを符号化するときの目標符号量を算出する領域別目標符号量算出手段とを備え、
前記領域別目標符号量算出手段は、
画像データの符号化が行われていない領域であって、符号化前の画像データのデータ量が所定の閾値以下である領域に対して、目標符号量を、画像データの符号化を行う装置において目標符号量の上限値として定められている値に定める
ことを特徴とする目標符号量算出装置。
【請求項２】
画像データが送信される各領域のうち画像データの符号化が完了している符号化完了領域がある場合に、符号化完了領域の符号化後の画像データの総量を全体目標符号量から減算する減算手段を備え、
前記圧縮率算出手段は、前記減算手段による減算が行われ、画像データが送信される各領域のうち未だ画像データの符号化が行われていない領域がある場合に、前記減算手段による減算後の全体目標符号量を符号化が行われていない領域の符号化前の画像データの総量で除算することにより、圧縮率を算出し、
前記領域別目標符号量算出手段は、符号化が行われていない領域の符号化前の画像データのデータ量に、前記圧縮率算出手段が算出した前記圧縮率を乗算して、符号化が行われていない領域の画像データを符号化するときの目標符号量を算出する
請求項１に記載の目標符号量算出装置。
【請求項３】
画像データが送信される各領域毎に、前記領域別目標符号量算出手段が定めた目標符号量以下の符号量に画像データを符号化する領域符号化手段を備える
請求項１または請求項２に記載の目標符号量算出装置。
【請求項４】
１フレーム内の更新された領域を含む矩形領域を、画像データが送信される領域として特定する領域特定手段を備える
請求項１から請求項３のうちのいずれか１項に記載の目標符号量算出装置。
【請求項５】
１フレーム内の領域であって通信ネットワークを介して画像データが送信される領域の画像データを符号化するときの目標符号量を算出する目標符号量算出方法であって、
前記通信ネットワークの通信帯域を、予め定められたフレームレートで除算することにより、画像データが送信される各領域全体に対する目標符号量である全体目標符号量を算出し、
前記全体目標符号量を、画像データが送信される前記各領域の符号化前の画像データの総データ量で除算することにより、画像データを符号化するときの圧縮率を算出し、
画像データが送信される個々の領域毎に、当該領域の符号化前の画像データのデータ量に、算出した圧縮率を乗算して、当該領域の画像データを符号化するときの目標符号量を算出し、
画像データの符号化が行われていない領域であって、符号化前の画像データのデータ量が所定の閾値以下である領域に対して、目標符号量を、画像データの符号化を行う装置において目標符号量の上限値として定められている値に定める
ことを特徴とする目標符号量算出方法。
【請求項６】
画像データが送信される各領域のうち画像データの符号化が完了している符号化完了領域がある場合に、符号化完了領域の符号化後の画像データの総量を全体目標符号量から減算し、
前記減算後、画像データが送信される各領域のうち未だ画像データの符号化が行われていない領域がある場合に、前記減算後の全体目標符号量を符号化が行われていない領域の符号化前の画像データの総量で除算することにより、圧縮率を算出し、
符号化が行われていない領域の符号化前の画像データのデータ量に、算出した前記圧縮率を乗算して、符号化が行われていない領域の画像データを符号化するときの目標符号量を算出する
請求項５に記載の目標符号量算出方法。
【請求項７】
１フレーム内の領域であって通信ネットワークを介して画像データが送信される領域の画像データを符号化するときの目標符号量を算出するコンピュータに搭載される目標符号量算出プログラムであって、
前記コンピュータに、
前記通信ネットワークの通信帯域を、予め定められたフレームレートで除算することにより、画像データが送信される各領域全体に対する目標符号量である全体目標符号量を算出する全体目標符号量算出処理、
前記全体目標符号量を、画像データが送信される前記各領域の符号化前の画像データの総データ量で除算することにより、画像データを符号化するときの圧縮率を算出する圧縮率算出処理、
画像データが送信される個々の領域毎に、当該領域の符号化前の画像データのデータ量に、前記圧縮率算出処理で算出した圧縮率を乗算して、当該領域の画像データを符号化するときの目標符号量を算出する領域別目標符号量算出処理、および、
画像データの符号化が行われていない領域であって、符号化前の画像データのデータ量が所定の閾値以下である領域に対して、目標符号量を、画像データの符号化を行う装置において目標符号量の上限値として定められている値に定める処理
を実行させるための目標符号量算出プログラム。
【請求項８】
前記コンピュータに、
画像データが送信される各領域のうち画像データの符号化が完了している符号化完了領域がある場合に、符号化完了領域の符号化後の画像データの総量を全体目標符号量から減算する減算処理、
前記減算処理の後、画像データが送信される各領域のうち未だ画像データの符号化が行われていない領域がある場合に、前記減算処理後の全体目標符号量を符号化が行われていない領域の符号化前の画像データの総量で除算することにより、圧縮率を算出する圧縮率再計算処理、および
符号化が行われていない領域の符号化前の画像データのデータ量に、前記圧縮率再計算処理で算出した前記圧縮率を乗算して、符号化が行われていない領域の画像データを符号化するときの目標符号量を算出する領域別目標符号量再計算処理
を実行させる請求項７に記載の目標符号量算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの符号化における符号化後のデータ量の最大許容値を表す目標符号量を算出する目標符号量算出装置、目標符号量算出方法および目標符号量算出プログラムに関する。
【背景技術】
【０００２】
画像データを送受信する装置が種々提案されている。例えば、特許文献１には、画像データを送受信するシンクライアントおよびサーバが記載されている。
【０００３】
また、通信ネットワークを介して画像データを送受信する場合、データ量を圧縮するために画像データを符号化する場合がある。画像データを符号化する画像処理装置が、例えば、特許文献２に記載されている。特許文献２に記載の画像処理装置は、量子化およびデータの符号化を行い、符号化処理を進行しながら符号化データの量をカウントする。そして、符号化処理の途中で符号化データのデータ量が設定された目標符号量をオーバーする場合、量子化ステップを変更して符号化処理を再開し、既に符号化されたデータについても、再符号化を行う。
【０００４】
【特許文献１】特開２００４−２２８８７７号公報（段落００３６−００４１、図１）
【特許文献２】特開２００４−３２０４７９号公報（段落００４４，００４５、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
送信側装置と受信側装置とが画像データを送受信するシステムにおいて、符号化後のデータ量を目標符号量以下に抑えるように画像データを符号化する画像処理を送信側装置で行ってから、受信側装置に向けて送信するとする。この場合、送受信される符号化後のデータ量を目標符号量以下に制御しやすくなる。
【０００６】
また、画像データを他の装置に送信する態様として、画像のうち更新された領域を含む矩形領域の画像データを符号化して送信する送信態様が考えられる。この送信態様では、一部の領域の画像しか更新されていない場合に、画像全体を表す画像データを全て符号化して送信する必要がなくなり、一部の画像データを符号化して送信すればよいので、送信するデータ量を減らすことができる。
【０００７】
しかし、画像内において、更新された領域が複数あり、各領域の画像データをそれぞれ同じ目標符号量以下に符号化する場合、更新された個々の領域の面積の違いにより、符号化データの画質が領域毎に異なってしまうことがある。例えば、ある一画面内において、二つの領域Ａ，Ｂが更新されたとする。この領域Ａ，Ｂの面積は同程度であるとは限らないため、領域Ａ，Ｂの画像データ量も同程度であるとは限らない。このような画像データを、それぞれ同じ目標符号量以下になるように符号化することにより、符号データの画質が領域Ａと領域Ｂとで異なってしまうことがある。これらの領域における符号化したデータを復号すると、１つの画像中に属する領域間で互いに画質が異なることになってしまう。
【０００８】
そこで、本発明は、１フレーム内の一部の領域を符号化して送信するときに、画像データを符号化する領域同士の間での画質の差を少なくするように、符号化対象の領域毎に目標符号量を算出することができる目標符号量算出装置、目標符号量算出方法および目標符号量算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目標符号量算出装置は、１フレーム内の領域であって通信ネットワークを介して画像データが送信される領域の画像データを符号化するときの目標符号量を算出する目標符号量算出装置であって、前記通信ネットワークの通信帯域を、予め定められたフレームレートで除算することにより、画像データが送信される各領域全体に対する目標符号量である全体目標符号量を算出する全体目標符号量算出手段と、前記全体目標符号量を、画像データが送信される前記各領域の符号化前の画像データの総データ量で除算することにより、画像データを符号化するときの圧縮率を算出する圧縮率算出手段と、画像データが送信される個々の領域毎に、当該領域の符号化前の画像データのデータ量に、前記圧縮率算出手段が算出した圧縮率を乗算して、当該領域の画像データを符号化するときの目標符号量を算出する領域別目標符号量算出手段とを備え、前記領域別目標符号量算出手段は、画像データの符号化が行われていない領域であって、符号化前の画像データのデータ量が所定の閾値以下である領域に対して、目標符号量を、画像データの符号化を行う装置において目標符号量の上限値として定められている値に定めることを特徴とする。
【００１０】
また、本発明の目標符号量算出方法は、１フレーム内の領域であって通信ネットワークを介して画像データが送信される領域の画像データを符号化するときの目標符号量を算出する目標符号量算出方法であって、前記通信ネットワークの通信帯域を、予め定められたフレームレートで除算することにより、画像データが送信される各領域全体に対する目標符号量である全体目標符号量を算出し、前記全体目標符号量を、画像データが送信される前記各領域の符号化前の画像データの総データ量で除算することにより、画像データを符号化するときの圧縮率を算出し、画像データが送信される個々の領域毎に、当該領域の符号化前の画像データのデータ量に、算出した圧縮率を乗算して、当該領域の画像データを符号化するときの目標符号量を算出し、画像データの符号化が行われていない領域であって、符号化前の画像データのデータ量が所定の閾値以下である領域に対して、目標符号量を、画像データの符号化を行う装置において目標符号量の上限値として定められている値に定めることを特徴とする。
【００１１】
また、本発明の目標符号量算出プログラムは、１フレーム内の領域であって通信ネットワークを介して画像データが送信される領域の画像データを符号化するときの目標符号量を算出するコンピュータに搭載される目標符号量算出プログラムであって、前記コンピュータに、前記通信ネットワークの通信帯域を、予め定められたフレームレートで除算することにより、画像データが送信される各領域全体に対する目標符号量である全体目標符号量を算出する全体目標符号量算出処理、前記全体目標符号量を、画像データが送信される前記各領域の符号化前の画像データの総データ量で除算することにより、画像データを符号化するときの圧縮率を算出する圧縮率算出処理、画像データが送信される個々の領域毎に、当該領域の符号化前の画像データのデータ量に、前記圧縮率算出処理で算出した圧縮率を乗算して、当該領域の画像データを符号化するときの目標符号量を算出する領域別目標符号量算出処理、および、画像データの符号化が行われていない領域であって、符号化前の画像データのデータ量が所定の閾値以下である領域に対して、目標符号量を、画像データの符号化を行う装置において目標符号量の上限値として定められている値に定める処理を実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、１フレーム内の一部の領域を符号化して送信するときに、画像データを符号化する領域同士の間での画質の差を少なくするように、符号化対象の領域毎に目標符号量を算出することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を図面を参照して説明する。
【００１４】
実施形態１．
本発明の目標符号量算出装置は、画像データを符号化する処理における符号化後のデータ量の最大許容量を表す目標符号量を算出する。この目標符号量に応じて符号化されたデータは、通信ネットワークを介して画像データの受信側装置に向けて送信される。本発明の目標符号量算出装置は、１フレーム内の領域であって、通信ネットワークを介して画像データが送信される領域の画像データを符号化するときの目標符号量を、それぞれの領域毎に算出する。また、１フレーム内の領域であって、通信ネットワークを介して画像データが送信される領域とは、具体的には、１フレームの中で、画像が更新された領域を含む領域である。図１は、画像データが符号化され送信される領域の例を示す模式図である。フレーム８１内の領域のうち、破線で示した領域８２，８３において画像が更新され、領域８２，８３以外の領域では画像が更新されていないとする。この場合、領域８２，８３の画像データが符号化され、受信側装置に送信される。この例において、本発明の目標符号量算出装置は、領域８２，８３それぞれに対して、個別に目標符号量を算出する。そして、領域８２，８３の画像データは、各領域毎に目標符号量に応じて符号化され、送信される。
【００１５】
なお、図１に示す例では、画像データが符号化され送信される領域を２つ示しているが、１フレーム内において、画像データが符号化され送信される領域の数は特に限定されず、１つであっても、３つ以上であってもよい。
【００１６】
図２は、本発明の目標符号量算出装置の第１の実施形態を示すブロック図である。本発明の目標符号量算出装置１は、全体目標符号量算出部（全体目標符号量算出手段）２と、圧縮率算出部（圧縮率算出手段）３と、領域別目標符号量算出部（領域別目標符号量算出手段）４とを備える。
【００１７】
全体目標符号量算出部２は、符号化された画像データが送信される通信ネットワークの通信帯域と、予め定められたフレームレートとに基づいて、全体目標符号量を算出する。全体目標符号量は、画像データが送信される各領域全体に対する目標符号量である。図１に示す例では、全体目標符号量は、画像データが送信される各領域８１，８２の画像データ全体を符号化するときにおける、許容し得る符号化後のデータ量の最大値（上限値）である。通信ネットワークの通信帯域は、例えば、外部から入力されればよい。また、フレームレートは、画像データの受信側装置のフレームレートであり、例えば、目標符号量算出装置１が備える記憶装置（図示せず。）に予め記憶させておけばよい。全体目標符号量算出部２は、通信ネットワークの通信帯域をフレームレートで除算することによって、全体目標符号量を算出する。
【００１８】
圧縮率算出部３は、画像データが送信される各領域の画像データを符号化するときの圧縮率を算出する。圧縮率算出部３は、全体目標符号量算出部２によって算出された全体目標符号量を、画像データが送信される各領域の符号化前の画像データの総データ量で除算して圧縮率を求める。例えば、図１に示す例では、全体目標符号量を、各領域８１，８２それぞれの符号化前の画像データ量の合計で除算することにより圧縮率を算出する。本実施形態において圧縮率算出部３が算出した圧縮率は、各領域の画像データを領域毎に符号化する際における共通の圧縮率である。
【００１９】
なお、画像データが送信される個々の領域における符号化前のデータ量は、外部から指定されてもよい。あるいは、目標符号量算出装置自身が、画像データが符号化され送信対象となる個々の領域（すなわち、１フレーム内において画像が書き換えられた領域）を特定し、各領域の画像データ量、およびその総データ量を計算してもよい。
【００２０】
領域別目標符号量算出部４は、画像データが送信される各領域毎に、それぞれの領域の画像データを符号化するときの目標符号量を算出する。領域別目標符号量算出部４は、画像データが送信される個々の領域をそれぞれ選択し、その領域の符号化前の画像データのデータ量に、圧縮率算出部３が算出した圧縮率を乗じることによって、領域毎の目標符号量を算出する。
【００２１】
全体目標符号量算出部２、圧縮率算出部３、領域別目標符号量算出部４は、例えば、プログラム（目標符号量算出プログラム）に従って動作するＣＰＵによって実現されていてもよい。
【００２２】
次に、動作について説明する。図３は、本発明の目標符号量算出装置の処理経過の一例を示すフローチャートである。まず、全体目標符号量算出部２は、通信ネットワークの通信帯域を受信装置側のフレームレートで除算することによって、全体目標符号量を算出する（ステップＳ６１）。既に説明したように、通信ネットワークの通信帯域は、例えば、外部から入力されればよい。また、フレームレートは、例えば、目標符号量算出装置１が備える記憶装置（図示せず。）に予め記憶させておけばよい。
【００２３】
次に、圧縮率算出部３は、ステップＳ６１で算出された全体目標符号量を、画像データが送信される各領域の符号化前の画像データの総データ量で除算することによって、符号化の際の圧縮率を算出する（ステップＳ６２）。
【００２４】
次に、領域別目標符号量算出部４は、画像データが送信される個々の領域をそれぞれ選択し、その領域の符号化前の画像データのデータ量にステップＳ６２で求めた圧縮率を乗算することによって、それぞれの領域毎の目標符号量を算出する（ステップＳ６３）。
【００２５】
以上の動作によって求めた各領域毎の目標符号量を用いて、それぞれの領域の画像データを順次、目標符号量以下に符号化すればよい。この処理は、目標符号量算出装置自身が行ってもよく、また他の装置が行ってもよい。
【００２６】
次に、本発明の動作について、具体例を挙げて説明する。以下に示す例では、通信ネットワークにおける通信帯域が３０００ｋｂｐｓであり、予め定められたフレームレートが３０ｆｐｓであるとする。また、図４は、画像データが符号化され送信される領域の例を示す模式図であり、フレーム９０内の領域のうち、破線で示した３つの矩形領域９１〜９３において画像が書き換えられ、矩形領域９１〜９３の画像データが符号されて送信されるものとする。以下、矩形領域９１，９２，９３をそれぞれ、第１領域、第２領域、第３領域と記す。なお、図４に内に括弧で示した数値は、矩形領域の頂点部分の画素の座標である。
【００２７】
まず、全体目標符号量算出部２は、通信ネットワークの通信帯域３０００ｋｂｐｓをフレームレート３０ｆｐｓで除算して、全体目標符号量を算出する（ステップＳ６１）。本例では、全体目標符号量は、３０００ｋｂｐｓ／３０ｆｐｓ＝１００ｋｂｉｔである。この全体目標符号量１００ｋｂｉｔは、「第１領域９１、第２領域９２および第３領域９３の画像データ全体を符号化するときには、符号化後のデータ量が１００ｋｂｉｔを越えないように符号化する。」ということを表している。
【００２８】
次に、圧縮率算出部３は、ステップＳ６１で算出された全体目標符号量１００ｋｂｉｔを、画像データが送信される第１領域９１、第２領域９２および第３領域９３の符号化前の画像データの総データ量で除算し、圧縮率を算出する（ステップＳ６２）。
【００２９】
例えば、第１領域９１に属する画素のｘ座標の範囲が１００〜２９９であり、ｙ座標の範囲が１００〜２９９であり、第１領域９１に属する画素数が２００×２００＝４００００であるとする。また、第２領域９２に属する画素のｘ座標の範囲が４００〜７９９であり、ｙ座標の範囲が２００〜５９９であり、第２領域９２に属する画素数が４００×４００＝１６００００であるとする。さらに、第３領域９３に属する画素のｘ座標の範囲が９００〜１０２３であり、ｙ座標の範囲が７００〜７６７であり、第３領域９３に属する画素数が１２４×６８＝８４３２であるとする。また、符号化前における１画素当たりのデータ量が２４ｂｉｔであるとする。この場合、３つの矩形領域９１〜９３の符号化前における総データ量は、２４×（４００００＋１６００００＋８４３２）＝５００２３６８ｂｉｔ、すなわち、約５００２ｋｂｉｔである。圧縮率算出部３は、全体目標符号量１００ｋｂｉｔをこのデータ量５００２ｋｂｉｔで除算し、圧縮率１００／５００２を求める。１００／５００２は約１／５０であり、以下、求めた圧縮率を便宜的に１／５０として説明する。
【００３０】
圧縮率算出後、領域別目標符号量算出部４は、各矩形領域９１〜９３をぞれぞれ選択し、領域毎の目標符号量を算出する（ステップＳ６３）。例えば、第１領域９１の画素数は４００００であり、１画素当たりのデータ量は２４ビットであるので、第１領域９１のデータ量は２４ｂｉｔ×４００００＝９６０ｋｂｉｔである。領域別目標符号量算出部４は、このデータ量に圧縮率１／５０を乗じて、第１領域９１の符号化時における目標符号量を計算する。よって、第１領域９１の目標符号量は、１９．２ｋｂｉｔとなる。同様に、第２領域９２の画素数は１６００００であるので、データ量は２４ｂｉｔ×１６００００＝３８４０ｋｂｉｔである。領域別目標符号量算出部４は、このデータ量に圧縮率１／５０を乗じて、第２領域９２の符号化時における目標符号量を計算する。よって、第２領域９２の目標符号量は７６．８ｋｂｉｔである。同様に、第３領域９３の画素数は８４３２であるので、データ量は２４ｂｉｔ×８４３２＝２０２ｋｂｉｔ（２０２３６８ｂｉｔ）である。領域別目標符号量算出部４は、このデータ量に圧縮率１／５０を乗じて、第３領域９３の符号化時における目標符号量を計算する。よって、第３領域９３の目標符号量は、４ｋｂｉｔである。
【００３１】
よって、第１領域９１の画像データ９６０ｋｂｉｔを符号化するときには、符号化後のデータ量が１９．２ｋｂｉｔ以下になるように符号化すればよい。他の矩形領域９２，９３の画像データを符号化するときにも、符号化後のデータ量が矩形領域の目標符号量以下になるように符号化すればよい。
【００３２】
本発明によれば、圧縮率算出部３が、全体目標符号量を、各領域の符号化前の画像データの総データ量で除算して圧縮率を求める。そして、領域別目標符号量算出部４が、領域毎に、領域の符号化前のデータ量にその圧縮率を乗じて、個々の領域に応じた目標符号量を算出する。よって、圧縮率を共通にして領域毎の目標符号量を計算することになるので、同一フレーム内の各領域同士で符号化後の画像データの画質の差が少なくなるように、各領域の目標符号量を求めることができる。
【００３３】
実施形態２．
第１の実施形態の目標符号量算出装置は、画像データの圧縮率を領域間で共通化して目標符号量を定める。符号化後のデータ量が目標符号量以下になるように領域の画像データを符号化したとしても、符号化後のデータ量が目標符号量よりも大きくなってしまうことがある。この場合、各領域を全て符号化したときのデータ量を全体目標符号量以下に抑えるためには、他の領域における圧縮率を高める必要が生じる。また、符号化を行った結果、ある領域における符号化後のデータ量を、その領域の目標符号量よりも大幅に少なくすることができる場合もある。そのような場合、未だ符号化を行っていない領域の圧縮率を下げ、その領域の画質を高めることができる。
【００３４】
第２の実施形態の目標符号量算出装置は、画像データの符号化が完了した領域がある場合、画像データの符号化が完了していない各領域に対する圧縮率を再計算し、再計算後の圧縮率で、画像データの符号化が完了していない各領域の目標符号量を算出し直す。
【００３５】
図５は、本発明の目標符号量算出装置の第２の実施形態を示すブロック図である。本実施形態の目標符号量算出装置は、全体目標符号量算出部２と、圧縮率算出部３と、領域別目標符号量算出部４と、減算部（減算手段）５とを備える。第１の実施形態の構成要素と同様の構成要素については、図２と同一の符号を付し、詳細な説明を省略する。ただし、圧縮率算出部３および領域別目標符号量算出部４は、第１の実施形態で説明した処理に加え、画像データが送信される各領域のうち画像データの符号化が完了している領域（以下、符号化完了領域と記す。）がある場合には、後述の処理も実行する。
【００３６】
減算部５は、符号化完了領域がある場合、全体目標符号量から、符号化完了領域の符号化後の画像データの総量を減算する。全体目標符号量から符号化完了領域の符号化後の画像データの総量を減算した結果は、未だ符号化されていない各領域全体に対する目標符号量を意味する。
【００３７】
例えば、図４に示す例において、各矩形領域９１〜９３全体に対する全体目標符号量（Ｐとする。）を算出して、個々の矩形領域９１〜９３の目標符号量を算出したとする。さらに、その後、第１領域９３の画像データを符号化したときに、符号化後のデータ量がＤ１であったとする。この場合、減算部５は、最初に求めた全体目標符号量Ｐから、符号化完了領域である第１領域９１の符号化後のデータ量Ｄ１を減算し、Ｐ−Ｄ１を求める。このＰ−Ｄ１は、符号化されていない第２領域９２および第３領域９３全体に対する目標符号量であり、第２領域９２および第３領域９３の符号化後のデータ量がＰ−Ｄ１以下であれば、３つの矩形領域９１〜９３の符号化後のデータ量はＰ以下に抑えられることになる。
【００３８】
また、同様に、第１領域だけでなく、第２の領域の画像データの符号化も完了し、第２領域における符号化後のデータ量がＤ２であったとする。この場合、減算部５は、最初に求めた全体目標符号量Ｐから、符号化完了領域である第１領域９１および第２領域９２の符号化後の画像データの総量（Ｄ１＋Ｄ２）を減算し、Ｐ−（Ｄ１＋Ｄ２）を求める。このＰ−（Ｄ１＋Ｄ２）は、符号化されていない第３領域９３に対する目標符号量である。
【００３９】
このように、減算部５は、画像データが送信される各領域のうち、ある一つの領域における符号化処理が完了して、符号化完了領域が一つ増える度に、最初に求めた全体目標符号量から、符号化完了領域の符号化後の画像データの総量を減算する処理を行う。
【００４０】
第２の実施形態における圧縮率算出部３は、最初に圧縮率を算出するときには、第１の実施形態と同様に全体目標符号量算出部２によって導出された全体目標符号量を用いて圧縮率を算出する。また、圧縮率算出部３は、個々の領域毎に順次、符号化処理が行われ、画像データが送信される各領域のうち未だ画像データの符号化が行われていない領域がある場合、減算後の全体目標符号量を、符号化が行われていない各領域における符号化前の画像データの総量で除算して、圧縮率を算出し直す。すなわち、最初に求めた全体目標符号量から各符号化完了領域の符号化後の画像データ量を減算した結果を、符号化が行われていない各領域の画像データの総量で除算して、新たに圧縮率を計算する。
【００４１】
第２の実施形態における領域別目標符号量算出部４は、最初に各領域の目標符号量を算出するときには、第１の実施形態と同様に目標符号量を計算する。その後、画像データが送信される領域における符号化が行われ、圧縮率算出部３が圧縮率を計算し直したときには、その圧縮率を用いて、符号化が行われていない領域における目標符号量を、それぞれの領域毎に算出し直す。領域別目標符号量算出部４は、未だ画像データの符号化が行われていない個々の領域毎に、その領域の符号化前の画像データのデータ量に新たな圧縮率を乗じて、それぞれの領域の目標符号量を算出し直す。
【００４２】
減算部５は、例えば、全体目標符号量算出部２、圧縮率算出部３、領域別目標符号量算出部４として動作するＣＰＵによって実現され、そのＣＰＵがプログラムに従って減算部５としての処理を行ってもよい。
【００４３】
次に、動作について説明する。
最初に各領域の目標符号量を算出するまでの動作は、第１の実施形態と同様であり、ステップＳ６１〜Ｓ６３の処理を行う。その後、一つの領域の符号化が完了する毎に、以下に示す目標符号量再計算処理を繰り返す。ただし、画像データが送信される全ての領域について符号化が完了したときには、目標符号量再計算処理を行わなくてよい。
【００４４】
図６は、目標符号量再計算処理の例を示すフローチャートである。一つの領域の符号化が完了すると、減算部５は、最初に求めた全体目標符号量から、符号化完了領域の符号化後の画像データの総量を減算する（ステップＳ６５）。
【００４５】
次に、圧縮率算出部３は、ステップＳ６５における減算結果を、符号化が行われていない各領域における符号化前の画像データの総量で除算することによって、圧縮率を算出し直す（ステップＳ６６）。
【００４６】
続いて、領域別目標符号量算出部４は、未だ画像データの符号化が行われていない個々の領域毎に、その領域における画像データ量に新たな圧縮率を乗じて、符号化が行われていない各領域の目標符号量を算出し直す（ステップＳ６７）。
【００４７】
次に、本実施形態の動作について、具体例を挙げて説明する。以下に示す例では、第１の実施形態で例示した具体例と同様に、図４を用いて説明する。第１の実施形態で説明した具体例と同様に、ステップＳ６１で全体目標符号量を１００ｋｂｉｔと算出し、ステップＳ６２，Ｓ６３の処理を行って、各矩形領域６１〜６３の目標符号量を計算したとする。その後、第１領域９１の画像データを、目標符号量（１９．２ｋｂｉｔ）以下になるように符号化した結果、第１領域９１の符号化後のデータ量が１６ｋｂｉｔであったとする。
【００４８】
このとき、減算部５は、最初に求めた全体目標符号量（１００ｋｂｉｔ）から号化完了領域の符号化後の画像データの総量を減算する。本例では、第１領域９１のみを符号化しているので、１００ｋｂｉｔから１６ｋｂｉｔを減算し、減算結果として８４ｋｂｉｔを得る（ステップＳ６５）。
【００４９】
次に、圧縮率算出部３は、その減算結果（８４ｋｂｉｔ）を、符号化が行われていない第２領域９２および第３領域９３の符号化前の画像データの総量で除算し、圧縮率を算出し直す。第１の実施形態の具体例で述べたように、第２領域９２、第３領域９３の画素数がそれぞれ１６００００，８４３２であり、１画素のデータ量が２４ビットであるとすると、第２領域９２および第３領域９３の符号化前のデータ量の合計は、２４×（１６００００＋８４３２）＝４０４２３６８ｂｉｔ＝４０４２．３６８ｋｂｉｔとなる。よって、圧縮率算出部３は、８４／４０４２．３６８を計算し、新たな圧縮率を求める（ステップＳ６６）。８４／４０４２．３６８＝約１／４８であるので、以下、新たな圧縮率を便宜的に１／４８として説明する。
【００５０】
次に、領域別目標符号量算出部４は、まだ符号化が行われていない第２領域９２および第３領域９３の目標符号量を計算する（ステップＳ６７）。領域別目標符号量算出部４は、第２領域９２のデータ量（３８４０ｋｂｉｔ）に１／４８を乗じて、新たな目標符号量を８０ｋｂｉｔとする。同様に、領域別目標符号量算出部４は、第３領域９３のデータ量（２０２ｋｂｉｔ）に１／４８を乗じて、新たな目標符号量を４．２ｋｂｉｔとする。
【００５１】
また、さらに第２領域９２等を符号化したときにもステップＳ６５〜Ｓ６６の動作を行えばよい。
【００５２】
本実施形態によれば、一つの領域の符号化が完了する毎に圧縮率を算出し直し、新たな圧縮率に応じて、符号化の済んでいない領域の目標符号量を再計算するので、個々の領域を符号化するときの符号量制御を高精度化することができる。例えば、ある領域の画像が非常に単純であり、符号化の結果、圧縮率算出部３が計算した圧縮率よりも高い圧縮率で圧縮できたとする。すると、他の領域の圧縮率を低くして、他の領域の符号化後の画質を向上させることができる。また、例えば、ある領域の符号化の結果、目標符号量以下に符号化できなかったとする。この場合、他の領域の圧縮率を高くするように制御することができる。
【００５３】
第２の実施形態では、各領域の圧縮率が互いに異なる場合が生じるが、各領域の目標符号量を一律に定める場合に比べ、各領域間の符号化後の画質の差は少なくなる。よって、第２の実施の形態では、符号化後の画質の差を各領域間で少なくしつつ、個々の領域を符号化するときの符号量制御を高精度化できる。
【００５４】
以下、第１の実施形態および第２の実施形態の変形例について説明する。
【００５５】
第１の実施形態および第２の実施形態において、領域別目標符号量算出部４は、画像データの符号化が行われていない領域における符号化前の画像データのデータ量が所定の閾値以下であるならば、その領域の目標符号量を、目標符号量のとり得る最大値に定めてもよい。
【００５６】
目標符号量のとり得る最大値とは、画像データの符号化を行う装置において目標符号量の上限値として定められている値である。画像データの符号化を行う装置において、目標符号量を無限大に設定可能であれば、目標符号量のとり得る最大値は無限大となる。そのように目標符号量を大きな値（最大値）に定めれば、画像データが送信される領域に関する符号化を行う際、圧縮率は低くなり、その領域に関する画質は向上することになる。
【００５７】
また、符号化前の画像データのデータ量が所定の閾値以下となる領域は、面積が所定値以下の領域であるということができる。そのようなデータ量の少ない領域では、高い圧縮率で圧縮を行わなくても、各領域全体を符号化したときの符号化後のデータ量への影響は小さい。すなわち、各領域全体を符号化したときの符号量の増加が著しくなるわけではない。また、フレーム内において、そのような微少面積の画像更新は、例えば、カーソルやアイコン等のような精細度が重視されるオブジェクトの周辺で多く発生する。また、こうしたオブジェクトの精細度が大きく低下すると、フレームレートが維持できたとしても操作性に支障が生じることが多い。符号化前の画像データのデータ量が所定の閾値以下となる領域では目標符号量を最大値に定めることで、そのような微少面積の領域の符号化後の画質を一定以上維持することができる。
【００５８】
また、上記の各実施形態において、目標符号量算出装置自身が１フレーム内において画像が書き換えられた領域を判定し、画像データが送信される領域を特定してもよい。図７は、目標符号量算出装置が、１フレーム内において画像データが送信される領域を特定する領域特定部（領域特定手段）６を備える場合の構成例を示すブロック図である。上記の各実施形態と同様の構成要素は、図２、図５と同一の符号を付して説明を省略する。
【００５９】
領域特定部６は、１フレーム内において画像が更新された領域を含む矩形領域を、画像データが送信される領域として特定する。領域特定部６がそのような領域を特定する方法の例を説明する。
【００６０】
図８は、１フレーム内において画像が送信される領域の例を示す説明図である。図８において斜線で示した部分９６は、フレーム９５において画像が書き換えられた部分であり、白色で示した部分は画像が書き換えられていない部分である。領域特定部６は、画像が更新された部分９６を含む矩形領域９７を、画像データを符号化して送信する領域として特定する。
【００６１】
ここでは、フレームにおいて、ｘ軸は右方向に伸び、右側の画素ほどｘ座標の座標値が大きいものとする。また、ｙ軸は下方向に伸び、下側の画素ほどｙ座標の座標値が大きいものとする。
【００６２】
領域特定部６は、１行目から最終行目までを順に選択し、選択した行において書き換えられた画素があるか否かを判定する。以下、便宜的に、書き換えられた画素が存在する行を更新行と呼び、書き換えられた画素が存在しない行を非更新行と呼ぶ。領域特定部６は、直前の行が非更新行であり、選択した行が更新行である場合、その行を更新行の先頭とする。また、直前の行が更新行であり、選択した行が非更新行である場合、その直前の行を更新行の末尾とする。ただし、このような場合、連続する更新行の間に、わずかな行数の非更新行が存在すると、矩形領域９７としてフレームから切り出される領域数が多くなりすぎる可能性がある。従って、領域特定部６は、更新行から非更新行に切り替わった場合、さらに行を選択して更新行か否かを判定する処理を続け、更新行から非更新行に変わった後、非更新行が所定数以上連続しているという条件が満たされる場合に、その更新行を更新行の末尾と判定してもよい。領域特定部６は、更新行の末尾を特定した後、再び、非更新行から更新行に切り替わったならば、再度、更新行の先頭および末尾を特定していく処理を繰り返す。図９は、更新行の先頭および末尾の例を示す説明図である。領域特定部６は、図９に例示するような更新行の先頭および末尾を特定していく。
【００６３】
続いて、領域特定部６は、更新行の先頭から末尾までの連続する更新行のグループ毎に、１列目（本例では最も左側の列とする。）から最終列（本例では最も右側の列とする。）までを順に選択し、選択した列において書き換えられた画素があるか否かを判定する。以下、便宜的に、書き換えられた画素が存在する列を更新列と呼び、書き換えられた画素が存在しない列を非更新列と呼ぶ。領域特定部６は、直前の列が非更新列であり、選択した列が更新列である場合、その列を更新列の左端とする。また、領域特定部６は、直前の列が更新列であり、選択した列が非更新列である場合、その直前の更新列を更新列の右端とする。ただし、このような場合、連続する更新列の間に、わずかな列数の非更新列が存在すると、矩形領域９７としてフレームから切り出される領域数が多くなりすぎる可能性がある。従って、領域特定部６は、更新列から非更新列に切り替わった場合、さらに列を選択して更新列か否かを判定する処理を続け、更新列から非更新列に変わった後、非更新列が所定数以上連続しているという条件が満たされる場合に、その更新列を更新列の右端と判定してもよい。領域特定部６は、更新列の右端を特定した後、再び、非更新列から更新列に切り替わったならば、再度、更新列の左端および右端を特定していく処理を繰り返す。図１０は、更新列の左端および右端の例を示す説明図であり、図１０において破線で示した縦線が更新列の左端および右端を表している。領域特定部６は、図１０に例示するような更新列の左端および右端を特定していく。
【００６４】
次に、領域特定部６は、更新行の先頭および末尾と、更新列の左端および右端に囲まれた範囲を順次１つずつ選択する。図１０に示す例では、３つの範囲を順次１つずつ選択する。
【００６５】
領域特定部６は、選択した範囲内における各列を順に抽出し、個々の列における更新画素（更新された画素）の上端および下端を特定する。さらに、領域特定部６は、各列における更新画素の上端のうち最も上側の画素のｙ座標と、各列における更新画素の下端のうち最も下側の画素のｙ座標とを特定する。領域特定部６は、その最上部の画素のｙ座標から最下部の画素のｙ座標までの範囲と、更新列の左端のｘ座標から右端のｘ座標までの範囲の矩形領域を、画像データを送信する領域として特定する。
【００６６】
図１１は、更新行の先頭および末尾と更新列の左端および右端とに囲まれた範囲の例を示す説明図である。例えば、図１１に例示する範囲を選択した場合、領域特定部６は、図１１に例示する列１０１，１１１等の各列を順に抽出し、各列の更新画素の上端および下端を特定する。例えば、列１０１を抽出した場合には、更新画素の上端として画素１０２を特定し、更新画素の下端として画素１０３を特定する。そして、領域特定部６は、各列の更新画素の上端１０２，１１２等のうち最も上側の画素（本例では画素１１２）のｙ座標を特定する。また、各列の更新画素の下端１０３，１１３等のうち最も下側の画素のｙ座標を特定する。そして、画素１１２のｙ座標から画素１１３のｙ座標までの範囲と、更新列の左端のｘ座標から右端のｘ座標までの範囲の矩形領域を、画像データが送信される領域として特定する。
【００６７】
以上の動作により、画像データが送信される各領域を特定した後、第１の実施形態や第２の実施形態等で説明した動作により、各領域毎の目標符号量を算出すればよい。
【００６８】
また、ここで説明した領域特定方法は例示であり、領域特定方法は上記の方法に限定されない。領域特定部６は、１フレーム内から高さおよび幅が一定の矩形領域（例えば、縦横それぞれの画素数が６４画素の矩形領域）を順に取り出し、その矩形領域に更新画素が含まれていれば、その矩形領域を、画像データが送信される領域として特定してもよい。
【００６９】
領域特定部６は、例えば、全体目標符号量算出部２、圧縮率算出部３、領域別目標符号量算出部４として動作するＣＰＵによって実現され、そのＣＰＵがプログラムに従って領域特定部６としての処理を行ってもよい。
【００７０】
また、上記の各実施形態において、目標符号量算出装置自身が各領域における画像データの符号化を行ってもよい。図１２は、目標符号量算出装置が領域毎に画像データを符号する領域符号化部（領域符号化手段）７を備える場合の構成例を示すブロック図である。上記の各実施形態と同様の構成要素は、図２、図５、図７と同一の符号を付して説明を省略する。なお、図１２では、領域特定部６を示していないが、上述の領域特定部６を備えていてもよい。
【００７１】
領域符号化部７は、領域別目標符号量算出部４が定めた目標符号量以下の符号量に画像データを符号化する処理を、画像データが送信される各領域毎に行う。図１３は、領域符号化部７の例を示すブロック図である。なお、以下では、領域符号化部７が画像データをハフマン符号に変換する場合を例にして説明する。領域符号化部７は、ウェーブレット変換部１２と、中間符号生成部１３と、第１の判定部１４と、第２の判定部１５と、再量子化部１６と、符号化部１７とを備える。
【００７２】
ウェーブレット変換部１２は、１フレーム内の画像データが送信される個々の領域に対して、画像データを所定の分解レベル数までウェーブレット変換する処理を行う。この「所定の分解レベル数」を“Ｎ”と記す。また、図面中において、分解レベル数をＲｌｅｖｅｌと記す場合がある。図１４は、ウェーブレット変換を模式的に示す説明図である。ウェーブレット変換部１２は、領域の画像データ１００をウェーブレット変換する。１回のウェーブレット変換により得られる係数の種類には、ＬＬ成分、ＬＨ成分、ＨＬ成分、ＨＨ成分があり、ウェーブレット変換部１２は、ＬＬ成分に対して、再帰的にウェーブレット変換を行う。以下、ＬＨ成分、ＨＬ成分、ＨＨ成分をまとめてｘｘと記す。また、分解レベル数がｋのときのＬＬ成分、ｘｘ成分を、それぞれ「ｋＬＬ成分」、「ｋｘｘ成分」と記す。図１４では、分解レベル数１のｘｘ成分（１ｘｘ）と、分解レベル数２のＬＬ成分（２ＬＬ）およびｘｘ成分（２ｘｘ）とを示している。また、図１４では、分解レベル数“２”までのウェーブレット変換を例示しているが、ウェーブレット変換部１２がウェーブレット変換を行うときの分解レベル数は２に限定されず、３以上の分解レベル数までウェーブレット変換を行ってもよい。以下の説明では、ウェーブレット変換後の係数（ウェーブレット係数）がＹＵＶ形式で表され、Ｙ，Ｕ，Ｖの各値を有するようにウェーブレット変換を行う場合を例にして説明する。
【００７３】
中間符号生成部１３は、ウェーブレット変換によって得られた係数に対して所定の量子化ステップで量子化を行った値であるかまたはウェーブレット変換によって得られた係数自体である中間データ（以下、中間符号と記す。）を生成する。ここでは、ウェーブレット変換よって得られた係数に対して量子化を行った結果を中間符号とする場合を例にして説明する。よって、本例では、中間符号生成部１３は、ウェーブレット係数に含まれるＹ，Ｕ，Ｖの値をそれぞれ所定の量子化ステップで量子化し、その量子化の結果を中間符号とする。以下、量子化ステップをＱステップと記す。
【００７４】
中間符号生成部１３による中間符号生成処理についてより詳しく説明する。１ｘｘ成分、２ｘｘ成分等の中間符号生成対象の成分毎に、中間符号生成時の所定のＱステップおよびデッドゾーンが定められている。中間符号生成部１３は、絶対値が所定のデッドゾーン以下である画像データの値を０に量子化する。例えば、１ｘｘ成分に含まれるあるＹの絶対値がデッドゾーン以下であれば、そのＹを０に量子化する。また、中間符号生成部１３は、絶対値が所定のデッドゾーンを越える範囲を、所定のＱステップ毎に区切る。そして、それらの各範囲に属する画像データの値を、その範囲の中央値に量子化する。例えば、デッドゾーンおよびＱステップがいずれも２であるとする。この場合、絶対値が２を越える範囲（すなわち、−２未満の範囲および２より大きい範囲）を、Ｑステップである２毎に区切り、“−４〜−２”、“２〜４”、“４〜６”等の範囲を定める。そして、１ｘｘ成分に含まれるあるＹが“２〜４”等の範囲に属していれば、Ｙの値をその範囲の中央値に量子化する。ここでは、１ｘｘ成分に含まれるＹを例示したが、Ｕ，Ｖの量子化も同様に行う。また、１ｘｘ成分以外の成分に関する量子化処理も同様である。
【００７５】
また、中間符号生成部１３は、連長解析を行った結果を中間符号の中に含めてもよい。すなわち、連長解析の結果も中間符号（中間データ）としてよい。連長解析は、同一のデータが連続して並んでいる場合にその連続数をカウントする処理である。連長解析の態様として、量子化後のＹ，Ｕ，Ｖの値がいずれも０である画素が連続する場合、その連続数をカウントする態様がある。あるいは、量子化後のＹ，Ｕ，Ｖの組み合わせが同一となる画素が連続する場合、その連続数をカウントしてもよい。図１５は、ウェーブレット係数から生成した中間符号を模式的に示す説明図である。図１５では連長解析によりカウントした連続数を“ｌｅｎ”と表している。中間符号生成部１３は、例えば、２ＬＬ成分、２ｘｘ成分、１ｘｘ成分に含まれるＹ，Ｕ，Ｖを上述の様に量子化し、２ＬＬ中間符号、２ｘｘ中間符号、１ｘｘ中間符号等を生成する。また、量子化後のＹ，Ｕ，Ｖに対して連長解析を行い、その結果（カウントした連続数“ｌｅｎ”）を中間符号に含めてもよい。以下、中間符号にｌｅｎを含める場合を例にして説明する。
【００７６】
また、符号化データから得られる画像の最高画質を規定する分解レベル数（ｍｉとする。）が予め定められている。ここで、ｍｉは１以上Ｎ以下の整数である。中間符号生成部１３は、分解レベル数ｍｉ〜ＮのＬＬ成分、および分解レベル数１〜Ｎのｘｘ成分を対象にして、中間符号を生成する。換言すれば、（ｍｉ）ＬＬ成分、（ｍｉ＋１）ＬＬ成分、・・・、ＮＬＬ成分、および１ｘｘ成分、２ｘｘ成分、・・・、Ｎｘｘ成分を対象にして中間符号を生成する。
【００７７】
第１の判定部１４は、定められた範囲の分解レベル数の中間データのうちｘｘ成分（すなわちＬＬ成分以外の成分）を符号化するか否かを判定する処理を行う。
【００７８】
第１の判定部１４は、この判定を行うために、中間符号の生成対象となる上記の各成分（分解レベル数ｍｉ〜ＮのＬＬ成分、および分解レベル数１〜Ｎのｘｘ成分）毎に、量子化に用いる個々の範囲における中間符号の発生頻度（発生数）をカウントする。具体的には、第１の判定部１４は、絶対値が所定のデッドゾーン以下となる範囲で量子化されたデータの発生頻度をＹ，Ｕ，Ｖ毎にカウントする。また、絶対値がそのデッドゾーンを越える範囲を所定のＱステップ毎に区切った個々の範囲毎で量子化されたデータの発生頻度をＹ，Ｕ，Ｖ毎にカウントする。
【００７９】
図１６は、各範囲において量子化されたデータの発生頻度をカウントした結果を示す情報（以下、頻度表と記す。）の例を示す説明図である。図１６では、２ＬＬ中間符号のＹ，Ｕの頻度表の例を示している。図１６に示す各頻度表の左側の列は、量子化された結果を示し、右側の列は、その値に量子化されたデータ（図１６の例ではＹまたはＵ）の発生頻度を表している。すなわち、図１６に例示する２ＬＬ中間符号のＹの例では、絶対値がデッドゾーン以下の範囲に属し０に量子化されたＹのデータが２３０個あり、２５５を中央値とする範囲に属し２５５に量子化されたＹのデータが４４個あることを示している。
【００８０】
第１の判定部１４は、各頻度表からハフマンテーブルを生成する。図１７は、ハフマンテーブルの例を示す説明図である。図１７では、２ＬＬ中間符号のＹについてのハフマンテーブルを例示している。第１の判定部１４は、２ＬＬ中間符号のＹの頻度表から、図１７に例示するようなハフマンテーブルを生成する。また、同様に、他の頻度表からもそれぞれハフマンテーブルを生成する。図１７に示すように、ハフマンテーブルは、量子化された各値（図１７に示す例では、０〜２５５）と、その値から変換される符号とを含む。第１の判定部１４は、量子化された値と符号が一対一に対応し、かつ、発生頻度が大きい値ほど符号のビット長が短くなるように符号を定め、量子化後の値と符号とを対応付けたハフマンテーブルを生成する。ハフマン符号を生成することで、量子化された各データの値（図１６に示す例では０〜２５５）毎のハフマン符号のビット長が定まる。第１の判定部１４は、各ハフマン符号毎に、ハフマン符号のビット長と、対応する発生頻度との積を求め、その総和を計算する。また、中間符号にｌｅｎが含まれる場合、各ｌｅｎを符号化したときのビット長（例えばガンマ符号化したときのビット長）も、上記の総和に加算する。第１の判定部１４は、１ｘｘ成分から（Ｎ−１）ｘｘ成分までの各ｘｘ成分および（Ｎ−１）ＬＬ成分に関して、これらの総和を求める。その総計が、符号量の目標符号量となる閾値よりも大きい場合、第１の判定部１４は、定められた範囲の各分解レベル数を大きい順に選択し、選択した分解レベル数の中間データのｘｘ成分を符号化した時のデータ量を推定し、その推定されたデータ量に応じて、その中間データのｘｘ成分を符号化するか否かを判定する。この判定の動作フローについては、図１９および図２０を用いて後述する。
【００８１】
第２の判定部１５は、上記の定められた範囲の分解レベル数よりも小さい各分解レベル数の中間符号のｘｘ成分（ＬＬ成分以外の成分）に対して、再量子化を行うか否かを判断する。再量子化を行うか否かの判断対象となる分解レベル数の最大値をｍｑとする。この場合、上述の定められた範囲の分解レベル数は、ｍｑ＋１〜Ｎの範囲の分解レベル数である。
【００８２】
再量子化部１６は、第２の判定部１５が再量子化を行うと判定した場合、定められた範囲の分解レベル数（すなわちｍｑ＋１〜Ｎ）よりも小さい各分解レベル数（１〜ｍｑ）の中間符号のうちｘｘ成分を再量子化する。
【００８３】
符号化部１７は、中間符号および再量子化部１６によって中間符号から再量子化された値をハフマン符号に符号化する。また、中間符号にｌｅｎ（連長解析でカウントされた連続数）が含まれている場合、そのｌｅｎも符号化する。この場合、符号化部１７は、例えば、ｌｅｎをガンマ符号に符号化すればよい。ｌｅｎを２進数で表したときのビット長をｌとすると、符号化部１７は、その２進数のビットの先頭に“ｌ−１”個の０を付加することで、ｌｅｎをガンマ符号に変換する。符号化部１７が中間符号または再量子化の結果をハフマン符号に変換し、ｌｅｎを例えばガンマ符号に変換することにより、画像データが符号化されることになる。
【００８４】
図１８は、ハフマン符号化の結果の例を模式的に示す説明図である。図１８では、２ＬＬ成分、２ｘｘ成分および１ｘｘ成分について符号化を行った場合を例示している。符号化前のデータにＹ，Ｕ，Ｖだけでなくｌｅｎも含まれる場合、Ｙ，Ｕ，Ｖ，ｌｅｎそれぞれの符号化データが２ＬＬ成分等の符号化結果に含まれる。
【００８５】
ウェーブレット変換部１２と、中間符号生成部１３と、第１の判定部１４と、第２の判定部１５と、再量子化部１６と、符号化部１７とを含む領域符号化部７は、例えば、全体目標符号量算出部２、圧縮率算出部３、領域別目標符号量算出部４として動作するＣＰＵによって実現され、そのＣＰＵがプログラムに従って領域符号化部７としての処理を行ってもよい。
【００８６】
次に、領域符号化部７の動作について説明する。図１９および図２０は、領域符号化部７の処理経過の一例を示すフローチャートである。なお、フローチャート中に記載した「出力」とは、「符号化処理」を表している。
【００８７】
まず、ウェーブレット変換部１２が、画像が送信される領域の画像データに対して、分解レベル数Ｎまでウェーブレット変換を行う。
【００８８】
そして、中間符号生成部１３は、分解レベル数ｍｉ〜ＮのＬＬ成分、および分解レベル数１〜Ｎのｘｘ成分を対象にして中間符号を生成する。すなわち、中間符号生成部１３は、それらの成分に含まれるＹ，Ｕ，Ｖを、成分の種類に応じて定められるデッドゾーンおよびＱステップに応じて量子化する。既に説明したように、中間符号生成部１３は、絶対値が所定のデッドゾーン以下であるＹ，Ｕ，Ｖを０に量子化する。また、絶対値が所定のデッドゾーンを越える範囲をＱステップ毎に区切り、各範囲に属するＹ，Ｕ，Ｖをその範囲の中央値に量子化する。また、例えば、Ｙ，Ｕ，Ｖの組み合わせが同一となる画素が連続する場合、その連続数（ｌｅｎ）をカウントする。中間符号生成部１３は、このＹ，Ｕ，Ｖの量子化結果およびｌｅｎを中間符号として、目標符号量算出装置が備える記憶装置（図示せず。）に記憶させる。
【００８９】
また、第１の判定部１４は、中間符号を生成した分解レベル数ｍｉ〜ＮのＬＬ成分、および分解レベル数１〜Ｎのｘｘ成分の中間符号を対象として、Ｙ，Ｕ，Ｖそれぞれの頻度表を生成し、目標符号量算出装置が備える記憶装置（図示せず。）に記憶させる。第１の判定部１４は、各成分に含まれるＹ，Ｕ，Ｖ毎に、デッドゾーンおよびＱステップによって定まる各範囲での発生頻度をカウントすることによって頻度表を生成すればよい（以上、ステップＳ１）。
【００９０】
次に、第１の判定部１４は、ｍｉ（符号化データから得られる画像の最高画質を規定する分解レベル数）を変数ｍに代入する（ステップＳ２）。ステップＳ２で設定されるｍは、ステップＳ３〜Ｓ７の制御に用いられる。
【００９１】
ステップＳ２の後、第１の判定部１４は、ｍ＜Ｎとなっているか否かを判定する（ステップＳ３）。変数ｍがＮ未満であれば（ステップＳ３のＹ）、第１の判定部１４は、分解レベル数ｍのＬＬ成分（ｍＬＬ成分）および分解レベル数１〜ｍのｘｘ成分（１ｘｘ〜ｍｘｘ成分）の中間符号を符号化したときの符号量を推定する。このとき、第１の判定部１４は、これらの各成分のＹ，Ｕ，Ｖそれぞれの頻度表からハフマンテーブル（図１７参照）を生成し、各ハフマン符号毎に、ハフマン符号のビット長と、対応するＹ，ＵまたはＶの発生頻度とを乗じ、その乗算結果の総和を計算する。さらに、本例では、ｌｅｎが中間符号に含まれているので、中間符号に含まれる各ｌｅｎを符号（例えばガンマ符号）に変換したときの符号量もその総和に加算する。第１の判定部１４は、各成分毎にこの総和を求め、それらの合計を計算する（ステップＳ４）。この合計値は、ｍＬＬ成分および１ｘｘ〜ｍｘｘ成分の中間符号を符号化したときの推定符号量である。なお、推定符号量とは、中間符号を符号化した後のデータ量として推定される値である。
【００９２】
続いて、第１の判定部１４は、その推定符号量が、符号化の対象としている領域の目標符号量より大きいか否かを判定する（ステップＳ５）。このように、領域別目標符号量算出部４が算出した目標符号量は、ステップＳ５において閾値として用いられる。また、後述のステップＳ１３，Ｓ１９においても閾値として用いられる。
【００９３】
推定符号量が目標符号量以下である場合（ステップＳ５のＮ）、ステップＳ９に移行する。ステップＳ９において、符号化部１７は、ｍＬＬの中間符号をハフマン符号に変換する。符号化部１７は、ステップＳ４で生成したｍＬＬ成分のＹ，Ｕ，Ｖに対応するハフマンテーブルを用いて、ｍＬＬ中間符号のＹ，Ｕ，Ｖを、対応するハフマン符号に変換すればよい（ステップＳ９）。さらに、符号化部１７は、ｍｘｘ、（ｍ−１）ｘｘ、・・・、１ｘｘの各成分の中間符号もハフマン符号に変換する（ステップＳ１０）。ｍｘｘから１ｘｘまでの各中間符号のＹ，Ｕ，Ｖについても、ステップＳ４で生成したハフマンテーブルを用いて、対応するハフマン符号に変換すればよい。また、符号化部１７は、ステップＳ９，Ｓ１０において、各中間符号中のｌｅｎを例えばガンマ符号に符号化する。
【００９４】
推定符号量が目標符号量よりも大きい場合（ステップＳ５のＹ）、第１の判定部１４は、変数ｍの値を１インクリメントし（ステップＳ７）、ステップＳ３以降の処理を繰り返す。変数ｍを１インクリメントして再度ステップＳ３からステップＳ４に移行した場合、以前のステップＳ４で符号量を求めた成分については再度、符号量を求め直す必要はなく、インクリメント後のｍが示すｍＬＬ成分およびｍｘｘ成分を求めて、ｍＬＬ成分および１ｘｘ〜ｍｘｘ成分の総符号量を推定すればよい。
【００９５】
また、ステップＳ３において、ｍ＝Ｎであると判定した場合（ステップＳ３のＮ）、再量子化処理（ステップＳ８）を行う。図２０に示すステップＳ１１以降の処理は、このステップＳ８の再量子化処理を表している。すなわち、ステップＳ３でｍ＝Ｎであるならば、ステップＳ１１（図２０参照）に移行する。
【００９６】
ステップＳ１１に移行したということは、分解レベル数“Ｎ−１”の中間符号のＬＬ成分および分解レベル数１から“Ｎ−１”までの中間符号のｘｘ成分を符号化したときの符号推定量が目標符号量よりも大きい。このとき、第１の判定部１４は、符号化部１７にＮＬＬ成分を符号化させる（ステップＳ１１）。符号化部１７は、ＮＬＬ中間符号のＹ，Ｕ，Ｖそれぞれの頻度表からハフマンテーブルを生成し、そのＹ，Ｕ，Ｖをそれぞれ対応するハフマン符号に変換する。また、符号化部１７は、ＮＬＬ中間符号に含まれる各ｌｅｎを、例えばガンマ符号に符号化する。
【００９７】
次に、第１の判定部１４は、Ｎを変数ｍに代入する（ステップＳ１２）。ステップＳ１２で設定されるｍは、ステップＳ１３〜Ｓ２１の制御に用いられる。
【００９８】
ステップＳ１２の後、第１の判定部１４は、ｍ≦ｍｑとなっているか否かを判定する（ステップＳ１３）。ｍ≦ｍｑが成立していなければ（ステップＳ１３のＮ）、変数ｍが示す分解レベル数のｘｘ成分（すなわち、ｍｘｘ成分）の符号量を推定する（ステップＳ１４）。ステップＳ１４では、ｍｘｘ成分のＹ，Ｕ，Ｖそれぞれの頻度表からハフマンテーブルを生成し、各ハフマン符号毎に、ハフマン符号のビット長と、対応するＹ，ＵまたはＶの発生頻度とを乗じ、その乗算結果の総和を計算する。そして、各ｌｅｎを符号化したときのビット長もその総和に加算すればよい。なお、ステップＳ４で、ｍｘｘ成分の推定符号量を計算済であるならば、その推定符号量を参照してもよい。
【００９９】
続いて、第１の判定部１４は、ステップＳ１４で求めた符号推定量と、既に符号化した符号データのデータ量との合計が、目標符号量よりも大きくなっているか否かを判定する（ステップＳ１５）。その合計が目標符号量よりも大きければ（ステップＳ１５のＹ）、処理を終了する。また、その合計が目標符号量以下であれば（ステップＳ１５のＮ）、符号化部１７にそのｍｘｘ成分を符号化させる（ステップＳ１６）。符号化部１７は、ステップＳ１４で符号量推定に用いたｍｘｘ成分のＹ，Ｕ，Ｖに対応するハフマンテーブルを用いて、ｍｘｘ成分のＹ，Ｕ，Ｖを対応するハフマン符号に変換する。また、符号化部１７は、ｍｘｘ成分中のｌｅｎを例えばガンマ符号に符号化する。
【０１００】
続いて、第１の判定部１４は、変数ｍの値を１減算し（ステップＳ１７）、ステップＳ１３以降の処理を繰り返す。ステップＳ１３からステップＳ１７のループ処理を繰り返すことで、第１の判定部１４は、ステップＳ１４に移行する毎に、定められた範囲の分解レベル数（すなわちｍｑ＋１〜Ｎ）を、大きい順に選択し、そのｘｘ成分の符号量を推定することになる。
【０１０１】
また、ステップＳ１７で変数ｍの値を１減算した結果、ステップＳ１３においてｍ≦ｍｑであると判定したならば（ステップＳ１３のＹ）、ステップＳ１８に移行する。したがって、ステップＳ１８以降では、ｍの値はｍｑとなっている。
【０１０２】
ステップＳ１８では、第２の判定部８は、ステップＳ１８移行時のｍが示す分解レベル数のｘｘ成分（すなわちｍｘｘ成分）から、１ｘｘ成分までの各ｘｘ成分の中間符号を符号化したときの符号量を推定する。最初にステップＳ１８に移行した場合（すなわち、まだステップＳ２０の再量子化を行っていない場合）には、ｍｘｘ〜１ｘｘの各成分の中間符号を符号化したときの符号量を推定する。また、ステップＳ２０の再量子化処理後にステップＳ１８に移行した場合には、再量子化後のｍｘｘ〜１ｘｘの各成分の中間符号の符号量を推定する。
【０１０３】
各成分の中間符号の符号量を推定する場合には、各成分のＹ，Ｕ，Ｖそれぞれの頻度表からハフマンテーブルを生成し、各ハフマン符号毎に、ハフマン符号のビット長と、対応するＹ，ＵまたはＶの発生頻度とを乗じ、その乗算結果の総和を計算し、さらに、各ｌｅｎを符号化したときのビット長もその総和に加算すればよい。
【０１０４】
なお、ステップＳ２０の再量子化では、再量子化後のＹ，Ｕ，Ｖの頻度表も作成する。ステップＳ２０からステップＳ１８に移行した場合、その頻度表を用いてハフマンテーブルを生成すればよい。
【０１０５】
ステップＳ１８の後、第２の判定部８は、ステップＳ１８で求めたｍｘｘ〜１ｘｘを符号化したときの符号量および、既に符号化した符号データのデータ量との合計が、目標符号量よりも大きくなっているか否かを判定する（ステップＳ１９）。
【０１０６】
その合計が目標符号量よりも大きいならば、第２の判定部８は再量子化を行うと判定し、ステップＳ２０に移行する（ステップＳ１９のＹ）。
【０１０７】
また、その合計が目標符号量以下であるならば、第２の判定部８は再量子化を行わないと判定し、ステップＳ２１に移行する（ステップＳ１９のＮ）。
【０１０８】
ステップＳ２１では、符号化部１７は、ステップＳ１８での符号量推定に用いたハフマンテーブルを用いて、ｍｘｘ成分から１ｘｘ成分のＹ，Ｕ，Ｖを、対応するハフマン符号に変換する。また、符号化部１７は、各成分中のｌｅｎを例えばガンマ符号に符号化する。
【０１０９】
また、ステップＳ２０では、再量子化部１６は、１ｘｘ中間符号からｍｘｘ中間符号までのＹ，Ｕ，Ｖを再量子化する。ステップＳ１８以降におけるｍはｍｑであるので、１ｘｘ中間符号からｍｑｘｘ中間符号までのＹ，Ｕ，Ｖを再量子化する。再量子化部１６は、再量子化処理を行うときに、例えば、既に選択したＱステップ以上のＱステップや、既に選択したデッドゾーン以上のデッドゾーンを新たに定める。
【０１１０】
ステップＳ２０において、再量子化部１６は、１ｘｘからｍｑｘｘまでの各成分毎に、新たなデッドゾーンを定める。このとき、再量子化部１６は、ｈを０以上の整数とし、ステップＳ１で中間符号を生成したときに用いたデッドゾーンおよびＱステップをそれぞれｄｚ，ｑｓとすると、ｄｚ＋ｈ・ｑｓを新たなデッドゾーンに定める。そして、再量子化部１６は、絶対値がその新たなデッドゾーン以下である中間符号（Ｙ，Ｕ，Ｖ）の値を０に再量子化する。
【０１１１】
また、再量子化部１６は、１ｘｘ〜ｍｑｘｘまでの各成分毎に、新たなＱステップを定める。このとき、再量子化部１６は、ｎを０以上の整数とすると、上記のｑｓを用いて、ｑｓ・（２ｎ＋１）を新たなＱステップに定めることが好ましい。そして、絶対値が上記の新たなデッドゾーンを越える範囲を新たなＱステップ（ｑｓ・（２ｎ＋１））毎に区切り、範囲を定める。そして、各範囲に属する１ｘｘ〜ｍｑｘｘまでの各成分の中間符号（Ｙ，Ｕ，Ｖ）を、その範囲の中央値に量子化する。新たなＱステップをｑｓ・（２ｎ＋１）とすることが好ましい理由は、そのようにＱステップを定めることで、新たに定める範囲の中央値が、ステップＳ１で量子化するときに用いた範囲の中央値と一致するので、符号化データの画質劣化を防止することができるためである。Ｑステップをｑｓ・（２ｎ＋１）として定めた新たな範囲は、ステップＳ１量子化するときに用いた範囲を組み合わせた範囲となっている。
【０１１２】
ただし、ステップＳ１で中間符号を導出する際のＱステップが１である場合には、ステップＳ２０では、任意の値（ただし、１以上の整数）を新たなＱステップとしてよい。ステップＳ１におけるＱステップが１であるならば、新たに定めるＱステップの値によらず、新たに定める範囲の中央値が、ステップＳ１で量子化するときに用いた範囲の中央値と一致するためである。
【０１１３】
また、ステップＳ２０において、第２の判定部１５は、中間符号を再量子化して得た新たなＹ，Ｕ，Ｖの頻度表をそれぞれ生成する。再量子化に用いた範囲は、絶対値がデッドゾーン以下の範囲と、その範囲以外を新たなＱステップで区切って定めた個々の範囲である。これらの範囲はいずれも、ステップＳ１で中間符号を生成するときに用いた範囲を組み合わせたものであり、ステップＳ１での量子化に用いた範囲に対応する。そして、ステップＳ１における各範囲（例えば、０に量子化する範囲、１に量子化する範囲等）における頻度表は既にステップＳ１で導出されている。従って、第２の判定部１５は、ステップＳ２０での量子化のために定めた個々の範囲に対応する、ステップＳ１で用いた各範囲を特定し、その各範囲における発生頻度の和を、新たな範囲における発生頻度とすればよい。このように発生頻度を定めることにより、新たな範囲で量子化されたＹ，Ｕ，Ｖの発生頻度をカウントし直さなくて済む。
【０１１４】
図２１は、ステップＳ２０における頻度表導出を模式的に示す説明図である。図２１に示す上段のヒストグラムは、ステップＳ１で中間符号生成のための量子化において、各範囲の中央値に量子化されたデータ（例えばＹとする。）の発生頻度を示している。また、図２１に示す下段のヒストグラムは、ステップＳ２０の再量子化において、各範囲の中央値に量子化されたデータの発生頻度を示している。また、図２１において、Ａ〜ＩおよびＳ〜Ｕは、量子化後の中央値の例示である。ステップＳ２０の再量子化処理で、再量子化部１６が、新たなＱステップおよびデッドゾーンから範囲を区切った結果、Ａ，Ｂ，Ｃそれぞれを中央値とする３つの範囲を組み合わせて、Ｓを中央値とする一つの範囲を定め、その範囲に属するデータ（Ｙ）を中央値Ｓに量子化したとする。この場合、第２の判定部１５は、図２１の上段のヒストグラムのように表される頻度表において、値Ａに量子化したデータ数、値Ｂに量子化したデータ数、および値Ｃに量子化したデータ数の和を計算し、その３つの範囲に対応する新たな範囲（Ｓを中央値とする範囲）に属し値Ｓに量子化したデータの発生頻度を計算すればよい。他の範囲における発生頻度も同様に計算すればよい。このように再量子化後の発生頻度を計算することにより、各範囲におけるデータの発生頻度をカウントし直さなくて済むので、処理を高速化することができる。
【０１１５】
他の範囲におけるデータの発生頻度も同様である。なお、上記のように、新たなデッドゾーンをｄｚ＋ｈ・ｑｓとし、新たなＱステップをｑｓ・（２ｎ＋１）とすれば、新たな範囲における中央値は、中間符号生成時の量子化における中央値と等しくなる。例えば、図２１に示す例では、Ｓ＝Ｂ，Ｔ＝Ｅ，Ｕ＝Ｈとなる。
【０１１６】
上記のステップＳ２０の後、ステップＳ１８以降の処理を繰り返す。第２の判定部１５は、ステップＳ２０で頻度表を新たに生成している。第２の判定部１５は、その後のステップＳ１８ではその頻度表を用いて、ステップＳ２０で量子化された値の符号を示すハフマンテーブルを生成する。このとき、第２の判定部１５は、ステップＳ１における量子化後の各値（すなわち、ステップＳ１で生成された各中間符号）を、それぞれ新たな頻度表から生成したハフマンテーブル内の新たな符号に対応づければよい。
【０１１７】
図２２は、中間符号の値と再量子化後に導出した符号との対応付けを示す説明図である。例えば、図２２に例示する再量子化前の中間符号−１，０，１を、０に再量子化したとする。この場合、第２の判定部１５は、再量子化後の０等の各値の頻度表からハフマンテーブルを導出する。このハフマンテーブルでは、中間符号０に対応する符号が０であったとする。すると、第２の判定部１５は、元の中間符号−１，０，１それぞれに、新たな符号０を対応付ける。例えば、元の中間符号−１，０，１に応じた各符号“１００”，“０”，“１０１”をそれぞれ新たな符号“０”に置換する。このように処理することにより、元の中間符号−１，１からも、０と同じ符号を参照することができる。そして、中間符号を書き換えることなく、再量子化後の値に応じたハフマン符号を生成することができる。
【０１１８】
再量子化処理を行うことにより、ハフマン符号のビット数を減少させることができる。よって、ステップＳ１８〜Ｓ２０のループ処理を繰り返すことで、符号化後の総符号量を減少させることができる。そして、推定される総符号量が目標符号量以下となったときに、ステップＳ２１に移行して符号化処理を行えばよい。
【０１１９】
また、ステップＳ２０の再量子化処理でデッドゾーンの値を大きくした結果、全ての中間符号（Ｙ，Ｕ，Ｖ）を一つの値（０）に量子化する場合がある。この場合、符号化部１７は、ステップＳ２１において、符号化処理を禁止してもよい。すなわち、再量子化によって、全ての中間符号が０に量子化された場合、符号化部１７は、再量子化後のＹ，Ｕ，Ｖの値をハフマン符号に変換することなく処理を終了してよい。また、ｌｅｎを符号化する処理も実行しなくてよい。このように、全てのＹ，Ｕ，Ｖがいずれも０に量子化される場合には、符号化処理を行わないことによって、処理量を削減することができる。
【０１２０】
以上のような符号化方法では、定められた範囲の分解レベル数（ｍｑ＋１〜Ｎ）について、第１の判定部１４がｘｘ成分の符号化を行うと判定したときに、そのｘｘ成分を符号化しておく。そして、その分解レベル数よりも低い分解レベル数（１〜ｍｑ）を符号化したときの符号量に応じて、その分解レベル数（１〜ｍｑ）の中間符号を再量子化する。よって、ウェーブレット変換によって得た各分解レベル数の一部について再量子化をするので、処理負荷を抑制しながら、符号量が目標符号量以下になるように制御することができる。
【０１２１】
また、再量子化処理では、中間符号を導出する際に用いるデッドゾーンおよびＱステップから定まる範囲を組み合わせた範囲を定め、その新たな各範囲内の値を範囲の中央値に量子化する。このように、新たな範囲を、中間符号導出時の範囲を組み合わせた範囲として求めるので、新たな頻度表を求める際に、中間符号導出時にカウントした結果の和を求めればよい（図２１参照）。よって、処理負荷を抑制し、また、処理を高速化することができる。
【０１２２】
また、再量子化処理におけるＱステップを、ｑｓ・（２ｎ＋１）と定めることで、再量子化後の値を中間符号の値と一致させることができ、符号化データの画質劣化を防止することができる。
【０１２３】
既に説明したように、領域別目標符号量算出部４は、画像が送信される領域における符号化前の画像データのデータ量が所定の閾値以下であるならば、その領域の目標符号量を、目標符号量のとり得る最大値に定めてもよい。この場合、上記のステップＳ５では必ず推定符号量が目標符号量以下であると判定され、ステップＳ９に移行することになる。この結果、データ量が所定の閾値以下となる小さな領域では、圧縮率を低めて、画質を向上させることとなる。
【０１２４】
上記の説明では、中間データを生成するときに（例えばステップＳ１において）、ウェーブレット変換によって得られた係数に対して量子化を行った結果を中間符号とする場合を例にして説明したが、ウェーブレット変換によって得られた係数（ウェーブレット係数）自体を中間符号としてもよい。具体的には、予め決められた分解レベル数以上の成分に関しては、ウェーブレット係数自体を中間データとしてもよい。例えば、分解レベル数Ｎまでウェーブレット変換を行った場合、分解レベル数“Ｎ−Ｔ”以上Ｎ以下のウェーブレット係数をそのまま中間符号とし、分解レベル数“Ｎ−Ｔ”未満のウェーブレット係数についてはステップＳ１で説明したようにウェーブレット係数を量子化した結果を中間符号としてもよい。ウェーブレット係数をそのまま中間符号とする分解レベル数“Ｎ−Ｔ”〜“Ｔ”は、符号化後のデータに要求される画質や圧縮率に応じて予め決めておけばよい。また、ＬＬ成分についてはウェーブレット係数をそのまま中間符号とし、ｘｘ成分についてはウェーブレット係数をステップＳ１で説明したように量子化したデータを中間符号としてもよい。
【０１２５】
既に説明した実施形態では、画像データが送信される各領域のうち画像データの符号化が完了している符号化完了領域がある場合に、符号化完了領域の符号化後の画像データの総量を全体目標符号量から減算する減算手段を備え、圧縮率算出手段が、減算手段による減算が行われ、画像データが送信される各領域のうち未だ画像データの符号化が行われていない領域がある場合に、減算手段による減算後の全体目標符号量を符号化が行われていない領域の符号化前の画像データの総量で除算することにより、圧縮率を算出し、領域別目標符号量算出手段は、符号化が行われていない領域の符号化前の画像データのデータ量に、圧縮率算出手段が算出したその圧縮率を乗算して、符号化が行われていない領域の画像データを符号化するときの目標符号量を算出する構成が開示されている。
【０１２６】
また、上記の実施形態には、領域別目標符号量算出手段が、画像データの符号化が行われていない領域であって、符号化前の画像データのデータ量が所定の閾値以下である領域に対して、目標符号量を、目標符号量のとり得る最大値と定める構成が開示されている。
【０１２７】
また、上記の実施形態には、画像データが送信される各領域毎に、領域別目標符号量算出手段が定めた目標符号量以下の符号量に画像データを符号化する領域符号化手段を備える構成が開示されている。
【０１２８】
また、上記の実施形態には、１フレーム内の更新された領域を含む矩形領域を、画像データが送信される領域として特定する領域特定手段を備える構成が開示されている。
【産業上の利用可能性】
【０１２９】
本発明は、例えば、符号化後のデータ量が目標符号量以下となるように画像データを符号化する符号化処理において利用される目標符号量を算出する目標符号量算出装置に好適に適用される。
【図面の簡単な説明】
【０１３０】
【図１】画像データが符号化され送信される領域の例を示す模式図である。
【図２】本発明の目標符号量算出装置の第１の実施形態を示すブロック図である。
【図３】本発明の目標符号量算出装置の処理経過の一例を示すフローチャートである。
【図４】画像データが符号化され送信される領域の例を示す模式図である。
【図５】本発明の目標符号量算出装置の第２の実施形態を示すブロック図である。
【図６】目標符号量再計算処理の例を示すフローチャートである。
【図７】領域特定部を備える場合の構成例を示すブロック図である。
【図８】１フレーム内において画像が送信される領域の例を示す説明図である。
【図９】更新行の先頭および末尾の例を示す説明図である。
【図１０】更新列の左端および右端の例を示す説明図である。
【図１１】更新行の先頭および末尾と更新列の左端および右端とに囲まれた範囲の例を示す説明図である。
【図１２】領域符号化部を備える場合の構成例を示すブロック図である。
【図１３】領域符号化部の例を示すブロック図である。
【図１４】ウェーブレット変換を模式的に示す説明図である。
【図１５】ウェーブレット係数から生成した中間符号を模式的に示す説明図である。
【図１６】頻度表の例を示す説明図である。
【図１７】ハフマンテーブルの例を示す説明図である。
【図１８】ハフマン符号化の結果の例を模式的に示す説明図である。
【図１９】領域符号化部の処理経過の一例を示すフローチャートである。
【図２０】領域符号化部の処理経過の一例を示すフローチャートである。
【図２１】頻度表導出を模式的に示す説明図である。
【図２２】中間符号の値と再量子化後に導出した符号との対応付けを示す説明図である。
【符号の説明】
【０１３１】
１  目標符号量算出装置
２  全体目標符号量算出部
３  圧縮率算出部
４  領域別目標符号量算出部
５  減算部
６  領域特定部
７  領域符号化部
【図１】
0005157490.tif 000002
【図２】
0005157490.tif 000003
【図３】
0005157490.tif 000004
【図４】
0005157490.tif 000005
【図５】
0005157490.tif 000006
【図６】
0005157490.tif 000007
【図７】
0005157490.tif 000008
【図１２】
0005157490.tif 000009
【図１３】
0005157490.tif 000010
【図１４】
0005157490.tif 000011
【図１５】
0005157490.tif 000012
【図１６】
0005157490.tif 000013
【図１７】
0005157490.tif 000014
【図１８】
0005157490.tif 000015
【図１９】
0005157490.tif 000016
【図２０】
0005157490.tif 000017
【図２１】
0005157490.tif 000018
【図２２】
0005157490.tif 000019
【図８】
0005157490.tif 000020
【図９】
0005157490.tif 000021
【図１０】
0005157490.tif 000022
【図１１】
0005157490.tif 000023