説明

ストリーム記録装置

【課題】タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録する。
【解決手段】プログラム時刻基準参照値または表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケットを含むトランスポート・ストリームを受信する受信部と;プログラム時刻基準参照値に基づいてシステム・タイム・クロックをカウントするカウンタと;表示時刻タイム・スタンプ及び表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケット受信時のシステム・タイム・クロックが、同一のタイムベース上にあれば表示時刻タイム・スタンプの再生時刻を算出し、同一のタイムベース上になければ表示時刻タイム・スタンプの再生時刻の算出を省略する算出部と;算出部が再生時刻を算出すると、再生時刻が表示時刻タイム・スタンプと対応付けて記録される記録部と;を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トランスポート・ストリームを記録する装置に関する。
【背景技術】
【0002】
第3世代を基本とする携帯電話で受信する地上波デジタル放送(ワンセグ)では、画像データはH.264/AVCで符号化され、音声データはMPEG−2 AACで符号化される。これら符号化された映像データ及び音声データは、エレメンタリ・ストリーム(以下単にESと称する。)と呼ばれ、パケット化エレメンタリ・ストリーム(PES;packetized elementary stream)パケット(以下単にPESパケットと称する。)としてMPEG−2 SYSTEMS中のトランスポート・ストリームに多重化されて伝送されている。トランスポート・ストリームには、トランスポート・ストリーム・パケット(以下単にTSパケットと称する)が配列されている。TSパケット中には、ビデオ情報及びオーディオ情報を構成するビット・ストリームの種類(属性)を示す属性情報、ビット・ストリーム、及びメディア間の同期をとるためのプログラム時刻基準参照値(以下単にPCRと称する)と称される基準クロック情報などが格納させることができ、TSパケットによって無線または有線を介して伝送される。受信側ではTSパケットが記録されると共に、PCRを有するTSパケットを受信すると、送信側に対して受信側でのクロック同期を取るためのシステム・タイム・クロック(以下単にSTCと称する)をカウントするSTCカウンタにPCRが設定される。受信側では、STCカウンタによってカウントされたSTCと、PESパケットに含まれる表示時刻タイム・スタンプ(PTS)が一致すると、PESパケット中のESが同期再生される。
【0003】
より正確に送信側と受信側のクロック同期を取るために、例えば特許文献1では受信側において削除パケットが発生した場合に制御パケットが生成され、この制御パケット中にパケットの削除区間及び削除パケット数が記録される方式が提案されている。この特許文献1の提案によれば、制御パケットを利用することによって送信時のストリーミング信号と再生した符号化プログラムを同一の状態とすることができるとしている。
【0004】
PTS及び再生時刻といった補助情報を補助ファイルとして記録する手法が近年提案され、この補助情報を補助ファイルとして記録する記録フォーマットとして、SD−VIDEO for ISDB−Tなどが知られている。SD−VIDEO for ISDB−Tでは、起点PTSからの増分により各PTSに対応する再生時刻を算出し、補助ファイルに記録している。
【特許文献1】特開2001−359049号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
トランスポート・ストリームにおいては、タイムベースが切替られることがあり、このタイムベース切替によって、PTSが大きくずれることがある。このタイムベースの切替タイミングでは、タイムベース切替前の起点PTSを利用して再生時刻を算出しても、本来の再生時刻とはかけ離れた不連続な値となる問題がある。特に、スキップ(Skip)再生などの特殊再生がタイムベースの切替前後に亘って実行される場合には、この特殊再生を正常に実施できない問題がある。即ち、タイムベースの切替に伴って、記録ストリームの再生時間が極端に本来の再生時間と異なるような値が提示される虞がある。
【0006】
従って、タイムベース切替前の起点PTSに基づいて再生時刻が算出され、補助ファイルに記録することはTSパケットの再生タイミング管理において必ずしも有効でない問題がある。
【0007】
本発明は、タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録することが可能なストリーム記録装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係るストリーム記録装置は、プログラム時刻基準参照値または表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケットを含むトランスポート・ストリームを受信する受信部と;前記トランスポート・ストリームが記録される第1の記録部と;前記プログラム時刻基準参照値または表示時刻タイム・スタンプを解析する解析部と;前記プログラム時刻基準参照値に基づいてシステム・タイム・クロックをカウントするカウンタと;前記表示時刻タイム・スタンプ及び当該表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケット受信時のシステム・タイム・クロックが、同一のタイムベース上にあれば当該表示時刻タイム・スタンプの再生時刻を算出し、同一のタイムベース上になければ当該表示時刻タイム・スタンプの再生時刻の算出を省略する算出部と;前記算出部が前記再生時刻を算出すると、当該再生時刻が前記表示時刻タイム・スタンプと対応付けて記録される第2の記録部と;を具備する。
【発明の効果】
【0009】
本発明によれば、STCとPTSが同一のタイムベース上に有る場合にのみ再生時刻が算出され、PTSと共に補助ファイルに登録することにより、タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録することが可能なストリーム記録装置を提供できる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照して、本発明の一実施形態に係るストリーム記録装置について詳細に説明する。
図1は、本発明の一実施形態に係るストリーム記録装置100を示している。図1に示すようにストリーム記録装置100は、無線又は有線ネットワークを介してトランスポート・ストリームを受信する受信部101、トランスポート・ストリーム中のTS(Transport Stream)パケットに含まれるシンタックスを解析するシンタックス解析部102、及びストリーム記録装置100におけるSTC(System Time Clock)を定めるSTCカウンタ103を有する。また、ストリーム記録装置100は更に、ストリーム記録装置100における記録を制御する記録制御部104、受信されたTSパケットを次々に蓄積するTSパケット蓄積部105、及びトランスポート・ストリームにおけるタイムベースの切替を判定するタイムベース判定部106を有する。また、ストリーム記録装置100は更に、タイムベースの切替判定に応答して再生時刻を算出する再生時刻算出部107、起点PTS、総再生時刻などの再生時刻の算出に必要な各種変数及びフラグを格納する時刻情報記憶部108、及びPTSと再生時刻を対応付けて格納する補助情報記憶部109を有する。
【0011】
受信部101は、ネットワークを介して伝送されたTSパケットを受信し、シンタックス解析部102へと転送する。
シンタックス解析部102は、受信部101から転送されたTSパケットから各シンタックスを解析する。図2に示すように、TSパケットは4バイトのTSヘッダを先頭とし、任意に設けることができるフィールドである適合フィールド、即ちアダプテーション・フィールド(adaptation field)、及びペイロードからなる188バイトの固定長のパケットとして構成される。図3(a)に示すようにTSパケットヘッダには、TSパケットが映像データ及び画像データのいずれを伝送しているか示すための13ビット長のパケット識別子(PID)が格納される。同一の画像データ及び同一の音声データはそれぞれ同じPIDを持つため、PIDを用いてパケット化される前のES(Elementary Stream)を復元できる。また、TSヘッダにはTSパケット中に混入したエラーの有無を示す1ビットのトランスポート・エラー・インジケータ(taransport_error_indicator、adaptation_field)、及びadaptation fieldやペイロードの有無を示す2ビット長のアダプテーション・フィールド制御(adaptation_field_control)なども含まれる。adaptation_field_controlが「10」または「11」の場合にはTSヘッダ直後にadaptation fieldが存在し、「00」または「01」の場合には存在しない。尚、TSヘッダは更に、デコーダにTSパケットの先頭を示す同期バイト(sync byte)、及び新たなPESパケットが当該TSパケット中のペイロードから始まることを示すペイロード・ユニット・スタート・インジケータ(payload start unit indicator)を備えている。また、TSヘッダは更に、当該TSパケットの重要度を示すパケット優先度(transport priority)、及び当該TSパケット中のペイロードのスクランブルの有無を示す2ビット長のトランスポート・スクランブル制御(transport scrambling control)を備えている。また、TSヘッダは更に、当該TSパケットと同じPIDを持つTSパケットが途中で一部棄却されたかどうかを検出するための4ビット長の巡回カウンタ(continuity counter)を備えている。
【0012】
図3(b)に示すようにadaptation fieldには、タイムベースの切替の有無を示す1ビットの不連続表示(discontinuity_indicator)、42ビット長のPCRを包含する可変長のオプショナルフィールド(optional field)が含まれる。図2に示すようにペイロードにはPES(Packetized Elementary Stream)パケットが分割して格納される。尚、adaptation fieldは更に、8ビット長のアダプテーション・フィールド長(adaptation field length)、ランダム・アクセス表示(random access indicator)、ストリーム優先表示(elementary stream priority indicator)、5フラグ(5flags)、及び可変長のスタッフィング・バイト(staffing bytes)を備えている。
【0013】
図3(c)に示すようにPESパケットは、ESにPESヘッダが付加されたパケット化されている。PESヘッダにはPESパケット中の先頭フレームのPTSが33ビット長のフィールドに格納される。ここで、PESヘッダは24ビット長のパケット開始コード(packet start prefix)、8ビット長のストリームID(stream id)、16ビット長のPESパケット長(PES packet length)、「10」、2ビット長のPESスクランブル制御(PES scrambling control)、PES優先度(PES priority)、データ整列表示(data alignment indicator)、コピー・ライト(copy right)、オリジナル/コピー(original or copy)、7フラグ(7flags)、8ビット長のPESヘッダ長(PES header data length)、PTSが記載される可変長のオプショナルフィールド(optional field)、及び可変長のスタッフィング・バイト(staffing bytes)で構成される。
【0014】
また、地上波における統合ディジタル放送サービスISDB−Tでは、TSパケットの後段にリード・ソロモン(RS)符号が付加され、RS符号による誤り訂正の結果をエラー・インジケータに反映させることにより受信側ではTSパケット内のエラーの有無を検知でき、エラーを含むTSパケットは記録されない。
【0015】
STCカウンタ103は、シンタックス解析部102によって設定されるPCR(Program Clock Reference)に従ってSTCをカウントし、フラグ「カウンタ動作」の値次第で動作を実行/中止する。
【0016】
記録制御部104は、シンタックス解析部102より転送されたTSパケットをTSパケット蓄積部105に記録する。また、TSパケットがPTSを有する場合には、PTSが受信時のSTCカウンタ値と共にタイムベース判定部106へと転送される。
【0017】
タイムベース判定部106は、記録制御部104からPTSを有するTSパケット及び当該パケットの受信時のSTCが転送されるとタイムベース切替の有無を判定する。即ち、PTSとSTCとの差分が予め定める閾値THtb以上であれば「タイムベース切替有り」と判定し、そうでなければ「タイムベース切替無し」と判定する。この閾値THtbは、ARIB TR−B24で規定されるようなPTSの初期遅延時間1.5秒であってもよいし、H.264/AVCにおけるサプリメンタル・エンハンスメント・インフォメーション(SEI)中の初期遅延(initial_cpb_removal_delay)であってもよいし、その他の予め設定する値であってもよく、アダプテーションフィールド内の不連続表示が不連続を示した場合でもよい。判定結果が「タイムベース切替無し」である場合、タイムベース判定部106はPTSを再生時刻算出部107へと転送する。
【0018】
再生時刻算出部107は、時刻情報記録部108に起点PTSが設定されていなければ、タイムベース判定部106より転送されたPTSを起点PTSとして設定する。また、再生時刻算出部107は、時刻情報記録部108に起点PTSが既に設定されていれば、タイムベース判定部106より転送されたPTSと起点PTSとの差分を総再生時刻に加算した値を再生時刻として算出し、補助情報記憶部109にPTSと対応付けて記録する。
【0019】
次に、図4に示すフローチャートを参照して図1のストリーム記録装置100の動作について説明する。
処理が開始されると、ストリーム記録装置100の全体を制御する図示しない制御システムにおいて各変数並びにフラグが初期化される。即ち、一例としてステップS301において、STCカウンタ103がSTCのカウンタ動作を行っているか否かを示すフラグ「STCカウンタ動作」が「未動作」に設定される。また、起点PTSが時刻情報記録部108に設定されているか否かを示すフラグ「起点PTS設定状況」が「未登録」に設定される。更に、変数「総再生時刻」及び「前再生時刻」に0が代入される。
【0020】
初期化に続くステップS302では受信部101がネットワークを介して伝送されたトランスポート・ストリーム中のTSパケットを受信し、シンタックス解析部102へTSパケットを転送する。次に、ステップS302において受信部101によって受信されたTSパケットはTSパケット蓄積部105に記録される(ステップS303)。ステップS303においては、シンタックス解析部102へと転送されたTSパケットはまた記録制御部104へと転送され、記録制御部104によってTSパケット蓄積部105に記録される。
【0021】
次に、シンタックス解析部102は転送されたTSパケットがPCRを有するか否かを判定し、PCRを有していれば当該PCRを解析して、ステップS305へと進み、そうでなければステップS310へと進む(ステップS304)。
【0022】
ステップS305では、シンタックス解析部102はSTCカウンタ103が動作中か否かを判定し、STCカウンタ103が動作中であればステップS306へと進み、そうでなければステップS308へと進む。具体的には、シンタックス解析部102はフラグ「STCカウンタ動作」を参照することにより、STCカウンタ103の動作を判定する。
【0023】
ステップS306では、シンタックス解析部102はタイムベース切替の有無を判定し、その結果が「タイムベース切替有り」であればステップS307へと進み、そうでなければステップS302へと戻る。具体的にはシンタックス解析部102は、STCカウンタ103によってカウントされた現在のSTCと、ステップS304において解析されたPCRの差分が予め定める値よりも大きければ「タイムベース切替有り」と判定する。
【0024】
ステップS307では、シンタックス解析部102はSTCカウンタ103にステップS304において解析されたPCRを再設定し、この再設定情報を記録制御部104へ通知する。次に、記録制御部104は時刻情報記憶部108中に記録されているフラグ「起点PTS設定状況」及び変数「総再生時刻」を更新し、ステップS302へと戻る(ステップS309)。具体的には記録制御部104は、フラグ「起点PTS設定状況」を「未設定」とし、変数「総再生時刻」に変数「前再生時刻」及び定数「初期遅延量」を加算する。定数「初期遅延量」は、例えば1フレーム間隔を利用してもよいし、ES中の初期遅延量を利用しても良い。また、H.264/AVCであればSEI中のinitial_cpb_removal_delayを利用して取得しても良い。
【0025】
ステップS308では、シンタックス解析部102はSTCカウンタ103にステップS304において解析したPCRを設定し、フラグ「STCカウンタ動作」を「動作中」として、ステップS302へと戻る。
【0026】
ステップS310では、シンタックス解析部102はステップS302において受信部101によって受信されたTSパケットがビデオ・トランスポート・ストリームに属し、当該TSパケットが(Video)PTSを有するか否かを判定し、PTSを有していれば当該PTSを、STCカウンタ103より取得したSTCと共に記録制御部104を介してタイムベース判定部106へと転送して、ステップS311へと進み、そうでなければステップS302へと戻る。
【0027】
ステップS311では、タイムベース判定部106はステップS310において取得したPTS及びSTCに基づいてタイムベース切替の有無を判定し、「タイムベース切替無し」と判定する場合にはPTSを再生時刻算出部107へと転送して、ステップS312へと進み、そうでなければステップS302へと戻る。具体的には、タイムベース判定部106はステップS310において取得したPTSとSTCの差分が前述した閾値THtb未満であれば「タイムベース切替無し」と判定し、そうでなければ「タイムベース切替有り」と判定する。
【0028】
ステップS312では、再生時刻算出部107は起点PTSが設定済みか否かを判定し、起点PTSが設定済みであればステップS314へと進み、そうでなければステップS313へと進む。具体的には、再生時刻算出部107は時刻情報記憶部108に記録されているフラグ「起点PTS設定状況」を参照することにより、起点PTSの設定の有無を判定する。
【0029】
ステップS313では、再生時刻算出部107は変数「起点PTS」及びフラグ「起点PTS設定状況」を更新して、ステップS314へと進む。具体的には、再生時刻算出部107はステップS311において取得したPTSを、時刻情報記憶部108に記録されている変数「起点PTS」に代入する。また、再生時刻算出部107は時刻情報記憶部108に記録されているフラグ「起点PTS設定状況」を「登録済み」とする。
【0030】
ステップS314では、再生時刻算出部107は再生時刻を算出する。具体的には、再生時刻算出部107はステップS311において取得したPTSと時刻情報記憶部108に記憶されている変数「起点PTS」との差分に時刻情報108に記録されている変数「総再生時刻」を加算した値を再生時刻として出力する。
【0031】
次に、再生時刻算出部107は現在の処理対象ピクチャがIDR(Instantaneous Decoder Refresh)ピクチャであるか否かを判定し、処理対象ピクチャがIDRピクチャであればステップS316へと進み、そうでなければステップS317へと進む。
【0032】
ステップS316では、再生時刻算出部107はステップS314において算出した再生時刻及びステップS311において取得したPTSを補助情報蓄積部109に対応付けて記録して、ステップS317へと進む。
【0033】
ステップS317では、再生時刻算出部107は時刻情報記憶部108に記録された変数「前再生時刻」を更新する。具体的には、再生時刻算出部107はステップS314において算出した再生時刻を変数「前再生時刻」に代入して、時刻情報記憶部108に記録する。
【0034】
以上、一連の処理を受信したTSパケットについて行うことにより再生対象となるTSパケットをTSパケット蓄積部105に蓄積し、更にTSパケット中のPTS及び当該PTSに対応する再生時刻を含む補助情報を補助情報蓄積部109に蓄積することができる。
【0035】
次に、図4のフローチャートと図5に示すTSパケットの受信例を参照して図1のストリーム記録装置100の動作について更に具体的に説明する。
ここで、図5について説明する。図5は縦軸にSTCカウンタ103がカウントするSTC及び受信したTSパケット中のPTS及びPCRの値を示し、横軸はTSパケットの受信タイミングを示す。また、図中の△はPCRを、□はVideo PTSを夫々示す。また、PCR_A1、PCR_A2、PTS_A1、及びPTS_A2はタイムベースAにおけるPCR及びPTSであり、PCR_B1、PCR_B2、PCR_B3、PTS_B1、PTS_B2、及びPTS_B3はタイムベースBにけるPCR及びPTSであるが、PCR_B1については、エラーにより受信されなかったものとする。また、実線は送信側のSTCの推移を示しており、破線はPCR_B1の受信エラーにより同期できなかった受信側STCの推移を示している。
【0036】
まず、ストリーム記録装置100は、各種変数及びフラグを初期化する(ステップS301)。次に、受信部101はPCR_A1を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。この受信パケットはPCR_A1を有し(ステップS304)、フラグ「STCカウンタ動作」は「未動作」であるので(ステップS305)、シンタックス解析部102はSTCカウンタ103にPCR_A1を設定し、フラグ「STCカウンタ動作」を「動作中」に設定する(ステップ308)。
【0037】
次に、受信部101はPTS_A1を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。この受信パケットはPCRを持たないものの(ステップS304)、PTS_A1を有するため(ステップS310)、STC及びPTS_A1がタイムベース判定部106へと転送される。更に、PTS_A1とSTCが共にタイムベースA上であり(ステップS311)、フラグ「起点PTS設定状況」が「未登録」であるので(ステップS312)、再生時刻算出部107は時刻情報記憶部108に記録されている変数「起点PTS」にPTS_A1を代入し、フラグ「起点PTS設定状況」を「登録済み」に設定する(ステップS313)。次に、再生時刻算出部107は再生時刻を算出する(ステップS314)。ここで、PTSはPTS_A1であり、変数「起点PTS」はPTS_A1であり、総再生時刻は0であるから、再生時刻は0と算出される。次に、処理対象のピクチャがIDRピクチャであるとすれば(ステップS315)、再生時刻算出部107は再生時刻として0、PTSとしてPTS_A1を対応付けて補助情報蓄積部109に記録する(ステップS316)。次に、再生時刻算出部107は、変数「前再生時刻」に再生時刻として0を代入して時刻情報記憶部108に記録する(ステップS317)。
【0038】
次に、受信部101はPCR_A2を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。次に、この受信パケットはPCR_A2を有し(ステップS304)、フラグ「STCカウンタ動作」は「動作中」であり(ステップS305)、STC及びPCR_A2は共にタイムベースA上にあるので、タイムベース判定部106は「タイムベース切替無し」と判定する(ステップS306)。
【0039】
つづいて、受信部101はPTS_A2を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。この受信パケットはPCRを持たないものの(ステップS304)、PTS_A2を有するため(ステップS310)、STC及びPTS_A2がタイムベース判定部106へと転送される。更に、PTS_A2とSTCが共にタイムベースA上であり(ステップS311)、フラグ「起点PTS設定状況」が「登録済み」であるので(ステップS312)、再生時刻算出部107は再生時刻を算出する(ステップS314)。ここで、PTSはPTS_A2であり、変数「起点PTS」はPTS_A1であり、総再生時刻は0であるから、再生時刻は(PTS_A2−PTS_A1)と算出される。次に、処理対象のピクチャがIDRピクチャであるとすれば(ステップS315)、再生時刻算出部107は再生時刻として(PTS_A2−PTS_A1)、PTSとしてPTS_A2を対応付けて補助情報蓄積部109に記録する(ステップS316)。次に、再生時刻算出部107は、変数「前再生時刻」に再生時刻として(PTS_A2−PTS_A1)を代入して時刻情報記憶部108に記録する(ステップS317)。
【0040】
次に、本来はタイムベースB上のPCR_B1を含むTSパケットが受信されるはずであるが、前述した通りこのTSパケットはエラーにより欠落したためタイムベース切替が検出されない。従って図5中の点線で示すように、STCカウンタ103はタイムベースA上でSTCをカウントし続けているものとする。
【0041】
次に、受信部101はPTS_B1を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。次に、この受信パケットはPCRを持たないものの(ステップS304)、PTS_B1を有するため(ステップS310)、STC及びPTS_B1がタイムベース判定部106へと転送される。STCがタイムベースA上であり、PTS_B1がタイムベースB上であるから、タイムベース判定部106は「タイムベース切替有り」と判定する(ステップS311)。
【0042】
次に、受信部101はPCR_B2を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。この受信パケットはPCR_B2を有し(ステップS304)、フラグ「STCカウンタ動作」は「動作中」である(ステップS305)。次にシンタックス解析部102は、STCがタイムベースA上にあり、PCR_B2がタイムベースB上にあるため、「タイムベース切替有り」と判定し(ステップS306)、STCカウンタ103にPCR_B2を再設定する(ステップS307)。次に、記録制御部104はフラグ「起点PTS設定状況」を「未登録」に設定し、変数「総再生時刻」に変数「前再生時刻」及び定数「初期遅延量」を加算して更新し、時刻情報記憶部108に記録する(ステップS309)。ここで、処理前の変数「総再生時刻」は0であり、変数「前再生時刻」は(PTS_A2−PTS_A1)であるから、変数「総再生時刻」は(PTS_A2−PTS_A1+「初期遅延量」)となる。
【0043】
次に、受信部101はPTS_B2を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。次に、この受信パケットはPCRを持たないものの(ステップS304)、PTS_B2を有するためSTC及びPTS_B2がタイムベース判定部106へと転送される(ステップS310)。PTS_B2とSTCが共にタイムベースB上であり(ステップS311)、フラグ「起点PTS設定状況」が「未登録」であるから、再生時刻算出部107は変数「起点PTS」にPTS_B2を代入し、フラグ「起点PTS設定状況」に「登録済み」を設定して、時刻情報記憶部108に記録する(ステップS313)。次に、再生時刻算出部107は再生時刻を算出する(ステップS314)。ここで、PTSはPTS_B2であり、変数「起点PTS」はPTS_B2であり、総再生時刻は(PTS_A2−PTS_A1+「初期遅延量」)であるから、再生時刻は(PTS_A2−PTS_A1+「初期遅延量」)と算出される。次に、処理対象のピクチャがIDRピクチャであるとすれば(ステップS315)、再生時刻算出部107は再生時刻として(PTS_A2−PTS_A1+「初期遅延量」)、PTSとしてPTS_B2を対応付けて補助情報蓄積部109に記録する(ステップS316)。次に、再生時刻算出部107は、変数「前再生時刻」に再生時刻として(PTS_A2−PTS_A1+「初期遅延量」)を代入して時刻情報記憶部108に記録する(ステップS317)。
【0044】
次に、受信部101はPCR_B3を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。次に、この受信パケットはPCR_B3を有し(ステップS304)、フラグ「STCカウンタ動作」は「動作中」であり(ステップS305)、STC及びPCR_B2は共にタイムベースB上にあるので、タイムベース判定部106は「タイムベース切替無し」と判定する(ステップS306)。
【0045】
次に、受信部101はPTS_B3を含むTSパケットを受信し(ステップS302)、記録制御部104はこの受信パケットをTSパケット記録部105に記録する(ステップS303)。次に、この受信パケットはPCRを持たないものの(ステップS304)、PTS_B3を有するため(ステップS310)、STC及びPTS_B3がタイムベース判定部106へと転送される。PTS_B3とSTCが共にタイムベースB上であり(ステップS311)、フラグ「起点PTS設定状況」が「登録済み」であるので(ステップS312)、再生時刻算出部107は再生時刻を算出する(ステップS314)。ここで、PTSはPTS_B3であり、変数「起点PTS」はPTS_B2であり、総再生時刻は(PTS_A2−PTS_A1+「初期遅延量」)であるから、再生時刻は(PTS_B3−PTS_B2+PTS_A2−PTS_A1+「初期遅延量」)と算出される。次に、処理対象のピクチャがIDRピクチャであるとすれば(ステップS315)、再生時刻算出部107は再生時刻として(PTS_B3−PTS_B2+PTS_A2−PTS_A1+「初期遅延量」)、PTSとしてPTS_B3を対応付けて補助情報蓄積部109に記録する(ステップS316)。次に、再生時刻算出部107は、変数「前再生時刻」に再生時刻として(PTS_B3−PTS_B2+PTS_A2−PTS_A1+「初期遅延量」)を代入して時刻情報記憶部108に記録する(ステップS317)。
【0046】
また、本実施形態における記録フォーマットとしてSD−VIDEO for ISDB−Tを用いる場合、TSパケット蓄積部105にはトランスポート・ストリーム・オブジェクト・データ(TOD)ファイルが格納され、補助情報蓄積部109にはメディア・オブジェクト・インフォメーション(MOI)ファイルが格納される。
【0047】
図6(a)に示すようにTODファイルにはTSパケットのみが32ビット(=4バイト)の「0」で構成されるエクステンディッドTS(ETS)ヘッダを付加され、192バイト長のETSパケットとして記録されている。
【0048】
また、図6(b)に示すようにMOIファイルには12バイト長のTSE INFOフィールド中に、TODファイルに関する補助情報が記載されている。具体的には、TODファイル中に記録されたIDRピクチャに関するETSパケットのPTSは24ビット長のPTSフィールドに格納され、このPTSの再生時刻情報は32ビット長のPbOffsetフィールドに格納されている。また、25ビット長のトランスポート・パケット・インデックス(TPI)は、MOIファイルに記載されるPTSを持つIDRが、TODファイル中のどこに存在するかを表している。即ち、TPIはTODファイルに記録されたIDRを含むETSパケットをサーチするためのテーブルである。MOIファイルに記載されているPTSを持つIDRを探索する際には当該PTSに対応してMOIファイルに記載されているTPIを参照し、例えば当該TPIが10とMOIファイルに記載されていれば、TODファイル中に存在する先頭から10番目のETSパケットが、所望のETSパケットとしてサーチされる。
【0049】
このようにTODファイルに記録されたETSパケットを再生する際、例えば文献1のようにパケットの受信時刻を再生することができなければ、記録ストリーム中の連続するPCRの差分が大きく変化したとき、タイムベース切替による変化なのか、エラーによりパケットが抜け落ちたことによる変化なのか、検出することができない。
【0050】
ここで、MOIファイルに登録されたPbOffsetは、タイムベース切替が起きても連続的な値が記録されており、PTSはタイムベース切替を反映した値が記録されている。従って、MOIファイル中に登録された連続するIDRに対して、PbOffsetの増分とPTSの増分が一致すればタイムベース切替は発生していない、一致しなければタイムベース切替による不一致と判定することが出来る。従って、本実施形態によればタイムベース切替が発生し、PTSに不連続が発生しても再生時刻には不連続が発生しないため、タイムベース切替が検出可能な形でMOIファイルを生成することが出来る。
【0051】
以上説明したように、本実施形態に係るストリーム記録装置は、PTSとTSパケット受信時のSTCが同一のタイムベース上に有る場合のみ再生時刻を算出し、PTSと共に補助ファイルに登録している。また、タイムベース切替後は、現タイムベース上での起点PTSからのPTSの増分に、前タイムベース上での総再生時刻及び初期遅延量を加算することにより再生時刻を算出している。従って、本実施形態に係るストリーム記録装置によれば、タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録することが可能なストリーム記録装置を提供することができる。
【0052】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【0053】
その一例として例えば、上記実施形態では、図4に示すフローチャートにおいてステップS315を設けることにより、IDRピクチャのみについて再生時刻及びPTSを登録するようにしたが、このステップS315を省略することにより、非IDRピクチャについても再生時刻及びPTSを登録するようにしても同様の効果を得られる。
【0054】
その他、この発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。
【図面の簡単な説明】
【0055】
【図1】本発明の一実施形態に係るストリーム記録装置を概略的に示すブロック図。
【図2】図1に示す受信部で受信されるTSパケット及びこのTSパケットを構成するPESパケットの構造を示す概略図。
【図3】(a)図2に示されるTSパケット中のTSヘッダの構造を示す概略図。(b)図2に示されるTSパケット中のadaptation fieldの構造を示す概略図。(c)図2に示されるPESパケット中のPESヘッダの構造を示す概略図。
【図4】図1に示すストリーム記録装置における動作を示すフローチャート。
【図5】図1に示す受信部で受信されるTSパケットの受信タイミングを示すグラフ図。
【図6】(a)図1に示すTSパケット蓄積部に格納されるSD−VIDEO規格におけるTODファイルの構造を示す概略図。(b)図1に示す補助情報蓄積部に格納されるSD−VIDEO規格におけるMOIファイルの構造を示す概略図。
【符号の説明】
【0056】
100・・・ストリーム記録装置
101・・・受信部
102・・・シンタックス解析部
103・・・STCカウンタ
104・・・記録制御部
105・・・TSパケット蓄積部
106・・・タイムベース判定部
107・・・再生時刻算出部
108・・・時刻情報記憶部
109・・・補助情報蓄積部

