(57)【要約】【課題】       画質の劣化具合や人間の視覚特性を考慮した動画像符号化技術を提供する。【解決手段】  動画像を量子化して符号化する符号化ユニットと、符号化されたデータを局所的に復号する復号ユニットを有する動画像符号化装置は、符号化の条件に応じて可変に設定することが可能なフィルタ係数に従い、入力される動画像に対して空間フィルタ処理を施すプリフィルタと、プリフィルタから出力される動画像と、復号ユニットから出力される復号画像とに基づき動画像のブロック歪み度を算出する算出ユニットと、算出されたブロック歪み度と、符号化ユニットにより符号化された動画像に対する符号量とに従い、フィルタ係数及び符号化ユニットにおける量子化を制御するための量子化スケールのうち少なくとも一方の設定を変更するためのパラメータを決定する決定ユニットとを備える。【選択図】  図１
2005175621.tif 000002
【特許請求の範囲】
【請求項１】
動画像を量子化して符号化する符号化手段と、当該符号化されたデータを局所的に復号する復号手段を有する動画像符号化装置において、
符号化の条件に応じて可変に設定することが可能なフィルタ係数に従い、入力される前記動画像に対して空間フィルタ処理を施すプリフィルタと、
前記プリフィルタから出力される前記動画像と、前記復号手段から出力される復号画像とに基づき当該動画像のブロック歪み度を算出する算出手段と、
前記算出されたブロック歪み度と、前記符号化手段により符号化された動画像に対する符号量とに従い、前記フィルタ係数及び当該符号化手段における量子化を制御するための量子化スケールのうち少なくとも一方の設定を変更するためのパラメータを決定する決定手段と、
を備えることを特徴とする動画像符号化装置。
【請求項２】
前記決定手段は、前記算出されたブロック歪み度に応じて、
前記プリフィルタを動作させないように前記フィルタ係数を決定することを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記決定手段は、前記算出されたブロック歪み度のレベルに応じて、前記プリフィルタを低周波領域の通過帯域の特性を与えるように前記フィルタ係数を決定することを特徴とする請求項１に記載の動画像符号化装置。
【請求項４】
前記決定手段は、前記算出されたブロック歪み度のレベルに応じて、前記プリフィルタを低周波領域の通過帯域の特性を与えるように前記フィルタ係数を決定し、更に、前記歪み度のレベルに応じて前記量子化スケールの値を変更するための値を決定することを特徴とする請求項１に記載の動画像符号化装置。
【請求項５】
動画像を量子化して符号化する符号化手段と、当該符号化されたデータを局所的に復号する復号手段を有する動画像符号化装置において実行する動画像符号化方法であって、
符号化の条件に応じて可変に設定することが可能なフィルタ係数に従い、入力される前記動画像に対して空間フィルタ処理を実行するフィルタ処理工程と、
前記空間フィルタ処理がされた前記動画像と、前記復号手段から出力される復号画像とに基づき当該動画像のブロック歪み度を算出する算出工程と、
前記算出されたブロック歪み度と、前記符号化手段により符号化された動画像に対する符号量とに従い、前記フィルタ係数及び前記符号化手段における量子化を制御するための量子化スケールのうち少なくとも一方の設定を変更するためのパラメータを決定する決定工程と、
を備えることを特徴とする動画像符号化方法。
【請求項６】
前記決定工程は、前記算出されたブロック歪み度に応じて、前記フィルタ処理工程における前記空間フィルタ処理を実行させないように前記フィルタ係数を決定することを特徴とする請求項５に記載の動画像符号化方法。
【請求項７】
前記決定工程は、前記算出されたブロック歪み度のレベルに応じて、前記プリフィルタを低周波領域の通過帯域の特性を与えるように前記フィルタ係数を決定することを特徴とする請求項５に記載の動画像符号化方法。
【請求項８】
前記決定工程は、前記算出されたブロック歪み度のレベルに応じて、前記プリフィルタを低周波領域の通過帯域の特性を与えるように前記フィルタ係数を決定し、更に、前記歪み度のレベルに応じて前記量子化スケールの値を変更するための値を決定することを特徴とする請求項５に記載の動画像符号化方法。
【請求項９】
請求項５乃至請求項８のいずれか１項に記載の動画像符号化方法をコンピュータによって実行させることを特徴とするプログラム。
【請求項１０】
請求項５乃至請求項８のいずれか１項に記載の動画像符号化方法をコンピュータによって実行させるためのプログラムを格納することを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を入力して、符号化データを出力するための動画像符号化装置および動画像符号化方法に関するもので、特に、低ビットレートにおいても良好な画質を得ることを可能にする画像符号化装置および画像符号化方法等に関する。
【背景技術】
【０００２】
近年のデジタル信号処理技術の飛躍的な進歩により、従来ならば困難であった蓄積メディアへの動画像の記録や伝送路を介した動画像の伝送が行われている。この場合に、動画像を構成する各々のフレームは圧縮処理が施されデータ量が大幅に削減されている。この圧縮処理として代表的な手法が、例えば、ＭＰＥＧ（Moving Picture Experts Group）方式として知られている。このＭＰＥＧ方式に準拠して画像の圧縮、符号化を行う場合、その符号量は、画像自体の特性である空間周波数特性やシーン及び量子化スケール値に応じて大きく異なる場合が多い。このような符号化特性を有する符号化装置を実現する上で良好な画質の復号画像を得ることができるようにするための重要な技術が符号量制御である。
【０００３】
この符号量制御アルゴリズムの１つとして、ＴＭ５（Test Model 5）(非特許文献１を参照）が知られている。このＴＭ５による符号量制御アルゴリズムは、以下に概説する３つのステップから構成され、GOP（Group  of  Picture）毎にビット・レートが一定になるように符号量が制御される。
【０００４】
［STEP1: Target bit allocation］
STEP1の処理では、符号化を行う次のピクチャの目標符号量を設定する。ここで、STEP1の処理においては、現在のGOPにおいて許容される符号量Ｒ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、Ｒp及びＲbはそれぞれ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_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及びBピクチャの残りの枚数、また定数Ｋp=1.0及びＫb=1.4である。
【０００８】
［STEP2: Rate control］
STEP2では、I、P及びBピクチャ毎に３つの仮想バッファを使用し、式（３）で求めた目標符号量と発生符号量との差分を管理する。仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて実際の発生符号量が目標符号量に近づくように、次にエンコードするマクロ・ブロックについて、Ｑスケールの参照値が設定される。例えば、現在のピクチャタイプがPピクチャの場合には、目標符号量と発生符号量との差分は、次の（４）式に従う演算処理により求めることができる。
【０００９】
ｄp,j = ｄp,0  +  Ｂp,j-1  −((Ｔp*(j-1))/ＭＢ_cnt) ・・・（４）
ここで、添字jはピクチャ内のマクロ・ブロックの番号であり、ｄp,0は仮想バッファの初期フルネスを示し、Ｂp，jはj番目のマクロ・ブロックまでの総符号量、ＭＢ_cntはピクチャ内のマクロ・ブロック数を示す。式(（４）の関係をグラフに示すと、例示的に図２のようになる。図２において、横軸は、ピクチャ内のマクロ・ブロック数（ＭＢ_cnt）であり、縦軸はpピクチャの目標符号量である。図中のＤp，jは（４）式で求められる差分値である。
【００１０】
次にdp,j(以後、「dj」と記載する。)を用いて、j番目のマクロ・ブロックにおけるＱスケールの参照値を求めると、（５）式のようになる。
【００１１】
Ｑj  = (dj*31) / r       ・・・（５）
ここで、r = 2*bits_rate/picture_rate       ・・・（６）
である。
【００１２】
［STEP3:Adaptive Quantization］
STEP3の処理では、視覚特性、即ち、復号画像の画質が良好になるように、エンコード対象のマクロ・ブロックの空間アクティビチィに基づいて、量子化スケールを最終的に決定する処理を実行する。
【００１３】
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              ・・・（１１）
以上のTM5のアルゴリズムによれば、STEP1の処理によりIピクチャに対して多くの符号量を割り当ており、更にピクチャ内においては視覚的に劣化の目立ちやすい平坦部(空間アクティビティが低い)に符号量が多く配分されるようになる。
【００１７】
また、 ＴＭ５の課題に対する技術である、特許文献１においては、図３に示すような、ローパスフィルタ（ＬＰＦ）の遮断周波数のバランス点を求めるために、バランス関数なるものを定義して、量子化歪と画像鮮鋭度劣化との整合を取ることで、ＴＭ５における課題の解決を試みている。これは、量子化歪を抑制するために符号化装置に入力される各ピクチャの空間周波数をＬＰＦにより低減することで実現している。図３の２本の曲線は以下の2つの関数F1及びF2に相当する。
【００１８】
Ｆ１(動き量，フィルタ係数, 量子化スケール，符号量)
Ｆ２(フィルタ係数,量子化スケール)
関数Ｆ１及びＦ２の交差点をバランス点として、符号量と画質の整合が最も優れている量子化スケールとＬＰＦのフィルタ係数として設定する。
【００１９】
また、特許文献２には、動画像符号化方法として、フィルタ係数を変更する際に、急激な変化を回避する技術が開示されている。
【非特許文献１】Test Model 5(Test Model Editing Commitee: "Test Model 5", ISO/IEC JTC/SC29/WG11/N0400(Apr.1993))
【特許文献１】特許2894137号公報、「動画像符号化におけるプリフィルタ制御方法及び装置」
【特許文献２】特開2002-247576号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、上述のＴＭ５のアルゴリズムにおいては次のような課題がある。すなわち、最終的なMQUANTjを得るための判断情報として、（４）式における目標符号量と符号量との差分（乖離）以外、式（５）における前ピクチャの符号化結果のＱスケール参照値（Ｑj）と、STEP3の処理における空間アクティビティ（ACTj ）のみを使用しており、画質の定量的な劣化具合や人間の視覚特性が、ＴＭ５における符号量制御では十分考慮されておらず、符号化状況に応じ人間の視覚特性に合致した符号量制御を行なうという点では困難であった。
【００２１】
また、ＴＭ５のアルゴリズムに対する課題を補う特許文献１における技術においても、上記の関数Ｆ１において引数である「動き量」を算出するために大規模な回路が必要となること、更には、直前のピクチャの情報のみを使用しているため、シーンチェンジ等の場合にはフィルタの特性が急激に変化してしまい、画質のボケが目立つという課題がある。
【００２２】
動画像符号化方法として、フィルタ係数を変更する際に、急激な変化を回避している解決するための方法を開示する特許文献２によれば、まず符号化難易度Ｙを以下のとおりI、P及びBピクチャ毎に関数Ｆ（１２）式を使用して求めている。
【００２３】
Ｙ= Ｆ(累積符号量，平均Ｑスケール)      ・・・（１２）
次にI、P及びBそれぞれについて求めた符号化難易度Ｙi、Ｙp及びＹbからフィルタ係数パラメータＺを（１３）式により求める（（１３）式）。
【００２４】
Ｚ= (Ｙi + Ｙp + Ｙb)/(bits_rate)      ・・・（１３）
式（１３）により得られたＺの値に応じて、図４に示すように予め設定してあるフィルタ係数Ｓ0、Ｓ1及びＳ3から選択する。すなわち、各フィルタ係数に対応するＺの値に幅をもたせることによって急激なフィルタ係数の変化を回避している。
【００２５】
しかしながら、特許文献２による方法は、単純に累積符号量と平均Ｑスケールだけの情報から予測しているにすぎないので、依然として画質の劣化具合や人間の視覚特性が考慮されているとは言い難い。
【課題を解決するための手段】
【００２６】
上記課題を鑑みて、本発明は、画質の劣化具合や人間の視覚特性を考慮した動画像符号化装置及び動画像符号化方法を提供することを目的とする。上記課題を解決し、その目的を達成する本発明にかかる動画像符号化装置等は主として以下の構成を有することを特徴とする。
【００２７】
すなわち、動画像を量子化して符号化する符号化手段と、当該符号化されたデータを局所的に復号する復号手段を有する動画像符号化装置は、
符号化の条件に応じて可変に設定することが可能なフィルタ係数に従い、入力される動画像に対して空間フィルタ処理を施すプリフィルタと、
前記プリフィルタから出力される動画像と、前記復号手段から出力される復号画像とに基づき動画像のブロック歪み度を算出する算出手段と、
前記算出されたブロック歪み度と、前記符号化された動画像に対する符号量とに従い、前記フィルタ係数及び前記符号化手段における量子化を制御するための量子化スケールのうち少なくとも一方の設定を変更するためのパラメータを決定する決定手段とを備えることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、プリフィルタを用いて符号量を制御するに当たり、直前までのブロック毎に求められたブロック歪み度のレベルに基づき、フィルタ係数及び量子化スケールのうち、少なくとも一方の設定を変えることで、人間の視覚特性を反映した歪みのない高画質な復号画像を得られるためのフィルタ制御、符号量制御を実現することが可能になる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の動画像符号化装置及び方法の好適な実施形態を添付図面を参照しつつ説明する。
【００３０】
[第１実施形態]
図１は、本発明にかかる動画像符号化方法を実現する装置の構成を示す動画像符号化装置２００のブロック図であり、上述のＴＭ５アルゴリズムを実行することが可能なＭＰＥＧ符号化ユニット１００を利用する構成になっている。ＭＰＥＧ符号化ユニット１００は、具体的には、ＭＰＥＧ-１、ＭＰＥＧ-２、ＭＰＥＧ-３或いはＭＰＥＧ-４規格に対応するものであり、特定の符号化規格に限定するものではない。すなわち、入力画像を量子化する構成（量子化器としてＱＴＺ１０４に相当する構成）を含む符号化規格であれば本発明にかかる動画像符号化技術を適用することが可能である。
【００３１】
動画像符号化装置２００は、更に、ブロック歪み度算出ユニット１０９と、符号化パラメータ決定ユニット１１０を備えており、ブロック歪み度算出ユニット１０９により求められた画像の歪み度に基づいて、符号化パラメータ決定ユニット１１０は、マクロ・ブロック（ＭＢ）毎、または、ピクチャ毎、若しくは、一つのピクチャ内で複数回、量子化スケールMQUANTを決定するための計算を行なう。以下、図１のブロック図と、図５のフローチャートを参照して、動画像符号化処理の流れを具体的に説明する。
【００３２】
＜全体の動作フローの説明＞
図５は、図１の符号化パラメータ決定ユニットにおける処理を説明するフローチャートである。まず、ステップＳ５０１において、上述のＴＭ５アルゴリズムのＳＴＥＰ１を利用するために、量子化スケール（Ｑスケール値）であるMQUANT及びフィルタ係数値（Ｃ_ＬＰＦ）の初期値を設定する。
【００３３】
次に、処理をステップＳ５０２に進め、（３）式に従ってピクチャタイプ（I、P、Bピクチャ）それぞれについての目標符号量Ｔi、Ｔp及びＴbを算出する。本ステップの目標符号量の算出において、符号化を行なう次のピクチャの目標符号量が設定される。図１２は、符号化対象ピクチャを例示する図であり、各ピクチャタイプ（I、P、Bピクチャ）の画像をここでは、それぞれ、Ｘｉ、Ｘｐ、Ｘｂとして表している。現ＧＯＰを構成するＰ2ピクチャが次に符号化を行なう対象になるとすると、このピクチャに対する目標符号量が算出される。
【００３４】
次に、処理をステップＳ５０３に進め、動画像符号化装置２００にマクロ・ブロック(図１中のＭＢ)を入力し、空間フィルタ処理を実施する。ここで、プリフィルタ１０１の実現方法としては、例えば、図６に示すような３x３正方マトリクスの空間フィルタを使用することが可能である。この場合のＣ_ＬＰＦの値と３x３正方マトリクスのフィルタ係数との関係を図７に示す。Ｃ_ＬＰＦ＝０の場合は、フィルタの動作がＯＦＦとなり、入力画像（ＭＢ）＝出力画像となる。また、図７のフィルタ係数の例では、Ｃ_ＬＰＦの値が大きい程、遮断周波数が低くなるように設定されている。プリフィルタの特性を与えるフィルタ係数を変えることにより、入力されるマクロ・ブロックに対する空間フィルタリング処理を所定の撮影モードに合うように制御することが可能になる。例えば、符号化パラメータ決定ユニット１１０は、求められたブロック歪み度、目標符号量と現在までの累積符号量の乖離から、ブロック歪みが発生すると判断した時は、プリフィルタの特性の通過帯域を現在よりも低周波領域に設定する。
【００３５】
ここで、入力される符号化前のマクロブロック（ＭＢ）は、後に説明するブロック歪み算出のために、空間フィルタ処理がなされた後、ブロック歪み度算出ユニット１０９に入力される。ブロック歪み度算出ユニット１０９における処理は、後に詳述する。
【００３６】
ステップＳ５０４において、先のステップＳ５０１で初期値として設定された量子化スケール（MQUANT）の値を用いてＭＰＥＧ符号化ユニット１００が、離散コサイン変換（１０３）されたマクロ・ブロックを、量子化（１０４）して可変長符号化データ（１０５）を生成する。尚、ＭＰＥＧ符号化ユニット１００については、ＭＰＥＧ符号化方式の規格に準拠した処理で実現することが可能であるので、動き予測（１０２）及び動き補償（１０８）に関するユニットを含め、ここでは各ユニットに関する具体的な説明は省略する。
【００３７】
次に、処理をステップＳ５０５に進め、ステップＳ５０４の処理により生成された符号化データを局所復号化ユニット１１１に入力して、ＩＱＴＺ１０６、ＩＤＣＴ１０７により逆変換処理を行なって復号データを生成する。尚、局所復号化ユニット１１１については、ＭＰＥＧ符号化方式の規格に準拠した処理で実現することが可能であるので、ここでは各ユニットに関する具体的な説明は省略する。
【００３８】
図１３は、ブロック歪み度算出ユニット１０９の構成を示すブロック図でありる。ステップＳ５０６において、ブロック歪み度算出ユニット１０９により、符号化前のマクロ・ブロック（ステップＳ５０３で、空間フィルタ処理後のマクロ・ブロックがブロック歪み度算出ユニット１０９の符号化前データ格納部１０９ａに格納されている。）と、復号化データ入力部１０９ｂを介して入力した局所復号化ユニット１１１で復号されたマクロ・ブロックとを比較して、ブロック歪み度演算ユニット１０９ｃは、ＭＰＥＧ処理により生じた画像の歪みを評価するパラメータとして、ブロック歪み度を演算する。ブロック歪み度の計算方法としては、例えば、次の２つの方法を用いることができる。
【００３９】
＜方法１＞
方法１は、符号化前及び復号化後の２つの画像に対するPSNR(Peak Signal to Noise Ratio)を求める方法であり、ＭＰＥＧ符号化ユニット１００への入力画像の輝度成分をＰj、局所復号化ユニット１１１の出力画像の輝度成分をＲjとすれば、ＰＮＳＲは以下の（１４）式により求めることができる。
【００４０】
ＳＵＭ    =  Σ(Ｐj - Ｒj)2  （j = 0 〜255）
ＰＳＮＲ  =  ２０×log10(255/sqrt(SUM/256))      ・・・（１４）
（１４）式により求まるＰＳＮＲを評価することで、入力画像と出力画像の歪み度を相対的に求めることができる。
【００４１】
＜方法２＞
方法２は、符号化前及び復号化後の２つの画像に関し、それぞれを８x８のブロックとし、この８x８のブロックの境界の各画素について、（１５）式による差分和の計算を実行する。図８はマクロ・ブロック（図８（ｂ））と、これを構成する８×８の画素ブロックの境界画素（ハッチングを付して示す（図８（ａ））を例示的に示す図であり、マクロ・ブロックを構成する４つの８×８のブロックの境界画素各々について、ＭＰＥＧ符号化ユニット１００への入力画像の輝度成分（Ｐ0j、Ｐ1j、Ｐ2j、Ｐ3j）と、局所復号化ユニット１１１の出力画像の輝度成分（Ｒ0j、Ｒ1j、Ｒ2j、Ｒ3j）、として両者の差分和（ＢＮ）は（１５）式により求めることができる。
【００４２】
ＢＮ=Σ(Ｐ0j−Ｒ0j)+Σ(Ｐ1j−Ｒ1j)+Σ(Ｐ2j−Ｒ2j)+Σ(Ｐ3j−Ｒ3j)
・・・（１５）
（jは、図８の網掛けされた境界画素番号をとる）
ブロック歪み度演算ユニット１０９ｃは、上述の方法１または方法２による方法によりブロック歪み度を演算することができる。
【００４３】
説明を図５のフローチャートに戻し、ステップＳ５０７において、（１５）式により求めたブロック歪み度（ＢＮ）とＭＰＥＧ符号化ユニット１００におけるＶＬＣ（可変長符号化器）１０５から出力される符号量から、次のマクロ・ブロックに使用すべきフィルタ係数値（Ｃ_ＬＰＦ）及びＱスケール値（ＭＱＵＡＮＴ）の値を決定する。この決定処理は、動画像符号化装置２００の符号化パラメータ決定ユニット１１０により実行され、この具体的な処理は、図９〜図１１を用いて後に詳述する。
【００４４】
以上のステップＳ５０２〜Ｓ５０７までの処理をピクチャ内のすべてのマクロ・ブロックに対して繰り返し行うことによって（Ｓ５０８、Ｓ５０９）、符号量の制御を実現することができる。また、上述の処理の繰り返しは、 マクロ・ブロック（ＭＢ）毎、または、ピクチャ毎、若しくは、一つのピクチャ内で複数回行なうように設定するようにしてもよい。
【００４５】
＜符号化パラメータ決定手段の動作説明＞
次に、図５におけるステップＳ５０７に関し、図９のフローチャートを用いて処理の流れを具体的に説明する。ステップＳ５０７を実行する符号化パラメータ決定ユニット１１０は、図１４に示すように符号化パラメータ算出部１１０ａと、フィルタ係数決定部１１０ｂ、量子化スケール決定部１１０ｃを有しており、符号化パラメータ算出部１１０ａは、ブロック歪み度の演算結果、符号量、目標ビットレートを入力値として、動画像符号化に用いる符号化パラメータを算出する。そして、この算出結果に基づいて、フィルタ係数決定部１１０ｂ及び量子化スケール決定部１１０ｃは、それぞれ、プリフィルタ１０１に設定するフィルタ係数（Ｃ_ＬＰＦ）、量子化器（ＱＴＺ）１０４に設定する量子化スケール（Ｑスケール）MQUANTを決定する。
【００４６】
図９のステップＳ９０１において、符号化パラメータ算出部１１０ａは、ブロック歪み度の値（ＢＮ）に基づき、図１０で示すように３つの領域に対応するＡＲＥＡ変数（０〜２）を取得する。ここで、ブロック歪み度（ＢＮ）の値は（１５）（式）から１画素を８ビットで表現する場合には０〜２８５６０までの値を取る。図１０における、Ｃ_ＢＮ０、Ｃ_ＢＮ１は、歪み度（ＢＮ）を３つのＡＲＥＡに分割するための設定値であり、これらの設定値と演算により求められた歪み度（ＢＮ）との大小関係を以下に示すように比較して、歪み度（ＢＮ）がどのＡＲＥＡに対応するのかを、符号化パラメータ算出部１１０ａは求める（Ｓ１〜Ｓ６）。
【００４７】
IF(BN  ＜  C_BN0)  THEN                    （Ｓ１）
AREA  =0                                 （Ｓ２）
ELSE  IF(BN  ＜  C_BN1)  THEN              （Ｓ３）
AREA  =1                                 （Ｓ４）
ELSE                                       （Ｓ５）
AREA  =2    ただし(C_BN1≧C_BN0)         （Ｓ６）
このとき、ＡＲＥＡを分割する基準値Ｃ_ＢＮ０、Ｃ_ＢＮ１は入力画像を本発明の実施形態にかかる動画像符号化装置２００に入力する前に予め設定しておくものとする。次に求められた各ＡＲＥＡに応じて、符号化パラメータ算出部１１０ａは、以下の処理を実行する。
【００４８】
ステップＳ９０２において、ＡＲＥＡ＝０の場合（Ｓ９０２−Ｙｅｓ）、処理をステップＳ９０６に進める。このとき、フィルタ係数決定部１１０ｂ及び量子化スケール決定部１１０ｃは、直前のマクロ・ブロックのブロック歪み度ＢＮの値が小さいことからプリフィルタによる空間フィルタ処理及びＴＭ５のアルゴリズムのＳＴＥＰ２で求める量子化スケールの参照値Ｑj（（６）式を参照）の値をそのまま使用して量子化スケールMQUANTとする。
【００４９】
ステップＳ９０３において、ＡＲＥＡ＝１の場合（Ｓ９０３−Ｙｅｓ）、処理をステップＳ９０４に進め、ＡＲＥＡ１をパラメータＣ_ＢＮ２（図１０（ｂ）を参照）により更に２つの領域に分割する。符号化パラメータ算出部１１０ａは、ブロック歪みが視覚的に目立つ程度に発生するか否かを次の方法で予測する（Ｓ７〜Ｓ１４）。
【００５０】
IF(BN  ＜  C_BN2)  THEN                     （Ｓ７）
WARN_BN  ＝  0                            （Ｓ８）
ELSE                                        （Ｓ９）
IF(WRAN_BN_COUNT  ＞  C_BN_COUNT)  THEN     （Ｓ１０）
WARN_BN  ＝  1                            （Ｓ１１）
ELSE                                        （Ｓ１２）
WARN_BN  ＝  0                            （Ｓ１３）
(C_BN1≧C_BN２≧C_BN0)                      （Ｓ１４）
ここで、ＡＲＥＡ＝１を更に２つの領域に分割するパラメータＣ_ＢＮ２はパラメータＣ_ＢＮ０及びＣ_ＢＮ１と同様に予め設定するものとする。また、WARN_BNは、ブロック歪み度が大きく警告状態にあることを特定するためのパラメータであり、図９のステップＳ９０５において、符号化パラメータ算出部１１０ａは、このパラメータの値を判定する。
【００５１】
WARN_BN=0である場合（Ｓ９０５−Ｎｏ）には、ＡＲＥＡ＝０の場合と同様の処理を行い（Ｓ９０６）、WARN_BN=１の場合には、ＡＲＥＡ＝０と同様の処理を行うか否かの判断を行う。
【００５２】
ここでは、過去におけるマクロ・ブロックに対する水平方向の１走査分におけるＢＮの値がＣ_ＢＮ２の値より大きかった回数を「WARN_BN_COUNT」として、予め設定した定数C_BN_COUNTより大きいか否かで判定を行う。WARN_BN=0の場合（Ｓ９０５−Ｎｏ）、は処理をステップＳ９０６に進め、WARN_BN=1の場合（S９０５−Ｙｅｓ）には、ブロック歪み度が大きく、警告状態にあるとしてプリフィルタ１０１のフィルタ係数を変更するように係数の設定を行なう（Ｓ９０７）。ステップＳ９０７では、ブロック歪み度を小さくするようにフィルタ係数（Ｃ_ＬＰＦ）の値を変更するための処理を行ない、量子化スケール（MQUANT）は、ステップＳ９０６と同様に、量子化スケールの参照値Ｑjの値をそのまま使用して量子化スケールMQUANTとする。
【００５３】
フィルタ係数決定部１１０ｂは、フィルタ係数（Ｃ_ＬＰＦ）を求める関数ＧＥＴ_Ｆ（ＢＮ）と図１１（ａ）に示すデータテーブルにより、ブロック歪み度（ＢＮ）とパラメータＣ_ＢＮｉ（ｉ＝２〜５）との関係を求め、対応するフィルタ係数（Ｃ_ＬＰＦ）を特定する。ここで、特定されたフィルタ係数（Ｃ_ＬＰＦ）がプリフィルタ１０１に設定される（Ｓ９０７）。
【００５４】
尚、ブロック歪み度（ＢＮ）≦Ｃ_ＢＮ２の場合は、ステップＳ９０６の処理と同様となり、この場合はフィルタ係数Ｃ_ＬＰＦ＝０となる。
【００５５】
また、Ｃ_ＢＮ１＜ブロック歪み度（ＢＮ）の場合は、後に説明するステップＳ９０８におけるＡＲＥＡ２の処理と同様となる。
【００５６】
このようにブロック歪み度が警告すべき状態であるか否かを判定することで、視覚的に目立つブロック歪みの発生を予め回避することが可能となる。
【００５７】
一方、ステップＳ９０３の処理でＡＲＥＡ＝２にブロック歪み度（ＢＮ）が該当する場合（Ｓ９０３−Ｎｏ）、処理をステップＳ９０８に進める。このＡＲＥＡはブロック歪み度（ＢＮ）が大きい領域であるので、ここでは、空間フィルタ処理を変更するためのフィルタ係数の設定に加えて、量子化スケール（MQUANT）の変更を行なう。フィルタ係数の設定は、ステップＳ９０７における処理と同様に、フィルタ係数決定部１１０ｂが図１１（ｂ）のようなデータテーブルを用いて、対応するブロック歪み度（ＢＮ）に応じたフィルタ係数値（Ｃ_ＬＰＦ）＝Ｃｉ（ｉ=１〜４）を特定し、プリフィルタ１０１に設定する。ここで設定されるフィルタ係数は、算出されたブロック歪み度のレベルが大きくなるにつれて、低周波領域の通過帯域の特性を実現するように設定される。
【００５８】
また、量子化スケール決定部１１０ｃは、ＴＭ５のアルゴリズムのSTEP２で求めた量子化スケールの参照値Ｑjに対して、更に、図１１（ｂ）に示すような定数ＡＤＤ_Ｑｉ（ｉ=１〜４）をブロック歪み度（ＢＮ）に応じて特定する。ここで特定された定数ＡＤＤ_Ｑｉが量子化スケールの参照値Ｑjに加算され、量子化器（ＱＴＺ）１０４に設定される。ここで量子化スケールの参照値Ｑjは、ＴＭ５のアルゴリズムにおけるSTEP２において（４）式及び（５）式により与えられ、目標符号量（目標ビットレート）とＭＰＥＧ符号化装置１００におけるＶＬＣ１０５より出力される符号量に基づいて演算されるものである。この参照値Ｑjにブロック歪み度の値のレベルに応じた値（ＡＤＤ_Ｑｉ（ｉ=１〜４））が加算されることにより量子化スケールが変更され、次のピクチャに対する符号量制御にブロック歪の情報が反映される。
【００５９】
尚、図１１（ａ），（ｂ）におけるパラメータＣ_ＢＮ３〜Ｃ_ＢＮ８は、ＡＲＥＡを分割するためのパラメータＣ_ＢＮ０及びＣ_ＢＮ１と同様に予め設定するものとする。このようにしてブロック歪み度が大きい領域にある場合、フィルタ係数と量子化スケールとを変更して、視覚的に目立つブロック歪みの発生を予め効果的に回避することが可能になる。
【００６０】
以上説明したように、本実施形態によれば、プリフィルタを用いて符号量を制御するに当たり、直前までのブロック毎に求められたブロック歪み度のレベルに基づき、フィルタ係数及び量子化スケールのうち、少なくとも一方の設定を変えることで、人間の視覚特性を反映した歪みのない高画質な復号画像を得られるためのフィルタ制御、符号量制御を実現することが可能になる。
【００６１】
［その他の実施形態］
また、本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステムあるいは装置に提供し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【００６３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれていることは言うまでもない。
【００６４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含むことは言うまでもない。
【図面の簡単な説明】
【００６５】
【図１】本発明にかかる動画像符号化方法を実現する装置の構成を示す動画像符号化装置２００のブロック図である。
【図２】符号量制御アルゴリズム（TM5）のSTEP2を説明する図である。
【図３】特許文献１において示されるバランス関数を説明する図である。
【図４】従来技術におけるフィルタ係数を決定するための処理を説明する図である。
【図５】本発明の実施形態にかかる動画像符号化処理の流れを説明するフローチャートである。
【図６】３x３正方マトリクスの空間フィルタを例示する図である。
【図７】フィルタ係数（Ｃ_ＬＰＦ）の値と３x３正方マトリクスのフィルタ係数との関係を示す図である。
【図８】マクロ・ブロックと、これを構成する８×８の画素ブロックの境界画素を例示的に示す図である。
【図９】本発明の実施形態にかかる符号化パラメータの決定処理を説明するフローチャートである。
【図１０】ブロック歪み度ＢＮを分類する３つの領域（ＡＲＥＡ）を説明する図である。
【図１１】ブロック歪み度（ＢＮ）に対応した、フィルタ係数（Ｃ_ＬＰＦ）および量子化スケール値（Ｑ）に加算するための定数（ＡＤＤ_Ｑ）の関係を示すデーテーブルの構成を例示する図である。
【図１２】符号化対象ピクチャを例示する図である。
【図１３】ブロック歪み度算出ユニット１０９の構成を示すブロック図である。
【図１４】符号化パラメータ決定ユニット１１０の構成を示すブロック図である。
【図１】
2005175621.tif 000003
【図２】
2005175621.tif 000004
【図３】
2005175621.tif 000005
【図４】
2005175621.tif 000006
【図５】
2005175621.tif 000007
【図６】
2005175621.tif 000008
【図７】
2005175621.tif 000009
【図８】
2005175621.tif 000010
【図９】
2005175621.tif 000011
【図１０】
2005175621.tif 000012
【図１１】
2005175621.tif 000013
【図１２】
2005175621.tif 000014
【図１３】
2005175621.tif 000015
【図１４】
2005175621.tif 000016