JPWO2006112508A1 - ストリームデータ記録装置、ストリームデータ編集装置、ストリームデータ再生装置、ストリームデータ記録方法、及びストリームデータ再生方法 - Google Patents

ストリームデータ記録装置、ストリームデータ編集装置、ストリームデータ再生装置、ストリームデータ記録方法、及びストリームデータ再生方法 Download PDF

Info

Publication number
JPWO2006112508A1
JPWO2006112508A1 JP2007528197A JP2007528197A JPWO2006112508A1 JP WO2006112508 A1 JPWO2006112508 A1 JP WO2006112508A1 JP 2007528197 A JP2007528197 A JP 2007528197A JP 2007528197 A JP2007528197 A JP 2007528197A JP WO2006112508 A1 JPWO2006112508 A1 JP WO2006112508A1
Authority
JP
Japan
Prior art keywords
time
stream data
missing
information
missing section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007528197A
Other languages
English (en)
Other versions
JP5096917B2 (ja
Inventor
美智子 渕上
美智子 渕上
宮崎 秋弘
秋弘 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007528197A priority Critical patent/JP5096917B2/ja
Publication of JPWO2006112508A1 publication Critical patent/JPWO2006112508A1/ja
Application granted granted Critical
Publication of JP5096917B2 publication Critical patent/JP5096917B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10222Improvement or modification of read or write signals clock-related aspects, e.g. phase or frequency adjustment or bit synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals

Abstract

ストリームデータの記録時に、ストリームデータにおける欠落区間の位置を特定する位置情報と欠落区間に含まれていたPCRが取得できていた場合に、PCRに同期して時刻カウンタが示したであろう時刻を特定する時刻補正情報とを、ストリームデータに対応付けて記録する。このように時刻補正情報及び位置情報と共に記録したストリームデータの再生時には、位置情報と時刻補正情報とを参照することで、欠落が終了する位置で時刻カウンタを放送システムが意図していた時刻に設定し直すことができる。

Description

本発明はディジタル放送などで送出されたストリームデータを受信して記録媒体に記録し、記録媒体に記録されたストリームデータを再生する技術に関し、特に、送出されたストリームデータの一部が受信時に欠損した場合の対処に関する。
従来、テレビ受信装置等の固定受信端末に向けたオーディオ、ビデオなどのストリームデータ放送では、BCH(Bose,Chaudhuri,Hocquenghem)符号やRS(Read Solomon)符号など、受信側で誤り訂正可能な符号化方式を採用して伝送誤りに対処している。
このような固定受信端末に向けたストリームデータ放送で発生する伝送誤りは、ビルの反射波によるマルチパス障害や、悪天候などの影響で、送信信号にノイズが混在することに起因する。
特開2001−309262号公報
ところで、時間や場所を選ぶことなくオーディオ、ビデオなどのストリームデータを手軽に楽しむ手法として、移動体受信端末に向けたストリームデータ放送の普及が見込まれている。
移動体受信端末でストリームデータを受信する場合には、従来の固定受信端末で受信する場合とは異なり、移動体受信端末自体が電波が届きにくく受信状況の悪い場所へ移動することもあり、数秒間にわたり正確な送信信号を得ることができなくなるという状況が頻繁に発生しうる。
このような状況では、悪天候やマルチパスによる伝送障害等を想定していた従来の誤り訂正処理では対処できず、ストリームデータは一部欠落して記録されることがある。こうして正しく受信できず一部に欠落が発生したストリームデータを記録し、再生する場合には、放送システムと受信端末との同期に関して以下のような問題が生じる。
ここでまず、デジタル放送の伝送用フォーマットとして代表的なISO/IEC 13818−1のMPEG2TS(Transport Stream)を用いる場合を例に、放送システムと受信端末との同期を説明する。
放送システムから放送されるストリームデータには、再生時に基準となる時刻を示す情報であるPCR(Program Clock Reference)情報がTSヘッダに周期的に埋め込まれている。また、ストリームデータに多重化されているPES(Packetized Elementary Stream)パケットのヘッダには、オーディオフレームやビデオフレーム、字幕データの提示時刻をPCR情報の時刻と同期した時間軸で示すPTS(Presentation Time Stamp)が埋め込まれている。これらのPCR情報及びPTSの値は放送システムが設定して放送している。
一方、受信端末は装置内に時計(以下、時刻カウンタという)を内蔵しており、受信端末でストリームデータを再生する場合、時刻カウンタをPCR値に同期させ、時刻カウンタが示す時刻(以下、STC(System Time Clock)値という)がストリームデータ中で設定されているオーディオやビデオのフレームのPTSに達すると、そのオーディオフレームやビデオフレームをスピーカやモニタに出力する。これにより受信端末からは、放送システム側が意図するタイミングで、オーディオとビデオとが同期して出力される。
続いて一部に欠落が発生したストリームデータを記録し、再生する場合に生じる問題を説明する。図1は、放送されたストリームデータを正しく受信できず一部に欠落が発生した場合のSTC値の時間変化を示す図である。本図において、横軸は放送されたストリームデータの先頭からの連続時間を示し、縦軸はSTC値を示す。また本図には、PCRがストリームデータに含まれているタイミングとその値とに基づいて、黒丸をプロットしている。
図中の直線101、直線102、及び直線103は、STC値を示す。A点、E点でSTC値が不連続な値になっているのは、時刻カウンタの同期の元となるPCR情報がA点、E点で通常のカウントアップ速度から予測される値から外れた値に設定されているためである。このように放送システム側は、PCR値を通常のカウントアップ速度で変化させる以外に、PCR値を任意のタイミングで任意の値に設定することができる。以下、本明細書では、PCR値が通常のカウントアップ速度により予測される値から外れた値となることを“PCR値が不連続である”と言い、PCR値が不連続な値に設定されることを“PCRがリセットされる”と表現する。
ところで斜線で示した欠落区間105は、受信電波状況が悪化して正しくTSパケットを取得できなかった区間を示すが、この区間中のC点でも放送システムによりPCRがリセットされている。しかし、受信端末ではC点においてPCR情報を含むTSパケットを正しく取得できなかったために、再生時にC点でSTC値はリセットされず直線103のようにカウントアップを続け、その後、受信電波状況が回復した後に最初に取得されたPCR情報に基づいてE点でSTC値がリセットされる。即ち、C点からE点までの間、放送システム側と受信端末とで時刻の同期外れが生じている。
この時刻が同期していないC点からE点までの間、放送システム側では破線104で示すようにSTCが同期することを想定しているため、各フレームのPTSも破線104に沿うように設定して放送している。その結果、受信電波状況が回復してから最初にPCR情報が取得されるまでのD点〜E点の区間106では、ストリームデータが正しく受信できるにもかかわらず、STC値がPTSを上回るため、提示時刻が経過しているとみなされてフレームが破棄されてしまうという問題が生じる。
特に、このフレーム破棄が生じる区間106の期間中にIDR(Instantaneous Decoder Refresh)ピクチャを表示することを放送システムが意図していた場合、この問題の影響は大きくなる。
なぜなら単独でデコードできるピクチャであるIDRピクチャは、ストリーム中での出現周期が通常2秒、最大で5秒間隔とPCR情報の出現周期に比較して長いため、IDRピクチャが一度破棄されると、たとえIDRピクチャの破棄後すぐにPCR情報を取得できても、次のIDRピクチャが取得されるまでの数秒間にわたって、参照元となるIDRピクチャがなければデコード不能なPピクチャやBピクチャといった全てのピクチャをデコードできなくなるためである。
尚、PCR値はリセット時に通常のカウントアップ速度から予測される値より小さい値にリセットするよう運用されるのが一般的であるが、通常のカウントアップ速度から予測される値より大きい値にリセットすることも可能である。このようなPCR値を増加させるようなリセットが、受信電波状況の悪化等の理由で受信側で欠落した場合には、欠落回復後に取得されたストリームデータにおいて、PTSが取得時点でSTC値を大きく上回ることになり本来の出力タイミングと異なるタイミングで出力されることになる。
本発明は係る問題に鑑み、受信電波状況の悪化等に起因するストリームデータの一部欠落によりPCRをリセットするPCR情報を取得できなかった場合にも、欠落からの回復後、次のPCR情報を取得するまでに正常に取得したストリームデータを放送システムが意図したタイミングで再生できるように、ストリームデータを記録するストリームデータ記録装置、及びストリームデータの一部欠落によりPCRをリセットするPCR情報を記録できなかった場合にも、欠落からの回復後、次のPCR情報を取得するまでに正常に記録したストリームデータを放送システムが意図したタイミングで再生することができるストリームデータ再生装置を提供することを目的とする。
上記目的を達成するために、本発明に係るストリームデータ記録装置は、時刻参照情報を含むストリームデータを記録するストリームデータ記録装置であって、ストリームデータを取得する取得手段と、時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出手段と、ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタ手段の時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成手段と、前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録手段とを備えることを特徴とする。
上記目的を達成するために、本発明に係るストリームデータ再生装置は、時刻参照情報を含むストリームデータを記録媒体から読み出して再生するストリームデータ再生装置であって、ストリームデータを読み出す読み出し手段と、時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、前記ストリームデータと、当該ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に前記時刻カウンタ手段の時刻を補正する時刻補正情報とが記録された記録媒体から、前記位置情報及び前記時刻補正情報を取得する情報取得手段と、前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定手段と、時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生制御手段とを備えることを特徴とする。
上記の構成により、本発明に係るストリームデータ記録装置は、ストリームデータ受信時に欠落が発生した場合に、一部が欠落したストリームデータと共に、欠落部分に含まれていたPCR情報に同期した場合の時刻カウンタ手段の値を特定する時刻補正情報と、欠落部分のストリームデータにおける位置を特定する位置情報とを記録媒体へ記録する。
記録したストリームデータの再生時には、本発明に係るストリームデータ記録装置は、この位置情報と時刻補正情報とを参照することで、欠落が終了する位置で時刻カウンタ手段を放送システムが意図していた時刻に設定し直すことができる。
これにより、欠落部分に含まれるPCR情報がPCRリセットを指示するものであった場合にも、欠落からの回復後、次のPCR情報を取得するまでの区間も時刻カウンタ手段を放送システムが意図した時刻に同期させることができ、この区間中に取得したストリームデータを放送システムが意図したタイミングで再生できる。
放送されたストリームデータを正しく受信できず一部に欠落が発生した場合のSTC値の時間変化を示す図 本発明に係るストリームデータ記録装置及びストリームデータ再生装置の、使用行為についての形態を示す図 TSのデータ構造の一例を示す図 TSパケットのペイロード部分に含まれるビデオデータやオーディオデータのデータ構造の一例を示す図 本実施形態に係るストリームデータ記録装置の内部構成を示す図 第1実施形態に係るメタ情報のデータ構造を示した図 欠落区間が発生した場合に記録されるTSパケットを示す図 ストリームデータ記録装置5におけるストリームデータ記録処理の処理手順を示すフローチャート 欠落区間にPCRリセットが発生しなかった場合のSTC値PCRとの関係を示す図 時刻オフセット値を用いてPCRリセットを検出する処理のフローチャート 欠落区間が複数回発生した場合のSTC値とPCRとの関係を示す図 TSとビデオフレームの関係を示した図 バッファ内保持時間を用いてPCRリセットを検出する処理のフローチャート PCRリセットが発生したが、時刻オフセット値を算出できなかった欠落区間の後に発生した欠落区間に対して、PCRリセットを検出する方法を示したフローチャート 本実施形態に係るストリームデータ再生装置6の内部構成を示す図 欠落区間にPCRリセットが発生していたストリームデータを再生するときの時刻カウンタ部26及び時刻カウンタ部27の変化の様子示す図 本実施形態に係るストリームデータ再生装置6におけるストリームデータ再生処理の処理手順を示す図 第2実施形態に係るメタ情報のデータ構造を示した図 第2実施形態に係るストリームデータ記録装置7の内部構成を示す図 ストリームデータ記録装置7におけるストリームデータ記録処理の処理手順を示すフローチャート 欠落区間にPCRリセットが発生しなかった場合のストリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示す図 トリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示した図 再生時間算出部18が再生時間を算出する処理手順を示すフローチャート オーディオPESヘッダに含まれるPTSとオーディオフレームとの関係を示す図 第2実施形態におけるストリームデータ再生装置8の内部構成を示す図 第2実施形態に係るストリームデータ再生装置6におけるストリームデータ再生処理の処理手順を示す図 第3実施形態に係るメタ情報のデータ構造を示した図 第3実施形態に係るストリームデータ再生装置8の内部構成を示す図 (a)記録したストリームデータに再生不可区間が有る事をユーザに提示する画面表示例、(b)再生不可区間が有る事をユーザに提示する他の画面表示例、(c)予約時の総再生時間と記録したストリームデータの再生可能な時間とをユーザに提示する画面表示例、(d)ジャンプ先の指定を要求する際にジャンプ先として指定可能な区間及び不可能な区間を提示する表示例 (a)再生状態を示す画像が表示されたストリームデータ再生装置203を模式的に示す図、(b)再生状態を示す画像の表示方法の一例を示す図 第3実施形態に係るストリームデータ再生装置9におけるストリームデータ再生処理の処理手順を示す図
符号の説明
1 放送システム
2 送信アンテナ
3 移動体受信端末
4 記録媒体
5 ストリームデータ記録装置
6 ストリームデータ再生装置
7 ストリームデータ記録装置
8 ストリームデータ再生装置
9 ストリームデータ再生装置
10 モニタ
10a 映像出力部分
10b 状態表示部分
10c ポップアップ
10c 再生位置表示バーオブジェクト
10d 再生時間表示
10e 区間
10e 再生位置表示バーオブジェクト
10f 区間
10g 区間
11 取得部
12 パケット解析部
13 欠落検出部
14 時刻カウンタ部
15 リセット検出部
16 メタ情報生成部
17 記録制御部
18 再生時間算出部
19 メタ情報生成部
21 取得部
22 デコード部
23 出力部
24 メタ情報解析部
25 時刻カウンタ制御部
26 時刻カウンタ部
27 時刻カウンタ部
28 デコード部
29 メタ情報解析部
30 時刻カウンタ制御部
31 デコード部
32 時刻カウンタ制御部
33 状態表示部
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
(第1実施形態)
<システムの概要>
先ず始めに、本発明に係るストリームデータ記録装置及びストリームデータ再生装置の実施行為のうち、使用行為についての形態を説明する。図2は、本発明に係るストリームデータ記録装置及びストリームデータ再生装置の、使用行為についての形態を示す図である。図2において、本発明に係る本発明に係るストリームデータ記録装置及びストリームデータ再生装置は、移動体受信端末3に内蔵されている。この移動体受信端末3は、送信アンテナ2を介して放送システム1から送信された放送波を受信し、受信した放送波からストリームデータを取得して記録媒体4に記録する用途、及び記録媒体4に記録したストリームデータを読み出して再生するという用途で使用される。
放送システム1は、ディジタル放送のストリームデータを作成するシステムである。
送信アンテナ2は、放送システム1で作成したストリームデータをディジタル放送電波に乗せて送信する。
記録媒体4は、データを記録保持する媒体である。光ディスク、磁気ディスク、半導体メモリなどがこれにあたる。
以上が本発明に係るストリームデータ記録装置及びストリームデータ再生装置の使用形態についての説明である。
続いて記録、再生の対象であるストリームデータの詳細について説明する。
<ストリームデータ>
デジタル放送で使用される伝送用フォーマットの代表的な例として、ISO/IEC 13818−1のMPEG2TSがある。以下、本実施形態では、ストリームデータとしてMPEG2TSを用いた場合を例に説明する。図3は、TSのデータ構造の一例を示す図である。
1段目はTSパケットを示している。TSでは、複数の番組のストリームデータをオーディオデータやビデオデータ、字幕データ毎に、TSパケットと呼ばれるパケットに分割し、多重化して送信する。TSパケットはヘッダ部分とペイロード部分から構成され、オーディオデータやビデオデータや字幕データはTSペイロードに格納される。
2段目はTSパケットのヘッダを示している。全てのTSパケットのヘッダには、PID(Packet Identifier)と呼ばれるTSパケットを識別するための識別子が含まれる。各番組のオーディオデータ、ビデオデータ、及び字幕データを格納するTSパケットには、それぞれ格納するデータの種類毎に異なる識別子が付されている。
また、特定のPIDが付されている一部のTSパケットのヘッダには、ストリームデータを作成する放送システム1と、ストリームデータを受信し、再生や記録を行う移動体受信端末3との間で同期を取るために使用されるPCR情報が埋め込まれている。
PCR情報が埋め込まれているTSパケットや、番組のオーディオデータ、ビデオデータ、及び字幕データを格納するTSパケットのPIDは、PMT(Program Map Table)により示される。移動体受信端末3では、受信したTSパケットをPIDを用いて識別して、再生や記録を行う対象の番組のTSパケットを取得する。
<TSペイロードのデータ構造>
TSパケットのペイロード部分には、ISO/IEC 13818−7のMPEG2AAC(Advanced Audio Coding)やISO/IEC 14496−10のMPEG4AVC(Advanced Video Coding)などの規格で圧縮されたオーディオデータやビデオデータ、ARIB STD−B24及びARIB STD−B8等で規定される8単位符号文字による字幕データなどの番組を構成する各種ストリームデータ、PMT等の番組の構成を示す情報等が格納される。以下、番組を構成するオーディオ、ビデオ、字幕などの各要素を、“コンポーネント”と総称する。
図4は、TSパケットのペイロード部分に含まれるビデオデータやオーディオデータのデータ構造の一例を示す図である。
図4において、4段目はTSを示している。3段目はビデオデータのPESパケットを示し、5段目はオーディオデータのPESパケットを示している。PESパケットは、1個あるいは複数のTSペイロードに跨り分割して格納する運用が可能である。
各PESパケットはヘッダ部分とペイロード部分から構成される。PESパケットのヘッダ部分には、ペイロード部分に格納されているデータをモニタやスピーカへ出力する提示時刻を示すPTSが含まれている。PTSの値は、PCR情報によって補正された移動体受信端末3のSTC値を参照し各コンポーネントを同期させて出力することを想定して放送システム1が設定している。そのためPCRがリセットされる場合、その後に送信されるストリームデータに含まれるコンポーネントのPTSも、その前後のフレームで不連続な値が設定される。
PESペイロードをつなげるとES(Elementary Stream)が構成される。
2段目はビデオESを示している。ESは圧縮されたデータである。MPEG4AVCなどのMPEG規格の場合、ビデオESは、単独復号が可能なIDRピクチャ、前のピクチャデータが必要なPピクチャ、前後のピクチャデータが必要なBピクチャから構成される。各IDRピクチャはPESパケットにおいて、ペイロード部分の先頭に位置するよう格納されている。
1段目はビデオフレームを示している。ビデオフレームは、圧縮されているビデオESを復号処理することで得られる。
以上がストリームデータの詳細についての説明である。
<ストリームデータ記録装置>
続いて本実施形態に係る移動体受信端末3の詳細について説明する。先ず移動体受信端末3において、ストリームデータを記録する構成に注目して説明する。ストリームデータ記録機能は、移動体受信端末3が内蔵するストリームデータ記録装置5により実現される。図5は、本実施形態に係るストリームデータ記録装置5の内部構成を示す図である。
ストリームデータ記録装置5は、取得部11、パケット解析部12、欠落検出部13、時刻カウンタ部14、リセット検出部15、メタ情報生成部16、記録制御部17を備える。
取得部11は、図2の送信アンテナ2から送信される放送波をアンテナモジュールで受信し、放送波により伝送されるTSをパケット解析部12へ出力する。また、取得部11は、アンテナモジュールでC/Nレベルの低下及び復帰、RF同期外れ及びRF同期の回復が検出された場合には、これ検出結果をパケット解析部12へ通知する。以下、アンテナモジュールでC/Nレベルの低下やRF同期外れが検出されることを“データ受信不良の開始”と称し、C/Nレベルの復帰やRF同期の回復が検出されることを“データ受信不良の終了”と称する。
パケット解析部12は、ユーザからの指示に基づいて、TSヘッダを解析して記録対象のPIDを含むTSパケットを取得し、欠落検出部13へ出力する。このときTSヘッダに記録対象の番組に係るPCR情報が含まれている場合には、PCR情報を抽出して、時刻カウンタ部14に出力する。ただし、取得部11からデータ受信不良の開始が通知されてからデータ受信不良の終了が通知されるまでの期間は、ヘッダを解析することなくTSパケットを破棄し、さらにデータ受信不良の開始及び終了の通知を欠落検出部13へ転送する。さらにパケット解析部12は、誤り訂正処理では対処できない程度にTDパケットのデータに誤りがふくまれている等の理由で、TSヘッダ解析時に正しく解析できなかった場合にも、取得部11から通知されるデータ受信不良の開始及び終了の通知と同様のものを生成して、欠落検出部13へ転送する。
欠落検出部13は、受信中のストリームデータにおいて、再生の対象とならない欠落区間が発生しているか否かを検出し、検出結果をリセット検出部15及びメタ情報生成部16へ通知する。欠落区間は、ストリームデータの記録中に受信電波状況が悪化して、記録対象のTSパケットを正しく取得できない等の理由で発生する。
さらに、欠落検出部13は、欠落区間が欠落が検出されていない間は、パケット解析部12から取得したTSパケットを記録制御部17へ出力する。また、欠落区間が欠落が検出された場合、欠落検出部13は、前後のパケットが連続していないことを示す不連続パケットを記録制御部17へ出力する。
欠落区間の発生は、以下の1)〜3)のそれぞれ方法により、欠落検出部13で検出される。
1)データ受信不良の開始が通知されてから終了が通知されるまでを欠落区間とする方法
2)判定時に取得しているTSパケットの解析により、パケット間の連続性の欠如を検出する方法
3)PCR情報のようにTSに周期的に含まれる情報(以下、周期送出情報という)が、過去に取得したTSパケットから検出されてから、最大送出周期を超えて検出されない場合を検出する方法
上記2)の方法の具体例としては、以下の2−1)及び2−2)等の場合に、パケット間の連続性の欠如が検出できる。
2−1)コンポーネントを格納するTSパケットに連番で付されているcontinuity_counterの値に欠番が生じている
2−2)直前に同じPIDをもつTSパケットで、discontinuity_indicatorが有効になっていたにも関わらず、判定時に取得しているTSパケットでPCRがリセットされていない
尚、discontinuity_indicatorは、TSパケットのアダプテーションフィールドに設定される情報であり、discontinuity_indicatorが有効になると、後続する同じPIDのTSパケットでPCRがリセットされることを示す情報である。
上記3)の方法で欠落区間を検出するために、欠落検出部13の内部の記録領域には、最後に周期送出情報が検出された時点で時刻カウンタ部14から取得したSTC値が保持されている。欠落検出部13は、時刻カウンタ部14のSTC値と、内部の記録領域に保持しているSTC値とを比較し、これらの差が周期送出情報の最大送出周期を越えた場合に、欠落区間が発生していることを検出できる。また、欠落検出部13は、最新の周期送出情報を取得した時点でSTC値を取得し、このSTC値と、内部の記録領域に保持している以前に周期送出情報を取得した時のSTC値との差を算出して、この差が周期送出情報の最大送出周期を越えている場合に、欠落区間が発生していると判定してもよい。
欠落区間の検出に利用する周期送出情報としては、PCR情報の他に、PAT、PMT、NIT、TOT、TDT、EIT、再生用ストリームデータに含まれるPTS等、ストリームデータに含まれる最大送出周期が設定されたものであれは、どのような情報でも用いることができる。
時刻カウンタ部14は、内部に時計を有し、パケット解析部12から取得したPCR情報を参照して、内部時計をPCR値に同期させる。時刻カウンタ部14の内部時計の値(STC値)は、欠落検出部13、リセット検出部15及びメタ情報生成部16により参照される。さらに時刻カウンタ部14は、パケット解析部12からPCR情報を取得する度に、PCR情報の取得をメタ情報生成部16へ通知する。
リセット検出部15は、欠落検出部13から欠落区間の検出結果を取得し、欠落区間中にPCRリセットが発生していたかを、時刻カウンタ部14のSTC値を参照して検出処理をおこない、検出結果をメタ情報生成部16に通知する。
メタ情報生成部16は、欠落検出部13およびリセット検出部15の検出結果に基づいて、メタ情報を生成する。メタ情報とは、ストリームデータの構成や属性を示すデータである。
図6は本実施形態におけるメタ情報のデータ構造を示した図である。本実施形態におけるメタ情報は、ストリームデータ中に検出された欠落区間と同数のレコードからなり、各レコードは「欠落開始時刻」「欠落終了時刻」「不連続点の位置情報」及び「時刻オフセット値」から構成される。
「欠落開始時刻」は、欠落区間が発生したときのSTC値である。図1の欠落区間開始時刻111の値がこれにあたる。
「欠落終了時刻」は、欠落区間が終了したときのSTC値である。図1の欠落区間終了時刻112の値がこれにあたる。
「不連続点の位置情報」は、欠落区間終了後に記録を再開したときのTSパケットのデータ位置である。図1のD点以降に最初に記録されるパケットのデータ位置がこれにあたる。データ位置情報としては、記録対象のTSの先頭パケットから付けた通し番号や、ファイル先頭からのオフセット値などを用いることができる。本実施形態では、ファイル先頭からのオフセット値を用いる。
「時刻オフセット値」は、欠落区間終了後に、最初にPCR情報の取得が通知されたときのSTC値とPCR値との差である。図1の時刻オフセット値113がこれにあたる。
図5の記録制御部17は、欠落区間が欠落が検出されていない間に欠落検出部13から出力されたストリームデータ、及びメタ情報生成部16で生成されたメタ情報を対応付けて記録媒体4へ記録する。欠落検出部13からは、欠落区間が検出されると不連続パケットが出力されるため、記録制御部17が記録するストリームデータには、図7に示すように、欠落区間によりTSパケットが失われた位置に不連続パケットが挿入される。
以上が、ストリームデータ記録装置の構成である。
<ストリームデータ記録方法>
続いて、ストリームデータ記録装置5の動作手順について説明する。
図8は、本実施形態に係るストリームデータ記録装置5におけるストリームデータ記録処理の処理手順を示す図である。本図に示す処理手順は、ユーザから録画指示を受けると実行される処理手順であり、大きく分けて以下の1〜4のステップに分けられる。
1.欠落区間の発生を検出し、欠落開始時刻を取得するステップ(S101〜S105)
2.欠落区間の終了を検出し、欠落終了時刻、不連続点の位置情報を取得するステップ(S106〜S109)
3.欠落区間内で発生していたPCRリセットを検出し、時刻オフセット値を取得するステップ(S110〜S112)
4.生成したメタ情報を記録するステップ(S113〜S114)
まず、記録するストリームデータの欠落区間の発生を検出するS101〜S105のステップについて説明する。
ユーザからの録画指示を受け、記録処理が開始されると、取得部11による放送波の受信と、パケット解析部12によるフィルタリングとにより、記録対象のPIDを含むTSパケットが取得される(S101)。S102では、欠落検出部13は、パケット解析部12で取得された記録対象のTSパケットに欠落が発生しているか判定を行う。このTSパケットの欠落の検出処理では、以下の1)〜3)の各方法を用いて、欠落の発生を検出する。
1)取得部11やパケット解析部12によりデータ受信不良の開始が通知されてから終了が通知されるまでを欠落区間とする方法
2)判定時に取得しているTSパケットの解析により、パケットに含まれるデータの不連続を検出する方法
3)周期送出情報が、過去に取得したTSパケットから検出されてから、最大送出周期を超えて検出されない場合を検出する方法
欠落の検出処理において、TSパケットの欠落が検出された場合(S103:Yes)、欠落検出部13は、欠落区間の開始点であるか、欠落区間中であるかを判定する(S104)。欠落区間の開始点であるか否かの判定には、例えば、欠落検出部13の内部の記録領域に保持するフラグを利用する。欠落検出部13は、欠落区間の開始点であると判定したときにこのフラグをONに、欠落区間の終了点であると判定したときにこのフラグをOFFに切り替える。S104では、欠落が検出されたときに、フラグがOFFであれば、欠落区間の開始点であるし、フラグがONであれば、欠落区間中であると判定できる。
欠落区間の開始点の場合(S104:Yes)、欠落検出部13はメタ情報生成部16に欠落区間開始の通知をし、メタ情報生成部16は、通知を受けたときのSTC値を時刻カウンタ部14から取得し、メタ情報の「欠落開始時刻」情報として保持する(S105)。なお、本フローチャートでは図示していないが、時刻カウンタ部14は、TSヘッダに含まれるPCRに同期するようにクロック速度が制御されている。
欠落検出部13で検出した欠落が、欠落区間の開始点ではなく、欠落区間中であった場合は(S104:No)、欠落検出部13およびメタ情報生成部16は何も処理しない。
次に、欠落区間の終了を検出し、欠落終了時刻、及び不連続点の位置情報を取得する(S106〜S109)。
欠落検出部13でTSパケットの欠落が検出されなかった場合(S103:No)、記録制御部17は欠落検出部13からTSパケットを取得し、記録媒体4に記録する(S106)。なお、記録媒体4へは、1パケットづつではなく、記録するデータサイズが一定量たまってから記録してもよい。また、TSパケットの記録は、S106からS113の間であれば、他のタイミングで実行してもよい。
欠落検出部13は正常に受信できたTSパケットが欠落区間の終了点であるか否かを判定する(S107)。このS107の判定には、例えば、S104の判定で用いた、欠落検出部13の内部に保持されているフラグを利用して、判定を行う。欠落検出部13が、欠落区間の開始点であると判定したときにこのフラグをONに、欠落区間の終了点であると判定したときにこのフラグをOFFに切り替えるので、TSパケットが正常に受信できたときに、このフラグがONであれば、欠落区間の終了点であると判定できる。
S107の判定の結果、欠落区間の終了点の場合(S107:Yes)、欠落検出部13はメタ情報生成部16に欠落区間終了の通知をし、メタ情報生成部16は、通知を受けたときのSTC値を時刻カウンタ部14から取得し、メタ情報の「欠落終了時刻」情報として保持する(S108)。またメタ情報生成部16は、記録制御部17から、TSパケットの記録位置情報を取得し、メタ情報の「不連続点の位置情報」として保持する(S109)。TSパケットの記録位置情報としては、記録対象のTSパケットの先頭から付けた番号や、ファイル先頭からのオフセット値などを用いることができる。S107の判定の結果、欠落区間の終了点ではなかった場合(S107:No)、S108およびS109の処理は行わない。
次にPCRリセットを検出し、時刻オフセット値を取得する(S110〜S112)。
S110では、リセット検出部15が、欠落区間にPCRリセットが発生していたか否かを判定するリセット検出処理を実行する。リセット検出処理の詳細については後述する。欠落区間中にPCRリセットが発生していた場合(S111:Yes)、リセット検出部15はメタ情報生成部16にPCRリセット発生の判定結果を通知し、時刻オフセット値を出力する。メタ情報生成部16は、リセット検出部15から時刻オフセット値を取得し、メタ情報の「時刻オフセット値」として保持する(S112)。欠落区間にPCRリセットが発生していなかった場合は(S111:No)、S112の処理は行わない。
最後に、生成したメタ情報をTS記録終了時に記録する(S113〜S114)。
記録制御部17は、ユーザからの記録停止指示や記録終了時刻などによる記録停止指示があったか判定し(S113)、記録終了指示があった場合(S113:Yes)、記録制御部17はメタ情報生成部16からメタ情報を取得し、記録媒体4にメタ情報を記録する(S114)。記録停止指示がなかった場合(S113:No)、再び次のTSパケットを処理するためにS101に戻る。
以上が、ストリームデータ記録装置5の動作手順についての説明である。
尚、本実施形態では、ストリームデータの記録を終了する際にS114でメタ情報を一括して記録媒体へ書き込むとしたが、メタ情報は、1レコードずつ記録媒体へ記録してもよい。例えば、S113で記録終了指示の有無を判定するタイミングで、1レコード分の情報が生成できていれば、メタ情報生成部16が保持している1レコード分の情報を記録制御部17へ出力し、記録媒体へ書き込む処理手順としてもよい。さらに、ストリームデータの記録を開始する際に、記録媒体にメタ情報の記録領域を確保しておき、S105、S108、S109、及びS112の各処理でメタ情報の要素情報を取得する毎に、取得した情報を記録制御部17へ出力し、メタ情報の記録領域へ取得した要素情報を追加書き込みするよう構成することも可能である。
<PCRリセット検出方法>
次に、図8のS110において、欠落区間内でPCRリセットが発生したか否かを判定する方法を3つ、詳細に説明する。
まず1つ目の方法として、時刻オフセット値を用いる方法を説明する。
図9は、欠落区間にPCRリセットが発生しなかった場合のSTC値の時間変化を示す図である。図9において、横軸は放送されたストリームデータの先頭からの連続時間を示し、縦軸はSTC値を示す。斜線部121はストリームデータの欠落区間を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線122は、時刻カウンタ部14がカウントアップしていく様子を示している。破線124は、欠落区間終了後から、最初にPCR情報を取得するまでの間のTSヘッダに含まれるPCRの連続値を示している。時刻オフセット値127は、直線122と破線124の差異を示している。
欠落区間にPCRリセットが発生していた場合を図1を参照して説明すると、本来であればTSヘッダに含まれるPCRを基に時刻カウンタをカウントアップさせると図1の破線104に示すようになり、直線102で示される時刻カウンタ部14のSTC値との間に、時刻オフセット値113という差異が発生する。一方、欠落区間にPCRリセットが発生していなかった場合は、図9に示すように、TSヘッダに含まれるPCRを基にした時刻カウンタのカウントアップの様子は破線124に示すようになり、直線122で示される時刻カウンタ部14のSTC値との差異は発生しない。つまり欠落区間内にPCRリセットが発生していた場合は、時刻オフセット値(図1の113)は大きくなり、PCRリセットが発生していなかった場合は、時刻オフセット値(図9の127)は小さくなる。
このような、欠落区間のPCRリセットに起因して時刻オフセット値が発生することに着目したPCRリセット検出処理を、図10を参照しながら説明する。図10は、時刻オフセット値を用いてPCRリセットを検出する処理のフローチャートである。
パケット解析部12は、取得したTSパケットのヘッダを解析し、PCR情報が含まれているか調査する(S131)。PCR情報が含まれていない場合は(S131:No)、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。ヘッダにPCR情報が含まれている場合は(S131:Yes)、パケット解析部12は時刻カウンタ部14を介してリセット検出部15に通知し、リセット検出部15はそのPCR情報を取得する(S132)。またリセット検出部15は、時刻カウンタ部14から、そのPCR情報に同期する前のSTC値を取得する(S133)。そして時刻カウンタ部14のSTC値とPCR値とを比較して時刻オフセット値を算出する(S134)。
このときSTC値がPCR値よりも大きい場合(S135:Yes)、PCRリセットが発生したと判定し、算出した時刻オフセット値をメタ情報生成部16に通知する(S136)。STC値がPCR値以下である場合(S135:No)は、さらに、時刻オフセット値が閾値TH1より大きいければ(S137:Yes)は、PCRリセットが発生したと判定し、算出した時刻オフセット値をメタ情報生成部16に通知する(S136)。
STC値がPCR値以下であり、且つ、時刻オフセット値が閾値TH1より小さい場合(S135:No、S137:No)は、PCRリセットは発生しなかったと判定して、時刻オフセット値として「0」をメタ情報生成部16に通知し(S138)、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。
以上が、PCRリセットの欠落により時刻オフセット値が発生することに着目したPCRリセット検出処理の処理手順である。上記の処理手順によれば、さらに、単に欠落区間にPCRリセットがあった場合のみならず、欠落区間中のPMTにおいてPCR情報を含むTSパケットのPIDが変更されることが示されていた場合に、このPMTの欠落によりPIDの変更に対応できず、STC値とPCR値に差が生じるような現象についても、その発生を検知することができる。
尚、S135の判定で“STC値がPCR値よりも大きいか否か”を判定条件としたが、このS135の判定は“STC値とPCR情報の送出周期との和がPCR値よりも大きいか否か”を判定条件として用いてもよい。
以下に、短時間のうちに欠落区間が複数回発生した場合の対処について説明する。図11は、欠落区間が複数回発生した場合のSTC値とPCRとの関係を示す図である。本図において、横軸はストリームデータの受信開始時からの連続時間を示し、縦軸はSTC値を示している。斜線部131は受信電波状況が悪化し、記録するTSパケットに欠落が発生していた欠落区間A5を、斜線部132は欠落区間B5を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線133および直線134は、時刻カウンタ部14がカウントアップしていく様子を示している。破線135は、欠落区間B5の終了後から、最初にPCR情報を取得するまでの間のTSヘッダに含まれるPCRの連続値を示している。時刻オフセット値136は、直線133と破線135の差異を示している。E5点は欠落区間A5の開始点、F5点は欠落区間B5の終了点である。区間C5は、欠落区間A5と欠落区間B5の間のストリームデータを正常に受信できた区間を示している。この区間C5のストリームデータにはPCR情報が含まれていない。区間D5は、欠落区間B5の後にストリームデータを正常に受信できた区間を示している。この区間D5のストリームデータにはPCRが含まれている。
このような欠落区間終了後、次の欠落区間までの間にPCR情報がない状況(図11の区間C5の場合)では、S131において、図10の処理手順から出てしまうため、時刻オフセット値を求めることができず、図11の欠落区間A5においてPCRリセットが発生したかどうかの判定ができない。そのため、図11の区間C5では、放送システムが意図したタイミングで再生することができない。
そこで、このように次の欠落区間までの間にPCR情報がなかった場合、図11の欠落区間A5と欠落区間B5を統合し、E5点からF5点までを1つの欠落区間としたメタ情報を生成することで対処する。
このような処理は、図8に示す処理手順において、メタ情報生成部16が、後続の欠落区間(図11の欠落区間B5)に対するS105の処理を行わず、この後続の欠落区間(図11の欠落区間B5)に対するS108およびS109の処理において、時刻オフセット値を算出できなかった欠落区間(図11の欠落区間A5)に対するメタ情報の「欠落終了時刻」および「不連続点の位置情報」を、後続の欠落区間(図11の欠落区間B5)での「欠落終了時刻」および「不連続点の位置情報」に書き換えることで実現できる。
次に、欠落区間内でPCRリセットが発生したか否かを判定する2つ目の方法として、ビデオデータを受信してから出力するまでの時間情報を用いる方法を説明する。
バッファオーバーフローやバッファアンダーフローを生じないために、規格では仮想モデルとして、例えばバッファサイズやバッファでのデータ保持時間を規定している。例えば社団法人電波産業会の規定である「地上デジタルテレビジョン放送運用規定」(ARIB TR B−14)では、ビデオストリームデータを保持するCPB(Coded Picture Buffer)に入力されたストリームデータは、1.5秒以内にデコードして出力するように規定している。CPBは、ISO/IEC14496−10のMPEG4AVCで規定されている仮想モデルのバッファである。
図12は、TSとビデオフレームの関係を示した図である。1段目は記録されるTS、2段目はTSに含まれるビデオデータをデコード処理したビデオフレームを示している。バッファ内保持時間は、TSデータを受信してからビデオデータをデコード処理し出力するまでの時間を示している。これは、例えば「地上デジタルテレビジョン放送運用規定」の場合、CPBでのデータ保持時間が1.5秒以内であるため、バッファ内保持時間は(1.5+α)秒以内であると推定できる。αは、TSデータを受信してからデコード処理を開始するまでの時間であり、ストリームデータ記録装置に依存する。欠落区間にPCRリセットが発生していない場合、TSデータを受信したときの時刻(STC値)と、PESヘッダに含まれるPTSの差はこのバッファ内保持時間以内になる。一方、欠落区間にPCRリセットが発生した場合、この差はバッファ内保持時間に収まらない。
このような、欠落区間のPCRリセットに起因して、TSデータを受信したときのSTC値と、PESヘッダに含まれるPTSの差が、バッファ内保持時間に収まらなくなることに着目したPCRリセット検出処理を、図13を参照しながら説明する。図13は、バッファ内保持時間を用いてPCRリセットを検出する処理のフローチャートである。
パケット解析部12は、取得したTSパケットのペイロード部分を解析し、PESヘッダにPTSが含まれているか調査する(S151)。PTSが含まれていない場合(S151:No)は、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。PTSが含まれている場合(S151:Yes)は、パケット解析部12はリセット検出部15に通知し、その通知に応じてリセット検出部15はそのPTSを取得する(S152)。またリセット検出部15は、時刻カウンタ部14からそのときのSTC値を取得する(S153)。そして時刻カウンタ部14から得たSTC値とPTSとを比較して、そのPTSが付されたフレームのバッファ内保持時間を算出する(S154)。
算出したバッファ内保持時間が、ディジタル放送規格において規定されているバッファでのデータ保持時間に基づく閾値TH2より大きい場合(S155:Yes)は、PCRリセットが発生したと判定し、メタ情報生成部16に通知する(S156)。このとき、図13には図示していないが、リセット検出部15は、図10のS131〜S134の処理を行い、時刻オフセット値を算出して、メタ情報生成部16に通知する。またバッファ内保持時間が閾値TH2より小さい場合(S155:No)は、PCRリセットは発生しなかったと判定して、時刻オフセット値として「0」をメタ情報生成部16に通知し(S157)、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。
この2つ目の方法では、欠落区間にPCRリセットが発生したか否かを、欠落区間後のストリームデータに含まれるPTSを用いて検出する。そのため、図11の区間C5のように、欠落区間が終了してから次の欠落区間が開始するまでの間に、PCR情報が含まれない場合でもPCRリセット発生を検出できる。そしてPCRリセットが発生していなければ区間C5は放送システムが意図したタイミングで再生することができる。PCRリセットが発生していた場合は、図11の区間C5での時刻オフセット値を求めることができないので、1つ目の方法同様に、図11の欠落区間A5と欠落区間B5を統合し、E5点からF5点までを1つの欠落区間としたメタ情報を生成する。
なお、ここではビデオデータを使ったPCRリセット検出方法を説明したが、ビデオデータの代わりにオーディオデータ等、他のコンポーネントを使ってもよい。
次に、欠落区間内でPCRリセットが発生したか否かを判定する3つ目の方法を説明する。これは2つ目の方法において、正常にストリームデータを受信できた区間にPCR情報が含まれなかった場合に対処する方法である。
図11において、欠落区間A5に対するPCRリセット検出方法は図13に処理手順をしめした2つ目の方法とほぼ同様である。2つ目の方法と異なる処理として、図13のS154において、PTS値とSTC値を比較した値を欠落区間A5のバッファ内保持時間として保持しておく。またS156において、時刻オフセット値が算出されなかった場合に、メタ情報生成部16は欠落区間A5に対するメタ情報の「時刻オフセット値」として、まだ算出できていないことを示す値(例えば「−1」)を設定する。
欠落区間B5に対するPCRリセット検出方法を、図を用いて説明する。
図14は、PCRリセットが発生したが、時刻オフセット値を算出できなかった欠落区間の後に発生した欠落区間に対して、PCRリセットを検出する方法を示したフローチャートである。図14のフローチャート内に記載の欠落区間A5、欠落区間B5、区間C5、区間D5は、図11に図示したものに対応している。
図14に示す処理手順では、まず区間D5のバッファ内保持時間を算出する(S171)。これは図13のS151〜S154の処理と同様の手順で算出できる。そして保持していた区間C5のバッファ内保持時間との差を求める(S172)。この差が閾値TH3以下の場合(S173:Yes)、区間D5の時刻オフセット値を算出する(S174)。この場合、区間C5と区間D5の時刻オフセット値は同じ値であると判断できる。そこで、このときリセット検出部15は、この時刻オフセット値を欠落区間A5で発生した時刻オフセット値としてメタ情報生成部16に通知する(S175)。また欠落区間B5ではPCRリセットは発生しなかったとして、時刻オフセット値として「0」をメタ情報生成部16に通知する。
S173の判定において、区間C5と区間D5のバッファ内保持時間が閾値TH3より大きかった場合(S173:No)、欠落区間A5と欠落区間B5の両方でPCRリセットが発生していたことになる。この場合、区間C5の時刻オフセット値を求めることはできないので、メタ情報生成部16は、欠落区間A5と欠落区間B5の統合処理をする(S177)。
なお、PCRリセット検出方法として、図13の処理を実行するか、図14の処理を実行するかの選択は、リセット検出部15内部で、識別フラグを保持することで対応可能である。例えば、時刻オフセット値を算出できないまま、次の欠落区間の開始を検出したらフラグをONにする。また図14のS173においてフラグをOFFにする。PCRリセット検出処理を開始する際に、このようなフラグを参照して、フラグがONであれば、図14の処理、フラグがOFFであれば図13の処理を実行すればよい。
以上が、移動体受信端末3において、ストリームデータ記録機能を実現するストリームデータ記録装置5についての説明である。
<ストリームデータ再生装置>
次に、記録したストリームデータを再生する構成に注目して移動体受信端末3の詳細を説明する。
ストリームデータ再生機能は、移動体受信端末3が内蔵するストリームデータ再生装置6により実現される。図15は、本実施形態に係るストリームデータ再生装置6の内部構成を示す図である。
本図において記録媒体4には、ストリームデータ記録装置5によって記録されたストリームデータ及びメタ情報が保持されている。
図15に示すようにストリームデータ再生装置6は、内部に取得部21、デコード部22、出力部23、メタ情報解析部24、時刻カウンタ制御部25、時刻カウンタ部26、及び時刻カウンタ部27を備える。
取得部21は、ユーザからの指示に基づいて、記録媒体4からメタ情報とストリームデータを取得して、ストリームデータをデコード部22へ出力し、メタ情報をメタ情報解析部24へ出力する。
デコード部22は、取得部21からストリームデータを取得し、取得したストリームデータをデコード処理してビデオデータ、オーディオデータ、字幕データ等を生成する。そして時刻カウンタ部26、または時刻カウンタ部27の何れかを参照して、オーディオ、ビデオ等の各コンポーネントのPTSが参照先のSTC値に一致したタイミングで、それぞれのコンポーネントの復号データを出力部23へ出力する。STC値の参照先は、メタ情報解析部24から通知されたストリームデータ位置に再生処理が達した時に、時刻カウンタ部26と時刻カウンタ部27とを交互に切り替える。また、ストリームデータからPCR情報が取得された場合、デコード部22は、時刻カウンタ制御部25へPCR値を通知する。
出力部23は、デコード部22から取得した映像信号や音声信号を、ディスプレイやスピーカーなどへ出力する。
メタ情報解析部24は、取得部21から取得したメタ情報を解析して、STC値をリセットするために、時刻カウンタ制御部25に「時刻オフセット値」と「欠落終了時刻」とを通知する。さらにメタ情報解析部24は、メタ情報の「不連続点の位置情報」に基づいて、参照先の時刻カウンタを切り替えるストリームデータ位置をデコード部22へ通知する。
時刻カウンタ制御部25は、デコード部22から通知されたPCR値に基づいて、時刻カウンタ部26及び時刻カウンタ部27のうちデコード部22が参照している側を同期させる。時刻カウンタ制御部25はさらに、メタ情報解析部24から取得した時刻オフセット値を用いて、時刻カウンタ部26及び時刻カウンタ部27のうちデコード部22が参照していない側をリセットする。時刻オフセット値を用いた時刻カウンタのリセットは、デコード部22が参照している側の時刻カウンタのSTC値がメタ情報の「欠落終了時刻」に達したタイミングで実行される。
時刻カウンタ部26及び時刻カウンタ部27は、デコード部22で生成した映像信号や音声信号などを、タイミングを合わせて出力するためにデコード部22から参照される時計の役割を果たす。
以上がストリームデータ記録装置5の内部構成である。
<時刻カウンタの切換>
以下に、デコード部22がSTC値を参照する時刻カウンタの切り替えについて説明する。
図16は欠落区間にPCRリセットが発生していたストリームデータを再生するときの時刻カウンタ部26及び時刻カウンタ部27の変化の様子示す図である。グラフの横軸はストリームデータの再生開始時からの連続時間を示している。縦軸は時刻カウンタのカウンタ値を示している。斜線部141は欠落区間を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線142は時刻カウンタ部26のカウントアップの様子、破線143は時刻カウンタ部27のカウントアップの様子である。時刻オフセット値146は、時刻カウンタ部26と時刻カウンタ部27の差を示している。
グラフ下の時刻カウンタ部26および時刻カウンタ部27の矢印は、それぞれのカウンタ値が有効な値を取る範囲を示している。A6点は時刻カウンタ部27の値をリセットするタイミング、B6点はデコード部22が参照する時刻カウンタを時刻カウンタ部26から時刻カウンタ部27に切り替えるタイミングを示している。
欠落区間にPCRリセットが発生していた場合、欠落区間終了後に時刻カウンタは、リセットされたPCRに合わせて同期を取り直す必要がある。
ところで、ストリームデータの再生では、ストリームデータを記録媒体から読み出したタイミングで再生されるのではなく、読み出してからデコード処理して出力するまでの間には時間がかかる。そのため、欠落区間発生前に読み出したストリームデータの出力時刻が欠落区間終了後になる場合がある。このとき、欠落区間発生前に受信したストリームデータのPTSは、PCRリセットが発生する前のPCRに基づいて設定されているため、時刻カウンタを、欠落区間終了後すぐに、欠落区間内にリセットされたPCR値に同期させてしまうと、PTSと時刻カウンタの対応が取れなくなってしまう。そこで、時刻カウンタを2つ設けて、欠落区間が終了したタイミング(図16のA6点)で、時刻カウンタ部27を欠落区間中にリセットされたPCR値に同期させるが、デコード部22の参照先は、欠落区間発生前に受信したストリームデータが全て出力処理し終わってから、時刻カウンタ部27に切り替える(図16のB6点)。
<ストリームデータ再生方法>
次に、ストリームデータ再生装置6が記録媒体4からストリームデータを取得して再生する動作手順について説明する。図17は、本実施形態に係るストリームデータ再生装置6におけるストリームデータ再生処理の処理手順を示す図である。
まずユーザからの指示を受け、再生処理が開始されると、取得部21は記録媒体4からメタ情報を読み出しメタ情報解析部24へ出力する(S201)。メタ情報解析部24は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関するレコードを選択し(S202)、選択したレコードをデコード部22へ出力する(S203)。
デコード部22は、取得部21が記録媒体4から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取り(S204)、ファイル先頭からの位置情報とメタ情報解析部24から取得したメタ情報の「不連続点の位置情報」とを比較して、再生処理するストリームデータが前のデータと不連続になっているか判定する(S205)。
処理するストリームデータが前のデータと不連続ではなかった場合(S206:No)、デコード部22はデコード処理してビデオデータ、オーディオデータ、及び字幕データを生成する。その後、各コンポーネントのPTSが参照している時刻カウンタに一致したタイミングで、デコードしたコンポーネントのデータを出力部23に出力する(S215)。
処理するストリームデータが前のデータと不連続な場合(S206:Yes)、デコード部22はメタ情報の「時刻オフセット値」を参照する。参照した時刻オフセット値が「0」であれば(S207:Yes)、欠落区間にPCRリセットは発生しておらず時刻カウンタをリセットする必要がないため、そのままS215の処理を実行して、ストリームデータを再生出力する。
参照した時刻オフセット値が「0」であれば(S207:No)欠落区間にPCRリセットが発生しているため、時刻カウンタ値をリセットする処理が必要となる。そこでデコード部22は、処理するストリームデータが前のデータと不連続な位置に達したことを、メタ情報解析部24へ通知する。通知をうけたメタ情報解析部24は、S202で選択したレコードの「時刻オフセット時」を時刻カウンタ制御部25へ通知する(S208)。
メタ情報解析部24への不連続位置到達通知に続いて、デコード部22は現在参照している側の時刻カウンタ部のカウンタ値と、メタ情報の「欠落終了時刻」とを比較する(S209)。これらが一致していない場合(S210:No)、まだ不連続点以前のデータの処理タイミングであるため、S215の処理を実行して、不連続点以前のデータを再生出力する。
欠落終了時刻が時刻カウンタ部のカウンタ値に一致した場合(S210:Yes)、デコード部22は、時刻カウンタ部26及び時刻カウンタ部27のうち何れの側を参照しているかを、時刻カウンタ制御部25へ通知する。通知をうけた時刻カウンタ制御部25は、デコード部22が参照していない方の時刻カウンタに、もう一方の時刻カウンタのカウンタ値からS208で通知された「時刻オフセット値」を減算した値を設定する(S211)。
次にデコード部22はS212〜S214の処理を実行することで、参照する時刻カウンタ部を切り替える。この処理でまずデコード部22は、メタ情報の「不連続点の位置情報」以前のデータを全て出力処理したか判定する(S212)。この判定は例えば、再生対象のストリームデータが記録時にストリームデータ記録装置5の欠落検出部13によって不連続パケットを挿入されたものであれば、デコード処理して生成したデータを出力部23に出力するときに、不連続パケットまで処理したか否かを判定することで実現できる。また、記録時に不連続パケットが挿入されていないストリームデータを再生対象とする場合には、デコード部22が取得部21からストリームデータを取得したときに、不連続となるストリームデータ位置に不連続を示すデータを挿入しておくことで、デコード処理して生成したデータを出力部23に出力するときに、不連続を示すデータまで処理したか否かを判定することができる。
まだ不連続点以前のデータが残っている場合(S213:No)は、参照する時刻カウンタ部の切換は行わず、S215の処理を実行し、不連続点以前のデータを再生出力する。不連続点以前のデータを全て処理し終えている場合(S213:Yes)、デコード部22は参照する時刻カウンタ部を切り替える(S214)。そして、S215の処理を実行し、不連続点以降のデータを再生出力する。なお、この時刻カウンタ部の切り替え処理は、時刻カウンタ部26と時刻カウンタ部27を用いて交互に行う。
出力部23は、ユーザからの再生停止指示やファイル終端まで再生処理したか判定し(S216)、再生終了指示があった場合は再生処理を終える。再生終了指示がなかった場合は、再び次のデータを処理するためにS201に戻る。
以上がストリームデータ再生装置6の動作手順についての説明である。
上記実施形態によれば、受信電波が弱い状態でストリームデータを記録するときに、PCRとストリームデータ記録装置の時刻カウンタとのオフセット値を求めてメタ情報として保持しておき、この記録したストリームデータを再生するときに、ストリームデータ再生装置の時刻カウンタをオフセット値に基づいて補正することで、放送システムが意図したタイミングでストリームデータを再生することができる。
(第2実施形態)
本発明の第2実施形態について説明する。
<メタ情報>
第2実施形態に係るメタ情報について説明する。第1実施形態に係るメタ情報では欠落区間の開始終了をSTC値を用いて記録したが、第2実施形態に係るメタ情報では番組を構成するコンポーネントの何れかに着目して、そのコンポーネントに付されたPTSを用いて欠落区間の開始終了を記録する。ここで用いるコンポーネントは、ビデオ、オーディオ、字幕等の何れを用いても良い。本実施形態では、ビデオデータを対象とした場合のメタ情報を例として説明に用いる。図18は第2実施形態に係るメタ情報のデータ構造を示した図である。本実施形態に係るメタ情報は、ストリームデータ中に検出された欠落区間と同数のレコードからなり、各レコードは「欠落開始点のPTS」「欠落終了点のPTS」「不連続点の位置情報」及び「再生時間」から構成される。
「欠落開始点のPTS」は、欠落区間の発生前に受信したストリームデータのビデオフレームのPTSである。
「欠落終了点のPTS」は、欠落区間の終了後に受信したストリームデータのビデオフレームのPTSである。
「不連続点の位置情報」は、「欠落終了点のPTS」を含むTSパケットの位置である。データ位置情報としては、記録対象のTSパケットの先頭から付けた通し番号や、ファイル先頭からのオフセット値などを用いることができる。本実施形態では、ファイル先頭からのオフセット値を用いる。
「再生時間」は、欠落区間に含まれるストリームデータを仮に再生できた場合の再生時間である。「欠落終了点のPTS」から「欠落開始点のPTS」を減算した値がこれにあたる。
<ストリームデータ記録装置>
続いて、ストリームデータの記録処理において、図18にデータ構造を示したメタ情報を生成するストリームデータ記録装置7について説明する。
図19は、第2実施形態に係るストリームデータ記録装置7の内部構成を示す図である。ストリームデータ記録装置7は、図5に構成を示したストリームデータ記録装置5に再生時間算出部18を追加し、メタ情報生成部16をメタ情報生成部19に置換した構成である。
以下、ストリームデータ記録装置5と同様の構成については、同じ符号を付して説明を省略する。
再生時間算出部18は、リセット検出部15からリセット検出結果の通知を受けて、受信電波状況の悪化等により記録対象のストリームデータが欠落した区間に対応する、ストリームデータの再生時間を算出する機能ブロックである。再生時間算出部18は、算出した再生時間をメタ情報生成部19に通知する。
メタ情報生成部19は、欠落検出部13の検出結果、及び再生時間算出部18が算出した再生時間に基づいて、図18にデータ構造を示したメタ情報を生成する。
以上がストリームデータ記録装置7の内部構成についての説明である。
<ストリームデータ記録方法>
図20は、ストリームデータ記録装置7におけるストリームデータ記録処理の処理手順を示すフローチャートである。以下、図8に示したストリームデータ記録装置5の動作手順との相違点に着目して、図20を参照しながらストリームデータ記録装置7の動作手順について説明する。
図20に示す処理手順は、ユーザから録画指示を受けると実行される処理手順であり、大きく分けて以下の1〜4のステップに分けられる。
1.欠落区間の発生を検出し、欠落開始点のPTSを取得するステップ(S301〜S305)
2.欠落区間の終了を検出し、欠落終了点のPTS、不連続点の位置情報を取得するステップ(S306〜S309)
3.欠落区間内で発生していたPCRリセットを検出し、再生時間を算出するステップ(S310〜S314)
4.生成したメタ情報を記録するステップ(S315〜S316)
まず、記録するストリームデータの欠落区間の発生を検出するS301〜S305のステップについて説明する。S301〜S305の処理は、図8のS101〜S105の処理に相当するが、検出されたTSパケットの欠落が欠落区間の開始点である場合(S304:Yes)に実行する処理(S305)が図8のS105の処理と相違する。
S305の処理では、欠落検出部13はメタ情報生成部19に欠落区間開始を通知し、通知を受けたメタ情報生成部19は、欠落区間の発生前に出力したビデオフレームの出力時刻を取得して、メタ情報の「欠落開始点のPTS」情報として保持する(S305)。このよな処理は、例えば、パケット解析部12でビデオPESのヘッダを解析してPESヘッダに含まれるPTSを検出する度に、検出したPTSを欠落検出部13へ出力し、欠落検出部13は欠落区間の開始を検出した時に、最後に取得していたPTSをメタ情報生成部19へ通知することで、メタ情報生成部19が欠落区間の発生前に出力したビデオフレームの出力時刻を取得することができる。
次に、欠落区間の終了を検出し、欠落終了時刻、及び不連続点の位置情報を取得するS306〜S309のステップについて説明する。S306〜S309の処理は、図8のS106〜S109の処理に相当するが、検出されたTSパケットの欠落が欠落区間の終了点である場合(S307:Yes)に実行する処理(S308)が図8のS108の処理と相違する。
S308の処理では、欠落検出部13はメタ情報生成部19に欠落区間終了の通知をし、メタ情報生成部19は、欠落区間終了後に出力するビデオフレームの出力時刻を取得し、メタ情報の「欠落終了点のPTS」情報として保持する(S308)。このよな処理は、例えば、パケット解析部12がビデオPESのヘッダを解析してPESヘッダに含まれるPTSを検出する度に、検出したPTSを欠落検出部13へ出力し、欠落検出部13は欠落区間の終了を検出した後に、最初に取得したPTSをメタ情報生成部19へ通知することで、メタ情報生成部19が欠落区間の終了後に出力するビデオフレームの出力時刻を取得することができる。
次に、欠落区間内で発生していたPCRリセットを検出し、再生時間を算出するS310〜S314のステップについて説明する。S310〜S314の処理は、図8のS110〜S112の処理に相当するが、欠落区間中にPCRリセットが発生していた場合(S311:Yes)に実行する処理(S312〜S314)が図8の処理手順と相違する。
S312の処理では、リセット検出部15は時刻オフセット値を取得して、再生時間算出部18に通知する。時刻オフセット値が通知された再生時間算出部18では、メタ情報生成部19から「欠落開始点のPTS」および「欠落終了点のPTS」を取得し、時刻オフセット値、「欠落開始点のPTS」及び「欠落終了点のPTS」を用いて、欠落区間に含まれるビデオフレームに対応する再生時間を算出する。再生時間算出処理の詳細については後述する。続くS314の処理では、メタ情報生成部19は再生時間算出部18から再生時間を取得し、メタ情報の「再生時間」として保持する。
最後に生成したメタ情報をTS記録終了時に記録するS315、S316の処理は、図8のS113〜S114の処理と同様の処理である。
以上が、ストリームデータ記録装置7の動作手順についての説明である。
<再生時間算出方法>
次に、図20のS313における、欠落区間に含まれるストリームデータに対応する再生時間の算出方法を詳細に説明する。
図21は、欠落区間にPCRリセットが発生しなかった場合のストリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示す図である。横軸はストリームデータの受信開始時からの連続時間を示している。縦軸は時刻カウンタの値を示している。斜線部151は欠落区間を示している。直線152は時刻カウンタ部14のカウントアップの様子を示している。欠落区間開始PTS154は、欠落区間が発生する前に出力するビデオフレームの、出力タイミングでの時刻カウンタ部14の値である。欠落区間終了PTS155は、欠落区間が終了した後に、ビデオPESヘッダから取得したPTSの値である。
本図で示すように、欠落区間にPCRリセットが発生していなかった場合は、ストリームデータに含まれるPCRと時刻カウンタ部14は欠落区間終了後も同期している。このような条件では、欠落区間終了PTS155は時刻カウンタ部14が示すSTC値に基づいて処理されるように値が設定されているため、欠落区間に対応する再生時間は欠落区間終了PTS155と欠落区間開始PTS154の差分になる。
一方、図22は、欠落区間にPCRリセットが発生した場合のストリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示している。図22において横軸はストリームデータの受信開始時からの連続時間を示している。縦軸は時刻カウンタの値を示している。斜線部161は欠落区間を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線162および直線163は時刻カウンタ部14のカウントアップの様子を示している。破線164は欠落区間終了後から、最初にPCRを取得するまでの間にTSヘッダに含まれるPCRの連続値を示している。欠落区間開始PTS165は、欠落区間が発生する前に出力するビデオフレームの、出力タイミングの時刻カウンタ部14の値である。欠落区間終了PTS166は、欠落区間が終了した後に、ビデオPESヘッダから取得したPTSの値である。時刻オフセット値167は直線162と破線164の差分である。
本図に示すように、欠落区間にPCRリセットが発生していた場合、欠落区間終了後はPCRと時刻カウンタ部14は同期していない。欠落区間開始PTS165は欠落区間開始PTS165はPCRリセット前のPCRに基づいているため、時刻カウンタ部14と同期している。しかし、欠落区間終了PTS166はPCRリセット後のPCRに基づいている処理されるように値が設定されているため、時刻カウンタ部14と同期していない。そのため、欠落区間終了PTS166と欠落区間開始PTS165とは基準が異なるため、このままでは単に差をとるだけでは、欠落区間に対応する再生時間を得ることができない。
そこで、欠落区間終了PTS166を、時刻オフセット値167を使って、欠落区間開始PTS165と同じ基準に合わせる。補正終了PTS168は欠落区間終了PTS166に時刻オフセット値167を加算して、欠落区間開始PTS165と同じ基準に補正した欠落区間終了PTSである。補正終了PTS168と欠落区間開始PTS165は同じ基準に基づいているため、欠落区間に対応する再生時間は補正終了PTS168と欠落区間開始PTS165の差分により得ることができる。
以下に、上述の再生時間算出方法を実現する処理手順を説明する。図27は、再生時間算出部18が再生時間を算出する処理手順を示すフローチャートである。
まず再生時間算出部18はメタ情報生成部19から欠落終了点のPTSを取得する(S351)。また欠落区間にPCRリセットが発生していた場合は、再生時間算出部18はリセット検出部15で算出した時刻オフセット値を取得する(S352)。そして再生時間算出部18は欠落終了点のPTSに時刻オフセット値を加算して、欠落終了点のPTSを補正する(S353)。このときメタ情報の欠落終了点のPTS値は書き換えない。欠落区間にPCRリセットが発生していなかった場合(S352)、S353の処理は行わない。次に再生時間算出部18はメタ情報生成部19から欠落開始点のPTSを取得する(S354)。そして欠落終了点のPTSから欠落開始点のPTSを減算し、欠落区間に含まれるストリームデータに対応する再生時間を算出する(S355)。そして算出した再生時間をメタ情報生成部19に通知する(S314)。
以上が、欠落区間に含まれるストリームデータに対応する再生時間の算出方法の説明である。
<PTS補間処理>
次に、欠落開始点および欠落終了点のPTSを求める方法の変形例として、PESヘッダに含まれるPTS情報とフレームレートを用いて、オーディオフレーム及びビデオフレームのPTSを補間することで、欠落開始点および欠落終了点と精度よく一致するPTSを求める方法を説明する。
図24はオーディオPESヘッダに含まれるPTSとオーディオフレームとの関係を示した図である。
上段はオーディオPESを示している。「PTS含む」はPESヘッダにPTS情報を含んでいるPESを、「PTS含まない」はPESヘッダにPTS情報を含んでいないPESを示している。受信悪化区間は受信電波状況が悪化して正しくストリームデータを取得できなかった区間である。
下段はオーディオPESをデコードして生成されるオーディオフレームを示している。
図20のS305において、欠落開始PTSとして、PESヘッダに含まれるPTSを用いた場合、図24のA7点が欠落区間の開始点となる。そのため、A7点からB7点までのオーディオフレームは音声出力されない。そこで、欠落開始PTSとして、PESヘッダに含まれるPTSではなく、補間したB7点でのPTSを用いることで、再生できるストリームデータを増やすことができる。
B7点のPTS算出方法であるが、まずA7点からB7点に含まれるストリームデータをデコード処理してフレーム数を求める。そしてフレーム数とストリームデータで定義されているフレームレートから、A7点からB7点のフレームの再生時間を求め、それをA7点のPTSに足し合わせることで求めることができる。なお、ビットレートが固定の場合は、A7点からB7点のオーディオESのバイト長とビットレートから算出することも可能である。
また図20のS308において、欠落終了PTSとして、PESヘッダに含まれるPTSを用いた場合、図24のD7点が欠落区間の終了点となる。そのため、C7点からD7点のオーディオフレームは出力されない。そこで欠落開始PTSの場合と同様に、欠落終了PTSとして、PESヘッダに含まれるPTSではなく、補間したC7点でのPTSを用いることで、再生できるストリームデータを増やすことができる。
C7点のPTS算出方法であるが、B7点のPTS算出方法と同様に、C7点からD7点に含まれるフレーム数とフレームレートからC7点からD7点のフレームの再生時間を求め、それをD7点のPTSから引くことで求めることができる。
なお、ここではオーディオデータを用いて説明したが、ビデオデータについても同様であることは言うまでもない。
以上が、ストリームデータ記録装置7についての説明である。
<ストリームデータ再生装置>
続いて第2実施形態に係るメタ情報を用いてSTC値を補正して、ストリームデータを再生するストリームデータ再生装置8について説明する。図25は、第2実施形態に係るストリームデータ再生装置8の内部構成を示す図である。ストリームデータ再生装置8は、図15に構成を示したストリームデータ再生装置6から時刻カウンタ部27を取り除き、デコード部22、メタ情報解析部24及び時刻カウンタ制御部25を、それぞれデコード部28、メタ情報解析部29及び時刻カウンタ制御部30に置換した構成である。
以下、ストリームデータ再生装置6と同様の構成については、同じ符号を付して説明を省略する。
デコード部28は、デコード部22と同様に、取得部21から取得したストリームデータをデコードしてビデオデータ、オーディオデータ、字幕データ等のコンポーネントデータを生成し、時刻カウンタ部26のSTC値を参照して各コンポーネントに設定されたPTSがカウンタ値に一致したタイミングで、出力部23へ出力する。また、ストリームデータからPCR情報が取得された場合、デコード部28は、時刻カウンタ制御部25へPCR値を通知する。
デコード部28がデコード部22と相違するのは、またメタ情報の「不連続点の位置情報」を参照して、デコード処理するデータが前のデータと不連続であるかを判定し、不連続である場合は、メタ情報の「再生時間」で示される時間の間、直前に復号したフレームを出力しつづける点である。「再生時間」で示される時間が経過した後は、デコード部28は、欠落区間に相当する再生時間が終了したことを、時刻カウンタ制御部30に通知する。
尚、前のデータと不連続なデータまでデコード処理が達した場合の処理としては、直前に復号したフレームの静止画表表示に替えて、「再生時間」示される時間の間、画面を暗転表示したり、その他の色を画面に表示させてもよい。あるいは、前のデータと不連続なデータまでデコード処理が達した場合、即座に時刻カウンタ制御部30へ時刻カウンタ値をリセットするように通知することで、不連続なデータへ再生位置をジャンプさせてもよい。
メタ情報解析部29は、取得部21から取得したメタ情報を解析して、「不連続点の位置情報」と「再生時間」とをデコード部28へ通知する。さらにメタ情報解析部29は、STC値をリセットするために必要な「欠落終了点のPTS」を、時刻カウンタ制御部30へ通知する。
時刻カウンタ制御部30は、デコード部28から通知されたPCR値に時刻カウンタ部26を同期させる。さらに時刻カウンタ制御部30は、デコード部28から欠落区間に相当する再生時間の終了が通知された場合、メタ情報解析部29から通知された「欠落終了点のPTS」が示す時刻に時刻カウンタ部26を再設定する。
以上がストリームデータ再生装置8の内部構成についての説明である。
<ストリームデータ再生方法>
次に、ストリームデータ再生装置8が記録媒体4からストリームデータを取得して再生する動作手順について説明する。図26は、第2実施形態に係るストリームデータ再生装置8におけるストリームデータ再生処理の処理手順を示す図である。
まずユーザからの指示を受け、再生処理が開始されると、取得部21は記録媒体4からメタ情報を読み出しメタ情報解析部29へ出力する(S401)。メタ情報解析部29は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関するレコードを選択する(S402)。さらにメタ情報解析部29は、選択したレコードの「不連続点の位置情報」と「再生時間」とをデコード部28へ通知し、選択したレコードの「欠落終了点のPTS」を、時刻カウンタ制御部30へ通知する(S403)。
デコード部28は、取得部21が記録媒体4から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取り(S404)、ファイル先頭からの位置情報とメタ情報解析部29から取得したメタ情報の「不連続点の位置情報」とを比較して、再生処理するストリームデータが前のデータと不連続になっているか判定する(S405)。
処理するストリームデータが前のデータと不連続ではなかった場合(S406:No)、デコード部28はデコード処理してビデオデータ、オーディオデータ、及び字幕データを生成する。その後、各コンポーネントのPTSが時刻カウンタ部26のSTC値に一致したタイミングで、デコードしたコンポーネントのデータを出力部23に出力する(S413)。
処理するストリームデータが前のデータと不連続であった場合(S406)、デコード部28はメタ情報の「不連続点の位置情報」以前のデータを全て出力処理したか判定する(S407)。この判定は例えば、再生対象のストリームデータが記録時に不連続パケットを挿入されたものであれば、デコード処理して生成したデータを出力部23に出力するときに、不連続パケットまで処理したか否かを判定することで実現できる。また、記録時に不連続パケットが挿入されていないストリームデータを再生対象とする場合には、デコード部22が取得部21からストリームデータを取得したときに、不連続となるストリームデータ位置に不連続を示すデータを挿入しておくことで、デコード処理して生成したデータを出力部23に出力するときに、不連続を示すデータまで処理したか否かを判定することができる。
まだ不連続点以前のデータが残っている場合(S408:No)は、S413の処理を実行し、不連続点以前のデータを再生出力する。不連続点以前のデータを全て処理し終えている場合(S408:Yes)、デコード部28はメタ情報の「再生時間」が経過したか否かを判定する(S409)。この判定のためには、先ずデコード部28が不連続点以前の最後のデータを出力したときのSTC値を時刻カウンタ部26から取得し、メタ情報の「再生時間」を加算する。この加算結果の値と時刻カウンタ部26のカウンタ値が一致したか否かで再生時間の経過を判定することができる。
まだ再生時間が経過していない場合(S410:No)、再生時間が経過するまで、デコード部28は不連続点以降のデータの出力処理を行わず待機する。再生時間が経過した場合(S410:Yes)、デコード部28は欠落区間に相当する再生時間が終了したことを、時刻カウンタ制御部30に通知する(S411)。通知を受けた時刻カウンタ制御部30は、時刻カウンタ部26のカウント値を、S403でメタ情報解析部29から通知された「欠落終了点のPTS」の値にリセットする(S412)。その後、S413の処理を実行して、不連続点以降のデータを再生出力する。
出力部23は、ユーザからの再生停止指示やファイル終端まで再生処理したか判定し(S414)、再生終了指示があった場合(S414:Yes)は再生処理を終え、再生終了指示がなかった場合(S414:No)は、再び次のデータを処理するためにS401に戻る。
以上がストリームデータ再生装置8の動作手順についての説明である。
なお、本発明の第2実施形態では、メタ情報を生成するのにビデオデータを用いたが、オーディオデータを用いてもよい。
上記実施形態によれば、正常に受信できなかった区間のビデオデータまたはオーディオデータのどちらか一方の再生時間を予測してメタ情報として生成、保持しておくことで、受信電波が弱い状態で記録したストリームデータを再生するときに、放送システムが意図したタイミングで再生することができる。
(第3実施形態)
本発明の第3実施形態について説明する。
<メタ情報>
本発明の第2実施形態では、オーディオデータかビデオデータどちらか一方の時間情報を用いてメタ情報を生成したが、第3実施形態では、オーディオデータとビデオデータとの両方の時刻情報を用いてメタ情報を生成する。図27は、第3実施形態に係るメタ情報のデータ構造を示す図である。
本実施形態に係るメタ情報は、ストリームデータ中に検出された欠落区間ごとに、ビデオデータに対応するレコードとオーディオデータに対応するレコードを含むため、欠落区間の2倍の数のレコードからなる。奇数番目のレコードがビデオデータを対象にした場合のメタ情報であり、偶数番目のレコードがオーディオデータを対象にした場合のメタ情報である。
各レコードは「欠落開始点のPTS」「欠落終了点のPTS」「不連続点の位置情報」及び「再生時間」から構成される。
「欠落開始点のPTS」は、欠落区間の発生前に受信したストリームデータのオーディオフレームまたはビデオフレームのPTSである。
「欠落終了点のPTS」は、欠落区間の終了後に受信したストリームデータのオーディオフレームまたはビデオフレームのPTSである。
「不連続点の位置情報」は、「欠落終了点のPTS」を含むTSパケットの位置である。データ位置情報としては、記録対象のTSパケットの先頭から付けた番号や、ファイル先頭からのオフセット値などがある。本発明の第3実施形態では、ファイル先頭からのオフセット値を用いる。
「再生時間」は、欠落区間に含まれるストリームデータを仮に再生できた場合のオーディオフレームまたはビデオフレームの再生時間である。「欠落終了点のPTS」から「欠落開始点のPTS」を減算した値がこれにあたる。
<ストリームデータ記録方法>
次に、第3実施形態に係るストリームデータ記録処理について、図20を参照しながら、第2実施形態に係るストリームデータ記録処理との相違点を説明する。
先ず第1の相違点は、欠落区間の開始点が検出された場合に実行されるS305の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落開始点のPTSを取得する点である。
具体的には、S305の処理では、メタ情報生成部19は、欠落区間の発生前に出力したビデオフレームのPTSを取得し、メタ情報の奇数行目にビデオデータの「欠落開始点のPTS」情報として保持する。またメタ情報生成部19は、欠落区間の発生前に出力したオーディオフレームのPTSを取得し、メタ情報の偶数行目にオーディオデータの「欠落開始点のPTS」情報として保持する。
第2の相違点は、欠落区間の終了点が検出された場合に実行されるS308の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落終了点のPTSを取得する点である。
具体的には、S308の処理では、メタ情報生成部19は、欠落区間終了後に出力するビデオフレームのPTSを取得し、メタ情報の奇数行目にビデオデータの「欠落終了点のPTS」情報として保持する。またメタ情報生成部19は、欠落区間終了後に出力するオーディオフレームのPTSを取得し、メタ情報の偶数行目にオーディオデータの「欠落終了点のPTS」情報として保持する。
第3の相違点は、S309の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、記録位置情報を取得する点である。
具体的には、S309の処理では、メタ情報生成部19は、記録制御部17から、ビデオデータの「欠落終了点のPTS」情報を含むTSパケットの記録位置を取得し、メタ情報の奇数行目にビデオデータの「不連続点の位置情報」として保持する。またメタ情報生成部19は、記録制御部17から、オーディオデータの「欠落終了点のPTS」情報を含むTSパケットの記録位置を取得し、メタ情報の偶数行目にオーディオデータの「不連続点の位置情報」として保持する。
第4の相違点は、S313の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落区間に含まれるデータに対応する再生時間を算出する点である。
具体的には、S313の処理では、再生時間算出部18はメタ情報生成部19の奇数行目からビデオデータの「欠落開始点のPTS」および「欠落終了点のPTS」を取得して、欠落区間に含まれるビデオデータに対応する再生時間を算出する。また再生時間算出部18はメタ情報生成部19の偶数行目からオーディオデータの「欠落開始点のPTS」および「欠落終了点のPTS」を取得して、欠落区間に含まれるオーディオデータに対応する再生時間を算出する。なお時刻オフセット値は、PCRと時刻カウンタ部14のSTC値との差分であり、ビデオデータ、オーディオデータで共通である。このため、再生時間はビデオデータ、オーディオデータともに同じロジックで算出できる。
以上が、第3実施形態に係るストリームデータ記録方法についての説明である。
<ストリームデータ再生装置>
続いて第3実施形態に係るメタ情報を用いてSTC値を補正して、ストリームデータを再生するストリームデータ再生装置9について説明する。図28は、第3実施形態に係るストリームデータ再生装置8の内部構成を示す図である。ストリームデータ再生装置9は、図25に構成を示したストリームデータ再生装置8に状態表示部33を追加し、デコード部28及び時刻カウンタ制御部30を、それぞれデコード部31及び時刻カウンタ制御部32に置換した構成である。
以下、ストリームデータ再生装置8と同様の構成については、同じ符号を付して説明を省略する。
デコード部31は、取得部21から取得したストリームデータをデコードしてビデオデータ、オーディオデータを生成する。そして時刻カウンタ部26を参照して、生成したオーディオデータまたはビデオデータを、それぞれのフレームレートに基づいた一定間隔ごとに出力部23へ出力する。
デコード部31はさらに、メタ情報の「不連続点の位置情報」を参照して、デコード処理するデータが前のデータと不連続であるかを判定し、不連続である場合は、メタ情報の「再生時間」で示される時間の間、出力部23への出力を停止する。
時刻カウンタ制御部32は、再生開始時にストリームデータのPCRに合わせて時刻カウンタ部26のカウンタ値をリセットする。再生中は時刻カウンタ部26のリセットは行わない。
状態表示部33は、メタ情報解析部29からメタ情報を取得して、記録されているストリームデータに欠落区間が有る事をユーザに提示する画面を生成し、出力部23を介してモニタへ出力する。具体的には、状態表示部33による表示処理は、例えば、図29の(a)に示すように、欠落区間を各区間の時間の長さに応じた割合で、ストリームデータ全体を示すバーオブジェクト上に配置して表示する。あるいは、図29の(b)に示すように、欠落区間の位置を、再生可能なストリームデータの長さを示すバーオブジェクトにおいて表示するとしてもよい。さらに他の例として、図29の(c)に示すように、記録対象であったストリームデータの放送時の時間と、実際に記録したストリームデータの再生可能な時間とをユーザに提示する構成としてもよい。状態表示部33はさらに、ユーザにジャンプ先の指定を要求する際に、図29の(d)に示すように、ジャンプ先として指定可能な区間及び不可能な区間を一つのバーオブジェクト上に示す画像を生成し、モニタへ出力する。
またストリームデータの再生動作中には、状態表示部33は再生状態を示す画像を生成し、モニタへ出力する。図30の(a)は再生状態を示す画像が表示された移動体受信端末3を模式的に示す図である。ストリームデータの再生中は、移動体受信端末3のモニタ10には、デコードされた再生画像が映像出力部分10aに表示され、状態表示部33により生成された再生状態を示す情報が状態表示部分10bに表示される。状態表示部分10bに表示される再生状態を示す情報には、再生位置表示バーオブジェクト10cと再生時間表示10dとがある。
以下に、再生状態を示す画像の表示方法を説明する。図30の(b)は再生状態を示す画像の表示方法の一例を示す図である。
再生位置表示バーオブジェクト10cは、ストリームデータ全体の長さを示すバーオブジェクトであり、欠落区間とが各区間の位置と長さに応じて配置されている。バーオブジェクト上で区分けされた各区間は、その区間で再生可能なコンポーネントの種類に応じて色分けして表示される。具体的には、ビデオ及びオーディオの両方が再生可能な区間10eは緑色に表示され、ビデオ及びオーディオの何れか一方のみの欠落区間を示す区間10fは橙色に、ビデオ及びオーディオの両方の欠落区間が重なっている区間10gは赤色に表示される。さらに再生位置表示バーオブジェクト10eは、再生が済んだ量に応じて左端から太枠を表示することで、現在の再生位置がどのような状態であるか把握することを容易にする。
再生時間表示10dは、現在再生の時刻とストリームデータ全体の再生時間とを並べて示す文字列である。再生時間表示10dの文字列は、現在の再生位置がビデオの欠落区間になり映像出力部分10aが暗転した時に表示される。尚、再生時間表示10dの表示色も、再生位置表示バーオブジェクト10cと同様に、再生されているコンポーネントの種類に応じて表示色を変更してもよい。
さらに、ビデオ及びオーディオの両方の欠落区間が重複した部分であり、メタ情報の「再生時間」が所定時間(例えば10秒)以上の欠落区間に再生位置が達した場合には、映像出力部分10aにポップアップ10cやアイコン等の警告画像を表示してもよい。このような警告がなされることで、ユーザは長時間にわたって再生が途切れることを認識することができ、ユーザはスキップ操作等の適切な対処が可能となる。
以上がストリームデータ再生装置9の内部構成についての説明である。
<ストリームデータ再生方法>
次に、ストリームデータ再生装置9が記録媒体4からストリームデータを取得して再生する動作手順について説明する。図31は、第3実施形態に係るストリームデータ再生装置9におけるストリームデータ再生処理の処理手順を示す図である。
まずユーザからの指示を受け、再生処理が開始されると、取得部21は記録媒体4からメタ情報を読み出しメタ情報解析部29へ出力する(S501)。メタ情報解析部29は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関する奇数行目のビデオデータのレコードと、それに続く偶数行目のオーディオデータのレコードとを選択する(S502)。さらにメタ情報解析部29は、選択した2つのレコードの「不連続点の位置情報」と「再生時間」とをデコード部28へ通知し、選択した2つのレコードの「欠落終了点のPTS」を、時刻カウンタ制御部30へ通知する(S503)。デコード部31は、取得部21が記録媒体4から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取る(S504)。
以降、S505からS511の処理は、オーディオデータとビデオデータそれぞれに対して並行して実行する。
S505でデコード部31は、メタ情報の奇数行目のビデオデータの「不連続点の位置情報」を参照して、再生処理するビデオデータが前のデータと不連続になっているか判定する。またメタ情報の偶数行目のオーディオデータの「不連続点の位置情報」を参照して、再生処理するオーディオデータが前のデータと不連続になっているか判定する。
処理するビデオデータまたはオーディオデータが前のデータと不連続ではなかった場合(S506:No)、デコード部31はデコード処理してビデオデータまたはオーディオデータを生成する。デコード部31は、生成したオーディオデータまたはビデオデータを、時刻カウンタ部26を参照して、それぞれのフレームレートに基づいた一定間隔ごとに出力部23へ出力する(S511)。ただし、S511の処理では、再生開始時の最初のオーディイオフレームおよびビデオフレームのみ、それぞれのPTSが時刻カウンタ部26のカウンタ値に一致したタイミングで出力を開始する。それ以降のオーディオフレームおよびビデオフレームについては、それぞれのフレームレートに基づいた一定間隔ごとに出力する。
処理するビデオデータまたはオーディオデータが前のデータと不連続であった場合(S506:Yes)、デコード部31はメタ情報の奇数行目の「不連続点の位置情報」以前のビデオデータまたはメタ情報の偶数行目の「不連続点の位置情報」以前のオーディオデータを全て出力処理したか判定する(S507)。まだ不連続点以前のデータが残っている場合(S508:No)は、S511の処理を実行し、不連続点以前のデータを出力する。不連続点以前のビデオデータを全て処理し終えた場合(S508:Yes)、デコード部31はメタ情報の奇数行目のビデオデータの「再生時間」が経過したか否かを判定する(S509)。また不連続点以前のオーディオデータを全て処理し終えた場合(S508:Yes)、デコード部28はメタ情報の偶数行目のオーディオデータの「再生時間」が経過したか否かを判定する(S509)。まだ再生時間が経過していない場合(S510:No)、再生時間が経過するまで、デコード部は不連続点以降のデータの出力処理を行わず待機する。
再生時間が経過した場合(S510:Yes)、デコード部31はS413の処理を実行して、不連続点以降のデータを再生出力する。不連続点以降のストリームデータを再生出力する場合においては、メタ情報の「再生時間」が経過したらタイミングから再生出力を開始し、その後はフレームレートに基づいた一定間隔ごとに出力する。
以上がストリームデータ再生装置8の動作手順についての説明である。
上記実施形態によれば、正常に受信できなかった区間のビデオデータおよびオーディオデータ両方の再生時間を予測してメタ情報として生成、保持しておき、再生時には、ビデオデータとオーディオデータとの開始のタイミングのみPTSを用いて同期させ、以降のデータはフレームレートに基づいて出力しつつ、受信電波が弱い状態で記録したストリームデータを再生するときに、ビデオデータおよびオーディオデータそれぞれについて、メタ情報の再生時間の間、再生を待機させることで、欠落区間終了後も放送システムが意図したタイミングでビデオデータおよびオーディオデータを同期させて再生することができる。
(その他の変形例)
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明は、各実施形態で説明したフローチャートの処理手順が開示するストリームデータの記録方法、再生方法であるとしてもよい。また、前記処理手順でコンピュータを動作させるプログラムコードを含むコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、前記コンピュータプログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記コンピュータプログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(2)本発明は、上記第1実施形態乃至第3実施形態に記載のストリームデータ記録装置、及びストリームデータ再生装置を制御するLSIとしても実施可能である。このようなLSIは、図5、図15、図19、図25、及び図28において破線で囲んだ各機能ブロックを集積化することで実現できる。これらの機能ブロックは、個別に1チップ化されても良いし、一部または全てを含むように1チップ化されてもよい。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または、汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロック及び部材の集積化を行ってもよい。このような技術には、バイオ技術の適応等が可能性としてありえる。
(3)上記本発明の第1実施形態乃至第3実施形態では、主にディジタル放送信号で伝送されるストリームデータの記録、再生について論じたが、ネットワーク経由で受信したストリームデータに対しても同様の効果が得られるのは言うまでもない。
さらに本発明は、ディジタル放送信号から取得したストリームデータに限らず、既に記録媒体に記録されているストリームデータを解析の対象としてメタ情報を生成するストリームデータ編集装置としても実施形態可能である。このようなストリームデータ編集装置は、具体的には、図5及び図19に示す構成で、記録媒体4に既に記録媒体に記録されているストリームデータを、取得部11により読み出し、読み出したストリームデータを処理の対象とすることで実現される。このように装置では、放送波から取得したストリームデータを一旦記録媒体に記録した後、装置のアイドル時などにストリームデータを読み出してメタ情報を生成することが可能となり、ストリームデータ記録時の処理負荷を軽減させるという観点で有益である。
(4)第1実施形態乃至第3実施形態では、メタ情報をストリームデータと同じ記録媒体に記録するとしたが、本発明に係るメタ情報とストリームデータとは、対応付けがなされていれば、それぞれ別の記録媒体に記録してもよい。例えば、ストリームデータのデータサイズが記録媒体の容量よりも大きい場合には、ストリームデータを複数の記録媒体に分割して記録し、それぞれの記録媒体に記録されているストリームデータの各部分における欠落区間のメタ情報を何れか一つの記録媒体にまとめて記録し、ストリームデータの各部分とメタ情報とに共通のIDを付しておくことで本発明を適用できる。
(5)上記実施形態、及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明に係るストリームデータ記録装置は、ストリームデータの記録時に、受信電波状況が悪化したためストリームデータに含まれるPCRが不明な区間に対して、STC値を補正する為の時刻オフセット情報を生成し、本発明に係るストリームデータ再生装置は、再生時にこの時刻オフセット情報を用いて時刻カウンタを補正することで放送システムが意図したタイミングでストリームデータを再生することができる。本発明は、ストリームデータの記録中に受信電波状況が悪化発生した場合にも、上述のような有効な対処ができるため、移動体受信端末でのディジタル放送受信などに有用である。
本発明はディジタル放送などで送出されたストリームデータを受信して記録媒体に記録し、記録媒体に記録されたストリームデータを再生する技術に関し、特に、送出されたストリームデータの一部が受信時に欠損した場合の対処に関する。
従来、テレビ受信装置等の固定受信端末に向けたオーディオ、ビデオなどのストリームデータ放送では、BCH(Bose,Chaudhuri,Hocquenghem)符号やRS(Read Solomon)符号など、受信側で誤り訂正可能な符号化方式を採用して伝送誤りに対処している。
このような固定受信端末に向けたストリームデータ放送で発生する伝送誤りは、ビルの反射波によるマルチパス障害や、悪天候などの影響で、送信信号にノイズが混在することに起因する。
特開2001−309262号公報
ところで、時間や場所を選ぶことなくオーディオ、ビデオなどのストリームデータを手軽に楽しむ手法として、移動体受信端末に向けたストリームデータ放送の普及が見込まれている。
移動体受信端末でストリームデータを受信する場合には、従来の固定受信端末で受信する場合とは異なり、移動体受信端末自体が電波が届きにくく受信状況の悪い場所へ移動することもあり、数秒間にわたり正確な送信信号を得ることができなくなるという状況が頻繁に発生しうる。
このような状況では、悪天候やマルチパスによる伝送障害等を想定していた従来の誤り訂正処理では対処できず、ストリームデータは一部欠落して記録されることがある。こうして正しく受信できず一部に欠落が発生したストリームデータを記録し、再生する場合には、放送システムと受信端末との同期に関して以下のような問題が生じる。
ここでまず、デジタル放送の伝送用フォーマットとして代表的なISO/IEC 13818−1のMPEG2TS(Transport Stream)を用いる場合を例に、放送システムと受信端末との同期を説明する。
放送システムから放送されるストリームデータには、再生時に基準となる時刻を示す情報であるPCR(Program Clock Reference)情報がTSヘッダに周期的に埋め込まれている。また、ストリームデータに多重化されているPES(Packetized Elementary Stream)パケットのヘッダには、オーディオフレームやビデオフレーム、字幕データの提示時刻をPCR情報の時刻と同期した時間軸で示すPTS(Presentation Time Stamp)が埋め込まれている。これらのPCR情報及びPTSの値は放送システムが設定して放送している。
一方、受信端末は装置内に時計(以下、時刻カウンタという)を内蔵しており、受信端末でストリームデータを再生する場合、時刻カウンタをPCR値に同期させ、時刻カウンタが示す時刻(以下、STC(System Time Clock)値という)がストリームデータ中で設定されているオーディオやビデオのフレームのPTSに達すると、そのオーディオフレームやビデオフレームをスピーカやモニタに出力する。これにより受信端末からは、放送システム側が意図するタイミングで、オーディオとビデオとが同期して出力される。
続いて一部に欠落が発生したストリームデータを記録し、再生する場合に生じる問題を説明する。図1は、放送されたストリームデータを正しく受信できず一部に欠落が発生した場合のSTC値の時間変化を示す図である。本図において、横軸は放送されたストリームデータの先頭からの連続時間を示し、縦軸はSTC値を示す。また本図には、PCRがストリームデータに含まれているタイミングとその値とに基づいて、黒丸をプロットしている。
図中の直線101、直線102、及び直線103は、STC値を示す。A点、E点でSTC値が不連続な値になっているのは、時刻カウンタの同期の元となるPCR情報がA点、E点で通常のカウントアップ速度から予測される値から外れた値に設定されているためである。このように放送システム側は、PCR値を通常のカウントアップ速度で変化させる以外に、PCR値を任意のタイミングで任意の値に設定することができる。以下、本明細書では、PCR値が通常のカウントアップ速度により予測される値から外れた値となることを“PCR値が不連続である”と言い、PCR値が不連続な値に設定されることを“PCRがリセットされる”と表現する。
ところで斜線で示した欠落区間105は、受信電波状況が悪化して正しくTSパケットを取得できなかった区間を示すが、この区間中のC点でも放送システムによりPCRがリセットされている。しかし、受信端末ではC点においてPCR情報を含むTSパケットを正しく取得できなかったために、再生時にC点でSTC値はリセットされず直線103のようにカウントアップを続け、その後、受信電波状況が回復した後に最初に取得されたPCR情報に基づいてE点でSTC値がリセットされる。即ち、C点からE点までの間、放送システム側と受信端末とで時刻の同期外れが生じている。
この時刻が同期していないC点からE点までの間、放送システム側では破線104で示すようにSTCが同期することを想定しているため、各フレームのPTSも破線104に沿うように設定して放送している。その結果、受信電波状況が回復してから最初にPCR情報が取得されるまでのD点〜E点の区間106では、ストリームデータが正しく受信できるにもかかわらず、STC値がPTSを上回るため、提示時刻が経過しているとみなされてフレームが破棄されてしまうという問題が生じる。
特に、このフレーム破棄が生じる区間106の期間中にIDR(Instantaneous Decoder Refresh)ピクチャを表示することを放送システムが意図していた場合、この問題の影響は大きくなる。
なぜなら単独でデコードできるピクチャであるIDRピクチャは、ストリーム中での出現周期が通常2秒、最大で5秒間隔とPCR情報の出現周期に比較して長いため、IDRピクチャが一度破棄されると、たとえIDRピクチャの破棄後すぐにPCR情報を取得できても、次のIDRピクチャが取得されるまでの数秒間にわたって、参照元となるIDRピクチャがなければデコード不能なPピクチャやBピクチャといった全てのピクチャをデコードできなくなるためである。
尚、PCR値はリセット時に通常のカウントアップ速度から予測される値より小さい値にリセットするよう運用されるのが一般的であるが、通常のカウントアップ速度から予測される値より大きい値にリセットすることも可能である。このようなPCR値を増加させるようなリセットが、受信電波状況の悪化等の理由で受信側で欠落した場合には、欠落回復後に取得されたストリームデータにおいて、PTSが取得時点でSTC値を大きく上回ることになり本来の出力タイミングと異なるタイミングで出力されることになる。
本発明は係る問題に鑑み、受信電波状況の悪化等に起因するストリームデータの一部欠落によりPCRをリセットするPCR情報を取得できなかった場合にも、欠落からの回復後、次のPCR情報を取得するまでに正常に取得したストリームデータを放送システムが意図したタイミングで再生できるように、ストリームデータを記録するストリームデータ記録装置、及びストリームデータの一部欠落によりPCRをリセットするPCR情報を記録できなかった場合にも、欠落からの回復後、次のPCR情報を取得するまでに正常に記録したストリームデータを放送システムが意図したタイミングで再生することができるストリームデータ再生装置を提供することを目的とする。
上記目的を達成するために、本発明に係るストリームデータ記録装置は、時刻参照情報を含むストリームデータを記録するストリームデータ記録装置であって、ストリームデータを取得する取得手段と、時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出手段と、ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタ手段の時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成手段と、前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録手段とを備えることを特徴とする。
上記目的を達成するために、本発明に係るストリームデータ再生装置は、時刻参照情報を含むストリームデータを記録媒体から読み出して再生するストリームデータ再生装置であって、ストリームデータを読み出す読み出し手段と、時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、前記ストリームデータと、当該ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に前記時刻カウンタ手段の時刻を補正する時刻補正情報とが記録された記録媒体から、前記位置情報及び前記時刻補正情報を取得する情報取得手段と、前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定手段と、時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生制御手段とを備えることを特徴とする。
上記の構成により、本発明に係るストリームデータ記録装置は、ストリームデータ受信時に欠落が発生した場合に、一部が欠落したストリームデータと共に、欠落部分に含まれていたPCR情報に同期した場合の時刻カウンタ手段の値を特定する時刻補正情報と、欠落部分のストリームデータにおける位置を特定する位置情報とを記録媒体へ記録する。
記録したストリームデータの再生時には、本発明に係るストリームデータ記録装置は、この位置情報と時刻補正情報とを参照することで、欠落が終了する位置で時刻カウンタ手段を放送システムが意図していた時刻に設定し直すことができる。
これにより、欠落部分に含まれるPCR情報がPCRリセットを指示するものであった場合にも、欠落からの回復後、次のPCR情報を取得するまでの区間も時刻カウンタ手段を放送システムが意図した時刻に同期させることができ、この区間中に取得したストリームデータを放送システムが意図したタイミングで再生できる。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
(第1実施形態)
<システムの概要>
先ず始めに、本発明に係るストリームデータ記録装置及びストリームデータ再生装置の実施行為のうち、使用行為についての形態を説明する。図2は、本発明に係るストリームデータ記録装置及びストリームデータ再生装置の、使用行為についての形態を示す図である。図2において、本発明に係る本発明に係るストリームデータ記録装置及びストリームデータ再生装置は、移動体受信端末3に内蔵されている。この移動体受信端末3は、送信アンテナ2を介して放送システム1から送信された放送波を受信し、受信した放送波からストリームデータを取得して記録媒体4に記録する用途、及び記録媒体4に記録したストリームデータを読み出して再生するという用途で使用される。
放送システム1は、ディジタル放送のストリームデータを作成するシステムである。
送信アンテナ2は、放送システム1で作成したストリームデータをディジタル放送電波に乗せて送信する。
記録媒体4は、データを記録保持する媒体である。光ディスク、磁気ディスク、半導体メモリなどがこれにあたる。
以上が本発明に係るストリームデータ記録装置及びストリームデータ再生装置の使用形態についての説明である。
続いて記録、再生の対象であるストリームデータの詳細について説明する。
<ストリームデータ>
デジタル放送で使用される伝送用フォーマットの代表的な例として、ISO/IEC 13818−1のMPEG2TSがある。以下、本実施形態では、ストリームデータとしてMPEG2TSを用いた場合を例に説明する。図3は、TSのデータ構造の一例を示す図である。
1段目はTSパケットを示している。TSでは、複数の番組のストリームデータをオーディオデータやビデオデータ、字幕データ毎に、TSパケットと呼ばれるパケットに分割し、多重化して送信する。TSパケットはヘッダ部分とペイロード部分から構成され、オーディオデータやビデオデータや字幕データはTSペイロードに格納される。
2段目はTSパケットのヘッダを示している。全てのTSパケットのヘッダには、PID(Packet Identifier)と呼ばれるTSパケットを識別するための識別子が含まれる。各番組のオーディオデータ、ビデオデータ、及び字幕データを格納するTSパケットには、それぞれ格納するデータの種類毎に異なる識別子が付されている。
また、特定のPIDが付されている一部のTSパケットのヘッダには、ストリームデータを作成する放送システム1と、ストリームデータを受信し、再生や記録を行う移動体受信端末3との間で同期を取るために使用されるPCR情報が埋め込まれている。
PCR情報が埋め込まれているTSパケットや、番組のオーディオデータ、ビデオデータ、及び字幕データを格納するTSパケットのPIDは、PMT(Program Map Table)により示される。移動体受信端末3では、受信したTSパケットをPIDを用いて識別して、再生や記録を行う対象の番組のTSパケットを取得する。
<TSペイロードのデータ構造>
TSパケットのペイロード部分には、ISO/IEC 13818−7のMPEG2AAC(Advanced Audio Coding)やISO/IEC 14496−10のMPEG4AVC(Advanced Video Coding)などの規格で圧縮されたオーディオデータやビデオデータ、ARIB STD−B24及びARIB STD−B8等で規定される8単位符号文字による字幕データなどの番組を構成する各種ストリームデータ、PMT等の番組の構成を示す情報等が格納される。以下、番組を構成するオーディオ、ビデオ、字幕などの各要素を、“コンポーネント”と総称する。
図4は、TSパケットのペイロード部分に含まれるビデオデータやオーディオデータのデータ構造の一例を示す図である。
図4において、4段目はTSを示している。3段目はビデオデータのPESパケットを示し、5段目はオーディオデータのPESパケットを示している。PESパケットは、1個あるいは複数のTSペイロードに跨り分割して格納する運用が可能である。
各PESパケットはヘッダ部分とペイロード部分から構成される。PESパケットのヘッダ部分には、ペイロード部分に格納されているデータをモニタやスピーカへ出力する提示時刻を示すPTSが含まれている。PTSの値は、PCR情報によって補正された移動体受信端末3のSTC値を参照し各コンポーネントを同期させて出力することを想定して放送システム1が設定している。そのためPCRがリセットされる場合、その後に送信されるストリームデータに含まれるコンポーネントのPTSも、その前後のフレームで不連続な値が設定される。
PESペイロードをつなげるとES(Elementary Stream)が構成される。
2段目はビデオESを示している。ESは圧縮されたデータである。MPEG4AVCなどのMPEG規格の場合、ビデオESは、単独復号が可能なIDRピクチャ、前のピクチャデータが必要なPピクチャ、前後のピクチャデータが必要なBピクチャから構成される。各IDRピクチャはPESパケットにおいて、ペイロード部分の先頭に位置するよう格納されている。
1段目はビデオフレームを示している。ビデオフレームは、圧縮されているビデオESを復号処理することで得られる。
以上がストリームデータの詳細についての説明である。

