(57)【特許請求の範囲】
【請求項１】
動画像符号化装置であって、
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記符号化手段における目標符号量と発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備え、
前記監視手段は、前記占有量に基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力し、
前記制御手段は、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定し、
前記監視手段は、前記占有量が前記バッファ手段の容量に対して所定の割合を有する場合に、前記量子化パラメータの前記差分の変化に対する感度を低下させるために、前記反応パラメータを第１の反応パラメータに指定する前記制御信号を、前記制御手段に出力することを特徴とする動画像符号化装置。
【請求項２】
動画像符号化装置であって、
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記符号化手段における目標符号量と発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備え、
前記監視手段は、前記占有量に基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力し、
前記制御手段は、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定し、
前記監視手段は、前記占有量が第１の閾値以下の値を有する場合に、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を、前記制御手段に出力することを特徴とする動画像符号化装置。
【請求項３】
動画像符号化装置であって、
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記占有量に基づき前記符号化手段において生成される前記符号化データの目標符号量を生成する目標符号量生成手段と、
前記目標符号量と前記符号化手段における発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備え、
前記目標符号量生成手段は、前記占有量と前記目標符号量との少なくともいずれかに基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力し、
前記制御手段は、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定し、
前記目標符号量生成手段は、前記目標符号量と第２の閾値とを比較し、
前記目標符号量が前記第２の閾値以下の場合には、前記量子化パラメータの前記差分の変化に対する感度を低下させるために、前記反応パラメータを第１の反応パラメータに指定する前記制御信号を前記制御手段に出力し、
前記目標符号量が前記第２の閾値より大きい場合には、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を前記制御手段に出力する
ことを特徴とする動画像符号化装置。
【請求項４】
動画像符号化装置であって、
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記占有量に基づき前記符号化手段において生成される前記符号化データの目標符号量を生成する目標符号量生成手段と、
前記目標符号量と前記符号化手段における発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備え、
前記目標符号量生成手段は、前記占有量と前記目標符号量との少なくともいずれかに基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力し、
前記制御手段は、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定し、
前記目標符号量生成手段は、前記占有量と前記目標符号量とに基づき、前記符号化手段における発生符号量が前記目標符号量を上回った場合に、前記バッファ手段がアンダーフローする可能性があるか否かを判定し、
前記アンダーフローの可能性があると判定した場合には、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を前記制御手段に出力する
ことを特徴とする動画像符号化装置。
【請求項５】
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記符号化手段における目標符号量と発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備える動画像符号化装置の制御方法であって、
前記監視手段が、前記占有量に基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力する出力工程と、
前記制御手段が、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定する決定工程と
を備え、
前記出力工程において、前記監視手段は、前記占有量が前記バッファ手段の容量に対して所定の割合を有する場合に、前記量子化パラメータの前記差分の変化に対する感度を低下させるために、前記反応パラメータを第１の反応パラメータに指定する前記制御信号を、前記制御手段に出力することを特徴とする動画像符号化装置の制御方法。
【請求項６】
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記符号化手段における目標符号量と発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備える動画像符号化装置の制御方法であって、
前記監視手段が、前記占有量に基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力する出力工程と、
前記制御手段が、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定する決定工程と
を備え、
前記出力工程において、前記監視手段は、前記占有量が第１の閾値以下の値を有する場合に、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を、前記制御手段に出力することを特徴とする動画像符号化装置の制御方法。
【請求項７】
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記占有量に基づき前記符号化手段において生成される前記符号化データの目標符号量を生成する目標符号量生成手段と、
前記目標符号量と前記符号化手段における発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備える動画像符号化装置の制御方法であって、
前記目標符号量生成手段が、前記占有量と前記目標符号量との少なくともいずれかに基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力する出力工程と、
前記制御手段が、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定する決定工程と
を備え、
前記出力工程において、前記目標符号量生成手段は、前記目標符号量と第２の閾値とを比較し、
前記目標符号量が前記第２の閾値以下の場合には、前記量子化パラメータの前記差分の変化に対する感度を低下させるために、前記反応パラメータを第１の反応パラメータに指定する前記制御信号を前記制御手段に出力し、
前記目標符号量が前記第２の閾値より大きい場合には、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を前記制御手段に出力することを特徴とする動画像符号化装置の制御方法。
【請求項８】
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記占有量に基づき前記符号化手段において生成される前記符号化データの目標符号量を生成する目標符号量生成手段と、
前記目標符号量と前記符号化手段における発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備える動画像符号化装置の制御方法であって、
前記目標符号量生成手段が、前記占有量と前記目標符号量との少なくともいずれかに基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力する出力工程と、
前記制御手段が、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定する決定工程と
を備え、
前記出力工程において、前記目標符号量生成手段は、前記占有量と前記目標符号量とに基づき、前記符号化手段における発生符号量が前記目標符号量を上回った場合に、前記バッファ手段がアンダーフローする可能性があるか否かを判定し、
前記アンダーフローの可能性があると判定した場合には、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を前記制御手段に出力する
ことを特徴とする動画像符号化装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至４のいずれか１項に記載の動画像符号化装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置及びその制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、ディジタル信号処理、ＬＳＩの高集積化、高速化などの進歩により、動画像や静止画像、音声等、大量のディジタル情報を高能率符号化し、記録媒体への記録及び通信媒体による伝送を行うことが可能になってきている。このような技術を応用し、テレビ放送や、ディジタルビデオカメラの映像をストリームに変換できる動画像符号化装置の開発が行われている。
【０００３】
画像符号化の規格として近年、ＭＰＥＧやＩＴＵ−Ｔによって策定された  Ｈ．２６４等が注目されている。これらの画像符号化の処理は、原画像（画像）をブロックと呼ばれる所定の領域に分割し、この分割したブロックを単位にして動き補償予測や直交変換処理や量子化処理を施すものである。
【０００４】
Ｈ．２６４方式の圧縮手順の内容については標準規格書に詳しく開示されているので詳しい説明は省略する。また、Ｈ．２６４の圧縮手順について開示したその他の先行文献も存在する（例えば、特許文献１参照）。
【０００５】
このような動画像符号化装置で生成される符号量は、画像自体の特性である空間周波数特性やシーン及び量子化スケール値（量子化ステップ値）に応じて大きく異なる場合が多い。このような符号化特性を有する動画像符号化装置を実現する上で良好な画質の復号画像を得ることができるようにするための重要な技術が符号量制御である。
【０００６】
この符号量制御アルゴリズムの１つとして、ＴＭ５（Test Model 5）が一般的に使用されている。このＴＭ５による符号量制御アルゴリズムは、以下に説明する３つのステップから構成され、ＧＯＰ（Group Of Picture）毎にビットレートが一定になるように以下に挙げる３ステップで符号量が制御される。
【０００７】
[ＳＴＥＰ１]
今から符号化を行うピクチャの目標符号量を決定する。現在のＧＯＰにおいて利用可能な符号量であるＲgopが以下の（１）式により演算される。
Ｒgop = (ni+np+nb)*(bits_rate/picture_rate)   ・・・（１）
ここで、ni,np,nbはそれぞれＩ、Ｐ、Ｂピクチャの現ＧＯＰにおける残りのピクチャ数であり、bits_rateは目標ビットレート、picture_rateはピクチャレートを表す。  更に、Ｉ、Ｐ、Ｂピクチャ毎に符号化結果からピクチャの複雑度を以下の（２）式で求めている。
【０００８】
Ｘi  =  Ｒi*Ｑi 
Ｘp  =  Ｒp*Ｑp    ・・・（２）
Ｘb  =  Ｒb*Ｑb   
ここで、Ｘi、Ｘｐ、Ｘｂはコンプレキシティ（Complexity）とも呼ばれる。また、Ｒi、Ｒp及びＲbはそれぞれＩ、Ｐ、Ｂピクチャを符号化した結果得られる符号量である。さらに、Ｑi、Ｑp及びＱbはそれぞれＩ、Ｐ、Ｂピクチャ内のすべてのマクロブロックにおける量子化スケールの平均値である。式(1)及び式(2)から、Ｉ、Ｐ、Ｂピクチャそれぞれについての目標符号量Ｔi、Ｔp及びＴbは、以下の（３）式で求めることができる。
【０００９】
Ｔi= max{(Ｒgop/(1+ ((Ｎp*Ｘp)/(Ｘi*Ｋp)) + ((Ｎb*Ｘb)/(Ｘi*Ｋb)))) , (bit_rate/(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=1.0及びＫb=1.4である。
【００１０】
[ＳＴＥＰ２]
Ｉ、Ｐ及びＢピクチャ毎に３つの仮想バッファを使用し、式（３）で求めた目標符号量と発生符号量との差分を管理する。仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて実際の発生符号量が目標符号量に近づくように、次に符号化するマクロブロックについて、量子化スケール（量子化ステップ）の参照値が設定される。
【００１１】
例えば、現在のピクチャタイプがＰピクチャの場合には、目標符号量と発生符号量との差分は、次の（４）式に従う演算処理により求めることができる。
【００１２】
ｄp,j = ｄp,0  +  Ｂp,j-1  −((Ｔp*(j-1))/ＭＢ_cnt) ・・・（４）
ここで、添字jはピクチャ内のマクロブロックの番号であり、ｄp,0は仮想バッファの初期フルネスを示し、Ｂp，jはj番目のマクロブロックまでの総符号量、ＭＢ_cntはピクチャ内のマクロブロック数を示す。
【００１３】
次にdp,j(以後、「dj」と記載する。) を用いて、j番目のマクロブロックにおける量子化スケールの参照値を求めると、（５）式のようになる。
【００１４】
Ｑj  = (dj*31) / r       ・・・（５）
ここで、r = 2*bits_rate/picture_rate       ・・・（６）
である。ｒは、reaction parameter（反応パラメータ）と呼ばれる。
【００１５】
[ＳＴＥＰ３]
視覚特性、即ち、復号画像の画質が良好になるように、符号化対象のマクロブロックの空間アクティビティに基づいて、量子化スケールを最終的に決定する処理を実行する。
【００１６】
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              ・・・（１１）
以上のＴＭ５のアルゴリズムによれば、ＳＴＥＰ１の処理によりＩピクチャに対して多くの符号量を割り当ており、更にピクチャ内においては視覚的に劣化の目立ちやすい平坦部(空間アクティビティが低い)に符号量が多く配分されるようになる。
【００１８】
また、ＭＰＥＧ等の規格を用いた動画像符号化装置では、符号化された画像データを復号する画像復号化装置の持つ入力バッファの容量を破綻させないことを検証するために、画像復号化装置側の入力バッファを動画像符号化装置側から仮想的に考えた復号化保証用バッファを想定する。すなわちＭＰＥＧでは、ＶＢＶ（Video Buffering Verifier）バッファ、Ｈ．２６４ではＣＰＢ（Coded Picture Buffer）を想定する。そして、このバッファのデータ占有量が許容値をオーバーフローまたはアンダーフローすなわち破綻しないように、動画像符号化装置における符号化データの発生量を制御している。
【００１９】
図３を用いてＶＢＶバッファの説明を行う。図３は、縦軸にＶＢＶバッファの占有量を示し、横軸は、時間を示している。図３の３００がバッファの最大値を示している。一方３０１はバッファの最小値を示している。線分３０２の傾きはビットレートを示し、該線分の位置はＶＢＶバッファにおけるデータ占有量を示している。
【００２０】
また時刻ti、tb1、tb2、tpでは１ピクチャ分のデータがＶＢＶバッファから読み出されたことにより、ＶＢＶバッファのデータ占有量が減少していることを示している。時刻tiでは、Ｉピクチャが、時刻tb1及びtb2ではＢピクチャが時刻tpでは、Ｐピクチャが読み出されていることを示している。
【００２１】
バッファの占有量が最大値３００を超えた場合は、オーバーフロー、逆にバッファの占有量が最小値３０１を下回った場合はアンダーフローと呼び、これらの現象が起きたときＶＢＶバッファが破綻したことになる。
【００２２】
時刻３０３は、所定のデータ占有量の範囲を超えるデータをもったピクチャがＶＢＶバッファから読み出され、ＶＢＶバッファにアンダーフローが発生した場合を示している。上述したように目標符号量を定め、ＶＢＶバッファが破綻しないように制御しているが、ピクチャの複雑さや、動きの激しさによって実際の発生符号量が目標符号量を上回った場合にアンダーフローを起こす場合がある。アンダーフローが起きると、該ピクチャを復号するためのデータが不足するので画像を復号できないことを意味する。
【００２３】
このようにＶＢＶバッファが破綻し、復号できない状態を回避するための破綻回避策として、たとえば、ＶＢＶバッファの占有量を見て破綻する可能性がある場合には、残りのブロックを全てスキップブロックにして発生符号量を抑える方法がある。
【００２４】
この状況を図４を用いて説明する。図４の縦軸はあるピクチャの発生符号量を示している。横軸は、該ピクチャ内に含まれるマクロブロックの数を示している。４００は、該ピクチャの目標符号量を示している。
【００２５】
４０１は該ピクチャの総マクロブロック数である。即ち、全てのマクロブロックを符号化した時に、発生符号量が目標符号量４００に近づくように制御しながら動画像符号化装置は符号化を行っている。４０２は、該ピクチャに割り当てられた目標符号量をマクロブロック単位に振り分けた場合の、積算値を表している。画柄の複雑さに応じてマクロブロック毎に割り当てられる目標符号量が異なるためこのような直線にはならないが、説明を簡単にするため直線で示している。
【００２６】
４０３は、符号化がピクチャ内の最後のマクロブロックを符号化する前に発生符号量が目標符号量を大きく上回り、かつＶＢＶバッファのアンダーフロー限界値との差分が小さくなったマクロブロックを示している。このとき、ＶＢＶバッファを破綻させないように破綻回避処理が実行され、残りのマクロブロック４０４は全てスキップブロックになり符号量が抑えられ、ＶＢＶバッファのアンダーフローを防ぐことができる。
【特許文献１】特開２００６−２１７１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
しかしながら、従来の方法では、バッファが破綻する可能性がある場合でも、そうでない場合でも量子化パラメータの制御方法は同じであった。そのため、バッファが破綻する可能性がある場合には、例えばピクチャの中央部から右下端まで全てスキップブロックになるといった現象が起こることがあった。破綻は回避できるが、ピクチャの大部分がスキップブロックになり、画質が著しく劣化するという問題があった。
【００２８】
そこで本発明では、バッファが破綻する可能性があり破綻回避処理が起こりやすい場合に、ピクチャ全体の発生符号量を該ピクチャの目標符号量近傍に収めて該ピクチャの符号化を終了可能とすることを目的とする。
【課題を解決するための手段】
【００２９】
上記課題を解決するための、一つの側面に対応する本発明は、動画像符号化装置であって、
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記符号化手段における目標符号量と発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備え、
前記監視手段は、前記占有量に基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力し、
前記制御手段は、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定し、
前記監視手段は、前記占有量が前記バッファ手段の容量に対して所定の割合を有する場合に、前記量子化パラメータの前記差分の変化に対する感度を低下させるために、前記反応パラメータを第１の反応パラメータに指定する前記制御信号を、前記制御手段に出力するか、或いは、
前記監視手段は、前記占有量が第１の閾値以下の値を有する場合に、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を、前記制御手段に出力することを特徴とする。
【００３０】
上記課題を解決するための、他の側面に対応する本発明は、動画像符号化装置であって、
入力画像データを量子化パラメータに基づき量子化する量子化手段と、
前記量子化手段による量子化結果をエントロピー符号化し、符号化データを生成する符号化手段と、
前記符号化データを記憶するバッファ手段と、
前記バッファ手段の占有量を監視する監視手段と、
前記占有量に基づき前記符号化手段において生成される前記符号化データの目標符号量を生成する目標符号量生成手段と、
前記目標符号量と前記符号化手段における発生符号量との差分と、反応パラメータとに基づき前記量子化パラメータを決定して、前記量子化手段を制御する制御手段と
を備え、
前記目標符号量生成手段は、前記占有量と前記目標符号量との少なくともいずれかに基づいて、前記反応パラメータの指定を含む制御信号を前記制御手段に出力し、
前記制御手段は、前記制御信号に含まれる前記反応パラメータの指定に従い、前記量子化パラメータを決定し、
前記目標符号量生成手段は、前記目標符号量と第２の閾値とを比較し、前記目標符号量が前記第２の閾値以下の場合には、前記量子化パラメータの前記差分の変化に対する感度を低下させるために、前記反応パラメータを第１の反応パラメータに指定する前記制御信号を前記制御手段に出力し、前記目標符号量が前記第２の閾値より大きい場合には、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を前記制御手段に出力するか、或いは、
前記目標符号量生成手段は、前記占有量と前記目標符号量とに基づき、前記符号化手段における発生符号量が前記目標符号量を上回った場合に、前記バッファ手段がアンダーフローする可能性があるか否かを判定し、前記アンダーフローの可能性があると判定した場合には、前記量子化パラメータの前記差分の変化に対する感度を上昇させるために、前記反応パラメータを第２の反応パラメータに指定する前記制御信号を前記制御手段に出力することを特徴とする。
【発明の効果】
【００３１】
本発明によれば、バッファが破綻する可能性があり破綻回避処理が起こりやすい場合に、ピクチャ全体の発生符号量を該ピクチャの目標符号量近傍に収めて該ピクチャの符号化を終了させることができる。これにより、バッファを破綻させることなく、ＶＢＶバッファの破綻回避処理の実行タイミングを遅らせる、もしくはバッファの破綻回避処理の実行を抑え、画像の著しい劣化を防止することができる。
【発明を実施するための最良の形態】
【００３２】
以下、発明の実施形態を添付図面を参照して説明する。
【００３３】
［第１の実施形態］
図１は発明の第１の実施形態に対応する動画像符号化装置の概略的な構成を示す図である。動画像符号化装置１０は、量子化部１００、エントロピー符号化部１０１、バッファ部１０２、バッファ監視部１０３、量子化制御部１０４とを含む。なお、図１に示す動画像符号化装置１０の構成は、本願発明の説明のために必要な最低限の構成要素を示したものであって、動画像符号化装置１０は図１に示す以外に他の構成要素、例えば、直交変換処理を行う直交変換部等を含んで構成することができる。
【００３４】
動画像符号化装置１０において、量子化部１００は、入力画像データを量子化する。エントロピー符号化部１０１は、量子化部１００での量子化結果の画像データをエントロピー符号化する。バッファ部１０２は符号化された画像データを蓄積する。バッファ監視部１０３は、バッファ部１０２の占有量を監視する。量子化制御部１０４は、エントロピー符号化部１０１とバッファ監視部１０３からの信号を入力し、量子化パラメータを決定する。
【００３５】
量子化部１００に入力されるデータＤ１０は、例えば不図示の前段のブロックにおいて、直交変換などの処理が施されている。量子化部１００は、量子化制御部１０４から与えられる量子化スケール値（量子化ステップ値）Ｄ１７を用いて量子化を行い、量子化変換係数Ｄ１１をエントロピー符号化部１０１に出力する。
【００３６】
エントロピー符号化部１０１には、量子化部１００から入力された量子化変換係数Ｄ１１のエントロピー符号化を行う。該エントロピー符号化は例えば、ＭＰＥＧではＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）の符号化方式により行うことができる。その他、Ｈ．２６４ではＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  ＶＬＣ）やＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）などがある。
【００３７】
エントロピー符号化された符号化データＤ１２はバッファ部１０２に出力され、該バッファ部１０２に蓄積される。また、エントロピー符号化により生成された符号量Ｄ１６の情報は、該エントロピー符号化部１０１から量子化制御部１０４に出力される。該符号量Ｄ１６を主力するタイミングは、例えばマクロブロック単位でも良いし、スライス単位、ピクチャ単位でも良い。
【００３８】
バッファ部１０２は、符号化データＤ１２を蓄積する記憶装置である。バッファ監視部１０３は、バッファ部１０２の占有量を監視し、不図示の上位ブロックから与えられた閾値と比較し、占有量が閾値を超えた場合、制御信号Ｄ１５を量子化制御部１０４に出力する。
【００３９】
以下、図２を参照してバッファ監視部１０３の動作説明する。図２は、縦軸にバッファ部１０２のバッファ占有量を示している。横軸は時間を示している。点線２００は、バッファ部１０２の容量の最大値を示している。点線２０１はバッファ監視部１０３に与えられるバッファの占有量の第１の閾値を示している。
【００４０】
折れ線２０３は、バッファ占有量の値を示しており、右斜め上方向の傾きはビットレートに対応する。また、時刻ｔ22で示すようなバッファ占有量が定期的に落ち込んでいる箇所は、バッファに格納された符号化データがデコーダにより読み出されたことを示している。このデコーダによる読み出しは、所定のタイミングにより定期的に行われることとなっている。
【００４１】
時刻ｔ21は、例えば、比較的符号量が多いＩピクチャの符号化データを該バッファ部に蓄積し終えた時刻を示している。バッファ監視部１０３は、バッファ部１０２のバッファ占有量が多いか否かを判定する。このときの判定基準は、例えば、バッファ占有量が、バッファ部１０２の容量に対して所定の割合以上を有するか否かに基づくことができる。当該所定の割合としては、例えば、最大値２００の５割とすることができる。なお、ここで示す割合は、一例であって例えば６割、７割、或いはそれ以上であっても良い。当該判定基準によれば、時刻ｔ21における該バッファの占有量が多いと判定される。このように該バッファ監視部１０３が、該バッファ部の占有量が多いと判定した場合には、量子化制御部１０４に対して、制御感度を低くするための第１の制御命令を含む制御信号Ｄ１５を出力する。具体的に、後述する第１の反応パラメータｒ１の指定を含む制御信号Ｄ１５を出力する。
【００４２】
これにより、制御感度が低下し（第１の制御感度）発生符号量が増加するので、バッファからの読み出しデータ量が多くなって結果としてバッファの占有量が減少することとなる。よって、オーバーフローを防止することができる。
【００４３】
ここで、制御感度とは、発生符号量と目標符号量との差分の変化に対する量子化パラメータの感度のことをいう。即ち、制御感度が低いとは、差分の変化に対して量子化パラメータが変化しにくく、差分が小さい状態では量子化パラメータが変化しづらいことを意味する。この場合、量子化パラメータは小さいままであるので、発生符号量は増える方向に働くこととなる。一方、制御感度が高いとは、差分の変化に対して量子化パラメータが変化し易く、差分が小さい状態でも量子化パラメータが変化することを意味する。この場合、量子化パラメータが大きくなりやすいので、発生符号量は減る方向に働くこととなる。
【００４４】
次に、時刻ｔ23は、あるピクチャ全ての符号化データが該バッファに蓄積された時刻である。その時刻ｔ23の時に、該バッファの占有量が該第１の閾値以下の値となっている。バッファの占有量が下がってきていると言うことは、次に符号化するピクチャの発生符号量が大きかった場合（例えば、Ｉピクチャの場合）に、符号化データの蓄積が読み出しのタイミングに間に合わなければ、アンダーフローが発生することとなる。そこで、バッファ監視部１０３はバッファ部１０２の占有量が該閾値以下になった場合は、アンダーフローする可能性があると認識し、量子化制御部１０４に対して、制御感度を上昇させるための第２の制御命令を含む制御信号Ｄ１５を出力する。具体的に、後述する第２の反応パラメータｒ２の指定を含む制御信号Ｄ１５を出力する。
【００４５】
これにより、制御感度が高まり（第２の制御感度）発生符号量が減少するので、符号化データ読み出しのタイミングでは、読み出すべき符号化データがバッファに蓄積されているので、アンダーフローを防ぐことができる。
【００４６】
量子化制御部１０４には、エントロピー符号化部１０１から符号量が入力され、バッファ監視部１０３から制御信号Ｄ１５が入力される。量子化制御部１０４は、入力される制御信号Ｄ１５に応じて、制御感度を変化させる。量子化制御部１０４が設定する制御感度の違いによる発生符号量の違いを図５を用いて説明する。
【００４７】
図５（ａ）は、第１の制御感度におけるマクロブロック毎の目標符号量と発生符号量の関係を示している。図５（ｂ）は、第１の制御感度よりも高い第２の制御感度におけるマクロブロック毎の目標符号量と発生符号量の関係を示している。５００及び５０３は、符号化中のピクチャに割り当てられた目標符号量をマクロブロック単位に振り分けた場合の、積算値を表している。５０１及び５０４は発生符号量を示している。５０２及び５０５は、該目標符号量と該発生符号量との差分値を示している。
【００４８】
図５（ａ）に示すように、第１の制御感度では、目標符号量と発生符号量との差分値が所定の差分値５０２と一致した場合に、量子化スケール値（量子化ステップ値）が大きくなるように量子化パラメータを変化させている。これにより発生符号量が抑えられ、目標符号量との差分が小さくなるように制御が行われる。
【００４９】
これに対して図５（ｂ）に示すように、第２の制御感度では、目標符号量と発生符号量との差分値が所定の差分値５０５と一致した場合に、量子化スケール値（量子化ステップ値）が大きくなるように量子化パラメータを変化させている。制御感度を高めた場合、差分値５０５は差分値５０２よりも小さくなる。よって、量子化パラメータの変化する頻度は、図５（ａ）の場合と比べて高くなる。
【００５０】
制御感度は、例えば再度以下に引用する（５）式の反応パラメータ（reaction parameter）ｒを変化させることにより変更することができる。
Ｑj  = (dj*31) / r       ・・・（５）
ここで、Ｑjは、量子化スケール値、djは目標符号量と発生符号量との差分値、ｒは反応パラメータである。この（５）式によれば、ｒの値を大きくしたり、小さくしたりすることにより、量子化スケール値の値を制御することができる。例えば、第１の制御感度においてはｒを第１の反応パラメータｒ１とし、第２の制御感度においてはｒを第２の反応パラメータｒ２とする。このとき、ｒ１＞ｒ２の関係が成立する。
【００５１】
このような反応パラメータの関係によれば、第１の制御感度と第２の制御感度では、同一の差分値であっても演算により得られる量子化スケール値が異なり、第１の制御感度の方が、第２の制御感度よりも量子化スケール値が小さくなる。このことは、第１の制御感度の場合は、第２の制御感度の場合よりも発生符号量が増えることを意味する。
【００５２】
このようにして制御感度を高めたい場合には、反応パラメータｒの値を小さく（ｒ１→ｒ２）すればよい。これにより、差分値５０５（フルネスｄｊ）が差分値５０２よりも小さい値でも量子化パラメータを変化させることが可能である。
【００５３】
以上の制御を行うことで、ＶＢＶバッファが破綻する可能性がある場合、符号化中のピクチャの発生符号量を目標符号量に近づけることができるので破綻回避処理を実行させる必要が低減され、ＶＢＶバッファの破綻も防止できる。
【００５４】
以上図１、図５に示したブロック図及び、制御方法に従った処理を実行することにより、破綻回避処理を低減することができ、破綻回避処理が実行された場合でも画像の著しい劣化を防止することが可能になる。
【００５５】
［第２の実施形態］
次に、発明の第２の実施形態を説明する。図６は、発明の第２の実施形態に対応する動画像符号化装置の概略的な構成を示す図である。
【００５６】
動画像符号化装置６０は、量子化部６００、エントロピー符号化部６０１、バッファ部６０２、バッファ監視部６０３、目標符号量生成部６０４、量子化制御部６０５とを含む。なお、図６に示す動画像符号化装置６０の構成は、本願発明の説明のために必要な最低限の構成要素を示したものであって、動画像符号化装置６０は図６に示す以外に他の構成要素、例えば、直交変換処理を行う直交変換部等を含んで構成することができる。
【００５７】
なお、量子化部６００、エントロピー符号化部６０１及びバッファ部６０２は、第１の実施形態における量子化部１００、エントロピー符号化部１０１及びバッファ部１０２と同様の動作を行うのでここでは詳細な説明は省略する。
【００５８】
バッファ監視部６０３は、バッファ部６０２の占有量を監視する。監視するタイミングはマクロブロック単位やピクチャ単位である。該占有量Ｄ６０を目標符号量生成部６０４に入力する。
【００５９】
目標符号量生成部６０４は、次に符号化するピクチャの目標符号量を決定する。該目標符号量の決定方法は、上述したＴＭ５（Test Model 5）と同じ方法で決定しても良い。該目標符号量生成部６０４で決定したピクチャの目標符号量Ｄ６１は量子化制御部６０５に入力される。
【００６０】
量子化制御部６０５には、目標符号量生成部６０４から、次に符号化するピクチャの目標符号量Ｄ６１が入力され、エントロピー符号化部６０１で符号化した結果生ずる発生符号量が該目標符号量に近づくように量子化パラメータを決定する。決定された量子化パラメータＤ６２は量子化部６００に出力される。
【００６１】
以下、図７を参照して、量子化制御部６０５における制御を説明する。図７の縦軸はバッファ部６０２の占有量を示している。横軸は時間を示している。以下では、Ｉピクチャの符号化を行う場合を例として説明する。
【００６２】
時刻ｔ71は、Ｉピクチャ処理を開始する時点である。この時点において量子化制御部６０５には、目標符号量生成部６０４よりＩピクチャの目標符号量Ｄ６１と、バッファ占有量Ｄ６０の情報が提供される。
【００６３】
目標符号量生成部６０４より通知された占有量Ｄ６０に対応する値が図７の点７０１で示される値に対応する。占有量の値７０１を「Ｂｒ」とする。また、目標符号量Ｄ６１は太線７０７で示す長さに相当し、この時の目標符号量の値７０７を「Ｄｔ」とする。処理対象のＩピクチャは時刻ｔ71で処理が開始され、点線７０２、７０３で示すようにバッファ部６０２に符号化データが格納される。格納完了時のバッファ占有量は点７０４に示す通りであり、時刻ｔ73でそこから目標符号量Ｄｔが読み出されることとなる。
【００６４】
なお、時刻ｔ72において、Ｉピクチャ以前に処理された他のピクチャ（例えば、Ｂピクチャ）の符号化データがバッファ部６０２から読み出される。なお、このとき読み出されるデータ量７０６は、エントロピー符号化部６０１から既に量子化制御部６０５に対して通知（Ｄ６３）されているので、既知である。ここでは、この読み出しデータのデータ量７０６を「Ｄｂ」とする。また、バッファ部６０２への書込速度を「Ｗｓ」とする。
【００６５】
以上によれば、時刻ｔ73において、目標符号量に相当する符号化データがバッファ部６０２から削除された後のバッファの占有量７０５の値Ｂｄは、以下のように求めることができる。
Ｂｄ＝Ｂｒ＋Ｂｓ×（ｔ73−ｔ71）−（Ｄｂ＋Ｄｔ）
本実施形態では、Ｂｄの大きさに基づいて、制御感度を変化させることができる。例えば、Ｂｄがバッファの占有量の最小値に近い値を有する場合には、実際の発生符号量が目標符号量を上回った場合にアンダーフローを起こす可能性が高い。そこで、このような場合は、該制御感度を第２の制御感度とし、図５に示した制御を行うことでバッファの破綻を防止する。例えば、制御感度は上述した反応パラメータｒをｒ２として、発生符号量を抑える方向に制御を行う。
【００６６】
なお、Ｂｄがアンダーフローを引き起こす程に低い値か否かは、例えば、予め定めておいた一定値との比較により判定することができる。即ち、Ｂｄの値が一定値以下の場合には、アンダーフローを引き起こす可能性があるとして、制御感度を第２の制御感度とする。また、Ｂｄの値が一定値より大きい場合には、制御感度を第１の制御感度とする。
【００６７】
また、その他にも、目標符号量Ｄ６１の値自体を所定の第２の閾値と比較し、比較結果に応じて制御感度を設定しても良い。例えば、目標符号量Ｄ６１が第２の閾値よりも大きい場合には、制御感度を高くして第２の制御感度とすることができる。これにより、発生符号量が目標符号量を上回って更に大きい値になることを防止して、バッファーの破綻を防止することができる。また、目標符号量Ｄ６１が第２の閾値以下の場合には、制御感度を低下させて第１の制御感度とすることができる。
【００６８】
なお、第１の実施形態と同様に、バッファ部６０２の占有量の値に基づいて、制御感度を変更しても良い。
【００６９】
以上、図６、図７に示したブロック図及び、制御方法に従った処理を実行することにより、破綻回避処理を低減することができ、破綻回避処理が実行された場合でも画像の著しい劣化を防止することが可能になる。
【００７０】
このような制御を行うことで、ＶＢＶバッファが破綻する可能性がある場合、符号化中のピクチャの発生符号量を目標符号量に近づけることができるので、破綻回避処理を実行させる必要が低減されＶＢＶバッファの破綻も防止できる。
【００７１】
［その他の実施形態］
なお、以上の実施形態において、反応パラメータ、閾値、制御感度について、「第１の」、「第２の」との文言を利用したが、これは単に複数の概念を互いに区別するために用いたものであって、それ以上の意図はない。
【００７２】
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００７３】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００７４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【００７５】
【図１】発明の第１の実施形態に対応する動画像符号化装置の構成の一例を示すブロック図である。
【図２】発明の第１の実施形態に対応するバッファ監視部１０３の動作を説明するための、バッファ部１０２の占有量の遷移を示すグラフである。
【図３】従来のバッファの占有量の遷移を示すグラフである。
【図４】発生符号量と破綻回避処理の関係を示すグラフである。
【図５】発明の第１の実施形態に対応する量子化制御部１０４が設定する制御感度の違いによる発生符号量の違いを説明するための図である。
【図６】発明の第２の実施形態に対応する動画像符号化の構成の一例を示すブロック図である。
【図７】発明の第２の実施形態における量子化制御部６０５における制御を説明するためのグラフである。
【符号の説明】
【００７６】
１００  量子化部
１０１  エントロピー符号化部
１０２  バッファ部
１０３  バッファ監視部
１０４  量子化制御部
【図１】
0005132390.tif 000002
【図２】
0005132390.tif 000003
【図３】
0005132390.tif 000004
【図４】
0005132390.tif 000005
【図５】
0005132390.tif 000006
【図６】
0005132390.tif 000007
【図７】
0005132390.tif 000008