(57)【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化装置であって、
符号化対象画像を直交変換し、量子化処理して符号化する符号化手段と、
前記符号化された画像を逆量子化し、逆直交変換して復号する復号手段と、
前記符号化対象画像と、該符号化対象画像の直前の画像との動きベクトルであるグローバルベクトルを演算し、該画像間の相関度を表すグローバルベクトル信頼度を求めるグローバルベクトル演算手段と、
前記符号化対象画像と、該符号化対象画像の前記符号化手段による符号化結果を前記復号手段が復号した復号結果とを用いてＳＮ比を算出するＳＮ比算出手段と、
目標とするＳＮ比の値を示す目標ＳＮ比を設定する設定手段と、
設定された前記目標ＳＮ比と前記算出されたＳＮ比との差分、及び、前記符号化対象画像のグローバルベクトル信頼度と前記直前の画像のグローバルベクトル信頼度との比に基づいて前記符号化手段から出力される符号化データのビットレートを調整するレート制御手段と、
を備えることを特徴とする画像符号化装置。
【請求項２】
前記レート制御手段は、
前記算出されたＳＮ比が前記目標ＳＮ比よりも大きい場合に、前記算出されたＳＮ比と前記目標ＳＮ比との差分を第１の閾値と比較し、該差分が該第１の閾値より大きい場合は、前記ビットレートを下げ、
前記算出されたＳＮ比が前記目標ＳＮ比より大きくない場合に、前記目標ＳＮ比と前記算出されたＳＮ比との差分を第２の閾値と比較し、該差分が該第２の閾値より大きい場合は、前記ビットレートを上げる
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記レート制御手段は、
前記符号化対象画像のグローバルベクトル信頼度と前記直前の画像のグローバルベクトル信頼度との比を第３の閾値と比較し、該比が前記第３の閾値より大きい場合に、前記ビットレートを上げる
ことを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
画像データを符号化する画像符号化装置の制御方法であって、
符号化手段が、符号化対象画像を直交変換し、量子化処理して符号化する符号化工程と、
復号手段が、前記符号化された画像を逆量子化し、逆直交変換して復号する復号工程と、
グローバルベクトル演算手段が、前記符号化対象画像と、該符号化対象画像の直前の画像との動きベクトルであるグローバルベクトルを演算し、該画像間の相関度を表すグローバルベクトル信頼度を求めるグローバルベクトル演算工程と、
ＳＮ比算出手段が、前記符号化対象画像と、該符号化対象画像の前記符号化工程における符号化結果を前記復号工程において復号した復号結果とを用いてＳＮ比を算出するＳＮ比算出工程と、
設定手段が、目標とするＳＮ比の値を示す目標ＳＮ比を設定する設定工程と、
設定された前記目標ＳＮ比と前記算出されたＳＮ比との差分、及び、前記符号化対象画像のグローバルベクトル信頼度と前記直前の画像のグローバルベクトル信頼度との比に基づいて、レート制御手段が、前記符号化工程において出力される符号化データのビットレートを調整するレート制御工程と、
を備えることを特徴とする画像符号化装置の制御方法。
【請求項５】
コンピュータを請求項１乃至３のいずれか１項に記載の画像符号化装置として機能させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置及びその制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年のマルティメディアの発展に伴い様々な動画像圧縮符号化方式が提案されている。その代表的なものに、ＭＰＥＧ−１，２，４やＨ．２６４といったものがある。これらの圧縮符号化の処理は、動画像に含まれる原画像（画像）をブロックと呼ばれる所定の領域に分割し、この分割したブロックを単位にして動き補償予測やＤＣＴ変換処理を施すものである。また、動き補償予測を行う場合、既に符号化済みの画像データを局所復号化して得られた画像を参照画像としていることで、符号化を行う際にも復号化処理が必要となる。
【０００３】
また、ＭＰＥＧ方式に準拠して画像の圧縮、符号化を行う場合、その符号量は、画像自体の特性である空間周波数特性やシーン及び量子化スケール値に応じて大きく異なる場合が多い。このような符号化特性を有する画像符号化装置を実現する上で良好な画質の復号画像を得ることができるようにするための重要な技術が符号量制御である。
【０００４】
この符号量制御アルゴリズムの１つとして、ＴＭ５（Test Model 5）が一般的に使用されている。このＴＭ５による符号量制御アルゴリズムは、以下に説明する３つのステップから構成され、ＧＯＰ（Group Of Picture）毎にビットレートが一定になるように以下に挙げる３ステップで符号量が制御される。
【０００５】
（ＳＴＥＰ１）
今から符号化を行うピクチャの目標符号量を決定する。現在のＧＯＰにおいて利用可能な符号量であるＲgopが以下の（１）式により演算される。
Ｒgop = (ni+np+nb)*(bits_rate/picture_rate)   ・・・（１）
ここで、ni,np,nbはそれぞれI、P、Bピクチャの現GOPにおける残りのピクチャ数であり、bits_rateは目標ビットレート、picture_rateはピクチャレートを表す。
【０００６】
更に、I、P、Bピクチャ毎に符号化結果からピクチャの複雑度を以下の（２）式で求めている。
Ｘi  =  Ｒi*Ｑi 
Ｘp  =  Ｒp*Ｑp    ・・・（２）
Ｘb  =  Ｒb*Ｑb   
ここで、Ｘi、Ｘｐ、Ｘｂはコンプレキシティ（Complexity）とも呼ばれる。また、Ｒi、Ｒp及びＲbはそれぞれＩ、Ｐ、Ｂピクチャを符号化した結果得られる符号量である。さらに、Ｑi、Ｑp及びＱbはそれぞれI、P、Bピクチャ内のすべてのマクロブロックにおけるＱスケールの平均値である。式(1)及び式(2)から、I、P、Bピクチャそれぞれについての目標符号量Ｔi、Ｔp及びＴbは、以下の（３）式で求めることができる。
Ｔi= max{(Ｒgop/(1+ ((Ｎp*Ｘp)/(Ｘi*Ｋp)) + ((Ｎb*Ｘb)/(Ｘi*Ｋb)))) , (bit_rat
e/(8*picture_rate))}
Ｔp=max{(Ｒgop/(Ｎp+ (Ｎb*Ｋp*Ｘb)/(Ｋb*Ｘp))) , (bit_rate/(8*picture_rate))}
Ｔb=max{(Ｒgop/(Ｎb+ (Ｎp*Ｋb*Ｘp)/(Ｋp*Ｘb))) , (bit_rate/(8*picture_rate))}
・・・（３）
ただし、Ｎp及びＮbは現GOP内のそれぞれP及びBピクチャの残りの枚数、また定数Ｋp=1.0及びＫb=1.4である。
【０００７】
（ＳＴＥＰ２）
I、P及びBピクチャ毎に３つの仮想バッファを使用し、式（３）で求めた目標符号量と発生符号量との差分を管理する。仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて実際の発生符号量が目標符号量に近づくように、次にエンコードするマクロブロックについて、Ｑスケールの参照値が設定される。例えば、現在のピクチャタイプがPピクチャの場合には、目標符号量と発生符号量との差分は、次の（４）式に従う演算処理により求めることができる。
ｄp,j = ｄp,0  +  Ｂp,j-1  −((Ｔp*(j-1))/ＭＢ_cnt) ・・・（４）
ここで、添字jはピクチャ内のマクロブロックの番号である。ｄp,0は仮想バッファの初期フルネスを示し、Ｂp，jはj番目のマクロブロックまでの総符号量、ＭＢ_cntはピクチャ内のマクロブロック数を示す。Ｂp，jはj番目のマクロブロックまでの総符号量、ＭＢ_cntはピクチャ内のマクロブロック数を示す。
【０００８】
次にdp,j(以後、「dj」と記載する。) を用いて、j番目のマクロブロックにおけるＱスケールの参照値を求めると、（５）式のようになる。
Ｑj  = (dj*31) / r       ・・・（５）
ここで、r = 2*bits_rate/picture_rate       ・・・（６）
である。
【０００９】
（ＳＴＥＰ３）
視覚特性、即ち、復号画像の画質が良好になるように、エンコード対象のマクロブロックの空間アクティビティに基づいて、量子化スケールを最終的に決定する処理を実行する。
ACTj =  1+ min(vblk1, vblk2,……,vblk8)    ・・・（７）
（７）式中において、vblk1〜vblk4はフレーム構造のマクロブロックにおける8ｘ8のサブブロックにおける空間アクティビティを示す。また、vblk5〜vblk8はフィールド構造のマクロブロックにおける8x8サブブロックの空間アクティビティを示す。ここで、空間アクティビチィの演算は次の（８）、（９）式により求めることが可能である。
vblk = Σ(Ｐi−Ｐbar)2      ・・・（８）
Pbar = (1/64 )* ΣＰi                  ・・・（９）
ここで、Ｐiはｉ番目のマクロブロックにおける画素値であり、式（８）、（９）中のΣはi=1〜64の演算である。次に（７）式で求めたACTjを以下の（１０）式によって正規化を行う。
【００１０】
N_ACTj = (2*ACTj +AVG_ACT)/ (ACTj + AVG_ACT)      ・・・（１０）
ここで、AVG_ACTは以前に符号化したピクチャにおけるACTjの参照値であり、最終的に量子化スケール（Ｑスケール値）MQUANTjは以下の（１１）式により求められる。
【００１１】
MQUANTj  =  Qj *  N_ACTj              ・・・（１１）
以上のＴＭ５のアルゴリズムによれば、ＳＴＥＰ１の処理によりＩピクチャに対して多くの符号量を割り当ており、更にピクチャ内においては視覚的に劣化の目立ちやすい平坦部(空間アクティビティが低い)に符号量が多く配分されるようになる。
【００１２】
このようなＴＭ５方式を応用した符号化方式として、画像信号と局所復号画像のＳＮ比がある一定の値となるように目標符号量を決定する方式が提案されている（特許文献１を参照）。この提案手法では、ＳＮ比を一定に保つような目標符号量を設定することですべてのピクチャに対する画質を安定させる効果がある。
【００１３】
また、上記提案方式の改良方式として、Ｉピクチャ，Ｐピクチャ，Ｂピクチャ各ピクチャの符号量を最適な値に設定する方式が提案されている（特許文献２を参照）。この改良方式では、ＩピクチャのＳＮ比がＢピクチャのＳＮ比より大きくなるように、各フレーム（Ｉピクチャ・Ｐピクチャ・Ｂピクチャ）の符号量が配分制御される。つまり、Ｉピクチャの符号化誤差がＢピクチャの符号化誤差より小さくなるように各フレーム（Ｉピクチャ・Ｐピクチャ・Ｂピクチャ）の符号量を制御することで、ＧＯＰの原点となるＩピクチャの画質を向上させる効果がある。
【００１４】
さらには、画面間差分を用いた符号化方式も提案されている（特許文献３を参照）。提案方式では、現画像全体と参照画像全体との動きベクトルであるグローバルベクトル（ＧＶ）を求め、ＧＶの信頼性に応じて決定した探索領域内で現画像のマクロブロックを探索し、動きベクトルを検出している。この手法では、画面間の相関度を信頼度ＧＲＶとして求め、この信頼度ＧＲＶの数値により動き探索時のサーチウィンドウの位置を決定している。
【特許文献１】特開平０２−２１９３８８号公報
【特許文献２】特開平０８−０７０４５８号公報
【特許文献３】特開２００５−３５４５２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、特許文献１、特許文献２に係る提案方式では、以下のような課題が存在する。
【００１６】
まず、特許文献１に係る提案方式では各ピクチャでのＳＮ比を一定に保つことで、一定の画質を保つことは可能であり、特許文献２に係る提案方式でも、ＳＮ比と各ピクチャの符号配分を考慮することで同様に一定の画質を保つことは可能である。
【００１７】
しかし、これらの手法では、ＳＮ比を目標符号量決定の判断情報としているため、符号化前の画像ではなく、符号化後の画像で符号量を決定していることになる。よって、例えば、カメラのパン等により高周波成分の少ない画像であったのがカメラが静止して高周波成分が大幅に増加した画像や、画面に何かが入り込んでくるような画像では、急激な変化が起こっている。この場合、符号化によってＳＮ比が大幅に低下しブロックノイズ等のノイズが発生しやすい。従って、ＳＮ比を一定とし目標符号量を決定しようとしても、ノイズを発生させない最適な符号量を決定することは困難である。
【００１８】
このように、提案方式では、画像が変化した場合に、ノイズを発生させない最適な符号量を設定し、良好な画質の復号画像を得ることが困難である。そこで、本発明は、画像が変化した場合に、ノイズを発生させない最適な符号量を設定し、良好な画質の復号画像を得ることを可能とすることを目的とする。
【課題を解決するための手段】
【００１９】
上記課題を解決するための本発明は、符号化対象画像を符号化する画像符号化装置であって、
符号化対象画像を直交変換し、量子化処理して符号化する符号化手段と、
前記符号化された画像を逆量子化し、逆直交変換して復号する復号手段と、
前記符号化対象画像と、該符号化対象画像の直前の画像との動きベクトルであるグローバルベクトルを演算し、該画像間の相関度を表すグローバルベクトル信頼度を求めるグローバルベクトル演算手段と、
前記符号化対象画像と、該符号化対象画像の前記符号化手段による符号化結果を前記復号手段が復号した復号結果とを用いてＳＮ比を算出するＳＮ比算出手段と、
目標とするＳＮ比の値を示す目標ＳＮ比を設定する設定手段と、
設定された前記目標ＳＮ比と前記算出されたＳＮ比との差分、及び、前記符号化対象画像のグローバルベクトル信頼度と前記直前の画像のグローバルベクトル信頼度との比に基づいて前記符号化手段から出力される符号化データのビットレートを調整するレート制御手段と、
を備えることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、画像の変化に応じてビットレート上昇させるようにして、画像が変化してもノイズを発生させない最適な符号量の設定が行うことができ、良好な画質の復号画像を得ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、添付の図面の図１乃至図４を参照して、発明の実施形態を説明する。図１は、発明の実施形態に対応する符号化方法を実現する画像符号化装置の構成例を示す図である。符号化方式として、具体的にはＭＰＥＧ（Moving Pictures of Experts Group）やH.264/AVC（Advanced  Video  Coding）に対応する。よって、該画像符号化装置は、例えばディジタルビデオカメラのような映像音声信号記録装置として実現できる。図２は、画像並び替えの一例を示す図である。図３は、図１の画像符号化装置の点線１２０で囲まれた各処理部により実行される処理の一例を示すフローチャートである。また、図４は、発明の実施形態に対応するレート制御処理の一例を示すフローチャートである。
【００２２】
まず、図１において、入力信号１０１は本画像符号化装置への入力信号であり、画像符号化装置が備える撮像素子（ＣＣＤやＣＭＯＳ等）、或いは、ライン入力端子からの映像信号がこれに該当する。また、入力信号１０１は、所定のブロックに分割された状態で入力される。該ブロックは、例えばＭＰＥＧでは１６×１６、８×８を始めとしたブロックであり、符号化方式に応じてサイズが決まる。なお、本明細書では当該ブロックのことを「マクロブロック」と呼んでいる。
【００２３】
画像並べ替え部１０２は、入力される画像の順序を入れ替えて後段の処理部に出力する処理部である。画像並べ替え部１０２は、内部にメモリを備え、図２に示すような＃１，＃２，＃３，・・・の順で入力される画像を、＃３，＃１，＃２，・・・の順で出力されるように、該メモリを管理する。
【００２４】
スイッチ１０３は、符号化対象画像のピクチャタイプに応じて、画像並べ替え部１０２からの出力と減算器１１４からの出力とを切り替えるスイッチである。ＤＣＴ部１０４は、直交変換（ＤＣＴ）を行う処理部である。量子化部１０５は、ＤＣＴ部１０４から出力された直交変換出力係数を量子化処理する処理部である。可変長符号化部１０６は、量子化部１０５から出力された量子化結果に可変長符号化処理を施す処理部である。
【００２５】
バッファ１０７は、可変長符号化部１０６から出力された符号化データを一時保存するバッファであって、出力端子１１８とレート制御部１１６に該符号化データを出力する。逆量子化部１０８は、量子化部１０５における量子化結果に逆量子化処理を施す処理部である。ＩＤＣＴ部１０９は、逆量子化処理結果に対して逆直交変換（ＩＤＣＴ）を施す処理部である。加算器１１０は、逆直交変換により復号結果として得られた復号データと、動き補償予測部１１２から出力される予測画像データとを加算して、ローカルデコード画像を出力する演算部である。
【００２６】
スイッチ１１１は、符号化対象画像のピクチャタイプに応じて、動き補償予測部１１２からの予測画像データを加算器１１０に供給するためのスイッチである。動き補償予測部１１２は、画像並べ替え部１０２からの出力と、加算器１１０からの出力とに基づき、動き補償予測を行って予測画像データを生成する処理部である。ＳＮ比算出部１１３は、加算器１１０から出力と、画像並べ替え部１０２からの出力とを利用して、ＳＮ比を算出する処理部である。
【００２７】
減算器１１４は、画像並べ替え部１０２からの出力と、動き補償予測部１１２からの予測画像データとの間で減算処理を行う演算部である。グローバルベクトル演算部１１５は、入力信号１０１に基づきグローバルベクトルを演算する処理部である。レート制御部１１６は、符号化するＧＯＰの目標ビットレートならびに、ピクチャの目標符号量を決定する処理部である。量子化制御部１１７は、レート制御部１１６で決定されたピクチャの目標符号量を元に、マクロブロックの量子化係数を決定する処理部である。出力端子１１８は、バッファ１０７に一時保存されている符号化データを出力する出力端子である。
【００２８】
なお、点線領域１２０は、スイッチ１０３、ＤＣＴ部１０４、量子化部１０５、逆量子化部１０８、ＩＤＣＴ部１０９、加算器１１０、スイッチ１１１、動き補償予測部１１２、ＳＮ比算出部１１３、減算器１１４を含む。
次に、図３を参照して、図１の点線領域１２０内の各ブロックによる動作を説明する。
【００２９】
まず、ステップＳ３０１において、ピクチャタイプの判定を行い、ピクチャタイプがＩピクチャの場合（ステップＳ３０１において「ＹＥＳ」）、ステップＳ３０２に進み、スイッチ１０３をＡ側とし、スイッチ１１１をＯＦＦとする。その後、ステップＳ３０５に移行する。
【００３０】
一方、ピクチャタイプがＩピクチャ以外のＢピクチャ又はＰピクチャの場合（ステップＳ３０１において「ＮＯ」）、ステップＳ３０３に進み、スイッチ１０３をＢ側とし、スイッチ１１１をＯＮとする。続くステップＳ３０４では、動き補償予測部１１２で動き探索を行って予測画像データを生成し、該予測画像データと入力画像との減算処理を減算器１１４にて行って差分値信号を生成する。
【００３１】
次に、ステップＳ３０５では、入力信号のマクロブロック単位にＤＣＴ部１０４で直交変換を行い、量子化制御部１１７で決定された量子化スケールを用いて量子化部１０５にて直交変換出力係数の量子化を行って、符号化データを生成する。ここで、量子化パラメータである量子化スケールは、ＴＭ５のＳＴＥＰ２に相当する処理を行うことで算出できるので、ここでの説明は省略する。
【００３２】
続くステップＳ３０６では、ステップＳ３０５において生成された量子化データに逆量子化部１０８、ＩＤＣＴ部１０９により逆変換を施して復号結果としての復号データを生成する。Ｉピクチャの場合、この逆変換によりローカルデコード画像を得ることができる。
【００３３】
続くステップＳ３０７では、ステップＳ３０１同様にピクチャタイプの判定を行う。ピクチャタイプがＩピクチャの場合は（ステップＳ３０７において「ＹＥＳ」）、ステップＳ３１０へ移行する。一方、ピクチャタイプがＩピクチャ以外のＢピクチャ又はＰピクチャの場合は（ステップＳ３０７において「ＮＯ」）、ステップＳ３０８に移行する。ステップＳ３０８では、減算器１１４にて減算した予測画像データと、逆変換により得られた復号データとの加算処理を加算器１１０にて行って、Ｐピクチャ又はＢピクチャのローカルデコード画像を生成する。
【００３４】
次に、ステップＳ３０９では、ピクチャタイプがＰピクチャか否かを判定する。もし、Ｐピクチャの場合は（ステップＳ３０９において「ＹＥＳ」）、ステップＳ３１０へ移行する。一方、Ｂピクチャの場合は（ステップＳ３０９において「ＮＯ」）、ステップＳ３１１へ移行する。
【００３５】
続くステップＳ３１０では、生成したローカルデコード画像を参照画像とするために、動き補償予測部１１２に記憶する。更にステップＳ３１１では、ＳＮ比算出部１１３にて、入力画像とローカルデコード画像とのＳＮ比を算出する。次に、ステップＳ３１２に進み、全てのピクチャについて符号化処理が完了したか否かを判定する。完了した場合は（ステップＳ３１２において「ＹＥＳ」）、本処理を終了する。一方、まだ符号化すべきピクチャがある場合は（ステップＳ３１２において「ＹＥＳ」）、ステップＳ３０１に戻って処理を続ける。
【００３６】
図１に戻り、点線領域１２０以外の処理ブロックの動作を説明する。量子化部１０５より出力されたデータは、可変長符号化部１０６に入力され、可変長符号化が行われる。可変長符号化されたデータは、バッファ１０７に入力され、出力端子１１８より出力される。また、バッファ１０７から、符号化されたピクチャの発生符号量や量子化係数等の情報およびＳＮ比算出部１１３で算出したＳＮ比がレート制御部１１６に入力される。
【００３７】
また、グローバルベクトル演算部１１５は、グローバルベクトル信頼度ＧＲＶを算出し、レート制御部１１６に出力する。グローバルベクトル演算部１１５におけるグローバルベクトル信頼度ＧＲＶの算出方法について、以下に概略を説明する。
【００３８】
まず、グローバルベクトルとは、動画再生時の表示順で入力されるピクチャ間（符号化対象画像とその直前画像との間）の空間的な位置の差（即ち、ピクチャ間のずれ量）(i,j)を示すベクトルである。すなわち、グローバルベクトルは、ピクチャ間、或いはピクチャよりも小さい広域エリア（スライス等）間の全体的な動きを表わすパラメータである。最大相関度を有するグローバルベクトルを推定するためには、次のようなＭＳＥ(Mean Square Error)(数１)、ＭＡＥ(Mean Absolute Error)（数２）などの評価関数が用いられる。あるいはＭＡＤ(Mean Absolute Difference)を用いてもよい。
0004857243.tif 000002
0004857243.tif 000003
ここで、Ｓcur（ｍ，ｎ）は現在のピクチャでの（ｍ，ｎ）番目の画素値、Ｓref（ｍ，ｎ）は参照ピクチャでの（ｍ，ｎ）番目の画素値を示す。（ｉ，ｊ）は参照ピクチャに対する現在のピクチャの空間的な位置をそれぞれ示している。本実施形態では、参照ピクチャを現ピクチャの１つ前のピクチャとする。
【００３９】
ただし、Ｍ，Ｎを１ピクチャでの水平及び垂直画素数とすると、ｍ＝ｋ×ｑ，ｎ＝ｌ×ｒであり、ｋ，ｌは０≦ｍ≦Ｍ、１≦ｋ≦Ｍ，０≦ｎ≦Ｎ，１≦ｌ≦Ｎを満たす自然数である。また、Ｑ，ＲはＭ−ｋ≦Ｑ≦Ｍ，Ｎ−ｌ≦Ｒ≦Ｎを満たす。
【００４０】
この評価関数は画素値の差に基づいたものであり、最も小さいＭＡＥ値やＭＳＥ値となるベクトルをグローバルベクトルとして決定する。ＭＡＥ値を例にした場合、参照ピクチャを所定の方向に１画素ずつずらしていき、画素の移動距離ごとにＭＡＥ値の総和の平均をとる。そして平均ＭＡＥ値が最小となるときの移動量がグローバルベクトルの選定基準となる。この処理を、例えば所定の方向と直交する他の方向についても行い、この方向で平均ＭＡＥ値が最小となる移動量が求まれば、２つの移動量とその移動方向からグローバルベクトルを決定することができる。
【００４１】
また、この時に求まる最小のＭＡＥ値やＭＳＥ値をグローバルベクトル信頼度ＧＲＶ(Global vector Reliable Value)とする。
【００４２】
このようにして、グローバルベクトル演算部１１５は、画像間の相関度を表す
グローバルベクトル信頼度ＧＲＶを算出し、レート制御部１１６に出力する。
【００４３】
レート制御部１１６では、入力された上記各々の情報を元にノイズを発生させないようにビットレートを決定する処理を行う。レート制御部１１６における処理の詳細を、図４のフローチャートを参照して以下に説明する。図４は、レート制御部１１６における、ビットレートを決定するための処理の一例を示すフローチャートである。
【００４４】
まず、ステップＳ４０１において目標ＳＮ比（Tsnr）を設定し、さらにグローバルベクトル演算部１１５より入力されたグローバルベクトル信頼度（GRV(n)）を設定する。ここで、「n」はピクチャナンバーを表す任意の数であって、ここでは処理対象の現画像のピクチャナンバーに対応する値が設定される。
【００４５】
次に、ステップＳ４０２では、１ＧＯＰの平均ＳＮ比（Asnr）を算出する。この平均ＳＮ比（Asnr）は、例えば、ＳＮ比算出部１１３で求められた１ＧＯＰ分のＳＮ比の平均として計算することができる。また、各ピクチャタイプについてＳＮ比算出部１１３で求められたＳＮ比に基づいて、該ＳＮ比の平均により１ＧＯＰの平均ＳＮ比（Asnr）を予測することもできる。なお、平均ＳＮ比の算出方法自体は、発明の本質的特徴ではなく、従って上述した２通りの方法に算出方法が限定されるものではない。よって、１ＧＯＰの平均ＳＮ比を求める方法として利用可能な他の方法があれば、それを利用することもできる。
【００４６】
続くステップＳ４０３では、目標ＳＮ比（Tsnr）と、平均ＳＮ比（Asnr）との大きさを比較する。もし、目標ＳＮ比（Tsnr）よりも平均ＳＮ比（Asnr）の方が大きい場合（ステップＳ４０３において「ＹＥＳ」）は、ステップＳ４０４へ移行する。一方、目標ＳＮ比（Tsnr）が平均ＳＮ比（Asnr）以上の場合は（ステップＳ４０３において「ＮＯ」）、ステップＳ４０５へ移行する。
【００４７】
ステップＳ４０４では、平均ＳＮ比（Asnr）が目標ＳＮ比(Tsnr)を第１の閾値Ｔｈ１より上回っているか否かを更に判定する。もし、平均ＳＮ比(Asnr)が目標ＳＮ比(Tsnr)を第１の閾値Ｔｈ１より上回っている場合は（ステップＳ４０４において「ＹＥＳ」）、ステップＳ４０６に移行する。一方、平均ＳＮ比(Asnr)が目標ＳＮ比(Tsnr)を第１の閾値Ｔｈ１より上回っていない場合は（ステップＳ４０４において「ＮＯ」）、ステップＳ４０８に移行する。
【００４８】
ステップＳ４０６では、現在のレート（Rate）から（Asnr−Tsnr）×αを減算し、新レート（Rate-）を算出し、ステップＳ４０８へ移行する。ここで、αは、ＶＢＲ（可変ビットレート）において平均ビットレートより算出される任意の係数である。平均ＳＮ比（Asnr）が目標ＳＮ比(Tsnr)を大きく上回っている場合は、符号量の与え過ぎであってレートを下げても目標ＳＮ比を上回る。そこで、ステップＳ４０６では、レートを下げる処理を行っている。
【００４９】
例えば、数値としてAsnr = 45.0dB, Tsnr = 40.0dB, Th1 = 2, Rate = 7000000bps, α=200000とした場合を考える。この場合、平均ＳＮ比（Asnr）は目標ＳＮ比(Tsnr)を、５dB上回っており、この量は第１の閾値Ｔｈ１よりも大きい。そこで、上記の演算によりレートを下げる処理を行って、新レート（Rate-）を6000000bpsとする。
【００５０】
次に、ステップＳ４０５以降の処理を説明する。ステップＳ４０５では、目標ＳＮ比(Tsnr)が平均ＳＮ比(Asnr)を第２の閾値Ｔｈ２より上回っているか否かを更に判定する。もし、目標ＳＮ比(Tsnr)が平均ＳＮ比(Asnr)を第２の閾値Ｔｈ２より上回っている場合は（ステップＳ４０５において「ＹＥＳ」）、ステップＳ４０７に移行する。一方、目標ＳＮ比(Tsnr)が平均ＳＮ比(Asnr)を第２の閾値Ｔｈ２より上回っていない場合は（ステップＳ４０５において「ＮＯ」）、ステップＳ４０８に移行する。
【００５１】
ステップＳ４０７では、現在のレート（Rate）に（Tsnr−Asnr）×βを加算し、新レート（Rate+）を算出し、ステップＳ４０８へ移行する。ここで、βは、ＶＢＲ（可変ビットレート）において平均ビットレートより算出される任意の係数である。目標ＳＮ比(Tsnr)が平均ＳＮ比（Asnr）を大きく上回っている場合は、符号量の不足であってレートを上げないと目標ＳＮ比を上回ることができない。そこで、ステップＳ４０７では、レートを上げる処理を行っている。
【００５２】
例えば、数値としてAsnr = 35.0dB, Tsnr = 40.0dB, Th1 = 2, Rate = 7000000bps, β=200000とした場合を考える。この場合、目標ＳＮ比(Tsnr)は平均ＳＮ比（Asnr）を、５dB上回っており、この量は第２の閾値Ｔｈ２よりも大きい。そこで、上記の演算によりレートを上げる処理を行って、新レート（Rate+）を8000000bpsとする。
【００５３】
次に、ステップＳ４０８では、処理対象の現ピクチャのグローバルベクトル信頼度ＧＲＶ（ｎ）と１つ前のピクチャのグローバルベクトル信頼度ＧＲＶ（ｎ−１）とから、変化率ＲＧＲＶを算出する。ここで変化率ＲＧＲＶは、ＲＧＲＶ＝ＧＲＶ（ｎ）／ＧＲＶ（ｎ−１）で求めることができる。
【００５４】
次にステップＳ４０９では、変化率ＲＧＲＶ(Ratio GRV)が第３の閾値ＴｈＲより大きいか否かを判定する。もし、変化率ＲＧＲＶが第３の閾値ＴｈＲより大きい場合（ステップＳ４０９におて「ＹＥＳ」）、ステップＳ４１０へ移行する。一方、変化率ＲＧＲＶが第３の閾値ＴｈＲより大きくない場合（ステップＳ４０９において「ＮＯ」）、そのまま本処理を終了する。
【００５５】
ステップＳ４１０では、現在のレート(Rate)に(RGRV−1)*γ*Rate を加算する演算を行って、レートを上昇させた新レート（Rate+）を算出し、処理を終了する。なお、第３の閾値ＴｈＲは、１以上の数であり、γはＶＢＲにおいて平均ビットレートより算出される任意の係数である。
【００５６】
上記のように、変化率ＲＧＲＶが第３の閾値ＴｈＲより大きいとき、画面間の相関が下がっている。グローバルベクトル信頼度は画面間の相関を示すものであり、この信頼度が前ピクチャより大きくなること、すなわち変化率ＲＧＲＶが１以上であることは、画面間の相関が減少し、画面間差分が大きくなることを意味する。したがって、符号量を増加させなければ、画質が下がってしまう。このため、変化量に応じた符号量の増加が必要となる。
【００５７】
例えば、数値としてThR=1.1, γ=1, Rate = 6000000bps であり、RGVR=1.2であった場合、新レートは、7200000bpsとなる。
【００５８】
上記によりビットレートが算出され、それを前述のＴＭ５のＳＴＥＰ１より目標符号量を算出できる。その目標符号量は量子化制御部１１７に入力され、ＴＭ５のＳＴＥＰ２およびＳＴＥＰ３を行うことで、量子化部１０５の制御を行う。
【００５９】
なお、上述したレート算出式は、あくまで一例であって、レートの増減方法は上記の式に限定されるものではない。上記では、ＳＮ比とグローバルベクトル信頼度の両方を用いる場合を説明したが、いずれか一方のみを用いても良い。また、平均ＳＮ比（Asnr）や目標ＳＮ比(Tsnr)、或いはグローバルベクトル信頼度ＧＲＶや変化率ＲＧＲＶを用いて、他の演算式によりレートを制御することができる。
【００６０】
以上の処理を行うことで、フレーム間で大きな変化が発生した場合やＳＮ比の低い画像が存在する場合でも、符号化前にその状態を検出し目標符号量を調整して、符号化結果における画質の向上を図ることができる。従って、パン等で高周波成分の少なかった画像が、カメラの静止により高周波成分が大幅に増加した画像や、画面に突然物体が入り込んでくるような画像であっても、目標符号量を調整して、高品位な符号化処理を行うことができる。
【００６１】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６２】
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００６３】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００６４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【００６５】
【図１】発明の実施形態に対応する符号化方法を実現する画像符号化装置の構成例を示す図である。
【図２】発明の実施形態に対応する、画像並び替えの一例を示す図である。
【図３】発明の実施形態に対応する、図１の画像符号化装置の点線１２０で囲まれた各処理部により実行される処理の一例を示すフローチャートである。
【図４】発明の実施形態に対応するレート制御処理の一例を示すフローチャートである。
【符号の説明】
【００６６】
１０１・・・入力端子
１０２・・・画像並び替え部
１０３・・・スイッチ
１０４・・・ＤＣＴ部
１０５・・・量子化部
１０６・・・可変長符号化部
１０７・・・バッファ
１０８・・・逆量子化部
１０９・・・ＩＤＣＴ部
１１０・・・加算器
１１１・・・スイッチ
１１２・・・動き補償予測部
１１３・・・ＳＮ比算出部
１１４・・・減算器
１１５・・・グローバルベクトル演算部
１１６・・・レート制御部
１１７・・・量子化制御部
１１８・・・出力端子
【図１】
0004857243.tif 000004
【図２】
0004857243.tif 000005
【図３】
0004857243.tif 000006
【図４】
0004857243.tif 000007