(57)【特許請求の範囲】
【請求項１】
アクセスユニット単位で選択的に切り替えられる複数のビデオデータを可変長符号化して得られる複数のビデオストリームから、上記アクセスユニット毎のデコード時刻と同一のデコード時刻に対するアクセスユニットの大きさをそれぞれ検出するアクセスユニット検出手段と、
上記アクセスユニット検出手段により検出された複数のアクセスユニットの大きさをデコード時刻毎に比較して、アクセスユニットの最大値を仮想アクセスユニットとする最大値検出手段と、
上記仮想アクセスユニットから構成される仮想ビデオストリームを構成する仮想ビデオストリーム構成手段と、
上記ビデオストリームのバッファ占有量が上記仮想ビデオストリームのバッファ占有量以下となるように、上記ビデオストリームのアクセスユニットの大きさと上記仮想アクセスユニットの大きさとの差分を調整しながら、上記複数のビデオストリームをパケット化するパケット化手段と
を有することを特徴とする符号化装置。
【請求項２】
上記パケット化手段は、上記差分に対してパディングパケットを用いてパケット化することを特徴とする請求項１記載の符号化装置。
【請求項３】
上記パケット化手段は、上記パディングパケット自体でパックを構成している場合には、パケット化しないことを特徴とする請求項２記載の符号化装置。
【請求項４】
上記仮想ビデオストリーム構成手段は、上記仮想ビデオストリームを用いて、デコーダへの供給時刻及びパケットの大きさを決定し、
上記パケット化手段は、上記デコーダへの供給時刻及びパケットの大きさの情報を使用して、上記ビデオストリームをパケット化する
ことを特徴とする請求項１記載の符号化装置。
【請求項５】
上記ビデオストリームはＭＰＥＧ規格のエレメンタリストリームであることを特徴とする請求項１記載の符号化装置。
【請求項６】
上記パケット化手段によりパケット化されて生成されたストリームは、ＭＰＥＧ規格のプログラムストリームであることを特徴とする請求項１記載の符号化装置。
【請求項７】
上記複数のビデオデータは、異なるカメラアングルから撮像されたデータであることを特徴とする請求項１記載の符号化装置。
【請求項８】
アクセスユニット単位で選択的に切り替えられる複数のビデオデータを可変長符号化して得られる複数のビデオストリームから、上記アクセスユニット毎のデコード時刻と同一のデコード時刻に対するアクセスユニットの大きさをそれぞれ検出するアクセスユニット検出工程と、
上記アクセスユニット検出工程により検出された複数のアクセスユニットの大きさをデコード時刻毎に比較して、アクセスユニットの最大値を仮想アクセスユニットとする最大値検出工程と、
上記仮想アクセスユニットから構成される仮想ビデオストリームを構成する仮想ビデオストリーム構成工程と、
上記ビデオストリームのバッファ占有量が上記仮想ビデオストリームのバッファ占有量以下となるように、上記ビデオストリームのアクセスユニットの大きさと上記仮想アクセスユニットの大きさとの差分を調整しながら、上記複数のビデオストリームをパケット化するパケット化工程と
を有することを特徴とする符号化方法。
【請求項９】
上記パケット化工程では、上記差分に対してパディングパケットを用いてパケット化することを特徴とする請求項８記載の符号化方法。
【請求項１０】
アクセスユニット単位で選択的に切り替えられる複数のビデオデータを可変長符号化して得られる複数のビデオストリームから、上記アクセスユニット毎のデコード時刻と同一のデコード時刻に対するアクセスユニットの大きさをそれぞれ検出するアクセスユニット検出工程と、
上記アクセスユニット検出工程により検出された複数のアクセスユニットの大きさをデコード時刻毎に比較して、アクセスユニットの最大値を仮想アクセスユニットとする最大値検出工程と、
上記仮想アクセスユニットから構成される仮想ビデオストリームを構成する仮想ビデオストリーム構成工程と、
上記ビデオストリームのバッファ占有量が上記仮想ビデオストリームのバッファ占有量以下となるように、上記ビデオストリームのアクセスユニットの大きさと上記仮想アクセスユニットの大きさとの差分を調整しながら、上記複数のビデオストリームをパケット化するパケット化工程と、
上記夫々パケット化された複数のストリームを１つのストリームとして伝送する工程と
を有することを特徴とする伝送方法。
【請求項１１】
上記パケット化工程では、上記差分に対してパディングパケットを用いてパケット化することを特徴とする請求項１０記載の伝送方法。
【請求項１２】
記録信号が記録される信号記録媒体において、
上記記録信号は、
アクセスユニット単位で選択的に切り替えられる複数のビデオデータを可変長符号化して得られる複数のビデオストリームから、上記アクセスユニット毎のデコード時刻と同一のデコード時刻に対するアクセスユニットの大きさをそれぞれ検出するアクセスユニット検出工程と、
上記アクセスユニット検出工程により検出された複数のアクセスユニットの大きさをデコード時刻毎に比較して、アクセスユニットの最大値を仮想アクセスユニットとする最大値検出工程と、
上記仮想アクセスユニットから構成される仮想ビデオストリームを構成する仮想ビデオストリーム構成工程と、
上記ビデオストリームのバッファ占有量が上記仮想ビデオストリームのバッファ占有量以下となるように、上記ビデオストリームのアクセスユニットの大きさと上記仮想アクセスユニットの大きさとの差分を調整しながら、上記複数のビデオストリームをパケット化するパケット化工程と
により得られるものであることを特徴とする信号記録媒体。
【請求項１３】
上記パケット化工程では、上記差分に対してパディングパケットを用いてパケット化することを特徴とする請求項１２記載の信号記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像信号及び音響信号などを、例えば光磁気ディスクや磁気テープなどの記録媒体に記録し、これを再生してディスプレイなどに表示したり、テレビ会議システム、テレビ電話システム、放送用機器など、動画像信号及び音響信号などを伝送路を介して送信側から受信側に伝送し、受信側において、これを受信し、表示する場合などに用いて好適な、符号化装置および方法、伝送方法、並びに信号記録媒体に関する。
【０００２】
【従来の技術】
映像信号や音声信号などを、光磁気ディスクや磁気テープなどの記録媒体に記録し、それらを再生してディスプレイなどに表示したり、テレビ会議システム、テレビ電話システムなどにおいて、送信側が、所定の伝送路を介して、それらの信号を伝送し、受信側が、それらの信号を受信し、表示する場合などにおいて、最近、これらの信号は、Ａ／Ｄ変換した後、いわゆるＭＰＥＧ（Moving Picture Experts Group）方式で符号化して取り扱われることが多くなりつつある。
【０００３】
ここで、上記ＭＰＥＧとは、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９（International Organization for Standardization / International Electrotechnical Commission, Joint Technical Commitee 1 / Sub Commitee 29：国際標準化機構／国際電気標準会議、合同技術委員会１／専門部会２９）の蓄積用動画像符号化の検討組織の略称であり、ＭＰＥＧ１標準としてISO11172が、ＭＰＥＧ２標準としてISO13818がある。これらの国際標準において、マルチメディア多重化の項目でISO11172-1及びISO13818-1が、映像の項目でISO11172-2及びISO13818-2が、また音声の項目でISO11172-3及びISO13818-3がそれぞれ標準化されている。
【０００４】
通常、映像と音声は同時に扱うので、一般的なシステムにおいては、映像信号、音声信号および、関連するデータといった複数のデータをまとめて（多重化して）記録・伝送する。そして、再生するときに、多重化されたデータを、映像信号や音声信号といったデータの種類別に分離した後復号して、それらのデータを同期させて再生する。
【０００５】
データを多重化する場合、所定の数の映像信号および音声信号を個別に符号化し、各信号に対する符号化ストリームを生成した後、それらの符号化ストリームが多重化される。
【０００６】
ＭＰＥＧシステム（ISO/IEC13818-1 あるいは ISO/IEC11172-1）では、この多重化ストリームを規定している。以下にこのＭＰＥＧシステムにおけるデコーダモデルおよび多重化ストリームの構造について説明する。ここでは説明を簡単にするためＭＰＥＧ２（ISO/IEC13818-1）プログラムストリームおよびＭＰＥＧ１システム（ISO/IEC11172-1）ストリームについて述べるが、ＭＰＥＧ２システムのトランスポートストリーム（ISO/IEC13818-1）もＭＰＥＧ２プログラムストリームと同様の原理によりデコードされる。
【０００７】
ＭＰＥＧシステムでは、仮想的なデコーダのモデル（ＳＴＤ：システムターゲットデコーダ）が規定されていて、多重化システムストリームは、このＳＴＤにおいて正しく、すなわちバッファの破綻をきたさないように、復号されるものとして定義されている。
【０００８】
ここでこのＳＴＤ（システムターゲットデコーダ）の動作を説明する。図６はＳＴＤ（システムターゲットデコーダ）の一例の概略構成を表し、図７（Ａ）及び（Ｂ）は、ＭＰＥＧ２システムのプログラムストリームの構造及びＭＰＥＧ２トランスポートストリームの構造をそれぞれ示す。
【０００９】
ＳＴＤは内部にシステムタイムクロック（ＳＴＣ：System Time Clock）１６と呼ばれる基準時計を持っている。このＳＴＣ１６はある時間間隔で増加している。一方ＭＰＥＧ２システムのプログラムストリームは複数のアクセスユニットで構成されており、そのストリームには、図７に示すようにシステムクロックリファレンス（ＳＣＲ：System Clock Reference）と呼ばれる時間情報がパックヘッダとよばれる領域にエンコードされている。デコーダはＳＴＣがＳＣＲに等しくなるとその該当するパック、すなわちプログラムストリームの構成単位を、あるレート、すなわちパックヘッダの mux_rate field にエンコードされている値で読み出す。
【００１０】
読み出されたパックは直ちにその構成単位であるパケットの種類に応じて、分離器１１で各エレメンタリーストリーム、すなわちビデオストリームやオーディオストリームなどに分離され、各エレメンタリーストリームのデコーダバッファ、すなわちビデオバッファ１２やオーディオバッファ１４に入力される。
【００１１】
パケットヘッダには、図７に示すように、デコーディングタイムスタンプ（ＤＴＳ：Decoding Time Stamp）、プレゼンテーションタイムスタンプ（ＰＴＳ：Presentation Time Stamp）と呼ばれる時間情報を記述するフィールドが用意されていて、それぞれエレメンタリーストリームのデコード単位（アクセスユニット）のデコードされるべき時刻と表示されるべき時刻を表している。特に、ＰＴＳは、アクセスユニットが表示される時刻を表しており、ＤＴＳは、アクセスユニットが復号される時刻を表している。ただし、ＤＴＳ＝ＰＴＳとなるアクセスユニットについては、ＰＴＳの値のみエンコードされる。デコーダバッファ１２に入力されたアクセスユニットは、このＳＴＣの値がＤＴＳの値に等しくなったときにバッファから引き抜かれて各デコーダ、すなわちビデオデコーダ１３やオーディオデコーダ１５に入力されデコードされる。
【００１２】
このようにＳＴＤ（システムターゲットデコーダ）においては、同じ基準時計ＳＴＣ１６に対するデコード時刻の情報が、各エレメンタリーストリームのパケットにエンコードされているため、ビデオ、オーディオ、その他のデータを同期させて再生することが可能となっている。
【００１３】
また、多重化においては、このＳＴＤの各エレメンタリーストリームのデコーダバッファがオーバーフローおよびアンダーフローしないように、ＳＴＤへのパックの供給時刻ＳＣＲ（システムクロックリファレンス）が決定され、アクセスユニットをパケット化することが要求される。ここで、上記オーバーフローとは、バッファに供給されるデータがバッファ容量を越えてしまうことを意味し、アンダーフローは、アクセスユニットがデコードされるべき時刻にバッファにまだ到達していない状態を示す。このようなデコード時のバッファの破綻なく、上記オーバーフローやアンダーフローを生じさせないように、複数のビットストリームを多重化する技術を、本件出願人は、先に特願平７−３４１９５１号の明細書および図面において提案している。
【００１４】
以上は、図７の（Ａ）のＭＰＥＧ２プログラムストリームについての説明であるが、図７の（Ｂ）のＭＰＥＧ２トランスポートストリームについても同様な構造を持つ。図７の（Ｂ）のトランスポートストリームヘッダは、上記ISO/IEC13818-1において規定される、同期バイト（sync_byte） から巡回カウンタ（continuity_counter）までの４バイトのことである。クロックリファレンス及びデコード時刻は、図７の（Ａ）のＭＰＥＧプログラムストリームの場合と同様である。
【００１５】
ＭＰＥＧビデオにはＧＯＰ（Group of Pictures ：グループオブピクチャ）という構造があり、この単位で独立して、すなわち該当するＧＯＰをデコードするのに前のＧＯＰに属するピクチャを必要としないように、エンコーディングを行うことができる。よって複数のビデオストリームがある時、ＧＯＰを切り替えの単位として複数のビデオストリームを切り替えることができる。
【００１６】
いま、上記の条件、すなわちビデオストリームがＧＯＰで閉じている条件でエンコードされている２種類の異なるプログラムストリームがあって、それぞれを独立に多重化を行う場合を考える。ただし、プログラムストリームの切り替えを可能とするために、ＧＯＰの境界が同一のビデオパケット中に含まれることがないように制約を与える。
【００１７】
図８は、このような条件で２本のプログラムストリームのそれぞれを独立に多重化する場合の例及びその２つのプログラムストリームを選択的に切り換えて出力する場合の例を示している。図８の（ａ）に示すように、プログラムストリームＰＳ０のパックＰＫ０とパックＰＫ１にビデオストリームＶ０のＧＯＰ０のデータが、プログラムストリームＰＳ０のパックＰＫ２とパックＰＫ３にビデオＶ０のＧＯＰ１のデータが多重化されている。また、図８の（ｂ）に示すように、プログラムストリームＰＳ１のパックＰＫ０、ＰＫ１、ＰＫ２にビデオＶ１のＧＯＰ０のデータが、プログラムストリームＰＳ１のパックＰＫ３にビデオＶ１のＧＯＰ１のデータが多重化されている。
【００１８】
これらの図８の（ａ）、（ｂ）に示すような別々に多重化された２本のプログラムストリームが１つの記録媒体に記録されていて、例えば図６の読取装置１０が選択的にプログラムストリームをパック単位で切り替えて出力することができるシステムを想定するとき、上述したＧＯＰ（グループオブピクチャ）の独立性により、プログラムストリームを切り替え点において切り替えたとき、ビデオ再生を途切れさせることなく連続的に再生することが可能となる。
【００１９】
例えば、図８の（ｃ）に示すように、プログラムストリームＰＳ０のパックＰＫ０、ＰＫ１を読み出した後、続けてプログラムストリームＰＳ１のパックＰＫ３を読み出せば、図６のビデオバッファ１２には、ビデオＶ０のＧＯＰ０のデータが入力された後、ビデオＶ１のＧＯＰ１のデータが入力されるので、ビデオＶ０からビデオＶ１に映像が切り替わっても連続的に再生することが可能になる。この例では２本のプログラムストリームが記録媒体に記録されているとしたが、２本以上でも同様である。以下これらのＧＯＰの切替え点のパックをエントリーポイントと呼ぶ。
【００２０】
【発明が解決しようとする課題】
ところで、記録媒体に複数のプログラムストリームが記録されていて、読取装置がエントリーポイントにおいて読み出すプログラムストリームを選択的に切り替える機能を持っているとき、媒体に記録される複数のプログラムストリームの多重化を、各々独立に通常の方法で行うと、デコーダで正しくデコードできない場合が生じる。これは次の２つの理由による。
【００２１】
理由１．ＳＣＲ（システムクロックリファレンス）の不整合
パックヘッダにエンコードされるＳＣＲは、デコーダへの読み出し開始時間を示すので、読み出されてデコーダに入力される２つの隣接するパックについて、
（後のパックにエンコードされているＳＣＲ）
≧（前のパックにエンコードされているＳＣＲ）
＋（前パックの転送時間）
すなわち、
（後のパックにエンコードされているＳＣＲ）
≧（前のパックにエンコードされているＳＣＲ）
＋（前パックの大きさ）／（読み出しレート）
の条件を満足しなければならない。従って、プログラムストリームＰＳ０をパックＰＫ０，ＰＫ１，ＰＫ２，ＰＫ３，…と順に読み出す場合には上記の条件が成り立っても（個々のプログラムストリームは上記条件が成り立つように多重化されている）、図８の（ｃ）に示すように、プログラムストリームＰＳ０をパックＰＫ０，ＰＫ１と読み出した後に、エントリーポイントでプログラムストリームを切り替えて、プログラムストリームＰＳ１のパックＰＫ３を読み出してデコーダに入力しようとすると、プログラムストリームＰＳ０とプログラムストリームＰＳ１の多重化はそれぞれ独立に行われているので、上記の条件を満足できなくなること、すなわち前のパックを読み終わったときに、ＳＴＣ（システムタイムクロック）が後のパックにエンコードされているＳＣＲ（システムクロックリファレンス）の値より大きくなり、後のパックを読み出すことができなくなることがある。
【００２２】
理由２．バッファの破綻
読取装置が読み出すプログラムストリームの切り替えを行うと、結果としてデコーダバッファの破綻（オーバーフロー、アンダーフロー）が生じる可能性がある。
【００２３】
この理由２を、図９を参照しながら説明する。図９は、ビデオデコーダバッファにおけるデータの占有量の遷移を表している。ここで図９の（ａ）は、例えば図８の（ａ）に示すようなプログラムストリームＰＳ０をパックＰＫ０，ＰＫ１，ＰＫ２，ＰＫ３，…と順に読み出した時のバッファの状態であり、（ア）はビデオＶ０のＧＯＰ０のデータ、（イ）はビデオＶ０のＧＯＰ１のデータである。図９の（ｂ）は、例えば図８の（ｂ）に示すようなプログラムストリームＰＳ１をパックＰＫ０，ＰＫ１，ＰＫ２，ＰＫ３，…と順に読み出した時のバッファの状態であり、（ウ）はビデオＶ１のＧＯＰ０のデータ、（エ）はビデオＶ１のＧＯＰ１のデータである。図９の（ａ），（ｂ）ともに、それぞれ連続したプログラムストリームであるから、当然バッファは破綻することなく多重化されているはずである。ところが、この例のように多重化されたプログラムストリームを、例えば図８の（ｃ）に示すように、読取装置がプログラムストリームＰＳ０のパックＰＫ０，ＰＫ１と読んだ後、ビデオを切り替えるために、プログラムストリームＰＳ１のパックＰＫ３を読んだとすると、バッファにはビデオＶ０のＧＯＰ０のデータが入力された後ビデオＶ１のＧＯＰ１のデータが供給されるので、バッファの占有量の遷移は、図９の（ｃ）のようになる。ここで（オ）はビデオＶ０のＧＯＰ０のデータであり、（カ）はビデオＶ１のＧＯＰ１のデータである。
【００２４】
ビデオＶ１のＧＯＰ１のデータをデコードするときに、読み出しはＳＣＲ（システムクロックリファレンス）によって、バッファからの引き抜きはＤＴＳ（デコーディングタイムスタンプ）によって決まり、データの入力および引き抜きタイミングは（カ）と同様になるので、図９の（ｃ）のようにバッファのオーバーフローが発生してしまう。
【００２５】
本発明は、上述した実情に鑑みてなされたものであり、アクセスユニットの読みだしタイミングとそのデコードされた後のバッファの状態を複数のプログラムストリームについて同じにすることにより、複数のプログラムストリームをエントリーポイントにおいて切り替えて読み出したときに、ＳＣＲの不整合が発生することなく、またバッファの破綻が起こらないようなプログラムストリームを生成し得るような符号化装置および方法、伝送方法、並びにこれらの方法や装置により得られたディジタル信号が記録されたディジタル信号記録媒体の提供を目的とする。
【００２６】
【課題を解決するための手段】
本発明は、上述したような課題を解決するために、アクセスユニット単位で選択的に切り替えられる複数のビデオデータを可変長符号化して得られる複数のビデオストリームから、アクセスユニット毎のデコード時刻と同一のデコード時刻に対するアクセスユニットの大きさをそれぞれ検出し、検出された複数のアクセスユニットの大きさをデコード時刻毎に比較して、アクセスユニットの最大値を仮想アクセスユニットとし、仮想アクセスユニットから構成される仮想ビデオストリームを構成し、ビデオストリームのバッファ占有量が仮想ビデオストリームのバッファ占有量以下となるように、ビデオストリームのアクセスユニットの大きさと仮想アクセスユニットの大きさとの差分を調整しながら、複数のビデオストリームをパケット化することを特徴とする。
【００２７】
すなわち、本発明は、複数のディジタル信号のビットストリームの符号化単位であるアクセスユニットの大きさとデコード時刻とを検出し、デコード時刻毎に、得られる複数のアクセスユニットの大きさを比較して、それらの最大値を選択し、デコード時刻においてアクセスユニットの大きさが上記選択された最大値に等しくなるような仮想ストリームを構成し、各々のディジタル信号のビットストリームを符号化する際に、アクセスユニットが上記仮想ストリームのアクセスユニットの大きさに満たないときに、その差分と大きさの等しいパディングパケットを用いてパケット化することを特徴とする。この場合、上記パケット化する際、アクセスユニットが仮想的なビデオストリームのアクセスユニットの大きさに満たない場合には、その差分と大きさの等しいパディングパケットをパケット化するか、あるいは差分の大きさがパックの大きさよりも大きいときは何もパケット化しないことが好ましい。
【００２８】
また本発明は、さらに、パケット化して得られるストリームを１つのチャネルとして複数のチャネルを持つトランスポートストリームに符号化して伝送することを特徴とする。
【００２９】
具体的には、複数のいわゆるＭＰＥＧビデオストリームのアクセスユニットの大きさとデコード（表示）時刻を検出する手段と、デコード時刻毎に各々のビデオストリームに属するアクセスユニットの最大値を選択する手段と、デコード時刻においてアクセスユニットの大きさが選ばれた最大値に等しくなるような１つの仮想的なビデオストリームを構成する手段と、この仮想的なビデオストリームをあたかも実在するビデオストリームのように扱いデコーダへの供給時刻（クロックリフレンス）およびパケットの大きさ決定する手段と、実際に各々のビデオストリームをパケット化する際、アクセスユニットが仮想的なビデオストリームのアクセスユニットの大きさに満たない場合には、その差分と大きさの等しいパディングパケットをパケット化する手段と、差分の大きさがパックの大きさよりも大きいときはなにもパケット化しない手段をもつ。
【００３０】
また、本発明の他の具体的な構成としては、複数のＭＰＥＧビデオストリームのアクセスユニットの大きさとデコード（表示）時刻を検出する手段と、デコード時刻毎に、得られる複数のアクセスユニットの大きさを比較して、それらの最大値を選択する手段と、デコード時刻においてアクセスユニットの大きさが選ばれた最大値に等しくなるような１つの仮想的なビデオストリームを構成する手段と、ビデオストリームとしてこの仮想的なビデオストリームをあたかも実在するビデオストリームのように扱い、オーディオその他のストリームと共に、それらのデコーダへの供給時刻（クロックリファレンス）およびパケットの大きさ決定する手段と、実際に各々のビデオストリームをパケット化する際、アクセスユニットが仮想的なビデオストリームのアクセスユニットの大きさに満たない場合には、その差分と大きさの等しいパディングパケットをパケット化する手段と、パケット化して得られるストリームを１つのチャンネルとして、複数のチャンネル持つＭＰＥＧトランスポートストリームに符号化して伝送する手段をもつ。
【００３１】
【発明の実施の形態】
以下、本発明に係る実施の形態について、図面を参照しながら説明する。
【００３２】
図１は、本発明に係るディジタル信号符号化装置の実施の形態の概略構成を示している。この第１の実施の形態においては、同一シーンを異なるカメラアングルから撮影した複数のビデオ、例えば３種類のビデオストリームＶＳ0〜ＶＳ2についての符号化を考える。
【００３３】
同じシーンを撮影したものであるから、当然オーディオや字幕データなどのような、上記ビデオストリームＶＳ0〜ＶＳ2と一緒に多重化すべきデータ（オーディオストリームＡＳや、その他のストリームＴＳ等）は、３つのビデオストリームＶＳ0〜ＶＳ2に対して全く同一のものを使うことができるため、それぞれ１つのストリームが３つのビデオストリームＶＳ0〜ＶＳ2と多重化される。最終的に得られるプログラムストリーム（ＰＳ0〜ＰＳ2）を復号側においてＧＯＰ（グループオブピクチャ）毎に切り替えて再生するとき、切替え点において連続的にビデオが再生可能であるためには、切替え点の時刻とフィールドパリティ（トップフィールドで始まるかボトムフィールドで始まるか）がビデオストリーム毎に同一である必要がある。この条件を満たすために、ここではビデオのピクチャタイプ、トップフィールドファーストフラグ、リピートファーストフィールドフラグはカメラアングルの異なるビデオで同じようにコーディングを行うが、実際には必ずしも同一にする必要はない。
【００３４】
なお、トップフィールドファーストフラグ及びリピートファーストフラグは、ＭＰＥＧ２において定義されているフラグであり、トップフィールドファーストフラグはインターレースフレームを画面表示する場合、トップフィールドとボトムフィールドのどちらを始めに出力するかを示すフラグである。また、リピートファーストフラグは、例えば映画等のフィルムソース（２４コマ）をインターレースビデオ信号（３０フレーム）に変換する場合、３：２プルダウン手法を用いて生成された信号を符号化する際に除去される冗長フィールドを示すフラグのことである。
【００３５】
本実施の形態のシステムでは、異なるカメラアングルに対するビデオストリームをデコードするとき、どのビデオストリームをデコードしてもバッファからアクセスユニットを引き抜いた（デコード）後のビデオバッファの状態が同じになるように多重化することが可能である。これにより、ＧＯＰ単位でプログラムストリームを切り替えたときにバッファの状態を同じにすることができ、その結果、バッファの破綻無くシームレスなビデオ再生が可能となっている。以下、本実施の形態のシステムを説明する。
【００３６】
図１において、アクセスユニット検出器５０，５１，５２a〜５２cは、各エレメンタリーストリームのアクセスユニットの大きさとそのアクセスユニットのデコード時刻ＤＴＳ（表示時刻とデコード時刻が異なる場合は表示時刻ＰＴＳも）を検出する。エレメンタリーストリームのエンコーダと多重化器が一体のシステムでは、これらの情報はエンコーダが出力できる可能性が大きく、その時はエンコーダの出力値を用いることができる。図１の例では、オーディオストリームＡＳがアクセスユニット検出器５０に送られ、異なるカメラアングルから撮影されエンコードされた例えば３種類のビデオストリームＶＳ0,ＶＳ1,ＶＳ2 がそれぞれアクセスユニット検出器５２a,５２b,５２c に送られ、その他のストリームＴＳがアクセスユニット検出器５１に送られる。そして、各アクセスユニット検出器５０，５１，５２ａ〜５２ｃにおいて、それぞれのエレメンタリーストリームのアクセスユニットの大きさとデコード時刻ＤＴＳ（必要に応じてＰＴＳ）等が検出される。
【００３７】
最大値検出器５３は、アクセスユニット検出器５２a,５２b,５２c からの、３種類のビデオストリームＶＳ0,ＶＳ1,ＶＳ2 より各々得られるアクセスユニットの大きさを比較し、アクセスユニットの最大値をデコード時刻毎に選択する。
【００３８】
図２にこの選択の様子を示す。図２ではわかりやすいように各々のビデオストリームＶＳ0,ＶＳ1,ＶＳ2 に対するアクセスユニットを時間的にずらして書いているが、これらは同一のデコード時刻ｔn （ｎ＝１，２，・・・）に対するアクセスユニットの大きさを表している。デコード時刻ｔN 毎にアクセスユニットの最大値が仮想的なビデオストリームＰＶＳのアクセスユニットとして選ばれている。仮想的なビデオストリームＰＶＳは、このデコード間隔とアクセスユニットの大きさをもつものと考える。
【００３９】
スケジューラ５４は、この仮想的なビデオストリームＰＶＳとその他の多重化すべきエレメンタリーストリーム、すなわちオーディオストリームＡＳと、字幕データなどのその他のストリームＴＳについての、アクセスユニットの大きさとデコード時刻の情報を受け取って、パケット化すべきエレメンタリーストリームの種類、パケットの大きさ、パックに付けるＳＣＲ（システムクロックリファレンス）などの制御情報を出力する。このスケジューラ５４は通常の多重化方式において用いるものと同一でよい。例えば、このスケジューリングの技術として、本件出願人が先に特願平７−３４１９５１号の明細書および図面に開示した技術等を用いることができる。また、他のスケジューリングの技術を用いてもよい。
【００４０】
パケット化器５５a,５５b,５５c は、スケジューラ５４によって出力された制御情報を用いて、エレメンタリーストリームのパケット化を行う。ただしスケジューラ５４は仮想的なビデオストリーム（仮想ビデオ）ＰＶＳに対してスケジューリングを行っているので、得られる制御情報をそのまま用いて実際のビデオストリーム（実ビデオ）をパケット化しても、アクセスユニットの引き抜き時におけるバッファの占有量は必ずしも同じにならない。ところが、
（実ビデオのアクセスユニットの大きさ）
≦（仮想ビデオのアクセスユニットの大きさ）
が常に成り立つので、パケット化を行う際、ビデオのアクセスユニットの大きさが仮想ビデオのアクセスユニットの大きさに満たない場合にパディングパケットをパケット化すると、バッファから引き抜かれた（デコードされた）後のバッファの状態は、異なるアングルのビデオによらず一定になる。
【００４１】
図３を用いてこれらのパケット化器５５a〜５５cの動作を説明する。
【００４２】
図３の（ａ）は仮想的なビデオのアクセスユニットPVAUの大きさを表し、図３の（ｂ）は実際に多重化すべきビデオのアクセスユニットＶAUの大きさを表す。図３の（ｃ）の実線は、多重化スケジューラによって、仮想ビデオがパケットにどのように分割されるかを示している。このスケジューラの出力情報を用いて実際にビデオパケットＶＰをパケット化するときは、仮想ビデオと実際のビデオストリームの各アクセスユニットPVAUとＶAUとの大きさに差があるため、図３の斜線（ハッチング）が施された部分を調整しなければならない。パケット化器５５ａ〜５５ｃは、図３の（ｃ）で斜線が施された部分において、図３の（ｄ）に示すように、パディングパケットＰＰを出力する機能を持つ。ビデオストリームが図３の（ｄ）のようにパケット化されることにより、他のエレメメンタリーストリームを多重化して生成されるプログラムストリームは図３の（ｅ）のようになる。この例では、各パケット化器においてビデオ、オーディオ、字幕データそれぞれ１ストリームについての多重化を行った例を示している。
【００４３】
また、このように仮想ビデオと実際のビデオストリームのアクセスユニットの差分を調整するとき、パディングパケットＰＰそれ自体でパックを構成している場合には、このパディングパケットＰＰを転送しなくても、各エレメンタリーストリームのバッファの遷移には全く影響を与えない。多重化におけるオーバーヘッドを減らすため、すなわち無駄なデータの蓄積を防ぐため、このような場合には、パケット化器５５ａ〜５５ｃはパディングパケットＰＰをパケット化しない機能をもつ。本例において、図３の（ｄ）のｘで示す部分のパディングパケットＰＰは、それ自体がパックを構成しているので、図３の（ｅ）のプログラムストリーム中にはパケット化されていない。ただし、パケット化器５５ａ〜５５ｃのハードウェアを簡略化したいようなときには、パディングパケットＰＰを全てパケット化しても差し支えないが、多重化のオーバーヘッドは増える。
【００４４】
本例の多重化器によって多重化を行ったときのバッファの挙動は、例えば図４のようになる。この図４において、点線は仮想的なビデオに対してスケジューリングを行ったときのビデオバッファの状態の遷移を表す。実線は、仮想的なビデオストリームに対してスケジューリングを行って得られる情報をもとに実際のビデオストリームを多重化したときのビデオバッファの状態を表している。また、時刻ｔ1,ｔ2,ｔ3,・・・は、デコード時刻を表している。
【００４５】
この図４中の×印までは、仮想ビデオと同じタイミングでビデオバッファへのロードが行われる。一方、図４中の×印から○印までの区間では、上記したように仮想ビデオと実ビデオ（実際のビデオストリーム）のアクセスユニットとの差分がパディングパケットで置き換えられるので、ビデオバッファへのロードは行われず、次のアクセスユニットのロードの開始点（図中○印のところ）、あるいはデコード時刻ｔn （ｎ＝１，２，・・・）になるまでバッファのデータ量は変わらない。
【００４６】
この結果、全ての時刻において、
（実際のビデオのバッファ占有量）
≦（仮想的なビデオのバッファ占有量）
が常に成り立つ。
【００４７】
したがって、異なるカメラアングルから撮影されたビデオデータを符号化し、本方法により多重化を行って生成される複数のプログラムストリームは、全ての時刻によって上記の関係式を満足する。よって、仮想ビデオがバッファの破綻無く多重化されているならば、これらのプログラムストリームをエントリーポイントで切り替えてデコードしても、バッファの破綻は起きない。
【００４８】
そして、これらのプログラムストリームＰＳ0，ＰＳ1及びＰＳ2 が、例えばディスク等の記録媒体５６に記録される。
【００４９】
次に、２つの異なるカメラアングルから撮影されエンコードされたビデオを多重化する様子を図５に表す。図５の（ａ）はビデオＶ０のアクセスユニットの大きさを表し、（ｂ）はビデオＶ１のビデオアクセスユニットの大きさを表す。この例では、ＧＯＰ０，ＧＯＰ１両方とも４枚のアクセスユニットから構成されている。ＧＯＰは、ＭＰＥＧ２に定義されているグループオブピクチャの意味である。図５の（ｃ）は、アクセスユニットの大きさのどちらか大きな方を選択することによって得られる、仮想ビデオのアクセスユニットの大きさを表す。図５の（ｄ）は、仮想ビデオに対してスケジューリングを行った結果、仮想ビデオがどのようにパケッタイズされるかを示している。実際のビデオを多重化するときは、図５の（ｅ），（ｆ）に示すように、仮想ビデオとの差分が生じるときはパディングを行う。ただし、仮想ビデオのパケットが３つ以上のパケットに分割されるときには、図５の（ｅ），（ｆ）のようにパディングパケットを後詰めして２つのパケットにしてしまってもよい。スケジューリングの結果として、仮想ビデオに対するプログラムストリームが図５の（ｇ）のように多重化されるとすると、本実施の形態を用いて実ビデオを多重化してできるプログラムストリームは図５の（ｈ），（ｉ）のようになる。
【００５０】
こうしてできるプログラムストリームは、図５の（ｈ），（ｉ）のどの矢印に従って切り替えてデコーダに入力しても、上に示したようにバッファの破綻を引き起こすことなく、映像・音声のシームレスな再生が可能になる。なお、この例では２つのビデオを考えたが３つ以上のビデオに対しても同様である。
【００５１】
以上説明した例においては、プログラムストリームに対して本発明の実施の形態の方法を適用したが、伝送用途に使われるトランスポートストリームに対しても、本方法は有効である。トランスポートストリームでは、一本のストリームが複数のチャネルで構成され、各チャネルが一つの独立したストリームに相当している。また各チャネルは、各々独立してタイムベースをもつことができる。したがって、上記の複数プログラムストリームに対する方法をそのまま各チャネルに対して行い、複数チャネルのストリームの一本のトランスポートストリームに多重化し、その多重化されたトランスポートストリームを伝送する。それにより、複数のチャンネルを切り替えたときに、異なるカメラアングルから撮影された映像にシームレスに切り替えることが可能になる。
【００５２】
また、上述した実施の形態では、異なるカメラアングルから撮影された映像を多重化することを考えたが、全く内容の関係の無い画像に関しても本発明は適用可能である。また、本発明は、ビデオにとどまらずオーディオやその他のデータについても適用可能である。
【００５３】
【発明の効果】
本発明によれば、複数のディジタル信号のビットストリームの符号化単位であるアクセスユニットの大きさとデコード時刻とを検出し、デコード時刻毎に、得られる複数のアクセスユニットの大きさを比較して、それらの最大値を選択し、デコード時刻においてアクセスユニットの大きさが上記選択された最大値に等しくなるような仮想ストリームを構成し、各々のディジタル信号のビットストリームをパケット化する際に、アクセスユニットが上記仮想ストリームのアクセスユニットの大きさに満たないときに、その差分と大きさの等しいパディングパケットを用いてパケット化しているため、複数のディジタル信号のビットストリームを切り替えて復号しても、復号バッファを破綻させずに連続的に再生することができる。
【００５４】
すなわち、本発明によれば、複数の多重化ストリームを切り替えて再生する機能をもつシステム用に多重化を行う際、エレメンタリーストリームからアクセスユニットの大きさとデコード時刻を求め、各デコード時刻毎にアクセスユニットの最大値を選び、その最大値をアクセスユニットの大きさとする仮想的なビデオストリームを考えて多重化のスケジューリングを行い、実際のビデオを多重化するときに仮想ビデオと実ビデオの差分が生じるときはパディングを行うことにより、複数の多重化ストリームを切り替えて再生するときに、バッファの破綻を起こさず、かつ映像や音声を途切れさせることが無いようにできる。ここで、この複数の多重化ストリームは蓄積媒体の各部に記録されていても良いし、複数ストリームをさらに一本のトランスポートストリームにまとめられて放送に用いられても良い。
【図面の簡単な説明】
【図１】本発明の実施の形態となるディジタル信号符号化装置の概略構成を示すブロック図である。
【図２】仮想ビデオのアクセスユニットの決定を説明するための図である。
【図３】上記実施の形態によって生成されるプログラムストリームの一例を説明するための図である。
【図４】上記実施の形態によって生成されるプログラムストリームをデコードしたときのバッファの挙動を説明するための図である。
【図５】上記実施の形態を２つの異なるカメラアングルに対するビデオデータに対して適用したときに得られるプログラムストリームを説明するための図である。
【図６】いわゆるＭＰＥＧ規格におけるシステムターゲットデコーダ（ＳＴＤ）の概略構成を示すブロック図である。
【図７】いわゆるＭＰＥＧ規格におけるプログラムストリームおよびトランスポートストリームの構造の一例を示す図である。
【図８】２本のプログラムストリームをそれぞれ独立に多重化したときに得られるストリーム及び２本のプログラムストリームを切り替えたときに得られるストリームの一例を説明するための図である。
【図９】プログラムストリーム切り替え時におけるバッファの挙動を説明するための図である。
【符号の説明】
５０，５１，５２a〜５２c  アクセスユニット検出器、  ５３  最大値検出器、  ５４  スケジューラ、  ５５a〜５５c  パケット化器
【図１】
0003867342.tif 000002
【図２】
0003867342.tif 000003
【図３】
0003867342.tif 000004
【図４】
0003867342.tif 000005
【図５】
0003867342.tif 000006
【図６】
0003867342.tif 000007
【図７】
0003867342.tif 000008
【図８】
0003867342.tif 000009
【図９】
0003867342.tif 000010