<ストリームデータ記録装置>
続いて本実施形態に係る移動体受信端末3の詳細について説明する。先ず移動体受信端末3において、ストリームデータを記録する構成に注目して説明する。ストリームデータ記録機能は、移動体受信端末3が内蔵するストリームデータ記録装置5により実現される。図5は、本実施形態に係るストリームデータ記録装置5の内部構成を示す図である。
ストリームデータ記録装置5は、取得部11、パケット解析部12、欠落検出部13、時刻カウンタ部14、リセット検出部15、メタ情報生成部16、記録制御部17を備える。
取得部11は、図2の送信アンテナ2から送信される放送波をアンテナモジュールで受信し、放送波により伝送されるTSをパケット解析部12へ出力する。また、取得部11は、アンテナモジュールでC/Nレベルの低下及び復帰、RF同期外れ及びRF同期の回復が検出された場合には、これ検出結果をパケット解析部12へ通知する。以下、アンテナモジュールでC/Nレベルの低下やRF同期外れが検出されることを“データ受信不良の開始”と称し、C/Nレベルの復帰やRF同期の回復が検出されることを“データ受信不良の終了”と称する。
パケット解析部12は、ユーザからの指示に基づいて、TSヘッダを解析して記録対象のPIDを含むTSパケットを取得し、欠落検出部13へ出力する。このときTSヘッダに記録対象の番組に係るPCR情報が含まれている場合には、PCR情報を抽出して、時刻カウンタ部14に出力する。ただし、取得部11からデータ受信不良の開始が通知されてからデータ受信不良の終了が通知されるまでの期間は、ヘッダを解析することなくTSパケットを破棄し、さらにデータ受信不良の開始及び終了の通知を欠落検出部13へ転送する。さらにパケット解析部12は、誤り訂正処理では対処できない程度にTDパケットのデータに誤りがふくまれている等の理由で、TSヘッダ解析時に正しく解析できなかった場合にも、取得部11から通知されるデータ受信不良の開始及び終了の通知と同様のものを生成して、欠落検出部13へ転送する。
欠落検出部13は、受信中のストリームデータにおいて、再生の対象とならない欠落区間が発生しているか否かを検出し、検出結果をリセット検出部15及びメタ情報生成部16へ通知する。欠落区間は、ストリームデータの記録中に受信電波状況が悪化して、記録対象のTSパケットを正しく取得できない等の理由で発生する。
さらに、欠落検出部13は、欠落区間が欠落が検出されていない間は、パケット解析部12から取得したTSパケットを記録制御部17へ出力する。また、欠落区間が欠落が検出された場合、欠落検出部13は、前後のパケットが連続していないことを示す不連続パケットを記録制御部17へ出力する。
欠落区間の発生は、以下の1)〜3)のそれぞれ方法により、欠落検出部13で検出される。

