【手続補正書】
【提出日】平成18年8月29日(2006.8.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】  明細書
【発明の名称】  ビットストリーム記録をアドレスする方法
【特許請求の範囲】
【請求項１】  記憶媒体上に記録予定又は記録済みのビットストリームをアドレスする方法であって、
前記ビットストリームの各部分に基づくアドレステーブルが使用され、前記各部分は、前記ビットストリームの一定数のビットを有し、前記各部分は、アプリケーションタイムスタンプを含むデータパケットを有し、
デルタ継続時間値について「１」から「ｎ」まで、又は「ｎ−１」まで連続するインデックスを使用して、それぞれ各アドレステーブルエントリ又はインデックス「ｎ」を有するもの以外の各アドレステーブルエントリに、ある部分の最初のデータパケットの到着時間と前記部分の最後のデータパケットの直後のデータパケットの到着時間との差である前記デルタ継続時間値の１つが割り当てられ、
前記デルタ継続時間値とは別に、前記アドレステーブルは、前記各部分の何れにも割り当てられない初期時間値を有し、
前記記憶媒体上のターゲット部分アドレスのアドレス値を取得するため、前記初期時間値及び前記ターゲットアドレスを有する部分の最も近い継続時間値までのすべてのデルタ継続時間値が累積され、前記最も近い継続時間値に関するデルタ継続時間エントリの対応する連続するインデックスが、前記ターゲット部分のアドレス値を計算するため、前記一定のビット数と乗算され、
前記初期時間値のビットのウェートは、前記デルタ継続時間値のビットがそれらのウェートにおいて前記アプリケーションタイムスタンプの対応する個数の最上位ビットに対応するように選択されることを特徴とする方法。
【請求項２】  請求項１記載の方法であって、
前記記憶媒体は、ストリーマ装置又はＤＶＤレコーダであることを特徴とする方法。
【請求項３】  請求項１又は２記載の方法であって、
部分のサイズは、ＥＣＣブロックのビット数又はその倍数に対応することを特徴とする方法。
【請求項４】  請求項１乃至３何れか一項記載の方法であって、
前記初期時間値は、前記アドレステーブルによって記述される第１部分の第１データパケットのアプリケーションタイムスタンプのいくつかの、特に１２の最重要ビットに対応することを特徴とする方法。
【請求項５】  請求項１乃至４何れか一項記載の方法であって、
前記アドレステーブルは、マッピングリストであることを特徴とする方法。
【請求項６】  請求項１乃至５何れか一項記載の方法であって、
前記デルタ継続時間値を計算するのに利用されるデータパケット到着時間は、前記アプリケーションタイムスタンプの最下位ビットをゼロに設定することによって、切り捨てられた前記データパケットの対応するもののアプリケーションタイムスタンプであることを特徴とする方法。
【発明の詳細な説明】
【０００１】
本発明は、例えば光ディスクのような蓄積媒体上に記録されるべき又は記録されているビットストリームをアドレスする方法及び装置に関する。
【０００２】
背景技術
ビットストリーム記録では、ビットストリームを更なる規則的な構造のサブユニットへ副分割することが自由である。ＤＶＤ（ディジタルビデオ又は多目的ディスク）のプレゼンテーションデータは、例えば、ユニットがＶＯＢＵと呼ばれるＤＶＤビデオ記録のＤＶＤ  ＶＲ仕様では、ＶＯＢＵとして示されるビデオオブジェクトユニット又はＳＯＢＵとして示されるストリームオブジェクトユニットと呼ばれるユニットへ組織化される。ＶＯＢＵは（セクタ数で測定したデータ量が）可変サイズであるばかりでなく、（ビデオフィールド数で測定した）可変の継続時間も有する。ＳＯＢＵは、一定のサイズを有するが、しかし可変の継続時間である。
【０００３】
ディスクからデータを取り出すためには、ＤＶＤ  ＶＲ仕様は、記録での各ＶＯＢＵに対してセクタによる長さとフィールドによる継続時間が入力されたテーブルである、’ＶＯＢＵマップ’を予測する。
【０００４】
発明
蓄積媒体からのデータ取り出しのためのテーブルは、一定の継続時間の部分に副分割されているビットストリームデータに基づくことができる。’継続時間’は、ある部分の第１のパケットの到着時間とその部分の最後のパケットのすぐ後に続くパケットの到着時間の間の差を意味する。
【０００５】
ＤＶＤ  ＶＲ記録又はストリーム記録のいずれかでの一般的な状況での’ハウスキーピング’は、所定の時間値（ＤＶＤ  ＶＲ記録の場合のプレゼンテーション時間又は、ストリーム記録の場合のパケット到着時間）を所望のデータが発見できるディスクのアドレス値に変換するためのタスクである。
【０００６】
そのようなシステムでは、ＶＯＢＵマップ又はＳＯＢＵマップ又は、ＭＡＰＬと示される’マッピングリスト’は、これらの一定の継続時間の部分の各々に対して、特定のサイズ又は、特定のオフセット又は、特定のデルタサイズ又は、一般的に、特定のアドレス状の量を有する。合計の継続時間を代わりにデルタ値を蓄積することにより、現在のＶＯＢＵ又はＳＯＢＵにおいて、これらのエントリーを短いワード長で記述できるので、合計のＭＡＰＬを合理的なサイズに保つことができる。
【０００７】
これらのシステムに対するハウスキーピング処理の可能な形式は、以下のステップを有し得る。
【０００８】
−除算と切り捨てにより、所定の時間値から検索されるべきマッピングリストのインデックスを計算する。
【０００９】
−マッピングリストエントリーの内容はアクセスすべきアドレス値を直接規定するか又は、アクセスすべきアドレス値を得るためにそのインデックスまでの全てのマッピングリストエントリが累積されねばならないかのいずれかである。
【００１０】
一定の継続時間の部分に基づくそのような形式のＭＡＰＬの大きな欠点は、以下のようである。
【００１１】
−低ビットレート記録の場合には、一定の継続時間の部分はサイズが小さく、即ち、各部分は数データセクタのみを有するか又は、極端な場合には、データセクタの一部のみを有する。ディスクは非常に大きな数のそれらの部分を有することができ、このためにＭＡＰＬはメモリ内に保持されるには大きくなりすぎる。
【００１２】
−高ビットレート記録の場合には、一定の継続時間の部分はサイズが大きく、即ち、各部分は多くのデータセクタを有する。このため、１つの部分又は他の部分は（セクタ）規模の非常に粗いアドレスシングに対応する。即ちＭＡＰＬから得られる部分のアドレスは、現在の所望の位置から多くのセクタ分だけ離れて位置が決定される。
【００１３】
従って、一定の継続時間の部分に基づくハウスキーピングは、ある場合にはＭＡＰＬが大きすぎること（ディスク容量の半分まで）になリ、また、他の場合には、アドレッシングが粗くなり過ぎることになる。
【００１４】
本発明の１つの目的は、所定の時間値に蓄積媒体アドレス値を割り当てるための、上記欠点を避ける方法を開示することである。この目的は請求項１に記載の方法により達成される。
【００１５】
本発明に従って、マッピングリストＭＡＰＬは、一定の長さ又はサイズ即ち、部分当り一定のビット数の部分に基づいている。
【００１６】
データが、各々３２キロバイト長の’ＥＣＣブロック’（ＥＣＣ：誤り訂正ブロック）に物理的に組織化されるＤＶＤ−ＲＡＭのような媒体では、上述の一定のサイズ又はその倍数が、部分の一定のサイズとして使用される場合には、特に有利な結果となる。しかし、どのような他の一定のサイズも使用できる。一定のサイズの部分の場合には、ＭＡＰＬは、一定のサイズのこれらの部分の各々に対して、特定の一定の絶対継続時間又は、好ましくは部分の最初のパケットの到着時間とその部分の最後のパケットのすぐ後に続くパケットの到着時間との差を示す特定のデルタ継続時間を有する。
【００１７】
ハウスキーピング処理即ち、目標のＶＯＢＵ又はＳＯＢＵアドレスの計算は、以下のステップを有する。
−所定の時間値が目標ＶＯＢＵ又はＳＯＢＵに向かって最も近くに達するまで、即ち、ＶＯＢＵ又はＳＯＢＵのエントリーの前方走査が行われるとしたならデルタ継続時間の和が所定の時間値より小さいか又は等しく且つ次のデルタ継続時間の加算の後の結果が所定値よりも大きくなるまで、
或は、ＶＯＢＵ又はＳＯＢＵのエントリーの後方走査が行われるとしたならデルタ継続時間の和が所定の時間値より大きくなるまで、ＭＡＰＬに含まれるデルタ継続時間を累積する。
−一定の部分サイズにより乗算されたこのマッピングリストエントリーの連続するインデックスは、直接的にアクセスされるべきアドレス値となる。
【００１８】
本発明の一定のサイズに基づくＭＡＰＬの優位性は、
−ＭＡＰＬサイズは記録のビットレートに依存しない。
−ＭＡＰＬアドレスの精度は一定であり、粒状性は基本的に、全ての形式のディスクに対して一定であることが、又は、ディスク毎に一定であることが、又は、特定のディスクの記録毎に一定であることが適切であるとして選択され得る、’部分サイズ定数’に対応する。
【００１９】
優位に、アドレステーブルは、デルタ時間継続時間の累積を初期化する更なる初期化値を有する。
【００２０】
原理的には、本発明の方法は、ビットストリームの部分に基づいているアドレステーブルが使用される、例えば、ＤＶＤレコーダのような、蓄積媒体上に記録されるべき又は記録されている前記ビットストリームをアドレスするのに適する方法であって、
−前記部分は各々が、前記ビットストリームの一定の量のビットを有し、
−連続するインデックスを使用して、前記部分に対する各々のアドレステーブルエントリに対して、特に最高のインデックスを有するエントリを除く各々のアドレステーブルエントリに対して、
デルタ時間継続時間が、前記アドレステーブルに割り当てられ、
−アドレステーブルは、更に、アプリケーションタイムスタンプのＭＳＢの所定の量と前記デルタ時間継続時間のＬＳＢの同じ量の間で等しいビット数の割り当てを有することを可能とする初期化値を有し、
−目標アドレスに達するためのアドレス値を得るために、
前記初期化値と前記アドレス値に対応する最も近い時間継続時間値までの全てのデルタ時間継続時間が累積され、且つ、前記アドレス値を計算するために、前記最も近い時間継続時間に関連するデルタ時間継続時間エントリーに対応する連続するインデックスが、前記一定の量と乗算されることを特徴とする方法である。
【００２１】
本発明の方法の優位な更なる実現例は、それぞれの従属請求項に記載されている。
【００２２】
発明の実施例
ＤＶＤ  ＶＲストリーム記録システムは、存在するディジタルビットストリームの記録、それらの編集及び、ビットストリームとしてそれらを再生するために、リライタブルＤＶＤディスクを使用するように設計されている。
【００２３】
以下の略号が使用される。ＡＰ：アプリケーションパケット、ＡＰＡＴ：アプリケーションパケット到着時間、ＡＴＳ：アプリケーションタイムスタンプ、ＩＡＰＡＴ：増加ＡＰＡＴ（１２ビット分解能のデルタ値）、ＬＢ：論理ブロック、ＬＳＢｓ：最小桁ビット、ＭＡＰＬ：マッピングリスト、ＭＳＢｓ：最大桁ビット、ＭＴＵ＿ＳＨＦＴ：マッピング時間ユニットシフト（例えば、１８の符号無し整数値）、ＰＡＴ：パケット到着時間、ＲＢＮ：相対バイト数、ＲＢＰ：相対バイト位置、ＲＬＢＮ：相対論理ブロック数、ＳＣＲ：システムクロックリファレンス、ＳＯＢ：ストリームオブジェクト、ＳＯＢＵ：ストリームオブジェクトユニット、ＳＯＢ＿Ｅ＿ＡＰＡＴ：ＳＯＢの最後のＡＰのＡＰＡＴ、ＳＯＢ＿Ｓ＿ＡＰＡＴ：ＳＯＢの最初のＡＰのＡＰＡＴ、ＳＴＢ：セットトップボックス、ＳＵＭ＿ＩＡＰＡＴ：ＩＡＰＡＴ値の和、ＴＯＣ：テーブルオブコンテンツ。
【００２４】
このシステムは以下の要求を満たすように設計される。
【００２５】
再生中に適切なパケット配送を可能とするために、タイミング機構即ち、タイムスタンプが、各放送パケットに付加される。
【００２６】
アプリケーションの分野を拡大するために、非実時間記録が可能でなければならない。しかし、この場合には、ＳＴＢはタイムスタンプ情報を発生しなければならない。
【００２７】
データ割り当て戦略とファイルは実時間ストリーム記録をサポートする。
【００２８】
多くのディジタルサービスは、通常は実時間ストリーム内に埋め込まれているサービス情報を要求する。ＤＶＤプレーヤからのデータを受けるＳＴＢをサポートするために、ＤＶＤは、サービス情報の一部を複製し、更なるＴＯＣ情報を追加するためにＳＴＢにより使用できる、更なる空間を提供すべきである。
【００２９】
コピー保護がサポートされねばならない。更に加えて、サービスプロバイダ又は、ＳＴＢによりなされるスクランブルが変更されずに維持されねばならない。
【００３０】
ユーザ要求は、記録に関する要求、再生に関する要求及び、編集に関する要求にグループ化されることができる。
【００３１】
実時間記録
システムは、ディジタルストリームの実時間記録を可能とするように設計されるべきである。また、それらの記録が異なるストリームフォーマットよりなる場合でさえも、ユーザが記録を連結することを可能とすべきである。記録が連結される場合には、シームレス又はシームレスに近い再生の可能性が好ましいがしかし、要求はされない。
【００３２】
ナビゲーションサポート
ナビゲーションをサポートするために、２つの部分の情報（リスト）が記録中に発生されねばならない。
１）プレイリストの’元の’バージョン。このリストは、例えば、記録の時間マップ又は（放送）パケット順序のような非常に低レベルな情報を含む。このリストは、ＳＴＢによりアクセス可能でありそして、内容はＳＴＢとＤＶＤストリーマにより理解される。元のバージョンでは、プレイリストは完全な記録の再生を可能とする。プレイリストは、更に高度な再生シーケンスを可能とするために、ＳＴＢにより記録後にアクセスされ且つ拡張されてもよい。
２）情報の第２の部分の、マッピングリストは、ストリームレコーダが、パケットストリームの一片（セル）を取り出すことをサポートするために発生される。それらは、例えば、’放送パケット’又は’時間’のようなアプリケーションの領域に関して記述される。このリストは、ＤＶＤストリーマのみによって所有され且つ理解される。
【００３３】
コンテンツ記述
システムは高レベルＴＯＣとサービス情報を蓄積するためにＳＴＢにより使用できる空間を予約すべきである。この情報は、ディスクに蓄積されたコンテンツを通してユーザにナビゲーションを提供しそして、高度なＧＵＩ情報を有してもよい。コンテンツはストリームレコーダにより理解される必要はない。しかし、例えば、文字列に基づく、ＴＯＣ情報の共通のサブセットは、ストリームレコーダが自分で基本的なメニューを提供することを可能とするために、ＳＴＢとＤＶＤ間で共有されることは有益であろう。
【００３４】
個々の記録の再生と順次の全ての記録の再生は、プレイリストを介して可能であるべきである。
【００３５】
入力点選択のためのプレーヤメニュー
ＳＴＢは、ディスクに蓄積されたＴＯＣ情報に基づき高度なメニューを発生できる。しかし、例えば、ＳＴＢとＤＶＤにより共有されている幾つかの’文字’情報を介してストリーマ自身により単純なメニューを発生することが可能であるべきである。
【００３６】
トリック再生モード
ＳＴＢは、’プレイリスト’を介してトリック再生を走査することができるべきである。放送ストリームの性質により、トリック再生の特徴は、基本的なもの例えば、時間サーチとタイトルジャンプに制限され得る。
【００３７】
プログラミング又はパレンタル制御のようなユーザ定義の再生シーケンスの特徴は、プレイリストを介してサポートされることができる。
【００３８】
ＤＶＤストリーマは、プレイリストの’元のバージョン’を生成できるべきである。また、更に高度な再生の特徴のためにＳＴＢによりプレイリストの拡張と変更が許されるべきである。ＤＶＤストリーマは、これらの高度なプレイリストの内容に対しては責任を持っていない。
【００３９】
システムは、ユーザの要求により単一の記録の削除をサポートとしなければならない。もし可能ならば、システムはこの特徴をＳＴＢの制御の元に可能とすべきである。
【００４０】
システムは、挿入編集をサポートすべきである。
【００４１】
図１の単純化された全体システムでは、アプリケーション装置ＡＤは、例えば、ＩＥＥＥ１３９４インターフェースのようなインターフェースＩＦを介して、ストリーマ装置ＳＴＲＤ即ち、ＤＶＤレコーダと対話する。ＳＴＲＤ内のストリーマＳＴＲは、そのデータを、出力バッファリング及びタイムスタンプ取扱手段ＢＴＨＯを介して、ＩＦへ送信し、そして、入力バッファリング及びタイムスタンプ取扱手段ＢＴＨＩを介して、ＩＦからデータを、受信する。ＡＤは、そのデータを、出力バッファリング及びタイムスタンプ取扱手段ＢＴＨＯＡＤを介して、ＩＦへ送信し、そして、そして、入力バッファリング及びタイムスタンプ取扱手段ＢＴＨＩＡＤを介して、ＩＦからデータを、受信する。
【００４２】
ディレクトリとファイル構造に関しては、ＤＶＤストリーム記録のストリームデータとナビゲーションデータの組織化が、以下を考慮して特定の方法で行われる。
−どのようなＤＶＤストリーマ装置ＳＴＲＤも、自身のマッピングリスト又は、ストリーマに特定のナビゲーションデータをディスク上に蓄積するための特定の要求を有する。これらのデータは単に記録されたデータの取り出しを助けるためであり、外部のアプリケーション装置ＡＤに理解され又は見える必要はない。
−どのようなＤＶＤストリーマ装置ＳＴＲＤも、接続されたアプリケーション装置ＡＤと通信することを要する。この通信は、ストリーマに接続され得るアプリケーションの可能な範囲を最大とするために可能な限り万能であるべきである。そのような通信をサポートするナビゲーションデータは、一般のナビゲーションデータと呼ばれ、そして、アプリケーション装置だけでなくストリーマにより理解できなくてはならない。
−ＤＶＤストリーマ装置ＳＴＲＤは、接続されたアプリケーション装置ＡＤへ、どのような望ましい種類のそれ自身のプライベートデータも蓄積するための手段を提供すべきである。ストリーマは内容、内部構造又は、このアプリケーションに特定のナビゲーションデータの意味を理解する必要はない。
【００４３】
図２は、可能なディレクトリとファイル構造を示し、そこにはディスクの内容を含む全てのデータがある。ディスク内容を蓄積するファイルは、ルートディレクトリの下にあるＳＴＲＲＥＣディレクトリの下にある。ＳＴＲＲＥＣディレクトリの下には以下のファイルが形成される。
−ＣＯＭＭＯＮ．ＩＦＯ
ストリーム内容を記述する基本情報である。ストリーマとアプリケーション装置により理解される必要がある。
−ＳＴＲＥＡＭＥＲ．ＩＦＯ
ストリーマ装置に特定のプライベートストリームオブジェクト情報である。アプリケーション装置により理解される必要がない。
−ＡＰＰＬＩＣＡＴ．ＩＦＯ
アプリケーションプライベートデータ即ち、ストリーマに接続されたアプリケーションに特定の情報である。ストリーマにより理解される必要がない。
−ＲＥＡＬＴＩＭＥ．ＳＯＢ
記録された実時間ストリームデータそのものである。
【００４４】
上述のファイルを除いて、ＳＴＲＲＥＣディレクトリは、他のファイル又はディレクトリを含まないことに注意する。
【００４５】
ナビゲーションデータ構造に関しては、ナビゲーションデータは、記録、再生及び、記録されているビットストリームの編集の制御を行うために提供される。図３に示されているように、ナビゲーションデータは、ファイル名ＣＯＭＭＯＮ．ＩＦＯ内に含まれているストリーマビデオマネージャ情報（ＳＴＲ＿ＶＭＧＩ）と、ファイル名ＳＴＲＥＡＭＥＲ．ＩＦＯ内に含まれているストリームファイル情報を（ＳＦＩ）を有する。ストリーマ装置の観点から、これらの２つの種類の情報は全ての必要な動作を行うのに十分である。
【００４６】
これらに加えて、ＤＶＤストリーム記録は、一般的にはナビゲーションデータとも考えられ得る、アプリケーションプライベートデータ（ＡＰＤ＿ＭＧ）のために蓄積位置を予約する可能性も予測する。
【００４７】
ＳＴＲ＿ＶＭＧＩとＳＦＩは、ストリーマ動作に直接関連するナビゲーションデータである。ＳＴＲ＿ＶＭＧＩは、２種類の情報テーブル、即ちビデオマネージャ情報管理テーブル（ＶＭＧＩ＿ＭＡＴ）、及び、プレイリストサーチポインタテーブル（ＰＬ＿ＳＲＰＴ）をこの順序で有する。ＳＦＩは、３種類の情報テーブル、即ちストリームファイル一般情報（ＳＦ＿ＧＩ）、ＳＯＢＩサーチポインタ＃ｎ（ＳＯＢＩ＿ＳＲＰ＃ｎ）、及び、全てのストリームオブジェクト情報＃ｎ（ＳＯＢＩ＃ｎ）をこの順序で有する。
【００４８】
ナビゲーション情報内の各テーブルはセクタ境界に整列されていなければならないというストリーム記録の制約はない。
【００４９】
ＶＭＧＩ＿ＭＡＴは、ストリーマ情報（ＳＴＲＩ）の終了アドレス、ＳＴＲ＿ＶＭＧＩの終了アドレス、ストリームファイル情報テーブル（ＳＦＩＴ）の開始アドレス、元のプログラムチェイン情報（ＯＲＧ＿ＰＧＣＩ）の開始アドレス、及びユーザ定義のプログラムチェイン情報テーブル（ＵＤ＿ＰＧＣＩＴ）の開始アドレスのような情報項目を有する。
【００５０】
ＰＬ＿ＳＲＰＴは、プレイリストサーチポインタの数、ＰＬ＿ＳＲＰＴの終了アドレス、プレイリスト情報のプログラムチェイン番号、プレーリスト性政治間及び、主たるテキスト情報のような情報項目を有する。
【００５１】
ストリームオブジェクト情報一般情報（ＳＯＢＩ＿ＧＩ）は、ＳＯＢタイプ（ＳＯＢ＿ＴＹ）、ＳＯＢ記録時間（ＳＯＢ＿ＲＥＣ＿ＴＭ）、ＳＯＢストリーム情報番号（ＳＯＢ＿ＳＴＩ＿Ｎ）、アクセスユニットデータフラグ（ＡＵＤ＿ＦＬＡＧＳ）、ＳＯＢ開始ＡＰＡＴ（ＳＯＢ＿Ｓ＿ＡＰＡＴ）、ＳＯＢ終了ＡＰＡＴ（ＳＯＢ＿Ｅ＿ＡＰＡＴ）、このＳＯＢの第１のＳＯＢＵ（ＳＯＢ＿Ｓ＿ＳＯＢＵ）、マッピングリストエントリーの数（ＭＡＰＬ＿ＥＮＴ＿Ｎｓ）のような情報項目を有する。
【００５２】
ＭＡＰＬ＿ＥＮＴ＿Ｎｓは、ＳＯＢ＿ＧＩの後に続くマッピングリストエントリーの数を記述する。
【００５３】
発明のマッピングリストテーブルＭＡＰＬの目的は、所定のプレイリストエントリーが効率的にディスクアドレスの組みに変換される及びその逆に変換されるように、全ての必要な情報を提供することである。
【００５４】
また、３種類の情報即ち、アプリケーションプライベートデータ一般情報、１つ又はそれ以上のアプリケーションプライベートデータサーチポインタの組み、及び、１つ又はそれ以上アプリケーションプライベートデータ領域の組よりなる、アプリケーションプライベートデータを有することが可能である。どのようなアプリケーションプライベートデータが存在しても、これらの３種類の情報はＡＰＰＬＩＣＡＴ．ＩＦＯファイル内に、この順序で記録され且つ蓄積される。
【００５５】
ストリームデータは１つ又はそれ以上のストリームオブジェクト（ＳＯＢｓ）を有し、その各々はＩＳＯ／ＩＥＣ１３８１８−１システムで記述されている’プログラムストリーム’として蓄積されることができる。
【００５６】
ＳＯＢはｐｒｏｇｒａｍ＿ｅｎｄ＿ｃｏｄｅで終端される。各ＳＯＢの第１パックのＳＣＲフィールドの値はゼロではなくともよい。ＳＯＢは、’ストリームパック’（Ｓ＿ＰＣＫｓ）のシーケンスにパック化されたストリームデータを有する。ストリームデータは、１つのエレメンタリーストリームとして組織化でき、且つｓｔｒｅａｍ＿ｉｄを伴なうＰＥＳパケットで担われる。
【００５７】
図４に示すように、ストリームパックは、１４バイトのパックヘッダ及び、６バイトのＰＥＳパケットヘッダ、サブストリームＩＤバイトとストリームデータ領域が属するストリームＰＥＳパケットを有する。ストリームデータ領域は、先頭に９バイトのアプリケーションヘッダとオプションでアプリケーションヘッダ拡張が付され、残りの部分はアプリケーションパケット領域である。
【００５８】
ストリームオブジェクトは、１つ又はそれ以上のストリームパックより構成される。
【００５９】
図５に示されたＭＡＰＬテーブルは、記録されるべきビットストリーム又は記録されたビットストリームの、ｎ個の部分又はＳＯＢＵ＃１からＳＯＢＵ＃ｎのＳＯＢＵを含む。ＳＯＢＵ＃１からＳＯＢＵ＃ｎ−１に対しては、対応する増加アプリケーションパケット到着時間エントリーＩＡＰＡＴ＃１からＩＡＰＡＴ＃ｎ−１が割り当てられている。ＤＡＶは、ビットストリーム内の所望のアドレス又は目標アドレスを示す。ＳＯＢＵ＃１からＳＯＢＵ＃ｎの各々は、ビットストリームの一定のビット数に関係する。
【００６０】
図６に示すように、マッピングリストは、ＭＡＰＬの初期時間ＩＡＰＡＴ＃０と、”増加アプリケーションパケット到着時間”（ＩＡＰＡＴ）のゼロ又はそれ以上のインスタンスを有する。
【００６１】
【表１】
2002524815.tif 000001
ＩＡＰＡＴ値の構造は図９に示されている。ＩＡＰＡＴは、以下に定義されるＤＶＤストリーム記録の増加ＰＡＴ記述フォーマット内の対応するストリームオブジェクトユニットの増加アプリケーションパケット到着時間を記述する。
【００６２】
記録中にどのようにＩＡＰＡＴ（ｉ）を計算するかについての説明に対しては、以下の表記が使用される。
【００６３】
略号については、Ｍはマッピングリストエントリーの数ＭＡＰＬ＿ＥＮＴ＿Ｎｓを示す。
【００６４】
ＳＯＢＵ＿Ｓ＿ＡＰＡＴ（ｉ）（１≦ｉ≦Ｍ）は、ストリームオブジェクトのストリームオブジェクトユニット＃ｉの開始アプリケーションパケット到着時間、即ち、ストリームオブジェクトユニット＃ｉに属する第１パケットのパケット到着時間を示す。
【００６５】
ＳＯＢＵ＿Ｓ＿ＡＰＡＴ（１）は、ストリームオブジェクトのストリームオブジェクトユニット＃１の第１アプリケーションパケットのアプリケーションタイムスタンプと等しくなければならない。
【００６６】
ＩＡＰＡＴ（０）は、マッピングリストに関する初期値を示す。
【００６７】
ＩＡＰＡＴ（ｉ）はマッピングリストのｉ番目のエントリー示す。即ち、ＩＡＰＡＴ（０）は第１であり、ＩＡＰＡＴ（Ｍ−１）はマッピングリストの最後のエントリーである。
【００６８】
ＳＵＭ＿ＩＡＰＡＴ（ｉ）は、０からｉ（ｉ＜Ｍ）のＩＡＰＡＴの和を示し、
ＳＵＭ＿ＩＡＰＡＴ（ｉ）＝ＩＡＰＡＴ（０）＋ＩＡＰＡＴ（１）＋．．．＋ＩＡＰＡＴ（ｉ）      （式１）
であり、ここで、ＳＵＭ＿ＩＡＰＡＴ（−１）＝０である。
【００６９】
そして、ＩＡＰＡＴ（ｉ）は、
ＩＡＰＡＴ（ｉ）＝
ｆｌｏｏｒ（ＳＯＢＵ＿Ｓ＿ＡＰＡＴ（ｉ＋１）／２ＭＴＵ＿ＳＨＦＴ）−ＳＵＭ＿ＩＡＰＡＴ（ｉ−１）      （式２）
となるように選択され、ここで、ｉ＝０，１，２，．．．，Ｍ−１である。
【００７０】
ＩＡＰＡＴ値の範囲は、ＩＡＰＡＴ値の分解能（１２ビット）と、その最小値（ｉ＞０に対して、ＩＡＰＡＴ（ｉ）＝１であり、そして、ＩＡＰＡＴ（０）＝０）により次のように制限される。
０≦ＩＡＰＡＴ（０）＜２１２      （式３）
及び、ｉ＞１に対して、０≦ＩＡＰＡＴ（ｉ）＜２１２      （式４）
切り捨て関数ｆｌｏｏｒ（ｘ）は、例えば、ｆｌｏｏｒ（１．２）＝ｆｌｏｏｒ（１．８）＝１、ｆｌｏｏｒ（−１．２）＝ｆｌｏｏｒ（−１．８）＝−２のように、丸めを行う。
【００７１】
ＳＯＢＵ＿Ｓ＿ＡＰＡＴ（ｉ）は、ＤＶＤストリーム記録ＰＡＴ記述フォーマットで記述される。しかし、上述の式を評価するに際し、６バイトの符号無し整数値であるように扱われねばならない。
【００７２】
図７は、時間軸に沿って、ＳＯＢＵ、ＳＯＢＵ＿Ｓ＿ＡＰＡＴ及びＩＡＰＡＴの順序の例を示す。時間軸の左側は、’マッピング時間ユニット’に分割され、時間軸の右側は、ＳＯＢＵを示す。
【００７３】
マッピング時間ユニットは、ＩＡＰＡＴ＝１に対応する継続時間であり、次のように計算される。
マッピング時間ユニット＝（２（ＭＴＵ＿ＳＨＦＴ−９）／９００００）秒  （式５）。
【００７４】
ＭＴＵ＿ＳＨＦＴ＝１８に対しては、約５．６９ミリ秒が対応する。
【００７５】
ＳＯＢ＿Ｓ＿ＡＰＡＴは、ストリームオブジェクトの開始アプリケーションパケット到着時間、即ち、そのＳＯＢに属する第１のパケットの到着時間を記述する。ＳＯＢ＿Ｓ＿ＡＰＡＴは、ＤＶＤストリームＰＡＴ記述フォーマットで以下のように記述され、ＰＡＴは基本部分と拡張部分よりなる。基本部分は９０ｋＨｚユニット値を保持し、そして、拡張部分は２７ＭＨｚユニットで測定されたあまり重要でない値を保持する。
【００７６】
（ａ）新たな記録のためのＳＯＢ＿Ｓ＿ＡＰＡＴの選択
新たに記録されたＳＯＢは、通常は、ＳＯＢＵの第１のアプリケーションパケットで開始する。この場合、ＳＯＢ＿Ｓ＿ＡＰＡＴとＳＯＢの第１のアプリケーションパケットのアプリケーションタイムスタンプは、通常はゼロに設定されているであろう。
【００７７】
（ｂ）編集後のＳＯＢ＿Ｓ＿ＡＰＡＴの計算
例えば、ＳＯＢの先頭の削除のような、ＳＯＢ＿Ｓ＿ＡＰＡＴの編集後には、ＳＯＢの第１のＳＯＢＵの第１のアプリケーションパケットのアプリケーションタイムスタンプと、そのＳＯＢに属する第１のアプリケーションパケットのアプリケーションタイムスタンプは、異なり且つゼロに等しくない場合がある。
【００７８】
全ての可能な場合は、以下のＳＯＢ＿Ｓ＿ＡＰＡＴの一般的な定義で、カバーされる。
【００７９】
ａｔｓｅをそのＳＯＢに属する第１のアプリケーションパケットの３０ビットのアプリケーションタイムスタンプとし、且つ、Ｎを、そのＳＯＢの第１のＳＯＢＵ内で開始する第１のアプリケーションパケットの３０ビットのアプリケーションタイムスタンプとａｔｓｅの間で発生する全てのアプリケーションタイムスタンプのラップアラウンドの数とする。即ち０≦Ｎ≦１である。そして、
ＳＯＢ＿Ｓ＿ＡＰＡＴ[ＭＴＵ＿ＳＨＦＴ＋１１．．．０]＝ａｔｓｅ[ＭＴＵ＿ＳＨＦＴ＋１１．．．０]
ＳＯＢ＿Ｓ＿ＡＰＡＴ[４７．．．ＭＴＵ＿ＳＨＦＴ＋１２]＝Ｎ
である。
【００８０】
ＳＯＢ＿Ｓ＿ＡＰＡＴのこの定義で、ＳＯＢの第１のＳＯＢＵ内で開始する第１のアプリケーションパケットのＡＰＡＴは、０より大きいか又は等しく且つ、２ＭＴＵ＿ＳＨＦＴ＋１２より小さい。
【００８１】
図１０は、ＤＶＤストリーム記録ＰＡＴ記述フォーマットを示す。この図の変数は以下のように定義される。
ＰＡＴ＿ｂａｓｅ：９０ｋＨｚの単位で測定したＰＡＴのベース値であり、
ＰＡＴ＿ｅｘｔｅｎ：２７ＭＨｚの単位で測定したＰＡＴの拡張値であり、ここで、（０≦ＰＡＴ＿ｅｘｔｅｎ＜３００）であり、
秒で表したＰＡＴ＝（ＰＡＴ＿ｂａｓｅ／９００００Ｈｚ）＋（ＰＡＴ＿ｅｘｔｅｎ／２７００００００Ｈｚ）である。
【００８２】
時間の唯一の表現に関しては、ＰＡＴ＿ｅｘｔｅｎは、０≦ＰＡＴ＿ｅｘｔｅｎ＜３００の範囲でなければならない。共に、ＰＡＴ＿ｂａｓｅとＰＡＴ＿ｅｘｔｅｎは１６９６時間以上の範囲をカバーする。
【００８３】
ＳＯＢ＿Ｅ＿ＡＰＡＴは、ＤＶＤストリーム記録ＰＡＴ記述フォーマットで、ストリームオブジェクトの終了アプリケーションパケット到着時間、即ち、そのＳＯＢに属する最後のパケットのパケット到着時間を記述する。ＳＯＢ＿Ｅ＿ＡＰＡＴの一般的な定義は、以下のようである。
【００８４】
ａｔｓｅをそのＳＯＢに属する最後のアプリケーションパケットの３０ビットのアプリケーションタイムスタンプとし、且つ、Ｎを、そのＳＯＢの第１のＳＯＢＵ内で開始する第１のアプリケーションパケットの３０ビットのアプリケーションタイムスタンプとａｔｓｅの間で発生する全てのアプリケーションタイムスタンプのラップアラウンドの数とする。即ちＮ≧０である。そして、
ＳＯＢ＿Ｅ＿ＡＰＡＴ[ＭＴＵ＿ＳＨＦＴ＋１１．．．０]＝ａｔｓｅ[ＭＴＵ＿ＳＨＦＴ＋１１．．．０]
ＳＯＢ＿Ｅ＿ＡＰＡＴ[４７．．．ＭＴＵ＿ＳＨＦＴ＋１２]＝Ｎ
である。
【００８５】
各アプリケーションパケットの前のアプリケーションタイムスタンプ（ＡＴＳ）は、３０ビット値よりなる。ＡＴＳは、ベース部と拡張部を含む。ベース部はいわゆる９０ｋＨｚユニット値を保持し、拡張部は２７ＭＨｚで測定したあまり重要でない値を保持する。
【００８６】
図１１は、ＤＶＤストリーム記録アプリケーションタイムスタンプ記述フォーマットを示す。この図の変数は以下のように定義される。
【００８７】
ＡＵ＿ＳＴＡＲＴは、’１’に設定されたときに、関連するアプリケーションパケットがストリームへのランダムアクセスエントリー点（ランダムアクセスユニットの開始）を含むことを示す。
【００８８】
ＡＵ＿ＥＮＤは、’１’に設定されたときに、関連するアプリケーションパケットがランダムアクセスユニットの最後のパケットであることを示す。
【００８９】
ＡＴＳ＿ｂａｓｅは、９０ｋＨｚユニットで測定したＡＴＳのベース値である。
【００９０】
ＡＴＳ＿ｅｘｔｅｎは、２７ＭＨｚユニットで測定したＡＴＳの拡張値である。
【００９１】
秒で表したＡＴＳ＝（ＡＴＳ＿ｂａｓｅ／９００００Ｈｚ）＋（ＡＴＳ＿ｅｘｔｅｎ／２７００００００Ｈｚ）である。
【００９２】
時間の唯一の表現に関しては、ＡＴＳ＿ｅｘｔｅｎは、０≦ＡＴＳ＿ｅｘｔｅｎ＜３００の範囲でなければならない。共に、ＡＴＳ＿ｂａｓｅとＡＴＳ＿ｅｘｔｅｎは２３秒以上の範囲をカバーする。
【００９３】
図８は、ＡＰＡＴの４８−ビットの範囲に関して、ＡＴＳ，ＩＡＰＡＴ及び、ＳＵＭ＿ＩＡＰＡＴの値の範囲を示す。ＡＴＳの範囲は、ビット０から２９である。ＩＡＰＡＴの範囲は、ビット１８から２９である。ＳＵＭ＿ＩＡＰＡＴの範囲は、ビット１８から４７である。
【００９４】
本発明の大きな優位点は、マッピングリストは、１２ＬＳＢビット番号１８から２９がアプリケーションタイムスタンプＡＴＳの１２ＭＳＢビット番号１８から２９と同一であるタイムスタンプＳＵＭ＿ＩＡＰＡＴを発生することである。この特徴は、実時間記録ハードウェアを単純化する。
【００９５】
所望のアプリケーションパケットが見つかるまでの表示データの走査に関する機能の例
以下の関数は、パケット到着時間’ｘ’に関連する個々のアプリケーションパケットを取り出すための表示データの走査の方法を記述する。それによって、マッピングリストとそれへのアクセスはさらに詳細に、例えば、図５，６，及び７を参照し、次のステップで必要な内部中間値が、記述される。マッピングリストアクセスの主な結果は、走査がそこから開始することを示す、セクタオフセットＳＯＦＦである。完全な走査は、所定のＳＯＢ内で実行される。
【００９６】
使用される略号は、次のようである。
【００９７】
ｘ４８は’４８’により以下で示される６バイトのＡＰＡＴ値である。
【００９８】
他の変数に付された値’３０’は、３０ビットからなることを示す。例えば、アプリケーションタイムスタンプＡＴＳである。
【００９９】
ＩＡＰＡＴ（０）、ＩＡＰＡＴ（１），．．．は、マッピングリストのエントリーを示す。
【０１００】
形式ｖａｒ[ａ．．．ｂ]は、変数ｖａｒのビットａとｂを含むその間のビットフィールドを示す。
【０１０１】
’[ｉ．．．ｋ]’は、２値数のビットｉからｋを示し、ｉ＝ＭＳＢ、ｋ＝ＬＳＢである。
【０１０２】
’／＊．．．＊／’は説明のコメントを示す。
【０１０３】
例を単純にするために、各セクタは少なくとも１つのアプリケーションパケットの整数番号を含むとする。
【０１０４】
関数ｇｅｔ＿ａｐｐｌｉｃａｔｉｏｎ＿ｐａｃｋｅｔ＿ｌｏｃａｔｉｏｎ（ｘ４８）
【０１０５】
【表２】
2002524815.tif 000002
所望のアプリケーションパケットは、セクタ＃ｓｏｆｆのパケット＃ａｐ＿ｎｏとして取り出される。ａｐ＿ｎｏ＝１の値は、そのセクタ内で開始する第１のアプリケーションパケットを示す。ｓｏｆｆ＝０の値は、そのＳＯＢの第１のＳＯＢＵの第１のセクタを示す。
【０１０６】
上述の関数はさらに一般的な例である。ＭＴＵ＿ＳＨＦＴ＜１９ならば、更に単純化される。この要求は、ＭＴＵ＿ＳＨＦＴが１８として定義されるので達成される。
【０１０７】
【表３】
2002524815.tif 000003
所望のアプリケーションパケットは、セクタ＃ｓｏｆｆのパケット＃ａｐ＿ｎｏとして取り出される。ａｐ＿ｎｏ＝１の値は、そのセクタ内で開始する第１のアプリケーションパケットを示す。ｓｏｆｆ＝０の値は、そのＳＯＢの第１のＳＯＢＵの第１のセクタを示す。
【０１０８】
３０ビットのＡＴＳはＡＰＡＴの３０ＬＳＢと同じ重みを有する。
【０１０９】
ＳＯＢの第１のＳＯＢＵの第１のセクタがこのＳＯＢに属することは要求されない。ＳＯＢの第１の部分が消去された場合には、残りのＳＯＢは、ＳＯＢＵの中間で開始し得る、即ち、このＳＯＢＵの第１のセクタはそのＳＯＢの一部ではない。
【０１１０】
ストリーム記録では、アプリケーションは自分自身のパディングを行い、それによって、ＤＶＤ−ＲＯＭビデオ又は、ＤＶＤ−ＶＲのパック長調整方法は使用される必要がない。ストリーム記録では、ストリームパケットは常に必要な長さを有すると見なすのが安全である。
【０１１１】
データストリームも、例えば、データパケット内に、アプリケーションタイムスタンプＡＴＳを有する。
【図面の簡単な説明】
【図１】
ＤＶＤストリーム記録のための単純化された全体のシステムを示す図である。
【図２】
基本的なディレクトリとファイル構造を示す図である。
【図３】
ナビゲーションデータ構造を示す図である。
【図４】
ストリームパックを示す図である。
【図５】
発明のマッピングリストを示す図である。
【図６】
マッピングリストの構造を示す図である。
【図７】
マッピングリストの例を示す図である。
【図８】
いくつかの時間値の比較を示す図である。
【図９】
ＩＡＰＡＴ構造を示す図である。
【図１０】
ＡＰＡＴ及びＰＡＴ構造を示す図である。
【図１１】
ＡＴＳ構造を示す図である。