(57)【特許請求の範囲】
【請求項１】
先行チャプタおよび後続チャプタを含む動画像信号を符号化し、その発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて前記符号化を制御する動画像符号化装置であって、
少なくとも前記後続チャプタがタイトルの先頭チャプタか否かを判別することによって前記先行チャプタと前記後続チャプタとの間でシームレス接続が可能か否を判別し、前記シームレス接続が可能であれば前記後続チャプタの動画像信号が前記仮想バッファに転送される直前の前記仮想バッファの占有量を前記仮想バッファの占有量の初期値とし、前記シームレス接続が不可能であればゼロを前記仮想バッファの占有量の初期値として設定する記録モード判別手段と、
前記符号化が行われるたびに前記仮想バッファの占有量を更新する占有量更新手段と、
前記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する最適占有量算出手段と、
前記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する目標符号量算出手段と、
前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超えないように前記目標符号量を調整するために、前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超える場合には前記最適占有量から前記仮想バッファの占有量を減じた値を前記目標符号量とする目標符号量調整手段と、
前記調整された目標符号量に従って前記符号化を行う符号化手段と
を具備することを特徴とする動画像符号化装置。
【請求項２】
前記占有量更新手段は、前記占有量が前記転送符号量より多い場合には前記占有量から前記転送符号量を減じて前記発生符号量を加えた値であって前記仮想バッファの最大値を超えない値を新たな占有量とし、前記占有量が前記転送符号量以下の場合には前記発生符号量を新たな占有量とする
ことを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記最適占有量算出手段は、前記更新された仮想バッファの占有量が大きいほど大きいもしくは等しい値を前記最適占有量として算出する
ことを特徴とする請求項１記載の動画像符号化装置。
【請求項４】
前記更新された仮想バッファの占有量は、不揮発性メモリに保持されることを特徴とする請求項１記載の動画像符号化装置。
【請求項５】
先行チャプタおよび後続チャプタを含む動画像信号の符号化における発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて前記符号化を制御する動画像符号化制御装置であって、
少なくとも前記後続チャプタがタイトルの先頭チャプタか否かを判別することによって前記先行チャプタと前記後続チャプタとの間でシームレス接続が可能か否を判別し、前記シームレス接続が可能であれば前記後続チャプタの動画像信号が前記仮想バッファに転送される直前の前記仮想バッファの占有量を前記仮想バッファの占有量の初期値とし、前記シームレス接続が不可能であればゼロを前記仮想バッファの占有量の初期値として設定する記録モード判別手段と、
前記符号化が行われるたびに前記仮想バッファの占有量を更新する占有量更新手段と、
前記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する最適占有量算出手段と、
前記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する目標符号量算出手段と、
前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超えないように前記目標符号量を調整して前記符号化に供するために、前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超える場合には前記最適占有量から前記仮想バッファの占有量を減じた値を前記目標符号量とする目標符号量調整手段と
を具備することを特徴とする動画像符号化制御装置。
【請求項６】
先行チャプタおよび後続チャプタを含む動画像信号の符号化における発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて前記符号化を制御する動画像符号化制御方法であって、
少なくとも前記後続チャプタがタイトルの先頭チャプタか否かを判別することによって前記先行チャプタと前記後続チャプタとの間でシームレス接続が可能か否を判別する手順と、
前記シームレス接続が可能であれば前記後続チャプタの動画像信号が前記仮想バッファに転送される直前の前記仮想バッファの占有量を前記仮想バッファの占有量の初期値とし、前記シームレス接続が不可能であればゼロを前記仮想バッファの占有量の初期値として設定する手順と、
前記符号化が行われるたびに前記仮想バッファの占有量を更新する手順と、
前記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する手順と、
前記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する手順と、
前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超えないように前記目標符号量を調整して前記符号化に供するために、前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超える場合には前記最適占有量から前記仮想バッファの占有量を減じた値を前記目標符号量とする手順と
を具備することを特徴とする動画像符号化制御方法。
【請求項７】
先行チャプタおよび後続チャプタを含む動画像信号の符号化における発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて前記符号化を制御するプログラムであって、
少なくとも前記後続チャプタがタイトルの先頭チャプタか否かを判別することによって前記先行チャプタと前記後続チャプタとの間でシームレス接続が可能か否を判別する手順と、
前記シームレス接続が可能であれば前記後続チャプタの動画像信号が前記仮想バッファに転送される直前の前記仮想バッファの占有量を前記仮想バッファの占有量の初期値とし、前記シームレス接続が不可能であればゼロを前記仮想バッファの占有量の初期値として設定する手順と、
前記符号化が行われるたびに前記仮想バッファの占有量を更新する手順と、
前記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する手順と、
前記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する手順と、
前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超えないように前記目標符号量を調整して前記符号化に供するために、前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超える場合には前記最適占有量から前記仮想バッファの占有量を減じた値を前記目標符号量とする手順と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像信号の符号化を行う動画像符号化装置に関し、特にチャプタ間のシームレス接続を行う際に後続チャプタの発生符号量を制御する動画像符号化装置、動画像符号化制御装置、および、動画像符号化制御方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、動画像（ビデオ）データや音声（オーディオ）データを記録できる記録媒体として光ディスクが注目されている。この光ディスクは、映画などのコンテンツ商品のメディアとしてだけでなく、ユーザ側で記録を行うための書き込み型メディアとしても用いられるようになっている。書き込み型メディアとしては、例えば、同一領域について一度だけの記録を可能としたＤＶＤ−Ｒ規格や、繰り返し書き換え可能なＤＶＤ−ＲＷ規格などが知られている。これら光メディアのファイルフォーマットとしては、再生専用ディスクのためのＤＶＤ−Ｖｉｄｅｏ規格が知られているが、書き込み型メディアに対してもこのＤＶＤ−Ｖｉｄｅｏ規格に準拠した書き込みを行うことができるようになっている。
【０００３】
ＤＶＤ−Ｖｉｄｅｏ規格では、一つのディスク当たり最大９９のタイトルを記録できるようになっており、さらに各タイトルは最大９９のチャプタ（ＰＴＴ：Part of TiTle）を含むことができるようになっている。上述のＤＶＤ−ＲやＤＶＤ−ＲＷに対してカムコーダ（camcorder：camera and recorder）により記録を行う場合、記録開始から記録終了までの１回の記録単位がチャプタとして記録され、所定の条件を満たすまで同一のタイトルとして記録される。タイトルを閉じる所定の条件とは、例えば、ディスクがイジェクト（排出）された場合、タイトル内で９９チャプタに達した場合、タイトル内で９９セルに達した場合、動画記録から静止画記録に移行した場合などである。
【０００４】
このようにチャプタ単位で記録されたデータを再生すると、チャプタ間に微妙な隙間が生じてしまい、一瞬途切れたような表示が行われしまう。カムコーダにおける記録単位は十数秒から数十秒程度が標準的であり、その度に再生が途切れてしまうのは望ましくない。
【０００５】
そのため、従来より、ビデオストリーム間を見た目として途切れないように接続するシームレス接続の技術が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平１１−１５５１３１号公報（図２５）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の従来技術では、ビデオオブジェクトの部分区間同士の連結をする際に、その部分区間の終端部に位置するピクチャデータを含むＶＯＢＵと、先端部に位置するピクチャデータを含むＶＯＢＵとを光ディスクから読み出して、ＶＯＢＵを複数のオーディオパックと、複数のビデオパックとに分離させ、その後、ビデオパックを再エンコードして、複数のオーディオパックのうち一部を後部区間に多重化している。すなわち、出力ストリームの多重化をやり直す必要が生じる。
【０００７】
一方、ＤＶＤ−Ｖｉｄｅｏ規格に準拠した記録を行うために動画像のエンコード（符号化）を行う際にはＭＰＥＧ−２（Moving Picture Experts Group phase 2）規格が用いられるが、このＭＰＥＧ−２では、エンコーダとデコーダとの間にＶＢＶ（Video Buffering Verifier : ISO13818-2 Annex C参照）バッファと呼ばれる仮想バッファを想定して、このＶＢＶバッファが破綻しないようにエンコードを行う必要がある。別々にエンコードされたビデオストリーム同士をシームレス接続しようとすると、このＶＢＶバッファにおける先行チャプタの占有量が考慮されずに後続チャプタのデータがＶＢＶバッファに入力されるため、このＶＢＶバッファに破綻をきたすおそれがある。
【０００８】
そこで、本発明は、ＶＢＶバッファに破綻をきたさずにチャプタ間のシームレス接続を行う動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明の請求項１記載の動画像符号化装置は、先行チャプタおよび後続チャプタを含む動画像信号を符号化し、その発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて上記符号化を制御する動画像符号化装置であって、少なくとも上記後続チャプタがタイトルの先頭チャプタか否かを判別することによって上記先行チャプタと上記後続チャプタとの間でシームレス接続が可能か否を判別し、上記シームレス接続が可能であれば上記後続チャプタの動画像信号が上記仮想バッファに転送される直前の上記仮想バッファの占有量を上記仮想バッファの占有量の初期値とし、上記シームレス接続が不可能であればゼロを上記仮想バッファの占有量の初期値として設定する記録モード判別手段と、上記符号化が行われるたびに上記仮想バッファの占有量を更新する占有量更新手段と、上記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する最適占有量算出手段と、上記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する目標符号量算出手段と、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超えないように上記目標符号量を調整するために、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超える場合には上記最適占有量から上記仮想バッファの占有量を減じた値を上記目標符号量とする目標符号量調整手段と、上記調整された目標符号量に従って上記符号化を行う符号化手段とを具備する。これにより、後続チャプタのための仮想バッファの占有量の初期値を設定するにあたって、先行チャプタによる仮想バッファの占有量の状態を引き継がせて、仮想バッファに破綻をきたさずにチャプタ間のシームレス接続を行うことができるという作用をもたらす。
【００１１】
また、本発明の請求項２記載の動画像符号化装置は、請求項１記載の動画像符号化装置において、上記占有量更新手段が、上記占有量が上記転送符号量より多い場合には上記占有量から上記転送符号量を減じて上記発生符号量を加えた値であって上記仮想バッファの最大値を超えない値を新たな占有量とし、上記占有量が上記転送符号量以下の場合には上記発生符号量を新たな占有量とするものである。これにより、仮想バッファの占有量に関する情報を最新の状態に更新させるという作用をもたらす。
【００１２】
また、本発明の請求項３記載の動画像符号化装置は、請求項１記載の動画像符号化装置において、上記最適占有量算出手段が、上記更新された仮想バッファの占有量が大きいほど大きいもしくは等しい値を上記最適占有量として算出するものである。これにより、仮想バッファの占有量をビットレートに反映させて急峻な画像劣化を抑制するという作用をもたらす。
【００１３】
また、本発明の請求項４記載の動画像符号化制御装置は、請求項１記載の動画像符号化装置において、上記更新された仮想バッファの占有量が不揮発性メモリに保持されるものである。
【００１４】
また、本発明の請求項５記載の動画像符号化制御装置は、先行チャプタおよび後続チャプタを含む動画像信号の符号化における発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて上記符号化を制御する動画像符号化制御装置であって、少なくとも上記後続チャプタがタイトルの先頭チャプタか否かを判別することによって上記先行チャプタと上記後続チャプタとの間でシームレス接続が可能か否を判別し、上記シームレス接続が可能であれば上記後続チャプタの動画像信号が上記仮想バッファに転送される直前の上記仮想バッファの占有量を上記仮想バッファの占有量の初期値とし、上記シームレス接続が不可能であればゼロを上記仮想バッファの占有量の初期値として設定する記録モード判別手段と、上記符号化が行われるたびに上記仮想バッファの占有量を更新する占有量更新手段と、上記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する最適占有量算出手段と、上記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する目標符号量算出手段と、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超えないように上記目標符号量を調整して上記符号化に供するために、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超える場合には上記最適占有量から上記仮想バッファの占有量を減じた値を上記目標符号量とする目標符号量調整手段とを具備する。これにより、後続チャプタのための仮想バッファの占有量の初期値を設定するにあたって、先行チャプタによる仮想バッファの占有量の状態を引き継がせて、仮想バッファに破綻をきたさずにチャプタ間のシームレス接続を行うことができるという作用をもたらす。
【００１５】
また、本発明の請求項６記載の動画像符号化制御方法は、先行チャプタおよび後続チャプタを含む動画像信号の符号化における発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて上記符号化を制御する動画像符号化制御方法であって、少なくとも上記後続チャプタがタイトルの先頭チャプタか否かを判別することによって上記先行チャプタと上記後続チャプタとの間でシームレス接続が可能か否を判別する手順と、上記シームレス接続が可能であれば上記後続チャプタの動画像信号が上記仮想バッファに転送される直前の上記仮想バッファの占有量を上記仮想バッファの占有量の初期値とし、上記シームレス接続が不可能であればゼロを上記仮想バッファの占有量の初期値として設定する手順と、上記符号化が行われるたびに上記仮想バッファの占有量を更新する手順と、上記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する手順と、上記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する手順と、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超えないように上記目標符号量を調整して上記符号化に供するために、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超える場合には上記最適占有量から上記仮想バッファの占有量を減じた値を上記目標符号量とする手順とを具備する。これにより、後続チャプタのための仮想バッファの占有量の初期値を設定するにあたって、先行チャプタによる仮想バッファの占有量の状態を引き継がせて、仮想バッファに破綻をきたさずにチャプタ間のシームレス接続を行うことができるという作用をもたらす。
【００１７】
また、本発明の請求項７記載のプログラムは、先行チャプタおよび後続チャプタを含む動画像信号の符号化における発生符号量と出力先への転送符号量とにより規定される仮想バッファの占有量に応じて上記符号化を制御するプログラムであって、少なくとも上記後続チャプタがタイトルの先頭チャプタか否かを判別することによって上記先行チャプタと上記後続チャプタとの間でシームレス接続が可能か否を判別する手順と、上記シームレス接続が可能であれば上記後続チャプタの動画像信号が上記仮想バッファに転送される直前の上記仮想バッファの占有量を上記仮想バッファの占有量の初期値とし、上記シームレス接続が不可能であればゼロを上記仮想バッファの占有量の初期値として設定する手順と、上記符号化が行われるたびに上記仮想バッファの占有量を更新する手順と、上記更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する手順と、上記後続チャプタの動画像信号に基づいて所定の目標符号量を算出する手順と、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超えないように上記目標符号量を調整して上記符号化に供するために、上記仮想バッファの占有量に上記目標符号量を加えた総量が上記最適占有量を超える場合には上記最適占有量から上記仮想バッファの占有量を減じた値を上記目標符号量とする手順とをコンピュータに実行させるものである。これにより、後続チャプタのための仮想バッファの占有量の初期値を設定するにあたって、先行チャプタによる仮想バッファの占有量の状態を引き継がせて、仮想バッファに破綻をきたさずにチャプタ間のシームレス接続を行うことができるという作用をもたらす。
【発明の効果】
【００１９】
本発明によれば、ＶＢＶバッファに破綻をきたさずにチャプタ間のシームレス接続を行うことができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００２０】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２１】
図１は、本発明の実施の形態における動画像符号化装置の構成例を示す図である。この動画像符号化装置は、動画像信号を符号化するビデオエンコーダ１００と、音声信号を符号化するオーディオエンコーダ２００と、ビデオエンコーダ１００およびオーディオエンコーダ２００の出力を多重化するマルチプレクサ３００と、マルチプレクサ３００により多重化されたストリームデータを記録媒体４９０に記録する媒体記録部４００と、ビデオエンコーダ１００における符号化を制御する符号化制御部５００とを備えている。
【００２２】
符号化制御部５００は、プロセッサ５１０と、ＲＯＭ５２０と、ＲＡＭ５３０と、入出力インターフェース５４０と、これらを相互に接続するバス５５０とを備えている。プロセッサ５１０は、ビデオエンコーダ１００において符号化されたデータ量である発生符号量を信号線１７９によって受け取り、次のピクチャを符号化する際の目標データ量である目標符号量に合致した量子化インデックスを決定して信号線１５９により出力する。ＲＯＭ５２０は、プロセッサ５１０により実行されるプログラムや各種パラメータ等を保持するメモリであり、例えば、フラッシュメモリ等のＥＰＲＯＭにより実現される。ＲＡＭ５３０は、プロセッサ５１０におけるプログラム実行に必要な作業データ等を保持するメモリであり、例えばＳＲＡＭやＤＲＡＭ等により実現される。入出力インターフェース５４０は、外部とのデータのやり取りを行うものであり、例えば、ＲＯＭ５２０内のプログラムを更新する等のために使用される。
【００２３】
図２は、本発明の実施の形態におけるビデオエンコーダ１００の構成例を示す図である。このビデオエンコーダ１００は、信号線１０１を介して入力された動画像信号を符号化して信号線１９９を介して出力するものであり、並べ替え回路１１１と、走査変換回路１１２と、動き検出回路１２１と、動き補償回路１２２と、減算器１３１と、加算器１３２と、ＤＣＴ回路１４１と、逆ＤＣＴ回路１４２と、量子化回路１５１と、逆量子化回路１５２と、符号化器１６１と、バッファメモリ１７１とを備えている。
【００２４】
並べ替え回路１１１は、信号線１０１を介して入力された動画像信号の各ピクチャを符号化の順序に従って並べ替えて走査変換回路１１２に供給する。走査変換回路１１２は、供給されたピクチャのデータがフレーム構造であるかフィールド構造であるかを判別し、供給されたピクチャのデータに対して判別結果に対応した走査変換の処理を施した後にマクロブロックのデータにマクロブロック化して動き検出回路１２１および減算器１３１にそれぞれ出力する。
【００２５】
動き検出回路１２１は、走査変換回路１１２の出力データに基づいて、動きベクトルを検出して動き補償回路１２２に供給する。動き補償回路１２２は、動き検出回路１２１から供給された動きベクトルに基づいて、動き補償回路１２２内に予め記憶されている画像データのうち、減算器１３１に供給されたマクロブロックのデータに対応する画像データを読み出し、予測画像データとして減算器１３１および加算器１３２に供給する。
【００２６】
減算器１３１は、走査変換回路１１２から供給されたマクロブロックのデータがＩピクチャであればそのままＤＣＴ回路１４１に供給し、ＰピクチャまたはＢピクチャであればそのマクロブロックのデータから動き補償回路１２２より供給された予測画像データを減算したデータをＤＣＴ回路１４１に供給する。
【００２７】
ＤＣＴ回路１４１は、減算器１３１から供給されたデータに対してＤＣＴ（Discrete Consign Transform：離散コサイン変換）処理を施してＤＣＴ係数に変換する。量子化回路１５１は、ＤＣＴ回路１４１からのＤＣＴ係数を、符号化制御部５００から信号線１５９により供給された量子化インデックスに基づいて量子化して、符号化器１６１および逆量子化回路１５２に供給する。符号化器１６１は、量子化されたデータを可変長符号化してバッファメモリ１７１に格納する。バッファメモリ１７１は、格納された可変長符号をピクチャ単位のデータに変換し、ビットストリームデータとして信号線１９９に出力する。また、ピクチャ全体の可変長符号の発生量を発生符号量として信号線１７９により符号化制御部５００に供給する。
【００２８】
逆量子化回路１５２は、量子化回路１５１から供給された量子化されたデータを逆量子化する。逆ＤＣＴ回路１４２は、逆量子化回路１５２により逆量子化されたデータに逆ＤＣＴ処理を施して加算器１３２に供給する。加算器１３２は、逆ＤＣＴ回路１４２から供給されたデータと動き補償回路１２２から供給された予測画像データとを加算して元の画像データに戻し、これを、次以降に符号化されるマクロブロックの画像データに対応する予測画像データを生成するために動き補償回路１２２に供給する。
【００２９】
図３は、ＭＰＥＧ−２規格におけるＶＢＶバッファのモデルを示す図である。ＭＰＥＧ−２規格では、得られるビットストリームデータを適切に伝送し、復号するために、エンコーダとデコーダとの間にＶＢＶバッファと呼ばれる仮想バッファを想定して、このＶＢＶバッファがオーバフローしないようにエンコードを行う。エンコーダによる発生符号量と出力先への転送符号量との差異が、このＶＢＶバッファ内に存在するデータ量（「占有量」という。）となる。このＶＢＶバッファの最大量は２２４ＫＢと定義されている。但し、このＶＢＶバッファはあくまでも仮想的なものであり、実際にそのようなバッファが存在するとは限らない。
【００３０】
ＶＢＶバッファをエンコーダ側から見ると、図３（ａ）のようにビデオエンコーダ１００の出力側にＶＢＶバッファ７０１が接続され、ビデオエンコーダ１００からＶＢＶバッファ７０１へのデータの転送は理論上、瞬時に行われるものとする。そして、ＶＢＶバッファ７０１からの出力は、ＶＢＶバッファ７０１にデータが存在する場合には転送速度Ｒｍａｘで、ＶＢＶバッファ７０１にデータが存在しない場合には転送速度０で行われるものとする。これにより、ＶＢＶバッファ７０１の占有量を把握し、この占有量がＶＢＶバッファ７０１の最大量を上回らないように（オーバフローしないように）ビデオエンコーダ１００の動作を制御する。
【００３１】
一方、ＶＢＶバッファをデコーダ側から見ると、図３（ｂ）のようにビデオデコーダ９００の入力側にＶＢＶバッファ７０９が接続され、ＶＢＶバッファ７０９からビデオデコーダ９００へのデータの転送は理論上、瞬時に行われるものとする。そして、ＶＢＶバッファ７０９への入力は、転送速度Ｒｍａｘまたは転送速度０で行われるものとする。この場合、ＶＢＶバッファ７０９の最大量を上回らないように転送するとともに、ビデオデコーダ９００におけるデコードタイミングに間に合うように転送しなければならない。ビデオデコーダ９００におけるデコードタイミングに間に合わないと、ＶＢＶバッファ７０９においてアンダフローを生じることになる。
【００３２】
図４は、エンコーダ側ＶＢＶバッファ７０１の占有量の遷移例を示す図である。縦軸はＶＢＶバッファの占有量、横軸は時間をそれぞれ表している。縦軸の占有量は下向きに表示されており、下方にいく程占有量が多いことを意味する。なお、このＶＢＶバッファ７０１の最大量は２２４ＫＢとなっている。
【００３３】
なお、ここで、Ｔはピクチャの発生周期、すなわち、フレームレートの逆数を示す。また、ｎは任意のピクチャのピクチャ番号を示す整数である。また、ＰＸはＸ番目のピクチャの実際の符号発生量であり、ＢＸはＸ番目のピクチャの符号化直前のＶＢＶバッファの占有量を表す。
【００３４】
ビデオエンコーダ１００は、入力された動画像信号をピクチャ番号の順に従って符号化する。第０番目のピクチャが符号化された直後（時刻０）に、ＶＢＶバッファ７０１に発生符号量Ｐ０が瞬時に転送され、ＶＢＶバッファの占有量がＢ０＋Ｐ０となる。続いて、次の第１番目のピクチャの符号化が終了するまでの間は、ＶＢＶバッファ７０１から転送速度Ｒｍａｘで符号の送出が行われて、ＶＢＶバッファ７０１の占有量が時間とともに減少していく。
【００３５】
第１番目のピクチャが符号化される直前（時刻Ｔ）になると、ＶＢＶバッファ７０１の占有量がＢ１となり、そこに発生符号量Ｐ１の第１番目のピクチャが瞬時に転送される。この結果、時刻Ｔでは、ＶＢＶバッファ７０１の占有量がＢ１＋Ｐ１となる。
【００３６】
以下、同様にＶＢＶバッファ７０１からの転送と、符号化されたピクチャの符号のＶＢＶバッファへ７０１の格納とが続き、第ｎ番目のピクチャが符号化される直前（時刻ｎ×Ｔ）となると、ＶＢＶバッファの占有量がＢｎ（＝Ｂｎ−１＋Ｐｎ−１）となり、そこに符号量Ｐｎの第ｎ番目のピクチャが瞬時に転送される。この結果、時刻ｎ×Ｔでは、ＶＢＶバッファ７０１の占有量がＢｎ＋Ｐｎとなる。
【００３７】
ここで、符号の送出量が送入量を上回ると、時刻Ｔｘに示されるようにＶＢＶバッファ７０１の占有量が０になり、ＶＢＶバッファ７０１からのデータの送出が行われなくなる。ＤＶＤに記録する場合、このようにエンコーダ側でＶＢＶバッファ７０１のアンダフローが発生することは許容される。しかしながら、ＤＶＤに記録する場合であっても、ＶＢＶバッファ７０１のオーバフローは許容されない。従って、このＶＢＶバッファ７０１がオーバフローしないように、ビデオエンコーダ１００側で制御を行う必要がある。
【００３８】
図５は、デコーダ側ＶＢＶバッファ７０９の占有量の遷移例を示す図である。縦軸はＶＢＶバッファの占有量、横軸は時間をそれぞれ表している。図４と異なり、縦軸の占有量は上向きに表示されており、上方にいく程占有量が多いことを意味する。
【００３９】
このＶＢＶバッファ７０９には、ビットストリーム中にビデオストリームが存在する様態で転送速度Ｒｍａｘで符号の格納が行われ、ビットストリーム中にビデオストリームが存在しないときには格納は行われない。また、ＶＢＶバッファ７０９からビデオデコーダ９００への流出は各ピクチャのデコード開始タイミングで瞬時に行われる。
【００４０】
図５（ａ）に示されるように、チャプタ間をシームレスに接続しない場合には、先行チャプタと後続チャプタとの間には、デコード後の画像に切れ目を生じる。この場合、先行チャプタの発生符号によるＶＢＶバッファ７０９の占有量がゼロになった後で、後続チャプタの発生符号が流入するため、チャプタ間でＶＢＶバッファ７０９の干渉を考慮する必要がない。
【００４１】
しかし、図５（ｂ）に示すように、チャプタ間をシームレスに接続する場合には、先行チャプタによるＶＢＶバッファ７０９の占有量がゼロになる前に、後続チャプタの発生符号が流入するため、ＶＢＶバッファ７０９の初期値としては先行チャプタによるＶＢＶバッファ７０９の占有量を引き継いで計算する必要がある。先行チャプタによるＶＢＶバッファ７０９の占有量が多く残存している段階で後続チャプタの発生符号の流入を開始してしまうと、ＶＢＶバッファ７０９がオーバフローを生じるおそれがある。
【００４２】
一方で、ＶＢＶバッファ７０９に十分な量の符号が溜まっていない段階でデコードのための流出を行おうとすると、ＶＢＶバッファ７０９がアンダフローを生じるおそれがある。例えば、図５（ｂ）で後続チャプタにおける先頭ピクチャ（Ｉ２）をデコードするために必要な符号量を瞬時に引き抜く際、もしＶＢＶバッファ７０９に十分な量の符号が溜まっていない場合には、デコードに必要なデータが得られないため、シームレス接続はできなくなる。事前に十分な量の符号を溜めておくには、後続チャプタのビットストリームの転送をなるべく早く開始する必要があるが、先行チャプタの転送が終了してから後続チャプタの転送を開始しなければならないという制約があるため、これにも限界がある。
【００４３】
そこで、本発明の実施の形態では、このようなＶＢＶバッファに関する条件を遵守した上でチャプタ間のシームレス接続を可能にするため、以下のように後続チャプタの発生符号量を制限しながらエンコードを行う。なお、ここで説明したＶＢＶバッファ７０１および７０９は表裏一体の関係にあるため、以下の説明ではＶＢＶバッファ７０１を前提として説明する。
【００４４】
図６は、本発明の実施の形態における符号化制御部５００のプロセッサ５１０の機能構成例を示す図である。この機能構成例は、記録モード判別部５１１と、占有量更新部５１２と、最適占有量算出部５１３と、目標符号量算出部５１４と、目標符号量調整部５１５と、量子化インデックス決定部５１６とを備えている。なお、この例では、ＲＯＭ５２０に保持されたプログラムに従ってプロセッサ５１０が各機能を実現することを想定しているが、これらの機能はハードウェアにより実現してもよい。
【００４５】
記録モード判別部５１１は、チャプタ間のシームレス接続が可能か否かを判別する。シームレス接続の条件としては、シームレス接続をしようとする後続チャプタがその属するタイトルの先頭チャプタでないこと、先行チャプタの最終ＶＯＢの再生時間が１．５秒未満でないこと、メディア上の配置に起因するシーク時間が許容範囲内であること、等がある。記録モード判別部５１１により判別されたシームレス接続の有無は、ＤＶＤのデータ記憶領域におけるＶＴＳＩ（Video Title Set Information）のＰＧＣＩ（ProGram Chain Information）におけるＣ＿ＰＢＩＴ（Cell PlayBack Information Table）内のシームレス・プレイバック・フラグ（seamless playback flag）に反映される。すなわち、シームレス接続を行う場合には後続チャプタのシームレス・プレイバック・フラグがオンに設定され、シームレス接続を行わない場合には後続チャプタのシームレス・プレイバック・フラグがオフに設定される。
【００４６】
また、記録モード判別部５１１は、シームレス接続可能であると判断した場合、ＲＡＭ５３０（またはＲＯＭ５２０）に保持されたＶＢＶバッファの直前の占有量をＶＢＶバッファの初期値として設定する。一方、シームレス接続可能でないと判断した場合には、ＶＢＶバッファの初期値としてゼロを設定する。このＶＢＶバッファの初期値は、図４における占有量「Ｂ０」に相当する。このようにして設定されたＶＢＶバッファの初期値は、占有量更新部５１２に供給される。
【００４７】
占有量更新部５１２は、ビデオエンコーダ１００のバッファメモリ１７１から供給された発生符号量に基づいてＶＢＶバッファの占有量を更新する。例えば、図４における「Ｂ０＋Ｐ０」を直前のタイミングとすると、「Ｂ０＋Ｐ０」から「Ｂ１」に至る転送符号量を減じて、さらに発生符号量「Ｐ１」を加える。
【００４８】
この場合、転送速度Ｒｍａｘを９．３Ｍｂｐｓと仮定し、画面方式としてＮＴＳＣ（National Television Standards Committee）方式を仮定すると、ＮＴＳＣのフレーム周波数は
（１０００／１００１×３０）＝２９．９７Ｈｚ
であることから、１周期毎の転送符号量は、
９．３Ｍｂｐｓ／２９．９７Ｈｚ＝３１０．３１Ｋビット
となる。
【００４９】
この転送符号量を減じた際、図４のＴｘにおける事象のように、ＶＢＶバッファが空になった場合には、それ以上の転送はできないのでその時点での占有量はゼロとなる。そして、その占有量に発生符号量を加えた値が新たな占有量となる。このようにして更新された占有量はＲＡＭ５３０（またはＲＯＭ５２０）に保持されるとともに、最適占有量算出部５１３に供給される。
【００５０】
最適占有量算出部５１３は、次のピクチャの符号化を行った際のＶＢＶバッファの最適占有量を算出する。この最適占有量は、次のピクチャの符号化を行った結果としてＶＢＶバッファの占有量がどれ位になるのが理想的であるかを示す指標であり、この値よりもＶＢＶバッファの占有量が大きくなると、ＶＢＶバッファがオーバフローする可能性が非常に高くなることを意味する。この最適占有量は、次のような関数Ｂｙ＝ＶＢＶ（Ｂｘ）により求められることが実験データにより実証されている。この関数ＶＢＶを利用することにより、早いタイミングでＶＢＶバッファの占有量をビットレートに反映させることができ、この結果、急峻な画像劣化を抑制することができる。ここで、Ｂｘは第ｘ番目のピクチャを符号化する前のＶＢＶバッファの使用量を意味し、Ｂｙは第ｘ番目のピクチャを符号化した後のＶＢＶバッファの最適占有量を意味する。
【００５１】
特徴１：Ｂｙ＝ＶＢＶ（Ｂｘ）は、Ｂｘの区間［０,Ｂｍａｘ］で、Ｂｘに対する単調増加関数である。 
特徴２：関数｛Ｂｙ＝Ｂｘ｝と関数｛Ｂｙ＝ＶＢＶ（Ｂｘ）−（Ｒｍａｘ×Ｔ）｝とは、Ｂｘの区間［０,Ｂｍａｘ］ではＢｘ＝Ｂｔｈ（ただし、０<Ｂｔｈ<Ｂｍａｘ）で交わる。
特徴３：Ｂｘ≦Ｂｔｈである場合には{ＶＢＶ（Ｂｘ）−（Ｒｍａｘ×Ｔ）}≧Ｂｘであり、Ｂｘ>Ｂｔｈである場合には{ＶＢＶ（Ｂｘ）−（Ｒｍａｘ×Ｔ）}<Ｂｘである。
【００５２】
図７に以上のような３つの特徴を有するＶＢＶ関数の一例を示す。このＶＢＶ関数は、ＢＸが［０，Ｂｔｈ］の区間ではＢｙが所定の値（Ｂｔｈ以上の値）で一定となっており、ＢＸが［Ｂｔｈ，Ｂｍａｘ］の区間ではＢｙが増加率１未満の割合で徐々に増加している。
【００５３】
図６において、最適占有量算出部５１３は、このようにして得たＶＢＶバッファの最適占有量を目標符号量調整部５１５に供給する。
【００５４】
目標符号量算出部５１４は、シームレス接続を行おうとする後続チャプタの動画像信号に基づいて目標符号量を算出する。この目標符号量を算出するにあたっては、種々のモデルが提案されており、ここでは、一例として公知のＴＭ５方式を想定する。このＴＭ５方式は、ＭＰＥＧ−２の符号量制御のモデルとして提案されているものであり（ISO/IEC JTC1/SC29/WG11, MPEG93/457, "Test Model 5," 1993. 参照）、ピクチャタイプに応じてそれぞれの符号量の配分を決定するものである。
【００５５】
目標符号量調整部５１５は、目標符号量算出部５１４により算出された目標符号量と最適占有量算出部５１３により算出された最適占有量とを参照して、現在の占有量に目標符号量を加えた値が最適占有量を超えていないかどうか判断する。そして、もし超えているようであれば、最適占有量から現在の占有量を引いた値が目標符号量になるように目標符号量を調整する。このようにして調整された目標符号量は、量子化インデックス決定部５１６に供給される。
【００５６】
量子化インデックス決定部５１６は、ビデオエンコーダ１００における発生符号量が目標符号量調整部５１５から供給された目標符号量となるように、量子化回路１５１における量子化特性値に対応する量子化インデックスを決定する。この量子化インデックスは信号線１５９を介して量子化回路１５１に供給される。
【００５７】
次に本発明の実施の形態における動画像符号化装置の動作について図面を参照して説明する。
【００５８】
図８は、本発明の実施の形態における動画像符号化装置の処理例を示す流れ図である。後続のチャプタを符号化するに先立って、記録モード判別部５１１は、記録モードとしてシームレス接続を行うべきか否かを判別する（ステップＳ９０１）。そして、シームレス接続を行う場合には（ステップＳ９０２）、ＲＡＭ５３０（またはＲＯＭ５２０）に保持されたＶＢＶバッファの直前の占有量をＶＢＶバッファの初期値として設定する（ステップＳ９０３）。一方、シームレス接続を行わない場合には（ステップＳ９０２）、ＶＢＶバッファの初期値としてゼロを設定する（ステップＳ９０４）。
【００５９】
記録モード判別部５１１による準備が整った後、後続チャプタの動画像信号はビデオエンコーダ１００によって１ピクチャ（フレーム）ずつエンコードされる（ステップＳ９０５）。そして、１ピクチャ分のエンコードが終了する度にＶＢＶバッファに関する制御が行われる（ステップＳ９０６）。後続チャプタの全てのピクチャ（フレーム）のエンコードが完了するまで、このステップＳ９０５およびＳ９０６が繰り返される（ステップＳ９０７）。
【００６０】
図９は、本発明の実施の形態におけるＶＢＶバッファに関する制御（ステップＳ９０６）の処理例を示す流れ図である。図８から明らかなように、このＶＢＶバッファに関する制御は１ピクチャ（フレーム）分のエンコードが行われる度に実行される。
【００６１】
１ピクチャ分のエンコードが終了すると、まず占有量更新部５１２によりＶＢＶバッファの占有量に関する情報が更新される（ステップＳ９１１）。これにより、エンコード直後のＶＢＶバッファの占有量が把握される。この処理内容については図１０により後述する。
【００６２】
そして、最適占有量算出部５１３により、次のエンコード後のＶＢＶバッファの最適占有量が算出される（ステップＳ９１２）。この最適占有量は、例えば、前述のＶＢＶ関数により算出することができる。また、目標符号量算出部５１４により、次のエンコードにおける目標符号量が算出される（ステップＳ９１３）。この目標符号量は、例えば、公知のＴＭ５方式により算出することができる。
【００６３】
そして、目標符号量調整部５１５は、ステップＳ９１１において把握されたＶＢＶバッファの現在の占有量とステップＳ９１３において算出された目標符号量とを加算した値がステップＳ９１２において算出された最適占有量を超えているか否かを判断し（ステップＳ９１４）、超えている場合には最適占有量から現在の占有量を引いた値を目標符号量とすべく調整する（ステップＳ９１５）。
【００６４】
このようにして調整された目標符号量に基づいて、量子化インデックス決定部５１６は量子化インデックスを決定する（ステップＳ９１６）。この量子化インデックスは、ビデオエンコーダ１００の量子化回路１５１に供給される。
【００６５】
図１０は、本発明の実施の形態におけるＶＢＶバッファの占有量に関する情報の更新（ステップＳ９１１）の処理例を示す流れ図である。まず、ＶＢＶバッファにおける直前の占有量から一周期分の転送符号量が減算される。このとき、減算前の占有量と一周期分の転送符号量（上述の例では、３１０．３１Ｋビット）とが比較され（ステップＳ９２１）、減算前の占有量の方が大きければそのまま減算した結果が新たな占有量となり（ステップＳ９２２）、そうでなければＶＢＶバッファはアンダフローするので新たな占有量はゼロとなる（ステップＳ９２３）。
【００６６】
そして、この新たな占有量に対してさらにビデオエンコーダ１００における発生符号量が加算される（ステップＳ９２４）。この加算後の占有量がＶＢＶバッファの最大量を超えてしまう場合には（ステップＳ９２５）、オーバフローするので新たな占有量はＶＢＶバッファの最大量となる（ステップＳ９２６）。
【００６７】
このように、本発明の実施の形態によれば、記録モード判別部５１１によりチャプタ間のシームレス接続を行うか否かを判別し、その判別結果によってＶＢＶバッファの初期値を予め設定しておいて、シームレス接続する後続チャプタの発生符号量を符号化制御部５００により制御することによって、ＶＢＶバッファに破綻をきたさないシームレス接続を実現することができる。
【００６８】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【００６９】
すなわち、請求項１において、仮想バッファは例えばＶＢＶバッファ７０１に対応する。また、記録モード判別手段は例えば記録モード判別部５１１に対応する。また、占有量更新手段は例えば占有量更新部５１２に対応する。また、最適占有量算出手段は例えば最適占有量算出部５１３に対応する。また、目標符号量算出手段は例えば目標符号量算出部５１４に対応する。また、目標符号量調整手段は例えば目標符号量調整部５１５に対応する。また、符号化手段は例えばビデオエンコーダ１００に対応する。
【００７０】
また、請求項５において、仮想バッファは例えばＶＢＶバッファ７０１に対応する。また、記録モード判別手段は例えば記録モード判別部５１１に対応する。また、占有量更新手段は例えば占有量更新部５１２に対応する。また、最適占有量算出手段は例えば最適占有量算出部５１３に対応する。また、目標符号量算出手段は例えば目標符号量算出部５１４に対応する。
【００７１】
また、請求項６または７において、仮想バッファは例えばＶＢＶバッファ７０１に対応する。また、少なくとも後続チャプタがタイトルの先頭チャプタか否かを判別することによって先行チャプタと後続チャプタとの間でシームレス接続が可能か否を判別する手順は例えばステップＳ９０１に対応する。また、シームレス接続が可能であれば後続チャプタの動画像信号が仮想バッファに転送される直前の仮想バッファの占有量を仮想バッファの占有量の初期値とし、シームレス接続が不可能であればゼロを仮想バッファの占有量の初期値として設定する手順は例えばステップＳ９０２乃至Ｓ９０４に対応する。また、符号化が行われるたびに前記仮想バッファの占有量を更新する手順は例えばステップＳ９１１に対応する。また、更新された仮想バッファの占有量に基づいて所定の最適占有量を算出する手順は例えばステップＳ９１２に対応する。また、後続チャプタの動画像信号に基づいて所定の目標符号量を算出する手順は例えばステップＳ９１３に対応する。また、仮想バッファの占有量に目標符号量を加えた総量が最適占有量を超えないように目標符号量を調整して符号化に供するために、前記仮想バッファの占有量に前記目標符号量を加えた総量が前記最適占有量を超える場合には前記最適占有量から前記仮想バッファの占有量を減じた値を前記目標符号量とする手順は例えばステップＳ９１４およびＳ９１５に対応する。
【００７３】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【産業上の利用可能性】
【００７４】
本発明の活用例として、例えば動画像信号をＭＰＥＧ−２形式に符号化してＤＶＤに書込みを行う際に本発明を適用することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態における動画像符号化装置の構成例を示す図である。
【図２】本発明の実施の形態におけるビデオエンコーダ１００の構成例を示す図である。
【図３】ＭＰＥＧ−２規格におけるＶＢＶバッファのモデルを示す図である。
【図４】エンコーダ側ＶＢＶバッファ７０１の占有量の遷移例を示す図である。
【図５】デコーダ側ＶＢＶバッファ７０９の占有量の遷移例を示す図である。
【図６】本発明の実施の形態における符号化制御部５００のプロセッサ５１０の機能構成例を示す図である。
【図７】本発明における関数ＶＢＶの一例を示す図である。
【図８】本発明の実施の形態における動画像符号化装置の処理例を示す流れ図である。
【図９】本発明の実施の形態におけるＶＢＶバッファに関する制御の処理例を示す流れ図である。
【図１０】本発明の実施の形態におけるＶＢＶバッファの占有量に関する情報の更新の処理例を示す流れ図である。
【符号の説明】
【００７６】
１００  ビデオエンコーダ
１０１、１５９、１７９、１９９  信号線
１１１  並べ替え回路
１１２  走査変換回路
１２１  動き検出回路
１２２  動き補償回路
１３１  減算器
１３２  加算器
１４１  ＤＣＴ回路
１４２  逆ＤＣＴ回路
１５１  量子化回路
１５２  逆量子化回路
１６１  符号化器
１７１  バッファメモリ
２００  オーディオエンコーダ
３００  マルチプレクサ
４００  媒体記録部
４９０  記録媒体
５００  符号化制御部
５１０  プロセッサ
５１１  記録モード判別部
５１２  占有量更新部
５１３  最適占有量算出部
５１４  目標符号量算出部
５１５  目標符号量調整部
５１６  量子化インデックス決定部
５２０  ＲＯＭ
５３０  ＲＡＭ
５４０  入出力インターフェース
５５０  バス
７０１、７０９  ＶＢＶバッファ
９００  ビデオデコーダ
【図１】
0003675464.tif 000002
【図２】
0003675464.tif 000003
【図３】
0003675464.tif 000004
【図４】
0003675464.tif 000005
【図５】
0003675464.tif 000006
【図６】
0003675464.tif 000007
【図７】
0003675464.tif 000008
【図８】
0003675464.tif 000009
【図９】
0003675464.tif 000010
【図１０】
0003675464.tif 000011