(57)【要約】【課題】タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録する。【解決手段】プログラム時刻基準参照値または表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケットを含むトランスポート・ストリームを受信する受信部と；プログラム時刻基準参照値に基づいてシステム・タイム・クロックをカウントするカウンタと；表示時刻タイム・スタンプ及び表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケット受信時のシステム・タイム・クロックが、同一のタイムベース上にあれば表示時刻タイム・スタンプの再生時刻を算出し、同一のタイムベース上になければ表示時刻タイム・スタンプの再生時刻の算出を省略する算出部と；算出部が再生時刻を算出すると、再生時刻が表示時刻タイム・スタンプと対応付けて記録される記録部と；を具備する。【選択図】      図１
2008193151.tif 000002
【特許請求の範囲】
【請求項１】
プログラム時刻基準参照値または表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケットを含むトランスポート・ストリームを受信する受信部と、
前記トランスポート・ストリームが記録される第１の記録部と、
前記プログラム時刻基準参照値または表示時刻タイム・スタンプを解析する解析部と、
前記プログラム時刻基準参照値に基づいてシステム・タイム・クロックをカウントするカウンタと、
前記表示時刻タイム・スタンプ及び当該表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケット受信時のシステム・タイム・クロックが、同一のタイムベース上にあれば当該表示時刻タイム・スタンプの再生時刻を算出し、同一のタイムベース上になければ当該表示時刻タイム・スタンプの再生時刻の算出を省略する算出部と、
前記算出部が前記再生時刻を算出すると、当該再生時刻が前記表示時刻タイム・スタンプと対応付けて記録される第２の記録部と
を具備することを特徴とするストリーム記録装置。
【請求項２】
前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値から前記解析部によってタイムベース切替が検出されると、当該タイムベース切替が検出された以後、最初に解析された表示時刻タイム・スタンプが起点表示時刻タイム・スタンプとして記録される第３の記録部を更に具備し、
前記再生時刻は、前記表示時刻タイム・スタンプと前記起点表示時刻タイム・スタンプの差分に基づいて算出されること
を特徴とする請求項１記載のストリーム記録装置。
【請求項３】
前記第３の記録部は、前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値から前記解析部によってタイムベース切替が検出されると、当該タイムベース切替が検出される以前、最後に前記算出部によって算出された再生時刻に基づく総再生時刻が更に記録され、
前記再生時刻は、前記表示時刻タイム・スタンプと前記起点表示時刻タイム・スタンプの差分に前記総再生時刻を加算することにより算出されること
を特徴とする請求項２記載のストリーム記録装置。
【請求項４】
前記総再生時刻は、前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値から前記解析部によってタイムベース切替が検出される以前、最後に前記算出部によって算出された再生時刻に予め定める初期遅延量を加算した値であること
を特徴とする請求項３記載のストリーム記録装置。
【請求項５】
前記解析部は、前記プログラム時刻参照値を含むトランスポート・ストリーム・パケットの受信時におけるシステム・タイム・クロック及び当該プログラム時刻参照値からタイムベース切替を検出すると、前記カウンタに当該プログラム時刻参照値を再設定すること
を特徴とする請求項１乃至４いずれか１項記載のストリーム記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランスポート・ストリームを記録する装置に関する。
【背景技術】
【０００２】
第３世代を基本とする携帯電話で受信する地上波デジタル放送（ワンセグ）では、画像データはＨ．２６４／ＡＶＣで符号化され、音声データはＭＰＥＧ−２  ＡＡＣで符号化される。これら符号化された映像データ及び音声データは、エレメンタリ・ストリーム（以下単にＥＳと称する。）と呼ばれ、パケット化エレメンタリ・ストリーム（ＰＥＳ；ｐａｃｋｅｔｉｚｅｄ  ｅｌｅｍｅｎｔａｒｙ  ｓｔｒｅａｍ）パケット（以下単にＰＥＳパケットと称する。）としてＭＰＥＧ−２  ＳＹＳＴＥＭＳ中のトランスポート・ストリームに多重化されて伝送されている。トランスポート・ストリームには、トランスポート・ストリーム・パケット（以下単にＴＳパケットと称する）が配列されている。ＴＳパケット中には、ビデオ情報及びオーディオ情報を構成するビット・ストリームの種類（属性）を示す属性情報、ビット・ストリーム、及びメディア間の同期をとるためのプログラム時刻基準参照値（以下単にＰＣＲと称する）と称される基準クロック情報などが格納させることができ、ＴＳパケットによって無線または有線を介して伝送される。受信側ではＴＳパケットが記録されると共に、ＰＣＲを有するＴＳパケットを受信すると、送信側に対して受信側でのクロック同期を取るためのシステム・タイム・クロック（以下単にＳＴＣと称する）をカウントするＳＴＣカウンタにＰＣＲが設定される。受信側では、ＳＴＣカウンタによってカウントされたＳＴＣと、ＰＥＳパケットに含まれる表示時刻タイム・スタンプ（ＰＴＳ）が一致すると、ＰＥＳパケット中のＥＳが同期再生される。
【０００３】
より正確に送信側と受信側のクロック同期を取るために、例えば特許文献１では受信側において削除パケットが発生した場合に制御パケットが生成され、この制御パケット中にパケットの削除区間及び削除パケット数が記録される方式が提案されている。この特許文献１の提案によれば、制御パケットを利用することによって送信時のストリーミング信号と再生した符号化プログラムを同一の状態とすることができるとしている。
【０００４】
ＰＴＳ及び再生時刻といった補助情報を補助ファイルとして記録する手法が近年提案され、この補助情報を補助ファイルとして記録する記録フォーマットとして、ＳＤ−ＶＩＤＥＯ  ｆｏｒ  ＩＳＤＢ−Ｔなどが知られている。ＳＤ−ＶＩＤＥＯ  ｆｏｒ  ＩＳＤＢ−Ｔでは、起点ＰＴＳからの増分により各ＰＴＳに対応する再生時刻を算出し、補助ファイルに記録している。
【特許文献１】特開２００１−３５９０４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
トランスポート・ストリームにおいては、タイムベースが切替られることがあり、このタイムベース切替によって、ＰＴＳが大きくずれることがある。このタイムベースの切替タイミングでは、タイムベース切替前の起点ＰＴＳを利用して再生時刻を算出しても、本来の再生時刻とはかけ離れた不連続な値となる問題がある。特に、スキップ（Ｓｋｉｐ）再生などの特殊再生がタイムベースの切替前後に亘って実行される場合には、この特殊再生を正常に実施できない問題がある。即ち、タイムベースの切替に伴って、記録ストリームの再生時間が極端に本来の再生時間と異なるような値が提示される虞がある。
【０００６】
従って、タイムベース切替前の起点ＰＴＳに基づいて再生時刻が算出され、補助ファイルに記録することはＴＳパケットの再生タイミング管理において必ずしも有効でない問題がある。
【０００７】
本発明は、タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録することが可能なストリーム記録装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るストリーム記録装置は、プログラム時刻基準参照値または表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケットを含むトランスポート・ストリームを受信する受信部と；前記トランスポート・ストリームが記録される第１の記録部と；前記プログラム時刻基準参照値または表示時刻タイム・スタンプを解析する解析部と；前記プログラム時刻基準参照値に基づいてシステム・タイム・クロックをカウントするカウンタと；前記表示時刻タイム・スタンプ及び当該表示時刻タイム・スタンプを有するトランスポート・ストリーム・パケット受信時のシステム・タイム・クロックが、同一のタイムベース上にあれば当該表示時刻タイム・スタンプの再生時刻を算出し、同一のタイムベース上になければ当該表示時刻タイム・スタンプの再生時刻の算出を省略する算出部と；前記算出部が前記再生時刻を算出すると、当該再生時刻が前記表示時刻タイム・スタンプと対応付けて記録される第２の記録部と；を具備する。
【発明の効果】
【０００９】
本発明によれば、ＳＴＣとＰＴＳが同一のタイムベース上に有る場合にのみ再生時刻が算出され、ＰＴＳと共に補助ファイルに登録することにより、タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録することが可能なストリーム記録装置を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明の一実施形態に係るストリーム記録装置について詳細に説明する。  
図１は、本発明の一実施形態に係るストリーム記録装置１００を示している。図１に示すようにストリーム記録装置１００は、無線又は有線ネットワークを介してトランスポート・ストリームを受信する受信部１０１、トランスポート・ストリーム中のＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）パケットに含まれるシンタックスを解析するシンタックス解析部１０２、及びストリーム記録装置１００におけるＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）を定めるＳＴＣカウンタ１０３を有する。また、ストリーム記録装置１００は更に、ストリーム記録装置１００における記録を制御する記録制御部１０４、受信されたＴＳパケットを次々に蓄積するＴＳパケット蓄積部１０５、及びトランスポート・ストリームにおけるタイムベースの切替を判定するタイムベース判定部１０６を有する。また、ストリーム記録装置１００は更に、タイムベースの切替判定に応答して再生時刻を算出する再生時刻算出部１０７、起点ＰＴＳ、総再生時刻などの再生時刻の算出に必要な各種変数及びフラグを格納する時刻情報記憶部１０８、及びＰＴＳと再生時刻を対応付けて格納する補助情報記憶部１０９を有する。
【００１１】
受信部１０１は、ネットワークを介して伝送されたＴＳパケットを受信し、シンタックス解析部１０２へと転送する。  
シンタックス解析部１０２は、受信部１０１から転送されたＴＳパケットから各シンタックスを解析する。図２に示すように、ＴＳパケットは４バイトのＴＳヘッダを先頭とし、任意に設けることができるフィールドである適合フィールド、即ちアダプテーション・フィールド（ａｄａｐｔａｔｉｏｎ  ｆｉｅｌｄ）、及びペイロードからなる１８８バイトの固定長のパケットとして構成される。図３（ａ）に示すようにＴＳパケットヘッダには、ＴＳパケットが映像データ及び画像データのいずれを伝送しているか示すための１３ビット長のパケット識別子（ＰＩＤ）が格納される。同一の画像データ及び同一の音声データはそれぞれ同じＰＩＤを持つため、ＰＩＤを用いてパケット化される前のＥＳ（Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）を復元できる。また、ＴＳヘッダにはＴＳパケット中に混入したエラーの有無を示す１ビットのトランスポート・エラー・インジケータ（ｔａｒａｎｓｐｏｒｔ＿ｅｒｒｏｒ＿ｉｎｄｉｃａｔｏｒ、ａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄ）、及びａｄａｐｔａｔｉｏｎ  ｆｉｅｌｄやペイロードの有無を示す２ビット長のアダプテーション・フィールド制御（ａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄ＿ｃｏｎｔｒｏｌ）なども含まれる。ａｄａｐｔａｔｉｏｎ＿ｆｉｅｌｄ＿ｃｏｎｔｒｏｌが「１０」または「１１」の場合にはＴＳヘッダ直後にａｄａｐｔａｔｉｏｎ  ｆｉｅｌｄが存在し、「００」または「０１」の場合には存在しない。尚、ＴＳヘッダは更に、デコーダにＴＳパケットの先頭を示す同期バイト（ｓｙｎｃ  ｂｙｔｅ）、及び新たなＰＥＳパケットが当該ＴＳパケット中のペイロードから始まることを示すペイロード・ユニット・スタート・インジケータ（ｐａｙｌｏａｄ  ｓｔａｒｔ  ｕｎｉｔ  ｉｎｄｉｃａｔｏｒ）を備えている。また、ＴＳヘッダは更に、当該ＴＳパケットの重要度を示すパケット優先度（ｔｒａｎｓｐｏｒｔ  ｐｒｉｏｒｉｔｙ）、及び当該ＴＳパケット中のペイロードのスクランブルの有無を示す２ビット長のトランスポート・スクランブル制御（ｔｒａｎｓｐｏｒｔ  ｓｃｒａｍｂｌｉｎｇ  ｃｏｎｔｒｏｌ）を備えている。また、ＴＳヘッダは更に、当該ＴＳパケットと同じＰＩＤを持つＴＳパケットが途中で一部棄却されたかどうかを検出するための４ビット長の巡回カウンタ（ｃｏｎｔｉｎｕｉｔｙ  ｃｏｕｎｔｅｒ）を備えている。
【００１２】
図３（ｂ）に示すようにａｄａｐｔａｔｉｏｎ  ｆｉｅｌｄには、タイムベースの切替の有無を示す１ビットの不連続表示（ｄｉｓｃｏｎｔｉｎｕｉｔｙ＿ｉｎｄｉｃａｔｏｒ）、４２ビット長のＰＣＲを包含する可変長のオプショナルフィールド（ｏｐｔｉｏｎａｌ  ｆｉｅｌｄ）が含まれる。図２に示すようにペイロードにはＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットが分割して格納される。尚、ａｄａｐｔａｔｉｏｎ  ｆｉｅｌｄは更に、８ビット長のアダプテーション・フィールド長（ａｄａｐｔａｔｉｏｎ  ｆｉｅｌｄ  ｌｅｎｇｔｈ）、ランダム・アクセス表示（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｉｎｄｉｃａｔｏｒ）、ストリーム優先表示（ｅｌｅｍｅｎｔａｒｙ  ｓｔｒｅａｍ  ｐｒｉｏｒｉｔｙ  ｉｎｄｉｃａｔｏｒ）、５フラグ（５ｆｌａｇｓ）、及び可変長のスタッフィング・バイト（ｓｔａｆｆｉｎｇ  ｂｙｔｅｓ）を備えている。
【００１３】
図３（ｃ）に示すようにＰＥＳパケットは、ＥＳにＰＥＳヘッダが付加されたパケット化されている。ＰＥＳヘッダにはＰＥＳパケット中の先頭フレームのＰＴＳが３３ビット長のフィールドに格納される。ここで、ＰＥＳヘッダは２４ビット長のパケット開始コード（ｐａｃｋｅｔ  ｓｔａｒｔ  ｐｒｅｆｉｘ）、８ビット長のストリームＩＤ（ｓｔｒｅａｍ  ｉｄ）、１６ビット長のＰＥＳパケット長（ＰＥＳ  ｐａｃｋｅｔ  ｌｅｎｇｔｈ）、「１０」、２ビット長のＰＥＳスクランブル制御（ＰＥＳ  ｓｃｒａｍｂｌｉｎｇ  ｃｏｎｔｒｏｌ）、ＰＥＳ優先度（ＰＥＳ  ｐｒｉｏｒｉｔｙ）、データ整列表示（ｄａｔａ  ａｌｉｇｎｍｅｎｔ  ｉｎｄｉｃａｔｏｒ）、コピー・ライト（ｃｏｐｙ  ｒｉｇｈｔ）、オリジナル／コピー（ｏｒｉｇｉｎａｌ  ｏｒ  ｃｏｐｙ）、７フラグ（７ｆｌａｇｓ）、８ビット長のＰＥＳヘッダ長（ＰＥＳ  ｈｅａｄｅｒ  ｄａｔａ  ｌｅｎｇｔｈ）、ＰＴＳが記載される可変長のオプショナルフィールド（ｏｐｔｉｏｎａｌ  ｆｉｅｌｄ）、及び可変長のスタッフィング・バイト（ｓｔａｆｆｉｎｇ  ｂｙｔｅｓ）で構成される。
【００１４】
また、地上波における統合ディジタル放送サービスＩＳＤＢ−Ｔでは、ＴＳパケットの後段にリード・ソロモン（ＲＳ）符号が付加され、ＲＳ符号による誤り訂正の結果をエラー・インジケータに反映させることにより受信側ではＴＳパケット内のエラーの有無を検知でき、エラーを含むＴＳパケットは記録されない。
【００１５】
ＳＴＣカウンタ１０３は、シンタックス解析部１０２によって設定されるＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）に従ってＳＴＣをカウントし、フラグ「カウンタ動作」の値次第で動作を実行／中止する。
【００１６】
記録制御部１０４は、シンタックス解析部１０２より転送されたＴＳパケットをＴＳパケット蓄積部１０５に記録する。また、ＴＳパケットがＰＴＳを有する場合には、ＰＴＳが受信時のＳＴＣカウンタ値と共にタイムベース判定部１０６へと転送される。
【００１７】
タイムベース判定部１０６は、記録制御部１０４からＰＴＳを有するＴＳパケット及び当該パケットの受信時のＳＴＣが転送されるとタイムベース切替の有無を判定する。即ち、ＰＴＳとＳＴＣとの差分が予め定める閾値ＴＨtb以上であれば「タイムベース切替有り」と判定し、そうでなければ「タイムベース切替無し」と判定する。この閾値ＴＨtbは、ＡＲＩＢ  ＴＲ−Ｂ２４で規定されるようなＰＴＳの初期遅延時間１．５秒であってもよいし、Ｈ．２６４／ＡＶＣにおけるサプリメンタル・エンハンスメント・インフォメーション（ＳＥＩ）中の初期遅延（ｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙ）であってもよいし、その他の予め設定する値であってもよく、アダプテーションフィールド内の不連続表示が不連続を示した場合でもよい。判定結果が「タイムベース切替無し」である場合、タイムベース判定部１０６はＰＴＳを再生時刻算出部１０７へと転送する。
【００１８】
再生時刻算出部１０７は、時刻情報記録部１０８に起点ＰＴＳが設定されていなければ、タイムベース判定部１０６より転送されたＰＴＳを起点ＰＴＳとして設定する。また、再生時刻算出部１０７は、時刻情報記録部１０８に起点ＰＴＳが既に設定されていれば、タイムベース判定部１０６より転送されたＰＴＳと起点ＰＴＳとの差分を総再生時刻に加算した値を再生時刻として算出し、補助情報記憶部１０９にＰＴＳと対応付けて記録する。
【００１９】
次に、図４に示すフローチャートを参照して図１のストリーム記録装置１００の動作について説明する。  
処理が開始されると、ストリーム記録装置１００の全体を制御する図示しない制御システムにおいて各変数並びにフラグが初期化される。即ち、一例としてステップＳ３０１において、ＳＴＣカウンタ１０３がＳＴＣのカウンタ動作を行っているか否かを示すフラグ「ＳＴＣカウンタ動作」が「未動作」に設定される。また、起点ＰＴＳが時刻情報記録部１０８に設定されているか否かを示すフラグ「起点ＰＴＳ設定状況」が「未登録」に設定される。更に、変数「総再生時刻」及び「前再生時刻」に０が代入される。
【００２０】
初期化に続くステップＳ３０２では受信部１０１がネットワークを介して伝送されたトランスポート・ストリーム中のＴＳパケットを受信し、シンタックス解析部１０２へＴＳパケットを転送する。次に、ステップＳ３０２において受信部１０１によって受信されたＴＳパケットはＴＳパケット蓄積部１０５に記録される（ステップＳ３０３）。ステップＳ３０３においては、シンタックス解析部１０２へと転送されたＴＳパケットはまた記録制御部１０４へと転送され、記録制御部１０４によってＴＳパケット蓄積部１０５に記録される。
【００２１】
次に、シンタックス解析部１０２は転送されたＴＳパケットがＰＣＲを有するか否かを判定し、ＰＣＲを有していれば当該ＰＣＲを解析して、ステップＳ３０５へと進み、そうでなければステップＳ３１０へと進む（ステップＳ３０４）。
【００２２】
ステップＳ３０５では、シンタックス解析部１０２はＳＴＣカウンタ１０３が動作中か否かを判定し、ＳＴＣカウンタ１０３が動作中であればステップＳ３０６へと進み、そうでなければステップＳ３０８へと進む。具体的には、シンタックス解析部１０２はフラグ「ＳＴＣカウンタ動作」を参照することにより、ＳＴＣカウンタ１０３の動作を判定する。
【００２３】
ステップＳ３０６では、シンタックス解析部１０２はタイムベース切替の有無を判定し、その結果が「タイムベース切替有り」であればステップＳ３０７へと進み、そうでなければステップＳ３０２へと戻る。具体的にはシンタックス解析部１０２は、ＳＴＣカウンタ１０３によってカウントされた現在のＳＴＣと、ステップＳ３０４において解析されたＰＣＲの差分が予め定める値よりも大きければ「タイムベース切替有り」と判定する。
【００２４】
ステップＳ３０７では、シンタックス解析部１０２はＳＴＣカウンタ１０３にステップＳ３０４において解析されたＰＣＲを再設定し、この再設定情報を記録制御部１０４へ通知する。次に、記録制御部１０４は時刻情報記憶部１０８中に記録されているフラグ「起点ＰＴＳ設定状況」及び変数「総再生時刻」を更新し、ステップＳ３０２へと戻る（ステップＳ３０９）。具体的には記録制御部１０４は、フラグ「起点ＰＴＳ設定状況」を「未設定」とし、変数「総再生時刻」に変数「前再生時刻」及び定数「初期遅延量」を加算する。定数「初期遅延量」は、例えば１フレーム間隔を利用してもよいし、ＥＳ中の初期遅延量を利用しても良い。また、Ｈ．２６４／ＡＶＣであればＳＥＩ中のｉｎｉｔｉａｌ＿ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙを利用して取得しても良い。
【００２５】
ステップＳ３０８では、シンタックス解析部１０２はＳＴＣカウンタ１０３にステップＳ３０４において解析したＰＣＲを設定し、フラグ「ＳＴＣカウンタ動作」を「動作中」として、ステップＳ３０２へと戻る。
【００２６】
ステップＳ３１０では、シンタックス解析部１０２はステップＳ３０２において受信部１０１によって受信されたＴＳパケットがビデオ・トランスポート・ストリームに属し、当該ＴＳパケットが（Ｖｉｄｅｏ）ＰＴＳを有するか否かを判定し、ＰＴＳを有していれば当該ＰＴＳを、ＳＴＣカウンタ１０３より取得したＳＴＣと共に記録制御部１０４を介してタイムベース判定部１０６へと転送して、ステップＳ３１１へと進み、そうでなければステップＳ３０２へと戻る。
【００２７】
ステップＳ３１１では、タイムベース判定部１０６はステップＳ３１０において取得したＰＴＳ及びＳＴＣに基づいてタイムベース切替の有無を判定し、「タイムベース切替無し」と判定する場合にはＰＴＳを再生時刻算出部１０７へと転送して、ステップＳ３１２へと進み、そうでなければステップＳ３０２へと戻る。具体的には、タイムベース判定部１０６はステップＳ３１０において取得したＰＴＳとＳＴＣの差分が前述した閾値ＴＨtb未満であれば「タイムベース切替無し」と判定し、そうでなければ「タイムベース切替有り」と判定する。
【００２８】
ステップＳ３１２では、再生時刻算出部１０７は起点ＰＴＳが設定済みか否かを判定し、起点ＰＴＳが設定済みであればステップＳ３１４へと進み、そうでなければステップＳ３１３へと進む。具体的には、再生時刻算出部１０７は時刻情報記憶部１０８に記録されているフラグ「起点ＰＴＳ設定状況」を参照することにより、起点ＰＴＳの設定の有無を判定する。
【００２９】
ステップＳ３１３では、再生時刻算出部１０７は変数「起点ＰＴＳ」及びフラグ「起点ＰＴＳ設定状況」を更新して、ステップＳ３１４へと進む。具体的には、再生時刻算出部１０７はステップＳ３１１において取得したＰＴＳを、時刻情報記憶部１０８に記録されている変数「起点ＰＴＳ」に代入する。また、再生時刻算出部１０７は時刻情報記憶部１０８に記録されているフラグ「起点ＰＴＳ設定状況」を「登録済み」とする。
【００３０】
ステップＳ３１４では、再生時刻算出部１０７は再生時刻を算出する。具体的には、再生時刻算出部１０７はステップＳ３１１において取得したＰＴＳと時刻情報記憶部１０８に記憶されている変数「起点ＰＴＳ」との差分に時刻情報１０８に記録されている変数「総再生時刻」を加算した値を再生時刻として出力する。
【００３１】
次に、再生時刻算出部１０７は現在の処理対象ピクチャがＩＤＲ（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）ピクチャであるか否かを判定し、処理対象ピクチャがＩＤＲピクチャであればステップＳ３１６へと進み、そうでなければステップＳ３１７へと進む。
【００３２】
ステップＳ３１６では、再生時刻算出部１０７はステップＳ３１４において算出した再生時刻及びステップＳ３１１において取得したＰＴＳを補助情報蓄積部１０９に対応付けて記録して、ステップＳ３１７へと進む。
【００３３】
ステップＳ３１７では、再生時刻算出部１０７は時刻情報記憶部１０８に記録された変数「前再生時刻」を更新する。具体的には、再生時刻算出部１０７はステップＳ３１４において算出した再生時刻を変数「前再生時刻」に代入して、時刻情報記憶部１０８に記録する。
【００３４】
以上、一連の処理を受信したＴＳパケットについて行うことにより再生対象となるＴＳパケットをＴＳパケット蓄積部１０５に蓄積し、更にＴＳパケット中のＰＴＳ及び当該ＰＴＳに対応する再生時刻を含む補助情報を補助情報蓄積部１０９に蓄積することができる。
【００３５】
次に、図４のフローチャートと図５に示すＴＳパケットの受信例を参照して図１のストリーム記録装置１００の動作について更に具体的に説明する。  
ここで、図５について説明する。図５は縦軸にＳＴＣカウンタ１０３がカウントするＳＴＣ及び受信したＴＳパケット中のＰＴＳ及びＰＣＲの値を示し、横軸はＴＳパケットの受信タイミングを示す。また、図中の△はＰＣＲを、□はＶｉｄｅｏ  ＰＴＳを夫々示す。また、ＰＣＲ＿Ａ１、ＰＣＲ＿Ａ２、ＰＴＳ＿Ａ１、及びＰＴＳ＿Ａ２はタイムベースＡにおけるＰＣＲ及びＰＴＳであり、ＰＣＲ＿Ｂ１、ＰＣＲ＿Ｂ２、ＰＣＲ＿Ｂ３、ＰＴＳ＿Ｂ１、ＰＴＳ＿Ｂ２、及びＰＴＳ＿Ｂ３はタイムベースＢにけるＰＣＲ及びＰＴＳであるが、ＰＣＲ＿Ｂ１については、エラーにより受信されなかったものとする。また、実線は送信側のＳＴＣの推移を示しており、破線はＰＣＲ＿Ｂ１の受信エラーにより同期できなかった受信側ＳＴＣの推移を示している。
【００３６】
まず、ストリーム記録装置１００は、各種変数及びフラグを初期化する（ステップＳ３０１）。次に、受信部１０１はＰＣＲ＿Ａ１を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。この受信パケットはＰＣＲ＿Ａ１を有し（ステップＳ３０４）、フラグ「ＳＴＣカウンタ動作」は「未動作」であるので（ステップＳ３０５）、シンタックス解析部１０２はＳＴＣカウンタ１０３にＰＣＲ＿Ａ１を設定し、フラグ「ＳＴＣカウンタ動作」を「動作中」に設定する（ステップ３０８）。
【００３７】
次に、受信部１０１はＰＴＳ＿Ａ１を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。この受信パケットはＰＣＲを持たないものの（ステップＳ３０４）、ＰＴＳ＿Ａ１を有するため（ステップＳ３１０）、ＳＴＣ及びＰＴＳ＿Ａ１がタイムベース判定部１０６へと転送される。更に、ＰＴＳ＿Ａ１とＳＴＣが共にタイムベースＡ上であり（ステップＳ３１１）、フラグ「起点ＰＴＳ設定状況」が「未登録」であるので（ステップＳ３１２）、再生時刻算出部１０７は時刻情報記憶部１０８に記録されている変数「起点ＰＴＳ」にＰＴＳ＿Ａ１を代入し、フラグ「起点ＰＴＳ設定状況」を「登録済み」に設定する（ステップＳ３１３）。次に、再生時刻算出部１０７は再生時刻を算出する（ステップＳ３１４）。ここで、ＰＴＳはＰＴＳ＿Ａ１であり、変数「起点ＰＴＳ」はＰＴＳ＿Ａ１であり、総再生時刻は０であるから、再生時刻は０と算出される。次に、処理対象のピクチャがＩＤＲピクチャであるとすれば（ステップＳ３１５）、再生時刻算出部１０７は再生時刻として０、ＰＴＳとしてＰＴＳ＿Ａ１を対応付けて補助情報蓄積部１０９に記録する（ステップＳ３１６）。次に、再生時刻算出部１０７は、変数「前再生時刻」に再生時刻として０を代入して時刻情報記憶部１０８に記録する（ステップＳ３１７）。
【００３８】
次に、受信部１０１はＰＣＲ＿Ａ２を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。次に、この受信パケットはＰＣＲ＿Ａ２を有し（ステップＳ３０４）、フラグ「ＳＴＣカウンタ動作」は「動作中」であり（ステップＳ３０５）、ＳＴＣ及びＰＣＲ＿Ａ２は共にタイムベースＡ上にあるので、タイムベース判定部１０６は「タイムベース切替無し」と判定する（ステップＳ３０６）。
【００３９】
つづいて、受信部１０１はＰＴＳ＿Ａ２を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。この受信パケットはＰＣＲを持たないものの（ステップＳ３０４）、ＰＴＳ＿Ａ２を有するため（ステップＳ３１０）、ＳＴＣ及びＰＴＳ＿Ａ２がタイムベース判定部１０６へと転送される。更に、ＰＴＳ＿Ａ２とＳＴＣが共にタイムベースＡ上であり（ステップＳ３１１）、フラグ「起点ＰＴＳ設定状況」が「登録済み」であるので（ステップＳ３１２）、再生時刻算出部１０７は再生時刻を算出する（ステップＳ３１４）。ここで、ＰＴＳはＰＴＳ＿Ａ２であり、変数「起点ＰＴＳ」はＰＴＳ＿Ａ１であり、総再生時刻は０であるから、再生時刻は（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１）と算出される。次に、処理対象のピクチャがＩＤＲピクチャであるとすれば（ステップＳ３１５）、再生時刻算出部１０７は再生時刻として（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１）、ＰＴＳとしてＰＴＳ＿Ａ２を対応付けて補助情報蓄積部１０９に記録する（ステップＳ３１６）。次に、再生時刻算出部１０７は、変数「前再生時刻」に再生時刻として（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１）を代入して時刻情報記憶部１０８に記録する（ステップＳ３１７）。
【００４０】
次に、本来はタイムベースＢ上のＰＣＲ＿Ｂ１を含むＴＳパケットが受信されるはずであるが、前述した通りこのＴＳパケットはエラーにより欠落したためタイムベース切替が検出されない。従って図５中の点線で示すように、ＳＴＣカウンタ１０３はタイムベースＡ上でＳＴＣをカウントし続けているものとする。
【００４１】
次に、受信部１０１はＰＴＳ＿Ｂ１を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。次に、この受信パケットはＰＣＲを持たないものの（ステップＳ３０４）、ＰＴＳ＿Ｂ１を有するため（ステップＳ３１０）、ＳＴＣ及びＰＴＳ＿Ｂ１がタイムベース判定部１０６へと転送される。ＳＴＣがタイムベースＡ上であり、ＰＴＳ＿Ｂ１がタイムベースＢ上であるから、タイムベース判定部１０６は「タイムベース切替有り」と判定する（ステップＳ３１１）。
【００４２】
次に、受信部１０１はＰＣＲ＿Ｂ２を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。この受信パケットはＰＣＲ＿Ｂ２を有し（ステップＳ３０４）、フラグ「ＳＴＣカウンタ動作」は「動作中」である（ステップＳ３０５）。次にシンタックス解析部１０２は、ＳＴＣがタイムベースＡ上にあり、ＰＣＲ＿Ｂ２がタイムベースＢ上にあるため、「タイムベース切替有り」と判定し（ステップＳ３０６）、ＳＴＣカウンタ１０３にＰＣＲ＿Ｂ２を再設定する（ステップＳ３０７）。次に、記録制御部１０４はフラグ「起点ＰＴＳ設定状況」を「未登録」に設定し、変数「総再生時刻」に変数「前再生時刻」及び定数「初期遅延量」を加算して更新し、時刻情報記憶部１０８に記録する（ステップＳ３０９）。ここで、処理前の変数「総再生時刻」は０であり、変数「前再生時刻」は（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１）であるから、変数「総再生時刻」は（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）となる。
【００４３】
次に、受信部１０１はＰＴＳ＿Ｂ２を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。次に、この受信パケットはＰＣＲを持たないものの（ステップＳ３０４）、ＰＴＳ＿Ｂ２を有するためＳＴＣ及びＰＴＳ＿Ｂ２がタイムベース判定部１０６へと転送される（ステップＳ３１０）。ＰＴＳ＿Ｂ２とＳＴＣが共にタイムベースＢ上であり（ステップＳ３１１）、フラグ「起点ＰＴＳ設定状況」が「未登録」であるから、再生時刻算出部１０７は変数「起点ＰＴＳ」にＰＴＳ＿Ｂ２を代入し、フラグ「起点ＰＴＳ設定状況」に「登録済み」を設定して、時刻情報記憶部１０８に記録する（ステップＳ３１３）。次に、再生時刻算出部１０７は再生時刻を算出する（ステップＳ３１４）。ここで、ＰＴＳはＰＴＳ＿Ｂ２であり、変数「起点ＰＴＳ」はＰＴＳ＿Ｂ２であり、総再生時刻は（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）であるから、再生時刻は（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）と算出される。次に、処理対象のピクチャがＩＤＲピクチャであるとすれば（ステップＳ３１５）、再生時刻算出部１０７は再生時刻として（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）、ＰＴＳとしてＰＴＳ＿Ｂ２を対応付けて補助情報蓄積部１０９に記録する（ステップＳ３１６）。次に、再生時刻算出部１０７は、変数「前再生時刻」に再生時刻として（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）を代入して時刻情報記憶部１０８に記録する（ステップＳ３１７）。
【００４４】
次に、受信部１０１はＰＣＲ＿Ｂ３を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。次に、この受信パケットはＰＣＲ＿Ｂ３を有し（ステップＳ３０４）、フラグ「ＳＴＣカウンタ動作」は「動作中」であり（ステップＳ３０５）、ＳＴＣ及びＰＣＲ＿Ｂ２は共にタイムベースＢ上にあるので、タイムベース判定部１０６は「タイムベース切替無し」と判定する（ステップＳ３０６）。
【００４５】
次に、受信部１０１はＰＴＳ＿Ｂ３を含むＴＳパケットを受信し（ステップＳ３０２）、記録制御部１０４はこの受信パケットをＴＳパケット記録部１０５に記録する（ステップＳ３０３）。次に、この受信パケットはＰＣＲを持たないものの（ステップＳ３０４）、ＰＴＳ＿Ｂ３を有するため（ステップＳ３１０）、ＳＴＣ及びＰＴＳ＿Ｂ３がタイムベース判定部１０６へと転送される。ＰＴＳ＿Ｂ３とＳＴＣが共にタイムベースＢ上であり（ステップＳ３１１）、フラグ「起点ＰＴＳ設定状況」が「登録済み」であるので（ステップＳ３１２）、再生時刻算出部１０７は再生時刻を算出する（ステップＳ３１４）。ここで、ＰＴＳはＰＴＳ＿Ｂ３であり、変数「起点ＰＴＳ」はＰＴＳ＿Ｂ２であり、総再生時刻は（ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）であるから、再生時刻は（ＰＴＳ＿Ｂ３−ＰＴＳ＿Ｂ２＋ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）と算出される。次に、処理対象のピクチャがＩＤＲピクチャであるとすれば（ステップＳ３１５）、再生時刻算出部１０７は再生時刻として（ＰＴＳ＿Ｂ３−ＰＴＳ＿Ｂ２＋ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）、ＰＴＳとしてＰＴＳ＿Ｂ３を対応付けて補助情報蓄積部１０９に記録する（ステップＳ３１６）。次に、再生時刻算出部１０７は、変数「前再生時刻」に再生時刻として（ＰＴＳ＿Ｂ３−ＰＴＳ＿Ｂ２＋ＰＴＳ＿Ａ２−ＰＴＳ＿Ａ１＋「初期遅延量」）を代入して時刻情報記憶部１０８に記録する（ステップＳ３１７）。
【００４６】
また、本実施形態における記録フォーマットとしてＳＤ−ＶＩＤＥＯ  ｆｏｒ  ＩＳＤＢ−Ｔを用いる場合、ＴＳパケット蓄積部１０５にはトランスポート・ストリーム・オブジェクト・データ（ＴＯＤ）ファイルが格納され、補助情報蓄積部１０９にはメディア・オブジェクト・インフォメーション（ＭＯＩ）ファイルが格納される。
【００４７】
図６（ａ）に示すようにＴＯＤファイルにはＴＳパケットのみが３２ビット（＝４バイト）の「０」で構成されるエクステンディッドＴＳ（ＥＴＳ）ヘッダを付加され、１９２バイト長のＥＴＳパケットとして記録されている。
【００４８】
また、図６（ｂ）に示すようにＭＯＩファイルには１２バイト長のＴＳＥ  ＩＮＦＯフィールド中に、ＴＯＤファイルに関する補助情報が記載されている。具体的には、ＴＯＤファイル中に記録されたＩＤＲピクチャに関するＥＴＳパケットのＰＴＳは２４ビット長のＰＴＳフィールドに格納され、このＰＴＳの再生時刻情報は３２ビット長のＰｂＯｆｆｓｅｔフィールドに格納されている。また、２５ビット長のトランスポート・パケット・インデックス（ＴＰＩ）は、ＭＯＩファイルに記載されるＰＴＳを持つＩＤＲが、ＴＯＤファイル中のどこに存在するかを表している。即ち、ＴＰＩはＴＯＤファイルに記録されたＩＤＲを含むＥＴＳパケットをサーチするためのテーブルである。ＭＯＩファイルに記載されているＰＴＳを持つＩＤＲを探索する際には当該ＰＴＳに対応してＭＯＩファイルに記載されているＴＰＩを参照し、例えば当該ＴＰＩが１０とＭＯＩファイルに記載されていれば、ＴＯＤファイル中に存在する先頭から１０番目のＥＴＳパケットが、所望のＥＴＳパケットとしてサーチされる。
【００４９】
このようにＴＯＤファイルに記録されたＥＴＳパケットを再生する際、例えば文献１のようにパケットの受信時刻を再生することができなければ、記録ストリーム中の連続するＰＣＲの差分が大きく変化したとき、タイムベース切替による変化なのか、エラーによりパケットが抜け落ちたことによる変化なのか、検出することができない。
【００５０】
ここで、ＭＯＩファイルに登録されたＰｂＯｆｆｓｅｔは、タイムベース切替が起きても連続的な値が記録されており、ＰＴＳはタイムベース切替を反映した値が記録されている。従って、ＭＯＩファイル中に登録された連続するＩＤＲに対して、ＰｂＯｆｆｓｅｔの増分とＰＴＳの増分が一致すればタイムベース切替は発生していない、一致しなければタイムベース切替による不一致と判定することが出来る。従って、本実施形態によればタイムベース切替が発生し、ＰＴＳに不連続が発生しても再生時刻には不連続が発生しないため、タイムベース切替が検出可能な形でＭＯＩファイルを生成することが出来る。
【００５１】
以上説明したように、本実施形態に係るストリーム記録装置は、ＰＴＳとＴＳパケット受信時のＳＴＣが同一のタイムベース上に有る場合のみ再生時刻を算出し、ＰＴＳと共に補助ファイルに登録している。また、タイムベース切替後は、現タイムベース上での起点ＰＴＳからのＰＴＳの増分に、前タイムベース上での総再生時刻及び初期遅延量を加算することにより再生時刻を算出している。従って、本実施形態に係るストリーム記録装置によれば、タイムベース切替が発生した場合であっても連続的に増加する再生時刻を記録することが可能なストリーム記録装置を提供することができる。
【００５２】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【００５３】
その一例として例えば、上記実施形態では、図４に示すフローチャートにおいてステップＳ３１５を設けることにより、ＩＤＲピクチャのみについて再生時刻及びＰＴＳを登録するようにしたが、このステップＳ３１５を省略することにより、非ＩＤＲピクチャについても再生時刻及びＰＴＳを登録するようにしても同様の効果を得られる。
【００５４】
その他、この発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施形態に係るストリーム記録装置を概略的に示すブロック図。
【図２】図１に示す受信部で受信されるＴＳパケット及びこのＴＳパケットを構成するＰＥＳパケットの構造を示す概略図。
【図３】（ａ）図２に示されるＴＳパケット中のＴＳヘッダの構造を示す概略図。（ｂ）図２に示されるＴＳパケット中のａｄａｐｔａｔｉｏｎ  ｆｉｅｌｄの構造を示す概略図。（ｃ）図２に示されるＰＥＳパケット中のＰＥＳヘッダの構造を示す概略図。
【図４】図１に示すストリーム記録装置における動作を示すフローチャート。
【図５】図１に示す受信部で受信されるＴＳパケットの受信タイミングを示すグラフ図。
【図６】（ａ）図１に示すＴＳパケット蓄積部に格納されるＳＤ−ＶＩＤＥＯ規格におけるＴＯＤファイルの構造を示す概略図。（ｂ）図１に示す補助情報蓄積部に格納されるＳＤ−ＶＩＤＥＯ規格におけるＭＯＩファイルの構造を示す概略図。
【符号の説明】
【００５６】
１００・・・ストリーム記録装置
１０１・・・受信部
１０２・・・シンタックス解析部
１０３・・・ＳＴＣカウンタ
１０４・・・記録制御部
１０５・・・ＴＳパケット蓄積部
１０６・・・タイムベース判定部
１０７・・・再生時刻算出部
１０８・・・時刻情報記憶部
１０９・・・補助情報蓄積部
【図１】
2008193151.tif 000003
【図２】
2008193151.tif 000004
【図３】
2008193151.tif 000005
【図４】
2008193151.tif 000006
【図５】
2008193151.tif 000007
【図６】
2008193151.tif 000008