(57)【特許請求の範囲】
【請求項１】
時刻参照情報を含むストリームデータを記録するストリームデータ記録装置であって、
ストリームデータを取得する取得手段と、
時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出手段と、
ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタ手段の時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成手段と、
前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録手段と
を備えることを特徴とするストリームデータ記録装置。
【請求項２】
前記欠落区間中に、時刻カウンタ手段を不連続な時刻に同期させる時刻参照情報が存在したか否かを判定する判定手段をさらに備え、
前記生成手段は、前記判定手段による判定が肯定的である場合に、前記位置情報及び前記時刻補正情報を生成する
ことを特徴とする請求項１に記載のストリームデータ記録装置。
【請求項３】
前記判定手段は、欠落区間終了後に取得された時刻参照情報が時刻カウンタ手段の示す時刻より小さい場合に、肯定的な判定をなす
ことを特徴とする請求項２に記載のストリームデータ記録装置。
【請求項４】
前記判定手段は、欠落区間が終了した後に取得されたストリームデータ中のフレームに定義されている提示時刻と、時刻カウンタ手段の示す時刻との差が所定の滞留時間を超える場合に、肯定的な判定をなす
ことを特徴とする請求項２に記載のストリームデータ記録装置。
【請求項５】
前記判定手段は、
第１欠落区間が終了した後に取得されたストリームデータ中のフレームに定義されている提示時刻と時刻カウンタ手段の示す時刻との差である第１保持時間を算出し、
前記第１欠落区間よりも後に検出された第２欠落区間が終了した後に取得されたストリームデータ中のフレームに定義されている提示時刻と時刻カウンタ手段の示す時刻との差である第２保持時間を算出し、
第１保持時間と第２保持時間とを比較して、これらの差が所定の閾値以下である場合に、前記第１欠落区間中には時刻カウンタ手段を不連続な時刻に同期させる時刻参照情報が存在し、前記第２欠落区間中には時刻カウンタ手段を不連続な時刻に同期させる時刻参照情報が存在しないと判定する
ことを特徴とする請求項２に記載のストリームデータ記録装置。
【請求項６】
時刻補正情報は、
前記欠落区間が終了したときに時刻カウンタ手段が示す時刻である終了時刻情報と、
欠落区間終了後に取得された時刻参照情報とそのときに時刻カウンタ手段が示す時刻との差である時刻オフセット情報とからなる
ことを特徴とする請求項２に記載のストリームデータ記録装置。
【請求項７】
前記生成手段は、
時刻オフセット情報の算出に、欠落区間終了後に最初に取得された時刻参照情報を用いる
ことを特徴とする請求項６に記載のストリームデータ記録装置。
【請求項８】
時刻補正情報は、
前記欠落区間において欠落したストリームデータに対応する再生時間と、
前記欠落区間終了後に取得されるストリームデータに含まれるビデオ、オーディオ、字幕のうち少なくとも１のフレームに定義されている提示時刻とからなる
ことを特徴とする請求項２に記載のストリームデータ記録装置。
【請求項９】
時刻補正情報に用いる提示時刻は、欠落区間終了後に最初に取得されるものである
ことを特徴とする請求項８に記載のストリームデータ記録装置。
【請求項１０】
前記取得手段は、放送波を受信して得られた受信信号からストリームデータを取得し、
前記検出手段は、前記放送波の受信レベルが所定レベル以下に低下した場合に、前記欠落区間が開始したことを検出し、
前記放送波の受信レベルが所定レベル以上に上昇した場合に、前記欠落区間が終了したことを検出する
ことを特徴とする請求項１に記載のストリームデータ記録装置。
【請求項１１】
前記検出手段は、ストリームデータを構成するパケットに含まれる情報のデータサイズの解析により不正なデータサイズが検出された場合、又は前記パケットに含まれる情報の値の解析により不正値が検出された場合に、前記ストリームデータの欠落を検出する
ことを特徴とする請求項１に記載のストリームデータ記録装置。
【請求項１２】
前記検出手段は、所定周期毎にストリームデータに含まれるよう定義されている情報が、前記所定周期を越えてストリームデータから検出できない場合に、前記ストリームデータの欠落を検出する
ことを特徴とする請求項１に記載のストリームデータ記録装置。
【請求項１３】
前記取得手段は、記録媒体に記録されたストリームデータを読み出すことにより、ストリームデータを取得する
ことを特徴とする請求項１に記載のストリームデータ記録装置。
【請求項１４】
時刻参照情報を含むストリームデータを記録媒体から読み出して再生するストリームデータ再生装置であって、
ストリームデータを読み出す読み出し手段と、
時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
前記ストリームデータと、当該ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に前記時刻カウンタ手段の時刻を補正する時刻補正情報とが記録された記録媒体から、前記位置情報及び前記時刻補正情報を取得する情報取得手段と、
前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定手段と、
時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生制御手段と
を備えることを特徴とするストリームデータ再生装置。
【請求項１５】
時刻補正情報は、
時刻参照情報に同期して時刻を刻む記録時刻カウンタ手段を有するストリームデータ記録装置において前記ストリームデータを記録した際に、前記欠落区間が終了したときに前記記録時刻カウンタ手段が示していた時刻である終了時刻情報と、
前記ストリームデータを記録した際に、欠落区間終了後に取得された時刻参照情報とそのときに前記記録時刻カウンタ手段が示していた時刻との差である時刻オフセット情報とからなり、
前記時刻カウンタ手段は、それぞれ個別に時刻を刻む第１時刻カウンタと第２時刻カウンタとを含み、
前記再設定手段は、前記位置情報により特定される位置までストリームデータが読み出されたときに、第１時刻カウンタ及び第２時刻カウンタのうち再生制御手段がフレームの再生に用いていない側を、前記終了時刻情報と前記時刻オフセット情報とを合計した時刻に設定し、
前記再生制御手段は、前記位置情報により示される位置に再生位置が達したときに、フレームの再生に用いる時刻カウンタを、第１時刻カウンタ及び第２時刻カウンタの一方から他方へ切り替える
ことを特徴とする請求項１４に記載のストリームデータ再生装置。
【請求項１６】
時刻補正情報は、
前記欠落区間において欠落したストリームデータに対応する再生時間を示す欠落時間情報と、
ストリームデータにおいて前記欠落区間の後に含まれるビデオ、オーディオ、字幕のうち少なくとも１のフレームに定義されている提示時刻とからなり、
前記再生制御手段は、ストリームデータの再生が前記位置情報により特定される位置に達した場合に、前記欠落時間情報により示される再生時間の間、ストリームデータの再生を停止し、当該停止状態で前記再生時間が経過した後に、前記提示時刻が定義されているフレームから再生を再開する
前記再設定手段は、前記再生時間が停止状態となってから前記再生時間が経過した後に、前記時刻カウンタ手段の時刻を前記提示時刻が示す時刻に設定する
ことを特徴とする請求項１４に記載のストリームデータ再生装置。
【請求項１７】
時刻参照情報を含むストリームデータを記録するストリームデータ記録装置の集積回路であって、
ストリームデータを取得する取得手段と、
時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出手段と、
ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタ手段の時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成手段と、
前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録手段と
を備えることを特徴とする集積回路。
【請求項１８】
記録媒体から読み出されたストリームデータを再生する集積回路であって、
ストリームデータに含まれる時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
前記ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に前記時刻カウンタ手段の時刻を補正する時刻補正情報とを取得する情報取得手段と、
前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定手段と、
時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生制御手段と
を備えることを特徴とする集積回路。
【請求項１９】
時刻参照情報に同期して時刻を刻む時刻カウンタを有する記録装置において、時刻参照情報を含むストリームデータを記録媒体へ記録するストリームデータ記録方法であって、
ストリームデータを取得する取得ステップと、
前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出ステップと、
ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタの時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成ステップと、
前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録ステップと
を含むことを特徴とするストリームデータ記録方法。
【請求項２０】
時刻参照情報を含むストリームデータを記録媒体から読み出して再生するストリームデータ再生方法であって、
ストリームデータを読み出す読み出しステップと、
前記ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に、再生装置が有する時刻カウンタ手段の時刻を補正する時刻補正情報とを、前記記録媒体から取得する情報取得ステップと、
前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定ステップと、
時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生ステップと
を含むことを特徴とするストリームデータ再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディジタル放送などで送出されたストリームデータを受信して記録媒体に記録し、記録媒体に記録されたストリームデータを再生する技術に関し、特に、送出されたストリームデータの一部が受信時に欠損した場合の対処に関する。
【背景技術】
【０００２】
従来、テレビ受信装置等の固定受信端末に向けたオーディオ、ビデオなどのストリームデータ放送では、ＢＣＨ（Ｂｏｓｅ，Ｃｈａｕｄｈｕｒｉ，Ｈｏｃｑｕｅｎｇｈｅｍ）符号やＲＳ（Ｒｅａｄ  Ｓｏｌｏｍｏｎ）符号など、受信側で誤り訂正可能な符号化方式を採用して伝送誤りに対処している。
このような固定受信端末に向けたストリームデータ放送で発生する伝送誤りは、ビルの反射波によるマルチパス障害や、悪天候などの影響で、送信信号にノイズが混在することに起因する。
【特許文献１】特開2001−309262号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、時間や場所を選ぶことなくオーディオ、ビデオなどのストリームデータを手軽に楽しむ手法として、移動体受信端末に向けたストリームデータ放送の普及が見込まれている。
移動体受信端末でストリームデータを受信する場合には、従来の固定受信端末で受信する場合とは異なり、移動体受信端末自体が電波が届きにくく受信状況の悪い場所へ移動することもあり、数秒間にわたり正確な送信信号を得ることができなくなるという状況が頻繁に発生しうる。
【０００４】
このような状況では、悪天候やマルチパスによる伝送障害等を想定していた従来の誤り訂正処理では対処できず、ストリームデータは一部欠落して記録されることがある。こうして正しく受信できず一部に欠落が発生したストリームデータを記録し、再生する場合には、放送システムと受信端末との同期に関して以下のような問題が生じる。
ここでまず、デジタル放送の伝送用フォーマットとして代表的なＩＳＯ／ＩＥＣ  １３８１８−１のＭＰＥＧ２ＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）を用いる場合を例に、放送システムと受信端末との同期を説明する。
【０００５】
放送システムから放送されるストリームデータには、再生時に基準となる時刻を示す情報であるＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）情報がＴＳヘッダに周期的に埋め込まれている。また、ストリームデータに多重化されているＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットのヘッダには、オーディオフレームやビデオフレーム、字幕データの提示時刻をＰＣＲ情報の時刻と同期した時間軸で示すＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）が埋め込まれている。これらのＰＣＲ情報及びＰＴＳの値は放送システムが設定して放送している。
【０００６】
一方、受信端末は装置内に時計（以下、時刻カウンタという）を内蔵しており、受信端末でストリームデータを再生する場合、時刻カウンタをＰＣＲ値に同期させ、時刻カウンタが示す時刻（以下、ＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）値という）がストリームデータ中で設定されているオーディオやビデオのフレームのＰＴＳに達すると、そのオーディオフレームやビデオフレームをスピーカやモニタに出力する。これにより受信端末からは、放送システム側が意図するタイミングで、オーディオとビデオとが同期して出力される。
【０００７】
続いて一部に欠落が発生したストリームデータを記録し、再生する場合に生じる問題を説明する。図１は、放送されたストリームデータを正しく受信できず一部に欠落が発生した場合のＳＴＣ値の時間変化を示す図である。本図において、横軸は放送されたストリームデータの先頭からの連続時間を示し、縦軸はＳＴＣ値を示す。また本図には、ＰＣＲがストリームデータに含まれているタイミングとその値とに基づいて、黒丸をプロットしている。
【０００８】
図中の直線１０１、直線１０２、及び直線１０３は、ＳＴＣ値を示す。Ａ点、Ｅ点でＳＴＣ値が不連続な値になっているのは、時刻カウンタの同期の元となるＰＣＲ情報がＡ点、Ｅ点で通常のカウントアップ速度から予測される値から外れた値に設定されているためである。このように放送システム側は、ＰＣＲ値を通常のカウントアップ速度で変化させる以外に、ＰＣＲ値を任意のタイミングで任意の値に設定することができる。以下、本明細書では、ＰＣＲ値が通常のカウントアップ速度により予測される値から外れた値となることを“ＰＣＲ値が不連続である”と言い、ＰＣＲ値が不連続な値に設定されることを“ＰＣＲがリセットされる”と表現する。
【０００９】
ところで斜線で示した欠落区間１０５は、受信電波状況が悪化して正しくＴＳパケットを取得できなかった区間を示すが、この区間中のＣ点でも放送システムによりＰＣＲがリセットされている。しかし、受信端末ではＣ点においてＰＣＲ情報を含むＴＳパケットを正しく取得できなかったために、再生時にＣ点でＳＴＣ値はリセットされず直線１０３のようにカウントアップを続け、その後、受信電波状況が回復した後に最初に取得されたＰＣＲ情報に基づいてＥ点でＳＴＣ値がリセットされる。即ち、Ｃ点からＥ点までの間、放送システム側と受信端末とで時刻の同期外れが生じている。
【００１０】
この時刻が同期していないＣ点からＥ点までの間、放送システム側では破線１０４で示すようにＳＴＣが同期することを想定しているため、各フレームのＰＴＳも破線１０４に沿うように設定して放送している。その結果、受信電波状況が回復してから最初にＰＣＲ情報が取得されるまでのＤ点〜Ｅ点の区間１０６では、ストリームデータが正しく受信できるにもかかわらず、ＳＴＣ値がＰＴＳを上回るため、提示時刻が経過しているとみなされてフレームが破棄されてしまうという問題が生じる。
【００１１】
特に、このフレーム破棄が生じる区間１０６の期間中にＩＤＲ（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）ピクチャを表示することを放送システムが意図していた場合、この問題の影響は大きくなる。
なぜなら単独でデコードできるピクチャであるＩＤＲピクチャは、ストリーム中での出現周期が通常２秒、最大で５秒間隔とＰＣＲ情報の出現周期に比較して長いため、ＩＤＲピクチャが一度破棄されると、たとえＩＤＲピクチャの破棄後すぐにＰＣＲ情報を取得できても、次のＩＤＲピクチャが取得されるまでの数秒間にわたって、参照元となるＩＤＲピクチャがなければデコード不能なＰピクチャやＢピクチャといった全てのピクチャをデコードできなくなるためである。
【００１２】
尚、ＰＣＲ値はリセット時に通常のカウントアップ速度から予測される値より小さい値にリセットするよう運用されるのが一般的であるが、通常のカウントアップ速度から予測される値より大きい値にリセットすることも可能である。このようなＰＣＲ値を増加させるようなリセットが、受信電波状況の悪化等の理由で受信側で欠落した場合には、欠落回復後に取得されたストリームデータにおいて、ＰＴＳが取得時点でＳＴＣ値を大きく上回ることになり本来の出力タイミングと異なるタイミングで出力されることになる。
【００１３】
本発明は係る問題に鑑み、受信電波状況の悪化等に起因するストリームデータの一部欠落によりＰＣＲをリセットするＰＣＲ情報を取得できなかった場合にも、欠落からの回復後、次のＰＣＲ情報を取得するまでに正常に取得したストリームデータを放送システムが意図したタイミングで再生できるように、ストリームデータを記録するストリームデータ記録装置、及びストリームデータの一部欠落によりＰＣＲをリセットするＰＣＲ情報を記録できなかった場合にも、欠落からの回復後、次のＰＣＲ情報を取得するまでに正常に記録したストリームデータを放送システムが意図したタイミングで再生することができるストリームデータ再生装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係るストリームデータ記録装置は、時刻参照情報を含むストリームデータを記録するストリームデータ記録装置であって、ストリームデータを取得する取得手段と、時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出手段と、ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタ手段の時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成手段と、前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録手段とを備えることを特徴とする。
【００１５】
上記目的を達成するために、本発明に係るストリームデータ再生装置は、時刻参照情報を含むストリームデータを記録媒体から読み出して再生するストリームデータ再生装置であって、ストリームデータを読み出す読み出し手段と、時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、前記ストリームデータと、当該ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に前記時刻カウンタ手段の時刻を補正する時刻補正情報とが記録された記録媒体から、前記位置情報及び前記時刻補正情報を取得する情報取得手段と、前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定手段と、時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生制御手段とを備えることを特徴とする。
【発明の効果】
【００１６】
上記の構成により、本発明に係るストリームデータ記録装置は、ストリームデータ受信時に欠落が発生した場合に、一部が欠落したストリームデータと共に、欠落部分に含まれていたＰＣＲ情報に同期した場合の時刻カウンタ手段の値を特定する時刻補正情報と、欠落部分のストリームデータにおける位置を特定する位置情報とを記録媒体へ記録する。
記録したストリームデータの再生時には、本発明に係るストリームデータ記録装置は、この位置情報と時刻補正情報とを参照することで、欠落が終了する位置で時刻カウンタ手段を放送システムが意図していた時刻に設定し直すことができる。
【００１７】
これにより、欠落部分に含まれるＰＣＲ情報がＰＣＲリセットを指示するものであった場合にも、欠落からの回復後、次のＰＣＲ情報を取得するまでの区間も時刻カウンタ手段を放送システムが意図した時刻に同期させることができ、この区間中に取得したストリームデータを放送システムが意図したタイミングで再生できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
（第１実施形態）
＜システムの概要＞
先ず始めに、本発明に係るストリームデータ記録装置及びストリームデータ再生装置の実施行為のうち、使用行為についての形態を説明する。図２は、本発明に係るストリームデータ記録装置及びストリームデータ再生装置の、使用行為についての形態を示す図である。図２において、本発明に係る本発明に係るストリームデータ記録装置及びストリームデータ再生装置は、移動体受信端末３に内蔵されている。この移動体受信端末３は、送信アンテナ２を介して放送システム１から送信された放送波を受信し、受信した放送波からストリームデータを取得して記録媒体４に記録する用途、及び記録媒体４に記録したストリームデータを読み出して再生するという用途で使用される。
【００１９】
放送システム１は、ディジタル放送のストリームデータを作成するシステムである。
送信アンテナ２は、放送システム１で作成したストリームデータをディジタル放送電波に乗せて送信する。
記録媒体４は、データを記録保持する媒体である。光ディスク、磁気ディスク、半導体メモリなどがこれにあたる。
【００２０】
以上が本発明に係るストリームデータ記録装置及びストリームデータ再生装置の使用形態についての説明である。
続いて記録、再生の対象であるストリームデータの詳細について説明する。
＜ストリームデータ＞
デジタル放送で使用される伝送用フォーマットの代表的な例として、ＩＳＯ／ＩＥＣ  １３８１８−１のＭＰＥＧ２ＴＳがある。以下、本実施形態では、ストリームデータとしてＭＰＥＧ２ＴＳを用いた場合を例に説明する。図３は、ＴＳのデータ構造の一例を示す図である。
【００２１】
１段目はＴＳパケットを示している。ＴＳでは、複数の番組のストリームデータをオーディオデータやビデオデータ、字幕データ毎に、ＴＳパケットと呼ばれるパケットに分割し、多重化して送信する。ＴＳパケットはヘッダ部分とペイロード部分から構成され、オーディオデータやビデオデータや字幕データはＴＳペイロードに格納される。
２段目はＴＳパケットのヘッダを示している。全てのＴＳパケットのヘッダには、ＰＩＤ（Ｐａｃｋｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）と呼ばれるＴＳパケットを識別するための識別子が含まれる。各番組のオーディオデータ、ビデオデータ、及び字幕データを格納するＴＳパケットには、それぞれ格納するデータの種類毎に異なる識別子が付されている。
【００２２】
また、特定のＰＩＤが付されている一部のＴＳパケットのヘッダには、ストリームデータを作成する放送システム１と、ストリームデータを受信し、再生や記録を行う移動体受信端末３との間で同期を取るために使用されるＰＣＲ情報が埋め込まれている。
ＰＣＲ情報が埋め込まれているＴＳパケットや、番組のオーディオデータ、ビデオデータ、及び字幕データを格納するＴＳパケットのＰＩＤは、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）により示される。移動体受信端末３では、受信したＴＳパケットをＰＩＤを用いて識別して、再生や記録を行う対象の番組のＴＳパケットを取得する。
＜ＴＳペイロードのデータ構造＞
ＴＳパケットのペイロード部分には、ＩＳＯ／ＩＥＣ  １３８１８−７のＭＰＥＧ２ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）やＩＳＯ／ＩＥＣ  １４４９６−１０のＭＰＥＧ４ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）などの規格で圧縮されたオーディオデータやビデオデータ、ＡＲＩＢ  ＳＴＤ−Ｂ２４及びＡＲＩＢ  ＳＴＤ−Ｂ８等で規定される８単位符号文字による字幕データなどの番組を構成する各種ストリームデータ、ＰＭＴ等の番組の構成を示す情報等が格納される。以下、番組を構成するオーディオ、ビデオ、字幕などの各要素を、“コンポーネント”と総称する。
【００２３】
図４は、ＴＳパケットのペイロード部分に含まれるビデオデータやオーディオデータのデータ構造の一例を示す図である。
図４において、４段目はＴＳを示している。３段目はビデオデータのＰＥＳパケットを示し、５段目はオーディオデータのＰＥＳパケットを示している。ＰＥＳパケットは、１個あるいは複数のＴＳペイロードに跨り分割して格納する運用が可能である。
【００２４】
各ＰＥＳパケットはヘッダ部分とペイロード部分から構成される。ＰＥＳパケットのヘッダ部分には、ペイロード部分に格納されているデータをモニタやスピーカへ出力する提示時刻を示すＰＴＳが含まれている。ＰＴＳの値は、ＰＣＲ情報によって補正された移動体受信端末３のＳＴＣ値を参照し各コンポーネントを同期させて出力することを想定して放送システム１が設定している。そのためＰＣＲがリセットされる場合、その後に送信されるストリームデータに含まれるコンポーネントのＰＴＳも、その前後のフレームで不連続な値が設定される。
【００２５】
ＰＥＳペイロードをつなげるとＥＳ（Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）が構成される。
２段目はビデオＥＳを示している。ＥＳは圧縮されたデータである。ＭＰＥＧ４ＡＶＣなどのＭＰＥＧ規格の場合、ビデオＥＳは、単独復号が可能なＩＤＲピクチャ、前のピクチャデータが必要なＰピクチャ、前後のピクチャデータが必要なＢピクチャから構成される。各ＩＤＲピクチャはＰＥＳパケットにおいて、ペイロード部分の先頭に位置するよう格納されている。
【００２６】
１段目はビデオフレームを示している。ビデオフレームは、圧縮されているビデオＥＳを復号処理することで得られる。
以上がストリームデータの詳細についての説明である。
＜ストリームデータ記録装置＞
続いて本実施形態に係る移動体受信端末３の詳細について説明する。先ず移動体受信端末３において、ストリームデータを記録する構成に注目して説明する。ストリームデータ記録機能は、移動体受信端末３が内蔵するストリームデータ記録装置５により実現される。図５は、本実施形態に係るストリームデータ記録装置５の内部構成を示す図である。
【００２７】
ストリームデータ記録装置５は、取得部１１、パケット解析部１２、欠落検出部１３、時刻カウンタ部１４、リセット検出部１５、メタ情報生成部１６、記録制御部１７を備える。
取得部１１は、図２の送信アンテナ２から送信される放送波をアンテナモジュールで受信し、放送波により伝送されるＴＳをパケット解析部１２へ出力する。また、取得部１１は、アンテナモジュールでＣ／Ｎレベルの低下及び復帰、ＲＦ同期外れ及びＲＦ同期の回復が検出された場合には、これ検出結果をパケット解析部１２へ通知する。以下、アンテナモジュールでＣ／Ｎレベルの低下やＲＦ同期外れが検出されることを“データ受信不良の開始”と称し、Ｃ／Ｎレベルの復帰やＲＦ同期の回復が検出されることを“データ受信不良の終了”と称する。
【００２８】
パケット解析部１２は、ユーザからの指示に基づいて、ＴＳヘッダを解析して記録対象のＰＩＤを含むＴＳパケットを取得し、欠落検出部１３へ出力する。このときＴＳヘッダに記録対象の番組に係るＰＣＲ情報が含まれている場合には、ＰＣＲ情報を抽出して、時刻カウンタ部１４に出力する。ただし、取得部１１からデータ受信不良の開始が通知されてからデータ受信不良の終了が通知されるまでの期間は、ヘッダを解析することなくＴＳパケットを破棄し、さらにデータ受信不良の開始及び終了の通知を欠落検出部１３へ転送する。さらにパケット解析部１２は、誤り訂正処理では対処できない程度にＴＤパケットのデータに誤りがふくまれている等の理由で、ＴＳヘッダ解析時に正しく解析できなかった場合にも、取得部１１から通知されるデータ受信不良の開始及び終了の通知と同様のものを生成して、欠落検出部１３へ転送する。
【００２９】
欠落検出部１３は、受信中のストリームデータにおいて、再生の対象とならない欠落区間が発生しているか否かを検出し、検出結果をリセット検出部１５及びメタ情報生成部１６へ通知する。欠落区間は、ストリームデータの記録中に受信電波状況が悪化して、記録対象のＴＳパケットを正しく取得できない等の理由で発生する。
さらに、欠落検出部１３は、欠落区間が欠落が検出されていない間は、パケット解析部１２から取得したＴＳパケットを記録制御部１７へ出力する。また、欠落区間が欠落が検出された場合、欠落検出部１３は、前後のパケットが連続していないことを示す不連続パケットを記録制御部１７へ出力する。
【００３０】
欠落区間の発生は、以下の１）〜３）のそれぞれ方法により、欠落検出部１３で検出される。
１）データ受信不良の開始が通知されてから終了が通知されるまでを欠落区間とする方法
２）判定時に取得しているＴＳパケットの解析により、パケット間の連続性の欠如を検出する方法
３）ＰＣＲ情報のようにＴＳに周期的に含まれる情報（以下、周期送出情報という）が、過去に取得したＴＳパケットから検出されてから、最大送出周期を超えて検出されない場合を検出する方法
上記２）の方法の具体例としては、以下の２−１）及び２−２）等の場合に、パケット間の連続性の欠如が検出できる。
【００３１】
２−１）コンポーネントを格納するＴＳパケットに連番で付されているcontinuity_counterの値に欠番が生じている
２−２）直前に同じＰＩＤをもつＴＳパケットで、discontinuity_indicatorが有効になっていたにも関わらず、判定時に取得しているＴＳパケットでＰＣＲがリセットされていない
尚、discontinuity_indicatorは、ＴＳパケットのアダプテーションフィールドに設定される情報であり、discontinuity_indicatorが有効になると、後続する同じＰＩＤのＴＳパケットでＰＣＲがリセットされることを示す情報である。
上記３）の方法で欠落区間を検出するために、欠落検出部１３の内部の記録領域には、最後に周期送出情報が検出された時点で時刻カウンタ部１４から取得したＳＴＣ値が保持されている。欠落検出部１３は、時刻カウンタ部１４のＳＴＣ値と、内部の記録領域に保持しているＳＴＣ値とを比較し、これらの差が周期送出情報の最大送出周期を越えた場合に、欠落区間が発生していることを検出できる。また、欠落検出部１３は、最新の周期送出情報を取得した時点でＳＴＣ値を取得し、このＳＴＣ値と、内部の記録領域に保持している以前に周期送出情報を取得した時のＳＴＣ値との差を算出して、この差が周期送出情報の最大送出周期を越えている場合に、欠落区間が発生していると判定してもよい。
【００３２】
欠落区間の検出に利用する周期送出情報としては、ＰＣＲ情報の他に、ＰＡＴ、ＰＭＴ、ＮＩＴ、ＴＯＴ、ＴＤＴ、ＥＩＴ、再生用ストリームデータに含まれるＰＴＳ等、ストリームデータに含まれる最大送出周期が設定されたものであれは、どのような情報でも用いることができる。
時刻カウンタ部１４は、内部に時計を有し、パケット解析部１２から取得したＰＣＲ情報を参照して、内部時計をＰＣＲ値に同期させる。時刻カウンタ部１４の内部時計の値（ＳＴＣ値）は、欠落検出部１３、リセット検出部１５及びメタ情報生成部１６により参照される。さらに時刻カウンタ部１４は、パケット解析部１２からＰＣＲ情報を取得する度に、ＰＣＲ情報の取得をメタ情報生成部１６へ通知する。
【００３３】
リセット検出部１５は、欠落検出部１３から欠落区間の検出結果を取得し、欠落区間中にＰＣＲリセットが発生していたかを、時刻カウンタ部１４のＳＴＣ値を参照して検出処理をおこない、検出結果をメタ情報生成部１６に通知する。
メタ情報生成部１６は、欠落検出部１３およびリセット検出部１５の検出結果に基づいて、メタ情報を生成する。メタ情報とは、ストリームデータの構成や属性を示すデータである。
【００３４】
図６は本実施形態におけるメタ情報のデータ構造を示した図である。本実施形態におけるメタ情報は、ストリームデータ中に検出された欠落区間と同数のレコードからなり、各レコードは「欠落開始時刻」「欠落終了時刻」「不連続点の位置情報」及び「時刻オフセット値」から構成される。
「欠落開始時刻」は、欠落区間が発生したときのＳＴＣ値である。図１の欠落区間開始時刻１１１の値がこれにあたる。
【００３５】
「欠落終了時刻」は、欠落区間が終了したときのＳＴＣ値である。図１の欠落区間終了時刻１１２の値がこれにあたる。
「不連続点の位置情報」は、欠落区間終了後に記録を再開したときのＴＳパケットのデータ位置である。図１のＤ点以降に最初に記録されるパケットのデータ位置がこれにあたる。データ位置情報としては、記録対象のＴＳの先頭パケットから付けた通し番号や、ファイル先頭からのオフセット値などを用いることができる。本実施形態では、ファイル先頭からのオフセット値を用いる。
【００３６】
「時刻オフセット値」は、欠落区間終了後に、最初にＰＣＲ情報の取得が通知されたときのＳＴＣ値とＰＣＲ値との差である。図１の時刻オフセット値１１３がこれにあたる。
図５の記録制御部１７は、欠落区間が欠落が検出されていない間に欠落検出部１３から出力されたストリームデータ、及びメタ情報生成部１６で生成されたメタ情報を対応付けて記録媒体４へ記録する。欠落検出部１３からは、欠落区間が検出されると不連続パケットが出力されるため、記録制御部１７が記録するストリームデータには、図７に示すように、欠落区間によりＴＳパケットが失われた位置に不連続パケットが挿入される。
【００３７】
以上が、ストリームデータ記録装置の構成である。
＜ストリームデータ記録方法＞
続いて、ストリームデータ記録装置５の動作手順について説明する。
図８は、本実施形態に係るストリームデータ記録装置５におけるストリームデータ記録処理の処理手順を示す図である。本図に示す処理手順は、ユーザから録画指示を受けると実行される処理手順であり、大きく分けて以下の１〜４のステップに分けられる。
１．欠落区間の発生を検出し、欠落開始時刻を取得するステップ（Ｓ１０１〜Ｓ１０５）
２．欠落区間の終了を検出し、欠落終了時刻、不連続点の位置情報を取得するステップ（Ｓ１０６〜Ｓ１０９）
３．欠落区間内で発生していたＰＣＲリセットを検出し、時刻オフセット値を取得するステップ（Ｓ１１０〜Ｓ１１２）
４．生成したメタ情報を記録するステップ（Ｓ１１３〜Ｓ１１４）
まず、記録するストリームデータの欠落区間の発生を検出するＳ１０１〜Ｓ１０５のステップについて説明する。
【００３８】
ユーザからの録画指示を受け、記録処理が開始されると、取得部１１による放送波の受信と、パケット解析部１２によるフィルタリングとにより、記録対象のＰＩＤを含むＴＳパケットが取得される（Ｓ１０１）。Ｓ１０２では、欠落検出部１３は、パケット解析部１２で取得された記録対象のＴＳパケットに欠落が発生しているか判定を行う。このＴＳパケットの欠落の検出処理では、以下の１）〜３）の各方法を用いて、欠落の発生を検出する。
１）取得部１１やパケット解析部１２によりデータ受信不良の開始が通知されてから終了が通知されるまでを欠落区間とする方法
２）判定時に取得しているＴＳパケットの解析により、パケットに含まれるデータの不連続を検出する方法
３）周期送出情報が、過去に取得したＴＳパケットから検出されてから、最大送出周期を超えて検出されない場合を検出する方法
欠落の検出処理において、ＴＳパケットの欠落が検出された場合（Ｓ１０３：Ｙｅｓ）、欠落検出部１３は、欠落区間の開始点であるか、欠落区間中であるかを判定する（Ｓ１０４）。欠落区間の開始点であるか否かの判定には、例えば、欠落検出部１３の内部の記録領域に保持するフラグを利用する。欠落検出部１３は、欠落区間の開始点であると判定したときにこのフラグをＯＮに、欠落区間の終了点であると判定したときにこのフラグをＯＦＦに切り替える。Ｓ１０４では、欠落が検出されたときに、フラグがＯＦＦであれば、欠落区間の開始点であるし、フラグがＯＮであれば、欠落区間中であると判定できる。
【００３９】
欠落区間の開始点の場合（Ｓ１０４：Ｙｅｓ）、欠落検出部１３はメタ情報生成部１６に欠落区間開始の通知をし、メタ情報生成部１６は、通知を受けたときのＳＴＣ値を時刻カウンタ部１４から取得し、メタ情報の「欠落開始時刻」情報として保持する（Ｓ１０５）。なお、本フローチャートでは図示していないが、時刻カウンタ部１４は、ＴＳヘッダに含まれるＰＣＲに同期するようにクロック速度が制御されている。
【００４０】
欠落検出部１３で検出した欠落が、欠落区間の開始点ではなく、欠落区間中であった場合は（Ｓ１０４：Ｎｏ）、欠落検出部１３およびメタ情報生成部１６は何も処理しない。
次に、欠落区間の終了を検出し、欠落終了時刻、及び不連続点の位置情報を取得する（Ｓ１０６〜Ｓ１０９）。
欠落検出部１３でＴＳパケットの欠落が検出されなかった場合（Ｓ１０３：Ｎｏ）、記録制御部１７は欠落検出部１３からＴＳパケットを取得し、記録媒体４に記録する（Ｓ１０６）。なお、記録媒体４へは、１パケットづつではなく、記録するデータサイズが一定量たまってから記録してもよい。また、ＴＳパケットの記録は、Ｓ１０６からＳ１１３の間であれば、他のタイミングで実行してもよい。
【００４１】
欠落検出部１３は正常に受信できたＴＳパケットが欠落区間の終了点であるか否かを判定する（Ｓ１０７）。このＳ１０７の判定には、例えば、Ｓ１０４の判定で用いた、欠落検出部１３の内部に保持されているフラグを利用して、判定を行う。欠落検出部１３が、欠落区間の開始点であると判定したときにこのフラグをＯＮに、欠落区間の終了点であると判定したときにこのフラグをＯＦＦに切り替えるので、ＴＳパケットが正常に受信できたときに、このフラグがＯＮであれば、欠落区間の終了点であると判定できる。
【００４２】
Ｓ１０７の判定の結果、欠落区間の終了点の場合（Ｓ１０７：Ｙｅｓ）、欠落検出部１３はメタ情報生成部１６に欠落区間終了の通知をし、メタ情報生成部１６は、通知を受けたときのＳＴＣ値を時刻カウンタ部１４から取得し、メタ情報の「欠落終了時刻」情報として保持する（Ｓ１０８）。またメタ情報生成部１６は、記録制御部１７から、ＴＳパケットの記録位置情報を取得し、メタ情報の「不連続点の位置情報」として保持する（Ｓ１０９）。ＴＳパケットの記録位置情報としては、記録対象のＴＳパケットの先頭から付けた番号や、ファイル先頭からのオフセット値などを用いることができる。Ｓ１０７の判定の結果、欠落区間の終了点ではなかった場合（Ｓ１０７：Ｎｏ）、Ｓ１０８およびＳ１０９の処理は行わない。
【００４３】
次にＰＣＲリセットを検出し、時刻オフセット値を取得する（Ｓ１１０〜Ｓ１１２）。
Ｓ１１０では、リセット検出部１５が、欠落区間にＰＣＲリセットが発生していたか否かを判定するリセット検出処理を実行する。リセット検出処理の詳細については後述する。欠落区間中にＰＣＲリセットが発生していた場合（Ｓ１１１：Ｙｅｓ）、リセット検出部１５はメタ情報生成部１６にＰＣＲリセット発生の判定結果を通知し、時刻オフセット値を出力する。メタ情報生成部１６は、リセット検出部１５から時刻オフセット値を取得し、メタ情報の「時刻オフセット値」として保持する（Ｓ１１２）。欠落区間にＰＣＲリセットが発生していなかった場合は（Ｓ１１１：Ｎｏ）、Ｓ１１２の処理は行わない。
【００４４】
最後に、生成したメタ情報をＴＳ記録終了時に記録する（Ｓ１１３〜Ｓ１１４）。
記録制御部１７は、ユーザからの記録停止指示や記録終了時刻などによる記録停止指示があったか判定し（Ｓ１１３）、記録終了指示があった場合（Ｓ１１３：Ｙｅｓ）、記録制御部１７はメタ情報生成部１６からメタ情報を取得し、記録媒体４にメタ情報を記録する（Ｓ１１４）。記録停止指示がなかった場合（Ｓ１１３：Ｎｏ）、再び次のＴＳパケットを処理するためにＳ１０１に戻る。
【００４５】
以上が、ストリームデータ記録装置５の動作手順についての説明である。
尚、本実施形態では、ストリームデータの記録を終了する際にＳ１１４でメタ情報を一括して記録媒体へ書き込むとしたが、メタ情報は、１レコードずつ記録媒体へ記録してもよい。例えば、Ｓ１１３で記録終了指示の有無を判定するタイミングで、１レコード分の情報が生成できていれば、メタ情報生成部１６が保持している１レコード分の情報を記録制御部１７へ出力し、記録媒体へ書き込む処理手順としてもよい。さらに、ストリームデータの記録を開始する際に、記録媒体にメタ情報の記録領域を確保しておき、Ｓ１０５、Ｓ１０８、Ｓ１０９、及びＳ１１２の各処理でメタ情報の要素情報を取得する毎に、取得した情報を記録制御部１７へ出力し、メタ情報の記録領域へ取得した要素情報を追加書き込みするよう構成することも可能である。
＜ＰＣＲリセット検出方法＞
次に、図８のＳ１１０において、欠落区間内でＰＣＲリセットが発生したか否かを判定する方法を３つ、詳細に説明する。
【００４６】
まず１つ目の方法として、時刻オフセット値を用いる方法を説明する。
図９は、欠落区間にＰＣＲリセットが発生しなかった場合のＳＴＣ値の時間変化を示す図である。図９において、横軸は放送されたストリームデータの先頭からの連続時間を示し、縦軸はＳＴＣ値を示す。斜線部１２１はストリームデータの欠落区間を示している。黒丸はＴＳヘッダに含まれるＰＣＲの時刻情報を示している。直線１２２は、時刻カウンタ部１４がカウントアップしていく様子を示している。破線１２４は、欠落区間終了後から、最初にＰＣＲ情報を取得するまでの間のＴＳヘッダに含まれるＰＣＲの連続値を示している。時刻オフセット値１２７は、直線１２２と破線１２４の差異を示している。
【００４７】
欠落区間にＰＣＲリセットが発生していた場合を図１を参照して説明すると、本来であればＴＳヘッダに含まれるＰＣＲを基に時刻カウンタをカウントアップさせると図１の破線１０４に示すようになり、直線１０２で示される時刻カウンタ部１４のＳＴＣ値との間に、時刻オフセット値１１３という差異が発生する。一方、欠落区間にＰＣＲリセットが発生していなかった場合は、図９に示すように、ＴＳヘッダに含まれるＰＣＲを基にした時刻カウンタのカウントアップの様子は破線１２４に示すようになり、直線１２２で示される時刻カウンタ部１４のＳＴＣ値との差異は発生しない。つまり欠落区間内にＰＣＲリセットが発生していた場合は、時刻オフセット値（図１の１１３）は大きくなり、ＰＣＲリセットが発生していなかった場合は、時刻オフセット値（図９の１２７）は小さくなる。
【００４８】
このような、欠落区間のＰＣＲリセットに起因して時刻オフセット値が発生することに着目したＰＣＲリセット検出処理を、図１０を参照しながら説明する。図１０は、時刻オフセット値を用いてＰＣＲリセットを検出する処理のフローチャートである。
パケット解析部１２は、取得したＴＳパケットのヘッダを解析し、ＰＣＲ情報が含まれているか調査する（Ｓ１３１）。ＰＣＲ情報が含まれていない場合は（Ｓ１３１：Ｎｏ）、本フローチャートに示すＰＣＲリセット検出処理の処理手順を終了する。ヘッダにＰＣＲ情報が含まれている場合は（Ｓ１３１：Ｙｅｓ）、パケット解析部１２は時刻カウンタ部１４を介してリセット検出部１５に通知し、リセット検出部１５はそのＰＣＲ情報を取得する（Ｓ１３２）。またリセット検出部１５は、時刻カウンタ部１４から、そのＰＣＲ情報に同期する前のＳＴＣ値を取得する（Ｓ１３３）。そして時刻カウンタ部１４のＳＴＣ値とＰＣＲ値とを比較して時刻オフセット値を算出する（Ｓ１３４）。
【００４９】
このときＳＴＣ値がＰＣＲ値よりも大きい場合（Ｓ１３５：Ｙｅｓ）、ＰＣＲリセットが発生したと判定し、算出した時刻オフセット値をメタ情報生成部１６に通知する（Ｓ１３６）。ＳＴＣ値がＰＣＲ値以下である場合（Ｓ１３５：Ｎｏ）は、さらに、時刻オフセット値が閾値ＴＨ１より大きいければ（Ｓ１３７：Ｙｅｓ）は、ＰＣＲリセットが発生したと判定し、算出した時刻オフセット値をメタ情報生成部１６に通知する（Ｓ１３６）。
【００５０】
ＳＴＣ値がＰＣＲ値以下であり、且つ、時刻オフセット値が閾値ＴＨ１より小さい場合（Ｓ１３５：Ｎｏ、Ｓ１３７：Ｎｏ）は、ＰＣＲリセットは発生しなかったと判定して、時刻オフセット値として「０」をメタ情報生成部１６に通知し（Ｓ１３８）、本フローチャートに示すＰＣＲリセット検出処理の処理手順を終了する。
以上が、ＰＣＲリセットの欠落により時刻オフセット値が発生することに着目したＰＣＲリセット検出処理の処理手順である。上記の処理手順によれば、さらに、単に欠落区間にＰＣＲリセットがあった場合のみならず、欠落区間中のＰＭＴにおいてＰＣＲ情報を含むＴＳパケットのＰＩＤが変更されることが示されていた場合に、このＰＭＴの欠落によりＰＩＤの変更に対応できず、ＳＴＣ値とＰＣＲ値に差が生じるような現象についても、その発生を検知することができる。
【００５１】
尚、Ｓ１３５の判定で“ＳＴＣ値がＰＣＲ値よりも大きいか否か”を判定条件としたが、このＳ１３５の判定は“ＳＴＣ値とＰＣＲ情報の送出周期との和がＰＣＲ値よりも大きいか否か”を判定条件として用いてもよい。
以下に、短時間のうちに欠落区間が複数回発生した場合の対処について説明する。図１１は、欠落区間が複数回発生した場合のＳＴＣ値とＰＣＲとの関係を示す図である。本図において、横軸はストリームデータの受信開始時からの連続時間を示し、縦軸はＳＴＣ値を示している。斜線部１３１は受信電波状況が悪化し、記録するＴＳパケットに欠落が発生していた欠落区間Ａ５を、斜線部１３２は欠落区間Ｂ５を示している。黒丸はＴＳヘッダに含まれるＰＣＲの時刻情報を示している。直線１３３および直線１３４は、時刻カウンタ部１４がカウントアップしていく様子を示している。破線１３５は、欠落区間Ｂ５の終了後から、最初にＰＣＲ情報を取得するまでの間のＴＳヘッダに含まれるＰＣＲの連続値を示している。時刻オフセット値１３６は、直線１３３と破線１３５の差異を示している。Ｅ５点は欠落区間Ａ５の開始点、Ｆ５点は欠落区間Ｂ５の終了点である。区間Ｃ５は、欠落区間Ａ５と欠落区間Ｂ５の間のストリームデータを正常に受信できた区間を示している。この区間Ｃ５のストリームデータにはＰＣＲ情報が含まれていない。区間Ｄ５は、欠落区間Ｂ５の後にストリームデータを正常に受信できた区間を示している。この区間Ｄ５のストリームデータにはＰＣＲが含まれている。
【００５２】
このような欠落区間終了後、次の欠落区間までの間にＰＣＲ情報がない状況（図１１の区間Ｃ５の場合）では、Ｓ１３１において、図１０の処理手順から出てしまうため、時刻オフセット値を求めることができず、図１１の欠落区間Ａ５においてＰＣＲリセットが発生したかどうかの判定ができない。そのため、図１１の区間Ｃ５では、放送システムが意図したタイミングで再生することができない。
【００５３】
そこで、このように次の欠落区間までの間にＰＣＲ情報がなかった場合、図１１の欠落区間Ａ５と欠落区間Ｂ５を統合し、Ｅ５点からＦ５点までを１つの欠落区間としたメタ情報を生成することで対処する。
このような処理は、図８に示す処理手順において、メタ情報生成部１６が、後続の欠落区間（図１１の欠落区間Ｂ５）に対するＳ１０５の処理を行わず、この後続の欠落区間（図１１の欠落区間Ｂ５）に対するＳ１０８およびＳ１０９の処理において、時刻オフセット値を算出できなかった欠落区間（図１１の欠落区間Ａ５）に対するメタ情報の「欠落終了時刻」および「不連続点の位置情報」を、後続の欠落区間（図１１の欠落区間Ｂ５）での「欠落終了時刻」および「不連続点の位置情報」に書き換えることで実現できる。
【００５４】
次に、欠落区間内でＰＣＲリセットが発生したか否かを判定する２つ目の方法として、ビデオデータを受信してから出力するまでの時間情報を用いる方法を説明する。
バッファオーバーフローやバッファアンダーフローを生じないために、規格では仮想モデルとして、例えばバッファサイズやバッファでのデータ保持時間を規定している。例えば社団法人電波産業会の規定である「地上デジタルテレビジョン放送運用規定」（ＡＲＩＢ  ＴＲ  Ｂ−１４）では、ビデオストリームデータを保持するＣＰＢ（Ｃｏｄｅｄ  Ｐｉｃｔｕｒｅ  Ｂｕｆｆｅｒ）に入力されたストリームデータは、1.5秒以内にデコードして出力するように規定している。ＣＰＢは、ISO/IEC14496-10のＭＰＥＧ４ＡＶＣで規定されている仮想モデルのバッファである。
【００５５】
図１２は、ＴＳとビデオフレームの関係を示した図である。１段目は記録されるＴＳ、２段目はＴＳに含まれるビデオデータをデコード処理したビデオフレームを示している。バッファ内保持時間は、ＴＳデータを受信してからビデオデータをデコード処理し出力するまでの時間を示している。これは、例えば「地上デジタルテレビジョン放送運用規定」の場合、ＣＰＢでのデータ保持時間が1.5秒以内であるため、バッファ内保持時間は（1.5＋α）秒以内であると推定できる。αは、ＴＳデータを受信してからデコード処理を開始するまでの時間であり、ストリームデータ記録装置に依存する。欠落区間にＰＣＲリセットが発生していない場合、ＴＳデータを受信したときの時刻（ＳＴＣ値）と、ＰＥＳヘッダに含まれるＰＴＳの差はこのバッファ内保持時間以内になる。一方、欠落区間にＰＣＲリセットが発生した場合、この差はバッファ内保持時間に収まらない。
【００５６】
このような、欠落区間のＰＣＲリセットに起因して、ＴＳデータを受信したときのＳＴＣ値と、ＰＥＳヘッダに含まれるＰＴＳの差が、バッファ内保持時間に収まらなくなることに着目したＰＣＲリセット検出処理を、図１３を参照しながら説明する。図１３は、バッファ内保持時間を用いてＰＣＲリセットを検出する処理のフローチャートである。
パケット解析部１２は、取得したＴＳパケットのペイロード部分を解析し、ＰＥＳヘッダにＰＴＳが含まれているか調査する（Ｓ１５１）。ＰＴＳが含まれていない場合（Ｓ１５１：Ｎｏ）は、本フローチャートに示すＰＣＲリセット検出処理の処理手順を終了する。ＰＴＳが含まれている場合（Ｓ１５１：Ｙｅｓ）は、パケット解析部１２はリセット検出部１５に通知し、その通知に応じてリセット検出部１５はそのＰＴＳを取得する（Ｓ１５２）。またリセット検出部１５は、時刻カウンタ部１４からそのときのＳＴＣ値を取得する（Ｓ１５３）。そして時刻カウンタ部１４から得たＳＴＣ値とＰＴＳとを比較して、そのＰＴＳが付されたフレームのバッファ内保持時間を算出する（Ｓ１５４）。
【００５７】
算出したバッファ内保持時間が、ディジタル放送規格において規定されているバッファでのデータ保持時間に基づく閾値ＴＨ２より大きい場合（Ｓ１５５：Ｙｅｓ）は、ＰＣＲリセットが発生したと判定し、メタ情報生成部１６に通知する（Ｓ１５６）。このとき、図１３には図示していないが、リセット検出部１５は、図１０のＳ１３１〜Ｓ１３４の処理を行い、時刻オフセット値を算出して、メタ情報生成部１６に通知する。またバッファ内保持時間が閾値ＴＨ２より小さい場合（Ｓ１５５：Ｎｏ）は、ＰＣＲリセットは発生しなかったと判定して、時刻オフセット値として「０」をメタ情報生成部１６に通知し（Ｓ１５７）、本フローチャートに示すＰＣＲリセット検出処理の処理手順を終了する。
【００５８】
この２つ目の方法では、欠落区間にＰＣＲリセットが発生したか否かを、欠落区間後のストリームデータに含まれるＰＴＳを用いて検出する。そのため、図１１の区間Ｃ５のように、欠落区間が終了してから次の欠落区間が開始するまでの間に、ＰＣＲ情報が含まれない場合でもＰＣＲリセット発生を検出できる。そしてＰＣＲリセットが発生していなければ区間Ｃ５は放送システムが意図したタイミングで再生することができる。ＰＣＲリセットが発生していた場合は、図１１の区間Ｃ５での時刻オフセット値を求めることができないので、１つ目の方法同様に、図１１の欠落区間Ａ５と欠落区間Ｂ５を統合し、Ｅ５点からＦ５点までを１つの欠落区間としたメタ情報を生成する。
【００５９】
なお、ここではビデオデータを使ったＰＣＲリセット検出方法を説明したが、ビデオデータの代わりにオーディオデータ等、他のコンポーネントを使ってもよい。
次に、欠落区間内でＰＣＲリセットが発生したか否かを判定する３つ目の方法を説明する。これは２つ目の方法において、正常にストリームデータを受信できた区間にＰＣＲ情報が含まれなかった場合に対処する方法である。
【００６０】
図１１において、欠落区間Ａ５に対するＰＣＲリセット検出方法は図１３に処理手順をしめした２つ目の方法とほぼ同様である。２つ目の方法と異なる処理として、図１３のＳ１５４において、ＰＴＳ値とＳＴＣ値を比較した値を欠落区間Ａ５のバッファ内保持時間として保持しておく。またＳ１５６において、時刻オフセット値が算出されなかった場合に、メタ情報生成部１６は欠落区間Ａ５に対するメタ情報の「時刻オフセット値」として、まだ算出できていないことを示す値（例えば「−１」）を設定する。
【００６１】
欠落区間Ｂ５に対するＰＣＲリセット検出方法を、図を用いて説明する。
図１４は、ＰＣＲリセットが発生したが、時刻オフセット値を算出できなかった欠落区間の後に発生した欠落区間に対して、ＰＣＲリセットを検出する方法を示したフローチャートである。図１４のフローチャート内に記載の欠落区間Ａ５、欠落区間Ｂ５、区間Ｃ５、区間Ｄ５は、図１１に図示したものに対応している。
【００６２】
図１４に示す処理手順では、まず区間Ｄ５のバッファ内保持時間を算出する（Ｓ１７１）。これは図１３のＳ１５１〜Ｓ１５４の処理と同様の手順で算出できる。そして保持していた区間Ｃ５のバッファ内保持時間との差を求める（Ｓ１７２）。この差が閾値ＴＨ３以下の場合（Ｓ１７３：Ｙｅｓ）、区間Ｄ５の時刻オフセット値を算出する（Ｓ１７４）。この場合、区間Ｃ５と区間Ｄ５の時刻オフセット値は同じ値であると判断できる。そこで、このときリセット検出部１５は、この時刻オフセット値を欠落区間Ａ５で発生した時刻オフセット値としてメタ情報生成部１６に通知する（Ｓ１７５）。また欠落区間Ｂ５ではＰＣＲリセットは発生しなかったとして、時刻オフセット値として「０」をメタ情報生成部１６に通知する。
【００６３】
Ｓ１７３の判定において、区間Ｃ５と区間Ｄ５のバッファ内保持時間が閾値ＴＨ３より大きかった場合（Ｓ１７３：Ｎｏ）、欠落区間Ａ５と欠落区間Ｂ５の両方でＰＣＲリセットが発生していたことになる。この場合、区間Ｃ５の時刻オフセット値を求めることはできないので、メタ情報生成部１６は、欠落区間Ａ５と欠落区間Ｂ５の統合処理をする（Ｓ１７７）。
【００６４】
なお、ＰＣＲリセット検出方法として、図１３の処理を実行するか、図１４の処理を実行するかの選択は、リセット検出部１５内部で、識別フラグを保持することで対応可能である。例えば、時刻オフセット値を算出できないまま、次の欠落区間の開始を検出したらフラグをＯＮにする。また図１４のＳ１７３においてフラグをＯＦＦにする。ＰＣＲリセット検出処理を開始する際に、このようなフラグを参照して、フラグがＯＮであれば、図１４の処理、フラグがＯＦＦであれば図１３の処理を実行すればよい。
【００６５】
以上が、移動体受信端末３において、ストリームデータ記録機能を実現するストリームデータ記録装置５についての説明である。
＜ストリームデータ再生装置＞
次に、記録したストリームデータを再生する構成に注目して移動体受信端末３の詳細を説明する。
【００６６】
ストリームデータ再生機能は、移動体受信端末３が内蔵するストリームデータ再生装置６により実現される。図１５は、本実施形態に係るストリームデータ再生装置６の内部構成を示す図である。
本図において記録媒体４には、ストリームデータ記録装置５によって記録されたストリームデータ及びメタ情報が保持されている。
【００６７】
図１５に示すようにストリームデータ再生装置６は、内部に取得部２１、デコード部２２、出力部２３、メタ情報解析部２４、時刻カウンタ制御部２５、時刻カウンタ部２６、及び時刻カウンタ部２７を備える。
取得部２１は、ユーザからの指示に基づいて、記録媒体４からメタ情報とストリームデータを取得して、ストリームデータをデコード部２２へ出力し、メタ情報をメタ情報解析部２４へ出力する。
【００６８】
デコード部２２は、取得部２１からストリームデータを取得し、取得したストリームデータをデコード処理してビデオデータ、オーディオデータ、字幕データ等を生成する。そして時刻カウンタ部２６、または時刻カウンタ部２７の何れかを参照して、オーディオ、ビデオ等の各コンポーネントのＰＴＳが参照先のＳＴＣ値に一致したタイミングで、それぞれのコンポーネントの復号データを出力部２３へ出力する。ＳＴＣ値の参照先は、メタ情報解析部２４から通知されたストリームデータ位置に再生処理が達した時に、時刻カウンタ部２６と時刻カウンタ部２７とを交互に切り替える。また、ストリームデータからＰＣＲ情報が取得された場合、デコード部２２は、時刻カウンタ制御部２５へＰＣＲ値を通知する。
【００６９】
出力部２３は、デコード部２２から取得した映像信号や音声信号を、ディスプレイやスピーカーなどへ出力する。
メタ情報解析部２４は、取得部２１から取得したメタ情報を解析して、ＳＴＣ値をリセットするために、時刻カウンタ制御部２５に「時刻オフセット値」と「欠落終了時刻」とを通知する。さらにメタ情報解析部２４は、メタ情報の「不連続点の位置情報」に基づいて、参照先の時刻カウンタを切り替えるストリームデータ位置をデコード部２２へ通知する。
【００７０】
時刻カウンタ制御部２５は、デコード部２２から通知されたＰＣＲ値に基づいて、時刻カウンタ部２６及び時刻カウンタ部２７のうちデコード部２２が参照している側を同期させる。時刻カウンタ制御部２５はさらに、メタ情報解析部２４から取得した時刻オフセット値を用いて、時刻カウンタ部２６及び時刻カウンタ部２７のうちデコード部２２が参照していない側をリセットする。時刻オフセット値を用いた時刻カウンタのリセットは、デコード部２２が参照している側の時刻カウンタのＳＴＣ値がメタ情報の「欠落終了時刻」に達したタイミングで実行される。
【００７１】
時刻カウンタ部２６及び時刻カウンタ部２７は、デコード部２２で生成した映像信号や音声信号などを、タイミングを合わせて出力するためにデコード部２２から参照される時計の役割を果たす。
以上がストリームデータ記録装置５の内部構成である。
＜時刻カウンタの切換＞
以下に、デコード部２２がＳＴＣ値を参照する時刻カウンタの切り替えについて説明する。
【００７２】
図１６は欠落区間にＰＣＲリセットが発生していたストリームデータを再生するときの時刻カウンタ部２６及び時刻カウンタ部２７の変化の様子示す図である。グラフの横軸はストリームデータの再生開始時からの連続時間を示している。縦軸は時刻カウンタのカウンタ値を示している。斜線部１４１は欠落区間を示している。黒丸はＴＳヘッダに含まれるＰＣＲの時刻情報を示している。直線１４２は時刻カウンタ部２６のカウントアップの様子、破線１４３は時刻カウンタ部２７のカウントアップの様子である。時刻オフセット値１４６は、時刻カウンタ部２６と時刻カウンタ部２７の差を示している。
【００７３】
グラフ下の時刻カウンタ部２６および時刻カウンタ部２７の矢印は、それぞれのカウンタ値が有効な値を取る範囲を示している。Ａ６点は時刻カウンタ部２７の値をリセットするタイミング、Ｂ６点はデコード部２２が参照する時刻カウンタを時刻カウンタ部２６から時刻カウンタ部２７に切り替えるタイミングを示している。
欠落区間にＰＣＲリセットが発生していた場合、欠落区間終了後に時刻カウンタは、リセットされたＰＣＲに合わせて同期を取り直す必要がある。
【００７４】
ところで、ストリームデータの再生では、ストリームデータを記録媒体から読み出したタイミングで再生されるのではなく、読み出してからデコード処理して出力するまでの間には時間がかかる。そのため、欠落区間発生前に読み出したストリームデータの出力時刻が欠落区間終了後になる場合がある。このとき、欠落区間発生前に受信したストリームデータのＰＴＳは、ＰＣＲリセットが発生する前のＰＣＲに基づいて設定されているため、時刻カウンタを、欠落区間終了後すぐに、欠落区間内にリセットされたＰＣＲ値に同期させてしまうと、ＰＴＳと時刻カウンタの対応が取れなくなってしまう。そこで、時刻カウンタを２つ設けて、欠落区間が終了したタイミング（図１６のＡ６点）で、時刻カウンタ部２７を欠落区間中にリセットされたＰＣＲ値に同期させるが、デコード部２２の参照先は、欠落区間発生前に受信したストリームデータが全て出力処理し終わってから、時刻カウンタ部２７に切り替える（図１６のＢ６点）。
＜ストリームデータ再生方法＞
次に、ストリームデータ再生装置６が記録媒体４からストリームデータを取得して再生する動作手順について説明する。図１７は、本実施形態に係るストリームデータ再生装置６におけるストリームデータ再生処理の処理手順を示す図である。
【００７５】
まずユーザからの指示を受け、再生処理が開始されると、取得部２１は記録媒体４からメタ情報を読み出しメタ情報解析部２４へ出力する（Ｓ２０１）。メタ情報解析部２４は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関するレコードを選択し（Ｓ２０２）、選択したレコードをデコード部２２へ出力する（Ｓ２０３）。
【００７６】
デコード部２２は、取得部２１が記録媒体４から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取り（Ｓ２０４）、ファイル先頭からの位置情報とメタ情報解析部２４から取得したメタ情報の「不連続点の位置情報」とを比較して、再生処理するストリームデータが前のデータと不連続になっているか判定する（Ｓ２０５）。
【００７７】
処理するストリームデータが前のデータと不連続ではなかった場合（Ｓ２０６：Ｎｏ）、デコード部２２はデコード処理してビデオデータ、オーディオデータ、及び字幕データを生成する。その後、各コンポーネントのＰＴＳが参照している時刻カウンタに一致したタイミングで、デコードしたコンポーネントのデータを出力部２３に出力する（Ｓ２１５）。
【００７８】
処理するストリームデータが前のデータと不連続な場合（Ｓ２０６：Ｙｅｓ）、デコード部２２はメタ情報の「時刻オフセット値」を参照する。参照した時刻オフセット値が「０」であれば（Ｓ２０７：Ｙｅｓ）、欠落区間にＰＣＲリセットは発生しておらず時刻カウンタをリセットする必要がないため、そのままＳ２１５の処理を実行して、ストリームデータを再生出力する。
【００７９】
参照した時刻オフセット値が「０」であれば（Ｓ２０７：Ｎｏ）欠落区間にＰＣＲリセットが発生しているため、時刻カウンタ値をリセットする処理が必要となる。そこでデコード部２２は、処理するストリームデータが前のデータと不連続な位置に達したことを、メタ情報解析部２４へ通知する。通知をうけたメタ情報解析部２４は、Ｓ２０２で選択したレコードの「時刻オフセット時」を時刻カウンタ制御部２５へ通知する（Ｓ２０８）。
【００８０】
メタ情報解析部２４への不連続位置到達通知に続いて、デコード部２２は現在参照している側の時刻カウンタ部のカウンタ値と、メタ情報の「欠落終了時刻」とを比較する（Ｓ２０９）。これらが一致していない場合（Ｓ２１０：Ｎｏ）、まだ不連続点以前のデータの処理タイミングであるため、Ｓ２１５の処理を実行して、不連続点以前のデータを再生出力する。
【００８１】
欠落終了時刻が時刻カウンタ部のカウンタ値に一致した場合（Ｓ２１０：Ｙｅｓ）、デコード部２２は、時刻カウンタ部２６及び時刻カウンタ部２７のうち何れの側を参照しているかを、時刻カウンタ制御部２５へ通知する。通知をうけた時刻カウンタ制御部２５は、デコード部２２が参照していない方の時刻カウンタに、もう一方の時刻カウンタのカウンタ値からＳ２０８で通知された「時刻オフセット値」を減算した値を設定する（Ｓ２１１）。
【００８２】
次にデコード部２２はＳ２１２〜Ｓ２１４の処理を実行することで、参照する時刻カウンタ部を切り替える。この処理でまずデコード部２２は、メタ情報の「不連続点の位置情報」以前のデータを全て出力処理したか判定する（Ｓ２１２）。この判定は例えば、再生対象のストリームデータが記録時にストリームデータ記録装置５の欠落検出部１３によって不連続パケットを挿入されたものであれば、デコード処理して生成したデータを出力部２３に出力するときに、不連続パケットまで処理したか否かを判定することで実現できる。また、記録時に不連続パケットが挿入されていないストリームデータを再生対象とする場合には、デコード部２２が取得部２１からストリームデータを取得したときに、不連続となるストリームデータ位置に不連続を示すデータを挿入しておくことで、デコード処理して生成したデータを出力部２３に出力するときに、不連続を示すデータまで処理したか否かを判定することができる。
【００８３】
まだ不連続点以前のデータが残っている場合（Ｓ２１３：Ｎｏ）は、参照する時刻カウンタ部の切換は行わず、Ｓ２１５の処理を実行し、不連続点以前のデータを再生出力する。不連続点以前のデータを全て処理し終えている場合（Ｓ２１３：Ｙｅｓ）、デコード部２２は参照する時刻カウンタ部を切り替える（Ｓ２１４）。そして、Ｓ２１５の処理を実行し、不連続点以降のデータを再生出力する。なお、この時刻カウンタ部の切り替え処理は、時刻カウンタ部２６と時刻カウンタ部２７を用いて交互に行う。
【００８４】
出力部２３は、ユーザからの再生停止指示やファイル終端まで再生処理したか判定し（Ｓ２１６）、再生終了指示があった場合は再生処理を終える。再生終了指示がなかった場合は、再び次のデータを処理するためにＳ２０１に戻る。
以上がストリームデータ再生装置６の動作手順についての説明である。
上記実施形態によれば、受信電波が弱い状態でストリームデータを記録するときに、ＰＣＲとストリームデータ記録装置の時刻カウンタとのオフセット値を求めてメタ情報として保持しておき、この記録したストリームデータを再生するときに、ストリームデータ再生装置の時刻カウンタをオフセット値に基づいて補正することで、放送システムが意図したタイミングでストリームデータを再生することができる。
（第２実施形態）
本発明の第２実施形態について説明する。
＜メタ情報＞
第２実施形態に係るメタ情報について説明する。第１実施形態に係るメタ情報では欠落区間の開始終了をＳＴＣ値を用いて記録したが、第２実施形態に係るメタ情報では番組を構成するコンポーネントの何れかに着目して、そのコンポーネントに付されたＰＴＳを用いて欠落区間の開始終了を記録する。ここで用いるコンポーネントは、ビデオ、オーディオ、字幕等の何れを用いても良い。本実施形態では、ビデオデータを対象とした場合のメタ情報を例として説明に用いる。図１８は第２実施形態に係るメタ情報のデータ構造を示した図である。本実施形態に係るメタ情報は、ストリームデータ中に検出された欠落区間と同数のレコードからなり、各レコードは「欠落開始点のＰＴＳ」「欠落終了点のＰＴＳ」「不連続点の位置情報」及び「再生時間」から構成される。
【００８５】
「欠落開始点のＰＴＳ」は、欠落区間の発生前に受信したストリームデータのビデオフレームのＰＴＳである。
「欠落終了点のＰＴＳ」は、欠落区間の終了後に受信したストリームデータのビデオフレームのＰＴＳである。
「不連続点の位置情報」は、「欠落終了点のＰＴＳ」を含むＴＳパケットの位置である。データ位置情報としては、記録対象のＴＳパケットの先頭から付けた通し番号や、ファイル先頭からのオフセット値などを用いることができる。本実施形態では、ファイル先頭からのオフセット値を用いる。
【００８６】
「再生時間」は、欠落区間に含まれるストリームデータを仮に再生できた場合の再生時間である。「欠落終了点のＰＴＳ」から「欠落開始点のＰＴＳ」を減算した値がこれにあたる。
＜ストリームデータ記録装置＞
続いて、ストリームデータの記録処理において、図１８にデータ構造を示したメタ情報を生成するストリームデータ記録装置７について説明する。
【００８７】
図１９は、第２実施形態に係るストリームデータ記録装置７の内部構成を示す図である。ストリームデータ記録装置７は、図５に構成を示したストリームデータ記録装置５に再生時間算出部１８を追加し、メタ情報生成部１６をメタ情報生成部１９に置換した構成である。
以下、ストリームデータ記録装置５と同様の構成については、同じ符号を付して説明を省略する。
【００８８】
再生時間算出部１８は、リセット検出部１５からリセット検出結果の通知を受けて、受信電波状況の悪化等により記録対象のストリームデータが欠落した区間に対応する、ストリームデータの再生時間を算出する機能ブロックである。再生時間算出部１８は、算出した再生時間をメタ情報生成部１９に通知する。
メタ情報生成部１９は、欠落検出部１３の検出結果、及び再生時間算出部１８が算出した再生時間に基づいて、図１８にデータ構造を示したメタ情報を生成する。
【００８９】
以上がストリームデータ記録装置７の内部構成についての説明である。
＜ストリームデータ記録方法＞
図２０は、ストリームデータ記録装置７におけるストリームデータ記録処理の処理手順を示すフローチャートである。以下、図８に示したストリームデータ記録装置５の動作手順との相違点に着目して、図２０を参照しながらストリームデータ記録装置７の動作手順について説明する。
【００９０】
図２０に示す処理手順は、ユーザから録画指示を受けると実行される処理手順であり、大きく分けて以下の１〜４のステップに分けられる。
１．欠落区間の発生を検出し、欠落開始点のＰＴＳを取得するステップ（Ｓ３０１〜Ｓ３０５）
２．欠落区間の終了を検出し、欠落終了点のＰＴＳ、不連続点の位置情報を取得するステップ（Ｓ３０６〜Ｓ３０９）
３．欠落区間内で発生していたＰＣＲリセットを検出し、再生時間を算出するステップ（Ｓ３１０〜Ｓ３１４）
４．生成したメタ情報を記録するステップ（Ｓ３１５〜Ｓ３１６）
まず、記録するストリームデータの欠落区間の発生を検出するＳ３０１〜Ｓ３０５のステップについて説明する。Ｓ３０１〜Ｓ３０５の処理は、図８のＳ１０１〜Ｓ１０５の処理に相当するが、検出されたＴＳパケットの欠落が欠落区間の開始点である場合（Ｓ３０４：Ｙｅｓ）に実行する処理（Ｓ３０５）が図８のＳ１０５の処理と相違する。
【００９１】
Ｓ３０５の処理では、欠落検出部１３はメタ情報生成部１９に欠落区間開始を通知し、通知を受けたメタ情報生成部１９は、欠落区間の発生前に出力したビデオフレームの出力時刻を取得して、メタ情報の「欠落開始点のＰＴＳ」情報として保持する（Ｓ３０５）。このよな処理は、例えば、パケット解析部１２でビデオＰＥＳのヘッダを解析してＰＥＳヘッダに含まれるＰＴＳを検出する度に、検出したＰＴＳを欠落検出部１３へ出力し、欠落検出部１３は欠落区間の開始を検出した時に、最後に取得していたＰＴＳをメタ情報生成部１９へ通知することで、メタ情報生成部１９が欠落区間の発生前に出力したビデオフレームの出力時刻を取得することができる。
【００９２】
次に、欠落区間の終了を検出し、欠落終了時刻、及び不連続点の位置情報を取得するＳ３０６〜Ｓ３０９のステップについて説明する。Ｓ３０６〜Ｓ３０９の処理は、図８のＳ１０６〜Ｓ１０９の処理に相当するが、検出されたＴＳパケットの欠落が欠落区間の終了点である場合（Ｓ３０７：Ｙｅｓ）に実行する処理（Ｓ３０８）が図８のＳ１０８の処理と相違する。
【００９３】
Ｓ３０８の処理では、欠落検出部１３はメタ情報生成部１９に欠落区間終了の通知をし、メタ情報生成部１９は、欠落区間終了後に出力するビデオフレームの出力時刻を取得し、メタ情報の「欠落終了点のＰＴＳ」情報として保持する（Ｓ３０８）。このよな処理は、例えば、パケット解析部１２がビデオＰＥＳのヘッダを解析してＰＥＳヘッダに含まれるＰＴＳを検出する度に、検出したＰＴＳを欠落検出部１３へ出力し、欠落検出部１３は欠落区間の終了を検出した後に、最初に取得したＰＴＳをメタ情報生成部１９へ通知することで、メタ情報生成部１９が欠落区間の終了後に出力するビデオフレームの出力時刻を取得することができる。
【００９４】
次に、欠落区間内で発生していたＰＣＲリセットを検出し、再生時間を算出するＳ３１０〜Ｓ３１４のステップについて説明する。Ｓ３１０〜Ｓ３１４の処理は、図８のＳ１１０〜Ｓ１１２の処理に相当するが、欠落区間中にＰＣＲリセットが発生していた場合（Ｓ３１１：Ｙｅｓ）に実行する処理（Ｓ３１２〜Ｓ３１４）が図８の処理手順と相違する。
Ｓ３１２の処理では、リセット検出部１５は時刻オフセット値を取得して、再生時間算出部１８に通知する。時刻オフセット値が通知された再生時間算出部１８では、メタ情報生成部１９から「欠落開始点のＰＴＳ」および「欠落終了点のＰＴＳ」を取得し、時刻オフセット値、「欠落開始点のＰＴＳ」及び「欠落終了点のＰＴＳ」を用いて、欠落区間に含まれるビデオフレームに対応する再生時間を算出する。再生時間算出処理の詳細については後述する。続くＳ３１４の処理では、メタ情報生成部１９は再生時間算出部１８から再生時間を取得し、メタ情報の「再生時間」として保持する。
【００９５】
最後に生成したメタ情報をＴＳ記録終了時に記録するＳ３１５、Ｓ３１６の処理は、図８のＳ１１３〜Ｓ１１４の処理と同様の処理である。
以上が、ストリームデータ記録装置７の動作手順についての説明である。
＜再生時間算出方法＞
次に、図２０のＳ３１３における、欠落区間に含まれるストリームデータに対応する再生時間の算出方法を詳細に説明する。
【００９６】
図２１は、欠落区間にＰＣＲリセットが発生しなかった場合のストリームデータに含まれるＰＴＳおよび時刻カウンタの変化の様子を示す図である。横軸はストリームデータの受信開始時からの連続時間を示している。縦軸は時刻カウンタの値を示している。斜線部１５１は欠落区間を示している。直線１５２は時刻カウンタ部１４のカウントアップの様子を示している。欠落区間開始ＰＴＳ１５４は、欠落区間が発生する前に出力するビデオフレームの、出力タイミングでの時刻カウンタ部１４の値である。欠落区間終了ＰＴＳ１５５は、欠落区間が終了した後に、ビデオＰＥＳヘッダから取得したＰＴＳの値である。
【００９７】
本図で示すように、欠落区間にＰＣＲリセットが発生していなかった場合は、ストリームデータに含まれるＰＣＲと時刻カウンタ部１４は欠落区間終了後も同期している。このような条件では、欠落区間終了ＰＴＳ１５５は時刻カウンタ部１４が示すＳＴＣ値に基づいて処理されるように値が設定されているため、欠落区間に対応する再生時間は欠落区間終了ＰＴＳ１５５と欠落区間開始ＰＴＳ１５４の差分になる。
【００９８】
一方、図２２は、欠落区間にＰＣＲリセットが発生した場合のストリームデータに含まれるＰＴＳおよび時刻カウンタの変化の様子を示している。図２２において横軸はストリームデータの受信開始時からの連続時間を示している。縦軸は時刻カウンタの値を示している。斜線部１６１は欠落区間を示している。黒丸はＴＳヘッダに含まれるＰＣＲの時刻情報を示している。直線１６２および直線１６３は時刻カウンタ部１４のカウントアップの様子を示している。破線１６４は欠落区間終了後から、最初にＰＣＲを取得するまでの間にＴＳヘッダに含まれるＰＣＲの連続値を示している。欠落区間開始ＰＴＳ１６５は、欠落区間が発生する前に出力するビデオフレームの、出力タイミングの時刻カウンタ部１４の値である。欠落区間終了ＰＴＳ１６６は、欠落区間が終了した後に、ビデオＰＥＳヘッダから取得したＰＴＳの値である。時刻オフセット値１６７は直線１６２と破線１６４の差分である。
【００９９】
本図に示すように、欠落区間にＰＣＲリセットが発生していた場合、欠落区間終了後はＰＣＲと時刻カウンタ部１４は同期していない。欠落区間開始ＰＴＳ１６５は欠落区間開始ＰＴＳ１６５はＰＣＲリセット前のＰＣＲに基づいているため、時刻カウンタ部１４と同期している。しかし、欠落区間終了ＰＴＳ１６６はＰＣＲリセット後のＰＣＲに基づいている処理されるように値が設定されているため、時刻カウンタ部１４と同期していない。そのため、欠落区間終了ＰＴＳ１６６と欠落区間開始ＰＴＳ１６５とは基準が異なるため、このままでは単に差をとるだけでは、欠落区間に対応する再生時間を得ることができない。
【０１００】
そこで、欠落区間終了ＰＴＳ１６６を、時刻オフセット値１６７を使って、欠落区間開始ＰＴＳ１６５と同じ基準に合わせる。補正終了ＰＴＳ１６８は欠落区間終了ＰＴＳ１６６に時刻オフセット値１６７を加算して、欠落区間開始ＰＴＳ１６５と同じ基準に補正した欠落区間終了ＰＴＳである。補正終了ＰＴＳ１６８と欠落区間開始ＰＴＳ１６５は同じ基準に基づいているため、欠落区間に対応する再生時間は補正終了ＰＴＳ１６８と欠落区間開始ＰＴＳ１６５の差分により得ることができる。
【０１０１】
以下に、上述の再生時間算出方法を実現する処理手順を説明する。図２７は、再生時間算出部１８が再生時間を算出する処理手順を示すフローチャートである。
まず再生時間算出部１８はメタ情報生成部１９から欠落終了点のＰＴＳを取得する（Ｓ３５１）。また欠落区間にＰＣＲリセットが発生していた場合は、再生時間算出部１８はリセット検出部１５で算出した時刻オフセット値を取得する（Ｓ３５２）。そして再生時間算出部１８は欠落終了点のＰＴＳに時刻オフセット値を加算して、欠落終了点のＰＴＳを補正する（Ｓ３５３）。このときメタ情報の欠落終了点のＰＴＳ値は書き換えない。欠落区間にＰＣＲリセットが発生していなかった場合(Ｓ３５２)、Ｓ３５３の処理は行わない。次に再生時間算出部１８はメタ情報生成部１９から欠落開始点のＰＴＳを取得する（Ｓ３５４）。そして欠落終了点のＰＴＳから欠落開始点のＰＴＳを減算し、欠落区間に含まれるストリームデータに対応する再生時間を算出する（Ｓ３５５）。そして算出した再生時間をメタ情報生成部１９に通知する（Ｓ３１４）。
【０１０２】
以上が、欠落区間に含まれるストリームデータに対応する再生時間の算出方法の説明である。
＜ＰＴＳ補間処理＞
次に、欠落開始点および欠落終了点のＰＴＳを求める方法の変形例として、ＰＥＳヘッダに含まれるＰＴＳ情報とフレームレートを用いて、オーディオフレーム及びビデオフレームのＰＴＳを補間することで、欠落開始点および欠落終了点と精度よく一致するＰＴＳを求める方法を説明する。
【０１０３】
図２４はオーディオＰＥＳヘッダに含まれるＰＴＳとオーディオフレームとの関係を示した図である。
上段はオーディオＰＥＳを示している。「ＰＴＳ含む」はＰＥＳヘッダにＰＴＳ情報を含んでいるＰＥＳを、「ＰＴＳ含まない」はＰＥＳヘッダにＰＴＳ情報を含んでいないＰＥＳを示している。受信悪化区間は受信電波状況が悪化して正しくストリームデータを取得できなかった区間である。
【０１０４】
下段はオーディオＰＥＳをデコードして生成されるオーディオフレームを示している。
図２０のＳ３０５において、欠落開始ＰＴＳとして、ＰＥＳヘッダに含まれるＰＴＳを用いた場合、図２４のＡ７点が欠落区間の開始点となる。そのため、Ａ７点からＢ７点までのオーディオフレームは音声出力されない。そこで、欠落開始ＰＴＳとして、ＰＥＳヘッダに含まれるＰＴＳではなく、補間したＢ７点でのＰＴＳを用いることで、再生できるストリームデータを増やすことができる。
【０１０５】
Ｂ７点のＰＴＳ算出方法であるが、まずＡ７点からＢ７点に含まれるストリームデータをデコード処理してフレーム数を求める。そしてフレーム数とストリームデータで定義されているフレームレートから、Ａ７点からＢ７点のフレームの再生時間を求め、それをＡ７点のＰＴＳに足し合わせることで求めることができる。なお、ビットレートが固定の場合は、Ａ７点からＢ７点のオーディオＥＳのバイト長とビットレートから算出することも可能である。
【０１０６】
また図２０のＳ３０８において、欠落終了ＰＴＳとして、ＰＥＳヘッダに含まれるＰＴＳを用いた場合、図２４のＤ７点が欠落区間の終了点となる。そのため、Ｃ７点からＤ７点のオーディオフレームは出力されない。そこで欠落開始ＰＴＳの場合と同様に、欠落終了ＰＴＳとして、ＰＥＳヘッダに含まれるＰＴＳではなく、補間したＣ７点でのＰＴＳを用いることで、再生できるストリームデータを増やすことができる。
【０１０７】
Ｃ７点のＰＴＳ算出方法であるが、Ｂ７点のＰＴＳ算出方法と同様に、Ｃ７点からＤ７点に含まれるフレーム数とフレームレートからＣ７点からＤ７点のフレームの再生時間を求め、それをＤ７点のＰＴＳから引くことで求めることができる。
なお、ここではオーディオデータを用いて説明したが、ビデオデータについても同様であることは言うまでもない。
【０１０８】
以上が、ストリームデータ記録装置７についての説明である。
＜ストリームデータ再生装置＞
続いて第２実施形態に係るメタ情報を用いてＳＴＣ値を補正して、ストリームデータを再生するストリームデータ再生装置８について説明する。図２５は、第２実施形態に係るストリームデータ再生装置８の内部構成を示す図である。ストリームデータ再生装置８は、図１５に構成を示したストリームデータ再生装置６から時刻カウンタ部２７を取り除き、デコード部２２、メタ情報解析部２４及び時刻カウンタ制御部２５を、それぞれデコード部２８、メタ情報解析部２９及び時刻カウンタ制御部３０に置換した構成である。
【０１０９】
以下、ストリームデータ再生装置６と同様の構成については、同じ符号を付して説明を省略する。
デコード部２８は、デコード部２２と同様に、取得部２１から取得したストリームデータをデコードしてビデオデータ、オーディオデータ、字幕データ等のコンポーネントデータを生成し、時刻カウンタ部２６のＳＴＣ値を参照して各コンポーネントに設定されたＰＴＳがカウンタ値に一致したタイミングで、出力部２３へ出力する。また、ストリームデータからＰＣＲ情報が取得された場合、デコード部２８は、時刻カウンタ制御部２５へＰＣＲ値を通知する。
【０１１０】
デコード部２８がデコード部２２と相違するのは、またメタ情報の「不連続点の位置情報」を参照して、デコード処理するデータが前のデータと不連続であるかを判定し、不連続である場合は、メタ情報の「再生時間」で示される時間の間、直前に復号したフレームを出力しつづける点である。「再生時間」で示される時間が経過した後は、デコード部２８は、欠落区間に相当する再生時間が終了したことを、時刻カウンタ制御部３０に通知する。
【０１１１】
尚、前のデータと不連続なデータまでデコード処理が達した場合の処理としては、直前に復号したフレームの静止画表表示に替えて、「再生時間」示される時間の間、画面を暗転表示したり、その他の色を画面に表示させてもよい。あるいは、前のデータと不連続なデータまでデコード処理が達した場合、即座に時刻カウンタ制御部３０へ時刻カウンタ値をリセットするように通知することで、不連続なデータへ再生位置をジャンプさせてもよい。
【０１１２】
メタ情報解析部２９は、取得部２１から取得したメタ情報を解析して、「不連続点の位置情報」と「再生時間」とをデコード部２８へ通知する。さらにメタ情報解析部２９は、ＳＴＣ値をリセットするために必要な「欠落終了点のＰＴＳ」を、時刻カウンタ制御部３０へ通知する。
時刻カウンタ制御部３０は、デコード部２８から通知されたＰＣＲ値に時刻カウンタ部２６を同期させる。さらに時刻カウンタ制御部３０は、デコード部２８から欠落区間に相当する再生時間の終了が通知された場合、メタ情報解析部２９から通知された「欠落終了点のＰＴＳ」が示す時刻に時刻カウンタ部２６を再設定する。
【０１１３】
以上がストリームデータ再生装置８の内部構成についての説明である。
＜ストリームデータ再生方法＞
次に、ストリームデータ再生装置８が記録媒体４からストリームデータを取得して再生する動作手順について説明する。図２６は、第２実施形態に係るストリームデータ再生装置８におけるストリームデータ再生処理の処理手順を示す図である。
【０１１４】
まずユーザからの指示を受け、再生処理が開始されると、取得部２１は記録媒体４からメタ情報を読み出しメタ情報解析部２９へ出力する（Ｓ４０１）。メタ情報解析部２９は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関するレコードを選択する（Ｓ４０２）。さらにメタ情報解析部２９は、選択したレコードの「不連続点の位置情報」と「再生時間」とをデコード部２８へ通知し、選択したレコードの「欠落終了点のＰＴＳ」を、時刻カウンタ制御部３０へ通知する（Ｓ４０３）。
【０１１５】
デコード部２８は、取得部２１が記録媒体４から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取り（Ｓ４０４）、ファイル先頭からの位置情報とメタ情報解析部２９から取得したメタ情報の「不連続点の位置情報」とを比較して、再生処理するストリームデータが前のデータと不連続になっているか判定する（Ｓ４０５）。
【０１１６】
処理するストリームデータが前のデータと不連続ではなかった場合（Ｓ４０６：Ｎｏ）、デコード部２８はデコード処理してビデオデータ、オーディオデータ、及び字幕データを生成する。その後、各コンポーネントのＰＴＳが時刻カウンタ部２６のＳＴＣ値に一致したタイミングで、デコードしたコンポーネントのデータを出力部２３に出力する（Ｓ４１３）。
【０１１７】
処理するストリームデータが前のデータと不連続であった場合（Ｓ４０６）、デコード部２８はメタ情報の「不連続点の位置情報」以前のデータを全て出力処理したか判定する（Ｓ４０７）。この判定は例えば、再生対象のストリームデータが記録時に不連続パケットを挿入されたものであれば、デコード処理して生成したデータを出力部２３に出力するときに、不連続パケットまで処理したか否かを判定することで実現できる。また、記録時に不連続パケットが挿入されていないストリームデータを再生対象とする場合には、デコード部２２が取得部２１からストリームデータを取得したときに、不連続となるストリームデータ位置に不連続を示すデータを挿入しておくことで、デコード処理して生成したデータを出力部２３に出力するときに、不連続を示すデータまで処理したか否かを判定することができる。
【０１１８】
まだ不連続点以前のデータが残っている場合（Ｓ４０８：Ｎｏ）は、Ｓ４１３の処理を実行し、不連続点以前のデータを再生出力する。不連続点以前のデータを全て処理し終えている場合（Ｓ４０８：Ｙｅｓ）、デコード部２８はメタ情報の「再生時間」が経過したか否かを判定する（Ｓ４０９）。この判定のためには、先ずデコード部２８が不連続点以前の最後のデータを出力したときのＳＴＣ値を時刻カウンタ部２６から取得し、メタ情報の「再生時間」を加算する。この加算結果の値と時刻カウンタ部２６のカウンタ値が一致したか否かで再生時間の経過を判定することができる。
【０１１９】
まだ再生時間が経過していない場合（Ｓ４１０：Ｎｏ）、再生時間が経過するまで、デコード部２８は不連続点以降のデータの出力処理を行わず待機する。再生時間が経過した場合（Ｓ４１０：Ｙｅｓ）、デコード部２８は欠落区間に相当する再生時間が終了したことを、時刻カウンタ制御部３０に通知する（Ｓ４１１）。通知を受けた時刻カウンタ制御部３０は、時刻カウンタ部２６のカウント値を、Ｓ４０３でメタ情報解析部２９から通知された「欠落終了点のＰＴＳ」の値にリセットする（Ｓ４１２）。その後、Ｓ４１３の処理を実行して、不連続点以降のデータを再生出力する。
【０１２０】
出力部２３は、ユーザからの再生停止指示やファイル終端まで再生処理したか判定し（Ｓ４１４）、再生終了指示があった場合（Ｓ４１４：Ｙｅｓ）は再生処理を終え、再生終了指示がなかった場合（Ｓ４１４：Ｎｏ）は、再び次のデータを処理するためにＳ４０１に戻る。
以上がストリームデータ再生装置８の動作手順についての説明である。
【０１２１】
なお、本発明の第２実施形態では、メタ情報を生成するのにビデオデータを用いたが、オーディオデータを用いてもよい。
上記実施形態によれば、正常に受信できなかった区間のビデオデータまたはオーディオデータのどちらか一方の再生時間を予測してメタ情報として生成、保持しておくことで、受信電波が弱い状態で記録したストリームデータを再生するときに、放送システムが意図したタイミングで再生することができる。
（第３実施形態）
本発明の第３実施形態について説明する。
＜メタ情報＞
本発明の第２実施形態では、オーディオデータかビデオデータどちらか一方の時間情報を用いてメタ情報を生成したが、第３実施形態では、オーディオデータとビデオデータとの両方の時刻情報を用いてメタ情報を生成する。図２７は、第３実施形態に係るメタ情報のデータ構造を示す図である。
【０１２２】
本実施形態に係るメタ情報は、ストリームデータ中に検出された欠落区間ごとに、ビデオデータに対応するレコードとオーディオデータに対応するレコードを含むため、欠落区間の２倍の数のレコードからなる。奇数番目のレコードがビデオデータを対象にした場合のメタ情報であり、偶数番目のレコードがオーディオデータを対象にした場合のメタ情報である。
【０１２３】
各レコードは「欠落開始点のＰＴＳ」「欠落終了点のＰＴＳ」「不連続点の位置情報」及び「再生時間」から構成される。
「欠落開始点のＰＴＳ」は、欠落区間の発生前に受信したストリームデータのオーディオフレームまたはビデオフレームのＰＴＳである。
「欠落終了点のＰＴＳ」は、欠落区間の終了後に受信したストリームデータのオーディオフレームまたはビデオフレームのＰＴＳである。
【０１２４】
「不連続点の位置情報」は、「欠落終了点のＰＴＳ」を含むＴＳパケットの位置である。データ位置情報としては、記録対象のＴＳパケットの先頭から付けた番号や、ファイル先頭からのオフセット値などがある。本発明の第３実施形態では、ファイル先頭からのオフセット値を用いる。
「再生時間」は、欠落区間に含まれるストリームデータを仮に再生できた場合のオーディオフレームまたはビデオフレームの再生時間である。「欠落終了点のＰＴＳ」から「欠落開始点のＰＴＳ」を減算した値がこれにあたる。
＜ストリームデータ記録方法＞
次に、第３実施形態に係るストリームデータ記録処理について、図２０を参照しながら、第２実施形態に係るストリームデータ記録処理との相違点を説明する。
【０１２５】
先ず第１の相違点は、欠落区間の開始点が検出された場合に実行されるＳ３０５の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落開始点のＰＴＳを取得する点である。
具体的には、Ｓ３０５の処理では、メタ情報生成部１９は、欠落区間の発生前に出力したビデオフレームのＰＴＳを取得し、メタ情報の奇数行目にビデオデータの「欠落開始点のＰＴＳ」情報として保持する。またメタ情報生成部１９は、欠落区間の発生前に出力したオーディオフレームのＰＴＳを取得し、メタ情報の偶数行目にオーディオデータの「欠落開始点のＰＴＳ」情報として保持する。
【０１２６】
第２の相違点は、欠落区間の終了点が検出された場合に実行されるＳ３０８の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落終了点のＰＴＳを取得する点である。
具体的には、Ｓ３０８の処理では、メタ情報生成部１９は、欠落区間終了後に出力するビデオフレームのＰＴＳを取得し、メタ情報の奇数行目にビデオデータの「欠落終了点のＰＴＳ」情報として保持する。またメタ情報生成部１９は、欠落区間終了後に出力するオーディオフレームのＰＴＳを取得し、メタ情報の偶数行目にオーディオデータの「欠落終了点のＰＴＳ」情報として保持する。
【０１２７】
第３の相違点は、Ｓ３０９の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、記録位置情報を取得する点である。
具体的には、Ｓ３０９の処理では、メタ情報生成部１９は、記録制御部１７から、ビデオデータの「欠落終了点のＰＴＳ」情報を含むＴＳパケットの記録位置を取得し、メタ情報の奇数行目にビデオデータの「不連続点の位置情報」として保持する。またメタ情報生成部１９は、記録制御部１７から、オーディオデータの「欠落終了点のＰＴＳ」情報を含むＴＳパケットの記録位置を取得し、メタ情報の偶数行目にオーディオデータの「不連続点の位置情報」として保持する。
【０１２８】
第４の相違点は、Ｓ３１３の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落区間に含まれるデータに対応する再生時間を算出する点である。
具体的には、Ｓ３１３の処理では、再生時間算出部１８はメタ情報生成部１９の奇数行目からビデオデータの「欠落開始点のＰＴＳ」および「欠落終了点のＰＴＳ」を取得して、欠落区間に含まれるビデオデータに対応する再生時間を算出する。また再生時間算出部１８はメタ情報生成部１９の偶数行目からオーディオデータの「欠落開始点のＰＴＳ」および「欠落終了点のＰＴＳ」を取得して、欠落区間に含まれるオーディオデータに対応する再生時間を算出する。なお時刻オフセット値は、ＰＣＲと時刻カウンタ部１４のＳＴＣ値との差分であり、ビデオデータ、オーディオデータで共通である。このため、再生時間はビデオデータ、オーディオデータともに同じロジックで算出できる。
【０１２９】
以上が、第３実施形態に係るストリームデータ記録方法についての説明である。
＜ストリームデータ再生装置＞
続いて第３実施形態に係るメタ情報を用いてＳＴＣ値を補正して、ストリームデータを再生するストリームデータ再生装置９について説明する。図２８は、第３実施形態に係るストリームデータ再生装置８の内部構成を示す図である。ストリームデータ再生装置９は、図２５に構成を示したストリームデータ再生装置８に状態表示部３３を追加し、デコード部２８及び時刻カウンタ制御部３０を、それぞれデコード部３１及び時刻カウンタ制御部３２に置換した構成である。
【０１３０】
以下、ストリームデータ再生装置８と同様の構成については、同じ符号を付して説明を省略する。
デコード部３１は、取得部２１から取得したストリームデータをデコードしてビデオデータ、オーディオデータを生成する。そして時刻カウンタ部２６を参照して、生成したオーディオデータまたはビデオデータを、それぞれのフレームレートに基づいた一定間隔ごとに出力部２３へ出力する。
【０１３１】
デコード部３１はさらに、メタ情報の「不連続点の位置情報」を参照して、デコード処理するデータが前のデータと不連続であるかを判定し、不連続である場合は、メタ情報の「再生時間」で示される時間の間、出力部２３への出力を停止する。
時刻カウンタ制御部３２は、再生開始時にストリームデータのＰＣＲに合わせて時刻カウンタ部２６のカウンタ値をリセットする。再生中は時刻カウンタ部２６のリセットは行わない。
【０１３２】
状態表示部３３は、メタ情報解析部２９からメタ情報を取得して、記録されているストリームデータに欠落区間が有る事をユーザに提示する画面を生成し、出力部２３を介してモニタへ出力する。具体的には、状態表示部３３による表示処理は、例えば、図２９の（ａ）に示すように、欠落区間を各区間の時間の長さに応じた割合で、ストリームデータ全体を示すバーオブジェクト上に配置して表示する。あるいは、図２９の（ｂ）に示すように、欠落区間の位置を、再生可能なストリームデータの長さを示すバーオブジェクトにおいて表示するとしてもよい。さらに他の例として、図２９の（ｃ）に示すように、記録対象であったストリームデータの放送時の時間と、実際に記録したストリームデータの再生可能な時間とをユーザに提示する構成としてもよい。状態表示部３３はさらに、ユーザにジャンプ先の指定を要求する際に、図２９の（ｄ）に示すように、ジャンプ先として指定可能な区間及び不可能な区間を一つのバーオブジェクト上に示す画像を生成し、モニタへ出力する。
【０１３３】
またストリームデータの再生動作中には、状態表示部３３は再生状態を示す画像を生成し、モニタへ出力する。図３０の（ａ）は再生状態を示す画像が表示された移動体受信端末３を模式的に示す図である。ストリームデータの再生中は、移動体受信端末３のモニタ１０には、デコードされた再生画像が映像出力部分１０ａに表示され、状態表示部３３により生成された再生状態を示す情報が状態表示部分１０ｂに表示される。状態表示部分１０ｂに表示される再生状態を示す情報には、再生位置表示バーオブジェクト１０ｃと再生時間表示１０ｄとがある。
【０１３４】
以下に、再生状態を示す画像の表示方法を説明する。図３０の（ｂ）は再生状態を示す画像の表示方法の一例を示す図である。
再生位置表示バーオブジェクト１０ｃは、ストリームデータ全体の長さを示すバーオブジェクトであり、欠落区間とが各区間の位置と長さに応じて配置されている。バーオブジェクト上で区分けされた各区間は、その区間で再生可能なコンポーネントの種類に応じて色分けして表示される。具体的には、ビデオ及びオーディオの両方が再生可能な区間１０ｅは緑色に表示され、ビデオ及びオーディオの何れか一方のみの欠落区間を示す区間１０ｆは橙色に、ビデオ及びオーディオの両方の欠落区間が重なっている区間１０ｇは赤色に表示される。さらに再生位置表示バーオブジェクト１０ｅは、再生が済んだ量に応じて左端から太枠を表示することで、現在の再生位置がどのような状態であるか把握することを容易にする。
【０１３５】
再生時間表示１０ｄは、現在再生の時刻とストリームデータ全体の再生時間とを並べて示す文字列である。再生時間表示１０ｄの文字列は、現在の再生位置がビデオの欠落区間になり映像出力部分１０ａが暗転した時に表示される。尚、再生時間表示１０ｄの表示色も、再生位置表示バーオブジェクト１０ｃと同様に、再生されているコンポーネントの種類に応じて表示色を変更してもよい。
【０１３６】
さらに、ビデオ及びオーディオの両方の欠落区間が重複した部分であり、メタ情報の「再生時間」が所定時間（例えば１０秒）以上の欠落区間に再生位置が達した場合には、映像出力部分１０ａにポップアップ１０ｃやアイコン等の警告画像を表示してもよい。このような警告がなされることで、ユーザは長時間にわたって再生が途切れることを認識することができ、ユーザはスキップ操作等の適切な対処が可能となる。
【０１３７】
以上がストリームデータ再生装置９の内部構成についての説明である。
＜ストリームデータ再生方法＞
次に、ストリームデータ再生装置９が記録媒体４からストリームデータを取得して再生する動作手順について説明する。図３１は、第３実施形態に係るストリームデータ再生装置９におけるストリームデータ再生処理の処理手順を示す図である。
【０１３８】
まずユーザからの指示を受け、再生処理が開始されると、取得部２１は記録媒体４からメタ情報を読み出しメタ情報解析部２９へ出力する（Ｓ５０１）。メタ情報解析部２９は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関する奇数行目のビデオデータのレコードと、それに続く偶数行目のオーディオデータのレコードとを選択する（Ｓ５０２）。さらにメタ情報解析部２９は、選択した２つのレコードの「不連続点の位置情報」と「再生時間」とをデコード部２８へ通知し、選択した２つのレコードの「欠落終了点のＰＴＳ」を、時刻カウンタ制御部３０へ通知する（Ｓ５０３）。デコード部３１は、取得部２１が記録媒体４から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取る（Ｓ５０４）。
【０１３９】
以降、Ｓ５０５からＳ５１１の処理は、オーディオデータとビデオデータそれぞれに対して並行して実行する。
Ｓ５０５でデコード部３１は、メタ情報の奇数行目のビデオデータの「不連続点の位置情報」を参照して、再生処理するビデオデータが前のデータと不連続になっているか判定する。またメタ情報の偶数行目のオーディオデータの「不連続点の位置情報」を参照して、再生処理するオーディオデータが前のデータと不連続になっているか判定する。
【０１４０】
処理するビデオデータまたはオーディオデータが前のデータと不連続ではなかった場合（Ｓ５０６：Ｎｏ）、デコード部３１はデコード処理してビデオデータまたはオーディオデータを生成する。デコード部３１は、生成したオーディオデータまたはビデオデータを、時刻カウンタ部２６を参照して、それぞれのフレームレートに基づいた一定間隔ごとに出力部２３へ出力する（Ｓ５１１）。ただし、Ｓ５１１の処理では、再生開始時の最初のオーディイオフレームおよびビデオフレームのみ、それぞれのＰＴＳが時刻カウンタ部２６のカウンタ値に一致したタイミングで出力を開始する。それ以降のオーディオフレームおよびビデオフレームについては、それぞれのフレームレートに基づいた一定間隔ごとに出力する。
【０１４１】
処理するビデオデータまたはオーディオデータが前のデータと不連続であった場合（Ｓ５０６：Ｙｅｓ）、デコード部３１はメタ情報の奇数行目の「不連続点の位置情報」以前のビデオデータまたはメタ情報の偶数行目の「不連続点の位置情報」以前のオーディオデータを全て出力処理したか判定する（Ｓ５０７）。まだ不連続点以前のデータが残っている場合（Ｓ５０８：Ｎｏ）は、Ｓ５１１の処理を実行し、不連続点以前のデータを出力する。不連続点以前のビデオデータを全て処理し終えた場合（Ｓ５０８：Ｙｅｓ）、デコード部３１はメタ情報の奇数行目のビデオデータの「再生時間」が経過したか否かを判定する（Ｓ５０９）。また不連続点以前のオーディオデータを全て処理し終えた場合（Ｓ５０８：Ｙｅｓ）、デコード部２８はメタ情報の偶数行目のオーディオデータの「再生時間」が経過したか否かを判定する（Ｓ５０９）。まだ再生時間が経過していない場合（Ｓ５１０：Ｎｏ）、再生時間が経過するまで、デコード部は不連続点以降のデータの出力処理を行わず待機する。
【０１４２】
再生時間が経過した場合（Ｓ５１０：Ｙｅｓ）、デコード部３１はＳ４１３の処理を実行して、不連続点以降のデータを再生出力する。不連続点以降のストリームデータを再生出力する場合においては、メタ情報の「再生時間」が経過したらタイミングから再生出力を開始し、その後はフレームレートに基づいた一定間隔ごとに出力する。
以上がストリームデータ再生装置８の動作手順についての説明である。
【０１４３】
上記実施形態によれば、正常に受信できなかった区間のビデオデータおよびオーディオデータ両方の再生時間を予測してメタ情報として生成、保持しておき、再生時には、ビデオデータとオーディオデータとの開始のタイミングのみＰＴＳを用いて同期させ、以降のデータはフレームレートに基づいて出力しつつ、受信電波が弱い状態で記録したストリームデータを再生するときに、ビデオデータおよびオーディオデータそれぞれについて、メタ情報の再生時間の間、再生を待機させることで、欠落区間終了後も放送システムが意図したタイミングでビデオデータおよびオーディオデータを同期させて再生することができる。
（その他の変形例）
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１４４】
（１）本発明は、各実施形態で説明したフローチャートの処理手順が開示するストリームデータの記録方法、再生方法であるとしてもよい。また、前記処理手順でコンピュータを動作させるプログラムコードを含むコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。
【０１４５】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、前記コンピュータプログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記コンピュータプログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１４６】
（２）本発明は、上記第１実施形態乃至第３実施形態に記載のストリームデータ記録装置、及びストリームデータ再生装置を制御するＬＳＩとしても実施可能である。このようなＬＳＩは、図５、図１５、図１９、図２５、及び図２８において破線で囲んだ各機能ブロックを集積化することで実現できる。これらの機能ブロックは、個別に１チップ化されても良いし、一部または全てを含むように１チップ化されてもよい。
【０１４７】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または、汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Field  Programmable  Gate  Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１４８】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロック及び部材の集積化を行ってもよい。このような技術には、バイオ技術の適応等が可能性としてありえる。
（３）上記本発明の第１実施形態乃至第３実施形態では、主にディジタル放送信号で伝送されるストリームデータの記録、再生について論じたが、ネットワーク経由で受信したストリームデータに対しても同様の効果が得られるのは言うまでもない。
【０１４９】
さらに本発明は、ディジタル放送信号から取得したストリームデータに限らず、既に記録媒体に記録されているストリームデータを解析の対象としてメタ情報を生成するストリームデータ編集装置としても実施形態可能である。このようなストリームデータ編集装置は、具体的には、図５及び図１９に示す構成で、記録媒体４に既に記録媒体に記録されているストリームデータを、取得部１１により読み出し、読み出したストリームデータを処理の対象とすることで実現される。このように装置では、放送波から取得したストリームデータを一旦記録媒体に記録した後、装置のアイドル時などにストリームデータを読み出してメタ情報を生成することが可能となり、ストリームデータ記録時の処理負荷を軽減させるという観点で有益である。
【０１５０】
（４）第１実施形態乃至第３実施形態では、メタ情報をストリームデータと同じ記録媒体に記録するとしたが、本発明に係るメタ情報とストリームデータとは、対応付けがなされていれば、それぞれ別の記録媒体に記録してもよい。例えば、ストリームデータのデータサイズが記録媒体の容量よりも大きい場合には、ストリームデータを複数の記録媒体に分割して記録し、それぞれの記録媒体に記録されているストリームデータの各部分における欠落区間のメタ情報を何れか一つの記録媒体にまとめて記録し、ストリームデータの各部分とメタ情報とに共通のＩＤを付しておくことで本発明を適用できる。
【０１５１】
（５）上記実施形態、及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１５２】
本発明に係るストリームデータ記録装置は、ストリームデータの記録時に、受信電波状況が悪化したためストリームデータに含まれるＰＣＲが不明な区間に対して、ＳＴＣ値を補正する為の時刻オフセット情報を生成し、本発明に係るストリームデータ再生装置は、再生時にこの時刻オフセット情報を用いて時刻カウンタを補正することで放送システムが意図したタイミングでストリームデータを再生することができる。本発明は、ストリームデータの記録中に受信電波状況が悪化発生した場合にも、上述のような有効な対処ができるため、移動体受信端末でのディジタル放送受信などに有用である。
【図面の簡単な説明】
【０１５３】
【図１】放送されたストリームデータを正しく受信できず一部に欠落が発生した場合のＳＴＣ値の時間変化を示す図
【図２】本発明に係るストリームデータ記録装置及びストリームデータ再生装置の、使用行為についての形態を示す図
【図３】ＴＳのデータ構造の一例を示す図
【図４】ＴＳパケットのペイロード部分に含まれるビデオデータやオーディオデータのデータ構造の一例を示す図
【図５】本実施形態に係るストリームデータ記録装置の内部構成を示す図
【図６】第１実施形態に係るメタ情報のデータ構造を示した図
【図７】欠落区間が発生した場合に記録されるＴＳパケットを示す図
【図８】ストリームデータ記録装置５におけるストリームデータ記録処理の処理手順を示すフローチャート
【図９】欠落区間にＰＣＲリセットが発生しなかった場合のＳＴＣ値ＰＣＲとの関係を示す図
【図１０】時刻オフセット値を用いてＰＣＲリセットを検出する処理のフローチャート
【図１１】欠落区間が複数回発生した場合のＳＴＣ値とＰＣＲとの関係を示す図
【図１２】ＴＳとビデオフレームの関係を示した図
【図１３】バッファ内保持時間を用いてＰＣＲリセットを検出する処理のフローチャート
【図１４】ＰＣＲリセットが発生したが、時刻オフセット値を算出できなかった欠落区間の後に発生した欠落区間に対して、ＰＣＲリセットを検出する方法を示したフローチャート
【図１５】本実施形態に係るストリームデータ再生装置６の内部構成を示す図
【図１６】欠落区間にＰＣＲリセットが発生していたストリームデータを再生するときの時刻カウンタ部２６及び時刻カウンタ部２７の変化の様子示す図
【図１７】本実施形態に係るストリームデータ再生装置６におけるストリームデータ再生処理の処理手順を示す図
【図１８】第２実施形態に係るメタ情報のデータ構造を示した図
【図１９】第２実施形態に係るストリームデータ記録装置７の内部構成を示す図
【図２０】ストリームデータ記録装置７におけるストリームデータ記録処理の処理手順を示すフローチャート
【図２１】欠落区間にＰＣＲリセットが発生しなかった場合のストリームデータに含まれるＰＴＳおよび時刻カウンタの変化の様子を示す図
【図２２】トリームデータに含まれるＰＴＳおよび時刻カウンタの変化の様子を示した図
【図２３】再生時間算出部１８が再生時間を算出する処理手順を示すフローチャート
【図２４】オーディオＰＥＳヘッダに含まれるＰＴＳとオーディオフレームとの関係を示す図
【図２５】第２実施形態におけるストリームデータ再生装置８の内部構成を示す図
【図２６】第２実施形態に係るストリームデータ再生装置６におけるストリームデータ再生処理の処理手順を示す図
【図２７】第３実施形態に係るメタ情報のデータ構造を示した図
【図２８】第３実施形態に係るストリームデータ再生装置８の内部構成を示す図
【図２９】（ａ）記録したストリームデータに再生不可区間が有る事をユーザに提示する画面表示例、（ｂ）再生不可区間が有る事をユーザに提示する他の画面表示例、（ｃ）予約時の総再生時間と記録したストリームデータの再生可能な時間とをユーザに提示する画面表示例、（ｄ）ジャンプ先の指定を要求する際にジャンプ先として指定可能な区間及び不可能な区間を提示する表示例
【図３０】（ａ）再生状態を示す画像が表示されたストリームデータ再生装置２０３を模式的に示す図、（ｂ）再生状態を示す画像の表示方法の一例を示す図
【図３１】第３実施形態に係るストリームデータ再生装置９におけるストリームデータ再生処理の処理手順を示す図
【符号の説明】
【０１５４】
１    放送システム
２    送信アンテナ
３    移動体受信端末
４    記録媒体
５    ストリームデータ記録装置
６    ストリームデータ再生装置
７    ストリームデータ記録装置
８    ストリームデータ再生装置
９    ストリームデータ再生装置
１０    モニタ
１０ａ  映像出力部分
１０ｂ  状態表示部分
１０ｃ  ポップアップ
１０ｃ  再生位置表示バーオブジェクト
１０ｄ  再生時間表示
１０ｅ  区間
１０ｅ  再生位置表示バーオブジェクト
１０ｆ  区間
１０ｇ  区間
１１    取得部
１２    パケット解析部
１３    欠落検出部
１４    時刻カウンタ部
１５    リセット検出部
１６    メタ情報生成部
１７    記録制御部
１８    再生時間算出部
１９    メタ情報生成部
２１    取得部
２２    デコード部
２３    出力部
２４    メタ情報解析部
２５    時刻カウンタ制御部
２６    時刻カウンタ部
２７    時刻カウンタ部
２８    デコード部
２９    メタ情報解析部
３０    時刻カウンタ制御部
３１    デコード部
３２    時刻カウンタ制御部
３３    状態表示部
【図１】
0005096917.tif 000002
【図２】
0005096917.tif 000003
【図３】
0005096917.tif 000004
【図４】
0005096917.tif 000005
【図５】
0005096917.tif 000006
【図６】
0005096917.tif 000007
【図７】
0005096917.tif 000008
【図８】
0005096917.tif 000009
【図９】
0005096917.tif 000010
【図１０】
0005096917.tif 000011
【図１１】
0005096917.tif 000012
【図１２】
0005096917.tif 000013
【図１３】
0005096917.tif 000014
【図１４】
0005096917.tif 000015
【図１５】
0005096917.tif 000016
【図１６】
0005096917.tif 000017
【図１７】
0005096917.tif 000018
【図１８】
0005096917.tif 000019
【図１９】
0005096917.tif 000020
【図２０】
0005096917.tif 000021
【図２１】
0005096917.tif 000022
【図２２】
0005096917.tif 000023
【図２３】
0005096917.tif 000024
【図２４】
0005096917.tif 000025
【図２５】
0005096917.tif 000026
【図２６】
0005096917.tif 000027
【図２７】
0005096917.tif 000028
【図２８】
0005096917.tif 000029
【図２９】
0005096917.tif 000030
【図３０】
0005096917.tif 000031
【図３１】
0005096917.tif 000032