説明

コンテンツ生成装置及び方法

記録を前提とするコンテンツ生成において、AVストリームとマルチメディアデータとの提示処理の同期を可能とするコンテンツの生成。AVストリーム生成手段101及びデータストリーム生成手段102のそれぞれで生成されたタイムスタンプ付ストリームを、タイムスタンプ付コンテンツストリーム生成手段103により結合させる。これにより、AVストリームとマルチメディアデータの提示処理の同期を可能とするタイムスタンプ付コンテンツストリームを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像及び/または音声を含むAVデータとマルチメディアデータとを含むコンテンツ生成装置に関する。
【背景技術】
【0002】
近年、映像や音声をデジタル化し、放送や通信により配信するのが主流になっている。例えば、BS(Broadcast Satellite)デジタル放送や、CS(Communication Satellite)デジタル放送では、MPEG2規格により映像や音声がデジタル化されて配信されているし、地上デジタル放送においても同規格で映像や音声を含むAVデータが配信されている。また、デジタル化されて配信されるAVデータを記録媒体に記録した後に再生する視聴形態も盛んに行われている。例えば、テレビジョンで受信したAVデータがDVDレコーダやHDDレコーダに記録されたり、PCで受信したAVデータがHDDに記録されたりしている。特許文献1には、MPEG2規格によるAVビットストリームの記録再生方法に関する技術が開示されている。より具体的には、特許文献1には、AVビットストリームに予め記録されている時刻情報に基づいて実質上固定した基準クロックを生成し、その固定基準クロックに従って生成したタイムスタンプを各パケットに付与する技術が記載されている。これにより、固定の基準クロックに従ったタイムスタンプに基づいてAVビットストリームを再生することができる。
【0003】
一方、映像音声のデジタル化に伴い、ハイパーテキスト文書や画像データといったマルチメディアデータを映像や音声と共に配信するコンテンツ配信形態も盛んに行われている。BSデジタル放送のデータ放送がその一例として挙げられる。BSデジタル放送におけるデータ放送では、マルチメディアデータである複数のデータモジュールを、映像や音声の送信タイミングに合わせて送信している。また、所望の時刻に何らかのイベントを通知したい場合に使用する、イベントメッセージと呼ばれるメッセージデータも、BSデジタル放送のデータ放送で送信される。
【特許文献1】特開2000−156838号公報
【発明の開示】
【0004】
上記特許文献1はAVビットストリームのみを対象としたものであり、マルチメディアデータを扱うことを想定していない。また、マルチメディアデータの中には、その処理を映像・音声の再生に同期させる必要があるものが存在する。
【0005】
本発明は、記録した後に再生することを前提とし、AVデータとマルチメディアデータとを含むコンテンツの生成技術であって、マルチメディアデータの再生を映像や音声の再生に同期させることができるコンテンツの生成技術を提供することを目的とする。
【0006】
前記課題を解決するために、発明1は、映像及び/または音声のデータがパケット化されたパケットのストリームであるAVストリームからタイムスタンプ付AVストリームを生成するコンテンツ生成装置を提供する。この装置は、下記の手段を有している。
・少なくとも1のマルチメディアデータファイルをパケット化するパケット化手段、
・前記マルチメディアデータファイルの送信時間とデータ送信ビットレートと前記AVストリームのタイムスタンプ、及び/または前記マルチメディアデータファイルの送信時刻と前記AVストリームのタイムスタンプとに基づいて、前記パケット化手段によりパケット化された各パケットの再生タイミングを示すタイムスタンプを生成するタイムスタンプ生成手段、
・前記タイムスタンプ生成手段が生成したタイムスタンプをそのタイムスタンプに対応する各パケットに付与し、前記タイムスタンプ付きAVストリームと時間軸を共有するタイムスタンプ付マルチメディアデータストリームを生成するマルチメディアデータストリーム生成手段、
・前記タイムスタンプ付AVストリーム及び前記タイムスタンプ付マルチメディアデータストリームのタイムスタンプに基づいて前記タイムスタンプ付AVストリームと前記タイムスタンプ付マルチメディアデータストリームとを結合し、タイムスタンプ付コンテンツストリームを生成するタイムスタンプ付コンテンツストリーム生成手段。
【0007】
この装置により、AVストリームとマルチメディアデータとの再生を同期させることができる。マルチメディアデータがある時間に渡り送信されるデータモジュールであっても、またマルチメディアデータがある瞬間の時刻を指定して送信されるイベントメッセージであっても、AVストリームと同期させて再生することが出来る。
【0008】
発明2は、前記発明1において、前記マルチメディアデータファイルが複数ある場合、前記マルチメディアデータストリーム生成手段は、マルチメディアデータファイルの送信順序の設定を受け付けることを特徴とするコンテンツ生成装置を提供する。
【0009】
データモジュールをコンテンツ制作者の意図する順序で再生することが出来る。
【0010】
発明3は、発明1において、送信時間が指定された前記マルチメディアデータファイルが複数ある場合、前記マルチメディアデータストリーム生成手段は、マルチメディアデータファイルの送信順序を決定し、その送信順序でタイムスタンプ付マルチメディアデータストリームを生成した場合に、各マルチメディアデータファイルから生成されたパケットのタイムスタンプが示す時間がそのマルチメディアデータファイルの送信時間内か否かを判定することを特徴とするコンテンツ生成装置を提供する。
【0011】
この構成によると、再生できないデータモジュールが存在するということが無くなる。
【0012】
発明4は、前記発明1において、前記AVストリームの全パケットのうち複数のパケットにはそれらのパケットの再生タイミングを示す時刻情報が記録され、前記AVストリームのタイムスタンプは前記時刻情報に基づいて生成されているコンテンツ生成装置を提供する。この装置において、前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのあるパケットP1nに付与されたタイムスタンプ値と前記タイムスタンプ付マルチメディアデータストリームのあるパケットP2mに付与されたタイムスタンプ値とを比較し、両者が等しい場合、前記タイムスタンプ付AVストリームのパケットP1nのタイムスタンプ値T1n及びその時刻情報を変更する。
【0013】
この構成によると、タイムスタンプ値が同値であってもコンテンツを矛盾なく生成することが出来る。
【0014】
発明5は、前記発明4において、前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのパケットP1nのタイムスタンプ値T1nとその時刻情報とを、前記コンテンツストリームの時間軸に対して同じだけ変更することを特徴とするコンテンツ生成装置を提供する。
【0015】
AVデータストリームのタイムスタンプを変更しても、AVデータストリームの再生タイミングを示す時刻情報とタイムスタンプとを一致させることができる。
【0016】
発明6は、発明4または5において、前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのパケットPnの直前のパケットPa及び直後のパケットPbのタイムスタンプ値Ta、Tbを抽出し、パケットPnのタイムスタンプ値Tnを前記タイムスタンプ値Ta、Tbに基づいて変更することを特徴とするコンテンツ生成装置を提供する。
【0017】
発明7は、発明6において、前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのパケットPaとPnとのタイムスタンプ値の差ΔTa(ΔTa=Tn−Ta)と、パケットPnとPbとのタイムスタンプ値の差ΔTb(ΔTb=Tb−Tn)との差が小さくなるように、パケットPnのタイムスタンプ値Tnを変更することを特徴とするコンテンツ生成装置を提供する。
【0018】
発明8は、発明4〜7のいずれかにおいて、前記AVストリームはMPEG2の規格に準じており、前記時刻情報はPCR(Program Clock Reference)であることを特徴とするコンテンツ生成装置を提供する。
【0019】
発明9は、発明1において、前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのあるパケットPnに付与されたタイムスタンプ値と前記タイムスタンプ付マルチメディアデータストリームのあるパケットPmに付与されたタイムスタンプ値とを比較し、両者が等しい場合、前記タイムスタンプ付マルチメディアデータストリームのパケットPmのタイムスタンプ値Tmを変更することを特徴とするコンテンツ生成装置を提供する。
【0020】
AVストリームとマルチメディアデータストリームとでタイムスタンプ値が同じであっても、コンテンツを矛盾なく生成することが出来る。
【0021】
発明10は、発明9において、前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付マルチメディアデータストリームのパケットPmの直前のパケットPc及び直後のパケットPdのタイムスタンプ値Tc、Tdを抽出し、パケットPmのタイムスタンプ値Tmを前記タイムスタンプ値Tc、Tdに基づいて変更することを特徴とするコンテンツ生成装置を提供する。
【0022】
発明11は、発明10において、前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付マルチメディアデータストリームのパケットPaとPmとのタイムスタンプ値の差ΔTc(ΔTc=Tm−Tc)と、パケットPnとPdとのタイムスタンプ値の差ΔTd(ΔTd=Td−Tm)との差が小さくなるように、パケットPmのタイムスタンプ値Tmを変更することを特徴とするコンテンツ生成装置を提供する。
【0023】
発明12は、発明1において、前記マルチメディアデータファイルは、送信時間を指定されているマルチメディアデータファイル(以下、単にデータモジュールという)と送信時刻を指定されているマルチメディアデータファイル(以下、単にイベントメッセージという)とを含んでいるコンテンツ生成装置を提供する。この装置において、前記マルチメディアデータストリーム生成手段は、前記データモジュールと前記イベントメッセージとに同一の送信識別子を割り当てる場合、1以上のパケットからなる所定長のセクション単位で前記データモジュールをストリーム化し、前記イベントメッセージの送信時刻がいずれかのセクションの送信時間に含まれる場合、前記イベントメッセージの送信時刻がそのセクションの送信時間外となるように、そのセクションを構成する全パケットのタイムスタンプまたは前記イベントメッセージのタイムスタンプを変更する。
【0024】
この構成によると、メッセージデータを所望の時間からずらすことなく再生でき、かつ、データモジュールとの結合において規格違反を防ぐことが出来る。また、イベントメッセージのための通信帯域をとらずにすみ、通信帯域を有効に活用することができる。
【0025】
発明13は、前記発明1の装置が実行するコンテンツ生成方法を提供する。この方法は、発明1と同様の作用効果を奏する。
【0026】
本発明を用いれば、映像や音声の出力とマルチメディアデータの出力とを同期させることが出来る。
【図面の簡単な説明】
【0027】
【図1】第1実施形態に係るコンテンツ生成装置の機能構成図
【図2】入力されるデータモジュールの送信時間の一例を示す説明図
【図3】生成されるタイムスタンプ付マルチメディアデータストリームの概念説明図
【図4】コンテンツストリームの生成方法を示す概念説明図
【図5】(a)タイムスタンプ値の変更方法の説明図(ΔTa<ΔTb)(b)タイムスタンプ値の変更方法の説明図(ΔTa≧ΔTb)
【図6】コンテンツ生成装置が行うメインルーチンの流れの一例を示すフローチャート
【図7】図6のメインルーチンにおいて起動されるデータストリーム生成サブルーチンの処理の流れの一例を示すフローチャート
【図8】図6のメインルーチンにおいて起動されるコンテンツストリーム生成サブルーチンの流れの一例を示すフローチャート
【図9】図8のコンテンツストリーム生成サブルーチンで起動されるコンテンツストリームのパケット修正サブルーチンの処理の一例を示すフローチャート
【図10】第2実施形態のデータストリーム生成手段102の付加機能を示す概念説明図
【図11】データモジュールの送信順序の変更を受け付ける画面例
【図12】第2実施形態におけるデータストリーム生成サブルーチンの処理の流れの一例を示すフローチャート
【図13】入力されるイベントメッセージの送信時刻の一例を示す説明図
【図14】第3実施形態におけるデータストリーム生成サブルーチンの処理の流れの一例を示すフローチャート
【図15】第4実施形態におけるメインルーチンの流れの一例を示すフローチャート
【図16】第5実施形態に係るコンテンツ生成装置を含むデジタル放送システムの構成図
【図17】図16に示すコンテンツ生成装置が行うメインルーチンの流れの一例を示すフローチャート
【発明を実施するための最良の形態】
【0028】
以下本発明の実施の形態について、図面を参照しながら説明する。なお、本発明において、AVデータとは、映像データ及び音声データの両方、映像データのみ、または音声データのみを含む。また、コンテンツとは、AVデータとマルチメディアデータとを含む。マルチメディアデータには、動画像、静止画像、音声、テキストなどが含まれる。タイムスタンプとは、パケットの再生タイミングを示す時刻情報であればよい。時刻情報とは、日時を分や秒の単位で表される情報だけでなく、振動子の振動回数などであってもよい。
【0029】
<第1実施形態>
[全体構成]
図1は、本発明の第1実施形態に係るコンテンツ生成装置の機能構成図である。コンテンツ生成装置100は、コンテンツ制作者が管理し、AVデータストリームとマルチメディアデータストリームとを含むコンテンツストリームを生成する。その際、AVデータの出力とマルチメディアデータの出力とが同期するよう、コンテンツストリームが生成される。生成されたコンテンツストリームは、コンテンツ記録手段200に配信されて一旦記録され、コンテンツ再生手段300により再生される。また、生成されたコンテンツストリームは、コンテンツ再生手段300に配信され、記録されることなく直接再生されることもある。
【0030】
コンテンツ生成装置100は、例えばデジタルTVの放送局に設置される。コンテンツ記録手段200及びコンテンツ再生手段300は、デジタルTVの視聴者の受信機などと接続されるか、または受信機に設けられる。コンテンツ記録手段200及びコンテンツ再生手段300は、それぞれ異なるコンピュータシステムで実現されても良いし、一部または全部が同一のコンピュータシステムで実現されても良い。
【0031】
コンテンツ生成装置100は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニットなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、コンテンツ生成装置100は、その機能を達成する。
【0032】
[コンテンツ生成装置]
再度図1を参照し、コンテンツ生成装置100の構成について詳細に説明する。コンテンツ生成装置100は、AVストリーム生成手段101、データストリーム生成手段102、コンテンツストリーム生成手段103を含んで構成される。
【0033】
以下、各部構成について説明する。
【0034】
(1)AVストリーム生成手段
AVストリーム生成手段101は、AVストリームの入力を受け付け、AVストリームを構成する各パケットにタイムスタンプを付与する。タイムスタンプは、各パケットが再生されるべきタイミングと実質上一致するタイミングを示すように生成される。この例では、MPEG2規格に従ったAVストリームがAVストリーム生成手段101に入力される場合を考える。このAVストリームの中の複数のパケットには、それらの再生タイミングを示す時刻情報であるPCR(Program Clock Reference、基準時刻信号)が記録されている。PCRは、約100ms間に少なくとも1個が存在するように、AVストリームのパケットに記録される。PCRの値は、27MHz±3ppmの周波数の振動を基準クロックとして記録される。
【0035】
より具体的には、AVストリーム生成手段101は、AVストリームからPCRを抽出する。始めてPCRを抽出すると、その抽出と実質上同じタイミングに、そのPCRと同じ値をカウンタ(図示せず)に設定する。例えば、最初に抽出したPCRの値が“0”であれば、カウンタには“0”が設定される。カウンタの値は、AVストリーム生成手段101が内部に有する振動子(図示せず)からの信号に従い積算される。この振動子は、PCRの基準クロックよりも若干ずれた周波数、例えば27MHz近傍の周波数で振動する。そのため、PCRが周期的、例えば100ms間隔で記録されていれば、カウンタの積算値は次第にPCRとずれてくる。そこで、そのずれを検出し、ずれが少なくなるように、振動子の周波数を調整する。これにより、振動子に基づくカウンタの積算値は、AVストリームの各パケットが再生されるべきタイミングと実質上一致するタイミングを示す。AVストリーム生成手段101は、入力されたAVストリームの各パケットのヘッダにカウンタの積算値をタイムスタンプとして記録し、コンテンツストリーム生成手段103に出力する。
【0036】
(2)データストリーム生成手段
データストリーム生成手段102は、一つ以上のマルチメディアファイルの入力を受け付け、これをパケット化する。本実施形態では、マルチメディアファイルとして、AVストリームの時間軸に対する送信時間が指定されたもの(以下、データモジュールという)を考える。マルチメディアファイルをパケット化する方法は、ARIB(Association of Radio Industries and Business)規格とMPEG2規格とに順ずる。
【0037】
データストリーム生成手段102は、各データモジュールの送信時間とデータ送信ビットレートとの入力をさらに受け付け、タイムスタンプを生成し、タイムスタンプ付マルチメディアデータストリームをコンテンツストリーム出力手段103へ出力する。
【0038】
図2は、入力されるデータモジュールの送信時間の一例を示す。送信時間は、AVストリームの時間軸上における時間の範囲を特定する。この例では、AVストリームの先頭を基準とする相対時間を秒単位で指定することにより、データモジュールの送信時間を特定している。例えば、データモジュールID“0”の送信時間は、AVストリームの開始から300秒間である。同様に、データモジュールID“1”の送信時間は、バージョンが“0”のものがAVストリームの開始から120秒間である。データモジュールID“1”、バージョン“1”の送信時間は、AVストリームの開始後120秒〜300秒の180秒間である。なお、データモジュールID及びデータモジュールバージョンは、両者の組み合わせによりデータモジュールを特定する。
【0039】
タイムスタンプは、データモジュールの各パケットがAVストリームの各パケットと同期するタイミングを示すように生成される。基本的には、1つのデータモジュールの先頭パケットの値は下式で表される。
【0040】
(先頭パケットの値)=(AVストリームのタイムスタンプの初期値)+(データモジュールの送信開始時間をAVストリームの送信開始からの相対時間で表した値)
また1つのデータモジュールのパケットに付与されるタイムスタンプの最大値は下式で表される。
【0041】
(タイムスタンプの最大値)≦(AVストリームのタイムスタンプの初期値)+(データモジュールの送信終了時間をAVストリームの送信開始からの相対時間で表した値)
例えば、AVストリームのタイムスタンプの初期値が“0”であり、AVストリームの開始から300秒間の間送信されるデータモジュールにタイムスタンプを付与する場合を考える。そのデータモジュールには、“0”から始まりTiずつ300まで増加するタイムスタンプが順に付与される。タイムスタンプ値の変化幅Tiは一定であり、下式で算出される。
【0042】
Ti=(パケットサイズ)÷(データ送信ビットレート)
説明を容易にするため、この例では各データモジュールのデータ送信ビットレートは同一であるものとする。パケットサイズは、生成するコンテンツストリームの規格に準じ、例えばデジタルテレビ放送用のコンテンツストリームであれば188バイトまたは204バイトである。
【0043】
図3は、生成されるタイムスタンプ付マルチメディアデータストリームの概念説明図である。複数のデータモジュールはパケット化されて1つのマルチメディアストリームに合成される。各データモジュールは、カルーセル方式で、すなわち繰り返し送信されるように、マルチメディアストリームが生成される。各パケットのヘッダには、Ti間隔の値をもつタイムスタンプが付与される。
【0044】
複数のデータモジュールの送信時間が重複する場合、何らかの方法によりデータモジュールの送信順序を決め、その順序に従いタイムスタンプを付与する。この図では、2つのデータモジュール(ID=0,1)の送信時間が重複し、データモジュールID“0”、“1”の順に両者を送信する場合を示す。この場合、まずデータモジュール(ID“0”)のパケットにタイムスタンプを付与する。データモジュール(ID“0”)1つ分に相当するパケット全部にタイムスタンプを付与し終わったら、次にデータモジュール(ID“1”)1つ分に相当する全パケットにタイムスタンプを付与する。データストリーム生成手段102は、データモジュールのパケットにタイムスタンプを付与する度に、そのデータモジュールの送信終了時間をタイムスタンプが越えていないかどうかを判断する。複数のデータモジュールへのタイムスタンプの付与をそれらの送信順序に従って繰り返し、いずれかの送信時間、この例ではデータモジュール(ID“1”)の送信時間が早く終了する場合、その後は他方のデータモジュール(ID“0”)のパケットにタイムスタンプを付与する。
【0045】
(3)コンテンツストリーム生成手段
コンテンツストリーム生成手段103は、AVストリームとマルチメディアストリームとをタイムスタンプに基づいて結合し、コンテンツストリームを生成する。またコンテンツストリーム生成手段103は、生成したコンテンツストリームを、放送ネットワークや通信ネットワークなどを介してコンテンツ記録手段200に配信する。
【0046】
図4は、コンテンツストリームの生成方法を示す概念説明図である。コンテンツストリーム生成手段103は、タイムスタンプの値の小さい順にAVストリーム及びマルチメディアデータストリームのパケットを並べ、1つのコンテンツストリームを生成する。両者のタイムスタンプの値が同じ場合、いずれかのタイムスタンプの値を書き換える。図4では、AVストリームのパケットのタイムスタンプ値を書き換える場合を示している。
【0047】
図5は、タイムスタンプ値の変更方法の説明図である。例えばAVストリームのパケットのタイムスタンプを書き換える場合を考える。対象となるパケットPnの直前のパケットPa及びそのタイムスタンプ値Taと、直後のパケットPb及びそのタイムスタンプ値Tbとに基づいて、タイムスタンプ値Tnを変更することができる。具体的には、ΔTa=Tn−Ta、ΔTb=Tb−Tnとすると、ΔTaとΔTbとの差が小さくなるように、タイムスタンプ値Tnを変更すると良い。図5(a)は、ΔTa<ΔTbの場合に、タイムスタンプ値Tnを大きくすることを示す。図5(b)は、ΔTa≧ΔTbの場合に、タイムスタンプ値Tnを小さくすることを示す。この方法は、マルチメディアデータストリームのパケットのタイムスタンプ値を変更する場合にも適用可能である。
【0048】
ところで、AVストリームのパケットPnのタイムスタンプTnの値を変更する場合、そのパケットPnの時刻情報PCRの値も変更する。タイムスタンプTnの値を増やす場合、PCRの増加量は、増やした後にTbを上回らない数で任意としてよい。あるいは、PCRの値をタイムスタンプの最小変化分Tiだけ増やしてもよい。またあるいは、PCRの値を、(パケットサイズ÷(AVストリームのビットレート+データストリームのビットレート))だけ増やしてもよい。タイムスタンプTnの値を減少する場合も同様である。
【0049】
[処理の流れ]
(1)メインルーチン
図6は、コンテンツ生成装置100が行うメインルーチンの流れの一例を示すフローチャートである。
【0050】
ステップS101:コンテンツ生成装置100は、AVストリーム及びマルチメディアデータファイル、この例ではデータモジュールの入力を受け付ける。また、データモジュールの送信時間やデータ送信ビットレートの入力を受け付ける。
【0051】
ステップS102:コンテンツ生成装置100は、AVストリーム生成手段101により、タイムスタンプ付AVストリームを生成する。
【0052】
ステップS103:コンテンツ生成装置100は、データストリーム生成手段102が実行するデータストリーム生成サブルーチンにより、タイムスタンプ付マルチメディアデータストリームを生成する。この処理については詳細を後述する。
【0053】
ステップS104:コンテンツ生成装置100は、コンテンツストリーム生成手段103が実行するコンテンツストリーム生成サブルーチンにより、タイムスタンプ付コンテンツストリームを生成する。この処理については詳細を後述する。
【0054】
ステップS105:コンテンツ生成装置100は、コンテンツストリーム生成手段103により生成したコンテンツストリームを出力する。
【0055】
(2)データストリーム生成処理サブルーチン
図7は、前記メインルーチンにおいて起動されるデータストリーム生成サブルーチンの処理の流れの一例を示すフローチャートである。この処理は、データストリーム生成手段102により実行される。この処理により、各データモジュールを構成するパケットにそれぞれ異なるタイムスタンプが付与される。
【0056】
ステップS201:データストリーム生成手段101は、下式に基づいてタイムスタンプの付与間隔Tiを算出する。
【0057】
Ti=(パケットサイズ)÷(データ送信ビットレート)
ステップS202:データストリーム生成手段101は、データモジュールの送信順序を決定し、それに基づいて先頭パケットを決定する。先頭パケットとは、先頭データモジュールをパケット化した際の最初のパケットである。データモジュールの送信順序は任意でもよいし、所定のルールを予め決めておきそのルールに従って決定しても良い。例えばモジュールID及びバージョンIDの小さい方から昇順に送信順序を決定してもよい。また、全データモジュールが一通り送信される1周期の順番だけを決め、各データモジュールの2回目以降の送信を開始する2周期目からは1周期と同じ順番で送信するとしてもよい。
【0058】
ステップS203:データストリーム生成手段101は、タイムスタンプTsの初期値Ts0を決定する。前述したように、タイムスタンプTsの初期値Ts0は、AVストリームのタイムスタンプの初期値と各データモジュールの送信開始時間とにより決まる。
【0059】
ステップS204,S205:データストリーム生成手段101は、タイムスタンプの初期値Ts0が示す時間が、先頭データモジュールの送信終了時間を過ぎているか否かを判定する(S204)。過ぎている場合はそのデータモジュールの送信が不可能であるので、そのことを示す画面や音声などを出力してユーザに通知し(S205)、処理を終了する。タイムスタンプの初期値Ts0が示す時間が、先頭データモジュールの送信終了時間を過ぎていなければ、処理を続行する。
【0060】
ステップS206:データストリーム生成手段101は、先頭パケットのヘッダにタイムスタンプ値Ts0を記録する。
【0061】
ステップS207:データストリーム生成手段101は、次パケットを決定する。次パケットは、パケット化されたデータモジュールのパケットから、データモジュール送信順序に基づいて選択される。
【0062】
ステップS208:データストリーム生成手段101は、次パケット用タイムスタンプ値Tsmを決定する。Tsmは前回パケットに付与したタイムスタンプ値にTiを加算した値である。ただし、次パケットがあるデータモジュールの送信開始パケットにあたる場合、そのタイムスタンプ値Tsmは、そのデータモジュールの送信開始時刻とAVストリームのタイムスタンプ初期値とデータモジュール送信順序とに基づいて決まる。
【0063】
ステップS209,S210:データストリーム生成手段101は、次パケットが属するデータモジュールの送信終了時間をタイムスタンプ値Tsmが超えていないか否かを判定する(S209)。超えている場合はデータモジュールの送信ができないので、その旨をユーザに通知すると共に処理を終了する(S210)。超えていない場合は処理を続行する。なお、タイムスタンプ値Tsmが次パケットの属するデータモジュールの送信終了時間を超えている場合でも、送信時間が終了していない別のデータモジュールがあるかどうかを判断し、ある場合には送信時間が終了していないデータモジュールの送信順序に基づいて次のパケットを決定してもよい。
【0064】
ステップS211:データストリーム生成手段101は、次パケットのヘッダにタイムスタンプ値Tsmを書き込む。
【0065】
ステップS212:データストリーム生成手段101は、タイムスタンプ値Tsmにタイムスタンプの間隔Tiを足した値(Tsm+Ti)が全データモジュールの送信終了時間のうち最も遅いものを超えているかどうか判断する。超えていなければ、再度ステップS207に戻り上述の処理を実行する。Tsm+Tiが送信終了時間の最も遅いものを超えている場合にはデータを送信できないので処理を終了する。
【0066】
以上のように、少なくとも1つのデータモジュールをパケット化し、その全パケットについてデータモジュールの送信順にタイムスタンプを付与する。これらのパケットをタイムスタンプ順に結合し、タイムスタンプ付マルチメディアデータストリームを生成する。
【0067】
(3)コンテンツストリーム生成処理
図8は、前記メインルーチンにおいて起動されるコンテンツストリーム生成サブルーチンの流れの一例を示すフローチャートである。この処理は、コンテンツストリーム生成手段103により実行される。この処理により、AVストリームとマルチメディアストリームとが1つのコンテンツストリームに合成される。
【0068】
ステップS301:コンテンツストリーム生成手段103は、タイムスタンプ付AVストリーム及びタイムスタンプ付マルチメディアデータストリームの先頭パケットを、それぞれのストリームのカレントパケットとして選択する。
【0069】
ステップS302:コンテンツストリーム生成手段103は、それぞれのストリームで選択されたカレントパケットのタイムスタンプ値を比較する。
【0070】
ステップS303:コンテンツストリーム生成手段103は、比較したタイムスタンプ値が等しいかどうかを判定する。
【0071】
ステップS304:コンテンツストリーム生成手段103は、比較したタイムスタンプ値が等しくない場合、タイムスタンプが小さい方のカレントパケットをタイムスタンプ付コンテンツストリームの次パケットとして決定する。比較したタイムスタンプ値が等しい場合、後述するステップS310に移行する。
【0072】
ステップS305:コンテンツストリーム生成手段103は、次パケットに決定したパケットを、タイムスタンプ付コンテンツストリームの最後に結合する。
【0073】
ステップS306:コンテンツストリーム生成手段103は、決定したパケットが属していたストリームに次のパケットがあるか否かを判定する。例えばタイムスタンプ付AVストリームのカレントパケットがコンテンツストリームの次パケットに決定した場合、AVストリームのカレントパケットの次にパケットがあるか否かを判定する。
【0074】
ステップS307:コンテンツストリーム生成手段103は、コンテンツストリームの次パケットに決定したカレントパケットが属していたストリームについて、カレントパケットの次のパケットをカレントパケットに選択する。その後再びステップS302に戻り、前述の処理を繰り返す。これにより、AVストリームのパケットとマルチメディアデータストリームのパケットとが、タイムスタンプ順に並べられる。
【0075】
ステップS308:コンテンツストリーム生成手段103は、コンテンツストリームの次パケットに決定したカレントパケットが属していない方のストリームについて、残りの全パケットをタイムスタンプ付コンテンツストリームの最後に結合する。例えば、AVストリームのカレントパケットをコンテンツストリームの最後に結合した後にその次のパケットがAVストリームにない場合、マルチメディアデータストリームの残り全てのパケットをコンテンツストリームの最後に結合する。その後前記メインルーチンに戻る。なお、このステップを行うことなくメインルーチンに戻っても良い。
【0076】
ステップS309:コンテンツストリーム生成手段103は、タイムスタンプ付AVストリーム及びタイムスタンプ付マルチメディアデータストリームのカレントパケットのタイムスタンプ値が同じである場合、2つのカレントパケットのいずれかのタイムスタンプを変更する。この例では、コンテンツストリームのパケット修正サブルーチンを実行することにより、タイムスタンプ付AVストリームのカレントパケットのタイムスタンプ及び時刻情報を変更する。この処理の詳細については、図9を参照して後述する。
【0077】
以上の処理により、タイムスタンプ付AVストリーム及びタイムスタンプ付マルチメディアストリームのパケットがタイムスタンプ順に並べられたコンテンツストリームが生成される。
【0078】
(4)コンテンツストリームのパケット修正処理
図9は、コンテンツストリーム生成サブルーチンで起動されるコンテンツストリームのパケット修正サブルーチンの処理の一例を示すフローチャートである。
【0079】
ステップS401:コンテンツストリーム生成手段103は、タイムスタンプ付AVストリームのカレントパケットPnの直前のパケットPa及び直後のパケットPbについて、それぞれのタイムスタンプの値Ta、Tbを取得する。
【0080】
ステップ3402:コンテンツストリーム生成手段103は、カレントパケットのタイムスタンプ値TnとTaとの差ΔTa及びTnとTbとの差ΔTbを比較する(ΔTa=Tn−Ta、ΔTb=Tb−Tn)。
【0081】
ステップS403:コンテンツストリーム生成手段103は、ΔTa>ΔTbかどうかを判定する。
【0082】
ステップS404:コンテンツストリーム生成手段103は、ΔTa>ΔTbの場合、タイムスタンプTnの値を増加させる。さらに、パケットに記述されているPCRの値も同じだけ増加させる。
【0083】
ステップS405:コンテンツストリーム生成手段103は、ΔTa≦ΔTbの場合、タイムスタンプTnの値を減少させる。さらに、パケットに記述されているPCRの値も同じだけ減少させる。
【0084】
[効果]
以上のようにして、タイムスタンプ付AVストリーム及びタイムスタンプ付マルチメディアデータストリームのタイムスタンプが競合した場合でも、例えばAVストリームのカレントパケットのタイムスタンプと時刻情報とを変更することにより、タイムスタンプの競合を解消することができる。また、同様の方法でマルチメディアデータストリームのカレントパケットのタイムスタンプ値を変更することにより、競合を解消することができる。
【0085】
<第2実施形態>
第2実施形態に係るコンテンツ生成装置100は、データモジュールの送信順序の変更を受け付ける。このコンテンツ生成装置100は、データストリーム生成手段102の機能にデータモジュールの送信順序の変更を受け付ける機能が付加されていることを除き、第1実施形態と同様の機能構成を有する。
【0086】
図10は、第2実施形態のデータストリーム生成手段102の付加機能を示す概念説明図である。データストリーム生成手段102は、送信時間が指定されたデータモジュールの送信順序を決定し、その順序で全てのデータモジュールを送信できない場合には送信順序の変更を受け付ける。例えば、図10は、送信時間が全て重複するデータモジュール(ID=0、1、2)の送信順序を変更する例を示す。最初に送信順序として“0”、“0”、“1”、“0”、“0”、“2”を決定したが、この送信順序ではデータモジュール(ID=2)に対して送信時間内のタイムスタンプを付与できない。これでは、データモジュール(ID=2)を送信時間内に送信することができなくなる。そこで、例えば新たな送信順序“0”、“1”、“2”、“0”、“1”、“2”を決定する。新たな送信順序により、全モジュールに対し、送信時間内のタイムスタンプを付与することができる。新たな送信順序は、データストリーム生成手段102が設定しても良いし、ユーザが設定しても良い。
【0087】
図11は、データモジュールの送信順序の変更を受け付ける画面例である。データストリーム生成手段102は、送信時間内のタイムスタンプをいずれかのデータモジュールに付与できないと判断した場合、この画面を出力する。ここで「設定を変更する」ボタンが押下されると、データストリーム生成手段102は新たな送信順序を生成する。もしくは、データモジュールの送信順序の変更受付画面を表示し(図示せず)、ユーザによる送信順序の設定を受け付けても良い。
【0088】
図12は、第2実施形態におけるデータストリーム生成サブルーチンの処理の流れの一例を示すフローチャートである。第2実施形態におけるコンテンツ生成処理装置100は、前記第1実施形態のコンテンツ生成処理装置100が行う処理において、データストリーム生成サブルーチンを以下の処理に置き換えた処理を実行する。
【0089】
ステップS501:データストリーム生成手段102は、第1実施形態と同様にタイムスタンプの付与間隔Tiを算出する。
【0090】
ステップS502:データストリーム生成手段102は、第1実施形態と同様にデータモジュールの送信順序を決定する。
【0091】
ステップS503:データストリーム生成手段102は、決定したデータモジュールの送信順序で各データモジュールの送信時間内にそのデータモジュールを最低一回送信可能かどうか判定する。
【0092】
ステップS504:データストリーム生成手段102は、いずれかのデータモジュールに対しその送信時間内のタイムスタンプを付与できない場合、データモジュールの送信順序を変更するかどうかをユーザに問い合わせる。この問い合わせは、例えば前記図11に例示する画面を表示することにより行う。送信順序に変更がある場合はステップS505に移行し、変更がない場合は後述するステップS506に移行する。
【0093】
ステップS505:データストリーム生成手段102は、ユーザの指示に従い、または第1実施形態と同様にして、新たな送信順序を生成し、前記ステップS503の判断を再度繰り返す。
【0094】
ステップS506:データストリーム生成手段102は、全てのデータモジュールに対しそれぞれの送信時間内のタイムスタンプを付与できる場合、もしくは送信順序の変更がない場合、データモジュールの送信順序を確定し、第1実施形態と同様に先頭パケットを決定する。
【0095】
ステップS507〜S516:送信順序が決定した後の処理は、前記第1実施形態におけるステップS203〜S212における処理と同様である。すなわち、データストリーム生成手段102は、送信順序に従ってデータモジュールから生成されたパケットを並べ、順番にタイムスタンプを付与していく。
【0096】
この処理により、ユーザは、タイムスタンプ付コンテンツストリームにデータモジュールすべてが含まれるかどうかを、コンテンツストリーム生成前に知ることができる。
【0097】
<第3実施形態>
第3実施形態では、マルチメディアデータファイルとして、送信時刻が指定されているもの(以下、単にイベントメッセージという)が入力される場合を考える。コンテンツ生成装置100の機能構成は、以下に説明する点を除き第1実施形態と同様である。
【0098】
図13は、入力されるイベントメッセージの送信時刻の一例を示す。送信時刻は、AVストリームの時間軸上における時刻を特定する。この例では、AVストリームの先頭を基準とする相対時刻を秒単位で指定することにより、イベントメッセージの送信時刻を特定している。例えば、イベントメッセージID“1”の送信時刻は、AVストリームの開始から100秒後の時点である。なお、イベントメッセージID及びイベントメッセージバージョンは、両者の組み合わせによりイベントメッセージを特定する。
【0099】
図14は、第3実施形態におけるデータストリーム生成処理サブルーチンの流れの一例を示すフローチャートである。第3実施形態におけるコンテンツ生成処理装置100は、前記第1実施形態のコンテンツ生成処理装置100が行う処理において、データストリーム生成サブルーチンを以下の処理に置き換えた処理を実行する。
【0100】
ステップS601:データストリーム生成手段101は、第1実施形態と同様にしてタイムスタンプの付与間隔Tiを算出する。
【0101】
ステップS602:データストリーム生成手段101は、イベントメッセージの送信順序を決定し、それに基づいて先頭パケットを決定する。イベントメッセージの送信順序は、各イベントメッセージの送信時刻順である。先頭パケットとは、先頭イベントメッセージをパケット化した際の最初のパケットである。
【0102】
ステップS603:データストリーム生成手段102は、タイムスタンプの初期値(Ts0)を決定する。タイムスタンプ初期値Ts0は、AVストリームのタイムスタンプの初期値と先頭イベントメッセージの送信時刻とにより決まる。
【0103】
ステップS604:データストリーム生成手段102は、先頭パケットのパケットヘッダにタイムスタンプ値Ts0を記録する。
【0104】
ステップS605:データストリーム生成手段102は、次のパケットを決定する。次のパケットは、イベントメッセージの送信順寿に基づいて、パケット化されたイベントメッセージのパケットの中から選択される。
【0105】
ステップS606:データストリーム生成手段102は、次パケット用タイムスタンプ値Tsmを決定する。次パケットがその直前のパケットと同一のイベントメッセージから生成されている場合、この値Tsmは前回パケットに付与したタイムスタンプ値にタイムスタンプの付与間隔Tiを加算した値である(Tsm=(前パケットのタイムスタンプ値)+Ti)。次パケットとその直前パケットとが異なるイベントメッセージから生成されている場合、次パケット用タイムスタンプ値Tsは、そのパケットの元となっているイベントメッセージの送信時刻とAVストリームのタイムスタンプの初期値とにより決まる。
【0106】
ステップS607:データストリーム生成手段102は、次パケットのパケットヘッダにタイムスタンプ値Tsを記録する。
【0107】
ステップS608:データストリーム生成手段102は、次のパケットがあるかどうかを判定する。次のパケットがある場合、前記ステップS605に戻り、次パケットにタイムスタンプを付与する処理を繰り返す。次のパケットがない場合、処理を終了し、メインルーチンに戻る。
【0108】
以上のように、全イベントメッセージについてタイムスタンプを付与し、イベントメッセージの送信順に結合することにより、マルチメディアデータストリームを生成することができる。
【0109】
<第4実施形態>
前記第1〜第2実施形態では、全てのデータモジュールのデータ送信ビットレートが同一である場合を例に取り説明している。しかし、データモジュール毎にデータ送信ビットレートが異なる場合もあり得る。その場合、図7に示すデータストリーム生成サブルーチンにおいて、データモジュール送信順序の決定及び先頭パケットの決定(S202)は不要である。その代わり、データストリーム生成手段101は、ステップS202を省いたデータストリーム生成処理を、各データモジュール毎に独立に行う。
【0110】
図15は、第4実施形態のコンテンツ生成装置が行うメインルーチンの処理の流れの一例を示すフローチャートである。この図では、3つのデータモジュールのデータ送信ビットレートが異なる場合を例に取っている。コンテンツ生成装置100は、AVストリーム及びデータモジュールの入力を受け付けると(S701)、第1実施形態と同様にタイムスタンプ付AVストリームを生成する(S702)。データストリーム生成手段102は、各データモジュールからタイムスタンプ付ストリームをそれぞれ生成する(S703〜S704)。さらにデータストリーム生成手段102は、これらのストリームをタイムスタンプに基づいて結合し、タイムスタンプ付結合データストリームを生成する(S706)。このときタイムスタンプの競合がある場合、第1実施形態で述べたように競合するタイムスタンプ値のいずれかを変更する。結合データストリームはコンテンツストリーム生成手段103に出力され、第1実施形態で述べたようにAVストリームと結合されて1つのコンテンツストリームが生成・出力される(S707,S708)。
【0111】
以上の処理により、複数のデータモジュールのデータ送信ビットレートが異なっていても、AVストリームとそれらのデータモジュールとの同期出力が可能なコンテンツストリームを生成することができる。
【0112】
<第5実施形態>
[全体構成]
図16は、第5実施形態に係るコンテンツ生成装置を含む、デジタル放送システムの構成例である。このデジタル放送システムは、デジタルTV放送を行う放送局1000と、視聴者の宅内に設置された機器とを含んでいる。視聴者の宅内には、コンテンツ生成装置100、コンテンツ記録手段200、コンテンツ再生手段300及びコンテンツ受信手段400が設置されている。コンテンツ生成装置100、コンテンツ記録手段200、コンテンツ再生手段300及びコンテンツ受信手段400は、別々の機器であってもよいし、一部または全てが同一のコンピュータシステム上に設けられていてもよい。
【0113】
このデジタル放送システムは、次のように動作する。放送局1000は、タイムスタンプ付きAVストリームと、データモジュールなどのマルチメディアファイルと、を送信する。放送局1000から送信されたデータは、コンテンツ受信手段400により受信される。コンテンツ受信手段400が受信したデータは、コンテンツ記録手段200に記録され、記録されたデータがコンテンツ生成装置100に入力される。コンテンツ生成装置100は、前記第1実施形態で述べたようにコンテンツストリームを生成する。生成されたコンテンツストリームは、コンテンツ再生手段300により再生出力される。
【0114】
コンテンツ受信手段400は、データモジュールなどのマルチメディアデータを、必ずしもAVストリームと同じネットワークで受信しなくてもよい。例えば、インターネット上のサーバ2000からマルチメディアデータを受信することも考えられる。例えば、デジタル放送ネットワーク上でデータモジュールを受信できなかった場合、コンテンツ受信手段400は、インターネット上のサーバ2000にマルチメディアデータの送信を要求し、これを取得してもよい。
【0115】
なお、この例では、放送局1000は、タイムスタンプ付きAVストリームを送信するが、タイムスタンプのついていないAVストリームを送信してもよい。以下では、タイムスタンプ付きAVストリームとタイムスタンプの付いていないAVストリームとを特に区別しない場合、まとめてAVストリームと呼ぶ。
【0116】
[コンテンツ生成装置]
(1)機能
基本的に、コンテンツ生成装置100の機能は、第1〜3実施形態と同様である。つまり、コンテンツ生成装置100は、AVストリームにタイムスタンプをつけ、マルチメディアデータストリームを生成し、これらに基づいてコンテンツストリームを生成する。
【0117】
本実施形態のように、コンテンツ受信手段400が受信するAVストリームには必ずタイムスタンプが含まれる場合、コンテンツ生成装置100からAVストリーム生成手段101を省略することもできる。逆に、タイムスタンプが付いていないAVストリームを受信する場合、コンテンツ生成装置100は、AVストリームの各パケットにタイムスタンプを付与する。両方のタイプのAVストリームを受信するシステムでは、受信したAVストリームにタイムスタンプが付いているか否かを判断する機能が、AVストリーム生成手段101にあるとよい。
【0118】
マルチメディアデータストリーム及びコンテンツストリームの生成方法は、前記第1実施形態と同様である。
【0119】
(2)コンテンツストリームの生成タイミング
AVストリーム、マルチメディアデータストリーム及びコンテンツストリームを生成するタイミングは、様々な態様が考えられる。以下にその一例を列記する。
【0120】
(2−1)生成タイミング1
コンテンツ再生手段300がデータを再生するタイミングで、AVストリーム、マルチメディアデータストリーム及びコンテンツストリームを生成する。まず、コンテンツ受信手段400が受信したデータを、そのままコンテンツ記録手段200により記録しておく。その後、例えば、コンテンツ再生手段300がユーザから再生の指示を受け付けると、コンテンツ生成装置100は、AVストリームとデータモジュールとをコンテンツ記録手段200から読み出し、マルチメディアデータストリームを生成し、コンテンツストリームの合成を行う。さらにコンテンツ記録手段200は、生成したコンテンツストリームを記録してもよい。再生の指示から再生の実行までの間、コンテンツストリームの合成のための処理時間がかかる場合があるので、ユーザに対して何らかのメッセージや待ち時間に関する表示を出力するようにしてもよい。
【0121】
この方法は、データの受信とコンテンツストリームの生成とを別々のタイミングで行うので、各手段200,300,400及びコンテンツ生成装置100のどこかに処理の負荷が集中するのを避けることができる。なかでも、各手段200,300,400及びコンテンツ生成装置100が同一のコンピュータシステム上に設けられている場合には、CPUの負荷が少なくて済むという利点がある。
【0122】
(2−2)生成タイミング2
コンテンツ生成装置100は、AVストリーム及びデータモジュールを受信すると、すぐにコンテンツストリームの生成を行うこともできる。つまり、コンテンツ生成装置100は、再生の指示を待つことなく、受信が完了したAVストリーム及びデータモジュールから、コンテンツストリームを合成することもできる。この方法では、ユーザがコンテンツの再生を指示してから再生を開始するまでのユーザの待ち時間が短くなる利点がある。
【0123】
さらに、AVストリーム及びデータモジュールの受信のタイミングにより、以下に述べる2つの生成方法がある。1つは、AVストリーム及びデータモジュールを別々のタイミングで、すなわち非同期で受信する場合の方法である。この場合、タイムスタンプのないAVストリームの受信が完了したらタイムスタンプ付きAVストリームの生成を行い、データモジュールの受信を完了したらマルチメディアデータストリームの生成を行う。ここで、AVストリーム及びデータモジュールの受信の完了とは、AVストリームの最初から最後まで及び1カルーセル分のデータモジュールを受信した場合とするのがよい。データモジュールを1カルーセル分受信すればデータモジュールの受信が完了したと見なすことで、最小限の時間とデータ量でマルチメディアデータストリームを生成できる。タイムスタンプ付きAVストリーム及びマルチメディアデータストリームを生成した後は、前述と同様にコンテンツストリームを合成する。この方法を行う場合、コンテンツ生成装置100は、AVストリーム及びマルチメディアデータストリームの両方の生成が終了したか否かを監視する機能を有しているとよい。
【0124】
もう1つの方法は、AVストリーム及びデータモジュールを同時に、つまり同期して受信する場合である。この場合、タイムスタンプのないAVストリームの受信を完了したらタイムスタンプ付きAVストリームの生成を行い、データモジュールの受信を完了したらマルチメディアデータストリームの生成を行うとよい。この方法では、AVストリームの生成開始とマルチメディアデータストリームの生成開始とがずれる場合がある。例えば、AVストリームの受信中に、マルチメディアデータストリームの生成を行うことがある。この方法では、AVストリームの受信完了まで待つことなく、マルチメディアデータストリームの生成を開始するので、コンテンツストリームの生成完了までの時間を短縮できる。この方法を行う場合も、コンテンツ生成装置100は、AVストリーム及びマルチメディアデータストリームの両方の生成が終了したか否かを監視する機能を有しているとよい。
【0125】
(2−3)生成タイミング3
コンテンツ生成装置100は、コンテンツ受信手段400によるデータの受信が完了し、コンテンツ記録手段200によるデータの記録が完了した後、いずれの手段200,300,400も動作していないときに、コンテンツストリームの合成を行うこともできる。この方法を実行する場合、コンテンツ生成装置100には、各手段200,300,400の動作状況を判断する機能があることが好ましい。
【0126】
この方法は、データの受信とコンテンツストリームの生成とデータの再生とを別々のタイミングで行うので、各手段200,300,400及びコンテンツ生成装置100のどこかに処理の負荷が集中するのを避けることができ、CPUを効率的に使用することができる。なかでも、各手段200,300,400及びコンテンツ生成装置100が同一のコンピュータシステム上に設けられている場合には、CPUの負荷を押さえつつCPUを効率的に利用できる利点がある。
【0127】
(3)処理の流れ
図17は、本実施形態のコンテンツ生成装置100が行うメインルーチンの流れの一例を示すフローチャートである。この例では、コンテンツ受信手段400がタイムスタンプ付きAVストリームを受信する場合を説明する。また、前述の生成タイミング2におけるコンテンツストリームの生成を例にとり、説明する。すなわち、コンテンツ記録手段200にタイムスタンプ付きAVストリーム及びデータモジュールが記録され、受信や再生が行われていない状態における生成を説明する。
【0128】
ステップS801:コンテンツ生成装置100は、AVストリーム及びマルチメディアデータファイル、この例ではデータモジュールを、コンテンツ記録手段200から読み出す。また、コンテンツ生成装置100は、データモジュールの送信時間やデータ送信ビットレートを、コンテンツ記録手段200から読み出す。データモジュールの送信時間やデータ送信ビットレートは、データモジュールとともにコンテンツ記録手段200に記録されている。
【0129】
ステップS802:コンテンツ生成装置100は、前述したデータストリーム生成サブルーチンにより、タイムスタンプ付マルチメディアデータストリームを生成する。
【0130】
ステップS803:コンテンツ生成装置100は、前述したコンテンツストリーム生成サブルーチンにより、タイムスタンプ付コンテンツストリームを生成する。
【0131】
ステップS804:コンテンツ生成装置100は、コンテンツストリーム生成手段103により生成したコンテンツストリームを、コンテンツ記録手段200に渡し、ハードディスクなどに書き込んでもらう。
【0132】
本実施形態のコンテンツ生成装置100を、コンテンツ受信装置やコンテンツ記録装置、コンテンツ再生装置などとともにユーザ側に設けておくことにより、ユーザ側でコンテンツストリームを合成することができる。
【0133】
<その他の実施形態>
(A)マルチメディアデータファイルとして、データモジュールとイベントメッセージとを入力する場合、データモジュールのパケットとイベントメッセージのパケットとでタイムスタンプが競合することもある。データモジュールのストリームとイベントメッセージのストリームとに別々の送信識別子を割り当てることを前提にコンテンツストリームを生成するのであれば、前記第1実施形態で述べた方法によりいずれかのタイムスタンプ値を変更すればよい。
【0134】
逆に、データモジュールのストリームとイベントメッセージのストリームとに同じ送信識別子を割り当てることを前提にコンテンツストリームを生成することがある。具体的には、デジタルテレビ放送において、データモジュールのストリームとイベントメッセージのストリームとに同一PIDを付与する場合である。このとき、イベントメッセージのパケットの結合位置が、データモジュールのストリームの1セクション中になってしまう場合、次の2つの解決方法が考えられる。1つは、このセクションを構成する全パケットのタイムスタンプ値を、イベントメッセージのタイムスタンプより大きい値にずらす方法である。もう1つは、イベントメッセージのタイムスタンプ値を、このセクションを構成する全パケットの後ろにずらす方法である。前者の方法は、イベントメッセージを所望のタイミングからずらすことなく再生できるという利点がある。また、データモジュールとイベントメッセージとの結合をデジタルテレビ放送の規格の範囲で行うことができる利点がある。
【0135】
ここで、セクションとは、データモジュールを送信する単位であり、複数のパケットで構成される。デジタルテレビ放送の場合、1セクションは4096バイトである。
【0136】
(B)コンテンツ生成装置は、放送局及びユーザの宅内の両方に設けてもよい。両方にコンテンツ生成装置を設けることで、例えば次のような処理が可能となる。放送局からはコンテンツストリームを放送する。それを受信したユーザ側で、コンテンツストリームをタイムスタンプ付きAVストリームとマルチメディアデータストリームとに分解し、コンテンツ記録手段200に記録しておく。ユーザ側は、例えば再生時など所定のタイミングで、タイムスタンプ付きAVストリームとマルチメディアデータストリームとを合成し、出力する。
【0137】
(C)上記実施形態は、必要に応じ、それぞれ組み合わせて用いることができる。
【0138】
(D)前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blue−ray Disc)、半導体メモリを挙げることができる。
【0139】
前記コンピュータプログラムは、前記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【産業上の利用可能性】
【0140】
記録を前提とするコンテンツ生成において、AVストリームとマルチメディアデータとの同期を可能とするコンテンツ生成装置に利用可能であり、特に、タイムスタンプ付ストリームを生成する装置に好適である。