1)データ受信不良の開始が通知されてから終了が通知されるまでを欠落区間とする方法
2)判定時に取得しているTSパケットの解析により、パケット間の連続性の欠如を検出する方法
3)PCR情報のようにTSに周期的に含まれる情報(以下、周期送出情報という)が、過去に取得したTSパケットから検出されてから、最大送出周期を超えて検出されない場合を検出する方法

上記2)の方法の具体例としては、以下の2−1)及び2−2)等の場合に、パケット間の連続性の欠如が検出できる。
2−1)コンポーネントを格納するTSパケットに連番で付されているcontinuity_counterの値に欠番が生じている
2−2)直前に同じPIDをもつTSパケットで、discontinuity_indicatorが有効になっていたにも関わらず、判定時に取得しているTSパケットでPCRがリセットされていない
尚、discontinuity_indicatorは、TSパケットのアダプテーションフィールドに設定される情報であり、discontinuity_indicatorが有効になると、後続する同じPIDのTSパケットでPCRがリセットされることを示す情報である。

上記3)の方法で欠落区間を検出するために、欠落検出部13の内部の記録領域には、最後に周期送出情報が検出された時点で時刻カウンタ部14から取得したSTC値が保持されている。欠落検出部13は、時刻カウンタ部14のSTC値と、内部の記録領域に保持しているSTC値とを比較し、これらの差が周期送出情報の最大送出周期を越えた場合に、欠落区間が発生していることを検出できる。また、欠落検出部13は、最新の周期送出情報を取得した時点でSTC値を取得し、このSTC値と、内部の記録領域に保持している以前に周期送出情報を取得した時のSTC値との差を算出して、この差が周期送出情報の最大送出周期を越えている場合に、欠落区間が発生していると判定してもよい。
欠落区間の検出に利用する周期送出情報としては、PCR情報の他に、PAT、PMT、NIT、TOT、TDT、EIT、再生用ストリームデータに含まれるPTS等、ストリームデータに含まれる最大送出周期が設定されたものであれは、どのような情報でも用いることができる。
時刻カウンタ部14は、内部に時計を有し、パケット解析部12から取得したPCR情報を参照して、内部時計をPCR値に同期させる。時刻カウンタ部14の内部時計の値(STC値)は、欠落検出部13、リセット検出部15及びメタ情報生成部16により参照される。さらに時刻カウンタ部14は、パケット解析部12からPCR情報を取得する度に、PCR情報の取得をメタ情報生成部16へ通知する。
リセット検出部15は、欠落検出部13から欠落区間の検出結果を取得し、欠落区間中にPCRリセットが発生していたかを、時刻カウンタ部14のSTC値を参照して検出処理をおこない、検出結果をメタ情報生成部16に通知する。
メタ情報生成部16は、欠落検出部13およびリセット検出部15の検出結果に基づいて、メタ情報を生成する。メタ情報とは、ストリームデータの構成や属性を示すデータである。
図6は本実施形態におけるメタ情報のデータ構造を示した図である。本実施形態におけるメタ情報は、ストリームデータ中に検出された欠落区間と同数のレコードからなり、各レコードは「欠落開始時刻」「欠落終了時刻」「不連続点の位置情報」及び「時刻オフセット値」から構成される。
「欠落開始時刻」は、欠落区間が発生したときのSTC値である。図1の欠落区間開始時刻111の値がこれにあたる。
「欠落終了時刻」は、欠落区間が終了したときのSTC値である。図1の欠落区間終了時刻112の値がこれにあたる。
「不連続点の位置情報」は、欠落区間終了後に記録を再開したときのTSパケットのデータ位置である。図1のD点以降に最初に記録されるパケットのデータ位置がこれにあたる。データ位置情報としては、記録対象のTSの先頭パケットから付けた通し番号や、ファイル先頭からのオフセット値などを用いることができる。本実施形態では、ファイル先頭からのオフセット値を用いる。
「時刻オフセット値」は、欠落区間終了後に、最初にPCR情報の取得が通知されたときのSTC値とPCR値との差である。図1の時刻オフセット値113がこれにあたる。
図5の記録制御部17は、欠落区間が欠落が検出されていない間に欠落検出部13から出力されたストリームデータ、及びメタ情報生成部16で生成されたメタ情報を対応付けて記録媒体4へ記録する。欠落検出部13からは、欠落区間が検出されると不連続パケットが出力されるため、記録制御部17が記録するストリームデータには、図7に示すように、欠落区間によりTSパケットが失われた位置に不連続パケットが挿入される。
以上が、ストリームデータ記録装置の構成である。

