(57)【特許請求の範囲】
【請求項１】
映像信号を構成するピクチャを圧縮符号化する映像符号化装置であって、
圧縮符号化処理の途中結果である符号と、前記圧縮符号化処理の最終結果である圧縮符号との、ピクチャあたりの符号長を用いて、符号量制御に用いる仮想バッファの占有量を算出する算出部を備え、
前記算出部は、前記最終結果である圧縮符号の符号長により仮想バッファ占有量を算出し、さらに引き続いて、前記途中結果である符号の符号長を発生符号量の符号長であると見なして前記仮想バッファの占有量を算出し、
前記算出部は、前記仮想バッファの占有量を算出する場合、（１）前記最終結果である圧縮符号の符号長が得られるまでは、前記途中結果である符号の符号長そのものに基づいて、前記仮想バッファの占有量を算出し、（２）前記最終結果である圧縮符号の符号長が得られた場合は、前記得られた最終結果である圧縮符号の符号長に対応する前記途中結果である符号の符号長に代えて、前記得られた最終結果である圧縮符号の符号長に基づいて、前記仮想バッファの占有量を算出し、
前記途中結果である符号の符号長は、前記圧縮符号化処理過程で得られる1ピクチャを構成するデータ列の総ビット数である、
映像符号化装置。
【請求項２】
映像信号を構成するピクチャを圧縮符号化する映像符号化方法であって、
圧縮符号化処理の途中結果である符号と、前記圧縮符号化処理の最終結果である圧縮符号との、ピクチャあたりの符号長を用いて、符号量制御に用いる仮想バッファの占有量の算出を行い、
前記算出では、前記最終結果である圧縮符号の符号長により仮想バッファ占有量を算出し、さらに引き続いて、前記途中結果である符号の符号長を発生符号量の符号長であると見なして前記仮想バッファの占有量を算出し、
前記算出では、前記仮想バッファの占有量を算出する場合、（１）前記最終結果である圧縮符号の符号長が得られるまでは、前記途中結果である符号の符号長そのものに基づいて、前記仮想バッファの占有量を算出し、（２）前記最終結果である圧縮符号の符号長が得られた場合は、前記得られた最終結果である圧縮符号の符号長に対応する前記途中結果である符号の符号長に代えて、前記得られた最終結果である圧縮符号の符号長に基づいて、前記仮想バッファ占有量を算出し、
前記途中結果である符号の符号長は、前記圧縮符号化処理過程で得られる1ピクチャを構成するデータ列の総ビット数である、
映像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像信号の符号化装置及び映像符号化方法に関し、磁気ディスクやフラッシュメモリなどの記録メディアへの映像記録に関するものである。
【背景技術】
【０００２】
映像符号化方式Ｈ．２６４方式においても、ＭＰＥＧ−２と同様に、仮想バッファによるコンフォーマンス保証方式が規格として規定されている（非特許文献１）。これは、デコーダでのバッファアンダーフローをおこさないようにエンコーダ側で発生符号量を制御することにより、デコーダでの再生時の途切れがないことを保証するものである。この制御のため、エンコーダ側にてデコーダバッファに相当する仮想バッファを用意する。
【０００３】
以上の点を、図５、図６を用いて説明する。図５において、１０００は映像符号化装置の一例であって、画像並替手段１００１、直交変換手段１００２、量子化手段１００３、可逆符号化手段１００４、レート制御手段１００６、逆量子化手段１００７、逆直交変換手段１００８、フレームメモリ１００９、動き予測・補償手段１０１０については、ＭＰＥＧ−２やＨ．２６４などの映像符号化装置での構成手段であって、その詳細は例えば（非特許文献２）に開示されているので、説明を省略する。
【０００４】
１００５はバッファシミュレーション手段であって、図６を用い、この動作を説明する。図中の記号は、それぞれ、
Ｒ    ：デコーダバッファへの入力ビットレート
Ｂ    ：デコーダバッファのサイズ
Ｆ    ：デコーダが最初のピクチャをバッファから引き抜く時のバッファ占有量
Ｄ    ：デコーダが最初のピクチャをバッファから引き抜く時の遅延時間
ｔ＿ｉ：各ピクチャ{ｉ}の表示時刻
ｂ＿ｉ：各ピクチャ{ｉ}の符号量（可逆符号化手段１００４が出力する符号量をピクチャ毎に計数した結果）
である（ここで、ピクチャとは、フレーム、もしくはフィールドのどちらかである）。
【０００５】
そして、Ｆ＿ｉを、時刻ｔ＿ｉでのピクチャ符号量ｂ＿ｉを引き抜く直前のバッファ占有量とすると、以下の式が成り立つ。
【０００６】
Ｆ＿０  ＝  Ｆ                                                    （式１）
Ｆ＿{ｉ＋１}＝min(Ｂ，Ｆ＿ｉ−ｂ＿ｉ＋Ｒ×(ｔ＿{ｉ＋１}−ｔ＿ｉ))    （式２）
【０００７】
ＭＰＥＧ−２やＨ．２６４における可変ビットレートにおいては、エンコーダは以下の式を満足するように符号化しなければならない。
【０００８】
Ｆ＿ｉ  −  ｂ＿ｉ  ≧  ０                                        （式３）
【０００９】
この式は、引抜き時に必要なビット（ｂ＿ｉ）以上のビットがバッファに蓄積済みであること、を意味している。この条件を満足する場合には、デコーダは、復号化時に必要なビットが無い、という状態に陥ることがなく、その結果、再生画の途切れが生じないようにできる。
【非特許文献１】ITU-T Ｈ．２６４ (03/2005) : Infrastructure of audiovisual services-Coding of moving video, Advanced video coding for generic audiovisual services
【非特許文献２】大久保他、Ｈ．２６４/AVC 教科書、(株)インプレス (2004)
【特許文献１】特開２００６−３３０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、Ｈ．２６４が採用する可逆符号化方式のうち、ＣＡＢＡＣ方式では、その方式が内在する２値算術符号化で用いる確率推定値が直前の処理結果に依存するため、処理が逐次処理となる。このため、その処理能力は回路の処理サイクル数に依存し、現在のハードウェア性能では、１ピクチャの処理を１ピクチャ以内に完了させることができない。
【００１１】
つまり、図５の可逆符号化手段１００４と、それ以外の手段、すなわち直交変換手段１００２、量子化手段１００３などの、可逆符号化手段１００４までの手段とが、非同期に動作する構成をとらざるを得ない。これは、可逆符号化手段１００４の処理が完了する前に、それ以外の手段が次のピクチャの符号化を開始する、ということである。
【００１２】
ところが、バッファシミュレーション手段１００５は、可逆符号化手段１００４の出力する各ピクチャの符号量ｂ＿ｉを必要とするため、その処理を完了させることができず、結果として、レート制御手段１００６も必要な計算を行うことができなくなり、従来の構成のままでは、レート制御を行う画像符号化装置を提供することができない、という課題がある（課題１）。
【００１３】
この課題１に対し、バッファシミュレーション手段１００５の入力となる符号量ｂ＿ｉとして、その推定符号量を用いる方法が考えられる。例えば、（特許文献２）が開示する方式は、ピクチャ内での発生符号量制御をＭＢ毎の推定符号量により行うもの、であるが、この方式にて用いられているＭＢ毎符号量推定を、ピクチャでの発生符号量に適用することが考えられる。すなわち、可逆符号化手段１００４での処理が完了する前に、符号量推定処理を行い、この結果を用いバッファシミュレーション手段１００５を実行することにより、課題１を解決するものである。
【００１４】
なお、符号量推定の方式に関しては、別に、（特許文献３）などの開示もある。
【特許文献２】特開２００７−１２４１２２号公報
【特許文献３】特開２００７−１５８４３０号公報
【００１５】
しかし、推定符号量には、誤差が存在するため、その誤差の蓄積により、バッファシミュレーションにおいてアンダーフローが発生する可能性がある。つまり、推定符号量を用いた方式には、誤差の影響により本来のコンフォーマンス保証の目的であるデコーダバッファのアンダーフロー防止、を達成することができない、という課題がある（課題２）。
【課題を解決するための手段】
【００１６】
本発明の映像符号化装置は、映像信号を構成するピクチャを圧縮符号化する映像符号化装置であって、前記ピクチャを取得する取得部と、前記ピクチャを符号化する際のバッファシミュレーションを行うバッファシミュレーション部と、前記バッファシミュレーションの結果に従って、前記取得部が取得したピクチャを圧縮符号化する符号化部と、を備え、前記バッファシミュレーション部は、前記符号化部の圧縮符号化処理過程において生成される情報から、現在の符号化対象であるピクチャよりも前に取得したピクチャの予測符号量を決定し、当該予測符号量に基づいてバッファシミュレーションする一方、現在の符号化対象であるピクチャよりも前に取得したピクチャのうち既に前記符号化部から一部のピクチャが出力されている場合、当該一部のピクチャに対応する予測符号量に代えて実際に前記符号化部から出力した際の符号量に基づいてバッファシミュレーションする。
また、本発明の映像符号化装置は、映像信号を構成するピクチャを圧縮符号化する映像符号化装置であって、符号量制御に用いる仮想バッファの占有量の算出手段において、圧縮符号化処理の途中結果である符号と、最終結果である圧縮符号との、ピクチャあたりの符号長を用いるとしてもよい。
【００１７】
また、本発明の別の映像符号化装置は、前記の映像符号化装置であって、前記算出手段において、最終結果である圧縮符号の符号長により仮想バッファ占有量を算出し、さらに引き続いて、圧縮符号化処理の途中結果である符号の符号長を発生符号量の符号長であると見なしてバッファ占有量を算出することを特徴とする。
【００１８】
また、本発明の別の映像符号化装置は、前記の映像符号化装置であって、圧縮符号化処理の途中結果である符号として、可逆符号化処理手段を構成する二値算術符号化処理手段の前段である二値化処理手段の出力である符号を用い、この符号のピクチャあたり符号量を用いることを特徴とする。
【００１９】
また、本発明の映像符号化方法は、映像信号を構成するピクチャを圧縮符号化する映像符号化方法であって、符号量制御に用いる仮想バッファの占有量の算出において、圧縮符号化処理の途中結果である符号と、最終結果である圧縮符号との、ピクチャあたりの符号長を用いることを特徴とする。
【００２０】
また、本発明の別の映像符号化方法は、前記の映像符号化方法であって、最終結果である圧縮符号の符号長により仮想バッファ占有量を算出し、さらに引き続いて、圧縮符号化処理の途中結果である符号の符号長を発生符号量の符号長であると見なしてバッファ占有量を算出することを特徴とする。
【００２１】
また、本発明の別の映像符号化方法は、前記の映像符号化方法であって、圧縮符号化処理の途中結果である符号として、可逆符号化処理を構成する二値算術符号化処理の前処理である二値化処理の生成する符号を用い、この符号のピクチャあたり符号量を用いることを特徴とする映像符号化方法。
【発明の効果】
【００２２】
以上のように、本発明の映像符号化装置及び映像符号化方法によれば、圧縮符号化処理の途中結果である符号を用いることにより、バッファシミュレーションが必要なタイミングでの処理が可能となる。
【００２３】
また、二値化処理の生成する符号など、実際の発生符号量の上限値を用いて制御することにより、推定誤差によるバッファアンダーフローが発生しないようにすることができる。
【００２４】
さらに、確定している実符号量をも考慮することにより、過度な符号量制限をも回避することができる。
【発明を実施するための最良の形態】
【００２５】
以下に、本発明の実施の形態について、図面を参照しながら説明する。
【００２６】
（実施の形態１）
図１は本発明の実施の形態１における映像符号化装置１００のブロック図である。画像並替手段１００１、直交変換手段１００２、量子化手段１００３、可逆符号化手段１００４、レート制御手段１００６、逆量子化手段１００７、逆直交変換手段１００８、フレームメモリ１００９、動き予測・補償手段１０１０については、ＭＰＥＧ−２やＨ．２６４などの映像符号化装置での構成手段であって、その詳細は例えば（非特許文献２）に開示されているので、説明を省略する。
【００２７】
二値化手段１０１、算術符号化手段１０２はＨ．２６４において採用されたＣＡＢＡＣ方式を構成する手段である。これらの詳細は、（非特許文献１）および（非特許文献２）に記載されている。
【００２８】
バッファシミュレーション手段１０３は、従来例にて説明したバッファシミュレーション手段１００５と同様のものであるが、バッファシミュレーション手段１０３はさらに、二値化手段１０１の出力するＢＩＮ量と、算術符号化手段１０２の出力する実符号量とを用いて、バッファシミュレーションを行う。
【００２９】
ここで、ＢＩＮ量とは、二値化手段１０１が算術符号化手段１０２に出力する二値化データのうち、１ピクチャを構成するデータ列の総ビット数を表す。また、実符号量とは、算術符号化手段１０２が出力する画像圧縮情報のうち、１ピクチャを構成するデータ列の総ビット数を表す。
【００３０】
バッファ１０４は、ピクチャ毎のＢＩＮ量を保持するバッファである。その動作を説明するために図２を用いる。
【００３１】
数直線２０１は、ＢＩＮ量が判明する時刻、数直線２０２は、実符号量が判明する時刻、をそれぞれ表している。この例では、時刻ｔ＿{４}においてピクチャ{４}のＢＩＮ量が判明した時点では、ピクチャ{０}までの実符号量が判明していることを表している。
【００３２】
この場合に、バッファ１０４には、ピクチャ{１}からピクチャ{４}までのＢＩＮ量が蓄積されるように制御を行う。この制御は、例えば、二値化手段１０１及び算術符号化手段１０２がそれぞれＢＩＮ量、実符号量を出力する時に、時刻情報{ｎ}も同時に出力するようにし、バッファシミュレーション手段１０３が算術符号化手段１０２より実符号量を受取った時に、同時に受取った時刻情報に対応するＢＩＮ量のエントリをバッファ１０４から削除するように制御信号を出力するようにすれば良い。このようにすることで、バッファ１０４には、二値化手段１０１までの処理が完了しているが算術符号化手段１０２での処理は未完了であるピクチャに対応するＢＩＮ量が保持されていることになる。
【００３３】
以上のようなバッファ１０４の動作において、バッファシミュレーション手段１０３は、従来例の説明にて記載した数式（式１）、（式２）に基づき、実符号量が判明している期間については実符号量をｂ＿ｉとして、バッファ占有量Ｆ＿ｉを更新する。さらに、それ以降の期間、すなわち、未だ実符号量が判明していない期間については、バッファ１０４に蓄積されたＢＩＮ量をｂ＿ｉとして、バッファ占有量Ｆ＿ｉを更新する。
【００３４】
このようなバッファシミュレーション手段１０３での動作は、例えば、フローチャートでは図４のように示すことができる。まず、４０１にて初期化を行う。ここで、Ｆ＿ｊは、実符号量を用いたバッファシミュレーションでの占有量である。また、ｉは、次に通知される実符号量に対応するピクチャの番号、ｊは次に通知されるＢＩＮ量に対応するピクチャの番号、を表す。４０２は、イベント待ちであって、二値化手段１０１からのＢＩＮ量の通知と、算術符号化手段１０２からの実符号量の通知とは、非同期に発生するため、これら２つのイベントを待つため、である。実符号量が通知された場合には、４０９にて、実符号量をｂ＿ｉとして、Ｆ＿ｉを更新する。
【００３５】
次に、４１０にてバッファ１０４よりピクチャ{ｉ}のエントリを削除し、最後に４１１にて変数ｉを１だけインクリメントし、イベント待ち４０２に移行する。
【００３６】
また、ＢＩＮ量が通知された場合には、４０３にて、変数ｊを１だけインクリメントする。次に、Ｆ＿ｊを初期値として、ピクチャ{ｉ}からピクチャ{ｊ−１}までの ＢＩＮ量を用いたバッファシミュレーションにより、占有量Ｆ’＿{ｊ}を算出する（４０４〜４０８）。求めた占有量Ｆ’＿{ｊ}は、ピクチャ{ｉ}までは実符号量、ピクチャ{ｉ＋１}からピクチャ{ｊ−１}まではＢＩＮ量、をそれぞれ用いてバッファシミュレーションした場合の占有量である。
【００３７】
ここで、ＢＩＮ量通知の処理（４０３〜４０８，４１２）においては、占有量としてＦ’＿{ｊ}という変数を用いているが、これは、実符号量により求まる本来の占有量Ｆ＿{ｊ}と、ＢＩＮ量を用いて算出している仮の占有量とを区別するためである。
【００３８】
以上のフローチャートの理解を助けるため、次のような例を考える。図２の場合のように、現時刻がｔ＿{４}であって、
実符号量は、ピクチャ{０}までの値が判明
している状態で、
ピクチャ{４}のＢＩＮ量が判明した場合には、
Ｆ＿ｉは、ピクチャ{0}の実符号量により算出した値
であり、また、
ｉ＝１
ｊ＝４
であって、その後、４０３での処理により、
ｊ＝５
となる。
【００３９】
さらに、４０６，４０７，４０８，４１２でのループ処理により、バッファ１０４に蓄積されているピクチャ{１}からピクチャ{４}までのＢＩＮ量をｂ＿ｉとして（式２）により、Ｆ’＿ｊを更新する。
【００４０】
このようにして求めたＦ’＿ｊは、ピクチャ{４}までを考慮したバッファ占有量であって、ピクチャ{５}でのレート制御に用いる値となる。すなわち、ピクチャ{５}において、（式３）を満足するように、すなわち発生符号量がＦ’＿ｊ以下になるように発生符号量制御が行われる。
【００４１】
以上の説明で用いた変数と、バッファシミュレーションでのグラフ図との関係とを図３に例示する。図のように、時刻{４}でのバッファ占有量Ｆ’＿{４}は、真のバッファ占有量Ｆ＿{４}よりも小さな値となっている。ここで、実線が真のバッファ占有量の遷移、点線がＢＩＮ量を用いて算出した仮のバッファ占有量の遷移、をそれぞれ表している。
【００４２】
このとき重要なのは、一般に、ＢＩＮ量＞実符号量の関係が成り立つため、ＢＩＮ量を用いて算出したバッファ占有量Ｆ’＿{ｎ}は、真のバッファ占有量Ｆ＿{ｎ}よりも小さい値となる。そしてこの小さい値Ｆ’＿{ｎ}を用いてバッファアンダーフローが生じないように、すなわち（式３）を満足するように、レート制御手段１００６が発生符号量を抑えるように制御を行うことで、真のバッファ占有量から見たときには必ずバッファがアンダーフローしないようにできる。
【００４３】
例えば、図３の場合であれば、ピクチャ{４}までの二値化手段１０１の処理が完了している場合に、（式２）を適用してＦ’＿{５}の値を求める。そして、（式３）を用いて、次のピクチャ{５}での発生符号量の上限値を決定する。すなわち、Ｆ’＿{５}を上限値として、レート制御処理を行うようにする。先に説明した通り、Ｆ’＿{５}＜Ｆ＿{５}なので、
ピクチャ{５}での発生符号量＜Ｆ’＿{５}＜Ｆ＿{５} 
となって、（式３）を満足する、すなわち、アンダーフローを発生しないようにできる。
【００４４】
以上のように本実施の形態によれば、バッファアンダーフローによるコンフォーマンス違反を生じないため、デコーダでの映像途切れが発生しない符号化データを生成可能な映像符号化装置を提供できる。また、実符号量が判明している区間については、実符号量を用いたバッファシミュレーションを行っているため、バッファシミュレーションの誤差が大きな値にならない。このため、過度な符号量制御が発生するのを避けることができる。
【００４５】
なお、本実施の形態においては、圧縮符号化処理の途中結果として、ＢＩＮ量、すなわち、Ｈ．２６４での可逆符号化での二値化処理、での符号のピクチャあたり符号量を用いる場合について説明したが、実符号量より常にその長さが長い、という条件を満足する符号であれば、それ以外の値を用いるようにしてもよい。また、従来例において開示されているような推定符号量をＢＩＮ量の代わりに用いるようにしても良いが、その場合には、常に推定符号量の長さが実符号量の長さよりも長い、という条件を満足するような推定方式になっている必要がある。
【産業上の利用可能性】
【００４６】
本発明にかかる映像符号化装置は、規格上の制限を満足させるための処理、すなわちバッファアンダーフローを生じないようにするための仕組みを提供するものである。特に、Ｈ．２６４で採用されているＣＡＢＡＣ処理の回路実装上の制約に起因する、符号長が１ピクチャ以上遅れて判明する、という動作特性のある場合でも、規格上の制限を満足させるための方式を提供することができる方式、である。
【００４７】
今回取り上げた規格上の制限を満足できない場合には、圧縮映像の再生時に、その再生画像が途切れるなどの現象が発生することとなる。このような現象は商品性能として許容できないのであって、該現象を発生しないようにすることができる本発明の産業上利用可能性は高い。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の形態１における映像符号化装置の構成図
【図２】本発明の実施の形態１を説明するための図
【図３】本発明の実施の形態１を説明するための図
【図４】本発明の実施の形態１を説明するための図
【図５】従来方式を説明するための図
【図６】従来方式を説明するための図
【符号の説明】
【００４９】
１００  映像符号化装置
１０１  二値化手段
１０２  算術符号化手段
１０３  バッファシミュレーション手段
１０４  バッファ
１００１  画像並替手段
１００２  直交変換手段
１００３  量子化手段
１００４  可逆符号化手段
１００６  レート制御手段
１００７  逆量子化手段
１００８  逆直交変換手段
１００９  フレームメモリ
１０１０  動き予測・補償手段
【図１】
0005330672.tif 000002
【図２】
0005330672.tif 000003
【図３】
0005330672.tif 000004
【図４】
0005330672.tif 000005
【図５】
0005330672.tif 000006
【図６】
0005330672.tif 000007