(57)【要約】【課題】  システムストリーム生成時のオーディオストリーム多重化のために無効パックなどを挿入することにより、ビットレートの効率が低下していた。。【解決手段】  本発明の１態様によるデータ多重化装置は、ビデオストリームおよびオーディオストリームをそれぞれパック化し、それらのパックを多重化してシステムストリームを生成するデータ多重化装置であって、前記ビデオストリームを一時保持する復号化ビデオバッファの占有量を仮想的に計算する仮想復号化ビデオバッファ占有量計算部と、前記オーディオストリームを一時保持する復号化オーディオバッファの占有量を仮想的に計算する仮想復号化オーディオバッファ占有量計算部と、オーバーフロー制限値を設定するペイロード長設定部とを有し、前記ペイロード長設定部は、前記オーバーフロー制限値として、オーディオフレームのフレーム長の整数倍の値を設定することを特徴とする。【選択図】  図３
2006211476.tif 000002
【特許請求の範囲】
【請求項１】
ビデオストリームおよびオーディオストリームをそれぞれパック化し、それらのパックを多重化してシステムストリームを生成するデータ多重化装置であって、
前記ビデオストリームを一時保持する復号化ビデオバッファの占有量を仮想的に計算する仮想復号化ビデオバッファ占有量計算部と、
前記オーディオストリームを一時保持する復号化オーディオバッファの占有量を仮想的に計算する仮想復号化オーディオバッファ占有量計算部と、
前記仮想復号化オーディオバッファ占有量計算部の計算結果を保持する仮想復号化オーディオバッファと、
前記仮想復号化オーディオバッファに対してオーバーフロー制限値を設定するペイロード長設定部とを有し、
前記ペイロード長設定部は、前記オーバーフロー制限値として、オーディオフレームのフレーム長の整数倍の値を設定することを特徴とするデータ多重化装置。
【請求項２】
前記オーバーフロー制限値は、前記仮想復号化オーディオバッファの設定容量よりも小さな値であることを特徴とする請求項１記載のデータ多重化装置。
【請求項３】
前記ペイロード長設定部は、前記オーバーフロー制限値と前記仮想復号化オーディオバッファの占有量との差に基づいて、オーディオパックのペイロード長を設定することを特徴とするデータ多重化装置。
【請求項４】
ビデオストリームおよびオーディオストリームをそれぞれパック化し、それらのパックを多重化してシステムストリームを生成するデータ多重化方法であって、
前記システムストリームがランダムアクセスポイント直前であるかどうかを判定し、
前記オーディオストリームを一時保持する復号化オーディオバッファの占有量を仮想計算し、
オーディオフレームの整数倍であるオーバーフロー制限値と、前記計算によって得られたオーディオバッファの仮想占有量とを比較し、
前記比較結果に基づいて生成するオーディオパックのペイロード長を設定するデータ多重化方法。
【請求項５】
前記データ多重化方法は、
前記復号化オーディオバッファの占有量を仮想計算した計算結果を仮想復号化オーディオバッファによって保持し、
前記オーバーフロー制限値は、前記仮想復号化オーディオバッファの容量よりも小さな値であることを特徴とする請求項４記載のデータ多重化方法。
【請求項６】
前記オーディオバッファの占有量に対して、最大ペイロード長を加算した結果が、前記オーバーフロー制限値を超える場合に、前記ペイロード長を前記オーバーフロー制限値と前記オーディオバッファの占有量との差の値とすることを特徴とする請求項４あるいは５に記載のデータ多重化方法。
【請求項７】
前記オーバーフロー制限値と、前記オーディオバッファの容量との差は、
前記オーバーフローバッファに保持可能なフレーム数に、最大フレーム長と最小フレーム長の差を乗じた値以上であることを特徴とする請求項４乃至６のいずれか１項に記載のデータ多重化方法。
【請求項８】
ストリームデータをパック化し、それらのパックを多重化するデータ多重化装置であって、
前記ストリームデータを一時保持する復号化バッファの占有量を仮想的に計算する仮想復号化バッファ占有量計算部と、
前記仮想復号化バッファ占有量計算部の計算結果を保持する仮想復号化バッファと、
前記仮想復号化バッファに対してオーバーフロー制限値を設定するペイロード長設定部とを有し、
前記ペイロード長設定部は、前記オーバーフロー制限値として、前記ストリームデータのフレーム長の整数倍の値を設定することを特徴とするデータ多重化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のデータストリームを多重化するデータ多重化装置およびデータ多重化方法に関する。
【背景技術】
【０００２】
ビデオデータおよびオーディオデータの符号化、およびこれらのデータの多重化に関する国際規格として、ＭＰＥＧ（Moving Picture Expert Group）規格やＤＶＤ-Ｖｉｄｅｏ規格が広く知られている。ビデオデータやオーディオデータは、基本的にシーケンシャルにアクセスするデータ列であるため、ビデオストリーム、オーディオストリームとして符号化され、上記の規格に基づいて符号化、多重化が行われている。
【０００３】
図８は、このような規格に基づいたデータ多重化装置の概略を示す構成図である。なお、図８には、データ分離装置側の構成も一部示されている。従来のデータ多重化装置はビデオ符号化部１０１、符号化ビデオバッファ１０２、オーディオ符号化部１０３、符号化オーディオバッファ１０４、多重化部１０５、多重化制御部１０６を有している。
【０００４】
ビデオ符号化部１０１は、入力されたデジタルビデオ信号を符号化し、ビデオデータのデータ列であるビデオストリームを生成する。符号化ビデオバッファ１０２は、このビデオストリームを一時保持するバッファである。
【０００５】
オーディオ符号化部１０３は、入力されたオーディオＰＣＭ信号を符号化し、オーディオデータのデータ列であるオーディオストリームを生成する。符号化オーディオバッファ１０４は、このオーディオストリームを一時保持するバッファである。
【０００６】
多重化部１０５は、符号化ビデオバッファ１０２から出力されるビデオストリーム、符号化オーディオバッファから出力されるオーディオストリームを多重化し、システムストリームにする。多重化制御部１０６は、ビデオおよびオーディオのストリーム量を管理し、多重化するタイミングなどの決定を行う。
【０００７】
上述のような規格に基づいて、ビデオストリームとオーディオストリームを多重化する場合は、パックと呼ばれる単位で多重化が行われる。つまりシステムストリームは、複数のビデオパック、複数のオーディオパックから形成されている。
【０００８】
上述の多重化装置で生成されたシステムストリームを復号化する場合は、分離装置１０７で、システムストリームをオーディオストリームとビデオストリームに分離し、復号化ビデオバッファ１０８、復号化オーディオバッファ１０９などに一時保持され、復号が行われる。
【０００９】
そのため、符号化が行われるデータ多重化装置側では、分離装置側の復号化ビデオバッファ１０８、復号化オーディオバッファ１０９がオーバーフロー（あるいはアンダーフロー）しないように多重化タイミングが制御される。この制御を行うために、多重化制御部１０６では、その内部に仮想的な復号化ビデオバッファ、復号化オーディオバッファを用意して、その占有量を計算している。
【００１０】
図９は、この制御を行う多重化制御部１０６の詳細な構成を示すブロック図である。多重化制御部１０６は、符号化ビデオストリーム量記憶部２０１、仮想復号化ビデオバッファ占有量計算部２０２、仮想復号化ビデオバッファ２０３、符号化オーディオストリーム量記憶部２０４、仮想復号化オーディオバッファ占有量計算部２０５、仮想復号化オーディオバッファ２０６、制御信号生成部２０７および多重化データ決定部２０８を有している。
【００１１】
符号化ビデオストリーム量記憶部２０１は、符号化ビデオバッファ１０２内に保持されているビデオストリーム量を記憶する。仮想復号化ビデオバッファ占有量計算部２０２は、復号化ビデオバッファに蓄積されているビデオストリーム量を仮想計算し、その結果を仮想復号化ビデオバッファに保持する。仮想復号化ビデオバッファ２０３は、この計算結果を保持するレジスタなどであり、復号器側の復号化ビデオバッファの占有量の仮想値を保持している。
【００１２】
符号化オーディオストリーム量記憶部２０４は、符号化オーディオバッファ１０４内に保持されているオーディオストリーム量を記憶する。仮想復号化オーディオバッファ占有量計算部２０５は、復号化オーディオバッファに蓄積されているオーディオストリーム量を仮想計算し、その結果を仮想復号化オーディオバッファに保持する。仮想復号化オーディオバッファ２０６は、この計算結果を保持するレジスタなどであり、復号器側の復号化オーディオバッファの占有量の仮想値を保持している。
【００１３】
多重化データ決定部２０８は、上述の符号化ビデオバッファ１０２が保持するビデオストリーム量、符号化オーディオバッファ１０４が保持するオーディオストリーム量、仮想復号化ビデオバッファ２０３が保持する復号化ビデオバッファの仮想的な占有量、仮想復号化オーディオバッファ２０６が保持する復号化オーディオバッファの仮想的な占有量を元にして、多重化するパックの種類、ストリーム長、多重化するタイミングを決定する。制御信号生成部２０７は、多重化データ決定部２０８が決定した内容を多重化部１０５へ通知するための信号を生成する。
【００１４】
以下に図１０を用いて、このような多重化装置がデータを多重化する動作について説明する。なお、以下の説明においては、オーディオストリームを中心に説明する。ＭＰＥＧなどの規格では、データが階層化されて規定されている。オーディオストリームは、連続する複数のオーディオフレームから構成されている。このオーディオフレームは、オーディオデータの最小単位であり、その長さ（フレーム長：ＬＦ）は固定されている。このオーディオストリームをシステムストリームに多重化する場合は、複数のオーディオフレーム内のオーディオストリームを上述のオーディオパックとする必要がある。
【００１５】
その様子を模式的に示したのが図１０（ａ）および図１０（ｂ）である。図１０（ａ）は、オーディオストリーム全体であり、この場合は６個のオーディオフレームＡ１〜Ａ６で構成されている。オーディオフレームＡ６の後に後述するランダムアクセスポイント（ＲＡＰ）が設定されている。図１０（ｂ）は、固定長のオーディオパックＡＰを示している。オーディオパックにはヘッダが含まれており、パック長からヘッダ長を引いた長さがオーディオパックに含むことが可能な最大のストリーム長ＬＰとなる。
【００１６】
図１０（ａ）に示した６つのオーディオフレームＡ１〜Ａ６を、図１０（ｂ）に示す４つのオーディオパックＡＰ１〜ＡＰ４とする場合について説明する。ここで、オーディオパックの最大ストリーム長ＬＰは、オーディオフレームのフレーム長ＬＦとは異なっている。そのため図１０（ａ）に示すオーディオフレームＡ１、Ａ２を１つのオーディオパックにすると、通常オーディオフレームＡ２の途中までのストリームがオーディオパックＡＰ１に含まれることになる。そこで、図１０（ｂ）に示すオーディオパックＡＰ１は、オーディオフレームＡ１およびオーディオフレームＡ２の途中までを含んだオーディオパックＡＰ１となる。その後のオーディオパックＡＰ２ではオーディオフレームＡ２の途中からオーディオフレームＡ３およびオーディオフレームＡ４の途中までが含まれている。同様にオーディオパックＡＰ３ではオーディオフレームＡ４の途中からオーディオフレームＡ５およびオーディオフレームＡ６の途中までが含まれている。オーディオパックＡＰ４ではオーディオフレームＡ６の残りのストリームと無効なデータ（パディングパケット）が含まれている。このパディングパケットについては後述する。
【００１７】
このように複数のオーディオフレームを多重化したオーディオパックＡＰは、多重化部１０５において、ビデオパックＶＰと多重化され、システムストリームとされる。このシステムストリームを図１０（ｃ）に示す。
【００１８】
図１０（ｄ）は、上述の複数のオーディオフレームを、オーディオパックとする際の仮想復号化オーディオバッファが保持するバッファ占有量を示す図である。この値は仮想復号化オーディオバッファ占有量計算部２０４により計算されている。図中破線で示したＢｆＭａｘは、仮想復号化オーディオバッファの上限値に相当し、上述の規格などで定められた量である。
【００１９】
まず、通常動作について説明する。時刻ｔ１において、仮想復号化オーディオバッファの空き領域が、最大ストリーム長ＬＰ以上あるため、最大ストリーム長ＬＰに相当するオーディオパック多重化が決定される。従って、オーディオフレームＡ１、オーディオフレームＡ２の一部を含むストリームがオーディオパックＡＰ１とされる。そのため、仮想復号化オーディオバッファの占有量は、図１０（ｄ）における時刻ｔ１からｔ２にかけて示すように、最大ストリーム長ＬＰに相当する分だけ増加する。この時の仮想復号化オーディオバッファの占有量が増加する傾きは、ビットレートに基づいている。図１０（ｄ）では、ｔ２からｔ３の間にビデオパックの多重化が行われている。この間、オーディオパックは多重化されないので、仮想復号化オーディオバッファの占有量は変化しない。
【００２０】
図１０（ｄ）、時刻ｔ３において、仮想復号化オーディオバッファの空き領域が最大ストリーム長ＬＰ以上あるため、最大ストリーム長ＬＰに相当するオーディオパック多重化が決定される。仮想復号化オーディオバッファ占有量には、時刻ｔ３からｔ４にかけてビットレートに基づいた傾きを持って加算が行われる。時刻ｔ４からｔ５においては、仮想復号化オーディオバッファの空き領域が、最大ストリーム長ＬＰより小さいため、システムストリームにオーディオパックが多重化されることはない。従って、多重化部ではビデオパックの多重化が行われるか、あるいは多重化を行わない待ち時間とされる。
【００２１】
一方、仮想復号化オーディオバッファの占有量は、所定時間ごとに、すでに復号化されたと仮想されるオーディオフレーム長ＬＦに対応する長さが減算されている（図１０（ｄ）、ｔ５、ｔ６参照）。なお、この減算は、上述した規格では占有量が増加するときのようにビットレートに基づいた傾きはなく、瞬時に減算される。そのため、ある程度、時間が経過すると、仮想復号化オーディオバッファの空き領域が、最大ストリーム長ＬＰ以上となる。その時点で、再びオーディオパックを、システムストリームに多重化することが決定される（図１０、ｔ７参照）。そして、オーディオバッファ占有量は、図１０（ｄ）のｔ７からｔ８にかけて示すように、ビットレートの傾きに基づいて増加する。
【００２２】
次に、ランダムアクセスポイント（以下ＲＡＰと称す）と呼ばれる時点直前でのオーディオパックの作成について説明する。ＭＰＥＧなどの規格では連続するストリームの任意の場所からの再生が不可能なため、所定時間ごとに再生開始が可能なポイント（ＲＡＰ）が設けられている。このＲＡＰ直後のストリームではビデオストリームであれば他の画像と関連性のない画像のビデオストリームから始まることが必要であり、オーディオストリームであっても最小単位であるオーディオフレームの先頭から始まることが望ましい。
【００２３】
そのため、ＲＡＰ直前では、仮想復号化オーディオバッファの空き領域が最大ストリーム長ＬＰに満たない場合でもオーディオパックの多重化が行われる。この場合の占有量の変化が図１０（ｄ）においてｔ１０からｔ１１にかけて示されている。
【００２４】
ＲＡＰ境界直前では、仮想復号化オーディオバッファの空き領域がオーディオフレームの残りのストリーム以上ある場合にはオーディオパックの多重化が行われる。このオーディオパックは図１０（ｂ）のオーディオパックＡＰ４に相当し、オーディオフレームＡ６の残りのオーディオストリームがオーディオパックとされる。
【００２５】
ただし、この場合オーディオパックは固定長であるため、オーディオフレームＡ６の残りストリームに対し、オーディオパックの長さになるだけの無効なデータ（上述したパディングパケット）を挿入してオーディオパックとしている。仮想復号化オーディオバッファの占有量は、このオーディオパックＡＰ４中、有効なデータであるオーディオフレームＡ６の残りのストリーム分だけ増加する。
【００２６】
ＲＡＰ直前において、仮想復号化オーディオバッファの空き容量が残りのオーディオフレームよりも少ない場合は、オーディオパックの多重化を行うことが出来ない。そのため、図１０（ｄ）のｔ８からｔ９にかけて示すように、オーディオパックの多重化が出来るようになるまでパック全体が無効なデータである無効パックの挿入などが行われている。
【発明の開示】
【発明が解決しようとする課題】
【００２７】
上述したように、従来の多重化装置では、仮想復号化オーディオバッファの状態に応じて無効パックの挿入や、無効データの書き込みが行われる。その結果、装置全体としてのビットレートが低下すると言う問題があった。
【課題を解決するための手段】
【００２８】
本発明の１態様によるデータ多重化装置は、ビデオストリームおよびオーディオストリームをそれぞれパック化し、それらのパックを多重化してシステムストリームを生成するデータ多重化装置であって、前記ビデオストリームを一時保持する復号化ビデオバッファの占有量を仮想的に計算する仮想復号化ビデオバッファ占有量計算部と、前記オーディオストリームを一時保持する復号化オーディオバッファの占有量を仮想的に計算する仮想復号化オーディオバッファ占有量計算部と、前記仮想復号化オーディオバッファ占有量計算部の計算結果を保持する仮想復号化オーディオバッファと、前記仮想復号化オーディオバッファに対してオーバーフロー制限値を設定するペイロード長設定部とを有し、前記ペイロード長設定部は、前記オーバーフロー制限値として、オーディオフレームのフレーム長の整数倍の値を設定することを特徴とする。
【００２９】
また、本発明のデータ多重化方法は、ビデオストリームおよびオーディオストリームをそれぞれパック化し、それらのパックを多重化してシステムストリームを生成するデータ多重化方法であって、前記システムストリームがランダムアクセスポイント直前であるかどうかを判定し、前記オーディオストリームを一時保持するオーディオバッファの占有量を計算し、オーディオフレームの整数倍であるオーバーフロー制限値と、前記計算によって得られたオーディオバッファの占有量とを比較し、前記比較結果に基づいて生成するオーディオパックのペイロード長を設定する。
【００３０】
オーバーフロー制限値として、オーディオフレーム長の整数倍を設定しているので、ランダムアクセスポイント直前のオーディオパックで、フレームを終端させることが出来る。
【発明の効果】
【００３１】
システムストリームにおける無効パックなどの数を削減し、ビットレートの効率向上が可能となる。
【発明を実施するための最良の形態】
【００３２】
実施の形態１
以下に図面を参照して本発明の実施の形態１について説明する。図１は、実施の形態１のデータ多重化装置の全体構成を示す図である。図１に示したデータ多重化装置において図８に示した構成要件と同じものに関しては、同一の符号を付し、その説明を省略する。本発明のデータ多重化装置は、図８に示したデータ多重化装置における多重化制御部１０６が異なり多重化制御部１０６'となっている。図１に示す多重化制御部１０６'も、ビデオおよびオーディオのストリーム量を管理し、多重化するタイミングなどの決定を行う部分である。図２にこの多重化制御部の詳細を示す。
【００３３】
多重化制御部１０６'は、符号化ビデオストリーム量記憶部１、仮想復号化ビデオバッファ占有量計算部２、仮想復号化ビデオバッファ３、符号化オーディオストリーム量記憶部４、仮想復号化オーディオバッファ占有量計算部５、仮想復号化オーディオバッファ６、制御信号生成部７および多重化データ決定部８を有している。
【００３４】
符号化ビデオストリーム量記憶部１は、符号化ビデオバッファ１０２内に保持されているビデオストリーム量を記憶する。仮想復号化ビデオバッファ占有量計算部２は、復号化ビデオバッファ１０８に蓄積されているビデオストリーム量を仮想計算し、その結果を仮想復号化ビデオバッファに保持する。仮想復号化ビデオバッファ３は、この計算結果を保持するレジスタなどであり、復号器側の復号化ビデオバッファ１０４の占有量の仮想値を保持している。
【００３５】
符号化オーディオストリーム量記憶部４は、符号化オーディオバッファ１０４内に保持されているオーディオストリーム量を記憶する。仮想復号化オーディオバッファ占有量計算部５は、復号化オーディオバッファ１０９に蓄積されているオーディオストリーム量を仮想計算し、その結果を仮想復号化オーディオバッファに保持する。仮想復号化オーディオバッファ６は、この計算結果を保持するレジスタなどであり、復号器側の復号化オーディオバッファ１０９の占有量の仮想値を保持している。
【００３６】
多重化データ決定部８は、上述の符号化ビデオバッファ１０２が保持するビデオストリーム量、符号化オーディオバッファ１０４が保持するオーディオストリーム量、仮想復号化ビデオバッファ３が保持する復号化ビデオバッファの仮想的な占有量、仮想復号化オーディオバッファ６が保持する復号化オーディオバッファの仮想的な占有量を元にして、多重化するパックの種類、ストリーム長、多重化するタイミングを決定する。制御信号生成部７は、多重化データ決定部８が決定した内容を多重化部１０５へ通知するための信号を生成する。
【００３７】
本実施の形態１では多重化データ決定部８内に、さらにペイロード長設定部９が設けられている。まず、ペイロード長について説明する。以後の説明においてペイロード長とは、１つのオーディオパックに含まれるオーディオストリーム長である。無効なデータであるパディングパケットなどを含むオーディオパックであれば、このパディングパケットはペイロード長には含まれない。パディングパケットがまったく含まれていない場合でも、最大のペイロード長はオーディオパックのパック長の制限を受ける。従って最大のペイロード長はパック長からヘッダ長を差し引いた最大ストリーム長ＬＰに等しい。
【００３８】
実施の形態１では、このペイロード長設定部９がオーディオパックに含まれるペイロード長を設定する。以下にこのペイロード長設定部９が設定するペイロード長とオーディオパックの生成について説明する。
【００３９】
まず、本実施の形態においては、ペイロード長設定部９が仮想復号化オーディオバッファのオーバーフロー制限値として、仮想的な第２の容量ＢｆＭａｘ'を、仮想復号化オーディオバッファ６に対して設定する。この第２の容量ＢｆＭａｘ'（以降、オーバーフロー制限値と称す）は、オーディオフレーム長ＬＦの整数倍の値であり、規格に定められた仮想復号化オーディオバッファの容量ＢｆＭａｘよりも低い値であるとする。本実施の形態は、このオーバーフロー制限値ＢｆＭａｘ'と仮想復号化オーディオバッファの占有率との差から、ペイロード長設定部９がペイロード長を設定するものである。オーディオパックの多重化は、オーバーフロー制限値ＢｆＭａｘ'とバッファ占有量の差が、このペイロード長設定部９が設定したペイロード長よりも大きい場合に行われるものとする。
【００４０】
図３は、本実施の形態の仮想復号化オーディオバッファの占有率の遷移、オーディオパック、オーディオフレームなどを示す図である。特に図３（ｄ）は、仮想復号化オーディオバッファ占有率計算部の計算結果に対応し、仮想復号化オーディオバッファ６が保持する値である。以下、図３を参照して本実施の形態のデータ多重化装置の具体的な動作について説明する。
【００４１】
なお、以下の説明では説明を分かりやすくするために１０バイト、３０バイトなどの取り扱いやすい値を用いて数値を示すが、実際に用いられるフレーム長、パック長などは、この限りではなく、規格などに応じて様々である。
【００４２】
まず、オーディオストリームとしては、フレーム長ＬＦ＝１０バイトのオーディオフレーム５つ（Ａ１１〜Ａ１５）からなるオーディオストリームであるとする。オーディオパック長は仮に２０バイト、ヘッダ長は２バイトであるとする。この場合最大ペイロード長ＬＰは１８バイトである。また、ペイロード長設定部９はオーバーフロー制限値ＢｆＭａｘ'として３０バイトを定めているとする。
【００４３】
本実施の形態では多重化データ決定部８は、このオーバーフロー制限値ＢｆＭａｘ'を超えないようにオーディオパックＡＰを形成していくものとする。
【００４４】
まず、通常のオーディオパック多重化動作時にペイロード長設定部９は、ペイロード長を常に最大ストリーム長ＬＰに設定している。図３（ｄ）の時刻ｔ１において仮想復号化オーディオバッファのオーバーフロー制限値ＢｆＭａｘ'に対しての空き容量が３０バイトであるため、最大ストリーム長ＬＰに対応するオーディオストリームをオーディオパックとすることが決定される。この場合、オーディオフレームＡ１１の全て、およびオーディオフレームＡ１２の前半の８バイトが、所定のビットレートの方向きを持って時刻ｔ１からｔ２にかけてオーディオパックＡＰ１１として多重化される。
そのため、仮想復号化オーディオバッファは、１８バイト占有された状態となる（図３（ｄ）、ｔ２参照）。
【００４５】
時刻ｔ２からｔ３の期間は、オーバーフロー制限値ＢｆＭａｘ'と仮想復号化オーディオバッファ占有量との間の差は１２バイトである。最大ペイロード長ＬＰ（ここでは１８バイト）に対応する空きがないため、オーディオパックの多重化は行われない。
【００４６】
その後、時刻ｔ３において、オーディオバッファに蓄積されたストリーム量からフレーム長ＬＦに対応する減算が行われる。ここでは、説明のためにＬＦ＝１０バイトとしたため、仮想復号化オーディオバッファは１８−１０＝８バイト占有された状態となる。この減算は、ビットレートに基づいた傾きはなく瞬時に行われるものとして規格に定められている。仮想復号化オーディオバッファは、オーバーフロー制限値ＢｆＭａｘ'に対して２２バイトの空き領域があるため、時刻t４からｔ５にかけて最大ペイロード長ＬＰ（１８バイト）に対応するオーディオストリームのパック化が行われる。この場合オーディオパックＡＰ１２には、オーディオフレームＡ１２の残り２バイト、オーディオフレームＡ１３の全て１０バイト、オーディオフレームＡ１４の最初の６バイトが含まれる（図３（ｂ）参照）。この場合、仮想復号化オーディオバッファは、１８＋８で２６バイト占有された状態となる（図３（ｄ）、ｔ５参照）。
【００４７】
このように通常の動作時は従来と同様にオーバーフロー制限値ＢｆＭａｘ'に対して最大ペイロード長ＬＰの余裕が出来た場合にオーディオパックを多重化する動作を繰り返していく。
【００４８】
次に、ランダムアクセスポイント（ＲＡＰ）直前の動作を説明する。ＲＡＰ直前では、ペイロード長設定部９が、オーバーフロー制限値ＢｆＭａｘ'と仮想復号化オーディオバッファ占有量との差分を計算する。ここで、オーバーフロー制限値としては、オーディオフレームの整数倍の値を定めているため、オーバーフロー制限値ＢｆＭａｘ'と仮想復号化オーディオバッファ占有量との間には、少なくとも出力済みのオーディオフレームの残りのストリームＬＦＲに相当する差が存在する。
【００４９】
すでに出力済みのオーディオフレームの残りのストリームＬＦＲ（ここではＡ１４の残り４バイト）を仮想復号化オーディオバッファに加算してもオーバーフロー制限値ＢｆＭａｘ'をオーバーしない場合は、ペイロード長としてＬＦＲ＋ｎ＊ＬＦ（ｎ：０以上の整数）を設定する。ここでは、４＋１＊１０として１４バイトをペイロード長ＬＰ'と設定する。このようにペイロード長を設定した後に、オーディオパックの多重化が行われる。
【００５０】
このように、実施の形態１ではペイロード長設定部９のＲＡＰ直前のペイロード長設定は、オーバーフロー制限値ＢｆＭａｘ'と仮想復号化オーディオバッファの占有量の差を元に行われる。この差がすでに多重化されたオーディオフレームの残りストリーム以上であった場合に、オーディオパックとして多重化可能なペイロード長をＬＦＲ＋ｎ＊ＬＦとする。この結果、オーバーフロー制限値ＢｆＭａｘ'はオーディオフレーム長の整数倍としているためＲＡＰ直前で定義されるペイロード長は、すでに多重化されたフレームの残りのストリーム（ＬＦＲ）＋（フレーム長の整数倍）となる。例えば上述の例ではＲＡＰ直前においてペイロード長設定部９は１４バイトを設定する。
【００５１】
このようにオーバーフロー制限値ＢｆＭａｘ'を設定し、ＲＡＰ直前においては、オーバーフロー制限値ＢｆＭａｘ'とバッファ占有量の差を元にペイロード長ＬＰ'を設定する。その上で、オーディオパックの多重化を行うことで、ＲＡＰ直前のオーディオパックには確実に全てのオーディオフレームデータを完結させることが可能となる。
【００５２】
このように、本実施の形態ではペイロード長設定部９がオーディオフレームのフレーム長の整数倍となるオーバーフロー制限値ＢｆＭａｘ'（第２の仮想復号化オーディーバッファの容量）を設定することで、従来のように、オーディオフレームの残りストリームに対応するオーディオパック生成までの間、無効なパックを出力することなどが低減される。
【００５３】
従来のデータ多重化装置では、仮にＲＡＰ直前でその画像のグループ（ＧＲＯＵＰ  ＯＦ  ＰＩＣＴＵＲＥ）の最後のビデオパックの生成が終わっていた場合でも、オーディオフレームが完結せずに残りストリームがあった場合は、その残りストリームをシステムストリームと出来る状態になるまでパック全体が無効なデータとなる無効パックの出力などを行わなければならない場合があった（図１０におけるｔ８〜ｔ１０区間参照）。しかし、この実施の形態ではＲＡＰ直前に生成されるオーディオパックは常にオーディオフレームが完結した状態のオーディオパックとすることが可能である。従ってオーディオフレームに残りストリームがあることなどが原因による無効パックの作成等を行うことが省略できる。その結果、システムストリームに含まれる無効なデータが低減されビットレートの効率化を図ることが可能である。
【００５４】
なお、以上の動作をフローチャートでまとめたものが図４である。図４において、ステップＳ３０１に示すように、まず、ＲＡＰ直前かどうかによって設定するペイロード長（ＬＰあるいはＬＰ'）が異なるため、その判断が行われる。その後ＲＡＰ直前でない場合、ステップ３０５に示すようにバッファの占有量に対して、最大ペイロード長ＬＰを加算して、オーバーフロー制限値ＢｆＭａｘ'を超えるか超えないかが判定される。ここでオーバーフロー制限値を超えない場合は最大ペイロード長ＬＰのオーディオパックの多重化が行われる（ステップＳ３０６）。オーバーフロー制限値を超えてしまう場合は、ビデオパックなどの多重化や、時間待ちが行われる（ステップＳ３０７）。
【００５５】
ステップＳ３０１において、ＲＡＰ直前と判定された場合は、ステップＳ３０２において、上述のバッファ占有量とオーバーフロー制限値ＢｆＭａｘ'の差と、フレームの残りストリームＬＦＲの比較が行われる。そして、ステップＳ３０３は、上述のＲＡＰ直前のペイロード長ＬＰ'の設定動作であり、ステップ３０４は、他のパックの多重化、時間待ちを行う動作である。
【００５６】
実施の形態１では、オーディオパックＡＰの多重化に際し、この動作が繰り返されるものである。
【００５７】
実施の形態２
図５は、本発明の実施の形態２に関する仮想復号化オーディオバッファの占有量を示す図である。以下、図５を用いて実施の形態２のデータ多重化装置について詳細に説明する。
【００５８】
実施の形態１に示したデータ多重化装置および方法では、仮想復号化オーディオバッファの占有量が、次の条件を満たしてしまう恐れがある。
（１）バッファ占有量＋１パックの最大ペイロード長（ＬＰ）＞オーバーフロー制限値ＢｆＭａｘ'
（２）バッファ占有量−オーディオフレーム長（ＬＦ）＜０
つまり、実施の形態１では、ＲＡＰ直前ではなく、通常の多重化動作時には、ペイロード長は最大ペイロード長ＬＰに設定されている。この場合、上記（１）の条件が成立していれば、オーディオパックの多重化を行うことは出来ない。また上記（２）の条件が成立していた場合、次に固定フレーム長ＬＦが減算された場合に仮想復号化オーディオバッファがアンダーフローしてしまう。
【００５９】
したがって、ある時点における仮想復号化オーディオバッファ占有量が上記（１）、（２）の条件を満たしてしまう場合に多重化データ決定部８が処理破綻を起こす可能性が生じる。分かりやすい数値を用いて説明すれば、フレーム長ＬＦ＝１０バイト、最大ペイロード長ＬＰ＝１８バイト、オーバーフロー制限値ＢｆＭａｘ'を２０バイトとすれば、最大ペイロード長ＬＰ（１８バイト）を書き込んだ後、フレーム長ＬＦに相当する１０バイト減算されてバッファ占有量は８バイトとなる。この場合、最大ペイロード長ＬＰに対応するオーディオパックの多重化も、フレーム長ＬＦの減算も出来なくなってしまう。
【００６０】
上記（１）、（２）の条件を満たしてしまう可能性は、以下の（３）に示す関係が成立するときに発生する。
（３）オーディオフレーム長（ＬＦ）＋最大ペイロード長（ＬＰ）＞オーバーフロー制限値（ＢｆＭａｘ'）
【００６１】
図５は、このような可能性がある仮想復号化オーディオバッファメモリのオーディオフレーム、オーディオパック、仮想復号化オーディオバッファの占有量などを示す図である。以下、図５を用いて、実施の形態２のペイロード長設定動作について説明する。まず、図５（ｄ）における時刻ｔ１において、オーバーフロー制限値に対して最大ペイロード長ＬＰ以上の空きがあるため、最大ペイロード長ＬＰに対応するオーディオパックＡＰ２１の多重化が決定される。仮想復号化オーディオバッファの保持する値は所定の傾きを持って時刻ｔ１からｔ２にかけて上昇する。その結果、仮想復号化オーディオバッファの占有量が増大する（図５（ｄ）、時刻ｔ２参照）。その後、オーディオフレーム長ＬＦに対応する減算が行われる（図５（ｄ）、時刻ｔ３参照）。この場合図５（ｄ）、時刻ｔ３において、上述の条件（１）、（２）が成立するとする。この第２の実施の形態では条件（１）、（２）が成立する場合に関し、ペイロード長設定部９がオーバーフロー制限値ＢｆＭａｘ'と、仮想復号化オーディオバッファ占有量との差を計算し、この差をペイロード長ＬＰ'に設定する。そして、仮想復号化オーディオバッファ占有量とオーバーフロー制限値の差が、このペイロード長ＬＰ'以上となった場合にオーディオパックの多重化が行われる（図５（ｄ）、ｔ４参照）。
【００６２】
この場合のオーディオパックＡＰ２１は、ＢｆＭａｘ'がオーディオフレーム長ＬＦの整数倍とされているため、オーディオパックＡＰ２１に含まれなかったオーディオフレームＡ２２の残りストリームおよびオーディオフレームＡ２３内の全ストリームとなる。
【００６３】
このペイロード長ＬＰ'分のオーディオストリームにパディングパケットが追加され、オーディオパックＡＰ２２とされる。このオーディオパックはシステムストリームに多重化される。
【００６４】
本実施の形態のデータ多重化装置では、その後、上述の条件（１）、（２）に当てはまる場合はペイロード長をオーバーフロー制限値ＢｆＭａｘ'と、仮想復号化オーディオバッファ占有量との差であるＬＰ'と設定し、通常は、最大ペイロード長ＬＰとしたオーディオパックの作成が繰り替えされる。
【００６５】
本実施の形態において、ＲＡＰ直前においてペイロード長がオーバーフロー制限値ＢｆＭａｘ'と仮想復号化オーディオバッファ占有量との差に基づいて決定される点は、第１の実施の形態と同じであるため、説明を省略する。
【００６６】
つまり、第２の実施の形態においては、通常の多重化が行われている時には基本的なペイロード長として、最大ペイロード長ＬＰが設定されている。ただし、通常の多重化動作においても、上述の（１）、（２）の条件を満たす場合は、オーバーフロー制限値ＢｆＭａｘ'と仮想復号化オーディオバッファの占有量との差がペイロード長ＬＰ'と設定される。
【００６７】
実施の形態２のようにペイロード長設定部９は上記（１）、（２）の条件を満たす場合にもペイロード長の設定を変更するため、処理破綻を起こすことなく、ビットレートを有効活用したオーディオストリームの多重化が可能である。
【００６８】
この一連の動作をフローチャートで表したものを図６に示す。図６において図４と異なる点は、上述の（２）の条件を判断するステップＳ５０１、ペイロード長ＬＰ'のオーディオパックを多重化するステップＳ５０２が設けられている点である。
【００６９】
仮に、実施の形態２のデータ多重化方法をＤＶＤ規格に適用した場合、上述の（３）の条件が成立するのは、ＤＯＬＢＹ  ＡＣ−３（登録商標）によるオーディオストリームを多重化する場合である。
【００７０】
仮にサンプリング周波数４８ｋＨｚ、ビットレート３８４ｋｂｐｓのＤＯＬＢＹ  ＡＣ−３（登録商標）によるオーディオストリームの場合、５フレームに１回、５７９バイトのパディングパケットの挿入が行われる。サンプリング周波数４８ｋＨｚ、ビットレート４４８ｋｂｐｓのＤＯＬＢＹ  ＡＣ−３（登録商標）によるオーディオストリームの場合、１０フレームに１回、２２７バイトのパディングパケットの挿入が行われる。
【００７１】
実施の形態２のデータ多重化方法によれば、実施の形態１と同様にビットレートの効率化を図ることが可能である。また、オーディオフレーム長と、オーバーフロー制限値の設定によってアンダーフローなどが生じてしまう恐れを防ぐことも可能である。なお、本実施形態によるデータ多重化のビットレートと従来のデータ多重化によるビットレートとの比較を表１に示す。表１に示すように本実施の形態によりビットレートの効率が向上される。
【表１】
2006211476.tif 000003
【００７２】
実施の形態３
実施の形態１、２においてはオーバーフロー制限値ＢｆＭａｘ'として設定する値についてはオーディオフレームのフレーム長の整数倍のみを示し、常にオーバーフロー制限値を超えない範囲でオーディオパックの多重化の制御を行う場合について示している。
【００７３】
実施の形態３では、例えばサンプリング周波数４４．１ｋＨｚのＤＯＬＢＹ  ＡＣ−３（登録商標）などの場合において、微量ながらオーディオフレーム長が変化する場合に、オーバーフロー制限値ＢｆＭａｘ'を設定する場合について説明する。
【００７４】
上述のサンプリング周波数４４．１ｋＨｚ、ビットレート２５６ｋｂｐｓのＤＯＬＢＹ  ＡＣ−３（登録商標）では、通常フレーム長は１１１４バイトである。しかしながら数フレームに１つの割合で１１１５バイトとなるオーディオフレームが存在する。そこで、本実施の形態では以下のようにペイロード長設定部９がオーバーフロー制限値、ペイロード長を設定する。
【００７５】
まず、最小のオーディオフレーム長をＬＢとすると、オーバーフロー制限値ＢｆＭａｘ'はＬＢの整数倍と設定される。
【００７６】
このようにオーバーフロー制限値を設定した場合、通常動作時は、オーバーフロー制限値を超えないように、最大ペイロード長ＬＰのオーディオパックを多重化している。また、実施の形態２と同様に（バッファ占有量＋ＬＰ）がオーバーフロー制限値ＢｆＭａｘ'を超えてしまう場合、オーバーフロー制限値ＢｆＭａｘ'とバッファ占有量との差に基づいてペイロード長ＬＰ'を設定している。またＲＡＰ直前においても基本的に第１、第２の実施の形態と同じようにペイロード長が設定される。
【００７７】
ただし、実施の形態３においては、フレーム長が常にＬＢで一定ではなく、ＬＢからＬＢ＋ｍの範囲で変化している。
【００７８】
そのため、フレーム長がＬＢ＋ｍとなるフレームの数に応じて、ＲＡＰ直前において、ペイロード長をオーバーフロー制限値ＢｆＭａｘ'との差に基づいて設定しても、必ずしも最終フレームの全ストリームが１つのオーディオパックに収まって終了しない場合がある。
【００７９】
ここで、オーバーフロー制限値ＢｆＭａｘ'は、１フレームのデータをＲＡＰ直前で完結させるために設定した計算のための容量であることに注目すると、実際には仮想復号化オーディオバッファ上では（ＢｆＭａｘ―ＢｆＭａｘ'）に相当する余裕が存在する。
【００８０】
そこで、オーバーフロー制限値ＢｆＭａｘ'内で記憶することが出来るフレーム数Ｎは全てが最小フレーム長であったとして、Ｎ＝Ｂｆｍａｘ'／ＬＢである。仮に全てのフレームがＬＢ＋ｍのフレーム長をもつものであったとしても、全てのフレームが最小フレームであった場合に対して、ｍ＊（Ｂｆｍａｘ'／ＬＢ）バイト増えるだけである。そこで、本来の規格に定められた仮想復号化オーディオバッファの容量がオーバーフロー制限値ＢｆＭａｘ'に対し、この差に相当する余裕があれば、オーディオフレーム長が変化する場合でもＲＡＰ直前において最終フレーム全てのストリームを含んだオーディオパックとして多重化が可能である。つまり以下の条件（４）を満たすように、オーバーフロー制限値ＢｆＭａｘ'を設定することで、ＲＡＰ直前においてもフレーム中のストリームを確実に完結することが可能となる。
（４）ＢｆＭａｘ−ＢｆＭａｘ'＞ｍ＊（Ｂｆｍａｘ'／ＬＢ）・・・（ｍ：自然数）
【００８１】
つまり、オーバーフロー制限値ＢｆＭａｘ'を最小のフレーム長の整数倍であり、かつ上記（４）の条件を満たすように設定することで、ＲＡＰ直前に関して、オーバーフロー制限値ＢｆＭａｘ'以上となっても、オーディオパックの多重化を許可し、実際の仮想復号化オーディオバッファをオーバーフローさせることなく、オーディオパックを多重化させることが可能である。
【００８２】
図７は、実施の形態３の仮想復号化オーディオバッファの占有量、オーディオフレームなどを示した図である。図７における時刻ｔ９において、ＲＡＰ直前の仮想復号化オーディオバッファ占有量が、オーバーフロー制限値ＢｆＭａｘ'を越えてしまっているが、仮想復号化オーディオバッファの容量ＢｆＭａｘは超えておらず、正常にオーディオパックを形成できる。
【００８３】
以上詳細に説明したように、本発明によれば、規格に規定された仮想復号化オーディオバッファの容量よりも低い、オーバーフロー制限値を設定し、この限界値を超えないように制御することで、ＲＡＰ直前においてフレームが完結せず、無効なパックなどを生成することを削減ことが出来る。このことによりビットレートの効率が向上し、画質、画像などの高品質化を図ることが可能となる。
【００８４】
なお、実施の形態では、ＭＰＥＧ規格などにおけるオーディオストリームを例に説明したが、本発明は、データの単位が固定長である場合の符号化、復号化に適用することが可能である。
【図面の簡単な説明】
【００８５】
【図１】実施の形態１の多重化制御部の構成を示す概略図である。
【図２】本発明の実施の形態の多重化制御部の構成を示す概略図である。
【図３】実施の形態１のオーディオフレーム、オーディオパック、仮想復号化オーディオバッファの占有量を示す図である。
【図４】実施の形態１の多重化動作のフローを示すフローチャートである。
【図５】実施の形態２のオーディオフレーム、オーディオパック、仮想復号化オーディオバッファの占有量を示す図である。
【図６】実施の形態２の多重化動作のフローを示すフローチャートである。
【図７】実施の形態３のオーディオフレーム、オーディオパック、仮想復号化オーディオバッファの占有量を示す図である。
【図８】データ多重化装置の構成を示す図である。
【図９】従来の多重化制御部の構成を示す概略図である。
【図１０】従来のオーディオフレーム、オーディオパック、仮想復号化オーディオバッファの占有量を示す図である。
【符号の説明】
【００８６】
１    符号化ビデオストリーム量記憶部
２    仮想復号化ビデオバッファ占有量計算部
３    仮想復号化ビデオバッファ
４    符号化オーディオストリーム量記憶部
５    仮想復号化オーディオバッファ占有量計算部
６    仮想復号化オーディオバッファ
７    制御信号生成部
８    多重化データ決定部
９    ペイロード長設定部
１０１    ビデオ符号化部
１０２    符号化ビデオバッファ
１０３    オーディオ符号化部
１０４    符号化オーディオバッファ
１０５    多重化部
１０６、１０６'    多重化制御部
２０１    符号化ビデオストリーム量記憶部
２０２    仮想復号化ビデオバッファ占有量計算部
２０３    仮想復号化ビデオバッファ
２０４    仮想復号化オーディオバッファ占有量計算部
２０４    符号化オーディオストリーム量記憶部
２０５    仮想復号化オーディオバッファ占有量計算部
２０６    仮想復号化オーディオバッファ
２０７    制御信号生成部
２０８    多重化データ決定部
ＢｆＭａｘ'    オーバーフロー制限値
ＬＦ    オーディオフレーム長
ＬＰ    最大ストリーム長（最大ペイロード長）
【図１】
2006211476.tif 000004
【図２】
2006211476.tif 000005
【図３】
2006211476.tif 000006
【図４】
2006211476.tif 000007
【図５】
2006211476.tif 000008
【図６】
2006211476.tif 000009
【図７】
2006211476.tif 000010
【図８】
2006211476.tif 000011
【図９】
2006211476.tif 000012
【図１０】
2006211476.tif 000013