<ストリームデータ記録方法>
続いて、ストリームデータ記録装置5の動作手順について説明する。
図8は、本実施形態に係るストリームデータ記録装置5におけるストリームデータ記録処理の処理手順を示す図である。本図に示す処理手順は、ユーザから録画指示を受けると実行される処理手順であり、大きく分けて以下の1〜4のステップに分けられる。
1.欠落区間の発生を検出し、欠落開始時刻を取得するステップ(S101〜S105)
2.欠落区間の終了を検出し、欠落終了時刻、不連続点の位置情報を取得するステップ(S106〜S109)
3.欠落区間内で発生していたPCRリセットを検出し、時刻オフセット値を取得するステップ(S110〜S112)
4.生成したメタ情報を記録するステップ(S113〜S114)

まず、記録するストリームデータの欠落区間の発生を検出するS101〜S105のステップについて説明する。
ユーザからの録画指示を受け、記録処理が開始されると、取得部11による放送波の受信と、パケット解析部12によるフィルタリングとにより、記録対象のPIDを含むTSパケットが取得される(S101)。S102では、欠落検出部13は、パケット解析部12で取得された記録対象のTSパケットに欠落が発生しているか判定を行う。このTSパケットの欠落の検出処理では、以下の1)〜3)の各方法を用いて、欠落の発生を検出する。

