(57)【要約】【課題】時間方向に画像を分割した場合のビットレート制御を効率良く行う動画像符号化装置を提供する。【解決手段】入力画像を解析して符号量割り当てを算出する符号量割り当て装置１０８と、前記符号量割り当てに従って、仮想的なデコーダバッファのバッファ占有量の遷移をシミュレーションするバッファ占有量予測装置１０９と、入力画像を時間方向に分割し、時間分割画像を生成する画像分割装置１０１と、前記シミュレーションされたバッファ占有量に基づいて、前記時間分割された各分割点における初期遅延量を算出する初期遅延量算出装置１１０と、前記符号量割り当て及び前記初期遅延量に従って、前記時間分割画像を符号化し、分割ビットストリームを生成する画像符号化装置１０２〜１０６と、前記分割ビットストリームを１つのビットストリームに結合するビットストリーム結合装置１０７とを有する。【選択図】      図１
2008085673.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を解析して符号量割り当てを算出する符号量割り当て部と、
前記符号量割り当てに従って、仮想的なデコーダバッファのバッファ占有量の時間的変化を予測する予測部と、
前記入力画像を時間方向に分割して、複数の時間分割画像を生成する分割部と、
前記バッファ占有量の時間的変化に基づいて、前記各時間分割画像の最初の画像のデコードが開始されるデコード開始時刻から、前記各時間分割画像の一つ前の時間分割画像の最後の画像が仮想的なデコーダバッファに伝送が終了する伝送終了時刻を減算した時間に関する初期遅延時間を算出する初期遅延時間算出部と、
前記符号量割り当て及び前記初期遅延時間に従って、前記各時間分割画像をそれぞれ符号化し、分割ビットストリームをそれぞれ生成する符号化部と、
前記各分割ビットストリームを１つのビットストリームに結合する結合部と、
を有する動画像符号化装置。
【請求項２】
前記符号化部を複数有し、前記各符号化部は、前記時間分割画像をそれぞれ符号化して分割ビットストリームをそれぞれ生成する、
請求項１記載の動画像符号化装置。
【請求項３】
前記初期遅延時間算出部は、
前記最初の画像のデコード開始時刻から前記直前の分割点の最後の画像が仮想的なデコーダバッファへ伝送が終了する伝送終了時刻を減算した時間と同じ時間、または、小さい時間を、前記各分割点の初期遅延時間とする、
請求項１記載の動画像符号化装置。
【請求項４】
前記初期遅延時間算出部は、
前記デコーダバッファ占有量の時間的変化に基づいて、前記分割点における前記最初の画像の初期遅延時間を最小化する、
請求項１記載の動画像符号化装置。
【請求項５】
前記符号化部は、
前記入力画像の分割間の符号化終端において、次に時間分割画像が続いているとしたら設定されるであろう初期遅延時間が、前記初期遅延時間算出部で算出された次の初期遅延時間を上回る場合、前記両初期遅延時間が等しくなるように前記符号化終端でスタッフィング、または、フィラーデータを出力する、
請求項１記載の動画像符号化装置。
【請求項６】
前記予測部は、
ＶＢＶモデルに基づいて予測を行う、
請求項１記載の動画像符号化装置。
【請求項７】
前記分割部は、前記入力画像における画像間の相関が低い部分で分割する、
請求項１記載の動画像符号化装置。
【請求項８】
前記分割部は、
前記分割後の画像数が、任意の画像数より大きい場合には、さらに前記任意の画像数で分割する、
請求項７記載の動画像符号化装置。
【請求項９】
前記分割部は、前記入力画像を任意の画像数で分割する、
請求項１記載の動画像符号化装置。
【請求項１０】
前記符号化部を複数有し、前記各符号化部は、前記時間分割画像をそれぞれ符号化して分割ビットストリームをそれぞれ生成し、
前記分割部における前記任意の画像数は、前記入力画像の総数を、前記符号化部の数で割った値を上限とする、
請求項９記載の動画像符号化装置。
【請求項１１】
前記任意の画像数は、ＧＯＰ長の倍数である、
請求項８記載の動画像符号化装置。
【請求項１２】
前記分割部は、前記バッファ占有量の時間的変化が所定の占有量を下回る位置で前記画像の分割を行わない、
請求項１記載の動画像符号化装置。
【請求項１３】
前記符号量割り当て部は、前記初期遅延時間算出部で算出された初期遅延時間に基づいて、既に算出された割り当て符号量を減少させる、
請求項３記載の動画像符号化装置。
【請求項１４】
入力画像を解析して符号量割り当てを算出し、
前記符号量割り当てに従って、仮想的なデコーダバッファのバッファ占有量の時間的変化を予測し、
前記入力画像を時間方向に分割して、複数の時間分割画像を生成する分割部と、
前記バッファ占有量の時間的変化に基づいて、前記各時間分割画像の最初の画像のデコードが開始されるデコード開始時刻から、前記各時間分割画像の一つ前の時間分割画像の最後の画像が仮想的なデコーダバッファに伝送が終了する伝送終了時刻を減算した時間に関する初期遅延時間を算出し、
前記符号量割り当て及び前記初期遅延時間に従って、前記各時間分割画像をそれぞれ符号化し、分割ビットストリームをそれぞれ生成し、
前記各分割ビットストリームを１つのビットストリームに結合する、
動画像符号化方法。
【請求項１５】
前記時間分割画像をそれぞれ並列に符号化して分割ビットストリームをそれぞれ生成する、
請求項１４記載の動画像符号化方法。
【請求項１６】
前記初期遅延時間を算出するときは、
前記最初の画像のデコード開始時刻から前記直前の分割点の最後の画像が仮想的なデコーダバッファへ伝送が終了する伝送終了時刻を減算した時間と同じ時間、または、小さい時間を、前記各分割点の初期遅延時間とする、
請求項１４記載の動画像符号化方法。
【請求項１７】
前記初期遅延時間する算出するときは、
前記デコーダバッファ占有量の時間的変化に基づいて、前記分割点における前記最初の画像のデコード開始時刻を最も小さくする、
請求項１４記載の動画像符号化方法。
【請求項１８】
前記時間分割画像を符号化するときは、
前記入力画像の分割間の符号化終端において、次に時間分割画像が続いているとしたら設定されるであろう初期遅延時間が、前記初期遅延時間算出部で算出された次の初期遅延時間を上回る場合、前記両初期遅延時間が等しくなるように前記符号化終端でスタッフィング、または、フィラーデータを出力する、
請求項１４記載の動画像符号化方法。
【請求項１９】
ＶＢＶモデルに基づいて予測を行う、
請求項１４記載の動画像符号化方法。
【請求項２０】
前記算出された初期遅延時間に基づいて、既に算出された割り当て符号量を減少させる、
請求項１６記載の動画像符号化方法。
【請求項２１】
入力画像を解析して符号量割り当てを算出する符号量割り当て機能と、
前記符号量割り当てに従って、仮想的なデコーダバッファのバッファ占有量の時間的変化を予測する予測機能と、
前記入力画像を時間方向に分割して、複数の時間分割画像を生成する分割機能と、
前記バッファ占有量の時間的変化に基づいて、前記各時間分割画像の最初の画像のデコードが開始されるデコード開始時刻から、前記各時間分割画像の一つ前の時間分割画像の最後の画像が仮想的なデコーダバッファに伝送が終了する伝送終了時刻を減算した時間に関する初期遅延時間を算出する初期遅延時間算出機能と、
前記符号量割り当て及び前記初期遅延時間に従って、前記各時間分割画像をそれぞれ符号化し、分割ビットストリームをそれぞれ生成する符号化機能と、
前記各分割ビットストリームを１つのビットストリームに結合する結合機能と、
をコンピュータによって実現する動画像符号化プログラム。
【請求項２２】
前記画像符号化機能を複数有し、各画像符号化機能は、前記時間分割画像をそれぞれ符号化して分割ビットストリームをそれぞれ生成する、
請求項２１記載の動画像符号化プログラム。
【請求項２３】
前記初期遅延時間算出機能は、
前記最初の画像のデコード開始時刻から前記直前の分割点の最後の画像が仮想的なデコーダバッファへ伝送が終了する伝送終了時刻を減算した時間と同じ時間、または、小さい時間を、前記各分割点の初期遅延時間とする、
請求項２１記載の動画像符号化プログラム。
【請求項２４】
前記初期遅延時間算出機能は、
前記デコーダバッファ占有量の時間的変化に基づいて、前記分割点における前記最初の画像のデコード開始時刻を最も小さくする、
請求項２１記載の動画像符号化プログラム。
【請求項２５】
前記画像符号化機能は、
前記入力画像の分割間の符号化終端において、次に時間分割画像が続いているとしたら設定されるであろう初期遅延時間が、前記初期遅延時間算出機能で算出された次の初期遅延時間を上回る場合、前記両初期遅延時間が等しくなるように前記符号化終端でスタッフィング、または、フィラーデータを出力する、
請求項２１記載の動画像符号化プログラム。
【請求項２６】
前記バッファ占有量予測機能は、
ＶＢＶモデルに基づいて予測を行う、
請求項２１記載の動画像符号化プログラム。
【請求項２７】
前記画像分割機能は、前記入力画像における画像間の相関が低い部分で分割する、
請求項２１記載の動画像符号化プログラム。
【請求項２８】
前記符号量割り当て機能は、前記初期遅延時間算出機能で算出された初期遅延時間に基づいて、既に算出された割り当て符号量を減少させる、
請求項２３記載の動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像を時間方向に分割して符号化する場合にビットレート制御を効率良く行うことで高品質な時間分割符号化を実現する動画像符号化装置及びその方法に関する。
【背景技術】
【０００２】
動画像の符号化速度を向上させるため、複数のＣＰＵやハードウェアを使用して符号化処理を並列化する方法がある。
【０００３】
画面内を分割して並列にエンコードする方法（特許文献１参照）は、各処理間の通信がピクチャ単位に複数回発生する。これに対し、画面間を分割（時間分割）して並列にエンコードする方法は、各処理間の通信が時間分割されたピクチャ数単位に複数回発生する程度で、通信オーバーヘッドが少なく効率が良い。
【０００４】
時間分割符号化の場合、分割して符号化されたビットストリームを最終的に１つのビットストリームに結合する必要がある。その際、結合されるビットストリーム間でデコーダバッファの連続性を保障する必要がある。すなわち、終端占有量が次の分割点の初期占有量を上回る必要がある。例えば、複数のビットストリームをバッファの連続性を保障しながら結合する方法として、特許文献２、３などが挙げられる。
【特許文献１】特開２００５−１３６６３３公報
【特許文献２】特開２００４−２９７８２９公報
【特許文献３】特開２００３−１１１０２４公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記方法は、ビットストリームを結合するために分割点の直前のビットストリームの後半部分を再符号化する。その際、元のビットストリームよりも符号量が少なくなるように制御してバッファ占有量を調整している。このため、分割点で画質劣化を伴う場合がある。
【０００６】
一方、分割間を符号化する際にバッファ占有量を調整しようとしても、因果律から正確な初期バッファ占有量は、直前の分割間の符号化が終わらない限り不明であるという問題点がある。
【０００７】
分割なしで符号化を行った場合のバッファ占有量の遷移、すなわち、時間的変化を表したものが図５とした場合、分割して符号化した場合の理想的な分割間の初期占有量位置は図６となる。実際は符号化しないとわからないため、時間分割符号化時はなんらか初期バッファ占有量を決めて符号化を行うしかない。
【０００８】
単純な方法としては、図７に示すように所定の値を全ての分割点の初期占有量（もしくは、初期遅延量）にするというものが挙げられる。デコーダバッファの連続性を保障するために、分割点の終端では既に決められた次の分割点の初期占有量を超えるようにビットレート制御が行われ、図８に示すように理想的な各ピクチャにおける符号量との間に差が生じる。各ピクチャの符号量が理想的なものと比較して減少するため、分割なしの符号化と比較して高画質な符号化が困難となる。
【０００９】
そこで本発明は、時間分割した場合でも効率的なビットレート制御が可能であって、高画質で、高速な並列エンコードを実現する動画像符号化装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、入力画像を解析して符号量割り当てを算出する符号量割り当て部と、前記符号量割り当てに従って、仮想的なデコーダバッファのバッファ占有量の時間的変化を予測する予測部と、前記入力画像を時間方向に分割して、複数の時間分割画像を生成する分割部と、前記バッファ占有量の時間的変化に基づいて、前記各時間分割画像の最初の画像のデコードが開始されるデコード開始時刻から、前記各時間分割画像の一つ前の時間分割画像の最後の画像が仮想的なデコーダバッファに伝送が終了する伝送終了時刻を減算した時間に関する初期遅延時間を算出する初期遅延時間算出部と、前記符号量割り当て及び前記初期遅延時間に従って、前記各時間分割画像をそれぞれ符号化し、分割ビットストリームをそれぞれ生成する符号化部と、前記各分割ビットストリームを１つのビットストリームに結合する結合部と、を有する動画像符号化装置である。
【発明の効果】
【００１１】
本発明によれば、時間分割した場合でも効率的なビットレート制御が可能となり、時間分割なしの符号化と同等の高画質を実現しつつ、高速な並列エンコードを実現することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の各実施形態の動画像符号化装置について図面に基づいて説明する。
【００１３】
（第１の実施形態）
以下、本発明の第１の実施形態の動画像符号化装置について図１〜図２に基づいて説明する。
【００１４】
（１）動画像符号化装置の構成
図１は、本実施形態に係わる時間分割による動画像符号化装置を示すブロック図である。
【００１５】
図１における画像分割装置１０１は、動画像を入力として受け取り、それを画像間で時間分割し、各時間分割した画像に対する様々な符号化パラメータを合わせて出力する。
【００１６】
画像符号化装置１０２〜１０６は、その時間分割された画像及び符号化パラメータを受け取り、画像を圧縮し、それぞれ圧縮したデータであるビットストリームを出力する。これら画像符号化装置１０２〜１０６は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣを用いて画像を圧縮することとする。
【００１７】
ビットストリーム結合装置１０７は、時間分割して符号化されたビットストリームを受け取り、時間方向に正しい順番で再生可能なように結合して１つのビットストリームとして出力する。
【００１８】
符号量割り当て装置１０８は、入力画像を解析して符号量割り当てを算出する。
【００１９】
バッファ占有量予測装置１０９は、算出された符号量割り当てに応じて仮想的なデコーダバッファの遷移である時間的変化を予測するためにシミュレーションする。
【００２０】
初期遅延量算出装置１１０は、シミュレーションされたバッファ挙動に基づいて入力画像が分割された点での初期遅延時間である初期遅延量を算出する。
【００２１】
なお、この動画像符号化装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。そして、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、動画像符号化装置は、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００２２】
（２）動画像符号化装置の動作
次に、本実施形態に係わる動画像符号化装置の動作について図２に基づいて説明する。図２は、動画像符号化装置の動作を示すフローチャートである。
【００２３】
（２−１）画像の時間分割
まず、画像分割装置１０１は、入力画像を受け取り、画像を時間軸方向に分割する（ステップ２０１）。
【００２４】
分割点の設定方法は、例えば下記のようなものがある。
【００２５】
第１の設定方法としては、シーンチェンジ部分に設定するものが挙げられる。
【００２６】
例えば、入力画像間の相関が低い部分、すなわちシーンチェンジ部分に設定する。時間分割して符号化する場合は、分割点における符号化順で先頭のピクチャはＩＤＲピクチャ（Ｈ．２６４以外はＩピクチャ）として符号化する必要がある。シーンチェンジ時は画面間相関が低いことから、Ｉピクチャで符号化を行う方が、符号化効率が良いため、そこに分割点を設定すると符号化効率面でも有効である。また、ユーザーが指定するチャプターや、ランダムアクセスに有効な位置もシーンチェンジ部分であることが多い。
【００２７】
第２の設定方法としては、所定のフレーム数で分割するというものがある。
【００２８】
シーンチェンジ毎では、各分割点の長さがばらばらとなるため、各分割画像の符号化時間にばらつきが生じ、最適な並列処理ができない。
【００２９】
例えば、本実施形態では分割された画像をそれぞれ符号化する画像符号化装置が５つ存在するため、入力画像の総数が１００００フレームであったとすれば、１００００／５＝２０００フレームで分割すれば、それぞれの５つの画像符号化装置にかかる付加が均等化され、効率的な並列処理が可能となる。
【００３０】
あるいはさらに細かく、１００００／（５×α）のように分割することで、各分割間における符号化の難しさによる処理時間の差が分散されやすくなる。
【００３１】
第３の設定方法としては、ＧＯＰ（Ｇｒｏｕｐ Ｏｆ Ｐｉｃｔｕｒｅ）長の倍数で分割する方法がある。この設定方法は、画面間予測構造の制御や符号化効率を踏まえたものである。
【００３２】
第４の設定方法としては、両者の方法を合わせて、シーンチェンジ毎に分割した後の各分割間が、例えば１５０フレーム以上の長さがあれば、さらに１５０フレーム間隔で分割するというものも考えられる。
【００３３】
（２−２）入力画像の解析
符号量割り当て装置１０８は、入力画像を受け取り、その入力画像の特性を解析して符号量割り当てを行う（ステップ２０２）。
【００３４】
画像の特性を解析して符号量を割り当てる方法は例えば下記のようなものがある。
【００３５】
入力画像を特定の量子化幅で一度符号化（仮符号化）し、その符号化結果から符号化複雑度を取得し、それに基づいて符号量を割り当てる方式（２パスビットレート制御）が挙げられる。
【００３６】
この場合、仮符号化を一度行うため、画像の分割情報を用いれば、各ＧＯＰ構造がわかるため、より精度があがる。この情報は画像分割装置１０１から取得することが可能である。
【００３７】
また、仮符号化を行う場合は、この後に説明を行うが、画像符号化装置１０２〜１０５を使うことで並列に符号化でき、符号化時間を短縮することが可能となる。
【００３８】
なお、上記説明では、２パスビットレート制御を用いて符号量割り当て装置が動作することを想定しているが、本実施形態は符号量の割り当て方式に限定されるものではない。
【００３９】
例えば、簡易的な解析として画面間の差分、画面内アクティビティや動き補償した後の残差信号の２乗和などを用いて符号化複雑度を計算してもよい。
【００４０】
符号量の割り当ての単位としては、ＧＯＰ単位あるいはピクチャ単位、スライス単位、マクロブロック（ＭＢ）単位など考えられ、いずれの粒度で行ってもかまわない。本実施形態ではピクチャ単位として以降説明を行う。
【００４１】
（２−３）バッファ占有量のシミュレーション
バッファ占有量予測装置１０９は、ピクチャ単位で割り当てられた符号量に基づいて、仮想的なデコーダバッファ（例えば、ＭＰＥＧ−２、ＭＰＥＧ−４においてはＶＢＶ（Ｖｉｄｅｏ  Ｂｕｆｆｅｒ  Ｖｅｒｉｆｙ）、Ｈ．２６４においてＣＰＢ（Ｃｏｄｉｎｇ  Ｐｉｃｔｕｒｅ  Ｂｕｆｆｅｒ）のバッファ占有量のシミュレーションを行う（ステップ２０３）。
【００４２】
なお、スライス単位あるいはＭＢ単位で符号量割り当てが行われている場合は、ピクチャ単位に累積した値に変換した後、同様なシミュレーションを行う。
【００４３】
ＧＯＰ単位で符号量割り当てが行われている場合は、ＧＯＰ単位でのバッファシミュレーションを行えばよい。但し、この場合はＧＯＰ内でのデコーダバッファの挙動がわからないため、ＧＯＰ内でバッファエラーが発生している場合があるかもしれないため、最良の方法とはいえない。
【００４４】
しかしながら、本実施形態は、ＧＯＰ単位での符号量割り当ての場合でも処理自体は破綻するものではないため、ＧＯＰ単位での符号量割り当てにおいても実現は可能となっている。具体的にＧＯＰ単位の符号量割り当てでも、動作可能という説明は後述する。
【００４５】
仮想的なデコーダバッファの挙動としては、ＶＢＶモデルとＣＰＢモデルがある。ＣＢＲ（Ｃｏｎｓｔａｎｔ  Ｂｉｔ  Ｒａｔｅ）時はＶＢＶ＝ＣＰＢであり、ＶＢＲ（Ｖａｒｉａｂｌｅ  Ｂｉｔ  Ｒａｔｅ）時はデコーダバッファへの符号量伝送が止まる場合、ＶＢＶの遅延量がＣＰＢよりも大きくなる動作となる。Ｈ．２６４は本来ＣＰＢモデルであるが、本実施形態ではＶＢＶモデルを用いてバッファシミュレーションを行う。符号量割り当てに従ってバッファシミュレーションを行った様子を図９に示す。
【００４６】
（２−４）バッファエラーの検出
シミュレーションを行った結果、例えばバッファがアンダーフローする場合やＣＢＲ時においてはオーバーフローする場合が検出されれば、符号量割り当て装置１０８にその情報を通知する（ステップ２０４）。
【００４７】
符号量割り当て装置１０８はその情報に基づいて符号量割り当てを再度やり直す。バッファエラーが検出されなければ次の処理に進む。
【００４８】
（２−５）初期遅延量の算出
初期遅延量算出装置１１０は、シミュレーションされたバッファ占有量に基づいて初期遅延量を算出する（ステップ２０５）。
【００４９】
初期遅延量の算出式は以下の通りとなる。
【００５０】
initial_delay=buffer_occupancy/transfer_bitrate
initial_delayは初期遅延量（秒）を表す。Ｈ．２６４の場合、初期遅延量は９００００単位となるため、initial_delayは９００００倍されて符号化される。buffer_occupancyは仮想デコーダバッファの占有量（ビット）であり、transfer_bitrateは仮想的なデコーダバッファに伝送される符号量速度（ビット／秒）である。
【００５１】
また、初期遅延量は、言い換えると、シミュレーションで当該時間分割画像における最初の画像が前記仮想的なデコーダバッファから引き去られる時間から、直前の分割点における一つ前の時間分割画像の最後の画像が仮想的なデコーダバッファに伝送終了時刻を減算したものである。最初の画像が前記仮想的なデコーダバッファから引き去られる時間は、仮想的なデコーダバッファの占有量（例えば、図９の縦軸の値）から推定される時刻（同じく、図９の横軸の値）である。そして、最初の画像が前記仮想的なデコーダバッファから引き去られる時間がデコード開始時刻と等しいため、最初の画像のデコード開始時刻から、直前の分割点の最後の画像が仮想的なデコーダバッファに伝送終了時刻を減算したものである。
【００５２】
各分割間を符号化する際に初期パラメータとして分割点における初期遅延量が必要となるため、初期遅延量算出装置１１０によって算出される。したがって、既に述べたように符号量割り当てがＧＯＰ単位であったとしても、ＧＯＰ単位の符号量割り当てに従って仮想的なデコーダバッファのシミュレーションをすれば、初期遅延量の算出が可能となる。ＣＢＲ時は上記シミュレーションされたバッファ占有量の値に基づいて、上記の数式の通り算出すれば良い。
【００５３】
ＶＢＲ時は算出方法を工夫することで、時間分割符号化におけるビットレート制御を安定して行えるようになる。
【００５４】
分割間における仮想デコーダバッファの連続性を保障するには、ＶＢＲ時は「終端占有量＞＝次の初期占有量」となる必要がある。割り当て符号量と実際に発生する符号量には誤差が生じるため、画像符号化装置１０２〜１０６は、その誤差をフィードバックしてビットレート制御しながら符号化をすることになる。例えば、分割内の序盤で割り当てられた符号量よりも多く符号が発生し続けた場合、そのフィードバックは分割内の後半に強くかけられることになり、分割内の後半で画質が低下する可能性がある。「次の初期占有量」を低く見積もって算出すれば、分割間における仮想デコーダバッファの連続性の保障にマージンが生まれ、分割内の後半でビットレート制御のフィードバックを強くかける必要がなくなり、画質がより安定する。「次の初期占有量」を低く見積もる方法として、図１０に示すようにＣＰＢモデルを用いて仮想的なデコーダバッファのシミュレーションを行い直す方法がある。
【００５５】
バッファ占有量予測装置１０９は、バッファシミュレーションはＶＢＶモデルで行っているが、初期遅延量算出装置１１０で、初期遅延量を計算する部分をＣＰＢモデルでバッファシミュレーションを補正することで、その初期遅延量を小さく算出することが可能で、かつ各ピクチャに割り当てられている符号量にも影響がないため画質与える影響はない。
【００５６】
（２−６）符号化
画像符号化装置１０２〜１０６は、上記で得られた初期遅延量、符号量割り当て情報、その他の符号化パラメータ及び分割された画像を受け取り、それらの情報に基づいて符号化を行う（ステップ２０６）。
【００５７】
通常、割り当てられた符号量と実際に発生する符号量には誤差が生じるため、画像符号化装置はビットレート制御を行う必要がある。特に、仮想的なデコーダバッファの挙動がＣＢＲであった場合、「終端占有量＝次の初期占有量」としなければならないため、符号量の制御は重要となる。
【００５８】
分割内の符号化を行う際に、次の分割点の初期遅延量をパラメータとして受け取っておけば、目標となる「終端占有量」がわかるため、分割内の符号化が終了する際、「終端占有量」が「次の初期占有量」を上回る場合はフィラーデータを出力して「終端占有量＝次の初期占有量」すればよい。
【００５９】
なお、初期遅延量算出装置１１０がＶＢＲ挙動に基づいて初期遅延量を算出した場合も上記の動作のように分割内の終端でフィラーデータを出力して、「終端占有量＝次の初期占有量」となるように制御することも可能である。
【００６０】
分割内の終端のビットレートの収束性をあげるため、フィードバックの強いレート制御を行うと、分割内の終端だけ画質が劣化する場合が発生し、主観画質は良くない。終端でフィードバックを強くするよりもｍａｒｉｇｎ分の符号量を全体から調整し、結果的に符号量が余れば最後にフィラーデータによる補正を行うほうが、全体を通して安定した画質になる場合がある。分割内の符号化が終了した後、ビットストリームを出力する。
【００６１】
（２−７）結合
ビットストリーム結合装置１０７は、画像符号化装置１０２〜１０６が出力したビットストリームを受け取り、時間軸上に正しい順番で再生できるように結合していく（ステップ２０７）。
【００６２】
分割されて符号化された全てのビットストリームを貯めてから、結合しても良いし、時間軸上に結合できるビットストリームが存在すれば随時結合しても良い。
【００６３】
ビットストリーム結合装置１０７は、画像符号化装置１０２〜１０６それぞれからビットストリームを受け取るため、どの画像符号化装置が符号化処理を終了したかがわかる。この情報を画像分割装置１０１に通知することで、画像分割装置１０１は符号化が終了した画像符号化装置に次のデータ群を送り、継続して符号化処理を行うことができる。
【００６４】
画像符号化装置１０２〜１０６が直接、画像分割装置１０１に符号化が終了した旨を通知して、データ群を要求しても良い。
【００６５】
最終的に全ての符号化処理が終了し、１つのビットストリームに纏め上げた後、出力することで、時間分割による符号化処理が終了する。
【００６６】
（第２の実施形態）
以下、本発明の第２の実施形態の動画像符号化装置について図３と図１１に基づいて説明する。なお、動画像符号化装置の構成は、第１の実施形態の動画像符号化装置のブロック図の構成と同様である。
【００６７】
本実施形態の動画像符号化装置の動作について図３のフローチャートで説明する。
【００６８】
バッファ占有量予測装置１０９によるＶＢＶモデルに基づいたバッファシミュレーションを行うところまでは、第１の実施形態と同様である。そして、本実施形態では、各分割点での初期遅延量算出装置１１０による初期遅延量の算出方法が異なる。
【００６９】
ＶＢＲ時において、符号化が難しいシーンには伝送符号量と同等の符号量を割り当てる場合は少なくない。そのような場合、ＶＢＶ＝ＣＰＢ動作となり、第１の実施形態では初期占有量を低く見積もることはできない。そこで、本実施形態では所定の割合で初期占有量を低く見積もって、初期遅延量算出装置１１０が初期遅延量を算出する（ステップ３０４）。
【００７０】
その様子を図１１に示す。バッファ占有量予測装置１０９によるバッファのシミュレーションが点線である。初期遅延量算出装置１１０は、初期占有量を低く見積もって（図ではｍａｒｇｉｎ分）、バッファシミュレーション及び符号量割り当て装置１０８で算出された符号量割り当てを調整する。
【００７１】
符号量割り当てを調整した後、調整された符号量割り当てに基づいてバッファ占有量予測装置１０９で再度シミュレーションすることで、バッファシミュレーションを調整してもよい。
【００７２】
符号量割り当て及びバッファシミュレーションの調整方法であるが、例えばｍａｒｇｉｎ分のビット量を、その分割内の各ピクチャに割り当てられた符号量から均等に減じてもよい。各ピクチャの符号化方法の違い（例えば、Ｉ、Ｐ、Ｂピクチャ）で割り当てられている符号量に差があれば、分割内に割り当てられた総符号量とｍａｒｇｉｎとの比に応じて、各ピクチャの符号量を減じてもよい。
【００７３】
符号量割り当て及びバッファシミュレーションが調整された結果、バッファエラーが発生しているか否か確認を行う（ステップ３０５）。
【００７４】
バッファエラーが生じていれば、符号量割り当て装置１０８にその情報を通知する。符号量割り当て装置１０８はその情報に基づいて符号量割り当てを再度やり直す。バッファエラーが検出されなければ次の処理に進む。
【００７５】
以降の符号化処理は第１の実施形態と同様である。
【００７６】
（第３の実施形態）
以下、本発明の第３の実施形態の動画像符号化装置について図４に基づいて説明する。なお、動画像符号化装置の構成は、第１の実施形態の動画像符号化装置のブロック図の構成と同様である。
【００７７】
本実施形態の動画像符号化装置の動作について図４のフローチャートに基づいて説明する。
【００７８】
バッファ占有量予測装置１０９によるＶＢＶモデルに基づいたバッファシミュレーションを行うところまでは、第１の実施形態と同様である。本実施形態では、バッファ占有量予測装置１０９がシミュレーションをした後の処理が異なる。
【００７９】
第１、第２の実施形態で述べたように分割間において、デコーダバッファの連続性を保障しやすいようにｍａｒｇｉｎを取っているが、例えば、その分割点のバッファ占有量が非常に低い位置にある場合は、ｍａｒｇｉｎを十分に取ることが不可能となる。そこで、バッファシミュレーションした後、所定のバッファ占有量（例えばデコーダバッファサイズの２０％）を下回る位置に分割点を設定しないように、画像分割装置１０１で画像の分割点を補正し直す。
【００８０】
補正の方法としては、単純にその分割点をなくし、画像間を結合するだけでもよいし、結合した場合、次に例えば所定のバッファ占有量（例えば、デコーダバッファサイズの７０％）を上回る位置で分割しなおしてもよい。
【００８１】
所定のバッファ占有量は、仮想的なデコーダバッファに伝送される符号量速度あるいは画像を符号化する平均符号量から算出してもよい。
【００８２】
デコーダバッファサイズが非常に大きく、伝送符号量や平均符号量が非常に低い場合は、例えばデコーダバッファサイズの５％程度でも十分である。
【００８３】
分割点を補正された画像に対して、符号量割り当て装置１０８で再度符号量の割り当てを行い、その符号量割り当て結果に基づいて、バッファ占有量予測装置１０９でバッファシミュレーションを行う。分割点におけるバッファ占有量が所定の量を下回っていなければ、次の処理へと進む。以降の処理は第２の実施形態と同様である。
【００８４】
なお、本実施形態におけるフローチャートは第２の実施形態と同様となっている（ステップ４０４以降がステップ３０４以降と同じ）が、第１の実施形態と入れ替わってもよい。すなわちステップ４０３の次にステップ２０４に移り、バッファエラーがあればステップ４０２へ戻り、なければステップ２０５に移ることも可能である。
【００８５】
（変更例）
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００８６】
例えば、上記実施形態における画像符号化装置１０２〜１０６は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣを用いて画像を圧縮していたが、本実施形態は符号化方式に限定されるものではなく、例えばＭＰＥＧ−２やＭＰＥＧ−４においても同様な効果が得られる。
【００８７】
また、本実施形態における画像符号化装置１０２〜１０６は、５つとしているが、本発明は画像符号化装置の数で限定されるものではない。画像符号化装置の数がより多ければ、より並列度が高まり高速に符号化できる。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態を示すブロック図である。
【図２】本発明の第１の実施形態のフローチャートである。
【図３】本発明の第２の実施形態のフローチャートである。
【図４】本発明の第３の実施形態のフローチャートである。
【図５】時間分割なしのバッファ占有量遷移図である。
【図６】時間分割ありのバッファ占有量遷移図（理想的な場合）である。
【図７】時間分割ありのバッファ占有量遷移図（各初期占有量が同じ場合）である。
【図８】時間分割ありのバッファ占有量遷移図（レート制御後）である。
【図９】時間分割ありのバッファ占有量遷移図（２パス制御後）
【図１０】時間分割ありのバッファ占有量遷移図（２パス制御＋初期占有量制御）である。
【図１１】時間分割ありのバッファ占有量遷移図（初期占有量を低く見積もる）である。
【符号の説明】
【００８９】
１０１  画像分割装置
１０２  画像符号化装置Ａ
１０３  画像符号化装置Ｂ
１０４  画像符号化装置Ｃ
１０５  画像符号化装置Ｄ
１０６  画像符号化装置Ｅ
１０７  ビットストリーム結合装置
１０８  符号量割り当て装置
１０９  バッファ占有量予測装置
１１０  初期遅延量算出装置
【図１】
2008085673.tif 000003
【図２】
2008085673.tif 000004
【図３】
2008085673.tif 000005
【図４】
2008085673.tif 000006
【図５】
2008085673.tif 000007
【図６】
2008085673.tif 000008
【図７】
2008085673.tif 000009
【図８】
2008085673.tif 000010
【図９】
2008085673.tif 000011
【図１０】
2008085673.tif 000012
【図１１】
2008085673.tif 000013