(57)【要約】  メディアコンテンツを記録及び再生するためのシステム及び方法がそれぞれ提供される。メディアコンテンツを記録するシステムは、メディアコンテンツに対応するインデックスデータ及びトランスポートストリームデータを、アクセスポイント境界で周期的な間隔で個別的なファイルに分割するセグメント化装置(303)を含む。個別的なファイルの各々は各自のトランスポートセグメント及び各自のインデックスセグメントを含む。システムは、個別的なファイルを保存するセグメントストレージ装置(304)を含む。
2015510652.tif 000002
【特許請求の範囲】
【請求項１】
メディアコンテンツを記録するシステムであって、
前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームデータを、アクセスポイント境界で周期的な間隔で個別的なファイルに分割するセグメント化装置であって、前記個別的なファイルの各々は各自のトランスポートセグメント及び各自のインデックスセグメントを含む、セグメント化装置と、
前記個別的なファイルを保存するセグメントストレージ装置と
を有するシステム。
【請求項２】
当該システムはセグメントデータベースを有し、
前記セグメント化装置は、一群のトランスポートセグメントが連続的に再生されることを可能にする情報を前記セグメントデータベースに保存し、前記一群のトランスポートセグメントの各々は各自の番組に対応している、請求項１に記載のシステム。
【請求項３】
当該システムはセグメントレコードを保存するセグメントデータベースを有し、
前記セグメントレコードの各々は、各自のトランスポートセグメントに対応し、
前記セグメントレコードの各々は、固有のセグメント識別子と、各自のトランスポートセグメントのトランスポートストリームデータを保存するファイルを示すトランスポートファイルインジケータと、各自のトランスポートセグメントのインデックス情報を保存するファイルを示すインデックスファイルインジケータと、各自のトランスポートセグメントの開始時間と、各自のトランスポートセグメントの終了時間とを含む、請求項１に記載のシステム。
【請求項４】
新たな記録の先頭に、他の記録に属するセグメントを追加し、追加されるセグメントと新たな記録をシームレスに再生するための記録制御装置を有する請求項１に記載のシステム。
【請求項５】
固定長のローリングバッファをシミュレートするために、対象の記録の先頭からセグメントを打ち切る記録制御装置を有する請求項１に記載のシステム。
【請求項６】
前記個別的なファイルが既存の又は通常のファイルシステムを用いて保存される、請求項１に記載のシステム。
【請求項７】
メディアコンテンツを記録する方法であって、
前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームデータを、アクセスポイント境界で周期的な間隔で個別的なファイルに分割するステップであって、前記個別的なファイルの各々は各自のトランスポートセグメント及び各自のインデックスセグメントを含む、ステップと、
前記個別的なファイルをセグメントストレージ装置に保存するステップと
を有する方法。
【請求項８】
一群のトランスポートセグメントが連続的に再生されることを可能にする情報をセグメントデータベースに保存するステップであって、前記一群のトランスポートセグメントの各々は各自の番組に対応している、ステップを有する請求項７に記載の方法。
【請求項９】
セグメントレコードをセグメントデータベースに保存する場合において、
前記セグメントレコードの各々は、各自のトランスポートセグメントに対応し、
前記セグメントレコードの各々は、固有のセグメント識別子と、各自のトランスポートセグメントのトランスポートストリームデータを保存するファイルを示すトランスポートファイルインジケータと、各自のトランスポートセグメントのインデックス情報を保存するファイルを示すインデックスファイルインジケータと、各自のトランスポートセグメントの開始時間と、各自のトランスポートセグメントの終了時間とを含む、請求項７に記載の方法。
【請求項１０】
新たな記録の先頭に、他の記録に属するセグメントを追加し、追加されるセグメントと新たな記録をシームレスに再生するステップを有する請求項７に記載の方法。
【請求項１１】
固定長のローリングバッファをシミュレートするために、対象の記録の先頭からセグメントを打ち切るステップを有する請求項７に記載の方法。
【請求項１２】
前記個別的なファイルが既存の又は通常のファイルシステムを用いて保存される、請求項７に記載の方法。
【請求項１３】
請求項７に記載の方法をコンピュータシステムに実行させるプログラムコードを有するコンピュータ読み取り可能な記憶媒体。  
【請求項１４】
メディアコンテンツを再生するシステムであって、
個別的なファイルを保存するセグメントストレージ装置であって、前記個別的なファイルの各々が、前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームから取得された各自のインデックスセグメント及び各自のトランスポートセグメントを含む、セグメントストレージ装置と、
前記トランスポートセグメントのシームレスな再生のために、前記個別的なファイルからトランスポートセグメントを再構築するデセグメント化装置と
を有するシステム。
【請求項１５】
当該システムはセグメントデータベースを有し、
前記デセグメント化装置は、一群のトランスポートセグメントが連続的に再生されることを可能にする情報を前記セグメントデータベースから取得し、前記一群のトランスポートセグメントの各々は各自の番組に対応している、請求項１４に記載のシステム。
【請求項１６】
当該システムはセグメントレコードを保存するセグメントデータベースを有し、
前記セグメントレコードの各々は、各自のトランスポートセグメントに対応し、
前記セグメントレコードの各々は、固有のセグメント識別子と、各自のトランスポートセグメントのトランスポートストリームデータを保存するファイルを示すトランスポートファイルインジケータと、各自のトランスポートセグメントのインデックス情報を保存するファイルを示すインデックスファイルインジケータと、各自のトランスポートセグメントの開始時間と、各自のトランスポートセグメントの終了時間とを含む、請求項１４に記載のシステム。
【請求項１７】
前記個別的なファイルが既存の又は通常のファイルシステムを用いて保存される、請求項１４に記載のシステム。
【請求項１８】
メディアコンテンツを再生する方法であって、
個別的なファイルをセグメントストレージ装置に保存するステップであって、前記個別的なファイルの各々が、前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームから取得された各自のインデックスセグメント及び各自のトランスポートセグメントを含む、ステップと、
前記トランスポートセグメントのシームレスな再生のために、前記個別的なファイルからトランスポートセグメントを再構築するステップと
を有する方法。
【請求項１９】
一群のトランスポートセグメントが連続的に再生されることを可能にする情報をセグメントデータベースから取得するステップであって、前記一群のトランスポートセグメントの各々は各自の番組に対応している、ステップを有する請求項１８に記載の方法。
【請求項２０】
セグメントレコードをセグメントデータベースに保存する場合において、
前記セグメントレコードの各々は、各自のトランスポートセグメントに対応し、
前記セグメントレコードの各々は、固有のセグメント識別子と、各自のトランスポートセグメントのトランスポートストリームデータを保存するファイルを示すトランスポートファイルインジケータと、各自のトランスポートセグメントのインデックス情報を保存するファイルを示すインデックスファイルインジケータと、各自のトランスポートセグメントの開始時間と、各自のトランスポートセグメントの終了時間とを含む、請求項１８に記載の方法。
【請求項２１】
前記個別的なファイルが既存の又は通常のファイルシステムを用いて保存される、請求項１８に記載の方法。
【請求項２２】
請求項１８に記載の方法をコンピュータシステムに実行させるプログラムコードを有するコンピュータ読み取り可能な記憶媒体。  
【発明の詳細な説明】
【技術分野】
【０００１】
開示内容の原理は一般にタイムシフト機能に関連し、特にタイムシフトデータを管理すること等に関連する。
【背景技術】
【０００２】
ディジタルビデオレコーダ(DVR)の基本的な機能は、例えばビデオコンテンツ等のようなブロードキャストマルチメディアコンテンツを記録及び再生することである(一般的には、ビデオコンテンツ及びビデオコンテンツに対応する何らかのオーディオコンテンツを対象とするが、便宜上、「ビデオコンテンツ」のようにまとめて言及する)。多くのDVRはタイムシフト機能(time-shift  functionality)を利用できる。タイムシフト機能は、本質的には、実際の放送コンテンツのローリングバッファ(rolling  buffer)である。これは、実際に放送されているコンテンツについて一時停止、早戻し、早送り等のようなトリックモード操作を可能にする。一般的なタイムシフト手段は実際の放送コンテンツの直近の30分間についてのバッファを維持し、そのバッファによりユーザがトリックモードでナビゲートできるようにする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ビデオコンテンツのストレージはかなりのストレージ空間を要するので、多くの実現手段において、タイムシフト機能に使用されるビデオデータは、通常、ハードディスクに保存される。これが問題を招いてしまうのは、新たなデータがタイムシフト記録内容に追加される場合に、古いデータが終わりの方から打ち切られなければならないからである。ストレージは、保存、記憶、格納等と言及されてよい。多くのファイルシステムはファイルの終わりに新たなデータを適切に挿入できるが、多くのファイルはファイルの先頭からデータを打ち切る適切な手段を用意していない。この問題に対処するために、あるDVDは、ファイルの終わりに挿入するだけでなくファイルの先頭から打ち切る機能を提供するように特別に設計されたファイルシステムを利用する。しかしながら、特別に設計されたファイルシステムを利用することは問題を有し、例えば、そのように特別に設計されたファイルシステムとDVDにも使用されている標準的なファイルシステムとを適切に統合することは容易でないことが挙げられるが、問題はこれに限られない。
【課題を解決するための手段】
【０００４】
一側面の実施形態によるシステムは、
メディアコンテンツを記録するシステムであって、
前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームデータを、アクセスポイント境界で周期的な間隔で個別的なファイルに分割するセグメント化装置であって、前記個別的なファイルの各々は各自のトランスポートセグメント及び各自のインデックスセグメントを含む、セグメント化装置と、
前記個別的なファイルを保存するセグメントストレージ装置と
を有するシステムである。
【図面の簡単な説明】
【０００５】
【図１】発明原理を適用することが可能な発明原理の実施形態による処理システム100の一例を示す図。
【図２】ディジタルビデオレコーダ機能及びタイムシフト機能を有する発明原理の実施形態によるセットトップボックス200を示す図。
【図３】発明原理を適用することが可能な発明原理の実施形態による記録パイプライン300の一例を示す図。
【図４】発明原理を適用することが可能な発明原理の実施形態による再生パイプライン400の一例を示す図。
【図５】発明原理の実施形態によるセグメントデータベースに存在する4つの記録タイプ500の例を示す図。
【図６】発明原理の実施形態による記録開始方法の一例600を示す図。
【図７】発明原理の実施形態による記録停止方法の一例700を示す図。
【図８】発明原理の実施形態による記録消去方法の一例800を示す図。
【図９】発明原理の実施形態による不要セグメント収集方法の一例900を示す図。
【図１０】記録の先頭からデータを打ち切る発明原理の実施形態による方法例1000を示す図。
【図１１】記録の先頭にセグメントを付加する発明原理の実施形態による方法例1100を示す図。
【図１２】発明原理の実施形態による記録再生方法の一例1200を示す図。
【図１３】発明原理の実施形態による記録ツリーインデックスの一例1300を示す図。
【発明を実施するための形態】
【０００６】
＜実施の形態の概要＞
従来技術に関する上記及びその他の欠点及び不都合は、タイムシフトデータを管理することに関連する発明原理により解決される。
【０００７】
発明原理の一形態によるシステムは、
メディアコンテンツを記録するシステムであって、
前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームデータを、アクセスポイント境界で周期的な間隔で個別的なファイルに分割するセグメント化装置であって、前記個別的なファイルの各々は各自のトランスポートセグメント及び各自のインデックスセグメントを含む、セグメント化装置と、
前記個別的なファイルを保存するセグメントストレージ装置と
を有するシステムである。
【０００８】
発明原理の別の形態による方法は、
メディアコンテンツを記録する方法であって、
前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームデータを、アクセスポイント境界で周期的な間隔で個別的なファイルに分割するステップであって、前記個別的なファイルの各々は各自のトランスポートセグメント及び各自のインデックスセグメントを含む、ステップと、
前記個別的なファイルをセグメントストレージ装置に保存するステップと
を有する方法である。
【０００９】
発明原理の別の形態によるシステムは、
メディアコンテンツを再生するシステムであって、
個別的なファイルを保存するセグメントストレージ装置であって、前記個別的なファイルの各々が、前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームから取得された各自のインデックスセグメント及び各自のトランスポートセグメントを含む、セグメントストレージ装置と、
前記トランスポートセグメントのシームレスな再生のために、前記個別的なファイルからトランスポートセグメントを再構築するデセグメント化装置と
を有するシステムである。
【００１０】
発明原理の別の形態による方法は、
メディアコンテンツを再生する方法であって、
個別的なファイルをセグメントストレージ装置に保存するステップであって、前記個別的なファイルの各々が、前記メディアコンテンツに対応するインデックスデータ及びトランスポートストリームから取得された各自のインデックスセグメント及び各自のトランスポートセグメントを含む、ステップと、
前記トランスポートセグメントのシームレスな再生のために、前記個別的なファイルからトランスポートセグメントを再構築するステップと
を有する方法である。
【００１１】
発明に関する上記及びその他の形態、特徴及び利点は明細書及び添付図面による詳細な説明により更に明らかになるであろう。
【００１２】
添付図面は発明原理の理解を促す。
【００１３】
＜実施の形態の詳細な説明＞
発明原理はタイムシフトデータを管理することに関連する。
【００１４】
当業者は発明原理を適用できる様々な応用例を把握するであろうが、以下の説明は、ディジタルビデオレコーダ機能及びタイムシフト機能を備えたセットトップボックスに発明原理を適用する実施形態に着目している。本願によりなされる教示に基づいて、発明原理の精神の範囲内において、当業者は、発明原理を適用することが可能な他の装置及び方法を容易に把握するであろう。例えば、記録及びタイムシフトの機能を備えたマルチメディア再生機能を有する任意の装置に発明原理を適用することが可能である。発明原理は、ディジタルビデオレコーダ(DVR)の機能を備えたセットトップボックス、スタンドアローンDVR、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキング機器等に組み込まれることが可能である。これらの装置の列挙は単なる例示であり、網羅的ではないことは明白である。
【００１５】
上記の従来の技術に関し、及びタイムシフト記録内容に新たなデータを付加する際にタイムシフト記録の終わりの方から古いデータを打ち切ってしまう問題に対処するように特別に設計されたファイルシステムを利用することに関し、先ず指摘しておくことは、発明原理は、そのように特別に設計されたファイルシステムを必要とすることなくその問題を解決できる点である。有利なことに、これは、標準的なスタンドアローンシステムをビデオストレージに使用することを可能にする。「標準的なスタンドアローンシステム」は、既存の(existing)ファイルシステム、又は従来の(legacy)ファイルシステムとして言及される。更に、発明原理は、重複する記録内容同士の間で転送データを共有できるようにし、ストレージ空間を節約する。
【００１６】
図1は、発明原理が適用されてもよい発明原理の実施形態による処理システム100の一例を示す。処理システム100は、システムバス104を介して他の要素に動作可能に結合されている少なくとも1つのプロセッサ(CPU)102を含む。リードオンリメモリ(ROM)106、ランダムアクセスメモリ(RAM)108、ディスプレイアダプタ110、入力/出力(I/O)アダプタ112、ユーザインタフェースアダプタ114、及びネットワークアダプタ198が、システムバス104に動作可能に結合されている。
【００１７】
ディスプレイ装置116はディスプレイアダプタ110によりシステムバス104に動作可能に結合される。ディスクストレージ装置(例えば、磁気ディスクストレージ装置、又は光ディスクストレージ装置)118はI/Oアダプタ112によりシステムバス104に動作可能される。
【００１８】
マウス120及びキーボード122はユーザインタフェースアダプタ114によりシステムバス104に動作可能される。マウス120及びキーボード122はシステム100に対する情報の入力及び出力に使用される。
【００１９】
トランシーバ196はネットワークアダプタ198によりシステムバス104に動作可能される。
【００２０】
当業者により容易に理解されるように、当然に、処理システム100は他の要素(図示せず)を含んでいてもよいし、あるものは省略されてもよい。例えば、当業者により容易に理解されるように、具体的な実施形態に依存して、様々な他の入力装置及び/又は出力装置が処理システム100に含まれることが可能である。例えば、様々なタイプの無線及び/又は有線の入力及び/又は出力装置が使用されてもよい。更に、当業者により容易に理解されるように、様々な構成において、追加的なプロセッサ、コントローラ、メモリ等が使用されてもよい。これら及びその他の様々な処理システム100は、本願で説明される発明原理の教示内容に基づいて当業者により容易に把握されるであろう。
【００２１】
更に、図2を参照しながら以下において説明されるセットトップボックス200は、発明原理の個々の実施形態を実現するためのセットトップボックス200であることが認められるであろう。そして、図3及び図4に関連して後述される記録パイプライン300及び再生パイプライン400がセットトップボックス200に含まれることが、認められるであろう。当然に、上述したように、発明原理はセットトップボックスに限定されず、記録パイプライン300及び再生パイプライン400は、発明原理の範囲内に属する他の装置(一例が上記の説明で列挙されている)に組み込まれることが可能である。処理システム100の全部又は一部はセットトップボックス200(又は他の装置)、記録パイプライン300及び再生パイプライン400の1つ以上の要素で実現されてよい。
【００２２】
更に、処理システム100は、例えば図6に示す方法600の少なくとも一部及び/又は図7に示す方法700の少なくとも一部を含む本願で説明される方法の少なくとも一部を実行してよいことが、認められるであろう。同様に、セットトップボックス200、記録パイプライン300及び/又は再生パイプライン400の全部又は一部は、方法600の少なくとも一部及び/又は方法700の少なくとも一部を実行するために使用されてもよい。
【００２３】
図2は、ディジタルビデオレコーダ機能及びタイムシフト機能を有する発明原理の実施形態によるセットトップボックス200の一例を示す。セットトップボックス200の全ての動作のために必要な様々な要素のうちの一部は、当業者にとって既知であるので、図示の簡明化の観点から図示されていないことが認められるであろう。
【００２４】
信号は入力信号受信部202によりセットトップボックス200に出入りする。入力信号受信部202は入力ストリームプロセッサ204に接続されている。入力ストリームプロセッサ204はオーディオプロセッサ206及びビデオプロセッサ210にも接続される。オーディオプロセッサ206は、セットトップボックス200からのオーディオ出力信号を提供するオーディオインタフェース208に接続される。ビデオプロセッサ210は、セットトップボックス200からのビデオ出力信号を提供するディスプレイインタフェース218に接続される。オーディオプロセッサ206及びビデオプロセッサ210はストレージ装置212にも接続される。コントローラ214は、ストレージ装置212だけでなく、入力ストリームプロセッサ204、オーディオプロセッサ206及びビデオプロセッサ210にも接続される。制御メモリ220はコントローラ214に接続される。コントローラ214はユーザインタフェース216及びハンドヘルドインタフェース222にも接続される。
【００２５】
コンテンツは入力信号受信部202において受信される。入力信号受信部202は、空中、ケーブル、衛星、イーサーネット(登録商標)、ファイバ及び電話回線のネットワークを介して提供される信号を受信、復調及び復号(デコード)するために使用される1つ以上の既存の受信回路であってもよい。重要なことに、入力信号受信部202はデータ信号だけでなくメディアコンテンツ信号のための受信、復調及び復号の回路を含んでもよいことに留意を要し、メディアコンテンツ信号は、所望のブロードキャスト入力信号として同じ配信ネットワークを介して、又は異なるネットワークを介して、及び/又は代替的なセルラ又は無線ネットワークを介して配信される。配信ネットワーク2(又は無線ネットワーク)を介して受信したメディアコンテンツ及びデータは、配信ネットワーク1からのメディアコンテンツ及びデータと異なっているかもしれない。データは、スケジュール変更及び更新内容に関する情報を含むだけでなく、何れかの配信ネットワークを介して配信されるメディアコンテンツに関する情報をも含んでいてよい。一実施形態において、ケーブルブロードキャスト信号が、信号受信部202のケーブルチューナ回路により受信、復調及び復号される。所望のブロードキャスト入力信号は、制御インタフェース(図示せず)を介して提供されるユーザ入力に基づいて、入力信号受信部202において選択及び取得されてもよい。入力信号受信部202は、双方向ネットワーク接続を行う機能を追加的に提供するインターネットプロトコル(IP)インタフェース回路も含む。
【００２６】
入力信号受信部202の1つ以上の回路によりデコードされた出力信号は、入力ストリームプロセッサ204に提供される。入力ストリームプロセッサ204は、最終的な信号の選択及び処理を行う機能を実行し、コンテンツストリームに関するビデオ信号とオーディオ信号とを分離する機能を含む。オーディオコンテンツはオーディオプロセッサ206に提供され、受信したフォーマット(例えば、圧縮されたディジタル信号)から別のフォーマット(例えば、アナログ波形信号)へ変換する。アナログ波形信号は、オーディオインタフェース208に提供されるだけでなく、ディスプレイ装置116やオーディオ増幅器(図示せず)等にも提供される。代替的に、オーディオインタフェース208は、SPDIF(Sony/Philips  Digital  Interconnect  Format)等のようなオーディオインタフェースや高解像度マルチメディアインタフェース(HDMI)ケーブルを利用して、ディジタル信号をオーディオ出力装置又はディスプレイ装置に提供してもよい。オーディオプロセッサ206はオーディオ信号のストレージに関する任意の必要な変換処理を実行する。
【００２７】
入力ストリームプロセッサ204から出力されたビデオは、ビデオプロセッサ210に提供される。ビデオ信号は様々なフォーマットうちの何れかであってよい。ビデオプロセッサ210は、必要に応じて、入力信号フォーマットに基づいてビデオコンテンツの変換を行う。ビデオプロセッサ210は、ビデオ信号のストレージのために必要な任意の変換を実行する。
【００２８】
ストレージ装置212は入力部で受信したオーディオ及びビデオコンテンツを保存する。ストレージ装置212は、コントローラ214の制御の下で、ユーザインタフェース216から受信したコマンド(例えば、早送り(FF)、早戻し(Rew)等のナビゲーションコマンド)に基づいて後にコンテンツを取得及び再生できるようにする。ストレージ装置212は、ハードディスクドライブ、1つ以上の大容量集積回路電子メモリ(例えば、スタティックRAM(SRAM)、ダイナミックRAM(DRAM))、着脱可能な光ディスクストレージシステム(例えば、コンパクトディスクドライブ又はディジタルビデオディスクドライブ)、又はセットトップボックス200に対する外部ストレージ或いはセットトップボックス200によりアクセス可能な外部ストレージ等であってもよい。
【００２９】
入力に由来する又はストレージ装置212に由来するビデオプロセッサ210により変換されたビデオ信号は、ディスプレイインタフェース218に提供される。ディスプレイインタフェース218は、上記のタイプのディスプレイ装置に表示信号を提供する。ディスプレイインタフェース218は、赤緑青(RGB)方式のようなアナログ信号インタフェースであってもよいし、或いはディジタルインタフェース(例えば、HDMI)であってもよい。
【００３０】
コントローラ214は、セットトップボックス200の様々な要素にバスを介して相互接続され、そのような要素は、入力ストリームプロセッサ204、オーディオプロセッサ206、ビデオプロセッサ210、ストレージ装置212、ユーザインタフェース216及びハンドヘルドインタフェース222を含む。コントローラ214は、入力ストリーム信号を、ストレージ装置における保存のための信号又は表示のための信号に変換する変換処理を管理する。コントローラ214は、保存されたコンテンツの抽出及び再生を管理する。コントローラ214は、コントローラ214のための情報及び命令コードを保存する制御メモリ220(例えば、RAM、SRAM、DRAM、リードオンリメモリ(ROM)、プログラマブルROM、電子的にプログラム可能なROM(EPROM)、電子的に消去可能なプログラマブルROM(EEPROM)、フラッシュメモリ等を含む揮発性又は不揮発性メモリ)にも結合されている。更に、メモリ220の実現方式は複数の実現手段の可能性を有し、例えば、単独のメモリ装置であってもよいし、或いは共有される又は共通のメモリを形成する互いに接続された複数のメモリ回路であってもよい。更に、メモリは、より大きな回路の中で他の回路とともに含まれていてもよい(例えば、バス通信回路の一部分として形成されてもよい)。
【００３１】
ユーザインタフェース要素及びディスプレイ装置の間のインタフェース機能を有することに加えて、セットトップボックス200は、ハンドヘルドインタフェース216により、タブレット等のような携帯装置との間のインタフェース機能も有する。そのような携帯装置は、追加的な制御部を備えた表示画面を含んでもよいし、或いはタッチスクリーンを含んでいてもよい。ビデオプロセッサ210からのビデオ信号に加えて、オンスクリーンディスプレイメッセージやメッセージプロンプトリターン等のような他のデータが、コントローラ214及びハンドヘルドインタフェース222の間でやり取りされてもよい。ハンドヘルドインタフェース222は、Wi-Fi、ブルートゥース又は電気電子技術者協会(IEEE)標準規格802.11等による無線周波数通信リンクを利用して、携帯装置又はタブレットとの間で信号及びデータを送信及び受信する。或いは、ハンドヘルドインタフェース222は、赤外線インタフェースを利用して、携帯装置又はタブレットとの間で信号及びデータを送信及び受信してもよい。
【００３２】
動作の際、セットトップボックス200は、以下において詳細に説明するように、セットトップボックス又はホームゲートウェイ等のようなクライアント装置におけるメディアコンテンツデータベースを更新、管理及び探索する処理を実行する。アルゴリズム又は機能の物理的な実現手段は、ビデオプロセッサ210に関連する個別回路のようなハードウェアであってもよいし、制御メモリ220内に常駐しかつコントローラ214により読み取られて実行されるソフトウェア等のようなソフトウェアであってもよい。本方法は、メディアコンテンツに関連するイベントデータ(固有のイベント識別子を含む)を受信するステップと、イベント識別子を検査してイベントデータをキャッシュメモリ内のアレイに保存するステップと、受信したイベントデータのイベント識別子がアレイの中に現在存在していなかった場合にはイベントカウント値を更新するステップと、キャッシュメモリの交換のトリガを受けた場合(例えば、イベントカウント値の少なくとも1つが閾値を超え、時間の長さの値が所定の閾値を超えた場合)に、第1のイベントデータベースをアレイ中のイベントデータで更新するステップとを含む。
【００３３】
典型的にはメディアストレージ及びインタフェース装置として使用されるセットトップボックス200のような装置の動作形態は、メディアコンテンツだけでなくコンテンツを特定するためのデータベースエントリ又はレコードの、保存、保守、点検、探索、サーチ、抽出を含む。データベース情報及びエントリの更新は、周期的又は継続的にコンテンツ情報を更新する動的なシステムでは重要である。例えば、新たなデータベースレコード又は情報が受信されてデータベースに提供されるかもしれない。更に、現在保存されているコンテンツ及びコンテンツに関連するエントリ又は情報が、削除又は消去されるかもしれない。ユーザ制御部から装置に与えられた入力により、又は周期的な方式により、コンテンツは削除又は消去されてもよい。同時に、又はほぼ同時に、データベース検索リクエストのようなリクエストがなされてもよい。一般に、全ての種類及び形式のコンテンツ及び情報が複数のソースから受信され、データベースに入力されてもよい。検索リクエストに関し、安定したデータベースが利用可能であることが重要である。検索能力を維持しかつ検索の結果及び検索のパフォーマンスを可能な限り高く維持しつつ、データ及び情報がデータベースに追加されなければならない。データベースの更新及び検索に関する改善は、シンプルデータベース構造(例えば、構造化クエリ言語(SQL)データベースで形成される構造)においても非常に望まれている。
【００３４】
本願で説明されるようなメディアコンテンツデータベースの更新、管理及び検索に関する機能及び制御は、ゲートウェイ装置(例えば、セットトップボックス)に関連するオペレーティングコード又はファームウェアの一部として包含されてもよい。そのプロセス又は処理は、何らかのプログラミング言語(例えば、ジャバ又はハイパーテキストマークアップ言語(HTML))で書かれた処理命令を含んでもよい。アプリケーションは(例えば、サーバ又はインターネットサイトから)事前にロード又はダウンロードされ、ホスト装置のメモリに保存されてもよい。一実施形態において、命令は図2の制御命令220に保存され、その命令はコントローラ214により抽出及び実行されてもよいことが、認識されるであろう。別の実施形態において、メモリ及び処理を実行する対応するプロセッサ又はコントローラは、個別的なスタンドアローン集積回路(例えば、ディジタル処理プロセッサ(DSP)又は特定用途向け集積回路(ASIC))に統合されてもよい。
【００３５】
図3は発明原理を適用することが可能な発明原理の実施形態による記録パイプライン300の一例を示す。一実施形態において、記録パイプライン300は図2のセットトップボックス200内に含まれている。しかしながら、上述したように、記録パイプライン300は他の装置に含まれることも可能であり、例えば、スタンドアローンDVR、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキング機器等に含まれていてもよいが、これらに限定されない。
【００３６】
記録パイプライン300は、チューナ301、デマルチプレクサ(demux)302、セグメント化装置303、セグメントストレージ装置304、セグメントデータベース305、及び記録制御装置306を含む。
【００３７】
放送されたビデオ(ブロードキャストビデオ)はチューナ301により受信される。チューナ301は、ディジタルビデオブロードキャスティング(DVB)方式等によるハードウェアチューナであってもよいし、アドバンストテレビジョンシステム委員会(ATSC)方式のチューナであってもよいし、ネットワークインタフェース(図示せず)を介してトランスポートストリームを受信するインターネットプロトコルテレビジョン(IPTV)であってもよい。チューナ301により受信されたトランスポートストリームはデマルチプレクサ302に送られる。
【００３８】
マルチプログラム伝送ストリーム(又は多重プログラム伝送ストリーム)の場合、デマルチプレクサ302は、所望のプログラムを選択し、シングルプログラム伝送ストリーム(又は単一プログラム伝送ストリーム)をインデックス情報とともにセグメント化装置303に送る。プログラムは、コンピュータプログラムを表現する場合があることに加えて、番組又はコンテンツ等と表現されてよい場合がある。また、シングルプログラム伝送ストリームの場合、デマルチプレクサ302は、受信した伝送ストリームを修正せずにトランスペアレントにセグメント化装置303に送る一方、関連するストリームのインデックス情報を付加的に提供してもよい。何れの場合においても、インデックス情報は、ストリームの中でアクセスする場所(アクセスポイント)及び関連するプレゼンテーション時間スタンプ(presentation  time  stamps：PTS)のリストを含む。アクセスポイントは、ストリームの中でデコードを開始することが可能な場所に付けられた印又はマークである。
【００３９】
セグメント化装置303はトランスポートストリーム及びインデックスストリームを個々のセグメントに分解する。セグメントストレージ装置304は典型的にはファイルシステムの機能を有するハードディスクであってよい。本願により提供される発明原理の教示に基づいて、当業者に容易に理解されるように、セグメントストレージ装置304はファイルシステムを有する他のタイプのメモリ装置により実施することが可能である。
【００４０】
トランスポートセグメント及びインデックスセグメントの各々はファイルシステムにおける固有のファイルとして保存される。セグメントのサイズは具体的なシステムのパフォーマンス考察に基づいて調整されることが可能であるが、典型的なセグメントサイズは約1ないし5分間のデータであってもよい。各々のセグメントが書き込まれると、セグメント化装置303は、生成したセグメントに関する情報によりセグメントデータベース305を更新する。
【００４１】
記録制御装置306は、チューナ301、デマルチプレクサ302及びセグメント化装置303とやり取りを行って記録を制御する。記録はレコーディング等と言及されてもよい。記録制御装置306は、チューナ301を制御し、及び/又は記録されるべきサービスに同調するようにチューナ301に通知する。記録制御装置306は、デマルチプレクサ302に関する制御を行い、及び/又は伝送ストリーム中の何れの番組を記録するかをデマルチプレクサ302に通知し、記録されるセグメントに関連するプレイリスト(又は再生リスト)をセグメント化装置303に与える。
【００４２】
図4は発明原理を適用することが可能な発明原理の実施形態による再生パイプライン400の一例を示す。再生パイプライン400は、記録されたセグメントを再生する。一実施形態において、再生パイプライン400は図2のセットトップボックス200内に含まれている。しかしながら、上述したように、再生パイプライン400は他の装置に含まれることも可能であり、例えば、スタンドアローンDVR、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキング機器等に含まれていてもよいが、これらに限定されない。
【００４３】
再生パイプライン400は、セグメントデータベース401、セグメントストレージ装置402、デセグメント化装置403、デマルチプレクサ404、再生制御装置405、サブタイトルデコーダ406、ビデオデコーダ407、オーディオデコーダ408、オーディオレンダリング装置409、及びビデオレンダリング装置410を含む。
【００４４】
再生制御装置405はデセグメント化装置403を制御し、及び/又は何れの再生リストが再生されるべきかをデセグメント化装置403に通知する。再生制御装置405はデセグメント化装置403を制御し、及び/又は指定された時間オフセットで再生を開始しかつ指定されたレートで再生することをデセグメント化装置403に通知する。例えば、1.0の再生レートが通常の再生に対応し、4.0が4x(4倍の)早送りであり、-4.0が4x(4倍の)早戻しであり、0.0が一時停止であってもよい。
【００４５】
デセグメント化装置403は、再生に必要な伝送及びインデックスセグメントファイルを発見するようにセグメントデータベース401に問い合わせる。デセグメント化装置403はそれらのファイルをセグメントストレージ装置402から読み込む。再生が或る時間オフセットを伴うセグメントで開始されるべき場合、セグメント内の指定されたオフセットをスキップするために、インデックス情報がデセグメント化装置403により使用される。デセグメント化装置403はセグメントストレージ装置402からデマルチプレクサ404へデータ(例えば、トランスポートストリーム)を送信する。
【００４６】
デマルチプレクサ404は、トランスポートストリームを、オーディオ、ビデオ及びサブタイトル要素ストリームに分割し、これらのストリームをオーディオデコーダ408、ビデオデコーダ407及びサブタイトルデコーダ406にそれぞれ送る。その後、オーディオデコーダ408からの出力は、オーディオの最終的なレンダリングを行うビデオレンダリング装置409に送られる。ビデオデコーダ407及びサブタイトルデコーダ406からの出力は、ビデオの最終的なレンダリングを行うビデオレダリング装置410に送られる。
【００４７】
図5は、発明原理の実施形態によるセグメントデータベース(例えば、セグメントデータベース305及びセグメントデータベース401)に存在する4つのレコードタイプ又は記録タイプ500の一例を示す。レコードタイプは、プレイリストレコード501、プレイリストセグメントレコード502、セグメントレコード503及びセグメント消去レコード504を含む。各々のプレイリストレコード501はレコーディング(recording)を表現する。セグメントレコード503の各々は、ディスクに保存されている記録されたセグメントを表現する。プレイリストセグメントレコード502は、セグメントレコード503をプレイリストレコード501に関連付ける。そして、セグメント消去レコード504は、消去としてマークされた記録されたセグメントを追跡するために使用される。
【００４８】
次に、発明原理を適用することが可能な発明原理による実施形態における例示的な状況を説明する。
【００４９】
ユーザが実際に放送されているコンテンツ(又はイベント)を視聴しながら記録の開始を決定した場合において、たとえユーザがイベントの開始から或る時点までの記録要求を行わなかったとしても、利用可能なタイムシフトデータを利用して、そのイベント全体の記録を生成することが望ましい。視聴は鑑賞等と言及されてもよい。一例として、ユーザが8:00pmに始まったイベントを視聴しているとする。8:10pmにおいて、ユーザはそのイベントを記録することを要求したとする。タイムシフトバッファが8:00pmから8:10pmまでのコンテンツを含んでいる場合、イベント全体の完全な記録を作成することが可能である。本発明は、新たな記録を形成するためにタイムシフトデータをコピーする要求を(意図的に)行うことなく、タイムシフトデータを記録用に変換する手段を提供する。
【００５０】
場合によっては、複数の記録に関し、同じコンテンツの部分を共有することが可能である。例えば、イベントAが8:00PMに始まって8:30PMに終了し、同じチャネルでイベントBが8:30PMに始まって9:00PMに終了すると仮定する。ユーザはイベントA及びイベントBの双方を要求するかもしれない。更に、ユーザの記録の好みが、全ての記録は、5分早めに始まりかつ終了は5分遅れることを示しているかもしれない。この場合、あるオーバーラップ又は重複が存在し、記録Aの最後の10分間は、記録Bの最初の10分間と同じ内容を含む。発明原理は、重複部分の記録(内容)が或る場所に保存されるようにし、共有するデータを重複させずに2つの記録で共有することにより、そのような重複記録の保存を最適化する方法を提供する。
【００５１】
多くのDVRにおいて、ユーザは、記録する特定のイベントを選択すること、或いは時間範囲及びチャネルに基づいて記録を計画(又はスケジューリング)することが可能である。ユーザが時間及びチャネルによりスケジューリングする場合、多くのDVRは、例えば「マニュアル記録8pm-10pm、チャネル99」等のような一般的なエントリとして記録を表示する。記録は、複数のイベントを含むかもしれないが、記録が何を含んでいるかを知る手段は存在しない。また、特定のイベントを取り出して再生する手段や、記録中の或るイベントを残して他を消去する手段も存在しない。例えば、上記の参照したマニュアル記録は、ユーザが8:30pm-9pmを保持することを希望している番組Aのエピソード(話)を含んでいるが、そのユーザはそれ以外の部分を削除したいかもしれない。発明原理はそのような問題に対する解決手段を提供する。
【００５２】
次に、発明原理の実施形態による記録を作成する例を説明する。
【００５３】
記録が開始されると、先ず、新たなプレイリストレコード501が、新たな記録を表現するために、セグメントデータベースに付加される。プレイリストレコードには新たな固有のプレイリストID(PlaylistID)が指定され、そのプレイリストが通常の記録に関するものであるか又はタイムシフトに関するものであるかを示すように、使用タイムシフトフィールド(UsedForTimeshift  field)が設定される。
【００５４】
プレイリストが作成された後、記録制御により、記録を開始するための記録パイプライン300を設定する。そして、セグメント化装置303は、新たなセグメントレコード503及び再生リストセグメントレコード502をセグメントデータベース305に作成し、最初のトランスポートファイル及びインデックスファイルをディスクに書き込み始める。
【００５５】
セグメントレコード503は以下の値とともに作成される：
セグメントID−セグメントに関する固有のID。
【００５６】
トランスポートファイル−そのセグメントに関するトランスポートストリームデータを保存するのに使用されるファイル。
【００５７】
インデックスファイル−そのセグメントに関するインデックス情報を保存するのに使用されるファイル。
【００５８】
リファレンスカウント−これは、そのセグメントを参照するプレイリストセグメントレコード数である。現在の記録が1つのプレイリストのみに適用される場合、リファレンスカウントは1に設定される。
【００５９】
サービス/プログラムID−これは、記録されるサービス(チャネル)を識別する。
【００６０】
スタート時間−UTCを単位とするセグメントの開始時間。
【００６１】
エンドタイム−セグメントの終了時間であるが、セグメントが完了するまで未知である。最初、この値は0に設定されている。
【００６２】
スタートPTS−これはセグメント中の最初のPTSである。最初のPTSがセグメント作成の際に未知であった場合、その値は最初は0に設定される。
【００６３】
エンドPTS−これはそのセグメントに関する終了のPTS−これはセグメント値であるが、最初は未知であり、0に設定されている。
【００６４】
不連続性(Discontinuity)−これはそのセグメントの中でPTS不連続性が存在することを示すフラグである。これは最初は偽(FALSE)に設定されている。
【００６５】
プレイリストセグメントレコード502は以下の値とともに作成される：
プレイリストID−そのセグメントに関連するプレイリストレコードに関するプレイリスト識別子。
【００６６】
セグメントID−セグメントレコードのセグメント識別子。
【００６７】
シーケンス番号−これは、プレイリストに付加されるセグメント各々についてインクリメントされる整数である。初期値は0である。
【００６８】
スタートオフセット−これは最初は0に設定されている。
【００６９】
エンドオフセット−これは最初は0に設定されている。
【００７０】
記録している間に、セグメント各々のプレイリスト各々についてプリリストセグメントレコード502が作成される。データが3つのプレイリストに記録されていた場合、セグメントレコードの各々は3つのプレイリストセグメントレコード502を有する。セグメントを参照する3つのプレイリストセグメントレコード502が存在するので、各々のセグメントは3に設定されたリファレンスカウントを有する。
【００７１】
典型的なセグメントサイズは約1ないし5分間のデータを含む。各セグメントが終了した後に、セグメント化装置303は、セグメントレコード503を、そのセグメントの最終データで更新する。これは、エンドタイム、エンドPTS、不連続性フラグ及び開始PTS(記録の開始時には未知であったもの)を含む。セグメント化装置303は、次のセグメントを書き込み、新たなセグメントレコード503及びプレイリストセグメントレコード502を作成することを開始する。この処理は記録が完了するまで続く。
【００７２】
図6は発明原理の実施形態による記録開始方法の一例600を示す。ステップ610において、プレイリストが作成される。ステップ620において、所望のサービスについて記録パイプラインが既に存在するか否かが確認される。存在した場合、本方法600はステップ615に進む。存在しなかった場合、本方法600はステップ660に進む。ステップ615においてプレイリストが既存の記録パイプラインのセグメント化装置に追加される。
【００７３】
ステップ620において、セグメント化303がセグメントの途中にあるか否かが判断される。そうであった場合、本方法600はステップ625に進む。そうでなかった場合、本方法600はステップ645に進む。
【００７４】
ステップ625において、セグメント化装置303は、現在の位置に関して調整された開始オフセットを伴う新たなプレイリストのプレイリストセグメントレコード502を作成する。
【００７５】
ステップ630において、セグメントのリファレンスカウントがインクリメントされる(1増加単位の分だけ増やされる)。
【００７６】
ステップ635において、セグメントは完了しているか否かが判断される。完了していた場合、本方法600はステップ640に進む。そうでなかった場合、本方法600はステップ650に進む。
【００７７】
ステップ640において、セグメントレコード503が最終タイムスタンプにより更新される。
【００７８】
ステップ645において、セグメント化装置303は、新たなセグメント及び(新たなセグメントに関する)インデックスファイルを書き込み、セグメントレコード503を作成し、プレイリスト各々について再生リストセグメントレコード502を作成する。
【００７９】
ステップ660において、記録パイプラインが作成される。
【００８０】
ステップ650において、記録は完了したか否かが判断される。完了していた場合、本方法600はステップ655に進む。そうでなかった場合、本方法600はステップ635に戻る。
【００８１】
ステップ655において、記録は止まる(図7参照)。
【００８２】
図7は、発明原理の実施形態による記録停止方法の一例700を示す。ステップ705において、プレイリストがセグメント化装置303から除去される。ステップ710において、セグメント化がセグメントの途中でなされるか否かが判断される。そうであった場合、本方法700はステップ715に進む。そうでなかった場合、本方法700はステップ720に進む。
【００８３】
ステップ715において、最後のプレイリストセグメントレコード502のエンドオフセットが調整される。
【００８４】
ステップ720において、セグメントが1つ以上のプレイリストを含んでいるか否かが判断される。含んでいた場合、本方法700は終了する。含んでいなかった場合、本方法700はステップ725に進む。
【００８５】
ステップ725において、記録パイプラインは終了する。
【００８６】
図8は発明原理の実施形態による記録消去方法の一例800を示す。ステップ805において、プレイリストセグメントレコード502が確認される(問い合わせられ)：PlaylistID=セグメントのリストを形成するために消去するプレイリスト。ステップ810において、本方法800はリストの最初のセグメントから始まる。ステップ815において、セグメントレコード503のリファレンスカウントがデクリメントされる(例えば、1減少単位の分だけ減らされる)。ステップ820において、リファレンスカウント=0であるか否かが判断される。そうであった場合、本方法800はステップ825に進む。そうでなかった場合、本方法800はステップ840に進む。
【００８７】
ステップ825において、セグメント消去レコード504がセグメントIDとともに作成される。
【００８８】
ステップ830において、さらにセグメントが存在するか否かが確認される。存在する場合、本方法800はステップ835に進む。そうでなかった場合、本方法800はステップ845に進む。
【００８９】
ステップ835において、本方法800はリストの中で次のセグメントに移る。
【００９０】
ステップ845において、不要データ収集処理のトリガが生じる。
【００９１】
図9は発明原理の実施形態による不要セグメント収集方法の一例900を示す。ステップ905において、セグメント消去レコード504の存否が確認される。存在した場合、本方法900はステップ910に進む。存在していなかった場合、本方法は終了する。ステップ910において、転送及びインデックスファイルが削除される。ステップ915において、セグメントレコード503が消去される。ステップ920において、セグメント消去レコード504が消去される。
【００９２】
図10は、記録の先頭からデータを打ち切る発明原理の実施形態による方法例1000を示す。ステップ1005において、最小のセグメントレコード503のプレイリストセグメントレコード502が確認される：PlaylistID=セグメントレコードを取得するために打ち切るプレイリスト。ステップ1010において、
(現在時間)-(終了時間(EndTime)≧(タイムシフト長)
が成立するか否かが確認される。成立する場合、本方法1000はステップ1015に進む。成立しなかった場合、本方法はステップ1040に進む。
【００９３】
ステップ1015において、セグメントレコード503のリファレンスカウントが確認される。ステップ1020において、リファレンスカウント=0であるか否かが確認される。そうであった場合、本方法1000はステップ1025に進む。そうでなかった場合、本方法1000はステップ1035に進む。
【００９４】
ステップ1025において、セグメント消去レコード504がセグメントIDとともに作成される。ステップ1030において、不要データ又はゴミ(garbage)収集処理のトリガが生じる
ステップ1035において、セグメントレコード503が消去される。
【００９５】
ステップ1040において、次のように値を設定する。
【００９６】
(遅延)=(時間シフト長)-(現在時間-終了時間)
図11は、記録の先頭にセグメントを付加する発明原理の実施形態による方法例1100を示す。本方法1100は記録の先頭にタイムシフトデータを付加するために使用されることが可能である。ステップ1105において、記録が始められる(図6参照)。ステップ1110において、セグメントレコード503が確認される(問い合わせられる：Service=記録しているサービス、開始時間(StartTime)≦所望の開始時間(StartTime)、終了時間(EndTime)≧開始時間から降順に並べた所望の開始時間であること等を確認する。ステップ1115において、セグメントに時間ギャップが存在するか否かが確認される。存在していた場合、本方法1100はステップ1120に進む。そうでなかった場合、本方法はステップ1125に進む。
【００９７】
ステップ1120において、ギャップにおいて打ち切りを実行し、リスト中にギャップがもはや存在しないようにする。
【００９８】
ステップ1125において、本方法1100はリスト中の第2のセグメントから始まり、シーケンス番号=0である。
【００９９】
ステップ1130において、プレイリストセグメントレコード502が作成され、リファレンスカウントがインクリメントされる。ステップ1135において、リスト中に更なるセグメントが存在するか否かが確認される。存在していた場合、本方法1000はステップ1140に進む。そうでなかった場合、本方法1100は終了する。ステップ1140において、本方法1100は次のセグメントに移り、シーケンス番号をデクリメントする。
【０１００】
図12は発明原理の実施形態による記録再生方法の一例1200を示す。ステップ1205において、最小のシーケンス番号のプレイリストセグメントレコード502が確認される：プレイリストID=再生するプレイリスト。ステップ1210において、スタートオフセット=0であるか否かが確認される。そうであった場合、本方法1200はステップ1215に進む。そうでなかった場合、本方法1200はステップ1250に進む。
【０１０１】
ステップ1215において、開始バイト位置が0に設定される。
【０１０２】
ステップ1220において、エンドオフセット=0であるか否かが確認される。そうであった場合、本方法1200はステップ1225に進む。そうでなかった場合、本方法1200はステップ1255に進む。
【０１０３】
ステップ1225において、終了バイト位置がトランスポートファイルのサイズに等しい値に設定される。ステップ1230において、トランスポートファイルが開始バイト位置から終了バイト位置にかけて読み取られ、データがデマルチプレクサ404に送られる。ステップ1235において、シーケンス番号がインクリメントされる。ステップ1240において、プレイリストID=再生するプレイリスト及びシーケンス番号とともにプレイリストセグメントが存在するか否かが確認される。存在している場合、本方法1200はステップ1245に進む。そうでなかった場合、本方法1200はステップ1260に進む。
【０１０４】
ステップ1245において、プレイリストセグメント及びセグメントが抽出される。
【０１０５】
ステップ1250において、スタートオフセットの開始バイト位置を見出すためにインデックスファイルが読み取られる。
【０１０６】
ステップ1255において、インデックスファイルがエンドオフセットのエンドバイト位置を見出すために読み取られる。
【０１０７】
ステップ1260において、再生が完了する。
【０１０８】
次に、発明原理の実施形態による記録処理の最中に再生リストを付加/削除することに関する例を説明する。
【０１０９】
複数のプレイリストの中で同じデータが使用されている場合、記録処理の最中に、セグメント化装置303によりプレイリストを追加又は削除する必要性がしばしば生じる。この目的のために、再生セグメントレコード502において開始オフセット及び終了オフセットフィールドが使用される。我々のシステムは5分間のセグメントを使用していると仮定する。更に、セグメントの開始から2分後に第2のプレイリストが記録に追加されると仮定する。この段階において、新たなプレイリストセグメントレコード502が作成され、セグメントレコードのリファレンスカウントがインクリメントされ、開始オフセットフィールドの例外とともに、プレイリストセグメントのフィールドが事前に設定される。セグメントの再生はセグメントの中で120秒のオフセットとともに始まるべきであることを示すために、開始オフセットフィールドが120秒に設定される。同様に、データが複数の再生リストに記録されている場合において、1つの再生リストに関する記録が止まる場合、終了オフセットフィールドは、再生が終了すべきセグメントの終了時点からのオフセットに設定される。
【０１１０】
次に、発明原理の実施形態による記録消去に関する例を説明する。このプロセスは図8を参照しながら説明される。
【０１１１】
各々の記録(レコーディング)は再生リストに対応する。記録が消去される場合、以下の処理がセグメントデータベースにおいて実行される：
1．記録に関する再生リストレコード501が消去される。
【０１１２】
2．消去されるプレイリストIDを参照する全てのプレイリストセグメントレコード502が消去される。
【０１１３】
3．消去されるプレイリストセグメントレコード502の各々に関し、消去されるプレイリストセグメントレコード502においてセグメントIDに対応するセグメントレコード503は、1つデクリメントされたリファレンスカウントフィールドを有する。
【０１１４】
4．リファレンスカウントが現在0であるセグメントレコード503の各々に関し、新たなセグメント消去レコード504が、0のリファレンスカウントのセグメントに設定されるセグメントIDとともに生成される。
【０１１５】
上記の4つの処理はデータベースにおいて自動的に実行され、処理中に電力異常(例えば、停電)が生じた場合であってもデータベースの状態が一貫性したままであるようにする必要がある。
【０１１６】
上記の図9に関して説明したように、周期的又は定期的に、バックグラウンドで行われるプロセスは、セグメント消去レコード504を確認又は問い合わせ、対応するセグメントレコード503を探索又は参照し、インデックスファイル及びトランスポートファイルを消去し、セグメントレコード503及びセグメント消去レコード504を取り除く。これは消去の後速やかに実行することが可能であり、或いはこの処理はディスクスペース(又は記憶容量)が必要になるまで処理を待機することも可能である。
【０１１７】
次に、発明原理に従ってタイムシフトを行うプレイリストを作成することに関する例を説明する。
【０１１８】
タイムシフトを行うプレイリストを作成する処理は、次の2つを除いて記録のプレイリストを作成する処理と同じである。
【０１１９】
1．プレイリスト記録における使用タイムシフトフラグ(UsedForTimeshift  frag)が真(TRUE)に設定される。セットトップボックス200が起動される毎に、使用タイムシフトが「真」に設定されている全てのプレイリストが消去される(リセットにより、タイムシフトプレイリストは確保されている必要がないからである)。
【０１２０】
2．記録の先頭からプレイリストセグメントが周期的に消去される。この処理は、プレイリスト全体を消去する場合に、プレイリストレコードのみが消去されず、特定のプレイリストセグメントレコード502のみが取り除かれる場合と同じプロセスに続く。プレイリストセグメントを周期的に消去することは、時間シフトバッファのサイズの境界を規定することになる。例えば、30分間のタイムシフトバッファを維持することが希望され、セグメントサイズが5分間であった場合、プレイリストに関して高々6つの完全なセグメントを保持することになる。7番目のセグメントが完了すると、最初のプレイリストセグメントを消去し、プレイリストに関するセグメントの総数を6つにする。
【０１２１】
次に、発明原理の実施形態によるタイムシフトデータを記録用に変換することに関する例を説明する。このプロセスは上述した図10に関して説明される。
【０１２２】
既に処理中のイベントに関して記録が要求された場合において、イベントに関する時間範囲及びサービスに合致するセグメント記録503を、セグメントデータベースの中で確認する。この処理は、開始時間、終了時間及びサービス/プログラムIDのフィールドを問い合わせることによりなされる。要求されたイベントのサービス及び時間範囲に対応するセグメントが発見された場合、新たなプレイリストセグメントレコード502が、それらのセグメント各々について作成され、それらが記録の開始時時点で適切なシーケンス又は順序で登場するようにシーケンス番号とともに挿入される。最初のセグメントの開始オフセットは、イベントの開始時間に合うように調整される必要がある。更に、追加されたセグメント各々についてのリファレンスカウントフィールドがインクリメントされる。このプロセスは、タイムシフトに使用される既存のデータを、如何なるトランスポートファイルもインデックスファイルも実際にコピーも修正もすることなく、記録内容に付加できるようにする。
【０１２３】
次に、発明原理の実施形態により記録又は時間シフト記録を再生することに関する例を説明する。このプロセスは上述した図12に関して説明される。
【０１２４】
基本的な再生については図4を参照しながら説明されている。ここでは、再生処理中にデセグメント化装置403により実行されるデータベース処理を詳細に説明する。
【０１２５】
記録をスタートから再生する場合、デセグメント化装置403は、最小のシーケンス番号のプレイリストセグメントレコード502を確認する又は問い合わせる。デセグメント化装置403は、トランスポートファイル及びインデックスファイルを見出すために、対応するセグメントレコード503を確認する又は問い合わせる。プレイリストセグメントレコードのスタートオフセットが0であった場合、再生はトランスポートファイルのスタート(先頭)から始まる。スタートオフセットが0でなかった場合(非ゼロであった場合)、開始時間及び開始PTSフィールドをセグメント開始の基準時間として使用することで、オフセットはPTSオフセットに変換される。指定されたPTSオフセットに対応するトランスポートファイル中のバイト位置を見出すためにインデックスファイルがスキャンされ、その位置から再生が始まる。
【０１２６】
デセグメント化装置403は、開始時間を読み取るために、最小のシーケンス番号のセグメントレコード503を確認する。これはプレイリストに関する基準開始時間になる。そして、デセグメント化装置403は、指定されたオフセットを基準時間に加え、所望の位置の絶対時間を計算する。かくて、デセグメント化装置403は、プレイリストの一部をなすセグメントレコード503の開始時間及び終了時間フィールドを比較することにより、指定された時間を含むセグメントレコード503を探す。これは、所望の位置を含むトランスポート及びインデックスファイルをもたらす。セグメントレコード503における開始時間及び開始PTSフィールドをセグメントの基準時間として使用し、その後に所望のPTSオフセットを計算することにより、所望の絶対時間はPTSタイムスタンプに変換される。インデックスファイルは、所望のPTSオフセットのトランスポートファイルのバイトオフセットを見出すためにスキャンされる。そして、デセグメント化装置403はトランスポートファイルのその位置から再生を開始する。
【０１２７】
不連続トリックモード(早送り及び早戻し等)は探索処理と同じ方法で処理される。例えば、4倍の早送りを実行する場合、デセグメント化装置403はプレイリストにおいて0.5秒毎に転送して2秒を取得してもよい。これは、4倍の通常再生レートでプレイリスト中をスキャンすることになる。
【０１２８】
探索処理に必要なデータベース処理を効率的にすることを保証するために、必要な問い合わせが速やかに実行されることを保証すためにデータベース401が適切なインデックスを付けることが、予想される。更に、デセグメント化装置403はパフォーマンスを改善するためにデータベース401からデータをキャッシュ又はプリフェッチしてもよい。これらの処理自体の詳細は、特定のデータベースの実施形態に特有であり、発明原理の範囲を超える。
【０１２９】
次に、発明原理の実施形態によるレコーディング及びサブレコーディングの実行及び管理に関する例を説明する。
【０１３０】
ここで説明される原理は、ユーザが所定の時間範囲内でチャネルに関する記録を作成することを可能にし、及び記録されるブロックの中で連続的な記録として及び離散的なイベントとしての双方についてユーザが記録コンテンツを管理することを可能にする。
【０１３１】
発明原理を利用してユーザが時間及びチャネルにより記録を予定する場合、電子番組ガイド(EPG)データを含むデータベースの問い合わせ(クエリ)が実行され、何れのイベントが記録に含まれるかを決定する。「予定する」は、計画を立てる、スケジューリングを行う等と表現されてもよい。そしてシステムは複数の記録を作成する。親又は基本の記録は、ユーザが要求した時間範囲をカバーする連続的な記録であってもよい。親の記録と並行して、システムは、親の記録が含んでいる各々のイベント(EPGデータにより報告されているようなイベント)について記録を作成してもよい。以下の表1はそのような場合の一例を示す。
【０１３２】
＜表1＞
【表１】
2015510652.tif 000003
この例の場合、ユーザが99番チャネルの8pmから10pmまでしか要求していなかったとしても、発明原理は4つの記録を作成する。システムはこれを実行するために如何なる追加的なデータも実際に記録しない。発明原理は本願で説明されているようなセグメント化された記録アーキテクチャを使用する。
【０１３３】
記録同士の間の親子関係に起因して、マニュアル記録は、親の記録を根本として展開され枝分かれしたツリー構造でユーザに提示されることが可能である。図13は発明原理の実施形態による記録ツリーインデックスの一例1300を示す。従って、上記の例の場合、記録は図13に示すようにしてユーザに表示されてもよい。「マニュアル記録−8PMないし10PM,99チャネル」がツリーインデックス1300の根元1310に示される。「番組A」、「番組B」及び「特別ニュース放送  −  大統領候補討論会」は枝及び/又は葉1311、1312、1313として示される。
【０１３４】
ユーザがマニュアル記録の再生を選択すると、連続的なブロックとして全体を眺めることになる。ユーザがその記録の内の番組Aおんみを再生することに決定すると、再生は番組Aのエピソードから始まり、番組Aのエピソードの終わりで終了する。
【０１３５】
ユーザがマニュアル記録の消去する場合であっても、マニュアル記録に含まれている特定のエピソードの保持を選択できる。例えば、ユーザは番組Aのエピソードを維持することを希望するが、それ以外の全体を消去することを希望するかもしれない。実際に記録されたビデオ及びオーディオデータは、親の記録及びこの記録の間で共有され、参照され、各セグメントのデータが、リスト中の何れの記録によっても最早参照されなくなった場合にそのセグメントのみがディスクから除去されるようにする。
【０１３６】
本明細書は発明原理を説明している。本願において明示的には説明も図示もされていないが、発明原理を活用しかつ本願の精神及び範囲に含まれる様々な変形例を当業者は把握できることが、認められるであろう。
【０１３７】
本願で示されている全ての具体例及び限定条件は、従来技術に対して発明者等が貢献した発明原理及び概念の理解を促す教示を意図して使用されており、開示内容は、そのように具体的に示された具体例や限定条件に限定されることなく解釈されるべきである。
【０１３８】
更に、本願における具体的な実施形態に加えて発明原理に関する原理、態様、形態等を示す全ての内容は、それらの構造的及び機能的な均等物の双方を包含するように意図されている。更に、そのような均等物は、現在知られているものだけでなく将来見出される均等物(すなわち、構造によらず同一機能を発揮するように形成された任意の要素)も包含することが、意図されている。
【０１３９】
従って、例えば、本願で示されているブロック図は発明原理を使用する回路例の概念を表現していることが、当業者に認められるであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コード等は、コンピュータ又はプロセッサが明示的に図示されていなかったとしても、コンピュータ可読媒体により事実上実施される様々なプロセスであってコンピュータ又はプロセッサにより実行される様々なプロセスを表現していることも、認められるであろう。
【０１４０】
図面に示されている様々な要素の機能は、専用のハードウェアを利用することにより提供されてよいだけでなく、適切なソフトウェアに関連するソフトウェアを実行することが可能なハードウェアを利用することにより提供されてもよい。機能がプロセッサにより提供される場合、その機能は、単独の専用プロセッサ、単独の共用されるプロセッサ、又は複数の個別プロセッサ(それらのうち幾つかが共有されてもよい)により提供されてもよい。更に、「プロセッサ」又は「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することが可能なハードウェアを排他的に指すように解釈されるべきではなく、ディジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを保存するリードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)及び不揮発性ストレージ等を暗黙に含んでいるが、これらに限定されない。
【０１４１】
従来及び/又は通常のその他のハードウェアが包含されてもよい。同様に、図示されている任意のスイッチは概念を示しているに過ぎない。それらの機能はプログラム論理部の動作により、専用論理部により、プログラム制御部及び専用論理部の相互のやり取りにより実行されてもよく、マニュアルでさえ実行されてもよく、本願の内容を理解した実施者により具体的に選択可能な特定の技術によって実行されてよい。
【０１４２】
本願において「結合(coupled)」という語句は、直接的に接続された手段、又は1つ以上の介在する要素(中間要素)を介して間接的に接続された手段を意味するように定義される。そのような介在する要素はハードウェア要素及びソフトウェアに基づく要素の双方を含んでよい。
【０１４３】
特許請求の範囲に関し、特定の機能を実行する手段として表現される任意の要素は、その機能を実行する任意の仕方を包含するように意図されており、例えば、a)その機能を実行する複数の回路要素の組み合わせ、又はb)その機能を発揮するようにソフトウェアを実行する適切な回路と組み合わせられた任意の形式のソフトウェア(例えば、ファームウェア、マイクロコード等を含む)が含まれる。そのような特許請求の範囲により規定される発明原理は、記載されている様々な手段により提供される機能が、特許請求の範囲で示されている仕方で組み合わせられ持ち込まれるようにして使用される。それらの機能を提供することが可能な任意の手段は本願で具体的に示されているものと等価であると考えられる。
【０１４４】
明細書中に登場する発明原理の「一実施形態」又は「実施形態」という用語に加えてそれらの他の派生語は、その形態に関連して説明された特定の性質、構造、特徴等が発明原理の少なくとも1つの形態に含まれることを意味する。従って、明細書中の様々な場所に登場する発明原理の「一実施形態」又は「実施形態」及び任意の他の派生語は、必ずしも全てが同じ実施形態を指しているとは限らない。
【０１４５】
例えば、「A/B」、「A及び/又はB」、「A及びBのうち少なくとも1つ」等のような「／」、「及び/又は」及び「少なくとも1つ」のような語は、列挙されている最初の選択肢(A)のみを選択する場合、列挙されている次の選択肢(B)のみを選択する場合、双方の選択肢(A及びB)を選択する場合を包含するように意図されていることが、認められるべきである。例えば、「A、B及び/又はC」及び「A、B及びCのうちの少なくとも1つ」という語句の場合、そのような語句は、列挙されている1番目の選択肢(A)のみを選択する場合、列挙されている2番目の選択肢(B)のみを選択する場合、列挙されている3番目の選択肢(C)のみを選択する場合、列挙されている1番目及び2番目の選択肢(A及びB)のみを選択する場合、列挙されている1番目及び3番目の選択肢(A及びC)のみを選択する場合、列挙されている2番目及び3番目の選択肢(B及びC)のみを選択する場合、そして、列挙されている3つの選択肢全て(A及びB及びC)を選択する場合を包含するように意図されている。これは、更に多くの項目が列挙されている場合に拡張されてよいことが当業者に認められるであろう。
【０１４６】
発明原理の教示内容は、ハードウェア、ソフトウェア、ファームウェア、特定用途プロセッサ又はそれらの組み合わせによる様々な形態で実施されてよいことが、理解されるべきである。
【０１４７】
好ましくは、発明原理の教示内容はハードウェア及びソフトウェアの組み合わせとして実施される。更に、ソフトウェアはプログラムストレージユニットに具体的に具現化されたアプリケーションプログラムとして実施されてよい。アプリケーションプログラムは、適切な任意のアーキテクチャを有する装置にアップロードされかつその装置により実行されてよい。好ましくは、装置又はマシンは、1つ以上の中央処理ユニット(CPU)、ランダムアクセスメモリ(RAM)及び入力/出力(I/O)インタフェース等のようなハードウェアを有するコンピュータプラットフォームで実現される。コンピュータプラットフォームはオペレーティングシステム及びマイクロ命令コードを含んでもよい。本願で説明されている様々な処理及び機能は、マイクロ命令コードの一部、アプリケーションプログラムの一部、又はそれらの任意の組み合わせであってもよく、それらはCPUにより実行されてよい。更に、他の様々な周辺ユニットは、追加的なデータストレージユニット及び印刷ユニット等のようなコンピュータプラットフォームに接続されていてもよい。
【０１４８】
添付図面に示されているシステム構造要素及び方法の一部は好ましくはソフトウェアで実現されるので、システム要素同士の間又は処理機能ブロック同士の間の実際の接続関係は、発明原理がプログラムされる実際の方法に依存して異なってよいことも、理解されるべきである。本願による教示内容に基づいて、当業者は発明原理に関する上記及び類似する実施形態又は設定を行うことが可能である。
【０１４９】
例示した実施形態は添付図面に関連して説明されているが、発明原理はこれらの具体的な形態に限定されないこと、本願の範囲又は精神から逸脱することなく様々な変形例及び修正例が当業者にとって可能であることが、理解されるべきである。そのような全ての変形例及び修正例は添付の特許請求の範囲により表現されている発明原理の範囲内に含まれることが意図されている。
【０１５０】
＜関連出願＞
本願は西暦2012年1月9日付けで出願された米国仮出願第61/584,351号による優先的利益を享受し、その内容全体をリファレンスに組み入れている。
【図１】
2015510652.tif 000004
【図２】
2015510652.tif 000005
【図３】
2015510652.tif 000006
【図４】
2015510652.tif 000007
【図５】
2015510652.tif 000008
【図６】
2015510652.tif 000009
【図７】
2015510652.tif 000010
【図８】
2015510652.tif 000011
【図９】
2015510652.tif 000012
【図１０】
2015510652.tif 000013
【図１１】
2015510652.tif 000014
【図１２】
2015510652.tif 000015
【図１３】
2015510652.tif 000016
【国際調査報告】
2015510652.tif 000017
2015510652.tif 000018
2015510652.tif 000019