1)取得部11やパケット解析部12によりデータ受信不良の開始が通知されてから終了が通知されるまでを欠落区間とする方法
2)判定時に取得しているTSパケットの解析により、パケットに含まれるデータの不連続を検出する方法
3)周期送出情報が、過去に取得したTSパケットから検出されてから、最大送出周期を超えて検出されない場合を検出する方法

欠落の検出処理において、TSパケットの欠落が検出された場合(S103:Yes)、欠落検出部13は、欠落区間の開始点であるか、欠落区間中であるかを判定する(S104)。欠落区間の開始点であるか否かの判定には、例えば、欠落検出部13の内部の記録領域に保持するフラグを利用する。欠落検出部13は、欠落区間の開始点であると判定したときにこのフラグをONに、欠落区間の終了点であると判定したときにこのフラグをOFFに切り替える。S104では、欠落が検出されたときに、フラグがOFFであれば、欠落区間の開始点であるし、フラグがONであれば、欠落区間中であると判定できる。
欠落区間の開始点の場合(S104:Yes)、欠落検出部13はメタ情報生成部16に欠落区間開始の通知をし、メタ情報生成部16は、通知を受けたときのSTC値を時刻カウンタ部14から取得し、メタ情報の「欠落開始時刻」情報として保持する(S105)。なお、本フローチャートでは図示していないが、時刻カウンタ部14は、TSヘッダに含まれるPCRに同期するようにクロック速度が制御されている。
欠落検出部13で検出した欠落が、欠落区間の開始点ではなく、欠落区間中であった場合は(S104:No)、欠落検出部13およびメタ情報生成部16は何も処理しない。
次に、欠落区間の終了を検出し、欠落終了時刻、及び不連続点の位置情報を取得する(S106〜S109)。
欠落検出部13でTSパケットの欠落が検出されなかった場合(S103:No)、記録制御部17は欠落検出部13からTSパケットを取得し、記録媒体4に記録する(S106)。なお、記録媒体4へは、1パケットづつではなく、記録するデータサイズが一定量たまってから記録してもよい。また、TSパケットの記録は、S106からS113の間であれば、他のタイミングで実行してもよい。
欠落検出部13は正常に受信できたTSパケットが欠落区間の終了点であるか否かを判定する(S107)。このS107の判定には、例えば、S104の判定で用いた、欠落検出部13の内部に保持されているフラグを利用して、判定を行う。欠落検出部13が、欠落区間の開始点であると判定したときにこのフラグをONに、欠落区間の終了点であると判定したときにこのフラグをOFFに切り替えるので、TSパケットが正常に受信できたときに、このフラグがONであれば、欠落区間の終了点であると判定できる。
S107の判定の結果、欠落区間の終了点の場合(S107:Yes)、欠落検出部13はメタ情報生成部16に欠落区間終了の通知をし、メタ情報生成部16は、通知を受けたときのSTC値を時刻カウンタ部14から取得し、メタ情報の「欠落終了時刻」情報として保持する(S108)。またメタ情報生成部16は、記録制御部17から、TSパケットの記録位置情報を取得し、メタ情報の「不連続点の位置情報」として保持する(S109)。TSパケットの記録位置情報としては、記録対象のTSパケットの先頭から付けた番号や、ファイル先頭からのオフセット値などを用いることができる。S107の判定の結果、欠落区間の終了点ではなかった場合(S107:No)、S108およびS109の処理は行わない。
次にPCRリセットを検出し、時刻オフセット値を取得する(S110〜S112)。
S110では、リセット検出部15が、欠落区間にPCRリセットが発生していたか否かを判定するリセット検出処理を実行する。リセット検出処理の詳細については後述する。欠落区間中にPCRリセットが発生していた場合(S111:Yes)、リセット検出部15はメタ情報生成部16にPCRリセット発生の判定結果を通知し、時刻オフセット値を出力する。メタ情報生成部16は、リセット検出部15から時刻オフセット値を取得し、メタ情報の「時刻オフセット値」として保持する(S112)。欠落区間にPCRリセットが発生していなかった場合は(S111:No)、S112の処理は行わない。
最後に、生成したメタ情報をTS記録終了時に記録する(S113〜S114)。
記録制御部17は、ユーザからの記録停止指示や記録終了時刻などによる記録停止指示があったか判定し(S113)、記録終了指示があった場合(S113:Yes)、記録制御部17はメタ情報生成部16からメタ情報を取得し、記録媒体4にメタ情報を記録する(S114)。記録停止指示がなかった場合(S113:No)、再び次のTSパケットを処理するためにS101に戻る。
以上が、ストリームデータ記録装置5の動作手順についての説明である。
尚、本実施形態では、ストリームデータの記録を終了する際にS114でメタ情報を一括して記録媒体へ書き込むとしたが、メタ情報は、1レコードずつ記録媒体へ記録してもよい。例えば、S113で記録終了指示の有無を判定するタイミングで、1レコード分の情報が生成できていれば、メタ情報生成部16が保持している1レコード分の情報を記録制御部17へ出力し、記録媒体へ書き込む処理手順としてもよい。さらに、ストリームデータの記録を開始する際に、記録媒体にメタ情報の記録領域を確保しておき、S105、S108、S109、及びS112の各処理でメタ情報の要素情報を取得する毎に、取得した情報を記録制御部17へ出力し、メタ情報の記録領域へ取得した要素情報を追加書き込みするよう構成することも可能である。

