JP6077007B2 - サブレコーディングの作成および管理 - Google Patents

サブレコーディングの作成および管理 Download PDF

Info

Publication number
JP6077007B2
JP6077007B2 JP2014552203A JP2014552203A JP6077007B2 JP 6077007 B2 JP6077007 B2 JP 6077007B2 JP 2014552203 A JP2014552203 A JP 2014552203A JP 2014552203 A JP2014552203 A JP 2014552203A JP 6077007 B2 JP6077007 B2 JP 6077007B2
Authority
JP
Japan
Prior art keywords
segment
programs
program
recording
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014552203A
Other languages
English (en)
Other versions
JP2015508610A (ja
Inventor
デュアン クレベンジャー ブライアン
デュアン クレベンジャー ブライアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2015508610A publication Critical patent/JP2015508610A/ja
Application granted granted Critical
Publication of JP6077007B2 publication Critical patent/JP6077007B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42661Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

関連出願の相互参照
本願は、参照によりその全体が本明細書に組み込まれる2012年1月9日出願の米国特許仮出願第61/584352号の利益を主張する。
本原理は、一般にはメディアコンテンツを記録することに関し、より詳細には、サブレコーディングを作成および管理することに関する。
ディジタルビデオレコーダ(DVR)の中心的な機能は、ビデオコンテンツ(およびそれに対応する任意のオーディオコンテンツであるが、簡潔のために以下では集合的に「ビデオコンテンツ」と呼ぶ)などのブロードキャストマルチメディアコンテンツを記録および再生することである。多くのDVRはタイムシフト機能を可能にする。タイムシフト機能は、本質的にはライブブロードキャストコンテンツのローリングバッファである。これは、ライブブロードキャストコンテンツに対して一時停止、巻戻し、早送りなどのトリックモード動作を使用することを可能にする。典型的なタイムシフト実現は、ライブブロードキャストコンテンツの最後の30分のバッファを維持することになり、ユーザがこのバッファをトリックモードでナビゲートすることを可能にする。
ビデオコンテンツの格納はかなりの記憶空間を必要とするので、タイムシフト機能のために使用されるビデオデータは通常、ほとんどの実現ではハードディスク上に格納される。このことは、新しいデータがタイムシフト記録に追加されるとき、古いデータを終わりから切り捨てなければならないので、問題を提起する。ほとんどのファイルシステムは、ファイルの終わりでの新しいデータの効率的な挿入を可能にするが、ほとんどのファイルシステムは、ファイルの先頭からデータを切り捨てるための効率的な機構を提供しない。いくつかのDVRは、ファイルの終わりでの挿入、ならびにファイルの先頭からの切捨てを実現する特別に設計されたファイルシステムを使用することによってこの問題を解決する。しかし、特別に設計されたファイルシステムの使用は、限定はしないが、そのような特別に設計されたファイルシステムの、DVRでも使用される標準ファイルシステムとの統合を含む欠陥を伴わない。
従来技術のこれらおよび他の欠点および不都合が、サブレコーディングを作成および管理することを対象とする本原理によって対処される。
本原理の特徴によると、メディアコンテンツを記録するシステムが提供される。このシステムは、メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離するセグメンタ(segmenter)を含む。個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。システムはまた、個別のファイルを格納するセグメント記憶装置をも含む。セグメンタは、複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとが、別々の番組として記録されるようにトランスポートストリームデータおよび索引データを分離する。
本原理の別の態様によると、メディアコンテンツを記録する方法が提供される。この方法は、メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離することを含む。個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。この方法はまた、個別のファイルをセグメント記憶装置に格納することを含む。複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとが、別々の番組として記録されるようにトランスポートストリームデータおよび索引データが分離される。
本原理のさらに別の態様によると、メディアコンテンツを再生するシステムが提供される。このシステムは、個別のファイルを格納するセグメント記憶装置を含む。個別のファイルのそれぞれは、メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られたそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。このシステムはまた、トランスポートセグメントのシームレス再生のために個別のファイルからトランスポートセグメントをリアセンブルするデセグメンタをも含む。複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとに関するトランスポートセグメントを、別々の番組としてリアセンブルすることができる。
本原理のさらに別の態様によると、メディアコンテンツを再生する方法が提供される。この方法は、セグメント記憶装置に個別のファイルを格納することを含む。個別のファイルのそれぞれは、メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られるそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む。この方法はまた、トランスポートセグメントのシームレス再生のために個別のファイルからトランスポートセグメントをリアセンブルすることをも含む。複数の番組をその中に含む、番組すなわち記録セッションについて、番組すなわち記録セッションとその中の複数の番組のそれぞれとに関するトランスポートセグメントを、別々の番組としてリアセンブルすることができる。
本原理のこれらおよび他の特徴、機能、および利点が、添付の図面と共に読むべきである例示的実施形態の以下の詳細な説明から明らかとなるであろう。
以下の例示的な図に従って、本原理をより良く理解することができる。
本原理の一実施形態による、本原理を適用することのできる例示的処理システム100を示す図である。 本原理の一実施形態による、ディジタルビデオレコーダ機能およびタイムシフト機能を含む例示的セットトップボックス200を示す図である。 本原理の一実施形態による、本原理を適用することのできる例示的記録パイプライン300を示す図である。 本原理の一実施形態による、本原理を適用することのできる例示的再生パイプライン300を示す図である。 本原理の一実施形態による、セグメントデータベース内に存在する4つの例示的記録タイプ500を示す図である。 本原理の一実施形態による、記録を開始する例示的方法600を示す図である。 本原理の一実施形態による、記録を停止する例示的方法700を示す図である。 本原理の一実施形態による、記録を削除する例示的方法800を示す図である。 本原理の一実施形態による、ガーベッジコレクションセグメントのための例示的方法900を示す図である。 本原理の一実施形態による、記録の先頭からデータを切り捨てる例示的方法1000を示す図である。 本原理の一実施形態による、記録の先頭にセグメントを付加する例示的方法1100を示す図である。 本原理の一実施形態による、記録を再生する例示的方法1200を示す図である。 本原理の一実施形態による、例示的記録ツリー索引1300を示す図である。
本原理は、サブレコーディングを作成および管理することを対象とする。
本原理を適用することのできる様々な応用分野を当業者は容易に企図するであろうが、以下の説明は、ディジタルビデオレコーダ機能およびタイムシフト機能を有するセットトップボックスに適用される本原理の実施形態に焦点を当てる。しかし、本明細書で提供される本原理の教示が与えられると、本原理の趣旨を維持しながら、本原理を適用することのできる他の装置および応用分野を当業者は容易に企図されよう。例えば、記録およびタイムシフト機能と共にマルチメディア再生機能を有する任意の装置に本原理を組み込むことができる。したがって、ディジタルビデオレコーダ(DVR)機能を有するセットトップボックス、スタンドアロンDVR、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキングアプライアンスなどに本原理を組み込むことができる。先行する装置の一覧は説明に役立つものに過ぎず、網羅的なものではないことを理解されたい。
前述の従来技術、およびタイムシフト記録の終わりから古いデータを切り捨てると共にタイムシフト記録に新しいデータを追加する問題に対処するために特別に設計されたファイルシステムの使用に関して、本原理が、特別に設計されたファイルシステムを必要とすることなくこの問題を解決することを最初に指摘しておく。有利なことに、これは、ビデオ格納のために標準ファイルシステム(本明細書では「既存の」または「レガシー」ファイルシステムとも呼ぶ)を使用することを可能にする。さらに、本原理は、重複する記録間のトランスポートデータの共有を可能にし、それは記憶空間を削減する。
図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が、ユーザインターフェースアダプタ214によってシステムバス104に動作可能に結合される。マウス120およびキーボード122は、システム100に情報を入力し、システム100からの情報を出力するのに使用される。
トランシーバ196が、ネットワークアダプタ198によってシステムバス104に動作可能に結合される。
もちろん、処理システム100は、当業者によって容易に企図されるように、他の要素(図示せず)をも含むことができ、ならびにいくつかの要素も省略する。例えば、当業者によって容易に理解されるように、処理システム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はオーディオインターフェース208に接続し、オーディオインターフェース208は、セットトップボックス200からの音声出力信号を供給する。ビデオプロセッサ210はディスプレイインターフェース218に接続し、ディスプレイインターフェース218は、セットトップボックス200からのビデオ出力信号を供給する。オーディオプロセッサ206およびビデオプロセッサ210は、記憶装置212にも接続する。コントローラ214は、記憶装置212、ならびに入力ストリームプロセッサ204、オーディオプロセッサ206、およびビデオプロセッサ210に接続する。制御メモリ220はコントローラ214に接続する。コントローラ214は、ユーザインターフェース216およびハンドヘルドインターフェース222にも接続する。
コンテンツが入力信号受信機202で受信される。入力信号受信機202は、無線ネットワーク、ケーブルネットワーク、衛星ネットワーク、イーサネットネットワーク、ファイバネットワーク、および電話線網を含むいくつかの可能なネットワークのうちの1つを介して提供される信号を受信、復調、および復号するのに使用されるいくつかの周知の受信機回路のうちの1または複数でよい。入力信号受信機202は、所望のブロードキャスト入力信号と同一の配信ネットワーク、もしくは異なるネットワーク、および/または代替セルラもしくはワイヤレスネットワークを介して配信されたデータ信号ならびにメディアコンテンツ信号のための受信、復調、および復号回路を含むことができることに言及することは重要である。配信ネットワーク2(またはワイヤレスネットワーク)を介して受信されたメディアコンテンツおよびデータは、メディアコンテンツおよび配信ネットワーク1とは異なることがある。データは、スケジューリング変更および更新に関連する情報、ならびにどちらかの配信ネットワークを介して配信されたメディアコンテンツに関する情報を含むことができる。一実施形態では、ケーブルブロードキャスト信号が、信号受信機202内のケーブルチューナ回路で受信、復調、および復号される。制御インターフェース(図示せず)を通じて与えられるユーザ入力に基づいて、入力信号受信機202で所望のブロードキャスト入力信号を選択および検索することができる。入力信号受信機202はまた、インターネットプロトコル(IP)インターフェース回路をも含み、IPインターフェース回路は、双方向ネットワーク接続性を追加で実現する。
入力信号受信機202内の回路のうちの1または複数からの復号された出力信号が、入力ストリームプロセッサ204に供給される。入力ストリームプロセッサ204は、最終信号選択および処理を実施し、コンテンツストリームに関するオーディオコンテンツからのビデオコンテンツの分離を含む。オーディオコンテンツがオーディオプロセッサ206に供給され、受信されたフォーマット(例えば、圧縮されたデジタル信号)から別のフォーマット(例えば、アナログ波形信号)に変換される。アナログ波形信号がオーディオインターフェース208に供給され、さらにディスプレイ装置114またはオーディオ増幅器(図示せず)に供給される。あるいは、オーディオインターフェース208は、高精細度マルチメディアインターフェース(HDMI(登録商標))ケーブル、またはソニー/フィリップスディジタル相互接続フォーマット(SPDIF)などの代替オーディオインターフェースを使用して、オーディオ出力装置またはディスプレイ装置にデジタル信号を供給することができる。オーディオプロセッサ206は、音声信号の格納のために任意の必要な変換も実施する。
入力ストリームプロセッサ204からのビデオ出力が、ビデオプロセッサ210に供給される。ビデオ信号は、いくつかのフォーマットのうちの1つでよい。ビデオプロセッサ210は、必要に応じて、入力信号フォーマットに基づいて、ビデオコンテンツの変換を実現する。ビデオプロセッサ210は、ビデオ信号の格納のために任意の必要な変換も実施する。
記憶装置212は、入力で受信されたオーディオおよびビデオコンテンツを格納する。記憶装置212は、コントローラ214の制御下で、ユーザインターフェース216から受け取ったコマンド、例えば早送り(FF)や巻戻し(Rew)などのナビゲーション命令にも基づいて、コンテンツを後で検索および再生することを可能にする。記憶装置212は、ハードディスクドライブ、スタティックRAM(SRAM)やダイナミックRAM(DRAM)などの1または複数の大容量集積電子メモリ、コンパクトディスクドライブやディジタルビデオディスクドライブなどの相互交換可能光ディスク記憶システム、またはセットトップボックス200の外部の、セットトップボックス200でアクセス可能なストレージでよい。
入力または記憶装置212のどちらかを源とする、ビデオプロセッサ210からの変換されたビデオ信号が、ディスプレイインターフェース218に供給される。ディスプレイインターフェース218はさらに、上述のタイプのディスプレイ装置にディスプレイ信号を供給する。ディスプレイインターフェース218は、赤−緑−青(RGB)などのアナログ信号インターフェースでよく、またはディジタルインターフェース(例えば、HDMI)でよい。
コントローラ214が、入力ストリームプロセッサ202、オーディオプロセッサ206、ビデオプロセッサ210、記憶装置212、ユーザインターフェース216、およびハンドヘルドインターフェース222を含むセットトップボックス200の構成要素のうちのいくつかに、バスを介して相互接続される。コントローラ214は、入力ストリーム信号を、記憶装置上に格納し、または表示する信号に変換する変換プロセスを管理する。コントローラ214は、格納されたコンテンツの検索および再生も管理する。コントローラ214は、コントローラ214のための情報および命令コードを格納する制御メモリ220(例えば、RAM、SRAM、DRAM、読出し専用メモリ(ROM)、プログラマブルROM、電子プログラマブルROM(EPROM)、電子消去可能プログラマブルROM(EEPROM)、フラッシュメモリなどを含む揮発性または不揮発性メモリ)にさらに結合される。さらに、メモリ220の実現は、単一のメモリ装置、あるいは互いに接続されて共有または共通メモリを形成する複数のメモリ回路などのいくつかの可能な実施形態を含むことができる。さらに、より大きな回路内に、メモリをバス通信回路の部分などの他の回路と共に含めることができる。
ユーザインターフェース要素およびディスプレイ装置にインターフェースすることに加えて、セットトップボックス200は、ハンドヘルドインターフェース222を通じて、タブレットなどのハンドヘルド装置にもインターフェースすることができる。このハンドヘルド装置は、追加の制御を備えるディスプレイスクリーンを含むことができ、またはタッチスクリーンを含むことができる。ビデオプロセッサ210からのビデオ信号、ならびにオンスクリーン表示メッセージやメッセージプロンプトリターンなどの他のデータを、コントローラ214とハンドヘルドインターフェース222との間をルーティングすることができる。ハンドヘルドインターフェース222は、Wi−Fi、Bluetooth(登録商標)、米国電気電子学会(IEEE)規格802.11などの無線周波数通信リンクを使用して、ハンドヘルド装置またはタブレットとの間で信号およびデータを送信および受信することができる。あるいは、ハンドヘルドインターフェース222は、赤外線インターフェースを使用してハンドヘルド装置またはタブレットとの間で信号およびデータを送信および受信することができる。
動作の際に、セットトップボックス200は、以下でさらに詳細に説明するように、セットトップボックスやホームゲートウェイなどのクライアント装置でメディアコンテンツデータベースを更新、管理、および探索するプロセスを実現する。ビデオプロセッサ210に関するディスクリート回路などのハードウェア、または制御メモリ220内に常駐し、コントローラ214によって読み込まれ、実行されるソフトウェアなどのソフトウェアでアルゴリズムまたは機能の物理的実現を行うことができる。この方法は、メディアコンテンツに関連するイベントデータを受信することであって、イベントデータが固有イベント識別子を含むこと、イベント識別子を検査して、イベントデータをキャッシュメモリ内のアレイに格納すること、受信したイベントデータ内のイベント識別子が現在アレイ内にない場合、イベント計数値を更新すること、およびイベント計数値の少なくとも1つが所定の閾値を超え、時間期間値が所定の閾値を超えるときなどに、キャッシュメモリのスワップがトリガされる場合、アレイ内のイベントデータで第1のイベントデータベースを更新することを含む。
メディアストレージおよびインターフェース装置として使用されるセットトップボックス200などの装置の動作特徴は通常、メディアコンテンツならびにコンテンツを識別するためのデータベースエントリまたは記録の格納、保守、探索、検索を含む。データベース情報およびエントリの更新は、周期的または継続的コンテンツ情報更新を含むことのできる動的システムで重要である。例えば、新しいデータベース記録または情報を受信し、データベースに供給することができる。加えて、現在格納されているコンテンツおよびコンテンツに関連するエントリまたは情報を除去または消去することができる。コンテンツを周期的に、あるいはユーザ制御から装置への入力によって除去または消去することができる。同時に、またはほぼ同時に、データベース探索要求などの要求を行うことができる。一般には、複数のソースおよびデータベースに対する入力から、すべての種類および形態のコンテンツおよび情報を受信することができる。探索要求のために安定したデータベースが利用可能であることが重要である。依然として探索機能を維持し、探索結果および探索の性能を可能な限り高く保ちながら、データおよび情報をデータベースに追加する必要がある。単純なデータベース構造(例えば、構造化照会言語(SQL)データベースで実現された構造)では、データベース内の更新および探索に対する改良がさらに望ましい。
本明細書で説明するようなメディアコンテンツデータベースの更新、管理、および探索に関する機能および制御を、ゲートウェイ装置(例えば、セットトップボックス200)に関連するオペレーティングコードまたはファームウェアの部分として包含することができる。プロセスは、任意のプログラミング言語(例えば、Java(登録商標)またはハイパーテキストマークアップ言語(HTML))で書かれたオペレーティング命令を含むことができる。アプリケーションを(例えば、サーバーまたはインターネットサイトから)プリロードまたはダウンロードし、ホスト装置のメモリに格納することができる。一実施形態では、命令が図2の制御メモリ220に格納され、命令が制御メモリ220上で検索され、コントローラ214によって実行されることを理解されたい。別の実施形態では、処理を実施するためのメモリおよび対応するプロセッサまたはコントローラを、別々のスタンドアロン集積回路(例えば、デジタル処理プロセッサ(DSP)または特定用途向け集積回路(ASIC))に統合することができる。
図3に、本原理の一実施形態による、本原理を適用することのできる例示的記録パイプライン300を示す。一実施形態では、記録パイプライン300は、図2のセットトップボックス200内に含まれる。しかし、上述のように、限定はしないが、スタンドアロンDVR、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキングアプライアンスなどを含む他の装置に記録パイプライン300を含めることができる。
記録パイプライン300は、チューナ301、デマルチプレクサ(demux)302、セグメンタ303、セグメント記憶装置304、セグメントデータベース305、および記録制御装置306を含む。
ブロードキャストビデオがチューナ301によって受信される。チューナ301は、ネットワークインターフェース(図示せず)を介してトランスポートストリームを受信するディジタルビデオ放送(DVB)、新型テレビジョンシステム委員会(ATSC)チューナ、インターネットプロトコルテレビジョン(IPTV)チューナなどのハードウェアチューナでよい。チューナ301によって受信されたトランスポートストリームが、デマルチプレクサ302に送られる。
複数番組トランスポートストリームの場合、デマルチプレクサ302は、所望の番組を選択し、索引情報と共に単一の番組トランスポートストリームをセグメンタ303に送ることができる。単一の番組トランスポートストリームの場合、デマルチプレクサ302は、受信したトランスポートストリームを修正することなくセグメンタ303に透過的に送ることができるが、関連するストリームに関する索引情報を追加で提供することができる。どちらの場合も、索引情報は、ストリーム中のアクセスポイントおよびその関連するプレゼンテーションタイムスタンプ(PTS)のリストを含む。アクセスポイントは、復号を開始することができるストリーム中の位置をマークする。
セグメンタ303は、トランスポートストリームデータおよび索引データを個別のセグメントに分割し、このデータをセグメント記憶装置304に書き込む。セグメント記憶装置304は通常、ファイルシステムを有するハードディスクとなる。もちろん、本明細書で与えられる本原理の教示が与えられると、当業者は容易に理解するように、ファイルシステムを有する異なるタイプのメモリ装置でセグメント記憶装置304を実現することができる。
各トランスポートセグメントおよび索引セグメントが、一意のファイルとしてファイルシステムに格納される。特定のシステムに関する性能考慮に基づいてセグメントのサイズを調節することができるが、典型的なセグメントサイズは、約1から5分のデータを含む。各セグメントが書き込まれるとき、セグメンタ303は、セグメンタ303が作成するセグメントについての情報でセグメントデータベース305を更新する。
記録制御装置306は、チューナ301、デマルチプレクサ302、およびセグメンタ303と対話して、記録を制御する。記録制御装置306は、記録すべきサービスに同調するようにチューナ301を制御し、かつ/またはチューナ301に指示する。記録制御装置306は、デマルチプレクサ302を制御し、かつ/またはトランスポートストリーム中のどの番組を記録するかをデマルチプレクサ302に指示し、記録されたセグメントに関連付けるためのプレイリストのリストをセグメンタ303に与える。
図4に、本原理の一実施形態による、本原理を適用することのできる例示的再生パイプライン300を示す。再生パイプライン400は、記録されたセグメントを再生する。一実施形態では、再生パイプライン400は、図2のセットトップボックス200内に含まれる。しかし、上述のように、限定はしないが、スタンドアロンDVR、ホームメディアサーバ、コンピュータメディアステーション、タブレット装置、ホームネットワークゲートウェイ、マルチメディアプレーヤ、ホームネットワーキングアプライアンスなどを含む他の装置に再生パイプライン400を含めることができる。
再生パイプライン400は、セグメントデータベース401、セグメント記憶装置402、デセグメンタ403、デマルチプレクサ404、再生制御装置405、サブタイトル復号器406、ビデオ復号器407、オーディオ復号器408、オーディオレンダリング装置409、およびビデオレンダリング装置410を含む。
再生制御装置405は、デセグメンタ403を制御し、かつ/またはどのプレイリストを再生すべきかをデセグメンタ403に指示する。再生制御装置405はまた、指定の時間オフセットで再生を開始し、指定の速度で再生するようにデセグメンタ403を制御し、かつ/またはデセグメンタ403に指示する。例えば、再生速度1.0は通常の再生に対応し、4.0は4x早送りとなり、−4.0は4x巻戻しとなり、0.0は一時停止となる。
デセグメンタ403は、セグメントデータベース401に照会して、再生のために必要なトランスポートおよび索引セグメントファイルを見つける。次いで、デセグメンタ403はセグメント記憶装置402からこれらのファイルを読み込む。再生がセグメント内のある時間オフセットで開始すべきである場合、セグメント内の定義されたオフセットまでスキップするために、索引情報がデセグメンタ403によって使用される。次いで、デセグメンタ403は、セグメント記憶装置402からデマルチプレクサ404にデータ(例えば、トランスポートストリーム)を送る。
デマルチプレクサ404は、トランスポートストリームをオーディオ、ビデオ、およびサブタイトルエレメンタリーストリームに分割し、これらのストリームをオーディオ復号器408、ビデオ復号器407、およびサブタイトル復号器406にそれぞれ送る。次いで、オーディオ復号器408からの出力が、オーディオの最終レンダリングを担当するオーディオレンダリング装置409に送られる。ビデオ復号器407およびサブタイトル復号器406からの出力が、ビデオの最終レンダリングを担当するビデオレンダリング装置410に送られる。
図5に、本原理の一実施形態による、セグメントデータベース(例えば、セグメントデータベース305およびセグメントデータベース401)内に存在する4つの例示的記録タイプ500を示す。記録タイプは、Playlist記録タイプ501、PlaylistSegment記録502、Segment記録503、およびSegmentDelete記録504を含む。各Playlist記録501は記録を表す。各Segment記録503は、ディスク上に格納された記録されたセグメントを表す。各PlaylistSegment記録502は、Segment記録503をPlaylist記録501に関連付ける。最後に、削除のためにマークされる記録されたセグメントに追従するために、SegmentDelete記録504が使用される。
次に、本原理の一実施形態による、本原理を適用することのできるいくつかの例示的シナリオに関する説明が与えられる。
ユーザがライブブロードキャストコンテンツを視聴しており、記録を開始することを決定する場合、イベントの開始後のある時までユーザが記録要求を行わなかった場合であっても、利用可能なタイムシフトデータを使用して、イベントの完全な記録を作成することが望ましい。一例を挙げると、午後8:00に開始したイベントをユーザが視聴していると仮定する。午後8:10に、ユーザがイベントを記録することを要求する。タイムシフトバッファが午後8:00から午後8:10までのコンテンツを含む場合、イベント全体の完全な記録を作成することが可能なはずである。本発明は、新しい記録を形成するためにタイムシフトデータのコピーを必要とせずにタイムシフトデータを記録に変換する手段を提供する。
ある場合には、複数の記録が同一のコンテンツの一部を共有することが可能である。例えば、イベントAが午後8:00に開始して午後8:30に終了し、同一のチャンネル上でイベントBが午後8:30に開始して午後9:00に終了すると仮定する。ユーザは、両方のイベントAおよびイベントBを記録するように要求することができる。さらに、ユーザの記録プリファレンスが、すべての記録が5分早く開始し、5分遅く終了すべきであることを示すことができる。このシナリオでは、記録Aの最後の10分が、記録Bの最初の10分と同一のコンテンツを含む重複が存在する。本原理は、共有されるデータを複製する代わりに、記録の重複部分をある場所に格納して、2つの記録で共有することを可能にすることにより、そのような重複する記録の格納を最適化する方法を提供する。
ほとんどのDVRでは、ユーザは、記録する特定のイベントを選択することができ、または時間範囲およびチャンネルに基づいて記録をスケジューリングすることができる。ユーザが時刻およびチャンネルによってスケジューリングするとき、ほとんどのDVRは、「手動記録 午後8時〜午後10時 チャンネル99」などのように書かれた汎用エントリとして記録を示す。記録は複数のイベントを含むことができるが、記録が何を含むかを知る方法はない。特定のイベントを拾い出して再生する方法、または記録内のイベントを保持して残りを削除する方法もない。例えば、上記で参照した手動記録は、ユーザが午後8:30〜午後9時まで保持したい番組Aのエピソードを含むことがあるが、ユーザはその他のすべてを削除したいことがある。本原理は、これらの問題に対する解決策を提供する。
次に、本原理の一実施形態による、記録を作成することに関する説明が与えられる。
記録が開始されるとき、新しい記録を表すために、最初の新しいplaylist記録501がセグメントデータベースに追加される。Playlist記録に新しい固有PlaylistIDが割り当てられ、このプレイリストが通常記録用であるか、それともタイムシフト用であるかを示すためにUsedForTimeshiftフィールドがセットされる。
プレイリストが作成された後、記録制御が、記録パイプライン300を構成して記録を開始する。次いで、セグメンタ303が、セグメントデータベース305内の新しいSegment記録503およびPlaylistSegment記録502を作成し、最初のトランスポートファイルおよび索引ファイルのディスクへの書込みを開始する。
Segment記録503は以下の値と共に作成される。
SegmentID−セグメントに関する固有ID
TransportFile−このセグメントに関するトランスポートストリームデータを格納するのに使用されるファイル
IndexFile−このセグメントに関する索引情報を格納するのに使用されるファイル
ReferenceCount−これは、このセグメントを参照するPlaylistSegment記録数のカウントである。現記録が1つのプレイリストに当てはまるだけである場合、1にセットされる。
Service/ProgramID−これは、記録されているサービス(チャンネル)を特定する
StartTime−UTCでのセグメントの開始時刻
EndTime−これはセグメントの終了時刻であるが、セグメントが完了するまで未知である。当初この値は0にセットされる。
StartingPTS−これはセグメント内の最初のPTSである。最初のPTSがセグメント作成時に未知である場合、この値は当初0にセットされる。
EndingPTS−これはセグメントに関する終了PTS値であるが、当初は未知であり、0にセットされる。
Discontinuity−これは、セグメント内にPTS不連続性が存在することを示すフラグである。当初はFALSEにセットされる。
PlaylistSegment記録502は以下の値と共に作成される。
PlaylistID−このセグメントに関連するPlaylist記録に関するPlaylistID
SegmentID−Segment記録のSegmentID
SequenceNumber−これは、プレイリストに追加される各セグメントについて増分される整数である。初期値は0である。
StartOffset−これは当初0にセットされる。
EndOffset−これは当初0にセットされる。
記録するとき、PlaylistSegment記録502が、各セグメントに関する各プレイリストについて作成される。したがって、データが3つのプレイリストに記録されていた場合、各Segment記録は、3つのPlaylistSegment記録502を有することになる。また、セグメントを参照する3つのPlaylistSegment記録502があるので、各Segment記録は、その参照カウントを3にセットすることになる。
典型的なセグメントサイズは、約1から5分のデータを含む。各セグメントが完了した後、セグメンタ303は、セグメントに関する最終データでSegment記録503を更新する。これは、EndTime、EndingPTS、Discontinuityフラグ、および記録の開始時にStartingPTSが知られていなかった場合、StartingPTSを含む。次いで、セグメンタ303は、次のセグメントの書込みを開始し、新しいSegment記録503およびPlaylistSegment記録502を作成する。このプロセスは、記録が完了するまで続行する。
図6に、本原理の一実施形態による、記録を開始する例示的方法600を示す。ステップ610で、プレイリストが作成される。ステップ620で、所望のサービスについて記録パイプラインが既に存在するか否かが判定される。そうである場合、方法600はステップ615に進む。そうでない場合、方法600はステップ660に進む。ステップ615で、プレイリストが、既存の記録パイプラインのセグメンタ303に追加される。
ステップ620で、セグメンタ303がセグメントの中央にあるか否かが判定される。そうである場合、方法600はステップ625に進む。そうでない場合、方法600はステップ645に進む。
ステップ625で、セグメンタ303は、現在位置に関する調節された開始オフセットと共に、新しいプレイリストに関するPlaylistSegment記録502を作成する。
ステップ630で、セグメントに関する参照カウントが増分される。
ステップ635で、セグメントが完了したか否かが判定される。そうである場合、方法600はステップ640に進む。そうでない場合、方法600はステップ650に進む。
ステップ640で、Segment記録503が、最終タイムスタンプで更新される。
ステップ645で、セグメンタ303は、新しいセグメントを書き込み、(新しいセグメントについて)ファイルを索引付けし、Segment記録503を作成し、各プレイリストについてPlaylistSegment記録502を作成する。
ステップ660で、記録パイプラインが作成される。
ステップ650で、記録が完了したか否かが判定される。そうである場合、方法600はステップ655に進む。そうでない場合、方法600はステップ635に戻る。
ステップ655で、記録が停止される(図7参照)。
図7に、本原理の一実施形態による、記録を停止する例示的方法700を示す。ステップ705で、プレイリストがセグメンタ303から除去される。ステップ710で、セグメンタ303がセグメントの中央にあるか否かが判定される。そうである場合、方法700はステップ715に進む。そうでない場合、方法700はステップ720に進む。
ステップ715で、最後のPlaylistSegment記録502に関する終了オフセットが調節される。
ステップ720で、セグメントが1または複数のプレイリストを含むか否かが判定される。そうである場合、方法700は終了する。そうでない場合、方法700はステップ725に進む。
ステップ725で、記録パイプラインが解体される。
図8に、本原理の一実施形態による、記録を削除する例示的方法800を示す。ステップ805で、プレイリストSegment記録502が照会され、PlaylistID=セグメントのリストを構築するために削除するプレイリストである。ステップ810で、方法800は、リスト内の第1のセグメントから開始する。ステップ815で、Segment記録503に関する参照カウントが減分される。ステップ820で、参照カウント=0であるか否かが判定される。そうである場合、方法800はステップ825に進む。そうでない場合、方法800はステップ840に進む。
ステップ825で、SegmentDelete記録504がSegmentIDと共に作成される。
ステップ830で、さらにセグメントがあるか否かが判定される。そうである場合、方法800はステップ835に進む。そうでない場合、方法800はステップ845に進む。
ステップ835で、方法800はリスト内の次のセグメントに移動する。
ステップ845で、ガーベッジコレクション(ごみ収集)がトリガされる。
図9に、本原理の一実施形態による、ガーベッジコレクションセグメントに関する例示的方法900を示す。ステップ905で、SegmentDelete記録504があるか否かが判定される。そうである場合、方法900はステップ910に進む。そうでない場合、方法900は終了する。ステップ910で、トランスポートおよび索引ファイルが削除される。ステップ915で、Segment記録503が削除される。ステップ920で、SegmentDelete記録504が削除される。
図10に、本原理の一実施形態による、記録の開始からデータを切り捨てる例示的方法1000を示す。ステップ1005で、最小のSegment記録503を有するPlaylistSegment記録502が照会され、PlaylistID=segment記録を得るために切り捨てるプレイリストである。ステップ1010で、現在時刻−EndTime≧タイムシフト長であるか否かが判定される。そうである場合、方法1000はステップ1015に進む。そうでない場合、方法はステップ1040に進む。
ステップ1015で、Segment記録503に関する参照カウントが減分される。ステップ1020で、参照カウント=0であるか否かが判定される。そうである場合、方法1000はステップ1025に進む。そうでない場合、方法1000はステップ1035に進む。
ステップ1025で、SegmentDelete記録504が、SegmentIDと共に作成される。ステップ1030で、ガーベッジコレクションがトリガされる。
ステップ1035で、Segment記録503が削除される。
ステップ1040で、遅延=タイムシフト長−(現在時刻−EndTime)を引き起こす。
図11に、本原理の一実施形態による、記録の先頭にセグメントを付加する例示的方法1100を示す。方法1100を使用して、記録の先頭にタイムシフトデータを付加することができる。ステップ1105で、記録が開始される(図6参照)。ステップ1110で、Segment記録503が照会され、サービス=記録しているサービス、StartTime<所望のStartTime、EndTime>StartTimeの降順でソートされる所望の開始時刻である。ステップ1115で、セグメント内に時間ギャップがあるか否かが判定される。そうである場合、方法1100はステップ1120に進む。そうでない場合、方法はステップ1125に進む。
ステップ1120で、ギャップで切捨てが実施され、したがってリスト内にギャップは(それ以上)ない。
ステップ1125で、方法1100は、SequentNumber=0でリスト内の第2のセグメントを開始する。
ステップ1130で、Playlist Segment記録502が作成され、参照カウントが増分される。ステップ1135で、リスト内にさらにセグメントがあるか否かが判定される。そうである場合、方法1100はステップ1140に進む。そうでない場合、方法1100は終了する。ステップ1140で、方法1100は次のセグメントに移動し、SequenceNumberを減分する。
図12に、本原理の一実施形態による、記録を再生する例示的方法1200を示す。ステップ1205で、最小のSequenceNumberを有するPlaylist Segment記録502が照会され、PlaylistID=再生するプレイリストである。ステップ1210で、StartOffset=0であるか否かが判定される。そうである場合、方法1200はステップ1215に進む。そうでない場合、方法1200はステップ1250に進む。
ステップ1215で、開始バイト位置が0にセットされる。
ステップ1220で、EndOffset=0であるか否かが判定される。そうである場合、方法1200はステップ1225に進む。そうでない場合、方法1200はステップ1255に進む。
ステップ1225で、終了バイト位置が、トランスポートファイルのサイズに等しくセットされる。
ステップ1230で、トランスポートファイルが開始バイト位置から終了バイト位置まで読み込まれ、データがデマルチプレクサ404に送られる。ステップ1235で、SequenceNumberが増分される。ステップ1240で、PlaylistID=再生するプレイリストおよびsequent numberを有するプレイリストセグメントが存在するか否かが判定される。そうである場合、方法1200はステップ1245に進む。そうでない場合、方法1200はステップ1260に進む。
ステップ1245で、プレイリストセグメントおよびセグメントが取り出される。
ステップ1250で、索引ファイルが読み込まれ、StartOffsetに関する開始バイト位置が見つけられる。
ステップ1255で、索引ファイルが読み込まれ、EndOffsetに関する終了バイト位置が見つけられる。
ステップ1260で、再生が完了する。
次に、本原理の一実施形態による、記録動作中にプレイリストを追加/除去することに関する説明が与えられる。
複数のプレイリストに対して同一のデータが使用されているケースでは、記録動作中にセグメンタ303からプレイリストを追加または除去することが必要となることがある。この目的で、PlaylistSegment記録502内のStartOffsetおよびEndOffsetフィールドが使用される。本発明者らのシステムは、5分のセグメントを使用することを仮定する。さらに、セグメント内の2分で、第2のプレイリストが記録に追加されることを仮定する。この時点で、新しいPlaylistSegment記録502が作成され、Segment記録の参照カウントが増分され、StartOffsetフィールドを除いて、前と同様にPlaylistSegment内のフィールドが記入される。StartOffsetフィールドが120秒にセットされ、このセグメントに関する再生がセグメント内の120秒のオフセットで開始すべきであることが示される。同様に、データが複数のプレイリストに記録されており、単一のプレイリストについて記録が停止する場合、EndOffsetフィールドが、再生が停止すべきであるセグメントの終わりからのオフセットにセットされる。
次に、本原理の一実施形態による、記録を削除することに関する説明が与えられる。このプロセスも図8に関して上で説明される。
各記録はプレイリストに対応する。記録が削除されるとき、セグメントデータベースに対して以下の動作が実施される。
1.記録に関するPlaylist記録501が削除される。
2.削除されたPlaylistIDを参照するすべてのPlaylistSegment記録502が削除される。
3.それぞれの削除されたPlaylistSegment記録502について、削除されたPlaylistSegment記録502内のSegmentIDに対応するSegment記録503が、そのReferenceCountフィールドを1つ減分する。
4.そのReferenceCountが今や0である各Segment記録503について、新しいSegmentDelete記録504が作成され、SegmentIDが0のReferenceCountを有するセグメントにセットされる。
動作中に電力障害が発生した場合にデータベースが整合性のある状態にとどまるように、データベースに対して上記の4つの動作をアトミックに実施しなければならない。
上記の図9にも関連して説明したように、バックグラウンドプロセスは、SegmentDelete記録504を周期的に照会し、対応するSegment記録503をルックアップし、IndexFileおよびTransportFileを削除し、次いでSegment記録503およびSegmentDelete記録504を除去する。このことを削除後に直ちに行うことができ、またはディスクスペースが必要となるまでこの動作を遅延することができる。
次に、本原理の一実施形態による、タイムシフトに関するプレイリストを作成することに関する説明が与えられる。
タイムシフトに関するプレイリストを作成することは、2つのことを除いて、記録に関するプレイリストを作成することと同じである。
1.Playlist記録内のUsedForTimeshiftフラグがTRUEにセットされる。リセットを通じてタイムシフトプレイリストを保持する必要がないので、セットトップボックス200がブートされるごとに、UsedForTimeshiftがTRUEにセットされるすべてのプレイリストが削除される。
2.記録の先頭からPlaylistSegmentが周期的に削除される。このプロセスは、プレイリスト全体を削除するのと同一のプロセスをたどり、Playlist記録だけが削除されず、指定のPlaylistSegment記録502だけが除去される。PlaylistSegmentを周期的に削除することは、タイムシフトバッファのサイズを制限する。例えば、30分のタイムシフトバッファを維持することを望み、セグメントサイズが5分であった場合、プレイリストについてせいぜい6つの完全なセグメントしか維持しない。7番目のセグメントが完了したとき、第1のPlaylistSegmentを削除し、プレイリストに関するセグメントの合計数が6に戻る。
次に、本原理の一実施形態による、タイムシフトデータを記録に変換することに関する説明が与えられる。このプロセスはまた、図10に関連して上記で説明される。
既に進行中のイベントに関する記録が要求されたとき、セグメントデータベースは、イベントに関する時間範囲およびサービスに合致するSegment記録503について照会を受ける。これは、StartTime、EndTime、およびService/ProgramIDフィールドを照会することによって行われる。要求されたイベントのサービスおよび時間範囲に対応するセグメントが見つかった場合、これらのセグメントのそれぞれについて、新しいPlaylistSegment記録502が作成され、記録の開始時に適切なシーケンスで現れるように、シーケンス番号と共に挿入される。第1のセグメントのStartOffsetが、イベントの開始時間に合致するように必要に応じて調節される。加えて、追加されるセグメントのそれぞれについて、ReferenceCountフィールドが増分される。このプロセスは、どんなトランスポートまたは索引ファイルも実際にコピーまたは修正することなく、タイムシフトのために使用される既存のデータを記録に追加することを可能にする。
次に、本原理の一実施形態による、記録またはタイムシフトを再生することに関する説明が与えられる。このプロセスはまた、図12に関連して上記で説明される。
基本再生は、図4に関連して既に説明された。ここでは、再生動作中のデセグメンタ403によって実施されるデータベース動作をより詳細に説明する。
先頭から記録を再生するとき、デセグメンタ403は、最低のシーケンス番号を有するPlaylistSegment記録502を照会する。次いで、デセグメンタ403は、対応するSegment記録503を照会し、TransportFileおよびIndexFileを見つける。PlaylistSegment記録上のStartOffsetが0である場合、再生は、トランスポートファイルの先頭で開始する。StartOffsetが0でない場合、StartTimeおよびStartingPTSフィールドをセグメントの先頭に関するベース時間として使用することにより、オフセットがPTSオフセットに変換される。索引ファイルが走査され、指定のPTSオフセットに対応するトランスポートファイル内のバイト位置が見つけられ、その位置から再生が始まる。
プレイリスト内の指定のオフセットに対するシークを処理するために、デセグメンタ403は、PlaylistSegment記録502を照会して、プレイリストに関するSegmentIDのリストを得る。次いで、デセグメンタ403は、最低のシーケンス番号を有するSegment記録503を照会し、StartTimeを読み込む。これが、プレイリストに関するベース開始時間である。次いでデセグメンタ403は、指定のオフセットをベース時間に追加して、所望の位置の絶対時間を計算する。最後に、デセグメンタ403は、プレイリストの部分であるSegment記録503に関するStartTimeおよびEndTimeフィールドを比較することにより、指定の時間を含むSegment記録503を探索する。これは、所望の位置を含むトランスポートおよび索引ファイルを与える。次いで、Segment記録503上のStartTimeおよびStartingPTSフィールドをセグメントに関するベース時間として使用し、次いで所望のPTSオフセットを計算することにより、所望の絶対時間がPTSタイムスタンプに変換される。次いで、索引ファイルが走査され、所望のPTSオフセットに関するトランスポートファイル内のバイトオフセットが見つけられる。次いで、デセグメンタ403は、トランスポートファイル内のこのポイントから再生を開始する。
不連続トリックモード(早送りおよび巻戻し)が、シーク動作と同様に処理される。例えば、4x早送りを実現するために、デセグメンタ403は、0.5秒ごとにプレイリスト内の2秒前方をシークする。これは、4xの通常再生の速度でプレイリストを走査する効果を有する。
シーク動作のために必要なデータベース動作が効率的であることを保証するために、必要な照会が迅速に実行することを保証するようにデータベース401が適切な索引付けを提供することが期待される。加えて、デセグメンタ403は、データベース401からデータをキャッシュまたはプリフェッチして性能を改善することができる。これらの詳細は、特定のデータベース実現に特有のものであり、本原理の範囲外にある。
次に、本原理の一実施形態による、記録およびサブレコーディングの作成および管理に関する説明が与えられる。
本明細書で説明される原理は、ユーザが定義された時間範囲に関するチャンネル上の記録を作成し、記録されたコンテンツを、連続する記録、および記録されたブロック内の個別のイベントの両方として管理することを可能にする。
ユーザが本原理を使用して時刻およびチャンネルによって記録をスケジューリングするとき、電子番組ガイド(EPG)データを含むデータベースの照会が行われ、どのイベントが記録に含まれるかが判定される。次いで、システムは複数の記録を作成する。親記録は、ユーザによって要求される時間範囲を変換する連続する記録となる。親記録と並列に、システムは、EPGデータによってレポートされるように、親記録が含む各イベントについて記録を作成する。以下の表1はこの一例を示す。
Figure 0006077007
したがって、この例では、ユーザがチャンネル99上の午後8時から午後10時までの記録を要求するだけであっても、本原理は4つの記録を作成する。システムは、これを行うために実際にはいかなる追加のデータも記録しない。本原理は、本明細書で説明されるようなセグメント化された記録アーキテクチャを使用する。
記録間の親子関係のために、親記録がツリーのルートノードである、拡張および縮小することのできるツリー構造で手動記録をユーザに提示することができる。図13は、本原理の一実施形態による、例示的記録ツリー索引1300を示す図である。したがって、上記の例では、記録は、図13に示されるようにユーザに表示されることがある。「手動記録−午後8時〜午後10時 チャンネル99」が、ツリー索引1300のルート1310に示される。「番組A」、「番組B」、および「特別ニュース−大統領候補討論会」は、ブランチおよび/またはリーフ1311、1312、および1313として示される。
次いで、ユーザは、手動記録を再生することを選ぶことができ、あらゆるものを連続するブロックと見る。ユーザはまた、記録内の番組Aのみを再生することを決定することができ、再生は、番組Aのエピソードの先頭で開始し、エピソードの終わりで終了する。
ユーザはまた、手動記録を削除することができるが、手動記録内に含まれる特定のエピソードを保存することを選ぶことができる。例えば、ユーザは、番組Aのエピソードを保存したいが、その他のすべてを削除したいことがある。実際の記録されるビデオおよびオーディオデータが親記録と子記録との間で共有され、参照カウントされ、したがって各セグメント内のデータが、リスト内のどんな記録によってももはや参照されないとき、ディスクから削除されるだけである。
この説明は本原理を示す。したがって、本明細書では明示的に説明または図示されていないが、本原理を具現化し、その趣旨および範囲内に含まれる様々な構成を当業者は考案することができることを理解されよう。
本明細書で説明したすべての例および条件付きの言い回しは、本原理および当技術分野を推進するために本発明者(等)によって与えられる概念を読者が理解するのを助ける教育目的のものであり、そのような具体的に説明される例および条件に限定されないものとして解釈されるべきである。
さらに、本原理の原理、特徴、および実施形態、ならびにその特定の例を説明する本明細書のすべての陳述は、その構造的均等物と機能的均等物のどちらも包含するものとする。加えて、そのような均等物は、現在知られている均等物、ならびに将来開発される均等物、すなわち構造の如何に関わらず同一の機能を実施する、開発される任意の要素の両方を含むものとする。
したがって、例えば、本明細書で提示されるブロック図が本原理を具現化する説明に役立つ回路の概念図を表すことを当業者は理解されよう。同様に、コンピュータまたはプロセッサが明示的に示されているか否かに関わらず、任意のフローチャート、流れ図、状態遷移図、疑似コードなどが、実質上コンピュータ可読媒体で表すことができ、したがってそのようなコンピュータまたはプロセッサによって実行することのできる様々なプロセスを表すことを理解されよう。
図に示す様々な要素の機能は、専用ハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することのできるハードウェアを使用することによって実現することができる。プロセッサで実現されるとき、単一の専用プロセッサ、単一の共有プロセッサ、または一部が共有されることのある複数の個々のプロセッサによって機能を実現することができる。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用が、ソフトウェアを実行することのできるハードウェアをもっぱら指すと解釈すべきではなく、限定はしないが、暗黙的に、デジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを格納する読出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、および不揮発性ストレージを含むことができる。
従来型および/またはカスタムの他のハードウェアも含めることができる。同様に、図に示す任意のスイッチは概念的なものに過ぎない。その機能は、プログラムロジックの動作、専用ロジック、プログラム制御と専用ロジックの対話、さらには手動によって実施することができ、文脈からより具体的に理解できるように、実現者によって特定の技法が選択可能である。
本明細書では、「結合される」という語句は、直接的に接続されること、または1または複数の中間構成要素を通じて間接的に接続されることを意味すると定義される。そのような中間構成要素は、ハードウェアベースの構成要素とソフトウェアベースの構成要素のどちらも含むことができる。
本明細書の特許請求の範囲では、指定の機能を実施する手段として表現される任意の要素は、例えば、a)その機能を実施する回路要素の組合せ、またはb)機能を実施するためにソフトウェアを実行する適切な回路と組み合わされた、任意の形態の、したがってファームウェア、マイクロコードなどを含むソフトウェアを含む、任意の形でその機能を実施することを包含するものとする。そのような特許請求の範囲で定義される本原理は、様々な説明される手段によって提供される機能が、特許請求の範囲が要求する方式で組み合わされ、一緒にされることにある。したがって、そうした機能を提供することのできる任意の手段は、本明細書で示されるものに対する均等物であるとみなされる。
本原理の「一実施形態」または「ある実施形態」、ならびにその他の変形に対する本明細書での参照は、実施形態と共に説明される特定の機能、構造、特徴などが本原理の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって様々な場所に出現する「一実施形態では」または「ある実施形態では」という語句、ならびに任意の他の変形の出現は、必ずしも同一の実施形態をすべて参照しているわけではない。
例えば、「A/B」、「Aおよび/またはB」、および「AとBの少なくとも1つ」の場合の、「/」、「および/または」、および「少なくとも1つ」のいずれかの使用は、第1に列挙されるオプション(A)のみの選択、または第2の列挙されるオプション(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によって実行することのできる、マイクロ命令コードの一部、もしくはアプリケーションプログラムの一部、またはそれらの任意の組合せでよい。加えて、追加のデータ記憶ユニットやプリンティングユニットなどの様々な他の周辺ユニットをコンピュータプラットフォームに接続することができる。
添付の図面に示される構成するシステム構成要素および方法の一部が好ましくはソフトウェアで実現されるので、システム構成要素またはプロセス機能ブロック間の実際の接続は、本原理がプログラムされる方式に応じて異なることがあることをさらに理解されたい。本明細書の教示が与えられると、本原理のこれらおよび類似の実現または構成を当業者は企図することができることになる。
添付の図面を参照しながら本明細書で説明に役立つ実施形態を説明したが、本原理がこうした厳密な実施形態に限定されず、本原理の範囲または趣旨から逸脱することなく、当業者は本原理の中で様々な変更および修正を実施できることを理解されたい。すべてのそのような変更および修正は、添付の特許請求の範囲に記載の本原理の範囲内に含まれるものとする。

Claims (18)

  1. メディアコンテンツを記録するシステムであって、
    前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離するセグメンタ(303)であって、前記個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含むセグメンタ(303)と、
    前記個別のファイルを格納するセグメント記憶装置(304)と、
    を備え、
    前記セグメンタは、複数の番組をその中に含む、番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組のそれぞれとが、別々の番組として記録されるように前記トランスポートストリームデータおよび前記索引データを分離する、前記システム。
  2. 前記番組すなわち記録セッションと前記複数の番組とに関する索引が、ツリー構造を使用して視聴者に表示され、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも1つに配置される、請求項1に記載のシステム。
  3. 前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも2つの間で共有される、請求項1に記載のシステム。
  4. 前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項3に記載のシステム。
  5. メディアコンテンツを記録する方法であって、
    前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データをアクセスポイント境界の周期的間隔で個別のファイルに分離するステップ(645)であって、個別のファイルのそれぞれは、それぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む、ステップ(645)と、
    前記個別のファイルをセグメント記憶装置に格納するステップ(645)と、
    を含み、
    複数の番組をその中に含む番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組のそれぞれとが、別々の番組として記録されるように前記トランスポートストリームデータおよび前記索引データが分離される(1300)、前記方法。
  6. 前記番組すなわち記録セッションと前記複数の番組とに関する索引を、ツリー構造を使用して視聴者に表示するステップ(1300)をさらに含み、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも1つに配置される、請求項5に記載の方法。
  7. 前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも2つの間で共有される、請求項5に記載の方法。
  8. 前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項7に記載の方法。
  9. コンピュータシステムに請求項5に記載の方法を実施させる、コンピュータ可読番組コードを具現化したコンピュータ可読記憶媒体。
  10. メディアコンテンツを再生するシステムであって、
    個別のファイルを格納するセグメント記憶装置(402)であって、前記個別のファイルのそれぞれは、前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られるそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む、セグメント記憶装置(402)と、
    前記トランスポートセグメントのシームレス再生のために前記個別のファイルからトランスポートセグメントをリアセンブルするデセグメンタ(403)と、
    を備え、
    複数の番組をその中に含む、番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組のそれぞれとに関する前記トランスポートセグメントは、別々の番組としてリアセンブルすることができる、前記システム。
  11. 前記番組すなわち記録セッションと前記複数の番組とに関する索引が、ツリー構造を使用して視聴者に表示され、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも1つに配置される、請求項10に記載のシステム。
  12. 前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも2つの間で共有される、請求項10に記載のシステム。
  13. 前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項12に記載のシステム。
  14. メディアコンテンツを再生する方法であって、
    セグメント記憶装置に個別のファイルを格納するステップ(645)であって、前記個別のファイルのそれぞれは、前記メディアコンテンツに対応するトランスポートストリームデータおよび索引データから得られるそれぞれのトランスポートセグメントおよびそれぞれの索引セグメントを含む、ステップ(645)と、
    前記トランスポートセグメントのシームレス再生のために前記個別のファイルからトランスポートセグメントをリアセンブルするステップ(1230)と、
    を含み、
    複数の番組をその中に含む、番組すなわち記録セッションについて、前記番組すなわち記録セッションとその中の前記複数の番組とのそれぞれに関する前記トランスポートセグメントは、別々の番組としてリアセンブルすることができる(1300)、前記方法。
  15. 前記番組すなわち記録セッションと前記複数の番組とに関する索引を、ツリー構造を使用して視聴者に表示するステップ(1300)をさらに含み、前記番組すなわち記録セッションが、前記ツリー構造のルートに配置され、前記複数の番組が、前記ツリー構造のブランチおよびリーフのうちの少なくとも1つに配置される、請求項14に記載の方法。
  16. 前記それぞれのトランスポートセグメントが、前記別々の番組のうちの少なくとも2つの間で共有される、請求項14に記載の方法。
  17. 前記それぞれのトランスポートセグメントが前記別々の番組のいずれによってももはや参照されないときにのみ、前記それぞれのトランスポートセグメントが削除される、請求項16に記載の方法。
  18. コンピュータシステムに請求項14に記載の方法を実施させる、コンピュータ可読番組コードを具現化したコンピュータ可読記憶媒体。
JP2014552203A 2012-01-09 2012-12-20 サブレコーディングの作成および管理 Expired - Fee Related JP6077007B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261584352P 2012-01-09 2012-01-09
US61/584,352 2012-01-09
PCT/US2012/070790 WO2013106182A1 (en) 2012-01-09 2012-12-20 Creating and managing sub-recordings

Publications (2)

Publication Number Publication Date
JP2015508610A JP2015508610A (ja) 2015-03-19
JP6077007B2 true JP6077007B2 (ja) 2017-02-08

Family

ID=47521173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014552203A Expired - Fee Related JP6077007B2 (ja) 2012-01-09 2012-12-20 サブレコーディングの作成および管理

Country Status (7)

Country Link
US (1) US20140341544A1 (ja)
EP (1) EP2803186A1 (ja)
JP (1) JP6077007B2 (ja)
KR (1) KR20150106326A (ja)
CN (1) CN104170373A (ja)
BR (1) BR112014016920A8 (ja)
WO (1) WO2013106182A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140074961A1 (en) * 2012-09-12 2014-03-13 Futurewei Technologies, Inc. Efficiently Delivering Time-Shifted Media Content via Content Delivery Networks (CDNs)
CN106021440B (zh) * 2016-05-16 2019-10-18 中国建设银行股份有限公司 一种搜索方法及装置
EP3343928A1 (en) * 2016-12-29 2018-07-04 Thomson Licensing Method for storing audio/video data and corresponding device
CN113450111A (zh) * 2020-03-27 2021-09-28 中国移动通信集团北京有限公司 数据共享方法、装置、设备及介质
CN113542213B (zh) * 2021-05-27 2023-09-22 新华三大数据技术有限公司 一种访问控制策略生成方法及装置、编排器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
WO2000074061A1 (en) * 1999-05-28 2000-12-07 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and a computer-readable storage medium
US7260312B2 (en) * 2001-03-05 2007-08-21 Microsoft Corporation Method and apparatus for storing content
US20020146234A1 (en) * 2001-03-07 2002-10-10 Matsushita Electric Industrial Co., Ltd. Storage-type receiving device
JP4099973B2 (ja) * 2001-10-30 2008-06-11 松下電器産業株式会社 映像データ送信方法及び映像データ受信方法、並びに映像監視システム
EP1474932B1 (en) * 2002-02-01 2011-01-19 Koninklijke Philips Electronics N.V. An apparatus and a record carrier for, and a method of recording a sequence of video data signals
JP2006004486A (ja) * 2004-06-16 2006-01-05 Toshiba Corp 情報記録媒体及び情報再生装置
US20080049574A1 (en) * 2004-09-13 2008-02-28 Hiroshi Yahata Data Processor
WO2006043499A1 (ja) * 2004-10-18 2006-04-27 Pioneer Corporation 情報処理装置、分類基準情報データベース、情報生成装置、情報処理方法、情報生成方法、情報処理プログラム、情報処理プログラムの記録した記録媒体
JP2006164337A (ja) * 2004-12-02 2006-06-22 Sony Corp データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体
US20080101764A1 (en) * 2006-11-01 2008-05-01 General Instrument Corporation Method and Apparatus for Managing Multimedia Content Recording Assets
US8520852B2 (en) * 2006-12-22 2013-08-27 Ibiquity Digital Corporation Method and apparatus for store and replay functions in a digital radio broadcasting receiver
US20080225940A1 (en) * 2007-03-16 2008-09-18 Chen Ma Digital video apparatus and method thereof for video playing and recording
US20080310820A1 (en) * 2007-06-14 2008-12-18 International Business Machines Corporation Optimizing digital video recorder storage space by commercial skip management
US8954596B2 (en) * 2010-04-02 2015-02-10 Netflix, Inc. Dynamic virtual chunking of streaming media content

Also Published As

Publication number Publication date
WO2013106182A1 (en) 2013-07-18
BR112014016920A8 (pt) 2017-07-04
CN104170373A (zh) 2014-11-26
US20140341544A1 (en) 2014-11-20
KR20150106326A (ko) 2015-09-21
BR112014016920A2 (pt) 2017-06-13
JP2015508610A (ja) 2015-03-19
EP2803186A1 (en) 2014-11-19

Similar Documents

Publication Publication Date Title
US9191610B2 (en) Systems and methods for creating logical media streams for media storage and playback
US8861935B2 (en) Systems and methods for enhancing utilization of recorded media content programs
KR101429778B1 (ko) 개선된 트릭 플레이 기능을 위한 시스템 및 방법
US9225932B2 (en) Method and system for automatically deleting stored media content after playback
WO2018125590A1 (en) Advanced trick-play modes for streaming video
KR101055423B1 (ko) 외부 디바이스의 인덱싱 정보 파일 관리 장치 및 방법
JP6077007B2 (ja) サブレコーディングの作成および管理
JP2008243367A (ja) 同報通信データを記録するための方法、および、装置
US9640220B2 (en) Managing time-shift data
US20100046633A1 (en) Communication terminal, content reproduction method, content reproduction program, content reproduction system, and server therefor
US8442388B1 (en) System and method for recording video content
JP6301616B2 (ja) 電子機器、電子機器の制御方法、及びシーン制御プログラム
KR101731829B1 (ko) 디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법
JP6964436B2 (ja) 映像記録装置及び映像再生装置
JP2008118329A (ja) コンテンツ送信装置、およびコンテンツ受信装置
US20140282758A1 (en) Method of time shifting in a digital tv and apparatus using the same
WO2012046090A1 (en) System and method for error detection and data replacement in broadcast services
KR101049634B1 (ko) 멀티 포맷 콘텐츠를 재생하는 장치 및 방법
JP5839195B2 (ja) 録画装置、サムネイル管理情報作成装置、録画方法および録画プログラム
JP6991185B2 (ja) 映像再生装置および映像記録装置
JP2009213142A (ja) 画像再生装置及び画像再生方法
Tan et al. Solutions and systems for recording interactive TV
KR101028942B1 (ko) 다운로드-앤-플레이 서비스에서 전 구간에 대한 컨텐츠트릭 플레이 기능 및 찾기 기능을 제공하는 방법 및 그컨텐츠 수신 장치
JP2009200567A (ja) 映像記録再生装置
JP2004007581A (ja) 記録装置、コンピュータ読取可能なプログラム、方法。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151221

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170111

R150 Certificate of patent or registration of utility model

Ref document number: 6077007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees