(57)【特許請求の範囲】
【請求項１】
トランスポートストリームを構成し、パケット識別情報が割り当てられたトランスポートパケットが、前記パケット識別情報に対応するアドレスに記録されるとともに、
前記トランスポートパケットに含まれる符号化情報の不連続点情報と、
再生開始位置と成り得るデータが格納されている前記トランスポートパケットを特定するエントリポイントマップとが、前記トランスポートストリームに対応するデータベースとして記録されており、
再生装置により、前記データベースが参照され、指定された再生開始位置により再生開始可能位置が検索され、前記データベースに含まれる情報を用いて、前記再生開始可能位置に対応するトランスポートパケットが記録されている前記データ記録媒体上のアドレスが算出され、前記算出された前記データ記録媒体上のアドレスから前記トランスポートパケットの読み出しが開始されて前記トランスポートストリームが再生される
データ記録媒体。
【請求項２】
前記符号化情報は、システムタイムクロック時間軸情報である
請求項１に記載のデータ記録媒体。
【請求項３】
前記符号化情報は、プログラムシーケンス情報である
請求項１に記載のデータ記録媒体。
【請求項４】
前記データベースは、マーク点となるデータが格納されている前記トランスポートパケットを特定するためのマーク点情報をさらに含む
請求項１に記載のデータ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記録媒体に関し、例えば、MPEGビデオストリームをランダムアクセス再生が可能なように記録されたデータ記録媒体に関する。
【背景技術】
【０００２】
日本国内および欧米における衛星ディジタル放送や地上ディジタル放送等には、MPEG(Moving Picture Experts Group)２トランスポートストリームが用いられている。すなわち、ディジタル放送波としてのトランスポートストリームには、放送プログラムの映像や音声に対応するMPEGビデオストリームやMPEGオーディオストリームがパケット化されて時分割多重化されている。
【０００３】
そのようなトランスポートストリームを、受信側においてディジタル信号の状態で記録することができれば、ユーザは画質や音質が劣化しない高品質のプログラムを随時繰り返して視聴することが可能となる。
【０００４】
さらに、トランスポートストリームを、例えば、ハードディスクや、光ディスクのようなランダムアクセス可能なデータ記録媒体に記録するようにすれば、ユーザによって指定される再生時間軸上の任意の位置から再生を開始する、いわゆる、ランダムアクセス再生が実現される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、MPEGビデオストリームには、Ｉピクチャ、Ｂピクチャ、およびＰピクチャが適宜配置されているが、ＢピクチャおよびＰピクチャの再生には直前に再生された画像のデータが用いられることに起因して、３種類の画像の中で再生開始位置に成り得るのはＩピクチャだけである。したがって、ユーザが指定した再生開始位置からランダムアクセス再生を実行する際には、指定された再生開始位置に最も近いＩピクチャを検索して、当該Ｉピクチャから再生を開始することになる。
【０００６】
しかしながら、記録されているトランスポートストリームの中から指定された再生開始位置に最も近いＩピクチャを検索するためには、トランスポートストリームからMPEGビデオパケットを抽出し、各MPEGビデオパケットのヘッダやペイロードを解析しなければならず、それらの処理には時間がかかるので、ユーザの入力に対して即応性のあるランダムアクセス再生を実現することができない。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、ユーザからのコマンドに対して即応性のあるランダムアクセス再生を実現できるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面であるデータ記録媒体は、トランスポートストリームを構成し、パケット識別情報が割り当てられたトランスポートパケットが、前記パケット識別情報に対応するアドレスに記録されるとともに、前記トランスポートパケットに含まれる符号化情報の不連続点情報と、生開始位置と成り得るデータが格納されている前記トランスポートパケットを特定するエントリポイントマップとが、前記トランスポートストリームに対応するデータベースとして記録されており、再生装置により、前記データベースが参照され、指定された再生開始位置により再生開始可能位置が検索され、前記データベースに含まれる情報を用いて、前記再生開始可能位置に対応するトランスポートパケットが記録されている前記データ記録媒体上のアドレスが算出され、前記算出された前記データ記録媒体上のアドレスから前記トランスポートパケットの読み出しが開始されて前記トランスポートストリームが再生される。
【０００９】
前記符号化情報は、システムタイムクロック時間軸情報であるようにすることができる。
【００１０】
前記符号化情報は、プログラムシーケンス情報であるようにすることができる。
【００１１】
前記データベースは、マーク点となるデータが格納されている前記トランスポートパケットを特定するためのマーク点情報をさらに含むことができる。
【発明の効果】
【００１２】
本発明の一側面によれば、ユーザからのコマンドに対して即応性のあるランダムアクセス再生を実現できるデータ記録媒体を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態である記録装置の構成例を示すブロック図である。
【図２】データ記録媒体に記録されるDVRトランスポートパケットについて説明する図である。
【図３】図１のPLL部の構成例を示すブロック図である。
【図４】記録装置のトランスポートストリーム記録処理を説明するフローチャートである。
【図５】アライバルタイムスタンプを発生する過程を説明するフローチャートである。
【図６】記録装置のストリームデータベース記録処理を説明するフローチャートである。
【図７】図６のステップＳ２１の処理を説明するフローチャートである。
【図８】STC不連続点とエントリポイントの関係を説明するための図である。
【図９】STC不連続を説明するための図である。
【図１０】STC不連続を説明するための図である。
【図１１】プログラムシーケンスの不連続を解析する処理を説明するフローチャートである。
【図１２】エントリポイントマップの一例を示す図である。
【図１３】STC時間軸情報の一例を示す図である。
【図１４】STC不連続情報のシンタクスの第１の例を示す図である。
【図１５】STC不連続情報のシンタクスの第２の例を示す図である。
【図１６】プログラムシーケンスのシンタクスの第１の例を示す図である。
【図１７】プログラムシーケンスのシンタクスの第２の例を示す図である。
【図１８】program_sequenceの一例を示す図である。
【図１９】エントリポイントマップのシンタクスを示す図である。
【図２０】マークのシンタクスを示す図である。
【図２１】マークをSTC_sequence_idとPTSの値で示した一例を示す図である。
【図２２】EntryPointMapとSTC_Infoの関係について説明するための図である。
【図２３】本発明の一実施の形態である再生装置の構成例を示すブロック図である。
【図２４】再生装置の再生処理を説明するフローチャートである。
【図２５】マーク点情報を使った再生方法を説明するための図である。
【図２６】マーク点情報で示されるシーンの頭出し再生処理を説明するフローチャートである。
【図２７】マーク点情報を用いたＣＭスキップ再生処理を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
本発明を適用した記録装置１０の構成例について、図１を参照して説明する。この記録装置１０は、ディジタル放送波を受信するセットトップボックス等（不図示）から入力されるトランスポートストリームに不規則な間隔で多重化されている、図２（Ａ）に示すようなトランスポートパケット（MPEGビデオパケット、MPEGオーディオパケット等）に、トランスポートパケットエクストラヘッダを付加して、図２（Ｂ）に示すようなソースパケットを生成し、図２（Ｃ）に示すように、ソースパケットの間隔を詰めてDVRトランスポートストリームを生成し、データ記録媒体２１に記録するものである。なお、図２（Ａ），（Ｂ）の横軸は、記録装置１０へのトランスポートパケットの到着時刻(Arrival time clock)の時間軸を示している。
【００１５】
ストリーム解析部１１は、セットトップボックス等から順次入力されるトランスポートパケットの中からPCR(Program Clock Reference)が格納されているパケットを検索し、当該パケットからPCRを抽出してPLL(Phase Locked Loop)部１２に出力する。
【００１６】
なお、PCRが格納されているパケット（以下、PCRパケットと記述する）は、１００ミリ秒以下の間隔でトランスポートストリームに配置されている。PCRは、各トランスポートパケットに格納されているデータを再生するときの基準時刻となるシステムタイムクロック(以下、STCと記述する)を整合するための情報であって、２７メガヘルツの精度をもつ。なお、前後するPCRパケットに格納されているPCRの値の差は、通常、PCRパケットが配置される間隔（１００ミリ秒以下）に比例しているが、様々な理由により、前後するPCRパケットに格納されているPCRの値の差が通常よりも大きいことがある。そのような場合、PLL部１２（後述）で生成されるSTCは不連続となって、不連続の発生タイミングの前後でSTC時間軸が変化する。
【００１７】
ストリーム解析部１１はまた、順次入力されるトランスポートパケットのヘッダを解析してSTCの不連続を検出した場合、具体的には、PCRパケットのパケットＩＤの変化を検出した場合や、トランスポートパケットのヘッダの「discontinuity_indicator」に１を検出した場合、あるいは、DIT(Discontinuity Information Table)を検出した場合、不連続フラグを発生してPLL部１２に出力する。
【００１８】
ストリーム解析部１１はさらに、順次入力されるトランスポートパケットに、入力された順番を示すシリアルなパケット番号（パケット識別情報）を付与するとともに、トランスポートパケットのヘッダおよびペイロードを解析して、エントリポイントデータ、不連続点データ、および、マーク点データを生成し、ストリームデータベース作成部１６に出力する。
【００１９】
ここで、エントリポイントデータは、再生開始位置（エントリポイント）と成り得るＩピクチャのデータが格納されているパケットを特定する情報である。不連続点データは、STCの不連続（STC時間軸の変化）が発生したパケットを特定する情報である。マーク点データは、例えば、シーンチェンジ位置、コマーシャルの開始および終了位置等に対応する画像データが格納されているパケットを特定する情報である。
【００２０】
PLL部１２は、ストリーム解析部１１から入力されるPCRを用いて、２７メガヘルツのシステムクロック周波数を整合し、アライバルタイムクロック（ATC）カウンタ１３に出力する。PLL部１２はまた、PCRを初期値としてシステムクロック周波数に同期してカウントアップするSTCを発生し、当該STCに不連続が発生した場合や、ストリーム解析部１１から不連続フラグが入力された場合、不連続発生フラグをストリーム解析部１０に出力する。
【００２１】
図３は、PLL部１２の詳細な構成例を示している。１００ミリ秒以下の間隔でストリーム解析部１１から入力されるPCRは、比較部３１およびシステムタイムクロックカウンタ３４に供給される。比較部３１は、ストリーム解析部１１からのPCRの値とSTCカウンタ３４からのSTCの値との差分値を示す信号を発生して、ローパスフィルタ(LPF)３２および制御部３５に出力する。ローパスフィルタ３２は、比較部３１からの差分信号の高周波成分を取り除いて電圧制御発振器(VCO)３３に出力する。電圧制御発振器３３は、ローパスフィルタ３２からの差分信号が０となるように、２７メガヘルツのシステムクロック周波数を発生してSTCカウンタ３４および後段のATCカウンタ１３（図１）に出力する。
【００２２】
STCカウンタ３４は、最初に入力されたPCRを初期値とするSTCを、電圧制御発振器３３からのシステムクロック周波数（２７メガヘルツ）に同期してカウントアップし、比較部３１に出力する。制御部３５は、比較部３１からの差分信号の値が所定の閾値よりも大きいと判定した場合、ストリーム解析部１１から不連続フラグが入力された場合等に、不連続発生フラグを発生してストリーム解析部１１に出力する。
【００２３】
例えば、PLL部１２に一定間隔の値を持つPCRが順次入力されている場合、比較部３１からの差分値は０となり、制御部３５において不連続発生フラグは出力されないが、前に入力されたPCRの値と大きく異なる値を持つPCRが入力された場合、比較部３１からの差分値は大きな値となり、制御部３５においては閾値よりも大きいと判定されて不連続発生フラグが出力される。連続していない当該PCRは、システムタイムクロックカウンタ３４において新たなSTC時間軸の初期値として用いられる。
【００２４】
図１に戻り、ATCカウンタ１３は、PLL部１２から入力されるシステムクロック周波数に同期して、アライバルタイムクロック（以下、ATCと記述する）をカウントアップし、同時に、ATCのサンプル値であるアライバルタイムスタンプ(arrival_time_stamp)をトランスポートパケットエクストラヘッダ(TP_extra_header)付加部１５に出力する。ATCカウンタ１３はまた、ATCをストリーム解析部１１に出力する。なお、ATCは、プログラムの先頭に位置するトランスポートパケットが記録装置１０に入力されたときに０に初期化されるものとする。
【００２５】
トランスポートパケットエクストラヘッダ付加部１５は、セットトップボックスからのトランスポートパケット（１８８バイト）に、パケットの入力と同時にカウンタ１３から入力されるアライバルタイムスタンプを含むトランスポートパケットエクストラヘッダ（４バイト）を付加してソースパケット（１９２バイト）を生成し、ファイルシステム部１７に出力する。
【００２６】
ストリームデータベース作成部１６は、ストリーム解析部１１から入力されるエントリポイントデータ、不連続点データ、およびマーク点データのそれぞれを用いて、エントリポイントマップ、システムタイムクロック時間軸情報、プログラムシーケンス情報、および、マーク点情報（いずれも後述する）を作成し、それらをストリームデータベースとしてファイルシステム部１７に出力する。ここで、ストリームデータベースは、データ記録媒体２１に記録されたトランスポートストリームをランダムアクセス再生する際に用いられる情報である。
【００２７】
ファイルシステム部１７は、トランスポートパケットエクストラヘッダ付加部１５から入力されるソースパケットの間隔を詰めて図２（Ｃ）に示すようなDVRトランスポートストリームを生成してファイル化する。ファイルシステム部１７はまた、ストリームデータベース作成部１６から入力されるストリームデータベース（エントリポイントマップ、システムタイムクロック時間軸情報、プログラムシーケンス情報、および、マーク点情報）をファイル化する。ファイルシステム部１７はさらに、生成したDVRトランスポートストリームおよびストリームデータベースファイルを誤り訂正部１８に出力する。
【００２８】
誤り訂正部１８は、ファイルシステム部１７から入力されるファイルに誤り訂正用の情報を付加して変調部１９に出力する。変調部１９は、誤り訂正部１８からのファイルを所定の方法で変調して書き込み部２０に出力する。書き込み部２０は、変調されたDVRトランスポートストリームファイルを、当該ファイルの中のトランスポートパケットに付与されたパケット番号に対応するデータ記録媒体２１のアドレスに記録する。書き込み部２０はまた、変調されたストリームデータベースファイルをデータ記録媒体２１の所定の位置に記録する。データ記録媒体２１は、例えば、ハードディスク、光ディスク等のようなランダムアクセス可能であって、記録装置１０に脱着可能な媒体である。
【００２９】
制御部２２は、ドライブ２３を制御して、磁気ディスク２４、光ディスク２５、光磁気ディスク２６、または半導体メモリ２７に記憶されている制御用プログラムを読み出し、読み出した制御用プログラム、および、ユーザから入力されるコマンド等に基づいて記録装置１０の各部を制御する。
【００３０】
次に、記録装置１０のトランスポートストリーム記録処理について、図４のフローチャートを参照して説明する。このトランスポートストリーム記録処理は、ユーザからの記録開始コマンドに対応して開始される。
【００３１】
ステップＳ１において、トランスポートパケットエクストラヘッダ付加部１５は、セットトップボックス等から入力されたトランスポートパケットに、ATCカウンタ１３から入力されたアライバルタイムスタンプを含むトランスポートパケットエクストラヘッダを付加してソースパケットを生成し、ファイルシステム部１７に出力する。
【００３２】
ここで、トランスポートパケットエクストラヘッダに含まれるアライバルタイムスタンプが発生される処理について、図５のフローチャートを参照して説明する。
【００３３】
ストリーム解析部１１では、ステップＳ１１において、入力されたトランスポートストリームのPAT(Program Association Table)が格納された、PIDが0x0000であるPATパケットが検出されてPATが読み出され、PATに記述されているPMT(Program Map Table)が格納されたパケット（以下、PMTパケットと記述する）のPIDが取得される。ステップＳ１２において、ステップＳ１１で取得されたPMTパケットのPIDに基づいてPMTパケットが検出されてPMTが読み出され、PMTに記述されているPCRが格納されたパケット（以下、PCRパケットと記述する）のPIDが取得される。ステップＳ１３において、ステップＳ１２で取得されたPCRパケットのPIDに基づいてPCRが検出されてPCRが読み出される。読み出されたPCRは、PLL部１２に供給される。
【００３４】
ステップＳ１４において、PLL部１２は、ストリーム解析部１１から入力されたPCRを用いてシステムクロック周波数を整合し、ATCカウンタ１３に供給する。ステップＳ１５において、ATCカウンタ１３は、PLL部１２からのシステムクロック周波数に同期してATCをカウントアップし、同時に、そのサンプリング値をアライバルタイムスタンプとしてトランスポートパケットエクストラヘッダ付加部１５に出力する。
【００３５】
図４に戻る。ステップＳ２において、ファイルシステム部１７は、トランスポートパケットエクストラヘッダ付加部１５から入力されたソースパケットの間隔を詰め、得られたDVRトランスポートストリームをファイル化して誤り訂正部１８に出力する。ファイルシステム部１７からのDVRトランスポートストリームファイルは、ステップＳ３において、誤り訂正部１８により、誤り訂正用の情報が付加され、変調部１９により、変調された後、書き込み部２０によって、データ記録媒体２１上のパケット番号に対応するアドレスに記録される。
【００３６】
次に、上述したトランスポートストリーム記録処理と並行して実行されるストリームデータベース記録処理について、図６のフローチャートを参照して説明する。
【００３７】
ステップＳ２１において、ストリーム解析部１１は、順次入力されるトランスポートストリームを解析して、MPEG２システムズ規格のＩピクチャのデータが格納されているパケットを検出し、当該パケットのパケット番号、および、当該ＩピクチャのPTS(Presentation Time Stamp)をエントリポイントデータとして取得する。なお、PTSはMPEG２システムズ規格のPESパケットのヘッダに含まれる情報であり、当該ピクチャが再生される、システムタイムクロック時間軸上の時刻を示している。
【００３８】
ステップ２１の具体的な処理を図７のフローチャートを参照して説明する。ステップＳ３１において、ストリーム解析部１１は、トランスポートパケットが入力されたか否かを判定し、トランスポートパケットが入力されたと判定するまで待機する。トランスポートパケットが入力されたと判定された場合、ステップＳ３２に進む。
【００３９】
ステップＳ３２において、ストリーム解析部１１は、トランスポートパケットのトランスポートパケットヘッダに含まれるペイロードユニットスタートインジケータ(payload_unit_start_indicator)に１が記述されているか否かを検出することによって、当該トランスポートパケットのペイロードがPESパケットの第１バイト目から開始しているか否かを判定する。ペイロードユニットスタートインジケータに１が記述されていることが検出されて、トランスポートパケットのペイロードがPESパケットの第１バイト目から開始していると判定された場合、ステップＳ３３に進む。
【００４０】
ステップＳ３３において、ストリーム解析部１１は、トランスポートパケットのペイロードに記述されているPESパケットの先頭に、MPEGビデオのシーケンスヘッダコード（sequence_header_code）である0x000001B3が記述されているか否かを判定する。MPEGビデオのシーケンスヘッダコードが記述されていると判定された場合、当該トランスポートパケットのペイロードには、Ｉピクチャのデータが格納されていると判定してステップＳ３４に進む。
【００４１】
ステップＳ３４において、ストリーム解析部１１は、当該トランスポートパケットがエントリポイントであると判定し、当該トランスポートパケットに格納されているＩピクチャのPTSに、当該トランスポートパケットのパケット番号（当該バケット番号を用いて、当該パケットが記録されているデータ記録媒体２１上のアドレスを特定することが可能である）を対応付けて、当該プログラムの識別情報（ビデオPID）とともにエントリポイントデータとしてストリームデータベース作成部１６に出力する。
【００４２】
例えば図８に示すように、パケット番号Ｅ１１，Ｅ１２，Ｅ２１，Ｅ２２のパケットにＩピクチャのデータが格納されていると判定された場合、PTS＝ｘ１１，ｘ１２，ｘ２１、ｘ２２に、それぞれ、パケット番号Ｅ１１，Ｅ１２，Ｅ２１、Ｅ２２が対応付けられてストリームデータベース作成部１６に出力される。
【００４３】
ステップＳ３５において、ストリーム解析部１１は、トランスポートパケットの入力が終了したか否かを判定する。トランスポートパケットの入力が終了していないと判定された場合、ステップＳ３１に戻り、それ以降の処理が繰り返され、ステップＳ３５において、トランスポートパケットの入力が終了したと判定された場合、図６のステップＳ２２にリターンする。
【００４４】
ステップＳ２２において、ストリーム解析部１１はトランスポートストリームのSTC時間軸に関する不連続情報と、プログラムシーケンスの不連続情報を不連続点データとしてストリームデータベース作成部16に出力する。ここで、ストリーム解析部11は、STC時間軸に関する不連続情報に関しては、PLL部１２からの不連続点発生フラグが入力されたタイミングの前後で変化するSTC時間軸に関する情報（STC時間軸ＩＤ、PCR_PIDstart_PCR_value、end_STC_value、およびRSPN_STC_start）を不連続点データとしてストリームデータベース作成部１６へ出力する。また、ストリーム解析部１１は、プログラムシーケンスについての不連続情報に関しては、PSI/SIの変化するアドレスと新しいPSI/SIの内容を不連続点データとしてストリームデータベース作成部１６に出力する。
【００４５】
不連続点データについて説明する。STC時間軸ＩＤは、STC時間軸を識別する情報である。一対のstart_PCR_valueとend_STC_valueは、連続したSTC時間軸の開始時刻と終了時刻を示す値である。
【００４６】
start_PCR_valueには、STCの不連続を発生させたPCRの値が用いられる。ただし、入力されたトランスポートストリームの最初のstart_PCR_valueには、最初のPCRパケットに格納されているPCRの値が用いられる。
【００４７】
end_STC_valueは、次式によって計算される。end_STC_value＝last_PCR＋PCR_gapここで、last_PCRは、STC時間軸を変化させたPCRパケットの１つ前のPCRパケットの値である。PCR_gapは、last_PCRからSTCの不連続が発生するまでの時間差である。ただし、入力されたトランスポートストリームの最後のend_STC_valueには、最後のトランスポートパケットの入力時刻が用いられる。
【００４８】
RSPN_STC_startには、STCが開始するパケットのパケット番号が用いられる。具体的には、start_PCR_valueとなるPCRが格納されているPCRパケットのパケット番号が用いられる。ここで、RSPNは、Relative Source Packet Numberの略であり、トランスポートストリームの先頭のパケットに付与されたパケット番号を初期値としてカウントされる相対パケット番号であることを示す。または、RSPN_STC_startは、STCの不連続を検出したときのパケットの番号、PCRパケットのパケットＩＤの変化を検出した時のパケット番号、トランスポートパケットのヘッダのdiscontinuity_indicatorに１を検出した時のパケット番号、またはDITのパケットを検出した時のパケット番号を用いてもよい。
【００４９】
具体的には、図９に示すように、一連のトランスポートストリームにおいてSTCの不連続が１度発生し、トランスポートストリームの先頭から不連続発生点までのSTC時間軸をSTC１とし、それ以降のSTC時間軸をSTC２とした場合、STC時間軸STC１のstart_PCR_valueには、start_PCR１が用いられ、end_STC_valueには、last_PCRにPCR_gapを加算したend_stc１が用いられる。また、STC時間軸STC２のstart_PCR_valueには、start_PCR２が用いられ、end_STC_valueには、end_stc２が用いられる。
【００５０】
図９および図１０から明らかなように、STCの不連続には関係せず、ATCカウンタ１３で生成されるATCは、STCの不連続に関係せず連続である。ただし、図１０において、横軸はATCを示し、縦軸はSTCを示しており、start_PCR_valueとend_STC_valueの関係が示されている。
【００５１】
ここで、プログラムシーケンスについての不連続情報を解析する処理について、図１１のフローチャートを参照して説明する。
【００５２】
ステップＳ４１において、ストリーム解析部１１は、PSI/SIのトランスポートパケットが入力されるまで待機し、PSI/SIのトランスポートパケットが入力され多と判定した場合、ステップＳ４２に進む。
【００５３】
ここで、PSI/SIのトランスポートパケットは、具体的には、PAT, PMT, SITのパケットである。SITは、DVB規格で規定されているパーシャルトランスポートストリームのサービス情報が記述されているトランスポートパケットである。
【００５４】
ステップＳ４２において、ストリーム解析部１１は、PSI/SIの内容が変化したか否かを判定する。すなわち、ストリーム解析部１１は、PAT,PMT,SITのそれぞれの内容が、以前に入力されたそれぞれの内容と比べて変化したか否かを判定する。内容が変化したと判定された場合、ステップＳ４３に進む。なお、記録開始後、最初のステップＳ４２においても、以前に入力されたPSI/SIのトランスポートパケットは存在しないので、ステップＳ４３に進む。
【００５５】
ステップＳ４３において、新しいPSI/SIを伝送するトランスポートパケットに付与したパケット番号とその内容を取得してストリームデータベース作成部１６に出力する。ステップＳ４４において、ストリームデータベース作成部１６は、プログラムシーケンスの不連続情報を作成する。
【００５６】
ステップＳ４５において、ストリーム解析部１１は、トランスポートパケットの入力が終了したか否かを判定する。トランスポートパケットの入力が終了していないと判定された場合、ステップＳ４１に戻り、それ以降の処理が繰り返される。その後、ステップＳ４５において、トランスポートパケットの入力が終了したと判定された場合、この処理は終了される。
【００５７】
なお、ステップＳ４２において、PSI/SIの内容が変化していないと判定された場合、ステップＳ４１に戻り、それ以降の処理が繰り返される。
【００５８】
図６に戻る。ステップＳ２３において、ストリーム解析部１１は、順次入力されるトランスポートパケットのヘッダおよびペイロードを解析してマーク点（例えば、シーンチェンジ位置、コマーシャルの開始および終了位置等）を検出し、それらの画像データが格納されているパケットを特定する情報（当該プログラムの識別情報（ビデオPID）、システムタイムクロック時間軸ＩＤ、および当該ピクチャのPTS）をマーク点データとしてストリームデータベース作成部１６に出力する。
【００５９】
なお、上述したステップＳ２１乃至Ｓ２３の処理は、便宜上、時系列的に説明したが、実際には、順次入力されるトランスポートパケットに対して並行して実行される。
【００６０】
ステップＳ２４において、ストリームデータベース作成部１６は、ストリーム解析部１１からのエントリポイントデータを各プログラム毎に記述した、図１２に示すようなエントリポイントマップを作成する。ここで、オフセットソースパケットナンバは、トランスポートストリームの先頭のパケットに付与されたパケット番号である。
【００６１】
ストリームデータベース作成部１６はまた、ストリーム解析部１１からのＳＴＣの不連続点データを記述した、図１３に示すような、システムタイムクロック時間軸ＩＤ(STC_sequence_id)、PCR_PID、start_PCR_value、end_STC_value、およびRSPN_STC_startからなるシステムタイムクロック時間軸情報を作成する。RSPN_STC_startは、上述したオフセットソースパケットナンバを初期値として、カウントされるパケット番号である。
【００６２】
ストリームデータベース作成部１６はさらに、ストリーム解析部１１からのマーク点データ（ビデオPID、システムタイムクロック時間軸ＩＤ、および画像のPTS）を記述したマーク点情報を生成する。
【００６３】
ストリームデータベース作成部１６はさらに、ストリーム解析部１１からのプログラムシーケンスの不連続点データ（詳細は後述する）を記述したプログラムシーケンス情報を生成する。
【００６４】
ステップＳ２５において、ストリーム作成部１６は、ステップＳ２４で作成したエントリポイントマップ、システムタイムクロック時間軸情報、およびマーク点情報をストリームデータベースとしてファイルシステム部１７に出力する。ファイルシステム部１７は、入力されたストリームデータベースをファイル化する。ファイル化されたストリームデータベースは、誤り訂正部１８によって誤り訂正用の情報が付加され、変調部１９によって変調された後、書き込み部２０によってデータ記録媒体２１の所定の位置に記録される。
【００６５】
上述したようにデータ記録媒体２１に記録されたストリームデータベースは、後述する再生処理、特に、ランダムアクセス再生時において利用される。
【００６６】
なお、ストリームデータベースのエントリポイントマップには、エントリポイントの位置を特定する情報としてパケット番号を記述するようにしているので、エントリポイントの位置をバイト精度のアドレスを用いて表現する場合に比べて、必要なビット量を小さくすることができる。
【００６７】
ここで、STC不連続情報のシンタクスの第１の例を図１４に示す。
【００６８】
STC_Info()は、当該シンタクスがSTC不連続点情報であることを示す。STC_Info()は、num_of_STC_sequencesの数のSTC時間軸情報を持つ。STC_sequence_idは、STC時間軸ＩＤ（図１３）を示す。PCR_PID、RSPN_STC_start、start_PCR_value、end_stc_valueの各フィールドは、それぞれ、図１３で示す同名の変数名と同じ意味を持つ。
【００６９】
STC不連続情報のシンタクスの第２の例を図１５に示す。Seq_Info()は、num_of_STC_sequencesの数のSTC時間軸情報を持つ。STC_sequence_idは、STC時間軸ＩＤ（図１３）を示す。Offset_STC_sequence_idは、トランスポートストリームの先頭の STC時間軸に付与されたSTC時間軸ＩＤである。RSPN_STC_startのフィールドは、それぞれ、図１３で示す同名の変数名と同じ意味を持つ。
【００７０】
このシンタクスでは、図１４の例のシンタクスにおけるstart_PCR_valueとend_STC_valueの代わりにstart_PTSとend_PTSを用いる。start_PTSは、STC_sequence_idで示されるSTC時間軸ＩＤ上の最初のプレゼンテーションユニットのPTSを示す。end_PTSは、STC_sequence_idで示されるSTC時間軸ＩＤ上の最後のプレゼンテーションユニットのPTSを示す。
【００７１】
なお、図１５のシンタクスでは、記録するトランスポートストリームが参照するPCR_PIDが同時に１つしかないとフォーマット制限することにより、シンタクス中からPCR_PIDを省略している。
【００７２】
次に、プログラムシーケンスの不連続情報のシンタクスの第１の例を図１６に示す。
【００７３】
ProgramInfo()は、当該シンタクスがプログラムシーケンスの不連続情報であることを示す。ProgramInfo()は、number_of_PSI_SI_changeの数のPSI/SI情報を持つ。PSI_SI_typeは、次に続くPSI/SIの種類を示す。なお、PSI_SI_type＝０はPATを意味し、PSI_SI_type＝１はPMTを意味し、PSI_SI_type＝２はSITを意味する。PSI_SI_type＝３乃至２５５はリザーブである。
【００７４】
PSI_SI_typeがPATを示す場合、start_PAT_addressのフィールドが続く。start_PAT_addressは、新しいPATが格納されているトランスポートパケットのDVRトランスポートストリームファイル上のアドレスであり、これはパケット番号で表される。
【００７５】
PSI_SI_typeがPMTを示す場合、program_map_PID、start_PMT_address、program_number、PCR_PID、number_of_videos、number_of_audios、およびnumber_of_videosの数に等しいvideo_PIDと、VideoCodingInfo()、およびnumber_of_audiosの数に等しいaudio_PIDとAudioCodingInfo()のフィールドが続く。
【００７６】
program_map_PIDは、新しいPMTのパケットＩＤである。start_PMT_addressは、新しいPMTが格納されているトランスポートパケットのDVRトランスポートストリームファイル上のアドレスであり、これはパケット番号で表される。program_numberは、新しいPMTの内容に書かれているプログラム番号である。PCR_PIDは、新しいPMTの内容に書かれているPCRを伝送するトランスポートパケットのパケットＩＤである。number_of_videosは、新しいPMTの内容に書かれているビデオストリームの数である。video_PIDは、ビデオストリームを伝送するトランスポートパケットのパケットＩＤである。
【００７７】
VideoCodingInfo()は、当該ビデオストリームの符号化情報であり、例えば、ビデオがSDTVまたはHDTVのいずれであるかを示す情報や、ビデオのフレーム周波数や画素のアスペクト比などを示す情報が含まれる。number_of_audiosは、新しいPMTの内容に書かれているオーディオストリームの数である。audio_PIDは、オーディオストリームを伝送するトランスポートパケットのパケットＩＤである。
【００７８】
AudioCodingInfo()は、オーディオストリームの符号化情報であり、例えば、オーディオ符号化方法（MPEG１オーディオ／MPEG２AACオーディオ／ドルビAC３など）や、コンポーネントタイプ（２chステレオ／５．１chマルチチャネルステレオなど）や、サンプリング周波数などの情報が含まれる。
【００７９】
PSI_SI_typeがSITを示す場合、start_SIT_addressのフィールドが続く。start_SIT_addressは、新しいSITが格納されているトランスポートパケットのDVRトランスポートストリームファイル上のアドレスであり、これはパケット番号で表される。
【００８０】
図１７に、ProgramInfo()のシンタクスの第２の例を示す。このシンタクスは、記録するトランスポートストリームが参照するPCR_PIDが同時に１つしかないとフォーマット制限する場合に用いることができる。このフォーマットでは、トランスポートストリームの中で次の（１）乃至（３）の特徴をもつ時間区間をprogram_sequence（プログラムシーケンス）と称する。
【００８１】
（１）PCR_PIDの値が変わらない。
（２）ビデオエレメンタリーストリームの数が変化しない。また、それぞれのビデオストリームについてのPIDの値とそのVideoCodingInfoによって定義される符号化情報が変化しない。
（３）オーディオエレメンタリーストリームの数が変化しない。また、それぞれのオーディオストリームについてのPIDの値とそのAudioCodingInfoによって定義される符号化情報が変化しない。
【００８２】
program_sequenceは、同一の時刻において、ただ１つのシステムタイムベースを持つ。また、program_sequenceは、同一の時刻において、ただ１つのPMTを持つ。ProgramInfo()は、program_sequenceが開始する場所のアドレスをストアする。RSPN_program_sequence_startが、そのアドレスを示す。この値は、上記の定義のprogram_sequenceの内容が変化する境界のソースパケット番号を示していればよい。例えば、上述のstart_PMT_address（新しいPMTが格納されているトランスポートパケットのアドレス）がセットされてもよい。
【００８３】
図１８は、program_sequenceの例を示している。この例では、トランスポートストリームの途中でprogram_sequenceの内容が２回変化しているので、program_sequenceが３個含まれており、先頭のソースパケット番号（アドレス）とprogram_sequenceの変化点のソースパケット番号（アドレス）が、RSPN_program_sequence_startにストアされる。
【００８４】
次に、図１９は、エントリポイントマップのシンタクスの例を示している。
【００８５】
EntryPointMap()は、当該シンタクスがエントリポイントマップのシンタクスであることを示す。EntryPointMap()は、number_of_video_streamsの数のvideo_PID毎のエントリポイント情報を持つ。video_PIDは、ビデオストリームを伝送するトランスポートパケットのパケットＩＤである。number_of_entry_pointsは、当該ビデオストリームのエントリポイントの数を示す。PTS_EP_startとRSPN_EP_startは、それぞれ、図１２に示したエントリポイントのPTS、またはエントリポイントのアドレスと同じ意味を持つ。
【００８６】
次に、図２０は、マークのシンタクスを示す。ClipMarkは、当該シンタクスがマークのシンタクスであることを示す。version_numberは、当該ClipMark()のバージョンナンバを示す４個のキャラクタ文字である。lengthは、lengthフィールドの直後からClipMark()の最後までのClipMark()のバイト数を示す３２ビットの符号なし整数である。number_of_Clip_marksは、ClipMarkの中にストアされているマークの個数を示す１６ビットの符号なし整数である。number_of_Clip_marks は、０であってもよい。mark_typeは、マークのタイプを示す８ビットのフィールドであり、ＣＭスタートやエンド等の種類を示す。３２ビットのフィールドを有するmark_time_stampは、マークが指定されたポイントを示すタイムスタンプをストアする。mark_time_stampは、マークで参照されるプレゼンテーションユニットに対応する３３ビット長のPTSの上位３２ビットを示さなければならない。８ビットのフィールドを有するSTC_sequence_idは、マークが置かれているところのSTC連続区間のSTC_sequence_idを示す。
【００８７】
図２１は、記録されたトランスポートストリームファイル（DVRトランスポートストリームファイル）へのイン点またはアウト点のアクセスポイント、ＣＭの開始点または終了点などのマークをSTC_sequanece_idとPTSの値で表している例を示す。ここで、イン点およびアウト点は、それぞれ再生の開始点と終了点である。
【００８８】
記録されるトランスポートストリームの中にはSTCの不連続点が含まれてもよいので、記録されるトランスポートストリームの中に同じ値のPTSが現れる場合がある。したがって、記録されるトランスポートストリームへのアクセスポイントをPTSベースでセットする場合、そのポイントを特定するためにPTSの値だけでは不十分である。そこで、さらに、そのPTSが含まれるSTC時間軸ＩＤを使用する。
【００８９】
次に、EntryPointMapとSTC_Infoの関係について説明する。記録されるトランスポートストリームのファイルに付属するデータベースであるところの１つのvideo_PIDで参照されるビデオストリームについてのEntryPointMapは、STCの不連続点に関係なく１つのテーブルに作られる。RSPN_EP_startの値とSTC_Info()において定義されるRSPN_STC_startの値を比較する事により、それぞれのSTC_sequenceに属するEP_mapのデータの境界が分かる。
【００９０】
図２２に示す例では、EntryPointＭapに含まれているEntry PointのアドレスX21がSTC_Info()が示すSTC時間軸の開始アドレスであるRSPN_STC_start#2よりも大きい場合を示しており、Entry PointのアドレスX1n以前のエントリポイントデータは、STC_sequence#1のSTC時間軸に属するデータであり，アドレスX21以降のエントリポイントデータは、STC_sequence#2のSTC時間軸に属するデータである。
【００９１】
次に、図２３は、記録装置１０によって、DVRトランスポートストリームファイルとストリームデータベースファイルが記録されたデータ記録媒体２１から、DVRトランスポートストリームを再生する再生装置４０の構成例を示している。
【００９２】
再生装置４０はまた、ユーザが指定したマーク点（視聴中に気に入ったシーンの位置や、視聴を中断した位置等）を、データ記録媒体２１に記録されているストリームデータベースに含まれるマーク点情報に追加して記録する機能を有している。
【００９３】
読み出し部４１は、制御部４９から入力される読み出し制御信号に対応して、データ記録媒体２１からDVRトランスポートストリームファイルまたはストリームデータベースファイルに対応するデータを読み出して復調部４２に出力する。復調部４２は、読み出し部４１から入力されたデータに、図１の変調部１９に対応する復調を施して誤り訂正部４３に出力する。誤り訂正部４３は、図１の誤り訂正部１８で付与された誤り訂正用の情報に基づいてデータの誤り訂正を実行し、得られたDVRトランスポートストリームファイルまたはストリームデータベースファイルをファイルシステム部４４に出力する。
【００９４】
ファイルシステム部４４は、誤り訂正部４３から入力されるDVRトランスポートストリームファイルをソースパケットに分離してバッファ４５に出力する。ファイルシステム部４４はまた、誤り訂正部４３から入力されるストリームデータベースを制御部４９に供給する。
【００９５】
バッファ４５は、ソースパケットのトランスポートパケットエクストラヘッダに含まれるアライバルタイムスタンプが、クロック発振器４８から供給されるATCと等しいタイミングにおいて、当該ソースパケットからトランスポートパケットエクストラヘッダを除去したトランスポートパケットをデマルチプレクサ４６に出力する。
【００９６】
デマルチプレクサ４６は、バッファ４５から入力されるトランスポートパケットから、ユーザが指定するプログラムに対応するビデオパケットとオーディオパケットを抽出してＡＶデコーダ４７に出力する。ＡＶデコーダ４７は、デマルチプレクサ４６からのビデオパケットとオーディオパケットをデコードして、得られるビデオ信号およびオーディオ信号を後段に出力する。クロック発振器４８は、２７メガヘルツのATCを発生してバッファ４５に出力する。
【００９７】
制御部４９は、ドライブ５１を制御して、磁気ディスク５２、光ディスク５３、光磁気ディスク５４、または半導体メモリ５５に記憶されている制御用プログラムを読み出し、読み出した制御用プログラム、および、ユーザから入力されるコマンド等に基づいて再生装置４０の各部を制御する。
【００９８】
制御部４９はまた、ユーザから新たなマーク点の指定するコマンドが入力された場合、入力されるマーク点の位置をマーク点データ（ビデオPID、システムタイムクロック時間軸ＩＤ、および画像のPTS）に変換して、書き込み部５０に出力する。
【００９９】
書き込み部５０は、制御部４９から入力されるマーク点データを、データ記録媒体２１に記録されているストリームデータベースに含まれるマーク点情報に追加して記録する。
【０１００】
次に、再生装置４０の再生処理について、図２４のフローチャートを参照して説明する。この再生処理は、ユーザから、再生するプログラムの指定と再生開始コマンドが入力されたときに開始される。
【０１０１】
ステップＳ５１において、読み出し部４１によって、再生するプログラムに対応するストリームデータベースがデータ記録媒体２１から読み出され、復調部４２乃至ファイルシステム部４４によって処理された後、制御部４９に供給される。ステップＳ５２において、ユーザから再生開始位置（ビデオPID、STC時間軸ＩＤ、および画像のPTS）が制御部４９に入力される。なお、再生開始位置として、ストリームデータベースに含まれるマーク点情報のマーク点を指定することも可能である。
【０１０２】
ステップＳ５３において、制御部４９は、ステップＳ５２で入力された再生開始位置と、ステップＳ５１で得たストリームデータベースを比較して、再生開始位置に最も近いエントリポイントを検出し、そこに対応して記述されているパケット番号を用いてDVRトランスポートストリームの読み出し開始アドレスを計算する。
【０１０３】
ステップＳ５４において、読み出し部４１は、制御部４９の制御に基づいて、ステップＳ５３で決定された、データ記録媒体２１上の読み出し開始アドレスからDVRトランスポートストリームの読み出しを開始する。読み出されたDVRトランスポートストリームは、復調部４２乃至デマルチプレクサ４６によって処理されて、得られたビデオパケットとオーディオパケットはＡＶデコーダ４７に入力される。
【０１０４】
ステップＳ５５において、ＡＶデコーダ４７は、デマルチプレクサ４６からのビデオパケットとオーディオパケットをデコードして、得られたビデオ信号およびオーディオ信号を例えばモニタ（不図示）に出力する。
【０１０５】
ステップＳ５６において、制御部４９は、ユーザから、例えばランダムアクセス再生などの再生位置の変更が指示されたか否かを判定する。再生位置の変更が指示されたと判定された場合、ステップＳ５３に戻り、再び、読み出し開始アドレスが決定され、それ以降の処理が繰り返される。
【０１０６】
ステップＳ５６において、再生位置の変更が指示されていないと判定された場合、ステップＳ５７に進む。ステップＳ５７において、制御部４９は、ユーザから再生終了が指示されたか否かを判定する。再生終了が指示されていないと判定された場合、ステップＳ５４に戻り、それ以降の処理が繰り返される。その後、再生終了が指示されたと判定された場合、この再生処理は終了される。
【０１０７】
次に、マーク点情報を使った再生について説明する。例えば、図２５に示すように、DVRトランスポートストリームファイルとそのデータベースであるEntryPointMapおよびClipMarkとSTC_Infoが記録されているとする。
【０１０８】
始めに、マーク点で示されるシーンの頭出し再生処理について、図２６のフローチャートを参照して説明する。
【０１０９】
ステップＳ７１において、DVRトランスポートストリームファイルのデータベースであるEntryPointMap, STC_Info, Program_InfoとClipMarkが読み出される。ステップＳ７２において、ユーザからの再生開始点のマーク点の指定が受け付けられる。例えば、シーンの開始点を示すサムネール画像がメニュ画面上に表示され、その中でユーザによって選択されたサムネール画像に対応づけられているマーク点が受け付けられる。
【０１１０】
ステップＳ７３において、ユーザから指定されたマーク点のPTSとSTC_sequence_idが取得される。ステップＳ７４において、STC_InfoからSTC_sequence_idに対応するSTC時間軸の開始するソースパケット番号が取得される。ステップＳ７５において、STC時間軸の開始するパケット番号とマーク点のPTSから、マーク点のPTSよりも時間的に以前であって、且つ、最も近いエントリポイントのあるソースパケット番号が取得される。
【０１１１】
ステップＳ７６において、ステップＳ７５で取得されたソースパケット番号からトランスポートストリームのデータが読み出されてＡＶデコーダ４７に供給される。ステップＳ７７において、ＡＶデコーダ４７によりマーク点のPTSのピクチャから表示が開始される。
【０１１２】
例えば図２５のＣＭ開始点(CMstart)のPTS(a0)にあたるピクチャを表示させる場合について具体的に説明する。ＣＭ開始点はSTC_sequence_idがid0であるSTC時間軸上にあり、そのSTC時間軸の開始するソースパケット番号は、Ａよりも小さいとする。例えば、PTS(A)＜PTS(a0)である場合、ステップＳ７５の処理で、パケット番号Ａが取得される。そして、ステップＳ７６の処理で、パケット番号Ａから始まるトランスポートストリームがＡＶデコーダ４７に供給され、ストリームがデコードされて、ステップＳ７７の処理で、PTS(a0)に対応するピクチャから表示が開始される。
【０１１３】
次に、マーク点情報を用いたＣＭスキップ再生処理について、図２７のフローチャートを参照して説明する。
【０１１４】
ステップＳ８１において、DVRトランスポートストリームファイルのデータベースであるEntryPointMap、STC_Info, Program_Info、およびClipMarkが読み出される。ステップＳ８２において、ユーザからのＣＭスキップの再生の指定が受け付けられる。ステップＳ８３にいて、マークタイプがＣＭ開始点またはＣＭ終了点(CMend)である各マーク情報のPTSおよびSTC_sequence_idが取得される。
【０１１５】
ステップＳ８４において、ＣＭ開始点のSTC_sequence_idに対応するSTC時間軸の開始するソースパケット番号が取得される。ステップＳ８５において、トランスポートストリームのデコードが開始される。
【０１１６】
ステップＳ８６において、現在の表示画像がＣＭ開始点のPTSに対応する画像であるか否かが判定される。現在の表示画像がＣＭ開始点のPTSに対応する画像ではないと判定された場合、ステップＳ８７に進み、現在の画像が表示される。処理は、ステップＳ８５に戻り、それ以降の処理が繰り返される。ステップＳ８６において、現在の表示画像がＣＭ開始点のPTSに対応する画像であると判定された場合、ステップＳ８８に進む。ステップＳ８８において、デコードおよび画像の表示が停止される。
【０１１７】
ステップＳ８９において、ＣＭ終了点のSTC時間軸の開始するパケット番号とＣＭ終了点のPTSから、その点のPTSよりも時間的に以前であり、且つ、最も近いエントリポイントのあるソースパケット番号が取得される。ステップＳ９０において、ステップＳ８９の処理で取得されたソースパケット番号からトランスポートストリームのデータが読み出されてＡＶデコーダ４７に供給される。ステップＳ９１において、ＡＶデコーダ４７により、ＣＭ終了点のPTSに対応するピクチャから表示が再開される。
【０１１８】
例えば図２５に示すＣＭをスキップさせる場合について具体的に説明する。ＣＭ開始点とＣＭ終了点は、同じSTC_sequence_idがid0であるSTC時間軸上にあり、そのSTC時間軸の開始するソースパケット番号は、Ａよりも小さいとする。
【０１１９】
トランスポートストリームがデコードされているとき、ステップＳ８６で表示時刻がPTS(a0)になった場合、デコードおよび表示が停止される。そして、次に、例えば、PTS(C)＜PTS(c0)である場合、ステップＳ９０でパケット番号Ｃのデータから始まるストリームからデコードが再開され、ステップＳ９１でPTS(c0)に対応するピクチャから表示が再開される。
【０１２０】
次に再生時におけるProgramInfoの使用方法について説明する。DVRトランスポートストリームを再生させる以前に、ストリームに含まれるプログラムのコンテンツについての情報、すなわち、ビデオやオーディオのエレメンタリーストリームを伝送しているパケットのPIDやビデオやオーディオのコンポーネントタイプ（例えば、HDTVビデオストリームとMPEG２AACオーディオストリーム）等を知ることができれば再生系にとって有効である。
【０１２１】
これら情報は、記録されているトランスポートストリームの内容をユーザに説明するためのメニュ画面を作るために役立ったり、または、ストリームをデコードする前に、AVデコーダ４７やデマルチプレクサ４６の初期設定をするために役立つ。
【０１２２】
記録されるトランスポートストリームの中では、例えば図１８に示したように、途中でプログラムのコンテンツが変化する可能性がある。例えば、ビデオストリームを伝送するパケットのPIDが変化したり、または、ビデオストリームの内容がSDTVからHDTVに変化することも考えられる。ProgramInfoには、ストリームの中でプログラムのコンテンツが変化するアドレス（ソースパケット番号）がストアされており、再生系は、再生開始時刻が指定されたとき、読み出し開始するソースパケット番号を調べるとともに、そのアドレスにストアされているプログラムのコンテンツをProgramInfoから予め知ることが可能である。
【０１２３】
上述したように、再生処理においては、ストリームデータベースに含まれるエントリポイントマップに記述されているエントリポイント（Ｉピクチャの位置）から再生を開始するようになされているので、読み出し位置の制御を容易、且つ、迅速に実行することが可能となる。
【０１２４】
なお、本実施の形態においては、記録装置１０と再生装置４０の構成例を個々に独立したものとして示したが、記録装置１０と再生装置４０を組み合わせて１個の装置として構成するようにしてもよい。
【０１２５】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１２６】
この記録媒体は、例えば図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２４（フロッピディスクを含む）、光ディスク２５（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク２６（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリ２７などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMハードディスクなどで構成される。
【０１２７】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１２８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【０１２９】
１０  記録装置，  １１  ストリーム解析部，  １２  PLL部，  １３  ATCカウンタ，  １５  トランスポートパケットエクストラヘッダ付加部，  １６  ストリームデータベース作成部，  １７  ファイルシステム部，  ２１  データ記録媒体，  ２２  制御部，  ２３  ドライブ，  ２４  磁気ディスク，  ２５  光ディスク，  ２６  光磁気ディスク，  ２７  半導体メモリ，  ４０  再生装置，  ４４  ファイルシステム部，  ４５  バッファ，  ４９  制御部，  ５０  書き込み部，  ５２  磁気ディスク，  ５３  光ディスク，  ５４  光磁気ディスク，  ５５  半導体メモリ
【図１】
0004737572.tif 000002
【図２】
0004737572.tif 000003
【図３】
0004737572.tif 000004
【図４】
0004737572.tif 000005
【図５】
0004737572.tif 000006
【図６】
0004737572.tif 000007
【図７】
0004737572.tif 000008
【図８】
0004737572.tif 000009
【図９】
0004737572.tif 000010
【図１０】
0004737572.tif 000011
【図１１】
0004737572.tif 000012
【図１２】
0004737572.tif 000013
【図１３】
0004737572.tif 000014
【図１４】
0004737572.tif 000015
【図１５】
0004737572.tif 000016
【図１６】
0004737572.tif 000017
【図１７】
0004737572.tif 000018
【図１８】
0004737572.tif 000019
【図１９】
0004737572.tif 000020
【図２０】
0004737572.tif 000021
【図２１】
0004737572.tif 000022
【図２２】
0004737572.tif 000023
【図２３】
0004737572.tif 000024
【図２４】
0004737572.tif 000025
【図２５】
0004737572.tif 000026
【図２６】
0004737572.tif 000027
【図２７】
0004737572.tif 000028