(57)【特許請求の範囲】
【請求項１】
再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成する多重化部と、
前記データストリームを送信する送信部と
を備え、
前記多重化部は、前記再生データの所定の処理単位のうちの１つの第１の処理単位に対応する前記制御情報を含む制御情報パケットを、前記第１の処理単位を含む第１のデータパケットより前及び後に多重化する
送信装置。
【請求項２】
前記多重化部は、前記第１の処理単位の１つ前の第２の処理単位を含む第２のデータパケットと前記第１のデータパケットの間、及び、前記第１のデータパケットと前記第１の処理単位の１つ後の第３の処理単位を含む第３のデータパケットとの間に前記制御情報パケットを多重化する
請求項１に記載の送信装置。
【請求項３】
前記多重化部は、前記データストリームにおいて前記制御情報パケットを多重化可能な位置のうち、前記第１のデータパケットより前で前記第１のデータパケットに最も近い位置、及び、前記第１のデータパケットより後で前記第１のデータパケットに最も近い位置に前記制御情報パケットを多重化する
請求項２に記載の送信装置。
【請求項４】
前記第１のデータパケットは、前記第１の処理単位の先頭を含む
請求項１に記載の送信装置。
【請求項５】
前記制御情報は、前記処理単位を再生するタイミングの制御に用いるタイミング情報を含む
請求項１に記載の送信装置。
【請求項６】
前記タイミング情報は、前記処理単位のデコードを開始する時刻を示す情報、及び、前記処理単位を提示する時刻を示す情報のうち少なくとも一方を含む
請求項５に記載の送信装置。
【請求項７】
前記データパケット及び前記制御情報パケットは、MMTP（MMT Protocol） Packetであり、
前記処理単位は、MPU（Media Processing Unit）である
請求項１に記載の送信装置。
【請求項８】
再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成するともに、前記再生データの所定の処理単位に対応する前記制御情報を含む前記制御情報パケットを、前記処理単位を含む前記データパケットより前及び後に多重化する多重化ステップと、
前記データストリームの送信を制御する送信制御ステップと
を含む送信方法。
【請求項９】
再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成するともに、前記再生データの所定の処理単位に対応する前記制御情報を含む前記制御情報パケットを、前記処理単位を含む前記データパケットより前及び後に多重化する多重化ステップと、
前記データストリームの送信を制御する送信制御ステップと
を含む処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、送信装置、送信方法、並びに、プログラムに関し、特に、再生対象となるデータとデータの再生に用いる制御情報とを個別にパケット化して多重化したデータストリームを受信する装置において、データを迅速又は確実に再生できるようにした送信装置、送信方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、デジタル放送のデータ構造として、例えば、ISO 13818-1に規定されるMPEG-2 TS（Transport Stream）が用いられている。MPEG-2 TSでは、ビデオ信号のピクチャやオーディオ信号のフレームといった単位毎のデコード時刻や提示時刻を含む時刻情報が、ビデオ信号やオーディオ信号のパケットのヘッダ内に符号化される。そのため、時刻情報とその時刻情報に対応するデータの先頭とがデータストリーム上で近接しており、両者の対応付けが容易である。
【０００３】
一方、例えばMPEG-H規格のPart1で規定されるMMT（MPEG Media Transport）を用いた標準規格であるARIB-STD-B60では、ビデオ信号やオーディオ信号とそれらに対応する時刻情報が、特許文献１に記載のMMTメッセージを用いた方法により個別にパケット化される。そして、ビデオ信号やオーディオ信号のデータを含むパケット（以下、データパケットと称する）と、時刻情報等の制御情報を含むパケット（以下、制御情報パケットと称する）とが、個別にデータストリームに多重化されて伝送される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許５６７２４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、制御情報パケットを対応するデータパケットの後に多重化して伝送する場合、データストリームを受信する受信装置は、データパケットの受信後も制御情報パケットを受信するまでは、データパケットに含まれるデータのデータ時刻及び提示時刻が未知の状態となり、データパケットに含まれるデータを再生することができない。
【０００６】
また、受信装置は、伝送エラー等により制御情報パケットが受信できなくても、制御情報パケットの受信の失敗を検出できなかったり、検出が遅延したりして、適切な対応を行えない恐れがある。
【０００７】
そこで、本技術は、再生対象となるデータとデータの再生に用いる制御情報とを個別にパケット化して多重化したデータストリームを受信する装置において、データを迅速又は確実に再生できるようにするものである。
【課題を解決するための手段】
【０００８】
本技術の一側面の送信装置は、再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成する多重化部と、前記データストリームを送信する送信部とを備え、前記多重化部は、前記再生データの所定の処理単位のうちの１つの第１の処理単位に対応する前記制御情報を含む制御情報パケットを、前記第１の処理単位を含む第１のデータパケットより前及び後に多重化する。
【０００９】
前記多重化部には、前記第１の処理単位の１つ前の第２の処理単位を含む第２のデータパケットと前記第１のデータパケットの間、及び、前記第１のデータパケットと前記第１の処理単位の１つ後の第３の処理単位を含む第３のデータパケットとの間に前記制御情報パケットを多重化させることができる。
【００１０】
前記多重化部には、前記データストリームにおいて前記制御情報パケットを多重化可能な位置のうち、前記第１のデータパケットより前で前記第１のデータパケットに最も近い位置、及び、前記第１のデータパケットより後で前記第１のデータパケットに最も近い位置に前記制御情報パケットを多重化させることができる。
【００１２】
前記第１のデータパケットには、前記第１の処理単位の先頭を含ませることができる。
【００１３】
前記制御情報には、前記処理単位を再生するタイミングの制御に用いるタイミング情報を含ませることができる。
【００１４】
前記タイミング情報には、前記処理単位のデコードを開始する時刻を示す情報、及び、前記処理単位を提示する時刻を示す情報のうち少なくとも一方を含ませることができる。
【００１５】
前記データパケット及び前記制御情報パケットを、MMTP（MMT Protocol） Packetとし、前記処理単位を、MPU（Media Processing Unit）とすることができる。
【００１６】
本技術の一側面の送信方法は、再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成するともに、前記再生データの所定の処理単位に対応する前記制御情報を含む前記制御情報パケットを、前記処理単位を含む前記データパケットより前及び後に多重化する多重化ステップと、前記データストリームの送信を制御する送信制御ステップとを含む。
【００１７】
本技術の一側面のプログラムは、再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成するともに、前記再生データの所定の処理単位に対応する前記制御情報を含む前記制御情報パケットを、前記処理単位を含む前記データパケットより前及び後に多重化する多重化ステップと、前記データストリームの送信を制御する送信制御ステップとを含む処理をコンピュータに実行させる。
【００１８】
本技術の一側面においては、再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームが生成されるとともに、前記再生データの所定の処理単位に対応する前記制御情報を含む前記制御情報パケットが、前記処理単位を含む前記データパケットより前及び後に多重化され、前記データストリームが送信される。
【発明の効果】
【００１９】
本技術の一側面によれば、再生対象となるデータとデータの再生に用いる制御情報とを個別にパケット化して多重化したデータストリームを受信する装置において、データを迅速又は確実に再生することができる。
【００２０】
なお、本明細書に記載された効果は、あくまで例示であり、本技術の効果は、本明細書に記載された効果に限定されるものではなく、付加的な効果があってもよい。
【図面の簡単な説明】
【００２１】
【図１】本技術を適用した送信装置の一実施の形態を示すブロック図である。
【図２】MMTP Packetのデータ構造の例を示す図である。
【図３】制御情報パケットのデータ構造の例を示す図である。
【図４】データパケットの後に制御情報パケットを多重化する場合について説明するための図である。
【図５】制御情報パケットを多重化する位置の例を示す図である。
【図６】送信装置により実行される多重化処理の第１の実施の形態を説明するためのフローチャートである。
【図７】多重化処理の第１の実施の形態により多重化される制御情報パケットの位置の例を示す図である。
【図８】送信装置により実行される多重化処理の第２の実施の形態を説明するためのフローチャートである。
【図９】多重化処理の第２の実施の形態により多重化される制御情報パケットの位置の例を示す図である。
【図１０】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本技術を実施するための形態（以下、実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．実施の形態
２．変形例
【００２３】
＜１．実施の形態＞
｛送信装置１０１の構成例｝
図１は、本技術を適用した送信装置１０１の一実施の形態を示すブロック図である。
【００２４】
送信装置１０１は、例えばMMTによるメディアトランスポート方式により、ビデオ信号、オーディオ信号等のデータを送信する装置である。なお、以下、送信装置１０１が、ビデオ信号及びオーディオ信号を送信する場合について説明する。
【００２５】
送信装置１０１は、同期制御部１１１、エンコーダ１１２、バッファ１１３、データパケット生成部１１４、制御情報パケット生成部１１５、多重化部１１６、及び、送信部１１７を含むように構成される。
【００２６】
同期制御部１１１は、エンコーダ１１２の動作を制御する。また、同期制御部１１１は、エンコーダ１１２により符号化されたデータの再生に用いる時刻情報を生成し、制御情報パケット生成部１１５に供給する。
【００２７】
同期制御部１１１により生成される時刻情報は、例えば、デコード時刻及び提示時刻を含む。
【００２８】
デコード時刻は、例えば、送信装置１０１から送信されるデータストリームを受信する受信装置においてデータのデコードを開始する時刻を示す。例えば、デコード時刻は、ビデオ信号の各ピクチャやオーディオ信号の各フレームのデコードを開始する時刻を示す。なお、受信装置は、必ずしもデコード時刻からデコードを開始する必要はなく、デコード時刻より前にデコードを開始することも可能である。
【００２９】
提示時刻は、受信装置においてデータの提示を開始する時刻を示す。例えば、提示時刻は、ビデオ信号の各ピクチャに対応する画像を表示したり、オーディオ信号の各フレームに対応する音声を出力したりする時刻を示す。
【００３０】
なお、デコード時刻及び提示時刻は、例えば、絶対時刻で表現するようにしてもよいし、所定の基準時刻に対する相対時刻で表現するようにしてもよい。
【００３１】
エンコーダ１１２は、外部から入力されるビデオ信号及びオーディオ信号を符号化する。エンコーダ１１２は、符号化したビデオ信号及びオーディオ信号をバッファ１１３に格納する。
【００３２】
データパケット生成部１１４は、バッファ１１３に格納されたビデオ信号及びオーディオ信号をパケット化したMMTP（MMT Protocol） Packet（以下、データパケットと称する）を生成する。データパケット生成部１１４は、生成したデータパケットを多重化部１１６に供給する。
【００３３】
制御情報パケット生成部１１５は、データパケットに含まれるビデオ信号やオーディオ信号の再生に用いる制御情報をパケット化したMMTP Packet（以下、制御情報パケットと称する）を生成する。制御情報パケットに含まれる制御情報は、同期制御部１１１により生成された時刻情報を含む。制御情報パケット生成部１１５は、生成した制御情報パケットを多重化部１１６に供給する。
【００３４】
多重化部１１６は、データパケット及び制御情報パケットを個別に多重化することによりデータストリーム（以下、多重化ストリームと称する）を生成し、送信部１１７に供給する。
【００３５】
送信部１１７は、多重化部１１６により生成された多重化ストリームの送信を行う。
【００３６】
｛MMTP Packetのデータ構造の例｝
図２は、データパケット及び制御情報パケットを構成するMMTP Packetのデータ構造の例を示している。
【００３７】
MMTP Packetは、MMTP Packet Header及びMMTP Payloadを含む。
【００３８】
MMTP Packet Headerは、packet_id及びRAP_flagを含む。
【００３９】
packet_idは、MMTP PayloadのMMTP Payload data byteに含まれるデータの種類を識別する識別子である。例えば、多重化ストリームに多重化される各ビデオ信号及び各オーディオ信号に対して、それぞれ異なるpacket_idが割り当てられる。また、データパケットと制御情報パケットには、異なるpacket_idが割り当てられる。
【００４０】
RAP_flagは、MMTP PayloadのMMTP Payload data byteに含まれるデータにランダムアクセスポイントが含まれるか否かを識別するフラグである。ランダムアクセスポイントとは、ランダムアクセスが可能な位置のことであり、例えば、ビデオ信号におけるランダムアクセスが可能なピクチャが該当する。
【００４１】
MMTP Payloadは、MMTP Payload Header及びMMTP Payload data byteを含む。
【００４２】
MMTP Payload Headerは、データパケットの場合のみmpu_sequence_numberを含む。mpu_sequence_numberは、MMTP Payload data byteに含まれるデータが属するMPU（Media Processing Unit）と呼ばれる処理単位に割り当てられているシーケンス番号である。mpu_sequence_numberは、packet_idが異なるデータ毎に個別に割り当てられる。例えば、多重化ストリームにpacket_id＝ID1のビデオ信号１とpacket_id＝ID2のビデオ信号２とが多重化されている場合、ビデオ信号１の先頭のMPUから順にmpu_sequence_numberが割り当てられ、同様にビデオ信号２の先頭のMPUから順にmpu_sequence_numberが割り当てられる。従って、packet_idとmpu_sequence_numberの組み合わせにより、各ビデオ信号及びオーディオ信号のMPUを識別することができる。
【００４３】
MPUは、例えばビデオ信号の場合、ランダムアクセスポイント間に設定される。例えば、あるランダムアクセスポイントであるピクチャから、次のランダムアクセスポイントの直前のピクチャまでが１つのMPUに割り当てられる。より具体的には、例えば、１つのGOP(Group of Pictures)が１つのMPUに割り当てられる。
【００４４】
MMTP Payload data byteは、実データを含む領域である。例えば、MMTP Payload data byteは、データパケットの場合、ビデオ信号やオーディオ信号を含み、制御情報パケットの場合、制御情報を含む。
【００４５】
なお、１つのMPUを１つのデータパケットに格納するだけでなく、１つのMPUを複数のデータパケットに分割して格納することも可能である。後者の場合、例えば、１つのMPUに含まれる複数のピクチャが複数のデータパケットに分割して格納される。
【００４６】
なお、以下、説明を簡単にするために、各MPUがそれぞれ１つのデータパケットに格納される場合について説明する。
【００４７】
｛制御情報パケットのデータ構造の例｝
図３は、制御情報パケットのデータ構造の例を示している。
【００４８】
制御情報パケットのMMTP Payload data byteには、必要に応じて各種のデータテーブル等が格納される。そして、MMTP Payload data byteに格納されるデータテーブルのうちの１つにMPT（MMT Package Table）がある。MPTは、当該制御情報パケットに含まれる制御情報の対象となるデータ（ビデオ信号又はオーディオ信号）のpacket_id、MPUタイムスタンプ記述子、及び、MPU拡張タイムスタンプ記述子等を含む。
【００４９】
MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子は、当該制御情報パケットに含まれる制御情報の対象となるMPUの時刻情報を含む。例えば、ビデオ信号の場合、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子は、当該制御情報パケットに含まれる制御情報の対象となるMPUに含まれる各ピクチャのデコード時刻及び提示時刻を含む。また、MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子は、当該制御情報パケットに含まれる制御情報の対象となるMPUのmpu_sequence_numberをそれぞれ含む。
【００５０】
なお、１つのMPUの時刻情報を１つの制御情報パケットに格納するようにしてもよいし、１つのMPUの時刻情報を複数の制御情報パケットに分割して格納するようにしてもよい。後者の場合、例えば、１つのMPUに含まれる各ピクチャの時刻情報が複数のデータパケットに分割して格納される。
【００５１】
なお、以下、説明を簡単にするために、各MPUの時刻情報がそれぞれ１つの制御情報パケットに格納される場合について説明する。
【００５２】
｛制御情報パケットを多重化する位置の例｝
図４は、データパケットＰＤａの後にデータパケットＰＤａに対応する制御情報パケットＰＣａ１を多重化する場合を模式的に示している。なお、データパケットＰＤａに含まれるデータ（ビデオ信号又はオーディオ信号）が属するMPUのmpu_sequence_number、及び、制御情報パケットＰＣａ１内の時刻情報（MPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子）のmpu_sequence_numberは、ともにＮである。そして、制御情報パケットＰＣａ１には、データパケットＰＤａに含まれるデータに対応する時刻情報が含まれる。
【００５３】
なお、以下、データパケットに含まれるデータが属するMPUのmpu_sequence_numberのことを、単にデータパケットのmpu_sequence_numberと称する場合がある。また、以下、制御情報パケットの時刻情報のmpu_sequence_numberのことを、単に制御情報パケットのmpu_seauence_numberと称する場合がある。
【００５４】
ここで、受信装置は、データパケットＰＤａを受信してから、制御情報パケットＰＣａ１を受信するまでの間、データパケットＰＤａに含まれるデータのデコード時刻及び提示時刻が未知の状態となる。そのため、受信装置は、制御情報パケットＰＣａ１を受信するまでデータパケットＰＤａに含まれるデータの再生を開始することができない。
【００５５】
また、例えば、伝送エラー等により制御情報パケットＰＣａ１が欠落しても、受信装置は、mpu_sequence_numberがＮより後の制御情報パケット（例えば、図内の制御情報パケットＰＣａ２）を受信し、制御情報パケットのmpu_sequence_numberの矛盾を検出するまでは、制御情報パケットＰＣａ１の受信に失敗したことを検出することができない。その結果、データパケットＰＤａに含まれるデータの再生が遅延したり、再生に失敗したりする恐れがある。
【００５６】
そこで、送信装置１０１の多重化部１１６は、図５に示されるように、データパケットＰＤｂに対応する制御情報パケットＰＣｂをデータパケットＰＤｂの前に多重化する。これにより、受信装置は、データパケットＰＤｂに含まれるデータを迅速又は確実に再生することができる。
【００５７】
具体的には、受信装置は、データパケットＰＤｂを受信した場合、すでに制御情報パケットＰＣｂを受信済みなので、データパケットＰＤｂに含まれるデータのデコード時刻及び提示時刻が未知となる期間が生じない。従って、受信装置は、データパケットＰＤｂに含まれるデータの再生を迅速に開始することができる。
【００５８】
また、例えば、伝送エラー等により制御情報パケットＰＣｂが欠落しても、受信装置は、データパケットＰＤｂを受信した時点で、制御情報パケットＰＣａ１の受信に失敗したことを検出することができる。そして、例えば、受信装置は、すぐにデータパケットＰＤｂに含まれるデータに対応する時刻情報等が得られない場合の処理を実行し、データパケットＰＤｂに含まれるデータを適切な方法で迅速かつ確実に再生することができる。
【００５９】
なお、制御情報パケットＰＣｂとデータパケットＰＤｂが互いに対応するパケットであるか否かは、packet_id及びmpu_sequence_numberに基づいて判定される。具体的には、制御情報パケットＰＣｂのMPTのpacket_idとデータパケットＰＤｂのMMTP Packet Headerのpacket_idが一致し、制御情報パケットＰＣｂのMPUタイムスタンプ記述子及びMPU拡張タイムスタンプ記述子のmpu_sequence_numberとデータパケットＰＤｂのMMTP Payload Headerのmpu_sequence_numberが一致する場合、両者は互いに対応するパケットである。すなわち、データパケットＰＤｂのMMTP Payload data byteに含まれるデータの時刻情報等が、制御情報パケットＰＣｂに含まれている。一方、packet_id及びmpu_sequence_numberのうち少なくとも一方が一致しない場合、両者は対応するパケットではない。すなわち、データパケットＰＤｂのMMTP Payload data byteに含まれるデータの時刻情報等が、制御情報パケットＰＣｂに含まれていない。
【００６０】
｛多重化処理の第１の実施の形態｝
ここで、図６のフローチャートを参照して、送信装置１０１により実行される多重化処理の第１の実施の形態について説明する。
【００６１】
ステップＳ１において、多重化部１１６は、次に多重化するデータパケットを選択する。すなわち、多重化部１１６は、データパケット生成部１１４から供給されるデータパケットの中から、次に多重化ストリームに多重化するデータパケットを選択する。
【００６２】
ステップＳ２において、多重化部１１６は、選択したデータパケットを多重化する。すなわち、多重化部１１６は、選択したデータパケットを送信部１１７に供給する。送信部１１７は、供給されたデータパケットを送信する。これにより、選択したデータパケットが、多重化ストリームに多重化される。
【００６３】
ステップＳ３において、多重化部１１６は、多重化したデータパケットがMPUの先頭を含んでいるか否かを判定する。例えば、多重化部１１６は、多重化したデータパケットのmpu_sequence_numberが、その１つ前に多重化したデータパケットのmpu_sequence_numberと異なる場合、多重化したデータパケットがMPUの先頭を含んでいると判定し、処理はステップＳ４に進む。
【００６４】
ステップＳ４において、多重化部１１６は、多重化する制御情報パケットを次のMPUを含むデータパケットに対応するパケットに切り替える。具体的には、多重化部１１６は、制御情報パケット生成部１１５から供給される制御情報パケットの中から、多重化したデータパケットと同じpacket_id、及び、多重化したデータパケットのmpu_sequence_numberの次のmpu_sequence_numberがMPTに設定されている制御情報パケットを検索する。これにより、多重化したデータパケットに含まれるMPUの次のMPUを含むデータパケットに対応する制御情報パケットが検出される。
【００６５】
そして、多重化部１１６は、所定のタイミングで、送信部１１７に供給する制御情報パケットを、検出した制御情報パケットに切り替える。これにより、送信部１１７から多重化ストリームに多重化されて送信される制御情報パケットが、ステップＳ２の処理で多重化したデータパケットに対応する制御情報パケットから、次のMPUを含むデータパケットに対応する制御情報パケットに切り替わる。
【００６６】
なお、この切り替えは、少なくとも次のデータパケットを多重化する前までに行えばよい。例えば、多重化部１１６は、多重化したデータパケットと次に多重化するデータパケットとの間において、多重化したデータパケットに対応する制御情報パケットを多重化せずに、次のMPUを含むデータパケットに対応する制御情報パケットのみを多重化するようにしてもよい。或いは、例えば、多重化部１１６は、多重化したデータパケットと次に多重化するデータパケットとの間において、多重化したデータパケットに対応する制御情報パケットを１つ以上多重化した後、次のMPUを含むデータパケットに対応する制御情報パケットを多重化するようにしてもよい。
【００６７】
その後、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。
【００６８】
一方、ステップＳ３において、多重化部１１６は、多重化したデータパケットのmpu_sequence_numberが、その１つ前に多重化したデータパケットのmpu_sequence_numberと同じ場合、多重化したデータパケットがMPUの先頭を含んでいないと判定する。その後、ステップＳ４の処理は行われず、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。すなわち、この場合、多重化する制御情報パケットの切り替えは行われない。
【００６９】
図７は、図６の多重化処理による制御情報パケット及びデータパケットの多重化位置の例を示している。なお、図７は、斜線で示される制御情報パケットが、周期的に多重化ストリームに多重化される場合の例を示している。
【００７０】
データパケットＰＤｃ１と、データパケットＰＤｃ１の前に多重化されている制御情報パケットＰＣｃ１a及びＰＣｃ１ｂは、互いに対応するパケットである。すなわち、データパケットＰＤｃ１は、mpu_sequence_numberがＮのMPUを含み、制御情報パケットＰＣｃ１ａ及びＰＣｃ１ｂは、mpu_sequence_numberがＮのMPUに対応する時刻情報を含んでいる。
【００７１】
そして、データパケットＰＤｃ１を多重化してから、次のmpu_sequence_numberがＮ＋１のMPUを含むデータパケットＰＤｃ２を多重化するまでの間に、多重化する制御情報パケットがデータパケットＰＤｃ１に対応するパケットからデータパケットＰＤｃ２に対応するパケットに切り替わっている。具体的には、データパケットＰＤｃ１が多重化された後、データパケットＰＤｃ１に対応する制御情報パケットが１つ（制御情報パケットＰＣｃ１ｃ）多重化されている。その後、データパケットＰＤｃ２が多重化されるまでの間に、データパケットＰＤｃ２に対応する制御情報パケットＰＣｃ２a及びＰＣｃ２ｂが多重化されている。なお、制御情報パケットＰＣｃ２ａ及びＰＣｃ２ｂは、mpu_sequence_numberがＮ＋１のMPUに対応する時刻情報を含むパケットである。
【００７２】
これにより、受信装置は、データパケットＰＤｃ２を受信した場合、すでに制御情報パケットＰＣｃ２ａ及びＰＣｃ２ｂを受信済みなので、データパケットＰＤｃ２に含まれるデータのデコード時刻及び提示時刻が未知となる期間が生じない。従って、受信装置は、データパケットＰＤｃ２に含まれるデータの再生を迅速に開始することができる。
【００７３】
また、例えば、伝送エラー等により制御情報パケットＰＣｃ１ａ乃至ＰＣｃ１ｃが欠落しても、受信装置は、制御情報パケットＰＣｃ２ａを受信した時点で、データパケットＰＤｃ２を受信するより前に、データパケットＰＤｃ１に対応する制御情報パケットの受信に失敗したことを検出することができる。そして、例えば、受信装置は、すぐにデータパケットＰＤｃ１に含まれるデータに対応する時刻情報等が得られない場合の処理を実行し、データパケットＰＤｃ１に含まれるデータを適切な方法で迅速かつ確実に再生することが可能になる。
【００７４】
さらに、データパケットＰＤｃ１の後に制御情報パケットＰＣｃ１ｃを多重化することにより、受信装置が、制御情報パケットＰＣｃ１ｂとデータパケットＰＤｃ１の間から受信を開始しても、データパケットＰＤｃ１に対応する制御情報パケットを受信することが可能になる。その結果、受信装置は、データパケットＰＤｃ１に含まれるデータの再生を確実に開始することができる。
【００７５】
なお、この例では、データパケットＰＤｃ１とデータパケットＰＤｃ２の間にデータパケットＰＤｃ１に対応する制御情報パケットを１つ多重化する例を示したが、２つ以上多重化することも可能である。ただし、データパケットＰＤｃ２の前にデータパケットＰＤｃ２に対応する制御情報パケットを１つ以上多重化することが必須条件となる。また、制御情報パケットを多重化可能な位置のうち、データパケットＰＤｃ１の後でデータパケットＰＤｃ１に最も近い位置にデータパケットＰＤｃ１に対応する制御情報パケットを１つのみ多重化することにより、受信装置が、データパケットＰＤｃ１に対応する制御情報パケットの受信を失敗した場合に、受信エラーをより迅速に検出することが可能になる。
【００７６】
また、上述したように、データパケットＰＤｃ１とデータパケットＰＤｃ２の間にデータパケットＰＤｃ１に対応する制御情報パケットを１つも多重化しないようにすることも可能である。この場合、図６のフローチャートのステップＳ４において、ステップＳ２でデータストリームを多重化した直後に、多重化する制御情報パケットが、多重化したデータパケットに含まれるMPUの次のMPUを含むデータパケットに対応する制御情報パケットに切り替わる。
【００７７】
｛多重化処理の第２の実施の形態｝
次に、図８のフローチャートを参照して、送信装置１０１により実行される多重化処理の第２の実施の形態について説明する。
【００７８】
ステップＳ１０１において、図６のステップＳ１の処理と同様に、次に多重化するデータパケットが選択される。
【００７９】
ステップＳ１０２において、多重化部１１６は、図６のステップＳ３と同様の処理により、選択したデータパケットがMPUの先頭を含んでいるか否かを判定する。選択したデータパケットがMPUの先頭を含んでいると判定された場合、処理はステップＳ１０３に進む。
【００８０】
ステップＳ１０３において、多重化部１１６は、選択したデータパケットに対応する制御情報パケットをすでに多重化済みであるか否かを判定する。選択したデータパケットに対応する制御情報パケットをまだ多重化していないと判定された場合、処理はステップＳ１０４に進む。
【００８１】
ステップＳ１０４において、多重化部１１６は、選択したデータパケットに対応する制御情報パケットを挿入する。具体的には、多重化部１１６は、制御情報パケット生成部１１５から供給される制御情報パケットの中から、選択したデータパケットと同じpacket_id及びmpu_sequence_numberがMPTに設定されている制御情報パケットを検索する。そして、多重化部１１６は、検出した制御情報パケットを送信部１１７に供給する。送信部１１７は、供給された制御情報パケットを送信する。これにより、選択したデータパケットに対応する制御情報パケットが、多重化ストリームに多重化されて送信される。
【００８２】
その後、処理はステップＳ１０５に進む。
【００８３】
一方、ステップＳ１０３において、選択したデータパケットに対応する制御情報パケットをすでに多重化済みであると判定された場合、ステップＳ１０４の処理はスキップされ、処理はステップＳ１０５に進む。
【００８４】
また、ステップＳ１０２において、選択したデータパケットがMPUの先頭を含んでいないと判定された場合、ステップＳ１０３及びＳ１０４の処理はスキップされ、処理はステップＳ１０５に進む。
【００８５】
ステップＳ１０５において、図６のステップＳ２の処理と同様に、選択したデータパケットが多重化される。
【００８６】
その後、処理はステップＳ１０１に戻り、ステップＳ１０１以降の処理が実行される。
【００８７】
図９は、図８の多重化処理による制御情報パケット及びデータパケットの多重化位置の例を示している。
【００８８】
ステップＳ１０３において、データパケットＰＤｄに対応する制御情報パケットがまだ多重化されていないと判定された場合、図９に示されるように、データパケットＰＤｄの直前に、データパケットＰＤｄに対応する制御情報パケットＰＣｄが多重化される。
【００８９】
これにより、受信装置は、データパケットＰＤｄを受信した場合、すでにデータパケットＰＤｄに対応する制御情報パケットＰＣｄを受信済みなので、データパケットＰＤｄに含まれるデータのデコード時刻及び提示時刻が未知となる期間が生じない。従って、受信装置は、データパケットＰＤｄに含まれるデータの再生を迅速に開始することができる。
【００９０】
なお、上述した図７のように、制御情報パケットを多重化可能な位置が予め定められている場合、多重化部１１６は、多重化可能な位置のうち、データパケットＰＤｄの前で最もデータパケットＰＤｄに近い位置に制御情報パケットＰＣｄを多重化するようにすればよい。
【００９１】
また、送信装置１０１が、例えば、複数の番組のデータ、複数のビデオ信号、又は、複数のオーディオ信号を多重化する場合、ステップＳ１０１の処理において、番組毎、ビデオ信号毎、又は、オーディオ信号毎に多重化するパケットが選択される場合がある。この場合、図９の制御情報パケットＰＣｄとデータパケットＰＤｄとの間に、別の番組、別のビデオ信号、又は、別のオーディオ信号のパケットが挿入されても特に構わない。
【００９２】
さらに、ステップＳ１０２の判定処理は省略することも可能である。
【００９３】
＜２．変形例＞
上述したように、１つのMPUのデータが複数のデータパケットに分割して格納される場合が想定される。この場合、例えば、多重化部１１６は、複数のデータパケットのうちMPUの先頭を含むデータパケットより前に、当該MPUの時刻情報を含む制御情報パケットを少なくとも１つ多重化するようにすればよい。
【００９４】
また、１つのMPUのデータが複数のデータパケットに分割して格納される場合、上述した図７の例において、データパケットＰＤｃ１は、mpu_sequence_numberがＮのMPUの末尾を含むデータパケットが該当し、データパケットＰＤｃ２は、mpu_sequence_numberがＮ＋１のMPUの先頭を含むデータパケットが該当する。すなわち、１つ前のMPUの末尾を含むデータパケットと、次のMPUの先頭を含むデータパケットとの間において、多重化する制御情報パケットを、次のMPUに対応する時刻情報を含む制御情報パケットに切り替えるようにすればよい。
【００９５】
さらに、上述したように、１つのMPUの時刻情報が複数の制御情報パケットに分割して格納される場合が想定される。この場合、多重化部１１６は、複数の制御情報パケットを少なくとも１つずつ当該MPUの先頭を含むデータパケットより前に多重化するようにすればよい。
【００９６】
また、例えば、本技術は、データパケット及び制御情報パケットが、インターネットプロトコル等によりさらにパケット化されてから多重化される場合にも適用することができる。
【００９７】
さらに、本技術は、上述したビデオ信号及びオーディオ信号以外の任意の再生対象となるデータ（以下、再生データと称する）をパケット化して多重化する場合にも適用することができる。このような再生データには、例えば、字幕データ等が考えられる。
【００９８】
また、本技術は、デコード時刻及び提示時刻のうち一方のみを含む時刻情報や、デコード時刻及び提示時刻以外の時刻情報を、再生データとは別にパケット化して多重化する場合にも適用することができる。
【００９９】
さらに、本技術は、デコード時刻及び提示時刻以外の再生データを再生するタイミングの制御に用いるタイミング情報を、再生データとは別にパケット化して多重化する場合にも適用することができる。例えば、そのようなタイミング情報として、送信側でデコードされない再生データを受信側で再生を開始する時刻である再生時刻等が想定される。
【０１００】
また、本技術は、時刻情報以外の再生データの再生に必要な制御情報を再生データとは別にパケット化して多重化する場合にも適用することができる。
【０１０１】
さらに、本技術は、再生対象となるデータである再生データと再生データの再生に用いる制御情報とを個別にパケット化して多重化したデータストリームを送信するシステムや装置全般に適用することができる。
【０１０２】
｛コンピュータの構成例｝
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１０３】
図１０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１０４】
コンピュータにおいて、CPU（Central Processing Unit）３０１，ROM（Read Only Memory）３０２，RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０１０５】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、及びドライブ３１０が接続されている。
【０１０６】
入力部３０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０１０７】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを、入出力インタフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０１０８】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１０９】
コンピュータでは、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０１１０】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１１１】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１１２】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１１３】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１１４】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１１５】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１１６】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０１１７】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１１８】
また、例えば、本技術は以下のような構成も取ることができる。
【０１１９】
（１）
再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成する多重化部と、
前記データストリームを送信する送信部と
を備え、
前記多重化部は、前記再生データの所定の処理単位のうちの１つの第１の処理単位に対応する前記制御情報を含む第１の制御情報パケットを、前記第１の処理単位を含む第１のデータパケットより前に多重化する
送信装置。
（２）
前記多重化部は、前記第１の処理単位の１つ前の第２の処理単位を含む第２のデータパケットと前記第１のデータパケットの間に前記第１の制御情報パケットを多重化する
前記（１）に記載の送信装置。
（３）
前記多重化部は、前記データストリームにおいて前記制御情報パケットを多重化可能な位置のうち、前記第１のデータパケットより前で前記第１のデータパケットに最も近い位置に前記第１の制御情報パケットを多重化する
前記（１）又は（２）に記載の送信装置。
（４）
前記多重化部は、前記データストリームにおいて前記制御情報パケットを多重化可能な位置のうち、前記第１のデータパケットより後で前記第１のデータパケットに最も近い位置に、前記第１の処理単位に対応する前記制御情報を含む第２の制御情報パケットをさらに多重化する
前記（１）乃至（３）のいずれかに記載の送信装置。
（５）
前記第１のデータパケットは、前記第１の処理単位の先頭を含む
前記（１）乃至（４）のいずれかに記載の送信装置。
（６）
前記制御情報は、前記処理単位を再生するタイミングの制御に用いるタイミング情報を含む
前記（１）乃至（５）のいずれかに記載の送信装置。
（７）
前記タイミング情報は、前記処理単位のデコードを開始する時刻を示す情報、及び、前記処理単位を提示する時刻を示す情報のうち少なくとも一方を含む
前記（６）に記載の送信装置。
（８）
前記データパケット及び前記制御情報パケットは、MMTP（MMT Protocol） Packetであり、
前記処理単位は、MPU（Media Processing Unit）である
前記（１）乃至（７）のいずれかに記載の送信装置。
（９）
再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成するともに、前記再生データの所定の処理単位に対応する前記制御情報を含む前記制御情報パケットを、前記処理単位を含む前記データパケットより前に多重化する多重化ステップと、
前記データストリームの送信を制御する送信制御ステップと
を含む送信方法。
（１０）
再生対象となるデータである再生データを含むパケットであるデータパケット、及び、前記再生データの再生に用いる制御情報を含むパケットである制御情報パケットを個別に多重化することによりデータストリームを生成するともに、前記再生データの所定の処理単位に対応する前記制御情報を含む前記制御情報パケットを、前記処理単位を含む前記データパケットより前に多重化する多重化ステップと、
前記データストリームの送信を制御する送信制御ステップと
を含む処理をコンピュータに実行させるためのプログラム。
【符号の説明】
【０１２０】
１０１  送信装置，  １１４  データパケット生成部，  １１５  制御情報パケット生成部，  １１６  多重化部，  １１７  送信部
【図１】
0006684433.tif 000002
【図２】
0006684433.tif 000003
【図３】
0006684433.tif 000004
【図４】
0006684433.tif 000005
【図５】
0006684433.tif 000006
【図６】
0006684433.tif 000007
【図７】
0006684433.tif 000008
【図８】
0006684433.tif 000009
【図９】
0006684433.tif 000010
【図１０】
0006684433.tif 000011