<PCRリセット検出方法>
次に、図8のS110において、欠落区間内でPCRリセットが発生したか否かを判定する方法を3つ、詳細に説明する。
まず1つ目の方法として、時刻オフセット値を用いる方法を説明する。
図9は、欠落区間にPCRリセットが発生しなかった場合のSTC値の時間変化を示す図である。図9において、横軸は放送されたストリームデータの先頭からの連続時間を示し、縦軸はSTC値を示す。斜線部121はストリームデータの欠落区間を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線122は、時刻カウンタ部14がカウントアップしていく様子を示している。破線124は、欠落区間終了後から、最初にPCR情報を取得するまでの間のTSヘッダに含まれるPCRの連続値を示している。時刻オフセット値127は、直線122と破線124の差異を示している。
欠落区間にPCRリセットが発生していた場合を図1を参照して説明すると、本来であればTSヘッダに含まれるPCRを基に時刻カウンタをカウントアップさせると図1の破線104に示すようになり、直線102で示される時刻カウンタ部14のSTC値との間に、時刻オフセット値113という差異が発生する。一方、欠落区間にPCRリセットが発生していなかった場合は、図9に示すように、TSヘッダに含まれるPCRを基にした時刻カウンタのカウントアップの様子は破線124に示すようになり、直線122で示される時刻カウンタ部14のSTC値との差異は発生しない。つまり欠落区間内にPCRリセットが発生していた場合は、時刻オフセット値(図1の113)は大きくなり、PCRリセットが発生していなかった場合は、時刻オフセット値(図9の127)は小さくなる。
このような、欠落区間のPCRリセットに起因して時刻オフセット値が発生することに着目したPCRリセット検出処理を、図10を参照しながら説明する。図10は、時刻オフセット値を用いてPCRリセットを検出する処理のフローチャートである。
パケット解析部12は、取得したTSパケットのヘッダを解析し、PCR情報が含まれているか調査する(S131)。PCR情報が含まれていない場合は(S131:No)、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。ヘッダにPCR情報が含まれている場合は(S131:Yes)、パケット解析部12は時刻カウンタ部14を介してリセット検出部15に通知し、リセット検出部15はそのPCR情報を取得する(S132)。またリセット検出部15は、時刻カウンタ部14から、そのPCR情報に同期する前のSTC値を取得する(S133)。そして時刻カウンタ部14のSTC値とPCR値とを比較して時刻オフセット値を算出する(S134)。
このときSTC値がPCR値よりも大きい場合(S135:Yes)、PCRリセットが発生したと判定し、算出した時刻オフセット値をメタ情報生成部16に通知する(S136)。STC値がPCR値以下である場合(S135:No)は、さらに、時刻オフセット値が閾値TH1より大きいければ(S137:Yes)は、PCRリセットが発生したと判定し、算出した時刻オフセット値をメタ情報生成部16に通知する(S136)。
STC値がPCR値以下であり、且つ、時刻オフセット値が閾値TH1より小さい場合(S135:No、S137:No)は、PCRリセットは発生しなかったと判定して、時刻オフセット値として「0」をメタ情報生成部16に通知し(S138)、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。
以上が、PCRリセットの欠落により時刻オフセット値が発生することに着目したPCRリセット検出処理の処理手順である。上記の処理手順によれば、さらに、単に欠落区間にPCRリセットがあった場合のみならず、欠落区間中のPMTにおいてPCR情報を含むTSパケットのPIDが変更されることが示されていた場合に、このPMTの欠落によりPIDの変更に対応できず、STC値とPCR値に差が生じるような現象についても、その発生を検知することができる。
尚、S135の判定で“STC値がPCR値よりも大きいか否か”を判定条件としたが、このS135の判定は“STC値とPCR情報の送出周期との和がPCR値よりも大きいか否か”を判定条件として用いてもよい。
以下に、短時間のうちに欠落区間が複数回発生した場合の対処について説明する。図11は、欠落区間が複数回発生した場合のSTC値とPCRとの関係を示す図である。本図において、横軸はストリームデータの受信開始時からの連続時間を示し、縦軸はSTC値を示している。斜線部131は受信電波状況が悪化し、記録するTSパケットに欠落が発生していた欠落区間A5を、斜線部132は欠落区間B5を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線133および直線134は、時刻カウンタ部14がカウントアップしていく様子を示している。破線135は、欠落区間B5の終了後から、最初にPCR情報を取得するまでの間のTSヘッダに含まれるPCRの連続値を示している。時刻オフセット値136は、直線133と破線135の差異を示している。E5点は欠落区間A5の開始点、F5点は欠落区間B5の終了点である。区間C5は、欠落区間A5と欠落区間B5の間のストリームデータを正常に受信できた区間を示している。この区間C5のストリームデータにはPCR情報が含まれていない。区間D5は、欠落区間B5の後にストリームデータを正常に受信できた区間を示している。この区間D5のストリームデータにはPCRが含まれている。
このような欠落区間終了後、次の欠落区間までの間にPCR情報がない状況(図11の区間C5の場合)では、S131において、図10の処理手順から出てしまうため、時刻オフセット値を求めることができず、図11の欠落区間A5においてPCRリセットが発生したかどうかの判定ができない。そのため、図11の区間C5では、放送システムが意図したタイミングで再生することができない。
そこで、このように次の欠落区間までの間にPCR情報がなかった場合、図11の欠落区間A5と欠落区間B5を統合し、E5点からF5点までを1つの欠落区間としたメタ情報を生成することで対処する。
このような処理は、図8に示す処理手順において、メタ情報生成部16が、後続の欠落区間(図11の欠落区間B5)に対するS105の処理を行わず、この後続の欠落区間(図11の欠落区間B5)に対するS108およびS109の処理において、時刻オフセット値を算出できなかった欠落区間(図11の欠落区間A5)に対するメタ情報の「欠落終了時刻」および「不連続点の位置情報」を、後続の欠落区間(図11の欠落区間B5)での「欠落終了時刻」および「不連続点の位置情報」に書き換えることで実現できる。
次に、欠落区間内でPCRリセットが発生したか否かを判定する2つ目の方法として、ビデオデータを受信してから出力するまでの時間情報を用いる方法を説明する。
バッファオーバーフローやバッファアンダーフローを生じないために、規格では仮想モデルとして、例えばバッファサイズやバッファでのデータ保持時間を規定している。例えば社団法人電波産業会の規定である「地上デジタルテレビジョン放送運用規定」(ARIB TR B−14)では、ビデオストリームデータを保持するCPB(Coded Picture Buffer)に入力されたストリームデータは、1.5秒以内にデコードして出力するように規定している。CPBは、ISO/IEC14496-10のMPEG4AVCで規定されている仮想モデルのバッファである。
図12は、TSとビデオフレームの関係を示した図である。1段目は記録されるTS、2段目はTSに含まれるビデオデータをデコード処理したビデオフレームを示している。バッファ内保持時間は、TSデータを受信してからビデオデータをデコード処理し出力するまでの時間を示している。これは、例えば「地上デジタルテレビジョン放送運用規定」の場合、CPBでのデータ保持時間が1.5秒以内であるため、バッファ内保持時間は(1.5+α)秒以内であると推定できる。αは、TSデータを受信してからデコード処理を開始するまでの時間であり、ストリームデータ記録装置に依存する。欠落区間にPCRリセットが発生していない場合、TSデータを受信したときの時刻(STC値)と、PESヘッダに含まれるPTSの差はこのバッファ内保持時間以内になる。一方、欠落区間にPCRリセットが発生した場合、この差はバッファ内保持時間に収まらない。
このような、欠落区間のPCRリセットに起因して、TSデータを受信したときのSTC値と、PESヘッダに含まれるPTSの差が、バッファ内保持時間に収まらなくなることに着目したPCRリセット検出処理を、図13を参照しながら説明する。図13は、バッファ内保持時間を用いてPCRリセットを検出する処理のフローチャートである。
パケット解析部12は、取得したTSパケットのペイロード部分を解析し、PESヘッダにPTSが含まれているか調査する(S151)。PTSが含まれていない場合(S151:No)は、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。PTSが含まれている場合(S151:Yes)は、パケット解析部12はリセット検出部15に通知し、その通知に応じてリセット検出部15はそのPTSを取得する(S152)。またリセット検出部15は、時刻カウンタ部14からそのときのSTC値を取得する(S153)。そして時刻カウンタ部14から得たSTC値とPTSとを比較して、そのPTSが付されたフレームのバッファ内保持時間を算出する(S154)。
算出したバッファ内保持時間が、ディジタル放送規格において規定されているバッファでのデータ保持時間に基づく閾値TH2より大きい場合(S155:Yes)は、PCRリセットが発生したと判定し、メタ情報生成部16に通知する(S156)。このとき、図13には図示していないが、リセット検出部15は、図10のS131〜S134の処理を行い、時刻オフセット値を算出して、メタ情報生成部16に通知する。またバッファ内保持時間が閾値TH2より小さい場合(S155:No)は、PCRリセットは発生しなかったと判定して、時刻オフセット値として「0」をメタ情報生成部16に通知し(S157)、本フローチャートに示すPCRリセット検出処理の処理手順を終了する。
この2つ目の方法では、欠落区間にPCRリセットが発生したか否かを、欠落区間後のストリームデータに含まれるPTSを用いて検出する。そのため、図11の区間C5のように、欠落区間が終了してから次の欠落区間が開始するまでの間に、PCR情報が含まれない場合でもPCRリセット発生を検出できる。そしてPCRリセットが発生していなければ区間C5は放送システムが意図したタイミングで再生することができる。PCRリセットが発生していた場合は、図11の区間C5での時刻オフセット値を求めることができないので、1つ目の方法同様に、図11の欠落区間A5と欠落区間B5を統合し、E5点からF5点までを1つの欠落区間としたメタ情報を生成する。
なお、ここではビデオデータを使ったPCRリセット検出方法を説明したが、ビデオデータの代わりにオーディオデータ等、他のコンポーネントを使ってもよい。
次に、欠落区間内でPCRリセットが発生したか否かを判定する3つ目の方法を説明する。これは2つ目の方法において、正常にストリームデータを受信できた区間にPCR情報が含まれなかった場合に対処する方法である。
図11において、欠落区間A5に対するPCRリセット検出方法は図13に処理手順をしめした2つ目の方法とほぼ同様である。2つ目の方法と異なる処理として、図13のS154において、PTS値とSTC値を比較した値を欠落区間A5のバッファ内保持時間として保持しておく。またS156において、時刻オフセット値が算出されなかった場合に、メタ情報生成部16は欠落区間A5に対するメタ情報の「時刻オフセット値」として、まだ算出できていないことを示す値(例えば「−1」)を設定する。
欠落区間B5に対するPCRリセット検出方法を、図を用いて説明する。
図14は、PCRリセットが発生したが、時刻オフセット値を算出できなかった欠落区間の後に発生した欠落区間に対して、PCRリセットを検出する方法を示したフローチャートである。図14のフローチャート内に記載の欠落区間A5、欠落区間B5、区間C5、区間D5は、図11に図示したものに対応している。
図14に示す処理手順では、まず区間D5のバッファ内保持時間を算出する(S171)。これは図13のS151〜S154の処理と同様の手順で算出できる。そして保持していた区間C5のバッファ内保持時間との差を求める(S172)。この差が閾値TH3以下の場合(S173:Yes)、区間D5の時刻オフセット値を算出する(S174)。この場合、区間C5と区間D5の時刻オフセット値は同じ値であると判断できる。そこで、このときリセット検出部15は、この時刻オフセット値を欠落区間A5で発生した時刻オフセット値としてメタ情報生成部16に通知する(S175)。また欠落区間B5ではPCRリセットは発生しなかったとして、時刻オフセット値として「0」をメタ情報生成部16に通知する。
S173の判定において、区間C5と区間D5のバッファ内保持時間が閾値TH3より大きかった場合(S173:No)、欠落区間A5と欠落区間B5の両方でPCRリセットが発生していたことになる。この場合、区間C5の時刻オフセット値を求めることはできないので、メタ情報生成部16は、欠落区間A5と欠落区間B5の統合処理をする(S177)。
なお、PCRリセット検出方法として、図13の処理を実行するか、図14の処理を実行するかの選択は、リセット検出部15内部で、識別フラグを保持することで対応可能である。例えば、時刻オフセット値を算出できないまま、次の欠落区間の開始を検出したらフラグをONにする。また図14のS173においてフラグをOFFにする。PCRリセット検出処理を開始する際に、このようなフラグを参照して、フラグがONであれば、図14の処理、フラグがOFFであれば図13の処理を実行すればよい。
以上が、移動体受信端末3において、ストリームデータ記録機能を実現するストリームデータ記録装置5についての説明である。

<ストリームデータ再生装置>
次に、記録したストリームデータを再生する構成に注目して移動体受信端末3の詳細を説明する。
ストリームデータ再生機能は、移動体受信端末3が内蔵するストリームデータ再生装置6により実現される。図15は、本実施形態に係るストリームデータ再生装置6の内部構成を示す図である。
本図において記録媒体4には、ストリームデータ記録装置5によって記録されたストリームデータ及びメタ情報が保持されている。
図15に示すようにストリームデータ再生装置6は、内部に取得部21、デコード部22、出力部23、メタ情報解析部24、時刻カウンタ制御部25、時刻カウンタ部26、及び時刻カウンタ部27を備える。
取得部21は、ユーザからの指示に基づいて、記録媒体4からメタ情報とストリームデータを取得して、ストリームデータをデコード部22へ出力し、メタ情報をメタ情報解析部24へ出力する。
デコード部22は、取得部21からストリームデータを取得し、取得したストリームデータをデコード処理してビデオデータ、オーディオデータ、字幕データ等を生成する。そして時刻カウンタ部26、または時刻カウンタ部27の何れかを参照して、オーディオ、ビデオ等の各コンポーネントのPTSが参照先のSTC値に一致したタイミングで、それぞれのコンポーネントの復号データを出力部23へ出力する。STC値の参照先は、メタ情報解析部24から通知されたストリームデータ位置に再生処理が達した時に、時刻カウンタ部26と時刻カウンタ部27とを交互に切り替える。また、ストリームデータからPCR情報が取得された場合、デコード部22は、時刻カウンタ制御部25へPCR値を通知する。
出力部23は、デコード部22から取得した映像信号や音声信号を、ディスプレイやスピーカーなどへ出力する。
メタ情報解析部24は、取得部21から取得したメタ情報を解析して、STC値をリセットするために、時刻カウンタ制御部25に「時刻オフセット値」と「欠落終了時刻」とを通知する。さらにメタ情報解析部24は、メタ情報の「不連続点の位置情報」に基づいて、参照先の時刻カウンタを切り替えるストリームデータ位置をデコード部22へ通知する。
時刻カウンタ制御部25は、デコード部22から通知されたPCR値に基づいて、時刻カウンタ部26及び時刻カウンタ部27のうちデコード部22が参照している側を同期させる。時刻カウンタ制御部25はさらに、メタ情報解析部24から取得した時刻オフセット値を用いて、時刻カウンタ部26及び時刻カウンタ部27のうちデコード部22が参照していない側をリセットする。時刻オフセット値を用いた時刻カウンタのリセットは、デコード部22が参照している側の時刻カウンタのSTC値がメタ情報の「欠落終了時刻」に達したタイミングで実行される。
時刻カウンタ部26及び時刻カウンタ部27は、デコード部22で生成した映像信号や音声信号などを、タイミングを合わせて出力するためにデコード部22から参照される時計の役割を果たす。
以上がストリームデータ記録装置5の内部構成である。

<時刻カウンタの切換>
以下に、デコード部22がSTC値を参照する時刻カウンタの切り替えについて説明する。
図16は欠落区間にPCRリセットが発生していたストリームデータを再生するときの時刻カウンタ部26及び時刻カウンタ部27の変化の様子示す図である。グラフの横軸はストリームデータの再生開始時からの連続時間を示している。縦軸は時刻カウンタのカウンタ値を示している。斜線部141は欠落区間を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線142は時刻カウンタ部26のカウントアップの様子、破線143は時刻カウンタ部27のカウントアップの様子である。時刻オフセット値146は、時刻カウンタ部26と時刻カウンタ部27の差を示している。
グラフ下の時刻カウンタ部26および時刻カウンタ部27の矢印は、それぞれのカウンタ値が有効な値を取る範囲を示している。A6点は時刻カウンタ部27の値をリセットするタイミング、B6点はデコード部22が参照する時刻カウンタを時刻カウンタ部26から時刻カウンタ部27に切り替えるタイミングを示している。
欠落区間にPCRリセットが発生していた場合、欠落区間終了後に時刻カウンタは、リセットされたPCRに合わせて同期を取り直す必要がある。
ところで、ストリームデータの再生では、ストリームデータを記録媒体から読み出したタイミングで再生されるのではなく、読み出してからデコード処理して出力するまでの間には時間がかかる。そのため、欠落区間発生前に読み出したストリームデータの出力時刻が欠落区間終了後になる場合がある。このとき、欠落区間発生前に受信したストリームデータのPTSは、PCRリセットが発生する前のPCRに基づいて設定されているため、時刻カウンタを、欠落区間終了後すぐに、欠落区間内にリセットされたPCR値に同期させてしまうと、PTSと時刻カウンタの対応が取れなくなってしまう。そこで、時刻カウンタを2つ設けて、欠落区間が終了したタイミング(図16のA6点)で、時刻カウンタ部27を欠落区間中にリセットされたPCR値に同期させるが、デコード部22の参照先は、欠落区間発生前に受信したストリームデータが全て出力処理し終わってから、時刻カウンタ部27に切り替える(図16のB6点)。

<ストリームデータ再生方法>
次に、ストリームデータ再生装置6が記録媒体4からストリームデータを取得して再生する動作手順について説明する。図17は、本実施形態に係るストリームデータ再生装置6におけるストリームデータ再生処理の処理手順を示す図である。
まずユーザからの指示を受け、再生処理が開始されると、取得部21は記録媒体4からメタ情報を読み出しメタ情報解析部24へ出力する(S201)。メタ情報解析部24は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関するレコードを選択し(S202)、選択したレコードをデコード部22へ出力する(S203)。
デコード部22は、取得部21が記録媒体4から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取り(S204)、ファイル先頭からの位置情報とメタ情報解析部24から取得したメタ情報の「不連続点の位置情報」とを比較して、再生処理するストリームデータが前のデータと不連続になっているか判定する(S205)。
処理するストリームデータが前のデータと不連続ではなかった場合(S206:No)、デコード部22はデコード処理してビデオデータ、オーディオデータ、及び字幕データを生成する。その後、各コンポーネントのPTSが参照している時刻カウンタに一致したタイミングで、デコードしたコンポーネントのデータを出力部23に出力する(S215)。
処理するストリームデータが前のデータと不連続な場合(S206:Yes)、デコード部22はメタ情報の「時刻オフセット値」を参照する。参照した時刻オフセット値が「0」であれば(S207:Yes)、欠落区間にPCRリセットは発生しておらず時刻カウンタをリセットする必要がないため、そのままS215の処理を実行して、ストリームデータを再生出力する。
参照した時刻オフセット値が「0」であれば(S207:No)欠落区間にPCRリセットが発生しているため、時刻カウンタ値をリセットする処理が必要となる。そこでデコード部22は、処理するストリームデータが前のデータと不連続な位置に達したことを、メタ情報解析部24へ通知する。通知をうけたメタ情報解析部24は、S202で選択したレコードの「時刻オフセット時」を時刻カウンタ制御部25へ通知する(S208)。
メタ情報解析部24への不連続位置到達通知に続いて、デコード部22は現在参照している側の時刻カウンタ部のカウンタ値と、メタ情報の「欠落終了時刻」とを比較する(S209)。これらが一致していない場合(S210:No)、まだ不連続点以前のデータの処理タイミングであるため、S215の処理を実行して、不連続点以前のデータを再生出力する。
欠落終了時刻が時刻カウンタ部のカウンタ値に一致した場合(S210:Yes)、デコード部22は、時刻カウンタ部26及び時刻カウンタ部27のうち何れの側を参照しているかを、時刻カウンタ制御部25へ通知する。通知をうけた時刻カウンタ制御部25は、デコード部22が参照していない方の時刻カウンタに、もう一方の時刻カウンタのカウンタ値からS208で通知された「時刻オフセット値」を減算した値を設定する(S211)。
次にデコード部22はS212〜S214の処理を実行することで、参照する時刻カウンタ部を切り替える。この処理でまずデコード部22は、メタ情報の「不連続点の位置情報」以前のデータを全て出力処理したか判定する(S212)。この判定は例えば、再生対象のストリームデータが記録時にストリームデータ記録装置5の欠落検出部13によって不連続パケットを挿入されたものであれば、デコード処理して生成したデータを出力部23に出力するときに、不連続パケットまで処理したか否かを判定することで実現できる。また、記録時に不連続パケットが挿入されていないストリームデータを再生対象とする場合には、デコード部22が取得部21からストリームデータを取得したときに、不連続となるストリームデータ位置に不連続を示すデータを挿入しておくことで、デコード処理して生成したデータを出力部23に出力するときに、不連続を示すデータまで処理したか否かを判定することができる。
まだ不連続点以前のデータが残っている場合(S213:No)は、参照する時刻カウンタ部の切換は行わず、S215の処理を実行し、不連続点以前のデータを再生出力する。不連続点以前のデータを全て処理し終えている場合(S213:Yes)、デコード部22は参照する時刻カウンタ部を切り替える(S214)。そして、S215の処理を実行し、不連続点以降のデータを再生出力する。なお、この時刻カウンタ部の切り替え処理は、時刻カウンタ部26と時刻カウンタ部27を用いて交互に行う。
出力部23は、ユーザからの再生停止指示やファイル終端まで再生処理したか判定し(S216)、再生終了指示があった場合は再生処理を終える。再生終了指示がなかった場合は、再び次のデータを処理するためにS201に戻る。
以上がストリームデータ再生装置6の動作手順についての説明である。
上記実施形態によれば、受信電波が弱い状態でストリームデータを記録するときに、PCRとストリームデータ記録装置の時刻カウンタとのオフセット値を求めてメタ情報として保持しておき、この記録したストリームデータを再生するときに、ストリームデータ再生装置の時刻カウンタをオフセット値に基づいて補正することで、放送システムが意図したタイミングでストリームデータを再生することができる。

(第2実施形態)
本発明の第2実施形態について説明する。
<メタ情報>
第2実施形態に係るメタ情報について説明する。第1実施形態に係るメタ情報では欠落区間の開始終了をSTC値を用いて記録したが、第2実施形態に係るメタ情報では番組を構成するコンポーネントの何れかに着目して、そのコンポーネントに付されたPTSを用いて欠落区間の開始終了を記録する。ここで用いるコンポーネントは、ビデオ、オーディオ、字幕等の何れを用いても良い。本実施形態では、ビデオデータを対象とした場合のメタ情報を例として説明に用いる。図18は第2実施形態に係るメタ情報のデータ構造を示した図である。本実施形態に係るメタ情報は、ストリームデータ中に検出された欠落区間と同数のレコードからなり、各レコードは「欠落開始点のPTS」「欠落終了点のPTS」「不連続点の位置情報」及び「再生時間」から構成される。
「欠落開始点のPTS」は、欠落区間の発生前に受信したストリームデータのビデオフレームのPTSである。
「欠落終了点のPTS」は、欠落区間の終了後に受信したストリームデータのビデオフレームのPTSである。
「不連続点の位置情報」は、「欠落終了点のPTS」を含むTSパケットの位置である。データ位置情報としては、記録対象のTSパケットの先頭から付けた通し番号や、ファイル先頭からのオフセット値などを用いることができる。本実施形態では、ファイル先頭からのオフセット値を用いる。
「再生時間」は、欠落区間に含まれるストリームデータを仮に再生できた場合の再生時間である。「欠落終了点のPTS」から「欠落開始点のPTS」を減算した値がこれにあたる。

<ストリームデータ記録装置>
続いて、ストリームデータの記録処理において、図18にデータ構造を示したメタ情報を生成するストリームデータ記録装置7について説明する。
図19は、第2実施形態に係るストリームデータ記録装置7の内部構成を示す図である。ストリームデータ記録装置7は、図5に構成を示したストリームデータ記録装置5に再生時間算出部18を追加し、メタ情報生成部16をメタ情報生成部19に置換した構成である。
以下、ストリームデータ記録装置5と同様の構成については、同じ符号を付して説明を省略する。
再生時間算出部18は、リセット検出部15からリセット検出結果の通知を受けて、受信電波状況の悪化等により記録対象のストリームデータが欠落した区間に対応する、ストリームデータの再生時間を算出する機能ブロックである。再生時間算出部18は、算出した再生時間をメタ情報生成部19に通知する。
メタ情報生成部19は、欠落検出部13の検出結果、及び再生時間算出部18が算出した再生時間に基づいて、図18にデータ構造を示したメタ情報を生成する。
以上がストリームデータ記録装置7の内部構成についての説明である。

<ストリームデータ記録方法>
図20は、ストリームデータ記録装置7におけるストリームデータ記録処理の処理手順を示すフローチャートである。以下、図8に示したストリームデータ記録装置5の動作手順との相違点に着目して、図20を参照しながらストリームデータ記録装置7の動作手順について説明する。
図20に示す処理手順は、ユーザから録画指示を受けると実行される処理手順であり、大きく分けて以下の1〜4のステップに分けられる。

1.欠落区間の発生を検出し、欠落開始点のPTSを取得するステップ(S301〜S305)
2.欠落区間の終了を検出し、欠落終了点のPTS、不連続点の位置情報を取得するステップ(S306〜S309)
3.欠落区間内で発生していたPCRリセットを検出し、再生時間を算出するステップ(S310〜S314)
4.生成したメタ情報を記録するステップ(S315〜S316)

まず、記録するストリームデータの欠落区間の発生を検出するS301〜S305のステップについて説明する。S301〜S305の処理は、図8のS101〜S105の処理に相当するが、検出されたTSパケットの欠落が欠落区間の開始点である場合(S304:Yes)に実行する処理(S305)が図8のS105の処理と相違する。
S305の処理では、欠落検出部13はメタ情報生成部19に欠落区間開始を通知し、通知を受けたメタ情報生成部19は、欠落区間の発生前に出力したビデオフレームの出力時刻を取得して、メタ情報の「欠落開始点のPTS」情報として保持する(S305)。このよな処理は、例えば、パケット解析部12でビデオPESのヘッダを解析してPESヘッダに含まれるPTSを検出する度に、検出したPTSを欠落検出部13へ出力し、欠落検出部13は欠落区間の開始を検出した時に、最後に取得していたPTSをメタ情報生成部19へ通知することで、メタ情報生成部19が欠落区間の発生前に出力したビデオフレームの出力時刻を取得することができる。
次に、欠落区間の終了を検出し、欠落終了時刻、及び不連続点の位置情報を取得するS306〜S309のステップについて説明する。S306〜S309の処理は、図8のS106〜S109の処理に相当するが、検出されたTSパケットの欠落が欠落区間の終了点である場合(S307:Yes)に実行する処理(S308)が図8のS108の処理と相違する。
S308の処理では、欠落検出部13はメタ情報生成部19に欠落区間終了の通知をし、メタ情報生成部19は、欠落区間終了後に出力するビデオフレームの出力時刻を取得し、メタ情報の「欠落終了点のPTS」情報として保持する(S308)。このよな処理は、例えば、パケット解析部12がビデオPESのヘッダを解析してPESヘッダに含まれるPTSを検出する度に、検出したPTSを欠落検出部13へ出力し、欠落検出部13は欠落区間の終了を検出した後に、最初に取得したPTSをメタ情報生成部19へ通知することで、メタ情報生成部19が欠落区間の終了後に出力するビデオフレームの出力時刻を取得することができる。
次に、欠落区間内で発生していたPCRリセットを検出し、再生時間を算出するS310〜S314のステップについて説明する。S310〜S314の処理は、図8のS110〜S112の処理に相当するが、欠落区間中にPCRリセットが発生していた場合(S311:Yes)に実行する処理(S312〜S314)が図8の処理手順と相違する。
S312の処理では、リセット検出部15は時刻オフセット値を取得して、再生時間算出部18に通知する。時刻オフセット値が通知された再生時間算出部18では、メタ情報生成部19から「欠落開始点のPTS」および「欠落終了点のPTS」を取得し、時刻オフセット値、「欠落開始点のPTS」及び「欠落終了点のPTS」を用いて、欠落区間に含まれるビデオフレームに対応する再生時間を算出する。再生時間算出処理の詳細については後述する。続くS314の処理では、メタ情報生成部19は再生時間算出部18から再生時間を取得し、メタ情報の「再生時間」として保持する。
最後に生成したメタ情報をTS記録終了時に記録するS315、S316の処理は、図8のS113〜S114の処理と同様の処理である。
以上が、ストリームデータ記録装置7の動作手順についての説明である。

