(57)【特許請求の範囲】
【請求項１】
複数のフレームからなるビデオ符号化データと、前記ビデオ符号化データのコーディングタイプ、ＰＴＳの時刻情報、ＤＴＳの時刻情報、フレームレート、及び表示情報のうちの少なくとも一つを含む属性データとを多重化する多重化制御装置であって、
前記ビデオ符号化データの符号化レートに基づいて、符号化データ仮想バッファの充足量を求める符号化データ充足量演算部と、
前記ビデオ符号化データのフレームレートに対する前記属性データの符号化レートの倍率としてＮ（Ｎは２以上の自然数）倍を設定する属性データ符号化レート倍率設定部と、
前記属性データの符号化レートの倍率に基づいて、属性データ仮想バッファの充足量を演算する属性データ充足量演算部と、
前記ビデオ符号化データの多重化時刻と、前記属性データの符号化レートの倍率とに基づいて、前記ビデオ符号化データの各フレームの開始時点以降の(Ｎ−１)／(２Ｎ)の期間および終了時点以前の(Ｎ−１)／(２Ｎ)の期間を除く前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるように、前記属性データの多重化時刻を設定する属性データ多重化時刻設定部と、
前記ビデオ符号化データの多重化時刻と、前記属性データの多重化時刻と、前記符号化データ仮想バッファの充足量と、前記属性データ仮想バッファの充足量とに基づいて、前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるよう、前記ビデオ符号化データと前記属性データとの多重化を制御する多重化制御部と、
を有する多重化制御装置。
【請求項２】
複数のフレームからなるビデオ符号化データと、前記ビデオ符号化データのコーディングタイプ、ＰＴＳの時刻情報、ＤＴＳの時刻情報、フレームレート、及び表示情報のうちの少なくとも一つを属性データとを多重化する多重化制御方法であって、
前記ビデオ符号化データの符号化レートに基づいて、符号化データ仮想バッファの充足量を求めるステップと、
前記ビデオ符号化データのフレームレートに対する前記属性データの符号化レートの倍率としてＮ（Ｎは２以上の自然数）倍を設定するステップと、
前記属性データの符号化レートの倍率に基づいて、属性データ仮想バッファの充足量を演算するステップと、
前記ビデオ符号化データの多重化時刻と、前記属性データの符号化レートの倍率とに基づいて、前記ビデオ符号化データの各フレームの開始時点以降の(Ｎ−１)／(２Ｎ)の期間および終了時点以前の(Ｎ−１)／(２Ｎ)の期間を除く前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるように、前記属性データの多重化時刻を設定するステップと、
前記ビデオ符号化データの多重化時刻と、前記属性データの多重化時刻と、前記符号化データ仮想バッファの充足量と、前記属性データ仮想バッファの充足量とに基づいて、前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるよう、前記ビデオ符号化データと前記属性データとの多重化を制御するステップと、
を有する多重化制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像や音声等の符号化データと、その符号化データの属性データとを多重化する多重化制御装置および多重化制御方法に関する。
【背景技術】
【０００２】
映像や音声等の符号化データとその属性データとを多重化する際、属性データは符号化データの再生にとって重要なデータであるので、符号化データよりも属性データを優先的に多重化するようにした多重化制御装置がある（例えば、特許文献１参照）。
【特許文献１】特開２００１−１４４７１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述の多重化制御装置では、単に、符号化データよりも属性データを優先的に多重化することしか開示されていないので、属性データを確実に符号化できなかったり、受信側において属性データを取りこぼすおそれがある、という課題があった。
【０００４】
そこで、本発明は、符号化データの属性データを確実に多重化して、受信側における属性データの取りこぼしを低減することができる多重化制御装置および多重化制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の多重化制御装置は、複数のフレームからなるビデオ符号化データと、前記ビデオ符号化データのコーディングタイプ、ＰＴＳの時刻情報、ＤＴＳの時刻情報、フレームレート、及び表示情報のうちの少なくとも一つを含む属性データとを多重化する多重化制御装置であって、前記ビデオ符号化データの符号化レートに基づいて、符号化データ仮想バッファの充足量を求める符号化データ充足量演算部と、前記ビデオ符号化データのフレームレートに対する前記属性データの符号化レートの倍率としてＮ（Ｎは２以上の自然数）倍を設定する属性データ符号化レート倍率設定部と、前記属性データの符号化レートの倍率に基づいて、属性データ仮想バッファの充足量を演算する属性データ充足量演算部と、前記ビデオ符号化データの多重化時刻と、前記属性データの符号化レートの倍率とに基づいて、前記ビデオ符号化データの各フレームの開始時点以降の(Ｎ−１)／(２Ｎ)の期間および終了時点以前の(Ｎ−１)／(２Ｎ)の期間を除く前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるように、前記属性データの多重化時刻を設定する属性データ多重化時刻設定部と、前記ビデオ符号化データの多重化時刻と、前記属性データの多重化時刻と、前記符号化データ仮想バッファの充足量と、前記属性データ仮想バッファの充足量とに基づいて、前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるよう、前記ビデオ符号化データと前記属性データとの多重化を制御する多重化制御部と、を有する。
また、本発明の多重化制御方法は、複数のフレームからなるビデオ符号化データと、前記ビデオ符号化データのコーディングタイプ、ＰＴＳの時刻情報、ＤＴＳの時刻情報、フレームレート、及び表示情報のうちの少なくとも一つを属性データとを多重化する多重化制御方法であって、前記ビデオ符号化データの符号化レートに基づいて、符号化データ仮想バッファの充足量を求めるステップと、前記ビデオ符号化データのフレームレートに対する前記属性データの符号化レートの倍率としてＮ（Ｎは２以上の自然数）倍を設定するステップと、前記属性データの符号化レートの倍率に基づいて、属性データ仮想バッファの充足量を演算するステップと、前記ビデオ符号化データの多重化時刻と、前記属性データの符号化レートの倍率とに基づいて、前記ビデオ符号化データの各フレームの開始時点以降の(Ｎ−１)／(２Ｎ)の期間および終了時点以前の(Ｎ−１)／(２Ｎ)の期間を除く前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるように、前記属性データの多重化時刻を設定するステップと、前記ビデオ符号化データの多重化時刻と、前記属性データの多重化時刻と、前記符号化データ仮想バッファの充足量と、前記属性データ仮想バッファの充足量とに基づいて、前記ビデオ符号化データの各フレームの前後除外期間に、前記属性データが多重化されるよう、前記ビデオ符号化データと前記属性データとの多重化を制御するステップと、を有する。
【発明の効果】
【０００６】
本発明では、ビデオ符号化データの符号化レートに対する前記属性データの符号化レートの倍率を設定し、その倍率に基づいて、属性データ仮想バッファの充足量を演算し、ビデオ符号化データの多重化時刻と属性データの符号化レートの倍率とに基づいて、属性データの多重化時刻を設定し、ビデオ符号化データの多重化時刻と、属性データの多重化時刻と、符号化データ仮想バッファの充足量と、属性データ仮想バッファの充足量とに基づいて、ビデオ符号化データの各フレームの前後除外期間に属性データが多重化されるよう、ビデオ符号化データと属性データとの多重化を制御するので、ビデオ符号化データの属性データを確実に多重化できる共に、受信側における属性データの取りこぼしを低減することができる。
【発明を実施するための最良の形態】
【０００７】
実施形態１．
【０００８】
以下、本発明の実施形態１として、ビデオ符号化データと、ビデオ符号化データの符号化属性を記述した属性データを多重化する多重化装置を一例に説明する。本実施形態１では、ビデオ符号化データに含まれるビデオ符号化のデコード時刻（ＤＴＳ=Decoding Time Stamp）やプレゼンテーション時刻（ＰＴＳ=Presentation Time Stamp）の時刻情報を基準にしてビデオ属性データの多重化時刻を管理する方法について説明する。
【０００９】
図１は、本発明に係る実施形態１の多重化装置の全体構成図を示すブロック図である。
【００１０】
図１において、多重化装置は、符号化制御部１０１、ヘッダ生成部１０２、ビデオ符号化部１０３、ビデオ属性データ生成部１０４、音声符号化部１０５、音声属性データ生成部１０６、ＰＳＩデータ生成部１０７、ヘッダデータバッファ１０８、ビデオ符号化データバッファ１０９、ビデオ属性データバッファ１１０、音声符号化データバッファ１１１、音声属性データバッファ１１２、ＰＳＩデータバッファ１１３、本発明の多重化制御装置に相当する多重化制御装置１１４、多重化部１１５およびストリームバッファ１１６を有している。
【００１１】
次に、図１に示す多重化装置の動作を説明する。
【００１２】
多重化制御装置１１４は、ＭＰＥＧシステム規格およびそれに類するシステム規格に適合するトランスポートストリーム（ＴＳ）を生成するために多重化装置の全体制御を行っており、まずは、記録するメディアの形態、画像や音声の品質、記録残量時間、記録モード、符号化レート等の条件を勘案して、本装置の記録レートを設定する。次に、本装置の記録レートを基にして多重化ストリームを構成するビデオや音声の符号化データ、映像データや音声データの属性データ、ＰＳＩ(Program Specific Information）など、符号化ストリームを構成するすべてのデータ種別の記録レートを決定する。
【００１３】
符号化制御部１０１は、ビデオ符号化部１０３や音声符号化部１０５の制御、符号化されたビデオおよび音声データの属性を記載する属性データ生成部１０４，１０６の制御、ＰＳＩデータ生成部１０７の制御を行う。
【００１４】
ビデオ符号部１０３は、ビデオフレーム（29.97Hz）毎にビデオエレメンタリーの符号化が行われるように制御される。また生成されたビデオ符号化データはリングバッファ形式のビデオ符号化データバッファ１０９に順次書き込まれる。ビデオ符号化部１０３へは符号化される前のＹＵＶ形式のビデオ画像が入力されてＭＰＥＧ符号化方式（ＭＰＥＧ２、Ｈ.２６４など）で圧縮される。
【００１５】
音声符号化部１０５も同様に音声フレーム毎に音声エレメンタリーの符号化が行われ、出力される音声符号化データは音声符号化データバッファ１１２に書き込まれる。音声符号化部１０５へはマイク音声やライン入力音声をＡ／Ｄ変換したＰＣＭデジタルデータが入力され、ＭＰＥＧ符号化方式（ＭＰ２,ＭＰ３）で音声圧縮される。
【００１６】
本装置では、ビデオ符号化のコーディングタイプやＰＴＳ／ＤＴＳの時刻情報、フレームレートや画像サイズなどの表示情報を記載したビデオ属性データをビデオ符号化データと共に多重化することで、ストリーム再生時にランダムアクセスを効率的に行ったり、ビデオ編集において属性の異なるストリームを連結して編集する場合に属性の変化点が検索しやすくなるので効率的な編集作業が可能となるなどの理由により、ビデオ属性を示すビデオ属性データをトランスポートストリーム（ＴＳ）に多重化する。ビデオ属性データ生成部１０４は、このようなビデオ符号化に関する属性データをビデオ符号化部１０３や符号化制御部１０１から収集して属性データのパケットデータに構築してビデオ属性データバッファ１１０に格納する。
【００１７】
音声の属性データには、ＰＴＳなどの時刻情報、サンプリング周期、符号化ビットレートなどの情報がある。音声属性データ生成部１０６は、これらの情報を収集して音声属性データバッファ１１２に書き込む。
【００１８】
ＰＳＩデータ生成部１０７は、トランスポートストリーム（ＴＳ）に必須のＰＡＴ（Program Associatin Table）、ＰＭＴ（Program MAP Table）、時刻情報であるＰＣＲ（Program Clock Reference）パケットを生成してＰＳＩデータバッファ１１３に書き込む。
【００１９】
ヘッダ生成部１０２は、多重化のソースデータとなるビデオや音声の符号化データを分割して１８８バイトのＴＳパケット（ＴＳ）を生成する場合、ＴＳパケットの先頭に付加するＴＳヘッダを生成してヘッダデータバッファ１０８に書きこむ。
【００２０】
多重化部１１５は、後述する多重化制御部１１４から多重化が指示されたビデオや音声の符号化データおよび属性データをＤＭＡ転送等により多重化するため、送信元アドレスや送信先アドレスの管理やＴＳヘッダを付加するための制御を行う。また、多重化部１１５は、パケッタイズされた符号化データおよび属性データの先頭にＴＳヘッダを付加してＴＳパケットを生成し、ストリームバッファ１１６へ順次書き込む。
【００２１】
すると、ストリームバッファ１１６に蓄積されたＴＳパケットデータは、メディアＩ／Ｆ（図示せず）やファイルシステムマネージャ（図示せず）を経由して、ファイルとして記録媒体に記録されたり、通信Ｉ／Ｆ（図示せず）を介して多重化ビットストリームとして本装置外へ送信または伝送される。
【００２２】
図２は、図１に示す本実施形態１の多重化制御装置１１４の詳細な構成を示すブロック図である。
【００２３】
図２において、多重化制御装置１１４は、符号化データレート算出部２０１、属性データ多重化レート倍率設定部２０２、符号化データ仮想バッファ増加量演算部２０３、属性データ仮想バッファ増加量演算部２０４、システム時刻生成部２０５、符号化データ充足量演算部２０６、属性データ充足量演算部２０７、符号化データ読取部２０８、多重化制御部２０９、符号化データ多重化時刻算出部２１０、時刻および属性情報記憶部２１１、属性データ多重化時刻算出部２１２、ＶＢＶバッファモデル管理部２１３を有する。
【００２４】
符号化データレート算出部２０１は、ユーザやアプリケーションが指定する記録モード、例えば、高画質記録モード、長時間記録モードなどから装置の記録レートである、ＴＳストリームの記録レートを決定し、この記録レートを基準にしてビデオ符号化データ、音声符号化データ、ＰＳＩデータ、ビデオ属性データ、音声属性データ、ＰＣＲクロックデータなど多重化するすべてのデータの符号化レートを決定するものである。
【００２５】
符号化データ仮想バッファ増加量演算部２０３は、符号化データレート算出部２０１により設定されたビデオ符号化データの符号化レートを基に、符号化データを１ＴＳパケット間隔に相当するシステムクロックの時間経過ごとに仮想バッファ（図示せず）へ蓄積していく符号化データの仮想バッファの増加量を算出するものである。
【００２６】
符号化データ充足量演算部２０６は、仮想バッファのバッファ占有量を管理し、１ＴＰパケット相当のシステムクロック期間毎に仮想バッファ増加量演算部２０３で算出された増加量ずつ仮想バッファにおける充足量が増加していくが、その充足量がビデオ仮想バッファのサイズに達するとビデオ符号化データの多重化が実行されるとともに、仮想バッファのサイズの分だけ仮想バッファの占有量を減少させるよう制御するものである。
【００２７】
図３は、仮想バッファのバッファ占有量の遷移を例示する図である。
【００２８】
本実施形態１では、ビデオ符号化データを実際のメモリに記憶してメモリ占有量を求めるのではなく、図３に示すように、仮想的に想定する仮想バッファを用いてビデオ符号化データの１パケットの占有量を演算で求め、仮想バッファが満杯になったら、１パケットに相当するビデオ符号化データを多重化する、ということを繰り返し行う方式が仮想バッファ方式による多重化の特徴である。
【００２９】
属性データ多重化レート倍率設定部２０２は、ビデオ符号化データのフレームレートを基準にして、符号化データのフレームレートより高いレートでビデオ属性データの多重化時刻を発生するように、属性データの符号化レート（以下、属性符号化レート）の倍率を設定するものである。
【００３０】
属性データ仮想バッファ増加量演算部２０４は、１ＴＰパケットに相当するシステムクロック期間毎に属性データ仮想バッファの増加量を算出するものである。
【００３１】
属性データ充足量演算部２０７は、属性データ仮想バッファのバッファ蓄積量の増減を管理するものである。
【００３２】
システム時刻生成部２０５は、システムクロックの増加や初期化を管理するものである。ＭＰＥＧシステムでは、ＰＣＲ(Program Clock Reference）と呼ばれるシステム時刻が定義されており、２７ＭＨzの精度でシステムクロックが増加していく。ビデオや音声の符号化データの時刻情報であるＰＴＳ(Presentation Time Stamp）やＤＴＳ(Decoding Time Stamp）は、このシステムクロックを９０ＫＨz精度に換算した時刻である。多重化する時刻の管理もこのシステムクロックを基準にして行われる。
【００３３】
なお、説明を簡単にするために、多重化制御装置１１４の詳細構成を示す図２には、ビデオ符号化データと、ビデオ属性データの多重化管理に必要な構成しか記載していないが、実際には音声符号化データ、音声属性データ、ＰＳＩデータ、ＰＣＲクロックデータの仮想バッファ増加量演算部および仮想バッファの充足量演算部が必要である。これらの演算部の処理内容はビデオ符号化データと同じなので説明は省略する。
【００３４】
多重化制御部２０９は、各々独立して動作するビデオ符号化データとその属性データ双方の仮想バッファの充足量演算部２０６，２０７の演算結果を収集して、仮想バッファが一杯になったデータを検出して、符号化データおよび属性データの多重化を行うように多重化部１１５に対し多重化指示を送るものである。
【００３５】
符号化データ読み取り部２０８は、ビデオや音声の符号化データを読み出して、ＰＴＳやＤＴＳの時刻情報を取得し、時刻および属性情報記憶部２１１に記憶するものである。
【００３６】
符号化データ多重化時刻算出部２１０は、ビデオ符号化データの多重化時刻を、例えば、下記式（１）により求める。
【００３７】
ビデオ符号化データの多重化時刻(９０ＫＨｚクロック単位）
＝ＤＴＳ（ＰＴＳ）−（ＶＢＶバッファの占有量／符号化レート）×９００００
…式（１）
【００３８】
ここでＶＢＶバッファ(Video Buffering Verifier）とはＭＰＥＧ２規格で規定するビデオ符号化データである。
ＶＢＶバッファはビデオ記録レートが決まると一定の増量で増加するが、ビデオのデコードを行う毎にＶＢＶバッファから１ピクチャのデータ量が減少するようにモデル化されている。そのため、多重化制御装置１１４においてもＶＢＶバッファの占有量をモデル化して管理する。これを行うのがＶＢＶバッファモデル管理部２１３である。なお、Intra-PictureやPredictive-PictureはＤＴＳ時刻、Bi-directional-PictureはＰＴＳ時刻を使って多重化時刻を決定する。Bi-directional-PictureのようにＤＴＳ時刻を持たないパケットは、ＰＴＳ＝ＤＴＳとみなして処理する。上式（１）は、システムクロックが９０ＫＨｚクロックでカウントした時間単位で表現している。
【００３９】
多重化制御部２０９は、仮想バッファの充足量に基づき、多重化すべきデータが設定された場合、上記式（１）で算出した符号化データの多重化時刻と、現在のシステム時刻とを比較し、多重化時刻が現在の時刻に到達していれば、多重化すべきデータの多重化を決定するものである。
【００４０】
ここで、属性データを多重化する時刻は、図４に示すように２通りのケースが想定される。なお、図４、図５では、符号化データおよびその属性データとして、ビデオ符号化データと、ビデオ属性データを一例にして説明している。
本実施形態１ではＧＯＰ（Group Of Picture）を構成するピクチャー数を１５、Intra-Picture間隔を１５、Intra-PictureまたはPredictive-Pictuteの間隔を３として説明するがこれに限定されるものではない。またIntra-PictureおよびPredictive-Pictureの属性を示す属性データのみを多重化する例として説明するがこれに限定されない。
【００４１】
図４は、属性データの多重化時刻が「ビデオ符号化データ＜ビデオ属性データ」の場合、つまりビデオ符号化データの多重化を行う時刻よりビデオ属性データの多重化を行う時刻が遅い場合について示す説明図である。
【００４２】
この場合、符号化データ読み取り部２０８は、ビデオ符号化データバッファ１０９に格納されたビデオ符号化データからＰＴＳやＤＴＳの時刻情報を読み取り、例えば、そのＤＴＳ時刻情報から例えば３フレーム早い時刻に属性データの多重化を行うので、属性データの多重化時刻がビデオ符号化データの多重化時刻より十分遅い時刻であれば、ビデオ符号化データを多重化した時に符号化データ読み取り部２０８でＤＴＳ時刻情報およびビデオ符号化のコーディングタイプやフレームレートなどの属性情報を時刻およぼ属性情報記憶部２１１に蓄積しておくと、属性データの多重化時刻が発生する都度に時刻およぼ属性情報記憶部２１１にすでに蓄積された属性データを用いて、次に発生する属性データの多重化時刻を算出することができる。なお本実施形態１では属性データを多重化する時刻を（ビデオ符号化データのＤＴＳ−３フレーム）として説明しているがこれに限定されない。
【００４３】
符号化データ多重化時刻算出部２１０は、符号化データの多重化が実行される毎に呼び出され、次に多重化するビデオ符号化データのＤＴＳ時刻を符号化データ読み取り部２０８で取得して式（１）に従って符号化データの多重化時刻を算出し、符号化データの多重化時刻を多重化制御部２０９に設定するものである。
【００４４】
属性データ多重化時刻算出部２１２は、次に多重化する属性データが参照するビデオ符号化データのＤＴＳ時刻を用いて、以下の式（２）により、属性データの多重化時刻を決定し、多重化制御部２０９に時刻を設定するものである。
【００４５】
属性データの多重化時刻＝（ＤＴＳ−３フレーム）＋１／４フレームの時刻
…式（２）
【００４６】
図５は、属性データの多重化時刻が「ビデオ符号化データ＞ビデオ属性データ」の場合、つまりビデオ符号化データの多重化を行う時刻よりビデオ属性データの多重化を行う時刻が早い場合の説明図である。
【００４７】
この場合は、属性データの多重化時刻に属性データの属性を示すビデオ符号化データがまだ多重化されていないので、図４に示した方法（ビデオ符号化データ＜属性データの場合）に従うと時刻および属性情報記憶部２１１に該当するＰＴＳ時刻情報が記憶されていない結果となる。よって、属性データ多重化時刻算出部２１２は、時刻情報記憶部２１１を検索しても該当するＰＴＳ情報が見つからないので、期待する時刻に属性データを多重化することはできない。
【００４８】
そこで、このような場合に備えてビデオ符号化データバッファ１０９は、常に４フレーム以上、ビデオ符号化データに蓄えるよう制御する。
【００４９】
そして、この場合、多重化部１１５は、記録開始時はビデオ符号化データバッファ１０９に４フレームのビデオ符号化データが蓄積された状態になってから多重化を開始する。多重化処理はビデオ符号化処理に比べて処理が簡単なので短い時間で多重化処理が完了する。そこで、ビデオ１フレームの多重化を完了しても、蓄積された残りのビデオの多重化は行なわず、ビデオの符号化が完了するまで待ち、ビデオ符号化データバッファ１０９に常に４フレームのビデオ符号化データが蓄積される状態を保つように制御する。多重化部１１５で多重化されたストリームはストリームバッファ１１６に転送するようにする。
【００５０】
ここで、多重化部１１５が記録を開始して最初に多重化するフレームは、符号化ストリームの最小のＤＴＳを持つIntra−Pictureのビデオフレームである。このフレームは、ＤＴＳを持つフレームなので、属性データの多重化も必要である。そのため、先頭のIntra-Pictureの多重化設定を行うのと同時にビデオ属性の多重化の多重化設定もこのタイミングで実行する。属性データの多重化設定とは属性データのパケットをビデオ属性データバッファ１１０に設定することと、属性データの多重化時刻を算出し、多重化制御部２０９に多重化時刻を設定することである。
【００５１】
図６は、従来の多重化制御方法に従って属性データの多重化を行った場合の多重化時刻の発生時刻をプロットした一例を示している。
【００５２】
図６に示すように従来は３フレームに１回の割合で属性データを多重化する場合において、多重化すべきフレーム位置を特定していなかった。
【００５３】
一方、本実施形態では、仮想バッファによる多重化データのバッファ蓄積量を演算で求める場合、ビデオ１フレームに必ず２回の多重化時刻を発生させるために符号化レートを計算上ピッタリのレートではなく、それよりも若干大きめのレートにする。そうすることで１フレームに少なくとも２回は多重化の機会が与えられることになるが、若干レートが高いために多重化時刻が１フレーム期間の遅い時刻から早い時刻に多重化毎に移動する現象が発生する。
【００５４】
本実施形態においては、属性データ多重化時刻算出部２１２は、１フレームに２回の多重化機会を与えるようにし、ビデオフレームの多重化期間の開始時刻からフレーム期間の１／４までの時刻の多重化時刻は無効とし、フレーム期間の１／４以降の期間を有効と判断するように制御すると１フレーム期間の１／４〜３／４に、属性データの多重化時刻が少なくとも１回発生するようにしている。
【００５５】
ビデオ符号化データに記載されたＤＴＳ時刻からマイナス３フレームからマイナス２フレームの期間に属性データを多重化すると定めた場合に、従来の方法であれば一定周期でビデオフレームの一番先頭の時刻に近い時刻に多重化が発生する状態からビデオフレームの一番遅い時刻に多重化が発生する状態が出現し、規定した時間範囲から余裕がないケースが周期的に発生するため、従来の方法によって多重化されたＴＳストリームの属性データを受信したり再生する場合に、データの時間管理が厳しくなるためにデータの取りこぼしが発生したり、取りこぼしを無くすために処理速度の高速化が必要である。
【００５６】
これに対して、本実施形態の場合は、図７に示すように、符号化データ仮想バッファ増加量演算部２０３は符号化データの符号化レートに基づいて、符号化データ仮想バッファの増加量を求め、符号化データ充足量演算部２０６はその増加量に基づいて、符号化データ仮想バッファの充足量を演算する一方、属性データ符号化レート倍率設定部２０２は符号化データのフレームレートに対する属性データの符号化レートの倍率を設定し、属性データ仮想バッファ増加量演算部２０４はその倍率（図７の場合、２倍。）に基づいて、属性データ仮想バッファの増加量を求め、属性データ充足量演算部２０７はその増加量に基づいて、属性データ仮想バッファの充足量を演算し、多重化制御部２０９は、システム時刻に基づいて、符号化データ仮想バッファの充足量と、属性データ仮想バッファの充足量とが各仮想バッファの最大値に達すると、符号化データ多重化時刻算出部２１０からの符号化データの多重化時刻と、属性データ多重化時刻算出部２１２からの属性データの多重化時刻とに基づいて、符号化データの各フレームの前後除外期間に属性データが多重化されるよう、符号化データと属性データとの多重化を制御するので、１フレーム期間の１／４〜３／４に少なくとも１回の多重化時刻が発生するので、従来のような問題は発生しない良好な結果となる。
【００５７】
次に、本実施形態１の多重化の処理手順をフローチャートを用いて説明する。
【００５８】
図８は、本実施形態１の多重化の処理手順を示すフローチャートである。
【００５９】
まず、符号化データレート算出部２０１は、多重化を開始する前に各機能ブロックに対して初期設定を行うため、指定された記録モードからトランスポートストリーム（ＴＳ）の記録レートであるＴＳレートと、各符号化データの符号化レートを算出する（Ｓ８０１）。例えば、ピクチャ毎に発生符号量が異なるビデオ符号データ等の符号化データの場合、最大符号量が発生しても多重化が適切に行われるように各符号化データの最大レートを算出し、各符号化データの最大符号化レートの総和がＴＳレートを超えないように算出する。
【００６０】
次に、符号化データ仮想バッファ増加量演算部２０３および属性データ多重化レート倍率設定部２０２は、符号化データのフレームレートから仮想バッファ増加量を算出する（Ｓ８０２）。つまり、仮想バッファは、ＴＳパケットを送信する／送信しないを決定するための仮想的なバッファであり、ＴＳパケット送信間隔で一定量のバッファ増加を行い、バッファが一杯になるとＴＳパケットの送信を決定する。符号化データのレートに比例して仮想バッファ増加量を決定する。
仮想バッファのバッファ増加量は次式（３）で算出する。
仮想バッファの増加量＝仮想バッファの最大値×TSパケットの送信周期／符号化データのパケット送信周期・・・式（３）
例えば、ＴＳパケット１０個に１回の割合で符号化データを多重化する場合は、バッファ増加量は仮想バッファの最大値の１／１０の値に設定する。
【００６１】
次に、図１に示す多重化部１１５は、ヘッダバッファ１０８、ビデオ符号化データバッファ１０９、音声符号化データバッファ１１１の各領域のアドレスの初期化等の多重化開始設定を行う（Ｓ８０３）。また、多重化ストリームを出力するストリームバッファ１１６のアドレスの初期化や、パケットの全部あるいは一部が毎回同じデータを多重化するＰＳＩデータバッファ１１３やビデオ属性データバッファ１１０、音声属性データバッファ１１２の初期化を行う。
【００６２】
次に、図２に示す多重化制御装置１１４の符号化データ読み取り部２０８は、多重化するビデオ符号化データが多重化対象に設定されているか確認する（ステップＳ８０４）。ここで、多重化対象に設定されている状態とは、多重化するデータがビデオ符号化データバッファ１０９に記憶されていると共に、符号化データ多重化時刻算出部２１０にて、多重化時刻も算出されて設定されて、多重化制御部２０９に設定されている状態であることをいう。符号化データ読み取り部２０８は、１ピクチャ毎に多重化対象を切り替えていく。音声の場合は音声フレーム毎に多重化対象を切り替えて設定する。
【００６３】
符号化データ読み取り部２０８は、ビデオ符号化データが多重化対象に設定されていないと判断した場合のみ（ステップＳ８０４“設定されていない")、ビデオ符号化データを読み出すための領域設定を行う（Ｓ８０５）。
【００６４】
次に、符号化データ多重化時刻算出部２１０は、符号化データ読み取り部２０８が読み取った多重化すべきビデオ符号化データに記載されているDＴＳ（Decoding Time Stamp）時刻からビデオ符号化データの多重化時刻（以下、ビデオ多重化時刻という。）を算出する（Ｓ８０６）。ここで、符号化データ多重化時刻算出部２１０は、ビデオ多重化時刻を、VBVバッファモデル管理部２１３が算出するＶＢＶバッファのモデルに従ったのビデオ符号化データバッファのデータ占有量から、先に示した（１）を用いて算出する。
【００６５】
ビデオ多重化時刻＝ビデオのDTS  −  ビデオのVBVバッファ占有量／ビデオ符号化レート・・・式（３）
【００６６】
式（３）によれば、VBVバッファの占有量が大きいほど、ビデオ多重化時刻の値が小さな時刻を示すのでより早い時刻に多重化を開始することになる。
【００６７】
一方、時刻および属性情報記憶部２１１は、符号化データ読み取り部２０８が読み取ったビデオ符号化データより、ビデオ符号化データのピクチャタイプ、フレームレート、DＴＳ／PＴＳ時刻情報等を記憶する（Ｓ８０７）。ただし、本実施形態では、ビデオ属性データの多重化はIntra-PcitureとPredictive-Pictureに限定して多重化するので時刻および属性情報記憶部２１１は、Intra-PcitureとPredictive-PictureのDＴＳ時刻や属性データのみを記憶する。
【００６８】
この時、属性データの多重化時刻設定がされているか判断を行い（S８０８）、設定されていない場合（S８０８の”設定なし”）は、属性データ多重化時刻算出部２１２は、時刻および属性情報記憶部２１１により記憶されたビデオ符号化データのピクチャタイプと、DＴＳ／PＴＳ情報とから、先に示した式（２）により、属性データの多重化時刻を決定して多重化制御部２０９に設定する（Ｓ８０９）。
【００６９】
属性データの多重化時刻＝DＴＳ時刻−３フレーム＋１／４フレーム・・・(式４）
【００７０】
式（４）によれば、フレームの中央に属性データが多重化されるように多重化時刻は算出される。
【００７１】
次に符号化データ充足量演算部２０６と、属性データ充足量演算部２０７は、それぞれの仮想バッファの占有量に、Ｓ８０２にて算出した仮想バッファ増加量を加算して更新する（Ｓ８１０）。
【００７２】
多重化制御部２０９は、全仮想バッファのデータ占有量を調べ、仮想バッファ量が１００％を超えている仮想バッファがあるか否かを判断し、多重化するデータを決定する（Ｓ８１１）。ここで、多重化制御部２０９は、仮想バッファ量が１００％を超えている符号化データが１つである場合は、その符号化データの多重化機会を与えることに決定する
【００７３】
なお、複数の符号化データが同時にそれぞれの仮想バッファの１００％を越えている場合、多重化制御部２０９は、例えば、仮想バッファの１００％を越えている複数の符号化データの優先度等に従って、最適な１つの符号化データに多重化機会を与えるようにする。ここで、符号化データの優先度とは、例えば、多重化時刻の間隔を正確に制御する必要のあるＰＳＩやPCRのパケットは、最も優先順位が高い。次に、属性データパケットも時間に対する制限が高いので優先順位は高く設定される。これに対して、多重化時刻の一番多いビデオパケットは、最も優先順位が低い。
【００７４】
そして、多重化制御部２０９は、仮想バッファのデータ占有量が１００％を超えている仮想バッファがあれば、多重化データが存在すると判断して（Ｓ８１１ "占有量を超えている”）、以下のようにして多重化を実行する（Ｓ８１２〜Ｓ８１６）。
【００７５】
まず仮想バッファの占有量を超えた多重化要素において、システム時刻生成部２０５からのシステム時刻に基づき、設定されている多重化時刻と比較を行う。設定された多重化時刻がシステム時刻より小さい場合は多重化時刻が到来したと判断し、多重化を行うと判断する （Ｓ８１２の”時刻に達している”）。
【００７６】
多重化部１１５は、多重化制御部２０９からの多重化指示に従い、多重化すべき符号化データまたは属性データをビデオ符号化データバッファ１０９や、属性データバッファ１１０、音声符号化データバッファ１１１、音声属性データバッファ１１２から読み出しＴＳパケット化して、１ＴＳパケットだけ多重化し、多重化したＴＳパケットをストリームバッファ１１６に出力する。このため、多重化されたデータのアドレスも増加するので、ストリームバッファ１１６に出力されたＴＳパケットのアドレスも１ＴＳのデータ量だけ増加することになる（Ｓ８１３）。
多重化を行ったので仮想バッファの占有量から仮想バッファのサイズ値を減算して仮想バッファの占有量をゼロにリセットする（Ｓ８１４）。
この後続いて多重化制御部２０９は、まず、その多重化データが属性データであるか、あるいは符号化データであるかを判断する（Ｓ８１５）。
【００７７】
多重化したデータが属性データである場合（Ｓ８１５“属性データである”）、多重化制御部２０９は、属性データ多重化時刻算出部２１５によって設定された多重化時刻を無効化する。これは、属性データは、１ＴＳパケットで完結するので、続けて多重化されることはないので、その多重化時刻を一度無効化することにする。さらにＳ８０９で説明したのと同じ手順で次に多重化する属性データの多重化時刻を再度設定する（Ｓ８１６）。
なお、属性データ多重化時刻算出部２１２は、この時刻時点で記憶された符号化データのPＴＳ／DＴＳ時刻を調べ、次に多重化するビデオパケットがまだ記憶されていないと判断した場合は、多重化時刻の算出はできないので多重化時刻は無効化したままでよい。
【００７８】
一方、Ｓ８１２で”時刻に達していない”と判断した場合はその要素が属性データであるかを判断する（Ｓ９１７）。属性データである場合は仮想バッファから仮想バッファのサイズと同じ値を減じて仮想バッファをゼロにクリアする（Ｓ８１８）。
【００７９】
そして、システム時刻生成部２０５は、システム時刻を１ＴＳパケット分更新する（Ｓ８１９）。
【００８０】
そして、多重化制御部１１４は、多重化を終了するか否かを判断し（Ｓ８２０）、多重化を続ける場合は（Ｓ８２０“終了しない”）、Ｓ８０４の処理に戻る一方、多重化を終了する場合は（Ｓ８２０“終了する”）、多重化終了の設定を行う（Ｓ８２１）。つまり、多重化制御部１１４は、すべての多重化時刻を無効化し、ビデオ符号化や多重化を停止する。
【００８１】
従って、本実施形態１によれば、符号化データ仮想バッファ増加量演算部２０３は符号化データの符号化レートに基づいて、符号化データ仮想バッファの増加量を求め、符号化データ充足量演算部２０６はその増加量に基づいて、符号化データ仮想バッファの充足量を演算する一方、属性データ符号化レート倍率設定部２０２は符号化データのフレームレートに対する属性データの符号化レートの倍率を設定し、属性データ仮想バッファ増加量演算部２０４はその倍率に基づいて、属性データ仮想バッファの増加量を求め、属性データ充足量演算部２０７はその増加量に基づいて、属性データ仮想バッファの充足量を演算し、多重化制御部２０９は、システム時刻に基づいて、符号化データ仮想バッファの充足量と、属性データ仮想バッファの充足量とが各仮想バッファの最大値に達すると、符号化データ多重化時刻算出部２１０からの符号化データの多重化時刻と、属性データ多重化時刻算出部２１２からの属性データの多重化時刻とに基づいて、符号化データの各フレームの前後除外期間に属性データが多重化されるよう、符号化データと属性データとの多重化を制御する。
【００８２】
このため、本実施形態１の多重化制御装置によれば、ビデオや音声の符号化データの符号化属性を記載した属性データを多重化する際に、属性データの多重化時刻が各フレーム期間の中央に位置するように多重化されるので、各フレームの多重化期間の開始時刻ないし終了時刻に対して十分な余裕を持って多重化することができる。その結果、多重化されたトランスポートストリーム（ＴＳ）を受信して再生する受信側において属性データの取りこぼしや符号化データと属性データの関連付けを誤ったりすることが発生しない安定した多重化装置を提供できる。
【００８３】
本実施形態１ではビデオ属性データの多重化機会をビデオ符号化フレームのＮ＝２倍の例で説明した。Ｎ＝２の場合はビデオフレームの１／４から３／４の期間に属性データの符号化を有効にすることができる。前半の無効化期間および後半の無効化期間は１／４である。これを図９（１）に示す。
【００８４】
ビデオ属性データの多重化機会をビデオ符号化フレームのＮ＝３倍に設定すると図９（２）のように１／３から２／３の期間に属性データの符号化を有効にすることができる。
【００８５】
前半の無効化期間および後半の無効化期間は１／３である。
【００８６】
さらにビデオ属性データの多重化機会をビデオ符号化フレームのＮ＝４倍に設定すると図９（３）のように３／８から６／８の期間に属性データの符号化を有効にすることができる。前半の無効化期間および後半の無効化期間は３／８である。
【００８７】
これらをまとめると、符号化データのフレームレートに対して属性データの符号化レートの倍率Ｎ（Ｎは２以上の自然数）とすると、有効期間はフレーム中央の１／Ｎとなる。また無効期間のフレーム前半部あるいはフレーム後半部の期間は（Ｎ−１）／（２Ｎ）として一般化して表現できる。
【産業上の利用可能性】
【００８８】
本発明は、ＭＰＥＧ等の高能率符号化を用いて符号化されたビデオや音声データの多重化を行ってトランスポートストリーム（ＴＳ）を生成してファイル蓄積したりネットワーク経由で送信したりするデジタルレコーダ機器やデジタルビデオカメラ等の多重化装置および多重化制御方法に適用できる。
【図面の簡単な説明】
【００８９】
【図１】本発明に係る多重化制御装置と、多重化装置の全体構成例を示す図である。
【図２】実施形態１の多重化制御装置１１４の詳細構成例を示すブロック図である。
【図３】実施形態１の仮想バッファのバッファ占有量を示す図である。
【図４】ビデオ符号化データ＜ビデオ属性データの場合の属性データの多重化時刻の例を示す図である。
【図５】ビデオ属性データ＜ビデオ符号化データの場合の属性データの多重化時刻の例を示す図である。
【図６】従来の属性データの多重化時刻の例を示す図である。
【図７】実施形態１の属性データの多重化時刻の例を示す図である。
【図８】実施形態１における多重化制御の手順を示すフローチャートである。
【図９】実施形態１の符号化レートＮ倍の有効無効期間を示す図である。
【符号の説明】
【００９０】
１００  多重化装置
１０１  符号化装置
１０２  ヘッダー生成部
１０３  ビデオ符号化部
１０４  ビデオ属性データ生成部
１０５  音声符号化部
１０６  音声属性データ生成部
１０７  ＰＳＩデータ生成部
１０８  ヘッダーデータバッファ
１０９  ビデオ符号化データバッファ
１１０  ビデオ属性データバッファ
１１１  音声符号化データバッファ
１１２  音声属性データバッファ
１１３  ＰＳＩデータバッファ
１１４  多重化制御装置
１１５  多重化部
１１６  ストリームバッファ
２０１  符号化レート算出部
２０２  属性データ多重化レート倍率設定部
２０３  符号化データ仮想バッファ増加量演算部
２０４、属性データ仮想バッファ増加量演算部
２０５  システム時刻生成部
２０６  符号化データ充足量演算部
２０７  属性データ充足量演算部
２０８  符号化データ読取部
２０９、多重化制御部
２１０  符号化データ多重化時刻算出部
２１１  時刻および属性情報記憶部
２１２  属性データ多重化時刻算出部
２１３  ＶＢＶバッファモデル管理部
【図１】
0004835651.tif 000002
【図２】
0004835651.tif 000003
【図３】
0004835651.tif 000004
【図４】
0004835651.tif 000005
【図５】
0004835651.tif 000006
【図６】
0004835651.tif 000007
【図７】
0004835651.tif 000008
【図８】
0004835651.tif 000009
【図９】
0004835651.tif 000010