【特許請求の範囲】
【請求項1】
映像及び/または音声のデータがパケット化されたパケットのストリームであるAVストリームからタイムスタンプ付AVストリームを生成するコンテンツ生成装置であって、
少なくとも1のマルチメディアデータファイルをパケット化するパケット化手段と、
前記マルチメディアデータファイルの送信時間とデータ送信ビットレートと前記AVストリームのタイムスタンプ、及び/または前記マルチメディアデータファイルの送信時刻と前記AVストリームのタイムスタンプとに基づいて、前記パケット化手段によりパケット化された各パケットの再生タイミングを示すタイムスタンプを生成するタイムスタンプ生成手段と、
前記タイムスタンプ生成手段が生成したタイムスタンプをそのタイムスタンプに対応する各パケットに付与し、前記タイムスタンプ付きAVストリームと時間軸を共有するタイムスタンプ付マルチメディアデータストリームを生成するマルチメディアデータストリーム生成手段と、
前記タイムスタンプ付AVストリーム及び前記タイムスタンプ付マルチメディアデータストリームのタイムスタンプに基づいて前記タイムスタンプ付AVストリームと前記タイムスタンプ付マルチメディアデータストリームとを結合し、タイムスタンプ付コンテンツストリームを生成するタイムスタンプ付コンテンツストリーム生成手段と、
を備えることを特徴とするコンテンツ生成装置。
【請求項2】
前記マルチメディアデータファイルが複数ある場合、前記マルチメディアデータストリーム生成手段は、マルチメディアデータファイルの送信順序の設定を受け付けることを特徴とする、請求項1に記載のコンテンツ生成装置。
【請求項3】
送信時間が指定された前記マルチメディアデータファイルが複数ある場合、前記マルチメディアデータストリーム生成手段は、マルチメディアデータファイルの送信順序を決定し、その送信順序でタイムスタンプ付マルチメディアデータストリームを生成した場合に、各マルチメディアデータファイルから生成されたパケットのタイムスタンプが示す時間がそのマルチメディアデータファイルの送信時間内か否かを判定することを特徴とする、請求項1記載のコンテンツ生成装置。
【請求項4】
前記AVストリームの全パケットのうち複数のパケットにはそれらのパケットの再生タイミングを示す時刻情報が記録され、前記AVストリームのタイムスタンプは前記時刻情報に基づいて生成されており、
前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのあるパケットP1nに付与されたタイムスタンプ値と前記タイムスタンプ付マルチメディアデータストリームのあるパケットP2mに付与されたタイムスタンプ値とを比較し、両者が等しい場合、前記タイムスタンプ付AVストリームのパケットP1nのタイムスタンプ値T1n及びその時刻情報を変更することを特徴とする、請求項1に記載のコンテンツ生成装置。
【請求項5】
前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのパケットP1nのタイムスタンプ値T1nとその時刻情報とを、前記コンテンツストリームの時間軸に対して同じだけ変更することを特徴とする、請求項4に記載のコンテンツ生成装置。
【請求項6】
前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのパケットPnの直前のパケットPa及び直後のパケットPbのタイムスタンプ値Ta、Tbを抽出し、パケットPnのタイムスタンプ値Tnを前記タイムスタンプ値Ta、Tbに基づいて変更することを特徴とする、請求項4または5に記載のコンテンツ生成装置。
【請求項7】
前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのパケットPaとPnとのタイムスタンプ値の差ΔTa(ΔTa=Tn−Ta)と、パケットPnとPbとのタイムスタンプ値の差ΔTb(ΔTb=Tb−Tn)との差が小さくなるように、パケットPnのタイムスタンプ値Tnを変更することを特徴とする、請求項6に記載のコンテンツ生成装置。
【請求項8】
前記AVストリームはMPEG2の規格に準じており、前記時刻情報はPCR(Program Clock Reference)であることを特徴とする、請求項4〜7のいずれかに記載のコンテンツ生成装置。
【請求項9】
前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付AVストリームのあるパケットPnに付与されたタイムスタンプ値と前記タイムスタンプ付マルチメディアデータストリームのあるパケットPmに付与されたタイムスタンプ値とを比較し、両者が等しい場合、前記タイムスタンプ付マルチメディアデータストリームのパケットPmのタイムスタンプ値Tmを変更することを特徴とする、請求項1に記載のコンテンツ生成装置。
【請求項10】
前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付マルチメディアデータストリームのパケットPmの直前のパケットPc及び直後のパケットPdのタイムスタンプ値Tc、Tdを抽出し、パケットPmのタイムスタンプ値Tmを前記タイムスタンプ値Tc、Tdに基づいて変更することを特徴とする、請求項9に記載のコンテンツ生成装置。
【請求項11】
前記タイムスタンプ付コンテンツストリーム生成手段は、前記タイムスタンプ付マルチメディアデータストリームのパケットPaとPmとのタイムスタンプ値の差ΔTc(ΔTc=Tm−Tc)と、パケットPnとPdとのタイムスタンプ値の差ΔTd(ΔTd=Td−Tm)との差が小さくなるように、パケットPmのタイムスタンプ値Tmを変更することを特徴とする、請求項10に記載のコンテンツ生成装置。
【請求項12】
前記マルチメディアデータファイルは、送信時間を指定されているマルチメディアデータファイル(以下、単にデータモジュールという)と送信時刻を指定されているマルチメディアデータファイル(以下、単にイベントメッセージという)とを含んでおり、
前記マルチメディアデータストリーム生成手段は、前記データモジュールと前記イベントメッセージとに同一の送信識別子を割り当てる場合、1以上のパケットからなる所定長のセクション単位で前記データモジュールをストリーム化し、前記イベントメッセージの送信時刻がいずれかのセクションの送信時間に含まれる場合、前記イベントメッセージの送信時刻がそのセクションの送信時間外となるように、そのセクションを構成する全パケットのタイムスタンプまたは前記イベントメッセージのタイムスタンプを変更することを特徴とする、請求項1に記載のコンテンツ生成装置。
【請求項13】
映像及び/または音声のデータがパケット化されたパケットのストリームであるAVストリームからタイムスタンプ付AVストリームを生成するコンテンツ生成方法であって、
少なくとも1のマルチメディアデータファイルをパケット化するパケット化ステップと、
前記マルチメディアデータファイルの送信時間とデータ送信ビットレートと前記AVストリームのタイムスタンプ、及び/または前記マルチメディアデータファイルの送信時刻と前記AVストリームのタイムスタンプとに基づいて、前記パケット化ステップによりパケット化された各パケットの再生タイミングを示すタイムスタンプを生成するタイムスタンプ生成ステップと、
前記タイムスタンプ生成ステップで生成したタイムスタンプをそのタイムスタンプに対応する各パケットに付与し、前記タイムスタンプ付きAVストリームと時間軸を共有するタイムスタンプ付マルチメディアデータストリームを生成するマルチメディアデータストリーム生成ステップと、
前記タイムスタンプ付AVストリーム及び前記タイムスタンプ付マルチメディアデータストリームのタイムスタンプに基づいて前記タイムスタンプ付AVストリームと前記タイムスタンプ付マルチメディアデータストリームとを結合し、タイムスタンプ付コンテンツストリームを生成するタイムスタンプ付コンテンツストリーム生成ステップと、
を含むことを特徴とするコンテンツ生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【国際公開番号】WO2005/101843
【国際公開日】平成17年10月27日(2005.10.27)
【発行日】平成19年8月16日(2007.8.16)
【国際特許分類】
【出願番号】特願2006−512305(P2006−512305)
【国際出願番号】PCT/JP2005/006767
【国際出願日】平成17年4月6日(2005.4.6)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】