(57)【特許請求の範囲】
【請求項１】
複数の入力データをそれぞれ符号化して各入力データ毎に対応する複数のデータパケットを生成するステップと、
前記複数のデータパケットを多重化して多重化ストリームを生成するステップと、
前記符号化及び多重化による出力符号量を制御するステップと、
少なくとも２つの多重化ストリームを切り替えるステップとを有し、
前記出力符号量を制御するステップでは、少なくとも１種類のデータパケットの送出しない期間を設けるよう出力符号量を制御し、
前記多重化ストリームを切り替えるステップでは、当該期間で前記多重化ストリームの切り替えを行う
ことを特徴とするストリーム生成方法。
【請求項２】
前記出力符号量を制御するステップでは、全てのデータパケットを出力しない期間を設け、且つ、当該期間を前記符号化の際の符号化単位の境界となるよう出力符号量を制御し、
前記多重化ストリームを切り替えるステップでは、当該期間で前記多重化ストリームの切り替えを行うことを特徴とする請求項１記載のストリーム生成方法。
【請求項３】
複数の入力データをそれぞれ符号化して各入力データ毎に対応する複数のデータパケットを生成する符号化手段と、
前記複数のデータパケットを多重化して多重化ストリームを生成する多重化手段と、
前記符号化及び多重化による出力符号量を制御する符号量制御手段と、
少なくとも２つの多重化ストリームを切り替えるストリーム切替え手段とを有し、
前記符号量制御手段では、少なくとも１種類のデータパケットの送出しない期間を設けるよう出力符号量を制御し、
前記ストリーム切替え手段では、当該期間で前記多重化ストリームの切り替えを行う
ことを特徴とするストリーム生成装置。
【請求項４】
前記符号量制御手段では、全てのデータパケットを出力しない期間を設け、且つ、当該期間を前記符号化の際の符号化単位の境界となるよう出力符号量を制御し、
前記ストリーム切替え手段では、当該期間で前記多重化ストリームの切り替えを行うことを特徴とする請求項３記載のストリーム生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＭＰＥＧ２のトランスポートストリーム等のような連続した映像や音声信号を符号化及び多重化して得られた複数のストリームを、切り替えて一つのストリームを生成するストリーム生成方法及び装置に関する。
【０００２】
【従来の技術】
近年は、例えばいわゆるＭＰＥＧ（Moving Picture Expert Group）２と呼ばれる映像、音声の圧縮符号化技術により、映像や音声からなる番組（以下、プログラムと呼ぶことにする。）の信号を圧縮符号化して伝送或いは放送する技術が実用化されている。
【０００３】
また、近年は、同時に多数のプログラムを伝送或いは放送可能にすること、すなわち多チャンネル化が望まれている一方で、使用可能な伝送帯域には制限があり、そのため、ＭＰＥＧ２では、例えば限られた伝送帯域の有効利用を図ることなどを想定して、複数プログラムの複数の映像や音声信号を圧縮符号化したストリームを多重化して伝送する技術についても規定されている。なお、ＭＰＥＧ２では、当該多重化ストリームをトランスポートストリーム（Transport Stream）と呼んでいる。
【０００４】
すなわち、ＭＰＥＧ２では、複数のプログラムの映像や音声を圧縮符号化した複数のストリームを伝送或いは放送する際に、それら複数のストリームを構成する各符号化データ列をパケット化して時分割多重化し、その時分割多重化により得られた多重化ストリーム（トランスポートストリーム）を伝送或いは放送することが行われている。
【０００５】
ここで、ＭＰＥＧでは、伝送するストリームとして、アクセスユニット（Access Unit）と呼ばれる映像、音声の符号化（及び復号再生）の単位毎に符号化し、符号化データ列であるＰＥＳ（Packetized Elementary Stream）を生成し、さらに、アクセスユニット毎に、復号再生すべき時間を示すタイムスタンプと呼ばれる時間情報を付加するようになされている。
【０００６】
タイムスタンプには、ＳＣＲ（System Clock Reference）とよばれるシステム時刻基準参照値によって時間基準が与えられている。また、タイムスタンプには、２種類あり、その一方はＰＴＳ（Presentation Time Stamp）と呼ばれる再生出力の時刻管理情報で、他方はＤＴＳ（Decoding Time Stamp）と呼ばれる復号の時刻管理情報である。ＳＣＲは、各プログラム毎に固有のプログラム時刻基準参照値であるＰＣＲ（Program Clock Reference）と共に、ＭＰＥＧの復号時に時刻基準となるＳＴＣ（System Time Clock）の値を符号化装置側で意図した値にセット及び校正するための情報となされている。また、ＰＴＳ、ＤＴＳは、それぞれ復号を行う際の単位（アクセスユニット）や、表示する際の単位（Presentation Unit）を、どのタイミングで復号又は表示するかを示す情報であり、同期管理上重要な情報である。
【０００７】
また、ＭＰＥＧ２では、複数のプログラムを圧縮符号化した複数のストリームが時分割多重されているトランスポートストリームから、所望のプログラムのパケットを取り出して復号化する際に必要となる情報として、ＰＳＩ（Program Specific Information）と呼ばれるプログラム仕様情報が規定されている。ＰＳＩは、特定の識別コードをもったパケットや一次的なＰＳＩで指し示されたパケットなどで伝送される。
【０００８】
図８には、例えば、２つの入力信号１０１Ａ、１０２Ａをそれぞれ同期させて圧縮符号化したデータ列を多重化して多重化ストリームを生成し、同様に、２つの入力信号１０１Ｂ、１０２Ｂをそれぞれ同期させて圧縮符号化したデータ列を多重化して多重化ストリームを生成し、さらにそれら２つの多重化ストリームを切り替えて１つのトランスポートストリームを生成する、従来のストリーム生成装置の概略構成を示す。
【０００９】
この図８において、入力信号１０１Ａは入力端子１１１Ａを介して符号化器１２１Ａに供給され、入力信号１０１Ｂは入力端子１１１Ｂを介して符号化器１２１Ｂに供給される。また、入力信号１０２Ａは入力端子１１２Ａを介して符号化器１２２Ａに供給され、入力信号１０２Ｂは入力端子１１２Ｂを介して符号化器１２２Ｂに供給される。
【００１０】
端子１０４には時刻設定信号ＳＴが供給され、当該時刻設定信号ＳＴはＳＴＣ器１０６に入力する。端子１０３には切替え信号ＳＥが供給され、当該切替え信号ＳＥは切替えタイミング発生器１０７に入力する。さらに、端子１０５Ａには同期信号ＳＡが供給され、当該同期信号ＳＡは符号化器１２１Ａ及び符号化器１２２Ａに入力する。端子１０５Ｂには同期信号ＳＢが供給され、当該同期信号ＳＢは符号化器１２１Ｂ及び符号化器１２２Ｂに入力する。
【００１１】
各符号化器１２１Ａ、１２１Ｂ、１２２Ａ、１２２Ｂは、それぞれ対応する入力端子１１１Ａ、１１１Ｂ、１１２Ａ、１１２Ｂを介して供給された入力信号１０１Ａ、１０１Ｂ、１０２Ａ、１０２Ｂを、符号化の単位である時間（アクセスユニット（ＡＵ））毎に符号化する。
【００１２】
ただし、符号化器１２１Ａと符号化器１２２Ａは、共に同じデータタイプの符号化を行い、同期信号ＳＡに同期しているものとする。また、符号化器１２１Ｂと符号化器１２２Ｂは、共に同じデータタイプの符号化を行い、同期信号ＳＢに同期しているものとする。なお、同じデータタイプとは、アクセスユニットが同じで、その符号化アルゴリズムも同じであることを意味する。
【００１３】
すなわち、符号化器１２１Ａと１２２Ａは、外部から供給される同期信号ＳＡに同期して、アクセスユニット単位毎に符号化を行い、符号化データ列であるＰＥＳを出力する。また、符号化器１２１Ｂと１２２Ｂは、外部から供給される同期信号ＳＢに同期して、アクセスユニット単位毎に符号化を行い、符号化データ列であるＰＥＳを出力する。これら各符号化器１２１Ａ、１２１Ｂ、１２２Ａ、１２２Ｂから出力されるＰＥＳうち、符号化器１２１Ａ及び１２１ＢからのＰＥＳは多重化器１４１に送られ、符号化器１２２Ａ及び１２２ＢからのＰＥＳは多重化器１４２に送られる。
【００１４】
ここで、各符号化器における符号化の際には、発生した符号化データを仮想的なバッファに蓄積し、さらに当該仮想的なバッファからデータを読み出した場合の充足量を計算し、その仮想バッファの充足量に基づいて、各フレーム毎の発生符号量を制御するようになされている。例えば、ＭＰＥＧビデオ符号化の場合は、符号化により発生する符号量を、ＶＢＶ（video buffer verifier）と呼ばれる仮想的なバッファ（以下、ＶＢＶバッファと呼ぶことにする。）の充足量に基づいて制御することが規定されている。すなわち、ＭＰＥＧビデオ符号化方式においては、符号化器による符号化データが各アクセスユニット（ＡＵ）毎に瞬間的に発生してＶＢＶバッファに入力され、一方、当該ＶＢＶバッファからは、あるビットレートで符号化データが読み出されるものと仮定し、そのときのＶＢＶバッファの充足量に基づいて、符号化器での発生符号量を制御するようになされている。
【００１５】
なお、ＶＢＶバッファの充足量を表す遷移図として、横軸を時間（例えば右へ向かうに従って時間が経過する軸）とし、縦軸をＶＢＶバッファのデータ蓄積量（例えば上へ向かうに従ってバッファデータ蓄積量が増加する軸）とし、また、ＶＢＶバッファからの出力ビットレートが例えばいわゆるコンスタントビットレート（ＣＢＲ）であるとした場合、当該ＶＢＶバッファの充足量の遷移図（すなわちデータ蓄積量の遷移図）は、符号化器による符号化データの入力時には瞬時に上昇し、一方、ＶＢＶバッファからの出力時には右下がりの傾きが一定となるような遷移図となる。
【００１６】
図８の場合、上述したような各符号化器における発生符号量制御は、符号量制御器１３１，１３２が行う。すなわち、符号量制御器１３１は、符号化器１２１Ａと１２１Ｂからそれぞれ出力されるＰＥＳのレートとＶＢＶの充足量（データ蓄積量等のバッファサイズ）をパラメータとし、それらパラメータに基づいてＶＢＶのシミュレーションを行い、符号化器１２１Ａ及び１２１Ｂから出力する発生符号量を制御する。また、符号量制御器１３２は、符号化器１２２Ａと１２２Ｂからそれぞれ出力されるＰＥＳのレートとＶＢＶの充足量をパラメータとし、それらパラメータに基づいてＶＢＶのシミュレーションを行い、符号化器１２２Ａ及び１２２Ｂから出力する発生符号量を制御する。
【００１７】
ＳＴＣ設定器１０６は、端子１０４を介して供給された時刻設定信号ＳＴに基づいてＳＴＣを生成する。当該ＳＴＣは多重化器１４１と１４２に送られる。
【００１８】
多重化器１４１は、予め決められたレートで符号化器１２１Ａより供給されたＰＥＳの符号化データ列からデータパケットを生成し、符号化器１２１Ｂより供給されたＰＥＳの符号化データ列からデータパケットを生成する。なお、多重化器１４１は、その時間に有効なデータ列がない場合、データパケットの代わりにヌルパケットを生成する。また、多重化器１４１は、ＳＴＣ設定器１０５より供給されたＳＴＣからＳＣＲパケットを生成する。当該多重化器１４１は、それらデータパケット或いはヌルパケットとＳＣＲパケットを時分割多重し、トランスポートストリームを作成する。この多重化器１４１にて生成されたトランスポートストリームはストリーム切替え器１０８に送られる。
【００１９】
同様に、多重化器１４２は、予め決められたレートで、符号化器１２２Ａより供給されたＰＥＳの符号化データ列からデータパケットを生成し、符号化器１２２Ｂより供給されたＰＥＳの符号化データ列からデータパケットを生成する。なお、多重化器１４２は、その時間に有効なデータ列がない場合、データパケットの代わりにヌルパケットを生成する。また、多重化器１４２は、ＳＴＣ設定器１０５より供給されたＳＴＣからＳＣＲパケットを生成する。当該多重化器１４２は、それらデータパケット或いはヌルパケットとＳＣＲパケットを時分割多重し、トランスポートストリームを作成する。この多重化器１４２にて生成されたトランスポートストリームはストリーム切替え器１０８に送られる。
【００２０】
切替えタイミング発生器１０７は、端子１０３を介して供給された切替え信号ＳＥを、各符号化器における符号化遅延、及び、各多重化器における多重化遅延を足した時間だけ遅延させ、切替えタイミング信号として出力する。この切替えタイミング信号は、ストリーム切替え器１０８に入力する。
【００２１】
ストリーム切替え器１０８は、切替えタイミング信号発生器１０７からの切替えタイミング信号に基づき、多重化器１４１から供給されたトランスポートストリームと多重化器１４２から供給されたトランスポートストリームをパケットの境界で切り替えて出力する。
【００２２】
図８のストリーム生成装置の出力端子１０９からは、当該ストリーム切替え器１０８での切り替えにより得られたストリームが、最終的に生成されたトランスポートストリームとして出力される。
【００２３】
【発明が解決しようとする課題】
ところで、上述の図８に示したような複数の符号化器及び多重化器と、ストリーム切替え器等からなる従来のストリーム生成装置では、例えば、複数の各符号化器をそれぞれ同期させ、それぞれ同時に入力した信号を符号化したとしても、各符号化器からの符号化データを多重化器でパケット化してトランスポートストリームを構成する時に、そのパケット位置が入力時間によらず一定でないため、ストリーム切替え器においてトランスポートストリーム切り替える際に、後にデータが時間的に連続して再生できるように（すなわちシームレス）切り替えることが困難である。
【００２４】
したがって、時間的に連続して再生可能なシームレスなトランスポートストリームを生成するためには、例えば、各多重化器において生成されたトランスポートストリームの中から、それぞれ対応した各符号化器で生成されたデータ列に対応するデータパケットを探し出し、さらにそのデータパケット内を走査することによって切替え点を決定する、といった処理が必要となる。なお、このような処理を行うことは、構成の複雑化やそれに伴う高コスト化を招きかねない。
【００２５】
本発明は、上述の課題に鑑みてなされたものであり、例えば各符号化データのアクセスユニットが違っていたり、ストリーム切替え前後の符号化レートが違っていたりしたとしても、シームレスなストリーム切替えを容易に実現すること、すなわち、時間的に連続して再生可能なシームレスなトランスポートストリームの生成を容易に実現することが可能な、ストリーム生成方法及び装置の提供を目的とする。
【００２６】
【課題を解決するための手段】
請求項１記載の本発明に係るストリーム生成方法は、上述の課題を解決するための手段として、複数の入力データをそれぞれ符号化して各入力データ毎に対応した複数のデータパケットを生成するステップと、前記複数のデータパケットを多重化して多重化ストリームを生成するステップと、前記符号化及び多重化による出力符号量を制御するステップと、少なくとも２つの多重化ストリームを切り替えるステップとを有する。そして、前記出力符号量を制御するステップでは、少なくとも１種類のデータパケットの送出しない期間を設けるよう出力符号量を制御し、前記多重化ストリームを切り替えるステップでは、当該期間で前記多重化ストリームの切り替えを行う。
【００２７】
請求項２記載の本発明に係るストリーム生成方法は、上述の課題を解決するために、前記出力符号量を制御するステップにおいて、全てのデータパケットを出力しない期間を設け、且つ、当該期間を前記符号化の際の符号化単位の境界となるよう出力符号量を制御し、前記多重化ストリームを切り替えるステップにおいて、当該期間で前記多重化ストリームの切り替えを行う。
【００２８】
請求項３記載の本発明に係るストリーム生成装置は、上述の課題を解決するための手段として、複数の入力データをそれぞれ符号化して各入力データ毎に対応する複数のデータパケットを生成する符号化手段と、前記複数のデータパケットを多重化して多重化ストリームを生成する多重化手段と、前記符号化及び多重化による出力符号量を制御する符号量制御手段と、少なくとも２つの多重化ストリームを切り替えるストリーム切替え手段とを有する。そして、前記符号量制御手段では、少なくとも１種類のデータパケットの送出しない期間を設けるよう出力符号量を制御し、前記ストリーム切替え手段では、当該期間で前記多重化ストリームの切り替えを行う。
【００２９】
請求項４記載の本発明に係るストリーム生成装置は、前記符号量制御手段において、全てのデータパケットを出力しない期間を設け、且つ、当該期間を前記符号化の際の符号化単位の境界となるよう出力符号量を制御し、前記ストリーム切替え手段において、当該期間で前記多重化ストリームの切り替えを行う。
【００３０】
このような本発明に係るストリーム生成方法及び装置は、符号量制御を、符号化の際のみならず多重化の際にも行い、符号化したデータパケットのストリーム化の際に全てのすべてのデータパケットが出力されない（ヌルパケットのみ出力される）期間を設け、且つ、その期間は符号化の際の符号化単の境となるようにし、その期間をストリーム切替え点とすることにより、切り替えをシームレスにかつ容易に実現している。
【００３１】
【発明の実施の形態】
以下、本発明に係るストリーム生成方法及び装置の好ましい実施の形態について図面を参照しながら詳細に説明する。本発明に係るストリーム生成方法及び装置は、図１に示すようなストリーム生成装置に適用することができる。
【００３２】
この本発明の実施の形態となるストリーム生成装置は、図１に示すように例えば２つの入力信号１Ａ、２Ａをそれぞれ同期させて圧縮符号化したデータ列を多重化して多重化ストリームを生成し、同様に、２つの入力信号１Ｂ、２Ｂをそれぞれ同期させて圧縮符号化したデータ列を多重化して多重化ストリームを生成し、さらにそれら２つの多重化ストリームを切り替えて１つのトランスポートストリームを生成するようになっている。
【００３３】
この図１において、入力信号１Ａ及び入力信号２Ａは例えばビデオ信号であり、それぞれ入力端子１１Ａを介して符号化器２１Ａに供給され、また、入力端子１２Ａを介して符号化器２２Ａに供給される。
【００３４】
また、入力信号１Ｂ及び入力信号２Ｂは例えばオーディオ信号であり、それぞれ入力端子１１Ｂを介して符号化器２１Ｂに供給され、また、入力端子１２Ｂを介して符号化器２２Ｂに供給される。
【００３５】
端子４には、時刻設定信号ＳＴが供給されるようになっている。この時刻設定信号ＳＴは、端子４を介してＳＴＣ器６に供給される。また、端子３には切替え信号ＳＥが供給されるようになっている。この切替え信号ＳＥは、端子３介して符号量制御器３１，３２及び切替えタイミング発生器７にそれぞれ供給される。
【００３６】
さらに、端子５Ａには同期信号ＳＡが供給されるようになっている。この同期信号ＳＡは、端子５Ａを介して符号化器２１Ａ，２２Ａ及び切替えタイミング発生器７にそれぞれ供給される。また、端子５Ｂには、同期信号ＳＢが供給されるようになっている。この同期信号ＳＢは、端子５Ｂを介してＳＴ英符号化器２１Ｂ，２２Ｂ及び切替えタイミング発生器７にそれぞれ供給される。
【００３７】
各符号化器２１Ａ、２１Ｂ、２２Ａ、２２Ｂは、それぞれ対応する入力端子１１Ａ、１１Ｂ、１２Ａ、１２Ｂを介して供給された入力信号１Ａ、１Ｂ、２Ａ、２Ｂを、符号化の単位である時間（アクセスユニット（ＡＵ））毎に符号化する。
【００３８】
ただし、符号化器２１Ａと符号化器２２Ａは、共に、同期信号ＳＡに同期して同じデータタイプの符号化を行うようになっており、また、符号化器２１Ｂと符号化器２２Ｂは、共に、同期信号ＳＢに同期して同じデータタイプの符号化を行うようになっている。なお、ここでいう「同じデータタイプ」とは、アクセスユニットが同じで、その符号化アルゴリズムも同じであることを意味する。さらに、各符号化器２１Ａ、２１Ｂ、２２Ａ、２２Ｂは、入力された信号を符号化して出力するまでの遅延時間は、それぞれ一定となっている。
【００３９】
すなわち、符号化器２１Ａと２２Ａは、外部から供給される同期信号ＳＡに同期して、アクセスユニット単位毎に符号化を行い、符号化データ列であるＰＥＳを同じタイミングで出力する。また、符号化器２１Ｂと２２Ｂは、外部から供給される同期信号ＳＢに同期して、アクセスユニット単位毎に符号化を行い、符号化データ列であるＰＥＳを同じタイミングで出力する。
【００４０】
これら各符号化器２１Ａ、２１Ｂ、２２Ａ、２２Ｂから出力されるＰＥＳのヘッダには、そのアクセスユニットが何時出力されるかを示すタイムスタンプ（ＰＴＳ）及び何時デコードされるかを示すタイムスタンプ（ＤＴＳ）が付加される。なお、同時に入力された信号が同一種のデータである場合、符号化器が異なっていても同じタイムスタンプが付加される。
【００４１】
これら各符号化器２１Ａ、２１Ｂ、２２Ａ、２２Ｂから出力されるＰＥＳうち、符号化器２１Ａ及び２１ＢからのＰＥＳは多重化器４１に供給され、符号化器２２Ａ及び２２ＢからのＰＥＳは多重化器４２に供給される。
【００４２】
ＳＴＣ設定器６は、そのクロックを２７ＭＨｚとするカウンタであり、システムの時刻をカウントするものである。ＳＴＣ設定器６は、端子４を介して供給された時刻設定信号ＳＴに基づいてＳＴＣを生成し、これを多重化器４１及び４２にそれぞれ供給する。
【００４３】
多重化器４１は、予め決められた一定のレート（ＣＢＲ）で符号化器２１Ａより供給されたＰＥＳの符号化データ列からデータパケットを生成し、符号化器２１Ｂより供給されたＰＥＳの符号化データ列からデータパケットを生成する。
【００４４】
なお、多重化器４１は、その時間に有効なデータ列がない場合、データパケットの代わりにヌルパケットを生成する。
【００４５】
また、多重化器４１は、ＳＴＣ設定器６から供給された時間情報であるＳＴＣを元にＰＣＲパケットを作成する。この多重化器４１は、それらデータパケット或いはヌルパケットとＳＣＲパケットを時分割多重してトランスポートストリームを作成し、これをストリーム切替え器８に供給する。
【００４６】
同様に、多重化器４２は、予め決められた一定のレート（ＣＢＲ）で符号化器２２Ａより供給されたＰＥＳの符号化データ列からデータパケットを生成し、符号化器２２Ｂより供給されたＰＥＳの符号化データ列からデータパケットを生成し、一方、その時間に有効なデータ列がない場合はデータパケットの代わりにヌルパケットを生成する。また、多重化器４２は、時間情報であるＳＴＣを元に、ＰＣＲパケットを作成する。当該多重化器４２は、それらデータパケット或いはヌルパケットとＳＣＲパケットを時分割多重し、トランスポートストリームを作成する。この多重化器４２にて生成されたトランスポートストリームはストリーム切替え器８に供給される。
【００４７】
切替えタイミング発生器７は、端子５Ａを介して供給された同期信号ＳＡ及び端子５Ｂを介して供給された同期信号ＳＢに基づいて、端子３を介して供給された切替え信号ＳＥを、各符号化器における符号化遅延、及び各多重化器における多重化遅延を足した時間だけ遅延させ、切替えタイミング信号としてストリーム切替え器８に供給する。
【００４８】
ここで、各符号化器２１Ａ、２１Ｂ、２２Ａ、２２Ｂにおける符号化の際、及び多重化器４１、４２における多重化の際には、仮想的なバッファ（ＭＰＥＧビデオ符号化の場合、ＶＢＶバッファ）にデータ列を蓄積し、さらにこの仮想的なバッファからデータを読み出した場合の充足量を計算する。そして、この仮想バッファの充足量に基づいて、各フレーム（アクセスユニット）毎の符号量を制御するようになっている。
【００４９】
すなわち、符号量制御器３１は、符号化器２１Ａ及び２１Ｂからそれぞれ出力されるＰＥＳのレート、及びＶＢＶバッファの充足量（データ蓄積量等のバッファサイズ）をパラメータとし、これらのパラメータに基づいてＶＢＶのシミュレーションを行い、符号化器２１Ａ及び２１Ｂの発生符号量を制御する。
【００５０】
同様に、符号量制御器３２は、符号化器２２Ａ及び２２Ｂからそれぞれ出力されるＰＥＳのレート、及びＶＢＶの充足量（データ蓄積量等のバッファサイズ）をパラメータとし、これらのパラメータに基づいてＶＢＶのシミュレーションを行い、符号化器２２Ａ及び２２Ｂの発生符号量を制御する。
【００５１】
また、符号量制御器３１及び３２は、端子３を介して切替え信号ＳＥが供給されると、後述のように当該切替え信号ＳＥによる切替え時刻でのＶＢＶバッファ内データ停滞時間を制御し、その時刻でデータを出力しなくても、後の復号時に連続した再生を可能とするように符号量を制御する。
【００５２】
ストリーム切替え器８は、切替えタイミング信号発生器７からの切替えタイミング信号に基づき、多重化器４１から供給されたトランスポートストリームと、多重化器４２から供給されたトランスポートストリームとを切り替え、これらを最終的に生成したトランスポートストリームとして出力端子９を介して出力する。
【００５３】
なお、多重化器４１及び４２、ストリーム切替え器８は、バッファにデータを記憶する処理以外の処理の遅延時間はそれぞれ一定となっている。
【００５４】
ここで、図２を用いて、切替え点付近での各符号化器のバッファ（ＶＢＶバッファ）のデータ蓄積量の遷移（ＶＢＶバッファのシミュレーション）について説明する。
【００５５】
この図２に示す遷移図は、横軸が時間（右へ向かうに従って時間が経過する軸）、縦軸が符号化器におけるＶＢＶバッファのデータ蓄積量（上へ向かうに従ってバッファデータ蓄積量が増加する軸）となされており、符号化器による符号化データ（ＰＥＳ）が１アクセスユニット（ＡＵ）毎に瞬間的に発生されてＶＢＶバッファに蓄積されることでデータ蓄積量が瞬時に増加し、一方、一定のビットレート（ＣＢＲ）で当該ＶＢＶバッファから符号化データ（ＰＥＳ）が読み出されることで右下がりの傾き（傾きはレートに相当する）が一定となるような、データ蓄積量の遷移を表している。
【００５６】
当該実施の形態では、この図２に示すように、切替え点付近では、ＶＢＶバッファからＰＥＳを出力しない（ＰＥＳ無送出期間とする）ようになっている。このため、切替え点付近のＰＥＳ無送出期間では、当該ＶＢＶバッファ内にはその時点での符号量相当分のデータが蓄積されたままとなる。
【００５７】
また、例えばビデオ信号を符号化したＰＥＳ（以下、ビデオＰＥＳ（Ａ）とする。）と、同じくビデオ信号を符号化したＰＥＳ（以下、ビデオＰＥＳ（Ｂ）とする。）とを繋ぐようにした場合における多重化器のＶバッファのデータ蓄積量の遷移（ＶＢＶバッファのシミュレーション）は、図３に示すようになる。
【００５８】
この図３の遷移図は、横軸が時間（右へ向かうに従って時間が経過する軸）、縦軸が多重化器におけるＶＢＶバッファのデータ蓄積量（上へ向かうに従ってデータ蓄積量が増加する軸）となされており、符号化器から符号化データ（ＰＥＳ）がコンスタントビットレート（ＣＢＲ）で供給されることにより右上がりの傾き（傾きはレートに相当する）が一定となるようにデータ蓄積量が増加し、一方、当該ＶＢＶバッファからは１アクセスユニット（ＡＵ）毎に瞬間的にデータが読み出されて瞬間的に減少するようなデータ蓄積量の遷移を表している。
【００５９】
なお、図３（ａ）は、ビデオＰＥＳ（Ａ）に対応するバッファ（ビデオ（Ａ）ＶＢＶ）のデータ蓄積量の遷移を示し、図３（ｂ）は、ビデオＰＥＳ（Ｂ）に対応するバッファ（ビデオ（Ｂ）ＶＢＶ）のデータ蓄積量の遷移を示している。この図３からわかるように、切り替えを行う場合には、ＶＢＶバッファ内に蓄積されているデータを引き継ぐことになる。
【００６０】
このように、切替点付近では当該バッファ内のデータを引き継ぐために、ＶＢＶバッファの充足量を考慮する必要がある。すなわち、当該実施の形態では、多重化器における多重化の際にもＶＢＶバッファの充足量に基づく符号量制御を行うようにしている。
【００６１】
具体的には、図３中の切替え点付近において、ビデオ（Ａ）ＶＢＶのデータ蓄積量（ＶＢＶサイズ）とビデオ（Ｂ）ＶＢＶのデータ蓄積量（ＶＢＶサイズ）を見て、それらＶＢＶサイズが適当なサイズとなる点ＳＷＰのときに、ビデオＰＥＳ（Ａ）からビデオＰＥＳ（Ｂ）に切り替え、当該点ＳＷＰからからビデオＰＥＳ（Ｂ）のデータパケットが送出されるようなバッファ制御を行う。
【００６２】
なお、図３の（ａ）中の点線は切替え後のビデオＰＥＳ（Ｂ）を表している。ただし、例えばＰＩＤ（Packet IDentifier）が変わるような場合には、そのようなＶＢＶバッファの充足量を考慮する必要はなく、単に遅延（すなわちＰＴＳとＳＴＣの差）を合わせれば良い。
【００６３】
この図３の例のように、ＶＢＶバッファへの入力ＶＢＶinよりも出力ＶＢＶoutの方が大きいときには（ＶＢＶout＞ＶＢＶin）、ＰＥＳ無出力期間が生じ、このタイミングで切替えを行うことができる。なお、コンスタントビットレートの場合、ＶＢＶの入出力遅延（ＶＢＶディレイ）はＤＴＳとＳＴＣの差をビットレートで割った値と略々同じ値となる。
【００６４】
次に、図４は、例えばビデオ信号を符号化したビデオＰＥＳ（Ａ）とオーディオ信号を符号化したオーディオＰＥＳ（Ａ）とを時分割多重したストリーム（Ａ）から、ビデオ信号を符号化したビデオＰＥＳ（Ｂ）とオーディオ信号を符号化したオーディオＰＥＳ（Ｂ）とを時分割多重したストリーム（Ｂ）へ切り替えて出力ストリーム（Ａ→Ｂ）を得る場合におけるストリーム切替え器８の切り替え時の様子を示した図である。
【００６５】
この図４は、時分割多重した場合のそれぞれのＰＥＳに相当するデータパケットの位置をマクロ的に見たものである。また、各ビデオ信号及びオーディオ信号のＰＥＳは、ＭＰＥＧ符号化方式におけるＶＢＶモデルによる規定により制御されてパケット化されたものである。各ＰＥＳは、図３を用いて説明したように、切替え点付近でデータパケットを出力をしない制御（データパケット無送出期間を設ける）を行っているものとする。
【００６６】
この図４から、ＰＥＳの無出力期間を長くとることにより、トランスポートストリームにおいても、データパケット無出力期間が現れることがわかる。
【００６７】
次に、図５及び図６は、図４と同様に、ストリーム（Ａ）からストリーム（Ｂ）へ切り替えて出力ストリーム（Ａ→Ｂ）を得る場合のストリームを、パケットの集合として見たときの様子を示した図である。
【００６８】
このうち図５は、ストリーム（Ａ）の切り替え直前のパケットの並びを示しており、図中のＶＥＨは切替え点の直前のピクチャのピクチャヘッダを示し、ＡＥＨは切替え点の直前のオーディオアクセスユニットのヘッダをそれぞれ示している。
【００６９】
また、図５中、ＴＳＶＥＨはＶＥＨがあるビデオのパケットを、ＴＳＶＥＥはＴＳＶＥＨから始まるピクチャの最後が含まれるパケットを、ＴＳＡＥＨはＡＥＨを持ったオーディオのパケットを、ＴＳＡＥＥはＡＥＨから始まるオーディオアクセスユニットの最後が含まれるパケットを、それぞれ示している。
【００７０】
さらに、図５中、ＳＴＣＴＳＶＥＨはＴＳＶＥＨを送出した時刻を、ＳＴＣＴＳＶＥＥはＴＳＶＥＥを送出した時刻を、ＳＴＣＴＳＡＥＨはＴＳＡＥＨを送出した時刻を、ＳＴＣＴＳＡＥＥはＴＳＡＥＥを送出した時刻を示している。
【００７１】
一方、図６は、ストリーム（Ｂ）の切り替え直後のパケットの並びを示しており、図中、ＶＳＨは切替え点の直後のＭＰＥＧビデオ符号化方式におけるsequence_header_codeがついているピクチャのピクチャヘッダを、ＡＳＨは切替え点の直後のオーディオアクセスユニットのヘッダを、ＴＳＶＳＨはＶＳＨがあるビデオのトランスポートストリーム（ＴＳ）を、ＴＳＡＳＨはＡＳＨを持ったオーディオのＴＳを、ＳＴＣＴＳＶＳＨはＴＳＶＳＨの出力した時刻を、ＳＴＣＴＳＡＳＨはＴＳＡＳＨの出力した時刻を、それぞれ示している。
【００７２】
この図５及び図６から、ＳＴＣＴＳＶＥＥとＴＳＣＴＳＡＥＥがＴＳＣＴＳＶＳＨとＴＳＣＴＳＡＳＨよりも前の時刻であるとき、すなわち下記の式の関係を全て満たすときは、データパケットが出力しない期間が存在することがわかる。
【００７３】
ＳＴＣＴＳＶＥＥ  ＜ ＳＴＣＴＳＶＳＨ
ＳＴＣＴＳＶＥＥ  ＜ ＳＴＣＴＳＡＳＨ
ＳＴＣＴＳＡＥＥ  ＜ ＳＴＣＴＳＡＳＨ
ＳＴＣＴＳＡＥＥ  ＜ ＳＴＣＴＳＶＳＨ
ここで、Ｍｉｎ(a,b)をａとｂのうち、小さい値をとる関数とし、Ｍａｘ(a,b)をａとｂのうち、大きい値をとる関数とすると、データパケットを出力しない期間は次式で与えられる。
【００７４】
Ｍｉｎ(ＳＴＣＴＳＶＳＨ ,ＳＴＣＴＳＡＳＨ)− Ｍａｘ(ＳＴＣＴＳＶＥＥ,ＳＴＣＴＳＡＥＥ)
次に、図７に、当該実施の形態における符号多重化遅延モデルを示す。なお、図７の図中時間ＴＩＮからＴ１まではあるアクセスユニットのデータ順序入れ替えに要する時間であり、また図中時間ＴＩＮからＴ２までのｄｅｌａｙｅｎｃは符号化処理に要する符号化遅延である。また、図７の図中時間Ｔ２からＴ３までのｄｅｌａｙｂｕｆはバッファ遅延を示し、図中Ｔ３からＴＯＵＴまでのｄｅｌａｙｍｕｘは多重化遅延を示している。
【００７５】
この図７において、ｄｅｌａｙｅｎｃとｄｅｌａｙｍｕｘは固定値であり、ｄｅｌａｙｂｕｆはバッファに蓄積する時間で決定する。これにより、バッファに蓄積する時間、すなわちｄｅｌａｙｂｕｆを切替え点に合わせて制御することで、切替え点を決定することができることがわかる。
【００７６】
以上の説明から明らかなように、当該実施の形態のストリーム生成装置は、ＶＢＶモデルにより符号化を行うＭＰＥＧビデオ符号化、ＡＡＣ（Advanced AudioCoder）、データ符号化において、各符号化器の同期と、発生符号量制御を符号化器のみならず多重化器でも行うことにより、ストリームの切替え点でのバッファの蓄積量を決定し、符号化したデータ列のトランスポートストリーム化の際に、全てのデータパケットが出力されない（ヌルパケットのみ出力される）期間を設け、且つ、その期間は符号化器での符号化単位であるアクセスユニットの境となるようにし、その期間をストリーム切替え点とすることにより、ストリームの切り替えをシームレスにかつ容易に実現することができる。
【００７７】
最後に、上述の実施の形態の説明は本発明の一例である。このため、本発明は、上述の実施の形態に限定されることはなく、該実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば種々の変更が可能であることは勿論である。
【００７８】
【発明の効果】
請求項１記載の本発明に係るストリーム生成方法は、複数の入力データをそれぞれ符号化して各入力データ毎に対応する複数のデータパケットを生成する際、及び、それら複数のデータパケットから多重化ストリームを生成する際に、少なくとも１種類のデータパケットの送出しない期間を設けるよう出力符号量を制御し、当該期間で少なくとも２つの多重化ストリームの切り替えを行うことにより、シームレスなストリーム切替えを容易に実現することができる。すなわち、時間的に連続して再生可能なシームレスなトランスポートストリームの生成を容易に実現可能とすることができる。
【００７９】
請求項２記載の本発明に係るストリーム生成方法は、出力符号量を制御する際に、全てのデータパケットを出力しない期間を設け、且つ、当該期間を符号化の際の符号化単位の境界となるよう出力符号量を制御し、当該期間で前記多重化ストリームの切り替えを行うことにより、各符号化単位（アクセスユニット）やストリーム切替え前後の符号化レートが違う場合でも、シームレスなストリーム切替えを容易に実現することができる。
【００８０】
請求項３記載の本発明に係るストリーム生成装置は、複数の入力データをそれぞれ符号化して各入力データ毎に対応する複数のデータパケットを生成する符号化手段と、符号化により得られた複数のデータパケットを多重化して多重化ストリームを生成する多重化手段と、符号化及び多重化による出力符号量を制御する符号量制御手段と、多重化ストリームを切り替えるストリーム切替え手段とを有し、少なくとも１種類のデータパケットの送出しない期間を設けるよう出力符号量を制御し、当該期間で前記多重化ストリームの切り替えを行うことにより、シームレスなストリーム切替えを容易に実現することができる。すなわち、時間的に連続して再生可能なシームレスなトランスポートストリームの生成を容易に実現可能とすることができる。
【００８１】
請求項４記載の本発明に係るストリーム生成装置は、符号量制御手段において、全てのデータパケットを出力しない期間を設け、且つ、当該期間を前記符号化の際の符号化単位の境界となるよう出力符号量を制御し、ストリーム切替え手段において、当該期間で前記多重化ストリームの切り替えを行うことにより、各符号化単位（アクセスユニット）やストリーム切替え前後の符号化レートが違う場合でも、シームレスなストリーム切替えを容易に実現することができる。
【図面の簡単な説明】
【図１】本発明に係るストリーム生成方法及び装置を適用した実施の形態となるストリーム生成装置のブロック図である。
【図２】ストリーム切替え点付近での各符号化器のバッファ内のデータ蓄積量の遷移を説明するための図である。
【図３】２つのビデオＰＥＳ（Ａ）とビデオＰＥＳ（Ｂ）とを繋ぐようにした場合のＶＢＶバッファのデータ蓄積量（充足量）の遷移を示す図である。
【図４】ストリーム（Ａ）からストリーム（Ｂ）へ切り替えて出力ストリーム（Ａ→Ｂ）を得る場合の様子を示す図である。
【図５】ストリーム（Ａ）からストリーム（Ｂ）へ切り替えて出力ストリーム（Ａ→Ｂ）を得る場合において、ストリーム（Ａ）の切り替え直前のパケットの並びを示す図である。
【図６】ストリーム（Ａ）からストリーム（Ｂ）へ切り替えて出力ストリーム（Ａ→Ｂ）を得る場合において、ストリーム（Ｂ）への切り替え直後のパケットの並びを示す図である。
【図７】前記実施の形態における符号多重化遅延モデルを示す図である。
【図８】従来のストリーム生成装置のブロック図である。
【符号の説明】
１Ａ，１Ｂ，２Ａ，２Ｂ…入力信号、１１Ａ，１１Ｂ，１２Ａ，１２Ｂ…ストリーム入力端子、３…切替え信号入力端子、４…時刻設定信号入力端子、５Ａ，５Ｂ…同期信号入力端子、６…ＳＴＣ設定器、７…切替えタイミング発生器、８…ストリーム切替え器、２１Ａ，２１Ｂ，２２Ａ，２２Ｂ…符号化器、３１，３２…符号量制御器、４１，４２…多重化器
【図１】
0003543716.tif 000002
【図２】
0003543716.tif 000003
【図３】
0003543716.tif 000004
【図４】
0003543716.tif 000005
【図５】
0003543716.tif 000006
【図６】
0003543716.tif 000007
【図７】
0003543716.tif 000008
【図８】
0003543716.tif 000009