映像提示においてコマーシャルに索引を付けるシステムおよび方法
【課題】映像信号または映像データストリームにおける識別可能イベントに基づき、映像コンテンツのナビゲーションを強化することを提供する。
【解決手段】保存したデジタル映像コンテンツの強化型ナビゲーションをイベント索引に基づき提供するシステムおよび方法である。イベント索引を作成および保存し、イベント索引内のイベントに基づいてナビゲーションを行う。システムの一例として、デジタルビデオレコーダに実施する場合、黒フィールドイベントおよび無音フレームイベントを検出して保存し、コマーシャルグループを見つける。これらコマーシャルグループは、保存したイベントと映像データファイル内の対応位置とを関係付けるデータポインタに基づき、スキップするかナビゲートする。
【解決手段】保存したデジタル映像コンテンツの強化型ナビゲーションをイベント索引に基づき提供するシステムおよび方法である。イベント索引を作成および保存し、イベント索引内のイベントに基づいてナビゲーションを行う。システムの一例として、デジタルビデオレコーダに実施する場合、黒フィールドイベントおよび無音フレームイベントを検出して保存し、コマーシャルグループを見つける。これらコマーシャルグループは、保存したイベントと映像データファイル内の対応位置とを関係付けるデータポインタに基づき、スキップするかナビゲートする。
【発明の詳細な説明】
【技術分野】
【0001】
発明の背景
1.技術分野
本発明は、映像録画システムの分野に関し、さらに詳しくは、映像コンテンツを記録し、索引を付け、ナビゲーションを行うシステムおよび方法に関する。
【0002】
2.関連技術の説明
映像録画技術、例えばビデオカセットレコーダ(VCR)やデジタルビデオレコーダ(DVR)は、ビデオ番組をいつどのように見るかに関して、消費者が制御することを向上してきた。VCRの登場以来、消費者は放送映像(例えばテレビ放送、ケーブル放送、衛星放送)を記録し、後からそれを見ることができるようになった。映像番組は、ビデオカセット等の記憶媒体に記録する。ユーザは、そのビデオカセットからの番組を余暇に見ることができる。VCRは、保存した番組を見る上で、ナビゲーション機能も提供する。VCRは例えば、番組の各部において、それを見ながらあるいは見ないまま、一時停止、早送り、巻き戻しをユーザに可能にする。いくつかのVCRは、追加のナビゲーション機能を提供する。スローモーション、可変早送り、可変巻き戻し等である。ただしこれら機能の品質は、関係するアナログ技術によって限度がある。録画番組を見る消費者は、早送り機能を使用し、見たくない内容を早送りできる。この機能は、一般的に、録画番組のコマーシャルをスキップするために使われるようになった。
【0003】
録画番組におけるコマーシャルを迅速に正確に避ける能力を消費者が望んでいることに鑑み、コマーシャルを自動的に識別しスキップするVCR機能が開発された。このVCRは、アナログまたはデジタル映像処理を使用し、一般的にコマーシャルを示すイベントを映像信号中に識別する。このようにして共通に識別されるイベントは、黒フィールド(コマーシャル間に挿入される「黒」映像フレーム)、無音フィールド(黒フィールドがしばしば随伴する「空白」音声)、および急激な音量変化(コマーシャルがしばしば随伴する音量上昇)等である。残念ながら、これらイベントは、番組自体およびコマーシャル内外でも発生することがある。
【0004】
コマーシャルは、定義可能なパターンの後に続くコマーシャルグループ内にほぼ常に存在する。黒フィールドイベントおよび無音フィールドイベントは、コマーシャルグループ内の各コマーシャルを分離することもある。単独のイベントに基づきコマーシャルを識別することの限界を克服するため、パターンマッチング論理をVCRに使用し、コマーシャルグループ内のイベントパターンを特定する。特定したイベントは、バッファに一時保存する。バッファ内の一連のイベントは、イベント間のスペースに基づき分析する。所定パターンが認識できれば、コマーシャルグループを識別できる。コマーシャルグループを識別したら、適切なマーカをビデオカセットに記録する。これは通常、制御トラックに書き込む。再生において、開始マーカから自動早送りを開始する。この早送りは、そのグループの終了マーカに到達するまで続行する。そこに到達したら、VCRは通常再生モードに戻る。コマーシャルスキップ論理は、自動早送り中、青色画面等の映像表示も提供できる。
【0005】
コマーシャルスキップVCRは、その使い勝手および効果を低減させるような多くの欠点を有する。第1に、イベントを正確に検出することがそれほど簡単ではない。信号の品質は、黒フィールドおよび無音フィールドの品質を大きく左右する。信号が実際にゼロであることはほとんどない。また、多くのテレビネットワークおよびコンテンツプロバイダは、透かしやロゴを実行しており、これらは黒フィールドスクリーンにも現れる。配信システム、ネットワーク、およびコンテンツプロバイダのいずれもが、黒フィールドおよび無音フィールドの品質に影響を与える。コマーシャルと番組内容との分離に使用するフレームには、他のタイプもある。全画面ロゴや黒以外の単色画面である。多様で複雑なイベントは、デジタル放送環境において増加する一方であり、ネットワークや広告提供者による、コマーシャル検出を避けるための予防措置もある。黒フィールドや無音フィールド等のイベントを検出するための改良方法が望まれている。
【0006】
また、コマーシャルグループを識別するために使用可能なイベントパターンは多岐にわたる。番組における場面展開が混乱すると、コマーシャルグループあるいはその一部を誤って識別することになり、番組内容を自動的にスキップしてしまうことにもなる。現在行われているコマーシャルスキップ論理は、番組の開始または終了近辺のコマーシャルグループを識別しようとしない。そこにはクレジット、ティーザ広告、予告があり、番組内容とコマーシャルとを分離することが困難である。イベントパターンは、ネットワーク、番組、日、週、年によって変化する。またイベントパターンは、広告提供者および視聴者の好みにより、時と共に変化する。特にイベントパターンは、現行システムのパターン認識論理を放送提供者が避けようとするため、変わりやすい。そこで、パターン認識論理を更新し実行する改良方法が必要である。
【0007】
コマーシャルスキップVCRは、初回録画中あるいは初回再生中にコマーシャルを識別せずマークしない。パターンマッチング機能は、複数のイベントを記憶してからでないと、コマーシャルグループの開始を表す前方イベントを識別できない。コマーシャルグループの開始および終了を識別するマーカは、ビデオカセットに保存する。コマーシャルグループを識別した後、ほとんどのVCRの読み取りヘッドおよび書き込みヘッドは、コマーシャルグループの開始までテープを巻き戻し、そのビデオカセットに開始マーカを記録せねばならない。初回記録後、コマーシャルスキップ機能で録画を鑑賞できるようにするため、ほとんどのコマーシャルスキップVCRは、ビデオカセットを一度走査し、イベントを識別し、コマーシャルグループを識別し、そのコマーシャルグループをビデオカセットにマークする。従って、保存したコマーシャルグループに索引を付ける改良方法が求められている。
【0008】
コマーシャルスキップVCRは、識別したコマーシャルおよびコマーシャルグループに対し、限定的なナビゲーションオプションしか提供しない。順次録画および再生は、ビデオカセットに保存した映像コンテンツをナビゲーションするための実際的オプションを制限している。ほとんどのコマーシャルスキップVCRが提供する唯一のナビゲーションオプションは、制御トラックに記録した開始および終了マーカに基づき、識別済みコマーシャルをスキップすることである。この機能は一般に2値的である。すなわちオンかオフである。しかしながらユーザは、コマーシャルグループ等の識別済み映像コンテンツをいつどのように見るかあるいは見ないかについて、より多くの制御を望んでいる。従って、索引を付けたコマーシャルグループをナビゲーションする改良方法が求められている。
【0009】
DVRは、放送映像コンテンツを保存し、管理し、鑑賞する方法に革新をもたらしている。DVRの内蔵システムは、映像番組やコマーシャル等の映像コンテンツを受信し、デジタル保存し、再生する。DVRは一般に、ハードドライブ等のデジタル保存媒体を用い、圧縮した映像コンテンツをデジタル保存する。映像コンテンツはデジタル保存するものの、その受信および再生はアナログ信号で行うことが多い。すなわち1以上のアナログ/デジタル変換器を必要とする。DVRは映像コンテンツの受信、保存、鑑賞に関し、多数の改良を提供している。例えば、対話式番組案内、保存コンテンツの対話式管理、新規コンテンツの自動保存、強化型ナビゲーション機能、ファイル共有、および通信機能である。これら改良機能の多くは、多量のデータ処理、メモリ、ネットワーク、およびグラフィカルインタフェース重畳等の能力を必要とする。より柔軟な保存システム(例えばデジタルファイルシステム)、強化した処理能力、および遍在ネットワーク技術を組み合わせることで、DVRに大きな可能性を提供でき、VCRの多くの限界を克服できる。
【0010】
ほとんどのDVRは、MPEG等のデジタル圧縮基準を用い、映像コンテンツを圧縮映像ファイルとして保存する。かかる映像ファイルに時間ベースでアクセスしナビゲーションするため、DVRは、その映像ファイルの時間索引を含んだ随伴索引ファイルを作成できる。例えばその索引ファイルは、GOP(ピクチャグループ、MPEG圧縮データの単位)と経過時間とを関連付ける。DVRは、再生において、索引ファイルからのデータを使用し、映像データストリームの時間ベース操作が可能である。索引ファイルの追跡速度を変化させることにより、ナビゲーションオプションを強化できる。例えばスローモーション、早送り、巻き戻しを可変速度で行うことができ、しかも従来のアナログシステムより忠実度を良くできる。索引ファイルは、コンテンツファイルへの順次アクセスからシステムを解放し、コンテンツファイルのいずれの時間点へも直接アクセスできるようにする。索引ファイルのこの特徴を利用し、即時再生および前方スキップ機能が提供されてきた。これら機能は、再生中のデータストリームにおいて、あらかじめ定義した前方ジャンプまたは後方ジャンプを提供する。これらは一般に、ユーザがもう一度見たい内容を再視聴するため、または全く見たくない内容をスキップするために使う。前方スキップ機能の好まれる使用方法は、コマーシャルグループを迅速にスキップすることである。30秒の前方スキップは、コマーシャルを迅速にナビゲーションする上で極めて有効である。コマーシャルは、約30秒あるいはその倍数で放映されることが多いからである。このような方法で使う場合、ユーザはコマーシャルの存在を識別し、前方スキップを稼働させる。これは一般に、リモートコントロールの所定ボタンを用いる。ユーザは、別のコマーシャルがあると、再び前方スキップを稼働させる。これを繰り返すことにより、所望の番組内容に到達する。望ましいことは、前方スキップがユーザを行き過ぎさせないことであり、ユーザが見たいと思っている内容を見失わないことである。再生中においてコマーシャルを避けるこの方法は、DVRユーザに人気のあることが分かったが、コマーシャルを検出し、それらを自動的にスキップするための、さらに改良された方法が求められている。
【発明の概要】
【0011】
以下に説明する本発明の実施例は、映像信号または映像データストリームにおける識別可能イベントに基づき、映像コンテンツのナビゲーションを強化することを提供する。これら実施例は、改良した方法において、保存した映像番組中のコマーシャルを自動的にスキップすることをユーザに可能にする。映像コンテンツに対応する映像データは、第1ファイルに保存する。映像データ内の各位置に対応するデータポインタは、第2ファイルに保存し、イベント索引を作成する。これらデータポインタは、映像コンテンツにおいてあらかじめ定義したイベントおよびイベントのパターンに基づき作成する。これらは例えば、映像番組とコマーシャルとの間を示す映像および音声イベントである。データポインタは、映像コンテンツをナビゲーションするために使用できる。例えば、コマーシャルを自動スキップするために使用できる。本発明のいくつかの実施例は、コマーシャルを検出する方法、映像コンテンツの強化型ナビゲーションを提供する方法、コマーシャル検出用ソフトウエア命令を含むコンピュータ読み取り可能記憶媒体、コマーシャル検出および/または強化型ナビゲーションが可能なビデオレコーダを含む。
【0012】
本発明実施例の前記およびその他特徴を以下に詳述する。説明全体を通して添付図面を参照する。
【発明の詳細な説明】
【0013】
以下において、本発明に基づく1以上の実施例の詳細を説明する。この詳細は、システム構成、ブロックモジュール図、フローチャート、および記述を含む。これら詳細は、本発明の1以上の実施例を理解する上で一助となるが、当業者には明らかな通り、本発明を実施する上で必要なものではない。
【0014】
図1のブロック図は、コマーシャル検出を含んで構成した本発明の一実施例に基づくDVR100を示す。DVR100は、AV入力モジュール102と、プロセッサ104と、メモリ106と、AV出力モジュール108と、データ記憶媒体110と、モデム112と、従来のバス構成に相互接続したネットワークインタフェース114とを含む。一般にプロセッサ104は、例えばメモリ106に記憶した命令を実行し、いくつかの本発明実施例が提供するような機能を提供する。追加メモリとしてROMおよび/またはEEPROM(図示せず)を使用し、ブートアップシーケンス命令やDVR機能更新等の情報を格納しても良い。ネットワークインタフェース114は従来品であり、イーサネット(登録商標)ベースのネットワークに接続可能なものが好ましい。この接続を利用してホームネットワークに接続すると共に、一方でインターネットや各種ブロードバンド等のWANに接続する。
【0015】
ユーザは、DVR100の動作を制御する場合、DVR100の筐体の外側からパネルインタフェース132を介して制御信号を送る。あるいはリモートコントロールから制御信号を送る。この制御信号は、リモート信号インタフェース134を介して従来方法で受信する。他の従来の電子入力装置を使用してDVR100へのユーザ入力を行っても良い。例えばキーボード、タッチスクリーン、マウス、ジョイスティック等である。これら装置は、DVR100や関連ハードウエア(例えば映像表示装置、オーディオシステム等)に内蔵しても良いし、従来のポート(例えばシリアル接続、USB等)や無線信号受信器(例えば赤外線、ブルートゥース(登録商標)、802.11b等)とのインタフェースを介して接続しても良い。
【0016】
AV入力モジュール102は、各種従来インタフェースを介して入力を受け取る。例えば同軸RF/Ant、Sビデオ、コンポーネント音声/映像、ネットワークインタフェース等を介して入力を受信する。この受信信号は、標準NTSC放送、高精細(HDTV)放送、標準ケーブル、デジタルケーブル、衛星、インターネット等を送信元とする。AV入力モジュール102は、適切な従来の同調および/または復号機能を含んで構成する。DVR100はさらに、他の装置からの入力も受信する。例えばセットトップボックス、メディアプレーヤ(例えばVCR、DVDプレーヤ等)である。例えばセットトップボックスは、1信号フォーマットを受信し、NTSC信号等の従来フォーマットをDVR100へ送る。セットトップボックス、メディアプレーヤ等の装置の機能は、DVR100に組み込み、1以上のリソースを共有することができる。
【0017】
AV入力モジュール102はさらに、1以上のMPEG符号化モジュールを含み、第1フォーマット(例えばアナログNTSCフォーマット)からMPEGフォーマット(例えばMPEG2等)へ信号を変換する。変換した信号は、メモリ106またはハードディスク等のデータ記憶媒体110に保存できる。一般にデータ記憶媒体110に保存したフォーマット済みデータに対応するコンテンツは、即座にあるいは後から視聴できる。MPEGデータに関連する追加情報を保存すれば、録画番組を管理および識別することができる。他の実施例は他の適切な圧縮方法を使用できる。
【0018】
AV出力モジュール108は、グラフィクスモジュール122と、映像デコーダ124と、音声デコーダ126とを含む。映像デコーダ124と音声デコーダ126とは、好ましくはMPEGデコーダであり、データ記憶媒体110に保存したMPEGデータを取得し、それを表示装置互換フォーマットに変換する。このフォーマットは代表的にNTSCフォーマットであり、従来のテレビセットで容易に受信できる。グラフィクスモジュール122は、各種ガイド情報および制御情報を受信し、互換フォーマットの信号を対応する表示装置へ出力する。
【0019】
DVR100は、ガイド情報を処理する。この情報は、システム(例えば放送システム)が現在および将来提供するコンテンツとDVR100がすでに保存したコンテンツとを説明し、ナビゲーションを可能にする。このような情報を表示するガイドは、一般にコンテンツガイドと呼ぶ。このコンテンツガイドは、チャンネルガイドおよび再生ガイドを含む。チャンネルガイドは、利用可能なコンテンツを表示し、そこから各番組を選択して現在または将来の録画および鑑賞に備える。一例としてチャンネルガイドは、多数の放送テレビ番組をリスト表示し、ユーザは1以上の番組を選択して録画できる。再生ガイドは、DVR100が保存しているあるいは即座に保存可能なコンテンツを表示する。このガイドについては、別の用語を使うこともある。例えば、プログラミングガイド等と呼ぶこともある。コンテンツガイドという用語は、それら代替用語の全てを包括することを意図している。
【0020】
DVR100は、パーソナルビデオレコーダ(PVR)と呼ぶこともある。本発明の実施例を包含するDVRの一例は、カリフォルニア州サンタクララのソニックブルー社が提供するリプレイTVブランドのDVRである。リプレイガイドは、リプレイTV・DVRが実施する再生ガイドの一例である。
【0021】
DVR100のいくつかのモジュールは図1に示す通りであるが、本発明は異なる特徴を有する構成要素も考慮し包含する。例えば一形態として、電話回線モデムを省略し、代わりにコンジットを使って本発明の実施に使用するガイドデータおよびその他情報を取得しても良い。また他の形態として、例えばスマートカード技術を実施する条件付きアクセスモジュール(CAM)等の機能を付加し、特定のコンテンツプロバイダまたは放送業者と連携して動作させ、コンテンツへのアクセスを制限しても良い。
【0022】
また本実施例および本発明の他の実施例は、DVRまたはPVRに関連して説明するが、他の装置にも等しく適用可能である。例えばセットトップボックス(STB)、ケーブルSTB、衛星STB、同様機能を有するモジュールを内蔵したテレビ等に適用可能であるが、これらに限定するものではない。
【0023】
本実施例において、DVRメモリ106は、コマーシャルインデクサ140と、番組ナビゲータ150とを含む。データ記憶媒体110は、少なくとも1つのコンテンツファイル160と、少なくとも1つの索引ファイル170とを含む。コマーシャルインデクサ140と番組ナビゲータ150とコンテンツファイル160と索引ファイル170とは、再生中において映像コンテンツの強化型ナビゲーションを提供するために使用する。
【0024】
コマーシャルインデクサ140は、映像信号またはデータストリームにおける音声および/または映像イベントの自動検出を提供する。例えば検出したイベントは、映像データの内容における遷移に関連している。遷移とは、例えばコマーシャルと番組内容との間における途切れである。検出したコマーシャルは、非番組内容を含んでいる。非番組内容とは、例えば有料広告、局識別部、予告、その他番組中断部である。コマーシャルは、連続する区画からなることが多い。すなわちコマーシャルグループである。これは番組内容の枠内にある。コマーシャルインデクサ140は、イベントを検出し、イベントパターンを分析し、コンテンツ内に識別した遷移に関するデータを保存する。このコンテンツ内に識別した遷移に関して保存したデータを使うことで、番組ナビゲータ150はコマーシャルスキップ等の強化型再生オプションを提供する。あるいはコマーシャルインデクサ140は、イベントを検出し、検出したイベントに関するデータを保存する。再生中、番組ナビゲータ150は、イベントパターンを分析し、その分析に基づき強化型ナビゲーションオプションを提供する。一実施例において、イベントインデクサ140は、映像処理、パターン認識、およびデータ保存を連携させるためのソフトウエア命令を含む。コマーシャルインデクサ140は、コマーシャル検出処理の一部を実施するためのハードウエア部品を管理する。いくつかのシステムにおいて、コマーシャル検出は、A/D変換、データ圧縮、時間索引付け、データ記憶媒体110への映像データ保存と統合可能である。
【0025】
番組ナビゲータ150は、保存した映像コンテンツを見るためのナビゲーションオプションを提供する。番組ナビゲータ150は、1つ以上の制御信号を受信するように展開した機能論理を含んでも良い。例えば番組ナビゲータ150は、リモートコントロールやパネルインタフェース等の入力装置経由のユーザ入力に対するDVRの応答方法を少なくとも部分的に決定できる。受信した制御信号の解釈は動作状態に基づいて調整する。例えば再生中、ガイド経由、メニュー経由等に基づいて調整する。番組ナビゲータ150は、グラフィカルユーザインタフェース、アイコン、音声合図等、受信した制御信号に応答するインタフェースを含むことができる。番組ナビゲータ150は、保存映像コンテンツの時間ベース索引を利用した各種ナビゲーション機能を含むことができる。一実施例において、番組ナビゲータ150は、保存映像番組におけるコマーシャルスキップ用の論理を提供する。これは、コマーシャルインデクサ140が識別したイベントに基づく。このコマーシャルスキップ論理は、パネルインタフェース132またはリモートコントロール(図示せず)上のメニュー選択またはボタン指定で実行できる。番組ナビゲータ150は、スキップしたコマーシャルの簡易編集版や、コマーシャルがスキップされることをユーザに知らせるアイコン等の指標を提供するための論理を含んでも良い。検出したイベントに基づくコンテンツナビゲーションオプションには次のようなものもある。すなわちコマーシャルを見て番組をスキップする、次または前のコマーシャル部あるいは番組部にジャンプする、あるいはコマーシャル部および番組部に「チャプタ」によってアクセスする等である。
【0026】
コンテンツファイル160は、1以上の映像配信の録画映像データを保存している。映像データは、受信したものと同一フォーマットで保存しても良いしそうしなくても良い。例えばアナログ映像信号をDVR100で受信し、それをデジタル映像信号に変換し、そのデジタル映像信号のコンテンツに対応するデジタルデータをコンテンツファイル160に保存しても良い。一実施例において、デジタルデータは1以上の映像データ圧縮技術を用いて圧縮し、データ記憶媒体110の使用を経済的にできる。前記コンテンツファイルは、単一記録セッションを含むことができる。これは、複数の映像番組とそこに介在するコマーシャルとを含んでも良いし含まなくても良い。一実施例において、各コンテンツファイルは、単一の録画プログラムとそれに介在するコマーシャルとに対応する。
【0027】
索引ファイル170は、コンテンツファイル160内の複数位置へのポインタを含む。これらポインタは、各位置における保存映像データの索引となり、その映像データへのアクセスおよびナビゲーションを可能にする。例えば索引ファイル170は、番組開始および終了位置用ポインタ、番組内容の時間ベース索引を提供する等間隔ポインタ、あるいは映像コンテンツにおける黒フィールドや内容変化(例えば番組からコマーシャルへ)等の検出可能部に対応するポインタを含むことができる。
【0028】
DVR100は、単一のホーム装置として動作しても良い。この場合、従来のテレビセットと連携して使用し、他の装置との通信を必要としない。DVR100は、各種ネットワーク等によって他の装置と共に動作しても良い。図2は、システム200の例を示す。複数のDVR216,218,236,238は、各々ローカルエリアネットワーク210および230において相互接続する。ローカルエリアネットワーク210および230は、ワイドエリアネットワーク250に接続する。サーバ260およびコンテンツプロバイダ270も、ワイドエリアネットワーク250に接続する。ワイドエリアネットワーク250は、インターネットでも良い。従来のネットワーク技術を使い、各システム間の通信を提供しても良い。例えばネットワーク通信は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)や、他の従来の高位プロトコル例えばハイパーテキスト伝送プロトコル(HTTP)またはファイル伝送プロトコル(FTP)を実行できる。DVRと通信ネットワークとを接続することで、DVRは録画コンテンツを共有し、集中または非集中データ記憶および処理を利用し、遠隔地からの制御信号に応答し、局地リソースを定期的に更新し、ネットワークコンテンツプロバイダへのアクセスを提供し、他の機能を有効化できる。
【0029】
一実施例において、ローカルエリアネットワーク210および230はホームネットワークシステムであり、多様な家庭用電子装置を相互接続する。ローカルエリアネットワーク210および230は、各種器具およびホームサブシステムを相互接続するスマートホームネットワークを含んでも良く、あるいはその一部であっても良い。本実施例において、ローカルアリアネットワーク210は、DVR216および218と、PC220および222とを含む。これら装置の各々は、家庭内の異なる場所にあっても良く、従来のネットワーク技術およびソフトウエアを使って接続する。これら装置間の通信は、遠隔操作を可能にし、装置間の交換を可能にする。例えばDVR1216は寝室にあり、居間にあるDVR2218と接続する。DVR1216は、DVR2218のガイド情報および保存映像コンテンツにアクセスできる。同様にDVR216および218はリソースを共有し、PC220および222からの制御が可能である。これら装置間で共有するアクセスおよびデータのタイプと量とを制限し、著作権管理および他の安全機能を不可避にする。
【0030】
ローカルアリアネットワーク210は、ルータ214とブロードバンドインタフェース212とを含む。ブロードバンドインタフェース212は、従来のデジタル加入者線(DSL)モデム、ケーブルモデム、およびホームネットワークと、ブロードバンドとのインタフェースを提供する装置ならどのようなものでも良い。ブロードバンドへの接続は、有線接続、無線接続、その他ブロードバンド接続を含む。ルータ214は、ホームネットワーク210内の装置216−222と、インターネット経由でこれらと接続可能性のある装置との間でファイアウオールの働きをする。論理ポート224a−dは、装置216−222とホームネットワーク210外部装置との間でインターネット通信を割り当てる。これら論理ポートは、ある種のファイル転送に障壁として働く。
【0031】
ローカルアリアネットワーク210と同様、別のローカルアリアネットワーク230は、ブロードバンドインタフェース232とルータ234とを含む。これらを介して装置236−240は、論理ポート244a−cを用いて相互接続およびインターネット接続する。ローカルアリアネットワーク230は、前記したローカルアリアネットワーク210と実質的に同様に動作する。
【0032】
サーバ260は、データ保存またはデータ処理用の共有遠隔リソースを含み、ワイドエリアネットワーク250に接続した複数のDVRからアクセス可能である。サーバ260は、DVR、コンテンツプロバイダ270等の他のネットワークリソースに通信を提供する。一実施例において、サーバ260はDVRおよび他のネットワークリソース間における通信を調整する役割を果たす。例えばサーバ260は、各DVRのネットワークアドレスおよびポート情報を含むコンテンツ配信情報を保持できる。DVRはサーバ260に対し、定期的および自動的にコンテンツ配信情報を報告する。これにより他のDVRは、サーバ260にアクセスしてそのコンテンツ配信情報を受信できる。DVR間の通信は、サーバ260を経由しても良く、コンテンツ配信情報を用いてピアツーピアで行っても良い。オンラインコンテンツプロバイダは、かかる情報についてサーバ260に問い合わせを行い、それを利用してコンテンツダウンロードを遂行する。
【0033】
サーバ260は、DVRソフトウエア、ガイドデータ、サービス情報、その他データの定期的更新を提供する役割を担う。ユーザ固有イベント認識データおよびパターン認識データ、例えばユーザ履歴、サービス、キャリア、プログラム等に基づくイベント閾値やイベントパターンを更新し提供する。また、新しいイベントタイプやイベントパターンが開発されると、それらをDVRに提供する。ソフトウエアおよびグラフィカルユーザインタフェースで起動するナビゲーション機能も、サーバ260を介して提供できる。
【0034】
サーバ260は、DVRからデータを受け取り、その情報を保存して処理し、および/または更新した情報を各装置に戻す役割も担える。例えば、サーバ260はネットワーク上のDVRから利用データを収集し、集計番組統計や機能利用情報を提供できる。この機能を使うことにより、イベントパターンデータの収集、データの分析、DVRで使用するためのパターンマッチングアルゴリズムの更新を提供できる。
【0035】
コンテンツプロバイダ270は、DVRを介して番組を配信したりコンテンツを宣伝したりの各種サービスを含むことができる。例えば、多数のウエブサイトはオリジナル映像コンテンツを作成し、PCでダウンロードしての鑑賞を可能にしている。このような映像コンテンツは、DVRを介して供給することもできる。帯域幅および接続性が増えるに従い、より多くの映像コンテンツがインターネット等のワイドエリアネットワーク上に供給されている。DVRはコンテンツオンデマンド配給モデルに特に適している。
【0036】
DVR100のユーザは、その強化型ナビゲーション機能を使用し、極めてコマーシャルの少ない録画コンテンツを見ることが出来る。図3は、番組300のタイムラインを示し、DVR100等のDVRに記録される。第1タイムライン310は、オリジナル通りにDVR100に保存され提示されるものである。第2タイムライン312は、自動コマーシャルスキップ機能を動作させた一実施例での番組300を示す。第2タイムライン312は、極めて異なった視聴体験を提供するものであり、合計提示時間が短くなっている。
【0037】
番組300の内容は変化する性質のものである。例えば番組部とコマーシャル部がある。これら各部は、通常の上映例えばテレビ放送や録画ソースからの一般再生では、連続して表示される。映写の進行に従い、各部の遷移点に急激な変化が現れる。これら遷移は、最低でも場面変化(例えばアパートに居るホームコメディの登場人物から、スマートなセダンの新車がヘアピンカーブを曲がる自動車コマーシャルへ)を含む。もちろん、全ての場面変化が内容変化を表すものではなく、例えば番組区間内の場面変化やコマーシャル区間内の場面変化もある。番組区間とコマーシャル区間との間のほとんどの遷移は短い遷移場面、例えば黒い画面や登場人物の沈黙を含む。また番組区間とコマーシャル区間の遷移は、音量の変化や他の検出可能イベントを伴う。番組区間は一般に単一のコマーシャルと交代することはなく、複数のコマーシャルを含んだコマーシャルグループと交代する。コマーシャルグループ内の各コマーシャル間の遷移も一般に遷移場面を含み、他の検出可能イベントを含んだり含まなかったりする。番組区間とコマーシャル間の遷移は、第1タイムライン310において遷移320−339で示し、第2タイムラインにおいては遷移360−376で示す。各遷移は、遷移場面と他の検出可能イベントとを含む。
【0038】
番組300内の番組内容は、第1タイムライン310において番組内容341−346で示し、第2タイムライン312において番組内容381−386で示す。番組内容の一例は、放送テレビ番組であり、ホームコメディ、メロドラマ、映画、あるいはニュース番組である。番組内容は、ティーザ広告部、タイトルクレジット部、1以上のチャプタ部、終了クレジット部を含む。例えば番組300は、ティーザ広告部341と381、タイトルクレジット部342と382、複数のチャプタ部343−345と383−385、および終了クレジット部346と386を含む。
【0039】
また番組300は、映像内に埋め込んだ多数のコマーシャルを含む。これらコマーシャルは、コマーシャルグループとして埋め込まれており、第1タイムライン310におけるコマーシャルグループ351−354、および第2タイムライン312におけるコマーシャルグループ391−394である。各コマーシャルグループは、3から4のコマーシャルで構成され、それらは対応する数の遷移で分離されている。第1タイムライン310が含む4つのコマーシャルグループ351−354は、放送通りに保存したコマーシャルグループである。第2タイムライン312は、2つの完全なコマーシャルグループ391と394しか含んでおらず、コマーシャルスキップ機能が働き、再生中に表示されるコマーシャルを実質的に削減している。
【0040】
第2タイムライン312において、第1タイムライン310からのコマーシャルグループ352と353は、インジケータ392と393に置き換わっている。インジケータ392と393は、コマーシャルがスキップされたことを視聴者に知らせる。一実施例において、インジケータ392と393は、対応するコマーシャルグループにおける最初と最後のコマーシャルの短区間(数フレームから数秒)を含む。これらインジケータは、アイコン重畳、音声合図、または他の識別子を含み、コマーシャルスキップ機能の動作を示す。例えば1つのインジケータは、第1スキップコマーシャル開始から3秒間と、最終スキップコマーシャルの最後7秒間と、コマーシャルスキップ機能を示すアイコン重畳とを含むことができる。別のインジケータは、スキップした全コマーシャルの一部を含むか、あるいは全く含まない。別の実施例において、コマーシャルスキップ機能は、インジケータを使わずに実行しても良い。番組区間383,384,385は、何の干渉も無しに、あるいはコマーシャルスキップの指標無しに連続的に表示できる。
【0041】
コマーシャルグループ391と394は、第2タイムライン312においてコマーシャルスキップ機能による変更無しに残っている。いくつかの実施例において、コマーシャル検出およびスキップは、番組表示の開始および終了近辺のある期間(例えば2分間)内において動作しない。これは、番組の開始または終了近辺に一般に配置される短い番組区間を誤識別することを避けるためである。例えば視聴者は、ティーザ区間341と381、タイトルクレジット区間342と382、および終了クレジット区間346と386がコマーシャルと似ているために誤ってスキップされることを望まないこともある。ユーザは、開始区間および終了区間を検出およびスキップの対象とするか否かを決定することもできる。他の実施例は、番組中の全コマーシャルをスキップする。これは、ユーザの積極的な設定、または開始区間および終了区間を安全に区別できるイベントとパターンの検出技術に基づいて行う。
【0042】
図4は、グラフィカルインタフェース400の一例を示し、コマーシャルスキップナビゲーションを可能にする図1のDVR100等のシステム用である。グラフィカルインタフェース400は、グラフィクスモジュール122等のグラフィクスモジュールによって作成し、付属の表示装置に出力する。この表示装置は例えばテレビ、コンピュータモニタ、携帯表示装置、あるいは他の表示装置である。
【0043】
図示の実施例において、コンテンツガイド400aを表示することで、ユーザは多数の録画番組から1つの録画番組を選択できる。コンテンツガイド400aは、録画した番組および録画用に選択した番組の両方を表示できる。コンテンツガイド400aは、ヘッダ402と、ヘッドアップディスプレイ(HUD)404と、幾つかのカテゴリリスト406a−eを有するカテゴリ領域と、幾つかの番組408a−fをリストアップしたコンテンツ領域と、装置識別領域410とを有する。重畳メニュー420は、選択したプログラム(408d)用の再生オプション422と424を提供する。これはコマーシャルスキップトグル426と識別子428とを含む。
【0044】
装置識別領域410は、ガイドを視聴している装置の名前を表示する。この装置が独立型(他の装置とネットワーク接続していない)であれば、装置識別領域410を省略できる。あるいはロゴ等の固定表示を提供できる。
【0045】
ヘッダ領域420は、現在選択中のカテゴリを表示する。ここでは「テレビショー」である。コンテンツ領域は、選択カテゴリの利用可能な番組をリストアップする。ここでは番組408a−fを示している。このコンテンツ領域において、ユーザは利用可能な番組をナビゲートする。この時、従来のリモートコントロールおよびカーソル等の表示信号を使う。このカーソルは、方向コマンドに応じて移動し、自動的に下線の番組を選択するか、あるいは選択信号に応じてその選択を行う(例えばジョイスティック入力は、様々な方向コマンドを提供でき、それを押すことによって現在ハイライト表示されている領域を「選択」できる)。番組リストは、コンテンツ領域に表示可能な数を超える場合がある。最下部の番組408fを超えて下方カーソルのナビゲーションを行うと、それがカテゴリの最後でない限り、表示されていない番組が現れる。本例では、現在の番組408d「シンプソンズ」に関する録画品質およびその他情報を表示している。
【0046】
重畳メニュー420は、以前録画した番組を視聴する1つ以上の方法を表示する。これはコマーシャルスキップ機能を使うことも含む。メニュー420の重畳表示は、ユーザから受信する制御信号に基づいて開始できる。例えばユーザがリモートコントロールの選択ボタンを押すことに基づく。メニュー420は、コンテンツガイド400aと関連して示しているが、視聴中の録画番組と共に使用することもでき、再生を管理する他のインタフェース、あるいは他の番組ナビゲーションと共に使用することもできる。例えばシーンまたはチャプタ選択インタフェースで使用できる。再生ボタン422は、選択番組を視聴者が最近中断した箇所から再生する。最初から再生ボタン424は、視聴者が以前に中断した箇所に関係なく最初から選択番組を再生する。他の再生モードおよびメニューオプションをメニュー420に提供しても良い。コマーシャルスキップトグル426は、コマーシャルスキップ機能が有効か否かを示す。例えばコマーシャルスキップトグル426がマークされていれば(図示のように)、番組を再生すると選択再生モードに関係なくコマーシャルをスキップする。識別子428はトグル426の目的を示し、機能説明、商標表示、アイコン、あるいはその組み合わせを含むことができる。トグル426と識別子428により、ユーザはコマーシャルスキップ機能のオンオフをトグルできる。例えばハイライト領域(再生ボタン422上に示す)は、適切な制御信号を使用することで、識別子428に移動できる。他の制御信号、例えば選択ボタンからの制御信号は、トグル426をオンとオフの間でトグルさせる。他の従来インタフェースを使用し、コマーシャルスキップ機能を有効および無効にしても良い。
【0047】
図5は、モジュール構成500を示し、本発明に基づく改良型コマーシャルスキップ機能を実行するものである。構成500は複数の機能モジュールを含み、これらはDVR100等の代表的なDVRに組み込まれる。この構成は、AV入力モジュール510と、メモリ530と、データ記憶部550とを含む。AV入力モジュール510はハードウエアモジュールを含み、これは受信信号からデータを受け取り、処理し、送出する。メモリ530はソフトウエアモジュールを含み、受け取ったデータを処理し、2次データを選択的に保存し、保存コンテンツのナビゲーションを提供する。データ記憶部550はコンテンツとDVR動作に使用するその他データとを格納するためのファイルを含む。メモリ530内のソフトウエアモジュールは、データ記憶部550からロードし、AV入力モジュール510とデータ記憶部550との動作を監視する。
【0048】
AV入力モジュール510は外部信号を受信する。これは放送信号、他の再生装置からの信号、またはパケット化通信信号である。AV入力モジュール510は、受信信号のコンテンツに対応するコンテンツデータをデータ記憶部550へ送る。AV入力モジュール510は受信コンテンツデータに基づき、変換、索引付け、イベント検出、および圧縮を提供しても良い。図示の実施例において、AV入力モジュール510は、チューナ512と、A/D変換器514と、索引付け論理516と、イベント検出器518と、圧縮エンコーダ520とを含む。
【0049】
チューナ512は従来のチューナであり、利用可能な信号またはチャンネルのスペクトルから信号またはチャンネルを選択する。チューナは、データキャリアが単一の信号またはチャンネルからなる場合、不要である。
【0050】
A/D変換器514は従来のA/D変換器であり、アナログ信号をデジタルデータに変換する。このデジタルデータは、アナログ信号の映像およびその他内容に対応する。このデジタルデータを他の複数のモジュールにコピーし、同時処理および保存を行っても良い。例えばイベント検出や映像処理と映像データの圧縮および保存とを同時に行っても良い。他の実施例において、映像処理は変換前のアナログ信号において実行する。A/D変換器514は、映像データをデジタルフォーマットで受信するシステムにおいては省略できる。AV入力モジュール510は任意数の変換モジュールを含むことができ、それによって従来の放送信号または通信信号とDVRで使用するデジタルフォーマット間の変換を行う。
【0051】
索引付け論理516は従来の論理であり、デジタル映像データストリームに時間索引付けを行う。例えば索引付け論理516は、各GOPを受信すると各GOPの到着時刻を含む固定サイズの記録を作成する。この記録はさらにコンテンツファイルの開始からのバイトオフセットと、GOPの第1フレームのバイトサイズと、GOP内のイベントをマークするための追加フラグとを含む。このように記録した結果は、それを走査することによって所定時刻に最も近いGOPを探し出し、時間索引を与える。幾つかの実施例において、あらかじめ索引付けした映像番組を含むシステムの場合、索引付け論理516は省略可能である。例えば、索引データはコンテンツデータと共に受信データストリームに含めることができる。
【0052】
イベント検出器518は、映像データ内に1種類以上のイベントを検出する。例えばイベント検出器518は複数の従来検出器を含み、総映像信号または総音声信号またはそれらの一部を計算する。映像イベント検出器および音声イベント検出器の実施例の詳細は、図6に関連して後述する。いくつかの検出可能イベントは、黒フィールドや無音以外の内容に基づくことができる。例えば、イベントは映像処理に基づいて検出できる。これは特定の画像、テキスト、パターン、その他コマーシャルマーカを識別する処理である。イベント検出器518は検出アルゴリズムを実行し、映像データから1以上の値を抽出しても良い。抽出した値は、処理するか他の値と結合した後、送出するかインジケータ値(例えばフラグ)を増分し、他のモジュールへ送ってさらに処理する。イベント用の閾値または較正値等の値の抽出および結合は、論理チップ、例えばフィールドプログラマブルゲートアレイ(FPGA)において実施しても良い。幾つかの実施例において、イベント検出は不要である。例えば映像番組をメタデータと共に放送する場合である。このメタデータは、映像イベント、内容遷移、その他コマーシャル検出およびスキップに有用なデータを持つ。
【0053】
圧縮エンコーダ520は映像データを圧縮し、データ記憶部550に保存できるようにする。圧縮エンコーダ520は任意のシステムを含み、映像データから冗長情報および不要情報を除去する。かかる情報の除去は、映像および音声を保存および通信するための保存空間と帯域幅を低減する。圧縮エンコーダ520は従来の符号化論理を含むことができる。これは1以上のデータ圧縮基準であり、例えばMPEG−1、MPEG−2、MPEG−4、H−261、H−263である。圧縮エンコーダ520はA/D変換器と連携して動作させ、アナログ映像信号から作成した映像データを圧縮することもできる。圧縮エンコーダ520は索引付け論理516と連携動作させ、時間と圧縮映像単位とを相関させることもできる。例えば、MPEG符号化データストリームまたはファイルはグループオブピクチャ(GOP)ヘッダを含み、これを索引付け論理516によって時間ベース索引に相関させることができる。幾つかの実施例において、圧縮符号化は不要である。例えば幾つかのシステムは、適切な映像圧縮でフォーマットしたデータを放送し共有することがある。
【0054】
メモリ530は実行可能ソフトウエアモジュールを含み、コマーシャルスキップ機能を管理する。メモリ530は1以上の従来のRAMユニットを含み、バス構造を介してマイクロプロセッサと、AV入力モジュール510と、データ記憶部550とに接続する。メモリ530は、イベント検出、イベントグループパターン検出、イベント索引付け、イベント検出情報およびナビゲーション情報の更新、イベント索引に基づくナビゲーション機能の提供の各動作を監視できる。図示の実施例において、メモリ530はイベントハンドラモジュール532と、グループ検出器モジュール534と、イベントインデクサモジュール536と、遠隔情報モジュール538と、コンテンツナビゲータモジュール540とを含む。他の実施例において、メモリ530に関連して説明した1以上の機能は、ハードウエアモジュール、遠隔システム、または他のシステムリソースで実行しても良い。
【0055】
イベントハンドラモジュール532は、イベント検出器518が検出したイベントを操作する論理を提供する。一実施例において、イベントハンドラモジュール532は、イベント検出器518が検出したイベントを記述する1以上の値を受け取る。例えばイベントハンドラモジュール532は、映像データストリームにおける特定フィールド、フレーム、GOP、または時間点について、イベントフラグ、輝度値、または最大および最小音声値を受け取ることができる。イベントハンドラモジュール532は受け取ったデータを評価し、イベントの閾値基準に適合しているかを決定する。この閾値基準は、イベントデータおよびイベント時間に関する所定値を含むことができる。例えば、イベントハンドラモジュール532は輝度ヒストグラムから作成した所定閾値に対し、受信した複数の輝度値を評価する。ただしこれは、保存番組の最初と最後の2分間を除いたイベント検出ウインドウ内の場合だけに行う。検出したイベントでイベントハンドラモジュール532の評価基準に適合するものは、グループ検出器モジュール534へ送ってさらに分析する。別の方法においてあるいはグループ検出器モジュール534へ送ることに関連して、検出したイベントはイベントインデクサモジュール536へ送り、あとから分析および使用するために保存する。一実施例において、イベントハンドラモジュール532は、例えば輝度等の第1タイプのイベントデータを評価し、イベント検出器518に命令を出して第2タイプのイベントデータ、例えば最大音声を取得させる。これは、第1タイプのイベントデータが所定条件を満たした場合にのみ行う。イベントハンドラモジュールの他の例は、図6を参照して後述する。他の実施例において、イベントデータあるいは他のメタデータは、受信した映像データと共に提供しても良い。イベントハンドラモジュール532は、受信したイベントデータまたは他のメタデータを評価する論理を提供し、映像コンテンツにおけるコマーシャル位置に関係するイベントを選択する。
【0056】
グループ検出器モジュール534はパターンマッチング論理を提供し、複数の検出イベントを評価する。グループ検出器モジュール534によるコマーシャルグループの検出は、コマーシャル番組に先立つ識別可能なスペーシングパターンに基づき行う。グループ検出器モジュール534は、イベントハンドラモジュール532から一連の検出イベントを受け取る。他の実施例において、グループ検出器モジュール534は、コンテンツナビゲータモジュール540から検出イベントを受け取っても良い。これは、コンテンツナビゲータモジュール540が再生中に索引ファイル556から読み出すものである。一実施例において、グループ検出器モジュール534は、受け取ったイベントを分析用の一時的バッファに保存できる。または、所定番組の全検出イベントをデータ記憶部550のファイルに保存し、そこから分析しても良い。グループ検出器モジュール534は、一連の検出イベントまたはその一部を論理条件に対して評価し、コマーシャルグループを識別する。例えばグループ検出器モジュールは、ある種の検出イベントの発生間隔パターンを評価する。グループ検出器モジュールの一例に関する詳細は、図8に関連して後述する。他の実施例は、映像コンテンツの性質を識別するメタデータを受信映像データと共に提供する。グループ検出器モジュール534は、与えられたメタデータから、映像コンテンツにおいてコマーシャルグループを特定するためのデータを選択できる。
【0057】
イベントインデクサモジュール536は、イベント索引をデータ記憶部550に書き込むための論理を提供する。イベントインデクサモジュール536は、1以上の識別子とそれらに対応するファイル位置とを受け取る。例えばイベントインデクサモジュール536は、コマーシャルグループの開始位置を示す第1タグと、コマーシャルグループの終了位置を示す第2タグとを受け取る。他の識別子には、特定タイプのイベント(例えば黒フィールド、無音フレーム、それら両方等)に対応するものがある。イベント検出器518とイベントハンドラモジュール532は、複数タイプのイベントを検出する。イベントインデクサモジュール536はデータポインタを発生できる。このポインタが示すのは、タグを付ける位置の性質(例えば黒フィールド/無音フレームイベント)と、データ記憶部550内のコンテンツファイルにおける対応位置である。一実施例において、イベントインデクサモジュール536が挿入するタグは、特定のコンテンツファイルに関連する時間ベース索引ファイルに格納する。他の実施例において、イベントインデクサモジュール536は、別のイベント索引にタグと位置とを挿入する。幾つかの実施例において、イベントインデクサモジュール536は不要である。例えば、映像番組があらかじめ作成したコマーシャル索引を伴う場合である。イベントインデクサモジュールの一例の詳細は、図6を参照して後述する。
【0058】
遠隔情報モジュール538は遠隔リソースへのアクセスを提供し、改良型コマーシャルスキップ機能を可能にする。遠隔情報モジュール538は従来のネットワーク通信プロトコルを含み、遠隔リソースとデータ交換できる。例えば遠隔情報モジュール538はTCP/IP、HTTP、FTP、イーサネット、これらの組み合わせ、その他プロトコルを利用し、遠隔リソースまたは他の装置と通信できる。遠隔情報モジュール538は、1以上のネットワークアダプタ、モデム、その他通信装置と関係して動作できる。遠隔情報モジュール538は、更新した機能とデータをメモリ530およびデータ記憶部550内の他のモジュールに提供できる。例えば遠隔情報モジュール538は、更新した検出方法、閾値条件、番組論理、グループ化論理、タグ、索引データ、あるいは新しいソフトウエアモジュールを定期的にダウンロードできる。一実施例において、遠隔情報モジュール538は、中央サーバを定期的にチェックし、1以上の新しい更新が利用可能であるかを決定する。利用可能であるなら、更新をダウンロードし自動的にDVRにインストールする。例えば、遠隔情報モジュール538は更新したイベント検出用閾値とグループ検出用コマーシャルグループパターンとを定期的にダウンロードできる。これら閾値およびコマーシャルグループパターンは、中央サーバにおいて更新し、コンテンツプロバイダ、放送業者、キャリア信号、および番組フォーマットにおける変更を反映できる。ダウンロードする更新は、DVR用のより一般的なソフトウエアおよびデータ更新に関連して提供しても良い。一実施例において、遠隔情報モジュール538は情報を中央サーバに定期的に提供できる。例えば遠隔情報モジュール538は、録画コンテンツから検出したイベントおよびイベントパターンと、コンテンツ再生中における強化型ナビゲーション機能の利用とを反映する利用ログを毎日アップロードすることができる。アップロードする情報は、システムおよびユーザ情報に関するより一般的な利用ログに関連して提供しても良い。
【0059】
コンテンツナビゲータモジュール540は、イベント索引データを使用する1以上のナビゲーション機能を提供する。例えば、コンテンツナビゲータモジュール540はコマーシャルスキップ機能を含むことができる。この機能は再生中に動作し、1)コマーシャルグループの開始を識別するイベントタグを認識し、2)そのコマーシャルグループの終了を識別し、3)第1イベントタグに対応するコンテンツファイル位置からコマーシャルグループの終了に対応するコンテンツファイル位置へデータストリームを案内する。幾つかの実施例において、コマーシャルスキップ機能は、第1索引タグが含む第2ポインタに基づいてコマーシャルグループの終了を特定するか、あるいはコマーシャルグループの終了を識別する第2索引タグまで前方走査する。幾つかの実施例において、イベントタグはコマーシャルグループの開始または終了に直接関連しなくても構わない。例えば、イベントハンドラモジュール532を介して検出し処理した全イベントをイベント索引に加える場合である。これら実施例において、コンテンツナビゲータモジュール540は、第1イベントタグとそれに続く所定期間(例えば2分間)内の複数タグを選択できる。このイベントタグのグループをグループ検出器モジュール534へ送り、コマーシャルグループの開始および終了を識別する。一実施例において、コンテンツナビゲータモジュール540は、再生中(適切なナビゲーション機能が有効の場合)、遭遇するイベントタグをグループ検出器モジュール534に常に一時保存する。実際の再生ストリームに先立ってイベントタグを一時保存し、コマーシャルグループの前方分析を可能にすることもできる。一実施例において、再生開始時に映像番組用の全イベントタグを一時保存し分析する。
【0060】
コンテンツナビゲータモジュール540はインジケータを提供し、ユーザにコマーシャルスキップ機能がコマーシャルをスキップしたことを知らせることができる。例えばコンテンツナビゲータモジュール540は、スキップしたコマーシャルグループの1以上のコマーシャルの一部を再生しても良い。コンテンツナビゲータモジュール540はアイコン等の合図を提供し、コマーシャルスキップ機能の動作を示すことができる。例えばアイコンの重畳、音声合図、LED、またはその他インジケータであってDVR制御パネル、リモートコントロール、その他指示器上に表示する。コンテンツナビゲータモジュール540が提供する機能は、特定のユーザインタフェースおよび制御信号にマップできる。例えばコンテンツナビゲータモジュール540は、グラフィカルユーザインタフェースに機能動作用メニューオプションを追加できる。このメニューオプションは、従来のメニュー駆動型DVR・GUIを介して提供しても良い。一実施例において、1以上の機能の動作は初期設定によって決定しても良い。この設定は、ユーザが適切なメニューオプションを選択することにより変更できる。コンテンツナビゲータモジュール540が可能にする機能の制御信号は、従来のDVR用入力装置のいずれかを介して受信できる。リモートコントロール等の入力装置からのメニューナビゲーション信号に加え、カスタムリモートコントロールボタンを含めることにより1以上の機能をトグルしても良い。幾つかの実施例においては、カスタム制御パネルボタンを含めることができる。
【0061】
コンテンツナビゲータモジュール540は、コマーシャル索引を利用する様々な機能を含むことができる。例えばコンテンツナビゲータモジュール540は、コマーシャルだけを見る機能を提供できる。一実施例において、コンテンツナビゲータモジュール540は、映像番組中に第1コマーシャルグループ索引タグの位置を見つける。コンテンツナビゲータモジュール540は、コマーシャルグループの最後までコマーシャル内容を再生し、それから次のコマーシャルグループの最初までスキップする。前記したコマーシャルスキップ機能と同様、適切なインジケータをユーザに提供できる。コマーシャルだけ機能へのアクセスは、再生メニュー等のインタフェースと制御信号オプションとによって提供できる。コマーシャル索引を利用した追加機能も可能である。また動作中において、イベント索引ベース機能と時間索引ベース機能とを結合することも可能である。例えば、コマーシャルスキップ機能と、早送り、スローモーション、即時再生、前方スキップ、巻き戻し等とを連携させても良い。
【0062】
データ記憶部550は、従来のあらゆるデジタルデータ記憶装置を含むことができる。例えばデータ記憶部550は、ハードドライブ、取り出し可能媒体ドライブ、RAM、M−RAM、光学記憶システム、その他データ記憶装置を含むことができる。一実施例において、データ記憶部550は、そのような装置を複数含むことができる。データ記憶部550はデジタルファイルシステムを使用するデータを保存し、その保存したデータへの高速不連続アクセスを可能にする。図示の実施例において、データ記憶部550はメタデータテーブル552と、少なくとも1つのコンテンツファイル554と、少なくとも1つの索引ファイル556と、ガイドデータファイル558とを含む。
【0063】
メタデータテーブル552は、保存映像番組に関する様々な情報を提供する。メタデータテーブル552は、従来のデータ管理技術に基づき情報を相関レコードに構築することができる。一実施例において、メタデータテーブル552は、従来のリレーショナルデータベース技術に基づいた複数の相関テーブルを含むことができる。メタデータテーブル552は、DVRが現在保存するあるいは保存予定である番組に基づいて構成できる。例えばメタデータテーブル552は、録画した映像番組または録画予定の映像番組に対応する行データを含むことができる。各行データは、当該番組を説明する様々なデータ列を含むことができる。メタデータテーブル552は、保存内容を選択し構成するための情報を含むことができる。例えばメタデータテーブル552は、番組名、1以上のカテゴリ、番組説明、評価情報、映写時間、記録品質、ソース、記録日時等を含むことができる。メタデータテーブル552は、システムが使用する情報であって各番組にアクセスし再生するための情報を含むことができる。例えばメタデータテーブル552は、対応するコンテンツファイルの場所、対応する索引ファイル(時間ベース索引ファイルおよび/またはコマーシャル索引ファイル)、最後に見た位置のデータポインタ等を含むことができる。メタデータテーブル552の作成には、システム情報とユーザ入力情報との組み合わせを使用できる。例えば保存詳細はシステム情報から得ることができ、番組情報はガイドデータファイル558から得ることができ、カテゴリ情報はユーザが提供できる。
【0064】
コンテンツファイル554は、保存した映像番組に対応する映像データを含む。コンテンツファイル554は、保存した映像番組について、画像データ、音声データ、システムおよび同期データを含む。コンテンツファイル554は複数のファイルを含むことができ、各ファイルは特定の保存映像番組に対応する。あるいはコンテンツファイル554は、複数の映像番組を格納した単一ファイルを含んでも良い。各番組の開始位置および終了位置は、索引ファイル556やメタデータテーブル552等の別索引に記録できる。
【0065】
索引ファイル556は、コンテンツファイル554内の各位置に対応する索引データを含む。索引ファイル556は複数のデータポインタを含むことができ、これらはコンテンツファイル554内のファイル位置と、対応する番組内容についての情報とを相互に関係させる。索引ファイル556は、時間ベース索引データ、コマーシャル索引データ、番組開始/終了/最後に見たデータ、その他映像データ索引付けを含むことができる。索引ファイル556は複数のファイルを含むことができ、各ファイルは特定の保存映像番組用索引に対応する。索引ファイル556は、複数の保存映像番組用の複数の索引を有する単一ファイルを含んでも良い。索引ファイル556は、特定の索引情報を有する複数の索引ファイルタイプを含むことができる。例えば、個別の時間ベース索引およびコマーシャル索引である。索引ファイルは1以上のテーブルを含み、経過時間と、GOPと、映像コンテンツにおけるイベントを示す1以上のタグとを相関させる。一実施例において、索引ファイルは索引ファイルフォーマットを示すヘッダと、コンテンツファイル内の各GOPに対応するレコードとを含む。GOPレコードの各々は、コンテンツファイル内の対応GOPのヘッダへのバイトオフセットと、ナノ秒単位のGOP記録時刻と、これまでに記録から除外したナノ秒単位の時間と、GOPの第1フレームのバイトサイズと、後続の連続するコピー防止GOPの数と、コピー防止(例えばマクロビジョン、CGSMA等)の存在を示すフラグと、GOP内のヘッダから第1フレームまでのオフセットと、GOP内のイベントの存在を示すフラグとを含むことができる。索引データは、索引付け論理516とイベントインデクサモジュール536とによって作成し、索引ファイル556に保存できる。幾つかの実施例において、索引データの全部または一部は、映像番組の放送または転送と共に受信できる。
【0066】
ガイドデータ558は、DVRが利用可能な放送またはオンデマンド映像番組を記述したデータを含む。ガイドデータ558は、番組タイトル、時間、その他過去、現在、将来の番組に関する記述データを含むことができる。ガイドデータ558は、ユーザインタフェースを介してアクセスおよびナビゲーションし、鑑賞する番組および記録する番組を決定できる。番組を記録する場合、対応するガイドデータは、メタデータテーブル552等内のアクセス可能な場所に転送できる。一実施例において、ガイドデータ558は、索引ファイル556に保存した索引データを含み、それをコンテンツナビゲータモジュール540にて使用できる。
【0067】
図6は、イベント索引を作成するシステム600を示す。このシステム600は、図1のDVR100等のDVRにおいて実施できる。システム600はデジタル映像データに対し、音声および映像の所定特徴を検出し、検出した特徴が1以上のイベント条件に相関するかを決定し、索引ファイルに挿入するためのイベント索引を作成する。システム600は複数のモジュールを含む。一実施例において、前記複数のモジュールは、コンピュータ読み取り可能記憶媒体におけるソフトウエア命令で実現する。前記複数のモジュールは、DVR等のシステムにおいて実現することもできる。かかるシステムは適切なハードウエアを含み、それによってデジタル映像番組を受信または作成し、イベント索引を保存する。一実施例において、前記複数のモジュールは、各機能を実行するソフトウエア部品とハードウエア部品の組み合わせを含む。システム600は、映像特徴検出器モジュール610と、音声特徴検出器モジュール620と、閾値計算器モジュール630と、イベントハンドラモジュール640と、イベントインデクサモジュール650とを含む。
【0068】
映像特徴検出器モジュール610は、映像フレームまたはフィールド(標準放送映像フレームは偶数および奇数走査線用の2フィールドを含む)の所定部の合計輝度を決定する。映像特徴検出器モジュール610は、ウインドウ定義モジュール612と、ピクセルカウンタモジュール614と、フレーム割り込みモジュール616とを含む。
【0069】
ウインドウ定義モジュール612は、ピクセル輝度を集計するフレーム部分を定義する。例えば、ウインドウ定義モジュールは、前記サンプリングウインドウがライン24とライン448との間のラインを含むように定義できる。1フレームのある部分は、例えば局識別アイコン等の非黒重畳を常に含むため、このような不整合を避けるようにサンプリングウインドウを定義できる。また、信号によっては縁部変形や不整合を含むことがある。これらは、フレームの縁部にサンプリングウインドウを移動させないようにすれば簡単に避けられる。幾つかの実施例において、ウインドウ定義モジュール612は、更新またはカスタマイズすることにより、黒画面提示における番組、放送業者、またはキャリアに固有の変化に対応できる。
【0070】
ピクセルカウンタモジュール614は、定義したウインドウ内における各ピクセルのエネルギレベルを集計する。ピクセルカウンタモジュール614は、各ピクセルの輝度(y成分)データを抽出し、分析用フレームの全体について加算する。ピクセルカウンタモジュール614は、フレームの絶対合計エネルギを計算するか、サンプルしたピクセルの数で除算することによりフレームの平均輝度を計算できる。
【0071】
フレーム割り込みモジュール616は、特定フレームの定義ウインドウについてピクセルデータの最後に到達した時を決定する。その最後に到達したら、フレーム割り込みモジュール616は、そのフレームの輝度合計をイベントハンドラモジュール640へ送る。フレーム割り込みモジュール616は、送ったフレームデータの位置を特定するためのGOPまたは時間識別子を送ることができる。フレーム割り込みモジュール616は、ピクセルカウンタの合計輝度値をゼロにし、次フレームのピクセルデータへの準備を行う。一実施例において、映像特徴検出器モジュール610の機能はFPGAによって実現する。
【0072】
音声特徴検出器モジュール620は、選択した映像フレームに近接した音声「フレーム」内の無音を走査する。例えばイベントハンドラモジュール640が黒と識別したフレームの近くを走査する。音声特徴検出器モジュール620は、チャンネルセレクタモジュール622と、最小値識別部624と、最大値識別部626とを含む。
【0073】
チャンネルセレクタモジュール622は、複数チャンネル音声データストリームの1以上のチャンネルを選択し、その中において値を識別する。例えばチャンネルセレクタモジュールは、左右音声チャンネルからデータをサンプルできる。選択したチャンネルは、選択した音声フレーム周囲にある所定数の音声フレームについて走査する。各音声フレームおよび各チャンネルについて、最小値識別部624は最小ピーク値を追跡し、最大値識別部626は最大値を追跡する。最小値識別部624と最大値識別部626とは、サンプル中のDCオフセットを補償できる。対応する最小ピーク値と最大ピーク値のセットはデータハンドラ640へ送り、無音閾値との適合性を決定する。一実施例において、音声特徴検出器モジュール620の機能は、ソフトウエアモジュールによって実現する。これは、各垂直ブランキング割り込みにおいて、音声を表す入りPCMデータを走査し、7つの黒フレーム内に無音期間を検出したら無音イベントを報告する。
【0074】
閾値計算器モジュール630は、黒フィールド検出用の輝度閾値を決定する。閾値計算器モジュール630は動的に輝度閾値を発生する。これは多数の映像フレームからの集計データに基づいて行う。例えば閾値計算器モジュール630は、1以上の映像番組のフレームからの輝度データを使用し、輝度閾値を決定する。一実施例において、特定の番組、放送業者、キャリアについて輝度データを集計し、黒フィールド検出用のカスタム輝度閾値を提供する。一実施例において、録画番組用の輝度データを集計し、その番組用の輝度閾値を提供する。閾値計算器モジュール630は、輝度区分モジュール632と閾値識別モジュール634とを含む。
【0075】
輝度区分モジュール632は、複数の映像フレームについて輝度データを集計する。輝度区分モジュール632は、複数の輝度帯を定義する。各映像フレームは、その合計輝度に基づき、1つの輝度帯に割り当てる。多数のフレーム(例えば20,000+)をサンプリングすることにより、輝度区分モジュール632は、輝度ヒストグラムを構築できる。輝度ヒストグラムの一例700を図7に示す。輝度ヒストグラム例700において、x軸710は64の輝度帯を含み、それらの中にフレームをグループ化する。64の輝度帯は、輝度値の連続範囲を定義し、各サンプルしたフレームをそこに割り当てる。y軸720は、輝度帯に入るフレームの数である。一実施例において、輝度区分モジュール632は、1つの映像提示についての輝度データを集計し、その映像提示についての輝度ヒストグラムを作成する。1つの映像提示を記録する際、輝度区分モジュールは、映像特徴検出器モジュール610から各フレームについて1つの輝度値を受け取ることができる。各フレームの輝度値を使い、適切な輝度帯のフレームカウンタを増分できる。幾つかの別実施例は、各種のサンプリングレート(例えばフィールド毎、Xフレーム毎、ランダムに選択したフレーム等)、ヒストグラム構築タイミング(例えば記録後、再生中等)、バンド数、サンプリング期間(例えば時間ベース、複数の提示等)を含むことができる。
【0076】
閾値識別モジュール634は、輝度ヒストグラムを使用する。これは輝度区分モジュール632が構築したものであり、黒フィールド検出用の輝度閾値を決定する。輝度ヒストグラム例700の大きなピーク730は、番組内容およびコマーシャルの大部分におけるフレーム輝度を表している。より小さなピーク740は、黒フィールドの大部分におけるフレーム輝度を表しており、番組内容およびコマーシャルの遷移を示している。大きなピーク730と小さなピーク740との間に、輝度帯16に対応する欠損750がある。前記輝度閾値は、この輝度ヒストグラムの欠損750に対応する値(輝度帯16)として決定できる。欠損750の位置は、黒フィールドの品質、信号品質、その他要素によって変化する。これら要素は、システム毎、および番組毎に異なる。欠損750は、輝度ヒストグラムにおける傾斜を計算することによって位置を特定できる。一実施例において、各著しく異なる輝度レベルとそれが発生した連続するフレームの数とを記録する。検出した輝度レベルが、ある基準輝度レベルに合う場合、直前の輝度記録を探し、より高い輝度に続く最低輝度を見つけ、その値をその曲線の最低として記録する。引き続き以前の輝度値を探索し、さらに低い輝度値を探す。それが見つかったら、曲線上の高い点間のフレーム数を加算し、その合計と現在のフレームレートにおいて合計4秒間となるフレーム数とを比較する。その曲線のつらなりが4秒間よりも短かく、その曲線上の最低点が黒用の最大適正閾値より低ければ、その曲線を欠損として分類し、その低い値を新しい閾値候補として評価する。その低い値を新しい閾値候補として評価するため、その低い値を最近の低い値のリストに記録し、そのリストの平均と比較する。そして当該リストからの所定差よりも大きい全てのリスト要素を平均する。この第2平均の成分は前記第1平均からのものであるため、前記新しい低い値が前記第2平均からの同じ差内にあれば、その新しい低い値は、新しい閾値となる。この計算が終わると、当該輝度閾値はイベントハンドラモジュール640へ送る。
【0077】
イベントハンドラモジュール640は、映像特徴検出器モジュール610と音声特徴検出器モジュール620とが検出した映像および音声特徴を評価し、イベントをイベント索引に記録すべきかを決定する。イベントハンドラモジュール640は、黒フィールド条件モジュール642と、無音条件モジュール644と、番組論理モジュール646と、積極性設定モジュール648とを含む。
【0078】
黒フィールド条件モジュール642は、黒フィールドを識別するための閾値輝度に対し、特定フレームの輝度データを評価するための論理を提供する。黒フィールド条件モジュール642は、閾値計算器モジュール630から閾値輝度を受け取る。映像特徴検出器モジュール610がフレーム割り込みを発生すると、黒フィールド条件モジュール642は輝度値を受け取り、それと閾値輝度とを比較する。閾値輝度以下の輝度値は黒フィールドを示しており、イベントハンドラモジュール640は音声特徴検出器モジュール620から音声データを受け取る。輝度値の許容値は、積極性設定モジュール648からの情報に基づき調整できる。
【0079】
無音条件モジュール644は、特定の音声フィールドの最小および最大音声値を評価し無音を識別するための論理を提供する。無音条件モジュール644は、音声特徴検出器モジュール620から最小および最大音声値を受け取る。無音条件モジュール644は、最大値と最小値との差を計算する。その差を最大値で除算し、許容無音閾値内かを決定する。例えば許容無音閾値は、前記差が最大値の1.1−1.6%よりも少ないことであるとする。正確な閾値は、積極性設定モジュール648が決定できる。黒フィールド閾値条件と無音閾値条件との両方に適合するフレームは、イベントとして識別し、イベントインデクサモジュール650に報告する。
【0080】
番組論理モジュール646は、黒フィールド条件モジュール642と無音条件モジュール644とによる特徴の受信および評価を調整する。一実施例において、番組論理モジュール646は、評価中の映像番組を識別し、コンテンツファイル内の位置を追跡する。その位置は、映像特徴検出器モジュール610と音声特徴検出器モジュール620とが評価を行っている位置である。番組論理モジュール646は、両条件が満たされるべきかを決定し、フレームをイベントとして分類すべき許容値を決定できる。複数タイプのイベントが可能である場合、番組論理モジュール646はイベントを分類する基準を含むことができる。番組論理モジュール646は、追加のパラメータを含むことにより、黒フィールドと無音条件とに適合するフレームをイベントとして扱うべきかを選択できる。例えば番組論理モジュール646は、映像番組における経過時間を追跡し、映像番組の開始および終了近辺のある時間以内(例えば2分以内)の全フレームを対象外とする。番組論理モジュール646は、検出したイベントの位置およびタイプをイベントインデクサモジュール650に報告できる。
【0081】
積極性設定モジュール648は、映像特徴検出器モジュール610と音声特徴検出器モジュール620とから受け取った値の許容値を調整する。黒フィールド条件モジュール642と無音条件モジュール644とが定義する閾値は近似に過ぎないため、積極性設定モジュール648は、条件が適合するか否かを決定するために使用する実際の閾値を決定する。例えば、発生した閾値が低過ぎれば、幾つかの無音黒場面はイベントとしてマークされないであろう(偽の否定)。しかしながらこれは、信号品質によっておよび暗く静かな番組によって偽の肯定が発生し、番組内容がナビゲーション機能によってスキップされてしまうことより、ましである。一実施例において、積極性設定モジュール648が使用するアルゴリズムは、輝度閾値と無音閾値への組み合わせ近似に重みを付ける。一実施例において、積極性設定モジュール648はユーザ制御可能である。これは、コンテンツ品質および信号品質と偽の肯定/否定の許容リスクとに対するユーザの評価に応じて行う。
【0082】
イベントインデクサモジュール650は、イベントハンドラモジュール640が識別したイベントに応じてイベント索引を作成する。例えばイベントインデクサモジュール650は、時間ベース索引ファイル内にイベントタグを挿入し、そのイベントと映像データファイル内の特定位置とを相関させるデータポインタを提供する。またはイベントインデクサモジュール650は、別のイベント索引を作成できる。これは、イベントタグのテーブルと、それに対応するファイル位置とを含む。イベントインデクサモジュール650は、コンテンツファイル位置モジュール652とタイプ識別モジュール654とを含む。
【0083】
コンテンツファイル位置モジュール652は、ファイル位置に対応するデータ、例えばGOPや時間参照を受け取る。コンテンツファイル位置モジュール652は、既存索引内の正しい位置にイベントタグを確実に挿入する。あるいは新しい位置に対して適切な索引を確実に入力する。
【0084】
タイプ識別モジュール654は、イベントタイプに対応するデータを受け取る。イベントタイプは、例えば黒フィールド/無音イベント、コマーシャルグループ開始イベント、コマーシャルグループ終了イベント、その他イベントを含む。タイプ識別モジュール654は、イベントタグを確実に識別して索引ファイルに挿入する。イベントハンドラモジュール640が単一タイプのイベントだけを扱う場合、タイプ識別モジュール654は、イベントタグが1つのイベントタグとして指定されるようにし、時間索引データポインタ、番組開始データポインタ、番組終了データポインタ、その他データポインタと混同されないようにする。一実施例において、イベントタグは既存のファイル位置データに追加する。例えば、既存の時間索引データポインタに追加し、その既存データをイベントデータポインタとして区別する。結果としてのイベントデータポインタは、コンテンツナビゲータによって使用し、強化型ナビゲーションオプションを提供する。例えばコマーシャルスキップ機能は、黒フィールド/無音イベントデータポインタの再生分析に基づき、コマーシャルスキップを提供できる。
【0085】
図8は、イベント索引に基づいて映像提示内容をナビゲーションするためのシステム800を示す。このシステム800は、図1のDVR100等のDVRに実現できる。システム800は、デジタル映像データおよびイベント索引と関連して動作する。システム800は、イベント索引中のイベントパターンに基づいて内容遷移を識別し、その内容遷移に基づいて1以上のナビゲーションオプションを提供する。例えば、システム800は番組内容とコマーシャルまたはコマーシャルグループ間の遷移を識別し、そのコマーシャルまたはコマーシャルグループを再生中に自動スキップする機能を提供する。システム800は、複数のモジュールを含む。一実施例において、それら複数のモジュールは、コンピュータ読み取り可能記憶媒体上のソフトウエア命令において実現する。前記複数のモジュールは、DVR等のシステムにおいて実行する。かかるシステムは適切なハードウエアを含み、デジタル映像番組とイベント索引とを受信または発生する。他の実施例において、前記複数のモジュールは、ソフトウエア要素とハードウエア要素の組み合わせを含んで各機能を実現する。システム800は、コンテンツナビゲータモジュール810とグループ検出器モジュール820とを含む。
【0086】
コンテンツナビゲータモジュール810が提供する論理は、イベント索引を使用して、対応するコンテンツファイルをナビゲーションする。このファイルは、1以上の映像番組についての映像データを含む。例えば、各映像番組はその内容に1以上のコマーシャルを含んでいる。イベント索引は、番組内容とコマーシャルの遷移に対応するデータポインタを含む。コンテンツナビゲータモジュール810は、イベント索引を利用する1以上のナビゲーション機能を提供する。例えばコンテンツナビゲータモジュール810は、コマーシャルスキップ機能、コマーシャルだけ機能、その他機能を提供できる。コンテンツナビゲータモジュール810は、グループ検出器モジュール820によって支援可能である。これは、イベント索引中のパターンを検出し、イベントで分離されたコンテンツタイプ(例えば番組またはコマーシャル)を特定する。コンテンツナビゲータモジュール810は、索引読み出しモジュール812と、ナビゲーション機能モジュール814と、機能インジケータモジュール816と、制御インタフェースモジュール818とを含む。
【0087】
索引読み出しモジュール812は、イベント索引からイベントデータを選択的に読み出す。このイベントデータはイベントタグを含む。イベントタグは、そのイベントに対応するファイル位置へのデータポインタを含む。イベントタグはさらに、イベントタイプを識別するためのイベント識別子を含む。索引読み出しモジュール812は、イベントタグの特別なタイプを識別できる。これは、コンテンツナビゲータモジュール810が提供するナビゲーション機能に関係したものである。例えば、提供する機能がコマーシャルナビゲーションを含む場合、索引読み出しモジュール812は黒フィールド/無音イベント用のイベントタグを選択し、それを使って番組内容とコマーシャルとを分離する。索引読み出しモジュール812は、イベント索引からイベントデータを取り出す。これは、コマーシャルスキップ機能を有効にした再生等、機能の開始に合わせて行う。取り出したイベントデータは、追加の処理を行ってから、ナビゲーション機能に使用する。この場合、追加の処理は、グループ検出器モジュール820等の他のモジュールが提供する。索引読み出しモジュール812は、取り出したイベントデータを他のモジュールへ送り、そのモジュールから処理済みイベントデータを受け取り、その処理済みデータをナビゲーション機能モジュール814へ送る。
【0088】
ナビゲーション機能モジュール814は、イベントデータに基づいて1以上のナビゲーション機能を提供するための論理を含む。例えばナビゲーション機能モジュール814は、コマーシャルスキップ機能の論理を提供できる。ナビゲーション機能モジュール814は、索引読み出しモジュール812からイベントデータを受け取る。例えば、コマーシャルグループの開始および終了に対応する処理済みイベントデータポインタを受け取る。再生中、ナビゲーション機能モジュール814は、映像データストリームを監視し、コマーシャルグループ開始位置を特定する。その位置に到達すると、ナビゲーション機能モジュールは、機能インジケータモジュール816を呼び出し、ユーザにコマーシャルスキップを知らせる。次にナビゲーション機能モジュール814は、再生ストリームをコマーシャルグループ終了へ導き、通常再生を再開する。一実施例において、ナビゲーション機能モジュール814は、機能識別子を有するコマーシャルグループ開始前の番組映像ストリームと、そのコマーシャルグループ終了後の番組映像ストリームとを連続させる。ナビゲーション機能の開始、中断、その他制御は、制御インタフェースモジュール818内に定義した制御信号を使用して行う。
【0089】
機能インジケータモジュール816は、機能が動作していることをユーザに知らせるための機能インジケータを提供する。機能インジケータモジュール816は状態インジケータを含むことができる。これは例えばLEDや他の表示であり、DVR制御パネルやリモートコントロール上にある。他の状態インジケータとしては、オンスクリーングラフィック重畳がある。これは例えばアイコン重畳、「コントロールパネル」ポップアップメニューにおける有効機能リスト等である。機能インジケータモジュール816は、1以上の動作インジケータを含むことができ、ナビゲーション機能によって特定の動作が行われていることをユーザに知らせることができる。例えばコマーシャルグループがスキップされていることを知らせる。例えば機能インジケータモジュール816は、実際の動作中において、状態インジケータに似たインジケータや状態インジケータの変更形態(例えば点滅するLED)を提供できる。一実施例において、カスタムインジケータアルゴリズムにより、動作中におけるインジケータを作成できる。例えば、機能インジケータモジュール816は、特定のコマーシャルグループがスキップされる時にカスタムインジケータを発生できる。インジケータアルゴリズムの一例は、コマーシャルグループの第1コマーシャルの一部(例えば3−5秒)をサンプルし、コマーシャルグループの最終コマーシャルの一部(例えば5−10秒)をサンプルし、その2つを連続させ、それらにアイコンを重畳させる。その結果としてのインジケータは、各コマーシャルグループ毎に異なり、動作と内容がスキップされることとをユーザに知らせる。別のアルゴリズムは、コマーシャルグループ内の各コマーシャルの一部を連続させ、連続させた部分の長さを変化させ、あるいはグラフィック重畳を介して追加情報(例えばスキップしたコマーシャルの長さおよび数)を提供する。機能インジケータモジュール816はインジケータを提供するに当たり、ナビゲーション機能モジュール814によるナビゲーション機能の実行と協働する。
【0090】
制御インタフェースモジュール818は、ナビゲーション機能モジュール814の動作とDVRの一般動作との間にインタフェースを提供する。制御インタフェースモジュール818は、ナビゲーション機能の開始、実行、および/または終了とDVR動作とを相関させる。制御インタフェースモジュール818は、他のDVR機能とナビゲーション機能との間の互換性を定義する。制御インタフェースモジュール818は、ナビゲーション機能に関する開始イベント、モード信号、制御信号を定義する。一実施例において、制御インタフェースモジュール818は、ナビゲーション機能の始動を管理する1以上の変数を定義することができる。これは、DVRが特定の状態、例えば再生モード、再生メニューモード、ライブ鑑賞モード、番組ガイドメニューモード等にある場合に行う。例えば、コマーシャルスキップ機能は、再生中に稼働または非稼働にできる。制御インタフェースモジュール818は、コマーシャルスキップ機能を稼働モードと非稼働モードとの間でトグルするための1以上の制御信号を定義できる。これは例えばリモートコントロールのボタン(およびそこからの対応する制御信号)に関連して定義する。コマーシャルスキップ機能は、メニューモードにおいて非稼働である。しかしながらユーザは、次に鑑賞する番組をコマーシャルスキップ稼働モードで開始するか、非稼働モードで開始するかを選択したい場合がある。制御インタフェースモジュール818は、メニューシステムを介して汎用初期設定を提供し、再生開始において(例えば再生ボタンを押した時)コマーシャルスキップ機能が稼働であるか非稼働であるかを定義できる。制御インタフェースモジュール818はメニューオプションを提供し、再生メニューから再生が選択された時、コマーシャルスキップ機能を稼働にするか否かを選択できるようにすることも可能である。制御インタフェースモジュール818は、ライブ鑑賞モードまたは遅延鑑賞モード(再生の一形式)であって、イベントをバッファし処理しコマーシャルグループを識別する十分な時間がない(例えば2分以下の時間遅延)場合は、常にコマーシャルスキップを非稼働にするよう定義できる。制御インタフェースモジュール818は、ナビゲーション機能と同一モードで稼働する他のナビゲーション機能との互換性を定義できる。他のナビゲーション機能とは、再生モード中の即時再生、スローモーション、早送り、前方スキップ、および反転である。他のナビゲーション機能にも、動作モードおよび制御信号に対する関係を定義できる。制御インタフェースモジュール818は、グラフィカルユーザインタフェースを介して制御信号を提示するための合図、グラフィクス、および論理構造を含むことができる。
【0091】
グループ検出器モジュール820は、ナビゲーション機能において、イベント索引の作成とイベントデータの利用との間に、イベント処理の追加レイヤを提供する。グループ検出器モジュール820は、一連のイベントを分析し、イベントパターン認識を使うことにより、イベントによって分離されている内容をコマーシャル内容または番組内容として識別する。他の実施例において、グループ検出器モジュール820は、各種イベントタイプを処理し、より複雑な識別方法に基づき内容部分を分類する。例えば、映像処理またはメタデータを使用し、内容に関するより詳細な情報を抽出し、各番組区間、コマーシャルタイプ、ニュース区間等を分類できる。図示の実施例において、グループ検出器モジュール820は、イベントバッファモジュール822と、間隔計算モジュール824と、グループ化論理モジュール826と、イベントタイプ論理828とを含む。
【0092】
イベントバッファモジュール822は、イベント索引からイベントを受け取って集計する。一実施例において、イベントバッファ822は、コンテンツナビゲータモジュール810が索引ファイルから読み出した選択イベントを受け取る。イベントバッファモジュール822は、複数のイベントを分析用に保存する。一実施例において、イベントバッファモジュール822は、設定時間、例えば2分間イベントデータを一時保存する。例えばイベントバッファモジュール822は、2分間リングバッファを含むことができる。他の実施例において、イベントバッファモジュール822は、映像番組の全期間にわたりイベントデータを一時保存する。さらに他の実施例において、イベントバッファモジュール822は所定数のイベントを保存する。この時、最も早く保存したイベントデータは、イベントスタックから押し出され、新しいイベント用のスペースを作る。グループ検出器モジュール820内の他のモジュールは、イベントバッファモジュール822が保存したデータを分析する。
【0093】
間隔計算モジュール824は、隣接イベント間の間隔を計算する。間隔計算モジュールは、イベントバッファモジュール822内に隣接イベントの位置を探し、両者間の経過時間を計算する。計算した経過時間は、グループ化論理モジュール826へ送ってさらに処理する。他の実施例において、間隔計算モジュール824は、各イベントが一時保存される時にイベント間の間隔を計算する(イベントバッファモジュール822は2イベント以上を保持する必要がない)。計算した間隔は間隔バッファに追加し、グループ化論理モジュール826がさらに処理する。
【0094】
グループ化論理モジュール826は、一連のイベントに基づきコマーシャルグループを識別するための論理を提供する。一実施例において、グループ化論理は、コマーシャル長さ間隔を選択するための条件とコマーシャルグループ用の最低条件とを含む。例えば、コマーシャル長さ間隔は、0−35秒、38−40秒、43−47秒、56−60.5秒の間隔を含むことができる。コマーシャルグループ用の最低条件は、少なくとも2つの隣接コマーシャル長さがあること、グループの合計時間は少なくとも59秒であることを含む。別のグループ化論理は、番組間隔(例えば>120秒)の識別、番組提示内のコマーシャル間隔(例えば1番組に12分間)の位置の識別を含む。さらに複雑なグループ化論理を使用しても良い。これは、複数のイベントタイプを評価する場合である。コマーシャルグループを識別したら、そのコマーシャルグループ内のイベントをイベントタイプ論理828へ送り、そのイベントをさらに分類し、コンテンツナビゲータモジュール810が使用できるようにする。
【0095】
イベントタイプ論理828は、識別したコマーシャルグループ近辺のイベントを分類する。コンテンツナビゲータモジュール810は、特定タイプのイベントを識別する能力および映像データにおいてそれがどこに現れるかを識別する能力に基づいて動作する。例えば、コマーシャルスキップ機能は、コマーシャルグループの開始および終了を識別することに依存する。別のコマーシャル機能は、隣接コマーシャルの開始を識別することに依存する。他の機能は、他の要件を有する。一実施例において、イベントタイプ論理828は、コマーシャルグループに先立つイベント(コマーシャルグループ開始)と、コマーシャルグループに続くイベント(コマーシャルグループ終了)とを識別する。一実施例において、イベントタイプ論理828は、コマーシャルグループ内のコマーシャル間のイベントを識別する。識別したイベントにはタグを付け、コンテンツナビゲータモジュール810が使用できるようにする。あるいはコンテンツナビゲータモジュール810へ送る。一実施例において、イベントに識別子を割り当て、複数のナビゲーション機能でそれを利用する。
【0096】
他の実施例において、グループ検出器モジュール820は、図6のイベントハンドラモジュール640等のイベントハンドラと関連して動作する。イベントグループを検出し、イベントを識別し、イベント索引に追加する。例えば、イベントハンドラが検出したイベントは、グループ検出器モジュール820に一時保存し、グループ検出器モジュール820は、選択したイベントを識別し、適切なタグをイベントインデクサモジュールへ送り、イベント索引に保存する。この別実施例において、グループ検出器モジュール820は、前記とは別の方法で動作する。
【0097】
図9は、イベント索引を発生する方法900を示す。方法900を実行する場合、図1−8に関連して説明した各システムの一実施例を使用する。方法900の各ステップの詳細は、前記各システムの説明を参照できる。ステップ910において、映像信号を受け取る。例えば、映像信号はDVRが放送ソースから受け取ることができる。ステップ920において、その映像信号からイベントを検出する。例えば、黒フィールドおよび無音フレームイベントを映像信号から検出する。ステップ930において、検出したイベントに対応するイベントタグをイベント索引に保存する。例えば、検出した黒フィールドおよび無音フレームに関する位置情報をイベント索引に保存し、後からそれをナビゲーション機能において使用できるようにする。
【0098】
図10は、イベント索引を使ってコンテンツナビゲーションを提供する方法1000を示す。方法1000は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1000の各ステップの詳細は、前記各システムの説明を参照できる。方法1000は、方法900を使って作成したイベント索引に関連して実行できる。ステップ1010において、ナビゲーション機能を開始する。例えば、コマーシャルスキップ機能をオンにした再生をDVRで開始する。ステップ1020において、イベント索引を読み出す。例えばDVRは、再生しようとする番組に対応する索引ファイルをあらかじめ走査し、イベントタグを見つける。ステップ1030において、イベント索引からのイベントをイベントバッファに一時保存する。例えばDVRは、現在の再生位置から映像番組の2分間前方のイベントを一時保存できる。ステップ1040において、一連の一時保存イベントからイベントグループを検出する。例えばコマーシャルグループに対応するイベントを識別する。これは一時保存したイベント間の間隔パターンに基づいて行う。ステップ1050において、イベントグループ内の位置に基づき、1以上のイベントを識別する。例えばコマーシャルグループの開始および終了に対応するイベントを識別する。ステップ1060において、識別したイベントに基づくナビゲーション機能を実行する。例えばDVRは、コマーシャルグループの開始に対応するイベントの位置から、そのコマーシャルグループの終了に対応するイベントの位置までスキップすることにより、そのコマーシャルグループをスキップする。
【0099】
図11は、イベント索引を作成する方法1100を示す。方法1100は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1100の各ステップの詳細は、前記各システムの説明を参照できる。ステップ1110において、映像信号を受け取る。例えばその映像信号はDVRが放送ソースから受け取ることができる。ステップ1120において、その映像信号からイベントを検出する。例えば黒フィールドおよび無音フレームイベントを映像信号から検出できる。ステップ1130において、検出したイベントをイベントバッファに一時保存する。例えばDVRは映像番組時間の2分間に対応する検出黒フィールドおよび無音フレームイベントを一時保存できる。ステップ1140において、一連の一時保存イベントからイベントグループを検出する。例えば一時保存イベント間の間隔パターンに基づき、コマーシャルグループに対応するイベントを検出できる。ステップ1150において、イベントグループ内の位置に基づき、1以上のイベントを検出する。例えばコマーシャルグループの開始および終了に対応するイベントを識別できる。ステップ1160において、検出したイベントに対応するイベントタグをイベント索引に保存する。例えば識別したコマーシャルグループの開始および終了イベントに関する位置情報をイベント索引に保存し、ナビゲーション機能において後から使用する。
【0100】
図12は、イベント索引を使ってコンテンツナビゲーションを提供する方法1200を示す。方法1200は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1200の各ステップの詳細は、前記各システムの説明を参照できる。方法1200は、方法1100を使って発生したイベント索引との関連で実行できる。ステップ1210において、ナビゲーション機能を開始する。例えばコマーシャルスキップ機能をオンにした再生をDVRで開始する。ステップ1220において、イベント索引を読み出す。例えばDVRは、再生しようとする番組に対応する索引ファイルをあらかじめ走査し、コマーシャルグループの開始と終了に対応するイベントタグを見つける。ステップ1230において、識別したイベントに基づくナビゲーション機能を実行する。例えばDVRは、コマーシャルグループの開始に対応するイベントの位置から、そのコマーシャルグループの終了に対応するイベントの位置までスキップすることにより、そのコマーシャルグループをスキップする。
【0101】
図13は、黒フィールド検出閾値を決定する方法1300を示す。方法1300は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1300の各ステップの詳細は、前記システムに関する図6の説明を参照できる。ステップ1310において、複数の輝度帯を定義する。例えば、完全な明から完全な暗までの映像フレーム輝度を64の等間隔帯に分割する。ステップ1320において、検出ウインドウを定義する。例えばその検出ウインドウは、放送業者ロゴや透かしに一般的に使用される領域を除く全映像フレームを含んで定義できる。ステップ1330において、選択した映像フレームの検出ウインドウ内における全ピクセルの輝度成分を合計する。例えば各ピクセルの輝度成分を順次加算し、合計輝度値を計算する。ステップ1340において、そのフレームを輝度ヒストグラムに追加する。例えばステップ1330にて計算した合計輝度は第23輝度帯に入るとする。その場合、その輝度帯内のフレーム数を1だけ増分する。ステップ1350において、別のフレームを処理用に選択し、ステップ1330に戻る。例えば映像番組内の次のフレームを分析用に選択できる。ステップ1360において、黒フィールドと通常映像内容との間の閾値帯を識別する。例えば番組内容に対応する第1ピークと黒フィールドに対応する第2ピーク間の輝度帯を識別する。ステップ1370において、識別した閾値帯に基づき、閾値を計算する。例えば識別した帯の高い値、低い値、または中間の値に閾値を設定できる。
【0102】
図14は、映像データストリーム内に映像イベントを検出する方法1400を示す。方法1400は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1400の各ステップの詳細は、前記システムの図6に関連した説明を参照できる。ステップ1410において、検出ウインドウを定義する。例えばDVRは、放送業者ロゴや透かしに一般的に使用される領域を除く全映像フレームを含んで検出ウインドウを定義できる。ステップ1420において、選択した映像フレームの検出ウインドウ内における全ピクセルの輝度成分を合計する。例えばDVRは各ピクセルの輝度成分を順次加算し、合計輝度値を計算する。ステップ1430において、フレーム割り込みを発生する。例えばDVRは現在フレーム用の映像データの最後に到達し、合計輝度値を次の計算に使う準備をする。ステップ1440において、合計輝度と輝度閾値とを比較する。例えばDVRはフレームの合計輝度と、図13の方法1300を使って計算した輝度閾値とを比較する。合計輝度が輝度閾値より小さければ、黒フィールドイベントを検出する。ステップ1450において、そのフレームに関する無音検出をオプションで開始する。例えばDVRは、処理済み映像フレームに対応する音声データに対し、音声イベント検出方法を開始できる。
【0103】
図15は、映像データストリームにおける音声イベントを検出する方法1500を示す。方法1500は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1500の各ステップの詳細は、前記システムの図6に関連した説明を参照できる。ステップ1510において、音声チャンネルを選択する。例えばDVRは、特定映像フレームに関連する複数チャンネル音声トラックから左音声チャンネルを選択できる。ステップ1520において、音声に関する最小値および最大値を決定する。例えばDVRは音声チャンネルの周波数を走査し、最大値および最小値を探す。ステップ1530において、最大値と最小値間の百分率差を決定する。例えばDVRは最大値と最小値間の差を計算し、それを最小値で除算し、百分率差を計算する。ステップ1540において、閾値音声条件を決定する。例えばDVRはあらかじめ決定した閾値百分率差1.6%を使用できる。ステップ1550において、計算した百分率差と閾値条件とを比較し、その条件に合うか否かを決定する。例えばDVRは計算した百分率差が閾値1.6%より小さいか否かを決定する。もし小さければ音声イベントを検出する。
【図面の簡単な説明】
【0104】
【図1】図1は本発明の実施例を実現すべくあるいはそれを含むべく構成可能なデジタルビデオレコーダを示すブロック図である。
【図2】図2は本発明の実施例が動作可能なシステムの一例を示す概略図である。
【図3】図3は本発明の一実施例を動作させないおよび動作させた録画内容を示す図である。
【図4】図4は本発明の実施例に関連して使用可能なユーザインタフェース表示例を示す図である。
【図5】図5は図1のデジタルビデオレコーダ等において実施可能な本発明の一実施例を示すブロック図である。
【図6】図6は本発明の一実施例に基づく、イベント索引作成システムの各モジュールを示すブロック図である。
【図7】図7は本発明の一実施例に基づく、黒フィールド検出閾値を決定するための輝度ヒストグラム例を示す図である。
【図8】図8は本発明の一実施例に基づく、コンテンツナビゲーション提供システムの各モジュールを示すブロック図である。
【図9】図9は本発明の一実施例に基づく、イベント索引作成方法の第1例を示すフローチャートである。
【図10】図10は本発明の一実施例に基づく、コンテンツナビゲーション提供方法の第1例を示すフローチャートである。
【図11】図11は本発明の一実施例に基づく、イベント索引作成方法の第2例を示すフローチャートである。
【図12】図12は本発明の一実施例に基づく、コンテンツナビゲーション提供方法の第2例を示すフローチャートである。
【図13】図13は本発明の一実施例に基づく、黒フィールド検出閾値決定方法の一例を示すフローチャートである。
【図14】図14は本発明の一実施例に基づく、映像イベント検出方法の一例を示すフローチャートである。
【図15】図15は本発明の一実施例に基づく、音声イベント検出方法の一例を示すフローチャートである。
【技術分野】
【0001】
発明の背景
1.技術分野
本発明は、映像録画システムの分野に関し、さらに詳しくは、映像コンテンツを記録し、索引を付け、ナビゲーションを行うシステムおよび方法に関する。
【0002】
2.関連技術の説明
映像録画技術、例えばビデオカセットレコーダ(VCR)やデジタルビデオレコーダ(DVR)は、ビデオ番組をいつどのように見るかに関して、消費者が制御することを向上してきた。VCRの登場以来、消費者は放送映像(例えばテレビ放送、ケーブル放送、衛星放送)を記録し、後からそれを見ることができるようになった。映像番組は、ビデオカセット等の記憶媒体に記録する。ユーザは、そのビデオカセットからの番組を余暇に見ることができる。VCRは、保存した番組を見る上で、ナビゲーション機能も提供する。VCRは例えば、番組の各部において、それを見ながらあるいは見ないまま、一時停止、早送り、巻き戻しをユーザに可能にする。いくつかのVCRは、追加のナビゲーション機能を提供する。スローモーション、可変早送り、可変巻き戻し等である。ただしこれら機能の品質は、関係するアナログ技術によって限度がある。録画番組を見る消費者は、早送り機能を使用し、見たくない内容を早送りできる。この機能は、一般的に、録画番組のコマーシャルをスキップするために使われるようになった。
【0003】
録画番組におけるコマーシャルを迅速に正確に避ける能力を消費者が望んでいることに鑑み、コマーシャルを自動的に識別しスキップするVCR機能が開発された。このVCRは、アナログまたはデジタル映像処理を使用し、一般的にコマーシャルを示すイベントを映像信号中に識別する。このようにして共通に識別されるイベントは、黒フィールド(コマーシャル間に挿入される「黒」映像フレーム)、無音フィールド(黒フィールドがしばしば随伴する「空白」音声)、および急激な音量変化(コマーシャルがしばしば随伴する音量上昇)等である。残念ながら、これらイベントは、番組自体およびコマーシャル内外でも発生することがある。
【0004】
コマーシャルは、定義可能なパターンの後に続くコマーシャルグループ内にほぼ常に存在する。黒フィールドイベントおよび無音フィールドイベントは、コマーシャルグループ内の各コマーシャルを分離することもある。単独のイベントに基づきコマーシャルを識別することの限界を克服するため、パターンマッチング論理をVCRに使用し、コマーシャルグループ内のイベントパターンを特定する。特定したイベントは、バッファに一時保存する。バッファ内の一連のイベントは、イベント間のスペースに基づき分析する。所定パターンが認識できれば、コマーシャルグループを識別できる。コマーシャルグループを識別したら、適切なマーカをビデオカセットに記録する。これは通常、制御トラックに書き込む。再生において、開始マーカから自動早送りを開始する。この早送りは、そのグループの終了マーカに到達するまで続行する。そこに到達したら、VCRは通常再生モードに戻る。コマーシャルスキップ論理は、自動早送り中、青色画面等の映像表示も提供できる。
【0005】
コマーシャルスキップVCRは、その使い勝手および効果を低減させるような多くの欠点を有する。第1に、イベントを正確に検出することがそれほど簡単ではない。信号の品質は、黒フィールドおよび無音フィールドの品質を大きく左右する。信号が実際にゼロであることはほとんどない。また、多くのテレビネットワークおよびコンテンツプロバイダは、透かしやロゴを実行しており、これらは黒フィールドスクリーンにも現れる。配信システム、ネットワーク、およびコンテンツプロバイダのいずれもが、黒フィールドおよび無音フィールドの品質に影響を与える。コマーシャルと番組内容との分離に使用するフレームには、他のタイプもある。全画面ロゴや黒以外の単色画面である。多様で複雑なイベントは、デジタル放送環境において増加する一方であり、ネットワークや広告提供者による、コマーシャル検出を避けるための予防措置もある。黒フィールドや無音フィールド等のイベントを検出するための改良方法が望まれている。
【0006】
また、コマーシャルグループを識別するために使用可能なイベントパターンは多岐にわたる。番組における場面展開が混乱すると、コマーシャルグループあるいはその一部を誤って識別することになり、番組内容を自動的にスキップしてしまうことにもなる。現在行われているコマーシャルスキップ論理は、番組の開始または終了近辺のコマーシャルグループを識別しようとしない。そこにはクレジット、ティーザ広告、予告があり、番組内容とコマーシャルとを分離することが困難である。イベントパターンは、ネットワーク、番組、日、週、年によって変化する。またイベントパターンは、広告提供者および視聴者の好みにより、時と共に変化する。特にイベントパターンは、現行システムのパターン認識論理を放送提供者が避けようとするため、変わりやすい。そこで、パターン認識論理を更新し実行する改良方法が必要である。
【0007】
コマーシャルスキップVCRは、初回録画中あるいは初回再生中にコマーシャルを識別せずマークしない。パターンマッチング機能は、複数のイベントを記憶してからでないと、コマーシャルグループの開始を表す前方イベントを識別できない。コマーシャルグループの開始および終了を識別するマーカは、ビデオカセットに保存する。コマーシャルグループを識別した後、ほとんどのVCRの読み取りヘッドおよび書き込みヘッドは、コマーシャルグループの開始までテープを巻き戻し、そのビデオカセットに開始マーカを記録せねばならない。初回記録後、コマーシャルスキップ機能で録画を鑑賞できるようにするため、ほとんどのコマーシャルスキップVCRは、ビデオカセットを一度走査し、イベントを識別し、コマーシャルグループを識別し、そのコマーシャルグループをビデオカセットにマークする。従って、保存したコマーシャルグループに索引を付ける改良方法が求められている。
【0008】
コマーシャルスキップVCRは、識別したコマーシャルおよびコマーシャルグループに対し、限定的なナビゲーションオプションしか提供しない。順次録画および再生は、ビデオカセットに保存した映像コンテンツをナビゲーションするための実際的オプションを制限している。ほとんどのコマーシャルスキップVCRが提供する唯一のナビゲーションオプションは、制御トラックに記録した開始および終了マーカに基づき、識別済みコマーシャルをスキップすることである。この機能は一般に2値的である。すなわちオンかオフである。しかしながらユーザは、コマーシャルグループ等の識別済み映像コンテンツをいつどのように見るかあるいは見ないかについて、より多くの制御を望んでいる。従って、索引を付けたコマーシャルグループをナビゲーションする改良方法が求められている。
【0009】
DVRは、放送映像コンテンツを保存し、管理し、鑑賞する方法に革新をもたらしている。DVRの内蔵システムは、映像番組やコマーシャル等の映像コンテンツを受信し、デジタル保存し、再生する。DVRは一般に、ハードドライブ等のデジタル保存媒体を用い、圧縮した映像コンテンツをデジタル保存する。映像コンテンツはデジタル保存するものの、その受信および再生はアナログ信号で行うことが多い。すなわち1以上のアナログ/デジタル変換器を必要とする。DVRは映像コンテンツの受信、保存、鑑賞に関し、多数の改良を提供している。例えば、対話式番組案内、保存コンテンツの対話式管理、新規コンテンツの自動保存、強化型ナビゲーション機能、ファイル共有、および通信機能である。これら改良機能の多くは、多量のデータ処理、メモリ、ネットワーク、およびグラフィカルインタフェース重畳等の能力を必要とする。より柔軟な保存システム(例えばデジタルファイルシステム)、強化した処理能力、および遍在ネットワーク技術を組み合わせることで、DVRに大きな可能性を提供でき、VCRの多くの限界を克服できる。
【0010】
ほとんどのDVRは、MPEG等のデジタル圧縮基準を用い、映像コンテンツを圧縮映像ファイルとして保存する。かかる映像ファイルに時間ベースでアクセスしナビゲーションするため、DVRは、その映像ファイルの時間索引を含んだ随伴索引ファイルを作成できる。例えばその索引ファイルは、GOP(ピクチャグループ、MPEG圧縮データの単位)と経過時間とを関連付ける。DVRは、再生において、索引ファイルからのデータを使用し、映像データストリームの時間ベース操作が可能である。索引ファイルの追跡速度を変化させることにより、ナビゲーションオプションを強化できる。例えばスローモーション、早送り、巻き戻しを可変速度で行うことができ、しかも従来のアナログシステムより忠実度を良くできる。索引ファイルは、コンテンツファイルへの順次アクセスからシステムを解放し、コンテンツファイルのいずれの時間点へも直接アクセスできるようにする。索引ファイルのこの特徴を利用し、即時再生および前方スキップ機能が提供されてきた。これら機能は、再生中のデータストリームにおいて、あらかじめ定義した前方ジャンプまたは後方ジャンプを提供する。これらは一般に、ユーザがもう一度見たい内容を再視聴するため、または全く見たくない内容をスキップするために使う。前方スキップ機能の好まれる使用方法は、コマーシャルグループを迅速にスキップすることである。30秒の前方スキップは、コマーシャルを迅速にナビゲーションする上で極めて有効である。コマーシャルは、約30秒あるいはその倍数で放映されることが多いからである。このような方法で使う場合、ユーザはコマーシャルの存在を識別し、前方スキップを稼働させる。これは一般に、リモートコントロールの所定ボタンを用いる。ユーザは、別のコマーシャルがあると、再び前方スキップを稼働させる。これを繰り返すことにより、所望の番組内容に到達する。望ましいことは、前方スキップがユーザを行き過ぎさせないことであり、ユーザが見たいと思っている内容を見失わないことである。再生中においてコマーシャルを避けるこの方法は、DVRユーザに人気のあることが分かったが、コマーシャルを検出し、それらを自動的にスキップするための、さらに改良された方法が求められている。
【発明の概要】
【0011】
以下に説明する本発明の実施例は、映像信号または映像データストリームにおける識別可能イベントに基づき、映像コンテンツのナビゲーションを強化することを提供する。これら実施例は、改良した方法において、保存した映像番組中のコマーシャルを自動的にスキップすることをユーザに可能にする。映像コンテンツに対応する映像データは、第1ファイルに保存する。映像データ内の各位置に対応するデータポインタは、第2ファイルに保存し、イベント索引を作成する。これらデータポインタは、映像コンテンツにおいてあらかじめ定義したイベントおよびイベントのパターンに基づき作成する。これらは例えば、映像番組とコマーシャルとの間を示す映像および音声イベントである。データポインタは、映像コンテンツをナビゲーションするために使用できる。例えば、コマーシャルを自動スキップするために使用できる。本発明のいくつかの実施例は、コマーシャルを検出する方法、映像コンテンツの強化型ナビゲーションを提供する方法、コマーシャル検出用ソフトウエア命令を含むコンピュータ読み取り可能記憶媒体、コマーシャル検出および/または強化型ナビゲーションが可能なビデオレコーダを含む。
【0012】
本発明実施例の前記およびその他特徴を以下に詳述する。説明全体を通して添付図面を参照する。
【発明の詳細な説明】
【0013】
以下において、本発明に基づく1以上の実施例の詳細を説明する。この詳細は、システム構成、ブロックモジュール図、フローチャート、および記述を含む。これら詳細は、本発明の1以上の実施例を理解する上で一助となるが、当業者には明らかな通り、本発明を実施する上で必要なものではない。
【0014】
図1のブロック図は、コマーシャル検出を含んで構成した本発明の一実施例に基づくDVR100を示す。DVR100は、AV入力モジュール102と、プロセッサ104と、メモリ106と、AV出力モジュール108と、データ記憶媒体110と、モデム112と、従来のバス構成に相互接続したネットワークインタフェース114とを含む。一般にプロセッサ104は、例えばメモリ106に記憶した命令を実行し、いくつかの本発明実施例が提供するような機能を提供する。追加メモリとしてROMおよび/またはEEPROM(図示せず)を使用し、ブートアップシーケンス命令やDVR機能更新等の情報を格納しても良い。ネットワークインタフェース114は従来品であり、イーサネット(登録商標)ベースのネットワークに接続可能なものが好ましい。この接続を利用してホームネットワークに接続すると共に、一方でインターネットや各種ブロードバンド等のWANに接続する。
【0015】
ユーザは、DVR100の動作を制御する場合、DVR100の筐体の外側からパネルインタフェース132を介して制御信号を送る。あるいはリモートコントロールから制御信号を送る。この制御信号は、リモート信号インタフェース134を介して従来方法で受信する。他の従来の電子入力装置を使用してDVR100へのユーザ入力を行っても良い。例えばキーボード、タッチスクリーン、マウス、ジョイスティック等である。これら装置は、DVR100や関連ハードウエア(例えば映像表示装置、オーディオシステム等)に内蔵しても良いし、従来のポート(例えばシリアル接続、USB等)や無線信号受信器(例えば赤外線、ブルートゥース(登録商標)、802.11b等)とのインタフェースを介して接続しても良い。
【0016】
AV入力モジュール102は、各種従来インタフェースを介して入力を受け取る。例えば同軸RF/Ant、Sビデオ、コンポーネント音声/映像、ネットワークインタフェース等を介して入力を受信する。この受信信号は、標準NTSC放送、高精細(HDTV)放送、標準ケーブル、デジタルケーブル、衛星、インターネット等を送信元とする。AV入力モジュール102は、適切な従来の同調および/または復号機能を含んで構成する。DVR100はさらに、他の装置からの入力も受信する。例えばセットトップボックス、メディアプレーヤ(例えばVCR、DVDプレーヤ等)である。例えばセットトップボックスは、1信号フォーマットを受信し、NTSC信号等の従来フォーマットをDVR100へ送る。セットトップボックス、メディアプレーヤ等の装置の機能は、DVR100に組み込み、1以上のリソースを共有することができる。
【0017】
AV入力モジュール102はさらに、1以上のMPEG符号化モジュールを含み、第1フォーマット(例えばアナログNTSCフォーマット)からMPEGフォーマット(例えばMPEG2等)へ信号を変換する。変換した信号は、メモリ106またはハードディスク等のデータ記憶媒体110に保存できる。一般にデータ記憶媒体110に保存したフォーマット済みデータに対応するコンテンツは、即座にあるいは後から視聴できる。MPEGデータに関連する追加情報を保存すれば、録画番組を管理および識別することができる。他の実施例は他の適切な圧縮方法を使用できる。
【0018】
AV出力モジュール108は、グラフィクスモジュール122と、映像デコーダ124と、音声デコーダ126とを含む。映像デコーダ124と音声デコーダ126とは、好ましくはMPEGデコーダであり、データ記憶媒体110に保存したMPEGデータを取得し、それを表示装置互換フォーマットに変換する。このフォーマットは代表的にNTSCフォーマットであり、従来のテレビセットで容易に受信できる。グラフィクスモジュール122は、各種ガイド情報および制御情報を受信し、互換フォーマットの信号を対応する表示装置へ出力する。
【0019】
DVR100は、ガイド情報を処理する。この情報は、システム(例えば放送システム)が現在および将来提供するコンテンツとDVR100がすでに保存したコンテンツとを説明し、ナビゲーションを可能にする。このような情報を表示するガイドは、一般にコンテンツガイドと呼ぶ。このコンテンツガイドは、チャンネルガイドおよび再生ガイドを含む。チャンネルガイドは、利用可能なコンテンツを表示し、そこから各番組を選択して現在または将来の録画および鑑賞に備える。一例としてチャンネルガイドは、多数の放送テレビ番組をリスト表示し、ユーザは1以上の番組を選択して録画できる。再生ガイドは、DVR100が保存しているあるいは即座に保存可能なコンテンツを表示する。このガイドについては、別の用語を使うこともある。例えば、プログラミングガイド等と呼ぶこともある。コンテンツガイドという用語は、それら代替用語の全てを包括することを意図している。
【0020】
DVR100は、パーソナルビデオレコーダ(PVR)と呼ぶこともある。本発明の実施例を包含するDVRの一例は、カリフォルニア州サンタクララのソニックブルー社が提供するリプレイTVブランドのDVRである。リプレイガイドは、リプレイTV・DVRが実施する再生ガイドの一例である。
【0021】
DVR100のいくつかのモジュールは図1に示す通りであるが、本発明は異なる特徴を有する構成要素も考慮し包含する。例えば一形態として、電話回線モデムを省略し、代わりにコンジットを使って本発明の実施に使用するガイドデータおよびその他情報を取得しても良い。また他の形態として、例えばスマートカード技術を実施する条件付きアクセスモジュール(CAM)等の機能を付加し、特定のコンテンツプロバイダまたは放送業者と連携して動作させ、コンテンツへのアクセスを制限しても良い。
【0022】
また本実施例および本発明の他の実施例は、DVRまたはPVRに関連して説明するが、他の装置にも等しく適用可能である。例えばセットトップボックス(STB)、ケーブルSTB、衛星STB、同様機能を有するモジュールを内蔵したテレビ等に適用可能であるが、これらに限定するものではない。
【0023】
本実施例において、DVRメモリ106は、コマーシャルインデクサ140と、番組ナビゲータ150とを含む。データ記憶媒体110は、少なくとも1つのコンテンツファイル160と、少なくとも1つの索引ファイル170とを含む。コマーシャルインデクサ140と番組ナビゲータ150とコンテンツファイル160と索引ファイル170とは、再生中において映像コンテンツの強化型ナビゲーションを提供するために使用する。
【0024】
コマーシャルインデクサ140は、映像信号またはデータストリームにおける音声および/または映像イベントの自動検出を提供する。例えば検出したイベントは、映像データの内容における遷移に関連している。遷移とは、例えばコマーシャルと番組内容との間における途切れである。検出したコマーシャルは、非番組内容を含んでいる。非番組内容とは、例えば有料広告、局識別部、予告、その他番組中断部である。コマーシャルは、連続する区画からなることが多い。すなわちコマーシャルグループである。これは番組内容の枠内にある。コマーシャルインデクサ140は、イベントを検出し、イベントパターンを分析し、コンテンツ内に識別した遷移に関するデータを保存する。このコンテンツ内に識別した遷移に関して保存したデータを使うことで、番組ナビゲータ150はコマーシャルスキップ等の強化型再生オプションを提供する。あるいはコマーシャルインデクサ140は、イベントを検出し、検出したイベントに関するデータを保存する。再生中、番組ナビゲータ150は、イベントパターンを分析し、その分析に基づき強化型ナビゲーションオプションを提供する。一実施例において、イベントインデクサ140は、映像処理、パターン認識、およびデータ保存を連携させるためのソフトウエア命令を含む。コマーシャルインデクサ140は、コマーシャル検出処理の一部を実施するためのハードウエア部品を管理する。いくつかのシステムにおいて、コマーシャル検出は、A/D変換、データ圧縮、時間索引付け、データ記憶媒体110への映像データ保存と統合可能である。
【0025】
番組ナビゲータ150は、保存した映像コンテンツを見るためのナビゲーションオプションを提供する。番組ナビゲータ150は、1つ以上の制御信号を受信するように展開した機能論理を含んでも良い。例えば番組ナビゲータ150は、リモートコントロールやパネルインタフェース等の入力装置経由のユーザ入力に対するDVRの応答方法を少なくとも部分的に決定できる。受信した制御信号の解釈は動作状態に基づいて調整する。例えば再生中、ガイド経由、メニュー経由等に基づいて調整する。番組ナビゲータ150は、グラフィカルユーザインタフェース、アイコン、音声合図等、受信した制御信号に応答するインタフェースを含むことができる。番組ナビゲータ150は、保存映像コンテンツの時間ベース索引を利用した各種ナビゲーション機能を含むことができる。一実施例において、番組ナビゲータ150は、保存映像番組におけるコマーシャルスキップ用の論理を提供する。これは、コマーシャルインデクサ140が識別したイベントに基づく。このコマーシャルスキップ論理は、パネルインタフェース132またはリモートコントロール(図示せず)上のメニュー選択またはボタン指定で実行できる。番組ナビゲータ150は、スキップしたコマーシャルの簡易編集版や、コマーシャルがスキップされることをユーザに知らせるアイコン等の指標を提供するための論理を含んでも良い。検出したイベントに基づくコンテンツナビゲーションオプションには次のようなものもある。すなわちコマーシャルを見て番組をスキップする、次または前のコマーシャル部あるいは番組部にジャンプする、あるいはコマーシャル部および番組部に「チャプタ」によってアクセスする等である。
【0026】
コンテンツファイル160は、1以上の映像配信の録画映像データを保存している。映像データは、受信したものと同一フォーマットで保存しても良いしそうしなくても良い。例えばアナログ映像信号をDVR100で受信し、それをデジタル映像信号に変換し、そのデジタル映像信号のコンテンツに対応するデジタルデータをコンテンツファイル160に保存しても良い。一実施例において、デジタルデータは1以上の映像データ圧縮技術を用いて圧縮し、データ記憶媒体110の使用を経済的にできる。前記コンテンツファイルは、単一記録セッションを含むことができる。これは、複数の映像番組とそこに介在するコマーシャルとを含んでも良いし含まなくても良い。一実施例において、各コンテンツファイルは、単一の録画プログラムとそれに介在するコマーシャルとに対応する。
【0027】
索引ファイル170は、コンテンツファイル160内の複数位置へのポインタを含む。これらポインタは、各位置における保存映像データの索引となり、その映像データへのアクセスおよびナビゲーションを可能にする。例えば索引ファイル170は、番組開始および終了位置用ポインタ、番組内容の時間ベース索引を提供する等間隔ポインタ、あるいは映像コンテンツにおける黒フィールドや内容変化(例えば番組からコマーシャルへ)等の検出可能部に対応するポインタを含むことができる。
【0028】
DVR100は、単一のホーム装置として動作しても良い。この場合、従来のテレビセットと連携して使用し、他の装置との通信を必要としない。DVR100は、各種ネットワーク等によって他の装置と共に動作しても良い。図2は、システム200の例を示す。複数のDVR216,218,236,238は、各々ローカルエリアネットワーク210および230において相互接続する。ローカルエリアネットワーク210および230は、ワイドエリアネットワーク250に接続する。サーバ260およびコンテンツプロバイダ270も、ワイドエリアネットワーク250に接続する。ワイドエリアネットワーク250は、インターネットでも良い。従来のネットワーク技術を使い、各システム間の通信を提供しても良い。例えばネットワーク通信は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)や、他の従来の高位プロトコル例えばハイパーテキスト伝送プロトコル(HTTP)またはファイル伝送プロトコル(FTP)を実行できる。DVRと通信ネットワークとを接続することで、DVRは録画コンテンツを共有し、集中または非集中データ記憶および処理を利用し、遠隔地からの制御信号に応答し、局地リソースを定期的に更新し、ネットワークコンテンツプロバイダへのアクセスを提供し、他の機能を有効化できる。
【0029】
一実施例において、ローカルエリアネットワーク210および230はホームネットワークシステムであり、多様な家庭用電子装置を相互接続する。ローカルエリアネットワーク210および230は、各種器具およびホームサブシステムを相互接続するスマートホームネットワークを含んでも良く、あるいはその一部であっても良い。本実施例において、ローカルアリアネットワーク210は、DVR216および218と、PC220および222とを含む。これら装置の各々は、家庭内の異なる場所にあっても良く、従来のネットワーク技術およびソフトウエアを使って接続する。これら装置間の通信は、遠隔操作を可能にし、装置間の交換を可能にする。例えばDVR1216は寝室にあり、居間にあるDVR2218と接続する。DVR1216は、DVR2218のガイド情報および保存映像コンテンツにアクセスできる。同様にDVR216および218はリソースを共有し、PC220および222からの制御が可能である。これら装置間で共有するアクセスおよびデータのタイプと量とを制限し、著作権管理および他の安全機能を不可避にする。
【0030】
ローカルアリアネットワーク210は、ルータ214とブロードバンドインタフェース212とを含む。ブロードバンドインタフェース212は、従来のデジタル加入者線(DSL)モデム、ケーブルモデム、およびホームネットワークと、ブロードバンドとのインタフェースを提供する装置ならどのようなものでも良い。ブロードバンドへの接続は、有線接続、無線接続、その他ブロードバンド接続を含む。ルータ214は、ホームネットワーク210内の装置216−222と、インターネット経由でこれらと接続可能性のある装置との間でファイアウオールの働きをする。論理ポート224a−dは、装置216−222とホームネットワーク210外部装置との間でインターネット通信を割り当てる。これら論理ポートは、ある種のファイル転送に障壁として働く。
【0031】
ローカルアリアネットワーク210と同様、別のローカルアリアネットワーク230は、ブロードバンドインタフェース232とルータ234とを含む。これらを介して装置236−240は、論理ポート244a−cを用いて相互接続およびインターネット接続する。ローカルアリアネットワーク230は、前記したローカルアリアネットワーク210と実質的に同様に動作する。
【0032】
サーバ260は、データ保存またはデータ処理用の共有遠隔リソースを含み、ワイドエリアネットワーク250に接続した複数のDVRからアクセス可能である。サーバ260は、DVR、コンテンツプロバイダ270等の他のネットワークリソースに通信を提供する。一実施例において、サーバ260はDVRおよび他のネットワークリソース間における通信を調整する役割を果たす。例えばサーバ260は、各DVRのネットワークアドレスおよびポート情報を含むコンテンツ配信情報を保持できる。DVRはサーバ260に対し、定期的および自動的にコンテンツ配信情報を報告する。これにより他のDVRは、サーバ260にアクセスしてそのコンテンツ配信情報を受信できる。DVR間の通信は、サーバ260を経由しても良く、コンテンツ配信情報を用いてピアツーピアで行っても良い。オンラインコンテンツプロバイダは、かかる情報についてサーバ260に問い合わせを行い、それを利用してコンテンツダウンロードを遂行する。
【0033】
サーバ260は、DVRソフトウエア、ガイドデータ、サービス情報、その他データの定期的更新を提供する役割を担う。ユーザ固有イベント認識データおよびパターン認識データ、例えばユーザ履歴、サービス、キャリア、プログラム等に基づくイベント閾値やイベントパターンを更新し提供する。また、新しいイベントタイプやイベントパターンが開発されると、それらをDVRに提供する。ソフトウエアおよびグラフィカルユーザインタフェースで起動するナビゲーション機能も、サーバ260を介して提供できる。
【0034】
サーバ260は、DVRからデータを受け取り、その情報を保存して処理し、および/または更新した情報を各装置に戻す役割も担える。例えば、サーバ260はネットワーク上のDVRから利用データを収集し、集計番組統計や機能利用情報を提供できる。この機能を使うことにより、イベントパターンデータの収集、データの分析、DVRで使用するためのパターンマッチングアルゴリズムの更新を提供できる。
【0035】
コンテンツプロバイダ270は、DVRを介して番組を配信したりコンテンツを宣伝したりの各種サービスを含むことができる。例えば、多数のウエブサイトはオリジナル映像コンテンツを作成し、PCでダウンロードしての鑑賞を可能にしている。このような映像コンテンツは、DVRを介して供給することもできる。帯域幅および接続性が増えるに従い、より多くの映像コンテンツがインターネット等のワイドエリアネットワーク上に供給されている。DVRはコンテンツオンデマンド配給モデルに特に適している。
【0036】
DVR100のユーザは、その強化型ナビゲーション機能を使用し、極めてコマーシャルの少ない録画コンテンツを見ることが出来る。図3は、番組300のタイムラインを示し、DVR100等のDVRに記録される。第1タイムライン310は、オリジナル通りにDVR100に保存され提示されるものである。第2タイムライン312は、自動コマーシャルスキップ機能を動作させた一実施例での番組300を示す。第2タイムライン312は、極めて異なった視聴体験を提供するものであり、合計提示時間が短くなっている。
【0037】
番組300の内容は変化する性質のものである。例えば番組部とコマーシャル部がある。これら各部は、通常の上映例えばテレビ放送や録画ソースからの一般再生では、連続して表示される。映写の進行に従い、各部の遷移点に急激な変化が現れる。これら遷移は、最低でも場面変化(例えばアパートに居るホームコメディの登場人物から、スマートなセダンの新車がヘアピンカーブを曲がる自動車コマーシャルへ)を含む。もちろん、全ての場面変化が内容変化を表すものではなく、例えば番組区間内の場面変化やコマーシャル区間内の場面変化もある。番組区間とコマーシャル区間との間のほとんどの遷移は短い遷移場面、例えば黒い画面や登場人物の沈黙を含む。また番組区間とコマーシャル区間の遷移は、音量の変化や他の検出可能イベントを伴う。番組区間は一般に単一のコマーシャルと交代することはなく、複数のコマーシャルを含んだコマーシャルグループと交代する。コマーシャルグループ内の各コマーシャル間の遷移も一般に遷移場面を含み、他の検出可能イベントを含んだり含まなかったりする。番組区間とコマーシャル間の遷移は、第1タイムライン310において遷移320−339で示し、第2タイムラインにおいては遷移360−376で示す。各遷移は、遷移場面と他の検出可能イベントとを含む。
【0038】
番組300内の番組内容は、第1タイムライン310において番組内容341−346で示し、第2タイムライン312において番組内容381−386で示す。番組内容の一例は、放送テレビ番組であり、ホームコメディ、メロドラマ、映画、あるいはニュース番組である。番組内容は、ティーザ広告部、タイトルクレジット部、1以上のチャプタ部、終了クレジット部を含む。例えば番組300は、ティーザ広告部341と381、タイトルクレジット部342と382、複数のチャプタ部343−345と383−385、および終了クレジット部346と386を含む。
【0039】
また番組300は、映像内に埋め込んだ多数のコマーシャルを含む。これらコマーシャルは、コマーシャルグループとして埋め込まれており、第1タイムライン310におけるコマーシャルグループ351−354、および第2タイムライン312におけるコマーシャルグループ391−394である。各コマーシャルグループは、3から4のコマーシャルで構成され、それらは対応する数の遷移で分離されている。第1タイムライン310が含む4つのコマーシャルグループ351−354は、放送通りに保存したコマーシャルグループである。第2タイムライン312は、2つの完全なコマーシャルグループ391と394しか含んでおらず、コマーシャルスキップ機能が働き、再生中に表示されるコマーシャルを実質的に削減している。
【0040】
第2タイムライン312において、第1タイムライン310からのコマーシャルグループ352と353は、インジケータ392と393に置き換わっている。インジケータ392と393は、コマーシャルがスキップされたことを視聴者に知らせる。一実施例において、インジケータ392と393は、対応するコマーシャルグループにおける最初と最後のコマーシャルの短区間(数フレームから数秒)を含む。これらインジケータは、アイコン重畳、音声合図、または他の識別子を含み、コマーシャルスキップ機能の動作を示す。例えば1つのインジケータは、第1スキップコマーシャル開始から3秒間と、最終スキップコマーシャルの最後7秒間と、コマーシャルスキップ機能を示すアイコン重畳とを含むことができる。別のインジケータは、スキップした全コマーシャルの一部を含むか、あるいは全く含まない。別の実施例において、コマーシャルスキップ機能は、インジケータを使わずに実行しても良い。番組区間383,384,385は、何の干渉も無しに、あるいはコマーシャルスキップの指標無しに連続的に表示できる。
【0041】
コマーシャルグループ391と394は、第2タイムライン312においてコマーシャルスキップ機能による変更無しに残っている。いくつかの実施例において、コマーシャル検出およびスキップは、番組表示の開始および終了近辺のある期間(例えば2分間)内において動作しない。これは、番組の開始または終了近辺に一般に配置される短い番組区間を誤識別することを避けるためである。例えば視聴者は、ティーザ区間341と381、タイトルクレジット区間342と382、および終了クレジット区間346と386がコマーシャルと似ているために誤ってスキップされることを望まないこともある。ユーザは、開始区間および終了区間を検出およびスキップの対象とするか否かを決定することもできる。他の実施例は、番組中の全コマーシャルをスキップする。これは、ユーザの積極的な設定、または開始区間および終了区間を安全に区別できるイベントとパターンの検出技術に基づいて行う。
【0042】
図4は、グラフィカルインタフェース400の一例を示し、コマーシャルスキップナビゲーションを可能にする図1のDVR100等のシステム用である。グラフィカルインタフェース400は、グラフィクスモジュール122等のグラフィクスモジュールによって作成し、付属の表示装置に出力する。この表示装置は例えばテレビ、コンピュータモニタ、携帯表示装置、あるいは他の表示装置である。
【0043】
図示の実施例において、コンテンツガイド400aを表示することで、ユーザは多数の録画番組から1つの録画番組を選択できる。コンテンツガイド400aは、録画した番組および録画用に選択した番組の両方を表示できる。コンテンツガイド400aは、ヘッダ402と、ヘッドアップディスプレイ(HUD)404と、幾つかのカテゴリリスト406a−eを有するカテゴリ領域と、幾つかの番組408a−fをリストアップしたコンテンツ領域と、装置識別領域410とを有する。重畳メニュー420は、選択したプログラム(408d)用の再生オプション422と424を提供する。これはコマーシャルスキップトグル426と識別子428とを含む。
【0044】
装置識別領域410は、ガイドを視聴している装置の名前を表示する。この装置が独立型(他の装置とネットワーク接続していない)であれば、装置識別領域410を省略できる。あるいはロゴ等の固定表示を提供できる。
【0045】
ヘッダ領域420は、現在選択中のカテゴリを表示する。ここでは「テレビショー」である。コンテンツ領域は、選択カテゴリの利用可能な番組をリストアップする。ここでは番組408a−fを示している。このコンテンツ領域において、ユーザは利用可能な番組をナビゲートする。この時、従来のリモートコントロールおよびカーソル等の表示信号を使う。このカーソルは、方向コマンドに応じて移動し、自動的に下線の番組を選択するか、あるいは選択信号に応じてその選択を行う(例えばジョイスティック入力は、様々な方向コマンドを提供でき、それを押すことによって現在ハイライト表示されている領域を「選択」できる)。番組リストは、コンテンツ領域に表示可能な数を超える場合がある。最下部の番組408fを超えて下方カーソルのナビゲーションを行うと、それがカテゴリの最後でない限り、表示されていない番組が現れる。本例では、現在の番組408d「シンプソンズ」に関する録画品質およびその他情報を表示している。
【0046】
重畳メニュー420は、以前録画した番組を視聴する1つ以上の方法を表示する。これはコマーシャルスキップ機能を使うことも含む。メニュー420の重畳表示は、ユーザから受信する制御信号に基づいて開始できる。例えばユーザがリモートコントロールの選択ボタンを押すことに基づく。メニュー420は、コンテンツガイド400aと関連して示しているが、視聴中の録画番組と共に使用することもでき、再生を管理する他のインタフェース、あるいは他の番組ナビゲーションと共に使用することもできる。例えばシーンまたはチャプタ選択インタフェースで使用できる。再生ボタン422は、選択番組を視聴者が最近中断した箇所から再生する。最初から再生ボタン424は、視聴者が以前に中断した箇所に関係なく最初から選択番組を再生する。他の再生モードおよびメニューオプションをメニュー420に提供しても良い。コマーシャルスキップトグル426は、コマーシャルスキップ機能が有効か否かを示す。例えばコマーシャルスキップトグル426がマークされていれば(図示のように)、番組を再生すると選択再生モードに関係なくコマーシャルをスキップする。識別子428はトグル426の目的を示し、機能説明、商標表示、アイコン、あるいはその組み合わせを含むことができる。トグル426と識別子428により、ユーザはコマーシャルスキップ機能のオンオフをトグルできる。例えばハイライト領域(再生ボタン422上に示す)は、適切な制御信号を使用することで、識別子428に移動できる。他の制御信号、例えば選択ボタンからの制御信号は、トグル426をオンとオフの間でトグルさせる。他の従来インタフェースを使用し、コマーシャルスキップ機能を有効および無効にしても良い。
【0047】
図5は、モジュール構成500を示し、本発明に基づく改良型コマーシャルスキップ機能を実行するものである。構成500は複数の機能モジュールを含み、これらはDVR100等の代表的なDVRに組み込まれる。この構成は、AV入力モジュール510と、メモリ530と、データ記憶部550とを含む。AV入力モジュール510はハードウエアモジュールを含み、これは受信信号からデータを受け取り、処理し、送出する。メモリ530はソフトウエアモジュールを含み、受け取ったデータを処理し、2次データを選択的に保存し、保存コンテンツのナビゲーションを提供する。データ記憶部550はコンテンツとDVR動作に使用するその他データとを格納するためのファイルを含む。メモリ530内のソフトウエアモジュールは、データ記憶部550からロードし、AV入力モジュール510とデータ記憶部550との動作を監視する。
【0048】
AV入力モジュール510は外部信号を受信する。これは放送信号、他の再生装置からの信号、またはパケット化通信信号である。AV入力モジュール510は、受信信号のコンテンツに対応するコンテンツデータをデータ記憶部550へ送る。AV入力モジュール510は受信コンテンツデータに基づき、変換、索引付け、イベント検出、および圧縮を提供しても良い。図示の実施例において、AV入力モジュール510は、チューナ512と、A/D変換器514と、索引付け論理516と、イベント検出器518と、圧縮エンコーダ520とを含む。
【0049】
チューナ512は従来のチューナであり、利用可能な信号またはチャンネルのスペクトルから信号またはチャンネルを選択する。チューナは、データキャリアが単一の信号またはチャンネルからなる場合、不要である。
【0050】
A/D変換器514は従来のA/D変換器であり、アナログ信号をデジタルデータに変換する。このデジタルデータは、アナログ信号の映像およびその他内容に対応する。このデジタルデータを他の複数のモジュールにコピーし、同時処理および保存を行っても良い。例えばイベント検出や映像処理と映像データの圧縮および保存とを同時に行っても良い。他の実施例において、映像処理は変換前のアナログ信号において実行する。A/D変換器514は、映像データをデジタルフォーマットで受信するシステムにおいては省略できる。AV入力モジュール510は任意数の変換モジュールを含むことができ、それによって従来の放送信号または通信信号とDVRで使用するデジタルフォーマット間の変換を行う。
【0051】
索引付け論理516は従来の論理であり、デジタル映像データストリームに時間索引付けを行う。例えば索引付け論理516は、各GOPを受信すると各GOPの到着時刻を含む固定サイズの記録を作成する。この記録はさらにコンテンツファイルの開始からのバイトオフセットと、GOPの第1フレームのバイトサイズと、GOP内のイベントをマークするための追加フラグとを含む。このように記録した結果は、それを走査することによって所定時刻に最も近いGOPを探し出し、時間索引を与える。幾つかの実施例において、あらかじめ索引付けした映像番組を含むシステムの場合、索引付け論理516は省略可能である。例えば、索引データはコンテンツデータと共に受信データストリームに含めることができる。
【0052】
イベント検出器518は、映像データ内に1種類以上のイベントを検出する。例えばイベント検出器518は複数の従来検出器を含み、総映像信号または総音声信号またはそれらの一部を計算する。映像イベント検出器および音声イベント検出器の実施例の詳細は、図6に関連して後述する。いくつかの検出可能イベントは、黒フィールドや無音以外の内容に基づくことができる。例えば、イベントは映像処理に基づいて検出できる。これは特定の画像、テキスト、パターン、その他コマーシャルマーカを識別する処理である。イベント検出器518は検出アルゴリズムを実行し、映像データから1以上の値を抽出しても良い。抽出した値は、処理するか他の値と結合した後、送出するかインジケータ値(例えばフラグ)を増分し、他のモジュールへ送ってさらに処理する。イベント用の閾値または較正値等の値の抽出および結合は、論理チップ、例えばフィールドプログラマブルゲートアレイ(FPGA)において実施しても良い。幾つかの実施例において、イベント検出は不要である。例えば映像番組をメタデータと共に放送する場合である。このメタデータは、映像イベント、内容遷移、その他コマーシャル検出およびスキップに有用なデータを持つ。
【0053】
圧縮エンコーダ520は映像データを圧縮し、データ記憶部550に保存できるようにする。圧縮エンコーダ520は任意のシステムを含み、映像データから冗長情報および不要情報を除去する。かかる情報の除去は、映像および音声を保存および通信するための保存空間と帯域幅を低減する。圧縮エンコーダ520は従来の符号化論理を含むことができる。これは1以上のデータ圧縮基準であり、例えばMPEG−1、MPEG−2、MPEG−4、H−261、H−263である。圧縮エンコーダ520はA/D変換器と連携して動作させ、アナログ映像信号から作成した映像データを圧縮することもできる。圧縮エンコーダ520は索引付け論理516と連携動作させ、時間と圧縮映像単位とを相関させることもできる。例えば、MPEG符号化データストリームまたはファイルはグループオブピクチャ(GOP)ヘッダを含み、これを索引付け論理516によって時間ベース索引に相関させることができる。幾つかの実施例において、圧縮符号化は不要である。例えば幾つかのシステムは、適切な映像圧縮でフォーマットしたデータを放送し共有することがある。
【0054】
メモリ530は実行可能ソフトウエアモジュールを含み、コマーシャルスキップ機能を管理する。メモリ530は1以上の従来のRAMユニットを含み、バス構造を介してマイクロプロセッサと、AV入力モジュール510と、データ記憶部550とに接続する。メモリ530は、イベント検出、イベントグループパターン検出、イベント索引付け、イベント検出情報およびナビゲーション情報の更新、イベント索引に基づくナビゲーション機能の提供の各動作を監視できる。図示の実施例において、メモリ530はイベントハンドラモジュール532と、グループ検出器モジュール534と、イベントインデクサモジュール536と、遠隔情報モジュール538と、コンテンツナビゲータモジュール540とを含む。他の実施例において、メモリ530に関連して説明した1以上の機能は、ハードウエアモジュール、遠隔システム、または他のシステムリソースで実行しても良い。
【0055】
イベントハンドラモジュール532は、イベント検出器518が検出したイベントを操作する論理を提供する。一実施例において、イベントハンドラモジュール532は、イベント検出器518が検出したイベントを記述する1以上の値を受け取る。例えばイベントハンドラモジュール532は、映像データストリームにおける特定フィールド、フレーム、GOP、または時間点について、イベントフラグ、輝度値、または最大および最小音声値を受け取ることができる。イベントハンドラモジュール532は受け取ったデータを評価し、イベントの閾値基準に適合しているかを決定する。この閾値基準は、イベントデータおよびイベント時間に関する所定値を含むことができる。例えば、イベントハンドラモジュール532は輝度ヒストグラムから作成した所定閾値に対し、受信した複数の輝度値を評価する。ただしこれは、保存番組の最初と最後の2分間を除いたイベント検出ウインドウ内の場合だけに行う。検出したイベントでイベントハンドラモジュール532の評価基準に適合するものは、グループ検出器モジュール534へ送ってさらに分析する。別の方法においてあるいはグループ検出器モジュール534へ送ることに関連して、検出したイベントはイベントインデクサモジュール536へ送り、あとから分析および使用するために保存する。一実施例において、イベントハンドラモジュール532は、例えば輝度等の第1タイプのイベントデータを評価し、イベント検出器518に命令を出して第2タイプのイベントデータ、例えば最大音声を取得させる。これは、第1タイプのイベントデータが所定条件を満たした場合にのみ行う。イベントハンドラモジュールの他の例は、図6を参照して後述する。他の実施例において、イベントデータあるいは他のメタデータは、受信した映像データと共に提供しても良い。イベントハンドラモジュール532は、受信したイベントデータまたは他のメタデータを評価する論理を提供し、映像コンテンツにおけるコマーシャル位置に関係するイベントを選択する。
【0056】
グループ検出器モジュール534はパターンマッチング論理を提供し、複数の検出イベントを評価する。グループ検出器モジュール534によるコマーシャルグループの検出は、コマーシャル番組に先立つ識別可能なスペーシングパターンに基づき行う。グループ検出器モジュール534は、イベントハンドラモジュール532から一連の検出イベントを受け取る。他の実施例において、グループ検出器モジュール534は、コンテンツナビゲータモジュール540から検出イベントを受け取っても良い。これは、コンテンツナビゲータモジュール540が再生中に索引ファイル556から読み出すものである。一実施例において、グループ検出器モジュール534は、受け取ったイベントを分析用の一時的バッファに保存できる。または、所定番組の全検出イベントをデータ記憶部550のファイルに保存し、そこから分析しても良い。グループ検出器モジュール534は、一連の検出イベントまたはその一部を論理条件に対して評価し、コマーシャルグループを識別する。例えばグループ検出器モジュールは、ある種の検出イベントの発生間隔パターンを評価する。グループ検出器モジュールの一例に関する詳細は、図8に関連して後述する。他の実施例は、映像コンテンツの性質を識別するメタデータを受信映像データと共に提供する。グループ検出器モジュール534は、与えられたメタデータから、映像コンテンツにおいてコマーシャルグループを特定するためのデータを選択できる。
【0057】
イベントインデクサモジュール536は、イベント索引をデータ記憶部550に書き込むための論理を提供する。イベントインデクサモジュール536は、1以上の識別子とそれらに対応するファイル位置とを受け取る。例えばイベントインデクサモジュール536は、コマーシャルグループの開始位置を示す第1タグと、コマーシャルグループの終了位置を示す第2タグとを受け取る。他の識別子には、特定タイプのイベント(例えば黒フィールド、無音フレーム、それら両方等)に対応するものがある。イベント検出器518とイベントハンドラモジュール532は、複数タイプのイベントを検出する。イベントインデクサモジュール536はデータポインタを発生できる。このポインタが示すのは、タグを付ける位置の性質(例えば黒フィールド/無音フレームイベント)と、データ記憶部550内のコンテンツファイルにおける対応位置である。一実施例において、イベントインデクサモジュール536が挿入するタグは、特定のコンテンツファイルに関連する時間ベース索引ファイルに格納する。他の実施例において、イベントインデクサモジュール536は、別のイベント索引にタグと位置とを挿入する。幾つかの実施例において、イベントインデクサモジュール536は不要である。例えば、映像番組があらかじめ作成したコマーシャル索引を伴う場合である。イベントインデクサモジュールの一例の詳細は、図6を参照して後述する。
【0058】
遠隔情報モジュール538は遠隔リソースへのアクセスを提供し、改良型コマーシャルスキップ機能を可能にする。遠隔情報モジュール538は従来のネットワーク通信プロトコルを含み、遠隔リソースとデータ交換できる。例えば遠隔情報モジュール538はTCP/IP、HTTP、FTP、イーサネット、これらの組み合わせ、その他プロトコルを利用し、遠隔リソースまたは他の装置と通信できる。遠隔情報モジュール538は、1以上のネットワークアダプタ、モデム、その他通信装置と関係して動作できる。遠隔情報モジュール538は、更新した機能とデータをメモリ530およびデータ記憶部550内の他のモジュールに提供できる。例えば遠隔情報モジュール538は、更新した検出方法、閾値条件、番組論理、グループ化論理、タグ、索引データ、あるいは新しいソフトウエアモジュールを定期的にダウンロードできる。一実施例において、遠隔情報モジュール538は、中央サーバを定期的にチェックし、1以上の新しい更新が利用可能であるかを決定する。利用可能であるなら、更新をダウンロードし自動的にDVRにインストールする。例えば、遠隔情報モジュール538は更新したイベント検出用閾値とグループ検出用コマーシャルグループパターンとを定期的にダウンロードできる。これら閾値およびコマーシャルグループパターンは、中央サーバにおいて更新し、コンテンツプロバイダ、放送業者、キャリア信号、および番組フォーマットにおける変更を反映できる。ダウンロードする更新は、DVR用のより一般的なソフトウエアおよびデータ更新に関連して提供しても良い。一実施例において、遠隔情報モジュール538は情報を中央サーバに定期的に提供できる。例えば遠隔情報モジュール538は、録画コンテンツから検出したイベントおよびイベントパターンと、コンテンツ再生中における強化型ナビゲーション機能の利用とを反映する利用ログを毎日アップロードすることができる。アップロードする情報は、システムおよびユーザ情報に関するより一般的な利用ログに関連して提供しても良い。
【0059】
コンテンツナビゲータモジュール540は、イベント索引データを使用する1以上のナビゲーション機能を提供する。例えば、コンテンツナビゲータモジュール540はコマーシャルスキップ機能を含むことができる。この機能は再生中に動作し、1)コマーシャルグループの開始を識別するイベントタグを認識し、2)そのコマーシャルグループの終了を識別し、3)第1イベントタグに対応するコンテンツファイル位置からコマーシャルグループの終了に対応するコンテンツファイル位置へデータストリームを案内する。幾つかの実施例において、コマーシャルスキップ機能は、第1索引タグが含む第2ポインタに基づいてコマーシャルグループの終了を特定するか、あるいはコマーシャルグループの終了を識別する第2索引タグまで前方走査する。幾つかの実施例において、イベントタグはコマーシャルグループの開始または終了に直接関連しなくても構わない。例えば、イベントハンドラモジュール532を介して検出し処理した全イベントをイベント索引に加える場合である。これら実施例において、コンテンツナビゲータモジュール540は、第1イベントタグとそれに続く所定期間(例えば2分間)内の複数タグを選択できる。このイベントタグのグループをグループ検出器モジュール534へ送り、コマーシャルグループの開始および終了を識別する。一実施例において、コンテンツナビゲータモジュール540は、再生中(適切なナビゲーション機能が有効の場合)、遭遇するイベントタグをグループ検出器モジュール534に常に一時保存する。実際の再生ストリームに先立ってイベントタグを一時保存し、コマーシャルグループの前方分析を可能にすることもできる。一実施例において、再生開始時に映像番組用の全イベントタグを一時保存し分析する。
【0060】
コンテンツナビゲータモジュール540はインジケータを提供し、ユーザにコマーシャルスキップ機能がコマーシャルをスキップしたことを知らせることができる。例えばコンテンツナビゲータモジュール540は、スキップしたコマーシャルグループの1以上のコマーシャルの一部を再生しても良い。コンテンツナビゲータモジュール540はアイコン等の合図を提供し、コマーシャルスキップ機能の動作を示すことができる。例えばアイコンの重畳、音声合図、LED、またはその他インジケータであってDVR制御パネル、リモートコントロール、その他指示器上に表示する。コンテンツナビゲータモジュール540が提供する機能は、特定のユーザインタフェースおよび制御信号にマップできる。例えばコンテンツナビゲータモジュール540は、グラフィカルユーザインタフェースに機能動作用メニューオプションを追加できる。このメニューオプションは、従来のメニュー駆動型DVR・GUIを介して提供しても良い。一実施例において、1以上の機能の動作は初期設定によって決定しても良い。この設定は、ユーザが適切なメニューオプションを選択することにより変更できる。コンテンツナビゲータモジュール540が可能にする機能の制御信号は、従来のDVR用入力装置のいずれかを介して受信できる。リモートコントロール等の入力装置からのメニューナビゲーション信号に加え、カスタムリモートコントロールボタンを含めることにより1以上の機能をトグルしても良い。幾つかの実施例においては、カスタム制御パネルボタンを含めることができる。
【0061】
コンテンツナビゲータモジュール540は、コマーシャル索引を利用する様々な機能を含むことができる。例えばコンテンツナビゲータモジュール540は、コマーシャルだけを見る機能を提供できる。一実施例において、コンテンツナビゲータモジュール540は、映像番組中に第1コマーシャルグループ索引タグの位置を見つける。コンテンツナビゲータモジュール540は、コマーシャルグループの最後までコマーシャル内容を再生し、それから次のコマーシャルグループの最初までスキップする。前記したコマーシャルスキップ機能と同様、適切なインジケータをユーザに提供できる。コマーシャルだけ機能へのアクセスは、再生メニュー等のインタフェースと制御信号オプションとによって提供できる。コマーシャル索引を利用した追加機能も可能である。また動作中において、イベント索引ベース機能と時間索引ベース機能とを結合することも可能である。例えば、コマーシャルスキップ機能と、早送り、スローモーション、即時再生、前方スキップ、巻き戻し等とを連携させても良い。
【0062】
データ記憶部550は、従来のあらゆるデジタルデータ記憶装置を含むことができる。例えばデータ記憶部550は、ハードドライブ、取り出し可能媒体ドライブ、RAM、M−RAM、光学記憶システム、その他データ記憶装置を含むことができる。一実施例において、データ記憶部550は、そのような装置を複数含むことができる。データ記憶部550はデジタルファイルシステムを使用するデータを保存し、その保存したデータへの高速不連続アクセスを可能にする。図示の実施例において、データ記憶部550はメタデータテーブル552と、少なくとも1つのコンテンツファイル554と、少なくとも1つの索引ファイル556と、ガイドデータファイル558とを含む。
【0063】
メタデータテーブル552は、保存映像番組に関する様々な情報を提供する。メタデータテーブル552は、従来のデータ管理技術に基づき情報を相関レコードに構築することができる。一実施例において、メタデータテーブル552は、従来のリレーショナルデータベース技術に基づいた複数の相関テーブルを含むことができる。メタデータテーブル552は、DVRが現在保存するあるいは保存予定である番組に基づいて構成できる。例えばメタデータテーブル552は、録画した映像番組または録画予定の映像番組に対応する行データを含むことができる。各行データは、当該番組を説明する様々なデータ列を含むことができる。メタデータテーブル552は、保存内容を選択し構成するための情報を含むことができる。例えばメタデータテーブル552は、番組名、1以上のカテゴリ、番組説明、評価情報、映写時間、記録品質、ソース、記録日時等を含むことができる。メタデータテーブル552は、システムが使用する情報であって各番組にアクセスし再生するための情報を含むことができる。例えばメタデータテーブル552は、対応するコンテンツファイルの場所、対応する索引ファイル(時間ベース索引ファイルおよび/またはコマーシャル索引ファイル)、最後に見た位置のデータポインタ等を含むことができる。メタデータテーブル552の作成には、システム情報とユーザ入力情報との組み合わせを使用できる。例えば保存詳細はシステム情報から得ることができ、番組情報はガイドデータファイル558から得ることができ、カテゴリ情報はユーザが提供できる。
【0064】
コンテンツファイル554は、保存した映像番組に対応する映像データを含む。コンテンツファイル554は、保存した映像番組について、画像データ、音声データ、システムおよび同期データを含む。コンテンツファイル554は複数のファイルを含むことができ、各ファイルは特定の保存映像番組に対応する。あるいはコンテンツファイル554は、複数の映像番組を格納した単一ファイルを含んでも良い。各番組の開始位置および終了位置は、索引ファイル556やメタデータテーブル552等の別索引に記録できる。
【0065】
索引ファイル556は、コンテンツファイル554内の各位置に対応する索引データを含む。索引ファイル556は複数のデータポインタを含むことができ、これらはコンテンツファイル554内のファイル位置と、対応する番組内容についての情報とを相互に関係させる。索引ファイル556は、時間ベース索引データ、コマーシャル索引データ、番組開始/終了/最後に見たデータ、その他映像データ索引付けを含むことができる。索引ファイル556は複数のファイルを含むことができ、各ファイルは特定の保存映像番組用索引に対応する。索引ファイル556は、複数の保存映像番組用の複数の索引を有する単一ファイルを含んでも良い。索引ファイル556は、特定の索引情報を有する複数の索引ファイルタイプを含むことができる。例えば、個別の時間ベース索引およびコマーシャル索引である。索引ファイルは1以上のテーブルを含み、経過時間と、GOPと、映像コンテンツにおけるイベントを示す1以上のタグとを相関させる。一実施例において、索引ファイルは索引ファイルフォーマットを示すヘッダと、コンテンツファイル内の各GOPに対応するレコードとを含む。GOPレコードの各々は、コンテンツファイル内の対応GOPのヘッダへのバイトオフセットと、ナノ秒単位のGOP記録時刻と、これまでに記録から除外したナノ秒単位の時間と、GOPの第1フレームのバイトサイズと、後続の連続するコピー防止GOPの数と、コピー防止(例えばマクロビジョン、CGSMA等)の存在を示すフラグと、GOP内のヘッダから第1フレームまでのオフセットと、GOP内のイベントの存在を示すフラグとを含むことができる。索引データは、索引付け論理516とイベントインデクサモジュール536とによって作成し、索引ファイル556に保存できる。幾つかの実施例において、索引データの全部または一部は、映像番組の放送または転送と共に受信できる。
【0066】
ガイドデータ558は、DVRが利用可能な放送またはオンデマンド映像番組を記述したデータを含む。ガイドデータ558は、番組タイトル、時間、その他過去、現在、将来の番組に関する記述データを含むことができる。ガイドデータ558は、ユーザインタフェースを介してアクセスおよびナビゲーションし、鑑賞する番組および記録する番組を決定できる。番組を記録する場合、対応するガイドデータは、メタデータテーブル552等内のアクセス可能な場所に転送できる。一実施例において、ガイドデータ558は、索引ファイル556に保存した索引データを含み、それをコンテンツナビゲータモジュール540にて使用できる。
【0067】
図6は、イベント索引を作成するシステム600を示す。このシステム600は、図1のDVR100等のDVRにおいて実施できる。システム600はデジタル映像データに対し、音声および映像の所定特徴を検出し、検出した特徴が1以上のイベント条件に相関するかを決定し、索引ファイルに挿入するためのイベント索引を作成する。システム600は複数のモジュールを含む。一実施例において、前記複数のモジュールは、コンピュータ読み取り可能記憶媒体におけるソフトウエア命令で実現する。前記複数のモジュールは、DVR等のシステムにおいて実現することもできる。かかるシステムは適切なハードウエアを含み、それによってデジタル映像番組を受信または作成し、イベント索引を保存する。一実施例において、前記複数のモジュールは、各機能を実行するソフトウエア部品とハードウエア部品の組み合わせを含む。システム600は、映像特徴検出器モジュール610と、音声特徴検出器モジュール620と、閾値計算器モジュール630と、イベントハンドラモジュール640と、イベントインデクサモジュール650とを含む。
【0068】
映像特徴検出器モジュール610は、映像フレームまたはフィールド(標準放送映像フレームは偶数および奇数走査線用の2フィールドを含む)の所定部の合計輝度を決定する。映像特徴検出器モジュール610は、ウインドウ定義モジュール612と、ピクセルカウンタモジュール614と、フレーム割り込みモジュール616とを含む。
【0069】
ウインドウ定義モジュール612は、ピクセル輝度を集計するフレーム部分を定義する。例えば、ウインドウ定義モジュールは、前記サンプリングウインドウがライン24とライン448との間のラインを含むように定義できる。1フレームのある部分は、例えば局識別アイコン等の非黒重畳を常に含むため、このような不整合を避けるようにサンプリングウインドウを定義できる。また、信号によっては縁部変形や不整合を含むことがある。これらは、フレームの縁部にサンプリングウインドウを移動させないようにすれば簡単に避けられる。幾つかの実施例において、ウインドウ定義モジュール612は、更新またはカスタマイズすることにより、黒画面提示における番組、放送業者、またはキャリアに固有の変化に対応できる。
【0070】
ピクセルカウンタモジュール614は、定義したウインドウ内における各ピクセルのエネルギレベルを集計する。ピクセルカウンタモジュール614は、各ピクセルの輝度(y成分)データを抽出し、分析用フレームの全体について加算する。ピクセルカウンタモジュール614は、フレームの絶対合計エネルギを計算するか、サンプルしたピクセルの数で除算することによりフレームの平均輝度を計算できる。
【0071】
フレーム割り込みモジュール616は、特定フレームの定義ウインドウについてピクセルデータの最後に到達した時を決定する。その最後に到達したら、フレーム割り込みモジュール616は、そのフレームの輝度合計をイベントハンドラモジュール640へ送る。フレーム割り込みモジュール616は、送ったフレームデータの位置を特定するためのGOPまたは時間識別子を送ることができる。フレーム割り込みモジュール616は、ピクセルカウンタの合計輝度値をゼロにし、次フレームのピクセルデータへの準備を行う。一実施例において、映像特徴検出器モジュール610の機能はFPGAによって実現する。
【0072】
音声特徴検出器モジュール620は、選択した映像フレームに近接した音声「フレーム」内の無音を走査する。例えばイベントハンドラモジュール640が黒と識別したフレームの近くを走査する。音声特徴検出器モジュール620は、チャンネルセレクタモジュール622と、最小値識別部624と、最大値識別部626とを含む。
【0073】
チャンネルセレクタモジュール622は、複数チャンネル音声データストリームの1以上のチャンネルを選択し、その中において値を識別する。例えばチャンネルセレクタモジュールは、左右音声チャンネルからデータをサンプルできる。選択したチャンネルは、選択した音声フレーム周囲にある所定数の音声フレームについて走査する。各音声フレームおよび各チャンネルについて、最小値識別部624は最小ピーク値を追跡し、最大値識別部626は最大値を追跡する。最小値識別部624と最大値識別部626とは、サンプル中のDCオフセットを補償できる。対応する最小ピーク値と最大ピーク値のセットはデータハンドラ640へ送り、無音閾値との適合性を決定する。一実施例において、音声特徴検出器モジュール620の機能は、ソフトウエアモジュールによって実現する。これは、各垂直ブランキング割り込みにおいて、音声を表す入りPCMデータを走査し、7つの黒フレーム内に無音期間を検出したら無音イベントを報告する。
【0074】
閾値計算器モジュール630は、黒フィールド検出用の輝度閾値を決定する。閾値計算器モジュール630は動的に輝度閾値を発生する。これは多数の映像フレームからの集計データに基づいて行う。例えば閾値計算器モジュール630は、1以上の映像番組のフレームからの輝度データを使用し、輝度閾値を決定する。一実施例において、特定の番組、放送業者、キャリアについて輝度データを集計し、黒フィールド検出用のカスタム輝度閾値を提供する。一実施例において、録画番組用の輝度データを集計し、その番組用の輝度閾値を提供する。閾値計算器モジュール630は、輝度区分モジュール632と閾値識別モジュール634とを含む。
【0075】
輝度区分モジュール632は、複数の映像フレームについて輝度データを集計する。輝度区分モジュール632は、複数の輝度帯を定義する。各映像フレームは、その合計輝度に基づき、1つの輝度帯に割り当てる。多数のフレーム(例えば20,000+)をサンプリングすることにより、輝度区分モジュール632は、輝度ヒストグラムを構築できる。輝度ヒストグラムの一例700を図7に示す。輝度ヒストグラム例700において、x軸710は64の輝度帯を含み、それらの中にフレームをグループ化する。64の輝度帯は、輝度値の連続範囲を定義し、各サンプルしたフレームをそこに割り当てる。y軸720は、輝度帯に入るフレームの数である。一実施例において、輝度区分モジュール632は、1つの映像提示についての輝度データを集計し、その映像提示についての輝度ヒストグラムを作成する。1つの映像提示を記録する際、輝度区分モジュールは、映像特徴検出器モジュール610から各フレームについて1つの輝度値を受け取ることができる。各フレームの輝度値を使い、適切な輝度帯のフレームカウンタを増分できる。幾つかの別実施例は、各種のサンプリングレート(例えばフィールド毎、Xフレーム毎、ランダムに選択したフレーム等)、ヒストグラム構築タイミング(例えば記録後、再生中等)、バンド数、サンプリング期間(例えば時間ベース、複数の提示等)を含むことができる。
【0076】
閾値識別モジュール634は、輝度ヒストグラムを使用する。これは輝度区分モジュール632が構築したものであり、黒フィールド検出用の輝度閾値を決定する。輝度ヒストグラム例700の大きなピーク730は、番組内容およびコマーシャルの大部分におけるフレーム輝度を表している。より小さなピーク740は、黒フィールドの大部分におけるフレーム輝度を表しており、番組内容およびコマーシャルの遷移を示している。大きなピーク730と小さなピーク740との間に、輝度帯16に対応する欠損750がある。前記輝度閾値は、この輝度ヒストグラムの欠損750に対応する値(輝度帯16)として決定できる。欠損750の位置は、黒フィールドの品質、信号品質、その他要素によって変化する。これら要素は、システム毎、および番組毎に異なる。欠損750は、輝度ヒストグラムにおける傾斜を計算することによって位置を特定できる。一実施例において、各著しく異なる輝度レベルとそれが発生した連続するフレームの数とを記録する。検出した輝度レベルが、ある基準輝度レベルに合う場合、直前の輝度記録を探し、より高い輝度に続く最低輝度を見つけ、その値をその曲線の最低として記録する。引き続き以前の輝度値を探索し、さらに低い輝度値を探す。それが見つかったら、曲線上の高い点間のフレーム数を加算し、その合計と現在のフレームレートにおいて合計4秒間となるフレーム数とを比較する。その曲線のつらなりが4秒間よりも短かく、その曲線上の最低点が黒用の最大適正閾値より低ければ、その曲線を欠損として分類し、その低い値を新しい閾値候補として評価する。その低い値を新しい閾値候補として評価するため、その低い値を最近の低い値のリストに記録し、そのリストの平均と比較する。そして当該リストからの所定差よりも大きい全てのリスト要素を平均する。この第2平均の成分は前記第1平均からのものであるため、前記新しい低い値が前記第2平均からの同じ差内にあれば、その新しい低い値は、新しい閾値となる。この計算が終わると、当該輝度閾値はイベントハンドラモジュール640へ送る。
【0077】
イベントハンドラモジュール640は、映像特徴検出器モジュール610と音声特徴検出器モジュール620とが検出した映像および音声特徴を評価し、イベントをイベント索引に記録すべきかを決定する。イベントハンドラモジュール640は、黒フィールド条件モジュール642と、無音条件モジュール644と、番組論理モジュール646と、積極性設定モジュール648とを含む。
【0078】
黒フィールド条件モジュール642は、黒フィールドを識別するための閾値輝度に対し、特定フレームの輝度データを評価するための論理を提供する。黒フィールド条件モジュール642は、閾値計算器モジュール630から閾値輝度を受け取る。映像特徴検出器モジュール610がフレーム割り込みを発生すると、黒フィールド条件モジュール642は輝度値を受け取り、それと閾値輝度とを比較する。閾値輝度以下の輝度値は黒フィールドを示しており、イベントハンドラモジュール640は音声特徴検出器モジュール620から音声データを受け取る。輝度値の許容値は、積極性設定モジュール648からの情報に基づき調整できる。
【0079】
無音条件モジュール644は、特定の音声フィールドの最小および最大音声値を評価し無音を識別するための論理を提供する。無音条件モジュール644は、音声特徴検出器モジュール620から最小および最大音声値を受け取る。無音条件モジュール644は、最大値と最小値との差を計算する。その差を最大値で除算し、許容無音閾値内かを決定する。例えば許容無音閾値は、前記差が最大値の1.1−1.6%よりも少ないことであるとする。正確な閾値は、積極性設定モジュール648が決定できる。黒フィールド閾値条件と無音閾値条件との両方に適合するフレームは、イベントとして識別し、イベントインデクサモジュール650に報告する。
【0080】
番組論理モジュール646は、黒フィールド条件モジュール642と無音条件モジュール644とによる特徴の受信および評価を調整する。一実施例において、番組論理モジュール646は、評価中の映像番組を識別し、コンテンツファイル内の位置を追跡する。その位置は、映像特徴検出器モジュール610と音声特徴検出器モジュール620とが評価を行っている位置である。番組論理モジュール646は、両条件が満たされるべきかを決定し、フレームをイベントとして分類すべき許容値を決定できる。複数タイプのイベントが可能である場合、番組論理モジュール646はイベントを分類する基準を含むことができる。番組論理モジュール646は、追加のパラメータを含むことにより、黒フィールドと無音条件とに適合するフレームをイベントとして扱うべきかを選択できる。例えば番組論理モジュール646は、映像番組における経過時間を追跡し、映像番組の開始および終了近辺のある時間以内(例えば2分以内)の全フレームを対象外とする。番組論理モジュール646は、検出したイベントの位置およびタイプをイベントインデクサモジュール650に報告できる。
【0081】
積極性設定モジュール648は、映像特徴検出器モジュール610と音声特徴検出器モジュール620とから受け取った値の許容値を調整する。黒フィールド条件モジュール642と無音条件モジュール644とが定義する閾値は近似に過ぎないため、積極性設定モジュール648は、条件が適合するか否かを決定するために使用する実際の閾値を決定する。例えば、発生した閾値が低過ぎれば、幾つかの無音黒場面はイベントとしてマークされないであろう(偽の否定)。しかしながらこれは、信号品質によっておよび暗く静かな番組によって偽の肯定が発生し、番組内容がナビゲーション機能によってスキップされてしまうことより、ましである。一実施例において、積極性設定モジュール648が使用するアルゴリズムは、輝度閾値と無音閾値への組み合わせ近似に重みを付ける。一実施例において、積極性設定モジュール648はユーザ制御可能である。これは、コンテンツ品質および信号品質と偽の肯定/否定の許容リスクとに対するユーザの評価に応じて行う。
【0082】
イベントインデクサモジュール650は、イベントハンドラモジュール640が識別したイベントに応じてイベント索引を作成する。例えばイベントインデクサモジュール650は、時間ベース索引ファイル内にイベントタグを挿入し、そのイベントと映像データファイル内の特定位置とを相関させるデータポインタを提供する。またはイベントインデクサモジュール650は、別のイベント索引を作成できる。これは、イベントタグのテーブルと、それに対応するファイル位置とを含む。イベントインデクサモジュール650は、コンテンツファイル位置モジュール652とタイプ識別モジュール654とを含む。
【0083】
コンテンツファイル位置モジュール652は、ファイル位置に対応するデータ、例えばGOPや時間参照を受け取る。コンテンツファイル位置モジュール652は、既存索引内の正しい位置にイベントタグを確実に挿入する。あるいは新しい位置に対して適切な索引を確実に入力する。
【0084】
タイプ識別モジュール654は、イベントタイプに対応するデータを受け取る。イベントタイプは、例えば黒フィールド/無音イベント、コマーシャルグループ開始イベント、コマーシャルグループ終了イベント、その他イベントを含む。タイプ識別モジュール654は、イベントタグを確実に識別して索引ファイルに挿入する。イベントハンドラモジュール640が単一タイプのイベントだけを扱う場合、タイプ識別モジュール654は、イベントタグが1つのイベントタグとして指定されるようにし、時間索引データポインタ、番組開始データポインタ、番組終了データポインタ、その他データポインタと混同されないようにする。一実施例において、イベントタグは既存のファイル位置データに追加する。例えば、既存の時間索引データポインタに追加し、その既存データをイベントデータポインタとして区別する。結果としてのイベントデータポインタは、コンテンツナビゲータによって使用し、強化型ナビゲーションオプションを提供する。例えばコマーシャルスキップ機能は、黒フィールド/無音イベントデータポインタの再生分析に基づき、コマーシャルスキップを提供できる。
【0085】
図8は、イベント索引に基づいて映像提示内容をナビゲーションするためのシステム800を示す。このシステム800は、図1のDVR100等のDVRに実現できる。システム800は、デジタル映像データおよびイベント索引と関連して動作する。システム800は、イベント索引中のイベントパターンに基づいて内容遷移を識別し、その内容遷移に基づいて1以上のナビゲーションオプションを提供する。例えば、システム800は番組内容とコマーシャルまたはコマーシャルグループ間の遷移を識別し、そのコマーシャルまたはコマーシャルグループを再生中に自動スキップする機能を提供する。システム800は、複数のモジュールを含む。一実施例において、それら複数のモジュールは、コンピュータ読み取り可能記憶媒体上のソフトウエア命令において実現する。前記複数のモジュールは、DVR等のシステムにおいて実行する。かかるシステムは適切なハードウエアを含み、デジタル映像番組とイベント索引とを受信または発生する。他の実施例において、前記複数のモジュールは、ソフトウエア要素とハードウエア要素の組み合わせを含んで各機能を実現する。システム800は、コンテンツナビゲータモジュール810とグループ検出器モジュール820とを含む。
【0086】
コンテンツナビゲータモジュール810が提供する論理は、イベント索引を使用して、対応するコンテンツファイルをナビゲーションする。このファイルは、1以上の映像番組についての映像データを含む。例えば、各映像番組はその内容に1以上のコマーシャルを含んでいる。イベント索引は、番組内容とコマーシャルの遷移に対応するデータポインタを含む。コンテンツナビゲータモジュール810は、イベント索引を利用する1以上のナビゲーション機能を提供する。例えばコンテンツナビゲータモジュール810は、コマーシャルスキップ機能、コマーシャルだけ機能、その他機能を提供できる。コンテンツナビゲータモジュール810は、グループ検出器モジュール820によって支援可能である。これは、イベント索引中のパターンを検出し、イベントで分離されたコンテンツタイプ(例えば番組またはコマーシャル)を特定する。コンテンツナビゲータモジュール810は、索引読み出しモジュール812と、ナビゲーション機能モジュール814と、機能インジケータモジュール816と、制御インタフェースモジュール818とを含む。
【0087】
索引読み出しモジュール812は、イベント索引からイベントデータを選択的に読み出す。このイベントデータはイベントタグを含む。イベントタグは、そのイベントに対応するファイル位置へのデータポインタを含む。イベントタグはさらに、イベントタイプを識別するためのイベント識別子を含む。索引読み出しモジュール812は、イベントタグの特別なタイプを識別できる。これは、コンテンツナビゲータモジュール810が提供するナビゲーション機能に関係したものである。例えば、提供する機能がコマーシャルナビゲーションを含む場合、索引読み出しモジュール812は黒フィールド/無音イベント用のイベントタグを選択し、それを使って番組内容とコマーシャルとを分離する。索引読み出しモジュール812は、イベント索引からイベントデータを取り出す。これは、コマーシャルスキップ機能を有効にした再生等、機能の開始に合わせて行う。取り出したイベントデータは、追加の処理を行ってから、ナビゲーション機能に使用する。この場合、追加の処理は、グループ検出器モジュール820等の他のモジュールが提供する。索引読み出しモジュール812は、取り出したイベントデータを他のモジュールへ送り、そのモジュールから処理済みイベントデータを受け取り、その処理済みデータをナビゲーション機能モジュール814へ送る。
【0088】
ナビゲーション機能モジュール814は、イベントデータに基づいて1以上のナビゲーション機能を提供するための論理を含む。例えばナビゲーション機能モジュール814は、コマーシャルスキップ機能の論理を提供できる。ナビゲーション機能モジュール814は、索引読み出しモジュール812からイベントデータを受け取る。例えば、コマーシャルグループの開始および終了に対応する処理済みイベントデータポインタを受け取る。再生中、ナビゲーション機能モジュール814は、映像データストリームを監視し、コマーシャルグループ開始位置を特定する。その位置に到達すると、ナビゲーション機能モジュールは、機能インジケータモジュール816を呼び出し、ユーザにコマーシャルスキップを知らせる。次にナビゲーション機能モジュール814は、再生ストリームをコマーシャルグループ終了へ導き、通常再生を再開する。一実施例において、ナビゲーション機能モジュール814は、機能識別子を有するコマーシャルグループ開始前の番組映像ストリームと、そのコマーシャルグループ終了後の番組映像ストリームとを連続させる。ナビゲーション機能の開始、中断、その他制御は、制御インタフェースモジュール818内に定義した制御信号を使用して行う。
【0089】
機能インジケータモジュール816は、機能が動作していることをユーザに知らせるための機能インジケータを提供する。機能インジケータモジュール816は状態インジケータを含むことができる。これは例えばLEDや他の表示であり、DVR制御パネルやリモートコントロール上にある。他の状態インジケータとしては、オンスクリーングラフィック重畳がある。これは例えばアイコン重畳、「コントロールパネル」ポップアップメニューにおける有効機能リスト等である。機能インジケータモジュール816は、1以上の動作インジケータを含むことができ、ナビゲーション機能によって特定の動作が行われていることをユーザに知らせることができる。例えばコマーシャルグループがスキップされていることを知らせる。例えば機能インジケータモジュール816は、実際の動作中において、状態インジケータに似たインジケータや状態インジケータの変更形態(例えば点滅するLED)を提供できる。一実施例において、カスタムインジケータアルゴリズムにより、動作中におけるインジケータを作成できる。例えば、機能インジケータモジュール816は、特定のコマーシャルグループがスキップされる時にカスタムインジケータを発生できる。インジケータアルゴリズムの一例は、コマーシャルグループの第1コマーシャルの一部(例えば3−5秒)をサンプルし、コマーシャルグループの最終コマーシャルの一部(例えば5−10秒)をサンプルし、その2つを連続させ、それらにアイコンを重畳させる。その結果としてのインジケータは、各コマーシャルグループ毎に異なり、動作と内容がスキップされることとをユーザに知らせる。別のアルゴリズムは、コマーシャルグループ内の各コマーシャルの一部を連続させ、連続させた部分の長さを変化させ、あるいはグラフィック重畳を介して追加情報(例えばスキップしたコマーシャルの長さおよび数)を提供する。機能インジケータモジュール816はインジケータを提供するに当たり、ナビゲーション機能モジュール814によるナビゲーション機能の実行と協働する。
【0090】
制御インタフェースモジュール818は、ナビゲーション機能モジュール814の動作とDVRの一般動作との間にインタフェースを提供する。制御インタフェースモジュール818は、ナビゲーション機能の開始、実行、および/または終了とDVR動作とを相関させる。制御インタフェースモジュール818は、他のDVR機能とナビゲーション機能との間の互換性を定義する。制御インタフェースモジュール818は、ナビゲーション機能に関する開始イベント、モード信号、制御信号を定義する。一実施例において、制御インタフェースモジュール818は、ナビゲーション機能の始動を管理する1以上の変数を定義することができる。これは、DVRが特定の状態、例えば再生モード、再生メニューモード、ライブ鑑賞モード、番組ガイドメニューモード等にある場合に行う。例えば、コマーシャルスキップ機能は、再生中に稼働または非稼働にできる。制御インタフェースモジュール818は、コマーシャルスキップ機能を稼働モードと非稼働モードとの間でトグルするための1以上の制御信号を定義できる。これは例えばリモートコントロールのボタン(およびそこからの対応する制御信号)に関連して定義する。コマーシャルスキップ機能は、メニューモードにおいて非稼働である。しかしながらユーザは、次に鑑賞する番組をコマーシャルスキップ稼働モードで開始するか、非稼働モードで開始するかを選択したい場合がある。制御インタフェースモジュール818は、メニューシステムを介して汎用初期設定を提供し、再生開始において(例えば再生ボタンを押した時)コマーシャルスキップ機能が稼働であるか非稼働であるかを定義できる。制御インタフェースモジュール818はメニューオプションを提供し、再生メニューから再生が選択された時、コマーシャルスキップ機能を稼働にするか否かを選択できるようにすることも可能である。制御インタフェースモジュール818は、ライブ鑑賞モードまたは遅延鑑賞モード(再生の一形式)であって、イベントをバッファし処理しコマーシャルグループを識別する十分な時間がない(例えば2分以下の時間遅延)場合は、常にコマーシャルスキップを非稼働にするよう定義できる。制御インタフェースモジュール818は、ナビゲーション機能と同一モードで稼働する他のナビゲーション機能との互換性を定義できる。他のナビゲーション機能とは、再生モード中の即時再生、スローモーション、早送り、前方スキップ、および反転である。他のナビゲーション機能にも、動作モードおよび制御信号に対する関係を定義できる。制御インタフェースモジュール818は、グラフィカルユーザインタフェースを介して制御信号を提示するための合図、グラフィクス、および論理構造を含むことができる。
【0091】
グループ検出器モジュール820は、ナビゲーション機能において、イベント索引の作成とイベントデータの利用との間に、イベント処理の追加レイヤを提供する。グループ検出器モジュール820は、一連のイベントを分析し、イベントパターン認識を使うことにより、イベントによって分離されている内容をコマーシャル内容または番組内容として識別する。他の実施例において、グループ検出器モジュール820は、各種イベントタイプを処理し、より複雑な識別方法に基づき内容部分を分類する。例えば、映像処理またはメタデータを使用し、内容に関するより詳細な情報を抽出し、各番組区間、コマーシャルタイプ、ニュース区間等を分類できる。図示の実施例において、グループ検出器モジュール820は、イベントバッファモジュール822と、間隔計算モジュール824と、グループ化論理モジュール826と、イベントタイプ論理828とを含む。
【0092】
イベントバッファモジュール822は、イベント索引からイベントを受け取って集計する。一実施例において、イベントバッファ822は、コンテンツナビゲータモジュール810が索引ファイルから読み出した選択イベントを受け取る。イベントバッファモジュール822は、複数のイベントを分析用に保存する。一実施例において、イベントバッファモジュール822は、設定時間、例えば2分間イベントデータを一時保存する。例えばイベントバッファモジュール822は、2分間リングバッファを含むことができる。他の実施例において、イベントバッファモジュール822は、映像番組の全期間にわたりイベントデータを一時保存する。さらに他の実施例において、イベントバッファモジュール822は所定数のイベントを保存する。この時、最も早く保存したイベントデータは、イベントスタックから押し出され、新しいイベント用のスペースを作る。グループ検出器モジュール820内の他のモジュールは、イベントバッファモジュール822が保存したデータを分析する。
【0093】
間隔計算モジュール824は、隣接イベント間の間隔を計算する。間隔計算モジュールは、イベントバッファモジュール822内に隣接イベントの位置を探し、両者間の経過時間を計算する。計算した経過時間は、グループ化論理モジュール826へ送ってさらに処理する。他の実施例において、間隔計算モジュール824は、各イベントが一時保存される時にイベント間の間隔を計算する(イベントバッファモジュール822は2イベント以上を保持する必要がない)。計算した間隔は間隔バッファに追加し、グループ化論理モジュール826がさらに処理する。
【0094】
グループ化論理モジュール826は、一連のイベントに基づきコマーシャルグループを識別するための論理を提供する。一実施例において、グループ化論理は、コマーシャル長さ間隔を選択するための条件とコマーシャルグループ用の最低条件とを含む。例えば、コマーシャル長さ間隔は、0−35秒、38−40秒、43−47秒、56−60.5秒の間隔を含むことができる。コマーシャルグループ用の最低条件は、少なくとも2つの隣接コマーシャル長さがあること、グループの合計時間は少なくとも59秒であることを含む。別のグループ化論理は、番組間隔(例えば>120秒)の識別、番組提示内のコマーシャル間隔(例えば1番組に12分間)の位置の識別を含む。さらに複雑なグループ化論理を使用しても良い。これは、複数のイベントタイプを評価する場合である。コマーシャルグループを識別したら、そのコマーシャルグループ内のイベントをイベントタイプ論理828へ送り、そのイベントをさらに分類し、コンテンツナビゲータモジュール810が使用できるようにする。
【0095】
イベントタイプ論理828は、識別したコマーシャルグループ近辺のイベントを分類する。コンテンツナビゲータモジュール810は、特定タイプのイベントを識別する能力および映像データにおいてそれがどこに現れるかを識別する能力に基づいて動作する。例えば、コマーシャルスキップ機能は、コマーシャルグループの開始および終了を識別することに依存する。別のコマーシャル機能は、隣接コマーシャルの開始を識別することに依存する。他の機能は、他の要件を有する。一実施例において、イベントタイプ論理828は、コマーシャルグループに先立つイベント(コマーシャルグループ開始)と、コマーシャルグループに続くイベント(コマーシャルグループ終了)とを識別する。一実施例において、イベントタイプ論理828は、コマーシャルグループ内のコマーシャル間のイベントを識別する。識別したイベントにはタグを付け、コンテンツナビゲータモジュール810が使用できるようにする。あるいはコンテンツナビゲータモジュール810へ送る。一実施例において、イベントに識別子を割り当て、複数のナビゲーション機能でそれを利用する。
【0096】
他の実施例において、グループ検出器モジュール820は、図6のイベントハンドラモジュール640等のイベントハンドラと関連して動作する。イベントグループを検出し、イベントを識別し、イベント索引に追加する。例えば、イベントハンドラが検出したイベントは、グループ検出器モジュール820に一時保存し、グループ検出器モジュール820は、選択したイベントを識別し、適切なタグをイベントインデクサモジュールへ送り、イベント索引に保存する。この別実施例において、グループ検出器モジュール820は、前記とは別の方法で動作する。
【0097】
図9は、イベント索引を発生する方法900を示す。方法900を実行する場合、図1−8に関連して説明した各システムの一実施例を使用する。方法900の各ステップの詳細は、前記各システムの説明を参照できる。ステップ910において、映像信号を受け取る。例えば、映像信号はDVRが放送ソースから受け取ることができる。ステップ920において、その映像信号からイベントを検出する。例えば、黒フィールドおよび無音フレームイベントを映像信号から検出する。ステップ930において、検出したイベントに対応するイベントタグをイベント索引に保存する。例えば、検出した黒フィールドおよび無音フレームに関する位置情報をイベント索引に保存し、後からそれをナビゲーション機能において使用できるようにする。
【0098】
図10は、イベント索引を使ってコンテンツナビゲーションを提供する方法1000を示す。方法1000は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1000の各ステップの詳細は、前記各システムの説明を参照できる。方法1000は、方法900を使って作成したイベント索引に関連して実行できる。ステップ1010において、ナビゲーション機能を開始する。例えば、コマーシャルスキップ機能をオンにした再生をDVRで開始する。ステップ1020において、イベント索引を読み出す。例えばDVRは、再生しようとする番組に対応する索引ファイルをあらかじめ走査し、イベントタグを見つける。ステップ1030において、イベント索引からのイベントをイベントバッファに一時保存する。例えばDVRは、現在の再生位置から映像番組の2分間前方のイベントを一時保存できる。ステップ1040において、一連の一時保存イベントからイベントグループを検出する。例えばコマーシャルグループに対応するイベントを識別する。これは一時保存したイベント間の間隔パターンに基づいて行う。ステップ1050において、イベントグループ内の位置に基づき、1以上のイベントを識別する。例えばコマーシャルグループの開始および終了に対応するイベントを識別する。ステップ1060において、識別したイベントに基づくナビゲーション機能を実行する。例えばDVRは、コマーシャルグループの開始に対応するイベントの位置から、そのコマーシャルグループの終了に対応するイベントの位置までスキップすることにより、そのコマーシャルグループをスキップする。
【0099】
図11は、イベント索引を作成する方法1100を示す。方法1100は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1100の各ステップの詳細は、前記各システムの説明を参照できる。ステップ1110において、映像信号を受け取る。例えばその映像信号はDVRが放送ソースから受け取ることができる。ステップ1120において、その映像信号からイベントを検出する。例えば黒フィールドおよび無音フレームイベントを映像信号から検出できる。ステップ1130において、検出したイベントをイベントバッファに一時保存する。例えばDVRは映像番組時間の2分間に対応する検出黒フィールドおよび無音フレームイベントを一時保存できる。ステップ1140において、一連の一時保存イベントからイベントグループを検出する。例えば一時保存イベント間の間隔パターンに基づき、コマーシャルグループに対応するイベントを検出できる。ステップ1150において、イベントグループ内の位置に基づき、1以上のイベントを検出する。例えばコマーシャルグループの開始および終了に対応するイベントを識別できる。ステップ1160において、検出したイベントに対応するイベントタグをイベント索引に保存する。例えば識別したコマーシャルグループの開始および終了イベントに関する位置情報をイベント索引に保存し、ナビゲーション機能において後から使用する。
【0100】
図12は、イベント索引を使ってコンテンツナビゲーションを提供する方法1200を示す。方法1200は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1200の各ステップの詳細は、前記各システムの説明を参照できる。方法1200は、方法1100を使って発生したイベント索引との関連で実行できる。ステップ1210において、ナビゲーション機能を開始する。例えばコマーシャルスキップ機能をオンにした再生をDVRで開始する。ステップ1220において、イベント索引を読み出す。例えばDVRは、再生しようとする番組に対応する索引ファイルをあらかじめ走査し、コマーシャルグループの開始と終了に対応するイベントタグを見つける。ステップ1230において、識別したイベントに基づくナビゲーション機能を実行する。例えばDVRは、コマーシャルグループの開始に対応するイベントの位置から、そのコマーシャルグループの終了に対応するイベントの位置までスキップすることにより、そのコマーシャルグループをスキップする。
【0101】
図13は、黒フィールド検出閾値を決定する方法1300を示す。方法1300は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1300の各ステップの詳細は、前記システムに関する図6の説明を参照できる。ステップ1310において、複数の輝度帯を定義する。例えば、完全な明から完全な暗までの映像フレーム輝度を64の等間隔帯に分割する。ステップ1320において、検出ウインドウを定義する。例えばその検出ウインドウは、放送業者ロゴや透かしに一般的に使用される領域を除く全映像フレームを含んで定義できる。ステップ1330において、選択した映像フレームの検出ウインドウ内における全ピクセルの輝度成分を合計する。例えば各ピクセルの輝度成分を順次加算し、合計輝度値を計算する。ステップ1340において、そのフレームを輝度ヒストグラムに追加する。例えばステップ1330にて計算した合計輝度は第23輝度帯に入るとする。その場合、その輝度帯内のフレーム数を1だけ増分する。ステップ1350において、別のフレームを処理用に選択し、ステップ1330に戻る。例えば映像番組内の次のフレームを分析用に選択できる。ステップ1360において、黒フィールドと通常映像内容との間の閾値帯を識別する。例えば番組内容に対応する第1ピークと黒フィールドに対応する第2ピーク間の輝度帯を識別する。ステップ1370において、識別した閾値帯に基づき、閾値を計算する。例えば識別した帯の高い値、低い値、または中間の値に閾値を設定できる。
【0102】
図14は、映像データストリーム内に映像イベントを検出する方法1400を示す。方法1400は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1400の各ステップの詳細は、前記システムの図6に関連した説明を参照できる。ステップ1410において、検出ウインドウを定義する。例えばDVRは、放送業者ロゴや透かしに一般的に使用される領域を除く全映像フレームを含んで検出ウインドウを定義できる。ステップ1420において、選択した映像フレームの検出ウインドウ内における全ピクセルの輝度成分を合計する。例えばDVRは各ピクセルの輝度成分を順次加算し、合計輝度値を計算する。ステップ1430において、フレーム割り込みを発生する。例えばDVRは現在フレーム用の映像データの最後に到達し、合計輝度値を次の計算に使う準備をする。ステップ1440において、合計輝度と輝度閾値とを比較する。例えばDVRはフレームの合計輝度と、図13の方法1300を使って計算した輝度閾値とを比較する。合計輝度が輝度閾値より小さければ、黒フィールドイベントを検出する。ステップ1450において、そのフレームに関する無音検出をオプションで開始する。例えばDVRは、処理済み映像フレームに対応する音声データに対し、音声イベント検出方法を開始できる。
【0103】
図15は、映像データストリームにおける音声イベントを検出する方法1500を示す。方法1500は、図1−8に関連して説明した各システムの一実施例を使用して実行する。方法1500の各ステップの詳細は、前記システムの図6に関連した説明を参照できる。ステップ1510において、音声チャンネルを選択する。例えばDVRは、特定映像フレームに関連する複数チャンネル音声トラックから左音声チャンネルを選択できる。ステップ1520において、音声に関する最小値および最大値を決定する。例えばDVRは音声チャンネルの周波数を走査し、最大値および最小値を探す。ステップ1530において、最大値と最小値間の百分率差を決定する。例えばDVRは最大値と最小値間の差を計算し、それを最小値で除算し、百分率差を計算する。ステップ1540において、閾値音声条件を決定する。例えばDVRはあらかじめ決定した閾値百分率差1.6%を使用できる。ステップ1550において、計算した百分率差と閾値条件とを比較し、その条件に合うか否かを決定する。例えばDVRは計算した百分率差が閾値1.6%より小さいか否かを決定する。もし小さければ音声イベントを検出する。
【図面の簡単な説明】
【0104】
【図1】図1は本発明の実施例を実現すべくあるいはそれを含むべく構成可能なデジタルビデオレコーダを示すブロック図である。
【図2】図2は本発明の実施例が動作可能なシステムの一例を示す概略図である。
【図3】図3は本発明の一実施例を動作させないおよび動作させた録画内容を示す図である。
【図4】図4は本発明の実施例に関連して使用可能なユーザインタフェース表示例を示す図である。
【図5】図5は図1のデジタルビデオレコーダ等において実施可能な本発明の一実施例を示すブロック図である。
【図6】図6は本発明の一実施例に基づく、イベント索引作成システムの各モジュールを示すブロック図である。
【図7】図7は本発明の一実施例に基づく、黒フィールド検出閾値を決定するための輝度ヒストグラム例を示す図である。
【図8】図8は本発明の一実施例に基づく、コンテンツナビゲーション提供システムの各モジュールを示すブロック図である。
【図9】図9は本発明の一実施例に基づく、イベント索引作成方法の第1例を示すフローチャートである。
【図10】図10は本発明の一実施例に基づく、コンテンツナビゲーション提供方法の第1例を示すフローチャートである。
【図11】図11は本発明の一実施例に基づく、イベント索引作成方法の第2例を示すフローチャートである。
【図12】図12は本発明の一実施例に基づく、コンテンツナビゲーション提供方法の第2例を示すフローチャートである。
【図13】図13は本発明の一実施例に基づく、黒フィールド検出閾値決定方法の一例を示すフローチャートである。
【図14】図14は本発明の一実施例に基づく、映像イベント検出方法の一例を示すフローチャートである。
【図15】図15は本発明の一実施例に基づく、音声イベント検出方法の一例を示すフローチャートである。
【特許請求の範囲】
【請求項1】
映像番組とコマーシャルとを含む映像信号を受け取り、
前記コマーシャルの存在を識別するためのイベントセットを前記映像信号内に検出し、
前記映像信号に対応する映像データをコンテンツファイルに保存し、
データポインタを索引ファイルに保存することを備え、前記データポインタは前記イベントセットの1イベントに実質的に対応する前記コンテンツファイル内の1位置を示す、コマーシャル検出方法。
【請求項2】
前記映像番組の表示に使用する信号を前記コンテンツファイルから提供し、
前記データポインタを使用して、前記コマーシャルの少なくとも実質的部分が前記映像番組の表示中に表示されることを防止することをさらに備える、請求項1の方法。
【請求項3】
前記イベントセットは第1イベントと第2イベントとを含み、前記方法は、
前記第1イベントと前記第2イベント間の関係を検出し、
前記関係とあらかじめ定義したコマーシャル検出条件セットとを比較することにより前記コマーシャルの存在を識別することをさらに備える、請求項1の方法。
【請求項4】
前記第1イベントと前記第2イベント間の前記関係は、前記第1イベントと前記第2イベント間の経過時間を含む、請求項3の方法。
【請求項5】
前記コマーシャルはコマーシャルグループ中の第1コマーシャルであり、前記データポインタは第1データポインタであり、前記コンテンツファイル内の前記位置は前記コマーシャルグループの開始位置に対応する、請求項1の方法。
【請求項6】
前記コマーシャルグループは最終コマーシャルを含み、
前記索引ファイルに第2データポインタを挿入し、当該データポインタは前記コンテンツファイルにおける前記最終コマーシャルの終了位置を示すことをさらに備える、請求項5の方法。
【請求項7】
前記コンテンツファイル内の前記位置はデジタル保存したファイル内の位置である、請求項1の方法。
【請求項8】
前記映像データは圧縮デジタル映像フォーマットで保存する、請求項1の方法。
【請求項9】
前記索引ファイルに前記映像データの時間索引を保存することをさらに備える、請求項1の方法。
【請求項10】
前記映像信号内にイベントセットを検出することは、あらかじめ定義した特徴を前記映像信号の輝度成分中に検出することを備える、請求項1の方法。
【請求項11】
前記映像信号内にイベントセットを検出することは、あらかじめ定義した特徴を前記映像信号の音声成分中に検出することを備える、請求項1の方法。
【請求項12】
前記映像信号内にイベントセットを検出することは、積極性設定を使用して前記映像信号がコマーシャルを示すイベントを含むか否かを決定することを備える、請求項1の方法。
【請求項13】
映像番組とコマーシャルとを含む映像信号を受け取り、
前記コマーシャルの存在を識別するためのイベントセットを前記映像信号内に検出し、
前記映像信号に対応する映像データをコンテンツファイルに保存し、
データポインタを索引ファイルに保存する各命令を備え、前記データポインタは前記イベントセットの1イベントに実質的に対応する前記コンテンツファイル内の1位置を示す、実行すると映像信号内にコマーシャルを検出するソフトウエア命令セットを保存するコンピュータ読み取り可能記憶媒体。
【請求項14】
前記映像番組の表示に使用する信号を前記コンテンツファイルから提供し、
前記データポインタを使用して、前記コマーシャルの少なくとも実質的部分が前記映像番組の表示中に表示されることを防止する各命令をさらに備える、請求項13の記憶媒体。
【請求項15】
前記イベントセットは第1イベントと第2イベントとを含み、前記記憶媒体は、
前記第1イベントと前記第2イベント間の関係を検出し、
前記関係とあらかじめ定義したコマーシャル検出条件セットとを比較することにより前記コマーシャルの存在を識別する各命令をさらに備える、請求項13の記憶媒体。
【請求項16】
前記第1イベントと前記第2イベント間の前記関係は、前記第1イベントと前記第2イベント間の経過時間を含む、請求項15の記憶媒体。
【請求項17】
前記コマーシャルはコマーシャルグループ中の第1コマーシャルであり、前記データポインタは第1データポインタであり、前記コンテンツファイル内の前記位置は前記コマーシャルグループの開始位置に対応する、請求項13の記憶媒体。
【請求項18】
前記コマーシャルグループは最終コマーシャルを含み、
前記索引ファイルに第2データポインタを挿入し、当該データポインタは前記最終コマーシャルの終了位置を示すことをさらに備える、請求項17の記憶媒体。
【請求項19】
前記コンテンツファイル内の前記位置はデジタル保存したファイル内の論理位置である、請求項13の記憶媒体。
【請求項20】
前記映像データは圧縮デジタル映像フォーマットで保存する、請求項13の記憶媒体。
【請求項21】
前記索引ファイルに前記映像データの時間索引を保存する命令をさらに備える、請求項13の記憶媒体。
【請求項22】
前記映像信号内にイベントセットを検出する命令は、あらかじめ定義した特徴を前記映像信号の輝度成分中に検出する命令を備える、請求項13の記録媒体。
【請求項23】
前記映像信号内にイベントセットを検出する命令は、あらかじめ定義した特徴を前記映像信号の音声成分中に検出する命令を備える、請求項13の記録媒体。
【請求項24】
前記映像信号内にイベントセットを検出する命令は、積極性設定を使用して前記映像信号がコマーシャルを示すイベントを含むか否かを決定する命令を備える、請求項13の記憶媒体。
【請求項25】
映像データの第1ファイル内に当該映像データの特徴から映像イベントセットを検出し、当該映像データは複数の映像部を含み、前記映像イベントセットは前記複数の映像部内の遷移を示し、
第2ファイルにデータポインタを保存し、当該データポインタは前記映像イベントセットから選択した映像イベントの位置に対応し、
前記第1ファイルにおいて前記データポインタを使用して前記複数の映像部をナビゲーションすることを備える、映像コンテンツをナビゲーションする方法。
【請求項26】
前記映像イベントセットを検出するために使用する前記映像データの特徴は、前記映像データの輝度成分からなる、請求項25の方法。
【請求項27】
前記映像イベントセットを検出するために使用する前記映像データの特徴は、前記映像データの音声成分からなる、請求項25の方法。
【請求項28】
あらかじめ定義した関係に基づき前記映像イベントセット内に映像イベントグループを識別することをさらに備え、前記データポインタは前記識別した映像イベントグループの前記第1ファイル内における位置に対応する、請求項25の方法。
【請求項29】
映像番組とコマーシャルセットとを含む映像信号を受信するための映像入力と、
受信した映像信号に対応する映像データを保存するためのコンテンツファイルと、
前記コンテンツファイル内の前記映像データの複数位置へのデータポインタを保存する索引ファイルと、
前記映像データ内に前記コマーシャルセットを識別し、前記コンテンツファイル内における前記コマーシャルセットの位置に対応するタグを前記索引ファイルに挿入するコマーシャル検出モジュールと、
前記索引ファイルに挿入した前記タグに基づき、前記コンテンツファイルからの映像出力を制御するコンテンツナビゲーションモジュールとを備えることにより、前記コマーシャルセットの実質的部分を前記映像出力から除外するビデオレコーダ。
【請求項30】
前記映像データは圧縮デジタル映像フォーマットで前記コンテンツファイルに保存する、請求項29のビデオレコーダ。
【請求項31】
前記索引ファイルは、前記コンテンツナビゲーションモジュールに使用させるため、前記映像データの時間索引を含む、請求項29のビデオレコーダ。
【請求項32】
前記コマーシャル検出モジュールは、
前記コマーシャルセットの存在を識別するための映像イベントセットを前記映像データ内に識別するイベント識別モジュールと、
前記コマーシャルセットの存在を識別するための前記映像イベントセット内にパターンを識別するグループ識別モジュールと、
前記グループ識別モジュールが識別したパターンに基づき、前記索引ファイル内にタグを挿入する索引タグ付けモジュールとを備える、請求項29のビデオレコーダ。
【請求項33】
前記受信映像信号内に映像イベントを検出する映像イベント検出器をさらに備える、請求項29のビデオレコーダ。
【請求項34】
前記受信映像信号内に音声イベントを検出する音声イベント検出器をさらに備える、請求項29のビデオレコーダ。
【請求項35】
前記コマーシャル検出モジュールは、前記映像データ内に前記コマーシャルセットを識別するための閾値を決定する積極性設定を含む、請求項29のビデオレコーダ。
【請求項36】
映像番組とコマーシャルセットとを含む映像信号を受信するための入力手段と、
受信した映像信号に対応する映像データを保存するための第1保存手段と、
前記第1保存手段内の前記映像データの複数位置へのデータポインタを保存する第2保存手段と、
前記映像データ内に前記コマーシャルセットを識別し、前記コマーシャルセットを探し出すためのタグを前記第2保存手段に挿入するコマーシャル検出手段と、
前記第2保存手段に挿入した前記タグに基づき、前記第1保存手段からの映像出力を制御するコンテンツナビゲーション手段とを備えることにより、前記コマーシャルセットの実質的部分を前記映像出力から除外するビデオレコーダ。
【請求項37】
前記映像データは圧縮デジタル映像フォーマットで前記第1保存手段に保存する、請求項36のビデオレコーダ。
【請求項38】
前記第2保存手段は、前記コンテンツナビゲーション手段に使用させるため、前記映像データの時間索引を含む、請求項36のビデオレコーダ。
【請求項39】
前記コマーシャル検出手段は、
前記コマーシャルセットの存在を識別するための映像イベントセットを前記映像データ内に識別するイベント識別手段と、
前記コマーシャルセットの存在を識別するための前記映像イベントセット内にパターンを識別するグループ識別手段と、
前記グループ識別手段が識別したパターンに基づき、前記第2保存手段内にタグを挿入する索引タグ付け手段とを備える、請求項36のビデオレコーダ。
【請求項40】
前記受信映像信号内に映像イベントを検出する映像イベント検出手段をさらに備える、請求項36のビデオレコーダ。
【請求項41】
前記受信映像信号内に音声イベントを検出する音声イベント検出手段をさらに備える、請求項36のビデオレコーダ。
【請求項42】
前記コマーシャル検出手段は、前記コマーシャルセットを識別するための閾値を決定する積極性設定を含む、請求項36のビデオレコーダ。
【請求項1】
映像番組とコマーシャルとを含む映像信号を受け取り、
前記コマーシャルの存在を識別するためのイベントセットを前記映像信号内に検出し、
前記映像信号に対応する映像データをコンテンツファイルに保存し、
データポインタを索引ファイルに保存することを備え、前記データポインタは前記イベントセットの1イベントに実質的に対応する前記コンテンツファイル内の1位置を示す、コマーシャル検出方法。
【請求項2】
前記映像番組の表示に使用する信号を前記コンテンツファイルから提供し、
前記データポインタを使用して、前記コマーシャルの少なくとも実質的部分が前記映像番組の表示中に表示されることを防止することをさらに備える、請求項1の方法。
【請求項3】
前記イベントセットは第1イベントと第2イベントとを含み、前記方法は、
前記第1イベントと前記第2イベント間の関係を検出し、
前記関係とあらかじめ定義したコマーシャル検出条件セットとを比較することにより前記コマーシャルの存在を識別することをさらに備える、請求項1の方法。
【請求項4】
前記第1イベントと前記第2イベント間の前記関係は、前記第1イベントと前記第2イベント間の経過時間を含む、請求項3の方法。
【請求項5】
前記コマーシャルはコマーシャルグループ中の第1コマーシャルであり、前記データポインタは第1データポインタであり、前記コンテンツファイル内の前記位置は前記コマーシャルグループの開始位置に対応する、請求項1の方法。
【請求項6】
前記コマーシャルグループは最終コマーシャルを含み、
前記索引ファイルに第2データポインタを挿入し、当該データポインタは前記コンテンツファイルにおける前記最終コマーシャルの終了位置を示すことをさらに備える、請求項5の方法。
【請求項7】
前記コンテンツファイル内の前記位置はデジタル保存したファイル内の位置である、請求項1の方法。
【請求項8】
前記映像データは圧縮デジタル映像フォーマットで保存する、請求項1の方法。
【請求項9】
前記索引ファイルに前記映像データの時間索引を保存することをさらに備える、請求項1の方法。
【請求項10】
前記映像信号内にイベントセットを検出することは、あらかじめ定義した特徴を前記映像信号の輝度成分中に検出することを備える、請求項1の方法。
【請求項11】
前記映像信号内にイベントセットを検出することは、あらかじめ定義した特徴を前記映像信号の音声成分中に検出することを備える、請求項1の方法。
【請求項12】
前記映像信号内にイベントセットを検出することは、積極性設定を使用して前記映像信号がコマーシャルを示すイベントを含むか否かを決定することを備える、請求項1の方法。
【請求項13】
映像番組とコマーシャルとを含む映像信号を受け取り、
前記コマーシャルの存在を識別するためのイベントセットを前記映像信号内に検出し、
前記映像信号に対応する映像データをコンテンツファイルに保存し、
データポインタを索引ファイルに保存する各命令を備え、前記データポインタは前記イベントセットの1イベントに実質的に対応する前記コンテンツファイル内の1位置を示す、実行すると映像信号内にコマーシャルを検出するソフトウエア命令セットを保存するコンピュータ読み取り可能記憶媒体。
【請求項14】
前記映像番組の表示に使用する信号を前記コンテンツファイルから提供し、
前記データポインタを使用して、前記コマーシャルの少なくとも実質的部分が前記映像番組の表示中に表示されることを防止する各命令をさらに備える、請求項13の記憶媒体。
【請求項15】
前記イベントセットは第1イベントと第2イベントとを含み、前記記憶媒体は、
前記第1イベントと前記第2イベント間の関係を検出し、
前記関係とあらかじめ定義したコマーシャル検出条件セットとを比較することにより前記コマーシャルの存在を識別する各命令をさらに備える、請求項13の記憶媒体。
【請求項16】
前記第1イベントと前記第2イベント間の前記関係は、前記第1イベントと前記第2イベント間の経過時間を含む、請求項15の記憶媒体。
【請求項17】
前記コマーシャルはコマーシャルグループ中の第1コマーシャルであり、前記データポインタは第1データポインタであり、前記コンテンツファイル内の前記位置は前記コマーシャルグループの開始位置に対応する、請求項13の記憶媒体。
【請求項18】
前記コマーシャルグループは最終コマーシャルを含み、
前記索引ファイルに第2データポインタを挿入し、当該データポインタは前記最終コマーシャルの終了位置を示すことをさらに備える、請求項17の記憶媒体。
【請求項19】
前記コンテンツファイル内の前記位置はデジタル保存したファイル内の論理位置である、請求項13の記憶媒体。
【請求項20】
前記映像データは圧縮デジタル映像フォーマットで保存する、請求項13の記憶媒体。
【請求項21】
前記索引ファイルに前記映像データの時間索引を保存する命令をさらに備える、請求項13の記憶媒体。
【請求項22】
前記映像信号内にイベントセットを検出する命令は、あらかじめ定義した特徴を前記映像信号の輝度成分中に検出する命令を備える、請求項13の記録媒体。
【請求項23】
前記映像信号内にイベントセットを検出する命令は、あらかじめ定義した特徴を前記映像信号の音声成分中に検出する命令を備える、請求項13の記録媒体。
【請求項24】
前記映像信号内にイベントセットを検出する命令は、積極性設定を使用して前記映像信号がコマーシャルを示すイベントを含むか否かを決定する命令を備える、請求項13の記憶媒体。
【請求項25】
映像データの第1ファイル内に当該映像データの特徴から映像イベントセットを検出し、当該映像データは複数の映像部を含み、前記映像イベントセットは前記複数の映像部内の遷移を示し、
第2ファイルにデータポインタを保存し、当該データポインタは前記映像イベントセットから選択した映像イベントの位置に対応し、
前記第1ファイルにおいて前記データポインタを使用して前記複数の映像部をナビゲーションすることを備える、映像コンテンツをナビゲーションする方法。
【請求項26】
前記映像イベントセットを検出するために使用する前記映像データの特徴は、前記映像データの輝度成分からなる、請求項25の方法。
【請求項27】
前記映像イベントセットを検出するために使用する前記映像データの特徴は、前記映像データの音声成分からなる、請求項25の方法。
【請求項28】
あらかじめ定義した関係に基づき前記映像イベントセット内に映像イベントグループを識別することをさらに備え、前記データポインタは前記識別した映像イベントグループの前記第1ファイル内における位置に対応する、請求項25の方法。
【請求項29】
映像番組とコマーシャルセットとを含む映像信号を受信するための映像入力と、
受信した映像信号に対応する映像データを保存するためのコンテンツファイルと、
前記コンテンツファイル内の前記映像データの複数位置へのデータポインタを保存する索引ファイルと、
前記映像データ内に前記コマーシャルセットを識別し、前記コンテンツファイル内における前記コマーシャルセットの位置に対応するタグを前記索引ファイルに挿入するコマーシャル検出モジュールと、
前記索引ファイルに挿入した前記タグに基づき、前記コンテンツファイルからの映像出力を制御するコンテンツナビゲーションモジュールとを備えることにより、前記コマーシャルセットの実質的部分を前記映像出力から除外するビデオレコーダ。
【請求項30】
前記映像データは圧縮デジタル映像フォーマットで前記コンテンツファイルに保存する、請求項29のビデオレコーダ。
【請求項31】
前記索引ファイルは、前記コンテンツナビゲーションモジュールに使用させるため、前記映像データの時間索引を含む、請求項29のビデオレコーダ。
【請求項32】
前記コマーシャル検出モジュールは、
前記コマーシャルセットの存在を識別するための映像イベントセットを前記映像データ内に識別するイベント識別モジュールと、
前記コマーシャルセットの存在を識別するための前記映像イベントセット内にパターンを識別するグループ識別モジュールと、
前記グループ識別モジュールが識別したパターンに基づき、前記索引ファイル内にタグを挿入する索引タグ付けモジュールとを備える、請求項29のビデオレコーダ。
【請求項33】
前記受信映像信号内に映像イベントを検出する映像イベント検出器をさらに備える、請求項29のビデオレコーダ。
【請求項34】
前記受信映像信号内に音声イベントを検出する音声イベント検出器をさらに備える、請求項29のビデオレコーダ。
【請求項35】
前記コマーシャル検出モジュールは、前記映像データ内に前記コマーシャルセットを識別するための閾値を決定する積極性設定を含む、請求項29のビデオレコーダ。
【請求項36】
映像番組とコマーシャルセットとを含む映像信号を受信するための入力手段と、
受信した映像信号に対応する映像データを保存するための第1保存手段と、
前記第1保存手段内の前記映像データの複数位置へのデータポインタを保存する第2保存手段と、
前記映像データ内に前記コマーシャルセットを識別し、前記コマーシャルセットを探し出すためのタグを前記第2保存手段に挿入するコマーシャル検出手段と、
前記第2保存手段に挿入した前記タグに基づき、前記第1保存手段からの映像出力を制御するコンテンツナビゲーション手段とを備えることにより、前記コマーシャルセットの実質的部分を前記映像出力から除外するビデオレコーダ。
【請求項37】
前記映像データは圧縮デジタル映像フォーマットで前記第1保存手段に保存する、請求項36のビデオレコーダ。
【請求項38】
前記第2保存手段は、前記コンテンツナビゲーション手段に使用させるため、前記映像データの時間索引を含む、請求項36のビデオレコーダ。
【請求項39】
前記コマーシャル検出手段は、
前記コマーシャルセットの存在を識別するための映像イベントセットを前記映像データ内に識別するイベント識別手段と、
前記コマーシャルセットの存在を識別するための前記映像イベントセット内にパターンを識別するグループ識別手段と、
前記グループ識別手段が識別したパターンに基づき、前記第2保存手段内にタグを挿入する索引タグ付け手段とを備える、請求項36のビデオレコーダ。
【請求項40】
前記受信映像信号内に映像イベントを検出する映像イベント検出手段をさらに備える、請求項36のビデオレコーダ。
【請求項41】
前記受信映像信号内に音声イベントを検出する音声イベント検出手段をさらに備える、請求項36のビデオレコーダ。
【請求項42】
前記コマーシャル検出手段は、前記コマーシャルセットを識別するための閾値を決定する積極性設定を含む、請求項36のビデオレコーダ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2008−211777(P2008−211777A)
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−13902(P2008−13902)
【出願日】平成20年1月24日(2008.1.24)
【分割の表示】特願2004−500294(P2004−500294)の分割
【原出願日】平成15年4月28日(2003.4.28)
【出願人】(504228254)ザ・ディレクティービー・グループ・インコーポレイテッド (22)
【Fターム(参考)】
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願番号】特願2008−13902(P2008−13902)
【出願日】平成20年1月24日(2008.1.24)
【分割の表示】特願2004−500294(P2004−500294)の分割
【原出願日】平成15年4月28日(2003.4.28)
【出願人】(504228254)ザ・ディレクティービー・グループ・インコーポレイテッド (22)
【Fターム(参考)】
[ Back to top ]