(57)【特許請求の範囲】
【請求項１】
画像の変換を行ない変換データを出力する画像変換手段と、該変換データに対して与えられた量子化幅に従って量子化を行ない量子化データを出力する量子化手段と、該量子化データに対して可変長符号化を施す可変長符号化手段と、該可変長符号化手段で作成される符号量を積算して単位画像の符号量を求める符号量算出手段と、該符号量算出手段において作成される単位画像の符号量と予め設定された目標符号量を比較してその結果に応じた制御を行なう制御手段と、該制御手段からの制御に従いそれまでの符号化結果から得られた量子化係数の対数と対応する符号量の対数のグラフの形状および目標符号量に基づいて前記量子化係数を計算しさらに該量子化係数に基づいて量子化幅を計算して前記量子化手段に与える量子化幅推定手段を有し、前記量子化幅推定手段は、量子化係数の対数と対応する符号量の対数のグラフの形状が上に凸の場合には、目標符号量より多くかつ目標符号量に最も近い符号量を与える２つの符号化結果、または、目標符号量よりも少なくかつ目標符号量に最も近い符号量を与える２つの符号化結果を前記推定用パラメータとして選択し、量子化係数の対数と対応する符号量の対数のグラフの形状が下に凸の場合には、目標符号量より多くかつ目標符号量に最も近い符号量を与える１つの符号化結果と、目標符号量より少なくかつ目標符号量に最も近い符号量を与える１つの符号化結果を前記推定用パラメータとして選択して、前記量子化係数および前記量子化幅を計算することを特徴とする画像符号化装置。
【請求項２】
前記量子化幅推定手段は、前記制御手段からの制御に従い適応的にパラメータの作成方法を選択するパラメータ選択手段と、該パラメータ選択手段からの制御に応じ予め定められた定数を傾きパラメータおよび量子化係数の初期値として提供する定数提示手段と、前記パラメータ選択手段からの制御に応じ量子化係数の対数と対応する符号量の対数のグラフの形状に基づき傾きパラメータを計算する傾き計算手段と、前記定数提示手段または前記傾き計算手段から与えられた傾きパラメータと前記目標符号量を基に前記量子化係数および前記量子化幅を計算する量子化幅計算手段を有することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記定数提示手段は、前記量子化幅計算手段に与える前記傾きパラメータの初期値の絶対値を、量子化係数の対数と対応する符号量の対数のグラフが上に凸の場合には想定される値よりも大きめに、また前記グラフが下に凸の場合には想定される値よりも小さめに設定することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記定数提示手段が前記量子化幅計算手段に与える前記量子化係数の初期値を、予め求めた平均的な値とすることを特徴とする請求項２または３に記載の画像符号化装置。
【請求項５】
前記定数提示手段は、前記量子化幅計算手段に与えるパラメータを複数用意し、目標符号量に応じて選択的に使用することを特徴とする請求項２、３または４に記載の画像符号化装置。
【請求項６】
前記制御手段は、単位画像の符号量と前記目標符号量との差がある許容値に入るまで該単位画像に関して推定処理および符号化処理を反復し、しかる後に符号を出力するよう制御することを特徴とする請求項１ないし５のいずれか１項に記載の画像符号化装置。
【請求項７】
前記画像変換手段は、前記変換データを記憶する変換データ記憶手段を備え、必要に応じて前記変換データを繰り返し読み出せることを特徴とする請求項１ないし６のいずれか１項に記載の画像符号化装置。
【請求項８】
前記可変長符号化手段は、作成した符号を記憶する符号記憶手段を備え、最新の符号または前記目標符号量に最も近い符号量を持つ符号もしくは前記目標符号量以下で最も近い符号量を持つ符号を記憶する記憶手段を備え、必要に応じて読み出せることを特徴とする請求項１ないし７のいずれか１項に記載の画像符号化装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、非可逆の符号化処理を行なう画像符号化装置に関するものであり、特に、符号量の制御を行なう画像符号化装置に関するものである。
【０００２】
【従来の技術】
画像データの符号化手法は、可変長符号化方式と固定長符号化方式の２種類に大別される。前者の場合、一般には符号化してみないと発生する符号量がわからない。従って、許容できる符号量に上限がある場合、何らかの手段で符号量の制御を行なう必要が生じる。そのため、例えば、特開平４−２２９１号公報では、符号量の制御を行なって、画像データを目的符号量に収まるまで圧縮するための画像データの符号化装置および符号化方式が記載されている。
【０００３】
図２は、従来の可変長符号化方式を用いた画像符号化装置の一例を示すブロック図である。図中、１は画像変換部、２は量子化部、３は可変長符号化部、４は符号量算出部、５は制御部、１０は量子化幅推定部、１１は画像データ、１２は変換データ、１３は量子化データ、１４は符号データ、１５は部分符号量データ、１６、２３は総符号量データ、１７は制御データ、２２は量子化幅データである。
【０００４】
画像変換部１は入力された画像データ１１に対して変換処理を行なう。変換処理は、直交変換や推定符号化等、画像情報を圧縮するための処理である。画像変換部１で変換されたデータは、変換データ１２として量子化部２へ送出される。量子化部２は、量子化幅推定部１０から指示された量子化幅データ２２に基づき、入力された変換データ１２に対して量子化処理を行なう。そして、量子化処理の結果を量子化データ１３として可変長符号化部３へ送出する。可変長符号化部３は、量子化データ１３に対して可変長符号化処理を施す。その結果は、制御部５による指示が統計処理か符号化処理かに応じ、統計処理の場合は部分符号量データ１５として符号量算出部４へ、符号化処理の場合は符号データ１４として外部へ出力する。符号量算出部４は、部分符号量データ１５を積算し、画像全体や色成分等を単位とした総符号量を算出する。算出された総符号量データ１６、２３は、それぞれ制御部５、量子化幅推定部１０へ送出される。制御部５は、総符号量データ１６と予め指定された目標符号量とを比較し、その差が適当な許容範囲に含まれる場合は符号化処理を指示し、そうでない場合は統計処理を指示する。その指示は、目標符号量に関する情報とともに制御データ１７として量子化幅推定部１０へ送出される。量子化幅推定部１０は、制御データ１７と総符号量データ２３に基づき、目標とする符号量を得るための量子化幅を推定し、その結果を量子化幅データ２２として量子化部２へ指示する。
【０００５】
図３、図４は、従来の可変長符号化方式を用いた画像符号化装置おける動作の一例を示すフローチャートである。図３において、Ｓ３１では、制御部５に対して許容可能な符号量の設定を行なう。Ｓ３２では、画像変換部１へ画像データ１１の入力を行なう。Ｓ３３では、画像データ１１に対して一連の符号化処理を行なう。
【０００６】
このＳ３３における符号化処理の詳細を図４を用いて説明する。Ｓ４１では、画像変換部１において入力された画像データ１１に対して、直交変換や推定処理等の画像情報の圧縮に関わる画像変換処理を行なう。Ｓ４２では、量子化部２において、Ｓ４１で変換処理された変換データ１２に対し、量子化幅推定部１０によって指示された量子化幅データ２２を用いて量子化処理を行なう。Ｓ４３では、可変長符号化部３において、量子化幅データ２２に対して可変長符号化処理を行なう。
【０００７】
図３に戻り、Ｓ３４では、制御部５による指示が統計処理か符号化処理かの判断を行なう。統計処理であればＳ３５へ、符号化処理であればＳ４０へ進む。Ｓ４０に進んだ場合、符号データ１４を外部へ出力して処理を終了する。
【０００８】
一方、Ｓ３５では、符号量算出部４において、積算した部分符号量データ１５から画面全体あるいは色成分等を単位とした総符号量を計算する。Ｓ３６では、制御部５において、Ｓ３２からＳ３８までの反復処理を継続するか否かを判断する。例えば、符号量が許容範囲に入ることを終了条件とした場合、総符号量データ１６とＳ３１で設定された目標符号量との差が、設定された許容範囲に含まれるか否かを判断する。許容範囲に含まれていない場合にはＳ３７へ進み、含まれている場合Ｓ３９へ進む。上述の特開平４−２２９１号公報では、Ｓ３６の判断基準として、反復回数を終了条件とする場合の例についても記載されている。
【０００９】
Ｓ３９へ進んだ場合は、制御部５において符号化処理を指示し、Ｓ３３へ戻る。Ｓ３７へ進んだ場合は、制御部５において統計処理を指示する。そしてＳ３８において、量子化幅推定部１０で、制御データ１７と総符号量データ２３に基づき、あらかじめ定められた手法で量子化幅の推定を行なう。そして推定処理が終了した後、Ｓ３３へ戻る。
【００１０】
以上の処理において、Ｓ４２の量子化処理は、量子化幅推定部１０からの量子化幅データ２２に基づいて行なわれる。Ｓ４１における画像変換処理で得られる変換データ１２は、反復の回数に関わらず一定であり、またＳ４３における可変長符号化処理で得られる符号データの量は、量子化データ１３の量に依存する。すなわち、量子化幅データ２２を制御することにより、量子化データ１３を制御し、最終的に得られる符号データ１４の総符号量を制御することができる。
【００１１】
以下、量子化幅の推定処理について説明する。前述の特開平４−２２９１号公報には、一例として次のような趣旨のことが述べられている。ある１つの画像データに対して、量子化幅に対する相対的な比（以下、量子化係数という）ＳＦと符号量ＣＬとの関係を見ると、次の式が成立する。
【数１】
0003543412.tif 000002
（１）式において、ａは画像によらないほぼ一定の定数であり、ｂは画像に依存する定数である。従って（１）式においてａとｂを適当な値に決定できれば、所望の符号量を得るための量子化係数ＳＦを近似的に求めることができる。ここで求めた値から量子化幅の初期値を計算し、あとは、例えば、ニュートン・ラプソン法等の手法を使用することにより、所望の符号量ＣＬに対応する量子化係数ＳＦを求めることができる。
【００１２】
また、画像符号化の標準方式であるＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）においても、同様の式を用いている。ただし、ここではパラメータａもｂ同様に画像に依存するとしている。
【００１３】
図５は、実験から求めた量子化係数ＳＦと符号量ＣＬの関係の一例を示すグラフである。実際にある画像について、量子化係数と符号量の関係を調べると、図５に示すように、量子化係数ＳＦの対数と符号量ＣＬの対数のグラフ（以下、単にグラフと呼ぶことがある）は、厳密な直線ではなく、全体的に見て、量子化係数ＳＦが小さく、符号量ＣＬの大きい部分で上に凸となり、量子化係数ＳＦが大きく、符号量ＣＬの小さい部分で下に凸となる。また、このグラフを詳細に見ると、小さな凹凸がいくつも見られ、必ずしも平坦とは言えない。このような理由から、上述の（１）式を用いた仮定と実際の実験結果との間には差分が存在する。
【００１４】
図６は、量子化係数ＳＦの対数と符号量ＣＬの対数のグラフを微視的に見た場合の説明図である。量子化係数ＳＦは連続的な値をとるが、符号量ＣＬは量子化という処理の特性上、離散的な値しかとりえない。従って、図５に示したグラフを拡大すると、図６に示すようなステップ状になっていると考えられる。このような理由からも、上述の（１）式を用いた仮定と実際の実験結果との間には差分が存在すると考えられる。
【００１５】
図７は、画像の相違による傾きａの値のばらつきを示すグラフである。図７は、チャートナンバー０〜９の１０種類の画像について、ＪＰＥＧのＢａｓｅｌｉｎｅ方式を用いていくつかの量子化係数ＳＦに対する符号量ＣＬを測定し、（１）式のパラメータａを重回帰分析によって求めた結果を示している。なお、図７では、各画像をＬａｂ空間で３成分に分解し、それぞれの成分ごとの符号量ＣＬを求めている。図中、○はＬ成分の符号量ＣＬから求めたパラメータａの値を示し、同様に、▲はａ成分、×はｂ成分のパラメータａの値を示している。図７からもわかるように、上述の（１）式におけるパラメータａは、画像によらず一定とはいえない。
【００１６】
このように、上述の（１）式を用いた仮定と実際の実験結果との間には差分が存在する。この差分によって、いくつかの問題を生じる。特に、上述の特開平４−２２９１号公報によれば、例としてニュートン・ラプソン法を推定処理に用いているが、単純にニュートン・ラプソン法をそのまま用いるのでは推定処理はうまく働かない場合が生じる。
【００１７】
図８は、ニュートン・ラプソン法の原理の説明図である。いま、関数ｆ（ｘ）が存在して、あるＹに対してＹ＝ｆ（Ｘ）となるようなＸを求めたいとする。ニュートン・ラプソン法は次のような手順で行なわれる。まず、適当な初期値ｘ0 を選び、ｆ（ｘ0 ）を計算する。次に、ｘ0 におけるｆ（ｘ）の微係数、ｆ’（ｘ0 ）を求める。そして、次式によりｘ1 を計算する。
【数２】
0003543412.tif 000003
ｘ1 が求まったらｘ0 の代わりにｘ1 を用いて、同様の処理を繰り返し、ｘ2 を得る。これを繰り返すうちに次第にｘn （ｎ＝０，１，２，・・・）がＸに漸近するので、Ｙとｆ（ｘn ）の差が許容できる誤差になったときに処理を終了する。
【００１８】
上述の特開平４−２２９１号公報では、このようなニュートン・ラプソン法の手順を用い、例えば、ｌｏｇＳＦをｘ、ｌｏｇＣＬをｆ（ｘ）として考え、任意の符号量ＣＬを得るための量子化係数ＳＦを決定している。ところが、実際には量子化係数ＳＦを求めるためにニュートン・ラプソン法を直接使うことはできない。なぜなら、ニュートン・ラプソン法ではｆ（ｘ）の微係数ｆ’（ｘ）を用いるために、ｆ（ｘ）が微分可能な関数にしか適用することができないからである。図６を用いて説明したように、量子化係数ＳＦの対数と符号量ＣＬの対数のグラフはステップ状になると考えられる。このようなステップ状の関数は、段のつぎめで微分不能、言い換えれば微係数が無限大になってしまう。
【００１９】
特開平４−２２９１号公報には、この問題の回避方法が記載されていない。もし、この文献に記載されている通りに、パラメータａが画像によらず一定であれば、パラメータａを求める必要がなくなり、従ってニュートン・ラプソン法自体も使う必要がなくなる。しかし、図７に示したように、画像によってパラメータａの値は一定ではなく、そのような仮定は無理がある。結論としては、やはりパラメータａは画像に応じて計算するべきであり、ニュートン・ラプソン法を拡張して応用する必要が生ずる。
【００２０】
そこで、微分が不要となるように、上述の（２）式を離散的に拡張することを考える。これによれば、（３）式による推定が可能となる。
【数３】
0003543412.tif 000004
ここで、Δｘは微小な数とする。（３）式でΔｘ→０の極限が（２）式と等しくなることから、（３）式が（２）式の近似であることが容易に理解できる。この（３）式による離散的なニュートン・ラプソン法を用いれば、原理的には所望の符号量ＣＬを与える量子化係数ＳＦを求めることが可能になる。
【００２１】
さらに、（３）式におけるΔｘの解釈を拡大すると、ｘi ＋Δｘの代わりにｘj （ｊ≠ｉ）を使うことが考えられる。そこで、ｘj に前回予測した結果、すなわちｘi-1 を用いてみる。（３）式は次のように表わすことができる。
【数４】
0003543412.tif 000005
つまり、ｉ回目の結果と（ｉ−１）回目の結果から傾きを計算するのである。Δｘの定義からはずれた値を（３）式に代入したことになるので計算精度は落ちる可能性があるが、（３）式のようにｘi と（ｘi ＋Δｘ）の２点のデータが必要な式に比べて処理負荷を小さくすることができる。
【００２２】
しかし、これらの手法はいくつかの問題を生じる。この問題点は、図５に示したように、グラフ全体に凹凸が存在することによる推定誤差に起因する問題である。図９は、グラフが上に凸のカーブを描いている場合の推定誤差の説明図である。いま、量子化係数ＳＦ0 とＳＦ1 を用いて次の量子化係数ＳＦ2 を推定する。この場合、図９において、量子化係数ＳＦ0 とＳＦ1 を結ぶ一点鎖線が、上述の（１）式の直線にあたる。そのため、量子化係数ＳＦ2 は、この直線上で目標とする符号量ＣＬにあたる点として求められる。このとき、この直線と実際のグラフとは同一ではないため、ＳＦ2 で実際に符号化すると、図９で示すような誤差が生じる。
【００２３】
この例では、量子化係数ＳＦ0 とＳＦ1 が、得たい量子化係数ＳＦの両側に存在する。このような場合には、図９で一点鎖線で示したように、量子化係数ＳＦ2 において、グラフのカーブは常に（１）式の直線の上側に存在する。そのため、誤差は実際の符号量が多い方への誤差となる。符号量制御においては、ある符号量以下に抑えることが多いので、符号量ＣＬが目標値を越えることは望ましくない。
【００２４】
図１０は、グラフが下に凸のカーブを描いている場合の推定誤差の説明図である。図１０では、量子化係数ＳＦ0 とＳＦ1 が、得たい量子化係数ＳＦよりも大きい側に２つとも存在している。このとき、量子化係数ＳＦ0 とＳＦ1 を結ぶ一点鎖線が（１）式の直線にあたる。そのため、量子化係数ＳＦ2 は、この直線上で目標とする符号量ＣＬにあたる点として求められる。しかし、グラフが上に凸の場合と同様に、量子化係数ＳＦ2 において、グラフのカーブは常に（１）式の直線の上側に存在する。そのため、実際の符号量が多い方へ誤差が発生する。また、量子化係数ＳＦ0 とＳＦ1 が２つとも得たい量子化係数ＳＦよりも小さい側に存在する場合にも、同様の理由によって実際の符号量が多い方へ誤差が発生する。
【００２５】
このように、従来の推定処理においては、実際の符号量が目標とする符号量よりも多い方へ誤差が発生する場合があるという問題を有していた。
【００２６】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、正の誤差を出さず、かつ精度よく量子化係数ＳＦを推定し、効率の良い符号化を行なうことのできる画像符号化装置を提供することを目的とするものである。
【００２７】
【課題を解決するための手段】
本発明は、画像符号化装置において、画像の変換を行ない変換データを出力する画像変換手段と、該変換データに対して与えられた量子化幅に従って量子化を行ない量子化データを出力する量子化手段と、該量子化データに対して可変長符号化を施す可変長符号化手段と、該可変長符号化手段で作成される符号量を積算して単位画像の符号量を求める符号量算出手段と、該符号量算出手段において作成される単位画像の符号量と予め設定された目標符号量を比較してその結果に応じた制御を行なう制御手段と、該制御手段からの制御に従いそれまでの符号化結果から得られた量子化係数の対数と対応する符号量の対数のグラフの形状および目標符号量に基づいて前記量子化係数を計算しさらに該量子化係数に基づいて量子化幅を計算して前記量子化手段に与える量子化幅推定手段を有し、前記量子化幅推定手段は、量子化係数の対数と対応する符号量の対数のグラフの形状が上に凸の場合には、目標符号量より多くかつ目標符号量に最も近い符号量を与える２つの符号化結果、または、目標符号量よりも少なくかつ目標符号量に最も近い符号量を与える２つの符号化結果を前記推定用パラメータとして選択し、量子化係数の対数と対応する符号量の対数のグラフの形状が下に凸の場合には、目標符号量より多くかつ目標符号量に最も近い符号量を与える１つの符号化結果と、目標符号量より少なくかつ目標符号量に最も近い符号量を与える１つの符号化結果を前記推定用パラメータとして選択して、前記量子化係数および前記量子化幅を計算することを特徴とするものである。
【００３０】
さらに、請求項２に記載の発明のように、前記量子化幅推定手段を、前記制御手段からの制御に従い適応的にパラメータの作成方法を選択するパラメータ選択手段と、該パラメータ選択手段からの制御に応じ予め定められた定数を傾きパラメータおよび量子化係数の初期値として提供する定数提示手段と、前記パラメータ選択手段からの制御に応じ量子化係数の対数と対応する符号量の対数のグラフの形状に基づき傾きパラメータを計算する傾き計算手段と、前記定数提示手段または前記傾き計算手段から与えられた傾きパラメータと前記目標符号量を基に前記量子化係数および前記量子化幅を計算する量子化幅計算手段を有するように構成することができる。
【００３１】
請求項２に記載の画像符号化装置における前記定数提示手段は、請求項３に記載の発明のように、前記量子化幅計算手段に与える前記傾きパラメータの初期値の絶対値を、量子化係数の対数と対応する符号量の対数のグラフが上に凸の場合には想定される値よりも大きめに、また前記グラフが下に凸の場合には想定される値よりも小さめに設定するように構成することができる。
【００３２】
このとき、請求項４に記載の発明のように、前記定数提示手段が前記量子化幅計算手段に与える前記量子化係数の初期値を、予め求めた平均的な値とするように構成することができる。
【００３３】
さらに、請求項５に記載の発明のように、前記定数提示手段は、前記量子化幅計算手段に与えるパラメータを複数用意し、目標符号量に応じて選択的に使用するように構成することができる。
【００３４】
上述の請求項１ないし５のいずれか１項に記載の画像符号化装置において、前記制御手段は、請求項６に記載の発明のように、単位画像の符号量と前記目標符号量との差がある許容値に入るまで該単位画像に関して推定処理および符号化処理を反復し、しかる後に符号を出力するよう制御する構成とすることができる。
【００３５】
また、請求項１ないし６のいずれか１項に記載の画像符号化装置において、前記画像変換手段は、請求項７に記載の発明のように、前記変換データを記憶する変換データ記憶手段を備え、必要に応じて前記変換データを繰り返し読み出せるように構成することができる。
【００３６】
さらに、請求項１ないし７のいずれか１項に記載の画像符号化装置において、前記可変長符号化手段は、請求項８に記載の発明のように、作成した符号を記憶する符号記憶手段を備え、最新の符号または前記目標符号量に最も近い符号量を持つ符号もしくは前記目標符号量以下で最も近い符号量を持つ符号を記憶する記憶手段を備え、必要に応じて読み出せるように構成することができる。
【００３７】
【作用】
上述の図９で示したように、上に凸のグラフでは、本来得たい量子化係数ＳＦを挟むような２点から推定すると、実際のグラフはその２点を結ぶ直線の上を通過するから、必ず誤差は符号量が増える方へ現れる。また、下に凸のグラフでは、図１０に示したように、本来得たい量子化係数ＳＦよりも大きい側または小さい側のどちらか一方に存在する２点から推定すると、実際のグラフはその２点を結ぶ直線の上を通過し、同様に誤差は符号量が増える方へ現れる。逆に、上に凸のグラフにおいて、２点が得たい量子化係数ＳＦを挟まなければ、誤差は符号量が少ない方へ現れる。下に凸のグラフにおいても、得たい量子化係数ＳＦを挟む２点を用いれば、誤差は符号量が少ない方へ現れる。誤差を必ずマイナスにするには、このような性質を考慮した処理を行なえばよい。以下、過去の符号化結果における量子化係数ＳＦと符号量ＣＬの組を推定用データと呼ぶことにする。
【００３８】
そこで、本発明によれば、量子化幅推定手段において、それまでの符号化結果から得られた量子化係数ＳＦの対数と対応する符号量ＣＬの対数のグラフの形状および目標符号量に基づいて量子化係数ＳＦを推定する。特に、グラフの凹凸形状によって、推定の際に使用する推定用パラメータの初期値及び推定用パラメータの取り方を切り替える。グラフの形状が上に凸の場合には、目標符号量より多くかつ目標符号量に最も近い符号量を与える２つの符号化結果、または、目標符号量よりも少なくかつ目標符号量に最も近い符号量を与える２つの符号化結果を推定用パラメータとして選択して、量子化係数ＳＦを推定する。また、グラフの形状が下に凸の場合には、目標符号量より多くかつ目標符号量に最も近い符号量を与える１つの符号化結果と、目標符号量より少なくかつ目標符号量に最も近い符号量を与える１つの符号化結果を推定用パラメータとして選択して、前記量子化係数ＳＦを推定する。このような推定を行なうことによって、誤差は必ずマイナスとなり、実際の符号量が目標値を上回ることはない。
【００３９】
２回の推定処理の後に符号データを出力するような場合、すなわち、２つの推定用データから量子化係数ＳＦを推定し、量子化幅を決定して量子化し、可変長符号化を行なう場合には、さらに工夫が必要となる。この場合、グラフが上に凸の場合、２回目の推定処理で得られた推定用データの量子化係数ＳＦ1 は、量子化係数の初期値ＳＦ0 から見て求める量子化係数ＳＦを越えてはならない。すなわち、量子化係数ＳＦ0 とＳＦ1 の位置関係が上述の図９に示す関係となってはならない。そのため、量子化係数ＳＦ1 を求める際の傾きパラメータａの絶対値を大きめにする必要がある。逆にグラフが下に凸の場合には、傾きパラメータａの絶対値を小さめにとればよい。
【００４０】
これを実現するため、請求項２に記載の発明によれば、量子化幅推定手段内に、適応的にパラメータの作成方法を選択するパラメータ選択手段と、該パラメータ選択手段からの制御に応じ予め定められた定数を傾きパラメータおよび量子化係数の初期値として提供する定数提示手段と、パラメータ選択手段からの制御に応じ量子化係数の対数と対応する符号量の対数のグラフの形状に基づき傾きパラメータを計算する傾き計算手段と、前記定数提示手段または前記傾き計算手段から与えられた傾きパラメータと前記目標符号量を基に前記量子化係数および前記量子化幅を計算する量子化幅計算手段を有するように構成し、グラフの形状に合わせて傾きパラメータを変更して推定を開始する。特に、請求項３に記載の発明のように、定数提示手段が量子化幅計算手段に与える前記傾きパラメータの初期値の絶対値を、グラフが上に凸の場合には想定される値よりも大きめに、またグラフが下に凸の場合には想定される値よりも小さめに設定する。このような構成によって、推定の過程で上述の図９や図１０に示すような状態とはならずに、必ず誤差がマイナスとなるような推定処理を行なうことができ、実際の符号量が目標の符号量を上回ることなく、符号化を行なうことができる。このとき、定数提示手段が傾きパラメータとともに量子化幅計算手段に与える量子化係数の初期値としては、請求項４に記載の発明のように、予め求めた平均的な値とすることができる。
【００４１】
さらに、図５で説明したように、量子化係数ＳＦの対数と符号量ＣＬの対数との関係は、符号量ＣＬが少ない場合にはグラフが下に凸になり、符号量ＣＬが多い場合には、グラフが上に凸になる。このような性質を利用し、請求項５に記載の発明のように、定数提示手段は、前記量子化幅計算手段に与えるパラメータを複数用意しておき、目標符号量に応じて選択的に使用するように構成することができる。これにより、どのような目標符号量が与えられても、適切な初期値を選択して使用し、良好な量子化係数の推定を行なうことができる。
【００４２】
請求項６に記載の発明によれば、上述のような推定処理および符号化処理を、単位画像の符号量と目標符号量との差がある許容値に入るまで反復し、しかる後に符号を出力するように制御手段が制御する。これにより、符号量の誤差を許容範囲内に収めることができる。もちろん、上述のような推定処理を行なうことにより、誤差は必ずマイナスであり、実際の符号量が目標符号量を上回ることはない。
【００４３】
また、請求項７に記載の発明によれば、画像変換手段は、変換データを記憶する変換データ記憶手段を備え、必要に応じて前記変換データを繰り返し読み出せるように構成する。これにより、反復して行なわれる推定処理および符号化処理において、２回目以降の推定処理および符号化処理では、記憶している変換データを読み出せばよいため、不変の変換データを毎回生成する処理を行なわなくても済むため、全体の処理量を低下させ、量子化処理以降の処理を効率的に行なうことができる。
【００４４】
さらに、請求項８に記載の発明によれば、可変長符号化手段は、作成した符号を記憶する符号記憶手段を備え、最新の符号または目標符号量に最も近い符号量を持つ符号もしくは目標符号量以下で最も近い符号量を持つ符号を記憶する記憶手段を備え、必要に応じて読み出せるように構成する。これにより、推定処理によって得られた符号が最良であった場合、再度の量子化処理および符号化処理を行なわずに、記憶している符号データを読み出して出力すればよいので、画像符号化装置のスループットを向上させることができる。
【００４５】
【実施例】
図１は、本発明の画像符号化装置の一実施例を示すブロック図である。図中、図２と同様の部分には同じ符号を付して説明を省略する。６はパラメータ選択部、７は定数提示部、８は傾き計算部、９は量子化幅計算部、１８，１９は制御データ、２０，２１はパラメータデータである。
【００４６】
パラメータ選択部６は、制御部５からの制御データ１７の内容に応じて適応的にパラメータの作成方式を選択し、定数提示部７または傾き計算部８へパラメータの算出及び提示を指示する。定数提示部７は、予め定められた傾きａと量子化係数ＳＦの値をパラメータデータ２０として量子化幅計算部９へ送出する。傾き計算部８は、パラメータ選択部６から与えられる制御データ１９から、符号量ＣＬと量子化係数ＳＦの関係のグラフの傾きを推定し、パラメータデータ２１として量子化幅計算部８へ送出する。量子化幅計算部８は、与えられたパラメータデータ２０または２１から目標符号量に対応すると予測される量子化係数ＳＦを算出し、それを量子化幅に換算して量子化幅データ２２として量子化部２へ送出する。この際、パラメータデータ２０によって直接量子化係数ＳＦが指定される場合には、量子化係数ＳＦの算出処理は行なわず、与えられた量子化係数ＳＦから量子化幅を求める。
【００４７】
画像変換部１で用いる変換手法としては、例えば、離散コサイン変換（ＤＣＴ）を用いることができる。このとき、変換データ１２は、ＤＣＴ変換係数である。また、可変長符号化部３で用いる可変長符号化手法としては、例えば、ハフマン符号化を用いることができる。もちろん、他の変換手法、可変長符号化手法を用いることもできる。
【００４８】
また、画像変換部１内に、変換データ１２を格納しておくメモリを設けることができる。推定処理においては、量子化幅を変更しながら変換データ１２に対して繰り返し量子化処理を行なうが、量子化処理の対象となる変換データ１２は同じデータである。そのため、変換データ１２をメモリに格納しておき、必要に応じて読み出すように構成することによって、同一の変換処理を繰り返し行なう必要が無くなり、量子化部２が変換データ１２を得るまでの所要時間を短縮して全体の処理時間を短縮することができる。
【００４９】
さらに、可変長符号化部３に、符号を格納しておくメモリを設けることができる。得られた符号の符号量が目標符号量に非常に近い場合など、現在の符号をそのまま出力できるとき、メモリ内の符号を読み出して符号データ１４として出力する。これにより、最終回の量子化処理および符号化処理を行なわずに済むので、全体の処理時間を短縮し、スループットを向上させることができる。
【００５０】
図１１は、本発明の画像符号化装置の一実施例における動作の一例を説明するフローチャートである。Ｓ５１において、制御部５に対して許容可能な符号量の設定を行なう。Ｓ５２では、定数提示部７において、予め量子化係数ＳＦの初期値として設定された値を量子化幅計算部９へ送出する。
【００５１】
Ｓ５３において、画像変換部１へ画像データ１１の入力を行なう。Ｓ５４では、画像データ１１に対して一連の符号化処理を行なう。この符号化処理は、図４に示したとおりであるので、ここでは説明を省略する。ただし、Ｓ４２における量子化処理では、定数提示部７から量子化係数ＳＦがパラメータデータ２０として量子化幅計算部９に渡される場合には、量子化幅計算部９は、渡された量子化係数ＳＦから量子化幅データ２２を作成し、これに基づいた量子化処理を量子化部２で行なう。また、傾き計算部８からパラメータデータ２１が量子化幅計算部９に渡される場合には、量子化幅計算部９は、量子化係数ＳＦを推測し、推測した量子化係数ＳＦから量子化幅データ２２を作成し、これに基づいた量子化処理を量子化部２で行なう。
【００５２】
Ｓ５５〜Ｓ５８，Ｓ６１，Ｓ６２の処理は、図３におけるＳ３４〜Ｓ３７，Ｓ３９，Ｓ４０の処理と同様である。すなわち、Ｓ５５では、制御部５による指示が統計処理か符号化処理かの判断を行ない、符号化処理であれば、Ｓ６２において、符号データ１４を外部へ出力して処理を終了する。一方、統計処理であれば、Ｓ５６に進み、符号量算出部４において、積算した部分符号量データ１５から画面全体あるいは色成分等を単位とした総符号量を計算する。Ｓ５７では、制御部５において、Ｓ５３〜Ｓ６０までの反復処理を継続するか否かを判断する。反復処理を継続する場合、Ｓ５８で制御部５において統計処理を指示し、反復処理を終了する場合、Ｓ６１で制御部５において符号化処理を指示する。どちらの場合もＳ５９へ進み、パラメータ選択部６に加え、定数提示部７または傾き計算部８のいずれかにおいて、量子化幅計算部９で使用する傾きの値を設定する。そして、Ｓ６０において量子化係数を推定した後、Ｓ５３へ戻る。
【００５３】
図１２は、傾き設定処理の動作の一例を示すフローチャートである。Ｓ５９で行なわれる傾き設定処理は、例えば、次のようにして行なわれる。Ｓ７１では、制御部５による指示が符号化処理か統計処理かの判断を行なう。符号化処理の場合、Ｓ７２において条件に合う推定用データを選択し、Ｓ７６へ進む。統計処理の場合、Ｓ７３において、パラメータ選択部６で、Ｓ５３からＳ６０までの反復回数が１回目か否かを判定し、１回目の場合には定数提示部７に対してパラメータデータの作成を指示する。この場合、Ｓ７４へ進み、定数提示部７において予め設定されたパラメータａの値をパラメータデータ２０として量子化幅計算部９へ送出し、Ｓ５９の処理を終了する。一方、反復処理が２回目以降の場合は、パラメータ選択部６は傾き計算部８に対し、パラメータデータの作成を指示する。そして、Ｓ７５へ進み、最近の２回の推定用データを選択する。Ｓ７６では、傾き計算部８において選択された推定用データから傾きａを推定し、パラメータデータ２１として量子化幅計算部９へ送出し、Ｓ５９を終了する。
【００５４】
以下、本発明の画像符号化装置の一実施例における量子化係数の推定処理について、さらに説明する。既に説明したように、量子化係数ＳＦの対数と符号量ＣＬの対数のグラフは、例えば、図５に示すように、上述の（１）式で示されるような直線ではなく、凹凸が見られる。そのようなグラフの形状によって、推定の際に使用するパラメータの初期値、および、推定用パラメータの取り方を切り替えることにより、実際に得られる符号量を目標符号量以内とすることができる。グラフの形状と、そのときの推定用パラメータの初期値および取り方をまとめると、以下のようになる。
【００５５】
まず、グラフが上に凸の場合には、
（１）推定処理を２回に限定する場合、１回目の推定処理に使用するパラメータａの初期値の絶対値を、想定される傾きより大きめにとる。
（２）最終的な量子化係数ＳＦを求めるのに使用する２つの推定用データは、求める量子化係数ＳＦを挟まない組合せのうち、最も目標符号量に近い結果を与えたものを選択する。
【００５６】
また、グラフが下に凸の場合には、
（１）推定処理を２回に限定する場合、１回目の推定処理に使用するパラメータａの初期値の絶対値を、想定される傾きより小さめにとる。
（２）最終的な量子化係数ＳＦを求めるのに使用する２つの推定用データは、求める量子化係数ＳＦを挟む組合せのうち最も目標符号量に近い結果を与えたものを選択する。
【００５７】
ここでいう想定される傾きは、予め統計をとって求める。具体的には、例えば、上述した図７に示した実験結果に基づいて設定すればよい。図７に示した実験結果に従う場合には、例えば、グラフが上に凸の場合のＬ成分に対するパラメータａの初期値の絶対値は、０．８以上に設定すればよい。ただし、このとき値の絶対値を大きく取りすぎると、１回目の推定処理結果の推定誤差が大きくなるので、例えば、絶対値が１０．０以下くらいの範囲から適当に定めた方がよい。
【００５８】
図１３は、パラメータの設定の具体例の説明図である。図７に示した実験結果から、例えば、図１３に示すようなパラメータを設定することができる。ここで、図１３の量子化係数ＳＦの欄には、例えば、ＪＰＥＧ等で一般に呼ばれる量子化係数ＳＦではなく、実際に量子化マトリクスに乗ずる係数を示している。
【００５９】
図１３に示した値は、グラフが上に凸であるものと仮定して決定している。図１３（Ａ）に示した値は、符号化の反復回数が２回しか許されないような場合のパラメータの一例を示している。ここで、傾きパラメータａについては、図７に示した実験結果から読み取れる値の絶対値の最大値を設定した。また、図１３（Ｂ）に示した値は、符号化の反復回数が３回以上許されるような場合のパラメータの一例を示している。この場合には、図７に示した実験結果からほぼ平均値と思われる値を設定した。パラメータＳＦについては、図１３（Ａ）と（Ｂ）のどちらの場合も圧縮率５を与える量子化係数ＳＦの平均値を設定した。
【００６０】
図１３に示すようなパラメータの初期値をあらかじめ設定しておき、推定処理の初回においては、定数提示部７がこれらの値を量子化幅計算部９にパラメータデータ２０として与える。図１３（Ａ）と（Ｂ）のパラメータ値は、どちらか一方のみを設定しておいてもよいし、指示される反復回数によって切り替えてもよい。
【００６１】
また、図１３ではグラフが上に凸の場合のパラメータを示したが、グラフが下に凸の場合には、図１３（Ａ）に示す反復回数が２回の場合の傾きパラメータａとして、例えば、図７に示した実験結果から読みとれる値の絶対値の最小値を設定するようにすればよい。これらのパラメータは、グラフの形状に応じて設定しておくこともできるし、また、グラフが上に凸の場合のパラメータとグラフが下に凸の場合のパラメータの両方を設定しておき、得ようとする量子化係数の付近のグラフの形状に合わせて選択するように構成してもよい。
【００６２】
ところで、符号化の反復回数は、２回以上、任意の回数に設定することができる。回数を多くすることによって、符号量は目標符号量に近くなり、画質が向上する。また、回数を少なくすることによって、処理速度を向上させることができる。また、反復処理を打ち切るか否かを符号量の誤差で判断するように構成することもできる。この場合には、反復回数が何回になるか見当が付かない。例えば、２回程度で済む場合もあれば、３回以上となる場合もある。そのため、反復回数が２回のときと同様のパラメータの初期値の設定を行なって推定処理を開始するように構成すれば、反復回数が何回であっても対応することができる。
【００６３】
グラフがどちらに凸かは、目標符号量に応じて判断することができる。上述の図５に示したように、グラフの全体の傾向は、符号量が多い場合には上に凸、符号量が少ない場合には下に凸の形状となる。この性質を用い、例えば、高画質でしか使用しないような場合、グラフは上に凸になると始めに仮定して考えることができる。もちろん、３点以上の推定用データが存在する場合には、それらの点からグラフの形状を判定することができ、そのように構成してもよい。
【００６４】
例えば、本発明をＪＰＥＧのＢａｓｅｌｉｎｅ方式の画像符号化装置に適用し、目標圧縮率を５として、高画質の符号化を行なう場合には、いくつかの画像に対する実験の結果、圧縮率が５の周辺ではどの画像についても量子化係数ＳＦの対数と符号量ＣＬの対数のグラフは上に凸になることがわかった。このような場合には、グラフの形状を上に凸であるものとして、パラメータ値の設定や、推定用データの選択を行なうように構成してもよい。
【００６５】
次に、上述の推定用パラメータの初期値および取り方に基づく量子化係数ＳＦの推定処理の過程について説明する。図１４は、グラフが上に凸の場合において、２回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。まず、量子化係数の初期値ＳＦ0 と、傾きパラメータａを設定する。量子化係数の初期値ＳＦ0 は、あらかじめ求めた平均的な値を用いればよい。例えばあらかじめ種々の画像について、目標圧縮率を与えるＳＦの統計をとっておき、その中から平均値などの代表的な値を用いることが考えられる。また、傾きパラメータａは、上述のように、想定される傾きよりも急峻な傾きとなるように値を設定する。そして、量子化係数の初期値ＳＦ0 をもとに量子化幅を設定し、量子化処理および可変長符号化処理を行なって、符号量ＣＬ0 を得る。このようにして得られた符号量ＣＬ0 と、量子化係数の初期値ＳＦ0 および傾きパラメータａの値から、（１）式の係数ｂを決定する。これにより、図１４の直線Ｌ１が決定される。この直線Ｌ１は、想定される傾きよりも急峻な傾きとなるように設定された直線である。この直線を示す式を用い、目標符号量となる量子化係数ＳＦ1 を求める。この量子化係数ＳＦ1 が１回目の推定によって求められた量子化係数である。このとき、１回目の推定処理では直線Ｌ１の傾きを急峻にとっているので、量子化係数ＳＦ1 は、目標とする量子化係数ＳＦと量子化係数の初期値ＳＦ0 の間の値となる。
【００６６】
２回目の推定処理では、まず、量子化係数ＳＦ1 を用いて量子化幅を設定し、量子化処理および可変長符号化処理を行なって、符号量ＣＬ1 を得る。そして、量子化係数ＳＦ0 と対応する符号量ＣＬ0 、および、量子化係数ＳＦ1 と対応する符号量ＣＬ1 を用いて直線を示す式を求める。図１４では、２回目の推定処理で求められた直線を直線Ｌ２で示している。この直線を用いて量子化係数ＳＦ2 を推定する。すなわち、この直線において目標符号量となるときの量子化係数ＳＦ2 を求める。
【００６７】
直線Ｌ２は、量子化係数ＳＦ0 およびＳＦ1 がともに得ようとする量子化係数ＳＦの同じ側に存在するので、得ようとする量子化係数ＳＦ近傍では常にグラフよりも上に存在する。そのため、２回目の推定処理で得られた量子化係数ＳＦ2 を用いて、量子化処理および可変長符号化処理を行なって得られる符号量は、必ず目標符号量と同等あるいは少なくなる。
【００６８】
このようにして求められた量子化係数ＳＦ2 を用いて量子化幅を決定し、量子化処理および可変長符号化処理を行なうことによって、得られる符号の符号量は目標符号量に近く、しかも誤差で目標符号量を超えることはない。
【００６９】
図１４では、量子化係数の初期値ＳＦ0 として、得ようとする量子化係数ＳＦよりも大きな値を設定した場合について図示したが、量子化係数の初期値ＳＦ0 を得ようとする量子化係数ＳＦよりも小さな値に設定した場合でも同様である。
【００７０】
図１５は、グラフが上に凸の場合において、複数回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。図１４では、２回の推定処理の過程を示したが、これを繰り返し行なうことによって、複数個の推定用データを得ることができる。３回以上の推定処理を行なえば、グラフの凹凸も判定することができる。反復回数は、あらかじめ設定しておいたり、あるいは、誤差が所定以内となるまで繰り返してもよく、これらを組み合わせてもよい。
【００７１】
グラフが上に凸の場合には、得ようとする量子化係数ＳＦを挟まない推定用データの組合せのうち、最も目標符号量に近い結果を与えたものを選択する。図１５では、得ようとする量子化係数ＳＦよりも大きな量子化係数ＳＦm およびＳＦn を有する２つの推定用データを選択している。選択した２つの推定用データから、直線の式を求める。ここでは、図１５中の直線Ｌ３が求められる。そして、この直線が目標符号量となる時の量子化係数ＳＦp を求めればよい。この量子化係数ＳＦp において、直線Ｌ３はグラフよりも上に存在する。そのため、量子化係数ＳＦp に基づいて得られる符号量ＣＬp は、目標符号量を越えることはない。
【００７２】
このようにして求められた量子化係数ＳＦp を用いて量子化幅を決定し、量子化処理および可変長符号化処理を行なうことによって、得られる符号の符号量は目標符号量に近く、しかも、誤差で目標符号量を超えることはない。
【００７３】
なお、図１５では、得ようとする量子化係数ＳＦよりも大きな量子化係数を有する２つの推定用データを用いたが、量子化係数ＳＦよりも小さな量子化係数を有する２つの推定用データを用いた場合でも同様である。
【００７４】
図１６は、グラフが下に凸の場合において、２回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。グラフが上に凸の場合と同様に、まず、量子化係数の初期値ＳＦ0 と、傾きパラメータａを設定する。このとき、傾きパラメータａは、想定される傾きよりも緩やかな傾きとなるように値を設定する。そして、量子化係数の初期値ＳＦ0 をもとに量子化幅を設定し、量子化処理および可変長符号化処理を行なって、符号量ＣＬ0 を得る。このようにして得られた符号量ＣＬ0 と、量子化係数の初期値ＳＦ0 および傾きパラメータａの値から、図１６中の直線Ｌ４を決定する。この直線Ｌ４を用い、目標符号量となる量子化係数ＳＦ1 を求める。この量子化係数ＳＦ1 が１回目の推定処理によって求められた量子化係数である。このとき、直線Ｌ４の傾きを緩やかにとっているので、量子化係数ＳＦ1 は、量子化係数の初期値ＳＦ0 とともに目標とする量子化係数ＳＦを挟む値となる。図１６では、量子化係数の初期値ＳＦ0 が量子化係数ＳＦよりも小さな値であるので、量子化係数ＳＦ1 は、量子化係数ＳＦよりも大きな値となる。
【００７５】
２回目の推定処理では、まず、量子化係数ＳＦ1 を用いて量子化幅を設定し、量子化処理および可変長符号化処理を行なって、符号量ＣＬ1 を得る。そして、量子化係数ＳＦ0 と対応する符号量ＣＬ0 、および、量子化係数ＳＦ1 と対応する符号量ＣＬ1 を用いて直線を示す式を求める。図１６では、２回目の推定処理で求められた直線を直線Ｌ５で示している。この直線を用いて目標符号量となる量子化係数ＳＦ2 を求める。
【００７６】
直線Ｌ５は、量子化係数ＳＦ0 およびＳＦ1 が得ようとする量子化係数ＳＦを挟む位置に存在するので、グラフが下に凸の場合、量子化係数ＳＦ0 とＳＦ1 の間では常にグラフよりも上に存在する。そのため、２回目の推定処理で得られた量子化係数ＳＦ2 を用いて、量子化処理および可変長符号化処理を行なって得られる実際の符号量は、必ず目標符号量と同等あるいは少なくなる。
【００７７】
このようにして求められた量子化係数ＳＦ2 を用いて量子化幅を決定し、量子化処理および可変長符号化処理を行なうことによって、得られる符号の符号量は目標符号量に近く、しかも誤差で目標符号量を超えることはない。
【００７８】
図１６では、量子化係数の初期値ＳＦ0 として、得ようとする量子化係数ＳＦよりも小さな値を設定した場合について図示したが、量子化係数の初期値ＳＦ0 を得ようとする量子化係数ＳＦよりも大きな値に設定した場合でも同様である。
【００７９】
図１７は、グラフが下に凸の場合において、複数回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。図１６では、２回の推定処理の過程を示したが、これを繰り返し行なうことによって、複数個の推定用データを得ることができる。グラフが下に凸の場合には、得ようとする量子化係数ＳＦを挟む推定用データの組合せのうち、最も目標符号量に近い組合せを選択する。図１７では、得ようとする量子化係数ＳＦよりも大きな量子化係数ＳＦm および得ようとする量子化係数ＳＦよりも小さな量子化係数ＳＦn を有する２つの推定用データを選択している。選択した２つの推定用データから、直線の式を求める。ここでは、図１７中の直線Ｌ６が求められる。そして、この直線が目標符号量となる時の量子化係数ＳＦp を求めればよい。下に凸のグラフの場合には、この量子化係数ＳＦp において、直線Ｌ６はグラフよりも上に存在する。そのため、量子化係数ＳＦp に基づいて実際に得られる符号量ＣＬp は、目標符号量を越えることはない。
【００８０】
このようにして求められた量子化係数ＳＦp を用いて量子化幅を決定し、量子化処理および可変長符号化処理を行なうことによって、得られた符号の符号量は目標符号量に近く、しかも、誤差で目標符号量を超えることはない。
【００８１】
【発明の効果】
以上の説明から明らかなように、本発明によれば、非可逆符号化の符号量制御において、符号量を目標符号量に近づけ、しかも符号量が目標符号量を越えないように制御することが可能となる。これにより、符号化された画像の符号量を、目標符号量以内でなるべく多くなるようにすることができ、画質の劣化を最小限に押さえることができる。
【００８２】
また、量子化係数ＳＦの対数と符号量ＣＬの対数のグラフの形状が上に凸の部分でも、下に凸の部分でも、どちらでも対応することができる。また、量子化係数ＳＦの初期値の変更により所望の推定処理回数内でより正確な量子化幅を求めることが可能となる。さらに、傾きパラメータａをグラフの形状に合わせて切り替えて用いることによって、２回の推定処理だけでも、目標符号量を超えない範囲で符号量を目標符号量に近づけることができ、処理の効率化および画質の向上を図ることができるなどの効果がある。
【図面の簡単な説明】
【図１】本発明の画像符号化装置の一実施例を示すブロック図である。
【図２】従来の可変長符号化方式を用いた画像符号化装置の一例を示すブロック図である。
【図３】従来の可変長符号化方式を用いた画像符号化装置おける全体動作の一例を示すフローチャートである。
【図４】従来の可変長符号化方式を用いた画像符号化装置おける符号化処理の動作の一例を示すフローチャートである。
【図５】実験から求めた量子化係数ＳＦと符号量ＣＬの関係の一例を示すグラフである。
【図６】量子化係数ＳＦの対数と符号量ＣＬの対数のグラフを微視的に見た場合の説明図である。
【図７】画像の相違による傾きａの値のばらつきを示すグラフである。
【図８】ニュートン・ラプソン法の原理の説明図である。
【図９】グラフが上に凸のカーブを描いている場合の推定誤差の説明図である。
【図１０】グラフが下に凸のカーブを描いている場合の推定誤差の説明図である。
【図１１】本発明の画像符号化装置の一実施例における動作の一例を説明するフローチャートである。
【図１２】傾き設定処理の動作の一例を示すフローチャートである。
【図１３】パラメータの設定の具体例の説明図である。
【図１４】グラフが上に凸の場合において、２回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。
【図１５】グラフが上に凸の場合において、複数回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。
【図１６】グラフが下に凸の場合において、２回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。
【図１７】グラフが下に凸の場合において、複数回の推定処理で最終的な量子化係数ＳＦを決定する場合の過程の説明図である。
【符号の説明】
１…画像変換部、２…量子化部、３…可変長符号化部、４…符号量算出部、５…制御部、６…パラメータ選択部、７…定数提示部、８…傾き計算部、９…量子化幅計算部、１０…量子化幅推定部、１１…画像データ、１２…変換データ、１３…量子化データ、１４…符号データ、１５…部分符号量データ、１６…総符号量データ、１７，１８，１９…制御データ、２０，２１…パラメータデータ、２２…量子化幅データ。
【図１】
0003543412.tif 000006
【図２】
0003543412.tif 000007
【図３】
0003543412.tif 000008
【図４】
0003543412.tif 000009
【図５】
0003543412.tif 000010
【図６】
0003543412.tif 000011
【図７】
0003543412.tif 000012
【図８】
0003543412.tif 000013
【図９】
0003543412.tif 000014
【図１０】
0003543412.tif 000015
【図１１】
0003543412.tif 000016
【図１２】
0003543412.tif 000017
【図１３】
0003543412.tif 000018
【図１４】
0003543412.tif 000019
【図１５】
0003543412.tif 000020
【図１６】
0003543412.tif 000021
【図１７】
0003543412.tif 000022