(57)【要約】  動画像データを複数のサブデータに分割し、各サブデータを複数の符号化器を用いて並列に符号化した後、符号化された各サブビットストリームデータを一つのビットストリームに結合する動画像符号化装置において、第１のサブビットストリームに含まれる最後のピクチャに相当するデータが第１の仮想バッファから取り出される時点の第１の占有量が、該時点の第２のサブビットストリームデータが第２の仮想バッファに占める第２の占有量以上となるように、第１の占有量の目標値を決定する収束目標導出機能を備える。
2010097946.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ複数のピクチャを含む少なくとも第１のサブデータと第２のサブデータを含む動画像データを記憶する記憶部と、
前記動画像データを符号化することにより、当該動画像データのデータ量よりも少ないデータ量を持つビットストリームデータを生成する処理部と、
前記ビットストリームデータを出力する出力部とを有し、
前記処理部は、
前記ビットストリームデータが所定の伝送レートで仮想的な復号器に伝送され、かつ該復号器のバッファに蓄積されるとともに、所定の時間間隔で前記ビットストリームデータに含まれるそれぞれのピクチャに相当するデータが前記バッファから順次取り出されるとしたときに、前記第１のサブデータが符号化された第１のサブビットストリームデータに含まれる最後のピクチャに相当するデータが前記バッファから取り出された第１の時点において前記ビットストリームデータが前記バッファに占める第１の占有量が、該第１の時点において前記第２のサブデータが符号化された第２のサブビットストリームデータが前記バッファに占める第２の占有量以上となるように、前記第１の占有量の目標値を決定する収束目標導出機能と、
前記第１の占有量が前記目標値となるように、前記第１のサブデータに含まれるそれぞれのピクチャに対する符号化ビットの割当量を決定し、該割当量に従って前記第１のサブデータを符号化することにより、前記第１のサブビットストリームデータを生成する第１の符号化機能と、
前記第２のサブデータを符号化することにより、前記第２のサブビットストリームデータを生成する第２の符号化機能と、
前記第１のサブビットストリームデータと前記第２のサブビットストリームデータを結合することにより、前記ビットストリームデータを生成する結合機能と、
を実現する動画像符号化装置。
【請求項２】
前記結合機能は、前記第１の時点における前記第１の占有量から前記第２の占有量を引いた差に相当する長さを持つビット列を前記第１のサブビットストリームデータと前記第２のサブビットストリームデータの間に挿入する、請求項１に記載の動画像符号化装置。
【請求項３】
前記ビット列は、前記仮想的な復号器において前記第１のサブビットストリームデータに含まれる最後のピクチャが復号されるときに、該最後のピクチャに相当するデータとともに前記バッファから取り出され、かつ該最後のピクチャの復号に影響しない無効ビット列である、請求項２に記載の動画像符号化装置。
【請求項４】
前記第１の符号化機能は、
前記第１のサブビットストリームデータに含まれる第１のピクチャに相当するデータが前記バッファから取り出されたときに、前記ビットストリームデータが前記バッファに占める占有量の下限値を、前記第１のピクチャの位置が前記第１のサブビットストリームデータの最後に近いほど前記目標値に近づくように増加させる占有量制限値決定機能と、
前記第１のピクチャが前記バッファから取り出されたときに、前記ビットストリームデータが前記バッファに占める占有量が前記下限値以上となるように、前記第１のピクチャに対する符号化ビットの割当量を決定する情報量制御機能と
を含む請求項１〜３の何れか一項に記載の動画像符号化装置。
【請求項５】
前記占有量制限値決定機能は、前記第１のサブビットストリームデータに含まれる第２のピクチャに相当するデータが前記仮想的なバッファに蓄積されたときに、前記ビットストリームデータが前記仮想的なバッファに占める占有量の事前に定められた上限値が前記目標値未満となる場合、該上限値を前記目標値よりも高く修正する、請求項４に記載の動画像符号化装置。
【請求項６】
前記第１の符号化機能は、
前記第１のサブビットストリームデータに含まれる複数のピクチャのそれぞれについて、該ピクチャの各画素に対応する信号を直交変換することにより周波数信号を生成し、該周波数信号を、前記符号化ビットの割当量が大きくなるほど小さくなる量子化幅で前記周波数信号を量子化する量子化機能と、
前記量子化された前記周波数信号を可変長符号化することにより、前記第１のサブビットストリームデータを生成する可変長符号化機能とをさらに含み、
前記情報量制御機能は、前記第１のサブビットストリームデータに含まれる前記第１のピクチャに対する前記下限値である第１の下限値と、該第１のピクチャの一つ前に符号化されるピクチャに対する第２の下限値との差に相当する補正量を、前記第１の下限値と前記第２の下限値とが等しいときに前記第１のピクチャに対して割り当てられる符号化ビットの基本量から減らすことにより、前記第１のピクチャに対する前記符号化ビットの割当量を決定する、
請求項４または５に記載の動画像符号化装置。
【請求項７】
それぞれ複数のピクチャを含む少なくとも第１のサブデータと第２のサブデータを含む動画像データを符号化することにより、当該動画像データのデータ量よりも少ないデータ量を持つビットストリームデータを生成する動画像符号化方法であって、
前記ビットストリームデータが所定の伝送レートで仮想的な復号器に伝送され、かつ該復号器のバッファに蓄積されるとともに、所定の時間間隔で前記ビットストリームデータに含まれるそれぞれのピクチャに相当するデータが前記バッファから順次取り出されるとしたときに、前記第１のサブデータが符号化された第１のサブビットストリームデータに含まれる最後のピクチャに相当するデータが前記バッファから取り出された第１の時点において前記ビットストリームデータが前記バッファに占める第１の占有量が、該第１の時点において前記第２のサブデータが符号化された第２のサブビットストリームデータが前記バッファに占める第２の占有量以上となるように、前記第１の占有量の目標値を決定し、
前記第１の占有量が前記目標値となるように、前記第１のサブデータに含まれるそれぞれのピクチャに対する符号化ビットの割当量を決定し、該割当量に従って前記第１のサブデータを符号化することにより、第１のサブビットストリームデータを生成し、
前記第２のサブデータを符号化することにより、第２のサブビットストリームデータを生成し、
前記第１のサブビットストリームデータと前記第２のサブビットストリームデータを結合することにより、前記ビットストリームデータを生成する、
ことを含む動画像符号化方法。
【請求項８】
それぞれ複数のピクチャを含む少なくとも第１のサブデータと第２のサブデータを含む動画像データを符号化することにより、当該動画像データのデータ量よりも少ないデータ量を持つビットストリームデータをコンピュータに生成させる動画像符号化用コンピュータプログラムであって、
前記ビットストリームデータが所定の伝送レートで仮想的な復号器に伝送され、かつ該復号器のバッファに蓄積されるとともに、所定の時間間隔で前記ビットストリームデータに含まれるそれぞれのピクチャに相当するデータが前記バッファから順次取り出されるとしたときに、前記第１のサブデータが符号化された第１のサブビットストリームデータに含まれる最後のピクチャに相当するデータが前記バッファから取り出された第１の時点において前記ビットストリームデータが前記バッファに占める第１の占有量が、該第１の時点において前記第２のサブデータが符号化された第２のサブビットストリームデータが前記バッファに占める第２の占有量以上となるように、前記第１の占有量の目標値を決定し、
前記第１の占有量が前記目標値となるように、前記第１のサブデータに含まれるそれぞれのピクチャに対する符号化ビットの割当量を決定し、該割当量に従って前記第１のサブデータを符号化することにより、第１のサブビットストリームデータを生成し、
前記第２のサブデータを符号化することにより、第２のサブビットストリームデータを生成し、
前記第１のサブビットストリームデータと前記第２のサブビットストリームデータを結合することにより、前記ビットストリームデータを生成する、
ことをコンピュータに実行させる命令を含む動画像符号化用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示される実施形態は、動画像データを分割した複数のデータを並列に符号化することで高速に、かつその動画像データよりもデータ量が少ないビットストリームデータを生成する動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムに関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより、そのデータ量を圧縮する。特に、動画像データを高速に符号化するために、動画像データを複数のサブデータに分割し、各サブデータを複数の符号化器を用いて並列に符号化した後、符号化された各サブデータを一つのビットストリームデータに結合する動画像符号化装置が提案されている。【０００３】
さて、符号化された動画像データが復号装置に伝送されたとき、その復号装置が符号化された動画像データを復号できなければならない。そのために、復号装置が符号化された動画像データを一時的に記憶するための所定の容量を持つバッファを有すると仮定する。この場合、動画像データ符号化装置は、そのバッファに蓄積されるデータ量が常にその所定の容量の範囲に収まるように、動画像データを符号化することが要求される。以下では、この復号装置が有する仮想的なバッファを標準復号器バッファと呼ぶ。例えば、Moving Picture Experts Group（MPEG）では、符号化された動画像データが標準復号器バッファに占める占有量の推移に関する考え方が、Video Buffering Verifier（VBV）として規定されている。VBVでは、符号化された動画像データが最大伝送ビットレートで初期遅延量だけ標準復号器バッファに蓄積された後に、一定の時間間隔で１ピクチャ分のデータが標準復号器バッファから一瞬で取り出されるモデルが採用されている。そして、固定ビットレートで動画像データが符号化される場合、標準復号器バッファに伝送された符号化動画像データが標準復号器バッファに占める占有量が、標準復号器バッファの最大許容値と最小許容値の間に収まらなければならない。【０００４】
しかし、別個に符号化された複数の動画像データが結合される場合、個々の符号化動画像データは標準復号器バッファの規定を満たしていても、それらの符号化動画像データが結合されたビットストリームデータは標準復号器バッファの規定を満たさないことがある。この問題は、以下の理由により生じる。すなわち、ビットストリームデータの伝送が終了するまでの間、そのビットストリームデータは常に最大伝送ビットレートで標準復号器バッファへ蓄積されると定義される。しかし、連続して伝送される二つの符号化動画像データが結合されるタイミングによっては、後側に結合される符号化動画像データが結合される前のバッファの回復量と、結合点で分割されていない連続した動画像データとして扱った場合のバッファの回復量の間で、動きに整合性が取れない場合がある。そのため、その二つの符号化動画像データのうち、前側の符号化動画像データの最後のピクチャが復号されたときに、後側の符号化動画像データが標準復号器バッファに占める占有量が、ビットストリームデータの占有量と一致しなくなるためである。【０００５】
このような問題に対して、標準復号器バッファの占有量の遷移をシミュレーションした結果に基づいて、分割された各分割点における初期遅延量を算出することにより、標準復号器バッファの規定を満たすように動画像データを符号化する技術が提案されている。また、分割されたMPEG画像データの結合区間に含まれるデータを復号した後、標準復号器バッファの占有量が、そのバッファの最大許容値と最小許容値の間に収まるように、結合区間に含まれるデータを再符号化する技術が提案されている。【０００６】
【特許文献１】特開２００８−８５６７３号公報
【特許文献２】特開２００４−２９７８２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
バッファ占有量の遷移をシミュレーションする技術は、そのシミュレーション結果が標準復号器バッファの規定に違反することを示す場合、各ピクチャに対する符号化ビットの割当量を決定するためのパラメータを調整しつつシミュレーションを繰り返す必要がある。そのため、その技術を用いた動画像符号化装置は、動画像データの符号化処理に長時間を要するおそれがあった。
また、結合区間に含まれるデータを一旦復号した後に、その復号されたデータを再符号化する技術は、その再符号化処理を実行するための時間を余計に必要とする。さらに、この技術は、分割された各動画像データが結合される時点におけるバッファ量の調整を行わない。そのため、その結合時点の設定が不適切であった場合、特定のピクチャに対して割り当てられる符号化ビット量が極端に少なくなり、その結果として急激な画質劣化が生じてしまうおそれがあった。【０００８】
そこで本明細書は、標準復号器バッファの規定を満たしつつ、かつ、短時間で動画像データを符号化できる動画像符号化装置、動画像符号化方法及び動画像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態によれば、動画像符号化装置が提供される。この動画像符号化装置は、それぞれ複数のピクチャを含む少なくとも第１のサブデータと第２のサブデータを含む動画像データを記憶する記憶部と、動画像データを符号化することにより、その動画像データのデータ量よりも少ないデータ量を持つビットストリームデータを生成する処理部と、ビットストリームデータを出力する出力部とを有する。その処理部は、ビットストリームデータが所定の伝送レートで仮想的な復号器に伝送され、かつその復号器のバッファに蓄積されるとともに、所定の時間間隔でビットストリームデータに含まれるそれぞれのピクチャに相当するデータがその復号器のバッファから順次取り出されるとしたときに、第１のサブデータが符号化された第１のサブビットストリームデータに含まれる最後のピクチャに相当するデータがその復号器のバッファから取り出された第１の時点においてビットストリームデータがその復号器のバッファに占める第１の占有量が、その第１の時点において第２のサブデータが符号化された第２のサブビットストリームデータがその復号器のバッファに占める第２の占有量以上となるように、第１の占有量の目標値を決定する収束目標導出機能と、第１の占有量が目標値となるように、第１のサブデータに含まれるそれぞれのピクチャに対する符号化ビットの割当量を決定し、その割当量に従って第１のサブデータを符号化することにより、第１のサブビットストリームデータを生成する第１の符号化機能と、第２のサブデータを符号化することにより、第２のサブビットストリームデータを生成する第２の符号化機能と、第１のサブビットストリームデータと第２のサブビットストリームデータを結合することにより、ビットストリームデータを生成する結合機能とを実現する。【００１０】
また他の実施形態によれば、それぞれ複数のピクチャを含む少なくとも第１のサブデータと第２のサブデータを含む動画像データを符号化することにより、その動画像データのデータ量よりも少ないデータ量を持つビットストリームデータを生成する動画像符号化方法が提供される。この動画像符号化方法は、ビットストリームデータが所定の伝送レートで仮想的な復号器に伝送され、かつその復号器のバッファに蓄積されるとともに、所定の時間間隔でビットストリームデータに含まれるそれぞれのピクチャに相当するデータがその復号器のバッファから順次取り出されるとしたときに、第１のサブデータが符号化された第１のサブビットストリームデータに含まれる最後のピクチャに相当するデータがその復号器のバッファから取り出された第１の時点においてビットストリームデータがその復号器のバッファに占める第１の占有量が、その第１の時点において第２のサブデータが符号化された第２のサブビットストリームデータがその復号器のバッファに占める第２の占有量以上となるように、第１の占有量の目標値を決定し、第１の占有量が目標値となるように、第１のサブデータに含まれるそれぞれのピクチャに対する符号化ビットの割当量を決定し、その割当量に従って第１のサブデータを符号化することにより、第１のサブビットストリームデータを生成し、第２のサブデータを符号化することにより、第２のサブビットストリームデータを生成し、第１のサブビットストリームデータと第２のサブビットストリームデータを結合することにより、ビットストリームデータを生成することを含む。【００１１】
さらに他の実施形態によれば、それぞれ複数のピクチャを含む少なくとも第１のサブデータと第２のサブデータを含む動画像データを符号化することにより、その動画像データのデータ量よりも少ないデータ量を持つビットストリームデータをコンピュータに生成させる動画像符号化用コンピュータプログラムが提供される。このコンピュータプログラムは、ビットストリームデータが所定の伝送レートで仮想的な復号器に伝送され、かつその復号器のバッファに蓄積されるとともに、所定の時間間隔でビットストリームデータに含まれるそれぞれのピクチャに相当するデータがその復号器のバッファから順次取り出されるとしたときに、第１のサブデータが符号化された第１のサブビットストリームデータに含まれる最後のピクチャに相当するデータがその復号器のバッファから取り出された第１の時点においてビットストリームデータがその復号器のバッファに占める第１の占有量が、その第１の時点において第２のサブデータが符号化された第２のサブビットストリームデータがその復号器のバッファに占める第２の占有量以上となるように、第１の占有量の目標値を決定し、第１の占有量が目標値となるように、第１のサブデータに含まれるそれぞれのピクチャに対する符号化ビットの割当量を決定し、その割当量に従って第１のサブデータを符号化することにより、第１のサブビットストリームデータを生成し、第２のサブデータを符号化することにより、第２のサブビットストリームデータを生成し、第１のサブビットストリームデータと第２のサブビットストリームデータを結合することにより、ビットストリームデータを生成することをコンピュータに実行させる命令を含む。【００１２】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
【発明の効果】
【００１３】
本明細書に開示された動画像符号化装置、動画像符号化方法及び動画像符号化プログラムは、標準復号器バッファの規定を満たしつつ、かつ、短時間で動画像データを符号化できるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、一つの実施形態による動画像符号化装置の概略構成図である。
【図２】図２は、動画像データを符号化する処理を実行するために実現される機能を示す動画像符号化装置の処理部の機能ブロック図である。
【図３】図３（ａ）は、一つのサブビットストリームデータが標準復号器バッファに占める占有量の遷移の一例を示す図である。図３（ｂ）は、結合される二つのサブビットストリームデータのそれぞれが標準復号器バッファに占める占有量の遷移の一例を示す図である。図３（ｃ）は、二つのサブビットストリームデータが一つに結合されたビットストリームデータが標準復号器バッファに占める占有量の遷移の一例を示す図である。
【図４】図４は、遷移時刻近傍における、結合される二つのサブビットストリームデータのうちの後側のサブビットストリームデータが標準復号器バッファに占める占有量の遷移の一例を示す図である。
【図５】図５は、符号化部の機能ブロック図である。
【図６】図６（ａ）は、標準復号器バッファの占有量の下限値の遷移の一例を示すグラフである。また、図６（ｂ）は、標準復号器バッファの占有量の上限値の遷移の一例を示すグラフである。
【図７】図７は、遷移時刻においてビットストリームデータが標準復号器バッファに占める占有量の遷移と、そのビットストリームデータに含まれる、結合された二つのサブビットストリームデータの対応関係を示す図である。
【図８】図８は、動画像符号化装置の処理部上で実行されるコンピュータプログラムにより制御される、動画像データの符号化処理の動作フローチャートを示す図である。
【図９】図９は、動画像符号化装置の処理部上で実行されるコンピュータプログラムにより制御される、各符号化部によるサブデータの符号化処理の動作フローチャートを示す図である。
【符号の説明】
【００１５】
１    動画像符号化装置
１１    記憶部
１２    処理部
１３    入出力部
２１    制御部
２２    分割部
２３−１、２３−２、．．．、２３−ｎ    符号化部
２４−１、２４−２、．．．、２４−(n-1)    収束目標導出部
２５−１、２５−２、．．．、２５−(n-1)    結合部
３１    データ管理部
３２    直交変換・量子化部
３３    可変長符号化部
３４    バッファ上限・下限制御部
３５    情報量制御部
【発明を実施するための最良の形態】
【００１６】
以下、図を参照しつつ、一つの実施形態による、動画像符号化装置について説明する。
この動画像符号化装置は、動画像データを複数のサブデータに分割し、サブデータごとに異なる符号化器を用いて符号化することにより生成したサブビットストリームデータを一つのビットストリームデータに結合する。この動画像符号化装置は、標準復号器バッファの規定を満たすために、結合される二つのサブビットストリームデータのうちの前側のサブビットストリームデータに対する符号化ビット割当量を制御する。さらにこの動画像符号化装置は、前側のサブビットストリームデータと後側のサブビットストリームデータの間に、その最後のピクチャが復号されるときに合わせて取り出される無効ビット列を挿入する。これにより、この動画像符号化装置は、前側のサブビットストリームデータに含まれる最後のピクチャが復号された時点でビットストリームデータが標準復号器バッファに占める占有量と、後側のサブビットストリームデータが標準復号器バッファに占める占有量との差をなくす。
なお、符号化対象となる動画像データに含まれるピクチャは、インターレース方式により取得されるフィールド、または、プログレッシブ方式により取得されるフレームの何れであってもよい。【００１７】
図１は、一つの実施形態による動画像符号化装置１の概略構成図である。図１に示すように、動画像符号化装置１は、記憶部１１と、処理部１２と、入出力部１３とを有する。【００１８】
記憶部１１は、例えば、半導体メモリ、磁気ディスク装置、または光ディスク装置のうちの少なくとも何れか一つを有する。そして記憶部１１は、動画像符号化装置１で使用されるコンピュータプログラム及び各種のデータを記憶する。また記憶部１１は、符号化対象となる動画像データを記憶する。また記憶部１１は、処理部１２により動画像データを符号化することにより生成されたビットストリームデータを記憶してもよい。【００１９】
入出力部１３は、例えば、動画像符号化装置１を通信ネットワーク（図示せず）に接続するための通信インターフェース及びその制御回路を有する。そして入出力部１３は、処理部１２が動画像データを符号化することにより生成されたビットストリームデータを通信ネットワークを介して他の装置に出力する。また入出力部１３は、他の装置から通信ネットワークを介して符号化対象となる動画像データを取得し、その動画像データを処理部１２に渡してもよい。【００２０】
処理部１２は、１個または複数個のプロセッサと、メモリと、その周辺回路を有する。そして処理部１２は、記憶部１１から読み込んだ動画像データ、あるいは入出力部１３を介して取得した動画像データを符号化する。【００２１】
図２は、動画像データを符号化するために実現される機能を示す処理部１２の機能ブロック図である。図２に示されるように、処理部１２は、制御部２１と、分割部２２と、ｎ個の符号化部２３−１、２３−２、．．．、２３−ｎと、（n-1）個の収束目標導出部２４−１、２４−２、．．．、２４−(n-1)と、（n-1）個の結合部２５−１、２５−２、．．．、２５−(n-1)とを有する。ただし、ｎは２以上の整数である。
処理部１２が有する、これらの各部は、処理部１２が有するプロセッサ上で実行されるコンピュータプログラムによって実装される機能モジュールである。処理部１２が有するこれらの各部は、それぞれ別個の演算回路あるいはそれら演算回路が集積された一つの集積回路として動画像符号化装置１に実装されてもよい。【００２２】
制御部２１は、処理部１２全体を制御する。そのために、制御部２１は、各符号化部２３−ｍ（ただし、m=1,2,...,n）がその符号化部に入力されるサブデータに対する符号化ビット割当量を決定するために使用されるパラメータを各符号化部２３−ｍに入力する。また制御部２１は、各収束目標導出部２４−ｋ（ただし、k=1,2,...,n-1）が、ビットストリームデータが標準復号器バッファに占める占有量の目標値を決定するために使用されるパラメータを各収束目標導出部２４−ｋに入力する。なおこれらのパラメータに関しては、符号化部２３−ｍ及び収束目標導出部２４−ｋとともに後述する。
また制御部２１は、符号化対象となる動画像データを記憶部１１から読み込み、あるいは入出力部１３を介して取得し、その動画像データを分割部２２に渡す。その際、その動画像データの内容に関する情報も動画像データとともに取得される場合、その情報も分割部２２に渡してもよい。また制御部２１は、複数の動画像データを記憶部１１から読み込み、あるいは入出力部１３を介して取得し、それら複数の動画像データを分割部２２に渡してもよい。さらに、処理部１２は、予め分割された複数の動画像データを別個の符号化部２３−ｍにより符号化し、それぞれの動画像データが符号化されたサブビットストリームデータを結合することにより、一つのビットストリームデータを生成してもよい。この場合、分割部２２は省略されてもよい。そして制御部２１は、それら複数の動画像データを直接各符号化部２３−ｍに入力する。【００２３】
分割部２２は、制御部２１から受け取った動画像データを、処理部１２が有する符号化部２３−ｍの個数ｎに合わせて分割することにより、サブデータを作成する。例えば、分割部２２は、動画像データを、時間に関して均等にｎ個に分割することにより、ｎ個のサブデータを作成する。また分割部２２は、動画像データの内容に関する情報を制御部２１から受け取っている場合、その情報に基づいて、それぞれのサブデータの時間長を異ならせてもよい。例えば、分割部２２は、各サブデータに対する符号化処理に要する時間が均等になるように動画像データを分割してもよい。そのため、例えば、分割部２２は、動画像データの内容に関する情報を参照して、静止シーンなど符号化処理に要する時間が相対的に短くて済むピクチャを多く含むサブデータの時間長を長くするように、動画像データを分割してもよい。逆に、分割部２２は、動きの多いシーンなど符号化処理に要する時間が相対的に長いピクチャを多く含むサブデータの時間長を短くするように、動画像データを分割してもよい。さらに、分割部２２は、動画像データ中の一定の長さのデータを動画像データ中の複数の箇所から取り出し、取り出されたそれぞれのデータを符号化するサブデータとしてもよい。さらにまた、分割部２２は、複数の動画像データを制御部２１から受け取った場合、それら複数の動画像データを結合した一つの動画像データを符号化部２３−ｍの個数ｎで割ることにより、サブデータを作成してもよい。
また分割部２２は、各サブデータに含まれるピクチャの枚数が、Group Of Pictures（GOP）の倍数となるように、サブデータの長さを調整してもよい。なお、GOPは、一定周期で繰り返される、連続する複数のピクチャを含むピクチャの組を規定する構造であり、GOPでは、各ピクチャに対してイントラ符号化方法が適用されるのか、インター符号化方法が適用されるのかが規定されている。なお、イントラ符号化方法は、符号化対象の１枚のピクチャ内に含まれる情報のみを用いてそのピクチャを符号化する方法である。一方、インター符号化方法は、符号化対象のピクチャと、その前後のピクチャの情報を用いて、符号化対象のピクチャを符号化する方法である。【００２４】
分割部２２は、作成したそれぞれのサブデータを、再生されるときの時間順に、符号化部２３−１、２３−２、．．．、２３−ｎのうちの何れかに入力する。また分割部２２は、各サブデータに含まれるピクチャの数を、そのサブデータが入力される符号化部に入力する。【００２５】
収束目標導出部２４−１、２４−２、．．．、２４−(n-1)は、それぞれ、結合される二つのサブビットストリームデータのうちの前側のサブビットストリームデータに含まれる最後のピクチャが復号される時点における標準復号器バッファの占有量に関する目標値を算出する。なお、収束目標導出部２４−１、２４−２、．．．、２４−(n-1)は、同一の構成及び機能を有するため、以下では、一つの収束目標導出部２４−ｍ（1≦m≦n-1）について説明する。【００２６】
二つのサブビットストリームデータが結合されることにより、一つのビットストリームデータが生成されており、そのビットストリームデータが標準復号器バッファに伝送されているとする。この場合、前側のサブビットストリームデータの最後のピクチャの復号時点において、そのビットストリームデータが標準復号器バッファに占める占有量が、その時点までに後側のサブビットストリームデータが標準復号器バッファに占める占有量と等しいことが好ましい。この条件が満たされていれば、各サブビットストリームデータが標準復号器バッファの規定を守るように生成されている限り、占有量が標準復号器バッファの最大許容値をオーバーフローせず、かつ標準復号器バッファの最小許容値をアンダーフローしない。なお、以下では、結合される二つのサブビットストリームデータのうち、前側のサブビットストリームデータの最後のピクチャの復号時刻を遷移時刻と呼ぶ。また、結合される二つのサブビットストリームデータのうち、後側のサブビットストリームデータが標準復号器バッファに蓄積開始される時点を結合時刻と呼ぶ。【００２７】
この様子を図３（ａ）〜図３（ｃ）を用いて説明する。図３（ａ）は、一つのサブビットストリームデータSBSmが標準復号器バッファに占める占有量の遷移の一例を示す図である。また、図３（ｂ）は、結合される二つのサブビットストリームデータSBSm、SBSm+1のそれぞれが標準復号器バッファに占める占有量の遷移の一例を示す図である。さらに図３（ｃ）は、図３（ｂ）に示された二つのサブビットストリームデータSBSm、SBSm+1を一つに結合したビットストリームデータBSが標準復号器バッファに占める占有量の遷移の一例を示す図である。
図３（ａ）〜図３（ｃ）において、横軸は時間を表し、縦軸は標準復号器バッファの占有量を表す。また、線３０１は、標準復号器バッファの占有量の最大許容値を表す。また時刻t0は、サブビットストリームデータSBSmが標準復号器バッファに蓄積開始される時刻を表す。さらに期間tdは初期バッファ遅延量を表し、期間tf0はフレームレートによって定められるピクチャ間隔を表し、例えば、期間tf0は1/30秒である。また図３（ａ）及び図３（ｂ）において、グラフ３１０は、サブビットストリームデータSBSmが標準復号器バッファに占める占有量の遷移を表す。また図３（ｂ）及び図３（ｃ）において、グラフ３２０は、サブビットストリームデータSBSmに結合される次のサブビットストリームデータSBSm+1が標準復号器バッファに占める占有量の遷移を表す。さらに図３（ｃ）において、グラフ３３０は、ビットストリームデータBSが、標準復号器バッファに占める占有量の遷移を表す。そして図３（ｂ）及び図３（ｃ）において、時刻ttrは前側のサブビットストリームデータSBSmの最後のピクチャが復号された遷移時刻を表し、時刻tjは、後側のサブビットストリームデータSBSm+1が標準復号器バッファに蓄積開始される結合時刻を表す。【００２８】
図３（ａ）に示されるように、時刻t0から初期バッファ遅延量tdを経過するまで、サブビットストリームデータSBSmが標準復号器バッファに占める占有量は、単位時間当たり最大伝送ビットレートで増加する。そして時刻t0から初期バッファ遅延量tdを経過した時点で、最初のピクチャに相当するデータd1が標準復号器バッファから取り出される。そのため、占有量はd1だけ低下する。その時点以降、ピクチャ間隔tf0が経過するごとに、１枚のピクチャ分のデータが標準復号器バッファから取り出される。また、標準復号器バッファへのサブビットストリームデータSBSmの伝送中、１枚のピクチャ分のデータが取り出されてから、次のピクチャ分のデータが取り出されるまでの間、占有量は、単位時間当たり最大伝送ビットレートで増加する。一方、標準復号器バッファへのサブビットストリームデータSBSmの伝送が終了した時刻te以降、もはや占有量は増加せず、ピクチャ間隔tf0が経過するごとに、１枚のピクチャ分のデータが減少する。そして最後のピクチャに相当するデータが取り出されると、占有量は０になる。【００２９】
また、図３（ｂ）に示されるように、結合時刻tj以降、サブビットストリームデータSBSmに引き続きいてサブビットストリームデータSBSm+1が標準復号器バッファに蓄積される。この場合、標準復号器バッファの規定から、時刻te以降も連続してビットストリームデータBSが標準復号器バッファに伝送されるとみなされる。そのため、点線３１１に示されるように、時刻te以降も、１枚のピクチャが復号されてから次のピクチャが復号されるまでの間、ビットストリームデータBSが標準復号器バッファに占める占有量は、単位時間当たり最大伝送ビットレートで増加するとみなされる。一方、グラフ３２０に示されるように、サブビットストリームデータSBSm+1が標準復号器バッファに占める占有量は、結合時刻tj以降、初期遅延量tdが経過するまで単位時間当たり最大伝送ビットレートで増加する。しかし、時刻te以降に復号される、サブビットストリームデータSBSmのピクチャに相当するデータが少なければ、遷移時刻ttrにおけるビットストリームデータBSの残留占有量Srは、サブビットストリームデータSBSm+1が標準復号器バッファに占める遷移時占有量Strよりも多くなる。【００３０】
そのため、図３（ｃ）に示すように、遷移時刻ttr以降、ビットストリームデータBSが標準復号器バッファに占める占有量は、サブビットストリームデータSBSm+1が標準復号器バッファに占める占有量に、残留占有量Srから遷移時占有量Strの差の絶対値ΔSrを加えた値となる。一方、何れかの時刻tnにおいてサブビットストリームデータSBSm+1が標準復号器バッファに占める占有量が、標準復号器バッファの最大許容値近傍になるようにサブビットストリームデータSBSm+1が生成されることがある。この場合、ΔSrがサブビットストリームデータSBSm+1が標準復号器バッファに占める占有量に加算されることにより、ビットストリームデータBSが標準復号器バッファに占める占有量は標準復号器バッファの最大許容値を超えてしまう。【００３１】
逆に、時刻te以降に復号される、サブビットストリームデータSBSmのピクチャに相当するデータが多ければ、遷移時刻ttrにおけるビットストリームデータBSの残留占有量SrがサブビットストリームデータSBSm+1の遷移時占有量Strよりも少なくなる。この場合には、遷移時刻ttr以降、ビットストリームデータBSが標準復号器バッファに占める占有量は、サブビットストリームデータSBSm+1が標準復号器バッファに占める占有量から、残留占有量Srと遷移時占有量Strの差の絶対値ΔSrを引いた値となる。一方、何れかの時刻においてサブビットストリームデータSBSm+1が標準復号器バッファに占める占有量が、標準復号器バッファの最小許容値近傍になるようにサブビットストリームデータSBSm+1が生成されることがある。この場合、サブビットストリームデータSBSm+1が標準復号器バッファに占める占有量からΔSrが減算されることにより、ビットストリームデータBSが標準復号器バッファに占める占有量は標準復号器バッファの最小許容値を下回ってしまう。【００３２】
そこで収束目標導出部２４−ｍは、符号化部２３−ｍにより生成されたサブビットストリームデータSBSmに関する遷移時刻での、符号化部２３−(m+1)により生成されたサブビットストリームデータSBSm+1が標準復号器バッファに占める遷移時占有量を一つの目標値として求める。また収束目標導出部２４−ｍは、遷移時刻において、サブビットストリームデータSBSmとサブビットストリームデータSBSm+1が結合されたビットストリームデータBSが標準復号器バッファに占める残留占有量の収束目標値を決定する。この収束目標値は、遷移時占有量以上、かつ標準復号器バッファの最大許容値以下とする。
遷移時占有量及び収束目標値を決定するために、収束目標導出部２４−ｍには、制御部２１から初期バッファ遅延量と、最大伝送ビットレートと、結合点フレーム間時間とが入力される。なお結合点フレーム間時間は、遷移時刻からサブビットストリームデータSBSm+1の最初のピクチャに対応するデータが標準復号器バッファから取り出される時刻までの期間である。【００３３】
図４は、遷移時刻近傍における、サブビットストリームデータSBSm+1が標準復号器バッファに占める占有量の遷移を示す図である。図４において、時刻tjは結合時刻を表し、時刻ttrは遷移時刻を表す。さらに時刻t1は、サブビットストリームデータSBSm+1の最初のピクチャに対応するデータが標準復号器バッファから取り出される時刻を表す。また期間tdは初期バッファ遅延量を表し、期間tfは結合点フレーム間時間を表す。さらに、グラフ４０１は、サブビットストリームデータSBSm+1が標準復号器バッファに占める占有量を表す。またグラフ４０２は、標準復号器バッファにおけるサブビットストリームデータSBSmとサブビットストリームデータSBSm+1が結合されたビットストリームデータBSが標準復号器バッファに占める占有量を表す。
ここで、標準復号器バッファの定義により、時刻tjから時刻t1までの間に標準復号器バッファに蓄積される、サブビットストリームデータSBSm+1の占有量は、初期バッファ遅延量tdに最大伝送ビットレートを乗じた値となる。また、遷移時刻ttrから時刻t1までの間に標準復号器バッファに蓄積される、サブビットストリームデータSBSm+1の占有量は、結合点フレーム間時間tfに最大伝送ビットレートを乗じた値となる。従って、収束目標導出部２４−ｍは、図４に示されるように、遷移時占有量Strを以下の式に従って算出できる。
【数１】
2010097946.tif 000003
ここでbrは最大伝送ビットレートである。【００３４】
収束目標導出部２４−ｍは、遷移時占有量Strを算出すると、遷移時占有量Strに所定のバイアスを加算することにより、収束目標値を算出する。なお、所定のバイアスは、０または正の値を有する。そして所定のバイアスは、遷移時刻ttrにおける、サブビットストリームデータSBSmの最後のピクチャに対応するデータが取り出された後に、ビットストリームデータBSが標準復号器バッファに占める占有量が遷移時占有量Str以上となるように設定される。また所定のバイアスは、遷移時刻ttrにおいて、サブビットストリームデータSBSmの最後のピクチャに対応するデータが取り出される前に、ビットストリームデータBSが標準復号器バッファに占める占有量が標準復号器バッファの最大許容値以下となるように設定される。そのために、所定のバイアスは、例えば、１枚のピクチャあるいは１個のGOPを符号化することにより得られる符号化ビット数の、割り当てビット数に対するばらつきの標準偏差の３倍の値とすることができる。【００３５】
収束目標導出部２４−ｍは、遷移時占有量を結合部２５−ｍに渡す。また収束目標導出部２４−ｍは、収束目標値を符号化部２３−ｍに渡す。【００３６】
符号化部２３−１、２３−２、．．．、２３−ｎは、入力されたサブデータを符号化することにより、サブビットストリームデータSBS1、SBS2、．．．、SBSnを生成する。なお、符号化部２３−１、２３−２、．．．、２３−ｎは、同一の構成及び機能を有するため、以下では、一つの符号化部２３−ｍについて説明する。
図５は、符号化部２３−ｍの機能ブロック図である。図５に示されるように、符号化部２３−ｍは、データ管理部３１と、直交変換・量子化部３２と、可変長符号化部３３と、バッファ上限・下限制御部３４と、情報量制御部３５とを有する。【００３７】
データ管理部３１は、分割部２２から受け取ったサブデータを、符号化されるピクチャの順番に従って、ピクチャを１枚ずつ直交変換・量子化部３２に渡す。またデータ管理部３１は、直交変換・量子化部３２に渡したピクチャをインター符号化するか、イントラ符号化するかを示す信号も直交変換・量子化部３２に入力する。
さらにデータ管理部３１は、各ピクチャに対する標準復号器バッファの占有量の上限値及び下限値を決定するために、現在符号化処理の対象となっているピクチャの番号である現ピクチャ番号を、バッファ上限・下限制御部３４に入力する。【００３８】
直交変換・量子化部３２は、データ管理部３１から受け取ったピクチャを直交変換し、その直交変換処理により得られた周波数信号を量子化する。これにより、直交変換・量子化部３２は、元のピクチャが持つビット数よりも少ないビット数を持つ量子化信号を生成する。そのために、直交変換・量子化部３２は、例えば、MPEG-2、MPEG-4あるいはH.264 MPEG-4 Advanced Video Coding（H.264 MPEG-4 AVC）などの様々な動画像符号化規格の何れかに従って、直交変換処理及び量子化処理を実行してもよい。【００３９】
直交変換処理及び量子化処理の一例として、直交変換・量子化部３２は、先ず、データ管理部３１から受け取った現在のピクチャを、所定数のピクセルを持つ複数のブロックに分割する。このブロックを、以下ではマクロブロックと呼ぶ。また、マクロブロックは、例えば、１６×１６個のピクセルを含む。
直交変換・量子化部３２は、それぞれのマクロブロックと、予測画像との差分演算を実行する。そして直交変換・量子化部３２は、その差分演算により得られたマクロブロック内の各ピクセルに対応する差分値を、予測誤差信号として生成する。その際、直交変換・量子化部３２は、データ管理部３１から受け取った現在のピクチャをインター符号化するか、イントラ符号化するかを示す信号に従って、インター符号化用の予測画像またはイントラ符号化用の予測画像の何れか一方を選択する。なお、後述するように、インター符号化用の予測画像は、既に符号化されたピクチャから作成される。一方、イントラ符号化用の予測画像は、現在のピクチャの既に符号化されたマクロブロックから作成される。【００４０】
直交変換・量子化部３２は、各マクロブロックの予測誤差信号を直交変換することにより、予測誤差信号の水平方向の周波数成分及び垂直方向の周波数成分を表す周波数信号を求める。例えば、直交変換・量子化部３２は、直交変換処理として、離散コサイン変換（Discrete Cosine Transform、DCT）を予測誤差信号に対して実行することにより、周波数信号として、マクロブロックごとのDCT係数の組を得る。【００４１】
次に、直交変換・量子化部３２は、周波数信号を、情報量制御部３５によって決定された量子化パラメータにしたがって量子化する。この量子化処理は、一定区間に含まれる信号値を一つの信号値で表す処理である。そしてその一定区間は、量子化幅と呼ばれる。例えば、直交変換・量子化部３２は、周波数信号から、量子化幅に相当する所定数の下位ビットを切り捨てることにより、その周波数信号を量子化する。量子化幅は、量子化パラメータによって決定される。例えば、直交変換・量子化部３２は、量子化パラメータの値に対する量子化幅の値を表す関数にしたがって、使用される量子化幅を決定する。またその関数は、量子化パラメータの値に対する単調増加関数とすることができ、予め設定される。あるいは、水平方向及び垂直方向の周波数成分のそれぞれに対応する量子化幅を規定する量子化マトリクスが、予め複数準備され、記憶部１１に記憶される。そして直交変換・量子化部３２は、量子化パラメータにしたがって、記憶部１１に記憶されたそれら量子化マトリクスのうちの特定の量子化マトリクスを選択する。そして直交変換・量子化部３２は、選択された量子化マトリクスを参照して、周波数信号の各周波数成分に対する量子化幅を決定する。この場合も、直交変換・量子化部３２は、量子化パラメータの値が大きくなるほど、各周波数成分に対する量子化幅が大きい量子化マトリクスを選択する。
直交変換・量子化部３２は、量子化処理を実行することにより、周波数信号の各周波数成分を表すために使用されるビットの数を削減できるので、各マクロブロックに含まれる情報量を低減できる。直交変換・量子化部３２は、量子化信号を可変長符号化部３３に供給する。【００４２】
また直交変換・量子化部３２は、予測画像を生成するために、量子化信号に、量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより逆量子化する。この逆量子化により、各マクロブロックの周波数信号、例えば、DCT係数の組が復元される。その後直交変換・量子化部３２は、周波数信号を逆直交変換処理する。例えば、直交変換部２２においてDCT処理が行われる場合、直交変換・量子化部３２は、逆量子化信号に対して逆DCT処理を実行する。逆量子化処理及び逆直交変換処理を量子化信号に対して実行することにより、符号化前の予測誤差信号と同程度の情報を有する予測誤差信号が再生される。【００４３】
直交変換・量子化部３２は、インター符号化されるピクチャについて、後述する動き補償された予測画像の各ピクセル値に、そのピクセルに対応する再生された予測誤差信号を加算する。一方、直交変換・量子化部３２は、イントラ符号化されるピクチャについて、既に符号化されたマクロブロックに基づいて生成された予測画像の各ピクセル値に、そのピクセルに対応する、再生された予測誤差信号を加算する。これらの処理を各マクロブロックについて実行することにより、直交変換・量子化部３２は、現在のピクチャに対する予測ピクチャを得る。【００４４】
直交変換・量子化部３２は、予測ピクチャを新たな参照ピクチャとして、処理部１２が有するメモリに一時的に記憶する。そして直交変換・量子化部３２は、その参照ピクチャを予測画像を作成するために利用する。なお、直交変換・量子化部３２は、予め定められた所定枚数分の参照ピクチャを記憶し、参照ピクチャの枚数がその所定枚数を超えると、古い参照ピクチャから順に破棄する。【００４５】
直交変換・量子化部３２は、インター符号化用の予測画像を作成するために、現在のピクチャの各マクロブロックと、既に符号化された参照ピクチャを用いて、動きベクトルを求める。動きベクトルは、現在のピクチャのマクロブロックと、そのマクロブロックに最も類似する参照ピクチャのブロックとの空間的な移動量を表す。直交変換・量子化部３２は、例えば、現在のピクチャの着目するマクロブロックと、各参照ピクチャとのブロックマッチングを実行することにより、各参照ピクチャから、マクロブロックと最も一致する参照ピクチャ及びその参照ピクチャ上の領域を決定する。そして直交変換・量子化部３２は、現在のピクチャのマクロブロックの位置と、そのマクロブロックに最も一致する領域との水平方向及び垂直方向の移動量と、その領域が属する参照ピクチャを表す識別情報を、それぞれ要素とするベクトルを動きベクトルとする。
直交変換・量子化部３２は、現在のピクチャに含まれる各マクロブロックに対して、それぞれ動きベクトルを求める。そして直交変換・量子化部３２は、参照ピクチャを求めた動きベクトルに基づいて動き補償することにより、動き補償されたブロック単位の予測画像を生成する。なお、動き補償は、動きベクトルで表された、マクロブロックとそれに対して最も類似する参照ピクチャのブロックの位置ずれ量を相殺するように、その最も類似する参照ピクチャのブロックの位置を移動する処理である。【００４６】
また直交変換・量子化部３２は、現在のピクチャのうちの着目するマクロブロックについて、その着目マクロブロックの左側または上側に隣接する、既に符号化されたマクロブロックに含まれるピクセル値から補間によってイントラ符号化用の予測画像を生成する。【００４７】
可変長符号化部３３は、直交変換・量子化部３２から受け取った量子化信号及び動きベクトルを符号化することにより、元のピクチャに対してデータ量が圧縮されたビットの組を生成する。そして可変長符号化部３３は、符号化部２３−ｍに入力されたサブデータに含まれる各ピクチャに対して生成されたビットの組を、符号化処理の実行順序に従って連結することにより、そのサブデータに対応するサブビットストリームデータを生成する。そのために、可変長符号化部３３は、例えば、その量子化信号に対して、生起確率が高い信号値ほど短くなる、可変長の符号語を割り当てる可変長符号化処理を実行する。例えば、可変長符号化部３３は、可変長符号化処理として、ハフマン符号化処理あるいは算術符号化処理を行うことができる。
可変長符号化部３３は、生成したサブビットストリームデータを結合部２５−ｍへ出力する。また可変長符号化部３３は、生成したサブビットストリームデータに含まれる各ピクチャ、各マクロブロックあるいは各GOPに対して実際に割り当てられた符号化ビット長を情報量制御部３５に通知する。【００４８】
バッファ上限・下限制御部３４は、ビットストリームデータが標準復号器バッファに占める占有量の制限値を決定する。具体的には、バッファ上限・下限制御部３４は、符号化対象となる現在のピクチャに対応する符号化データが標準復号器バッファから取り出される時点における、標準復号器バッファの占有量の下限値を決定する。またバッファ上限・下限制御部３４は、符号化対象となる現在のピクチャに対応する符号化データが標準復号器バッファに蓄積された時点における、標準復号器バッファの占有量の上限値を決定する。
上限値及び下限値を決定するために、バッファ上限・下限制御部３４には、制御部２１から標準復号器バッファの初期設定上限値及び初期設定下限値と、符号化部２３−ｍに入力されたサブデータに含まれるピクチャ数が入力される。またバッファ上限・下限制御部３４には、データ管理部３１から符号化処理の対象となる現在のピクチャの番号が入力される。さらに、バッファ上限・下限制御部３４には、収束目標導出部２４−ｍから、符号化部２３−ｍにより生成されたサブビットストリームデータに含まれる最後のピクチャが復号される遷移時刻における収束目標値が入力される。【００４９】
バッファ上限・下限制御部３４は、符号化部２３−ｍ、２３−(m+1)によりそれぞれ生成されたサブビットストリームデータSBSm、SBSm+1が結合されたビットストリームデータBSが標準復号器バッファに占める占有量に対する下限値を設定する。具体的には、バッファ上限・下限制御部３４は、サブビットストリームデータSBSmからSBSm+1への遷移時刻において、ビットストリームデータBSが標準復号器バッファに占める占有量が収束目標値を下回らないように下限値を決定する。さらにバッファ上限・下限制御部３４は、サブビットストリームデータSBSmの各ピクチャが標準復号器バッファから取り出される時点におけるビットストリームデータBSの占有量の下限値を、各ピクチャに対して割り当てられる符号化ビット数が急激に変動しないように設定する。【００５０】
例えば、バッファ上限・下限制御部３４は、サブビットストリームデータSBSmが標準復号器バッファに蓄積開始されてからの経過時間が所定の制御開始時刻に達するまでは、下限値を制御部２１から入力された初期設定下限値とする。なお、その経過時間tは下記の式に従って算出される。
【数２】
2010097946.tif 000004
ここでnpは、データ管理部３１から取得した、符号化処理の対象となる現在のピクチャの番号を表す。またfrはサブデータに含まれるピクチャが１秒当たりに標準復号器バッファから取り出される枚数を表す。さらにtdは、サブビットストリームデータSBSmが標準復号器バッファに蓄積開始されてから、最初のピクチャに対応するデータが取り出されるまでの初期バッファ遅延量を表す。【００５１】
一方、経過時間tが制御開始時刻よりも大きい場合、バッファ上限・下限制御部３４は、経過時間tが大きくなるほど下限値が収束目標値に近づくように、下限値を単調増加させる。なお、制御開始時刻は、０以上かつ、所定の制御終了時刻よりも小さい値に設定される。ただし、サブデータの終端に近い数枚のピクチャに対する下限値のみが修正されると、それらのピクチャに対して割り当て可能なビット数が極端に少なくなってしまい、それらのピクチャに対する復号画質が急激に劣化してしまう。そこで制御開始時刻は、ピクチャごとの下限値の上昇に伴う符号化ビット数の減少による画質の劣化が、観察者にとって気が付かない程度に抑制されるように設定されることが好ましい。例えば、制御開始時刻はサブデータに含まれるピクチャの枚数の半分以下の値に対応する経過時間に設定される。また制御終了時刻は、サブビットストリームデータSBSmからサブビットストリームデータSBSm+1への遷移時刻以前であり、かつ、制御終了時刻よりも後の所定のタイミングに設定することができる。しかし、制御開始時刻と制御終了時刻の間隔は、できるだけ長い方が好ましい。このように制御終了時刻を設定することにより、バッファ上限・下限制御部３４は、各ピクチャに対する符号化ビット割当量を急激に減らすことなく、標準復号器バッファの占有量の下限値を収束目標値に近づけることができる。【００５２】
バッファ上限・下限制御部３４は、例えば、下記の式に従って現在のピクチャに対する下限値Lnpを設定することができる。
【数３】
2010097946.tif 000005
ここでtpは現在のピクチャに対応する時刻を表す。またtstartは下限値の修正を開始する制御開始時刻を表し、tendは下限値の修正を終了する制御終了時刻を表す。さらに、Stargetは収束目標値を表し、Liniは初期設定下限値を表す。【００５３】
また制御部２１により決定された、標準復号器バッファの初期設定上限値が収束目標値よりも低い場合も想定される。この場合、符号化部２３−ｍは、その初期設定上限値を超えるように各ピクチャに対する符号化ビット割当量を決定することができない。そのため、符号化部２３−ｍは、サブビットストリームデータSBSmに含まれる最後のピクチャに相当するデータが標準復号器バッファから取り出された時点における、ビットストリームデータBSの残留占有量を収束目標値に近づけることができない。そこでこのような場合、バッファ上限・下限制御部３４は、上限値を、収束目標値よりも高くなるように修正する。例えば、バッファ上限・下限制御部３４は、全てのピクチャに対する上限値を、標準復号器バッファの占有量の最大許容値に設定する。あるいは、バッファ上限・下限制御部３４は、所定の制御開始時刻よりも後でかつ制御終了時刻よりも前において、標準復号器バッファからピクチャが取り出される時刻における上限値を、収束目標値よりも高くなるまで徐々に高くしてもよい。なお、上限値の設定に関する制御開始時刻と、下限値の設定に関する制御開始時刻は一致しなくてもよい。同様に、上限値の設定に関する制御終了時刻と、下限値の設定に関する制御終了時刻は一致しなくてもよい。ただし、上限値と下限値の間に、常に少なくとも１枚のピクチャ分の符号化ビット数に相当する差が設けられるように、上限値と下限値は設定されることが好ましい。【００５４】
図６（ａ）は、バッファ上限・下限制御部３４により設定される標準復号器バッファの下限値の遷移の一例を示すグラフである。また、図６（ｂ）は、バッファ上限・下限制御部３４により設定される標準復号器バッファの上限値の遷移の一例を示すグラフである。
図６（ａ）及び図６（ｂ）において、横軸は時間を表し、縦軸は標準復号器バッファの占有量を表す。また、図６（ａ）において、線６０１は、標準復号器バッファの占有量の上限値を表し、線６０２は、標準復号器バッファの占有量の下限値を表す。さらに点線６０３及び６０４は、それぞれ、収束目標値及び遷移時占有量を表す。そしてグラフ６０５は、符号化部２３−ｍによって生成されたサブビットストリームデータSBSmと次の符号化部２３−(m+1)によって生成されたサブビットストリームデータSBSm+1が結合されたビットストリームデータBSが標準復号器バッファに占める占有量の遷移を表す。【００５５】
図６（ａ）に示されるように、標準復号器バッファの占有量の下限値６０２は、サブビットストリームデータSBSmが標準復号器バッファに蓄積開始される時刻t0から、制御開始時刻t1までの間、初期設定下限値に設定される。その後、下限値６０２は、制御開始時刻t1を過ぎると、制御終了時刻t2までの間直線的に増加する。そして制御終了時刻t2では、下限値６０２は、遷移時占有量６０４以上の値に設定された収束目標値６０３に達し、時刻t2以降一定に保たれる。このように下限値が設定されるので、サブビットストリームデータSBSmの最後のピクチャが復号される遷移時刻ttrにおいて、ビットストリームデータBSが標準復号器バッファに占める占有量は、確実にサブビットストリームデータSBSm+1の遷移時占有量よりも高くなる。一方、この例では、標準復号器バッファの占有量の上限値６０１は、下限値６０２を収束目標値６０３に設定しても、占有量６０５がその上限値６０１を超えないような十分に高い値に設定されているため、バッファ上限・下限制御部３４は上限値を修正しない。【００５６】
図６（ｂ）において、線６１１は、標準復号器バッファの占有量の上限値を表し、線６１２は、標準復号器バッファの占有量の下限値を表す。さらに点線６１３は、収束目標値を表す。
図６（ｂ）に示されるように、標準復号器バッファの占有量の下限値６１２は、サブビットストリームデータが標準復号器バッファに蓄積開始される時刻t0から、制御開始時刻t1までの間、初期設定下限値に設定される。その後、下限値６１２は、制御開始時刻t1を過ぎると、制御終了時刻t2までの間直線的に増加する。そして制御終了時刻t2では、下限値６１２は、収束目標値６１３に達する。一方、標準復号器バッファの占有量の上限値６１１は、時刻t0から制御開始時刻t3までの間、初期設定上限値に設定される。その後、上限値６１１は、制御開始時刻t3を過ぎると、制御終了時刻t4までの間直線的に増加する。そして制御終了時刻t4では、上限値６１１は、標準復号器バッファの最大許容値に達し、時刻t4以降一定に保たれる。【００５７】
バッファ上限・下限制御部３４は、現在のピクチャに対する上限値及び下限値を情報量制御部３５へ通知する。【００５８】
情報量制御部３５は、直交変換・量子化部３２により符号化されるピクチャに対して割り当てられる符号化ビット数を制御するための量子化パラメータを決定する。【００５９】
そこで、情報量制御部３５は、ピクチャに対して割り当てられる符号化ビット数に対応する目標情報量の値が大きいほど、量子化パラメータの値が小さくなるような様々な量子化パラメータの決定方法のうちの何れかを採用できる。情報量制御部３５は、そのような方法として、既に符号化されたピクチャに実際に割り当てられた符号化ビット数と目標とする符号化ビット数の計画から、次のピクチャに対して割り当てる符号化ビット数を決定するフィードバック型の方法を採用してもよい。また情報量制御部３５は、直交変換・量子化部３２における動き予測処理などからピクチャの性質を示す統計量を算出し、その統計量に基づいて次のピクチャに割り当てる符号化ビット数を決定するフィードフォワード型の方法を採用してもよい。さらに、情報量制御部３５は、そのようなフィードバック型の方法とフィードフォワード型の方法を組み合わせた方法を用いてもよい。【００６０】
例えば、情報量制御部３５は、MPEG-2の標準テストモデル5において採用されている方法に沿って、各ピクチャの基本目標情報量を求める。この場合、情報量制御部３５には、制御部２１から最大伝送ビットレート、フレームレートが入力される。また情報量制御部３５には、データ管理部３１から、符号化対象となる現在のピクチャがインター符号化されるピクチャか、イントラ符号化されるピクチャかを示すピクチャ種別情報が入力される。さらに情報量制御部３５には、バッファ上限・下限制御部３４から現在のピクチャに対する上限値及び下限値が入力される。そして情報量制御部３５は、これらの入力されたパラメータに従って、現在のピクチャに対応する符号化ビット列が標準復号器バッファに伝送されたときに、標準復号器バッファの占有量が上限値を超えないように基本目標情報量を求める。また情報量制御部３５は、これらの入力されたパラメータに従って、現在のピクチャに対応する符号化ビット列が標準復号器バッファから取り出されたときに、標準復号器バッファの占有量が下限値を下回らないように基本目標情報量を求める。【００６１】
さらに情報量制御部３５は、バッファ占有量の下限値が初期設定下限値から収束目標値に近づくように修正されている場合、標準復号器バッファの占有量がその修正された下限値を下回らないように、各ピクチャに対する補正情報量を求める。そして、情報量制御部３５は、基本目標情報量から補正目標情報量を引くことにより、最終的な目標情報量を算出する。そして情報量制御部３５は、目標情報量の値に応じた量子化パラメータを求める。なお、MPEG-2の標準テストモデル5に関する基本目標情報量及び量子化パラメータの算出方法に関しては、http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.htmlで特定されるURLを参照されたい。また情報量制御部３５は、特開２００８−２５２５６２号公報に開示されているような、目標情報量と量子化パラメータの関係を表すレート歪関数を用いて量子化パラメータを決定してもよい。この場合も、情報量制御部３５は、バッファ占有量の下限値が初期設定下限値から修正されている場合、各ピクチャに対する補正情報量を目標情報量から減算することにより、その目標情報量を修正する。【００６２】
一例として、情報量制御部３５は、先ず、現在のピクチャに対して推定される複雑度を計算する。イントラ符号化されるピクチャ、片方向予測によりインター符号化されるピクチャ及び両方向予測によりインター符号化されるピクチャに対する複雑度は、それぞれ、次式により算出される。以下では、イントラ符号化されるピクチャをIピクチャと呼ぶ。また、時間的に前のピクチャの情報を用いてインター符号化されるピクチャをPピクチャと呼ぶ。さらに、時間的に前のピクチャと後のピクチャの両方の情報を用いてインター符号化されるピクチャをBピクチャと呼ぶ。
【数４】
2010097946.tif 000006
ここで、Xiは、Iピクチャに対する複雑度であり、Xpは、Pピクチャに対する複雑度である。Xbは、Bピクチャに対する複雑度である。またSiは、既に符号化された直前のピクチャがIピクチャである場合に、その直前のピクチャについて符号化により発生したビット数である。同様に、Spは、既に符号化された直前のピクチャがPピクチャである場合に、その直前のピクチャについて符号化により発生したビット数である。さらにSbは、既に符号化された直前のピクチャがBピクチャである場合に、その直前のピクチャについて符号化により発生したビット数である。また、Qi、Qp、Qbは、それぞれ、前のピクチャがIピクチャ、Pピクチャ、Bピクチャである場合に、前のピクチャを符号化する際に使用された、全てのマクロブロックの量子化パラメータを平均することにより算出される平均量子化パラメータである。なお、Xi、Xp、Xbの初期値は例として以下のように設定される。
Xi = (160 * bitrate) / 115
Xp = (60 * bitrate) / 115
Xb = (42 * bitrate) / 115
ただし、bitrateは、最大伝送ビットレートであり、符号化に与えられた1秒あたりの情報量（bit/s）を表す。【００６３】
次に、情報量制御部３５は、算出された複雑度Xi、Xp、Xbに基づいて、次式に従って、Iピクチャに対する基本目標情報量Ti、Pピクチャに対する基本目標情報量Tp及びBピクチャに対する基本目標情報量Tbを算出する。
【数５】
2010097946.tif 000007
ここで、Kp、Kbは定数であり、一般にKp=1.0, Kb=1.4に設定される。またRは、GOPに割り当て可能な符号化ビット数の残量である。Rは、各ピクチャの符号化が完了した後、次のように更新される。
R = R-Sj
ただし直前のピクチャがIピクチャであれば、Sj=Siである。また直前のピクチャがPピクチャであれば、Sj=Spである。あるいは、直前のピクチャがBピクチャであれば、Sj=Sbである。
また、GOPの最初のピクチャ、すなわち、Iピクチャを符号化する際に、ビット数の残量Rは、前のGOPについて計算されたビット数の残量Rを用いて次のように更新される。
R = G + R
G = bitrate * N / picturerate
ただしNは、GOPに含まれるピクチャの枚数である。なお、動画像データの最初のGOPに対して、Rは0に設定される。さらに、picturerateは、符号化対象の動画像データにおいて、1秒間に走査されるピクチャの枚数（Hz）である。
また（５）式において、Np、Nbは、それぞれ、符号化順序における、GOP内の符号化されていない残りPピクチャとBピクチャの枚数である。また、関数max(a,b)は、変数aとbのうちの大きい方の値を出力する関数である。【００６４】
さらに、情報量制御部３５は、標準復号器バッファの占有量がその下限値未満とならないように、標準復号器バッファの占有量の下限値の制御開始時刻以降に符号化されるピクチャに対する目標情報量を、補正情報量ΔTを用いて調整する。すなわち、情報量制御部３５は、現在のピクチャが制御開始時刻よりも後に符号化される場合、情報量制御部３５は補正情報量ΔTを算出する。そして情報量制御部３５は、現在のピクチャがIピクチャであれば、（５）式により算出された基本目標情報量Tiから補正情報量ΔTを引いた値を、現在のピクチャに対する目標情報量Tとする。また情報量制御部３５は、現在のピクチャがPピクチャであれば、基本目標情報量Tpから補正情報量ΔTを引いた値を、現在のピクチャに対する目標情報量Tとする。さらに、情報量制御部３５は、現在のピクチャがBピクチャであれば、基本目標情報量Tbから補正情報量ΔTを引いた値を、現在のピクチャに対する目標情報量Tとする。
ただし、補正情報量ΔTは、１枚前に符号化されるピクチャが標準復号器バッファから取り出されるときの下限値と、現在のピクチャが標準復号器バッファから取り出されるときの下限値の差に対応する値とすることが好ましい。例えば、補正情報量ΔTは、下限値が（３）式に従って求められる場合、次式により算出される。
【数６】
2010097946.tif 000008
ここでStargetは収束目標導出部２４−ｍにより算出される収束目標値を表し、Liniは初期設定下限値を表す。またNaは、バッファ上限・下限制御部３４が標準復号器バッファの占有量の下限値の調整を開始する制御開始時刻から、その下限値の調整を終了する制御終了時刻までの間に符号化されるピクチャの枚数である。なお、情報量制御部３５は、他のピクチャの符号化に対する影響が大きいIピクチャに対する補正情報量ΔTを０に設定してもよい。この場合、Pピクチャ及びBピクチャに対する補正情報量ΔTを決定するために、（６）式におけるNaは、制御開始時刻から制御終了時刻までの間に符号化されるPピクチャ及びBピクチャの枚数の合計とすればよい。【００６５】
次に、情報量制御部３５は、目標情報量Tに基づいて量子化パラメータを決定する。そのために、情報量制御部３５は、j番目のマクロブロックを符号化する前の、標準復号器バッファの充足度dij、dpj、dbjを算出する。なお、充足度dijはIピクチャに対応し、充足度dpjはPピクチャに対応し、充足度dbjはBピクチャに対応する。その充足度dij、dpj、dbjは次式に従って計算される。
【数７】
2010097946.tif 000009
ここで、Bj-1は、1番目から(j-1)番目までの全てのマクロブロックを符号化することにより生成されたビット数である。MBNは、ピクチャに含まれるマクロブロックの数である。また、di0、dp0、db0は、充足度の初期値である。なお、特定のピクチャについて、最後のマクロブロックまで符号化したときの充足度diMBN、dpMBN、dbMBNは、次の同じタイプのピクチャに対する充足度の初期値di0、dp0、db0となる。
最後に、情報量制御部３５は、この充足度dij、dpj、dbjを用いて、次式により、j番目のマクロブロックに対する量子化パラメータを決定する。
【数８】
2010097946.tif 000010
ただし、djは、現在のピクチャがIピクチャであればdij、現在のピクチャがPピクチャであればdpjであり、現在のピクチャがBピクチャであればdbjである。【００６６】
情報量制御部３５は、求めた量子化パラメータを、直交変換・量子化部３２に渡す。また情報量制御部３５は、可変長符号化部３３から受け取ったサブビットストリームデータSBSmに含まれる各ピクチャに対する実際の符号化ビット数から算出した遷移時刻での、サブビットストリームデータSBSmを含むビットストリームデータBSの残留占有量を結合部２５−ｍに通知する。この残留占有量を求めるために、情報量制御部３５は、サブビットストリームデータSBSmが標準復号器バッファに蓄積開始されてから、サブビットストリームデータSBSmの最後のピクチャが復号されるまでの期間長に最大伝送ビットレートを乗じる。そして情報量制御部３５は、その積算値から、サブビットストリームデータSBSmに含まれる全てのピクチャの符号化ビット数の合計を引くことにより、残留占有量を算出する。【００６７】
結合部２５−１、２５−２、．．．、２５−(n-1)は、それぞれ、結合部２５−１、２５−２、．．．、２５−(n-1)に入力された二つのサブビットストリームデータを再生される時間順に従って結合する。図２に示されるように、結合部２５−１には、符号化部２３−１から出力されたサブビットストリームデータSBS1と、符号化部２３−２から出力されたサブビットストリームデータSBS2が入力される。そして結合部２５−１は、サブビットストリームデータSBS1の後にサブビットストリームデータSBS2を結合する。そして結合部２５−１は、一つに結合されたサブビットストリームデータを出力する。【００６８】
また、結合部２５−ｍ（ただし、2≦m≦n-1）には、結合部２５−(m-1)から出力されたサブビットストリームデータと、符号化部２３−(m+1)から出力されたサブビットストリームデータSBSm+1が入力される。そして結合部２５−ｍは、結合部２５−(m-1)から出力されたサブビットストリームデータの後にサブビットストリームデータSBSm+1を結合する。そして結合部２５−ｍは、一つに結合されたサブビットストリームデータを出力する。そして結合部２５−(n-1)は、各符号化部により生成されたサブビットストリームデータの全てが結合されたビットストリームデータを出力する。このビットストリームデータは、処理部１２が取得した動画像データが符号化されたものである。
なお、結合部２５−１、２５−２、．．．、２５−(n-1)は、同一の構成及び機能を有するため、以下では、一つの結合部２５−ｍについて説明する。【００６９】
結合部２５−ｍは、符号化部２３−ｍの情報量制御部３５から通知された残留占有量Srと、収束目標導出部２４−ｍから受け取った遷移時占有量Strとの差ΔSrを求める。そして結合部２５−ｍは、その差ΔSrが０でなければ、その差ΔSrに相当する量の無効ビット列を、結合部２５−(m-1)から出力されたサブビットストリームデータとサブビットストリームデータSBSm+1の間に挿入する。この無効ビット列は、サブビットストリームデータSBSmの最後のピクチャが復号されるときに、その最後のピクチャに相当するデータとともに標準復号器バッファから取り出される。したがって、結合部２５−ｍは、遷移時刻における標準復号器バッファの占有量を、遷移時占有量Strと一致させることができる。なお、この無効ビット列は、復号されるピクチャの画質に影響しないようなビット列とすることが好ましい。例えば、この無効ビット列は、H.264 MPEG-4 AVCに規定された、Network Abstraction Layer（NAL）フォーマットのFillerデータとすることができる。あるいは、この無効ビット列は、MPEG-2に規定されたスタッフィングバイトとすることができる。【００７０】
図７は、遷移時刻における標準復号器バッファに占めるビットストリームデータの占有量の遷移と、結合部２５−ｍにより結合されたサブビットストリームデータの対応関係を示す図である。図７の上側には、ビットストリームデータ７０１の概略構成が示される。また図７の下側には、そのビットストリームデータ７０１が標準復号器バッファに占める占有量の推移を示すグラフ７１０が表されている。下側のグラフ７１０に関して、横軸は時間を表し、縦軸は占有量を表す。また時刻ttrは遷移時刻を表す。
図７に示されるように、ビットストリームデータ７０１は、前側のサブビットストリームデータ７０２と、後側のサブビットストリームデータ７０３とを有する。さらにビットストリームデータ７０１は、それら二つのサブビットストリームデータの間に無効ビット列７０４を有する。このうち、前側のサブビットストリームデータ７０２に含まれる最後のピクチャに対応する有効データ７０５が標準復号器バッファから取り出されると、グラフ７１０に示されるように、標準復号器バッファの占有量がその有効データ７０５に相当する量Svだけ減少する。遷移時刻ttrにおいて、有効データ７０５とともに無効ビット列７０４も標準復号器バッファから取り出されるので、標準復号器バッファの占有量は、無効ビット列７０４に相当する量ΔSrだけさらに減少する。そのため、遷移時刻ttrにおける、前側のサブビットストリームデータ７０２に含まれる最後のピクチャに対応する有効データ７０５が標準復号器バッファから取り出された後の占有量は、後側のサブビットストリームデータ７０３による遷移時占有量Strと一致する。【００７１】
図８は、動画像符号化装置１の処理部１２上で実行されるコンピュータプログラムにより制御される、動画像データの符号化処理の動作フローチャートを示す。【００７２】
図８に示されるように、処理部１２が符号化対象となる動画像データを取得すると、処理部１２は符号化処理を開始する。そして処理部１２の分割部２２は、動画像データをｎ個のサブデータに分割する（ステップＳ１０１）。ただしｎは２以上の整数であり、符号化部の個数と等しい。そして分割部２２は、各サブデータを、再生される時間順にしたがって、各符号化部２３−ｍ（1≦m≦n）に入力する。
また処理部１２の収束目標導出部２４−ｋ（1≦k≦n-1）は、それぞれ、符号化部２３−ｋにより生成されたサブビットストリームデータSBSkから符号化部２３−(k+1)により生成されたサブビットストリームデータSBSk+1への遷移時刻における遷移時占有量及び収束目標値を算出する（ステップＳ１０２）。この遷移時占有量は、上記のように、遷移時刻においてサブビットストリームデータSBSk+1が標準復号器バッファに占める占有量である。さらに収束目標値は、遷移時刻においてサブビットストリームデータSBSkとサブビットストリームデータSBSk+1が結合されたビットストリームデータBSが標準復号器バッファに占める占有量の目標値である。収束目標導出部２４−ｋは、遷移時占有量を結合部２５−ｋに通知する。また収束目標導出部２４−ｋは、収束目標値を処理部１２の符号化部２３−ｋに通知する。【００７３】
各符号化部２３−ｍ（1≦m≦n）は、入力されたサブデータを通知された収束目標値あるいは制御部２１により設定された標準復号器バッファの上限値及び下限値に基づいて、そのサブデータに含まれる各ピクチャを符号化する。そして各符号化部２３−ｍは、サブデータに含まれる各ピクチャが符号化されたサブビットストリームデータを生成する（ステップＳ１０３）。その際、各符号化部２３−ｋ（1≦k≦n-1）は、それぞれ、生成されたサブビットストリームデータSBSkとSBSk+1が結合されたビットストリームデータが遷移時刻において標準復号器バッファに占める残留占有量Srが収束目標値に近づくようにサブビットストリームデータSBSkを生成する。また符号化部２３−ｎは、サブビットストリームデータSBSnが標準復号器バッファに占める占有量が標準復号器バッファの最大許容値と最小許容値の間に収まるようにサブビットストリームデータSBSnを生成する。そして符号化部２３−１及び符号化部２３−２は、生成したサブビットストリームデータを結合部２５−１に出力する。また符号化部２３−ｍ（3≦m≦n）は、生成したサブビットストリームデータを結合部２５−(m-1)に出力する。【００７４】
各結合部２５−ｋ（1≦k≦n-1）は、符号化部２３−ｋの情報量制御部３５から通知された実際の残留占有量Srと、収束目標導出部２４−ｋから受け取った遷移時占有量Strとの差ΔSrを求める（ステップＳ１０４）。そして結合部２５−ｋは、その差ΔSrに相当する量の無効ビット列を、結合部２５−(k-1)から出力されたサブビットストリームデータと符号化部２３−(k+1)から受け取ったサブビットストリームデータの間に挿入する。そして各結合部２５−ｋは、それら二つのサブビットストリームデータを結合する（ステップＳ１０５）。
そして全ての結合部がサブビットストリームデータの結合を終了することにより、動画像データが符号化されたビットストリームデータが作成される。そして処理部１２は、動画像符号化処理を終了する。【００７５】
図９は、動画像符号化装置１の処理部１２上で実行されるコンピュータプログラムにより制御される、各符号化部２３−ｋ（1≦k≦n-1）によるサブデータの符号化処理の動作フローチャートを示す。【００７６】
図９に示されるように、符号化部２３−ｋのバッファ上限・下限制御部３４は、収束目標導出部２４−ｋから受け取った収束目標値に従って、入力されたサブデータの各ピクチャに対する、標準復号器バッファの上限値及び下限値を決定する（ステップＳ２０１）。その際、バッファ上限・下限制御部３４は、ピクチャの位置が入力されたサブデータが符号化されることにより得られるサブビットストリームデータの終端に近いほど下限値が収束目標値に近づくように、各ピクチャに対する下限値を決定する。またバッファ上限・下限制御部３４は、上限値が収束目標値を下回っている場合に、収束目標値よりも高くなるように各ピクチャに対する上限値を修正する。そしてバッファ上限・下限制御部３４は、その上限値及び下限値を、符号化部２３−ｋの情報量制御部３５へ通知する。【００７７】
情報量制御部３５は、各ピクチャに対する符号化ビット割当量に対応する目標情報量を決定する（ステップＳ２０２）。その際、情報量制御部３５は、符号化部２３−ｋにより生成されるサブビットストリームデータSBSkと符号化部２３−(k+1)により生成されるサブビットストリームデータSBSk+1が結合されたビットストリームデータが標準復号器バッファに占める占有量がその上限値と下限値の間に含まれることを条件とする。また情報量制御部３５は、一つ前に符号化されたピクチャに対する下限値と異なる下限値が設定されたピクチャに対して、その下限値の差に対応する補正情報量を算出し、目標情報量から補正情報量を減算することにより目標情報量を補正する（ステップＳ２０３）。そして情報量制御部３５は、その目標情報量に従って、量子化幅を決定するための量子化パラメータを求める（ステップＳ２０４）。情報量制御部３５は、求めた量子化パラメータを、符号化部２３−ｋの直交変換・量子化部３２に通知する。【００７８】
直交変換・量子化部３２は、入力されたサブデータの各ピクチャに対して直交変換処理を行って周波数信号を求める。そして直交変換・量子化部３２は、その周波数信号に対して、情報量制御部３５から通知された量子化パラメータに従って決定された量子化幅で量子化する（ステップＳ２０５）。直交変換・量子化部３２は、その量子化処理により得られた量子化信号を、符号化部２３−ｋの可変長符号化部３３に渡す。そして可変長符号化部３３は、直交変換・量子化部３２から受け取った量子化信号に対して可変長符号化処理を実行する（ステップＳ２０６）。可変長符号化部３３は、符号化部に入力されたサブデータに含まれる各ピクチャに対して得られた符号化ビット列を結合することにより、そのサブデータが符号化されたサブビットストリームデータを生成する（ステップＳ２０７）。そして可変長符号化部３３は、生成されたサブビットストリームデータを対応する結合部へ出力する（ステップＳ２０８）。また可変長符号化部３３は、生成されたサブビットストリームデータの各ピクチャに対して実際に割り当てられた符号化ビット数を情報量制御部３５に通知する（ステップＳ２０９）。そして符号化部２３−ｋは、サブデータの符号化処理を終了する。
なお、符号化部２３−ｎでは、上記のステップＳ２０１において、バッファ上限・下限制御部３４が、標準復号器バッファの上限値及び下限値を、それぞれ、制御部２１により決定される上限値及び下限値そのものに設定する。また上記のステップＳ２０３の処理は省略される。その他の動作に関しては、符号化部２３−ｎは、他の符号化部と同様に動作する。【００７９】
なお、動画像符号化装置１により生成されたビットストリームデータは、例えば、MPEG-2、MPEG-4、あるいはH.264 MPEG-4 AVCに準拠するデータとすることができる。そのため、動画像符号化装置１により生成されたビットストリームデータは、従来の動画像復号装置により復号することができる。【００８０】
以上に説明してきたように、この動画像符号化装置は、結合部により二つのサブビットストリームデータが結合されて生成されるビットストリームデータのうちの前側のサブビットストリームデータに対する符号化ビット割当量を制御する。これにより、この動画像符号化装置は、前側のサブビットストリームデータの最後のピクチャが復号された遷移時刻における、結合されたビットストリームデータが標準復号器バッファに占める占有量を調整する。具体的には、動画像符号化装置は、遷移時刻における結合されたビットストリームデータが標準復号器バッファに占める占有量を、遷移時刻までに標準復号器バッファに蓄積された後側のサブビットストリームデータが占める占有量よりも高くする。さらにこの動画像符号化装置は、前側のサブビットストリームデータと後側のサブビットストリームデータの間に、前側のサブビットストリームデータの最後のピクチャが復号されるときに合わせて取り出される無効ビット列を挿入する。これにより、この動画像符号化装置は、遷移時刻における、結合されたビットストリームデータが標準復号器バッファに占める占有量と、後側のサブビットストリームデータが標準復号器バッファに占める占有量との差をなくすことができる。従って、この動画像符号化装置は、占有量の遷移のシミュレーションを行ったり、符号化されたピクチャを一旦復号した後に再符号化する必要なく、標準復号器バッファの規定を満たすることができる。そのため、この動画像符号化装置は、短時間で動画像データを符号化することができる。さらにこの動画像符号化装置は、結合されたビットストリームデータが標準復号器バッファに占める占有量の下限値を徐々に修正するので、そのビットストリームデータに含まれる各ピクチャに割り当てられる符号化ビット数が急激に減少することはない。したがって、この動画像符号化装置は、動画像データ全体にわたって符号化による画質劣化を防止することができる。【００８１】
なお、本発明は上記の実施形態に限定されるものではない。例えば、この動画像符号化装置は、可変ビットレートで動画像データを符号化するものであってもよい。この場合、標準復号器バッファに占めるビットストリームデータの占有量が、その占有量の最小許容値を下回らなければよい。そこで、各結合器は、遷移時刻におけるビットストリームデータの残留占有量が遷移時刻までに標準復号器バッファに蓄積された後側のサブビットストリームデータが占める遷移時占有量よりも多くても、無効ビット列を挿入しなくてもよい。【００８２】
また、動画像符号化装置が所定の動画像符号化規格にしたがって動作する場合、その規格の種類によっては、結合部により挿入される無効ビット列は、バイトの整数倍の長さしか持てないことがある。一方、遷移時刻における二つのサブビットストリームデータが結合されたビットストリームデータが標準復号器バッファに占める残留占有量と、その二つのサブビットストリームデータのうちの後側のサブビットストリームデータが占める遷移時占有量との差はビット単位となる。そのため、その差がバイトの整数倍でない場合、結合部は、無効ビット列を挿入しても、遷移時刻における残留占有量を遷移時占有量と完全に一致させることはできない。したがって、この無効ビット列挿入後における残留占有量と遷移時占有量との誤差により、ビットストリームデータが標準復号器バッファに占める占有量が、標準復号器バッファの最大許容値と最小許容値の間に収まらなくなる可能性がある。【００８３】
そこで、各符号化部のバッファ上限・下限制御部は、遷移時刻における標準復号器バッファの下限値を、収束目標値よりも所定のマージン量だけ高く設定することが好ましい。また各符号化部のバッファ上限・下限制御部は、標準復号器バッファの上限値を、標準復号器バッファの最大許容値よりも所定のマージン量だけ低く設定することが好ましい。その所定のマージン量は上記の誤差に相当する量であり、例えば、８ビットとすることができる。さらに、各結合部は、一つ前の結合器から上記の誤差の合計を取得し、取得した誤差の合計にその結合部において発生する誤差を加えた値の絶対値が常に所定のマージン量以下となるように、無効ビット列の長さを決定することが好ましい。【００８４】
この画像符号化装置は、様々な用途に利用される。例えば、この画像符号化装置は、動画像データ配信用サーバ、映像伝送装置、テレビ電話システム、コンピュータあるいは携帯電話機に組み込まれる。例えば、この画像符号化装置が動画像データ配信用サーバに組み込まれる場合、この動画像符号化装置により作成された、符号化された動画像データは、その処理部により、音声信号等、動画像データと同時に取得される他の信号とともに、所定の通信規格に従ったデータストリームに変換される。そして画像符号化装置を組み込んだ動画像データ配信用サーバは、そのデータストリームを通信回線を介して動画像復号装置へ配信する。【００８５】
また、この動画像符号化装置の処理部が有する、制御部、分割部、符号化部、収束目標導出部及び結合部の各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。【００８６】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【図１】
2010097946.tif 000011
【図２】
2010097946.tif 000012
【図３】
2010097946.tif 000013
【図４】
2010097946.tif 000014
【図５】
2010097946.tif 000015
【図６】
2010097946.tif 000016
【図７】
2010097946.tif 000017
【図８】
2010097946.tif 000018
【図９】
2010097946.tif 000019
【国際調査報告】
2010097946.tif 000020
2010097946.tif 000021
2010097946.tif 000022
2010097946.tif 000023