(57)【要約】多くのメディアストリーム（２１０）が、反復する「オブジェクト」を含む。メディアストリーム中の反復オブジェクトは、人間である聴取者または視聴者によって論理的な単位であるとみなされるであろう、無視できない持続期間をもつどのセクション、すなわち歌、映像、広告、ジングルなどとしても定義される。「オブジェクトコントローラ」（３００）が、このような反復オブジェクトが出現したときに反復オブジェクトを識別し、リアルタイムに、または特定の反復オブジェクトが引き続き出現したときに個々の反復オブジェクトがどのようにして処理されるかをユーザが指定することを可能にする対話型ユーザインターフェイス（３５０）を提供する。概して、オブジェクトコントローラ（３００）は、反復オブジェクトを識別する機構と、そうしたオブジェクトの時間終点を識別する機構と、ある特定のオブジェクトがメディアストリーム中で反復するときに行われるアクションを指定するユーザインターフェイスと、一実施形態では、ストリームを明らかに中断することなく、メディアストリームのオブジェクトのリアルタイムの削除を可能にするのに十分な程長いバッファ（３３０）とを含む。
2005532578.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のメディアストリーム中の反復メディアオブジェクトを制御するシステムであって、コンピューティングデバイスを使用し、
少なくとも１つのメディアストリームの再生を行い、
前記少なくとも１つのメディアストリームの再生中に、少なくとも１つのアクションが指定された時点で前記少なくとも１つのメディアストリームの前記再生によって表されるどのメディアオブジェクトにも自動的に関連づけられる少なくとも１つのアクションを指定し、
前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスを識別し、
前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスの時間終点を識別し、かつ
前記少なくとも１つのメディアストリームのいずれかの再生中に、前記少なくとも１つのメディアストリームのいずれかのメディアストリーム中でメディアオブジェクトの任意の反復インスタンスに関連づけられた、指定されたどのアクションも実施することを特徴とするシステム。
【請求項２】
前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスを識別することは、前記少なくとも１つのメディアストリームの各部分についてのパラメータ情報を計算すること、および一致するパラメータ情報をもつ、少なくとも１つのメディアオブジェクトを位置決めするために、パラメータ情報からなる少なくとも１つのデータベースと前記パラメータ情報を比較することを特徴とする請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスの時間終点を識別することは、前記少なくとも１つのメディアストリーム中のメディアオブジェクトの少なくとも２つの反復インスタンスを中心とする前記少なくとも１つのメディアストリームの部分を自動的に整列し比較して、メディアオブジェクトの前記少なくとも２つの反復インスタンスを中心とする前記メディアストリームの前記部分が分岐する、前記少なくとも１つのメディアストリーム中での位置を判定することによって時間終点を判定することを特徴とする請求項１に記載のシステム。
【請求項４】
少なくとも１つのアクションを指定することは、
前記少なくとも１つのメディアストリームの再生中に、メディアオブジェクトを早送りすること、
前記少なくとも１つのメディアストリームの再生中に、前記メディアオブジェクトの再生速度を遅くすること、
前記少なくとも１つのメディアストリームの再生中に、前記メディアストリームを変えること、
前記少なくとも１つのメディアストリームの再生中に、メディアオブジェクトをお気に入り一覧に追加すること、
前記少なくとも１つのメディアストリームの再生中に、メディアオブジェクトを格付けすること、
前記少なくとも１つのメディアストリームの再生中に、特定のメディアオブジェクトの再生音量を自動的に変えること、
前記少なくとも１つのメディアストリームの再生中に、ある特定のメディアオブジェクトが検出されると、自動的に表示スクリーンを消すこと、
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのメディアストリーム中で特定のメディアオブジェクトの最後までスキップすること、
前記少なくとも１つのメディアストリームの再生中に、特定のメディアオブジェクトを、前記少なくとも１つのメディアストリームから削除すること、
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのメディアストリームから特定のメディアオブジェクトのコピーを抽出し保存すること、
前記少なくとも１つのメディアストリームの再生中に、ある特定のメディアオブジェクトを、予め定義された期間における最大出現回数に制限すること、
前記少なくとも１つのメディアストリーム中で、１つまたは複数の特定のメディアオブジェクトの相対発生頻度を、他のオブジェクトに相対して制限すること、
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのメディアストリーム中の特定のメディアオブジェクトを、以前から格納されている別のメディアオブジェクトと自動的に置き換えること、
前記少なくとも１つのメディアストリームの再生中に、予め定義された１つまたは複数のイベントが出現すると、前記少なくとも１つのメディアストリームのバッファ再生から、前記少なくとも１つのメディアストリームのリアルタイム再生に自動的にジャンプすること、
予め定義された１つまたは複数のイベントが出現すると、リアルタイム再生から、バッファ再生に自動的にジャンプすること、および
ユーザ定義アクションの少なくとも１つを指定することを特徴とする請求項１に記載のシステム。
【請求項５】
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのアクションを指定するユーザインターフェイスをさらに特徴とする請求項１に記載のシステム。
【請求項６】
前記少なくとも１つのメディアストリームの再生の後に前記少なくとも１つのアクションを指定し、１つまたは複数の追加メディアストリームが引き続き再生される間に使用するために、指定されたそうしたアクションを格納するユーザインターフェイスをさらに特徴とする請求項１に記載のシステム。
【請求項７】
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのアクションを指定するリモコン装置をさらに特徴とする請求項１に記載のシステム。
【請求項８】
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのアクションを指定する音声認識システムをさらに特徴とする請求項１に記載のシステム。
【請求項９】
前記少なくとも１つのメディアストリームの前記再生は、バッファリングされることを特徴とする請求項１に記載のシステム。
【請求項１０】
メディアストリーム中で反復メディアオブジェクトを制御するコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
メディアストリームを取り込むこと、
前記ストリーム中で可能メディアオブジェクトを位置決めするために前記メディアストリームを調べること、
各可能オブジェクトについてのパラメータ情報をオブジェクトデータベースに格納すること、
各可能メディアオブジェクトと一致する可能性があるメディアオブジェクトを識別するために、前記データベースを検索すること、
反復メディアオブジェクトを識別するために、一致する可能性がある１つまたは複数のメディアオブジェクトを各可能メディアオブジェクトと比較すること、
各反復メディアオブジェクトの終点を識別するために、各反復メディアオブジェクトの各反復インスタンスを整列すること、
前記メディアストリームのバッファ再生を提供すること、
少なくとも１つのメディアオブジェクトに関連づけられた少なくとも１つのコマンドを指定し、前記コマンドは、関連づけられた少なくとも１つのコマンドをもつ、どのメディアオブジェクトとも一致する反復メディアオブジェクトが引き続き識別されると実行されることを特徴とするコンピュータ可読媒体。
【請求項１１】
各反復メディアオブジェクトの終点を識別することは、各反復メディアオブジェクトの各反復インスタンスを整列し、前記整列されたメディアオブジェクトそれぞれを前後に追跡して、整列された各メディアオブジェクトが整列された他のメディアオブジェクトと依然としてほぼ等しい、前記メディアストリーム中の場所を判定することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
整列された各メディアオブジェクトが、整列された他のメディアオブジェクトと依然としてほぼ等しい、前記メディアストリーム中の前記場所は、各反復メディアオブジェクトの前記終点に対応することを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記メディアストリームは音声メディアストリームであることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
前記メディアストリームは映像メディアストリームであることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１５】
前記メディアオブジェクトは、歌、音楽、広告、ビデオクリップ、ステーション識別子、発話、画像、および画像シーケンスのいずれかであることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１６】
前記メディアストリームを取り込むことは、放送されるメディアストリームを受信し格納することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１７】
前記ストリーム中で可能メディアオブジェクトを位置決めするために前記メディアストリームを調べることは、前記メディアストリームの少なくとも１つのセグメントについてのパラメータ情報を計算し、前記パラメータ情報が可能メディアオブジェクトを表すかどうか判定するために前記パラメータ情報を分析することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１８】
各可能メディアオブジェクトと一致する可能性があるメディアオブジェクトを識別するために前記データベースを検索することは、各可能オブジェクトについての前記パラメータ情報を、類似した可能オブジェクトを位置決めするために、前記オブジェクトデータベース中の前のエントリを比較することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１９】
一致する可能性がある１つまたは複数のメディアオブジェクトを各可能メディアオブジェクトと比較することは、一致する可能性がある各メディアオブジェクトの場所を中心とする、前記メディアストリームの一部分を、各可能メディアオブジェクトの場所を中心とする、前記メディアストリームの一部分と比較することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２０】
一致する可能性がある１つまたは複数のメディアオブジェクトを各可能メディアオブジェクトと比較することは、一致する可能性がある各メディアオブジェクトの場所を中心とする、前記メディアストリームの部分の低次元バージョンを、各可能メディアオブジェクトの場所を中心とする、前記メディアストリームの部分の低次元バージョンと比較することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２１】
一致する可能性がある１つまたは複数のメディアオブジェクトを、各可能メディアオブジェクトと比較することは、
一致する可能性がある各メディアオブジェクトの場所を中心とする、前記メディアストリームの複数の部分から特性情報を計算すること、
各可能オブジェクトの場所を中心とする、前記メディアストリームの複数の部分から特性情報を計算すること、および
一致する可能性がある各メディアオブジェクトについての前記特性情報を、各可能オブジェクトの前記特性情報と比較することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２２】
各反復メディアオブジェクトの少なくとも１つの代表的なコピーをコンピュータ可読媒体に格納することをさらに特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２３】
各反復メディアオブジェクトについての前記終点情報を前記オブジェクトデータベースに格納することをさらに特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２４】
前記メディアストリームの前記バッファ再生中に、前記少なくとも１つのコマンドを指定するコンピュータユーザインターフェイスと、
前記メディアストリームの前記バッファ再生中に、前記少なくとも１つのコマンドを指定するリモコン装置と、
前記メディアストリームの前記バッファ再生中に、前記少なくとも１つのコマンドを指定する音声認識システムとの少なくとも１つをさらに特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２５】
現在のメディアストリームの再生中および再生後を含むいずれのときにも、前記オブジェクトデータベース中を手作業でスクロールし、コンピュータユーザインターフェイスを介して少なくとも１つのオブジェクトに少なくとも１つのコマンドを関連づける前記コンピュータユーザインターフェイスをさらに特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２６】
現在のメディアストリームの再生中および再生後を含むいずれのときにも、プロパティによって前記オブジェクトデータベースの部分集合をグループ化し、前記データベースのその部分集合中の前記オブジェクトの少なくとも１つに、少なくとも１つのコマンドを関連づけるコンピュータユーザインターフェイスをさらに特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２７】
前記メディアストリーム中のオブジェクトに関する統計情報を自動的に計算し、前記計算された統計情報に基づいて少なくとも１つのコマンドを自動的に指定することをさらに特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２８】
前記少なくとも１つのコマンドを指定することは、
前記メディアストリームの再生中に、メディアオブジェクトを早送りすること、
前記メディアストリームの再生中に、前記メディアオブジェクトの再生速度を遅くすること、
前記メディアストリームの再生中に、前記メディアストリームを変えること、
前記メディアストリームの再生中に、メディアオブジェクトをお気に入り一覧に追加すること、
前記メディアストリームの再生中に、メディアオブジェクトを格付けすること、
前記メディアストリームの再生中に、特定のメディアオブジェクトの再生音量を自動的に変えること、
前記メディアストリームの再生中に、ある特定のメディアオブジェクトが検出されると、自動的に表示スクリーンを消すこと、
前記メディアストリームの再生中に、前記メディアストリーム中で特定のメディアオブジェクトの最後までスキップすること、
前記メディアストリームの再生中に、特定のメディアオブジェクトを、前記メディアストリームから削除すること、
前記メディアストリームの再生中に、前記メディアストリームから特定のメディアオブジェクトのコピーを抽出し保存すること、
前記メディアストリームの再生中に、ある特定のメディアオブジェクトを、予め定義された期間における最大出現回数に制限すること、
１つまたは複数の特定のメディアオブジェクトの相対再生頻度を、他のメディアオブジェクトに相対して制限すること、
前記メディアストリームの再生中に、前記メディアストリーム中の特定のメディアオブジェクトを、以前から格納されている別のメディアオブジェクトと自動的に置き換えること、
前記メディアストリームの再生中に、予め定義された１つまたは複数のイベントが出現すると、前記メディアストリームのバッファ再生から、前記メディアストリームのリアルタイム再生に自動的にジャンプすること、
予め定義された１つまたは複数のイベントが出現すると、リアルタイム再生から、バッファ再生に自動的にジャンプすること、および
ユーザ定義アクションの少なくとも１つを指定することを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項２９】
前記オブジェクトデータベース中の少なくとも１つのメディアオブジェクトに関連づけられた少なくとも１つのコマンドを含む前記オブジェクトデータベースの少なくとも一部分を保存しエクスポートすることをさらに特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項３０】
メディアストリーム中で反復メディアオブジェクトを制御するコンピュータ実装処理であって、
メディアオブジェクトのパラメータ情報、および１つまたは複数のメディアオブジェクトに関連づけられた１つまたは複数のコマンドによって特徴づけられる１つまたは複数のオブジェクトデータベースの少なくとも一部分をインポートすること、
少なくとも１つのメディアストリームの再生を行うこと、
前記メディアストリームを前記インポートされたメディアオブジェクトのパラメータ情報と比較することによって、前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスを識別すること、
前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスの時間終点を識別すること、ならびに
前記少なくとも１つのメディアストリームの再生中にリアルタイムで、かつメディアオブジェクトの前記識別された反復インスタンスの前記識別された時間終点に相対して、メディアオブジェクトの識別されたどの反復インスタンスにも関連づけられたどのコマンドも自動的に実施することを特徴とするコンピュータ実装処理。
【請求項３１】
コンピュータユーザインターフェイスを介して、前記少なくとも１つのメディアストリームの再生中に１つまたは複数のメディアオブジェクトに関連づけられた少なくとも１つの追加コマンドの自動的な指定および手作業での指定いずれをもさらに特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項３２】
前記１つまたは複数のメディアオブジェクトに関連づけられた前記１つまたは複数のコマンドは、
前記少なくとも１つのメディアストリームの再生中に、メディアオブジェクトを早送りすること、
前記少なくとも１つのメディアストリームの再生中に、前記メディアオブジェクトの再生速度を遅くすること、
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのメディアストリームを変えること、
前記少なくとも１つのメディアストリームの再生中に、メディアオブジェクトをお気に入り一覧に追加すること、
前記少なくとも１つのメディアストリームの再生中に、メディアオブジェクトを格付けすること、
前記少なくとも１つのメディアストリームの再生中に、特定のメディアオブジェクトの再生音量を自動的に変えること、
前記少なくとも１つのメディアストリームの再生中に、ある特定のメディアオブジェクトが検出されると、自動的に表示スクリーンを消すこと、
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのメディアストリーム中で特定のメディアオブジェクトの最後までスキップすること、
前記少なくとも１つのメディアストリームの再生中に、特定のメディアオブジェクトを、前記少なくとも１つのメディアストリームから削除すること、
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのメディアストリームから特定のメディアオブジェクトのコピーを抽出し保存すること、
前記少なくとも１つのメディアストリームの再生中に、ある特定のメディアオブジェクトを、予め定義された期間における最大出現回数に制限すること、
１つまたは複数の特定のメディアオブジェクトの相対再生頻度を、他のメディアオブジェクトに相対して制限すること、
前記少なくとも１つのメディアストリームの再生中に、前記少なくとも１つのメディアストリーム中の特定のメディアオブジェクトを、以前から格納されている別のメディアオブジェクトと自動的に置き換えること、
前記少なくとも１つのメディアストリームの再生中に、予め定義された１つまたは複数のイベントが出現すると、前記少なくとも１つのメディアストリームのバッファ再生から、メディアストリームのリアルタイム再生に自動的にジャンプすること、
予め定義された１つまたは複数のイベントが出現すると、リアルタイム再生から、バッファ再生にジャンプすること、および
ユーザ定義アクションの少なくとも１つを含むことを特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項３３】
前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスを識別することは、前記少なくとも１つのメディアストリームの各部分についてのパラメータ情報を計算し、一致するパラメータ情報を有する少なくとも１つのメディアオブジェクトを位置決めするために、前記計算されたパラメータ情報を前記インポートされたパラメータ情報と比較することを特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項３４】
前記少なくとも１つのメディアストリーム中でメディアオブジェクトの各反復インスタンスの時間終点の識別することは、
前記少なくとも１つのメディアストリーム中のメディアオブジェクトの少なくとも２つの反復インスタンスを中心とする、前記少なくとも１つのメディアストリームの部分を自動的に整列し比較すること、および
メディアオブジェクトの前記少なくとも２つの反復インスタンスを中心とする、前記メディアストリームの前記整列された部分が分岐する、前記少なくとも１つのメディアストリームの位置を判定することによって、時間終点を判定することを特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項３５】
前記コンピュータユーザインターフェイスは、テキストベースのコンピュータユーザインターフェイスであることを特徴とする請求項３１に記載のコンピュータ実装処理。
【請求項３６】
前記コンピュータユーザインターフェイスは、グラフィカルなコンピュータユーザインターフェイスであることを特徴とする請求項３１に記載のコンピュータ実装処理。
【請求項３７】
前記少なくとも１つのメディアストリームの再生中に、１つまたは複数のメディアオブジェクトに関連づけられた少なくとも１つの追加コマンドを指定するリモコン装置をさらに特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項３８】
前記少なくとも１つのメディアストリームの再生中に、１つまたは複数のメディアオブジェクトに関連づけられた少なくとも１つの追加コマンドを指定する音声認識システムをさらに特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項３９】
インポートされたどのオブジェクトデータベースの少なくとも一部分も、前記メディアオブジェクトのパラメータ情報によって表される、前記メディアオブジェクトの少なくとも１つの低次元バージョンをさらに含むことを特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項４０】
インポートされたどのオブジェクトデータベースも、どの既存オブジェクトデータベースとも自動的に組み合わされることを特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項４１】
前記データベースの少なくとも１つの部分集合中の前記オブジェクトの少なくとも１つに少なくとも１つのコマンドを関連づけるために、前記オブジェクトデータベースのその部分集合を、ユーザが指定することを可能にするコンピュータユーザインターフェイスをさらに特徴とする請求項３０に記載のコンピュータ実装処理。
【請求項４２】
前記コンピュータユーザインターフェイスは、前記オブジェクトデータベースを自動的に検索し、前記オブジェクトデータベースの前記少なくとも１つの部分集合を作成するために、そうしたメディアオブジェクトの１つまたは複数の共通プロパティに基づいてメディアオブジェクトをグループ化する機能を提供することをさらに特徴とする請求項４１に記載のコンピュータ実装処理。
【請求項４３】
特定のオブジェクトを特に含み、または前記特定のオブジェクトを前記オブジェクトデータベースのどの部分集合からも除外する機能をさらに特徴とする請求項４２に記載のコンピュータ実装処理。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディアストリームの識別および分割に関し、詳細には、たとえば、ラジオまたはテレビ局によって放送されるメディアストリームなど、メディアの１つまたは複数のストリーム中で識別された反復する音声および／または映像オブジェクトに対する、自動的かつリアルタイムのユーザ制御を提供するシステムおよび方法に関する。
【背景技術】
【０００２】
音声ストリームに埋め込まれた特定の広告、ステーションジングル（ｓｔａｔｉｏｎ  ｊｉｎｇｌｅ）、または歌や、映像ストリームに埋め込まれた広告または他の映像などの音声および／または映像オブジェクトを識別する多くの既存方式がある。たとえば、音声識別に関して、多くのこのような方式は、「音声フィンガープリント」方式と呼ばれる。通常、音声フィンガープリント方式は、既知のオブジェクトを取り、そのオブジェクトを、たとえば周波数成分、エネルギーレベルなど、１組のパラメータにする。こうしたパラメータは次いで、既知のオブジェクトからなるデータベースに格納される。ストリーミングメディアのサンプリングされた部分は次いで、識別のためにデータベース中のフィンガープリントと比較される。
【０００３】
したがって、概して、このような方式は一般に、予め識別されているメディアオブジェクトからなる大規模データベースとのメディアストリームの比較に依拠する。動作中、このような方式はしばしば、何らかの種類のスライディングウィンドウ構成を用いて、所望の期間にわたってメディアストリームをサンプリングし、サンプリングされたデータを、一致候補（ｐｏｔｅｎｔｉａｌ  ｍａｔｃｈ）を識別するためにデータベースと比較する。このようにして、メディアストリーム中の個々のオブジェクトを識別することができる。この識別情報は通常、メディアストリームを別個のオブジェクトに分割し、またはメディアストリームをカタログする再生リストなどを生成するなど、いくつかの目的のいずれにも使用される。
【０００４】
しかし、上述したように、このような方式は、動作するのに、予め識別されたメディアオブジェクトからなる、予め存在するデータベースの使用を必要とする。このような、予め存在するデータベースなしで、上述した従来の方式を用いると、メディアストリームの識別および／または分割は可能でない。
【０００５】
さらに、このようなメディアストリームとのユーザ対話は、反復オブジェクトと、このような反復オブジェクトの始点および終点との両方を、メディアストリームを用いて迅速に識別するための能力によって制限される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、予め識別されたメディアオブジェクトからなる、予め存在するデータベースを使う必要なく、放送されるラジオまたはテレビ信号などのメディアストリームから、反復メディアオブジェクトを効率的に識別し抽出しまたは分割するシステムおよび方法が必要とされる。さらに、反復メディアオブジェクトが識別されると、特定の反復オブジェクトが引き続き出現した場合、メディアストリームの取扱いまたは処理をユーザが制御することを可能にするために、メディアストリームとのユーザ対話をもたらす知的なユーザインターフェイスが必要とされる。
【課題を解決するための手段】
【０００７】
多くのメディアストリームが、反復する「オブジェクト」を含む。メディアストリーム中の反復オブジェクトは、人間である聴取者または視聴者によって論理的な単位であるとみなされるであろう、無視できない持続期間をもつどのセクションとしても、すなわち歌、映像、広告、ジングルなどとして定義される。たとえば、一般的なポップスのラジオ局から発せられた音声ストリームは、時間の経過と共に、たとえば歌、ジングル、広告、およびステーション識別子を含む同じオブジェクトを何度も繰り返すことを含む。同様に、一般的なテレビ局から発せられた音声／映像メディアストリームは、時間の経過と共に、たとえばコマーシャル、広告、ステーション識別子、番組の「テーマ音楽」、または緊急放送信号を含む同じオブジェクトを何度も繰り返すことを含む。しかし、こうしたオブジェクトは通常、メディアストリーム中で予測不可能なときに起こり、メディアストリームを取り込み記録するのに用いられる、どの獲得処理によっても引き起こされるノイズによって頻繁に破壊される。
【０００８】
さらに、ラジオ放送など、一般的なメディアストリーム中のオブジェクトはしばしば、各オブジェクトの始点および／または終点で、ナレーションによって破壊される。さらに、このようなオブジェクトは、頻繁に短縮される。すなわち、最初から完全に再生されることも、最後まで通して再生されることもない。さらに、このようなオブジェクトはしばしば、意図的にゆがめられる。たとえば、ラジオ局を介して放送される音声はしばしば、圧縮装置、イコライザ、または他のいくつかの時間／周波数効果のどれを使っても処理される。さらに、一般的なラジオ局において放送される、音楽や歌などの音声オブジェクトはしばしば、先行および後続の音楽または歌と共にクロスフェードされ、そうすることによって音声オブジェクトの始点および終点を不明瞭にし、オブジェクトに歪みまたはノイズを加える。メディアストリームのこのような処理は、当業者によく知られている。最後に、このような破壊または歪みのいずれかまたはすべては、個別に起こる場合も組み合わされて起こる場合もあり、別個に明示的に呼ばれるとき以外は、概して本説明では「ノイズ」と呼ばれることに留意されたい。したがって、このようなノイズのある環境における、このようなオブジェクトの識別およびこのようなオブジェクトに対する終点の位置（ｐｏｓｉｔｉｏｎ）決めは、挑戦課題である。
【０００９】
「反復オブジェクトコントローラ」（ＲＯＣ）とは、本明細書において述べるように、反復オブジェクトがメディアストリーム中に出現すると反復オブジェクトおよびその終点を識別する「オブジェクト抽出装置」またはフィンガープリントエンジンと協同して動作する。メディアストリームにおける反復オブジェクトの識別（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を与えられると、ＲＯＣは次いで、リアルタイムに、または特定の反復オブジェクトが引き続き出現したときに、個々の反復オブジェクトがどのようにして処理されるかをユーザが指定することを可能にする対話型ユーザインターフェイスを提供する。したがって、本明細書において述べるシステムおよび方法は概して、反復オブジェクトをその時間終点と共に識別する機構と、ある特定のオブジェクトがメディアストリーム中で反復するときに行われるアクションを指定するユーザインターフェイスと、一実施形態では、ストリームを明らかに中断することなく、メディアストリームの特定のオブジェクトのリアルタイムの削除および／または置換えを可能にするのに十分な程長いバッファとを含むものとして述べることができる。
【００１０】
反復オブジェクトおよびそうしたオブジェクトの終点を識別する上述した「オブジェクト抽出装置」の一例が、本明細書において説明される。ただし、ＲＯＣは、本明細書において説明される特定のオブジェクト抽出装置によって限定されず、実際には、反復オブジェクトおよびメディアストリームにおけるその時間的な場所（ｌｏｃａｔｉｏｎ）を識別することができるどのシステムとも等しく動作することができることが、当業者には理解されよう。
【００１１】
この概略を前提として、例示的なオブジェクト抽出装置が最初に説明され、その後に、オブジェクト抽出装置によって提供される情報を利用するＲＯＣの説明が続く。
【００１２】
本明細書において説明されるオブジェクト抽出装置は、ＲＯＣと対話するのに装置を適合させるいくつかの利点をもたらす。たとえば、メディアストリーム中のメディアオブジェクトに関する統計情報を集めるのに有用な技術の提供に加え、メディアストリームの自動的な識別および分割は、ユーザが、ストリーム中の特定の内容に自動的にアクセスしまたはそれを制御すること、あるいは逆に、メディアストリーム中の望ましくない内容を自動的に迂回しまたは置き換えることを可能にする。それ以外の利点は、メディアストリームから望ましい内容のみを識別し格納することができること、特別な処理を行うために目標とされる内容を識別することができること、ノイズを除去し、または検出されたどの多重オブジェクトも解消することができること、および検出された多重オブジェクトのただ１つの写しのみを格納することによってストリームをより効率的にアーカイブ（ａｒｃｈｉｖｅ）することができることを含む。
【００１３】
上述したように、上述したオブジェクト抽出装置など、メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割するシステムおよび方法は、ストリームを調べて、以前遭遇したオブジェクトが出現しているかどうか判定することによって反復オブジェクトを識別する。たとえば、音声の場合、このことは、歌を、ストリーム中に以前現れたことがあるオブジェクトとして識別することを意味するであろう。同様に、テレビストリームから発せられた映像の場合、特定の広告、ならびにステーション「ジングル」および頻繁に繰り返される他のオブジェクトを識別することを含み得る。さらに、このようなオブジェクトはしばしば、ストリームについての重要な同期情報を伝える。たとえばニュース局のテーマ音楽は一般に、時刻、およびニュースリポートが間もなく始まるか、または終わったところであるということを伝える。
【００１４】
反復するオブジェクト、および反復しないオブジェクトを含む音声ストリームを与えられると、本明細書において説明されるオブジェクト抽出装置は、メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割し、メディアストリームの一致する部分または一致する反復オブジェクトの比較によって、オブジェクトの終点を識別する。一例として、放送される音声、すなわちラジオまたはインターネット放送を用いると、反復する「オブジェクト」は、たとえば、ラジオの音楽局での歌、呼出し信号、ジングル、および広告を含むことができる。
【００１５】
反復しないオブジェクトの例は、たとえば、一度だけ行われる、ディスクジョッキーによる生放送トーク、ニュースおよび交通情報、ならびに番組または歌を含み得る。こうした異なるタイプのオブジェクトは、メディアストリームからの識別および分割を可能にする、異なる特性を有する。たとえば、ポピュラーなラジオ局でのラジオ広告は、一般に約３０秒程度の長さであり、声を伴うジングルからなる。ステーションジングルは、一般に２から１０秒の長さであり、大部分が音楽および声であり、非常に多くの場合、一日中反復する。「ポピュラー」音楽の放送局での歌は、たとえばクラシック、ジャズ、またはオルタナティブとは対照的に、一般に２から７分の長さであり、ほとんどの場合、声ならびに音楽を含む。
【００１６】
概して、反復メディアオブジェクトの自動的な識別および分割は、メディアの内容が繰り返されているメディアストリーム中の領域または部分を位置決めするために、メディアストリームの複数の部分同士を比較することによって遂行される。テストした実施形態において、反復オブジェクトの識別および分割は、メディアストリームのセクションを直接比較して、ストリームの一致部分を識別し、次いでその一致部分を整列してオブジェクトの終点を識別することによって遂行される。関連実施形態では、シークされているタイプのオブジェクトがセグメント中に存在する見込みがあるかどうか評価するために、セグメントが最初にテストされる。見込みがある場合、メディアストリームの他のセグメントとの比較が進行するが、見込みがない場合、問題となっているセグメントのそれ以上の処理は、効率を上げるために無視されてよい。
【００１７】
別の実施形態では、反復メディアオブジェクトの自動的な識別および分割は、可能なオブジェクトを識別する音声および／または映像メディアの様々な側面をターゲットとするための一連のオブジェクト依存アルゴリズムを利用することによって遂行される。ストリーム中で可能オブジェクトが識別されると、オブジェクトを反復オブジェクトとして確認することは、自動的にインスタンス生成される動的オブジェクトデータベース中を、一致する可能性があるオブジェクト（ｐｏｔｅｎｔｉａｌ  ｏｂｊｅｃｔ）を求めて自動検索し、それに続いて、可能オブジェクトと、一致する可能性があるオブジェクトの１つまたは複数との間を詳細に比較することによって遂行される。オブジェクトの終点は次いで、自動的な整列およびそのオブジェクトの他の反復コピーとの比較によって自動的に判定される。
【００１８】
メディアストリーム中で反復オブジェクトを識別する別の手順は、メディアストリームのセグメントから音声および／または映像フィンガープリントを単に計算し、次いでフィンガープリントデータベースを検索して、現在のセグメントが既知であるか、たとえば、上述したように「一致するもの」であるかどうか判定することである。フィンガープリントデータベースが最初に空である場合、フィンガープリントは単に計算され、データベースに投入するのに使われる。最終的に、反復オブジェクトは、メディアストリーム中に現れると、反復オブジェクトとして識別される。このようなフィンガープリントの計算および比較ならびに技術は、当業者によく知られており、本明細書では詳しく説明されない。ただし、このような技術は、既知のオブジェクトがストリーム中で反復していることを示すのに有用であるが、このような技術は、実際のオブジェクトの終点を識別するのに一般に有用ではないことに留意されたい。したがって、一実施形態では、メディアストリーム、あるいはそのメディアストリームの低次元バージョンがアーカイブされ、関連するフィンガープリントは、フィンガープリントデータベースに格納される。アーカイブされたストリームは次いで、後で説明されるようにオブジェクトの終点の識別に使われる。
【００１９】
どのようにして一致が識別されるか、たとえば、上述した、メディアストリームの直接比較によるか、または上述したフィンガープリント比較技術によるかに関わらず、反復オブジェクトの識別および分割は次いで、オブジェクトの終点を位置決めするためにメディアストリームの一致部分を整列することによって遂行される。終点識別のためのこの整列は、後で説明されるように、元のメディアストリームを用いて、またはメディアストリームの低次元バージョンを用いてうまく作用することに留意されたい。
【００２０】
近似的な終点は、単純なパターンマッチング、一致部分の間の相互相関ピークの整列、または一致信号を整列する他のあらゆる従来技術など、いくつかの従来技術のどれを用いても、一致部分を最初に整列することによって位置決めされる。整列が行われると、終点は、一致部分の境界を通過しながらメディアストリームを前後に追跡して、メディアストリームの２つの部分が分岐する点を位置決めすることによって識別される。反復メディアオブジェクトは通常、放送される度に全く同じ順序で再生されるわけではないので、メディアストリーム中の終点を位置決めするこの技術は、メディアストリーム中のメディアオブジェクトの始点および終点を十分に位置決めすることが観察によって認められている。
【００２１】
あるいは、上述したように、一実施形態では、メディアストリーム中のオブジェクトを識別するのに有用なパラメータ情報を計算するための、音声および／または映像メディアの様々な側面をターゲットとする一連のアルゴリズムが使用される。このパラメータ情報は、特定のオブジェクトを識別するのに有用なパラメータを含み、したがって、計算されるパラメータ情報のタイプは、シークされているオブジェクトのクラスに依存する。メディアオブジェクトの類似を比較する、周波数、時間、画像、またはエネルギーに基づく公知のいくつかの従来技術のどれも、分析されているメディアストリームのタイプに依存して、起こり得るオブジェクト一致を識別するのに使用することができることに留意されたい。たとえば、音声ストリーム中の音楽または歌に関して、こうしたアルゴリズムは、たとえば、短い時間枠における１分当たりのビート数、ステレオ情報、短期間にわたる１チャネル当たりのエネルギー比、および特定の周波数帯の周波数成分など、メディアストリームにおいて容易に計算されるパラメータを計算すること、メディアのより大きいセグメントを、そのスペクトルにおける実質的な類似を求めて比較すること、候補となり得るオブジェクトのサンプルを格納すること、ならびに繰り返されるどのオブジェクトも識別するように学習することを含む。
【００２２】
この実施形態では、メディアストリームが取得されると、格納されているメディアストリームは、シークされているクラスのオブジェクト、すなわち、歌、ジングル、映像、広告などが、調べられているストリームの部分に存在する確率を判定するために調べられる。シークされるオブジェクトが存在する確率が所定の閾値に達すると、ストリーム中での、その確からしいオブジェクト（ｐｒｏｂａｂｌｅ  ｏｂｊｅｃｔ）の位置が、上述したデータベースに自動的に書き留められる。この検出または類似度の閾値は、ストリーム中でのオブジェクト検出の感度を調節するために、要望に応じて高くされることも低くされることもできることに留意されたい。
【００２３】
この実施形態を前提として、確からしいオブジェクトがストリーム中で識別されると、その有望オブジェクトを特徴づけるパラメータ情報が計算され、データベースクエリまたは検索において、予め識別されている有望オブジェクトとの、起こり得るオブジェクト一致を識別するのに使われる。データベースクエリの目的は、ストリームの２つの部分がほぼ同じであるかどうか単に判定することである。言い換えると、ストリーム中の２つの異なる時間位置に配置されているオブジェクトがほぼ同じであるかどうかということである。さらに、データベースは、最初は空なので、可能性があるより多くのオブジェクトが識別され、データベースに追加されると、一致候補を識別する見込みは、時間と共に自然に高くなる。
【００２４】
確からしいオブジェクトとの一致候補が返されると、有望オブジェクトをより明確に識別するために、有望オブジェクトと、一致候補の１つまたは複数との間のより詳細な比較が実施される。この時点で、有望オブジェクトは、一致候補のうちの１つの候補の反復であることが発見されると、反復オブジェクトとして識別され、ストリーム中でのその位置がデータベースに保存される。逆に、有望オブジェクトが、一致候補のうちの１つの一致の反復でないことを詳細な比較が示す場合、オブジェクトは、データベースにおいて新規オブジェクトとして識別され、ストリーム中でのその位置およびパラメータ情報が、上述したようにデータベースに保存される。
【００２５】
さらに、上述した実施形態と同様に、反復オブジェクトの様々なインスタンスの終点が、自動的に判定される。たとえば、ある特定のオブジェクトのＮ個のインスタンスがある場合、そのすべてが全く同じ長さとなり得るわけではない。したがって、終点の判定は、１つのインスタンスに相対して様々なインスタンスを整列し、次いで、整列されたオブジェクトをそれぞれ前後に追跡して、インスタンスそれぞれが依然として他のインスタンスとほぼ等しい、最大限度を判定することを含む。
【００２６】
シークされるクラスのオブジェクトが、調べられているストリームの部分に存在する確率を判定する方法と、そのストリームの２つの部分がほぼ同じであるかどうかテストする方法とは、両方とも、たとえば、音楽、発話、広告、ジングル、ステーション識別、映像などシークされているオブジェクトのタイプに重く依存し、データベース、およびストリーム中の終点の場所の判定は、どの種類のオブジェクトがシークされているかに関わらず非常に似ていることに留意されたい。
【００２７】
上述した実施形態それぞれのさらなる変更形態では、メディアストリーム中でのメディアオブジェクト識別の速度は、メディアストリームの予め識別されている部分の検索を制限することによって、またはメディアストリームを検索する前に、予め識別されているメディアオブジェクトのデータベースを最初に照会することによって、劇的に向上される。
【００２８】
さらに、関連実施形態では、メディアストリームは、ストリーム中で少なくとも最も共通する反復オブジェクトの繰返しを含むのに十分な程大きいストリームの部分を最初に分析することによって分析される。ストリームのこの第１の部分において反復するオブジェクトからなるデータベースが維持される。ストリームの残りの部分が、次いで、データベース中のいずれかのオブジェクトとセグメントが一致するか最初に判定し、続いて、ストリームの残りの部分と突き合わせて調べることによって分析される。
【００２９】
上述したように、反復オブジェクトがメディアストリーム中で識別されると、上述した方法のどれが用いられるかに関わらず、ＲＯＣは、そうした反復オブジェクトに関して、ユーザ対話およびメディアストリームに対する制御を可能にする。
【００３０】
具体的には、ユーザインターフェイスは、ある特定の反復オブジェクトがメディアストリーム中に現れるときに行われるアクションをユーザが指定することを可能にする。このようなアクションの例は、反復オブジェクトを早送りすること、メディアオブジェクトの再生速度を遅くすること、視聴されている局またはチャネルを自動的に変えることなどによってメディアストリームを変えること、ある特定のオブジェクトをお気に入り一覧に追加すること、反復オブジェクトを格付けすること、特定の反復オブジェクトの音量を自動的に高くまたは低くすること、ある特定の反復オブジェクトが検出されると、自動的にスクリーンを消すこと、メディアストリーム中の特定の反復オブジェクトの最後までスキップすること、特定の反復オブジェクトを、ストリームから削除することによってメディアストリームの再生において現れないようにすること、メディアストリームから特定の反復オブジェクトのコピーを抽出し保存すること、反復オブジェクトを、予め定義された期間における最大出現回数に制限すること、特定のオブジェクトの発生の相対頻度を他のオブジェクトに相対して制限すること、メディアストリーム中の特定の反復オブジェクトを、以前から格納されている別のメディアオブジェクトと自動的に置き換えること、たとえば緊急放送信号や他の特定の反復メディアオブジェクトなど特定のイベントが出現すると、バッファリング再生からリアルタイム再生に自動的にジャンプすること、メディアストリームのリアルタイム再生から、メディアストリームのバッファリング再生に戻ること、および、たとえば、ある特定の歌がメディアストリーム中で出現すると部屋の照明を自動的に暗くするなどのユーザ定義アクションを含むが、それに限定されない。
【００３１】
特定の反復オブジェクトに関連づけられたこうしたユーザ指定アクションは、メディアストリーム中で反復オブジェクトを識別するのに利用されている実施形態に応じて、各オブジェクトと共にオブジェクトデータベースに格納され、または、各フィンガープリントと共にフィンガープリントデータベースに格納される。その結果、ある特定の反復オブジェクトがメディアストリーム中で検出されるとすぐに、関連するアクションが自動的にデータベースから読み出され実施される。さらに、一実施形態では、データベースにアクションを格納することは、以前指定したアクションをユーザが編集し削除することを可能にするという追加利点をもたらす。
【００３２】
このようなデータベースを使うことの別の利点は、特定のメディアオブジェクトに関連づけられた特定のアクションが、別のユーザに送信されることも、コンピュータ可読媒体からロードされることもできることである。たとえば、あるユーザが、多数の歌、コマーシャルなどに対する１組のアクションを識別するのに時間をかけている場合、そうしたアクションは、第１のユーザのデータベース、またはそのデータベースの一部分を単にインポートすることによって、別のユーザに提供することができる。この概念の簡単な一例は、親が子供にある特定の音楽アーティストを聞いてほしくない場合である。そのアーティストの音楽を、その音楽がストリーム中に出現するとその音楽をスキップし、削除し、または置き換えるための関連アクションと共に列挙している、以前から存在するデータベースを単にインポートすることが、そのアーティストによる音楽のすべての作品を手作業で指定する必要なく、その内容への子供のアクセスを親が直ちに制限することを可能にする。
【００３３】
特定の反復オブジェクトの出現に対して行われるアクションの指定は、いくつかの方法で遂行される。たとえば、一実施形態では、従来のテレビ用リモコンと同様の手持ち式リモコン、あるいは他の無線または有線制御装置が、ユーザに提供される。メディアストリームがその上で処理されている、コンピューティングデバイスに接続された受信機は、リモコンからコマンドを受信し、次いで、そうしたコマンドに基づいてアクションを行い、または特定の反復オブジェクトの後続インスタンスに対するアクションのためにコマンドを格納する。リモコンは、上述したアクションのいずれかまたは全部を実施するボタンまたは制御、ならびにユーザ定義アクションを可能にするカスタマイズ可能なまたはプログラミング可能なボタンまたは制御を含むことができる。概して、リモコン装置は、当業者によく知られている。したがって、このようなリモコンの操作の基底にある処理は、本明細書では詳しく説明されない。
【００３４】
動作中、特定のアクションに対応する１つまたは複数のボタンが、リモコンに含まれる。特定のどのメディアオブジェクトの再生中でも、ボタンのいずれの活動化も、関連するコマンドを現在のメディアオブジェクトに自動的にリンクし、そうすることによって、そのメディアオブジェクトの後続インスタンスが、自動的にユーザ指定アクションを含むようになる。このアクションは次いで、メディアストリーム内のメディアオブジェクトが引き続きそれぞれ出現すると実施される。ただし、一実施形態では、たとえば、「スキップ」コマンドなど特定のアクションは、反復オブジェクトの今後のすべてのインスタンスに永久に関連づけられるのではなく、コマンドが活動化されたときだけ作用するようにプログラミングすることができることに留意されたい。
【００３５】
別の実施形態では、リモコンによって提供される機能は、コンピュータのユーザインターフェイスウィンドウにおいて提供される。具体的には、この実施形態では、いくつかの画面上のボタンまたは制御が、リモコンに関して上述されたものと同じタイプの機能を提供する。
【００３６】
さらに別の実施形態では、メディアストリーム中の反復オブジェクトに関連づけられたアクションをユーザが制御することを可能にするために、音声による活動化が提供される。具体的には、この実施形態では、いくつかの発話キーワードまたはフレーズが、従来の声または音声認識技術を用いてコンピュータによって翻訳される。発話コマンドを認識すると、そのコマンドに関連づけられたアクションが次いで、現在のメディアオブジェクトとリンクされ、そうすることによって、そのメディアオブジェクトの後続インスタンスが、ユーザ指定アクションを自動的に含むようになる。このアクションは次いで、メディアストリーム内のメディアオブジェクトが引き続きそれぞれ出現すると実施される。たとえば、一実施形態では、ユーザが「保存」コマンドを発声した場合、現在のメディアオブジェクトが、メディアストリームから自動的に抽出され、ユーザが後で使うために格納される。同様に、ユーザが「削除」コマンドを発声した場合、現在のメディアオブジェクトは、メディアストリームの現在再生中の部分から自動的に削除され、そのメディアオブジェクトの、後続のすべての出現も、ユーザによるそれ以上のアクションなしでメディアストリームから排除される。
【００３７】
さらにそれ以外の実施形態では、オブジェクトが格納され、ユーザは、データベース中のオブジェクトを連続して進んで行くことによって、オブジェクトに関連づけられるアクションを選択することができる。たとえば、特定の期間中に発見された２分以上の長さのオブジェクトすべてが格納される場合があり、ユーザは次いで、そうしたオブジェクトの間を進み、自分が選んだオブジェクトのいずれにもアクションを関連づける。この実施形態において、ユーザは、オブジェクト全体を聞く必要も見る必要もない。たとえば、ユーザは、１０秒間の代表的なセグメントを提示され、次いで、そのセグメントの内容に基づいて、オブジェクトにどのアクションを関連づけるか判断を行うことができよう。この実施形態は、ユーザのために、オブジェクトにアクションを関連づける処理を大幅に速くするのに役立つ点で有利である。
【００３８】
たとえば「スキップ」、「削除」、および「置換え」などのコマンドが提供される実施形態において、メディアストリームは好ましくは、再生に先立って、メディアストリームに埋め込まれた特定のオブジェクトのシームレスな削除、スキップ、または置換えを可能にするのに十分な期間、バッファに入れられる。たとえば、バッファに入れられた再生を利用し、スキップまたは削除を可能にするとき、バッファによってもたらされる遅延の長さは、スキップされまたは削除されるすべてのオブジェクトを組み合わせた長さより長くなるべきである。バッファ長の要件は、特定のメディアオブジェクトが、単に削除されまたはスキップされるのではなく置き換えられる場合に緩和されることに留意されたい。たとえば、聴取者が、１時間の音声につき３分間の歌を４曲削ることを選ぶと、１時間当たり少なくとも１２分のバッファが必要とされる。一方、ユーザが、削られる歌の代わりに用いられる素材を決めると、明らかにはるかに少ないバッファリングが要求されよう。
【００３９】
この後に続く詳細な説明を、添付の図面と併せ読むと、上述した利益以外にも、メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割するシステムおよび方法の他の利点が明らかになるであろう。
【００４０】
メディアオブジェクト抽出装置の具体的な特徴、態様、および利点は、以下の説明、添付の特許請求の範囲、および添付の図面に関連してよりよく理解されよう。
【発明を実施するための最良の形態】
【００４１】
本発明の好ましい実施形態の以下の説明において、本明細書の一部を形成し、本発明が実施され得る具体的な実施形態を例示するために示される添付の図面に対して参照が行われる。他の実施形態も利用することができ、本発明の範囲から逸脱することなく、構成上の変更が行われ得ることが理解されよう。
【００４２】
（１．０  例示的な動作環境）
図１は、本発明が実施され得る、適切なコンピューティングシステム環境の例１００を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に対するどのような限定を示唆することも意図されない。コンピューティング環境１００は、例示的な動作環境１００に示されるどのコンポーネントにもその組合せにも関するどのような依存も要件も有していると解釈されるべきでない。
【００４３】
本発明は、他の数多くの汎用または専用のコンピューティングシステム環境または構成と共に動作する。本発明と共に使用するのに適切であり得る公知のコンピューティングシステム、環境、および／または構成の例は、パーソナルコンピュータ、サーバコンピュータ、セル電話およびＰＤＡなどの携帯型、ラップトップ型または可搬型コンピュータまたは通信装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれをも含む分散型コンピューティング環境などを含むが、それに限定されない。
【００４４】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的なコンテキストにおいて説明することができる。概して、プログラムモジュールは、特定のタスクを実施しまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実施される分散型コンピューティング環境でも実施することができる。分散型コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモートコンピュータ記憶媒体両方に置くことができる。図１を参照すると、本発明を実施する例示的なシステムは、汎用コンピューティングデバイスを、コンピュータ１１０の形で含む。
【００４５】
コンピュータ１１０のコンポーネントは、処理ユニット１２０と、システムメモリ１３０と、システムメモリなど様々なシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１とを含むことができるが、それに限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかの種類のバス構造のいずれでもよい。限定ではなく例として、このようなアーキテクチャは、ＩＳＡ（業界標準アーキテクチャ）バス、ＭＣＡ（マイクロチャネルアーキテクチャ）バス、ＥＩＳＡ（拡張ＩＳＡ）バス、ＶＥＳＡ（米国ビデオ電子装置規格化協会）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（周辺装置相互接続）バスを含む。
【００４６】
コンピュータ１１０は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセスすることができると共に揮発性媒体および不揮発性媒体、着脱式媒体および固定型媒体両方を含む、利用可能などの媒体でもよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するためのどの方法でも技術でも実施される揮発性媒体および不揮発性の、着脱式媒体および固定型媒体を含む。
【００４７】
コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル多用途ディスク）または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用することができると共にコンピュータ１１０によってアクセスすることができる他のどの媒体も含むが、それに限定されない。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、変調データ信号、たとえば搬送波や他の移送機構として具体化し、どの情報配信媒体も含む。「変調データ信号」という用語は、信号に情報を符号化するようにその特性の１つまたは複数が設定されまたは変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。上記のどの組合せも、やはりコンピュータ可読媒体の範囲に含まれるべきである。
【００４８】
システムメモリ１３０は、コンピュータ記憶媒体を、ＲＯＭ（読出し専用メモリ）１３１およびＲＡＭ（ランダムアクセスメモリ）１３２など、揮発性および／または不揮発性メモリの形で含む。ＢＩＯＳ（基本入出力システム）１３３は、たとえば起動中にコンピュータ１１０内部の要素間での情報の転送を助ける基本ルーチンを含み、通常はＲＯＭ１３１に格納される。ＲＡＭ１３２は一般に、処理ユニット１２０に対してただちにアクセス可能な、かつ／または処理ユニット１２０によって現在処理されているデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図１では、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００４９】
コンピュータ１１０は、他の着脱式／固定型、揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。単なる例として、図１では、固定型不揮発性磁気媒体からの読出しまたはそこへの書込みを行うハードディスクドライブ１４１、着脱式の不揮発性磁気ディスク１５２からの読出しまたはそこへの書込みを行う磁気ディスクドライブ１５１、および、ＣＤ  ＲＯＭや他の光学媒体など着脱式の不揮発性光ディスク１５６からの読出しまたはそこへの書込みを行う光ディスクドライブ１５５を示す。例示的な動作環境で使用することができる、他の着脱式／固定型、揮発性／不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどを含むが、それに限定されない。ハードディスクドライブ１４１は通常、インターフェイス１４０などの固定型メモリインターフェイスによって、システムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インターフェイス１５０などの着脱式メモリインターフェイスによって、システムバス１２１に接続される。
【００５０】
上述し、かつ図１に示されているディスクドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ１１０のための他のデータの格納を可能にする。図１では、たとえば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示される。こうしたコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じでも、異なってもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、少なくとも異なるものであることを示すために、ここでは異なる番号が与えられている。ユーザは、キーボード１６２、およびマウス、トラックボール、またはタッチパッドと一般に呼ばれる指示装置１６１を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。
【００５１】
図示しない他の入力装置は、マイクロホン、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナ、ラジオ受信機、あるいはテレビまたは放送映像受信機などを含むことができる。こうしたおよび他の入力装置はしばしば、システムバス１２１に結合されるユーザ入力インターフェイス１６０を介して処理ユニット１２０に接続されるが、たとえば並列ポート、ゲームポート、ＵＳＢ（ユニバーサルシリアルバス）など、他のインターフェイスおよびバス構造によって接続されることもできる。モニタ１９１または他の種類の表示装置も、映像インターフェイス１９０などのインターフェイスを介してシステムバス１２１に接続される。モニタに加え、コンピュータは、出力周辺インターフェイス１９５を介して接続することができるスピーカ１９７およびプリンタ１９６など、他の周辺出力装置も含むことができる。
【００５２】
コンピュータ１１０は、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク接続された環境において動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の共通ネットワークノードでよく、通常、コンピュータ１１０に関連して上述された要素の多くまたはすべてを含むが、図１にはメモリ記憶装置１８１のみが示されている。図１に示される論理接続は、ＬＡＮ（ローカルエリアネットワーク）１７１およびＷＡＮ（ワイドエリアネットワーク）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
【００５３】
ＬＡＮネットワーク環境において使われる場合、コンピュータ１１０は、ネットワークインターフェイスまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境において使われる場合、コンピュータ１１０は通常、モデム１７２、または、たとえばインターネットなどのＷＡＮ１７３を介して通信を確立する他の手段を含む。モデム１７２は、内部にあっても外部にあってもよく、ユーザ入力インターフェイス１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク接続された環境では、コンピュータ１１０に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納することができる。限定ではなく例として、図１は、リモートアプリケーションプログラム１８５を、メモリ装置１８１に常駐するものとして示す。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用することができることが理解されよう。
【００５４】
以上、例示的な動作環境が説明されたが、本明細書の残りの部分は、メディアストリーム中の反復メディアオブジェクトを自動的に識別し、それに対するユーザ制御を提供するシステムおよび方法を実施するプログラムモジュールおよび処理の説明に充てられる。
【００５５】
（２．０  概論）
「反復オブジェクトコントローラ」（ＲＯＣ）とは、本明細書において述べるように、反復オブジェクトがメディアストリーム中に出現すると反復オブジェクトおよびその時間終点を識別する「オブジェクト抽出装置」またはフィンガープリントエンジンと協同して動作する。具体的には、メディアストリームにおける反復オブジェクトの識別を与えられると、ＲＯＣは次いで、リアルタイムに、または特定の反復オブジェクトが引き続き出現したときに個々の反復オブジェクトがどのようにして処理されるかをユーザが指定することを可能にする対話型ユーザインターフェイスを提供する。したがって、本明細書において述べるシステムおよび方法は概して、反復オブジェクトをその時間終点と共に識別する機構と、ある特定のオブジェクトがメディアストリーム中で反復するときに行われるアクションを指定するユーザインターフェイスと、一実施形態では、ストリームを明らかに中断することなく、メディアストリームの特定のオブジェクトのリアルタイムの削除および／または置換えを可能にするのに十分な程長いバッファとを含むものとして述べることができる。
【００５６】
多くのメディアストリームが、反復する「オブジェクト」を含む。メディアストリーム中の反復オブジェクトは、人間である聴取者または視聴者によって論理的な単位であるとみなされるであろう、無視できない持続期間をもつどのセクションとしても、すなわち歌、映像、広告、ジングルなどとして定義される。たとえば、一般的なポップスのラジオ局から発せられた音声ストリームは、時間の経過と共に、たとえば歌、ジングル、広告、およびステーション識別子を含む同じオブジェクトを何度も繰り返すことを含む。同様に、一般的なテレビ局から発せられた音声／映像メディアストリームは、時間の経過と共に、たとえばコマーシャル、広告、ステーション識別子、番組の「テーマ音楽」、または緊急放送信号を含む同じオブジェクトを何度も繰り返すことを含む。しかし、こうしたオブジェクトは通常、メディアストリームにおいて予測不可能なときに起こり、メディアストリームを取り込み記録するのに用いられる、どの獲得処理によっても引き起こされるノイズによって頻繁に破壊される。
【００５７】
さらに、ラジオ放送など、一般的なメディアストリーム中のオブジェクトはしばしば、各オブジェクトの始点および／または終点で、ナレーションによって破壊される。さらに、このようなオブジェクトは、頻繁に短縮される。すなわち、最初から完全に再生されることも、最後まで通して再生されることもない。さらに、このようなオブジェクトはしばしば、意図的にゆがめられる。たとえば、ラジオ局を介して放送される音声はしばしば、圧縮装置、イコライザ、または他のいくつかの時間／周波数効果のどれを用いても処理される。さらに、一般的なラジオ局において放送される、音楽や歌などの音声オブジェクトはしばしば、先行および後続の音楽または歌と共にクロスフェードされ、そうすることによって音声オブジェクトの始点および終点を不明瞭にし、オブジェクトに歪みまたはノイズを加える。メディアストリームのこのような処理は、当業者によく知られている。最後に、このような破壊または歪みのいずれかまたはすべては、個別に起こる場合も組み合わされて起こる場合もあり、別個に明示的に呼ばれるとき以外は、概して本説明では「ノイズ」と呼ばれることに留意されたい。したがって、このようなノイズのある環境における、このようなオブジェクトの識別およびこのようなオブジェクトに対する終点の位置決めは、挑戦課題である。
【００５８】
本明細書において説明されるオブジェクト抽出装置は、こうした問題および他の問題に十分に対処し、多くの利点をもたらす。たとえば、メディアストリーム中のメディアオブジェクトに関する統計情報を集めるのに有用な技術の提供に加え、メディアストリームの自動的な識別および分割は、ユーザが、ストリーム中の所望の内容に自動的にアクセスすること、あるいは逆に、メディアストリーム中の望まれない内容を自動的に迂回することを可能にする。それ以外の利点は、メディアストリームから望ましい内容のみを識別し格納することができること、特別な処理を行うために目標とされる内容を識別することができること、ノイズを除去し、または検出されたどの多重オブジェクトも解消することができること、および検出されたどの多重オブジェクトのただ１つの写しのみも格納することによってストリームを効率的にアーカイブすることができることを含む。
【００５９】
概して、反復メディアオブジェクトの自動的な識別および分割は、メディアの内容が繰り返されているメディアストリーム中の領域または部分を位置決めするために、メディアストリームの部分を比較することによって遂行される。テストした実施形態において、反復オブジェクトの識別および分割は、メディアストリームのセクションを直接比較して、ストリームの一致部分を識別し、次いでその一致部分を整列してオブジェクトの終点を識別することによって遂行される。
【００６０】
別の実施形態では、反復メディアオブジェクトの自動的な識別および分割は、可能なオブジェクトを識別する音声および／または映像メディアの様々な側面をターゲットとするための一連のオブジェクト依存アルゴリズムを利用することによって遂行される。ストリーム中で可能なオブジェクトが識別されると、オブジェクトを反復オブジェクトとして確認することは、自動的にインスタンス生成される動的オブジェクトデータベース中で、一致する可能性があるオブジェクトを求めて自動検索し、それに続いて、可能オブジェクトと、一致する可能性があるオブジェクトの１つまたは複数との間を詳細に比較することによって遂行される。オブジェクトの終点は次いで、自動的な整列およびそのオブジェクトの他の反復コピーとの比較によって自動的に判定される。
【００６１】
さらに別の実施形態では、反復メディアオブジェクトの自動的な識別および分割は、メディアストリームのセグメントから音声および／または映像フィンガープリントを最初に計算し、次いでフィンガープリントデータベースを検索して、現在のセグメントが既知であるか、たとえば、上述したように「一致するもの」であるかどうか判定することによって遂行される。フィンガープリントデータベースが最初に空である場合、フィンガープリントは単に計算され、データベースに投入するために使われる。最終的に、反復オブジェクトは、メディアストリーム中に現れると、反復オブジェクトとして識別される。このようなフィンガープリントの計算および比較ならびに技術は、当業者によく知られており、本明細書では詳しく説明されない。上述した実施形態と同様に、メディアストリームの一部分が、ストリームの予め識別されているセグメントと一致すると判定されると、オブジェクトの終点は、再度、自動的な整列およびそのオブジェクトの他の反復コピーとの比較によって、自動的に判定される。
【００６２】
具体的には、どのようにして一致が識別されるか、たとえば、上述した、メディアストリームの直接比較によるか、または上述したフィンガープリント比較技術によるかに関わらず、反復オブジェクトの識別および分割は次いで、オブジェクトの終点を位置決めするためにメディアストリームの一致部分を整列することによって遂行される。終点識別のためのこの整列は、後で説明されるように、元のメディアストリームを用いて、またはメディアストリームの低次元バージョンを用いてうまく作用することに留意されたい。
【００６３】
近似的な終点は、単純なパターンマッチング、一致部分の間の相互相関ピークの整列、または一致信号を整列する他のどの従来技術など、いくつかの従来技術のどれを用いても、一致部分を最初に整列することによって位置決めされる。整列が行われると、終点は、一致部分の境界を通過しながらメディアストリームを前後に追跡して、メディアストリームの２つの部分が分岐する点を位置決めすることによって識別される。反復メディアオブジェクトは通常、放送される度に全く同じ順序で再生されるわけではないので、メディアストリーム中の終点を位置決めするこの技術は、メディアストリーム中のメディアオブジェクトの始点および終点を十分に位置決めすることが観察によって認められている。
【００６４】
反復オブジェクトおよびその終点がメディアストリーム中で識別されると、上述した方法のどれが用いられるかに関わらず、ＲＯＣは、そうした反復オブジェクトに関して、ユーザ対話およびメディアストリームに対する制御を可能にする。具体的には、ユーザインターフェイスは、ある特定の反復オブジェクトがメディアストリーム中に現れたときに行われるアクションをユーザが指定することを可能にする。メディアストリームの現在の部分が、まだ繰り返されても識別されてもいないメディアオブジェクトを表す場合でも、ＲＯＣはメディアオブジェクトのユーザ制御を可能にすることに留意されたい。たとえば、メディアストリームの、新規かつ未知であるこのセグメントに関連づけられるアクションをユーザが指定した場合、そのアクションは、メディアストリームのそのセグメントにリンクされ、そうすることによって、そのセグメントの反復インスタンスが最終的に識別されると、セグメントに埋め込まれたオブジェクトが何であろうとも、そのオブジェクトに関連づけられたユーザ指定アクションは、識別が行われるとすぐに適用される。
【００６５】
特定の反復オブジェクトに関連づけられたこうしたユーザ指定アクションは、メディアストリーム中で反復オブジェクトを識別するのに利用されている実施形態に応じて、各オブジェクトと共にオブジェクトデータベースに格納され、または、各フィンガープリントと共にフィンガープリントデータベースに格納される。その結果、ある特定の反復オブジェクトがメディアストリーム中で検出されるとすぐに、関連するアクションが自動的にデータベースから読み出され実施される。さらに、一実施形態では、データベースにアクションを格納することは、以前指定したアクションをユーザが編集し削除することを可能にするという追加利点をもたらす。
【００６６】
（２．１  システム概要）
概して、反復オブジェクトのユーザ制御を可能にすることは、オブジェクトの反復インスタンスを最初に識別することを伴う。一実施形態では、この識別は、たとえば、メディアストリーム中での、メディアオブジェクトの位置へのポインタ、そうしたメディアオブジェクトを特徴づけるパラメータ情報、このようなオブジェクトを記述するメタデータ、オブジェクトの終点情報、オブジェクト自体のコピー、および特定のメディアオブジェクトに関連づけられたユーザ指定アクションなどの情報を格納する空の「オブジェクトデータベース」を最初にインスタンス化しまたは初期化することによって遂行される。この情報のいずれかまたはすべてを、単一のオブジェクトデータベースでも、任意の数のデータベースまたはコンピュータファイルでも維持することができることに留意されたい。ただし、説明をわかりやすくするために、本説明を通して単一のデータベースが、上述した情報として参照される。
【００６７】
代替実装形態では、予め識別されたオブジェクトを特徴づけるパラメータ情報を含む、以前から存在するデータベースが、空のデータベースの代わりに使われる。しかし、このような以前から存在するデータベースは、初期のオブジェクト識別を時間と共に高速にすることができるが、オブジェクトがストリーム中で位置決めされるとパラメータ情報を投入される、最初は空だったデータベースを上回る、大幅に優れた性能を提供するわけではない。
【００６８】
いずれの場合でも、空であっても以前から存在するものであってもオブジェクトデータベースが使用可能になると、次のステップは、所望の期間にわたって、少なくとも１つのメディアストリームを取り込み格納しまたはバッファリングすることを伴う。所望の期間は、分から時間または日から週、あるいはそれ以上の範囲のどれでもよい。ストリーム中でのオブジェクトの繰返しは、オブジェクトがストリーム中で位置決めされたとき、オブジェクトの終点が識別されることを可能にする。本明細書において説明されるように、オブジェクトの繰返しは、オブジェクトがストリーム中で位置決めされたとき、オブジェクトの終点が識別されることを可能にする。別の実施形態では、記憶要件を最小限にするために、格納されまたはバッファリングされたメディアストリームは、音声および／または映像の内容を圧縮する所望の従来のどの圧縮方法を用いても圧縮される。このような圧縮技術は、当業者によく知られており、本明細書では説明されない。
【００６９】
上述したように、一実施形態では、反復メディアオブジェクトの自動的な識別および分割は、メディアの内容が繰り返されているメディアストリーム中の領域または部分を位置決めするために、メディアストリームの部分を比較することによって遂行される。具体的には、この実施形態では、メディアストリームの部分または時間枠が、メディアストリームから選択される。時間枠の長さは、所望のどの長さでもよいが、通常、有用な情報をほとんどまたは全く提供しないほど短すぎても、多数のメディアオブジェクトを包含し得るほど長すぎてもならない。テストした実施形態では、シークされるタイプの、平均的な反復オブジェクトの約２から５倍の長さ程度の時間枠またはセグメントが、良好な結果をもたらすことがわかっている。この部分または時間枠は、メディアストリームの両端の一方から開始して選択されることもでき、メディアストリームからランダムに選択されることもできる。
【００７０】
次に、メディアストリームの一致するセクションを位置決めしようと試みて、メディアストリームの選択された部分が、メディアストリームの、同程度のサイズの部分と直接比較される。こうした比較は、一致を位置決めするためにメディアストリーム全体が検索されるまで、または実際に一致が位置決めされるまで続き、この２つは、どちらが先に起きてもよい。メディアストリームと比較するための部分の選択と同様に、選択されたセグメントまたは時間枠と比較される部分は、シークされるクラスのオブジェクトが現在のセグメント中に存在する確率をアルゴリズムが示すとき、メディアストリームの両端の一方から開始して連続して受け取られることもでき、メディアストリームからランダムに受け取られることもできる。
【００７１】
テストしたこの実施形態では、メディアストリームの部分の直接比較によって一致が識別されると、次いで、反復オブジェクトの識別および分割が、一致部分を整列して、オブジェクトの終点を位置決めすることによって遂行される。各オブジェクトが、ノイズを含み、短縮されることも、上述したように先頭または末尾において端部を切られることもあり得るので、オブジェクトの終点は、常に明白に境界を定められるわけではないことに留意されたい。しかし、このようなノイズのある環境においても、近似的な終点は、単純なパターンマッチング、一致部分の間の相互相関ピークの整列、または一致信号を整列する他のどの従来技術など、いくつかの従来技術のどれを用いても、一致部分を最初に整列することによって位置決めされる。整列されると、実際の終点は、一致部分の境界を通過しながらメディアストリームを前後に追跡して、メディアストリームの２つの部分が分岐する点を位置決めすることによって識別される。反復メディアオブジェクトは通常、放送される度に全く同じ順序で再生されるわけではないので、メディアストリーム中の終点を位置決めするこの技術は、メディアストリーム中のメディアオブジェクトの始点および終点を十分に位置決めすることが観察によって認められている。
【００７２】
あるいは、上述したように、一実施形態では、メディアストリーム中のオブジェクトを識別するのに有用なパラメータ情報を計算するための、音声および／または映像メディアの様々な側面をターゲットとする一連のアルゴリズムが使用される。このパラメータ情報は、特定のオブジェクトを識別するのに有用なパラメータを含み、したがって、計算されるパラメータ情報のタイプは、シークされているオブジェクトのクラスに依存する。メディアオブジェクトの類似を比較する、周波数、時間、画像、またはエネルギーに基づく公知のいくつかの従来技術のどれも、分析されているメディアストリームのタイプに依存して、起こり得るオブジェクト一致を識別するのに使用することができることに留意されたい。たとえば、音声ストリーム中の音楽または歌に関して、こうしたアルゴリズムは、たとえば、短い時間枠における１分当たりのビート数、ステレオ情報、短期間にわたる１チャネル当たりのエネルギー比、および特定の周波数帯の周波数成分など、メディアストリームにおいて容易に計算されるパラメータを計算すること、メディアのより大きいセグメントを、そのスペクトルにおける実質的な類似を求めて比較すること、候補となり得るオブジェクトのサンプルを格納すること、ならびに繰り返されるどのオブジェクトも識別するように学習することを含む。
【００７３】
この実施形態では、メディアストリームが取得されると、格納されているメディアストリームは、シークされているクラスのオブジェクト、すなわち、歌、ジングル、映像、広告などが、調べられているストリームの部分に存在する確率を判定するために調べられる。しかし、代替実装形態では、現時点での、ストリームにおけるシークされたオブジェクトの存在確率を判定するために、メディアストリームが、格納されるときにリアルタイムで調べられることに留意されたい。リアルタイムまたは事後の格納メディアストリーム調査は、ほぼ同じやり方で処理されることに留意されたい。シークされるオブジェクトが存在する確率が所定の閾値に達すると、ストリーム中での、その確からしいオブジェクトの位置が、上述したデータベースに自動的に書き留められる。この検出または類似度の閾値は、ストリーム中でのオブジェクト検出の感度を調節するために、要望に応じて高くすることも低くすることもできることに留意されたい。
【００７４】
この実施形態を前提として、確からしいオブジェクトがストリーム中で識別されると、有望オブジェクトを特徴づけるパラメータ情報が計算され、データベースクエリまたは検索において、予め識別されている有望オブジェクトとの、起こり得るオブジェクト一致を識別するのに使われる。データベースクエリの目的は、ストリームの２つの部分がほぼ同じであるかどうか単に判定することである。言い換えると、ストリーム中の異なる２つの時間位置に配置されているオブジェクトがほぼ同じであるかどうかということである。さらに、データベースは最初は空なので、可能性があるより多くのオブジェクトが識別され、データベースに追加されると、一致候補を識別する見込みは、時間と共に自然に高くなる。
【００７５】
別の実施形態では、ストリームのセグメントを表す音声フィンガープリントが、計算され、所望のある程度の頻度でデータベースに格納される。フィンガープリントは、必ずしも同じ頻度でなくてよく、別の頻度でも計算され、一致を求めてデータベースと比較される。現在のフィンガープリントと、以前から格納されているフィンガープリントとの間の一致は、音声である現在のセグメントと、データベース中のフィンガープリントに対応するセグメントとの確率の高い一致を示す。
【００７６】
代替実施形態では、データベースクエリによって返される、一致候補の数は、システムのオーバーヘッドを削減するために、所望の最大数に制限されることに留意されたい。さらに、上述したように、データベース中のオブジェクトとの確からしいオブジェクトの比較に対する類似度の閾値は、一致候補の見込みを望み通りに高くし、または低くするために調節可能である。さらに別の関連実施形態では、メディアストリーム中でより頻繁に反復することがわかっているオブジェクトは、より重く重みづけられ、そうすることによって、より少ない頻度で反復するオブジェクトよりも、一致候補として識別されるようになる。さらに別の実施形態では、データベース検索によって返される一致候補が多すぎる場合、返される一致候補がより少なくなるように、類似度の閾値が向上する。
【００７７】
確からしいオブジェクトとの一致候補が返されると、確からしいオブジェクトと、一致候補の１つまたは複数との間のより詳細な比較が、確からしいオブジェクトをより明確に識別するために実施される。この時点で、確からしいオブジェクトは、一致候補の１つの反復であることが発見されると、反復オブジェクトとして識別され、ストリーム中でのその位置がデータベースに保存される。逆に、確からしいオブジェクトが、一致候補の１つの反復でないことを詳細な比較が示す場合、オブジェクトは、データベースにおいて新規オブジェクトとして識別され、ストリーム中でのその位置およびパラメータ情報が、上述したようにデータベースに保存される。しかし、代替実装形態では、オブジェクトが、反復オブジェクトとして識別されない場合、比較用の追加オブジェクトを識別するためにより低い類似度閾値を用いて、新たなデータベース検索が行われる。再度、確からしいオブジェクトが反復であると判定された場合、その有望オブジェクトは、反復オブジェクトとして識別され、確からしいオブジェクトが、反復でないと判定された場合、その有望オブジェクトは、上述したように新規オブジェクトとしてデータベースに追加される。
【００７８】
さらに、上述した実施形態と同様に、反復オブジェクトの様々なインスタンスの終点が、自動的に判定される。たとえば、ある特定のオブジェクトのＮ個のインスタンスがある場合、そのすべてが全く同じ長さとなり得るわけではない。したがって、終点の判定は、１つのインスタンスに相対して様々なインスタンスを整列し、次いで、整列されたオブジェクトをそれぞれ前後に追跡して、インスタンスそれぞれが依然として他のインスタンスとほぼ等しい、最大限度を判定することを含む。
【００７９】
シークされるクラスのオブジェクトが、調べられているストリームの部分に存在する確率を判定する方法と、そのストリームの２つの部分がほぼ同じであるかどうかテストする方法とは、両方とも、たとえば、音楽、発話、広告、ジングル、ステーション識別、映像などシークされているオブジェクトのタイプに重く依存し、データベースと、ストリーム中の終点の場所の判定とは、どの種類のオブジェクトがシークされているかに関わらず非常に似ていることに留意されたい。
【００８０】
上述した実施形態それぞれのさらなる変更形態では、メディアストリーム中でのメディアオブジェクト識別の速度は、メディアストリームの予め識別されている部分の検索を制限することによって、またはメディアストリームを検索する前に、予め識別されているメディアオブジェクトのデータベースを最初に照会することによって、劇的に向上される。さらに、関連実施形態では、メディアストリームは、メディアオブジェクトの１つまたは複数の反復インスタンスを考慮するのに十分な期間に対応するセグメントにおいて分析され、その後に、データベースクエリ、次いで、必要な場合はメディアストリームの検索が続く。
【００８１】
最後に、後で説明されるように、上述したように反復オブジェクトおよびその終点がメディアストリーム中で識別されると、ＲＯＣは、そうした反復オブジェクトに関して、ユーザ対話およびメディアストリームに対する制御を可能にする。
【００８２】
（２．２  システムアーキテクチャ）
以下の説明は、図２によって示されるオブジェクト抽出装置の説明で始まる。次に、反復オブジェクトおよびその終点を識別するオブジェクト抽出装置のいくつかの代替実施形態の説明に続き、ＲＯＣの説明が、図３を参照して行われる。ただし、本明細書において説明されるＲＯＣは、本明細書において説明されるオブジェクト抽出装置に限定されないことに留意されたい。具体的には、ＲＯＣは、メディアストリーム中の反復オブジェクトの時間終点を判定することができるどのシステムとも動作可能である。
【００８３】
（２．２．１  オブジェクト抽出装置のシステムアーキテクチャ）
図２のシステム全体図は、メディアストリーム中の反復オブジェクトの終点を判定する、上で概説された処理を示す。具体的には、図２のシステム図は、メディアストリーム中の反復オブジェクトを自動的に識別し分割する「オブジェクト抽出装置」を実装するプログラムモジュールの間の相互関係を示す。図２において破線または点線で表されるボックスおよびボックスの間の相互接続は、本発明の代替実施形態を表し、こうした代替実施形態のいずれかまたは全部は、後で説明されるように、この文書を通して説明される他の代替実施形態と組み合わせて使用され得ることに留意されたい。
【００８４】
具体的には、図２で示されるように、メディアストリーム中の反復オブジェクトを自動的に識別し分割するシステムおよび方法は、音声および／または映像情報を含むメディアストリームを取り込むメディアキャプチャモジュール２００を使用することによって開始する。メディアキャプチャモジュール２００は、いくつかの従来技術のどれを用いても、ラジオまたはテレビ／映像放送メディアストリームを取り込む。このようなメディアキャプチャ技術は、当業者によく知られており、本明細書では説明されない。取り込まれると、メディアストリーム２１０は、コンピュータファイルまたはデータベースに格納される。さらに、一実施形態では、メディアストリーム２１０は、音声および／または映像メディアの圧縮のための従来技術を用いて圧縮される。
【００８５】
一実施形態では、オブジェクト検出モジュール２２０が、メディアストリームからセグメントまたは時間枠を選択し、それをオブジェクト比較モジュール２４０に供給する。オブジェクト比較モジュール２４０は、メディアストリーム２１０の一致部分を位置決めしようと試みて、そのセクションと、メディアストリーム２１０の他のセクションまたは時間枠との間の直接比較を実施する。上述したように、オブジェクト比較モジュール２４０によって実施される比較は、一致を位置決めするためにメディアストリーム２１０全体が検索されるまで、または一致が実際に位置決めされるまで続き、この２つはどちらが先に起きてもよい。さらに、いくつかの場合では、ストリームの検索は、一致が見つけられた後でも継続する。これは、たとえば、ノイズを除去し、または見つけられたいくつかのコピーの中から最良のコピーを選択するために、すべての一致を見つけることが望まれる場合に当てはまるであろう。
【００８６】
この実施形態では、オブジェクト比較モジュール２４０によるメディアストリームの部分の直接比較によって一致が識別されると、次いで、オブジェクト整列および終点判定モジュール２５０を用いて反復オブジェクトの識別および分割が遂行されて、メディアストリームの一致部分を整列し、次いで、メディアストリームの部分の間で、整列した列の中心から前後に検索を行って、各オブジェクトがほぼ等しい最大限度を識別する。このやり方で各オブジェクトの限度を識別することは、オブジェクトの終点を識別するのに役立つ。一実施形態では、この終点情報は次いで、オブジェクトデータベース２３０に格納される。
【００８７】
あるいは、別の実施形態では、比較のためにメディアストリームの時間枠またはセグメントを単に選択するのではなく、オブジェクト検出モジュールは最初に、メディアストリーム中に埋め込まれた可能なメディアオブジェクトを識別しようと試みて、メディアストリーム２１０を調べる。このメディアストリーム２１０の調査は、メディアストリームの部分を表す時間枠を調べることによって遂行される。上述したように、可能オブジェクトを検出するためのメディアストリーム２１０の調査は、調べられるメディア内容のタイプに合わせて調整される１つまたは複数の検出アルゴリズムを使用する。概して、こうした検出アルゴリズムは、分析されているメディアストリームの部分を特徴づけるパラメータ情報を計算する。可能なメディアオブジェクトの検出は、後でセクション３．１．１においてさらに詳しく説明される。
【００８８】
オブジェクト検出モジュール２２０が、可能オブジェクトを識別すると、メディアストリーム２１０中での可能オブジェクトの場所または位置が、オブジェクトデータベース２３０に書き留められる。さらに、オブジェクト検出モジュール２２０によって計算された可能オブジェクトを特徴づけるパラメータ情報も、オブジェクトデータベース２３０に格納される。このオブジェクトデータベースは、最初は空であり、オブジェクトデータベース２３０中の第１のエントリは、オブジェクト検出モジュール２２０によって検出される第１の可能オブジェクトに対応することに留意されたい。あるいは、オブジェクトデータベースは、前もって取り込まれたメディアストリームの分析または検索の結果を事前投入される。オブジェクトデータベースは、後でセクション３．１．３においてさらに詳しく説明される。
【００８９】
メディアストリーム２１０中での可能オブジェクトの検出に続き、オブジェクト比較モジュール２４０が次いで、オブジェクトデータベース２３０を照会して、可能オブジェクトに対して一致候補、すなわち反復インスタンスを位置決めする。１つまたは複数の一致候補が識別されると、オブジェクト比較モジュール２４０は次いで、可能オブジェクトと、一致する可能性があるオブジェクトの１つまたは複数との間で詳細な比較を実施する。この詳細な比較は、可能オブジェクトを表すメディアストリームの部分と、一致候補との間の直接比較、または可能オブジェクトを表すメディアストリームの部分の低次元バージョンと、一致候補との間の比較のいずれかを含む。この比較処理は、後でセクション３．１．２においてさらに詳しく説明される。
【００９０】
次に、オブジェクト比較モジュール２４０が、可能オブジェクトの一致または反復インスタンスを識別すると、その可能オブジェクトは、オブジェクトデータベース２３０中で反復オブジェクトとしてフラグを立てられる。オブジェクト整列および終点判定モジュール２５０が次いで、新しく識別された反復オブジェクトを、そのオブジェクトの、予め識別されている各反復インスタンスと共に整列し、こうしたオブジェクトそれぞれの間を前後に検索して、各オブジェクトがほぼ等しい最大限度を識別する。このやり方で各オブジェクトの限度を識別することは、オブジェクトの終点を識別するのに役立つ。この終点情報は次いで、オブジェクトデータベース２３０に格納される。オブジェクトの終点の整列および識別は、後でセクション３．１．４においてさらに詳しく説明される。
【００９１】
最後に、別の実施形態では、オブジェクトの終点が、オブジェクト整列および終点判定モジュール２５０によって識別されると、オブジェクト抽出モジュール２６０が、終点情報を利用して、そうした終点に対応するメディアストリームのセクションを、個々のメディアオブジェクト２７０の個別のファイルまたはデータベースにコピーする。別の実施形態では、メディアオブジェクト２７０は、可能オブジェクトの低次元バージョンと、一致候補の間の、上述した比較のために、可能オブジェクトに対する一致候補を表すメディアストリームの部分の代わりに用いられることにも留意されたい。
【００９２】
上で説明された処理は、たとえば、スライディングウィンドウを用いることによって、またはウィンドウの先頭を最終検出メディアオブジェクトの計算された終点に移動することなどによって、オブジェクト検出モジュール２２０によって分析されるメディアストリーム２１０の部分が増分されながら繰り返される。こうした処理は、メディアストリーム全体が調べられるまで、またはユーザが調査を終了するまで続く。反復オブジェクトを求めてストリームをリアルタイムで検索する場合、検索処理は、所定の長さの時間が費やされたときに終了され得る。
【００９３】
２．２．２  反復オブジェクトコントローラのシステムアーキテクチャ
ここで、反復オブジェクトコントローラ、すなわち、「ＲＯＣ」の説明に移ると、図３のシステム全体図は、メディアストリームに埋め込まれた反復オブジェクトに関して、ストリームのユーザ制御および対話を提供する、上で概説された処理を示す。具体的には、図３のシステム図は、個々の反復オブジェクトが、リアルタイムで、または特定の反復オブジェクトが引き続き出現したときにどのようにして処理されるかをユーザが指定することを可能にする対話型ユーザインターフェイスを提供する「反復オブジェクトコントローラ」（ＲＯＣ）を実装するプログラムモジュールの間の相互関係を示す。図３において破線または点線で表されるボックスおよびボックスの間の相互接続は、本発明の代替実施形態を表し、こうした代替実施形態のいずれかまたは全部は、後で説明されるように、この文書を通して説明される他の代替実施形態と組み合わせて使用され得ることに留意されたい。
【００９４】
具体的には、図３で示されるように、メディアストリームに埋め込まれた反復オブジェクトに関して、ストリームのユーザ制御および対話を提供するシステムおよび方法は、音声および／または映像情報を含むメディアストリームを取り込むメディアキャプチャモジュール２００を使用することによって開始する。上述したように、メディアキャプチャモジュール２００は、いくつかの従来技術のどれを用いても、ラジオまたはテレビ／映像放送メディアストリームを取り込む。このようなメディアキャプチャ技術は、当業者によく知られており、本明細書では説明されない。取り込まれると、メディアストリーム２１０は、コンピュータファイルまたはデータベースに格納される。上述したように、メディアストリームのバッファリングは、メディアストリーム中でのオブジェクトのシームレスな挿入、削除、または置換えなどの操作を可能にする。さらに、一実施形態では、メディアストリーム２１０は、音声および／または映像メディアの圧縮のための従来技術を用いて圧縮される。
【００９５】
次に、反復オブジェクトモジュール３００が、メディアストリームを処理して、メディアストリーム中の反復オブジェクトおよびそうした反復オブジェクトの終点を識別する。このような反復オブジェクトおよびその終点の識別は、メディアストリームの分析を通して反復オブジェクトおよびその終点を識別することができる、上述された方法のいずれを用いても、または他のどの方法を用いても遂行される。このような識別は、リアルタイムでも、メディアストリームの、以前から格納されまたはバッファリングされたコピーの再生中でも起こり得ることに留意されたい。
【００９６】
反復オブジェクトモジュール３００が、メディアストリーム中で反復オブジェクトを識別すると、その特定のオブジェクトにアクションが割り当てられているか、または関連づけられているか判定するために、オブジェクト／アクションデータベース３１０が自動的に照会される。さらに、反復オブジェクトモジュール３００によるメディアストリーム２１０の分析が、メディアストリーム中のある特定のオブジェクトが反復オブジェクトでないことを示す場合、オブジェクト、またはそのオブジェクトを定義するパラメータいずれかが、後続の反復オブジェクトを識別するのに使うためにオブジェクト／アクションデータベース３１０に格納される。後続のオブジェクト識別に使うために、このようなオブジェクトを表す未知または新規のオブジェクトまたはパラメータを格納することは、反復オブジェクト抽出装置に関連して上で詳しく説明された。
【００９７】
オブジェクト／アクションデータベース３１０の検索が、ある特定の反復オブジェクトにアクションが関連づけられていることを示す場合、オブジェクトアクションモジュール３２０が、指定されたアクションを実施する。上述したように、特定のどの反復オブジェクトにも関連づけられ得る可能ないくつかのアクションがある。たとえば、こうしたアクションは、次のものを含むが、それに限定されない。
【００９８】
１．メディアオブジェクトを早送りすること。
【００９９】
２．メディアオブジェクトの再生速度を遅くすること。
【０１００】
３．視聴されている局またはチャネルを自動的に変えることなどによってメディアストリームを変えること。
【０１０１】
４．ある特定のオブジェクトをお気に入り一覧に追加すること。
【０１０２】
５．メディアオブジェクトを格付けすること。
【０１０３】
６．特定のメディアオブジェクトの音量を自動的に高くまたは低くすること。
【０１０４】
７．ある特定のメディアオブジェクトが検出されると、自動的にスクリーンを消すこと。
【０１０５】
８．メディアストリーム中の特定のメディアオブジェクトの最後までスキップすること。
【０１０６】
９．特定のメディアオブジェクトを、ストリームから削除することによってメディアストリームの再生において現れないようにすること。
【０１０７】
１０．メディアストリームから特定のメディアオブジェクトのコピーを抽出し保存すること。
【０１０８】
１１．ある特定のメディアオブジェクトを、予め定義された期間における最大出現回数に制限すること。
【０１０９】
１２．あるオブジェクトが発生する頻度を、別のオブジェクトまたはオブジェクト群に相対して制限すること。
【０１１０】
１３．メディアストリーム中の特定のメディアオブジェクトを、以前から格納されている別のメディアオブジェクトと自動的に置き換えること。
【０１１１】
１４．たとえば緊急放送信号や他の特定の反復メディアオブジェクトなど特定のイベントが出現すると、バッファリング再生からリアルタイム再生に自動的にジャンプすること。この場合、リアルタイムのメディアストリーム中でこのような信号が検出されたどのときでもユーザがこの選択肢を選択すると、バッファリング再生が、メディアストリームのリアルタイム再生で直ちに置き換えられる。
【０１１２】
１５．メディアストリームのリアルタイム再生から、メディアストリームのバッファリング再生に戻ること。
【０１１３】
１６．たとえば、ある特定のメディアオブジェクトがメディアストリーム中で出現すると部屋の照明を自動的に暗くするなどのユーザ定義アクション。
【０１１４】
このようなアクションを実装する方法は当業者によく知られており、本明細書では詳しく説明されない。しかし、このような方法の実装は知られているが、従来のシステムは、そうした反復メディアオブジェクトと自動的に対話し、反復メディアオブジェクトを制御する対話型ユーザインターフェイスを用いて、メディアストリーム中で反復オブジェクトおよびその終点を識別する機能を提供できていない。
【０１１５】
一実施形態では、メディアストリーム２１０は、少なくとも部分的にバッファ３３０にも入れられることに留意されたい。たとえば「スキップ」、「削除」、および「置換え」などのコマンドが提供される実施形態において、メディアストリームは好ましくは、再生に先立って、メディアストリームに埋め込まれた特定のオブジェクトのシームレスな削除、スキップ、または置換えを可能にするのに十分な期間、バッファ３３０に入れられる。たとえば、バッファ３３０に入れられた再生を利用し、スキップまたは削除を可能にするとき、バッファによってもたらされる遅延の長さは、スキップされまたは削除されるすべてのオブジェクトを組み合わせた長さより長くなるべきである。バッファ長の要件は、特定のメディアオブジェクトが、単に削除されまたはスキップされるのではなく置き換えられる場合に緩和されることに留意されたい。たとえば、聴取者が、１時間の音声につき３分間の歌を４曲削ることを選ぶと、１時間当たり少なくとも１２分のバッファが必要とされる。一方、ユーザが、削られる歌の代わりに用いられる素材を決めると、明らかにはるかに少ないバッファリングが要求されよう。
【０１１６】
しかし、一実施形態では、バッファ中のメディアストリームの量が、所定の最小限の時間を下回る場合、バッファが空の状態で稼働することがないように、以前から格納されている１つまたは複数のメディアオブジェクトが自動的にメディアストリームに挿入される。一実施形態では、このような挿入オブジェクトはランダムに選ばれ、別の実施形態では、挿入されるオブジェクトは、オブジェクトに割り当てられた格付けに基づいて選ばれ、より格付けが高いオブジェクトが、挿入用のオブジェクトを選ぶ際により重く重みづけられる。このような格付けは、上述した格付けコマンドを介して割り当てられることもでき、ある特定のオブジェクトが再生された回数に応じて割り当てられることもできることに留意されたい。
【０１１７】
次に、ある特定の反復メディアオブジェクトが存在する場合、そのメディアオブジェクトに対して指定されたアクションを実施した後、メディア出力／表示モジュール３４０が、メディアストリームの再生を行う。たとえば、音声メディアストリームを与えられると、メディア出力／表示モジュール３４０は、従来のスピーカ装置を使用して、メディアストリームの可聴再生を行う。同様に、映像メディアストリームを与えられると、メディア出力／表示モジュール３４０は、コンピュータスクリーンや他の表示モニタなど、従来の表示装置を使用して、メディアストリームの視覚的な再生を行う。最後に、混合型音声／映像メディアストリームを与えられると、メディア出力／表示モジュール３４０は、メディアストリームの、音声および映像の同期再生のためにスピーカ装置および表示装置両方を使用する。
【０１１８】
メディアストリームの再生中、ユーザ対話モジュール３５０が、現在再生中のメディアオブジェクトを制御し、または上に列挙したような制御コマンドを、現在再生中であるメディアオブジェクトの後続インスタンスに関連づける、メディアストリームとのリアルタイムのユーザ対話をもたらす。たとえば、コマンドが、現在再生中のメディアオブジェクト用に発行され、そのオブジェクトが反復オブジェクトである場合、その終点は、上述したように既に判定されている。したがって、コマンドに基づいて、直ちにアクションが行われる。ただし、現在再生中のメディアオブジェクトが、メディアストリーム中でのそのオブジェクトの最初の出現を表す場合、そのオブジェクトの終点は判定されておらず、したがって、コマンドは、その特定のメディアオブジェクトが次に出現したときに自動的にアクションを行うために、オブジェクト／アクションデータベース３１０に格納される。このようなコマンドは、たとえば、指示装置３６０、リモコン装置３７０、または発話されたコマンドの自動音声認識など、従来の方法を用いて発行されることに留意されたい。
【０１１９】
上述したように、特定の反復オブジェクトの出現に対して行われるアクションの指定は、いくつかの方法で遂行される。たとえば、一実施形態では、従来のテレビ用リモコンと同様の手持ち式リモコン３７０、あるいは他の無線または有線制御装置が、ユーザに提供される。メディアストリームがその上で処理されている、コンピューティングデバイスに接続された受信機は、リモコンからコマンドを受信し、次いで、オブジェクトアクションモジュール３２０を介してそうしたコマンドに基づいてアクションを行い、または特定の反復オブジェクトの後続インスタンスに対するアクションのためにコマンドをオブジェクト／アクションデータベース３１０に格納する。リモコン３７０は、上述したアクションのいずれかまたは全部を実施するボタンまたは制御、ならびにユーザ定義アクションを可能にするカスタマイズ可能なまたはプログラミング可能なボタンまたは制御を含むことができる。概して、リモコン装置は、当業者によく知られている。したがって、このようなリモコンのアクションの基底にある処理は、本明細書では詳しく説明されない。
【０１２０】
動作中、特定のアクションに対応する１つまたは複数のボタンが、リモコン３７０に含まれる。特定のどのメディアオブジェクトの再生中でも、ボタンのいずれの活動化も、関連するコマンドを現在のメディアオブジェクトに自動的にリンクし、そうすることによって、そのメディアオブジェクトの後続インスタンスが、自動的にユーザ指定アクションを含むようになる。このアクションは次いで、メディアストリームと共にメディアオブジェクトが引き続きそれぞれ出現すると実施される。ただし、一実施形態では、たとえば「スキップ」コマンドなど特定のアクションは、反復オブジェクトの今後のすべてのインスタンスに永久に関連づけられるのではなく、コマンドが活動化されたときだけ作用するようにプログラミングすることができることに留意されたい。
【０１２１】
別の実施形態では、リモコンによって提供される機能は、コンピュータのユーザインターフェイスウィンドウにおいて提供される。具体的には、この実施形態では、従来の指示装置３６０を介して選択された、画面上のいくつかのボタンまたは制御が、リモコンに関して上述されたものと同じタイプの機能を提供する。
【０１２２】
さらに別の実施形態では、メディアストリーム中の反復オブジェクトに関連づけられたアクションをユーザが制御することを可能にするために、音声による活動化３８０が提供される。具体的には、この実施形態では、いくつかの発話キーワードまたはフレーズが、従来の声または音声認識技術を用いてコンピュータによって翻訳される。発話コマンドを認識すると、そのコマンドに関連づけられたアクションが次いで、現在のメディアオブジェクトとリンクされ、そうすることによって、そのメディアオブジェクトの後続インスタンスが、ユーザ指定アクションを自動的に含むようになる。このアクションは次いで、メディアストリームと共にメディアオブジェクトが引き続きそれぞれ出現すると実施される。たとえば、一実施形態では、ユーザが「保存」コマンドを発声した場合、現在のメディアオブジェクトが、メディアストリームから自動的に抽出され、ユーザが後で使うために格納される。同様に、ユーザが「削除」コマンドを発声した場合、現在のメディアオブジェクトは、メディアストリームの現在再生中の部分から自動的に削除され、そのメディアオブジェクトの、後続のすべての出現も、ユーザによるそれ以上のアクションなしでメディアストリームから排除される。明らかに、このような音声認識技術は、ある特定のコマンドを開始する所望のどのキーワードまたはフレーズに基づいても作用するようにプログラミングすることができる。
【０１２３】
最後に、さらに別の実施形態では、ユーザは、発見された一連のオブジェクト、またはそうしたオブジェクトの代表的なサブセクションを提示され、そうしたオブジェクトまたはサブセクションが再度出現したときに、それらにアクションを関連づける機会を与えられる。
【０１２４】
（３．０  動作の概要）
上述されたプログラムモジュールは、メディアストリーム中の反復オブジェクトに対する、自動的な、かつリアルタイムの制御両方を提供する反復オブジェクトコントローラ（ＲＯＣ）において利用される。これ以降のセクションは、図４Ａから図９を参照して、上述したプログラムモジュールを実装する例示的な方法の詳細な動作説明を提供する。具体的には、上述したオブジェクト抽出装置の代替実施形態を実装する例示的な方法が、最初にセクション３．１．１から３．１．４において説明される。次に、反復オブジェクトおよびその終点を識別する例示的な方法を鑑みて、ＲＯＣの代替実施形態を実装する例示的な方法が、セクション３．１．５において説明される。次に、オブジェクト抽出装置の代替実施形態が、図４Ａから６のフロー図を参照してセクション３．２で説明される。最後に、ＲＯＣの代替実施形態が、図７から図９のフロー図を参照してセクション３．２で説明される。
【０１２５】
（３．１  動作要素）
上述したように、ＲＯＣは、メディアストリームでの反復オブジェクトおよびその終点の識別を可能にする処理を必要とする。こうした反復オブジェクトおよびその終点を与えられると、ＲＯＣは、自動的なユーザ制御およびこうした反復メディアオブジェクトとの対話を可能にする。したがって、ＲＯＣの動作要素の説明において、オブジェクト抽出装置の代替実施形態を実装する例示的な方法が最初に説明される。
【０１２６】
オブジェクトの反復インスタンスを識別する全般的な方法の実施例は概して、次の要素を含む。
【０１２７】
１．  メディアストリームの２つの部分がほぼ同じであるかどうか判定する技術。言い換えると、メディアストリーム中で、近似的な時間位置ｔｉおよびｔｊにそれぞれ配置されたメディアオブジェクトがほぼ同じであるかどうか判定する技術である。これ以上の詳細については、セクション３．１．２を参照されたい。関連実施形態では、メディアストリームの２つの部分がほぼ同じであるかどうか判定する技術は、シークされるクラスのメディアオブジェクトが、調べられているメディアストリームの部分に存在する確率を判定する技術によって先行されることに留意されたい。これ以上の詳細については、セクション３．１．１を参照されたい。
【０１２８】
２．  特定の反復オブジェクトの、配置された各インスタンスを記述する情報を格納するオブジェクトデータベース。このオブジェクトデータベースは、たとえば、メディアストリーム中でのメディアオブジェクトの位置へのポインタ、そうしたメディアオブジェクトを特徴づけるパラメータ情報、このようなオブジェクトを記述するメタデータ、オブジェクトの終点情報、またはオブジェクト自体のコピーなどの記録を含む。やはり、上述したように、オブジェクトデータベースは、要望に応じて実際に１つまたは複数のデータベースでよい。これ以上の詳細については、セクション３．１．３を参照されたい。
【０１２９】
３．  識別されたどの反復オブジェクトの様々なインスタンスの終点も判定する技術。概して、この技術は、各一致セグメントまたはメディアオブジェクトを最初に整列し、次いで、インスタンスそれぞれが他のインスタンスと依然としてほぼ等しい最大限度を判定するために時間的に前後に追跡を行う。こうした最大限度は概して、反復メディアオブジェクトの終点に対応する。これ以上の詳細については、セクション３．１．４を参照されたい。
【０１３０】
シークされるクラスのメディアオブジェクトが、調べられているストリームの部分に存在する確率を判定する技術と、そのメディアストリームの２つの部分がほぼ同じであるかどうか判定する技術とは、両方とも、たとえば、音楽、発話、映像などのいずれであるかに関わらずシークされているオブジェクトのタイプに重く依存し、オブジェクトデータベースと、識別されたどの反復オブジェクトの様々なインスタンスの終点も判定する技術とは、シークされるオブジェクトのタイプまたはクラスに関わらず非常に類似し得ることに留意されたい。
【０１３１】
以下の説明は、オブジェクト抽出装置をコンテキストに当てはめるために、音声メディアストリーム中の音楽または歌の検出を参照することに留意されたい。ただし、上述したように、本明細書において説明される同じ一般的な手法が、たとえば、発話、映像、画像シーケンス、ステーションジングル、広告など、他のクラスのオブジェクトにも等しく十分に当てはまる。
【０１３２】
（３．１．１  オブジェクト検出確率）
上述したように、一実施形態では、メディアストリームの２つの部分がほぼ同じであるかどうか判定する技術は、シークされるクラスのメディアオブジェクトが、調べられているメディアストリームの部分に存在する確率を判定する技術によって先行される。この判定は、メディアストリームのセクションの間で直接比較が行われるセクション３．１．２の実施形態などでは必要ないが、検索の効率を著しく向上することができる。つまり、シークされるクラスのオブジェクトを含む見込みがないと判定されたセクションは、他のセクションと比較される必要がない。シークされるクラスのメディアオブジェクトがメディアストリーム中に存在する確率の判定は、最初にメディアストリームを取り込み調べることによって始まる。たとえば、１つの手法は、容易に計算されるパラメータのベクトル、すなわちパラメータ情報を連続して計算し、目標とするメディアストリームの中を進むことである。上述したように、特定のメディアオブジェクトのタイプまたはクラスを特徴づけるのに必要とされるパラメータ情報は、検索が実施されている特定のオブジェクトタイプまたはクラスに完全に依存する。
【０１３３】
シークされるクラスのメディアオブジェクトがメディアストリーム中に存在する確率を判定する技術は、一般に信頼性がないことに留意されたい。言い換えると、この技術は、セクションが、シークされる確からしいまたは可能なオブジェクトでないときも、多くのセクションをそうしたオブジェクトとして分類し、そうすることによって、オブジェクトデータベースに無用なエントリを生成する。同様に、本質的に信頼性がないので、この技術は、シークされる実際の多くのオブジェクトを、確からしいまたは可能なオブジェクトとして分類することもできない。しかし、より効率的な比較技術を用いることができ、反復オブジェクトを識別するための、最初の有望又は可能オブジェクトの検出と、以降の、一致候補の詳細な比較との組合せは、ストリーム中のシークされるオブジェクトの大部分の場所を迅速に識別するのに役立つ。
【０１３４】
明らかに、実質的にどのタイプのパラメータ情報も、メディアストリーム中で可能オブジェクトを位置決めするのに使用することができる。たとえば、放送される映像またはテレビストリームにおいて頻繁に反復するコマーシャルあるいは他の映像または音声セグメントに関して、可能または有望オブジェクトは、ストリームの音声部分、ストリームの映像部分、または両方を調べることによって、位置決めすることができる。さらに、このようなオブジェクトの特性についての既知の情報は、初期検出アルゴリズムを調整するのに使用することができる。たとえば、テレビコマーシャルは、１５から４５秒の長さである傾向があり、３から５分のブロックにグループ化される傾向がある。この情報は、映像またはテレビストリーム中でコマーシャルまたは広告ブロックを位置決めする際に使用することができる。
【０１３５】
音声メディアストリームに関して、たとえば、歌、音楽、または反復する発話を検索することが望まれる場合、メディアストリーム中で可能オブジェクトを位置決めするのに用いられるパラメータ情報は、たとえば、短い時間枠にわたって計算される、メディアストリームの１分当たりのビート数（ＢＰＭ）、たとえば合計チャネルのエネルギーに対する差分チャネルのエネルギーの比など相対ステレオ情報、および短い間隔にわたって平均された特定の周波数帯のエネルギー占有率などの情報から構成される。
【０１３６】
さらに、特定のパラメータ情報の継続性に特に注意が向けられる。たとえば、音声メディアストリームのＢＰＭが、３０秒以上の間隔にわたってほぼ同じである場合、これは、歌のオブジェクトが、ストリーム中のその場所におそらく存在することを示すとみなされ得る。より短い持続期間に対する一定のＢＰＭは、ストリーム中のある特定の場所にオブジェクトが存在するより低い確率をもたらす。同様に、広範な期間に及ぶ実質的なステレオ情報の存在は、歌が再生中である見込みを示すことができる。
【０１３７】
近似的なＢＰＭを計算する様々な方法がある。たとえば、オブジェクト抽出装置の実施例では、音声ストリームは、フィルタリングされダウンサンプリングされて、元のストリームの、より低次元バージョンを生じる。テストした実施形態では、０〜２２０Ｈｚの範囲の情報のみを含むストリームを生じるような、音声ストリームのフィルタリングが、良好なＢＰＭ結果を生じることがわかっている。ただし、メディアストリームからどのような情報が抽出されるべきかに応じて、どの周波数範囲も調べられ得ることが理解されるべきである。ストリームがフィルタリングされダウンサンプリングされると、次いで、約１０秒の時間枠の自己相関を用いて、低レートのストリーム中の主ピークを求める検索が一度に実施され、２つの最大ピーク、すなわちＢＰＭ１およびＢＰＭ２が保持される。テストした実施形態においてこの技術を用いることによって、ＢＰＭ１またはＢＰＭ２いずれかが１分以上ほぼ継続している場合、シークされるオブジェクト、この場合、歌が存在するという判定が行われる。偽（ｓｐｕｒｉｏｕｓ）のＢＰＭ数は、中央値フィルタリングを用いて除去される。
【０１３８】
これまでの説明において、シークされる有望または可能オブジェクトの識別は、特徴のベクトルまたはパラメータ情報のみを用いて遂行されたことに留意されたい。しかし、それ以外の実施形態では、発見されたオブジェクトについての情報が、この基本検索を変更するのに用いられる。たとえば、音声ストリームの例に戻ると、発見されたオブジェクトとステーションジングルの間の４分間の中断は、初期検索が、候補としてオブジェクトまたはステーションジングルにフラグを立てなかった場合でも、シークされる確率が高いオブジェクトとしてデータベースに追加されるのに十分にふさわしい候補となるであろう。
【０１３９】
（３．１．２  オブジェクトの類似度のテスト）
上述したように、メディアストリームの２つの部分がほぼ同じであるかどうかの判定は、メディアストリーム中の２つの位置、すなわち、それぞれｔｉおよびｔｊに配置されている、メディアストリームの２つ以上の部分の比較を含む。テストした実施形態では、比較される時間枠またはセグメントのサイズは、メディアストリーム中で予期されるメディアオブジェクトより大きくなるように選ばれることに留意されたい。したがって、メディアオブジェクトが、メディアストリーム中で一貫して同じ順序で再生されない限り、セグメントまたは時間枠全体ではなく、メディアストリームの比較されるセクションの部分のみが実際に一致することが予期される。
【０１４０】
一実施形態では、この比較は、メディアストリーム中のどの一致も識別するように、メディアストリームの様々な部分を直接比較することを伴うだけである。メディアストリーム中の、上述したソースのいずれかからのノイズの存在のせいで、メディアストリームのどの２つの反復または複製セクションも、完全に一致する見込みはないことに留意されたい。しかし、このような信号が、複製であるか、または反復インスタンスであるか判定する、ノイズのある信号を比較するための従来技術は、当業者によく知られているので、本明細書においてこれ以上詳しく説明されない。さらに、このような直接比較は、信号またはメディアストリームを特徴づけるパラメータ情報を最初に計算する必要なく、どの信号タイプにも適用可能である。
【０１４１】
別の実施形態では、上述したように、この比較は、メディアストリームの現在のセグメントまたは時間枠との、可能な一致または一致候補を識別するために、メディアストリームの部分についてのパラメータ情報を最初に比較することを伴う。
【０１４２】
メディアストリームの部分を直接比較しても、パラメータ情報を比較しても、メディアストリームの２つの部分がほぼ同じであるという判定は、可能オブジェクトのみの基本検出よりも本質的に信頼性がある。セクション３．１．１を参照。言い換えると、この判定は、メディアストリームの異なる２つの期間が同じであると誤って分類する確率が比較的低い。したがって、データベース中の記録の２つのインスタンスが類似していると判定された場合、またはメディアストリームの２つのセグメントまたは時間枠が十分に類似していると判定された場合、こうした記録、またはメディアストリームの部分が、実際に反復オブジェクトを表すという確認とみなされる。
【０１４３】
このことは、重要である。というのは、可能オブジェクトを位置決めするためにメディアストリームが最初に調べられる実施形態では、可能オブジェクトの単純な検出は信頼性がない場合があるからである。すなわち、オブジェクトとみなされるが、実際にはそうでないエントリがデータベース中で作成されるからである。したがって、データベースの内容の調査において、ただ１つのコピーが発見されている記録は、すなわち、歌、ジングル、広告、映像、コマーシャルなどシークされている確率が高いオブジェクトまたは可能オブジェクトに過ぎないが、２つ以上のコピーが発見されている記録は、高い確実性をもって、シークされているオブジェクトとみなされる。したがって、オブジェクトの第２のコピー、および後続コピーの発見は、メディアストリーム中での可能または有望オブジェクトの単純な検出の非信頼性による不確実性を排除するのを非常に助ける。
【０１４４】
たとえば、音声メディアストリームを用いた、テストした実施形態では、直接比較を実施するのではなくパラメータ情報を比較するとき、音声ストリーム中の２つの場所が、Ｂａｒｋ帯域とも呼ばれるその臨界帯域の１つまたは複数を比較することによって比較される。場所ｔｉおよびｔｊがほぼ同じであるという推測をテストするために、Ｂａｒｋスペクトルが、そうした場所それぞれを中心とした、シークされるクラスの平均的なオブジェクトの２から５倍の長さの間隔で計算される。この倍数は、単に便宜性の観点から選ばれる。次に、帯域のうち１つまたは複数の相互相関が計算され、ピークを求める検索が実施される。こうしたＢａｒｋスペクトルが実質的に同じであることを示すのに十分な程ピークが強い場合、音声がそこから発せられたセクションも実質的に同じであると推論される。
【０１４５】
さらに、テストした別の実施形態では、１つだけではなくいくつかのＢａｒｋスペクトル帯域を使用したこの相互相関テストの実施が、比較の信頼性を増している。具体的には、オブジェクト抽出装置が、２つの場所ｔｉおよびｔｊがほぼ同じオブジェクトを表すときをほぼ常に正しく識別し、２つの場所が同じであると誤って示すことはほとんどないようにすることを、多帯域相互相関比較が可能にする。放送された音声ストリームから取り込まれた音声データのテストは、７００Ｈｚから１２００Ｈｚの範囲の信号情報を含むＢａｒｋスペクトル帯域が、この目的に関して特に堅固であり信頼性があることを示している。ただし、他の周波数帯に及ぶ相互相関も、音声メディアストリームを調べるときにオブジェクト抽出装置によって十分に使われ得ることに留意されたい。
【０１４６】
場所ｔｉおよびｔｊが同じオブジェクトを表すと判定されると、Ｂａｒｋスペクトル帯域の相互相関のピーク位置と、帯域のうち１つの帯域の自己相関との間の差が、別個のオブジェクトの整列の計算を可能にする。したがって、ｔｉが対応するのと同じである、歌の中の場所に対応する、調節された場所ｔｊ’が計算される。言い換えると、こうした比較および整列計算は、ｔｉおよびｔｊを中心とした音声は同じオブジェクトを表すが、ｔｉおよびｔｊ’は、そのオブジェクト中のほぼ同じ位置を表すという両方のことを示す。つまり、たとえば、ｔｉが６分のオブジェクト中の２分間であり、ｔｊが同じオブジェクト中の４分間であった場合、こうしたオブジェクトの比較および整列は、こうしたオブジェクトが同じオブジェクトであるかどうかの判定を可能にし、かつオブジェクトの第２のインスタンス中の２分間の場所を表すｔｊ’を返す。
【０１４７】
直接比較の場合も同様である。たとえば直接比較の場合では、たとえばメディアストリームの様々な部分の間での相互相関の実施など、従来の比較技術が、メディアストリームの一致領域を識別するのに用いられる。上の例と同じように、全般的な考え方は、それぞれ場所ｔｉおよびｔｊにある、メディアストリームの２つの部分がほぼ同じであるか単に判定するだけである。さらに、直接比較はメディアに依存しないので、直接比較の場合は、実際、上記の実施形態よりも実装するのがはるかに容易である。たとえば、上述したように、特定の信号またはメディアタイプの分析に必要とされるパラメータ情報は、特徴づけられる信号またはメディアオブジェクトのタイプに依存する。ただし、直接比較方法を用いる場合、こうしたメディア依存の特徴づけは、比較のために判定される必要はない。
【０１４８】
（３．１．３  オブジェクトデータベース）
上述したように、代替実施形態では、オブジェクトデータベースは、たとえば、メディアストリーム中でのメディアオブジェクトの位置へのポインタと、そうしたメディアオブジェクトを特徴づけるパラメータ情報と、このようなオブジェクトを記述するメタデータと、オブジェクトの終点情報と、メディアオブジェクトのコピーと、個々のメディアオブジェクトが格納されているファイルまたは他のデータベースへのポインタとのいずれかまたはすべてなどの情報を格納するのに使われる。さらに、一実施形態では、このオブジェクトデータベースは、オブジェクトの反復インスタンスが発見されると、そのインスタンスに関する統計情報も格納する。「データベース」という用語は、本明細書において一般的な意味で用いられることに留意されたい。具体的には、代替実施形態では、本明細書において説明されるシステムおよび方法は、独自のデータベースを構築し、オペレーティングシステムのファイルシステムを使用し、または、たとえばＳＱＬサーバやＭｉｃｒｏｓｏｆｔ（登録商標）Ａｃｃｅｓｓなど、市販のデータベースパッケージを使用する。さらに、やはり上述したように、１つまたは複数のデータベースが、上述した情報のいずれかまたはすべてを格納する代替実施形態において使用される。
【０１４９】
テストした実施形態において、オブジェクトデータベースは、最初は空である。シークされるクラスのメディアオブジェクトが、メディアストリーム中に存在すると判定されると、エントリは、オブジェクトデータベースに格納される。たとえばセクション３．１．１およびセクション３．１．２を参照。別の実施形態では、直接比較を実施するとき、メディアストリーム自体を検索するのに先立って、オブジェクトの一致を位置決めするために、オブジェクトデータベースが照会されることに留意されたい。この実施形態は、メディアストリーム中で、ある特定のメディアオブジェクトが観察されている場合、その特定のメディアオブジェクトがそのメディアストリーム中で反復する見込みがより高いという仮定に基づいて作用する。したがって、一致するメディアオブジェクトを位置決めするためにオブジェクトデータベースを最初に照会することは、一致するメディアオブジェクトを識別するのに必要とされる全体の時間および計算コストを削減するのに役立つ。こうした実施形態は、後でさらに詳しく説明される。
【０１５０】
データベースは、２つの基本的な機能を実施する。第１に、データベースは、メディアオブジェクトであっても、あるいは特定の１組の特徴またはパラメータ情報であっても、１つまたは複数のオブジェクトの一致、あるいは部分的な一致が、オブジェクトデータベースに存在するか判定するクエリに応答する。このクエリに応答して、オブジェクトデータベースは、上述したように、一致する可能性があるオブジェクトのストリーム名および場所の一覧か、または一致するメディアオブジェクトの名前および場所のみのいずれかを返す。一実施形態では、特徴一覧と一致する現在のエントリがない場合、オブジェクトデータベースは、エントリを作成し、新規の有望または可能オブジェクトとしてストリーム名および場所を追加する。
【０１５１】
一実施形態では、一致する可能性がある記録を返すとき、オブジェクトデータベースは、一致の確率が最も高いと判定した順序で記録を提示することに留意されたい。たとえば、この確率は、可能オブジェクトと一致候補の間の予め計算された類似度などのパラメータに基づくことができる。あるいは、より高い一致の確率が、オブジェクトデータベース中にいくつかのコピーを既にもっている記録に対して返されてもよい。というのは、このような記録が、オブジェクトデータベース中にただ１つのコピーをもつ記録よりも一致する確率が高いからである。最も高確率なオブジェクト一致との上述したオブジェクト比較から始めることは、このような一致が通常、より少ない詳細比較を用いて識別されるので、計算時間を削減し、システム全体の性能を向上させる。
【０１５２】
データベースの第２の基本機能は、オブジェクトの終点の判定を伴う。具体的には、オブジェクトの終点を判定しようと試みるとき、オブジェクトデータベースは、オブジェクトの反復コピーまたはインスタンスそれぞれの、ストリーム名およびストリーム中での場所を返し、そうすることによって、オブジェクトを、次のセクションで説明されるように整列し、比較することができるようになる。
【０１５３】
（３．１．４  オブジェクトの終点の判定）
長期にわたって、メディアストリームが処理されると、オブジェクトデータベースは自然に、ストリーム中でのオブジェクト、反復オブジェクト、および近似的なオブジェクトの場所をより多く投入されるようになる。上述したように、可能オブジェクトの複数のコピーまたはインスタンスを含む、データベース中の記録は、シークされているオブジェクトであるとみなされる。データベース中のこのような記録の数は、シークされるオブジェクトがターゲットストリーム中で繰り返される頻度、および分析されるストリームの長さに基づく割合で増える。データベース中の記録が、シークされるオブジェクトを表すのか、または単に分類エラーを表すのかに関する不確実性を排除するだけでなく、シークされるオブジェクトの第２のコピーを見つけることが、ストリーム中のオブジェクトの終点を判定するのを助ける。
【０１５４】
具体的には、データベースが、反復メディアオブジェクトをより多く投入されると、そうしたメディアオブジェクトの終点を識別することはますます容易になる。概して、メディアオブジェクトの終点の判定は、メディアストリーム中での、識別されるメディアオブジェクトの比較および整列と、それに続く、ある特定のメディアオブジェクトの様々なインスタンスがどこで分岐するかという判定とによって遂行される。セクション３．１．２で上述したように、可能オブジェクトの比較は、同じオブジェクトがメディアストリーム中の異なる場所に存在することを確認するが、この比較は、それ自体では、そうしたオブジェクトの境界を定義しない。しかし、こうした境界は、そうした場所でメディアストリーム、またはメディアストリームの低次元バージョンを比較し、次いで、メディアストリームのそうした部分を整列しメディアストリームを前後に追跡して、メディアストリームが分岐する、メディアストリーム中の点を識別することによって判定可能である。
【０１５５】
たとえば、音声メディアストリームの場合、データベース記録中のあるオブジェクトのＮ個のインスタンスがあるとすると、そのオブジェクトが音声ストリーム中で出現するＮ個の場所がある。概して、放送される音声ストリームの直接比較において、波形データは、一部の場合、様々なコピーがどこでほぼ一致し、どこで分岐し始めるかという信頼できる指示を提示するにはノイズが多すぎる場合があることが観察によって認められている。ストリームが、このような直接比較にとってノイズが多すぎる場合、低次元バージョン、または特定の特性情報の比較が、満足できる結果をもたらすことが観察によって認められている。たとえば、ノイズのある音声ストリームの場合、Ｂａｒｋスペクトル表現など、特定の周波数または周波数帯の比較が、比較および整列のためにうまく作用することが観察によって認められている。
【０１５６】
具体的には、音声ストリームからメディアオブジェクトを抽出する、テストした実施形態では、メディアオブジェクトのＮ個のコピーそれぞれに対して、１つまたは複数のＢａｒｋスペクトル表現が、オブジェクトより比較的長い音声データの時間枠から導出される。上述したように、複数の代表的なＢａｒｋ帯域を使用することによって、より信頼性のある比較が遂行される。音声ストリームに適用されるオブジェクト抽出装置の実施例において、７００Ｈｚから１２００Ｈｚの範囲の情報を表すＢａｒｋ帯域が、音声オブジェクトを比較するのに特に堅固であり有用であることが発見されていることに留意されたい。明らかに、比較のために選ばれた周波数帯は、音声ストリーム中の音楽、発話、または他の音声オブジェクトのタイプに合わせて調整されるべきである。一実施形態では、選択された帯域のフィルタリングされたバージョンが、堅牢性をさらに高めるのに用いられる。
【０１５７】
この例を前提として、選択されたＢａｒｋスペクトルがすべてのコピーに対してほぼ同じである限り、基底にある音声データもほぼ同じであることが仮定される。逆に、選択されたＢａｒｋスペクトルが、すべてのコピーに対して十分に異なる場合は、基底にある音声データは、対象であるオブジェクトにもはや属さないことが仮定される。このようにして、選択されたＢａｒｋスペクトルは、ストリーム中で前後に追跡されて、オブジェクトの境界を判定するために、違いが生じる場所を判定する。
【０１５８】
具体的には、一実施形態では、データベース中のオブジェクトの低次元バージョンが、臨界帯域としても知られるＢａｒｋスペクトル分解を用いて計算される。この分解は、当業者によく知られている。この分解は、信号を異なるいくつかの帯域に分解する。こうした帯域は、狭い周波数幅を占有するので、個々の帯域は、そうした帯域が表す信号よりはるかに低いレートでサンプリングされ得る。したがって、オブジェクトデータベース中のオブジェクト用に計算される特性情報は、こうした帯域のうち１つまたは複数の帯域の、サンプリングされたバージョンからなることができる。たとえば、一実施形態では、特性情報は、８４０Ｈｚを中心とする、Ｂａｒｋ帯域７のサンプリングされたバージョンからなる。
【０１５９】
別の実施形態では、音声メディアストリームのターゲット部分が、データベース中の要素と一致するという判定は、データベースオブジェクトの低次元バージョンと、音声ストリームのターゲット部分の低次元バージョンとの相互相関を計算することによって行われる。相互相関のピークは、概して２つの波形が、その長さの少なくとも一部分に関してほぼ等しいことを意味する。当業者によく知られているように、スプリアスピークの受容を回避する様々な技術がある。たとえば、相互相関の、ある特定の局所的な最大値が候補ピークである場合、ピークでの値が、必ずしもピークを含まないピークの周囲の値の時間枠における平均値より高い標準偏差の閾値数より大きいことを要求することができる。
【０１６０】
さらに別の実施形態では、発見されたオブジェクトの限度または終点は、反復オブジェクトの２つ以上のコピーを整列することによって判定される。たとえば、相互相関のピークを検出することによって一致が発見されると、音声ストリームのターゲット部分の低次元バージョンと、ストリームの別のセクションまたはデータベースエントリいずれかの低次元バージョンとが整列される。低次元バージョンが誤って整列された量は、相互相関ピークの位置によって判定される。低次元バージョンの１つは次いで、低次元バージョンの値がほぼ一致するように正規化される。つまり、音声ストリームのターゲット部分がＳであり、ストリームの別のセクションまたはデータベースのどちらかからの一致部分がＧであり、相互相関から、ＧおよびＳがオフセットｏと一致すると判定されている場合、ｔが音声ストリーム中での時間位置であるＳ（ｔ）が、Ｇ（ｔ＋ｏ）と比較される。ただし、Ｓ（ｔ）がＧ（ｔ＋ｏ）とほぼ等しくなる前に、正規化が必要となり得る。次に、ｔ＞ｔｂに対してＳ（ｔ）がＧ（ｔ＋ｏ）とほぼ等しくなるような最小のｔｂを見つけることによって、オブジェクトの始点が判定される。同様に、ｔ＜ｔｅに対してＳ（ｔ）がＧ（ｔ＋ｏ）とほぼ等しくなるような最大のｔｅを見つけることによって、オブジェクトの終点が判定される。この判定が行われると、Ｓ（ｔ）は、ｔｂ＜ｔ＜ｔｅに対してＧ（ｔ＋ｏ）とほぼ等しくなり、ｔｂおよびｔｅは、そのオブジェクトの近似的な終点とみなすことができる。いくつかの例では、終点を判定する前に、低次元バージョンをフィルタリングすることが必要となり得る。
【０１６１】
一実施形態では、ｔ＞ｔｂに対してＳ（ｔ）がＧ（ｔ＋ｏ）とほぼ等しいという判定は、二分法によって行われる。Ｓ（ｔ０）およびＧ（ｔ０＋ｏ）がほぼ等しい場所ｔ０が発見され、Ｓ（ｔ１）およびＧ（ｔ１＋ｏ）が等しくないｔ１が発見され、ここでｔ１＜ｔ０である。オブジェクトの先頭が次いで、二分アルゴリズムによって決定されるｔの様々な値に対して、Ｓ（ｔ）およびＧ（ｔ＋ｏ）の小さいセクションを比較することによって判定される。オブジェクトの末尾が、Ｓ（ｔ０）およびＧ（ｔ０＋ｏ）がほぼ等しいｔ０、およびＳ（ｔ２）およびＧ（ｔ２＋ｏ）が等しくないｔ２を最初に発見することによって判定され、ここでｔ２＞ｔ０である。最後に、オブジェクトの終点が次いで、二分アルゴリズムによって決定されるｔの様々な値に対して、Ｓ（ｔ）およびＧ（ｔ＋ｏ）のセクションを比較することによって判定される。
【０１６２】
さらに別の実施形態では、ｔ＞ｔｂに対してＳ（ｔ）がＧ（ｔ＋ｏ）とほぼ等しいという判定は、Ｓ（ｔ０）およびＧ（ｔ０＋ｏ）がほぼ等しいｔ０を発見し、次いで、ｔをｔ０から、Ｓ（ｔ）およびＧ（ｔ＋ｏ）がもはやほぼ等しくなくなるまで減少させることによって行われる。Ｓ（ｔ）およびＧ（ｔ＋ｏ）の絶対差が、ｔの単一の値においてある程度の閾値を超えたとき、Ｓ（ｔ）およびＧ（ｔ＋ｏ）がもはやほぼ等しくないと判断するよりも、いくつかの値を含む特定の最小限の範囲に対して絶対差がある程度の閾値を超えたとき、または累積された絶対差がある程度の閾値を超えた場合にそうした判断を行う方が、概してより堅固である。同様に、終点は、ｔをｔ０から、Ｓ（ｔ）およびＧ（ｔ＋ｏ）がもはやほぼ等しくなくなるまで増加させることによって判断される。
【０１６３】
動作中、ラジオまたはＴＶ局からの、放送される音声などのオブジェクトのいくつかのインスタンスにおいて、オブジェクトすべてが全く同じ長さであることはまれであることが観察によって認識された。たとえば、６分間のオブジェクトの場合、時には先頭から末尾まで通して再生され、時には先頭および／または末尾で短縮され、時には導入ナレーションまたはその前もしくはその次のオブジェクトのフェードアウトもしくはフェードインによって悪い影響を及ぼされる場合がある。
【０１６４】
反復オブジェクトの長さの、起こり得るこうした不一致を前提として、各コピーが、それと対になるコピーから分岐するポイントを判定することが必要である。上述したように、一実施形態では、この判定は、音声ストリームの場合は、各コピーの、選択されたＢａｒｋ帯域を、コピーすべての選択されたＢａｒｋ帯域の中央値と突き合わせて比較することによって遂行される。次第に後方に移動し、あるコピーが、十分に長い間、中央値から十分に分岐した場合、オブジェクトのこのインスタンスがそこから始まると判断される。このポイントは、次いで、中央値の計算から除外され、そのポイントで、オブジェクトのコピー中で次第に後方に移動し続けることによって、分岐する次のコピーの検索が実施される。このようにして、最終的に、２つのコピーのみが残るポイントが到達される。同様に、次第に前方に移動し、２つのコピーのみが残るポイントに到達するために、コピーそれぞれが中央値から分岐するポイントが判定される。
【０１６５】
オブジェクトのインスタンスの終点を判定する単純な一手法は、インスタンスの中から、右側の終点と左側の終点の間の差が最も大きいインスタンスを単に選択することである。このインスタンスは、オブジェクトの代表的なコピーとして働くことができる。ただし、そのインスタンスは、オブジェクトの一部として、歌の、異なる２つのインスタンスの前に出現するステーションジングルを含まないことに留意する必要がある。明らかに、発見されたＮ個のコピーから代表的なコピーを抽出するためのより高度なアルゴリズムを利用することができ、上述された方法は、例示および説明のためのみである。識別された最良のインスタンスは次いで、他のすべてのインスタンスの代表として用いることができる。
【０１６６】
関連実施形態では、ストリームのターゲットセグメントとストリームの別のセグメントの間の一致が発見され、分割が実施されると、ストリームのそれ以外の部分において、オブジェクトの他のインスタンスを求めて、検索が継続される。テストした実施形態では、ストリームのターゲットセグメントを、分割されたオブジェクトすべてを含み、他の部分はゼロであるセグメントで置き換えることが有利であることがわかっている。このことは、ストリームの残りの部分での一致をシークするとき、スプリアスピークの確率を低下させる。たとえば、ｔｉおよびｔｊでのセグメントが一致すると判定された場合、オブジェクトの終点の一方または他方は、ｔｉおよびｔｊを中心とするセグメントの外にあり、そうしたセグメントは、オブジェクトの一部ではないデータを含む場合もあるであろう。オブジェクト全体を含み、それ以外何も含まないセグメントと突き合わせて比較することが、後続の一致判断の信頼性を向上させる。
【０１６７】
歌などの音声オブジェクト以外のメディアオブジェクトの比較および整列が、非常に似たやり方で実施されることに留意されたい。具体的には、メディアストリームは、ノイズが多すぎない場合は直接比較されるか、あるいはメディアストリームの低次元またはフィルタリングされたバージョンが直接比較されるかのどちらかである。一致することが発見されたメディアストリームのそうしたセグメントは次いで、上述したように終点判定のために整列される。
【０１６８】
それ以外の実施形態では、様々な計算効率の問題が対処される。具体的には、音声ストリームの場合、セクション３．１．１、３．１．２、および３．１．４で上述された技術はすべて、Ｂａｒｋスペクトルなど、音声の周波数選択表現を用いる。毎回計算し直すことも可能であるが、セクション３．１．１で上述されたように、ストリームが最初に処理されるときに周波数表現を計算し、次いで、選択されたＢａｒｋ帯域の対のストリーム（ｃｏｍｐａｎｉｏｎ  ｓｔｒｅａｍ）を、後で使われるようにオブジェクトデータベースまたは他のどこかに格納する方がより効率的である。Ｂａｒｋ帯域は通常、元の音声レートよりはるかに低いレートでサンプリングされるので、通常、効率を大幅に向上させるための非常に少ない記憶量を表す。同様の処理が、テレビ放送など、音声／映像タイプのメディアストリームに埋め込まれた映像または画像タイプのメディアオブジェクトの場合にも行われる。
【０１６９】
さらに、上述したように、一実施形態では、メディアストリーム中でのメディアオブジェクト識別の速度は、メディアストリームの予め識別されている部分の検索を制限することによって劇的に向上される。たとえば、ｔｊを中心とするストリームのセグメントが、検索の前半から、既に１つまたは複数のオブジェクトを含むと判定されている場合、そのセグメントは、その後の調査から除外することができる。たとえば、検索が、シークされるオブジェクトの平均長の２倍の長さをもつセグメントに対するものであり、２つのオブジェクトが、ｔｊにあるセグメント中に既に配置されている場合、明らかに、別のオブジェクトもそこに配置されている可能性はなく、このセグメントは、検索から除外することができる。
【０１７０】
別の実施形態では、メディアストリーム中でのメディアオブジェクト識別の速度は、メディアストリームを検索する前に、予め識別されているメディアオブジェクトのデータベースを最初に照会することによって向上される。さらに、関連実施形態では、メディアストリームは、メディアオブジェクトの１つまたは複数の反復インスタンスを考慮するのに十分な期間に対応するセグメントにおいて分析され、その後に、データベースクエリ、次いで、必要な場合はメディアストリームの検索が続く。こうした代替実施形態それぞれの動作は、以下のセクションでより詳細に説明される。
【０１７１】
さらに、関連実施形態では、メディアストリームは、ストリーム中で少なくとも最も共通する反復オブジェクトの繰返しを含むのに十分な程大きいストリームの部分を最初に分析することによって分析される。ストリームのこの第１の部分において反復するオブジェクトからなるデータベースが維持される。次いで、ストリームの残りの部分が、データベース中のいずれかのオブジェクトとセグメントが一致するか最初に判定し、続いて、ストリームの残りの部分と突き合わせて調べることによって分析される。
【０１７２】
３．１．５  反復メディアオブジェクトの制御
上述したように、反復メディアオブジェクトの制御は、「オブジェクト抽出装置」と協同して動作する「反復オブジェクトコントローラ」（ＲＯＣ）を提供することによって遂行される。オブジェクト抽出装置は、反復オブジェクトおよびその終点がメディアストリーム中に出現すると、それらを最初に識別する。メディアストリーム中での反復オブジェクトの識別を与えられると、ＲＯＣは次いで、個々の反復オブジェクトが、リアルタイムで、または特定の反復オブジェクトが続いて出現したときにどのようにして処理されるかをユーザが指定することを可能にする対話型ユーザインターフェイスを提供する。
【０１７３】
メディアストリームは好ましくは、再生に先立って、ストリームを明らかに中断することなく、メディアストリームの特定のオブジェクトのリアルタイムの削除および／または置換えを可能にする程十分に長いバッファを用いてバッファリングされる。コマンドは、メディアストリームの再生中にも入力され、このとき、入力されたコマンドは、現在再生中のメディアオブジェクトの今後のインスタンスに関連づけられる。あるいは、アーティストおよびタイトル情報などの情報を含む、予め識別されているメディアオブジェクトのデータベースを与えられると、ユーザは、データベースを表示しデータベース中で特定のオブジェクトに特定のコマンドを割り当てるユーザインターフェイスを提供される。次いで、メディアストリームの、リアルタイムのまたはバッファリング再生いずれかの間に、関連するコマンドを有するオブジェクトが続いて出現すると、関連するどのコマンドも自動的に実行される。
【０１７４】
（３．２  システム動作）
上述したように、図２および図３を参照し、セクション３．１で行われたより詳細な説明を鑑みてセクション２．０で説明されたプログラムモジュールは、メディアストリーム中の反復オブジェクトおよびその終点を自動的に識別し、そうした反復オブジェクトに対する自動的なおよびリアルタイムの制御を可能にするのに利用される。この処理は、オブジェクト抽出装置の代替実施形態を表す図４Ａから６、およびＲＯＣの代替実施形態を表す図７から９のフロー図に示される。図４Ａから図９において破線または点線で表されるボックスおよびボックスの間の相互接続は、オブジェクト抽出装置のさらなる代替実施形態を表し、こうした代替実施形態のいずれかまたは全部は、後で説明されるように、組み合わせて使用され得ることに留意されたい。
【０１７５】
（３．２．１  反復オブジェクト抽出装置の基本動作）
ここで図４Ａから図６を図２と共に参照すると、一実施形態では、処理は概して、メディアストリーム２１０からメディアオブジェクトを位置決めし、識別し、分割するオブジェクト抽出装置として説明することができる。概して、メディアストリームの第１の部分またはセグメントｔｉが選択される。次に、このセグメントｔｉは、ストリームの末尾が到達されるまで、メディアストリーム中で後続セグメントｔｊと連続して比較される。その時点で、先行するｔｉに続く、メディアストリームの新しいｔｉセグメントが選択され、ストリームの末尾が到達されるまで、メディアストリーム中で後続セグメントｔｊと再度比較される。こうしたステップは、メディアストリーム中で反復メディアオブジェクトを位置決めし識別するためにストリーム全体が分析されるまで反復する。さらに、後で説明されるように、図４Ａから図６に関連して、メディアストリーム中での反復オブジェクトの検索を実施し高速にする、いくつかの代替実施形態がある。
【０１７６】
具体的には、図４Ａによって示されるように、音声および／または映像情報を含むメディアストリーム２１０中の反復オブジェクトを自動的に識別し分割するシステムおよび方法は、ストリーム中の場所ｔｉおよびｔｊにあるメディアストリームのセグメントが、同じオブジェクトを表すかどうか、４１０で判定することによって始まる。上述したように、比較のために選択されるセグメントは、メディアストリームのいずれかの末尾で始まるように選択されることも、ランダムに選択されることもできる。しかし、メディアストリームの先頭から単純に開始し、時間ｔｉ＝ｔ０で初期セグメントを選択することが、続いて、比較のために時間ｔｊ＝ｔ１で始まるメディアストリームのセグメントを選択するときに効率的な選択であることがわかっている。
【０１７７】
いずれの場合でも、この判定４１０は、場所ｔｉおよびｔｊにあるメディアストリームのセグメントを単に比較することによって行われる。２つのセグメント、すなわちｔｉおよびｔｊが、同じメディアオブジェクトを表すと４１０で判定された場合、オブジェクトの終点は、上述したように４６０で自動的に判定される。終点が４６０で発見されると、時間ｔｉの周辺に配置されたメディアオブジェクト、および時間ｔｊの周辺に配置された一致するオブジェクトの終点が、４７０でオブジェクトデータベース２３０に格納されるか、あるいはメディアオブジェクト自体またはそうしたメディアオブジェクトへのポインタが、オブジェクトデータベースに格納されるかのいずれかである。やはり、上述したように、比較されるメディアストリームのセグメントのサイズは、メディアストリーム中で、予期されるメディアオブジェクトより大きくなるように選ばれることに留意されたい。したがって、メディアオブジェクトがメディアストリーム中で一貫して同じ順序で再生されない限り、セグメント全体ではなく、メディアストリームの比較されるセグメントの部分のみが実際に一致することが期待される。
【０１７８】
場所ｔｉおよびｔｊでのメディアストリームの２つのセグメントが同じメディアオブジェクトを表さないことが４１０で判定されると、メディアストリームの、選択されていないそれ以外のセグメントが４２０で利用可能である場合、場所ｔｊ＋１でのメディアストリームの新たなまたは次のセグメント４３０が、新たなｔｊとして選択される。メディアストリームの、この新たなｔｊセグメントは次いで、上述したように２つのセグメントが同じメディアオブジェクトを表すかどうか、４１０で判定するために、既存セグメントｔｉと比較される。再度、上述したように、セグメントが、同じメディアオブジェクトを表すと４１０で判定された場合、オブジェクトの終点は４６０で自動的に判定され、情報は、４７０でオブジェクトデータベース２３０に格納される。
【０１７９】
逆に、メディアストリーム全体が、ｔｉによって表される、メディアストリームのセグメントとの比較のために既に選択されているため、場所ｔｉおよびｔｊでのメディアストリーム２つのセグメントが同じメディアオブジェクトを表さないことが４１０で判定され、かつメディアストリームの、選択されていないそれ以外のセグメントが４２０で利用可能でないことが判定されると、メディアストリームの末尾はまだ到達されておらず、より多くのセグメントｔｉが４４０で利用可能である場合、場所ｔｉ＋１でのメディアストリームの新たなまたは次のセグメント４５０が、新たなｔｉとして選択される。メディアストリームの、この新たなｔｉセグメントは次いで、上述したように２つのセグメントが同じメディアオブジェクトを表すかどうか、４１０で判定するために、次のセグメントｔｊと比較される。たとえば、第１の比較が、時間ｔ０でのセグメントｔｉおよび時間ｔ１でのセグメントｔｊで始まるように行われたと仮定すると、２回目の比較は、最初に、時間ｔ１でのｔｉ＋１を、時間ｔ２でのｔｊ＋１と、次いで時間ｔ３など以下同様に、メディアストリームの末尾が到達されるまで比較し、末尾に到達した時点で、時間ｔ２での新たなｔｉが選択される。再度、上述したように、セグメントが、同じメディアオブジェクトを表すと４１０で判定された場合、オブジェクトの終点は４６０で自動的に判定され、情報は、４７０でオブジェクトデータベース２３０に格納される。
【０１８０】
やはり図４Ａで示される関連実施形態では、すべてのセグメントが、ストリーム中の他のオブジェクトとの比較に先立って、シークされるタイプのオブジェクトを含む確率を判定するために最初に調べられる。確率が、所定の閾値より高いと考えられる場合、比較が進行する。しかし、確率が閾値を下回る場合、そのセグメントは、効率の観点からスキップすることができる。
【０１８１】
具体的には、この代替実施形態では、新たなｔｊまたはｔｉが、それぞれ４３０または４５０で選択される度に、次のステップが、それぞれ４３５または４５５で、特定のｔｊまたはｔｉが可能オブジェクトを表すかどうか判定する。上述したように、メディアストリームのある特定のセグメントが可能オブジェクトを表すかどうか判定する手順は、メディアストリーム中で可能オブジェクトを識別する、メディアストリームの様々な側面をターゲットとするための一連のオブジェクト依存アルゴリズムの利用を含む。特定のセグメント、すなわちｔｊまたはｔｉのいずれかが、４３５または４５５で、可能オブジェクトを表すと判定された場合、ｒ  ｔｉとｔｊの間の上述した比較４１０が、上述した通り進行する。ただし、特定のセグメント、すなわちｔｊまたはｔｉのいずれかが、４３５または４５５で、可能オブジェクトを表さないと判定された場合、新たなセグメントが、上述したように４２０／４３０、または４４０／４５０で選択される。この実施形態は、メディアオブジェクトがメディアストリームの現在のセグメント中におそらく存在する確率の判定と比べて、比較的計算コストが高い比較を回避する点で有利である。
【０１８２】
いずれの実施形態でも、上述されたステップは次いで、メディアストリーム中の反復メディアオブジェクトを識別するために、メディアストリームのすべてのセグメントが、メディアストリームの他のすべての後続セグメントと突き合わせて比較されるまで反復する。
【０１８３】
図４Ｂは、関連実施形態を示す。概して、図４Ｂによって示される実施形態は、メディアストリームを通る各パスが遂行されるまで、反復オブジェクトの終点の判定が延期される点において、図４Ａによって示される実施形態と異なる。
【０１８４】
具体的には、上述したように、処理は、ストリームの末尾が到達されるまで、メディアストリーム中で、メディアストリーム２１０のセグメントｔｉを後続セグメントｔｊと連続して比較することによって動作する。やはり、その時点で、先行するｔｉに続く、メディアストリームの新しいｔｉセグメントが選択され、ストリームの末尾が到達されるまで、メディアストリーム中で後続セグメントｔｊと再度比較される。こうしたステップは、メディアストリーム中で反復メディアオブジェクトを位置決めし識別するためにストリーム全体が分析されるまで反復する。
【０１８５】
しかし、図４Ａに関連して説明した実施形態では、ｔｉとｔｊの間の比較４１０が一致を示すとすぐに、一致するオブジェクトの終点が、４６０で判定され、４７０でオブジェクトデータベース２３０に格納された。対照的に、図４Ｂによって示される実施形態では、ゼロに初期化されたオブジェクトカウンタ４１５が、ｔｉとｔｊの間の比較４１０が一致を示す度に増分される。この時点で、一致するオブジェクトの終点を判定するのではなく、次のｔｊが、４２０／４３０／４３５で比較のために選択され、現在のｔｉと再度比較される。この比較は、ストリーム全体が分析されるまでメディアストリーム中のすべてのｔｊセグメントに対して繰り返され、ストリーム全体が分析された時点で、一致するオブジェクトのカウントが４２５でゼロより大きい場合、終点は、４６０で、現在のセグメントｔｉと一致するオブジェクトを表すセグメントｔｊすべてに対して判定される。次に、オブジェクトの終点、またはオブジェクト自体のいずれかが、上述したように、４７０で、オブジェクトデータベース２３０に格納される。
【０１８６】
この時点で、次のセグメントｔｉが、上述したように、後続のｔｉセグメントとの比較４１０をもう１回行うために、４４０／４５０／４５５で選択される。上述されたステップは次いで、メディアストリーム中の反復メディアオブジェクトを識別するために、メディアストリームのすべてのセグメントが、メディアストリームの他のすべての後続セグメントと突き合わせて比較されるまで反復する。
【０１８７】
しかし、このセクションで説明された実施形態は、メディアストリーム中の反復オブジェクトを識別するのに役立つが、多数の不必要な比較が依然として行われる。たとえば、所与のオブジェクトが、メディアストリーム中で既に識別されている場合、そのオブジェクトは、メディアストリーム中で反復される可能性が高い。したがって、代替実施形態では、ある特定のメディアストリームを完全に分析するのに必要とされる、比較的計算コストが高い比較を削減しまたは排除するために、セグメントｔｉおよびｔｊを４１０で比較する前に、現在のセグメントｔｉをデータベース中のオブジェクトそれぞれと最初に比較することが用いられる。したがって、以下のセクションで説明されるように、メディアストリーム２１０の各セグメントｔｉが選択されると、初期比較のためにデータベース２３０が使用される。
【０１８８】
（３．２．２  初期データベース比較を用いた反復オブジェクト抽出装置の動作）
別の関連実施形態では、図４Ｃによって示されるように、メディアストリーム２１０中のセグメントの間の比較４１０の回数は、予め識別されているメディアオブジェクトからなるデータベース２３０を最初に照会することによって削減される。具体的には、図４Ｃによって示される実施形態は、図４Ａによって示される実施形態とは、メディアストリーム２１０の各セグメントｔｉが選択された後で、現在のセグメントがデータベース中のオブジェクトと一致するかどうか判定するために、４０５でオブジェクトデータベース２３０と最初に比較される点において異なる。現在のセグメントとデータベース２３０中のオブジェクトとの間で、一致が４０５で識別された場合、現在のセグメントｔｉで表されるオブジェクトの終点が、４６０で判定される。次に、上述したように、オブジェクトの終点、またはオブジェクト自体のいずれかが、４７０で、オブジェクトデータベース２３０に格納される。したがって、現在のセグメントｔｉは、一致するオブジェクトを位置決めするためにオブジェクトデータベース２３０を単に照会することによって、メディアストリームの全数検索を行わずに識別される。
【０１８９】
次に、一実施形態では、４０５で、オブジェクトデータベース２３０において一致が識別されなかった場合、４１０で現在のセグメントｔｉを後続セグメントｔｊ４２０／４３０／４３５と比較する処理は、上述したように、ストリームの末尾が到達されるまで進行し、末尾に到達した時点で、処理を再度開始するために、新たなセグメントｔｉが４４０／４５０／４５５で選ばれる。逆に、オブジェクトデータベース２３０において、現在のセグメントｔｉに対する一致が４０５で識別された場合、上述したように、終点が４６０で判定され、４７０で格納され、その後に、処理を再度開始するために新たなｔｉ４４０／４５０／４５５の選択が続く。こうしたステップは次いで、メディアストリーム２１０中のすべてのセグメントｔｉが、反復オブジェクトを表すかどうか判定するために分析されるまで繰り返される。
【０１９０】
それ以外の関連実施形態では、データベースが、識別されたオブジェクトを少なくとも一部投入されるまで、初期データベースクエリ４０５が延期される。たとえば、ある特定のメディアストリームが、記録され、あるいは長期間にわたって取り込まれる場合、メディアストリームの一部分の初期分析が、図４Ａまたは４Ｂに関連して上述したように実施され、その後に、初期データベースクエリを伴う上述した実施形態が続く。この実施形態は、オブジェクトがメディアストリーム中で頻繁に反復する環境においてうまく作用する。というのは、データベースの初期投入は、反復オブジェクトを識別するために比較的優れたデータセットを提供する働きをするからである。データベース２３０により多くの投入が行われていくと、メディアストリームに埋め込まれた反復オブジェクトは、メディアストリームにおける一致を求める全数検索ではなくデータベースクエリのみによって識別することができるようになることにも留意されたい。
【０１９１】
さらに別の関連実施形態では、既知のオブジェクトを予め投入されているデータベース２３０が、メディアストリーム中で反復オブジェクトを識別するのに使用される。このデータベース２３０は、上述した実施形態のどれを用いても準備することができ、他の従来のソースからインポートしまたは提供することもできる。
【０１９２】
しかし、このセクションで説明された実施形態は、ある特定のメディアストリームを完全に分析するために実施される比較の回数を削減することが示されているが、多数の不必要な比較が依然として行われる。たとえば、時間ｔｉまたはｔｊで、メディアストリームの所与のセグメントが、ある特定のメディアオブジェクトに属していると既に識別されている場合、既に識別されているセグメントを他のセグメントと再比較することは、何の有用性ももたらさない。したがって、次のセクションで説明されるように、一致するセクションを求める検索を、メディアストリームの、識別されていないセクションに限定することによって、メディアストリームのどの部分が既に識別されているかに関する情報が、検索時間を急激に短縮させるのに用いられる。
【０１９３】
（３．２．３  漸進的ストリーム検索制限を伴う、反復オブジェクト抽出装置の動作）
ここで、図５を図２と共に参照すると、一実施形態では、処理は概して、メディアストリームからメディアオブジェクトを位置決めし、識別し、分割し、メディアストリームの、予め識別されている部分が、何度も繰り返し検索されないように、そうした部分にフラグを立てるオブジェクト抽出装置として説明することができる。
【０１９４】
具体的には、図５によって示されるように、メディアストリーム中の反復オブジェクトを自動的に識別し分割するシステムおよび方法は、５００で、音声および／または映像情報を含むメディアストリーム２１０の第１の時間枠またはセグメントを選択することによって始まる。次に、一実施形態では、メディアストリームは次いで、５００で選択されたセグメントまたは時間枠の部分と一致する部分を有する、メディアストリームのすべての時間枠またはセグメントを識別するために５１０で検索される。関連実施形態では、後でさらに詳しく説明されるように、メディアストリームは、一致するセグメントを求めてメディアストリーム全体を５１０で検索するのではなく、メディアオブジェクトの１つまたは複数の反復インスタンスを考慮するのに十分な期間にわたって、セグメント中を分析されることに留意されたい。たとえば、メディアストリームが１週間記録される場合、メディアストリームの第１の検索のための期間は、１日となるであろう。やはり、メディアストリームがこの実施形態において検索される期間は、メディアオブジェクトの１つまたは複数の反復インスタンスを考慮するのに十分な期間に過ぎない。
【０１９５】
いずれの場合でも、メディアストリームのすべてまたは一部が、選択された時間枠またはセグメント５００の一部と一致する（５２０）、メディアストリームのすべての部分を識別するために５１０で検索されると、その一致部分は、５３０で整列され、この整列は次いで、５４０で、上述したようにオブジェクトの終点を判定するのに用いられる。終点が、５４０で判定されると、一致するメディアオブジェクトの終点がオブジェクトデータベース２３０に格納されるか、あるいはメディアオブジェクト自体またはそうしたメディアオブジェクトへのポインタが、オブジェクトデータベースに格納されるかのいずれかである。
【０１９６】
さらに、一実施形態では、既に識別されているメディアストリームの部分は、  ５６０で、フラグを立てられ、再度検索されないように制限される。この特定の実施形態は、反復オブジェクトが識別されると、メディアストリームの検索可能なエリアを急激に狭めるのに役立つ。やはり、上述したように、比較されるメディアストリームのセグメントのサイズは、メディアストリーム中で予期されるメディアオブジェクトより大きくなるように選ばれることに留意されたい。したがって、メディアオブジェクトがメディアストリーム中で一貫して同じ順序で再生されない限り、セグメント全体ではなく、メディアストリームの、比較されるセグメントの部分のみが実際に一致することが予期される。
【０１９７】
したがって、一実施形態では、実際に識別されている、メディアストリームの各セグメントの部分のみが、５６０でフラグを立てられる。ただし、メディアオブジェクトが頻繁に反復することがわかっているメディアストリームでは、セグメント全体がそれ以上検索されないように単に制限することは、メディアストリーム中での反復オブジェクトの大部分の識別を依然として可能にすることが観察によってわかっている。別の関連実施形態では、ある特定のセグメントの、無視することができる部分のみが、識別されずに残される場合、無視することができるそうした部分は、単に無視される。さらに別の関連実施形態では、５６０で、セグメントの部分がそれ以上検索されないように制限した後に残された部分的なセグメントは、５００で新たに選択されたセグメントと比較するために、先行または後続セグメントいずれかと組み合わされるだけである。こうした実施形態はそれぞれ、メディアストリーム中での一致の検索をより効率的にすることによって、システム全体の性能を向上するのに役立つ。
【０１９８】
オブジェクトの終点が、５４０で判定されたとき、５２０で一致が識別されていない場合、または、メディアストリームの部分が、そうした部分がそれ以上検索されないように防止するために５６０でフラグを立てられた後、メディアストリームの、５００で現在選択されているセグメントが、メディアストリームの末尾を表すかどうか調べるために、５５０で調査が行われる。メディアストリームの、５００で現在選択されているセグメントが、５５０でメディアストリームの末尾を表す場合、処理は完了し、検索が終了する。しかし、メディアストリームの末尾が、５５０で到達されていない場合、メディアストリームの次のセグメントが選択され、一致するセグメントを位置決めするために、５１０でメディアストリーム中を検索することによって、メディアストリームの残りの部分と比較される。一致を識別する、上で説明されたステップ５２０、一致するセグメントを整列するステップ５３０、終点を判定するステップ５４０、および終点またはオブジェクト情報をオブジェクトデータベース２３０に格納するステップは次いで、上述したように、メディアストリームの末尾が到達されるまで繰り返される。
【０１９９】
予め選択されたセグメントが、現在選択されているセグメントと既に比較されているので、メディアストリームを後方に検索する必要はないことに留意されたい。さらに、メディアストリームの特定のセグメントまたは部分が、５６０で、識別済みとしてフラグを立てられている実施形態では、こうしたセグメントは、５１０の検索においてスキップされる。上述したように、より多くのメディアオブジェクトがストリーム中で識別されるのに従って、メディアストリームの識別済み部分をスキップすることは、検索可能な空間を急激に狭めるのに役立ち、そうすることによって、セクション３．２．１で説明された、基本的な総当たり手法と比較して、システム効率を劇的に向上させる。
【０２００】
別の実施形態では、メディアストリーム中の反復オブジェクトを識別する速度および効率は、一致するオブジェクトを識別するためにオブジェクトデータベース２３０を５７０で最初に検索することによって、さらに向上される。具体的には、この実施形態では、メディアストリームのセグメントが５００で選択されると、このセグメントは、メディアオブジェクトがメディアストリーム中で反復することが観察されると、そのメディアストリーム中で再度反復する可能性がより高いという理論に基づいて、予め識別されているセグメントと最初に比較される。５８０で、オブジェクトデータベース２３０において一致が識別されると、上で説明された、一致するセグメントを整列するステップ５３０、終点を判定するステップ５４０、および終点またはオブジェクト情報をオブジェクトデータベース２３０に格納するステップは次いで、上述したように、メディアストリームの末尾が到達されるまで繰り返される。
【０２０１】
上述した検索実施形態はそれぞれ（たとえば、５１０、５７０、および５６０）、一致するセグメントを求めてメディアストリーム全体を５１０で検索するのではなく、メディアオブジェクトの１つまたは複数の反復インスタンスを考慮するのに十分な期間にわたって、セグメントにおいてメディアストリームが分析される実施形態と組み合わされると、さらに改善される。たとえば、メディアストリームが１週間記録される場合、メディアストリームの第１の検索のための期間は、１日となるであろう。したがって、この実施形態では、メディアストリームは、５１０で、第１の期間、すなわち、１週間の長さのメディア記録からの１日目の間中、最初に検索され、一致するメディアオブジェクトの終点、またはオブジェクト自体が、上述したようにオブジェクトデータベース２３０に格納される。メディアストリームの残りの部分、または後続の一続きのメディアストリーム（すなわち、メディアストリームの１週間の長さの記録の２日目または後続の日）に及ぶ後続の検索は次いで、上述したように一致を識別するために、最初にオブジェクトデータベース（５７０および２３０）に向けられる。
【０２０２】
３．２．４  有望オブジェクトの初期検出を伴う、反復オブジェクト抽出装置の動作
ここで、図６を図２と共に参照すると、一実施形態では、処理は概して、メディアストリーム中の有望または可能オブジェクトを最初に識別することによって、メディアストリームからメディアオブジェクトを位置決めし、識別し、分割するオブジェクト抽出装置として説明することができる。具体的には、図６によって示されるように、メディアストリーム中の反復オブジェクトを自動的に識別し分割するシステムおよび方法は、６００で、音声および／または映像情報を含むメディアストリーム２１０を取り込むことによって始まる。メディアストリーム２１０は、たとえば、ラジオまたはテレビ／映像放送メディアストリームを取り込む、コンピュータに接続された音声または映像キャプチャ装置など、いくつかの従来技術のどれを用いても取り込まれる。このようなメディアキャプチャ技術は、当業者によく知られており、本明細書では説明されない。メディアストリーム２１０は、取り込まれると、コンピュータファイルまたはデータベースに格納される。一実施形態では、メディアストリーム２１０は、音声および／または映像メディアの圧縮のための従来技術を用いて圧縮される。
【０２０３】
メディアストリーム２１０は次いで、メディアストリーム中に埋め込まれた可能なまたは確からしいメディアオブジェクトを識別しようと試みて調べられる。メディアストリーム２１０のこの調査は、６０５で、メディアストリームの一部分を表す時間枠を調べることによって、遂行される。上述したように、可能オブジェクトを検出するためのメディアストリーム２１０の調査は、調べられるメディア内容のタイプに合わせて調整される、１つまたは複数の検出アルゴリズムを用いる。概して、上で詳しく説明したように、こうした検出アルゴリズムは、分析されるメディアストリームの部分を特徴づけるパラメータ情報を計算する。代替実装形態では、メディアストリームは、６００で取り込まれ２１０に格納されると、６０５で、リアルタイムに調べられる。
【０２０４】
可能オブジェクトが、分析されているメディアストリーム２１０の現在の時間枠または部分において識別されない場合、可能オブジェクトを識別しようと試みて、メディアストリームの次のセクションを調べるために、６１５で時間枠が増分される。可能または有望オブジェクトが、６１０で識別された場合、メディアストリーム２１０中での可能オブジェクトの場所または位置は、６２５で、オブジェクトデータベース２３０に格納される。さらに、可能オブジェクトを特徴づけるパラメータ情報も、６２５で、オブジェクトデータベース２３０に格納される。上述したように、このオブジェクトデータベース２３０は最初は空であり、オブジェクトデータベース中の第１のエントリは、メディアストリーム２１０において検出される第１の可能オブジェクトに対応することに留意されたい。あるいは、オブジェクトデータベース２３０は、予め取り込まれたメディアストリームの分析または検索の結果を予め投入される。６０５の時間枠の調査のために時間枠を６１５で増分することは、６２０でメディアストリームの末尾が到達されるまで続く。
【０２０５】
メディアストリーム２１０中での可能オブジェクトの検出に続いて、オブジェクトデータベース２３０は、一致候補、すなわち可能オブジェクトに対する反復インスタンスを識別するために、６３０で検索される。概して、このデータベースクエリは、可能オブジェクトを特徴づけるパラメータ情報を用いて行われる。一致候補を識別するために、正確な一致は必要とされず、期待もされないことに留意されたい。事実、一致候補を求めるこの初期検索を実施するために、類似度の閾値が用いられる。この類似度の閾値、すなわち「検出閾値」は、可能オブジェクトを特徴づけるパラメータ情報の１つまたは複数の特徴と、一致候補の間の所望のどの割合の一致にもなるように設定することができる。
【０２０６】
一致候補が６３５で識別されなかった場合、可能オブジェクトは、６４０で、オブジェクトデータベース２３０において新規オブジェクトとしてフラグを立てられる。あるいは、別の実施形態では、６３５で、一致候補が識別されず、または識別された一致候補が少なすぎた場合、６３０でのデータベース検索によって識別される一致候補の数を増やすために、６４５で検出閾値が低下される。逆に、さらに別の実施形態では、６３５で識別される一致候補が多すぎた場合、実施される比較の回数を制限するように、検出閾値が上昇される。
【０２０７】
起こり得る１つまたは複数の一致候補が６３５で識別されると、６５０で、可能オブジェクトと、一致する可能性があるオブジェクトの１つまたは複数との間の詳細な比較が実施される。この詳細な比較は、可能オブジェクトを表すメディアストリーム２１０の部分と、一致候補との直接比較、または可能オブジェクトを表すメディアストリームの部分の低次元バージョンと、一致候補との比較のいずれかを含む。この比較は、格納されたメディアストリームを利用するが、比較は、予め位置決めされ格納されたメディアオブジェクト２７０を用いても行われ得ることに留意されたい。
【０２０８】
６５０での詳細な比較が、６５５で、オブジェクトの一致を位置決めすることができない場合、可能オブジェクトは、６４０で、オブジェクトデータベース２３０において新規オブジェクトとしてフラグを立てられる。あるいは、別の実施形態では、６５５で、オブジェクトの一致が識別されない場合、６４５で検出閾値が低下され、追加の一致候補を識別するために、新たなデータベース検索が６３０で実施される。再度、可能オブジェクトが、既にオブジェクトデータベース２３０中にあるいずれかのオブジェクトと一致するかどうか判定するために、６５０で、どの一致候補も可能オブジェクトと比較される。
【０２０９】
詳細な比較が、一致または可能オブジェクトの反復インスタンスを識別すると、可能オブジェクトは、オブジェクトデータベース２３０において反復オブジェクトとしてフラグを立てられる。各反復オブジェクトは次いで、オブジェクトの予め識別されている各反復インスタンスと共に６６０で整列される。上で詳しく説明したように、オブジェクトの終点は次いで、６６５で、各オブジェクトがほぼ等しい最大限度を識別するために、反復オブジェクトのインスタンスそれぞれの間を前後に検索することによって判定される。各オブジェクトの限度をこのようにして識別することは、オブジェクトの終点を識別する働きをする。このメディアオブジェクトの終点情報は次いで、オブジェクトデータベース２３０に格納される。
【０２１０】
最後に、さらに別の実施形態では、オブジェクトの終点が６６５で識別されると、終点情報は、６７０で、そうした終点に対応するメディアストリームのセクションを、個々のメディアオブジェクト２７０の個別のファイルまたはデータベースにコピーしまたは保存するのに用いられる。
【０２１１】
上述したように、上述した処理が繰り返される間、６２０でメディアストリーム全体が調べられるまで、またはユーザが調査を終了するまで、調べられているメディアストリーム２１０の部分が連続して増分される。
【０２１２】
（３．２．５  ＲＯＣの動作）
ここで図３と共に図７を参照すると、一実施形態では、処理は概して、メディアストリーム中の反復オブジェクトに対する対話型ユーザ制御をもたらすメディアコントローラとして説明することができる。具体的には、図７によって示されるように、１つまたは複数のメディアストリーム中で識別される音声および／または映像反復オブジェクトに対して自動的およびリアルタイム両方のユーザ制御をもたらすシステムおよび方法は、７００で、音声および／または映像情報を含むメディアストリームを入力することによって始まる。このメディアストリームは好ましくは、メディアストリームの７３５での出力または再生に先立って、７３０でバッファに入れられて、メディアストリーム中での、特定のオブジェクトの知覚的にシームレスな削除、挿入、または置換えを可能にする。
【０２１３】
バッファリング再生７３５に先立って、メディアストリームは、分析され、オブジェクト／アクションデータベース３１０中の１つまたは複数のエントリと比較されて、７０５で、メディアストリームの現在のセグメントまたは部分が、反復オブジェクトを表すかどうか判定する。メディアストリームの現在の部分が、反復オブジェクトを表さない場合、メディアストリームのその部分を特徴づける情報が、オブジェクト／アクションデータベース３１０に入力され、システムは次いで、７２５で、メディアストリームの次の部分を待機して、７０５で、その部分が反復メディアオブジェクトを表すかどうかの判定を再度行う。メディアストリームの現在の部分が反復オブジェクトを表す場合、オブジェクトの終点は、７１０で判定される。次に、オブジェクトの終点を与えられると、オブジェクト／アクションデータベース３１０が照会されて、７１５でアクションが指定されているか、またはそのオブジェクトに関連づけられているか判定する。
【０２１４】
図９は、反復メディアオブジェクトに関連づけることができる例示的なアクションの非排他リストの例を提供する。具体的には、図９によって示されるように、ユーザによって指定することができるコマンドは、早送り９０５、スロー再生９１０、ユーザ定義アクション９１５、メディアストリーム変更９２０、お気に入りへのオブジェクトの追加９２５、オブジェクトの格付け９３０、オブジェクトのスキップ９３５、オブジェクトの削除９４０、オブジェクトの保存９４５、オブジェクトの制限９５０、オブジェクトの置換え９５５、リアルタイムへの／リアルタイムからのジャンプ９６０、スクリーンの消去９６５、および音量変更９７０のいずれかまたは全部を含む。
【０２１５】
アクションが、７１５で指定されておらず、現在の反復メディアオブジェクトに関連づけられていない場合、システムは次いで、７２５で、メディアストリームの次の部分を待機して、７０５で、その部分が反復メディアオブジェクトを表すかどうかの判定を再度行う。しかし、アクションが、７１５で指定されており、またはメディアストリームの現在の部分に関連づけられている場合、そのアクションは、上述したように実施される。指定されたアクションが実施されると、システムは、７２５で、メディアストリームの次の部分を再度待機して、７０５で、その部分が反復メディアオブジェクトを表すかどうかの判定を再度行う。
【０２１６】
７０５での反復オブジェクトの判定が、関連するアクションを求めるオブジェクト／アクションデータベースの調査と共に行われている間、メディアストリームも７３５で出力されていることに留意されたい。また、必要はないが、最適な性能のために、特定の反復メディアオブジェクトに関連づけられたどのアクションにも従って、バッファリングされたメディアストリームに変更が行われ得るようにするために、７３５での出力または再生に先立ってメディアストリームが７３０でバッファに入れられることが好まれる。たとえば、メディアストリーム中での反復メディアオブジェクトおよびその時間終点の識別を与えられると、そのメディアストリームの７３５での出力または再生に先立って、７３０でバッファに入れられたメディアストリームを削除し、置き換え、またはそのメディアストリームに他の内容を挿入することさえも容易な問題である。さらに、ストリームが７３０でバッファに入れられている場合、メディアストリーム中のオブジェクトのこのような削除、置換え、または挿入は、メディアストリームを可視的にかつ／または可聴的に中断することなく、従来技術を用いて遂行することができる。
【０２１７】
次に、メディアストリームの７３５での出力または再生の間、ユーザは、グラフィカルユーザインターフェイス、リモコン、音声コマンド、またはこのような入力タイプのどの組合せを介しても、現在のオブジェクトに対するアクションを７４０で指定することができる。指定されたコマンドは次いで、オブジェクト／アクションデータベースに入れられる。さらに、現在再生中のメディアオブジェクト用に入力されたアクションまたはコマンドが、予め識別されている反復オブジェクト向けである場合、終点は、上述したように既に判定されている。したがって、コマンドは概して、メディアオブジェクトの再生がどの程度進行しているかに関わらず、即座に実施される。ただし、現在再生中のメディアオブジェクトが、メディアストリーム中でのオブジェクトの最初の出現を表す場合、そのオブジェクトの終点は識別されていないので、コマンドは、その特定のメディアオブジェクトが次に出現したときに自動的に実施されるために、オブジェクト／アクションデータベース３１０に格納される。ある特定の場合には、様々なオブジェクトの反復インスタンスは、出現する度に長さが変わり得ることに留意されたい。この場合、出現するオブジェクトの各新規インスタンスごとに、終点を計算し直すことが好まれ得る。
【０２１８】
最後に、一実施形態では、オブジェクト／アクションデータベース３１０は、７４５で、従来のユーザインターフェイスを介して更新または編集される。この実施形態では、ユーザは、データベースを表示し、特定のメディアオブジェクトに関連づけられた特定のコマンドを閲覧する機能を提供される。ユーザは次いで、コマンドを望み通りに編集し、追加し、または更新することができる。さらに、関連実施形態では、ユーザは、別のオブジェクト／アクションデータベースからデータをインポートする機能を提供される。たとえば、ユーザが、あるコンピューティングデバイス上でオブジェクト／アクションデータベース３１０に学習させている場合、ユーザは、単にそのデータベースをコンピュータ可読媒体に保存し、そのデータベースを、いくつかの追加コンピューティングデバイスのいずれかに転送することができる。このようにして、ユーザは、オブジェクト／アクションデータベース３１０自体をプログラミングする必要なく、学習が行われたデータベースを共有する機能を提供される。
【０２１９】
さらに、この実施形態では、インポートされたデータは、オブジェクトを識別するのに必要なフィンガープリントと、フィンガープリントに関連づけられたアクションがある場合には、そのアクションとを含む。さらに、一実施形態では、このインポートされたデータは、フィンガープリントによって表される、メディアオブジェクトの低次元バージョンも含む。したがって、こうした低次元バージョンを与えられると、オブジェクトの終点の識別、および指定されたどのアクションの実装も、メディアストリーム中で各オブジェクトが出現するとすぐに、特定の各メディアオブジェクトの第１のインスタンスに対して遂行される。あるいは、低次元バージョンが、インポートされたデータを提供されない場合、オブジェクトの終点の識別は、少なくともそのオブジェクトの第２のインスタンスが、ユーザの局所的なメディアストリームにおいて観察されることを必要とする。
【０２２０】
（３．２．６  ＲＯＣの代替動作）
ここで図３と共に図８を参照すると、一実施形態では、処理はやはり概して、メディアストリーム中の反復オブジェクトに対する対話型ユーザ制御をもたらすメディアコントローラとして説明することができる。具体的には、図８の代替実施形態によって示されるように、１つまたは複数のメディアストリーム中で識別される音声および／または映像反復オブジェクトに対して自動的およびリアルタイム両方のユーザ制御をもたらすシステムおよび方法は、８００で、音声および／または映像情報を含むメディアストリームを入力することによって始まる。このメディアストリームは、やはり好ましくは、メディアストリームの８８５での出力または再生に先立って、８８０でバッファに入れられて、メディアストリーム中での、特定のオブジェクトの知覚的にシームレスな削除、挿入、または置換えを可能にする。
【０２２１】
一実施形態では、８８５でのバッファリング再生に先立って、メディアストリームの低次元バージョンが８０５で計算され、低次元のアーカイブ８１０に格納される。この低次元アーカイブ８１０は、上述したように反復オブジェクトを識別し、その終点を判定するとき、メディアストリームの直接比較のために用いられる。あるいは、メディアストリームは、メディアストリームの低次元バージョンを最初に計算することなく、単にアーカイブ８１５に入れられる。やはり、このアーカイブ８１５は、上述したように反復オブジェクトを識別し、その終点を判定するとき、メディアストリームの直接比較のために用いられる。
【０２２２】
さらに別の実施形態では、フィンガープリントが、８２０でメディアストリームから計算され、８２５で、メディアストリームの一部分を読み取り、フィンガープリントを計算し格納することによって、所望のある程度の頻度でフィンガープリントデータベースに格納され、次いで、８３０で、所定のある程度の期間、待機する。テストした実施形態では、約１０から２０ミリ秒の間隔でフィンガープリントデータベースにフィンガープリントを投入することが、堅固なフィンガープリントデータベースをもたらすことが発見された。こうしたフィンガープリントは次いで、メディアストリームとの比較に用いられ、この比較において、第２組のフィンガープリントを、より低いレートまたは頻度で計算し、次いで、オブジェクトがメディアストリーム中で繰り返されているかどうか判定するために、フィンガープリントデータベース中のエントリと比較することができる。ただし、いくつかの従来のフィンガープリント方式は、オブジェクトの堅固な認識を遂行することができることに留意されたい。フィンガープリントがどの程度頻繁にデータベースに書き込まれる必要があり、データベースがどの程度頻繁に調べられる必要があるかについての詳細は、使用される実際のフィンガープリント技術の詳細と共に変わる。
【０２２３】
別の実施形態では、フィンガープリントが８３５でメディアストリームから計算され、その後に、メディアストリーム中での反復メディアオブジェクトの存在を示すデータベースとの一致８４５があるかどうか判定するための、フィンガープリント／アクションデータベース８６０の８４０での検索が続く。この実施形態では、８４５で一致がない場合、計算されたフィンガープリントは、８５０で、フィンガープリント／アクションデータベース８６０に追加され、その後、８３５で、メディアストリームから新たなフィンガープリントを計算する前に、所定の期間、８５５で待機する。
【０２２４】
８４０でのデータベース検索によって、データベースとの一致が、８４５で識別された場合、メディアストリーム中での反復メディアオブジェクトの存在が示される。メディアストリームの現在の部分が、反復オブジェクトを表す場合、そのオブジェクトの終点が、８６５で判定される。次に、オブジェクトの終点を与えられると、フィンガープリント／アクションデータベース８６０が、そのオブジェクト用にアクションが指定されているかどうか８７０で判定するために照会される。（図９の、反復メディアオブジェクトに関連づけることができる例示的なアクションの非排他リストを参照）。
【０２２５】
現在の反復メディアオブジェクトにアクションが関連づけられていない場合、システムは次いで、８５５でメディアストリームの次の部分を待機し、その後、８３５でフィンガープリントを再度計算し、反復メディアオブジェクトがストリーム中に存在するかどうか判定するために、８４０でデータベースを再度検索する。しかし、８７０で、反復メディアオブジェクト用にアクションが指定されている場合、そのアクションは、上述したように実施される。指定されたアクションが実施されると、システムは再度、８５５でメディアストリームの次の部分を待機し、その後、８３５でフィンガープリントを再度計算し、反復メディアオブジェクトがストリーム中に存在するかどうか判定するために、８４０でデータベースを再度検索する。
【０２２６】
やはり、反復オブジェクトを識別する８４０でのデータベース検索が、関連するアクションを求める、フィンガープリント／アクションデータベースの調査と共に行われている間、メディアストリームも８８５で出力されている。さらに、上述したように、必要はないが、最適な性能のために、特定の反復メディアオブジェクトに関連づけられたどのアクションにも従って、バッファリングされたメディアストリームに変更が行われ得るようにするために、８８５での出力または再生に先立ってメディアストリームが８８０でバッファに入れられることがやはり好まれる。
【０２２７】
次に、メディアストリームの８８５での出力または再生の間、ユーザは、グラフィカルユーザインターフェイス、リモコン、音声コマンド、またはこのような入力タイプのどの組合せを介しても、現在のオブジェクトに対するアクションを８９０で指定することができる。指定されたコマンドは次いで、フィンガープリント／アクションデータベースに入れられる。さらに、現在再生中のメディアオブジェクト用に入力されたアクションまたはコマンドが、予め識別されている反復オブジェクト向けである場合、終点は、上述したように既に判定されている。したがって、コマンドは、メディアオブジェクトの再生がどの程度進行しているかに関わらず、即座に実施される。ただし、現在再生中のメディアオブジェクトが、メディアストリーム中でのオブジェクトの最初の出現を表す場合、そのオブジェクトの終点は判別されていないので、コマンドは、その特定のメディアオブジェクトが次に出現したときに自動的に実施されるために、フィンガープリント／アクションデータベース８６０に格納される。ある特定の場合には、様々なオブジェクトの反復インスタンスは、出現する度に長さが変わり得る。したがって、この場合、出現するオブジェクトの各新規インスタンスごとに、終点を計算し直すことが好まれ得る。
【０２２８】
一実施形態では、フィンガープリント／アクションデータベース８６０は、８９５で、従来のユーザインターフェイスを介して更新または編集される。この実施形態では、ユーザは、データベースを表示し、特定のメディアオブジェクトに関連づけられた特定のコマンドを閲覧する機能を提供される。ユーザは次いで、図７に関連して上述したように、コマンドを編集し、追加し、または更新することができる。
【０２２９】
最後に、さらに別の実施形態では、ユーザは、プロパティ、またはプロパティのグループによって、データベース中のオブジェクトをグループ化し、同じまたは同様のアクションをそのプロパティまたはプロパティ群を共有するすべてのオブジェクトに適用することもできる。たとえば、ユーザは、６０秒未満の長さであり、直前の４日間に少なくとも一度現れたことがあるすべてのオブジェクトに同じアクションを適用することを望む場合があるであろう。したがって、オブジェクトをプロパティによって選択しグループ化するデータベースの最大限の性能を、同様のプロパティを有するオブジェクトにアクションを関連づけるのに利用することができる。さらに、ユーザは、特定のオブジェクトを特に含み、またはこのようなどの部分集合からもそのオブジェクトを除外する機能も提供される。
【０２３０】
（４．０  オブジェクト抽出装置のそれ以外の実施形態）
上述したように、反復メディアオブジェクトおよびその終点を分割し識別するために取り込まれるメディアストリームは、たとえば、ラジオ、テレビ、インターネット、または他のネットワークを介した、音声、映像、または音声／映像放送など、従来のどの放送ソースからも導出することができる。テレビタイプの放送では一般的であるが、混合型音声／映像放送に関して、混合型音声／映像放送の音声部分は、映像部分と同期されることに留意されたい。言い換えると、よく知られているように、音声／映像放送の音声部分は、放送の映像部分と同時に起こる。したがって、混合型音声／映像ストリーム中で反復音声オブジェクトを識別することは、音声／映像ストリーム中で反復映像オブジェクトを識別するための、便宜的で計算コストの安い方法である。
【０２３１】
具体的には、一実施形態では、音声ストリーム中の反復音声オブジェクトを最初に識別し、そうした音声オブジェクトが開始し終了する時間ｔｂおよびｔｅ（すなわち、音声オブジェクトの終点）を識別し、次いで、そうした時間で音声／映像ストリームを分割することによって、映像オブジェクトも、音声オブジェクトと共に、混合型音声／映像ストリームから識別され分割される。
【０２３２】
たとえば、一般的なコマーシャルまたは広告はしばしば、どの所与の日にも、どの所与のテレビ局でも頻繁に反復するのが見られる。そのテレビ局の音声／映像ストリームを記録し、次いでテレビ放送の音声部分を処理することは、そうした反復広告の音声部分を識別するのに役立つ。さらに、音声は、ストリームの映像部分と同期されるので、テレビ放送中での反復広告の場所は、上述したやり方で容易に判定することができる。場所が識別されると、このような広告は、所望のどの特殊な処理のためにも、フラグを立てることができる。
【０２３３】
本発明の上記の説明は、例示および説明のために提示された。網羅的であることも、開示された厳密な形に本発明を限定することも意図されていない。上記の教示に鑑みて、多くの変更形態および変形形態が可能である。さらに、上述した代替実施形態のいずれかまたはすべてが、本明細書において説明されるオブジェクト抽出装置のさらに高度な実施形態を構成するために、望まれるどのような組合せにおいても用いられ得ることに留意されたい。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付された特許請求の範囲によって限定されることが意図される。
【図面の簡単な説明】
【０２３４】
【図１】メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割する例示的なシステムを構成する汎用コンピューティングデバイスを示すシステム全体図である。
【図２】メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割する例示的なプログラムモジュールを示す例示的なアーキテクチャ図である。
【図３】メディアストリームに埋め込まれた反復オブジェクトに対するユーザ制御を提供する例示的なプログラムモジュールを示す例示的なアーキテクチャ図である。
【図４Ａ】メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割するための例示的なシステムフロー図である。
【図４Ｂ】メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割するための、図４Ａの例示的なシステムフロー図の代替実施形態を示す図である。
【図４Ｃ】メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割するための、図４Ａの例示的なシステムフロー図の代替実施形態を示す図である。
【図５】メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割するための例示的な代替システムフロー図である。
【図６】メディアストリーム中の反復メディアオブジェクトを自動的に識別し分割するための例示的な代替システムフロー図である。
【図７】メディアストリームに埋め込まれた反復オブジェクトに対するユーザ制御を提供するための例示的な代替システムフロー図である。
【図８】メディアストリームに埋め込まれた反復オブジェクトに対するユーザ制御を提供するための例示的な代替システムフロー図である。
【図９】メディアストリームに埋め込まれた反復オブジェクトに対するユーザ制御を提供するための例示的なアクション制御選択肢を示す図である。
【図１】
2005532578.tif 000003
【図２】
2005532578.tif 000004
【図３】
2005532578.tif 000005
【図４Ａ】
2005532578.tif 000006
【図４Ｂ】
2005532578.tif 000007
【図４Ｃ】
2005532578.tif 000008
【図５】
2005532578.tif 000009
【図６】
2005532578.tif 000010
【図７】
2005532578.tif 000011
【図８】
2005532578.tif 000012
【図９】
2005532578.tif 000013
【国際調査報告】
2005532578.tif 000014
2005532578.tif 000015