(57)【要約】保存したデジタル映像コンテンツの強化型ナビゲーションをイベント索引に基づき提供するシステムおよび方法である。イベント索引を作成および保存し、イベント索引内のイベントに基づいてナビゲーションを行う。システムの一例として、デジタルビデオレコーダに実施する場合、黒フィールドイベントおよび無音フレームイベントを検出して保存し、コマーシャルグループを見つける。これらコマーシャルグループは、保存したイベントと映像データファイル内の対応位置とを関連付けるデータポインタに基づき、スキップするかナビゲートする。
2005524271.tif 000002
【特許請求の範囲】
【請求項１】
映像番組とコマーシャルとを含む映像信号を受け取り、
前記コマーシャルの存在を識別するためのイベントセットを前記映像信号内に検出し、
前記映像信号に対応する映像データをコンテンツファイルに保存し、
データポインタを索引ファイルに保存することを備え、前記データポインタは前記イベントセットの１イベントに実質的に対応する前記コンテンツファイル内の１位置を示す、コマーシャル検出方法。
【請求項２】
前記映像番組の表示に使用する信号を前記コンテンツファイルから提供し、
前記データポインタを使用して、前記コマーシャルの少なくとも実質的部分が前記映像番組の表示中に表示されることを防止することをさらに備える、請求項１の方法。
【請求項３】
前記イベントセットは第１イベントと第２イベントとを含み、前記方法は、
前記第１イベントと前記第２イベント間の関係を検出し、
前記関係とあらかじめ定義したコマーシャル検出条件セットとを比較することにより前記コマーシャルの存在を識別することをさらに備える、請求項１の方法。
【請求項４】
前記第１イベントと前記第２イベント間の前記関係は、前記第１イベントと前記第２イベント間の経過時間を含む、請求項３の方法。
【請求項５】
前記コマーシャルはコマーシャルグループ中の第１コマーシャルであり、前記データポインタは第１データポインタであり、前記コンテンツファイル内の前記位置は前記コマーシャルグループの開始位置に対応する、請求項１の方法。
【請求項６】
前記コマーシャルグループは最終コマーシャルを含み、
前記索引ファイルに第２データポインタを挿入し、当該データポインタは前記コンテンツファイルにおける前記最終コマーシャルの終了位置を示すことをさらに備える、請求項５の方法。
【請求項７】
前記コンテンツファイル内の前記位置はデジタル保存したファイル内の位置である、請求項１の方法。
【請求項８】
前記映像データは圧縮デジタル映像フォーマットで保存する、請求項１の方法。
【請求項９】
前記索引ファイルに前記映像データの時間索引を保存することをさらに備える、請求項１の方法。
【請求項１０】
前記映像信号内にイベントセットを検出することは、あらかじめ定義した特徴を前記映像信号の輝度成分中に検出することを備える、請求項１の方法。
【請求項１１】
前記映像信号内にイベントセットを検出することは、あらかじめ定義した特徴を前記映像信号の音声成分中に検出することを備える、請求項１の方法。
【請求項１２】
前記映像信号内にイベントセットを検出することは、積極性設定を使用して前記映像信号がコマーシャルを示すイベントを含むか否かを決定することを備える、請求項１の方法。
【請求項１３】
映像番組とコマーシャルとを含む映像信号を受け取り、
前記コマーシャルの存在を識別するためのイベントセットを前記映像信号内に検出し、
前記映像信号に対応する映像データをコンテンツファイルに保存し、
データポインタを索引ファイルに保存する各命令を備え、前記データポインタは前記イベントセットの１イベントに実質的に対応する前記コンテンツファイル内の１位置を示す、実行すると映像信号内にコマーシャルを検出するソフトウエア命令セットを保存するコンピュータ読み取り可能記憶媒体。
【請求項１４】
前記映像番組の表示に使用する信号を前記コンテンツファイルから提供し、
前記データポインタを使用して、前記コマーシャルの少なくとも実質的部分が前記映像番組の表示中に表示されることを防止する各命令をさらに備える、請求項１３の記憶媒体。
【請求項１５】
前記イベントセットは第１イベントと第２イベントとを含み、前記記憶媒体は、
前記第１イベントと前記第２イベント間の関係を検出し、
前記関係とあらかじめ定義したコマーシャル検出条件セットとを比較することにより前記コマーシャルの存在を識別する各命令をさらに備える、請求項１３の記憶媒体。
【請求項１６】
前記第１イベントと前記第２イベント間の前記関係は、前記第１イベントと前記第２イベント間の経過時間を含む、請求項１５の記憶媒体。
【請求項１７】
前記コマーシャルはコマーシャルグループ中の第１コマーシャルであり、前記データポインタは第１データポインタであり、前記コンテンツファイル内の前記位置は前記コマーシャルグループの開始位置に対応する、請求項１３の記憶媒体。
【請求項１８】
前記コマーシャルグループは最終コマーシャルを含み、
前記索引ファイルに第２データポインタを挿入し、当該データポインタは前記最終コマーシャルの終了位置を示すことをさらに備える、請求項１７の記憶媒体。
【請求項１９】
前記コンテンツファイル内の前記位置はデジタル保存したファイル内の論理位置である、請求項１３の記憶媒体。
【請求項２０】
前記映像データは圧縮デジタル映像フォーマットで保存する、請求項１３の記憶媒体。
【請求項２１】
前記索引ファイルに前記映像データの時間索引を保存する命令をさらに備える、請求項１３の記憶媒体。
【請求項２２】
前記映像信号内にイベントセットを検出する命令は、あらかじめ定義した特徴を前記映像信号の輝度成分中に検出する命令を備える、請求項１３の記録媒体。
【請求項２３】
前記映像信号内にイベントセットを検出する命令は、あらかじめ定義した特徴を前記映像信号の音声成分中に検出する命令を備える、請求項１３の記録媒体。
【請求項２４】
前記映像信号内にイベントセットを検出する命令は、積極性設定を使用して前記映像信号がコマーシャルを示すイベントを含むか否かを決定する命令を備える、請求項１３の記憶媒体。
【請求項２５】
映像データの第１ファイル内に当該映像データの特徴から映像イベントセットを検出し、当該映像データは複数の映像部を含み、前記映像イベントセットは前記複数の映像部内の遷移を示し、
第２ファイルにデータポインタを保存し、当該データポインタは前記映像イベントセットから選択した映像イベントの位置に対応し、
前記第１ファイルにおいて前記データポインタを使用して前記複数の映像部をナビゲーションすることを備える、映像コンテンツをナビゲーションする方法。
【請求項２６】
前記映像イベントセットを検出するために使用する前記映像データの特徴は、前記映像データの輝度成分からなる、請求項２５の方法。
【請求項２７】
前記映像イベントセットを検出するために使用する前記映像データの特徴は、前記映像データの音声成分からなる、請求項２５の方法。
【請求項２８】
あらかじめ定義した関係に基づき前記映像イベントセット内に映像イベントグループを識別することをさらに備え、前記データポインタは前記識別した映像イベントグループの前記第１ファイル内における位置に対応する、請求項２５の方法。
【請求項２９】
映像番組とコマーシャルセットとを含む映像信号を受信するための映像入力と、
受信した映像信号に対応する映像データを保存するためのコンテンツファイルと、
前記コンテンツファイル内の前記映像データの複数位置へのデータポインタを保存する索引ファイルと、
前記映像データ内に前記コマーシャルセットを識別し、前記コンテンツファイル内における前記コマーシャルセットの位置に対応するタグを前記索引ファイルに挿入するコマーシャル検出モジュールと、
前記索引ファイルに挿入した前記タグに基づき、前記コンテンツファイルからの映像出力を制御するコンテンツナビゲーションモジュールとを備えることにより、前記コマーシャルセットの実質的部分を前記映像出力から除外するビデオレコーダ。
【請求項３０】
前記映像データは圧縮デジタル映像フォーマットで前記コンテンツファイルに保存する、請求項２９のビデオレコーダ。
【請求項３１】
前記索引ファイルは、前記コンテンツナビゲーションモジュールに使用させるため、前記映像データの時間索引を含む、請求項２９のビデオレコーダ。
【請求項３２】
前記コマーシャル検出モジュールは、
前記コマーシャルセットの存在を識別するための映像イベントセットを前記映像データ内に識別するイベント識別モジュールと、
前記コマーシャルセットの存在を識別するための前記映像イベントセット内にパターンを識別するグループ識別モジュールと、
前記グループ識別モジュールが識別したパターンに基づき、前記索引ファイル内にタグを挿入する索引タグ付けモジュールとを備える、請求項２９のビデオレコーダ。
【請求項３３】
前記受信映像信号内に映像イベントを検出する映像イベント検出器をさらに備える、請求項２９のビデオレコーダ。
【請求項３４】
前記受信映像信号内に音声イベントを検出する音声イベント検出器をさらに備える、請求項２９のビデオレコーダ。
【請求項３５】
前記コマーシャル検出モジュールは、前記映像データ内に前記コマーシャルセットを識別するための閾値を決定する積極性設定を含む、請求項２９のビデオレコーダ。
【請求項３６】
映像番組とコマーシャルセットとを含む映像信号を受信するための入力手段と、
受信した映像信号に対応する映像データを保存するための第１保存手段と、
前記第１保存手段内の前記映像データの複数位置へのデータポインタを保存する第２保存手段と、
前記映像データ内に前記コマーシャルセットを識別し、前記コマーシャルセットを探し出すためのタグを前記第２保存手段に挿入するコマーシャル検出手段と、
前記第２保存手段に挿入した前記タグに基づき、前記第１保存手段からの映像出力を制御するコンテンツナビゲーション手段とを備えることにより、前記コマーシャルセットの実質的部分を前記映像出力から除外するビデオレコーダ。
【請求項３７】
前記映像データは圧縮デジタル映像フォーマットで前記第１保存手段に保存する、請求項３６のビデオレコーダ。
【請求項３８】
前記第２保存手段は、前記コンテンツナビゲーション手段に使用させるため、前記映像データの時間索引を含む、請求項３６のビデオレコーダ。
【請求項３９】
前記コマーシャル検出手段は、
前記コマーシャルセットの存在を識別するための映像イベントセットを前記映像データ内に識別するイベント識別手段と、
前記コマーシャルセットの存在を識別するための前記映像イベントセット内にパターンを識別するグループ識別手段と、
前記グループ識別手段が識別したパターンに基づき、前記第２保存手段内にタグを挿入する索引タグ付け手段とを備える、請求項３６のビデオレコーダ。
【請求項４０】
前記受信映像信号内に映像イベントを検出する映像イベント検出手段をさらに備える、請求項３６のビデオレコーダ。
【請求項４１】
前記受信映像信号内に音声イベントを検出する音声イベント検出手段をさらに備える、請求項３６のビデオレコーダ。
【請求項４２】
前記コマーシャル検出手段は、前記コマーシャルセットを識別するための閾値を決定する積極性設定を含む、請求項３６のビデオレコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
発明者
クリストファ・ダウ、ブルース・ガルシア、アダム・ブリッグス、タイミン・チェン、チュアンチュン・リュー
発明の背景
１．技術分野
本発明は、映像録画システムの分野に関し、さらに詳しくは、映像コンテンツを記録し、索引を付け、ナビゲーションを行うシステムおよび方法に関する。
【０００２】
２．関連技術の説明
映像録画技術、例えばビデオカセットレコーダ（ＶＣＲ）やデジタルビデオレコーダ（ＤＶＲ）は、ビデオ番組をいつどのように見るかに関して、消費者が制御することを向上してきた。ＶＣＲの登場以来、消費者は放送映像（例えばテレビ放送、ケーブル放送、衛星放送）を記録し、後からそれを見ることができるようになった。映像番組は、ビデオカセット等の記憶媒体に記録する。ユーザは、そのビデオカセットからの番組を余暇に見ることができる。ＶＣＲは、保存した番組を見る上で、ナビゲーション機能も提供する。ＶＣＲは例えば、番組の各部において、それを見ながらあるいは見ないまま、一時停止、早送り、巻き戻しをユーザに可能にする。いくつかのＶＣＲは、追加のナビゲーション機能を提供する。スローモーション、可変早送り、可変巻き戻し等である。ただしこれら機能の品質は、関係するアナログ技術によって限度がある。録画番組を見る消費者は、早送り機能を使用し、見たくない内容を早送りできる。この機能は、一般的に、録画番組のコマーシャルをスキップするために使われるようになった。
【０００３】
録画番組におけるコマーシャルを迅速に正確に避ける能力を消費者が望んでいることに鑑み、コマーシャルを自動的に識別しスキップするＶＣＲ機能が開発された。このＶＣＲは、アナログまたはデジタル映像処理を使用し、一般的にコマーシャルを示すイベントを映像信号中に識別する。このようにして共通に識別されるイベントは、黒フィールド（コマーシャル間に挿入される「黒」映像フレーム）、無音フィールド（黒フィールドがしばしば随伴する「空白」音声）、および急激な音量変化（コマーシャルがしばしば随伴する音量上昇）等である。残念ながら、これらイベントは、番組自体およびコマーシャル内外でも発生することがある。
【０００４】
コマーシャルは、定義可能なパターンの後に続くコマーシャルグループ内にほぼ常に存在する。黒フィールドイベントおよび無音フィールドイベントは、コマーシャルグループ内の各コマーシャルを分離することもある。単独のイベントに基づきコマーシャルを識別することの限界を克服するため、パターンマッチング論理をＶＣＲに使用し、コマーシャルグループ内のイベントパターンを特定する。特定したイベントは、バッファに一時保存する。バッファ内の一連のイベントは、イベント間のスペースに基づき分析する。所定パターンが認識できれば、コマーシャルグループを識別できる。コマーシャルグループを識別したら、適切なマーカをビデオカセットに記録する。これは通常、制御トラックに書き込む。再生において、開始マーカから自動早送りを開始する。この早送りは、そのグループの終了マーカに到達するまで続行する。そこに到達したら、ＶＣＲは通常再生モードに戻る。コマーシャルスキップ論理は、自動早送り中、青色画面等の映像表示も提供できる。
【０００５】
コマーシャルスキップＶＣＲは、その使い勝手および効果を低減させるような多くの欠点を有する。第１に、イベントを正確に検出することがそれほど簡単ではない。信号の品質は、黒フィールドおよび無音フィールドの品質を大きく左右する。信号が実際にゼロであることはほとんどない。また、多くのテレビネットワークおよびコンテンツプロバイダは、透かしやロゴを実行しており、これらは黒フィールドスクリーンにも現れる。配信システム、ネットワーク、およびコンテンツプロバイダのいずれもが、黒フィールドおよび無音フィールドの品質に影響を与える。コマーシャルと番組内容との分離に使用するフレームには、他のタイプもある。全画面ロゴや黒以外の単色画面である。多様で複雑なイベントは、デジタル放送環境において増加する一方であり、ネットワークや広告提供者による、コマーシャル検出を避けるための予防措置もある。黒フィールドや無音フィールド等のイベントを検出するための改良方法が望まれている。
【０００６】
また、コマーシャルグループを識別するために使用可能なイベントパターンは多岐にわたる。番組における場面展開が混乱すると、コマーシャルグループあるいはその一部を誤って識別することになり、番組内容を自動的にスキップしてしまうことにもなる。現在行われているコマーシャルスキップ論理は、番組の開始または終了近辺のコマーシャルグループを識別しようとしない。そこにはクレジット、ティーザ広告、予告があり、番組内容とコマーシャルとを分離することが困難である。イベントパターンは、ネットワーク、番組、日、週、年によって変化する。またイベントパターンは、広告提供者および視聴者の好みにより、時と共に変化する。特にイベントパターンは、現行システムのパターン認識論理を放送提供者が避けようとするため、変わりやすい。そこで、パターン認識論理を更新し実行する改良方法が必要である。
【０００７】
コマーシャルスキップＶＣＲは、初回録画中あるいは初回再生中にコマーシャルを識別せずマークしない。パターンマッチング機能は、複数のイベントを記憶してからでないと、コマーシャルグループの開始を表す前方イベントを識別できない。コマーシャルグループの開始および終了を識別するマーカは、ビデオカセットに保存する。コマーシャルグループを識別した後、ほとんどのＶＣＲの読み取りヘッドおよび書き込みヘッドは、コマーシャルグループの開始までテープを巻き戻し、そのビデオカセットに開始マーカを記録せねばならない。初回記録後、コマーシャルスキップ機能で録画を鑑賞できるようにするため、ほとんどのコマーシャルスキップＶＣＲは、ビデオカセットを一度走査し、イベントを識別し、コマーシャルグループを識別し、そのコマーシャルグループをビデオカセットにマークする。従って、保存したコマーシャルグループに索引を付ける改良方法が求められている。
【０００８】
コマーシャルスキップＶＣＲは、識別したコマーシャルおよびコマーシャルグループに対し、限定的なナビゲーションオプションしか提供しない。順次録画および再生は、ビデオカセットに保存した映像コンテンツをナビゲーションするための実際的オプションを制限している。ほとんどのコマーシャルスキップＶＣＲが提供する唯一のナビゲーションオプションは、制御トラックに記録した開始および終了マーカに基づき、識別済みコマーシャルをスキップすることである。この機能は一般に２値的である。すなわちオンかオフである。しかしながらユーザは、コマーシャルグループ等の識別済み映像コンテンツをいつどのように見るかあるいは見ないかについて、より多くの制御を望んでいる。従って、索引を付けたコマーシャルグループをナビゲーションする改良方法が求められている。
【０００９】
ＤＶＲは、放送映像コンテンツを保存し、管理し、鑑賞する方法に革新をもたらしている。ＤＶＲの内蔵システムは、映像番組やコマーシャル等の映像コンテンツを受信し、デジタル保存し、再生する。ＤＶＲは一般に、ハードドライブ等のデジタル保存媒体を用い、圧縮した映像コンテンツをデジタル保存する。映像コンテンツはデジタル保存するものの、その受信および再生はアナログ信号で行うことが多い。すなわち１以上のアナログ／デジタル変換器を必要とする。ＤＶＲは映像コンテンツの受信、保存、鑑賞に関し、多数の改良を提供している。例えば、対話式番組案内、保存コンテンツの対話式管理、新規コンテンツの自動保存、強化型ナビゲーション機能、ファイル共有、および通信機能である。これら改良機能の多くは、多量のデータ処理、メモリ、ネットワーク、およびグラフィカルインタフェース重畳等の能力を必要とする。より柔軟な保存システム（例えばデジタルファイルシステム）、強化した処理能力、および遍在ネットワーク技術を組み合わせることで、ＤＶＲに大きな可能性を提供でき、ＶＣＲの多くの限界を克服できる。
【００１０】
ほとんどのＤＶＲは、ＭＰＥＧ等のデジタル圧縮基準を用い、映像コンテンツを圧縮映像ファイルとして保存する。かかる映像ファイルに時間ベースでアクセスしナビゲーションするため、ＤＶＲは、その映像ファイルの時間索引を含んだ随伴索引ファイルを作成できる。例えばその索引ファイルは、ＧＯＰ（ピクチャグループ、ＭＰＥＧ圧縮データの単位）と経過時間とを関連付ける。ＤＶＲは、再生において、索引ファイルからのデータを使用し、映像データストリームの時間ベース操作が可能である。索引ファイルの追跡速度を変化させることにより、ナビゲーションオプションを強化できる。例えばスローモーション、早送り、巻き戻しを可変速度で行うことができ、しかも従来のアナログシステムより忠実度を良くできる。索引ファイルは、コンテンツファイルへの順次アクセスからシステムを解放し、コンテンツファイルのいずれの時間点へも直接アクセスできるようにする。索引ファイルのこの特徴を利用し、即時再生および前方スキップ機能が提供されてきた。これら機能は、再生中のデータストリームにおいて、あらかじめ定義した前方ジャンプまたは後方ジャンプを提供する。これらは一般に、ユーザがもう一度見たい内容を再視聴するため、または全く見たくない内容をスキップするために使う。前方スキップ機能の好まれる使用方法は、コマーシャルグループを迅速にスキップすることである。３０秒の前方スキップは、コマーシャルを迅速にナビゲーションする上で極めて有効である。コマーシャルは、約３０秒あるいはその倍数で放映されることが多いからである。このような方法で使う場合、ユーザはコマーシャルの存在を識別し、前方スキップを稼働させる。これは一般に、リモートコントロールの所定ボタンを用いる。ユーザは、別のコマーシャルがあると、再び前方スキップを稼働させる。これを繰り返すことにより、所望の番組内容に到達する。望ましいことは、前方スキップがユーザを行き過ぎさせないことであり、ユーザが見たいと思っている内容を見失わないことである。再生中においてコマーシャルを避けるこの方法は、ＤＶＲユーザに人気のあることが分かったが、コマーシャルを検出し、それらを自動的にスキップするための、さらに改良された方法が求められている。
【００１１】
発明の概要
以下に説明する本発明の実施例は、映像信号または映像データストリームにおける識別可能イベントに基づき、映像コンテンツのナビゲーションを強化することを提供する。これら実施例は、改良した方法において、保存した映像番組中のコマーシャルを自動的にスキップすることをユーザに可能にする。映像コンテンツに対応する映像データは、第１ファイルに保存する。映像データ内の各位置に対応するデータポインタは、第２ファイルに保存し、イベント索引を作成する。これらデータポインタは、映像コンテンツにおいてあらかじめ定義したイベントおよびイベントのパターンに基づき作成する。これらは例えば、映像番組とコマーシャルとの間を示す映像および音声イベントである。データポインタは、映像コンテンツをナビゲーションするために使用できる。例えば、コマーシャルを自動スキップするために使用できる。本発明のいくつかの実施例は、コマーシャルを検出する方法、映像コンテンツの強化型ナビゲーションを提供する方法、コマーシャル検出用ソフトウエア命令を含むコンピュータ読み取り可能記憶媒体、コマーシャル検出および／または強化型ナビゲーションが可能なビデオレコーダを含む。
【００１２】
本発明実施例の前記およびその他特徴を以下に詳述する。説明全体を通して添付図面を参照する。
【００１３】
発明の詳細な説明
以下において、本発明に基づく１以上の実施例の詳細を説明する。この詳細は、システム構成、ブロックモジュール図、フローチャート、および記述を含む。これら詳細は、本発明の１以上の実施例を理解する上で一助となるが、当業者には明らかな通り、本発明を実施する上で必要なものではない。
【００１４】
図１のブロック図は、コマーシャル検出を含んで構成した本発明の一実施例に基づくＤＶＲ１００を示す。ＤＶＲ１００は、ＡＶ入力モジュール１０２と、プロセッサ１０４と、メモリ１０６と、ＡＶ出力モジュール１０８と、データ記憶媒体１１０と、モデム１１２と、従来のバス構成に相互接続したネットワークインタフェース１１４とを含む。一般にプロセッサ１０４は、例えばメモリ１０６に記憶した命令を実行し、いくつかの本発明実施例が提供するような機能を提供する。追加メモリとしてＲＯＭおよび／またはＥＥＰＲＯＭ（図示せず）を使用し、ブートアップシーケンス命令やＤＶＲ機能更新等の情報を格納しても良い。ネットワークインタフェース１１４は従来品であり、イーサネットベースのネットワークに接続可能なものが好ましい。この接続を利用してホームネットワークに接続すると共に、一方でインターネットや各種ブロードバンド等のＷＡＮに接続する。
【００１５】
ユーザは、ＤＶＲ１００の動作を制御する場合、ＤＶＲ１００の筐体の外側からパネルインタフェース１３２を介して制御信号を送る。あるいはリモートコントロールから制御信号を送る。この制御信号は、リモート信号インタフェース１３４を介して従来方法で受信する。他の従来の電子入力装置を使用してＤＶＲ１００へのユーザ入力を行っても良い。例えばキーボード、タッチスクリーン、マウス、ジョイスティック等である。これら装置は、ＤＶＲ１００や関連ハードウエア（例えば映像表示装置、オーディオシステム等）に内蔵しても良いし、従来のポート（例えばシリアル接続、ＵＳＢ等）や無線信号受信器（例えば赤外線、ブルートゥース（登録商標）、８０２．１１ｂ等）とのインタフェースを介して接続しても良い。
【００１６】
ＡＶ入力モジュール１０２は、各種従来インタフェースを介して入力を受け取る。例えば同軸ＲＦ／Ａｎｔ、Ｓビデオ、コンポーネント音声／映像、ネットワークインタフェース等を介して入力を受信する。この受信信号は、標準ＮＴＳＣ放送、高精細（ＨＤＴＶ）放送、標準ケーブル、デジタルケーブル、衛星、インターネット等を送信元とする。ＡＶ入力モジュール１０２は、適切な従来の同調および／または復号機能を含んで構成する。ＤＶＲ１００はさらに、他の装置からの入力も受信する。例えばセットトップボックス、メディアプレーヤ（例えばＶＣＲ、ＤＶＤプレーヤ等）である。例えばセットトップボックスは、１信号フォーマットを受信し、ＮＴＳＣ信号等の従来フォーマットをＤＶＲ１００へ送る。セットトップボックス、メディアプレーヤ等の装置の機能は、ＤＶＲ１００に組み込み、１以上のリソースを共有することができる。
【００１７】
ＡＶ入力モジュール１０２はさらに、１以上のＭＰＥＧ符号化モジュールを含み、第１フォーマット（例えばアナログＮＴＳＣフォーマット）からＭＰＥＧフォーマット（例えばＭＰＥＧ２等）へ信号を変換する。変換した信号は、メモリ１０６またはハードディスク等のデータ記憶媒体１１０に保存できる。一般にデータ記憶媒体１１０に保存したフォーマット済みデータに対応するコンテンツは、即座にあるいは後から視聴できる。ＭＰＥＧデータに関連する追加情報を保存すれば、録画番組を管理および識別することができる。他の実施例は他の適切な圧縮方法を使用できる。
【００１８】
ＡＶ出力モジュール１０８は、グラフィクスモジュール１２２と、映像デコーダ１２４と、音声デコーダ１２６とを含む。映像デコーダ１２４と音声デコーダ１２６とは、好ましくはＭＰＥＧデコーダであり、データ記憶媒体１１０に保存したＭＰＥＧデータを取得し、それを表示装置互換フォーマットに変換する。このフォーマットは代表的にＮＴＳＣフォーマットであり、従来のテレビセットで容易に受信できる。グラフィクスモジュール１２２は、各種ガイド情報および制御情報を受信し、互換フォーマットの信号を対応する表示装置へ出力する。
【００１９】
ＤＶＲ１００は、ガイド情報を処理する。この情報は、システム（例えば放送システム）が現在および将来提供するコンテンツとＤＶＲ１００がすでに保存したコンテンツとを説明し、ナビゲーションを可能にする。このような情報を表示するガイドは、一般にコンテンツガイドと呼ぶ。このコンテンツガイドは、チャンネルガイドおよび再生ガイドを含む。チャンネルガイドは、利用可能なコンテンツを表示し、そこから各番組を選択して現在または将来の録画および鑑賞に備える。一例としてチャンネルガイドは、多数の放送テレビ番組をリスト表示し、ユーザは１以上の番組を選択して録画できる。再生ガイドは、ＤＶＲ１００が保存しているあるいは即座に保存可能なコンテンツを表示する。このガイドについては、別の用語を使うこともある。例えば、プログラミングガイド等と呼ぶこともある。コンテンツガイドという用語は、それら代替用語の全てを包括することを意図している。
【００２０】
ＤＶＲ１００は、パーソナルビデオレコーダ（ＰＶＲ）と呼ぶこともある。本発明の実施例を包含するＤＶＲの一例は、カリフォルニア州サンタクララのソニックブルー社が提供するリプレイＴＶブランドのＤＶＲである。リプレイガイドは、リプレイＴＶ・ＤＶＲが実施する再生ガイドの一例である。
【００２１】
ＤＶＲ１００のいくつかのモジュールは図１に示す通りであるが、本発明は異なる特徴を有する構成要素も考慮し包含する。例えば一形態として、電話回線モデムを省略し、代わりにコンジットを使って本発明の実施に使用するガイドデータおよびその他情報を取得しても良い。また他の形態として、例えばスマートカード技術を実施する条件付きアクセスモジュール（ＣＡＭ）等の機能を付加し、特定のコンテンツプロバイダまたは放送業者と連携して動作させ、コンテンツへのアクセスを制限しても良い。
【００２２】
また本実施例および本発明の他の実施例は、ＤＶＲまたはＰＶＲに関連して説明するが、他の装置にも等しく適用可能である。例えばセットトップボックス（ＳＴＢ）、ケーブルＳＴＢ、衛星ＳＴＢ、同様機能を有するモジュールを内蔵したテレビ等に適用可能であるが、これらに限定するものではない。
【００２３】
本実施例において、ＤＶＲメモリ１０６は、コマーシャルインデクサ１４０と、番組ナビゲータ１５０とを含む。データ記憶媒体１１０は、少なくとも１つのコンテンツファイル１６０と、少なくとも１つの索引ファイル１７０とを含む。コマーシャルインデクサ１４０と番組ナビゲータ１５０とコンテンツファイル１６０と索引ファイル１７０とは、再生中において映像コンテンツの強化型ナビゲーションを提供するために使用する。
【００２４】
コマーシャルインデクサ１４０は、映像信号またはデータストリームにおける音声および／または映像イベントの自動検出を提供する。例えば検出したイベントは、映像データの内容における遷移に関連している。遷移とは、例えばコマーシャルと番組内容との間における途切れである。検出したコマーシャルは、非番組内容を含んでいる。非番組内容とは、例えば有料広告、局識別部、予告、その他番組中断部である。コマーシャルは、連続する区画からなることが多い。すなわちコマーシャルグループである。これは番組内容の枠内にある。コマーシャルインデクサ１４０は、イベントを検出し、イベントパターンを分析し、コンテンツ内に識別した遷移に関するデータを保存する。このコンテンツ内に識別した遷移に関して保存したデータを使うことで、番組ナビゲータ１５０はコマーシャルスキップ等の強化型再生オプションを提供する。あるいはコマーシャルインデクサ１４０は、イベントを検出し、検出したイベントに関するデータを保存する。再生中、番組ナビゲータ１５０は、イベントパターンを分析し、その分析に基づき強化型ナビゲーションオプションを提供する。一実施例において、イベントインデクサ１４０は、映像処理、パターン認識、およびデータ保存を連携させるためのソフトウエア命令を含む。コマーシャルインデクサ１４０は、コマーシャル検出処理の一部を実施するためのハードウエア部品を管理する。いくつかのシステムにおいて、コマーシャル検出は、Ａ／Ｄ変換、データ圧縮、時間索引付け、データ記憶媒体１１０への映像データ保存と統合可能である。
【００２５】
番組ナビゲータ１５０は、保存した映像コンテンツを見るためのナビゲーションオプションを提供する。番組ナビゲータ１５０は、１つ以上の制御信号を受信するように展開した機能論理を含んでも良い。例えば番組ナビゲータ１５０は、リモートコントロールやパネルインタフェース等の入力装置経由のユーザ入力に対するＤＶＲの応答方法を少なくとも部分的に決定できる。受信した制御信号の解釈は動作状態に基づいて調整する。例えば再生中、ガイド経由、メニュー経由等に基づいて調整する。番組ナビゲータ１５０は、グラフィカルユーザインタフェース、アイコン、音声合図等、受信した制御信号に応答するインタフェースを含むことができる。番組ナビゲータ１５０は、保存映像コンテンツの時間ベース索引を利用した各種ナビゲーション機能を含むことができる。一実施例において、番組ナビゲータ１５０は、保存映像番組におけるコマーシャルスキップ用の論理を提供する。これは、コマーシャルインデクサ１４０が識別したイベントに基づく。このコマーシャルスキップ論理は、パネルインタフェース１３２またはリモートコントロール（図示せず）上のメニュー選択またはボタン指定で実行できる。番組ナビゲータ１５０は、スキップしたコマーシャルの簡易編集版や、コマーシャルがスキップされることをユーザに知らせるアイコン等の指標を提供するための論理を含んでも良い。検出したイベントに基づくコンテンツナビゲーションオプションには次のようなものもある。すなわちコマーシャルを見て番組をスキップする、次または前のコマーシャル部あるいは番組部にジャンプする、あるいはコマーシャル部および番組部に「チャプタ」によってアクセスする等である。
【００２６】
コンテンツファイル１６０は、１以上の映像配信の録画映像データを保存している。映像データは、受信したものと同一フォーマットで保存しても良いしそうしなくても良い。例えばアナログ映像信号をＤＶＲ１００で受信し、それをデジタル映像信号に変換し、そのデジタル映像信号のコンテンツに対応するデジタルデータをコンテンツファイル１６０に保存しても良い。一実施例において、デジタルデータは１以上の映像データ圧縮技術を用いて圧縮し、データ記憶媒体１１０の使用を経済的にできる。前記コンテンツファイルは、単一記録セッションを含むことができる。これは、複数の映像番組とそこに介在するコマーシャルとを含んでも良いし含まなくても良い。一実施例において、各コンテンツファイルは、単一の録画プログラムとそれに介在するコマーシャルとに対応する。
【００２７】
索引ファイル１７０は、コンテンツファイル１６０内の複数位置へのポインタを含む。これらポインタは、各位置における保存映像データの索引となり、その映像データへのアクセスおよびナビゲーションを可能にする。例えば索引ファイル１７０は、番組開始および終了位置用ポインタ、番組内容の時間ベース索引を提供する等間隔ポインタ、あるいは映像コンテンツにおける黒フィールドや内容変化（例えば番組からコマーシャルへ）等の検出可能部に対応するポインタを含むことができる。
【００２８】
ＤＶＲ１００は、単一のホーム装置として動作しても良い。この場合、従来のテレビセットと連携して使用し、他の装置との通信を必要としない。ＤＶＲ１００は、各種ネットワーク等によって他の装置と共に動作しても良い。図２は、システム２００の例を示す。複数のＤＶＲ２１６，２１８，２３６，２３８は、各々ローカルエリアネットワーク２１０および２３０において相互接続する。ローカルエリアネットワーク２１０および２３０は、ワイドエリアネットワーク２５０に接続する。サーバ２６０およびコンテンツプロバイダ２７０も、ワイドエリアネットワーク２５０に接続する。ワイドエリアネットワーク２５０は、インターネットでも良い。従来のネットワーク技術を使い、各システム間の通信を提供しても良い。例えばネットワーク通信は、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）や、他の従来の高位プロトコル例えばハイパーテキスト伝送プロトコル（ＨＴＴＰ）またはファイル伝送プロトコル（ＦＴＰ）を実行できる。ＤＶＲと通信ネットワークとを接続することで、ＤＶＲは録画コンテンツを共有し、集中または非集中データ記憶および処理を利用し、遠隔地からの制御信号に応答し、局地リソースを定期的に更新し、ネットワークコンテンツプロバイダへのアクセスを提供し、他の機能を有効化できる。
【００２９】
一実施例において、ローカルエリアネットワーク２１０および２３０はホームネットワークシステムであり、多様な家庭用電子装置を相互接続する。ローカルエリアネットワーク２１０および２３０は、各種器具およびホームサブシステムを相互接続するスマートホームネットワークを含んでも良く、あるいはその一部であっても良い。本実施例において、ローカルアリアネットワーク２１０は、ＤＶＲ２１６および２１８と、ＰＣ２２０および２２２とを含む。これら装置の各々は、家庭内の異なる場所にあっても良く、従来のネットワーク技術およびソフトウエアを使って接続する。これら装置間の通信は、遠隔操作を可能にし、装置間の交換を可能にする。例えばＤＶＲ１２１６は寝室にあり、居間にあるＤＶＲ２２１８と接続する。ＤＶＲ１２１６は、ＤＶＲ２２１８のガイド情報および保存映像コンテンツにアクセスできる。同様にＤＶＲ２１６および２１８はリソースを共有し、ＰＣ２２０および２２２からの制御が可能である。これら装置間で共有するアクセスおよびデータのタイプと量とを制限し、著作権管理および他の安全機能を不可避にする。
【００３０】
ローカルアリアネットワーク２１０は、ルータ２１４とブロードバンドインタフェース２１２とを含む。ブロードバンドインタフェース２１２は、従来のデジタル加入者線（ＤＳＬ）モデム、ケーブルモデム、およびホームネットワークと、ブロードバンドとのインタフェースを提供する装置ならどのようなものでも良い。ブロードバンドへの接続は、有線接続、無線接続、その他ブロードバンド接続を含む。ルータ２１４は、ホームネットワーク２１０内の装置２１６−２２２と、インターネット経由でこれらと接続可能性のある装置との間でファイアウオールの働きをする。論理ポート２２４ａ−ｄは、装置２１６−２２２とホームネットワーク２１０外部装置との間でインターネット通信を割り当てる。これら論理ポートは、ある種のファイル転送に障壁として働く。
【００３１】
ローカルアリアネットワーク２１０と同様、別のローカルアリアネットワーク２３０は、ブロードバンドインタフェース２３２とルータ２３４とを含む。これらを介して装置２３６−２４０は、論理ポート２４４ａ−ｃを用いて相互接続およびインターネット接続する。ローカルアリアネットワーク２３０は、前記したローカルアリアネットワーク２１０と実質的に同様に動作する。
【００３２】
サーバ２６０は、データ保存またはデータ処理用の共有遠隔リソースを含み、ワイドエリアネットワーク２５０に接続した複数のＤＶＲからアクセス可能である。サーバ２６０は、ＤＶＲ、コンテンツプロバイダ２７０等の他のネットワークリソースに通信を提供する。一実施例において、サーバ２６０はＤＶＲおよび他のネットワークリソース間における通信を調整する役割を果たす。例えばサーバ２６０は、各ＤＶＲのネットワークアドレスおよびポート情報を含むコンテンツ配信情報を保持できる。ＤＶＲはサーバ２６０に対し、定期的および自動的にコンテンツ配信情報を報告する。これにより他のＤＶＲは、サーバ２６０にアクセスしてそのコンテンツ配信情報を受信できる。ＤＶＲ間の通信は、サーバ２６０を経由しても良く、コンテンツ配信情報を用いてピアツーピアで行っても良い。オンラインコンテンツプロバイダは、かかる情報についてサーバ２６０に問い合わせを行い、それを利用してコンテンツダウンロードを遂行する。
【００３３】
サーバ２６０は、ＤＶＲソフトウエア、ガイドデータ、サービス情報、その他データの定期的更新を提供する役割を担う。ユーザ固有イベント認識データおよびパターン認識データ、例えばユーザ履歴、サービス、キャリア、プログラム等に基づくイベント閾値やイベントパターンを更新し提供する。また、新しいイベントタイプやイベントパターンが開発されると、それらをＤＶＲに提供する。ソフトウエアおよびグラフィカルユーザインタフェースで起動するナビゲーション機能も、サーバ２６０を介して提供できる。
【００３４】
サーバ２６０は、ＤＶＲからデータを受け取り、その情報を保存して処理し、および／または更新した情報を各装置に戻す役割も担える。例えば、サーバ２６０はネットワーク上のＤＶＲから利用データを収集し、集計番組統計や機能利用情報を提供できる。この機能を使うことにより、イベントパターンデータの収集、データの分析、ＤＶＲで使用するためのパターンマッチングアルゴリズムの更新を提供できる。
【００３５】
コンテンツプロバイダ２７０は、ＤＶＲを介して番組を配信したりコンテンツを宣伝したりの各種サービスを含むことができる。例えば、多数のウエブサイトはオリジナル映像コンテンツを作成し、ＰＣでダウンロードしての鑑賞を可能にしている。このような映像コンテンツは、ＤＶＲを介して供給することもできる。帯域幅および接続性が増えるに従い、より多くの映像コンテンツがインターネット等のワイドエリアネットワーク上に供給されている。ＤＶＲはコンテンツオンデマンド配給モデルに特に適している。
【００３６】
ＤＶＲ１００のユーザは、その強化型ナビゲーション機能を使用し、極めてコマーシャルの少ない録画コンテンツを見ることが出来る。図３は、番組３００のタイムラインを示し、ＤＶＲ１００等のＤＶＲに記録される。第１タイムライン３１０は、オリジナル通りにＤＶＲ１００に保存され提示されるものである。第２タイムライン３１２は、自動コマーシャルスキップ機能を動作させた一実施例での番組３００を示す。第２タイムライン３１２は、極めて異なった視聴体験を提供するものであり、合計提示時間が短くなっている。
【００３７】
番組３００の内容は変化する性質のものである。例えば番組部とコマーシャル部がある。これら各部は、通常の上映例えばテレビ放送や録画ソースからの一般再生では、連続して表示される。映写の進行に従い、各部の遷移点に急激な変化が現れる。これら遷移は、最低でも場面変化（例えばアパートに居るホームコメディの登場人物から、スマートなセダンの新車がヘアピンカーブを曲がる自動車コマーシャルへ）を含む。もちろん、全ての場面変化が内容変化を表すものではなく、例えば番組区間内の場面変化やコマーシャル区間内の場面変化もある。番組区間とコマーシャル区間との間のほとんどの遷移は短い遷移場面、例えば黒い画面や登場人物の沈黙を含む。また番組区間とコマーシャル区間の遷移は、音量の変化や他の検出可能イベントを伴う。番組区間は一般に単一のコマーシャルと交代することはなく、複数のコマーシャルを含んだコマーシャルグループと交代する。コマーシャルグループ内の各コマーシャル間の遷移も一般に遷移場面を含み、他の検出可能イベントを含んだり含まなかったりする。番組区間とコマーシャル間の遷移は、第１タイムライン３１０において遷移３２０−３３９で示し、第２タイムラインにおいては遷移３６０−３７６で示す。各遷移は、遷移場面と他の検出可能イベントとを含む。
【００３８】
番組３００内の番組内容は、第１タイムライン３１０において番組内容３４１−３４６で示し、第２タイムライン３１２において番組内容３８１−３８６で示す。番組内容の一例は、放送テレビ番組であり、ホームコメディ、メロドラマ、映画、あるいはニュース番組である。番組内容は、ティーザ広告部、タイトルクレジット部、１以上のチャプタ部、終了クレジット部を含む。例えば番組３００は、ティーザ広告部３４１と３８１、タイトルクレジット部３４２と３８２、複数のチャプタ部３４３−３４５と３８３−３８５、および終了クレジット部３４６と３８６を含む。
【００３９】
また番組３００は、映像内に埋め込んだ多数のコマーシャルを含む。これらコマーシャルは、コマーシャルグループとして埋め込まれており、第１タイムライン３１０におけるコマーシャルグループ３５１−３５４、および第２タイムライン３１２におけるコマーシャルグループ３９１−３９４である。各コマーシャルグループは、３から４のコマーシャルで構成され、それらは対応する数の遷移で分離されている。第１タイムライン３１０が含む４つのコマーシャルグループ３５１−３５４は、放送通りに保存したコマーシャルグループである。第２タイムライン３１２は、２つの完全なコマーシャルグループ３９１と３９４しか含んでおらず、コマーシャルスキップ機能が働き、再生中に表示されるコマーシャルを実質的に削減している。
【００４０】
第２タイムライン３１２において、第１タイムライン３１０からのコマーシャルグループ３５２と３５３は、インジケータ３９２と３９３に置き換わっている。インジケータ３９２と３９３は、コマーシャルがスキップされたことを視聴者に知らせる。一実施例において、インジケータ３９２と３９３は、対応するコマーシャルグループにおける最初と最後のコマーシャルの短区間（数フレームから数秒）を含む。これらインジケータは、アイコン重畳、音声合図、または他の識別子を含み、コマーシャルスキップ機能の動作を示す。例えば１つのインジケータは、第１スキップコマーシャル開始から３秒間と、最終スキップコマーシャルの最後７秒間と、コマーシャルスキップ機能を示すアイコン重畳とを含むことができる。別のインジケータは、スキップした全コマーシャルの一部を含むか、あるいは全く含まない。別の実施例において、コマーシャルスキップ機能は、インジケータを使わずに実行しても良い。番組区間３８３，３８４，３８５は、何の干渉も無しに、あるいはコマーシャルスキップの指標無しに連続的に表示できる。
【００４１】
コマーシャルグループ３９１と３９４は、第２タイムライン３１２においてコマーシャルスキップ機能による変更無しに残っている。いくつかの実施例において、コマーシャル検出およびスキップは、番組表示の開始および終了近辺のある期間（例えば２分間）内において動作しない。これは、番組の開始または終了近辺に一般に配置される短い番組区間を誤識別することを避けるためである。例えば視聴者は、ティーザ区間３４１と３８１、タイトルクレジット区間３４２と３８２、および終了クレジット区間３４６と３８６がコマーシャルと似ているために誤ってスキップされることを望まないこともある。ユーザは、開始区間および終了区間を検出およびスキップの対象とするか否かを決定することもできる。他の実施例は、番組中の全コマーシャルをスキップする。これは、ユーザの積極的な設定、または開始区間および終了区間を安全に区別できるイベントとパターンの検出技術に基づいて行う。
【００４２】
図４は、グラフィカルインタフェース４００の一例を示し、コマーシャルスキップナビゲーションを可能にする図１のＤＶＲ１００等のシステム用である。グラフィカルインタフェース４００は、グラフィクスモジュール１２２等のグラフィクスモジュールによって作成し、付属の表示装置に出力する。この表示装置は例えばテレビ、コンピュータモニタ、携帯表示装置、あるいは他の表示装置である。
【００４３】
図示の実施例において、コンテンツガイド４００ａを表示することで、ユーザは多数の録画番組から１つの録画番組を選択できる。コンテンツガイド４００ａは、録画した番組および録画用に選択した番組の両方を表示できる。コンテンツガイド４００ａは、ヘッダ４０２と、ヘッドアップディスプレイ（ＨＵＤ）４０４と、幾つかのカテゴリリスト４０６ａ−ｅを有するカテゴリ領域と、幾つかの番組４０８ａ−ｆをリストアップしたコンテンツ領域と、装置識別領域４１０とを有する。重畳メニュー４２０は、選択したプログラム（４０８ｄ）用の再生オプション４２２と４２４を提供する。これはコマーシャルスキップトグル４２６と識別子４２８とを含む。
【００４４】
装置識別領域４１０は、ガイドを視聴している装置の名前を表示する。この装置が独立型（他の装置とネットワーク接続していない）であれば、装置識別領域４１０を省略できる。あるいはロゴ等の固定表示を提供できる。
【００４５】
ヘッダ領域４２０は、現在選択中のカテゴリを表示する。ここでは「テレビショー」である。コンテンツ領域は、選択カテゴリの利用可能な番組をリストアップする。ここでは番組４０８ａ−ｆを示している。このコンテンツ領域において、ユーザは利用可能な番組をナビゲートする。この時、従来のリモートコントロールおよびカーソル等の表示信号を使う。このカーソルは、方向コマンドに応じて移動し、自動的に下線の番組を選択するか、あるいは選択信号に応じてその選択を行う（例えばジョイスティック入力は、様々な方向コマンドを提供でき、それを押すことによって現在ハイライト表示されている領域を「選択」できる）。番組リストは、コンテンツ領域に表示可能な数を超える場合がある。最下部の番組４０８ｆを超えて下方カーソルのナビゲーションを行うと、それがカテゴリの最後でない限り、表示されていない番組が現れる。本例では、現在の番組４０８ｄ「シンプソンズ」に関する録画品質およびその他情報を表示している。
【００４６】
重畳メニュー４２０は、以前録画した番組を視聴する１つ以上の方法を表示する。これはコマーシャルスキップ機能を使うことも含む。メニュー４２０の重畳表示は、ユーザから受信する制御信号に基づいて開始できる。例えばユーザがリモートコントロールの選択ボタンを押すことに基づく。メニュー４２０は、コンテンツガイド４００ａと関連して示しているが、視聴中の録画番組と共に使用することもでき、再生を管理する他のインタフェース、あるいは他の番組ナビゲーションと共に使用することもできる。例えばシーンまたはチャプタ選択インタフェースで使用できる。再生ボタン４２２は、選択番組を視聴者が最近中断した箇所から再生する。最初から再生ボタン４２４は、視聴者が以前に中断した箇所に関係なく最初から選択番組を再生する。他の再生モードおよびメニューオプションをメニュー４２０に提供しても良い。コマーシャルスキップトグル４２６は、コマーシャルスキップ機能が有効か否かを示す。例えばコマーシャルスキップトグル４２６がマークされていれば（図示のように）、番組を再生すると選択再生モードに関係なくコマーシャルをスキップする。識別子４２８はトグル４２６の目的を示し、機能説明、商標表示、アイコン、あるいはその組み合わせを含むことができる。トグル４２６と識別子４２８により、ユーザはコマーシャルスキップ機能のオンオフをトグルできる。例えばハイライト領域（再生ボタン４２２上に示す）は、適切な制御信号を使用することで、識別子４２８に移動できる。他の制御信号、例えば選択ボタンからの制御信号は、トグル４２６をオンとオフの間でトグルさせる。他の従来インタフェースを使用し、コマーシャルスキップ機能を有効および無効にしても良い。
【００４７】
図５は、モジュール構成５００を示し、本発明に基づく改良型コマーシャルスキップ機能を実行するものである。構成５００は複数の機能モジュールを含み、これらはＤＶＲ１００等の代表的なＤＶＲに組み込まれる。この構成は、ＡＶ入力モジュール５１０と、メモリ５３０と、データ記憶部５５０とを含む。ＡＶ入力モジュール５１０はハードウエアモジュールを含み、これは受信信号からデータを受け取り、処理し、送出する。メモリ５３０はソフトウエアモジュールを含み、受け取ったデータを処理し、２次データを選択的に保存し、保存コンテンツのナビゲーションを提供する。データ記憶部５５０はコンテンツとＤＶＲ動作に使用するその他データとを格納するためのファイルを含む。メモリ５３０内のソフトウエアモジュールは、データ記憶部５５０からロードし、ＡＶ入力モジュール５１０とデータ記憶部５５０との動作を監視する。
【００４８】
ＡＶ入力モジュール５１０は外部信号を受信する。これは放送信号、他の再生装置からの信号、またはパケット化通信信号である。ＡＶ入力モジュール５１０は、受信信号のコンテンツに対応するコンテンツデータをデータ記憶部５５０へ送る。ＡＶ入力モジュール５１０は受信コンテンツデータに基づき、変換、索引付け、イベント検出、および圧縮を提供しても良い。図示の実施例において、ＡＶ入力モジュール５１０は、チューナ５１２と、Ａ／Ｄ変換器５１４と、索引付け論理５１６と、イベント検出器５１８と、圧縮エンコーダ５２０とを含む。
【００４９】
チューナ５１２は従来のチューナであり、利用可能な信号またはチャンネルのスペクトルから信号またはチャンネルを選択する。チューナは、データキャリアが単一の信号またはチャンネルからなる場合、不要である。
【００５０】
Ａ／Ｄ変換器５１４は従来のＡ／Ｄ変換器であり、アナログ信号をデジタルデータに変換する。このデジタルデータは、アナログ信号の映像およびその他内容に対応する。このデジタルデータを他の複数のモジュールにコピーし、同時処理および保存を行っても良い。例えばイベント検出や映像処理と映像データの圧縮および保存とを同時に行っても良い。他の実施例において、映像処理は変換前のアナログ信号において実行する。Ａ／Ｄ変換器５１４は、映像データをデジタルフォーマットで受信するシステムにおいては省略できる。ＡＶ入力モジュール５１０は任意数の変換モジュールを含むことができ、それによって従来の放送信号または通信信号とＤＶＲで使用するデジタルフォーマット間の変換を行う。
【００５１】
索引付け論理５１６は従来の論理であり、デジタル映像データストリームに時間索引付けを行う。例えば索引付け論理５１６は、各ＧＯＰを受信すると各ＧＯＰの到着時刻を含む固定サイズの記録を作成する。この記録はさらにコンテンツファイルの開始からのバイトオフセットと、ＧＯＰの第１フレームのバイトサイズと、ＧＯＰ内のイベントをマークするための追加フラグとを含む。このように記録した結果は、それを走査することによって所定時刻に最も近いＧＯＰを探し出し、時間索引を与える。幾つかの実施例において、あらかじめ索引付けした映像番組を含むシステムの場合、索引付け論理５１６は省略可能である。例えば、索引データはコンテンツデータと共に受信データストリームに含めることができる。
【００５２】
イベント検出器５１８は、映像データ内に１種類以上のイベントを検出する。例えばイベント検出器５１８は複数の従来検出器を含み、総映像信号または総音声信号またはそれらの一部を計算する。映像イベント検出器および音声イベント検出器の実施例の詳細は、図６に関連して後述する。いくつかの検出可能イベントは、黒フィールドや無音以外の内容に基づくことができる。例えば、イベントは映像処理に基づいて検出できる。これは特定の画像、テキスト、パターン、その他コマーシャルマーカを識別する処理である。イベント検出器５１８は検出アルゴリズムを実行し、映像データから１以上の値を抽出しても良い。抽出した値は、処理するか他の値と結合した後、送出するかインジケータ値（例えばフラグ）を増分し、他のモジュールへ送ってさらに処理する。イベント用の閾値または較正値等の値の抽出および結合は、論理チップ、例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）において実施しても良い。幾つかの実施例において、イベント検出は不要である。例えば映像番組をメタデータと共に放送する場合である。このメタデータは、映像イベント、内容遷移、その他コマーシャル検出およびスキップに有用なデータを持つ。
【００５３】
圧縮エンコーダ５２０は映像データを圧縮し、データ記憶部５５０に保存できるようにする。圧縮エンコーダ５２０は任意のシステムを含み、映像データから冗長情報および不要情報を除去する。かかる情報の除去は、映像および音声を保存および通信するための保存空間と帯域幅を低減する。圧縮エンコーダ５２０は従来の符号化論理を含むことができる。これは１以上のデータ圧縮基準であり、例えばＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ−２６１、Ｈ−２６３である。圧縮エンコーダ５２０はＡ／Ｄ変換器と連携して動作させ、アナログ映像信号から作成した映像データを圧縮することもできる。圧縮エンコーダ５２０は索引付け論理５１６と連携動作させ、時間と圧縮映像単位とを相関させることもできる。例えば、ＭＰＥＧ符号化データストリームまたはファイルはグループオブピクチャ（ＧＯＰ）ヘッダを含み、これを索引付け論理５１６によって時間ベース索引に相関させることができる。幾つかの実施例において、圧縮符号化は不要である。例えば幾つかのシステムは、適切な映像圧縮でフォーマットしたデータを放送し共有することがある。
【００５４】
メモリ５３０は実行可能ソフトウエアモジュールを含み、コマーシャルスキップ機能を管理する。メモリ５３０は１以上の従来のＲＡＭユニットを含み、バス構造を介してマイクロプロセッサと、ＡＶ入力モジュール５１０と、データ記憶部５５０とに接続する。メモリ５３０は、イベント検出、イベントグループパターン検出、イベント索引付け、イベント検出情報およびナビゲーション情報の更新、イベント索引に基づくナビゲーション機能の提供の各動作を監視できる。図示の実施例において、メモリ５３０はイベントハンドラモジュール５３２と、グループ検出器モジュール５３４と、イベントインデクサモジュール５３６と、遠隔情報モジュール５３８と、コンテンツナビゲータモジュール５４０とを含む。他の実施例において、メモリ５３０に関連して説明した１以上の機能は、ハードウエアモジュール、遠隔システム、または他のシステムリソースで実行しても良い。
【００５５】
イベントハンドラモジュール５３２は、イベント検出器５１８が検出したイベントを操作する論理を提供する。一実施例において、イベントハンドラモジュール５３２は、イベント検出器５１８が検出したイベントを記述する１以上の値を受け取る。例えばイベントハンドラモジュール５３２は、映像データストリームにおける特定フィールド、フレーム、ＧＯＰ、または時間点について、イベントフラグ、輝度値、または最大および最小音声値を受け取ることができる。イベントハンドラモジュール５３２は受け取ったデータを評価し、イベントの閾値基準に適合しているかを決定する。この閾値基準は、イベントデータおよびイベント時間に関する所定値を含むことができる。例えば、イベントハンドラモジュール５３２は輝度ヒストグラムから作成した所定閾値に対し、受信した複数の輝度値を評価する。ただしこれは、保存番組の最初と最後の２分間を除いたイベント検出ウインドウ内の場合だけに行う。検出したイベントでイベントハンドラモジュール５３２の評価基準に適合するものは、グループ検出器モジュール５３４へ送ってさらに分析する。別の方法においてあるいはグループ検出器モジュール５３４へ送ることに関連して、検出したイベントはイベントインデクサモジュール５３６へ送り、あとから分析および使用するために保存する。一実施例において、イベントハンドラモジュール５３２は、例えば輝度等の第１タイプのイベントデータを評価し、イベント検出器５１８に命令を出して第２タイプのイベントデータ、例えば最大音声を取得させる。これは、第１タイプのイベントデータが所定条件を満たした場合にのみ行う。イベントハンドラモジュールの他の例は、図６を参照して後述する。他の実施例において、イベントデータあるいは他のメタデータは、受信した映像データと共に提供しても良い。イベントハンドラモジュール５３２は、受信したイベントデータまたは他のメタデータを評価する論理を提供し、映像コンテンツにおけるコマーシャル位置に関係するイベントを選択する。
【００５６】
グループ検出器モジュール５３４はパターンマッチング論理を提供し、複数の検出イベントを評価する。グループ検出器モジュール５３４によるコマーシャルグループの検出は、コマーシャル番組に先立つ識別可能なスペーシングパターンに基づき行う。グループ検出器モジュール５３４は、イベントハンドラモジュール５３２から一連の検出イベントを受け取る。他の実施例において、グループ検出器モジュール５３４は、コンテンツナビゲータモジュール５４０から検出イベントを受け取っても良い。これは、コンテンツナビゲータモジュール５４０が再生中に索引ファイル５５６から読み出すものである。一実施例において、グループ検出器モジュール５３４は、受け取ったイベントを分析用の一時的バッファに保存できる。または、所定番組の全検出イベントをデータ記憶部５５０のファイルに保存し、そこから分析しても良い。グループ検出器モジュール５３４は、一連の検出イベントまたはその一部を論理条件に対して評価し、コマーシャルグループを識別する。例えばグループ検出器モジュールは、ある種の検出イベントの発生間隔パターンを評価する。グループ検出器モジュールの一例に関する詳細は、図８に関連して後述する。他の実施例は、映像コンテンツの性質を識別するメタデータを受信映像データと共に提供する。グループ検出器モジュール５３４は、与えられたメタデータから、映像コンテンツにおいてコマーシャルグループを特定するためのデータを選択できる。
【００５７】
イベントインデクサモジュール５３６は、イベント索引をデータ記憶部５５０に書き込むための論理を提供する。イベントインデクサモジュール５３６は、１以上の識別子とそれらに対応するファイル位置とを受け取る。例えばイベントインデクサモジュール５３６は、コマーシャルグループの開始位置を示す第１タグと、コマーシャルグループの終了位置を示す第２タグとを受け取る。他の識別子には、特定タイプのイベント（例えば黒フィールド、無音フレーム、それら両方等）に対応するものがある。イベント検出器５１８とイベントハンドラモジュール５３２は、複数タイプのイベントを検出する。イベントインデクサモジュール５３６はデータポインタを発生できる。このポインタが示すのは、タグを付ける位置の性質（例えば黒フィールド／無音フレームイベント）と、データ記憶部５５０内のコンテンツファイルにおける対応位置である。一実施例において、イベントインデクサモジュール５３６が挿入するタグは、特定のコンテンツファイルに関連する時間ベース索引ファイルに格納する。他の実施例において、イベントインデクサモジュール５３６は、別のイベント索引にタグと位置とを挿入する。幾つかの実施例において、イベントインデクサモジュール５３６は不要である。例えば、映像番組があらかじめ作成したコマーシャル索引を伴う場合である。イベントインデクサモジュールの一例の詳細は、図６を参照して後述する。
【００５８】
遠隔情報モジュール５３８は遠隔リソースへのアクセスを提供し、改良型コマーシャルスキップ機能を可能にする。遠隔情報モジュール５３８は従来のネットワーク通信プロトコルを含み、遠隔リソースとデータ交換できる。例えば遠隔情報モジュール５３８はＴＣＰ／ＩＰ、ＨＴＴＰ、ＦＴＰ、イーサネット、これらの組み合わせ、その他プロトコルを利用し、遠隔リソースまたは他の装置と通信できる。遠隔情報モジュール５３８は、１以上のネットワークアダプタ、モデム、その他通信装置と関係して動作できる。遠隔情報モジュール５３８は、更新した機能とデータをメモリ５３０およびデータ記憶部５５０内の他のモジュールに提供できる。例えば遠隔情報モジュール５３８は、更新した検出方法、閾値条件、番組論理、グループ化論理、タグ、索引データ、あるいは新しいソフトウエアモジュールを定期的にダウンロードできる。一実施例において、遠隔情報モジュール５３８は、中央サーバを定期的にチェックし、１以上の新しい更新が利用可能であるかを決定する。利用可能であるなら、更新をダウンロードし自動的にＤＶＲにインストールする。例えば、遠隔情報モジュール５３８は更新したイベント検出用閾値とグループ検出用コマーシャルグループパターンとを定期的にダウンロードできる。これら閾値およびコマーシャルグループパターンは、中央サーバにおいて更新し、コンテンツプロバイダ、放送業者、キャリア信号、および番組フォーマットにおける変更を反映できる。ダウンロードする更新は、ＤＶＲ用のより一般的なソフトウエアおよびデータ更新に関連して提供しても良い。一実施例において、遠隔情報モジュール５３８は情報を中央サーバに定期的に提供できる。例えば遠隔情報モジュール５３８は、録画コンテンツから検出したイベントおよびイベントパターンと、コンテンツ再生中における強化型ナビゲーション機能の利用とを反映する利用ログを毎日アップロードすることができる。アップロードする情報は、システムおよびユーザ情報に関するより一般的な利用ログに関連して提供しても良い。
【００５９】
コンテンツナビゲータモジュール５４０は、イベント索引データを使用する１以上のナビゲーション機能を提供する。例えば、コンテンツナビゲータモジュール５４０はコマーシャルスキップ機能を含むことができる。この機能は再生中に動作し、１）コマーシャルグループの開始を識別するイベントタグを認識し、２）そのコマーシャルグループの終了を識別し、３）第１イベントタグに対応するコンテンツファイル位置からコマーシャルグループの終了に対応するコンテンツファイル位置へデータストリームを案内する。幾つかの実施例において、コマーシャルスキップ機能は、第１索引タグが含む第２ポインタに基づいてコマーシャルグループの終了を特定するか、あるいはコマーシャルグループの終了を識別する第２索引タグまで前方走査する。幾つかの実施例において、イベントタグはコマーシャルグループの開始または終了に直接関連しなくても構わない。例えば、イベントハンドラモジュール５３２を介して検出し処理した全イベントをイベント索引に加える場合である。これら実施例において、コンテンツナビゲータモジュール５４０は、第１イベントタグとそれに続く所定期間（例えば２分間）内の複数タグを選択できる。このイベントタグのグループをグループ検出器モジュール５３４へ送り、コマーシャルグループの開始および終了を識別する。一実施例において、コンテンツナビゲータモジュール５４０は、再生中（適切なナビゲーション機能が有効の場合）、遭遇するイベントタグをグループ検出器モジュール５３４に常に一時保存する。実際の再生ストリームに先立ってイベントタグを一時保存し、コマーシャルグループの前方分析を可能にすることもできる。一実施例において、再生開始時に映像番組用の全イベントタグを一時保存し分析する。
【００６０】
コンテンツナビゲータモジュール５４０はインジケータを提供し、ユーザにコマーシャルスキップ機能がコマーシャルをスキップしたことを知らせることができる。例えばコンテンツナビゲータモジュール５４０は、スキップしたコマーシャルグループの１以上のコマーシャルの一部を再生しても良い。コンテンツナビゲータモジュール５４０はアイコン等の合図を提供し、コマーシャルスキップ機能の動作を示すことができる。例えばアイコンの重畳、音声合図、ＬＥＤ、またはその他インジケータであってＤＶＲ制御パネル、リモートコントロール、その他指示器上に表示する。コンテンツナビゲータモジュール５４０が提供する機能は、特定のユーザインタフェースおよび制御信号にマップできる。例えばコンテンツナビゲータモジュール５４０は、グラフィカルユーザインタフェースに機能動作用メニューオプションを追加できる。このメニューオプションは、従来のメニュー駆動型ＤＶＲ・ＧＵＩを介して提供しても良い。一実施例において、１以上の機能の動作は初期設定によって決定しても良い。この設定は、ユーザが適切なメニューオプションを選択することにより変更できる。コンテンツナビゲータモジュール５４０が可能にする機能の制御信号は、従来のＤＶＲ用入力装置のいずれかを介して受信できる。リモートコントロール等の入力装置からのメニューナビゲーション信号に加え、カスタムリモートコントロールボタンを含めることにより１以上の機能をトグルしても良い。幾つかの実施例においては、カスタム制御パネルボタンを含めることができる。
【００６１】
コンテンツナビゲータモジュール５４０は、コマーシャル索引を利用する様々な機能を含むことができる。例えばコンテンツナビゲータモジュール５４０は、コマーシャルだけを見る機能を提供できる。一実施例において、コンテンツナビゲータモジュール５４０は、映像番組中に第１コマーシャルグループ索引タグの位置を見つける。コンテンツナビゲータモジュール５４０は、コマーシャルグループの最後までコマーシャル内容を再生し、それから次のコマーシャルグループの最初までスキップする。前記したコマーシャルスキップ機能と同様、適切なインジケータをユーザに提供できる。コマーシャルだけ機能へのアクセスは、再生メニュー等のインタフェースと制御信号オプションとによって提供できる。コマーシャル索引を利用した追加機能も可能である。また動作中において、イベント索引ベース機能と時間索引ベース機能とを結合することも可能である。例えば、コマーシャルスキップ機能と、早送り、スローモーション、即時再生、前方スキップ、巻き戻し等とを連携させても良い。
【００６２】
データ記憶部５５０は、従来のあらゆるデジタルデータ記憶装置を含むことができる。例えばデータ記憶部５５０は、ハードドライブ、取り出し可能媒体ドライブ、ＲＡＭ、Ｍ−ＲＡＭ、光学記憶システム、その他データ記憶装置を含むことができる。一実施例において、データ記憶部５５０は、そのような装置を複数含むことができる。データ記憶部５５０はデジタルファイルシステムを使用するデータを保存し、その保存したデータへの高速不連続アクセスを可能にする。図示の実施例において、データ記憶部５５０はメタデータテーブル５５２と、少なくとも１つのコンテンツファイル５５４と、少なくとも１つの索引ファイル５５６と、ガイドデータファイル５５８とを含む。
【００６３】
メタデータテーブル５５２は、保存映像番組に関する様々な情報を提供する。メタデータテーブル５５２は、従来のデータ管理技術に基づき情報を相関レコードに構築することができる。一実施例において、メタデータテーブル５５２は、従来のリレーショナルデータベース技術に基づいた複数の相関テーブルを含むことができる。メタデータテーブル５５２は、ＤＶＲが現在保存するあるいは保存予定である番組に基づいて構成できる。例えばメタデータテーブル５５２は、録画した映像番組または録画予定の映像番組に対応する行データを含むことができる。各行データは、当該番組を説明する様々なデータ列を含むことができる。メタデータテーブル５５２は、保存内容を選択し構成するための情報を含むことができる。例えばメタデータテーブル５５２は、番組名、１以上のカテゴリ、番組説明、評価情報、映写時間、記録品質、ソース、記録日時等を含むことができる。メタデータテーブル５５２は、システムが使用する情報であって各番組にアクセスし再生するための情報を含むことができる。例えばメタデータテーブル５５２は、対応するコンテンツファイルの場所、対応する索引ファイル（時間ベース索引ファイルおよび／またはコマーシャル索引ファイル）、最後に見た位置のデータポインタ等を含むことができる。メタデータテーブル５５２の作成には、システム情報とユーザ入力情報との組み合わせを使用できる。例えば保存詳細はシステム情報から得ることができ、番組情報はガイドデータファイル５５８から得ることができ、カテゴリ情報はユーザが提供できる。
【００６４】
コンテンツファイル５５４は、保存した映像番組に対応する映像データを含む。コンテンツファイル５５４は、保存した映像番組について、画像データ、音声データ、システムおよび同期データを含む。コンテンツファイル５５４は複数のファイルを含むことができ、各ファイルは特定の保存映像番組に対応する。あるいはコンテンツファイル５５４は、複数の映像番組を格納した単一ファイルを含んでも良い。各番組の開始位置および終了位置は、索引ファイル５５６やメタデータテーブル５５２等の別索引に記録できる。
【００６５】
索引ファイル５５６は、コンテンツファイル５５４内の各位置に対応する索引データを含む。索引ファイル５５６は複数のデータポインタを含むことができ、これらはコンテンツファイル５５４内のファイル位置と、対応する番組内容についての情報とを相互に関係させる。索引ファイル５５６は、時間ベース索引データ、コマーシャル索引データ、番組開始／終了／最後に見たデータ、その他映像データ索引付けを含むことができる。索引ファイル５５６は複数のファイルを含むことができ、各ファイルは特定の保存映像番組用索引に対応する。索引ファイル５５６は、複数の保存映像番組用の複数の索引を有する単一ファイルを含んでも良い。索引ファイル５５６は、特定の索引情報を有する複数の索引ファイルタイプを含むことができる。例えば、個別の時間ベース索引およびコマーシャル索引である。索引ファイルは１以上のテーブルを含み、経過時間と、ＧＯＰと、映像コンテンツにおけるイベントを示す１以上のタグとを相関させる。一実施例において、索引ファイルは索引ファイルフォーマットを示すヘッダと、コンテンツファイル内の各ＧＯＰに対応するレコードとを含む。ＧＯＰレコードの各々は、コンテンツファイル内の対応ＧＯＰのヘッダへのバイトオフセットと、ナノ秒単位のＧＯＰ記録時刻と、これまでに記録から除外したナノ秒単位の時間と、ＧＯＰの第１フレームのバイトサイズと、後続の連続するコピー防止ＧＯＰの数と、コピー防止（例えばマクロビジョン、ＣＧＳＭＡ等）の存在を示すフラグと、ＧＯＰ内のヘッダから第１フレームまでのオフセットと、ＧＯＰ内のイベントの存在を示すフラグとを含むことができる。索引データは、索引付け論理５１６とイベントインデクサモジュール５３６とによって作成し、索引ファイル５５６に保存できる。幾つかの実施例において、索引データの全部または一部は、映像番組の放送または転送と共に受信できる。
【００６６】
ガイドデータ５５８は、ＤＶＲが利用可能な放送またはオンデマンド映像番組を記述したデータを含む。ガイドデータ５５８は、番組タイトル、時間、その他過去、現在、将来の番組に関する記述データを含むことができる。ガイドデータ５５８は、ユーザインタフェースを介してアクセスおよびナビゲーションし、鑑賞する番組および記録する番組を決定できる。番組を記録する場合、対応するガイドデータは、メタデータテーブル５５２等内のアクセス可能な場所に転送できる。一実施例において、ガイドデータ５５８は、索引ファイル５５６に保存した索引データを含み、それをコンテンツナビゲータモジュール５４０にて使用できる。
【００６７】
図６は、イベント索引を作成するシステム６００を示す。このシステム６００は、図１のＤＶＲ１００等のＤＶＲにおいて実施できる。システム６００はデジタル映像データに対し、音声および映像の所定特徴を検出し、検出した特徴が１以上のイベント条件に相関するかを決定し、索引ファイルに挿入するためのイベント索引を作成する。システム６００は複数のモジュールを含む。一実施例において、前記複数のモジュールは、コンピュータ読み取り可能記憶媒体におけるソフトウエア命令で実現する。前記複数のモジュールは、ＤＶＲ等のシステムにおいて実現することもできる。かかるシステムは適切なハードウエアを含み、それによってデジタル映像番組を受信または作成し、イベント索引を保存する。一実施例において、前記複数のモジュールは、各機能を実行するソフトウエア部品とハードウエア部品の組み合わせを含む。システム６００は、映像特徴検出器モジュール６１０と、音声特徴検出器モジュール６２０と、閾値計算器モジュール６３０と、イベントハンドラモジュール６４０と、イベントインデクサモジュール６５０とを含む。
【００６８】
映像特徴検出器モジュール６１０は、映像フレームまたはフィールド（標準放送映像フレームは偶数および奇数走査線用の２フィールドを含む）の所定部の合計輝度を決定する。映像特徴検出器モジュール６１０は、ウインドウ定義モジュール６１２と、ピクセルカウンタモジュール６１４と、フレーム割り込みモジュール６１６とを含む。
【００６９】
ウインドウ定義モジュール６１２は、ピクセル輝度を集計するフレーム部分を定義する。例えば、ウインドウ定義モジュールは、前記サンプリングウインドウがライン２４とライン４４８との間のラインを含むように定義できる。１フレームのある部分は、例えば局識別アイコン等の非黒重畳を常に含むため、このような不整合を避けるようにサンプリングウインドウを定義できる。また、信号によっては縁部変形や不整合を含むことがある。これらは、フレームの縁部にサンプリングウインドウを移動させないようにすれば簡単に避けられる。幾つかの実施例において、ウインドウ定義モジュール６１２は、更新またはカスタマイズすることにより、黒画面提示における番組、放送業者、またはキャリアに固有の変化に対応できる。
【００７０】
ピクセルカウンタモジュール６１４は、定義したウインドウ内における各ピクセルのエネルギレベルを集計する。ピクセルカウンタモジュール６１４は、各ピクセルの輝度（ｙ成分）データを抽出し、分析用フレームの全体について加算する。ピクセルカウンタモジュール６１４は、フレームの絶対合計エネルギを計算するか、サンプルしたピクセルの数で除算することによりフレームの平均輝度を計算できる。
【００７１】
フレーム割り込みモジュール６１６は、特定フレームの定義ウインドウについてピクセルデータの最後に到達した時を決定する。その最後に到達したら、フレーム割り込みモジュール６１６は、そのフレームの輝度合計をイベントハンドラモジュール６４０へ送る。フレーム割り込みモジュール６１６は、送ったフレームデータの位置を特定するためのＧＯＰまたは時間識別子を送ることができる。フレーム割り込みモジュール６１６は、ピクセルカウンタの合計輝度値をゼロにし、次フレームのピクセルデータへの準備を行う。一実施例において、映像特徴検出器モジュール６１０の機能はＦＰＧＡによって実現する。
【００７２】
音声特徴検出器モジュール６２０は、選択した映像フレームに近接した音声「フレーム」内の無音を走査する。例えばイベントハンドラモジュール６４０が黒と識別したフレームの近くを走査する。音声特徴検出器モジュール６２０は、チャンネルセレクタモジュール６２２と、最小値識別部６２４と、最大値識別部６２６とを含む。
【００７３】
チャンネルセレクタモジュール６２２は、複数チャンネル音声データストリームの１以上のチャンネルを選択し、その中において値を識別する。例えばチャンネルセレクタモジュールは、左右音声チャンネルからデータをサンプルできる。選択したチャンネルは、選択した音声フレーム周囲にある所定数の音声フレームについて走査する。各音声フレームおよび各チャンネルについて、最小値識別部６２４は最小ピーク値を追跡し、最大値識別部６２６は最大値を追跡する。最小値識別部６２４と最大値識別部６２６とは、サンプル中のＤＣオフセットを補償できる。対応する最小ピーク値と最大ピーク値のセットはデータハンドラ６４０へ送り、無音閾値との適合性を決定する。一実施例において、音声特徴検出器モジュール６２０の機能は、ソフトウエアモジュールによって実現する。これは、各垂直ブランキング割り込みにおいて、音声を表す入りＰＣＭデータを走査し、７つの黒フレーム内に無音期間を検出したら無音イベントを報告する。
【００７４】
閾値計算器モジュール６３０は、黒フィールド検出用の輝度閾値を決定する。閾値計算器モジュール６３０は動的に輝度閾値を発生する。これは多数の映像フレームからの集計データに基づいて行う。例えば閾値計算器モジュール６３０は、１以上の映像番組のフレームからの輝度データを使用し、輝度閾値を決定する。一実施例において、特定の番組、放送業者、キャリアについて輝度データを集計し、黒フィールド検出用のカスタム輝度閾値を提供する。一実施例において、録画番組用の輝度データを集計し、その番組用の輝度閾値を提供する。閾値計算器モジュール６３０は、輝度区分モジュール６３２と閾値識別モジュール６３４とを含む。
【００７５】
輝度区分モジュール６３２は、複数の映像フレームについて輝度データを集計する。輝度区分モジュール６３２は、複数の輝度帯を定義する。各映像フレームは、その合計輝度に基づき、１つの輝度帯に割り当てる。多数のフレーム（例えば２０，０００＋）をサンプリングすることにより、輝度区分モジュール６３２は、輝度ヒストグラムを構築できる。輝度ヒストグラムの一例７００を図７に示す。輝度ヒストグラム例７００において、ｘ軸７１０は６４の輝度帯を含み、それらの中にフレームをグループ化する。６４の輝度帯は、輝度値の連続範囲を定義し、各サンプルしたフレームをそこに割り当てる。ｙ軸７２０は、輝度帯に入るフレームの数である。一実施例において、輝度区分モジュール６３２は、１つの映像提示についての輝度データを集計し、その映像提示についての輝度ヒストグラムを作成する。１つの映像提示を記録する際、輝度区分モジュールは、映像特徴検出器モジュール６１０から各フレームについて１つの輝度値を受け取ることができる。各フレームの輝度値を使い、適切な輝度帯のフレームカウンタを増分できる。幾つかの別実施例は、各種のサンプリングレート（例えばフィールド毎、Ｘフレーム毎、ランダムに選択したフレーム等）、ヒストグラム構築タイミング（例えば記録後、再生中等）、バンド数、サンプリング期間（例えば時間ベース、複数の提示等）を含むことができる。
【００７６】
閾値識別モジュール６３４は、輝度ヒストグラムを使用する。これは輝度区分モジュール６３２が構築したものであり、黒フィールド検出用の輝度閾値を決定する。輝度ヒストグラム例７００の大きなピーク７３０は、番組内容およびコマーシャルの大部分におけるフレーム輝度を表している。より小さなピーク７４０は、黒フィールドの大部分におけるフレーム輝度を表しており、番組内容およびコマーシャルの遷移を示している。大きなピーク７３０と小さなピーク７４０との間に、輝度帯１６に対応する欠損７５０がある。前記輝度閾値は、この輝度ヒストグラムの欠損７５０に対応する値（輝度帯１６）として決定できる。欠損７５０の位置は、黒フィールドの品質、信号品質、その他要素によって変化する。これら要素は、システム毎、および番組毎に異なる。欠損７５０は、輝度ヒストグラムにおける傾斜を計算することによって位置を特定できる。一実施例において、各著しく異なる輝度レベルとそれが発生した連続するフレームの数とを記録する。検出した輝度レベルが、ある基準輝度レベルに合う場合、直前の輝度記録を探し、より高い輝度に続く最低輝度を見つけ、その値をその曲線の最低として記録する。引き続き以前の輝度値を探索し、さらに低い輝度値を探す。それが見つかったら、曲線上の高い点間のフレーム数を加算し、その合計と現在のフレームレートにおいて合計４秒間となるフレーム数とを比較する。その曲線のつらなりが４秒間よりも短かく、その曲線上の最低点が黒用の最大適正閾値より低ければ、その曲線を欠損として分類し、その低い値を新しい閾値候補として評価する。その低い値を新しい閾値候補として評価するため、その低い値を最近の低い値のリストに記録し、そのリストの平均と比較する。そして当該リストからの所定差よりも大きい全てのリスト要素を平均する。この第２平均の成分は前記第１平均からのものであるため、前記新しい低い値が前記第２平均からの同じ差内にあれば、その新しい低い値は、新しい閾値となる。この計算が終わると、当該輝度閾値はイベントハンドラモジュール６４０へ送る。
【００７７】
イベントハンドラモジュール６４０は、映像特徴検出器モジュール６１０と音声特徴検出器モジュール６２０とが検出した映像および音声特徴を評価し、イベントをイベント索引に記録すべきかを決定する。イベントハンドラモジュール６４０は、黒フィールド条件モジュール６４２と、無音条件モジュール６４４と、番組論理モジュール６４６と、積極性設定モジュール６４８とを含む。
【００７８】
黒フィールド条件モジュール６４２は、黒フィールドを識別するための閾値輝度に対し、特定フレームの輝度データを評価するための論理を提供する。黒フィールド条件モジュール６４２は、閾値計算器モジュール６３０から閾値輝度を受け取る。映像特徴検出器モジュール６１０がフレーム割り込みを発生すると、黒フィールド条件モジュール６４２は輝度値を受け取り、それと閾値輝度とを比較する。閾値輝度以下の輝度値は黒フィールドを示しており、イベントハンドラモジュール６４０は音声特徴検出器モジュール６２０から音声データを受け取る。輝度値の許容値は、積極性設定モジュール６４８からの情報に基づき調整できる。
【００７９】
無音条件モジュール６４４は、特定の音声フィールドの最小および最大音声値を評価し無音を識別するための論理を提供する。無音条件モジュール６４４は、音声特徴検出器モジュール６２０から最小および最大音声値を受け取る。無音条件モジュール６４４は、最大値と最小値との差を計算する。その差を最大値で除算し、許容無音閾値内かを決定する。例えば許容無音閾値は、前記差が最大値の１．１−１．６％よりも少ないことであるとする。正確な閾値は、積極性設定モジュール６４８が決定できる。黒フィールド閾値条件と無音閾値条件との両方に適合するフレームは、イベントとして識別し、イベントインデクサモジュール６５０に報告する。
【００８０】
番組論理モジュール６４６は、黒フィールド条件モジュール６４２と無音条件モジュール６４４とによる特徴の受信および評価を調整する。一実施例において、番組論理モジュール６４６は、評価中の映像番組を識別し、コンテンツファイル内の位置を追跡する。その位置は、映像特徴検出器モジュール６１０と音声特徴検出器モジュール６２０とが評価を行っている位置である。番組論理モジュール６４６は、両条件が満たされるべきかを決定し、フレームをイベントとして分類すべき許容値を決定できる。複数タイプのイベントが可能である場合、番組論理モジュール６４６はイベントを分類する基準を含むことができる。番組論理モジュール６４６は、追加のパラメータを含むことにより、黒フィールドと無音条件とに適合するフレームをイベントとして扱うべきかを選択できる。例えば番組論理モジュール６４６は、映像番組における経過時間を追跡し、映像番組の開始および終了近辺のある時間以内（例えば２分以内）の全フレームを対象外とする。番組論理モジュール６４６は、検出したイベントの位置およびタイプをイベントインデクサモジュール６５０に報告できる。
【００８１】
積極性設定モジュール６４８は、映像特徴検出器モジュール６１０と音声特徴検出器モジュール６２０とから受け取った値の許容値を調整する。黒フィールド条件モジュール６４２と無音条件モジュール６４４とが定義する閾値は近似に過ぎないため、積極性設定モジュール６４８は、条件が適合するか否かを決定するために使用する実際の閾値を決定する。例えば、発生した閾値が低過ぎれば、幾つかの無音黒場面はイベントとしてマークされないであろう（偽の否定）。しかしながらこれは、信号品質によっておよび暗く静かな番組によって偽の肯定が発生し、番組内容がナビゲーション機能によってスキップされてしまうことより、ましである。一実施例において、積極性設定モジュール６４８が使用するアルゴリズムは、輝度閾値と無音閾値への組み合わせ近似に重みを付ける。一実施例において、積極性設定モジュール６４８はユーザ制御可能である。これは、コンテンツ品質および信号品質と偽の肯定／否定の許容リスクとに対するユーザの評価に応じて行う。
【００８２】
イベントインデクサモジュール６５０は、イベントハンドラモジュール６４０が識別したイベントに応じてイベント索引を作成する。例えばイベントインデクサモジュール６５０は、時間ベース索引ファイル内にイベントタグを挿入し、そのイベントと映像データファイル内の特定位置とを相関させるデータポインタを提供する。またはイベントインデクサモジュール６５０は、別のイベント索引を作成できる。これは、イベントタグのテーブルと、それに対応するファイル位置とを含む。イベントインデクサモジュール６５０は、コンテンツファイル位置モジュール６５２とタイプ識別モジュール６５４とを含む。
【００８３】
コンテンツファイル位置モジュール６５２は、ファイル位置に対応するデータ、例えばＧＯＰや時間参照を受け取る。コンテンツファイル位置モジュール６５２は、既存索引内の正しい位置にイベントタグを確実に挿入する。あるいは新しい位置に対して適切な索引を確実に入力する。
【００８４】
タイプ識別モジュール６５４は、イベントタイプに対応するデータを受け取る。イベントタイプは、例えば黒フィールド／無音イベント、コマーシャルグループ開始イベント、コマーシャルグループ終了イベント、その他イベントを含む。タイプ識別モジュール６５４は、イベントタグを確実に識別して索引ファイルに挿入する。イベントハンドラモジュール６４０が単一タイプのイベントだけを扱う場合、タイプ識別モジュール６５４は、イベントタグが１つのイベントタグとして指定されるようにし、時間索引データポインタ、番組開始データポインタ、番組終了データポインタ、その他データポインタと混同されないようにする。一実施例において、イベントタグは既存のファイル位置データに追加する。例えば、既存の時間索引データポインタに追加し、その既存データをイベントデータポインタとして区別する。結果としてのイベントデータポインタは、コンテンツナビゲータによって使用し、強化型ナビゲーションオプションを提供する。例えばコマーシャルスキップ機能は、黒フィールド／無音イベントデータポインタの再生分析に基づき、コマーシャルスキップを提供できる。
【００８５】
図８は、イベント索引に基づいて映像提示内容をナビゲーションするためのシステム８００を示す。このシステム８００は、図１のＤＶＲ１００等のＤＶＲに実現できる。システム８００は、デジタル映像データおよびイベント索引と関連して動作する。システム８００は、イベント索引中のイベントパターンに基づいて内容遷移を識別し、その内容遷移に基づいて１以上のナビゲーションオプションを提供する。例えば、システム８００は番組内容とコマーシャルまたはコマーシャルグループ間の遷移を識別し、そのコマーシャルまたはコマーシャルグループを再生中に自動スキップする機能を提供する。システム８００は、複数のモジュールを含む。一実施例において、それら複数のモジュールは、コンピュータ読み取り可能記憶媒体上のソフトウエア命令において実現する。前記複数のモジュールは、ＤＶＲ等のシステムにおいて実行する。かかるシステムは適切なハードウエアを含み、デジタル映像番組とイベント索引とを受信または発生する。他の実施例において、前記複数のモジュールは、ソフトウエア要素とハードウエア要素の組み合わせを含んで各機能を実現する。システム８００は、コンテンツナビゲータモジュール８１０とグループ検出器モジュール８２０とを含む。
【００８６】
コンテンツナビゲータモジュール８１０が提供する論理は、イベント索引を使用して、対応するコンテンツファイルをナビゲーションする。このファイルは、１以上の映像番組についての映像データを含む。例えば、各映像番組はその内容に１以上のコマーシャルを含んでいる。イベント索引は、番組内容とコマーシャルの遷移に対応するデータポインタを含む。コンテンツナビゲータモジュール８１０は、イベント索引を利用する１以上のナビゲーション機能を提供する。例えばコンテンツナビゲータモジュール８１０は、コマーシャルスキップ機能、コマーシャルだけ機能、その他機能を提供できる。コンテンツナビゲータモジュール８１０は、グループ検出器モジュール８２０によって支援可能である。これは、イベント索引中のパターンを検出し、イベントで分離されたコンテンツタイプ（例えば番組またはコマーシャル）を特定する。コンテンツナビゲータモジュール８１０は、索引読み出しモジュール８１２と、ナビゲーション機能モジュール８１４と、機能インジケータモジュール８１６と、制御インタフェースモジュール８１８とを含む。
【００８７】
索引読み出しモジュール８１２は、イベント索引からイベントデータを選択的に読み出す。このイベントデータはイベントタグを含む。イベントタグは、そのイベントに対応するファイル位置へのデータポインタを含む。イベントタグはさらに、イベントタイプを識別するためのイベント識別子を含む。索引読み出しモジュール８１２は、イベントタグの特別なタイプを識別できる。これは、コンテンツナビゲータモジュール８１０が提供するナビゲーション機能に関係したものである。例えば、提供する機能がコマーシャルナビゲーションを含む場合、索引読み出しモジュール８１２は黒フィールド／無音イベント用のイベントタグを選択し、それを使って番組内容とコマーシャルとを分離する。索引読み出しモジュール８１２は、イベント索引からイベントデータを取り出す。これは、コマーシャルスキップ機能を有効にした再生等、機能の開始に合わせて行う。取り出したイベントデータは、追加の処理を行ってから、ナビゲーション機能に使用する。この場合、追加の処理は、グループ検出器モジュール８２０等の他のモジュールが提供する。索引読み出しモジュール８１２は、取り出したイベントデータを他のモジュールへ送り、そのモジュールから処理済みイベントデータを受け取り、その処理済みデータをナビゲーション機能モジュール８１４へ送る。
【００８８】
ナビゲーション機能モジュール８１４は、イベントデータに基づいて１以上のナビゲーション機能を提供するための論理を含む。例えばナビゲーション機能モジュール８１４は、コマーシャルスキップ機能の論理を提供できる。ナビゲーション機能モジュール８１４は、索引読み出しモジュール８１２からイベントデータを受け取る。例えば、コマーシャルグループの開始および終了に対応する処理済みイベントデータポインタを受け取る。再生中、ナビゲーション機能モジュール８１４は、映像データストリームを監視し、コマーシャルグループ開始位置を特定する。その位置に到達すると、ナビゲーション機能モジュールは、機能インジケータモジュール８１６を呼び出し、ユーザにコマーシャルスキップを知らせる。次にナビゲーション機能モジュール８１４は、再生ストリームをコマーシャルグループ終了へ導き、通常再生を再開する。一実施例において、ナビゲーション機能モジュール８１４は、機能識別子を有するコマーシャルグループ開始前の番組映像ストリームと、そのコマーシャルグループ終了後の番組映像ストリームとを連続させる。ナビゲーション機能の開始、中断、その他制御は、制御インタフェースモジュール８１８内に定義した制御信号を使用して行う。
【００８９】
機能インジケータモジュール８１６は、機能が動作していることをユーザに知らせるための機能インジケータを提供する。機能インジケータモジュール８１６は状態インジケータを含むことができる。これは例えばＬＥＤや他の表示であり、ＤＶＲ制御パネルやリモートコントロール上にある。他の状態インジケータとしては、オンスクリーングラフィック重畳がある。これは例えばアイコン重畳、「コントロールパネル」ポップアップメニューにおける有効機能リスト等である。機能インジケータモジュール８１６は、１以上の動作インジケータを含むことができ、ナビゲーション機能によって特定の動作が行われていることをユーザに知らせることができる。例えばコマーシャルグループがスキップされていることを知らせる。例えば機能インジケータモジュール８１６は、実際の動作中において、状態インジケータに似たインジケータや状態インジケータの変更形態（例えば点滅するＬＥＤ）を提供できる。一実施例において、カスタムインジケータアルゴリズムにより、動作中におけるインジケータを作成できる。例えば、機能インジケータモジュール８１６は、特定のコマーシャルグループがスキップされる時にカスタムインジケータを発生できる。インジケータアルゴリズムの一例は、コマーシャルグループの第１コマーシャルの一部（例えば３−５秒）をサンプルし、コマーシャルグループの最終コマーシャルの一部（例えば５−１０秒）をサンプルし、その２つを連続させ、それらにアイコンを重畳させる。その結果としてのインジケータは、各コマーシャルグループ毎に異なり、動作と内容がスキップされることとをユーザに知らせる。別のアルゴリズムは、コマーシャルグループ内の各コマーシャルの一部を連続させ、連続させた部分の長さを変化させ、あるいはグラフィック重畳を介して追加情報（例えばスキップしたコマーシャルの長さおよび数）を提供する。機能インジケータモジュール８１６はインジケータを提供するに当たり、ナビゲーション機能モジュール８１４によるナビゲーション機能の実行と協働する。
【００９０】
制御インタフェースモジュール８１８は、ナビゲーション機能モジュール８１４の動作とＤＶＲの一般動作との間にインタフェースを提供する。制御インタフェースモジュール８１８は、ナビゲーション機能の開始、実行、および／または終了とＤＶＲ動作とを相関させる。制御インタフェースモジュール８１８は、他のＤＶＲ機能とナビゲーション機能との間の互換性を定義する。制御インタフェースモジュール８１８は、ナビゲーション機能に関する開始イベント、モード信号、制御信号を定義する。一実施例において、制御インタフェースモジュール８１８は、ナビゲーション機能の始動を管理する１以上の変数を定義することができる。これは、ＤＶＲが特定の状態、例えば再生モード、再生メニューモード、ライブ鑑賞モード、番組ガイドメニューモード等にある場合に行う。例えば、コマーシャルスキップ機能は、再生中に稼働または非稼働にできる。制御インタフェースモジュール８１８は、コマーシャルスキップ機能を稼働モードと非稼働モードとの間でトグルするための１以上の制御信号を定義できる。これは例えばリモートコントロールのボタン（およびそこからの対応する制御信号）に関連して定義する。コマーシャルスキップ機能は、メニューモードにおいて非稼働である。しかしながらユーザは、次に鑑賞する番組をコマーシャルスキップ稼働モードで開始するか、非稼働モードで開始するかを選択したい場合がある。制御インタフェースモジュール８１８は、メニューシステムを介して汎用初期設定を提供し、再生開始において（例えば再生ボタンを押した時）コマーシャルスキップ機能が稼働であるか非稼働であるかを定義できる。制御インタフェースモジュール８１８はメニューオプションを提供し、再生メニューから再生が選択された時、コマーシャルスキップ機能を稼働にするか否かを選択できるようにすることも可能である。制御インタフェースモジュール８１８は、ライブ鑑賞モードまたは遅延鑑賞モード（再生の一形式）であって、イベントをバッファし処理しコマーシャルグループを識別する十分な時間がない（例えば２分以下の時間遅延）場合は、常にコマーシャルスキップを非稼働にするよう定義できる。制御インタフェースモジュール８１８は、ナビゲーション機能と同一モードで稼働する他のナビゲーション機能との互換性を定義できる。他のナビゲーション機能とは、再生モード中の即時再生、スローモーション、早送り、前方スキップ、および反転である。他のナビゲーション機能にも、動作モードおよび制御信号に対する関係を定義できる。制御インタフェースモジュール８１８は、グラフィカルユーザインタフェースを介して制御信号を提示するための合図、グラフィクス、および論理構造を含むことができる。
【００９１】
グループ検出器モジュール８２０は、ナビゲーション機能において、イベント索引の作成とイベントデータの利用との間に、イベント処理の追加レイヤを提供する。グループ検出器モジュール８２０は、一連のイベントを分析し、イベントパターン認識を使うことにより、イベントによって分離されている内容をコマーシャル内容または番組内容として識別する。他の実施例において、グループ検出器モジュール８２０は、各種イベントタイプを処理し、より複雑な識別方法に基づき内容部分を分類する。例えば、映像処理またはメタデータを使用し、内容に関するより詳細な情報を抽出し、各番組区間、コマーシャルタイプ、ニュース区間等を分類できる。図示の実施例において、グループ検出器モジュール８２０は、イベントバッファモジュール８２２と、間隔計算モジュール８２４と、グループ化論理モジュール８２６と、イベントタイプ論理８２８とを含む。
【００９２】
イベントバッファモジュール８２２は、イベント索引からイベントを受け取って集計する。一実施例において、イベントバッファ８２２は、コンテンツナビゲータモジュール８１０が索引ファイルから読み出した選択イベントを受け取る。イベントバッファモジュール８２２は、複数のイベントを分析用に保存する。一実施例において、イベントバッファモジュール８２２は、設定時間、例えば２分間イベントデータを一時保存する。例えばイベントバッファモジュール８２２は、２分間リングバッファを含むことができる。他の実施例において、イベントバッファモジュール８２２は、映像番組の全期間にわたりイベントデータを一時保存する。さらに他の実施例において、イベントバッファモジュール８２２は所定数のイベントを保存する。この時、最も早く保存したイベントデータは、イベントスタックから押し出され、新しいイベント用のスペースを作る。グループ検出器モジュール８２０内の他のモジュールは、イベントバッファモジュール８２２が保存したデータを分析する。
【００９３】
間隔計算モジュール８２４は、隣接イベント間の間隔を計算する。間隔計算モジュールは、イベントバッファモジュール８２２内に隣接イベントの位置を探し、両者間の経過時間を計算する。計算した経過時間は、グループ化論理モジュール８２６へ送ってさらに処理する。他の実施例において、間隔計算モジュール８２４は、各イベントが一時保存される時にイベント間の間隔を計算する（イベントバッファモジュール８２２は２イベント以上を保持する必要がない）。計算した間隔は間隔バッファに追加し、グループ化論理モジュール８２６がさらに処理する。
【００９４】
グループ化論理モジュール８２６は、一連のイベントに基づきコマーシャルグループを識別するための論理を提供する。一実施例において、グループ化論理は、コマーシャル長さ間隔を選択するための条件とコマーシャルグループ用の最低条件とを含む。例えば、コマーシャル長さ間隔は、０−３５秒、３８−４０秒、４３−４７秒、５６−６０．５秒の間隔を含むことができる。コマーシャルグループ用の最低条件は、少なくとも２つの隣接コマーシャル長さがあること、グループの合計時間は少なくとも５９秒であることを含む。別のグループ化論理は、番組間隔（例えば＞１２０秒）の識別、番組提示内のコマーシャル間隔（例えば１番組に１２分間）の位置の識別を含む。さらに複雑なグループ化論理を使用しても良い。これは、複数のイベントタイプを評価する場合である。コマーシャルグループを識別したら、そのコマーシャルグループ内のイベントをイベントタイプ論理８２８へ送り、そのイベントをさらに分類し、コンテンツナビゲータモジュール８１０が使用できるようにする。
【００９５】
イベントタイプ論理８２８は、識別したコマーシャルグループ近辺のイベントを分類する。コンテンツナビゲータモジュール８１０は、特定タイプのイベントを識別する能力および映像データにおいてそれがどこに現れるかを識別する能力に基づいて動作する。例えば、コマーシャルスキップ機能は、コマーシャルグループの開始および終了を識別することに依存する。別のコマーシャル機能は、隣接コマーシャルの開始を識別することに依存する。他の機能は、他の要件を有する。一実施例において、イベントタイプ論理８２８は、コマーシャルグループに先立つイベント（コマーシャルグループ開始）と、コマーシャルグループに続くイベント（コマーシャルグループ終了）とを識別する。一実施例において、イベントタイプ論理８２８は、コマーシャルグループ内のコマーシャル間のイベントを識別する。識別したイベントにはタグを付け、コンテンツナビゲータモジュール８１０が使用できるようにする。あるいはコンテンツナビゲータモジュール８１０へ送る。一実施例において、イベントに識別子を割り当て、複数のナビゲーション機能でそれを利用する。
【００９６】
他の実施例において、グループ検出器モジュール８２０は、図６のイベントハンドラモジュール６４０等のイベントハンドラと関連して動作する。イベントグループを検出し、イベントを識別し、イベント索引に追加する。例えば、イベントハンドラが検出したイベントは、グループ検出器モジュール８２０に一時保存し、グループ検出器モジュール８２０は、選択したイベントを識別し、適切なタグをイベントインデクサモジュールへ送り、イベント索引に保存する。この別実施例において、グループ検出器モジュール８２０は、前記とは別の方法で動作する。
【００９７】
図９は、イベント索引を発生する方法９００を示す。方法９００を実行する場合、図１−８に関連して説明した各システムの一実施例を使用する。方法９００の各ステップの詳細は、前記各システムの説明を参照できる。ステップ９１０において、映像信号を受け取る。例えば、映像信号はＤＶＲが放送ソースから受け取ることができる。ステップ９２０において、その映像信号からイベントを検出する。例えば、黒フィールドおよび無音フレームイベントを映像信号から検出する。ステップ９３０において、検出したイベントに対応するイベントタグをイベント索引に保存する。例えば、検出した黒フィールドおよび無音フレームに関する位置情報をイベント索引に保存し、後からそれをナビゲーション機能において使用できるようにする。
【００９８】
図１０は、イベント索引を使ってコンテンツナビゲーションを提供する方法１０００を示す。方法１０００は、図１−８に関連して説明した各システムの一実施例を使用して実行する。方法１０００の各ステップの詳細は、前記各システムの説明を参照できる。方法１０００は、方法９００を使って作成したイベント索引に関連して実行できる。ステップ１０１０において、ナビゲーション機能を開始する。例えば、コマーシャルスキップ機能をオンにした再生をＤＶＲで開始する。ステップ１０２０において、イベント索引を読み出す。例えばＤＶＲは、再生しようとする番組に対応する索引ファイルをあらかじめ走査し、イベントタグを見つける。ステップ１０３０において、イベント索引からのイベントをイベントバッファに一時保存する。例えばＤＶＲは、現在の再生位置から映像番組の２分間前方のイベントを一時保存できる。ステップ１０４０において、一連の一時保存イベントからイベントグループを検出する。例えばコマーシャルグループに対応するイベントを識別する。これは一時保存したイベント間の間隔パターンに基づいて行う。ステップ１０５０において、イベントグループ内の位置に基づき、１以上のイベントを識別する。例えばコマーシャルグループの開始および終了に対応するイベントを識別する。ステップ１０６０において、識別したイベントに基づくナビゲーション機能を実行する。例えばＤＶＲは、コマーシャルグループの開始に対応するイベントの位置から、そのコマーシャルグループの終了に対応するイベントの位置までスキップすることにより、そのコマーシャルグループをスキップする。
【００９９】
図１１は、イベント索引を作成する方法１１００を示す。方法１１００は、図１−８に関連して説明した各システムの一実施例を使用して実行する。方法１１００の各ステップの詳細は、前記各システムの説明を参照できる。ステップ１１１０において、映像信号を受け取る。例えばその映像信号はＤＶＲが放送ソースから受け取ることができる。ステップ１１２０において、その映像信号からイベントを検出する。例えば黒フィールドおよび無音フレームイベントを映像信号から検出できる。ステップ１１３０において、検出したイベントをイベントバッファに一時保存する。例えばＤＶＲは映像番組時間の２分間に対応する検出黒フィールドおよび無音フレームイベントを一時保存できる。ステップ１１４０において、一連の一時保存イベントからイベントグループを検出する。例えば一時保存イベント間の間隔パターンに基づき、コマーシャルグループに対応するイベントを検出できる。ステップ１１５０において、イベントグループ内の位置に基づき、１以上のイベントを検出する。例えばコマーシャルグループの開始および終了に対応するイベントを識別できる。ステップ１１６０において、検出したイベントに対応するイベントタグをイベント索引に保存する。例えば識別したコマーシャルグループの開始および終了イベントに関する位置情報をイベント索引に保存し、ナビゲーション機能において後から使用する。
【０１００】
図１２は、イベント索引を使ってコンテンツナビゲーションを提供する方法１２００を示す。方法１２００は、図１−８に関連して説明した各システムの一実施例を使用して実行する。方法１２００の各ステップの詳細は、前記各システムの説明を参照できる。方法１２００は、方法１１００を使って発生したイベント索引との関連で実行できる。ステップ１２１０において、ナビゲーション機能を開始する。例えばコマーシャルスキップ機能をオンにした再生をＤＶＲで開始する。ステップ１２２０において、イベント索引を読み出す。例えばＤＶＲは、再生しようとする番組に対応する索引ファイルをあらかじめ走査し、コマーシャルグループの開始と終了に対応するイベントタグを見つける。ステップ１２３０において、識別したイベントに基づくナビゲーション機能を実行する。例えばＤＶＲは、コマーシャルグループの開始に対応するイベントの位置から、そのコマーシャルグループの終了に対応するイベントの位置までスキップすることにより、そのコマーシャルグループをスキップする。
【０１０１】
図１３は、黒フィールド検出閾値を決定する方法１３００を示す。方法１３００は、図１−８に関連して説明した各システムの一実施例を使用して実行する。方法１３００の各ステップの詳細は、前記システムに関する図６の説明を参照できる。ステップ１３１０において、複数の輝度帯を定義する。例えば、完全な明から完全な暗までの映像フレーム輝度を６４の等間隔帯に分割する。ステップ１３２０において、検出ウインドウを定義する。例えばその検出ウインドウは、放送業者ロゴや透かしに一般的に使用される領域を除く全映像フレームを含んで定義できる。ステップ１３３０において、選択した映像フレームの検出ウインドウ内における全ピクセルの輝度成分を合計する。例えば各ピクセルの輝度成分を順次加算し、合計輝度値を計算する。ステップ１３４０において、そのフレームを輝度ヒストグラムに追加する。例えばステップ１３３０にて計算した合計輝度は第２３輝度帯に入るとする。その場合、その輝度帯内のフレーム数を１だけ増分する。ステップ１３５０において、別のフレームを処理用に選択し、ステップ１３３０に戻る。例えば映像番組内の次のフレームを分析用に選択できる。ステップ１３６０において、黒フィールドと通常映像内容との間の閾値帯を識別する。例えば番組内容に対応する第１ピークと黒フィールドに対応する第２ピーク間の輝度帯を識別する。ステップ１３７０において、識別した閾値帯に基づき、閾値を計算する。例えば識別した帯の高い値、低い値、または中間の値に閾値を設定できる。
【０１０２】
図１４は、映像データストリーム内に映像イベントを検出する方法１４００を示す。方法１４００は、図１−８に関連して説明した各システムの一実施例を使用して実行する。方法１４００の各ステップの詳細は、前記システムの図６に関連した説明を参照できる。ステップ１４１０において、検出ウインドウを定義する。例えばＤＶＲは、放送業者ロゴや透かしに一般的に使用される領域を除く全映像フレームを含んで検出ウインドウを定義できる。ステップ１４２０において、選択した映像フレームの検出ウインドウ内における全ピクセルの輝度成分を合計する。例えばＤＶＲは各ピクセルの輝度成分を順次加算し、合計輝度値を計算する。ステップ１４３０において、フレーム割り込みを発生する。例えばＤＶＲは現在フレーム用の映像データの最後に到達し、合計輝度値を次の計算に使う準備をする。ステップ１４４０において、合計輝度と輝度閾値とを比較する。例えばＤＶＲはフレームの合計輝度と、図１３の方法１３００を使って計算した輝度閾値とを比較する。合計輝度が輝度閾値より小さければ、黒フィールドイベントを検出する。ステップ１４５０において、そのフレームに関する無音検出をオプションで開始する。例えばＤＶＲは、処理済み映像フレームに対応する音声データに対し、音声イベント検出方法を開始できる。
【０１０３】
図１５は、映像データストリームにおける音声イベントを検出する方法１５００を示す。方法１５００は、図１−８に関連して説明した各システムの一実施例を使用して実行する。方法１５００の各ステップの詳細は、前記システムの図６に関連した説明を参照できる。ステップ１５１０において、音声チャンネルを選択する。例えばＤＶＲは、特定映像フレームに関連する複数チャンネル音声トラックから左音声チャンネルを選択できる。ステップ１５２０において、音声に関する最小値および最大値を決定する。例えばＤＶＲは音声チャンネルの周波数を走査し、最大値および最小値を探す。ステップ１５３０において、最大値と最小値間の百分率差を決定する。例えばＤＶＲは最大値と最小値間の差を計算し、それを最小値で除算し、百分率差を計算する。ステップ１５４０において、閾値音声条件を決定する。例えばＤＶＲはあらかじめ決定した閾値百分率差１．６％を使用できる。ステップ１５５０において、計算した百分率差と閾値条件とを比較し、その条件に合うか否かを決定する。例えばＤＶＲは計算した百分率差が閾値１．６％より小さいか否かを決定する。もし小さければ音声イベントを検出する。
【図面の簡単な説明】
【０１０４】
【図１】図１は本発明の実施例を実現すべくあるいはそれを含むべく構成可能なデジタルビデオレコーダを示すブロック図である。
【図２】図２は本発明の実施例が動作可能なシステムの一例を示す概略図である。
【図３】図３は本発明の一実施例を動作させないおよび動作させた録画内容を示す図である。
【図４】図４は本発明の実施例に関連して使用可能なユーザインタフェース表示例を示す図である。
【図５】図５は図１のデジタルビデオレコーダ等において実施可能な本発明の一実施例を示すブロック図である。
【図６】図６は本発明の一実施例に基づく、イベント索引作成システムの各モジュールを示すブロック図である。
【図７】図７は本発明の一実施例に基づく、黒フィールド検出閾値を決定するための輝度ヒストグラム例を示す図である。
【図８】図８は本発明の一実施例に基づく、コンテンツナビゲーション提供システムの各モジュールを示すブロック図である。
【図９】図９は本発明の一実施例に基づく、イベント索引作成方法の第１例を示すフローチャートである。
【図１０】図１０は本発明の一実施例に基づく、コンテンツナビゲーション提供方法の第１例を示すフローチャートである。
【図１１】図１１は本発明の一実施例に基づく、イベント索引作成方法の第２例を示すフローチャートである。
【図１２】図１２は本発明の一実施例に基づく、コンテンツナビゲーション提供方法の第２例を示すフローチャートである。
【図１３】図１３は本発明の一実施例に基づく、黒フィールド検出閾値決定方法の一例を示すフローチャートである。
【図１４】図１４は本発明の一実施例に基づく、映像イベント検出方法の一例を示すフローチャートである。
【図１５】図１５は本発明の一実施例に基づく、音声イベント検出方法の一例を示すフローチャートである。
【図１】
2005524271.tif 000003
【図２】
2005524271.tif 000004
【図３】
2005524271.tif 000005
【図４】
2005524271.tif 000006
【図５】
2005524271.tif 000007
【図６】
2005524271.tif 000008
【図７】
2005524271.tif 000009
【図８】
2005524271.tif 000010
【図９】
2005524271.tif 000011
【図１０】
2005524271.tif 000012
【図１１】
2005524271.tif 000013
【図１２】
2005524271.tif 000014
【図１３】
2005524271.tif 000015
【図１４】
2005524271.tif 000016
【図１５】
2005524271.tif 000017
【国際調査報告】
2005524271.tif 000018
2005524271.tif 000019
2005524271.tif 000020