(57)【要約】【課題】動画像の符号化時に、例えばマクロブロックごとの算術符号長を正確に推定できるようにする。【解決手段】動画像の各フレームを所定のブロックサイズに分割し、ブロックごとに符号化を行う動画像符号化装置において、前記ブロックの各符号化要素を二値化する二値化手段と、前記二値化手段によって二値化されたデータを算術符号化する算術符号化手段と、前記二値化手段によって二値化されたデータにおいて、連続した少なくとも２ビットの値の変化パターンを検出するビットパターン検出手段と、前記ビットパターン検出手段の検出結果を用いて前記算術符号化手段による発生符号量を推定する符号量推定手段とを設け、動画像の符号化時における算術符号化の符号出力特性に応じた符号量を予測する精度を向上できるようにすることにより、符号量制御を正確に行うことを可能にする。【選択図】図１
2010130522.tif 000002
【特許請求の範囲】
【請求項１】
動画像の各フレームを所定のブロックサイズに分割し、ブロックごとに符号化を行う動画像符号化装置において、
前記ブロックの各符号化要素を二値化する二値化手段と、
前記二値化手段によって二値化されたデータを算術符号化する算術符号化手段と、
前記二値化手段によって二値化されたデータにおいて、連続した少なくとも２ビットの値の変化パターンを検出するビットパターン検出手段と、
前記ビットパターン検出手段の検出結果を用いて前記算術符号化手段による発生符号量を推定する符号量推定手段とを具備することを特徴とする動画像符号化装置。
【請求項２】
前記ビットパターン検出手段により検出されるビット変化パターンとは、前記二値化されたデータの連続する２ビット間で、値の０から１、あるいは１から０への遷移情報であることを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記ビットパターン検出手段は、連続する２ビットのデータ間において、０から１、あるいは１から０への遷移点の出現回数をカウントするカウンタを具備することを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記カウンタは、所定のブロックごとにリセットされることを特徴とする請求項３に記載の動画像符号化装置。
【請求項５】
前記符号量推定手段は、前記カウンタのカウント値から、前記ブロックごとに算術符号化された後の符号量を推定することを特徴とする請求項３または４に記載の動画像符号化装置。
【請求項６】
前記符号量推定手段は、ブロックの符号化属性に対応する複数の符号量推定機能を有することを特徴とする請求項５に記載の動画像符号化装置。
【請求項７】
前記ブロックの符号化属性を判定する符号化属性判定手段と、
前記符号化属性判定手段の判定結果に応じて、前記符号量推定手段が有する複数の符号量推定機能の中から１つを選択する選択手段とを具備することを特徴とする請求項６に記載の動画像符号化装置。
【請求項８】
画像データを所定のブロック単位に量子化し、量子化データを生成する量子化手段と、前記量子化データを二値化データに変換する二値化手段と、前記二値化データを算術符号化する算術符号化手段とを有する動画像符号化装置において、
前記量子化データの値が所定の範囲に含まれるか否かを判定する第１の判定手段と、
前記第１の判定手段より前記量子化データの値が前記所定の範囲に含まれると判定された個数をカウントするカウント手段と、
前記カウント手段より得られるカウント値が閾値以上か否かを前記ブロック単位に判定する第２の判定手段と、
前記二値化データと、前記第２の判定手段の判定結果とを用いて前記算術符号化手段による発生符号量を推定する符号量推定手段とを具備することを特徴とする動画像符号化装置。
【請求項９】
前記第１の判定手段による前記所定の範囲は、前記量子化データの要素に応じて切替えることを特徴とする請求項８に記載の動画像符号化装置。
【請求項１０】
前記第２の判定手段による前記閾値は、前記量子化データの要素に応じて切替えることを特徴とする請求項８に記載の動画像符号化装置。
【請求項１１】
動画像の各フレームを所定のブロックサイズに分割し、ブロックごとに符号化を行う動画像符号化方法において、
前記ブロックの各符号化要素を二値化する二値化工程と、
前記二値化工程において二値化されたデータを算術符号化する算術符号化工程と、
前記二値化工程において二値化されたデータにおける連続した少なくとも２ビットの値の変化パターンを検出するビットパターン検出工程と、
前記ビットパターン検出工程において検出された検出結果を用いて前記算術符号化工程における発生符号量を推定する符号量推定工程とを有することを特徴とする動画像符号化方法。
【請求項１２】
画像データを所定のブロック単位に量子化し、量子化データを生成する量子化工程と、前記量子化データを二値化データに変換する二値化工程と、前記二値化データを算術符号化する算術符号化工程とを有する動画像符号化方法において、
前記量子化データの値が所定の範囲に含まれるか否かを判定する第１の判定工程と、
前記第１の判定工程において前記量子化データの値が前記所定の範囲に含まれると判定された個数をカウントするカウント工程と、
前記カウント工程において得られるカウント値が閾値以上か否かを前記ブロック単位に判定する第２の判定工程と、
前記二値化データと、前記第２の判定工程において判定された判定結果とを用いて前記算術符号化工程における発生符号量を推定する符号量推定工程とを有することを特徴とする動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置及び動画像符号化方法に関し、特に、発生符号量を予測して、適切な符号量調整を行うために用いて好適な技術に関する。
【背景技術】
【０００２】
動画像符号化の規格としては、ISO/IECの国際標準規格である、MPEG-1, MPEG-2, MPEG-4が広く使用されている。近年、より高い符号化効率を持つ規格として、ITU-T H.264（あるいはISO/IEC MPEG-4 AVCと呼称される）が勧告され、その実用化が急速に進んでいる。
H.264規格に対応した符号化装置の構成例を、図１３のブロック図を参照しながら説明する。
【０００３】
図１３において、７０１は画像メモリであり、符号化の対象となるフレーム及び、動き補償で使用する参照フレームを一時的に記憶するために用いられる。７０２は動き検出部であり、動きベクトルの検出を行う。７０３はマクロブロックタイプ判定部であり、符号化の単位となるマクロブロックのそれぞれに対して、フレーム内符号化（イントラ）か、フレーム間符号化（ノンイントラ）かの判定を行う。そして、イントラの場合はフレーム内予測モードの決定、また、マクロブロック内のサブマクロブロックへのパーティション分割判定を行う。
【０００４】
７０４は動き補償部であり、動き検出部７０２で求められた動きベクトルやマクロブロックタイプを用いて、指定された動き補償処理を行い、局所デコード画像を生成する。７０５は整数変換部であり、所定のマクロブロックデータを周波数スペクトルに変換する。
【０００５】
直交変換の方式としては、MPEG-4規格までは離散コサイン変換が用いられていた。しかし、離散コサイン変換の場合、有限精度での演算においては、逆変換時の変換誤差が蓄積されるという問題があった。このため、H.264規格においては、原理的に変換誤差の生じない整数変換が採用されている。
【０００６】
７０６は量子化部であり、整数変換によって得られた係数データを量子化する。７０８は逆量子化部であり、局所（ローカル）デコード画像のための逆量子化処理を行う。７０７は逆変換部であり、逆整数変換処理を行う。
【０００７】
逆量子化部７０８で量子化された係数データは、CABAC (Content Adaptive Binary Arithmetic Coding)と呼ばれるエントロピー符号化部に送られる。CABACの構成要素としては、二値化部７０９、及び算術符号化部７１０がある。
【０００８】
二値化部では、量子化済みの係数データ、動きベクトル、及びマクロブロックに付随する各種情報など、すべての符号化要素（シンタックスエレメントと呼称される）の二値化を行う。二値化の方式については、各シンタックスエレメントによって異なった符号表が定義されている。
【０００９】
二値化の具体的な方法としては、図１４に示すごとく、Unary Binarization（ユーナリ符号）。Truncated Unary Binarization（トランケートユーナリ符号）。Exponential Golomb Binarization（指数ゴロム符号：以下EG法と略す）等がある。また、この他に、各種フラグやテーブル参照方式がある。この中でも、マクロブロックデータ中の符号量において支配的に高い割合となる動きベクトルや変換係数の二値化には、EG法が使用されている。図６は、ユーナリ符号の例を一覧的に説明する図である。
【００１０】
図１４に、EG法での二値化手法を示す。図１４に示すように、EG法は、３つの二値符号が結合した形式をとる。最初の符号はプリフィックスであり、「１」が連続して発生し、この「１」の連続数により後述するポストフィックスの次数（桁数）を指定する。２つめの符号はセパレータであり、これは１ビットの「０」であり、プリフィックスの終了ビットであることを示す。
【００１１】
３つめの符号はポストフィックスであり、プリフィックスで指定されたビット数分の任意の二値データが付加される。ポストフィックスは、たとえばビット数が５と指定された場合は、「０００００」〜「１１１１１」までの値をとりうる。二値化部７０９では、このように、すべてのシンタックスエレメントについて二値化し、それらをマクロブロック単位で所定の順序で連結する。
【００１２】
一方、算術符号化部７１０は、二値化されたデータを１ビットずつの順次処理によって符号化を行う。したがって、マクロブロックの総処理時間は、入力される二値データのビット数によって変動する。しかも、各ビットの処理結果を、後続するビットの符号化処理に反映させて、適応的に符号化効率を向上させるフィードバック型アルゴリズムであるため、複数ビットの一括処理が原理的に困難であるという特徴がある。
【００１３】
７１３は、量子化ステップ制御部であり、ピクチャ単位での符号量制御を行う。量子化ステップ制御を行うためには、ピクチャの符号化過程において、マクロブロックごとの既発生符号量の観測を行いつつ、目標とするピクチャの総発生符号量との差異を観測しながら量子化ステップを随時更新することによって実現される。
【００１４】
しかしながら、前述したように、算術符号化は処理時間が入力（＝二値化済みデータ）のビット数によって変動してしまうため、マクロブロック単位での処理時間のワースト値をあらかじめ推測することが困難である。しいては、ピクチャ全体での総処理時間に破綻が生じてしまうという可能性もある。
【００１５】
したがって、従来は、符号量補正部７１４において、算術符号化部７１０への入力となる二値化出力の符号長を観測し、これを補正することにより、算術符号化部７１０から出力される符号長として推測・代用し、符号量制御処理を行っていた。
【００１６】
実際には、二値データの符号長をＮ（ビット）、推測された算術符号後の符号長をＭ（ビット）とすると、その比率α（＝Ｍ／Ｎ）は想定されるビットレートや画像によって変化する。実験による統計上では、α≒０．６〜０．９というような比率になることが知られている。
【００１７】
したがって、αをこの範囲内での任意の実数値として、
Ｍ＝αＮ・・・（式１）
というような補正を行って、二値データ符号長から算術符号長の推測を行っている。このため、このα自体をどのようにして正確に予測するかが、正確な符号量制御を実現するために重要な案件となっている。
【００１８】
特許文献１においては、二値化出力の符号長を監視する機能が記載されている。また、特許文献２においては、最終的な算術符号出力は、二値化出力よりも必ずサイズが小さくなる（二次圧縮が可能である）という特性を考慮して、二値化出力の符号長を補正して符号化制御に使用する機能が記載されている。これは、従来例の説明での（式１）の演算に該当する。
【００１９】
【特許文献１】特開２００４−１３５２５１号公報
【特許文献２】特開２００７−２０１４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
CABACにおける算術符号器の処理時間は、入力となる二値化データ符号長により変動してしまうため、算術符号後の実際の符号長をマクロブロック単位の符号量制御部へフィードバックすることが困難である。
【００２１】
このため、算術符号化部７１０への二値符号入力の符号長を元に補正を行い、この値を算術符号化部７１０から出力される符号長として推定することが行われる。このとき、マクロブロックの各シンタックスエレメントの構成要素の二値化状況によっては、補正が的確に行われないことがある。このため、符号量制御が最適ではなくなり、しいては、符号化後の画質の劣化（あるいは画質の不安定さ）や、符号化処理の破綻を招く可能性もあった。
【００２２】
前述のように、二値データ符号長に基づいた算術符号長の推定が正確に行われない理由としては、以下の要因が考えられる。すなわち、二値化処理は一種の可変長符号化になっているが、ハフマン符号化のように各シンタックスエレメントのエントロピーに最適化された符号長割り当ては行われていない。
【００２３】
これは、後段の算術符号部により再符号化が行われることを前提としており、算術符号化において再圧縮効率が高い符号表となっている。具体的には、ユーナリ符号（トランケーテッドユーナリ符号を含む）、指数ゴロム符号ともに、「１」の連続パターンを多く発生させる。これは、算術符号内部のシンボル予測機能においてＭＰＳ（Most Probable Symbol）が発生する確率を高める効果が期待されるからである。また、符号化効率を落とさずに、かつ「１」の連続するビット数により、各シンタックスエレメントに対して固有な符号語を発生可能だからである。
【００２４】
図１２に、特定の双予測画像にて、二値符号長と算術符号長との比率αをマクロブロックごとにあらわしたグラフを載せる。スキップマクロブロック（二値ビット長＝１）は除外している。この表からも分かるとおり、マクロブロック単位でαの値をモニタすると、「０．４８〜０．９５」程度までばらついており、ピクチャ全体では平均して０．７程度の値となっている。
【００２５】
したがって、従来例では、ピクチャ全体の平均としてα＝０．７と仮定して計算を行うと、二値符号長と補正した算術符号長間には最大３０％程度の誤差が発生し、最適な符号量制御が行われない可能性が生じる。また、αを実測値よりも低く設定してしまったケースでは、推定値よりも算術符号量がより多く出力されることになり、デコーダバッファモデルの破綻を招く可能性もある。
【００２６】
本発明は前述の問題点に鑑み、動画像の符号化時に、例えばマクロブロックごとの算術符号長を正確に推定できるようにすることを目的としている。
【課題を解決するための手段】
【００２７】
本発明の動画像符号化装置は、動画像の各フレームを所定のブロックサイズに分割し、ブロックごとに符号化を行う動画像符号化装置において、前記ブロックの各符号化要素を二値化する二値化手段と、前記二値化手段によって二値化されたデータを算術符号化する算術符号化手段と、前記二値化手段によって二値化されたデータにおいて、連続した少なくとも２ビットの値の変化パターンを検出するビットパターン検出手段と、前記ビットパターン検出手段の検出結果を用いて前記算術符号化手段による発生符号量を推定する符号量推定手段とを具備することを特徴とする。
また、本発明の動画像符号化装置の他の特徴とするところは、画像データを所定のブロック単位に量子化し、量子化データを生成する量子化手段と、前記量子化データを二値化データに変換する二値化手段と、前記二値化データを算術符号化する算術符号化手段とを有する動画像符号化装置において、前記量子化データの値が所定の範囲に含まれるか否かを判定する第１の判定手段と、前記第１の判定手段より前記量子化データの値が前記所定の範囲に含まれると判定された個数をカウントするカウント手段と、前記カウント手段より得られるカウント値が閾値以上か否かを前記ブロック単位に判定する第２の判定手段と、前記二値化データと、前記第２の判定手段の判定結果とを用いて前記算術符号化手段による発生符号量を推定する符号量推定手段とを具備することを特徴とする。
【００２８】
本発明の動画像符号化方法は、動画像の各フレームを所定のブロックサイズに分割し、ブロックごとに符号化を行う動画像符号化方法において、前記ブロックの各符号化要素を二値化する二値化工程と、前記二値化工程において二値化されたデータを算術符号化する算術符号化工程と、前記二値化工程において二値化されたデータにおける連続した少なくとも２ビットの値の変化パターンを検出するビットパターン検出工程と、前記ビットパターン検出工程において検出された検出結果を用いて前記算術符号化工程における発生符号量を推定する符号量推定工程とを有することを特徴とする。
また、本発明の動画像符号化方法の他の特徴とするところは、画像データを所定のブロック単位に量子化し、量子化データを生成する量子化工程と、前記量子化データを二値化データに変換する二値化工程と、前記二値化データを算術符号化する算術符号化工程とを有する動画像符号化方法において、前記量子化データの値が所定の範囲に含まれるか否かを判定する第１の判定工程と、前記第１の判定工程において前記量子化データの値が前記所定の範囲に含まれると判定された個数をカウントするカウント工程と、前記カウント工程において得られるカウント値が閾値以上か否かを前記ブロック単位に判定する第２の判定工程と、前記二値化データと、前記第２の判定工程において判定された判定結果とを用いて前記算術符号化工程における発生符号量を推定する符号量推定工程とを有することを特徴とする。
【発明の効果】
【００２９】
本発明によれば、動画像の符号化時における算術符号化の符号出力特性に応じた符号量を予測する精度を向上することができることにより、符号量制御を正確に行うことが可能となり、符号化後の画質を向上することができる。
【発明を実施するための最良の形態】
【００３０】
（第１の実施形態）
図１は、本発明の第１の実施形態の動画像符号化装置の構成例を説明するブロック図である。
図１において、１００は動画像符号化装置である。本実施形態の動画像符号化装置１００は、動画像の各フレームを所定のブロックサイズに分割し、ブロックごとに符号化を行う。所定のブロックサイズとしては、１６×１６（画素）、或いは８×８（画素）などである。当該ブロックのことを以降ではマクロブロックと称す。また、１０１〜１１０までの各ブロックは、図１３の従来例における７０１〜７１０の各ブロックとそれぞれ同等のモジュールである。
【００３１】
すなわち、１０１は画像メモリであり、符号化の対象となるフレーム及び、動き補償で使用する参照フレームを一時的に記憶するために用いられる。１０２は動き検出部であり、動きベクトルの検出を行う。本実施形態の動画像符号化装置１００は、ISO/IECの国際標準規格である、MPEG-1, MPEG-2, MPEG-4などを使用して符号化を行う。また、より高い符号化効率を持つ規格として、ITU-T H.264（あるいはISO/IEC MPEG-4 AVCと呼称される）を使用して符号化を行う。
【００３２】
１０３はマクロブロックタイプ判定部であり、符号化の単位となるマクロブロックのそれぞれに対して、フレーム内符号化（イントラ）か、フレーム間符号化（ノンイントラ）かの判定を行う。そして、イントラの場合はフレーム内予測モードの決定、また、マクロブロック内のサブマクロブロックへのパーティション分割判定を行う。
【００３３】
１０４は動き補償部であり、動き検出部１０２で求められた動きベクトルやマクロブロックタイプを用いて、指定された動き補償処理を行い、局所デコード画像を生成する。１０５は整数変換部であり、所定のマクロブロックデータを周波数スペクトルに変換する。
【００３４】
直交変換の方式としては、MPEG-4規格までは離散コサイン変換が用いられていた。しかし、離散コサイン変換の場合、有限精度での演算においては、逆変換時の変換誤差が蓄積されるという問題があった。このため、H.264規格においては、原理的に変換誤差の生じない整数変換が採用されている。
【００３５】
１０６は量子化部であり、整数変換によって得られた係数データを量子化する。１０８は逆量子化部であり、局所（ローカル）デコード画像のための逆量子化処理を行う。１０７は逆変換部であり、逆整数変換処理を行う。
【００３６】
逆量子化部１０８で量子化された係数データは、CABAC (Content Adaptive Binary Arithmetic Coding)と呼ばれるエントロピー符号化部に送られる。CABACの構成要素としては、二値化部１０９、及び算術符号化部１１０である。
【００３７】
１１１〜１１３は本実施形態の動画像符号化装置１００の根幹となるブロックである。１１１は二値化データエッジカウンタ部（エッジカウンタ）であり、０から１、あるいは１から０への遷移点の出現回数をカウントする。１１２は二値化データエッジカウンタ部１１１のカウンタ出力Ｃから算術符号長を推定する算術符号長推定部、１１３は量子化ステップ制御部であり、算術符号長推定部１１２より出力された発生符号量推定値ｆ（ｃ）を基に、量子化ステップを制御する。
【００３８】
図２に、二値化データエッジカウンタ部１１１の内部構成を示す。
本実施形態の二値化データエッジカウンタ部１１１は３つの内部ユニットから構成される。すなわち、フリップフロップ２０１により、入力される二値化データに対して１ビット単位での遅延を行う。
【００３９】
２０２は排他的論理和回路であり、連続する２ビット間の符号に対して演算を行う。２０３はカウンタであり、排他的論理和回路の出力が「１」となる場合のみカウントアップを行う。カウンタのクロックとしては、二値データの出力ビットに同期したクロックが入力され、排他的論理和の出力は、カウンタのイネーブル信号として使用される。
【００４０】
２０４はマクロブロック境界検出部であり、二値化データのマクロブロック境界を検知し、カウンタをリセットする信号を発生する。このような構成により、本実施形態の二値化データエッジカウンタ部１１１は、二値化符号データの連続する２ビットのデータ間において、「０」から「１」、または「１」から「０」への移行回数を計数することができる。図３に、二値化データエッジカウンタ部１１１のカウント例を示す。
【００４１】
図７に、二値化データ符号量とカウント数の例を示す。従来例で前述した算術符号長をＭ、カウント数をＣとし、この比をベータとすると、β＝２．０〜２．１３となり、算術符号長とカウント値の間に優位な相関があることがわかる。これについては、以下のような事象により説明が可能である。
【００４２】
すなわち、プレフィックスは「１」の連続であり、算術符号ではＭＰＳが連続発生する確率が高いため、高い符号化効率を得ることができる。一方、カウント値についても、「１」の連続点についてはカウントされないため、プレフィックス部のカウント値としては「０」あるいは「１」が出力され、算術符号の特性により近い値となる。ポストフィックスについては、ランダムな二値データをとり得るが、ここでも値の変化点のみをカウントすることによって、算術符号の振る舞いをエミュレーション（emulation）することができる。
【００４３】
具体的には、値の変化点では算術符号化においても予測が外れ、ＬＰＳが出現する確率が増加するため、符号化効率が低下する。これは値の変化点において、カウントアップするというカウンタの動作仕様と近似だからである。
【００４４】
したがって、符号量推定関数をｆ(Ｃ)とすれば、式２のごとくＣを求めてβの値を掛けることによってＭを推定することが可能である。
Ｍ＝Ｆ(Ｃ)＝βC・・・（式２）
【００４５】
たとえば、図７の例においては、β＝２．０７と指定した上で推測を行うことにより、算術符号量に対して、誤差７％程度の範囲での符号量推測が可能である。なお、実施形態においては、F(C)をリニアな関数としたが、統計的に求めた、より高度なノンリニア関数を用いることでより精度が高まる可能性があることは言うまでも無い。
【００４６】
前述したように、本実施形態の動画像符号化装置１００の場合は、二値化部１０９によって二値化されたデータにおいて、連続した少なくとも２ビットの値の変化パターン、すなわち、ビット変化パターン検出（ビットパターン検出：遷移情報検出）を行う。そして、値の変化点を二値化データエッジカウンタ部（エッジカウンタ）１１１によってカウントするようにした。さらに、算術符号長推定部１１２が、ビットパターンの変化の検出結果、具体的には二値化データエッジカウンタ部１１１のカウント検出を用いて、前記算術符号化手段による発生符号量を推定する。これにより、符号量を予測する精度を向上することができ、符号量制御を正確に行うことが可能となり、符号化後の画質を向上することができる。
【００４７】
また、本実施形態の動画像符号化装置１００においては、画像データの各フレームを所定のブロックサイズに分割する。そして、ブロックごとに符号化を行う際に、ITU-T H.264あるいはISO/IEC 14496-10 (MPEG-4 Advanced Video Coding)規格に準拠して行う。
【００４８】
さらに、前記ITU-T H.264あるいはISO/IEC 14496-10 (MPEG-4 Advanced Video Coding)規格に準拠するものとする。そして、特定の符号化要素をユーナリ符号化、トランケーテッドユーナリ符号化、または指数ゴロム符号化のうちのどれかを用いて二値化が行われる。
【００４９】
（第２の実施形態）
次に、第２の実施形態の動画像符号化装置５００を、図５のブロック図を参照しながら説明する。本実施形態の動画像符号化装置５００は、ブロックの符号化属性に対応する複数の符号量推定機能を有している。
【００５０】
図５において、符号１０１〜１１３を付したブロックの構成は、前述した図１において、符号１０１〜１１３を付して説明したブロックの構成と同様であるので、詳細な説明を省略する。
【００５１】
第１の実施形態の動画像符号化装置１００では、補正値βの値を、たとえば「２．０７」に固定して演算を行っていた。実際にはこの値は、マクロブロックの属性に応じて修正することにより高精度な推測が可能になる。
【００５２】
図５においては、複数の符号量推定機能を設けた例を示している。すなわち、ノンイントラマクロブロック用符号量推定部５１４、イントラマクロブロック用符号量推定部５１５を設け、これをセレクタ５１６で切り替えるようにしている。セレクト信号は、マクロブロックタイプ判定部５０３から導出される。本実施形態のマクロブロックタイプ判定部５０３は、ブロックの符号化属性を判定する符号化属性判定機能を有している。また、セレクタ５１６は、マクロブロックタイプ判定部５０３の判定結果に応じて、符号量推定手段が有する複数の符号量推定機能をの中から１つを選択する。
【００５３】
実際には、決定されたマクロブロックタイプに応じてβ値を切り替える。本実施形態では、マクロブロックタイプによって推測する関数を、ｆ１(Ｃ)及びｆ２(Ｃ)として表記している。これらの関数については、マクロブロック属性ごとにＣとＭの統計を取って求めることが可能である。
【００５４】
（第３の実施形態）
以下、図８のブロック図を参照しながら本発明の第３の実施形態を説明する。
図８において、２１０１は画像メモリであり、符号化の対象となるフレーム及び動き補償で用いる参照フレームを一時的に保持する。２１０２は動き検出部であり、動きベクトルの検出を行う。
【００５５】
２１０３はマクロブロックタイプ判定部であり、各マクロブロックに対して、フレーム内符号化（イントラ）か、フレーム間符号化（インター／ノンイントラ）かの判定を行う。この判定の結果、イントラの場合はフレーム内予測モードの決定を行う。また、マクロブロック内のサブマクロブロックへのパーティション分割判定を行う。
【００５６】
２１０４は動き補償部であり、動き検出部２１０２で求められた動きベクトルやマクロブロックタイプを用いて、指定された動き補償処理を行い、局所（ローカル）デコード画像を生成する。２１０５は整数変換部であり、所定のマクロブロックデータを周波数スペクトルに変換する。
【００５７】
２１０６は量子化部であり、整数変換によって得られた係数データを量子化する。２１０７は逆量子化部であり、局所（ローカル）デコード画像を生成するための逆量子化処理を行う。２１０８は逆変換部であり、逆整数変換処理を行う。二値化部２１０９では、量子化部２１０６より出力される量子化済みの係数データ、動きベクトル、及びマクロブロックに付随する各種情報など、すべての符号化要素（シンタックスエレメントと呼称される）の二値化を行う。二値化の方式については、各シンタックスエレメントによって異なった符号表が定義されている。
【００５８】
二値化の具体的な方法としては、図４に示すごとく、Unary Binarization（ユーナリ符号）。Truncated Unary Binarization（トランケートユーナリ符号）。Exponential Golomb Binarization（指数ゴロム符号：以下EG法と略す）のほかに、各種フラグやテーブル参照方式がある。この中でも、マクロブロックデータ中の符号量において支配的に高い割合となる動きベクトルや変換係数の二値化には、EG法が使用されている。
【００５９】
算術符号化部２１１０は、二値化部２１０９より出力された二値化データを１ビットずつの順次処理によって、算術符号化を行い出力するストリームを生成する。
【００６０】
次に、レベルコンパレータ部２１１１は、量子化部２１０６より出力される量子化済データを観測し、そのカウント値を判定して得られる、二値化データに対する補正処理を制御するための信号を、符号量補正部２１１２へ送る。符号量補正部２１１２は、二値化部２１０９より出力された２値データの観測値と、レベルコンパレータ部２１１１における判定結果とから、算術符号化後の発生符号量を推定し、発生符号量推定値を出力する。２１１３は量子化ステップ制御部であり、符号量補正部２１１２より出力された発生符号量推定値を基に、量子化ステップを制御する。
【００６１】
次に、図９を用いて、図８のレベルコンパレータ部２１１１の詳細な説明を行う。
図９に示す量子化データレベルコンパレータ部２２０１は、入力された量子化済データが所定の範囲に含まれる値であるか否かを判定する、第１の判定を行う。ここで、所定の範囲内の値である場合には、カウンタ２２０２をカウントアップする。本実施形態においては、第１の判定を行う所定の範囲は、前記量子化データの要素に応じて切替えるようにしている。
【００６２】
カウンタ値観測＆判定部２２０３では、カウンタ２２０２のカウンタ値を観測しており、マクロブロック終了信号を受けた時点でのカウンタ値が、所定の閾値以上であるか否かを判定する、第２の判定を行う。この所定の閾値以上であるか否かの結果を出力する。また、マクロブロック終了信号を受けるとカウンタ２２０２のカウンタ値をリセットし、次のマクロブロック処理への準備をする。本実施形態においては、第２の判定を行う閾値は量子化データの要素に応じて切替えるようにしている。
【００６３】
次に、図１０のフローチャートを参照しながら図８のレベルコンパレータ部２１１１の処理手順を説明する。ここでは、入力される量子化済データのシンタックスエレメントが、周波数変換係数の係数絶対値情報（coeff_abs_level_minus1）の場合について具体的に説明する。
【００６４】
まず、ステップＳ１０１において、入力される量子化済データの値が、閾値以上か否かを、量子化データレベルコンパレータ部２２０１にて判定する。ここでは、閾値を１５と設定する。つまり、入力される量子化後のデータが１５以上か否かを判定する。ここで閾値を１５と設定している理由を簡単に説明する。周波数変換係数の係数絶対値情報において、量子化済データと二値化データについては図１１のような関係がある。
【００６５】
図１１において、量子化済データが１５以上の場合には、出力される２値データに「１」の連続性が顕著に見られる。算術符号化の特性として、入力される２値データにおいて同一データが連続して発生する場合には、発生符号量が減少し、２値データの符号長と発生符号量間の差異が大きくなる。本実施形態においては、このような理由により、閾値を「１」の連続性が顕著に現れる１５としている。
【００６６】
ステップＳ１０１において入力される量子化済データが１５以上と判定された場合にはステップＳ１０２に進み、カウンタ２２０２をカウントアップさせる。次に、ステップＳ１０３において、カウンタ値観測＆判定部２２０３において、入力されるマクロブロック終了信号において、終了信号を検知した場合には、処理を次のステップであるステップＳ１０４へ移行する。ステップＳ１０１の判定の結果、入力される量子化済データが１５以上ではなかった場合にはステップＳ１０２を経由せずにステップＳ１０３に進む。
【００６７】
一方、ステップＳ１０３において終了信号が検知されない場合には、終了信号を検知するまで、ステップＳ１０１、ステップＳ１０２、ステップＳ１０３を繰り返す。
【００６８】
次に、ステップＳ１０４において、カウンタ値観測＆判定部２２０３において、マクロブロック終了信号を検知した際のカウンタ値が閾値以上か否かを判定する。ここでの閾値は、マクロブロック１６×１６の過半数以上となる１２９を設定する。また、ここでのカウンタ値は、該マクロブロック単位で、ステップＳ１０１において量子化済データが閾値以上と判定された個数を示すものである。
【００６９】
ステップＳ１０４の判定の結果、カウンタ２２０２のカウンタ値が閾値未満と判定された場合には、ステップＳ１０６に進み、該マクロブロックのカウンタ値が閾値未満であることを示す信号（ここでは「０」とする）を出力する。その後、ステップＳ１０７に進んでカウンタ値をクリアして処理を終了する。
【００７０】
また、ステップＳ１０４の判定の結果、カウンタ値が閾値以上と判定された場合には、ステップＳ１０５に進み、カウンタ値が閾値以上であることを示す信号（ここでは「１」とする）を出力する。その後、ステップＳ１０７に進んでカウンタ値をクリアして処理を終了する。
【００７１】
以上、説明した実施形態では、入力される量子化済データのシンタックスエレメントが周波数変換係数の係数絶対値情報（coeff_abs_level_minus1）である場合について説明した。しかしながら、量子化後のデータにおいては、該データよりシンタックスエレメントを判定することが可能である。このために、他のシンタックスエレメント（例えば、動きベクトル情報や参照インデックス情報など）の量子化済データが入力される場合には、図１１で示したような量子化データと二値化データの関連テーブルがシンタックスエレメントに応じて異なる。したがって、該シンタックスエレメントに応じて閾値を設定することで、適切な処理及び結果を得ることが可能となる。
【００７２】
次に、符号量補正部２１１２の動作について詳細に説明する。
符号量補正部２１１２では、観測した２値データから算術符号化後の発生符号量を推定する。２値データの符号長をＮ（ビット）、推測された算術符号後の符号長をＭ（ビット）とし、その比率をα（＝Ｍ／Ｎ）とおくと、次の式が得られる。Ｍ＝αＮ ・・・（式３）
【００７３】
上記式３のαの値を制御することで、発生符号量の推定を算出する。ここで、レベルコンパレータ部２１１１において、レベルコンパレータ内のカウンタ値が閾値未満と判定された信号（ここでは「０」とする）が出力された場合にはα＝０．７５とする。これは、（従来例の統計値であるα≒０．６〜０．９の平均値）として、二値化データより発生符号量の推定値を算出する。また、該カウンタ値が閾値未満と判定された信号（ここでは「１」とする）が出力された場合にはα＝０．６と設定して、二値化データより発生符号量の推定値を算出する。
【００７４】
このように、レベルコンパレータ内のカウンタ値が閾値以上と判定された場合には、閾値未満と判定された場合のα値より小さい値を設定することで、発生符号量の推定値を小さく見積もる。これは、上記で説明したように、算術符号化の特性として、入力される２値データにおいて同一データが連続して発生する場合には、発生符号量が減少し、２値データの符号長と発生符号量間の差異が大きくなることによる。
【００７５】
次に、上記周波数変換係数の係数絶対値情報において、直流成分（ＤＣ）と交流成分（ＡＣ）の特徴を用いた制御方法を説明する。
一般的に、直流成分と交流成分を比較すると、直流成分の係数のほうが大きい。よって比較的値の大きい直流成分を二値化すると、「１」の連続する二値化データが出力されることになり、算術符号後の発生符号量との差分が大きくなる。
【００７６】
したがって、図８のレベルコンパレータ部２１１１において、内部のカウンタ値が閾値以上であることを検知し、対応する信号を出力することで、後段の符号量補正部２１１２において上記差分を吸収する。交流成分においては、基本的には係数値が小さいために、２値データと発生符号量との関連が一様となる。
【００７７】
また、ＡＣ成分にて突発的に係数値が大きくなる場合には、発生符号量も大きくなるが、マクロブロック単位でカウンタ値の閾値を観測することで、カウンタ値は閾値未満となる。したがって、後段の符号量補正部２１１２にてα値を下げる制御を行わないことにより、直流成分、交流成分各々に対して精度の高い符号量補正を行う。
【００７８】
前述した実施形態において説明した値の範囲や閾値については、シンタックスエレメントに応じて設定を変更することが可能であることはもちろんのこと、符号化装置の特性や画質に応じても設定可能である。
【００７９】
また、前述したように、発生符号量の推定値において、二値化データの符号長からのみ算出するのではなく、量子化済データをシンタックスエレメントに応じて、適応的に使用することで、より精度高く発生符号量を推定することを可能とする。
【００８０】
（本発明に係る他の実施形態）
前述した本発明の実施形態における動画像符号化装置を構成する各手段は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００８１】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８２】
なお、本発明は、前述した動画像符号化方法における各工程を実行するソフトウェアのプログラム（実施形態では図１０に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００８３】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００８５】
プログラムを供給するための記録媒体としては種々の記録媒体を使用することができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００８６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００８７】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現され得る。
【００９０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００９１】
【図１】本発明の第１の実施形態を示し、動画像符号化装置の構成例を説明するブロック図である。
【図２】本発明の第１の実施形態を示し、本発明の第１の実施形態におけるエッジカウンタ部の構成例を説明するブロック図である。
【図３】本発明の第１の実施形態を示し、エッジカウンタのカウント例を示す図である。
【図４】本発明の第３の実施形態を示し、二値化方式の例を一覧的に説明する図である。
【図５】本発明の第２の実施形態を示し、動画像符号化装置の構成例を説明する図である。
【図６】ユーナリ符号の例を一覧的に説明する図である。
【図７】本発明の第１の実施形態を示し、本発明によるＭ/Ｃの比率の例を示す図である。
【図８】本発明の第３の実施形態を示し、動画像符号化装置の構成例を説明するブロック図である。
【図９】本発明の第３の実施形態を示し、レベルコンパレータ部の詳細な構成例を示すブロック図である。
【図１０】本発明の第３の実施形態を示し、レベルコンパレータ部の処理手順を説明するフローチャートである。
【図１１】本発明の第３の実施形態を示し、量子化済データと二値化データとの関係を示す図である。
【図１２】従来例を示し、従来例の発生符号量／２値データ符号長の比率の例を示す特性図である。
【図１３】従来例を示し、H.264規格に対応した符号化装置の構成例を示すブロック図である。
【図１４】従来例を示し、指数ゴロム符号の符号の一例を一覧的に説明する図である。
【符号の説明】
【００９２】
１００  動画像符号化装置
１０１  画像メモリ
１０２  動き検出部
１０３  マクロブロックタイプ判定部
１０４  動き補償部
１０５  整数変換部
１０６  量子化部
１０７  逆変換部
１０８  逆量子化部
１０９  二値化部
１１０  算術符号化部
１１１  二値化データエッジカウンタ部（エッジカウンタ）
１１２  算術符号長推定部
１１３  量子化ステップ制御部
【図１】
2010130522.tif 000003
【図２】
2010130522.tif 000004
【図３】
2010130522.tif 000005
【図４】
2010130522.tif 000006
【図５】
2010130522.tif 000007
【図６】
2010130522.tif 000008
【図７】
2010130522.tif 000009
【図８】
2010130522.tif 000010
【図９】
2010130522.tif 000011
【図１０】
2010130522.tif 000012
【図１１】
2010130522.tif 000013
【図１２】
2010130522.tif 000014
【図１３】
2010130522.tif 000015
【図１４】
2010130522.tif 000016