<再生時間算出方法>
次に、図20のS313における、欠落区間に含まれるストリームデータに対応する再生時間の算出方法を詳細に説明する。
図21は、欠落区間にPCRリセットが発生しなかった場合のストリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示す図である。横軸はストリームデータの受信開始時からの連続時間を示している。縦軸は時刻カウンタの値を示している。斜線部151は欠落区間を示している。直線152は時刻カウンタ部14のカウントアップの様子を示している。欠落区間開始PTS154は、欠落区間が発生する前に出力するビデオフレームの、出力タイミングでの時刻カウンタ部14の値である。欠落区間終了PTS155は、欠落区間が終了した後に、ビデオPESヘッダから取得したPTSの値である。
本図で示すように、欠落区間にPCRリセットが発生していなかった場合は、ストリームデータに含まれるPCRと時刻カウンタ部14は欠落区間終了後も同期している。このような条件では、欠落区間終了PTS155は時刻カウンタ部14が示すSTC値に基づいて処理されるように値が設定されているため、欠落区間に対応する再生時間は欠落区間終了PTS155と欠落区間開始PTS154の差分になる。
一方、図22は、欠落区間にPCRリセットが発生した場合のストリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示している。図22において横軸はストリームデータの受信開始時からの連続時間を示している。縦軸は時刻カウンタの値を示している。斜線部161は欠落区間を示している。黒丸はTSヘッダに含まれるPCRの時刻情報を示している。直線162および直線163は時刻カウンタ部14のカウントアップの様子を示している。破線164は欠落区間終了後から、最初にPCRを取得するまでの間にTSヘッダに含まれるPCRの連続値を示している。欠落区間開始PTS165は、欠落区間が発生する前に出力するビデオフレームの、出力タイミングの時刻カウンタ部14の値である。欠落区間終了PTS166は、欠落区間が終了した後に、ビデオPESヘッダから取得したPTSの値である。時刻オフセット値167は直線162と破線164の差分である。
本図に示すように、欠落区間にPCRリセットが発生していた場合、欠落区間終了後はPCRと時刻カウンタ部14は同期していない。欠落区間開始PTS165は欠落区間開始PTS165はPCRリセット前のPCRに基づいているため、時刻カウンタ部14と同期している。しかし、欠落区間終了PTS166はPCRリセット後のPCRに基づいている処理されるように値が設定されているため、時刻カウンタ部14と同期していない。そのため、欠落区間終了PTS166と欠落区間開始PTS165とは基準が異なるため、このままでは単に差をとるだけでは、欠落区間に対応する再生時間を得ることができない。
そこで、欠落区間終了PTS166を、時刻オフセット値167を使って、欠落区間開始PTS165と同じ基準に合わせる。補正終了PTS168は欠落区間終了PTS166に時刻オフセット値167を加算して、欠落区間開始PTS165と同じ基準に補正した欠落区間終了PTSである。補正終了PTS168と欠落区間開始PTS165は同じ基準に基づいているため、欠落区間に対応する再生時間は補正終了PTS168と欠落区間開始PTS165の差分により得ることができる。
以下に、上述の再生時間算出方法を実現する処理手順を説明する。図27は、再生時間算出部18が再生時間を算出する処理手順を示すフローチャートである。
まず再生時間算出部18はメタ情報生成部19から欠落終了点のPTSを取得する(S351)。また欠落区間にPCRリセットが発生していた場合は、再生時間算出部18はリセット検出部15で算出した時刻オフセット値を取得する(S352)。そして再生時間算出部18は欠落終了点のPTSに時刻オフセット値を加算して、欠落終了点のPTSを補正する(S353)。このときメタ情報の欠落終了点のPTS値は書き換えない。欠落区間にPCRリセットが発生していなかった場合(S352)、S353の処理は行わない。次に再生時間算出部18はメタ情報生成部19から欠落開始点のPTSを取得する(S354)。そして欠落終了点のPTSから欠落開始点のPTSを減算し、欠落区間に含まれるストリームデータに対応する再生時間を算出する(S355)。そして算出した再生時間をメタ情報生成部19に通知する(S314)。
以上が、欠落区間に含まれるストリームデータに対応する再生時間の算出方法の説明である。

<PTS補間処理>
次に、欠落開始点および欠落終了点のPTSを求める方法の変形例として、PESヘッダに含まれるPTS情報とフレームレートを用いて、オーディオフレーム及びビデオフレームのPTSを補間することで、欠落開始点および欠落終了点と精度よく一致するPTSを求める方法を説明する。
図24はオーディオPESヘッダに含まれるPTSとオーディオフレームとの関係を示した図である。
上段はオーディオPESを示している。「PTS含む」はPESヘッダにPTS情報を含んでいるPESを、「PTS含まない」はPESヘッダにPTS情報を含んでいないPESを示している。受信悪化区間は受信電波状況が悪化して正しくストリームデータを取得できなかった区間である。
下段はオーディオPESをデコードして生成されるオーディオフレームを示している。
図20のS305において、欠落開始PTSとして、PESヘッダに含まれるPTSを用いた場合、図24のA7点が欠落区間の開始点となる。そのため、A7点からB7点までのオーディオフレームは音声出力されない。そこで、欠落開始PTSとして、PESヘッダに含まれるPTSではなく、補間したB7点でのPTSを用いることで、再生できるストリームデータを増やすことができる。
B7点のPTS算出方法であるが、まずA7点からB7点に含まれるストリームデータをデコード処理してフレーム数を求める。そしてフレーム数とストリームデータで定義されているフレームレートから、A7点からB7点のフレームの再生時間を求め、それをA7点のPTSに足し合わせることで求めることができる。なお、ビットレートが固定の場合は、A7点からB7点のオーディオESのバイト長とビットレートから算出することも可能である。
また図20のS308において、欠落終了PTSとして、PESヘッダに含まれるPTSを用いた場合、図24のD7点が欠落区間の終了点となる。そのため、C7点からD7点のオーディオフレームは出力されない。そこで欠落開始PTSの場合と同様に、欠落終了PTSとして、PESヘッダに含まれるPTSではなく、補間したC7点でのPTSを用いることで、再生できるストリームデータを増やすことができる。
C7点のPTS算出方法であるが、B7点のPTS算出方法と同様に、C7点からD7点に含まれるフレーム数とフレームレートからC7点からD7点のフレームの再生時間を求め、それをD7点のPTSから引くことで求めることができる。
なお、ここではオーディオデータを用いて説明したが、ビデオデータについても同様であることは言うまでもない。
以上が、ストリームデータ記録装置7についての説明である。

<ストリームデータ再生装置>
続いて第2実施形態に係るメタ情報を用いてSTC値を補正して、ストリームデータを再生するストリームデータ再生装置8について説明する。図25は、第2実施形態に係るストリームデータ再生装置8の内部構成を示す図である。ストリームデータ再生装置8は、図15に構成を示したストリームデータ再生装置6から時刻カウンタ部27を取り除き、デコード部22、メタ情報解析部24及び時刻カウンタ制御部25を、それぞれデコード部28、メタ情報解析部29及び時刻カウンタ制御部30に置換した構成である。
以下、ストリームデータ再生装置6と同様の構成については、同じ符号を付して説明を省略する。
デコード部28は、デコード部22と同様に、取得部21から取得したストリームデータをデコードしてビデオデータ、オーディオデータ、字幕データ等のコンポーネントデータを生成し、時刻カウンタ部26のSTC値を参照して各コンポーネントに設定されたPTSがカウンタ値に一致したタイミングで、出力部23へ出力する。また、ストリームデータからPCR情報が取得された場合、デコード部28は、時刻カウンタ制御部25へPCR値を通知する。
デコード部28がデコード部22と相違するのは、またメタ情報の「不連続点の位置情報」を参照して、デコード処理するデータが前のデータと不連続であるかを判定し、不連続である場合は、メタ情報の「再生時間」で示される時間の間、直前に復号したフレームを出力しつづける点である。「再生時間」で示される時間が経過した後は、デコード部28は、欠落区間に相当する再生時間が終了したことを、時刻カウンタ制御部30に通知する。
尚、前のデータと不連続なデータまでデコード処理が達した場合の処理としては、直前に復号したフレームの静止画表表示に替えて、「再生時間」示される時間の間、画面を暗転表示したり、その他の色を画面に表示させてもよい。あるいは、前のデータと不連続なデータまでデコード処理が達した場合、即座に時刻カウンタ制御部30へ時刻カウンタ値をリセットするように通知することで、不連続なデータへ再生位置をジャンプさせてもよい。
メタ情報解析部29は、取得部21から取得したメタ情報を解析して、「不連続点の位置情報」と「再生時間」とをデコード部28へ通知する。さらにメタ情報解析部29は、STC値をリセットするために必要な「欠落終了点のPTS」を、時刻カウンタ制御部30へ通知する。
時刻カウンタ制御部30は、デコード部28から通知されたPCR値に時刻カウンタ部26を同期させる。さらに時刻カウンタ制御部30は、デコード部28から欠落区間に相当する再生時間の終了が通知された場合、メタ情報解析部29から通知された「欠落終了点のPTS」が示す時刻に時刻カウンタ部26を再設定する。
以上がストリームデータ再生装置8の内部構成についての説明である。

<ストリームデータ再生方法>
次に、ストリームデータ再生装置8が記録媒体4からストリームデータを取得して再生する動作手順について説明する。図26は、第2実施形態に係るストリームデータ再生装置8におけるストリームデータ再生処理の処理手順を示す図である。
まずユーザからの指示を受け、再生処理が開始されると、取得部21は記録媒体4からメタ情報を読み出しメタ情報解析部29へ出力する(S401)。メタ情報解析部29は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関するレコードを選択する(S402)。さらにメタ情報解析部29は、選択したレコードの「不連続点の位置情報」と「再生時間」とをデコード部28へ通知し、選択したレコードの「欠落終了点のPTS」を、時刻カウンタ制御部30へ通知する(S403)。
デコード部28は、取得部21が記録媒体4から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取り(S404)、ファイル先頭からの位置情報とメタ情報解析部29から取得したメタ情報の「不連続点の位置情報」とを比較して、再生処理するストリームデータが前のデータと不連続になっているか判定する(S405)。
処理するストリームデータが前のデータと不連続ではなかった場合(S406:No)、デコード部28はデコード処理してビデオデータ、オーディオデータ、及び字幕データを生成する。その後、各コンポーネントのPTSが時刻カウンタ部26のSTC値に一致したタイミングで、デコードしたコンポーネントのデータを出力部23に出力する(S413)。
処理するストリームデータが前のデータと不連続であった場合(S406)、デコード部28はメタ情報の「不連続点の位置情報」以前のデータを全て出力処理したか判定する(S407)。この判定は例えば、再生対象のストリームデータが記録時に不連続パケットを挿入されたものであれば、デコード処理して生成したデータを出力部23に出力するときに、不連続パケットまで処理したか否かを判定することで実現できる。また、記録時に不連続パケットが挿入されていないストリームデータを再生対象とする場合には、デコード部22が取得部21からストリームデータを取得したときに、不連続となるストリームデータ位置に不連続を示すデータを挿入しておくことで、デコード処理して生成したデータを出力部23に出力するときに、不連続を示すデータまで処理したか否かを判定することができる。
まだ不連続点以前のデータが残っている場合(S408:No)は、S413の処理を実行し、不連続点以前のデータを再生出力する。不連続点以前のデータを全て処理し終えている場合(S408:Yes)、デコード部28はメタ情報の「再生時間」が経過したか否かを判定する(S409)。この判定のためには、先ずデコード部28が不連続点以前の最後のデータを出力したときのSTC値を時刻カウンタ部26から取得し、メタ情報の「再生時間」を加算する。この加算結果の値と時刻カウンタ部26のカウンタ値が一致したか否かで再生時間の経過を判定することができる。
まだ再生時間が経過していない場合(S410:No)、再生時間が経過するまで、デコード部28は不連続点以降のデータの出力処理を行わず待機する。再生時間が経過した場合(S410:Yes)、デコード部28は欠落区間に相当する再生時間が終了したことを、時刻カウンタ制御部30に通知する(S411)。通知を受けた時刻カウンタ制御部30は、時刻カウンタ部26のカウント値を、S403でメタ情報解析部29から通知された「欠落終了点のPTS」の値にリセットする(S412)。その後、S413の処理を実行して、不連続点以降のデータを再生出力する。
出力部23は、ユーザからの再生停止指示やファイル終端まで再生処理したか判定し(S414)、再生終了指示があった場合(S414:Yes)は再生処理を終え、再生終了指示がなかった場合(S414:No)は、再び次のデータを処理するためにS401に戻る。
以上がストリームデータ再生装置8の動作手順についての説明である。
なお、本発明の第2実施形態では、メタ情報を生成するのにビデオデータを用いたが、オーディオデータを用いてもよい。
上記実施形態によれば、正常に受信できなかった区間のビデオデータまたはオーディオデータのどちらか一方の再生時間を予測してメタ情報として生成、保持しておくことで、受信電波が弱い状態で記録したストリームデータを再生するときに、放送システムが意図したタイミングで再生することができる。


(第3実施形態)
本発明の第3実施形態について説明する。
<メタ情報>
本発明の第2実施形態では、オーディオデータかビデオデータどちらか一方の時間情報を用いてメタ情報を生成したが、第3実施形態では、オーディオデータとビデオデータとの両方の時刻情報を用いてメタ情報を生成する。図27は、第3実施形態に係るメタ情報のデータ構造を示す図である。
本実施形態に係るメタ情報は、ストリームデータ中に検出された欠落区間ごとに、ビデオデータに対応するレコードとオーディオデータに対応するレコードを含むため、欠落区間の2倍の数のレコードからなる。奇数番目のレコードがビデオデータを対象にした場合のメタ情報であり、偶数番目のレコードがオーディオデータを対象にした場合のメタ情報である。
各レコードは「欠落開始点のPTS」「欠落終了点のPTS」「不連続点の位置情報」及び「再生時間」から構成される。
「欠落開始点のPTS」は、欠落区間の発生前に受信したストリームデータのオーディオフレームまたはビデオフレームのPTSである。
「欠落終了点のPTS」は、欠落区間の終了後に受信したストリームデータのオーディオフレームまたはビデオフレームのPTSである。
「不連続点の位置情報」は、「欠落終了点のPTS」を含むTSパケットの位置である。データ位置情報としては、記録対象のTSパケットの先頭から付けた番号や、ファイル先頭からのオフセット値などがある。本発明の第3実施形態では、ファイル先頭からのオフセット値を用いる。
「再生時間」は、欠落区間に含まれるストリームデータを仮に再生できた場合のオーディオフレームまたはビデオフレームの再生時間である。「欠落終了点のPTS」から「欠落開始点のPTS」を減算した値がこれにあたる。

<ストリームデータ記録方法>
次に、第3実施形態に係るストリームデータ記録処理について、図20を参照しながら、第2実施形態に係るストリームデータ記録処理との相違点を説明する。
先ず第1の相違点は、欠落区間の開始点が検出された場合に実行されるS305の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落開始点のPTSを取得する点である。
具体的には、S305の処理では、メタ情報生成部19は、欠落区間の発生前に出力したビデオフレームのPTSを取得し、メタ情報の奇数行目にビデオデータの「欠落開始点のPTS」情報として保持する。またメタ情報生成部19は、欠落区間の発生前に出力したオーディオフレームのPTSを取得し、メタ情報の偶数行目にオーディオデータの「欠落開始点のPTS」情報として保持する。
第2の相違点は、欠落区間の終了点が検出された場合に実行されるS308の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落終了点のPTSを取得する点である。
具体的には、S308の処理では、メタ情報生成部19は、欠落区間終了後に出力するビデオフレームのPTSを取得し、メタ情報の奇数行目にビデオデータの「欠落終了点のPTS」情報として保持する。またメタ情報生成部19は、欠落区間終了後に出力するオーディオフレームのPTSを取得し、メタ情報の偶数行目にオーディオデータの「欠落終了点のPTS」情報として保持する。
第3の相違点は、S309の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、記録位置情報を取得する点である。
具体的には、S309の処理では、メタ情報生成部19は、記録制御部17から、ビデオデータの「欠落終了点のPTS」情報を含むTSパケットの記録位置を取得し、メタ情報の奇数行目にビデオデータの「不連続点の位置情報」として保持する。またメタ情報生成部19は、記録制御部17から、オーディオデータの「欠落終了点のPTS」情報を含むTSパケットの記録位置を取得し、メタ情報の偶数行目にオーディオデータの「不連続点の位置情報」として保持する。
第4の相違点は、S313の処理において、ビデオフレーム及びオーディオフレームのそれぞれについて、欠落区間に含まれるデータに対応する再生時間を算出する点である。
具体的には、S313の処理では、再生時間算出部18はメタ情報生成部19の奇数行目からビデオデータの「欠落開始点のPTS」および「欠落終了点のPTS」を取得して、欠落区間に含まれるビデオデータに対応する再生時間を算出する。また再生時間算出部18はメタ情報生成部19の偶数行目からオーディオデータの「欠落開始点のPTS」および「欠落終了点のPTS」を取得して、欠落区間に含まれるオーディオデータに対応する再生時間を算出する。なお時刻オフセット値は、PCRと時刻カウンタ部14のSTC値との差分であり、ビデオデータ、オーディオデータで共通である。このため、再生時間はビデオデータ、オーディオデータともに同じロジックで算出できる。
以上が、第3実施形態に係るストリームデータ記録方法についての説明である。

<ストリームデータ再生装置>
続いて第3実施形態に係るメタ情報を用いてSTC値を補正して、ストリームデータを再生するストリームデータ再生装置9について説明する。図28は、第3実施形態に係るストリームデータ再生装置8の内部構成を示す図である。ストリームデータ再生装置9は、図25に構成を示したストリームデータ再生装置8に状態表示部33を追加し、デコード部28及び時刻カウンタ制御部30を、それぞれデコード部31及び時刻カウンタ制御部32に置換した構成である。
以下、ストリームデータ再生装置8と同様の構成については、同じ符号を付して説明を省略する。
デコード部31は、取得部21から取得したストリームデータをデコードしてビデオデータ、オーディオデータを生成する。そして時刻カウンタ部26を参照して、生成したオーディオデータまたはビデオデータを、それぞれのフレームレートに基づいた一定間隔ごとに出力部23へ出力する。
デコード部31はさらに、メタ情報の「不連続点の位置情報」を参照して、デコード処理するデータが前のデータと不連続であるかを判定し、不連続である場合は、メタ情報の「再生時間」で示される時間の間、出力部23への出力を停止する。
時刻カウンタ制御部32は、再生開始時にストリームデータのPCRに合わせて時刻カウンタ部26のカウンタ値をリセットする。再生中は時刻カウンタ部26のリセットは行わない。
状態表示部33は、メタ情報解析部29からメタ情報を取得して、記録されているストリームデータに欠落区間が有る事をユーザに提示する画面を生成し、出力部23を介してモニタへ出力する。具体的には、状態表示部33による表示処理は、例えば、図29の(a)に示すように、欠落区間を各区間の時間の長さに応じた割合で、ストリームデータ全体を示すバーオブジェクト上に配置して表示する。あるいは、図29の(b)に示すように、欠落区間の位置を、再生可能なストリームデータの長さを示すバーオブジェクトにおいて表示するとしてもよい。さらに他の例として、図29の(c)に示すように、記録対象であったストリームデータの放送時の時間と、実際に記録したストリームデータの再生可能な時間とをユーザに提示する構成としてもよい。状態表示部33はさらに、ユーザにジャンプ先の指定を要求する際に、図29の(d)に示すように、ジャンプ先として指定可能な区間及び不可能な区間を一つのバーオブジェクト上に示す画像を生成し、モニタへ出力する。
またストリームデータの再生動作中には、状態表示部33は再生状態を示す画像を生成し、モニタへ出力する。図30の(a)は再生状態を示す画像が表示された移動体受信端末3を模式的に示す図である。ストリームデータの再生中は、移動体受信端末3のモニタ10には、デコードされた再生画像が映像出力部分10aに表示され、状態表示部33により生成された再生状態を示す情報が状態表示部分10bに表示される。状態表示部分10bに表示される再生状態を示す情報には、再生位置表示バーオブジェクト10cと再生時間表示10dとがある。
以下に、再生状態を示す画像の表示方法を説明する。図30の(b)は再生状態を示す画像の表示方法の一例を示す図である。
再生位置表示バーオブジェクト10cは、ストリームデータ全体の長さを示すバーオブジェクトであり、欠落区間とが各区間の位置と長さに応じて配置されている。バーオブジェクト上で区分けされた各区間は、その区間で再生可能なコンポーネントの種類に応じて色分けして表示される。具体的には、ビデオ及びオーディオの両方が再生可能な区間10eは緑色に表示され、ビデオ及びオーディオの何れか一方のみの欠落区間を示す区間10fは橙色に、ビデオ及びオーディオの両方の欠落区間が重なっている区間10gは赤色に表示される。さらに再生位置表示バーオブジェクト10eは、再生が済んだ量に応じて左端から太枠を表示することで、現在の再生位置がどのような状態であるか把握することを容易にする。
再生時間表示10dは、現在再生の時刻とストリームデータ全体の再生時間とを並べて示す文字列である。再生時間表示10dの文字列は、現在の再生位置がビデオの欠落区間になり映像出力部分10aが暗転した時に表示される。尚、再生時間表示10dの表示色も、再生位置表示バーオブジェクト10cと同様に、再生されているコンポーネントの種類に応じて表示色を変更してもよい。
さらに、ビデオ及びオーディオの両方の欠落区間が重複した部分であり、メタ情報の「再生時間」が所定時間(例えば10秒)以上の欠落区間に再生位置が達した場合には、映像出力部分10aにポップアップ10cやアイコン等の警告画像を表示してもよい。このような警告がなされることで、ユーザは長時間にわたって再生が途切れることを認識することができ、ユーザはスキップ操作等の適切な対処が可能となる。
以上がストリームデータ再生装置9の内部構成についての説明である。

<ストリームデータ再生方法>
次に、ストリームデータ再生装置9が記録媒体4からストリームデータを取得して再生する動作手順について説明する。図31は、第3実施形態に係るストリームデータ再生装置9におけるストリームデータ再生処理の処理手順を示す図である。
まずユーザからの指示を受け、再生処理が開始されると、取得部21は記録媒体4からメタ情報を読み出しメタ情報解析部29へ出力する(S501)。メタ情報解析部29は、メタ情報に登録されているレコードのうち、「不連続点の位置情報」が現在のストリームデータ再生位置以降で最も近い欠落区間に関する奇数行目のビデオデータのレコードと、それに続く偶数行目のオーディオデータのレコードとを選択する(S502)。さらにメタ情報解析部29は、選択した2つのレコードの「不連続点の位置情報」と「再生時間」とをデコード部28へ通知し、選択した2つのレコードの「欠落終了点のPTS」を、時刻カウンタ制御部30へ通知する(S503)。デコード部31は、取得部21が記録媒体4から読み出した再生対象のストリームデータと、取得部分に関するファイル先頭からの位置情報とを受け取る(S504)。
以降、S505からS511の処理は、オーディオデータとビデオデータそれぞれに対して並行して実行する。
S505でデコード部31は、メタ情報の奇数行目のビデオデータの「不連続点の位置情報」を参照して、再生処理するビデオデータが前のデータと不連続になっているか判定する。またメタ情報の偶数行目のオーディオデータの「不連続点の位置情報」を参照して、再生処理するオーディオデータが前のデータと不連続になっているか判定する。
処理するビデオデータまたはオーディオデータが前のデータと不連続ではなかった場合(S506:No)、デコード部31はデコード処理してビデオデータまたはオーディオデータを生成する。デコード部31は、生成したオーディオデータまたはビデオデータを、時刻カウンタ部26を参照して、それぞれのフレームレートに基づいた一定間隔ごとに出力部23へ出力する(S511)。ただし、S511の処理では、再生開始時の最初のオーディイオフレームおよびビデオフレームのみ、それぞれのPTSが時刻カウンタ部26のカウンタ値に一致したタイミングで出力を開始する。それ以降のオーディオフレームおよびビデオフレームについては、それぞれのフレームレートに基づいた一定間隔ごとに出力する。
処理するビデオデータまたはオーディオデータが前のデータと不連続であった場合(S506:Yes)、デコード部31はメタ情報の奇数行目の「不連続点の位置情報」以前のビデオデータまたはメタ情報の偶数行目の「不連続点の位置情報」以前のオーディオデータを全て出力処理したか判定する(S507)。まだ不連続点以前のデータが残っている場合(S508:No)は、S511の処理を実行し、不連続点以前のデータを出力する。不連続点以前のビデオデータを全て処理し終えた場合(S508:Yes)、デコード部31はメタ情報の奇数行目のビデオデータの「再生時間」が経過したか否かを判定する(S509)。また不連続点以前のオーディオデータを全て処理し終えた場合(S508:Yes)、デコード部28はメタ情報の偶数行目のオーディオデータの「再生時間」が経過したか否かを判定する(S509)。まだ再生時間が経過していない場合(S510:No)、再生時間が経過するまで、デコード部は不連続点以降のデータの出力処理を行わず待機する。
再生時間が経過した場合(S510:Yes)、デコード部31はS413の処理を実行して、不連続点以降のデータを再生出力する。不連続点以降のストリームデータを再生出力する場合においては、メタ情報の「再生時間」が経過したらタイミングから再生出力を開始し、その後はフレームレートに基づいた一定間隔ごとに出力する。
以上がストリームデータ再生装置8の動作手順についての説明である。
上記実施形態によれば、正常に受信できなかった区間のビデオデータおよびオーディオデータ両方の再生時間を予測してメタ情報として生成、保持しておき、再生時には、ビデオデータとオーディオデータとの開始のタイミングのみPTSを用いて同期させ、以降のデータはフレームレートに基づいて出力しつつ、受信電波が弱い状態で記録したストリームデータを再生するときに、ビデオデータおよびオーディオデータそれぞれについて、メタ情報の再生時間の間、再生を待機させることで、欠落区間終了後も放送システムが意図したタイミングでビデオデータおよびオーディオデータを同期させて再生することができる。