【特許請求の範囲】
【請求項1】
プログラム時刻基準参照値または表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケットを含むトランスポート・ストリームを受信する受信部と、
前記トランスポート・ストリームが記録される第1の記録部と、
前記プログラム時刻基準参照値または表示時刻タイム・スタンプを解析する解析部と、
前記プログラム時刻基準参照値に基づいてシステム・タイム・クロックをカウントするカウンタと、
前記表示時刻タイム・スタンプ及び当該表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケット受信時のシステム・タイム・クロックが、同一のタイムベース上にあれば当該表示時刻タイム・スタンプの再生時刻を算出し、同一のタイムベース上になければ当該表示時刻タイム・スタンプの再生時刻の算出を省略する算出部と、
前記算出部が前記再生時刻を算出すると、当該再生時刻が前記表示時刻タイム・スタンプと対応付けて記録される第2の記録部と
を具備することを特徴とするストリーム記録装置。
【請求項2】
前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値から前記解析部によってタイムベース切替が検出されると、当該タイムベース切替が検出された以後、最初に解析された表示時刻タイム・スタンプが起点表示時刻タイム・スタンプとして記録される第3の記録部を更に具備し、
前記再生時刻は、前記表示時刻タイム・スタンプと前記起点表示時刻タイム・スタンプの差分に基づいて算出されること
を特徴とする請求項1記載のストリーム記録装置。
【請求項3】
前記第3の記録部は、前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値から前記解析部によってタイムベース切替が検出されると、当該タイムベース切替が検出される以前、最後に前記算出部によって算出された再生時刻に基づく総再生時刻が更に記録され、
前記再生時刻は、前記表示時刻タイム・スタンプと前記起点表示時刻タイム・スタンプの差分に前記総再生時刻を加算することにより算出されること
を特徴とする請求項2記載のストリーム記録装置。
【請求項4】
前記総再生時刻は、前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値から前記解析部によってタイムベース切替が検出される以前、最後に前記算出部によって算出された再生時刻に予め定める初期遅延量を加算した値であること
を特徴とする請求項3記載のストリーム記録装置。
【請求項5】
前記解析部は、前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値からタイムベース切替を検出すると、前記カウンタに当該プログラム時刻参照値を再設定すること
を特徴とする請求項1乃至4いずれか1項記載のストリーム記録装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−193151(P2008−193151A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2007−22259(P2007−22259)
【出願日】平成19年1月31日(2007.1.31)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】