(57)【要約】メディアコンテンツを記録および再生するそれぞれのシステムおよび方法が提供される。メディアコンテンツを記録するシステムは、メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離するセグメンタ（３０３）を含む。個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。システムはまた、個別のファイルを格納するセグメント記憶装置（３０４）をも含む。セグメンタ（３０３）は、複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとが、別々の番組として記録されるようにトランスポートストリームデータおよび索引データを分離する。
2015508610.tif 000002
【特許請求の範囲】
【請求項１】
メディアコンテンツを記録するシステムであって、
前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離するセグメンタ（３０３）であって、前記個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含むセグメンタ（３０３）と、
前記個別のファイルを格納するセグメント記憶装置（３０４）と、
を備え、
前記セグメンタは、複数の番組をその中に含む、番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組のそれぞれとが、別々の番組として記録されるように前記トランスポートストリームデータおよび前記索引データを分離する、前記システム。
【請求項２】
前記番組すなわち記録セッションと前記複数の番組とに関する索引が、ツリー構造を使用して視聴者に表示され、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも１つに配置される、請求項１に記載のシステム。
【請求項３】
前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも２つの間で共有される、請求項１に記載のシステム。
【請求項４】
前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項３に記載のシステム。
【請求項５】
メディアコンテンツを記録する方法であって、
前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離するステップ（６４５）であって、個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む、ステップ（６４５）と、
前記個別のファイルをセグメント記憶装置に格納するステップ（６４５）と、
を含み、
複数の番組をその中に含む番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組のそれぞれとが、別々の番組として記録されるように前記トランスポートストリームデータおよび前記索引データが分離される（１３００）、前記方法。
【請求項６】
前記番組すなわち記録セッションと前記複数の番組とに関する索引を、ツリー構造を使用して視聴者に表示するステップ（１３００）をさらに含み、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも１つに配置される、請求項５に記載の方法。
【請求項７】
前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも２つの間で共有される、請求項５に記載の方法。
【請求項８】
前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項７に記載の方法。
【請求項９】
コンピュータシステムに請求項５に記載の方法を実施させる、コンピュータ可読番組コードを具現化したコンピュータ可読記憶媒体。
【請求項１０】
メディアコンテンツを再生するシステムであって、
個別のファイルを格納するセグメント記憶装置（４０２）であって、前記個別のファイルのそれぞれは、前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られるそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む、セグメント記憶装置（４０２）と、
前記トランスポートセグメントのシームレス再生のために前記個別のファイルからトランスポートセグメントをリアセンブルするデセグメンタ（４０３）と、
を備え、
複数の番組をその中に含む、番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組のそれぞれとに関する前記トランスポートセグメントは、別々の番組としてリアセンブルすることができる、前記システム。
【請求項１１】
前記番組すなわち記録セッションと前記複数の番組とに関する索引が、ツリー構造を使用して視聴者に表示され、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも１つに配置される、請求項１０に記載のシステム。
【請求項１２】
前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも２つの間で共有される、請求項１０に記載のシステム。
【請求項１３】
前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項１２に記載のシステム。
【請求項１４】
メディアコンテンツを再生する方法であって、
セグメント記憶装置に個別のファイルを格納するステップ（６４５）であって、前記個別のファイルのそれぞれは、前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られるそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む、ステップ（６４５）と、
前記トランスポートセグメントのシームレス再生のために前記個別のファイルからトランスポートセグメントをリアセンブルするステップ（１２３０）と、
を含み、
複数の番組をその中に含む、番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組とのそれぞれに関する前記トランスポートセグメントは、別々の番組としてリアセンブルすることができる（１３００）、前記方法。
【請求項１５】
前記番組すなわち記録セッションと前記複数の番組とに関する索引を、ツリー構造を使用して視聴者に表示するステップ（１３００）をさらに含み、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも１つに配置される、請求項１４に記載の方法。
【請求項１６】
前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも２つの間で共有される、請求項１４に記載の方法。
【請求項１７】
前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項１６に記載の方法。
【請求項１８】
コンピュータシステムに請求項１４に記載の方法を実施させる、コンピュータ可読番組コードを具現化したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、参照によりその全体が本明細書に組み込まれる２０１２年１月９日出願の米国特許仮出願第６１／５８４３５２号の利益を主張する。
【０００２】
本原理は、一般にはメディアコンテンツを記録することに関し、より詳細には、サブレコーディングを作成および管理することに関する。
【背景技術】
【０００３】
ディジタルビデオレコーダ（ＤＶＲ）の中心的な機能は、ビデオコンテンツ（およびそれに対応する任意のオーディオコンテンツであるが、簡潔のために以下では集合的に「ビデオコンテンツ」と呼ぶ）などのブロードキャストマルチメディアコンテンツを記録および再生することである。多くのＤＶＲはタイムシフト機能を可能にする。タイムシフト機能は、本質的にはライブブロードキャストコンテンツのローリングバッファである。これは、ライブブロードキャストコンテンツに対して一時停止、巻戻し、早送りなどのトリックモード動作を使用することを可能にする。典型的なタイムシフト実現は、ライブブロードキャストコンテンツの最後の３０分のバッファを維持することになり、ユーザがこのバッファをトリックモードでナビゲートすることを可能にする。
【０００４】
ビデオコンテンツの格納はかなりの記憶空間を必要とするので、タイムシフト機能のために使用されるビデオデータは通常、ほとんどの実現ではハードディスク上に格納される。このことは、新しいデータがタイムシフト記録に追加されるとき、古いデータを終わりから切り捨てなければならないので、問題を提起する。ほとんどのファイルシステムは、ファイルの終わりでの新しいデータの効率的な挿入を可能にするが、ほとんどのファイルシステムは、ファイルの先頭からデータを切り捨てるための効率的な機構を提供しない。いくつかのＤＶＲは、ファイルの終わりでの挿入、ならびにファイルの先頭からの切捨てを実現する特別に設計されたファイルシステムを使用することによってこの問題を解決する。しかし、特別に設計されたファイルシステムの使用は、限定はしないが、そのような特別に設計されたファイルシステムの、ＤＶＲでも使用される標準ファイルシステムとの統合を含む欠陥を伴わない。
【発明の概要】
【０００５】
従来技術のこれらおよび他の欠点および不都合が、サブレコーディングを作成および管理することを対象とする本原理によって対処される。
【０００６】
本原理の特徴によると、メディアコンテンツを記録するシステムが提供される。このシステムは、メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離するセグメンタ（ｓｅｇｍｅｎｔｅｒ）を含む。個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。システムはまた、個別のファイルを格納するセグメント記憶装置をも含む。セグメンタは、複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとが、別々の番組として記録されるようにトランスポートストリームデータおよび索引データを分離する。
【０００７】
本原理の別の態様によると、メディアコンテンツを記録する方法が提供される。この方法は、メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離することを含む。個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。この方法はまた、個別のファイルをセグメント記憶装置に格納することを含む。複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとが、別々の番組として記録されるようにトランスポートストリームデータおよび索引データが分離される。
【０００８】
本原理のさらに別の態様によると、メディアコンテンツを再生するシステムが提供される。このシステムは、個別のファイルを格納するセグメント記憶装置を含む。個別のファイルのそれぞれは、メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られたそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。このシステムはまた、トランスポートセグメントのシームレス再生のために個別のファイルからトランスポートセグメントをリアセンブルするデセグメンタをも含む。複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとに関するトランスポートセグメントを、別々の番組としてリアセンブルすることができる。
【０００９】
本原理のさらに別の態様によると、メディアコンテンツを再生する方法が提供される。この方法は、セグメント記憶装置に個別のファイルを格納することを含む。個別のファイルのそれぞれは、メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られるそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。この方法はまた、トランスポートセグメントのシームレス再生のために個別のファイルからトランスポートセグメントをリアセンブルすることをも含む。複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとに関するトランスポートセグメントを、別々の番組としてリアセンブルすることができる。
【００１０】
本原理のこれらおよび他の特徴、機能、および利点が、添付の図面と共に読むべきである例示的実施形態の以下の詳細な説明から明らかとなるであろう。
【００１１】
以下の例示的な図に従って、本原理をより良く理解することができる。
【図面の簡単な説明】
【００１２】
【図１】本原理の一実施形態による、本原理を適用することのできる例示的処理システム１００を示す図である。
【図２】本原理の一実施形態による、ディジタルビデオレコーダ機能およびタイムシフト機能を含む例示的セットトップボックス２００を示す図である。
【図３】本原理の一実施形態による、本原理を適用することのできる例示的記録パイプライン３００を示す図である。
【図４】本原理の一実施形態による、本原理を適用することのできる例示的再生パイプライン３００を示す図である。
【図５】本原理の一実施形態による、セグメントデータベース内に存在する４つの例示的記録タイプ５００を示す図である。
【図６】本原理の一実施形態による、記録を開始する例示的方法６００を示す図である。
【図７】本原理の一実施形態による、記録を停止する例示的方法７００を示す図である。
【図８】本原理の一実施形態による、記録を削除する例示的方法８００を示す図である。
【図９】本原理の一実施形態による、ガーベッジコレクションセグメントのための例示的方法９００を示す図である。
【図１０】本原理の一実施形態による、記録の先頭からデータを切り捨てる例示的方法１０００を示す図である。
【図１１】本原理の一実施形態による、記録の先頭にセグメントを付加する例示的方法１１００を示す図である。
【図１２】本原理の一実施形態による、記録を再生する例示的方法１２００を示す図である。
【図１３】本原理の一実施形態による、例示的記録ツリー索引１３００を示す図である。
【発明を実施するための形態】
【００１３】
本原理は、サブレコーディングを作成および管理することを対象とする。
【００１４】
本原理を適用することのできる様々な応用分野を当業者は容易に企図するであろうが、以下の説明は、ディジタルビデオレコーダ機能およびタイムシフト機能を有するセットトップボックスに適用される本原理の実施形態に焦点を当てる。しかし、本明細書で提供される本原理の教示が与えられると、本原理の趣旨を維持しながら、本原理を適用することのできる他の装置および応用分野を当業者は容易に企図されよう。例えば、記録およびタイムシフト機能と共にマルチメディア再生機能を有する任意の装置に本原理を組み込むことができる。したがって、ディジタルビデオレコーダ（ＤＶＲ）機能を有するセットトップボックス、スタンドアロンＤＶＲ、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキングアプライアンスなどに本原理を組み込むことができる。先行する装置の一覧は説明に役立つものに過ぎず、網羅的なものではないことを理解されたい。
【００１５】
前述の従来技術、およびタイムシフト記録の終わりから古いデータを切り捨てると共にタイムシフト記録に新しいデータを追加する問題に対処するために特別に設計されたファイルシステムの使用に関して、本原理が、特別に設計されたファイルシステムを必要とすることなくこの問題を解決することを最初に指摘しておく。有利なことに、これは、ビデオ格納のために標準ファイルシステム（本明細書では「既存の」または「レガシー」ファイルシステムとも呼ぶ）を使用することを可能にする。さらに、本原理は、重複する記録間のトランスポートデータの共有を可能にし、それは記憶空間を削減する。
【００１６】
図１に、本原理の一実施形態による、本原理を適用することのできる例示的処理システム１００を示す。処理システム１００は、システムバス１０４を介して他の構成要素に動作可能に結合された少なくとも１つのプロセッサ（ＣＰＵ）１０２を含む。読出し専用メモリ（ＲＯＭ）１０６、ランダムアクセスメモリ（ＲＡＭ）１０８、ディスプレイアダプタ１１０、入出力（Ｉ／Ｏ）アダプタ１１２、ユーザインターフェースアダプタ１１４、およびネットワークアダプタ１９８が、システムバス１０４に動作可能に結合される。
【００１７】
ディスプレイ装置１１６が、ディスプレイアダプタ１１０によってシステムバス１０４に動作可能に結合される。ディスク記憶装置（例えば、磁気または光ディスク記憶装置）１１８が、Ｉ／Ｏアダプタ１１２によってシステムバス１０４に動作可能に結合される。
【００１８】
マウス１２０およびキーボード１２２が、ユーザインターフェースアダプタ２１４によってシステムバス１０４に動作可能に結合される。マウス１２０およびキーボード１２２は、システム１００に情報を入力し、システム１００からの情報を出力するのに使用される。
【００１９】
トランシーバ１９６が、ネットワークアダプタ１９８によってシステムバス１０４に動作可能に結合される。
【００２０】
もちろん、処理システム１００は、当業者によって容易に企図されるように、他の要素（図示せず）をも含むことができ、ならびにいくつかの要素も省略する。例えば、当業者によって容易に理解されるように、処理システム１００の特定の実現に応じて、様々な他の入力装置および／または出力装置を処理システム１００に含めることができる。例えば、様々なタイプのワイヤレスおよび／またはワイヤード入力および／または出力装置を使用することができる。さらに、当業者によって容易に理解されるように、様々な構成の追加のプロセッサ、コントローラ、メモリなどを利用することもできる。処理システム１００のこれらおよび他の変形形態が、本明細書で提供される本原理の教示が与えられた当業者によって容易に企図される。
【００２１】
さらに、図２に関連して以下で説明するセットトップボックス２００は、本原理のそれぞれの実施形態を実現するセットトップボックス２００であることを理解されたい。さらに、図３および４に関して以下で説明する記録パイプライン３００および再生パイプライン４００が、セットトップボックス２００内に含まれることを理解されたい。もちろん、上述のように、本原理はセットトップボックスに限定されず、したがって、本原理の趣旨を維持しながら、記録パイプライン３００および再生パイプライン４００を、その一部が上記で述べられた他の装置に組み込むことができる。処理システム１００の部分またはすべてをセットトップボックス２００（または他の装置）、記録パイプライン３００、および／または再生パイプライン４００の要素のうちの１または複数で実現することができる。
【００２２】
加えて、処理システム１００が、例えば図６の方法６００の少なくとも一部および／または図７の方法７００の少なくとも一部を含む、本明細書で説明する方法の少なくとも一部を実施できることを理解されたい。同様に、セットトップボックス２００、記録パイプライン３００、および／または再生パイプライン４００の部分またはすべてを使用して、方法６００の少なくとも一部および／または方法７００の少なくとも一部を実施することができる。
【００２３】
図２に、本原理の一実施形態による、ディジタルビデオレコーダ機能およびタイムシフト機能を含む例示的セットトップボックス２００を示す。セットトップボックス２００の完全な動作のために必要ないくつかの構成要素が簡潔さのために図示されておらず、図示されていない構成要素は当業者には周知であるからであることを理解されたい。
【００２４】
信号が、入力信号受信機２０２でセットトップボックス２００にインターフェースされる。入力信号受信機２０２は入力ストリームプロセッサ２０４に接続する。入力ストリームプロセッサ２０４は、オーディオプロセッサ２０６およびビデオプロセッサ２１０に接続する。オーディオプロセッサ２０６はオーディオインターフェース２０８に接続し、オーディオインターフェース２０８は、セットトップボックス２００からの音声出力信号を供給する。ビデオプロセッサ２１０はディスプレイインターフェース２１８に接続し、ディスプレイインターフェース２１８は、セットトップボックス２００からのビデオ出力信号を供給する。オーディオプロセッサ２０６およびビデオプロセッサ２１０は、記憶装置２１２にも接続する。コントローラ２１４は、記憶装置２１２、ならびに入力ストリームプロセッサ２０４、オーディオプロセッサ２０６、およびビデオプロセッサ２１０に接続する。制御メモリ２２０はコントローラ２１４に接続する。コントローラ２１４は、ユーザインターフェース２１６およびハンドヘルドインターフェース２２２にも接続する。
【００２５】
コンテンツが入力信号受信機２０２で受信される。入力信号受信機２０２は、無線ネットワーク、ケーブルネットワーク、衛星ネットワーク、イーサネットネットワーク、ファイバネットワーク、および電話線網を含むいくつかの可能なネットワークのうちの１つを介して提供される信号を受信、復調、および復号するのに使用されるいくつかの周知の受信機回路のうちの１または複数でよい。入力信号受信機２０２は、所望のブロードキャスト入力信号と同一の配信ネットワーク、もしくは異なるネットワーク、および／または代替セルラもしくはワイヤレスネットワークを介して配信されたデータ信号ならびにメディアコンテンツ信号のための受信、復調、および復号回路を含むことができることに言及することは重要である。配信ネットワーク２（またはワイヤレスネットワーク）を介して受信されたメディアコンテンツおよびデータは、メディアコンテンツおよび配信ネットワーク１とは異なることがある。データは、スケジューリング変更および更新に関連する情報、ならびにどちらかの配信ネットワークを介して配信されたメディアコンテンツに関する情報を含むことができる。一実施形態では、ケーブルブロードキャスト信号が、信号受信機２０２内のケーブルチューナ回路で受信、復調、および復号される。制御インターフェース（図示せず）を通じて与えられるユーザ入力に基づいて、入力信号受信機２０２で所望のブロードキャスト入力信号を選択および検索することができる。入力信号受信機２０２はまた、インターネットプロトコル（ＩＰ）インターフェース回路をも含み、ＩＰインターフェース回路は、双方向ネットワーク接続性を追加で実現する。
【００２６】
入力信号受信機２０２内の回路のうちの１または複数からの復号された出力信号が、入力ストリームプロセッサ２０４に供給される。入力ストリームプロセッサ２０４は、最終信号選択および処理を実施し、コンテンツストリームに関するオーディオコンテンツからのビデオコンテンツの分離を含む。オーディオコンテンツがオーディオプロセッサ２０６に供給され、受信されたフォーマット（例えば、圧縮されたデジタル信号）から別のフォーマット（例えば、アナログ波形信号）に変換される。アナログ波形信号がオーディオインターフェース２０８に供給され、さらにディスプレイ装置１１４またはオーディオ増幅器（図示せず）に供給される。あるいは、オーディオインターフェース２０８は、高精細度マルチメディアインターフェース（ＨＤＭＩ（登録商標））ケーブル、またはソニー／フィリップスディジタル相互接続フォーマット（ＳＰＤＩＦ）などの代替オーディオインターフェースを使用して、オーディオ出力装置またはディスプレイ装置にデジタル信号を供給することができる。オーディオプロセッサ２０６は、音声信号の格納のために任意の必要な変換も実施する。
【００２７】
入力ストリームプロセッサ２０４からのビデオ出力が、ビデオプロセッサ２１０に供給される。ビデオ信号は、いくつかのフォーマットのうちの１つでよい。ビデオプロセッサ２１０は、必要に応じて、入力信号フォーマットに基づいて、ビデオコンテンツの変換を実現する。ビデオプロセッサ２１０は、ビデオ信号の格納のために任意の必要な変換も実施する。
【００２８】
記憶装置２１２は、入力で受信されたオーディオおよびビデオコンテンツを格納する。記憶装置２１２は、コントローラ２１４の制御下で、ユーザインターフェース２１６から受け取ったコマンド、例えば早送り（ＦＦ）や巻戻し（Ｒｅｗ）などのナビゲーション命令にも基づいて、コンテンツを後で検索および再生することを可能にする。記憶装置２１２は、ハードディスクドライブ、スタティックＲＡＭ（ＳＲＡＭ）やダイナミックＲＡＭ（ＤＲＡＭ）などの１または複数の大容量集積電子メモリ、コンパクトディスクドライブやディジタルビデオディスクドライブなどの相互交換可能光ディスク記憶システム、またはセットトップボックス２００の外部の、セットトップボックス２００でアクセス可能なストレージでよい。
【００２９】
入力または記憶装置２１２のどちらかを源とする、ビデオプロセッサ２１０からの変換されたビデオ信号が、ディスプレイインターフェース２１８に供給される。ディスプレイインターフェース２１８はさらに、上述のタイプのディスプレイ装置にディスプレイ信号を供給する。ディスプレイインターフェース２１８は、赤−緑−青（ＲＧＢ）などのアナログ信号インターフェースでよく、またはディジタルインターフェース（例えば、ＨＤＭＩ）でよい。
【００３０】
コントローラ２１４が、入力ストリームプロセッサ２０２、オーディオプロセッサ２０６、ビデオプロセッサ２１０、記憶装置２１２、ユーザインターフェース２１６、およびハンドヘルドインターフェース２２２を含むセットトップボックス２００の構成要素のうちのいくつかに、バスを介して相互接続される。コントローラ２１４は、入力ストリーム信号を、記憶装置上に格納し、または表示する信号に変換する変換プロセスを管理する。コントローラ２１４は、格納されたコンテンツの検索および再生も管理する。コントローラ２１４は、コントローラ２１４のための情報および命令コードを格納する制御メモリ２２０（例えば、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、読出し専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ、電子プログラマブルＲＯＭ（ＥＰＲＯＭ）、電子消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリなどを含む揮発性または不揮発性メモリ）にさらに結合される。さらに、メモリ２２０の実現は、単一のメモリ装置、あるいは互いに接続されて共有または共通メモリを形成する複数のメモリ回路などのいくつかの可能な実施形態を含むことができる。さらに、より大きな回路内に、メモリをバス通信回路の部分などの他の回路と共に含めることができる。
【００３１】
ユーザインターフェース要素およびディスプレイ装置にインターフェースすることに加えて、セットトップボックス２００は、ハンドヘルドインターフェース２２２を通じて、タブレットなどのハンドヘルド装置にもインターフェースすることができる。このハンドヘルド装置は、追加の制御を備えるディスプレイスクリーンを含むことができ、またはタッチスクリーンを含むことができる。ビデオプロセッサ２１０からのビデオ信号、ならびにオンスクリーン表示メッセージやメッセージプロンプトリターンなどの他のデータを、コントローラ２１４とハンドヘルドインターフェース２２２との間をルーティングすることができる。ハンドヘルドインターフェース２２２は、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、米国電気電子学会（ＩＥＥＥ）規格８０２．１１などの無線周波数通信リンクを使用して、ハンドヘルド装置またはタブレットとの間で信号およびデータを送信および受信することができる。あるいは、ハンドヘルドインターフェース２２２は、赤外線インターフェースを使用してハンドヘルド装置またはタブレットとの間で信号およびデータを送信および受信することができる。
【００３２】
動作の際に、セットトップボックス２００は、以下でさらに詳細に説明するように、セットトップボックスやホームゲートウェイなどのクライアント装置でメディアコンテンツデータベースを更新、管理、および探索するプロセスを実現する。ビデオプロセッサ２１０に関するディスクリート回路などのハードウェア、または制御メモリ２２０内に常駐し、コントローラ２１４によって読み込まれ、実行されるソフトウェアなどのソフトウェアでアルゴリズムまたは機能の物理的実現を行うことができる。この方法は、メディアコンテンツに関連するイベントデータを受信することであって、イベントデータが固有イベント識別子を含むこと、イベント識別子を検査して、イベントデータをキャッシュメモリ内のアレイに格納すること、受信したイベントデータ内のイベント識別子が現在アレイ内にない場合、イベント計数値を更新すること、およびイベント計数値の少なくとも１つが所定の閾値を超え、時間期間値が所定の閾値を超えるときなどに、キャッシュメモリのスワップがトリガされる場合、アレイ内のイベントデータで第１のイベントデータベースを更新することを含む。
【００３３】
メディアストレージおよびインターフェース装置として使用されるセットトップボックス２００などの装置の動作特徴は通常、メディアコンテンツならびにコンテンツを識別するためのデータベースエントリまたは記録の格納、保守、探索、検索を含む。データベース情報およびエントリの更新は、周期的または継続的コンテンツ情報更新を含むことのできる動的システムで重要である。例えば、新しいデータベース記録または情報を受信し、データベースに供給することができる。加えて、現在格納されているコンテンツおよびコンテンツに関連するエントリまたは情報を除去または消去することができる。コンテンツを周期的に、あるいはユーザ制御から装置への入力によって除去または消去することができる。同時に、またはほぼ同時に、データベース探索要求などの要求を行うことができる。一般には、複数のソースおよびデータベースに対する入力から、すべての種類および形態のコンテンツおよび情報を受信することができる。探索要求のために安定したデータベースが利用可能であることが重要である。依然として探索機能を維持し、探索結果および探索の性能を可能な限り高く保ちながら、データおよび情報をデータベースに追加する必要がある。単純なデータベース構造（例えば、構造化照会言語（ＳＱＬ）データベースで実現された構造）では、データベース内の更新および探索に対する改良がさらに望ましい。
【００３４】
本明細書で説明するようなメディアコンテンツデータベースの更新、管理、および探索に関する機能および制御を、ゲートウェイ装置（例えば、セットトップボックス２００）に関連するオペレーティングコードまたはファームウェアの部分として包含することができる。プロセスは、任意のプログラミング言語（例えば、Ｊａｖａ（登録商標）またはハイパーテキストマークアップ言語（ＨＴＭＬ））で書かれたオペレーティング命令を含むことができる。アプリケーションを（例えば、サーバーまたはインターネットサイトから）プリロードまたはダウンロードし、ホスト装置のメモリに格納することができる。一実施形態では、命令が図２の制御メモリ２２０に格納され、命令が制御メモリ２２０上で検索され、コントローラ２１４によって実行されることを理解されたい。別の実施形態では、処理を実施するためのメモリおよび対応するプロセッサまたはコントローラを、別々のスタンドアロン集積回路（例えば、デジタル処理プロセッサ（ＤＳＰ）または特定用途向け集積回路（ＡＳＩＣ））に統合することができる。
【００３５】
図３に、本原理の一実施形態による、本原理を適用することのできる例示的記録パイプライン３００を示す。一実施形態では、記録パイプライン３００は、図２のセットトップボックス２００内に含まれる。しかし、上述のように、限定はしないが、スタンドアロンＤＶＲ、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキングアプライアンスなどを含む他の装置に記録パイプライン３００を含めることができる。
【００３６】
記録パイプライン３００は、チューナ３０１、デマルチプレクサ（ｄｅｍｕｘ）３０２、セグメンタ３０３、セグメント記憶装置３０４、セグメントデータベース３０５、および記録制御装置３０６を含む。
【００３７】
ブロードキャストビデオがチューナ３０１によって受信される。チューナ３０１は、ネットワークインターフェース（図示せず）を介してトランスポートストリームを受信するディジタルビデオ放送（ＤＶＢ）、新型テレビジョンシステム委員会（ＡＴＳＣ）チューナ、インターネットプロトコルテレビジョン（ＩＰＴＶ）チューナなどのハードウェアチューナでよい。チューナ３０１によって受信されたトランスポートストリームが、デマルチプレクサ３０２に送られる。
【００３８】
複数番組トランスポートストリームの場合、デマルチプレクサ３０２は、所望の番組を選択し、索引情報と共に単一の番組トランスポートストリームをセグメンタ３０３に送ることができる。単一の番組トランスポートストリームの場合、デマルチプレクサ３０２は、受信したトランスポートストリームを修正することなくセグメンタ３０３に透過的に送ることができるが、関連するストリームに関する索引情報を追加で提供することができる。どちらの場合も、索引情報は、ストリーム中のアクセスポイントおよびその関連するプレゼンテーションタイムスタンプ（ＰＴＳ）のリストを含む。アクセスポイントは、復号を開始することができるストリーム中の位置をマークする。
【００３９】
セグメンタ３０３は、トランスポートストリームデータおよび索引データを個別のセグメントに分割し、このデータをセグメント記憶装置３０４に書き込む。セグメント記憶装置３０４は通常、ファイルシステムを有するハードディスクとなる。もちろん、本明細書で与えられる本原理の教示が与えられると、当業者は容易に理解するように、ファイルシステムを有する異なるタイプのメモリ装置でセグメント記憶装置３０４を実現することができる。
【００４０】
各トランスポートセグメントおよび索引セグメントが、一意のファイルとしてファイルシステムに格納される。特定のシステムに関する性能考慮に基づいてセグメントのサイズを調節することができるが、典型的なセグメントサイズは、約１から５分のデータを含む。各セグメントが書き込まれるとき、セグメンタ３０３は、セグメンタ３０３が作成するセグメントについての情報でセグメントデータベース３０５を更新する。
【００４１】
記録制御装置３０６は、チューナ３０１、デマルチプレクサ３０２、およびセグメンタ３０３と対話して、記録を制御する。記録制御装置３０６は、記録すべきサービスに同調するようにチューナ３０１を制御し、かつ／またはチューナ３０１に指示する。記録制御装置３０６は、デマルチプレクサ３０２を制御し、かつ／またはトランスポートストリーム中のどの番組を記録するかをデマルチプレクサ３０２に指示し、記録されたセグメントに関連付けるためのプレイリストのリストをセグメンタ３０３に与える。
【００４２】
図４に、本原理の一実施形態による、本原理を適用することのできる例示的再生パイプライン３００を示す。再生パイプライン４００は、記録されたセグメントを再生する。一実施形態では、再生パイプライン４００は、図２のセットトップボックス２００内に含まれる。しかし、上述のように、限定はしないが、スタンドアロンＤＶＲ、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキングアプライアンスなどを含む他の装置に再生パイプライン４００を含めることができる。
【００４３】
再生パイプライン４００は、セグメントデータベース４０１、セグメント記憶装置４０２、デセグメンタ４０３、デマルチプレクサ４０４、再生制御装置４０５、サブタイトル復号器４０６、ビデオ復号器４０７、オーディオ復号器４０８、オーディオレンダリング装置４０９、およびビデオレンダリング装置４１０を含む。
【００４４】
再生制御装置４０５は、デセグメンタ４０３を制御し、かつ／またはどのプレイリストを再生すべきかをデセグメンタ４０３に指示する。再生制御装置４０５はまた、指定の時間オフセットで再生を開始し、指定の速度で再生するようにデセグメンタ４０３を制御し、かつ／またはデセグメンタ４０３に指示する。例えば、再生速度１．０は通常の再生に対応し、４．０は４ｘ早送りとなり、−４．０は４ｘ巻戻しとなり、０．０は一時停止となる。
【００４５】
デセグメンタ４０３は、セグメントデータベース４０１に照会して、再生のために必要なトランスポートおよび索引セグメントファイルを見つける。次いで、デセグメンタ４０３はセグメント記憶装置４０２からこれらのファイルを読み込む。再生がセグメント内のある時間オフセットで開始すべきである場合、セグメント内の定義されたオフセットまでスキップするために、索引情報がデセグメンタ４０３によって使用される。次いで、デセグメンタ４０３は、セグメント記憶装置４０２からデマルチプレクサ４０４にデータ（例えば、トランスポートストリーム）を送る。
【００４６】
デマルチプレクサ４０４は、トランスポートストリームをオーディオ、ビデオ、およびサブタイトルエレメンタリーストリームに分割し、これらのストリームをオーディオ復号器４０８、ビデオ復号器４０７、およびサブタイトル復号器４０６にそれぞれ送る。次いで、オーディオ復号器４０８からの出力が、オーディオの最終レンダリングを担当するオーディオレンダリング装置４０９に送られる。ビデオ復号器４０７およびサブタイトル復号器４０６からの出力が、ビデオの最終レンダリングを担当するビデオレンダリング装置４１０に送られる。
【００４７】
図５に、本原理の一実施形態による、セグメントデータベース（例えば、セグメントデータベース３０５およびセグメントデータベース４０１）内に存在する４つの例示的記録タイプ５００を示す。記録タイプは、Ｐｌａｙｌｉｓｔ記録タイプ５０１、ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２、Ｓｅｇｍｅｎｔ記録５０３、およびＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４を含む。各Ｐｌａｙｌｉｓｔ記録５０１は記録を表す。各Ｓｅｇｍｅｎｔ記録５０３は、ディスク上に格納された記録されたセグメントを表す。各ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２は、Ｓｅｇｍｅｎｔ記録５０３をＰｌａｙｌｉｓｔ記録５０１に関連付ける。最後に、削除のためにマークされる記録されたセグメントに追従するために、ＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４が使用される。
【００４８】
次に、本原理の一実施形態による、本原理を適用することのできるいくつかの例示的シナリオに関する説明が与えられる。
【００４９】
ユーザがライブブロードキャストコンテンツを視聴しており、記録を開始することを決定する場合、イベントの開始後のある時までユーザが記録要求を行わなかった場合であっても、利用可能なタイムシフトデータを使用して、イベントの完全な記録を作成することが望ましい。一例を挙げると、午後８：００に開始したイベントをユーザが視聴していると仮定する。午後８：１０に、ユーザがイベントを記録することを要求する。タイムシフトバッファが午後８：００から午後８：１０までのコンテンツを含む場合、イベント全体の完全な記録を作成することが可能なはずである。本発明は、新しい記録を形成するためにタイムシフトデータのコピーを必要とせずにタイムシフトデータを記録に変換する手段を提供する。
【００５０】
ある場合には、複数の記録が同一のコンテンツの一部を共有することが可能である。例えば、イベントＡが午後８：００に開始して午後８：３０に終了し、同一のチャンネル上でイベントＢが午後８：３０に開始して午後９：００に終了すると仮定する。ユーザは、両方のイベントＡおよびイベントＢを記録するように要求することができる。さらに、ユーザの記録プリファレンスが、すべての記録が５分早く開始し、５分遅く終了すべきであることを示すことができる。このシナリオでは、記録Ａの最後の１０分が、記録Ｂの最初の１０分と同一のコンテンツを含む重複が存在する。本原理は、共有されるデータを複製する代わりに、記録の重複部分をある場所に格納して、２つの記録で共有することを可能にすることにより、そのような重複する記録の格納を最適化する方法を提供する。
【００５１】
ほとんどのＤＶＲでは、ユーザは、記録する特定のイベントを選択することができ、または時間範囲およびチャンネルに基づいて記録をスケジューリングすることができる。ユーザが時刻およびチャンネルによってスケジューリングするとき、ほとんどのＤＶＲは、「手動記録  午後８時〜午後１０時  チャンネル９９」などのように書かれた汎用エントリとして記録を示す。記録は複数のイベントを含むことができるが、記録が何を含むかを知る方法はない。特定のイベントを拾い出して再生する方法、または記録内のイベントを保持して残りを削除する方法もない。例えば、上記で参照した手動記録は、ユーザが午後８：３０〜午後９時まで保持したい番組Ａのエピソードを含むことがあるが、ユーザはその他のすべてを削除したいことがある。本原理は、これらの問題に対する解決策を提供する。
【００５２】
次に、本原理の一実施形態による、記録を作成することに関する説明が与えられる。
【００５３】
記録が開始されるとき、新しい記録を表すために、最初の新しいｐｌａｙｌｉｓｔ記録５０１がセグメントデータベースに追加される。Ｐｌａｙｌｉｓｔ記録に新しい固有ＰｌａｙｌｉｓｔＩＤが割り当てられ、このプレイリストが通常記録用であるか、それともタイムシフト用であるかを示すためにＵｓｅｄＦｏｒＴｉｍｅｓｈｉｆｔフィールドがセットされる。
【００５４】
プレイリストが作成された後、記録制御が、記録パイプライン３００を構成して記録を開始する。次いで、セグメンタ３０３が、セグメントデータベース３０５内の新しいＳｅｇｍｅｎｔ記録５０３およびＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２を作成し、最初のトランスポートファイルおよび索引ファイルのディスクへの書込みを開始する。
【００５５】
Ｓｅｇｍｅｎｔ記録５０３は以下の値と共に作成される。
ＳｅｇｍｅｎｔＩＤ−セグメントに関する固有ＩＤ
ＴｒａｎｓｐｏｒｔＦｉｌｅ−このセグメントに関するトランスポートストリームデータを格納するのに使用されるファイル
ＩｎｄｅｘＦｉｌｅ−このセグメントに関する索引情報を格納するのに使用されるファイル
ＲｅｆｅｒｅｎｃｅＣｏｕｎｔ−これは、このセグメントを参照するＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録数のカウントである。現記録が１つのプレイリストに当てはまるだけである場合、１にセットされる。
Ｓｅｒｖｉｃｅ／ＰｒｏｇｒａｍＩＤ−これは、記録されているサービス（チャンネル）を特定する
ＳｔａｒｔＴｉｍｅ−ＵＴＣでのセグメントの開始時刻
ＥｎｄＴｉｍｅ−これはセグメントの終了時刻であるが、セグメントが完了するまで未知である。当初この値は０にセットされる。
ＳｔａｒｔｉｎｇＰＴＳ−これはセグメント内の最初のＰＴＳである。最初のＰＴＳがセグメント作成時に未知である場合、この値は当初０にセットされる。
ＥｎｄｉｎｇＰＴＳ−これはセグメントに関する終了ＰＴＳ値であるが、当初は未知であり、０にセットされる。
Ｄｉｓｃｏｎｔｉｎｕｉｔｙ−これは、セグメント内にＰＴＳ不連続性が存在することを示すフラグである。当初はＦＡＬＳＥにセットされる。
【００５６】
ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２は以下の値と共に作成される。
ＰｌａｙｌｉｓｔＩＤ−このセグメントに関連するＰｌａｙｌｉｓｔ記録に関するＰｌａｙｌｉｓｔＩＤ
ＳｅｇｍｅｎｔＩＤ−Ｓｅｇｍｅｎｔ記録のＳｅｇｍｅｎｔＩＤ
ＳｅｑｕｅｎｃｅＮｕｍｂｅｒ−これは、プレイリストに追加される各セグメントについて増分される整数である。初期値は０である。
ＳｔａｒｔＯｆｆｓｅｔ−これは当初０にセットされる。
ＥｎｄＯｆｆｓｅｔ−これは当初０にセットされる。
【００５７】
記録するとき、ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２が、各セグメントに関する各プレイリストについて作成される。したがって、データが３つのプレイリストに記録されていた場合、各Ｓｅｇｍｅｎｔ記録は、３つのＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２を有することになる。また、セグメントを参照する３つのＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２があるので、各Ｓｅｇｍｅｎｔ記録は、その参照カウントを３にセットすることになる。
【００５８】
典型的なセグメントサイズは、約１から５分のデータを含む。各セグメントが完了した後、セグメンタ３０３は、セグメントに関する最終データでＳｅｇｍｅｎｔ記録５０３を更新する。これは、ＥｎｄＴｉｍｅ、ＥｎｄｉｎｇＰＴＳ、Ｄｉｓｃｏｎｔｉｎｕｉｔｙフラグ、および記録の開始時にＳｔａｒｔｉｎｇＰＴＳが知られていなかった場合、ＳｔａｒｔｉｎｇＰＴＳを含む。次いで、セグメンタ３０３は、次のセグメントの書込みを開始し、新しいＳｅｇｍｅｎｔ記録５０３およびＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２を作成する。このプロセスは、記録が完了するまで続行する。
【００５９】
図６に、本原理の一実施形態による、記録を開始する例示的方法６００を示す。ステップ６１０で、プレイリストが作成される。ステップ６２０で、所望のサービスについて記録パイプラインが既に存在するか否かが判定される。そうである場合、方法６００はステップ６１５に進む。そうでない場合、方法６００はステップ６６０に進む。ステップ６１５で、プレイリストが、既存の記録パイプラインのセグメンタ３０３に追加される。
【００６０】
ステップ６２０で、セグメンタ３０３がセグメントの中央にあるか否かが判定される。そうである場合、方法６００はステップ６２５に進む。そうでない場合、方法６００はステップ６４５に進む。
【００６１】
ステップ６２５で、セグメンタ３０３は、現在位置に関する調節された開始オフセットと共に、新しいプレイリストに関するＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２を作成する。
【００６２】
ステップ６３０で、セグメントに関する参照カウントが増分される。
【００６３】
ステップ６３５で、セグメントが完了したか否かが判定される。そうである場合、方法６００はステップ６４０に進む。そうでない場合、方法６００はステップ６５０に進む。
【００６４】
ステップ６４０で、Ｓｅｇｍｅｎｔ記録５０３が、最終タイムスタンプで更新される。
【００６５】
ステップ６４５で、セグメンタ３０３は、新しいセグメントを書き込み、（新しいセグメントについて）ファイルを索引付けし、Ｓｅｇｍｅｎｔ記録５０３を作成し、各プレイリストについてＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２を作成する。
【００６６】
ステップ６６０で、記録パイプラインが作成される。
【００６７】
ステップ６５０で、記録が完了したか否かが判定される。そうである場合、方法６００はステップ６５５に進む。そうでない場合、方法６００はステップ６３５に戻る。
【００６８】
ステップ６５５で、記録が停止される（図７参照）。
【００６９】
図７に、本原理の一実施形態による、記録を停止する例示的方法７００を示す。ステップ７０５で、プレイリストがセグメンタ３０３から除去される。ステップ７１０で、セグメンタ３０３がセグメントの中央にあるか否かが判定される。そうである場合、方法７００はステップ７１５に進む。そうでない場合、方法７００はステップ７２０に進む。
【００７０】
ステップ７１５で、最後のＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２に関する終了オフセットが調節される。
【００７１】
ステップ７２０で、セグメントが１または複数のプレイリストを含むか否かが判定される。そうである場合、方法７００は終了する。そうでない場合、方法７００はステップ７２５に進む。
【００７２】
ステップ７２５で、記録パイプラインが解体される。
【００７３】
図８に、本原理の一実施形態による、記録を削除する例示的方法８００を示す。ステップ８０５で、プレイリストＳｅｇｍｅｎｔ記録５０２が照会され、ＰｌａｙｌｉｓｔＩＤ＝セグメントのリストを構築するために削除するプレイリストである。ステップ８１０で、方法８００は、リスト内の第１のセグメントから開始する。ステップ８１５で、Ｓｅｇｍｅｎｔ記録５０３に関する参照カウントが減分される。ステップ８２０で、参照カウント＝０であるか否かが判定される。そうである場合、方法８００はステップ８２５に進む。そうでない場合、方法８００はステップ８４０に進む。
【００７４】
ステップ８２５で、ＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４がＳｅｇｍｅｎｔＩＤと共に作成される。
【００７５】
ステップ８３０で、さらにセグメントがあるか否かが判定される。そうである場合、方法８００はステップ８３５に進む。そうでない場合、方法８００はステップ８４５に進む。
【００７６】
ステップ８３５で、方法８００はリスト内の次のセグメントに移動する。
【００７７】
ステップ８４５で、ガーベッジコレクション(ごみ収集)がトリガされる。
【００７８】
図９に、本原理の一実施形態による、ガーベッジコレクションセグメントに関する例示的方法９００を示す。ステップ９０５で、ＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４があるか否かが判定される。そうである場合、方法９００はステップ９１０に進む。そうでない場合、方法９００は終了する。ステップ９１０で、トランスポートおよび索引ファイルが削除される。ステップ９１５で、Ｓｅｇｍｅｎｔ記録５０３が削除される。ステップ９２０で、ＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４が削除される。
【００７９】
図１０に、本原理の一実施形態による、記録の開始からデータを切り捨てる例示的方法１０００を示す。ステップ１００５で、最小のＳｅｇｍｅｎｔ記録５０３を有するＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２が照会され、ＰｌａｙｌｉｓｔＩＤ＝ｓｅｇｍｅｎｔ記録を得るために切り捨てるプレイリストである。ステップ１０１０で、現在時刻−ＥｎｄＴｉｍｅ≧タイムシフト長であるか否かが判定される。そうである場合、方法１０００はステップ１０１５に進む。そうでない場合、方法はステップ１０４０に進む。
【００８０】
ステップ１０１５で、Ｓｅｇｍｅｎｔ記録５０３に関する参照カウントが減分される。ステップ１０２０で、参照カウント＝０であるか否かが判定される。そうである場合、方法１０００はステップ１０２５に進む。そうでない場合、方法１０００はステップ１０３５に進む。
【００８１】
ステップ１０２５で、ＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４が、ＳｅｇｍｅｎｔＩＤと共に作成される。ステップ１０３０で、ガーベッジコレクションがトリガされる。
【００８２】
ステップ１０３５で、Ｓｅｇｍｅｎｔ記録５０３が削除される。
【００８３】
ステップ１０４０で、遅延＝タイムシフト長−（現在時刻−ＥｎｄＴｉｍｅ）を引き起こす。
【００８４】
図１１に、本原理の一実施形態による、記録の先頭にセグメントを付加する例示的方法１１００を示す。方法１１００を使用して、記録の先頭にタイムシフトデータを付加することができる。ステップ１１０５で、記録が開始される（図６参照）。ステップ１１１０で、Ｓｅｇｍｅｎｔ記録５０３が照会され、サービス＝記録しているサービス、ＳｔａｒｔＴｉｍｅ＜所望のＳｔａｒｔＴｉｍｅ、ＥｎｄＴｉｍｅ＞ＳｔａｒｔＴｉｍｅの降順でソートされる所望の開始時刻である。ステップ１１１５で、セグメント内に時間ギャップがあるか否かが判定される。そうである場合、方法１１００はステップ１１２０に進む。そうでない場合、方法はステップ１１２５に進む。
【００８５】
ステップ１１２０で、ギャップで切捨てが実施され、したがってリスト内にギャップは（それ以上）ない。
【００８６】
ステップ１１２５で、方法１１００は、ＳｅｑｕｅｎｔＮｕｍｂｅｒ＝０でリスト内の第２のセグメントを開始する。
【００８７】
ステップ１１３０で、Ｐｌａｙｌｉｓｔ  Ｓｅｇｍｅｎｔ記録５０２が作成され、参照カウントが増分される。ステップ１１３５で、リスト内にさらにセグメントがあるか否かが判定される。そうである場合、方法１１００はステップ１１４０に進む。そうでない場合、方法１１００は終了する。ステップ１１４０で、方法１１００は次のセグメントに移動し、ＳｅｑｕｅｎｃｅＮｕｍｂｅｒを減分する。
【００８８】
図１２に、本原理の一実施形態による、記録を再生する例示的方法１２００を示す。ステップ１２０５で、最小のＳｅｑｕｅｎｃｅＮｕｍｂｅｒを有するＰｌａｙｌｉｓｔ  Ｓｅｇｍｅｎｔ記録５０２が照会され、ＰｌａｙｌｉｓｔＩＤ＝再生するプレイリストである。ステップ１２１０で、ＳｔａｒｔＯｆｆｓｅｔ＝０であるか否かが判定される。そうである場合、方法１２００はステップ１２１５に進む。そうでない場合、方法１２００はステップ１２５０に進む。
【００８９】
ステップ１２１５で、開始バイト位置が０にセットされる。
【００９０】
ステップ１２２０で、ＥｎｄＯｆｆｓｅｔ＝０であるか否かが判定される。そうである場合、方法１２００はステップ１２２５に進む。そうでない場合、方法１２００はステップ１２５５に進む。
【００９１】
ステップ１２２５で、終了バイト位置が、トランスポートファイルのサイズに等しくセットされる。
【００９２】
ステップ１２３０で、トランスポートファイルが開始バイト位置から終了バイト位置まで読み込まれ、データがデマルチプレクサ４０４に送られる。ステップ１２３５で、ＳｅｑｕｅｎｃｅＮｕｍｂｅｒが増分される。ステップ１２４０で、ＰｌａｙｌｉｓｔＩＤ＝再生するプレイリストおよびｓｅｑｕｅｎｔ  ｎｕｍｂｅｒを有するプレイリストセグメントが存在するか否かが判定される。そうである場合、方法１２００はステップ１２４５に進む。そうでない場合、方法１２００はステップ１２６０に進む。
【００９３】
ステップ１２４５で、プレイリストセグメントおよびセグメントが取り出される。
【００９４】
ステップ１２５０で、索引ファイルが読み込まれ、ＳｔａｒｔＯｆｆｓｅｔに関する開始バイト位置が見つけられる。
【００９５】
ステップ１２５５で、索引ファイルが読み込まれ、ＥｎｄＯｆｆｓｅｔに関する終了バイト位置が見つけられる。
【００９６】
ステップ１２６０で、再生が完了する。
【００９７】
次に、本原理の一実施形態による、記録動作中にプレイリストを追加／除去することに関する説明が与えられる。
【００９８】
複数のプレイリストに対して同一のデータが使用されているケースでは、記録動作中にセグメンタ３０３からプレイリストを追加または除去することが必要となることがある。この目的で、ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２内のＳｔａｒｔＯｆｆｓｅｔおよびＥｎｄＯｆｆｓｅｔフィールドが使用される。本発明者らのシステムは、５分のセグメントを使用することを仮定する。さらに、セグメント内の２分で、第２のプレイリストが記録に追加されることを仮定する。この時点で、新しいＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２が作成され、Ｓｅｇｍｅｎｔ記録の参照カウントが増分され、ＳｔａｒｔＯｆｆｓｅｔフィールドを除いて、前と同様にＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ内のフィールドが記入される。ＳｔａｒｔＯｆｆｓｅｔフィールドが１２０秒にセットされ、このセグメントに関する再生がセグメント内の１２０秒のオフセットで開始すべきであることが示される。同様に、データが複数のプレイリストに記録されており、単一のプレイリストについて記録が停止する場合、ＥｎｄＯｆｆｓｅｔフィールドが、再生が停止すべきであるセグメントの終わりからのオフセットにセットされる。
【００９９】
次に、本原理の一実施形態による、記録を削除することに関する説明が与えられる。このプロセスも図８に関して上で説明される。
【０１００】
各記録はプレイリストに対応する。記録が削除されるとき、セグメントデータベースに対して以下の動作が実施される。
１．記録に関するＰｌａｙｌｉｓｔ記録５０１が削除される。
２．削除されたＰｌａｙｌｉｓｔＩＤを参照するすべてのＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２が削除される。
３．それぞれの削除されたＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２について、削除されたＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２内のＳｅｇｍｅｎｔＩＤに対応するＳｅｇｍｅｎｔ記録５０３が、そのＲｅｆｅｒｅｎｃｅＣｏｕｎｔフィールドを１つ減分する。
４．そのＲｅｆｅｒｅｎｃｅＣｏｕｎｔが今や０である各Ｓｅｇｍｅｎｔ記録５０３について、新しいＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４が作成され、ＳｅｇｍｅｎｔＩＤが０のＲｅｆｅｒｅｎｃｅＣｏｕｎｔを有するセグメントにセットされる。
【０１０１】
動作中に電力障害が発生した場合にデータベースが整合性のある状態にとどまるように、データベースに対して上記の４つの動作をアトミックに実施しなければならない。
【０１０２】
上記の図９にも関連して説明したように、バックグラウンドプロセスは、ＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４を周期的に照会し、対応するＳｅｇｍｅｎｔ記録５０３をルックアップし、ＩｎｄｅｘＦｉｌｅおよびＴｒａｎｓｐｏｒｔＦｉｌｅを削除し、次いでＳｅｇｍｅｎｔ記録５０３およびＳｅｇｍｅｎｔＤｅｌｅｔｅ記録５０４を除去する。このことを削除後に直ちに行うことができ、またはディスクスペースが必要となるまでこの動作を遅延することができる。
【０１０３】
次に、本原理の一実施形態による、タイムシフトに関するプレイリストを作成することに関する説明が与えられる。
【０１０４】
タイムシフトに関するプレイリストを作成することは、２つのことを除いて、記録に関するプレイリストを作成することと同じである。
【０１０５】
１．Ｐｌａｙｌｉｓｔ記録内のＵｓｅｄＦｏｒＴｉｍｅｓｈｉｆｔフラグがＴＲＵＥにセットされる。リセットを通じてタイムシフトプレイリストを保持する必要がないので、セットトップボックス２００がブートされるごとに、ＵｓｅｄＦｏｒＴｉｍｅｓｈｉｆｔがＴＲＵＥにセットされるすべてのプレイリストが削除される。
【０１０６】
２．記録の先頭からＰｌａｙｌｉｓｔＳｅｇｍｅｎｔが周期的に削除される。このプロセスは、プレイリスト全体を削除するのと同一のプロセスをたどり、Ｐｌａｙｌｉｓｔ記録だけが削除されず、指定のＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２だけが除去される。ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔを周期的に削除することは、タイムシフトバッファのサイズを制限する。例えば、３０分のタイムシフトバッファを維持することを望み、セグメントサイズが５分であった場合、プレイリストについてせいぜい６つの完全なセグメントしか維持しない。７番目のセグメントが完了したとき、第１のＰｌａｙｌｉｓｔＳｅｇｍｅｎｔを削除し、プレイリストに関するセグメントの合計数が６に戻る。
【０１０７】
次に、本原理の一実施形態による、タイムシフトデータを記録に変換することに関する説明が与えられる。このプロセスはまた、図１０に関連して上記で説明される。
【０１０８】
既に進行中のイベントに関する記録が要求されたとき、セグメントデータベースは、イベントに関する時間範囲およびサービスに合致するＳｅｇｍｅｎｔ記録５０３について照会を受ける。これは、ＳｔａｒｔＴｉｍｅ、ＥｎｄＴｉｍｅ、およびＳｅｒｖｉｃｅ／ＰｒｏｇｒａｍＩＤフィールドを照会することによって行われる。要求されたイベントのサービスおよび時間範囲に対応するセグメントが見つかった場合、これらのセグメントのそれぞれについて、新しいＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２が作成され、記録の開始時に適切なシーケンスで現れるように、シーケンス番号と共に挿入される。第１のセグメントのＳｔａｒｔＯｆｆｓｅｔが、イベントの開始時間に合致するように必要に応じて調節される。加えて、追加されるセグメントのそれぞれについて、ＲｅｆｅｒｅｎｃｅＣｏｕｎｔフィールドが増分される。このプロセスは、どんなトランスポートまたは索引ファイルも実際にコピーまたは修正することなく、タイムシフトのために使用される既存のデータを記録に追加することを可能にする。
【０１０９】
次に、本原理の一実施形態による、記録またはタイムシフトを再生することに関する説明が与えられる。このプロセスはまた、図１２に関連して上記で説明される。
【０１１０】
基本再生は、図４に関連して既に説明された。ここでは、再生動作中のデセグメンタ４０３によって実施されるデータベース動作をより詳細に説明する。
【０１１１】
先頭から記録を再生するとき、デセグメンタ４０３は、最低のシーケンス番号を有するＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２を照会する。次いで、デセグメンタ４０３は、対応するＳｅｇｍｅｎｔ記録５０３を照会し、ＴｒａｎｓｐｏｒｔＦｉｌｅおよびＩｎｄｅｘＦｉｌｅを見つける。ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録上のＳｔａｒｔＯｆｆｓｅｔが０である場合、再生は、トランスポートファイルの先頭で開始する。ＳｔａｒｔＯｆｆｓｅｔが０でない場合、ＳｔａｒｔＴｉｍｅおよびＳｔａｒｔｉｎｇＰＴＳフィールドをセグメントの先頭に関するベース時間として使用することにより、オフセットがＰＴＳオフセットに変換される。索引ファイルが走査され、指定のＰＴＳオフセットに対応するトランスポートファイル内のバイト位置が見つけられ、その位置から再生が始まる。
【０１１２】
プレイリスト内の指定のオフセットに対するシークを処理するために、デセグメンタ４０３は、ＰｌａｙｌｉｓｔＳｅｇｍｅｎｔ記録５０２を照会して、プレイリストに関するＳｅｇｍｅｎｔＩＤのリストを得る。次いで、デセグメンタ４０３は、最低のシーケンス番号を有するＳｅｇｍｅｎｔ記録５０３を照会し、ＳｔａｒｔＴｉｍｅを読み込む。これが、プレイリストに関するベース開始時間である。次いでデセグメンタ４０３は、指定のオフセットをベース時間に追加して、所望の位置の絶対時間を計算する。最後に、デセグメンタ４０３は、プレイリストの部分であるＳｅｇｍｅｎｔ記録５０３に関するＳｔａｒｔＴｉｍｅおよびＥｎｄＴｉｍｅフィールドを比較することにより、指定の時間を含むＳｅｇｍｅｎｔ記録５０３を探索する。これは、所望の位置を含むトランスポートおよび索引ファイルを与える。次いで、Ｓｅｇｍｅｎｔ記録５０３上のＳｔａｒｔＴｉｍｅおよびＳｔａｒｔｉｎｇＰＴＳフィールドをセグメントに関するベース時間として使用し、次いで所望のＰＴＳオフセットを計算することにより、所望の絶対時間がＰＴＳタイムスタンプに変換される。次いで、索引ファイルが走査され、所望のＰＴＳオフセットに関するトランスポートファイル内のバイトオフセットが見つけられる。次いで、デセグメンタ４０３は、トランスポートファイル内のこのポイントから再生を開始する。
【０１１３】
不連続トリックモード（早送りおよび巻戻し）が、シーク動作と同様に処理される。例えば、４ｘ早送りを実現するために、デセグメンタ４０３は、０．５秒ごとにプレイリスト内の２秒前方をシークする。これは、４ｘの通常再生の速度でプレイリストを走査する効果を有する。
【０１１４】
シーク動作のために必要なデータベース動作が効率的であることを保証するために、必要な照会が迅速に実行することを保証するようにデータベース４０１が適切な索引付けを提供することが期待される。加えて、デセグメンタ４０３は、データベース４０１からデータをキャッシュまたはプリフェッチして性能を改善することができる。これらの詳細は、特定のデータベース実現に特有のものであり、本原理の範囲外にある。
【０１１５】
次に、本原理の一実施形態による、記録およびサブレコーディングの作成および管理に関する説明が与えられる。
【０１１６】
本明細書で説明される原理は、ユーザが定義された時間範囲に関するチャンネル上の記録を作成し、記録されたコンテンツを、連続する記録、および記録されたブロック内の個別のイベントの両方として管理することを可能にする。
【０１１７】
ユーザが本原理を使用して時刻およびチャンネルによって記録をスケジューリングするとき、電子番組ガイド（ＥＰＧ）データを含むデータベースの照会が行われ、どのイベントが記録に含まれるかが判定される。次いで、システムは複数の記録を作成する。親記録は、ユーザによって要求される時間範囲を変換する連続する記録となる。親記録と並列に、システムは、ＥＰＧデータによってレポートされるように、親記録が含む各イベントについて記録を作成する。以下の表１はこの一例を示す。
【０１１８】
【表１】
2015508610.tif 000003
【０１１９】
したがって、この例では、ユーザがチャンネル９９上の午後８時から午後１０時までの記録を要求するだけであっても、本原理は４つの記録を作成する。システムは、これを行うために実際にはいかなる追加のデータも記録しない。本原理は、本明細書で説明されるようなセグメント化された記録アーキテクチャを使用する。
【０１２０】
記録間の親子関係のために、親記録がツリーのルートノードである、拡張および縮小することのできるツリー構造で手動記録をユーザに提示することができる。図１３は、本原理の一実施形態による、例示的記録ツリー索引１３００を示す図である。したがって、上記の例では、記録は、図１３に示されるようにユーザに表示されることがある。「手動記録−午後８時〜午後１０時  チャンネル９９」が、ツリー索引１３００のルート１３１０に示される。「番組Ａ」、「番組Ｂ」、および「特別ニュース−大統領候補討論会」は、ブランチおよび／またはリーフ１３１１、１３１２、および１３１３として示される。
【０１２１】
次いで、ユーザは、手動記録を再生することを選ぶことができ、あらゆるものを連続するブロックと見る。ユーザはまた、記録内の番組Ａのみを再生することを決定することができ、再生は、番組Ａのエピソードの先頭で開始し、エピソードの終わりで終了する。
【０１２２】
ユーザはまた、手動記録を削除することができるが、手動記録内に含まれる特定のエピソードを保存することを選ぶことができる。例えば、ユーザは、番組Ａのエピソードを保存したいが、その他のすべてを削除したいことがある。実際の記録されるビデオおよびオーディオデータが親記録と子記録との間で共有され、参照カウントされ、したがって各セグメント内のデータが、リスト内のどんな記録によってももはや参照されないとき、ディスクから削除されるだけである。
【０１２３】
この説明は本原理を示す。したがって、本明細書では明示的に説明または図示されていないが、本原理を具現化し、その趣旨および範囲内に含まれる様々な構成を当業者は考案することができることを理解されよう。
【０１２４】
本明細書で説明したすべての例および条件付きの言い回しは、本原理および当技術分野を推進するために本発明者（等）によって与えられる概念を読者が理解するのを助ける教育目的のものであり、そのような具体的に説明される例および条件に限定されないものとして解釈されるべきである。
【０１２５】
さらに、本原理の原理、特徴、および実施形態、ならびにその特定の例を説明する本明細書のすべての陳述は、その構造的均等物と機能的均等物のどちらも包含するものとする。加えて、そのような均等物は、現在知られている均等物、ならびに将来開発される均等物、すなわち構造の如何に関わらず同一の機能を実施する、開発される任意の要素の両方を含むものとする。
【０１２６】
したがって、例えば、本明細書で提示されるブロック図が本原理を具現化する説明に役立つ回路の概念図を表すことを当業者は理解されよう。同様に、コンピュータまたはプロセッサが明示的に示されているか否かに関わらず、任意のフローチャート、流れ図、状態遷移図、疑似コードなどが、実質上コンピュータ可読媒体で表すことができ、したがってそのようなコンピュータまたはプロセッサによって実行することのできる様々なプロセスを表すことを理解されよう。
【０１２７】
図に示す様々な要素の機能は、専用ハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することのできるハードウェアを使用することによって実現することができる。プロセッサで実現されるとき、単一の専用プロセッサ、単一の共有プロセッサ、または一部が共有されることのある複数の個々のプロセッサによって機能を実現することができる。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用が、ソフトウェアを実行することのできるハードウェアをもっぱら指すと解釈すべきではなく、限定はしないが、暗黙的に、デジタル信号プロセッサ（「ＤＳＰ」）ハードウェア、ソフトウェアを格納する読出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、および不揮発性ストレージを含むことができる。
【０１２８】
従来型および／またはカスタムの他のハードウェアも含めることができる。同様に、図に示す任意のスイッチは概念的なものに過ぎない。その機能は、プログラムロジックの動作、専用ロジック、プログラム制御と専用ロジックの対話、さらには手動によって実施することができ、文脈からより具体的に理解できるように、実現者によって特定の技法が選択可能である。
【０１２９】
本明細書では、「結合される」という語句は、直接的に接続されること、または１または複数の中間構成要素を通じて間接的に接続されることを意味すると定義される。そのような中間構成要素は、ハードウェアベースの構成要素とソフトウェアベースの構成要素のどちらも含むことができる。
【０１３０】
本明細書の特許請求の範囲では、指定の機能を実施する手段として表現される任意の要素は、例えば、ａ）その機能を実施する回路要素の組合せ、またはｂ）機能を実施するためにソフトウェアを実行する適切な回路と組み合わされた、任意の形態の、したがってファームウェア、マイクロコードなどを含むソフトウェアを含む、任意の形でその機能を実施することを包含するものとする。そのような特許請求の範囲で定義される本原理は、様々な説明される手段によって提供される機能が、特許請求の範囲が要求する方式で組み合わされ、一緒にされることにある。したがって、そうした機能を提供することのできる任意の手段は、本明細書で示されるものに対する均等物であるとみなされる。
【０１３１】
本原理の「一実施形態」または「ある実施形態」、ならびにその他の変形に対する本明細書での参照は、実施形態と共に説明される特定の機能、構造、特徴などが本原理の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって様々な場所に出現する「一実施形態では」または「ある実施形態では」という語句、ならびに任意の他の変形の出現は、必ずしも同一の実施形態をすべて参照しているわけではない。
【０１３２】
例えば、「Ａ／Ｂ」、「Ａおよび／またはＢ」、および「ＡとＢの少なくとも１つ」の場合の、「／」、「および／または」、および「少なくとも１つ」のいずれかの使用は、第１に列挙されるオプション（Ａ）のみの選択、または第２の列挙されるオプション（Ｂ）のみの選択、または両方のオプション（ＡおよびＢ）の選択を包含することが意図されていると理解されたい。さらなる例として、「Ａ、Ｂ、および／またはＣ」および「Ａ、Ｂ、およびＣのうちの少なくとも１つ」の場合に、そのような言い回しは、第１に列挙されるオプション（Ａ）のみの選択、第２に列挙されるオプション（Ｂ）のみの選択、または第３に列挙されるオプション（Ｃ）のみの選択、または第１および第２に列挙されるオプション（ＡおよびＢ）のみの選択、または第１および第３に列挙されるオプション（ＡおよびＣ）のみの選択、または第２および第３に列挙されるオプション（ＢおよびＣ）のみの選択、またはすべての３つのオプション（ＡおよびＢおよびＣ）の選択を包含するものとする。当業者は容易に理解するように、列挙される同数の項目について、このことを拡張することができる。
【０１３３】
様々な形態のハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはそれらの組合せで本原理の教示を実現できることを理解されたい。
【０１３４】
最も好ましくは、本原理の教示は、ハードウェアとソフトウェアの組合せとして実現される。さらに、番組記憶ユニット上に有形に具現化されたアプリケーションプログラムとしてソフトウェアを実現することができる。任意の適切なアーキテクチャを備えるマシンにアプリケーションプログラムをアップロードし、マシンで実行することができる。好ましくは、マシンは、１または複数の中央演算処理装置（「ＣＰＵ」）、ランダムアクセスメモリ（「ＲＡＭ」）、および入出力（「Ｉ／Ｏ」）インターフェースなどのハードウェアを有するコンピュータプラットフォーム上で実現される。コンピュータプラットフォームはまた、オペレーティングシステムおよびマイクロ命令コードを含むことができる。本明細書で説明される様々なプロセスおよび機能は、ＣＰＵによって実行することのできる、マイクロ命令コードの一部、もしくはアプリケーションプログラムの一部、またはそれらの任意の組合せでよい。加えて、追加のデータ記憶ユニットやプリンティングユニットなどの様々な他の周辺ユニットをコンピュータプラットフォームに接続することができる。
【０１３５】
添付の図面に示される構成するシステム構成要素および方法の一部が好ましくはソフトウェアで実現されるので、システム構成要素またはプロセス機能ブロック間の実際の接続は、本原理がプログラムされる方式に応じて異なることがあることをさらに理解されたい。本明細書の教示が与えられると、本原理のこれらおよび類似の実現または構成を当業者は企図することができることになる。
【０１３６】
添付の図面を参照しながら本明細書で説明に役立つ実施形態を説明したが、本原理がこうした厳密な実施形態に限定されず、本原理の範囲または趣旨から逸脱することなく、当業者は本原理の中で様々な変更および修正を実施できることを理解されたい。すべてのそのような変更および修正は、添付の特許請求の範囲に記載の本原理の範囲内に含まれるものとする。
【図１】
2015508610.tif 000004
【図２】
2015508610.tif 000005
【図３】
2015508610.tif 000006
【図４】
2015508610.tif 000007
【図５】
2015508610.tif 000008
【図６】
2015508610.tif 000009
【図７】
2015508610.tif 000010
【図８】
2015508610.tif 000011
【図９】
2015508610.tif 000012
【図１０】
2015508610.tif 000013
【図１１】
2015508610.tif 000014
【図１２】
2015508610.tif 000015
【図１３】
2015508610.tif 000016
【国際調査報告】
2015508610.tif 000017
2015508610.tif 000018
2015508610.tif 000019