(その他の変形例)
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明は、各実施形態で説明したフローチャートの処理手順が開示するストリームデータの記録方法、再生方法であるとしてもよい。また、前記処理手順でコンピュータを動作させるプログラムコードを含むコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、前記コンピュータプログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記コンピュータプログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(2)本発明は、上記第1実施形態乃至第3実施形態に記載のストリームデータ記録装置、及びストリームデータ再生装置を制御するLSIとしても実施可能である。このようなLSIは、図5、図15、図19、図25、及び図28において破線で囲んだ各機能ブロックを集積化することで実現できる。これらの機能ブロックは、個別に1チップ化されても良いし、一部または全てを含むように1チップ化されてもよい。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または、汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロック及び部材の集積化を行ってもよい。このような技術には、バイオ技術の適応等が可能性としてありえる。
(3)上記本発明の第1実施形態乃至第3実施形態では、主にディジタル放送信号で伝送されるストリームデータの記録、再生について論じたが、ネットワーク経由で受信したストリームデータに対しても同様の効果が得られるのは言うまでもない。
さらに本発明は、ディジタル放送信号から取得したストリームデータに限らず、既に記録媒体に記録されているストリームデータを解析の対象としてメタ情報を生成するストリームデータ編集装置としても実施形態可能である。このようなストリームデータ編集装置は、具体的には、図5及び図19に示す構成で、記録媒体4に既に記録媒体に記録されているストリームデータを、取得部11により読み出し、読み出したストリームデータを処理の対象とすることで実現される。このように装置では、放送波から取得したストリームデータを一旦記録媒体に記録した後、装置のアイドル時などにストリームデータを読み出してメタ情報を生成することが可能となり、ストリームデータ記録時の処理負荷を軽減させるという観点で有益である。
(4)第1実施形態乃至第3実施形態では、メタ情報をストリームデータと同じ記録媒体に記録するとしたが、本発明に係るメタ情報とストリームデータとは、対応付けがなされていれば、それぞれ別の記録媒体に記録してもよい。例えば、ストリームデータのデータサイズが記録媒体の容量よりも大きい場合には、ストリームデータを複数の記録媒体に分割して記録し、それぞれの記録媒体に記録されているストリームデータの各部分における欠落区間のメタ情報を何れか一つの記録媒体にまとめて記録し、ストリームデータの各部分とメタ情報とに共通のIDを付しておくことで本発明を適用できる。
(5)上記実施形態、及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明に係るストリームデータ記録装置は、ストリームデータの記録時に、受信電波状況が悪化したためストリームデータに含まれるPCRが不明な区間に対して、STC値を補正する為の時刻オフセット情報を生成し、本発明に係るストリームデータ再生装置は、再生時にこの時刻オフセット情報を用いて時刻カウンタを補正することで放送システムが意図したタイミングでストリームデータを再生することができる。本発明は、ストリームデータの記録中に受信電波状況が悪化発生した場合にも、上述のような有効な対処ができるため、移動体受信端末でのディジタル放送受信などに有用である。
放送されたストリームデータを正しく受信できず一部に欠落が発生した場合のSTC値の時間変化を示す図 本発明に係るストリームデータ記録装置及びストリームデータ再生装置の、使用行為についての形態を示す図 TSのデータ構造の一例を示す図 TSパケットのペイロード部分に含まれるビデオデータやオーディオデータのデータ構造の一例を示す図 本実施形態に係るストリームデータ記録装置の内部構成を示す図 第1実施形態に係るメタ情報のデータ構造を示した図 欠落区間が発生した場合に記録されるTSパケットを示す図 ストリームデータ記録装置5におけるストリームデータ記録処理の処理手順を示すフローチャート 欠落区間にPCRリセットが発生しなかった場合のSTC値PCRとの関係を示す図 時刻オフセット値を用いてPCRリセットを検出する処理のフローチャート 欠落区間が複数回発生した場合のSTC値とPCRとの関係を示す図 TSとビデオフレームの関係を示した図 バッファ内保持時間を用いてPCRリセットを検出する処理のフローチャート PCRリセットが発生したが、時刻オフセット値を算出できなかった欠落区間の後に発生した欠落区間に対して、PCRリセットを検出する方法を示したフローチャート 本実施形態に係るストリームデータ再生装置6の内部構成を示す図 欠落区間にPCRリセットが発生していたストリームデータを再生するときの時刻カウンタ部26及び時刻カウンタ部27の変化の様子示す図 本実施形態に係るストリームデータ再生装置6におけるストリームデータ再生処理の処理手順を示す図 第2実施形態に係るメタ情報のデータ構造を示した図 第2実施形態に係るストリームデータ記録装置7の内部構成を示す図 ストリームデータ記録装置7におけるストリームデータ記録処理の処理手順を示すフローチャート 欠落区間にPCRリセットが発生しなかった場合のストリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示す図 トリームデータに含まれるPTSおよび時刻カウンタの変化の様子を示した図 再生時間算出部18が再生時間を算出する処理手順を示すフローチャート オーディオPESヘッダに含まれるPTSとオーディオフレームとの関係を示す図 第2実施形態におけるストリームデータ再生装置8の内部構成を示す図 第2実施形態に係るストリームデータ再生装置6におけるストリームデータ再生処理の処理手順を示す図 第3実施形態に係るメタ情報のデータ構造を示した図 第3実施形態に係るストリームデータ再生装置8の内部構成を示す図 (a)記録したストリームデータに再生不可区間が有る事をユーザに提示する画面表示例、(b)再生不可区間が有る事をユーザに提示する他の画面表示例、(c)予約時の総再生時間と記録したストリームデータの再生可能な時間とをユーザに提示する画面表示例、(d)ジャンプ先の指定を要求する際にジャンプ先として指定可能な区間及び不可能な区間を提示する表示例 (a)再生状態を示す画像が表示されたストリームデータ再生装置203を模式的に示す図、(b)再生状態を示す画像の表示方法の一例を示す図 第3実施形態に係るストリームデータ再生装置9におけるストリームデータ再生処理の処理手順を示す図
符号の説明
1 放送システム
2 送信アンテナ
3 移動体受信端末
4 記録媒体
5 ストリームデータ記録装置
6 ストリームデータ再生装置
7 ストリームデータ記録装置
8 ストリームデータ再生装置
9 ストリームデータ再生装置
10 モニタ
10a 映像出力部分
10b 状態表示部分
10c ポップアップ
10c 再生位置表示バーオブジェクト
10d 再生時間表示
10e 区間
10e 再生位置表示バーオブジェクト
10f 区間
10g 区間
11 取得部
12 パケット解析部
13 欠落検出部
14 時刻カウンタ部
15 リセット検出部
16 メタ情報生成部
17 記録制御部
18 再生時間算出部
19 メタ情報生成部
21 取得部
22 デコード部
23 出力部
24 メタ情報解析部
25 時刻カウンタ制御部
26 時刻カウンタ部
27 時刻カウンタ部
28 デコード部
29 メタ情報解析部
30 時刻カウンタ制御部
31 デコード部
32 時刻カウンタ制御部
33 状態表示部

Claims (20)

  1. 時刻参照情報を含むストリームデータを記録するストリームデータ記録装置であって、
    ストリームデータを取得する取得手段と、
    時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
    前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出手段と、
    ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタ手段の時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成手段と、
    前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録手段と
    を備えることを特徴とするストリームデータ記録装置。
  2. 前記欠落区間中に、時刻カウンタ手段を不連続な時刻に同期させる時刻参照情報が存在したか否かを判定する判定手段をさらに備え、
    前記生成手段は、前記判定手段による判定が肯定的である場合に、前記位置情報及び前記時刻補正情報を生成する
    ことを特徴とする請求項1に記載のストリームデータ記録装置。
  3. 前記判定手段は、欠落区間終了後に取得された時刻参照情報が時刻カウンタ手段の示す時刻より小さい場合に、肯定的な判定をなす
    ことを特徴とする請求項2に記載のストリームデータ記録装置。
  4. 前記判定手段は、欠落区間が終了した後に取得されたストリームデータ中のフレームに定義されている提示時刻と、時刻カウンタ手段の示す時刻との差が所定の滞留時間を超える場合に、肯定的な判定をなす
    ことを特徴とする請求項2に記載のストリームデータ記録装置。
  5. 前記判定手段は、
    第1欠落区間が終了した後に取得されたストリームデータ中のフレームに定義されている提示時刻と時刻カウンタ手段の示す時刻との差である第1保持時間を算出し、
    前記第1欠落区間よりも後に検出された第2欠落区間が終了した後に取得されたストリームデータ中のフレームに定義されている提示時刻と時刻カウンタ手段の示す時刻との差である第2保持時間を算出し、
    第1保持時間と第2保持時間とを比較して、これらの差が所定の閾値以下である場合に、前記第1欠落区間中には時刻カウンタ手段を不連続な時刻に同期させる時刻参照情報が存在し、前記第2欠落区間中には時刻カウンタ手段を不連続な時刻に同期させる時刻参照情報が存在しないと判定する
    ことを特徴とする請求項2に記載のストリームデータ記録装置。
  6. 時刻補正情報は、
    前記欠落区間が終了したときに時刻カウンタ手段が示す時刻である終了時刻情報と、
    欠落区間終了後に取得された時刻参照情報とそのときに時刻カウンタ手段が示す時刻との差である時刻オフセット情報とからなる
    ことを特徴とする請求項2に記載のストリームデータ記録装置。
  7. 前記生成手段は、
    時刻オフセット情報の算出に、欠落区間終了後に最初に取得された時刻参照情報を用いる
    ことを特徴とする請求項6に記載のストリームデータ記録装置。
  8. 時刻補正情報は、
    前記欠落区間において欠落したストリームデータに対応する再生時間と、
    前記欠落区間終了後に取得されるストリームデータに含まれるビデオ、オーディオ、字幕のうち少なくとも1のフレームに定義されている提示時刻とからなる
    ことを特徴とする請求項2に記載のストリームデータ記録装置。
  9. 時刻補正情報に用いる提示時刻は、欠落区間終了後に最初に取得されるものである
    ことを特徴とする請求項8に記載のストリームデータ記録装置。
  10. 前記取得手段は、放送波を受信して得られた受信信号からストリームデータを取得し、
    前記検出手段は、前記放送波の受信レベルが所定レベル以下に低下した場合に、前記欠落区間が開始したことを検出し、
    前記放送波の受信レベルが所定レベル以上に上昇した場合に、前記欠落区間が終了したことを検出する
    ことを特徴とする請求項1に記載のストリームデータ記録装置。
  11. 前記検出手段は、ストリームデータを構成するパケットに含まれる情報のデータサイズの解析により不正なデータサイズが検出された場合、又は前記パケットに含まれる情報の値の解析により不正値が検出された場合に、前記ストリームデータの欠落を検出する
    ことを特徴とする請求項1に記載のストリームデータ記録装置。
  12. 前記検出手段は、所定周期毎にストリームデータに含まれるよう定義されている情報が、前記所定周期を越えてストリームデータから検出できない場合に、前記ストリームデータの欠落を検出する
    ことを特徴とする請求項1に記載のストリームデータ記録装置。
  13. 前記取得手段は、記録媒体に記録されたストリームデータを読み出すことにより、ストリームデータを取得する
    ことを特徴とする請求項1に記載のストリームデータ記録装置。
  14. 時刻参照情報を含むストリームデータを記録媒体から読み出して再生するストリームデータ再生装置であって、
    ストリームデータを読み出す読み出し手段と、
    時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
    前記ストリームデータと、当該ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に前記時刻カウンタ手段の時刻を補正する時刻補正情報とが記録された記録媒体から、前記位置情報及び前記時刻補正情報を取得する情報取得手段と、
    前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定手段と、
    時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生制御手段と
    を備えることを特徴とするストリームデータ再生装置。
  15. 時刻補正情報は、
    前記ストリームデータを記録した際に、前記欠落区間が終了したときに時刻カウンタ手段が示していた時刻である終了時刻情報と、
    前記ストリームデータを記録した際に、欠落区間終了後に取得された時刻参照情報とそのときに時刻カウンタ手段が示していた時刻との差である時刻オフセット情報とからなり、
    前記時刻カウンタ手段は、それぞれ個別に時刻を刻む第1時刻カウンタと第2時刻カウンタとを含み、
    前記再設定手段は、前記位置情報により特定される位置までストリームデータが読み出されたときに、第1時刻カウンタ及び第2時刻カウンタのうち再生制御手段がフレームの再生に用いていない側を、前記終了時刻情報と前記時刻オフセット情報とを合計した時刻に設定し、
    前記再生制御手段は、前記位置情報により示される位置に再生位置が達したときに、フレームの再生に用いる時刻カウンタを、第1時刻カウンタ及び第2時刻カウンタの一方から他方へ切り替える
    ことを特徴とする請求項14に記載のストリームデータ再生装置。
  16. 時刻補正情報は、
    前記欠落区間において欠落したストリームデータに対応する再生時間を示す欠落時間情報と、
    ストリームデータにおいて前記欠落区間の後に含まれるビデオ、オーディオ、字幕のうち少なくとも1のフレームに定義されている提示時刻とからなり、
    前記再生制御手段は、ストリームデータの再生が前記位置情報により特定される位置に達した場合に、前記欠落時間情報により示される再生時間の間、ストリームデータの再生を停止し、当該停止状態で前記再生時間が経過した後に、前記提示時刻が定義されているフレームから再生を再開する
    前記再設定手段は、前記再生時間が停止状態となってから前記再生時間が経過した後に、前記時刻カウンタ手段の時刻を前記提示時刻が示す時刻に設定する
    ことを特徴とする請求項14に記載のストリームデータ再生装置。
  17. 時刻参照情報を含むストリームデータを記録するストリームデータ記録装置の集積回路であって、
    ストリームデータを取得する取得手段と、
    時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
    前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出手段と、
    ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタ手段の時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成手段と、
    前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録手段と
    を備えることを特徴とする集積回路。
  18. 記録媒体から読み出されたストリームデータを再生する集積回路であって、
    ストリームデータに含まれる時刻参照情報に同期して時刻を刻む時刻カウンタ手段と、
    前記ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に前記時刻カウンタ手段の時刻を補正する時刻補正情報とを取得する情報取得手段と、
    前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定手段と、
    時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生制御手段と
    を備えることを特徴とする集積回路。
  19. 時刻参照情報に同期して時刻を刻む時刻カウンタを有する記録装置において、時刻参照情報を含むストリームデータを記録媒体へ記録するストリームデータ記録方法であって、
    ストリームデータを取得する取得ステップと、
    前記取得されたストリームデータにおいて、一部のパケットが欠落した欠落区間を検出する検出ステップと、
    ストリームデータにおいて前記欠落区間が終了した位置を特定する位置情報と、前記欠落区間が終了したときの時刻カウンタの時刻を、前記欠落区間に含まれていた時刻参照情報に同期した場合の状態に補正するための時刻補正情報とを生成する生成ステップと、
    前記生成された位置情報及び時刻補正情報を、前記取得されたストリームデータに対応付けて記録する記録ステップと
    を含むことを特徴とするストリームデータ記録方法。
  20. 時刻参照情報を含むストリームデータを記録媒体から読み出して再生するストリームデータ再生方法であって、
    ストリームデータを読み出す読み出しステップと、
    前記ストリームデータの記録時に一部のデータが欠落した欠落区間のストリームデータにおける位置を特定する位置情報と、記録対象であったストリームデータにおいて前記欠落区間中に含まれていた時刻参照情報に同期した場合の状態に、前記再生装置が有する時刻カウンタを補正する時刻補正情報とを、前記記録媒体から取得する情報取得ステップと、
    前記位置情報により示される位置を再生する場合に、前記時刻補正情報に基づいて前記時刻カウンタ手段の時刻を再設定する再設定ステップと、
    時刻カウンタ手段の示す時刻に基づいて、前記ストリームデータ中のフレームを既定の提示時刻に再生する再生ステップと
    を含むことを特徴とするストリームデータ再生方法。
JP2007528197A 2005-04-20 2006-04-20 ストリームデータ記録装置、ストリームデータ再生装置、集積回路、ストリームデータ記録方法、及びストリームデータ再生方法 Expired - Fee Related JP5096917B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007528197A JP5096917B2 (ja) 2005-04-20 2006-04-20 ストリームデータ記録装置、ストリームデータ再生装置、集積回路、ストリームデータ記録方法、及びストリームデータ再生方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005122644 2005-04-20
JP2005122644 2005-04-20
JP2007528197A JP5096917B2 (ja) 2005-04-20 2006-04-20 ストリームデータ記録装置、ストリームデータ再生装置、集積回路、ストリームデータ記録方法、及びストリームデータ再生方法
PCT/JP2006/308354 WO2006112508A1 (ja) 2005-04-20 2006-04-20 ストリームデータ記録装置、ストリームデータ編集装置、ストリームデータ再生装置、ストリームデータ記録方法、及びストリームデータ再生方法

Publications (2)

Publication Number Publication Date
JPWO2006112508A1 true JPWO2006112508A1 (ja) 2008-12-11
JP5096917B2 JP5096917B2 (ja) 2012-12-12

Family

ID=37115216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007528197A Expired - Fee Related JP5096917B2 (ja) 2005-04-20 2006-04-20 ストリームデータ記録装置、ストリームデータ再生装置、集積回路、ストリームデータ記録方法、及びストリームデータ再生方法

Country Status (5)

Country Link
US (2) US7885366B2 (ja)
EP (1) EP1879387A4 (ja)
JP (1) JP5096917B2 (ja)
CN (1) CN101164335B (ja)
WO (1) WO2006112508A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL369057A1 (pl) * 2004-07-12 2006-01-23 Advanced Digital Broadcast Ltd. Urządzenie do odbioru sygnału i sposób obsługi zaniku sygnału podczas nagrywania sygnału analogowego lub cyfrowego
WO2007119335A1 (ja) * 2006-03-17 2007-10-25 Pioneer Corporation デジタル画像データ処理装置及び処理方法
JP4682159B2 (ja) * 2007-01-26 2011-05-11 富士通東芝モバイルコミュニケーションズ株式会社 ストリーム再生装置
JP5057820B2 (ja) * 2007-03-29 2012-10-24 株式会社東芝 デジタルストリームの記録方法、再生方法、記録装置、および再生装置
JP2008271253A (ja) * 2007-04-20 2008-11-06 Toshiba Corp ストリーム再生装置
US8179979B2 (en) * 2007-05-01 2012-05-15 Intel Corporation Detection and compensation of discontinuities in data stream
JP2008312008A (ja) * 2007-06-15 2008-12-25 Toshiba Corp オーディオストリーム処理方法および再生装置と出力装置
EP2195952B1 (en) * 2007-09-19 2011-03-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for storing and reading a file having a media data container and a metadata container
US8331459B2 (en) * 2007-09-26 2012-12-11 Intel Corporation Method and apparatus for smooth digital media playback
JP5031503B2 (ja) * 2007-09-29 2012-09-19 Kddi株式会社 放送パケットを再送信する再送信装置、設備システム、プログラム及び方法
JP5137857B2 (ja) * 2009-01-09 2013-02-06 株式会社日立国際電気 移動受信端末および中継装置
JP2010268340A (ja) * 2009-05-18 2010-11-25 Panasonic Corp 録画装置及びダビング装置
ATE540529T1 (de) * 2009-11-03 2012-01-15 Tektronix Int Sales Gmbh Verfahren und vorrichtung zum messen der verzögerung innerhalb eines komprimierten digitalen stroms
JP5489675B2 (ja) * 2009-11-27 2014-05-14 三菱電機株式会社 映像情報再生方法及びシステム、並びに映像情報コンテンツ
US8437619B2 (en) * 2010-12-20 2013-05-07 General Instrument Corporation Method of processing a sequence of coded video frames
GB201103698D0 (en) * 2011-03-03 2011-04-20 Advanced Risc Mach Ltd Graphics processing
GB201103699D0 (en) 2011-03-03 2011-04-20 Advanced Risc Mach Ltd Graphic processing
US8438595B1 (en) 2011-11-04 2013-05-07 General Instrument Corporation Method and apparatus for temporal correlation of content-specific metadata with content obtained from disparate sources
JP6232870B2 (ja) * 2013-09-11 2017-11-22 株式会社リコー 無線通信システム、無線通信方法、プログラム、及び記録媒体
CN110300033B (zh) * 2018-03-22 2023-09-26 华为技术有限公司 一种丢包信息记录方法、网络设备及网络系统
CN113141521B (zh) * 2020-01-17 2022-08-23 北京达佳互联信息技术有限公司 一种音视频数据编码方法、装置、电子设备及存储介质
US11843792B2 (en) * 2020-11-12 2023-12-12 Istreamplanet Co., Llc Dynamic decoder configuration for live transcoding

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226291B1 (en) * 1996-11-01 2001-05-01 Texas Instruments Incorporated Transport stream packet parser system
US6026506A (en) * 1997-09-26 2000-02-15 International Business Machines Corporation Concealing errors in transport stream data
US8306170B2 (en) * 1998-03-31 2012-11-06 International Business Machines Corporation Digital audio/video clock recovery algorithm
GB0007868D0 (en) * 2000-03-31 2000-05-17 Koninkl Philips Electronics Nv Methods and apparatus for editing digital video recordings and recordings made by such methods
EP1148503A1 (en) * 2000-04-08 2001-10-24 Deutsche Thomson-Brandt Gmbh Method and apparatus for recording on a storage medium or replaying from a storage medium data packets of a transport stream
JP3547365B2 (ja) 2000-04-25 2004-07-28 シャープ株式会社 デジタル放送受信機
JP3917346B2 (ja) 2000-05-12 2007-05-23 株式会社東芝 画像復号装置及び画像復号方法
US20030066094A1 (en) * 2001-09-29 2003-04-03 Koninklijke Philips Electronics N.V. Robust method for recovering a program time base in MPEG-2 transport streams and achieving audio/video sychronization
JP2003125378A (ja) 2001-10-15 2003-04-25 Matsushita Electric Ind Co Ltd 受信記録装置、受信障害修復システム
US7006152B2 (en) * 2002-03-01 2006-02-28 Broadcom Corporation System and method for providing picture-in-picture timebase management
US20040055013A1 (en) * 2002-07-04 2004-03-18 Toshiyuki Ishioka Broadcast receive/play system and broadcast reception apparatus
US7953194B2 (en) * 2002-09-27 2011-05-31 Broadcom Corporation Handling video transition errors in video on demand streams
JP3896949B2 (ja) * 2002-11-08 2007-03-22 日本電気株式会社 ビデオ編集装置及びビデオ編集プログラム

Also Published As

Publication number Publication date
EP1879387A4 (en) 2013-03-06
US7885366B2 (en) 2011-02-08
CN101164335A (zh) 2008-04-16
US8014484B2 (en) 2011-09-06
US20110090999A1 (en) 2011-04-21
WO2006112508A1 (ja) 2006-10-26
JP5096917B2 (ja) 2012-12-12
CN101164335B (zh) 2010-05-19
US20100208856A1 (en) 2010-08-19
EP1879387A1 (en) 2008-01-16

Similar Documents

Publication Publication Date Title
JP5096917B2 (ja) ストリームデータ記録装置、ストリームデータ再生装置、集積回路、ストリームデータ記録方法、及びストリームデータ再生方法
JP4891898B2 (ja) ストリームデータ記録装置、ストリームデータ記録再生装置、ストリームデータ再生装置、ストリームデータ編集装置、ストリーム記録方法、及びストリーム再生方法
US8879896B2 (en) Method and apparatus to facilitate the efficient implementation of trick modes in a personal video recording system
US20120155833A1 (en) Method of Processing a Sequence of Coded Video Frames
US7567746B2 (en) Data processing device
EP1472880B1 (en) Error correction of stream data
US20090046994A1 (en) Digital television broadcast recording and reproduction apparatus and reproduction method thereof
JP4259500B2 (ja) 映像音声記録装置
US8213778B2 (en) Recording device, reproducing device, recording medium, recording method, and LSI
US20100182339A1 (en) Data processing apparatus and method
JP4791422B2 (ja) コマーシャル判別装置、方法及びプログラム
KR101086434B1 (ko) 비디오 데이터 디스플레이 방법 및 장치
JP2004120476A (ja) 記録再生機能付き放送受信装置
JP2009171277A (ja) 情報データストリームの記録装置、及び方法
JP2003242717A (ja) 記録再生装置
JP2008060654A (ja) 放送番組記録再生装置
JP5120479B2 (ja) データ信号記録装置およびデータ信号再生装置
US20100195731A1 (en) Moving image reproduction device and moving image reproduction method
US20070065115A1 (en) Data recording and recomposing method and data recording and recomposing device
JP2007184093A (ja) データ信号記録再生装置およびデータ信号記録再生方法
JP2009158090A (ja) データ信号記録装置およびデータ信号再生装置
JP2006094164A (ja) 記録装置、プログラム、及び記録媒体
JP2001268515A (ja) ディジタル信号処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120828

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120921

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees