(57)【特許請求の範囲】
【請求項１】
メディアデータ内の反復検出のための方法であって、
前記メディアデータから抽出可能な一または複数の特徴タイプのうちの第１の特徴タイプを使用してメディアデータ内のオフセット値のセット内のオフセット値のサブセットを選択するステップであって、前記オフセット値のサブセットは、一または複数の選択基準に基づいて前記オフセット値のセットの中から選択される値を含み、前記選択するステップは、
前記メディアデータから、前記第１の特徴タイプの一または複数の第１の特徴を抽出するステップと、
前記一または複数の第１の特徴に基づいて第１の反復検出尺度の第１の距離値を算出するステップと、
前記オフセット値のサブセットを選択するために前記第１の反復検出尺度の前記第１の距離値を適用するステップと
を含むものである、前記選択するステップと、
前記オフセット値のサブセットにおける前記一または複数の特徴タイプのうちの第２の特徴タイプの類似度／距離分析に基づいて候補シード・タイム・ポイントのセットを特定するステップであって、前記特定するステップは、
前記メディアデータから、前記第２の特徴タイプの一または複数の第２の特徴を抽出するステップであって、前記第２の特徴タイプと前記第１の特徴タイプとは、時間分解能または周波数分解能のうちの一または複数に関して異なるものである、前記第２の特徴を抽出するステップと、
前記一または複数の第２の特徴に基づいて第２の反復検出尺度の第２の距離値を算出するステップと、
前記候補シード・タイム・ポイントのセットを特定するために前記第２の反復検出尺度の前記第２の距離値を適用するステップと
を含むものである、前記特定するステップと
を含む方法。
【請求項２】
前記第２の特徴タイプは、変換サイズ、変換の種類、窓サイズ、窓形状、周波数分解能、または時間分解能のうちの一または複数を使用して、前記メディアデータに関連した信号の表現から導出または抽出される、請求項１に記載の方法。
【請求項３】
前記第１の特徴タイプは、前記メディアデータから導出される指紋のセットをさらに含み、前記方法は、
前記指紋のセットに基づき、問い合わせ指紋シーケンスのセットを選択するステップであって、前記問い合わせ指紋シーケンスのセット内の各個別問い合わせ指紋シーケンスは、問い合わせ時刻から始まる時間間隔にわたる前記メディアデータの縮約表現を含むものである、前記選択するステップと、
前記問い合わせ指紋シーケンスのセットについての一致指紋シーケンスのセットを決定するステップであって、前記問い合わせ指紋シーケンスのセット内の各個別問い合わせ指紋シーケンスは、前記一致指紋シーケンスのセット内の０以上の一致指紋シーケンスに対応するものである、前記決定するステップと、
前記問い合わせ指紋シーケンスのセットおよび前記一致指紋シーケンスのセットに基づいてオフセット値のセットを特定するステップと
をさらに含み、一または複数のコンピューティング装置によって実行されるものである、請求項１に記載の方法。
【請求項４】
前記指紋のセットを、前記メディアデータのディジタル表現を縮約して前記メディアデータの次元縮約バイナリ表現にすることによって生成するステップをさらに含み、前記ディジタル表現は、高速フーリエ変換（ＦＦＴ）、ディジタルフーリエ変換（ＤＦＴ）、短時間フーリエ変換（ＳＴＦＴ）、変形離散コサイン変換（ＭＤＣＴ）、変形離散サイン変換（ＭＤＳＴ）、直交ミラーフィルタ（ＱＭＦ）、複素ＱＭＦ（ＣＱＭＦ）、離散ウェーブレット変換（ＤＷＴ）、クロマ特徴、またはウェーブレット係数のうちの一または複数に関するものである、請求項３に記載の方法。
【請求項５】
前記指紋のセット内の指紋は、悪意のある攻撃を検出するためのロバストな指紋に関連した簡単に抽出できるものである、請求項３に記載の方法。
【請求項６】
前記問い合わせ指紋シーケンスのセットについての一致指紋シーケンスのセットを決定するステップは、動的に構築される指紋データベースにおいて、問い合わせ指紋シーケンスと一致する一致指紋シーケンスを探索するステップを含む、請求項３に記載の方法。
【請求項７】
前記問い合わせ指紋シーケンスは特定の問い合わせ時刻から始まり、前記動的に構築される指紋データベースは、前記特定の問い合わせ時刻に対する一または複数の構成可能な時間窓内にある指紋の一または複数の部分を除外する、請求項６に記載の方法。
【請求項８】
前記問い合わせ指紋シーケンスのセットおよび前記一致指紋シーケンスのセットに基づいてオフセット値のセットを特定するステップは、前記問い合わせ指紋シーケンスのセットおよび前記一致指紋シーケンスのセットから構築されたヒストグラムのうちの一または複数を使用して、有意なオフセット値のセットを決定するステップを含む、請求項３に記載の方法。
【請求項９】
前記第１の反復検出尺度および前記第２の反復検出尺度のうちの少なくとも１つは、ベクトルのユークリッド距離、ベクトルノルム、平均二乗誤差、ビット誤り率、自己相関ベースの尺度、ハミング距離、類似度、または相違度のうちの一または複数に関連したものである、請求項１に記載の方法。
【請求項１０】
前記第１の距離値および前記第２の距離値は一または複数の正規化された値を含む、請求項１に記載の方法。
【請求項１１】
前記一または複数の特徴タイプのうちの少なくとも１つは、前記メディアデータのディジタル表現を形成するのに一部使用される、請求項１に記載の方法。
【請求項１２】
前記メディアデータの前記ディジタル表現は、前記メディアデータの指紋ベースの次元縮約バイナリ表現を含む、請求項１１に記載の方法。
【請求項１３】
前記一または複数の特徴タイプのうちの少なくとも１つは、構造的特性、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、または前記メディアデータに関連したものとしての音源の量を取り込む特徴タイプを含む、請求項１に記載の方法。
【請求項１４】
前記ステレオミックスは前記メディアデータの一または複数のステレオパラメータを含み、前記ステレオパラメータのうちの少なくとも１つは、コヒーレンス、チャネル間相互相関（ＩＣＣ：Ｉｎｔｅｒ−ｃｈａｎｎｅｌ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）、チャネル間レベル差（ＣＬＤ：Ｉｎｔｅｒ−ｃｈａｎｎｅｌ  Ｌｅｖｅｌ  Ｄｉｆｆｅｒｅｎｃｅ）、チャネル間位相差（ＩＰＤ：Ｉｎｔｅｒ−ｃｈａｎｎｅｌ  Ｐｈａｓｅ  Ｄｉｆｆｅｒｅｎｃｅ）、またはチャネル予測係数（ＣＰＣ：Ｃｈａｎｎｅｌ  Ｐｒｅｄｉｃｔｉｏｎ  Ｃｏｅｆｆｉｃｉｅｎｔ）に関連したものである、請求項１３に記載の方法。
【請求項１５】
前記メディアデータから抽出可能な前記特徴は、クロマ、クロマ差、差分クロマ特徴、指紋、メル周波数ケプストラム係数（ＭＦＣＣ：Ｍｅｌ−Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒａｌ  Ｃｏｅｆｆｉｃｉｅｎｔ）、クロマベースの指紋、リズムパターン、エネルギー、または他の変形、のうちの一または複数に基づく前記メディアデータの一または複数のディジタル表現を提供するのに使用される、請求項１に記載の方法。
【請求項１６】
前記第１の特徴タイプの前記一または複数の第１の特徴および前記第２の特徴タイプの前記一または複数の第２の特徴は、前記メディアデータの同じ時間間隔に関連したものである、請求項１に記載の方法。
【請求項１７】
前記第１の特徴タイプの前記一または複数の第１の特徴は前記メディアデータの第１の時間間隔にわたる前記メディアデータの表現を形成し、前記第２の特徴タイプの前記一または複数の第２の特徴は前記メディアデータの第２の異なる時間間隔にわたる前記メディアデータの表現を形成する、請求項１に記載の方法。
【請求項１８】
前記第１の時間間隔は、前記メディアデータの前記第２の異なる時間間隔より大きい、
請求項１７に記載の方法。
【請求項１９】
前記第１の時間間隔は前記メディアデータの全時間長を範囲とし、前記第２の異なる時間間隔は、前記メディアデータの前記全時間長内の前記メディアデータの一または複数の時間部分を範囲とする、請求項１７に記載の方法。
【請求項２０】
前記第１の特徴タイプの前記一または複数の第１の特徴を抽出するステップは、前記メディアデータの同じ部分からの、前記第２の特徴タイプの前記一または複数の第２の特徴を抽出するステップに関連した簡単なものである、請求項１に記載の方法。
【請求項２１】
前記第１の特徴タイプの前記一または複数の第１の特徴の距離値を算出するステップは、前記メディアデータの同じ部分からの、前記第２の特徴タイプの前記一または複数の第２の特徴の距離値を算出するステップに関連した簡単なものである、請求項１に記載の方法。
【請求項２２】
前記メディアデータは、曲、作曲、楽譜、録音、詩、音響映像作品、映画、またはマルチメディアプレゼンテーション、のうちの一または複数を含む、請求項１に記載の方法。
【請求項２３】
オーディオファイル、メディア・データベース・レコード、ネットワーク・ストリーミング・アプリケーション、メディアアプレット、メディアアプリケーション、メディア・データ・ビットストリーム、メディア・データ・コンテナ、電波放送メディア信号、記憶媒体、ケーブル信号、または衛星信号のうちの一または複数から前記メディアデータを導出するステップをさらに含む、請求項１に記載の方法。
【請求項２４】
前記メディア・データ・ビットストリームは、アドバンスド・オーディオ・コーディング（ＡＡＣ：Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）ビットストリーム、高効率ＡＡＣビットストリーム、ＭＰＥＧ−１／２オーディオレイヤ３（ＭＰ３）ビットストリーム、ドルビー・ディジタル（ＡＣ３）・ビットストリーム、ドルビー・ディジタル・プラス・ビットストリーム、ドルビー・プラス・ビットストリーム、またはドルビーＴｒｕｅＨＤビットストリームのうちの一または複数を含む、請求項２３に記載の方法。
【請求項２５】
一または複数のオフセットにおける距離値に一または複数のフィルタを適用するステップと、
前記フィルタを適用された値に基づいて、場面変化検出のためのシード・タイム・ポイントのセットを特性するステップと
をさらに含む、請求項１に記載の方法。
【請求項２６】
一または複数のオフセットについての一または複数の時間間隔における距離値に一または複数のフィルタを適用するステップと、
前記フィルタを適用された値に基づいて、場面変化検出のためのシード・タイム・ポイントのセットを特性するステップと
をさらに含む、請求項１に記載の方法。
【請求項２７】
前記一または複数のフィルタは移動平均フィルタを含み、前記複数のシード・タイム・ポイント内の少なくとも１つのシード・タイム・ポイントは、前記フィルタリングされた値の極小に対応する、請求項２５または請求項２６の一または複数の項に記載の方法。
【請求項２８】
前記一または複数のフィルタは移動平均フィルタを含み、前記複数のシード・タイム・ポイント内の少なくとも１つのシード・タイム・ポイントは、前記フィルタリングされた値の極大に対応する、請求項２５または請求項２６の一または複数の項に記載の方法。
【請求項２９】
前記一または複数のフィルタは移動平均フィルタを含み、前記複数のシード・タイム・ポイント内の少なくとも１つのシード・タイム・ポイントは、前記フィルタリングされた値における特定の中間値に対応する、請求項２５または２６に記載の方法。
【請求項３０】
一または複数の窓関数を使用して一または複数のクロマ特徴を抽出するステップをさらに含む、請求項１に記載の方法。
【請求項３１】
一または複数の音楽的に動機付けられた窓関数を使用して前記クロマ特徴のうちの一または複数を抽出するステップをさらに含む、請求項３０に記載の方法。
【請求項３２】
前記メディアデータから抽出可能な前記特徴は１２平均律のチューニングシステムに関連したものである、請求項１に記載の方法。
【請求項３３】
前記メディアデータから抽出可能な前記特徴は１２平均律のチューニングシステム以外のチューニングシステムに関連したものである、請求項１に記載の方法。
【請求項３４】
請求項１ないし３３いずれか一項に記載の方法のうちのいずれか１つを実行するように構成されたシステム。
【請求項３５】
プロセッサを備え、請求項１ないし３３いずれか一項に記載の方法のうちのいずれか１つを実行するように構成された装置。
【請求項３６】
一または複数のプロセッサに、請求項１ないし３３いずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してメディアに関する。より詳細には、本発明の一実施形態は、メディアデータ内の代表セグメントの時間的位置の低計算量検出に関する。
【背景技術】
【０００２】
メディアデータは、視聴者に永続的な印象を与えることができる代表セグメントを含む場合がある。例えば、大部分の流行歌は、バースセクションとコーラスセクションとが交互に現れる特有の構造に従う。普通、コーラスセクションは曲において最も反復するセクションであり、曲の「覚えやすい」部分でもある。コーラスセクションの位置は、通常は、基礎となる曲構造に関連し、エンドユーザが曲集をブラウズするのを容易にするのに使用されうる。
【０００３】
よって、符号化側では、曲といったメディアデータの中でコーラスセクションといった代表セグメントの位置を識別することができ、それをメタデータとして曲の符号化ビットストリームと関連付けることができる。復号側では、メタデータは、エンドユーザがコーラスセクションの位置から再生を開始することを可能にする。店頭で曲集といったメディアデータの集合体がブラウズされるときに、コーラス再生は、既知の曲を瞬時に認識、識別し、曲集内の未知の曲についての好き嫌いをすばやく評価することを容易にする。
【０００４】
「クラスタ化の手法」（または状態の手法）では、曲は、クラスタ化の技法を使用して異なるセクションへセグメント化されうる。基礎となる仮説は、曲の異なるセクション（バース、コーラスなど）は、あるセクションを曲のその他のセクションまたは他の部分と区別するある特性を共有しているというものである。
【０００５】
「パターンマッチングの手法」（またはシーケンスの手法）では、コーラスは曲中の反復セクションであると想定される。反復セクションは、曲の異なるセクションを相互にマッチングすることによって識別されうる。
【０００６】
「クラスタ化の手法」も「パターンマッチングの手法」も、入力オーディオクリップから距離行列を算出することを必要とする。そのために、入力オーディオクリップはＮ個のフレームに分割され、フレームの各々から特徴が抽出される。次いで、入力オーディオクリップのＮ個のフレームのうちの任意の２フレーム間で形成される総ペア数のうちのあらゆるフレームペア間の距離が算出される。この行列の導出は計算上高くつき、高いメモリ使用量を必要とする。というのは、すべての組み合わせのひとつひとつについて距離が算出される必要があるからである（これはＮ×Ｎ回のオーダーを意味し、Ｎは曲または曲中の入力オーディオクリップ内のフレーム数である）。
【０００７】
本項に記載した手法は、実行することが可能なはずの手法であるが、必ずしも、以前に構想され、または実行された手法であるとは限らない。したがって、特に指示しない限り、本項に記載した手法のいずれも、単にそれらが本項に含まれることを理由として先行技術とみなされるものであると想定されるべきではない。同様に、一または複数の手法に関連して特定される問題も、特に指示しない限り、本項に基づいて、いずれかの先行技術において認められているものであると想定されるべきではない。
［関連米国出願］
本出願は、２０１１年１２月１２日に出願された仮米国特許出願第６１／５６９，５９１号の優先権を主張するものであり、参照によりその全体が本明細書に組み入れられる。本出願は、２０１０年１２月３０日に出願された仮米国特許出願第６１／４２８５７８号、２０１０年１２月３０日に出願された仮米国特許出願第６１／４２８５８８号、２０１０年１２月３０日に出願された仮米国特許出願第６１／４２８５５４号に関連したものであり、各々参照によりその全体が本明細書に組み入れられる。
【図面の簡単な説明】
【０００８】
本発明は、限定としてではなく例として、添付の図面の各図に例示されており、図面において、類似の参照番号は類似の要素を指す。
【０００９】
【図１Ａ】本発明の一実施形態による、メディア処理システムを示す例示的な基本ブロック図である。
【００１０】
【図１Ｂ】本発明の一実施形態による、複数の反復にわたって算出される、例示的な距離行列を示す図である。
【００１１】
【図２】本発明の一例示的実施形態による、コーラスセクション間にオフセットを有する曲といった例示的メディアデータを示す図である。
【００１２】
【図３】本発明の一例示的実施形態による、例示的距離行列を示す図である。
【００１３】
【図４】本発明の一例示的実施形態による、粗い分光写真の例示的生成を示す図である。
【００１４】
【図５】本発明の一例示的実施形態による、例示的なピッチの螺旋を示す図である。
【００１５】
【図６】本発明の一例示的実施形態による、例示的な周波数スペクトルを示す図である。
【００１６】
【図７】本発明の一例示的実施形態による、例示的なクロマを抽出するための例示的なくし形パターンを示す図である。
【００１７】
【図８】本発明の一例示的実施形態による、フレームのスペクトルをくし形パターンで乗算する例示的演算を示す図である。
【００１８】
【図９】本発明の一例示的実施形態による、限られた周波数範囲に対して算出されたクロマグラムに関連した第１の例示的な重み行列を示す図である。
【００１９】
【図１０】本発明の一例示的実施形態による、限られた周波数範囲に対して算出されたクロマグラムに関連した第２の例示的な重み行列を示す図である。
【００２０】
【図１１】本発明の一例示的実施形態による、限られた周波数範囲に対して算出されたクロマグラムに関連した第３の例示的な重み行列を示す図である。
【００２１】
【図１２】本発明の一例示的実施形態による、知覚的に動機付けられたＢＰＦを使用して（漸進的に増加するオクターブの音符を有する）ピアノ信号の形態の例示的メディアデータと関連付けられた例示的クロマグラムグラフを示す図である。
【００２２】
【図１３】本発明の一例示的実施形態による、ガウス重み付けを使用した、図１２に示すピアノ信号と関連付けられた例示的クロマグラムグラフを示す図である。
【００２３】
【図１４】本発明の一例示的実施形態による、メディア処理システムを示す例示的な詳細なブロック図である。
【００２４】
【図１５】本発明の一例示的実施形態による、問い合わせ指紋シーケンスを含む例示的指紋を示す図である。
【００２５】
【図１６】本発明の一例示的実施形態による、オフセット値の例示的ヒストグラムを示す図である。
【００２６】
【図１７】本発明の一例示的実施形態による、例示的な特徴距離行列（クロマ距離行列）を示す図である。
【００２７】
【図１８】本発明の一例示的実施形態による、類似度行列の行の例示的なクロマ距離値、平滑化された距離値、および結果として得られる場面変化検出のためのシード・タイム・ポイントを示す図である。
【００２８】
【図１９Ａ】本発明の一例示的実施形態による例示的プロセスフローを示す図である。
【図１９Ｂ】本発明の一例示的実施形態による例示的プロセスフローを示す図である。
【００２９】
【図２０】本発明の可能な一実施形態による、本明細書に記載するコンピュータまたはコンピューティング装置が実装されうる例示的なハードウェアプラットフォームを示す図である。
【発明を実施するための形態】
【００３０】
本明細書では、メディアデータにおける低計算量反復検出に関するものである本発明の例示的実施形態を記述する。以下の記述では、説明として、本発明の十分な理解を提供するために、多数の具体的詳細が示される。しかし、本発明は、これらの具体的詳細なしでも実施されうることが理解されるであろう。場合によっては、本発明を不必要に含み、曖昧にし、または分かりにくくすることを回避するために、周知の構造および機構は網羅的に詳細に記述されない。
【００３１】
本明細書では、以下の概要に従って例示的実施形態を説明する。
１．概論
２．特徴抽出のためのフレームワーク
３．スペクトルベースの指紋
４．クロマ特徴
５．他の特徴
５．１メル周波数ケプストラム係数（ＭＦＣＣ：ＭＥＬ−ＦＲＥＱＵＥＮＣＹ  ＣＥＰＳＴＲＡＬ  ＣＯＥＦＦＩＣＩＥＮＴ）
５．２リズム特徴
６．反復部分の検出
６．１．指紋マッチング
６．２．有意な（候補）オフセットの検出
６．３．クロマ距離分析
６．４．類似度行の算出
７．場面変化検出を使用した改善
８．ランク付け
９．他の応用
１０．例示的プロセスフロー
１０．１．例示的な反復検出プロセスフロー  指紋マッチングおよび探索
１０．２．例示的な反復検出プロセスフロー  ハイブリッド手法
１１．実装機構  ハードウェア概要
１２．均等物、拡張、代替、その他
【００３２】
１．概論
この概論は、本発明の一例示的実施形態のいくつかの態様の基本的な説明を提示するものである。この概論は、可能な実施形態の態様の幅広い、または網羅的な要約ではないことに留意すべきである。さらに、この概論は、可能な実施形態の特に重要な態様または要素を特定するものと理解されることも、特定の可能な実施形態、または本発明全体の範囲を明確化するものと理解されることも意図したものではないことにも留意すべきである。この概論は、単に、例示的な可能な実施形態に関連したいくつかの概念を、要約された、簡単な形式で提示するにすぎず、単に、以下の例示的実施形態のより詳細な説明の概念的な前置きと理解すべきである。
【００３３】
本発明の一実施形態は、メディアデータ内の反復を検出するための低計算量の機能を提供する。メディアデータから抽出可能な、一または複数の特徴タイプのうちの第１のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、オフセット値のセットの中から、一または複数の選択基準に基づいて選択されるオフセット値を含む。一または複数の特徴タイプのうちの第２のタイプを使用して、オフセット値のサブセットの中から候補シード・タイム・ポイントのセットが特定される。このフレームワークにおける第１および第２の特徴タイプは、場合によっては、単に時間分解能に関してのみ異なっていてよい。例えば、一特徴が、低い時間分解能で、まず、反復が発生する可能性の高いオフセット値のサブセットを迅速に特定するのに使用されてよい。反復が発生する可能性の高いオフセット値のサブセットを特定し次第、次いで、それら選択されたオフセット値における候補シード・タイム・ポイントのセットが、同じ特徴の高い時間分解能の分析に基づいて特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および／またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および／または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【００３４】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出（抽出など）を用いて、または複数の（例えば第２の）オフセット・タイム・ポイント・サブセットを用いて、メディア内の反復をさらに検出してよい。
【００３５】
本明細書に記載するように、メディアデータは、それだけに限らないが、曲、作曲、楽譜、録音、詩、音響映像作品、映画、またはマルチメディアプレゼンテーションのうちの一または複数を含んでいてよい。様々な実施形態において、メディアデータは、オーディオファイル、メディア・データベース・レコード、ネットワーク・ストリーミング・アプリケーション、メディアアプレット、メディアアプリケーション、メディア・データ・ビットストリーム、メディア・データ・コンテナ、電波放送メディア信号、記憶媒体、ケーブル信号、または衛星信号のうちの一または複数から導出されてよい。
【００３６】
構造的特性、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、またはメディアデータの音源の音量を取り込む、多くの異なるタイプのメディア特徴がメディアデータから抽出されてよい。本明細書に記載するメディアデータから抽出可能な特徴は、多数のメディア規格、１２平均律のチューニングシステム、または１２平均律のチューニングシステム以外の異なるチューニングシステムのいずれに関連するものであってもよい。
【００３７】
これらのタイプのメディア特徴のうちの一または複数を使用してメディアデータのディジタル表現が生成されてよい。例えば、調性、またはメディアデータの調性と音色の両方を取り込むタイプのメディア特徴が抽出され、メディアデータについての、例えば、時間領域や周波数領域でのフルディジタル表現を生成するのに使用されてもよい。フルディジタル表現は合計Ｎ個のフレームを含んでいてよい。ディジタル表現の例には、それだけに限らないが、高速フーリエ変換（ＦＦＴ：ｆａｓｔ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）、ディジタルフーリエ変換（ＤＦＴ：ｄｉｇｉｔａｌ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）、短時間フーリエ変換（ＳＴＦＴ：ｓｈｏｒｔ  ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）、変形離散コサイン変換（ＭＤＣＴ：Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、変形離散サイン変換（ＭＤＳＴ：Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、直交ミラーフィルタ（ＱＭＦ：Ｑｕａｄｒａｔｕｒｅ  Ｍｉｒｒｏｒ  Ｆｉｌｔｅｒ）、複素ＱＭＦ（ＣＱＭＦ：Ｃｏｍｐｌｅｘ  ＱＭＦ）、離散ウェーブレット変換（ＤＷＴ：ｄｉｓｃｒｅｔｅ  ｗａｖｅｌｅｔ  ｔｒａｎｓｆｏｒｍ）、ウェーブレット係数が含まれうる。
【００３８】
いくつかの技法では、ある代表的な特性を有する特定のセグメントがメディアデータ内に存在するかどうか、およびメディアデータ内のどこに存在するかを判定するためにＮ×Ｎ距離行列が計算されうる。代表的な特性の例には、それだけに限らないが、音声の有無、最も多く、または少なく反復されるといった反復特性など、ある一定のメディア特徴が含まれうる。
【００３９】
際立って対照的に、本明細書に記載する技法では、ディジタル表現は、まず、指紋へと縮約されうる。本明細書で使用する場合、指紋とは、該指紋がそこから導出されうるディジタル表現のデータ量よりも数オーダー小さいデータ量のものとすることができ、効率よく算出され、探索され、比較されうる。
【００４０】
本明細書に記載する技法では、ずっと最適化された探索およびマッチングのステップを使用して、問い合わせ指紋シーケンスについて、メディアデータにおいてある代表的な特性を有する信号が反復する可能性の高いオフセット値（または単なるオフセット）のセットが迅速に特定される。
【００４１】
ある実施形態では、メディアデータの全持続時間の一部、または全部が、その各々があるタイムポイントから始まる複数の時間的セクションへ分割されうる。特定の問い合わせタイムポイントにおける問い合わせシーケンスが、該特定のタイムポイントから始まる複数のセクションのうちの１つの指紋シーケンスによって形成されてよく、この特定のタイムポイントを、該指紋シーケンスの問い合わせタイムポイントと呼ぶことができる。
【００４２】
動的指紋データベースを使用して、問い合わせシーケンスと比較されるべきメディアデータの指紋が記憶されてよい。一実施形態では、動的指紋データベースは、問い合わせシーケンス内の指紋、および、それに加えて、かつ／または任意選択で、問い合わせシーケンスの近傍のいくつかの指紋が動的データベースから除外されるようなやり方で構築される。
【００４３】
単純な線形探索および比較演算を使用して、問い合わせシーケンスに対して、動的データベース内のすべての反復する、または類似の指紋シーケンスが突き止められてよい。これらの問い合わせ指紋シーケンスを設定するステップ、動的指紋データベースを構築するステップ、メディアデータ内の類似の、または一致するシーケンスを求める問い合わせシーケンスの線形探索および比較演算を実行するステップは、すべてのタイムポイントについて反復されてよい。問い合わせタイムポイント（ｔｑ）ごとに、発明者らは、最良一致シーケンスが見つかったタイムポイント（ｔｍ）を記録する。発明者らは、問い合わせポイントとそれに対応するデータベース内のマッチングシーケンスとの時間差を表す（ｔｍ−ｔｑ）と等しいオフセット値を算出する。その結果、問い合わせシーケンスの各々に対応するオフセット値のセットがメディアデータについて確立されうる。
【００４４】
このオフセット値のセットについて、有意なオフセット値、すなわち、オフセット値のサブセットが、一または複数の選択基準に基づいてオフセット値のセットの中からさらに選択されてよい。一例では、一または複数の選択基準は、オフセット値の発生頻度に関連したものとしてよい。ある一定の閾値を超える発生頻度と関連付けられたオフセット値がオフセット値のサブセットに含められてよく、それらのオフセット値を有意なオフセット値と呼ぶことができる。ある実施形態では、有意なオフセット値は、オフセット値の発生頻度を表す一または複数のヒストグラムを使用して特定されうる。
【００４５】
例示的な低計算量の手法
ある実施形態では、有意なオフセット値は、距離行列の低分解能表現を使用して特定されうる。低時間分解能の距離行列は、後述する例示的手法に従って算出される。一実施形態は、曲全体または他の音楽コンテンツを表すものと仮定されるＮ個の特徴ベクトル（ｆ１，ｆ２，…，ｆｉ，…，ｆＮ）を用いて機能する。完全距離行列が特徴ベクトルｆ（ｉ）（ｉはフレームインデックスを指す）から算出され、Ｄ（ｏ，ｉ）＝ｄｉｓｔ（ｆ（ｉ），ｆ（ｉ＋ｏ））であり、ｏはオフセット値のインデックスを表す。サブサンプリングされた距離行列（低時間分解能など）について、特徴ベクトルからのある一定のフレームが、Ｄ（ｏ，ｉ）＝ｄｉｓｔ（ｆ（Ｋｉ），ｆ（Ｋｉ＋ｏ））に従って単純にスキップされ、式中、Ｋは、サブサンプリング係数を表す整数を表し、例えば、Ｋ＝２，３，４，…である。サブサンプリング係数が２を含む一実施形態が実装される。
【００４６】
低分解能距離行列を算出し次第、後述するように、計算が行われて、反復が発生する有意なオフセットのサブセットが獲得される。
まず、距離行列の各行が（例えば、数秒の長さのＭＡフィルタを用いて）平滑化される。平滑化された行列中の低い値は、平滑フィルタの長さと同様の長さのオーディオセグメントに対応する。平滑化された距離行列は、有意なオフセットを見つけるために極小値の点を求めて探索される。一実施形態は、以下に列挙する例示的ステップに従って、極小値を反復して見つける。
１．最小値を見つける（オフセット、および時間値：ｏｍｉｎ，ｎｍ，ｉｎをもたらす）
ｄｍｉｎ＝ｍｉｎ（Ｄ（ｏ，ｉ））、式中、ｄｍｉｎ＝Ｄ（ｏｍｉｎ，ｎｍ，ｉｎ）
２．オフセット値を有意なオフセットとして記録する。
３．Ｄ（ｏｍｉｎ±ｒｏ，ｎｍｉｎ±ｒｎ）＝∞、式中、ｒｏ＝０，１，…，Ｒｎ、ｒｎ＝０，１，…，Ｎｎ、を設定することにより、次回の極小値の探索のために、ある一定の範囲内の見つかった極小値の前後の値を除外する。（Ｎｎがフレーム数（＝Ｄの列の数）に等しい一実施形態が実装され、例えば、記録された有意なオフセットのすべての列（（時間フレーム）が除外される。
４．所望の数の有意なオフセットに達するまで、例示的ステップ１から反復する。
一実施形態は、クロマ距離値の最小数Ｍｍｉｎ、最大数Ｍｍａｘ、および閾値ＴＨを用いて、有意なオフセットの数を定義する。Ｍｍｉｎ個以上のオフセット（例えば、Ｍｍｉｎ＝３）が獲得される。次いで、見つかった値が十分に低いことを確認するために、例えば、最大Ｍｍａｘの数（例えば、Ｍｍａｘ＝１０）のオフセットまで、クロマ−距離値の条件が検査される。大域的最小値（例えば、最初の反復で見つかった最小値）から、例えば、ｄｍｉｎ＊１．２５として閾値が決定される。これは、前述の例示的ステップを幾分変更する。例えば、一実施形態では、ステップ１およびステップ４が後述する以下のように変化する。
１．最小値（オフセット、および時間値：ｏｍｉｎ，ｎｍ，ｉｎをもたらす）が見つけられる
ｄｍｉｎ＝ｍｉｎ（Ｄ（ｏ，ｉ））、式中、ｄｍｉｎ＝Ｄ（ｏｍｉｎ，ｎｍ，ｉｎ）。
Ｍｍｉｎ個のオフセットが獲得される場合、クロマ−距離閾値を検査する：ｄｍｉｎ＜ＴＨの場合にはステップ２に進み、そうでない場合には停止する。
４．ステップ１から反復する。（例えば、Ｍｍａｘ個のオフセットが獲得されるまで）。
図１Ｂに、４回の反復１００１、１００２、ａ１００３および１００４にわたって（例えば４回の反復の間に）算出される、例示的距離行列１０００を示す。検出された最小値は黒い×印で表されている。反復ごとに、前の最小値の前後の範囲が、次の反復での探索のために除外される。
【００４７】
よって、本発明の一例示的実施形態は、メディアデータ内の反復を検出するための低計算量の機能を提供する。メディアデータから抽出可能な（例えば、メディアデータの成分から導出可能な）、一または複数の特徴タイプのうちの第１のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第２のタイプを使用して、オフセット値のサブセットに基づいて候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および／またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および／または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【００４８】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低い可能性のある用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴の中からの一または複数のメディア指紋の導出（抽出など）を用いて、または複数の（例えば第２の）オフセット・タイム・ポイント・サブセットを用いて、メディア内の反復をさらに検出してよい。
【００４９】
本明細書に記載する技法では、有意なオフセット値に等しい時間差のみでの特徴間で、特徴ベースの比較または距離算出が行われてよい。既存の技法で必要とされるメディアデータの全持続時間を範囲とするＮ個のフレームを使用した全距離行列は、本明細書に記載する技法では回避されうる。ある可能な実施形態では、有意なオフセット値における特徴比較は、指紋分析からのタイムポイント（ｔｍやｔｑ）の時間位置を含む限られた時間範囲に対してさらに実行されうる。
【００５０】
一実施形態では、本明細書に記載する有意なオフセット値と等しい、時間差を有する特徴間の特徴ベースの比較または距離計算は、候補シード・タイム・ポイントのセットを特定するための第２の特徴タイプに基づくものとしてよい。第２の特徴タイプは、有意なオフセット値を生成するのに使用される特徴タイプと同じとすることができる。代替として、かつ／または任意選択で、これらの特徴ベースの比較または距離算出は、有意なオフセット値を生成するのに使用された特徴タイプと異なる特徴タイプに基づくものであってもよい。
【００５１】
一実施形態では、本明細書に記載する有意なオフセット値と等しい時間差を有する特徴間の特徴ベースの比較または距離計算は、ベクトルのユークリッド距離、平均二乗誤差、ビット誤り率、自己相関ベースの尺度、またはハミング距離のうちの一または複数に関連した類似度または相違度の値を生成してよい。一実施形態では、フィルタを適用して類似度または相違度の値が平滑化されてよい。そうしたフィルタの例は、それだけに限らないが、バターワースフィルタ、移動平均フィルタなどとすることができる。
【００５２】
一実施形態では、フィルタリングされた類似度または相違度の値を使用して、有意なオフセット値の各々についてのシード・タイム・ポイントのセットが特定されてよい。シード・タイム・ポイントは、例えば、フィルタリングされた値における極小値または極大値に対応しうる。
【００５３】
本発明の実施形態は、コーラスセクション、すなわち、曲の大きなセクションがブラウズされるときの再生またはプレビューに適しうる短いセクション、呼出し音などの特定を、効果的に、効率よく可能にする。曲といったメディアデータ内の一または複数の代表セグメントのいずれかを再生するために、メディア内の一または複数の代表セグメントの位置は、例えば、符号化段のメディア・データ・ビットストリームにおいてメディア生成器によって符号化されてもよい。メディア・データ・ビットストリームは、次いで、代表セグメントの位置を回復し、代表セグメントのいずれかを再生するために、メディア・データ・プレーヤによって復号されてよい。
【００５４】
一実施形態では、本明細書に記載する機構は、メディア処理システムの一部を形成し、メディア処理システムは、それだけに限らないが、以下のものを含む：ハンドヘルド機器、ゲーム機、テレビ、ラップトップコンピュータ、ノートブックコンピュータ、セルラ無線電話機、電子ブックリーダ、ＰＯＳ端末、デスクトップコンピュータ、コンピュータワークステーション、コンピュータキオスク、または様々な他の種類の端末およびメディア処理装置。
【００５５】
好ましい実施形態への様々な改変および本明細書に記載する一般的な原理および特徴は、当業者には容易に明らかになるであろう。よって、本開示は、図示の実施形態だけに限定することを意図されておらず、本開示には、本明細書に記載する原理および特徴と整合性を有する最も広い範囲が与えられるべきである。
【００５６】
２．特徴抽出のためのフレームワーク
一実施形態では、本発明のメディア処理システムは、図１に示す４つの主要な構成要素を含んでいてよい。特徴抽出構成要素は、曲といったメディアデータから様々な特徴タイプを抽出しうる。反復検出構成要素は、反復的なメディアデータの時間的セクションを、例えば、メディアデータの抽出された特徴に表されたこれらのセクション内の曲の旋律、和声、歌詞、音色といったメディアデータのある一定の特性に基づいて見つけてよい。
【００５７】
一実施形態では、反復セグメントは、場面変化検出構成要素によって実行される改善手順を施されてよく、場面変化検出構成要素は、選択された反復セクションを含むセグメントを明示する正しい開始タイムポイントおよび終了タイムポイントを見つける。これら正しい開始タイムポイントおよび終了タイムポイントは、メディアデータ内で特異な特性を保有する一または複数の場面の開始および終了の場面変化ポイントを含みうる。１ペアの開始場面変化ポイントと終了場面変化ポイントが、候補代表セグメントを明示しうる。
【００５８】
ランク付け構成要素によって実行されるランク付けアルゴリズムが、すべての候補代表セグメントの中から代表セグメントを選択するために適用されてよい。一個別実施形態では、選択される代表セグメントは、曲のコーラスとしてよい。
【００５９】
一実施形態では、本明細書に記載するメディア処理システムは、指紋マッチングとクロマ距離分析の組み合わせを実行するように構成されてよい。本明細書に記載する技法では、システムは、比較的低計算量で、高性能で大量のメディアデータを処理するように動作しうる。指紋マッチングは、メディアデータにおいて反復的な最良一致セグメントを求める高速で低計算量の探索を可能にする。これらの実施形態では、反復が発生するオフセット値のセットが特定される。
【００６０】
一実施形態は、低時間分解能で第１レベルのクロマ距離分析を使用して、反復が発生するオフセット値のセットを特定する。次いで、より正確な高時間分解能のクロマ距離分析が、それらのオフセットだけで適用される。メディアデータの同じ時間間隔に対して、クロマ距離分析は、指紋マッチング分析よりも信頼性が高く、正確でありうるが、より高い計算量という代償を伴う。
【００６１】
対照的に、組み合わせおよび／またはハイブリッド（組み合わせ／ハイブリッド）の手法は、初期低計算量段を使用して、反復が発生する有意なオフセット値のセットを特定する。この低計算量段で、一実施形態は、指紋マッチングを使用して有意なオフセットを特定し、または低時間分解能のクロマ距離行列分析を使用して機能してよい。これは、メディアデータ内のある一定の有意なオフセットに適用されるものを除く高分解能のクロマ距離分析を不要にし、計算量およびメモリ使用量に関して著しい経済性が達成される。例えば、メディアデータの全持続時間にわたって高分解能のクロマ距離分析を適用することは、処理計算量およびメモリ消費の点で著しく多い計算費用を有する。
【００６２】
よって、本発明の一例示的実施形態は、メディアデータ内の反復を検出するための低計算量の機能を提供する。メディアデータから抽出可能な（例えば、メディアデータの成分から導出可能な）、一または複数の特徴タイプのうちの第１のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第２のタイプを使用して、オフセット値のサブセットに基づいて候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および／またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および／または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【００６３】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低い可能性のある用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴の中からの一または複数のメディア指紋の導出（抽出など）を用いて、または複数の（例えば第２の）オフセット・タイム・ポイント・サブセットを用いて、メディア内の反復をさらに検出してよい。
【００６４】
前述のように、ある反復検出システムは完全距離行列を算出し、完全距離行列は、メディアデータの全Ｎ個のフレームの任意の２つによって形成されるすべての組み合わせのひとつひとつの間の距離を含む。完全距離行列の算出は、計算上高くつき、高いメモリ使用量を必要としうる。図２に、第１のコーラスセクションと第２のコーラスセクションとの間に図示されたオフセットを有する、曲といった例示的メディアデータを示す。図３に、距離算出のための、時間とオフセットの２つの次元を有する例示的な距離行列を示す。オフセットは、特徴に関連した相違度（もしくは距離）（または類似度）がそこから算出される２フレーム間のタイムラグを表す。反復セクションは水平の濃い線で表されており、ある連続フレームのセクションから、ある一定のオフセットだけ離れた別の連続フレームのセクションまでの低距離に対応する。
【００６５】
本明細書に記載する技法では、完全距離行列の算出は回避されうる。代わりに、指紋マッチングデータが、反復の概算位置および（近隣の反復の）概算位置間のそれぞれのオフセットを提供するために分析されうる。よって、有意なオフセットのうちの１つと等しくないオフセット値だけ隔てられた特徴間の距離算出を回避することができる。ある可能な実施形態では、有意なオフセット値における特徴比較は、指紋分析からのタイムポイント（ｔｍおよびｔｑ）の時間位置を含む限られた時間範囲に対してさらに実行されうる。一実施形態では、有意なオフセットのセットを特定するために、低時間分解能の距離行列が算出される。その結果、たとえ本明細書に記載する技法で距離行列が使用される場合であっても、そうした距離行列は、他の技法での完全距離行列と比べて、そのための距離が算出されるべき行および列をごく少数しか含まないはずであり、付随して計算量が節減される。
【００６６】
３．スペクトルベースの指紋
指紋抽出（例えば、コンテンツ成分からの指紋導出）は、メディアデータの基礎となるセクションの識別子として機能しうるコンパクトなビットストリーム表現を作成する。一般に、メディアデータの悪意のある調節（ｔｅｍｐｅｒｉｎｇ）を検出するために、指紋は、符号化、ダイナミックレンジ圧縮（ＤＲＣ：Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ｃｏｍｐｒｅｓｓｉｏｎ）、等化などを含む様々な信号処理／改ざん操作に対するロバスト性を保有するように設計されうる。しかし、本明細書に記載するメディアデータ内の反復セクションを見つける目的では、指紋のロバスト性要件は緩和されてよい。というのは、指紋のマッチングは同じ曲内で行われるからである。通常の指紋システムによって処理されなければならない悪意のある攻撃は、本明細書に記載するメディアデータには含まれず、または比較的まれであると思われる。
【００６７】
さらに、本発明の指紋抽出は、粗い分光写真表現に基づくものとしてよい。例えば、メディアデータがオーディオ信号である実施形態では、オーディオ信号は、モノ信号へダウンミックスされてよく、加えて、かつ／または任意選択で、１６ｋＨｚへダウンサンプリングされてもよい。ある実施形態では、オーディオ信号といったメディアデータは、それだけに限らないが、モノ信号へと処理されてよく、さらに、重なり合うチャンクへ分割されてよい。重なり合うチャンクの各々から分光写真が作成されてよい。粗い分光写真は、時間と周波数の両方に沿って平均することによって作成されてよい。上記の操作は、時間および周波数に沿った分光写真内の比較的小さい変化に対するロバスト性を提供しうる。一実施形態では、本発明の粗い分光写真は、スペクトルのある一定の部分を該スペクトルの他の部分よりも強調するように選択されてもよいことに留意すべきである。
【００６８】
図４に、本発明の一例示的実施形態による、粗い分光写真の例示的生成を示す。（入力）メディアデータ（曲など）は、まず、Ｔｏ＝１６ミリ秒（ｍｓ）のステップサイズを有する持続時間Ｔｃｈ＝２秒のチャンクへ分割される。オーディオデータのチャンク（Ｘｃｈ）ごとに、ある一定の時間分解能（１２８サンプルまたは８ｍｓなど）および周波数分解能（２５６サンプルＦＦＴ）で分光写真が算出されてよい。算出された分光写真Ｓは、時間−周波数ブロックを用いてタイル表示されてよい。時間−周波数ブロックの各々の内部のスペクトルの振幅は、分光写真Ｓの粗い表現Ｑを獲得するように平均されてよい。Ｓの粗い表現Ｑは、サイズＷｆ×Ｗｔの時間−周波数ブロック内の周波数係数の大きさを平均することによって獲得されてよい。ここで、Ｗｆは周波数に沿ったブロックのサイズであり、Ｗｔは時間に沿ったブロックのサイズである。Ｆが周波数軸に沿ったブロック数を表し、Ｔが時間軸に沿ったブロック数であるため、従ってＱは、サイズ（Ｆ＊Ｔ）のものである。Ｑは以下の式（１）で算出されてよい。
【数１】
0005901790.tif 000002
【００６９】
式１において、ｉおよびｊは、分光写真における周波数および時間のインデックスを表し、ｋおよびｌは、そこで平均演算が行われる時間−周波数ブロックのインデックスを表す。一実施形態では、Ｆは正の整数（例えば、５、１０、１５、２０など）を含んでいてよく、Ｔは正の整数（例えば、５、１０、１５、２０など）を含んでいてよい。
【００７０】
一実施形態では、チャンクの分光写真の粗い表現（Ｑ）の低次元表現が、該分光写真を擬似ランダムベクトル上に射影することによって作成されてよい。擬似ランダムベクトルは、基底ベクトルとみなされうる。Ｋ個の擬似ランダムベクトルが生成されてよく、その各々は、行列Ｑと同じ次元（Ｆ×Ｔ）を有していてよい。行列エントリは、［０，１］として均一に分散された確率変数としてよい。乱数発生器の状態は、キーに基づいて設定されてよい。擬似ランダムベクトルは、各々次元（Ｆ×Ｔ）の、Ｐ１，Ｐ２，…，ＰＫで表されてよい。各行列Ｐｉの平均が算出されてよい。Ｐｉ（ｉは１からＫまでに及ぶ）内の各行列要素が、行列Ｐｉの平均で減算されてよい。次いで、行列Ｑは、以下の式２に示すように、これらＫ個のランダムベクトル上に射影されてよい。
【数２】
0005901790.tif 000003
【００７１】
式２において、Ｈｋは行列ＱのランダムベクトルＰｋ上への射影を表す。これらの射影（Ｈｋ、ｋ＝１，２，…，Ｋ）の中央値を閾値として使用して、行列ＱについてのＫ個のハッシュビットが生成されてよい。例えば、射影Ｈｋが閾値より大きい場合に、ハッシュビット‘１’が第ｋのハッシュビットについて生成されてよい。それ以外の、射影Ｈｋが閾値以下の場合には、‘０’のハッシュビットが生成されてよい。一実施形態では、Ｋは、８、１６、２４、３２などといった正の整数としてよい。一例では、本明細書に記載する２４ハッシュビットの指紋が、オーディオデータの１６ｍｓごとに作成されてよい。これら２４ビットの符号語を含む指紋シーケンスが、その指紋シーケンスが表すオーディオの当該の特定のチャンクの識別子として使用されてよい。一実施形態では、本明細書に記載する指紋抽出の計算量は、約２．５８ＭＩＰＳとすることができる。
【００７２】
粗い表現Ｑは、本明細書では、ＦＦＴ係数から導出される行列として説明されている。これは例示のためにすぎないことに留意すべきである。様々な粒度の表現を獲得する他のやり方が使用されてもよい。例えば、高速フーリエ変換（ＦＦＴ）、ディジタルフーリエ変換（ＤＦＴ）、短時間フーリエ変換（ＳＴＦＴ）、変形離散コサイン変換（ＭＤＣＴ）、変形離散サイン変換（ＭＤＳＴ）、直交ミラーフィルタ（ＱＭＦ）、複素ＱＭＦ（ＣＱＭＦ）、離散ウェーブレット変換（ＤＷＴ）、もしくはウェーブレット係数から導出される様々な表現、クロマ特徴、または他の手法を使用して、メディアデータのチャンクの符号語、ハッシュビット、および指紋シーケンスが導出されてよい。
【００７３】
４．クロマ特徴
本明細書で使用する場合、クロマグラムという用語は、ｎ次元のクロマベクトルに関するものとしてよい。例えば、１２平均律のチューニングシステムにおけるメディアデータでは、クロマグラムは、各次元が半音クラス（クロマ）の強度（あるいは振幅）に対応する１２次元のクロマベクトルとして定義されうる。異なる次元数のクロマベクトルが、他のチューニングシステムについて定義されてよい。クロマグラムは、オーディオスペクトルを単一のオクターブへマップし、折り畳むことによって獲得されてよい。クロマベクトルは、１オクターブ内の１２ピッチのクラスへと離散化されうるクロマ上の振幅分散を表す。クロマベクトルは、オーディオ信号の旋律および和声のコンテンツを取り込み、反復セクションまたは類似のセクションを決定するのに使用された指紋との関連で前述した分光写真よりも、音色の変化に対して低感度としてよい。
【００７４】
クロマ特徴は、図５に例示するようにピッチの螺旋上での射影または折り畳みによって視覚化されうる。「クロマ」という用語は、個々のオクターブ内の音の高さの位置をいい、個々のオクターブは、図５の横から見た、ピッチの螺旋の１サイクルに対応しうる。本質的には、クロマとは、図５の螺旋上のオクターブの高さに関係なく、図５の真上から見た螺旋の円周上の位置をいう。他方、「高さ」という用語は、図５の側面から見た、螺旋の円周上の縦方向の位置をいう。特定の高さによって指示される縦方向の位置は、その特定の高さの特定のオクターブ内の位置に対応する。
【００７５】
音符の存在は、周波数領域のくし形パターンの存在と関連付けられうる。このパターンは、おおよそ、分析される楽音の基本周波数の倍数に対応する位置にあるローブで構成されうる。これらのローブは、まさに、クロマベクトルに含まれうる情報である。
【００７６】
一実施形態では、特定のクロマにおける振幅スペクトルの内容は、帯域フィルタ（ＢＰＦ：ｂａｎｄ−ｐａｓｓ  ｆｉｌｔｅｒ）を使用して除外されてよい。振幅スペクトルは、ＢＰＦを用いて（例えば、ハン窓関数を用いて）乗算されてよい。ＢＰＦの中心周波数および幅は、特定のクロマおよび高さ値の数によって決定されてよい。ＢＰＦの窓は、クロマと高さ両方の関数として、シェパードの周波数を中心としてよい。振幅スペクトルにおける独立変数はＨｚ単位の周波数としてよい、Ｈｚ単位の周波数はセント単位に変換されてよい（例えば、１００セントは半音に等しい）。ＢＰＦの幅はクロマ特有のものであることは、音符（または図５の螺旋上の個々のオクターブ上に射影されたクロマ）が、周波数において、等間隔にではなく、対数的な間隔で配置されることに由来する。高いピッチの音符は（またはクロマ）は、低いピッチの音符よりもスペクトルにおいて相互により離れており、そのため、高いオクターブにおける音符間の周波数間隔は低いオクターブにおけるものよりも広い。人間の耳は、低い周波数ではピッチのごくわずかな差も知覚することができるが、高い周波数ではピッチの相対的に大きい変化を知覚することしかできない。人間の知覚に関連したこれらの理由で、ＢＰＦは、相対的に広い窓のものであり、相対的に高い周波数で相対的に大きい振幅のものであるように選択されうる。よって、一実施形態では、これらのＢＰＦフィルタは、知覚的に動機付けられていてよい。
【００７７】
クロマグラムは、４０９６サンプルのハン窓を用いて、短時間フーリエ変換（ＳＴＦＴ）によって算出されてよい。一実施形態では、高速フーリエ変換（ＦＦＴ）を使用して計算が実行されてよく、ＦＦＴフレームは１０２４サンプルだけシフトされてよく、離散時間ステップ（１フレームシフトなど）は、４６．４（または本明細書では単に４６と表される）ミリ秒（ｍｓ）としてよい。
【００７８】
第１に、（図６に例示する）４６ｍｓフレームの周波数スペクトルが算出されてよい。第２に、音符の存在は、所与の音符の様々なオクターブの位置に位置決めされたローブからなる、周波数スペクトルのくし形パターンと関連付けられてよい。くし形パターンは、例えば、図７に示すようなクロマＤを抽出するのに使用されてよい。くし形パターンのピークは、１４７Ｈｚ、２９４Ｈｚ、５８８Ｈｚ、１１７５Ｈｚ、２３５０Ｈｚ、および４６９９Ｈｚとしてよい。
【００７９】
第３に、曲の所与のフレームからクロマＤを抽出するために、フレームのスペクトルは、上記くし形パターンで乗算されてよい。乗算の結果は図８に例示されており、このフレームのクロマベクトルにおけるクロマＤの計算に必要とされるすべてのスペクトルコンテンツを表している。この要素の振幅はその場合、単に、周波数軸に沿ったスペクトルの和である。
【００８０】
第４に、残り１１のクロマを計算するために、本発明のシステムは、クロマの各々について適切なくし形パターンを生成してよく、同じプロセスが元のスペクトル上で反復される。
【００８１】
一実施形態では、クロマグラムは、ガウス関数重み付け（対数周波数軸に対するものであり、それだけに限らないが、正規化されてよい）を使用して算出されてよい。ガウス関数重み付けは、対数周波数軸上の、中心周波数「ｆ＿ｃｔｒ」として表される、対数周波数ポイントを中心としてよい。中心周波数「ｆ＿ｃｔｒ」は、ｃｔｒｏｃｔの値（オクターブ単位またはセント／１２００単位、Ａ０に参照原点を有する）に設定されてよく、ｃｔｒｏｃｔの値はＨｚ単位の２７．５＊（２＾ｃｔｒｏｃｔ）の周波数に対応する。ガウス関数重み付けは、ｆ＿ｓｄのガウス関数の半値幅を用いて設定されてよく、ｆ＿ｓｄのガウス関数の半値幅はオクターブ単位のｏｃｔｗｉｄｔｈの値に設定されてよい。例えば、ガウス関数重み付けの大きさは、中心周波数ｆ＿ｃｔｒの上下の２＾ｏｃｔｗｉｄｔｈ倍でｅｘｐ（−０．５）まで下がる。言い換えると、一実施形態では、前述のように個別の知覚的に動機付けられたＢＰＦを使用する代わりに、単一のガウス関数重み付けフィルタが使用されうる。
【００８２】
よって、ｃｔｒｏｃｔ＝５．０、ｏｃｔｗｉｄｔｈ＝１．０では、ガウス関数重み付けのピークは８８０Ｈｚにあり、重み付けは、４４０Ｈｚおよび１７６０Ｈｚでおおよそ０．６まで下がる。様々な例示的実施形態において、ガウス関数重み付けのパラメータは事前設定されてよく、加えて、かつ／または任意選択で、ユーザによって手動で、かつ／もしくはシステムによって自動的に構成可能としてもよい。一実施形態では、ｃｔｒｏｃｔ＝５．１８４４（ｆ＿ｃｔｒ＝１０００Ｈｚを与える）およびｏｃｔｗｉｄｔｈ＝１のデフォルト設定が存在し、または構成されてよい。よって、この例のデフォルト設定でのガウス関数重み付けのピークは１０００Ｈｚにあり、重み付けは、５００Ｈｚおよび２０００Ｈｚでおおよそ０．６まで下がる。
【００８３】
よって、これらの実施形態では、本発明のクロマグラムは、かなり限られた周波数範囲に対して算出されうる。これは、図９に例示する対応する重み行列のグラフから知ることができる。ガウス関数重み付けのｆ＿ｓｄが２オクターブ単位まで増加する場合、ガウス関数重み付けについての重みづけの広がりも増加する。対応する重み行列のグラフは、図１０に示すように見える。比較として、３オクターブから８オクターブの値を有するｆ＿ｓｄで動作するときには、重み行列は図１１に示すように見える。
【００８４】
図１２に、知覚的に動機付けられたＢＰＦを使用して（漸進的に増加するオクターブの音符を有する）ピアノ信号の形態の例示的メディアデータと関連付けられた例示的なクロマグラムグラフを示す。比較して、図１３に、ガウス関数重み付けを使用して同じピアノ信号と関連付けられた例示的なクロマグラムグラフを示す。フレーミングおよびシフトは、２つのクロマグラムグラフ間で比較を行うために厳密に同じになるように選択されている。
【００８５】
両クロマグラムグラフのパターンは同様に見える。知覚的に動機付けられた帯域フィルタは、より優れたエネルギーの集中および分離を提供しうる。これは低い音符について見ることができ、低い音符では、ガウス関数重み付けによって生成されたクロマグラムグラフ内の音符の方がぼやけて見える。異なるＢＰＦはコード認識アプリケーションに異なる影響を及ぼしうるが、知覚的に動機付けられたフィルタは、セグメント（例えばコーラス）抽出についてほとんど利益の増加をもたらさない。
【００８６】
一実施形態では、本明細書に記載するクロマグラムおよび指紋抽出は、１６ｋＨｚでサンプリングされたオーディオ信号の形態のメディアデータに作用してよい。クロマグラムは、ＦＦＴを使用して３２００サンプルのハン窓を用いたＳＴＦＴを用いて算出されてよい。ＦＦＴフレームは、５０ｍｓの離散時間ステップ（例えば１フレームシフト）を用いて、８００サンプル分だけシフトされてよい。他のサンプリングオーディオ信号が本発明の技法によって処理されてもよいことに留意すべきである。さらに、本発明では、異なる変換、異なるフィルタ、異なる窓関数、異なるサンプル数、異なるフレームシフトなどを用いて算出されたクロマグラムも、本発明の範囲内である。
【００８７】
５．他の特徴
本発明の技法は、本項で説明する、ＭＦＣＣ、リズム特徴、およびエネルギーといったメディアデータから抽出される様々な特徴を使用してよい。前述のように、本明細書に記載する抽出される特徴の一部、または全部が、場面変化検出にも適用されてよい。加えて、かつ／または任意選択で、これらの特徴の一部、または全部が、本明細書に記載するランク付け構成要素によっても使用されてよい。
【００８８】
５．１メル周波数ケプストラム係数（ＭＦＣＣ）
メル周波数ケプストラム係数（ＭＦＣＣ）は、オーディオ信号のスペクトルエンベロープのコンパクトな表現を提供することを目指すものである。ＭＦＣＣ特徴は音色の良好な記述を提供することができ、また、本明細書に記載する技法の音楽的応用例でも使用されうる。
【００８９】
５．２リズム特徴
リズム特徴の算出のいくつかのアルゴリズム詳細は、Ｈｏｌｌｏｓｉ，Ｄ．，Ｂｉｓｗａｓ，Ａ．，「Ｃｏｍｐｌｅｘｉｔｙ  Ｓｃａｌａｂｌｅ  Ｐｅｒｃｅｐｔｕａｌ  Ｔｅｍｐｏ  Ｅｓｔｉｍａｔｉｏｎ  ｆｒｏｍ  ＨＥ−ＡＡＣ  Ｅｎｃｏｄｅｄ  Ｍｕｓｉｃ」，ｉｎ  １２８ｔｈ  ＡＥＳ  Ｃｏｎｖｅｎｔｉｏｎ，Ｌｏｎｄｏｎ，ＵＫ，２２−２５  Ｍａｙ  ２０１０に記載されており、その全内容は、参照により、あたかもそれが本明細書に完全に明記されているかのように本明細書に組み入れられる。一実施形態では、ＨＥ−ＡＡＣ符号化音楽からの知覚的テンポ推定が、変調周波数に基づいて実行されうる。本発明の技法は知覚的テンポ訂正段を含んでいてよく、知覚的テンポ修正段では、リズム特徴を使用してオクターブ誤りが訂正される。リズム特徴を算出するための例示的手順は以下のように説明されうる。
【００９０】
第１のステップでは、パワースペクトルが計算され、次いで、メル尺度変換が行われる。このステップは、スペクトル値の数をごく少数のメルバンドへ低減させる間の人間の聴覚系の非線形周波数知覚に相当する。非線形圧伸関数を適用することによってバンド数のさらなる低減が達成されて、音楽信号内のリズム情報の大部分が低周波数領域に位置するという仮定の下で、高いメルバンドが単一のバンドへマップされる。このステップは、ＭＦＣＣ算出で使用されるメルフィルタバンクを共用する。
【００９１】
第２のステップでは、変調スペクトルが算出される。このステップは、本明細書に記載するようにメディアデータからリズム情報を抽出する。リズムは、変調スペクトル内のある一定の変調周波数におけるピークによって指示されうる。一例示的実施形態では、変調スペクトルを算出するために、圧伸メル・パワー・スペクトルは、時間軸上である一定のオーバーラップを有する６秒の長さの時間的チャンクへセグメント化されてよい。時間的チャンクの長さは、オーディオ信号の「長時間リズム特性」を取り込むための計算量に伴うコストと利益との間のトレードオフから選択されてよい。続いて、時間軸に沿ってＦＦＴを適用して、６秒チャンクごとのジョイント周波数（変調スペクトル：ｘ軸−変調周波数およびｙ軸−圧伸メルバンド）表現が獲得されうる。変調周波数軸に沿って変調スペクトルに、大規模な音楽データセットの分析から得られる知覚的重み付け関数を用いて重み付けすることによって、非常に高い変調周波数および非常に低い変調周波数が（知覚的テンポ訂正段の有効な値が選択されるように）抑制されうる。
【００９２】
第３のステップでは、次いで、変調スペクトルからリズム特徴が抽出されてよい。場面変化検出に有益となりうるリズム特徴は、リズム強度、リズム規則性、および低域性である。リズム強度は、圧伸メルバンドを合計した後の変調スペクトルの最大値として定義されうる。リズム規則性は、１に正規化した後の変調スペクトルの平均値として定義されうる。低域性は、１Ｈｚより高い変調周波数を有する２つの最も低い圧伸メルバンド内の値の和として定義されうる。
【００９３】
６．反復部分の検出
一実施形態では、本明細書に記載する反復検出（または反復部分の検出）は、指紋とクロマ特徴両方に基づくものとしてよい。一実施形態では、最初に、木ベースの探索を使用した指紋問い合わせが実行されてよく、オーディオ信号のセグメントごとの最良一致が特定され、それによって、一または複数の最良一致が生じる。続いて、最良一致の中からのデータを使用して反復が発生するオフセット値が求められてよく、クロマ距離行列の対応する行が算出され、さらに分析される。図１４に、システムの例示的な詳細なブロック図を示し、抽出された特徴が反復セクションを検出するためにどのように処理されるかを示す。
【００９４】
６．１．指紋マッチング
一実施形態では、本明細書に記載する技法を使用して、図１４の指紋マッチングブロックは、入力された曲といったメディアデータにおいて反復セグメントが現れるオフセット値またはタイムラグを迅速に特定してよい。一実施形態では、図１５に例示するように、曲の０．６４秒の時間増分（最初は開始タイムポイント＝０から始まり、その後、０．６４秒ずつ増分する）ごとに、曲の（０．６４秒の増分ごとの開始タイムポイントから始まる）８秒の時間間隔に対応する４８８個の２４ビット指紋符号語のシーケンスが、問い合わせ指紋シーケンスとして使用されてよい。マッチングアルゴリズムを使用して、曲の（問い合わせ指紋シーケンスを除く残りの持続時間に対応する）残りの指紋ビットにおいて、いくつかの指紋ビット（例えば、４８８個の２４ビット指紋符号語など）を含むこの問い合わせシーケンスについての最良一致が見つけられうる。
【００９５】
より具体的には、一実施形態では、開始タイムポイント（例えば、ｔ＝０、０．６４秒、１．２８秒、…など）において、曲の（例えば、ｔ＝０、０．６４秒、１．２８秒、…などから開始する）８秒間隔を範囲とする指紋符号語の問い合わせシーケンスを使用して、動的指紋データベース内の残りの指紋が照会されてよい。曲の指紋のある一定の部分を除く曲の残りの指紋ビットを記憶するこの動的指紋ビットデータベースの中から最良一致ビットシーケンスが見つけ出されうる。動的指紋データベースが、問い合わせシーケンスの（現在の）開始タイムポイントからのある特定の時間間隔に対応する指紋の部分を除外しうるという点においてのロバスト性を高めるために、最適化が行われてよい。この最適化は、検出されるべきセグメントがある一定の最小オフセット後に反復されるという仮説を立てることができるときに適用されうる。この最適化は、より小さいオフセットで発生する（例えば、音楽パターンがわずか数秒のオフセットで反復する）反復の検出を回避する。例えば、最適化は、動的指紋データベースが、問い合わせシーケンスの（現在の）開始タイムポイントからの（〜２０秒の）１９．２秒の時間間隔に対応する指紋の部分を除外しうるように行われてよい。次の開始タイムポイント、ｔ＝０．６４秒が現在の開始タイムポイントに設定されるときには、曲の０．６４秒から８．６４秒までに対応する指紋が問い合わせとして使用されうる。動的指紋データベースは、次に、（０．６４秒から１９．８４秒）に対応する曲の時間間隔を除外してよい。一実施形態では、前の開始タイムポイントと現在の開始タイムポイントとの間の時間間隔（例えば０から０．６４秒までなど）に対応する指紋の部分は、動的指紋データベースに追加されてよい。よって、現在の開始タイムポイントごとに、動的データベースは更新され、探索が行われて、現在の開始タイムポイントから開始する問い合わせ指紋ビットシーケンスについての最良一致ビットシーケンスが見つけられる。探索ごとに、以下の２つの結果が記録されうる。
最良一致セクションが見つかったオフセット、および
問い合わせシーケンスと動的データベースからの最良一致セクションとの間のハミング距離。
【００９６】
一実施形態では、本明細書に記載する問い合わせ指紋シーケンスに関連した探索は、２５６進ツリーデータ構造を使用して効率よく行われてよく、高次元バイナリ空間における近似最近傍を見つけることができるはずである。また探索は、ＬＳＨ（Ｌｏｃａｌｉｔｙ  Ｓｅｎｓｉｔｉｖｅ  Ｈａｓｈｉｎｇ）、ｍｉｎＨａｓｈなどといった近似最近傍探索アルゴリズムを使用して行われてもよい。
【００９７】
６．２．有意な（候補）オフセットの検出
図１４の指紋マッチングブロックは、曲の０．６４秒の増分ごとの曲中の最良一致セグメントのオフセット値を返す。一実施形態では、図１４の有意なオフセットの検出ブロックは、図１４の指紋マッチングブロックで得られたすべてのオフセット値に基づくヒストグラムを算出することによっていくつかの有意な値を求めるように構成されていてよい。図１６に、オフセット値の例示的ヒストグラムを示す。有意なオフセット値は、それらについて有意な数のマッチがある選択されたオフセット値としてよい。有意なオフセット値は、ヒストグラムにおいてピークとして現れうる。一実施形態では、有意なオフセット値は、有意な数のマッチを有するオフセット値である。ピーク検出は、ヒストグラムにおける適応的閾値に基づくものとしてよい。すなわち、閾値を上回るピークを含むオフセット値を特定される有意なオフセット値としてよい。ある実施形態では、近隣の（例えば、〜１秒の窓内の）有意なオフセットがマージされてよい。
【００９８】
例示的低計算量計算
加えて、または代替として、一実施形態は、低時間分解能の距離行列に基づいて有意なオフセットを算出する。低時間分解能の距離行列は後述するように算出される。一実施形態は、正の整数Ｎ個の特徴ベクトル（ｆ１，ｆ２，…，ｆｉ，…，ｆＮ）が曲全体または他の音楽コンテンツを表すと仮定して機能する。完全距離行列が特徴ベクトルｆ（ｉ）から次式に従って算出され、ｉはフレームインデックスを表す：Ｄ（ｏ，ｉ）＝ｄｉｓｔ（ｆ（ｉ），ｆ（ｉ＋ｏ））、式中、ｏはオフセット値のインデックスを表す。サブサンプリングされた距離行列（低時間分解能）について、特徴ベクトルからのある一定のフレームが単純にスキップされる。例えば、Ｄ（ｏ，ｉ）＝ｄｉｓｔ（ｆ（Ｋｉ），ｆ（Ｋｉ＋ｏ））であり、式中、Ｋは、整数のサブサンプリング係数を表し、例えば、Ｋ＝２，３，４，…である。サブサンプリング係数が２を含む一実施形態が実装される。
【００９９】
低分解能の距離行列を算出し次第、反復が発生する有意なオフセットのサブセットが獲得される。距離行列の各行が（例えば、数秒の長さのＭＡフィルタを用いて）平滑化される。平滑化された行列中の低い値は、平滑フィルタの長さと同様の長さのオーディオセグメントに対応する。平滑化された距離行列は、有意なオフセットを特定するために極小値の点を求めて探索される。一実施形態は、後述する例示的プロセスステップと同様に、反復して極小値を見つけるように機能する。
１．最小値を見つける（例えば、オフセット、および時間値：ｏｍｉｎ，ｎｍ，ｉｎをもたらす）
ｄｍｉｎ＝ｍｉｎ（Ｄ（ｏ，ｉ））、式中、ｄｍｉｎ＝Ｄ（ｏｍｉｎ，ｎｍ，ｉｎ）
２．オフセット値を有意なオフセットとして記録する。
３．Ｄ（ｏｍｉｎ±ｒｏ，ｎｍｉｎ±ｒｎ）＝∞、式中、ｒｏ＝０，１，…，Ｒｎ、ｒｎ＝０，１，…，Ｎｎ、を設定することにより、次回の最小値の探索のために、ある特定の範囲内の見つかった最小値の前後の値を除外する。正の整数Ｎｎがフレーム数に等しい（例えば、行列Ｄの列数に等しい）一実施形態が実装される。よって例えば、記録された有意なオフセットのすべての列（時間フレーム）が除外される。
４．所望の数の有意なオフセットに達するまで、ステップ１から反復する。
一実施形態での有意なオフセットの数は、クロマ距離値の最小数Ｍｍｉｎ、最大数Ｍｍａｘ、および閾値ＴＨを用いて定義される。正の整数Ｍｍｉｎ個以上のオフセット（例えば、Ｍｍｉｎ＝３）が獲得される。次いで、見つかった値が十分に低いことを確認するために、例えば、最大で正の整数のＭｍａｘ（例えば、Ｍｍａｘ＝１０）のオフセットまで、クロマ−距離値の条件が検査される。大域的最小値（例えば、最初の反復で見つかった最小値）から、例えば、ｄｍｉｎ＊１．２５として閾値が決定されるステップ１およびステップ４は以下のように変化する。
１．最小値を見つける（オフセットを、および時間値：ｏｍｉｎ，ｎｍ，ｉｎをもたらす）
ｄｍｉｎ＝ｍｉｎ（Ｄ（ｏ，ｉ））、式中、ｄｍｉｎ＝Ｄ（ｏｍｉｎ，ｎｍ，ｉｎ）。
Ｍｍｉｎオフセットが獲得される場合、クロマ−距離閾値を検査する：ｄｍｉｎ＜ＴＨの場合にはステップ２に進み、そうでない場合には、停止する。
４．ステップ１から反復する。（Ｍｍａｘ個のオフセットが獲得されるまで）。
再度図１Ｂを参照すると、距離行列１０００は、４反復１００１、１００２、１００３、および１００４の間に示されており、検出された最小値は黒い×印で表されている。反復ごとに、前の最小値の前後の範囲が、次の反復での探索のために除外される。
【０１００】
よって、本発明の一例示的実施形態は、低計算量でメディアデータ内の反復を検出するように機能する。メディアデータから抽出可能な、一または複数の特徴タイプのうちの第１のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第２のタイプを使用して、オフセット値のサブセットの中から候補シード・タイム・ポイントのセットが特定される。この状況では、第１の特徴タイプは低時間分解能のクロマ特徴に対応し、第２の特徴タイプは高時間分解能のクロマ特徴に対応する。一実施形態は、高時間分解能のクロマ距離分析を使用して、以下のセクション６．３で論じるように、候補シード・タイム・ポイントを検出する。高時間分解能のクロマ特徴は、選択されたオフセット値のサブセットにおける候補シード・タイム・ポイントを特定するのに使用される。これは、メモリ使用量と計算費用の両方で効率のよい実装形態をもたらす。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および／またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および／または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【０１０１】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出（抽出など）を用いて、または複数の（例えば第２の）オフセット・タイム・ポイントのサブセットを用いて、メディア内の反復をさらに検出してよい。高分解能のクロマ距離分析を伴いうるそうした例示的実施形態を以下で論じる。
【０１０２】
６．３．候補シード・タイム・ポイントを検出するための高分解能のクロマ距離分析
メディアデータ（曲など）内で反復的な要素またはセクションが発生すると判定されるいくつかの有意なオフセット値（が選択される）と、これら選択されたオフセット値を使用して、特徴距離行列の選択的行（例えば、構造的特性に関連した特徴、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、メディアデータ内の対応するセクションの音源の量など）が以下のように算出されうる。
Ｄ（ｉ，ｏｋ）＝ｄ（ｆ（ｉ），ｆ（ｉ＋ｏｋ））
【０１０３】
式中、ｆ（ｉ）は、メディア・データ・フレームｉの特徴ベクトルを表し、ｄ（）は、２つの特徴ベクトルを比較するのに使用される距離尺度である。式中、ｏｋは、第ｋの有意なオフセット値である。Ｄ（）の算出は、選択されたオフセット値ｏｋの各々に対する全Ｎ個のメディアフレームについて行われてよい。選択されるオフセット値ｏｋの数は、代表セグメントがメディアデータにおいてどれ程の頻度で反復するかと関連付けられ、メディアデータをカバーするために何個のメディアフレームを選択するか（例えば数Ｎなど）に伴っては変化しないはずである。よって、本発明の技法での全Ｎ個のメディアフレームに対するすべての選択されるオフセット値ｏｋについてのＤ（）を計算する計算量は、Ｏ（Ｎ）である。これと比較して、他の技法での完全Ｎ×Ｎ距離行列の計算量はＯ（Ｎ２）になるはずである。加えて、本明細書に記載する技法での特徴距離行列は、完全Ｎ×Ｎ距離行列よりはるかに小さく、計算を実行するのに必要とするメモリ空間がはるかに少なくてすむ。
【０１０４】
ある実施形態では、特徴距離行列を算出するのに使用される特徴は、それだけに限らないが、以下のうちの一または複数としてよい。
音色を表す特徴（ＭＦＣＣなど）；
旋律を表す特徴（クロマグラムなど）；
リズムを表す特徴；または
マッチング時に曲から導出される指紋。
【０１０５】
一実施形態では、本明細書に記載する技法は、一または複数の適切な距離尺度を使用して、特徴距離行列について選択される特徴を比較する。一例では、本発明のシステムが指紋を使用して選択されるメディア・データ・フレームｉ（有意なオフセット・タイム・ポイントに、またはその近くにあるフレームとしうる）を表しうる場合には、ハミング距離を距離尺度として使用して、選択されたメディア・データ・フレームｉと１オフセット・タイム・ポイント離れたところのメディア・データ・フレームとにおける対応する指紋が算出されてよい。
【０１０６】
別の例として、一実施形態で、１２次元クロマベクトルが本明細書に記載する特徴距離行列を算出するための特徴ベクトルとして使用される場合には、特徴距離は以下のように求められてよい。
【数３】
0005901790.tif 000004
式中、
【数４】
0005901790.tif 000005
は、フレームｉの１２次元クロマベクトルを表し、ｄ（）は、選択された距離尺度である。算出された特徴距離行列（クロマ距離行列）が図１７に示されている。
【０１０７】
６．４．類似度行の算出
一実施形態では、結果として得られるクロマ距離（特徴距離）値は、次いで、ある一定の時間的な長さ、例えば１５秒などの移動平均フィルタといったフィルタを用いて、図１４の類似度行の算出ブロックによって平滑化されてよい。一実施形態では、平滑化信号の最小距離の位置は以下のように見つけられてよい。
ｉ上で、ｓ（ｏｋ）＝ａｒｇｍｉｎ（Ｄ（ｉ，ｏｋ））
平滑化信号の最小距離の位置の発見は、１５秒の別のメディアセグメントに最も類似した長さ１５秒のメディアセグメントの位置の検出に対応する。結果として得られる２つの最良一致セグメントが所与のオフセットｏｋの間隔で配置される。位置ｓは、次の処理段において、場面変化検出のシードとして使用されてよい。図１８に、類似度行列の行の例示的なクロマ距離値、平滑化された距離、および結果として得られる場面変化検出のためのシードポイントを示す。
【０１０８】
７．場面変化検出を使用した改善
一実施形態では、曲といったメディアデータ内の位置が、クロマ距離分析といった特徴距離分析によって、ある一定のメディア特性を有する候補代表セグメント内で最も可能性が高いと特定された後で、場面変化検出のシード・タイム・ポイントとして使用されてよい。候補代表セグメントのメディア特性の例は、セグメントが曲のコーラスの候補とみなされるために候補代表セグメントによって保有される反復特性とすることができる。反復特性は、例えば、前述のような距離行列の選択的算出によって決定されてよい。
【０１０９】
一実施形態では、図１４の場面変化検出ブロックは、本発明のシステムにおいて、シード・タイム・ポイントの近傍の（オーディオなどの）以下の２つの場面変化を特定するように構成されうる。
代表セグメントの先頭に対応するシード・タイム・ポイントの左側の開始場面変化ポイント
代表セグメントの末尾に対応するシード・タイム・ポイントの右側の終了場面変化ポイント
【０１１０】
８．ランク付け
図１４のランク付け構成部分は、ある一定のメディア特性（コーラスなど）を保有するいくつかの候補代表セグメントを入力信号として与えられてよく、代表セグメント（例えば、検出されたコーラスセクションなど）とみなされる信号の出力として候補代表セグメントのうちの１つを選択してよい。すべての候補代表セグメントは、（例えば、本明細書に記載する場面変化検出からの結果としての）それぞれの開始および終了場面変化ポイントによって定義され、または範囲を定められてよい。
【０１１１】
９．他の応用
本明細書に記載する技法は、音楽ファイルからコーラスセグメントを検出するのに使用されてよい。しかし、一般に、本明細書に記載する技法は、任意のオーディオファイル内の任意の反復セグメントを検出するのに有用である。
【０１１２】
１０．例示的プロセスフロー
図１９Ａおよび図１９Ｂに、本発明の一例示的実施形態による例示的プロセスフローを示す。一実施形態では、一または複数のコンピューティング装置またはメディア処理システム内の構成部分が、これらのプロセスフローのうちの一または複数を実行しうる。
【０１１３】
１０．１．例示的な反復検出プロセスフロー  指紋マッチングおよび探索
図１９Ａに、指紋を使用した例示的な反復検出プロセスフローを示す。ブロック１９０２で、メディア処理システムは、メディアデータ（曲など）から指紋のセットを抽出する。
【０１１４】
ブロック１９０４で、メディア処理システムは、指紋のセットに基づいて、問い合わせ指紋シーケンスのセットを選択する。問い合わせシーケンスのセット内の各個別の問い合わせ指紋シーケンスは、問い合わせ時刻から始まる時間間隔にわたるメディアデータの縮約表現を含んでいてよい。
【０１１５】
ブロック１９０６で、メディア処理システムは、問い合わせ指紋シーケンスのセットについての一致指紋シーケンスのセットを決定する。本明細書で使用する場合、一致シーケンスは、ハミング距離といった距離尺度ベースの値に基づく問い合わせ指紋シーケンスと類似した指紋シーケンスを含む。問い合わせシーケンスのセット内の各個別問い合わせシーケンスは、一致指紋シーケンスのセット内の０以上の一致指紋シーケンスに対応しうる。
【０１１６】
ブロック１９０８で、メディア処理システムは、問い合わせシーケンスの各々についての最良一致シーケンスの時間位置に基づいてオフセット値のセットを特定する。
【０１１７】
一実施形態では、本明細書に記載する指紋のセットは、メディアデータのディジタル表現を縮約してメディアデータの次元縮約バイナリ表現にすることによって生成されてよい。ディジタル表現は、高速フーリエ変換（ＦＦＴ）、ディジタルフーリエ変換（ＤＦＴ）、短時間フーリエ変換（ＳＴＦＴ）、変形離散コサイン変換（ＭＤＣＴ）、変形離散サイン変換（ＭＤＳＴ）、直交ミラーフィルタ（ＱＭＦ）、複素ＱＭＦ（ＣＱＭＦ）、離散ウェーブレット変換（ＤＷＴ）、またはウェーブレット係数のうちの一または複数に関連するものであってよい。
【０１１８】
一実施形態では、本発明の指紋は、悪意のある攻撃の検出に必要とされるロバストな指紋に関連して簡単に抽出できてよい。
【０１１９】
一実施形態では、問い合わせ指紋シーケンスのセットについての一致指紋シーケンスのセットを決定するために、メディア処理システムは、動的に構築される指紋データベースにおいて、問い合わせ指紋シーケンスと一致する一致指紋シーケンスを探索してよい。
【０１２０】
一実施形態では、問い合わせ指紋シーケンスは特定の問い合わせ時刻から始まるのに対し、動的に構築される指紋データベースは、該特定の問い合わせ時刻に対して一または複数の構成可能な時間窓内にある指紋の一または複数の部分を除外する。
【０１２１】
一実施形態では、問い合わせシーケンスのセットおよび一致シーケンスのセットに基づいてオフセット値のセットを特定するために、メディア処理システムは、問い合わせシーケンスのセットおよび一致シーケンスのセットから構築されたヒストグラムのうちの一または複数を使用して、有意なオフセット値のセットを決定する。
【０１２２】
一実施形態では、メディア処理システムは、低時間分解能の距離行列分析を使用して、有意なオフセット値のセットを特定する。有意なオフセット値のセットを特定し次第、一実施形態は、高時間分解能のクロマ距離行列分析を実行しうる。
【０１２３】
１０．２．例示的な反復検出プロセスフロー  ハイブリッド手法
図１９Ｂに、ハイブリッド手法を用いた例示的な反復検出プロセスフローを示す。ブロック１９１２で、メディア処理システムは、メディアデータから抽出可能な一または複数の特徴タイプのうちの第１のタイプを使用して（例えば、本明細書に記載する指紋探索およびマッチングなどを使用して）、メディアデータ内のオフセット値のセット内のオフセット値のサブセットを位置特定する。オフセット値のサブセットは、一または複数の選択基準に基づいて（例えば、一または複数の次元のヒストグラムを使用して）オフセット値のセットの中から選択された時間差値を含む。
【０１２４】
ブロック１９１４で、メディア処理システムは、一または複数の特徴タイプのうちの第２のタイプを使用して（例えば、クロマ距離行列といった特徴距離行列の選択的行計算を使用して）オフセット値のサブセットに基づく候補シード・タイム・ポイントのセットを特定する。
【０１２５】
一実施形態では、第１の特徴タイプは低時間分解能のクロマ特徴に対応し、第２の特徴タイプは高時間分解能のクロマ特徴に対応する。一実施形態は、高時間分解能のクロマ距離分析を使用して、上記のセクション６．３で論じたように、候補シード・タイム・ポイントを検出する。高時間分解能のクロマ特徴は、選択されたオフセット値のサブセットにおける候補シード・タイム・ポイントを特定するのに使用される。これは、メモリ使用量と計算費用の両方で効率のよい実装形態をもたらす。
【０１２６】
一実施形態では、第１の特徴タイプの一または複数の第１の特徴がメディアデータから抽出される。一または複数の第１の特徴に基づく第１の反復検出尺度の第１の距離値（例えば、指紋シーケンスのビット値間のハミング距離など）が、（例えば、指紋探索およびマッチングのサブプロセスなどで）算出されうる。第１の反復検出尺度の第１の距離値は、（例えば、指紋探索およびマッチングのサブプロセスなどで）オフセット値のサブセットを位置特定するために適用されてよい。
【０１２７】
一実施形態では、第２の特徴タイプの一または複数の第２の特徴がメディアデータから抽出される。一または複数の第２の特徴に基づく第２の反復検出尺度の第２の距離値（例えば、クロマ距離行列の選択的行内のクロマ距離値など）が算出されうる。第２の反復検出尺度の第２の距離値は、候補シード・タイム・ポイントのセットを特定するために適用されてよい。
【０１２８】
一実施形態では、第２の特徴タイプは、第１のタイプと同じタイプを含み、その相対的な変換サイズ、変換の種類、窓サイズ、窓形状、周波数分解能、または時間分解能に関連して第１のタイプと異なっていてよい。第１段で低時間分解能の特徴の分析を実行して有意なオフセットのセットを特定し、次いで、選択された有意なオフセット（例えばそれらのみ）に対して高時間分解能の分析を実行することにより、計算量が大幅に節減される。
【０１２９】
一実施形態では、第１の反復検出尺度および第２の反復検出尺度のうちの少なくとも１つが、以下のうちの一または複数として類似度または相違度の尺度に関連する：ベクトルのユークリッド距離、ベクトルノルム、平均二乗誤差、ビット誤り率、自己相関ベースの尺度、ハミング距離、類似度、または相違度。
【０１３０】
一実施形態では、第１の値および第２の値は一または複数の正規化された値を含む。
【０１３１】
一実施形態では、本発明の一または複数の特徴タイプのうちの少なくとも１つは、メディアデータのディジタル表現を形成するのに一部使用される。例えば、メディアデータのディジタル表現は、メディアデータの指紋ベースの次元縮約バイナリ表現を含んでいてよい。
【０１３２】
一実施形態では、一または複数の特徴タイプのうちの少なくとも１つは、構造的特性、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、またはメディアデータに関連したものとしての音源の量を取り込む特徴タイプを含む。
【０１３３】
一実施形態では、メディアデータから抽出可能な（例えば、導出可能な）特徴は、以下のうちの一または複数に基づくメディアデータの一または複数のディジタル表現を提供するのに使用される：クロマ、クロマ差、指紋、メル周波数ケプストラム係数（ＭＦＣＣ）、クロマベースの指紋、リズムパターン、エネルギー、または他の変形。
【０１３４】
一実施形態では、メディアデータから抽出可能な特徴は、以下のうちの一または複数に関連した一または複数のディジタル表現を提供するのに使用される：高速フーリエ変換（ＦＦＴ）、ディジタルフーリエ変換（ＤＦＴ）、短時間フーリエ変換（ＳＴＦＴ）、変形離散コサイン変換（ＭＤＣＴ）、変形離散サイン変換（ＭＤＳＴ）、直交ミラーフィルタ（ＱＭＦ）、複素ＱＭＦ（ＣＱＭＦ）、離散ウェーブレット変換（ＤＷＴ）、またはウェーブレット係数。
【０１３５】
一実施形態では、第１の特徴タイプの一または複数の第１の特徴および第２の特徴タイプの一または複数の第２の特徴は、メディアデータの同じ時間間隔に関連したものである。
【０１３６】
一実施形態では、第１の特徴タイプの一または複数の第１の特徴はメディアデータの全オフセットの特徴比較に使用され、第２の特徴タイプの一または複数の第２の特徴は、メディアデータのオフセットのある特定のサブセットの特徴の比較に使用される。一実施形態では、第１の特徴タイプの一または複数の第１の特徴はメディアデータの第１の時間間隔にわたるメディアデータの表現を形成し、第２の特徴タイプの一または複数の第２の特徴はメディアデータの第２の異なる時間間隔にわたるメディアデータの表現を形成する。一例では、第１の時間間隔は、メディアデータの第２の異なる時間間隔より大きい。別の例では、第１の時間間隔はメディアデータの全時間長を範囲とし、第２の時間間隔は、メディアデータの全時間長内のメディアデータの一または複数の時間部分を範囲とする。
【０１３７】
一実施形態では、第１の特徴タイプの一または複数の第１の特徴（指紋など）を抽出することは、メディアデータの同じ部分からの、第２の特徴タイプの一または複数の第２の特徴（クロマ特徴など）を抽出することに関連した簡単なものである。
【０１３８】
本明細書で使用する場合、メディアデータは、曲、作曲、楽譜、録音、詩、音響映像作品、映画、またはマルチメディアプレゼンテーションのうちの一または複数を含んでいてよい。メディアデータは、オーディオファイル、メディア・データベース・レコード、ネットワーク・ストリーミング・アプリケーション、メディアアプレット、メディアアプリケーション、メディア・データ・ビットストリーム、メディア・データ・コンテナ、電波放送メディア信号、記憶媒体、ケーブル信号、または衛星信号のうちの一または複数から導出されてよい。
【０１３９】
本明細書で使用する場合、ステレオミックスは、メディアデータの一または複数のステレオパラメータを含んでいてよい。一実施形態では、一または複数のステレオパラメータのうちの少なくとも１つは、コヒーレンス、チャネル間相互相関（ＩＣＣ：Ｉｎｔｅｒ−ｃｈａｎｎｅｌ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）、チャネル間レベル差（ＣＬＤ：Ｉｎｔｅｒ−ｃｈａｎｎｅｌ  Ｌｅｖｅｌ  Ｄｉｆｆｅｒｅｎｃｅ）、チャネル間位相差（ＩＰＤ：Ｉｎｔｅｒ−ｃｈａｎｎｅｌ  Ｐｈａｓｅ  Ｄｉｆｆｅｒｅｎｃｅ）、またはチャネル予測係数（ＣＰＣ：Ｃｈａｎｎｅｌ  Ｐｒｅｄｉｃｔｉｏｎ  Ｃｏｅｆｆｉｃｉｅｎｔ）に関連したものである。
【０１４０】
一実施形態では、メディア処理システムは、ある一定のオフセットで計算された距離値に一または複数のフィルタを適用する。メディア処理システムは、フィルタリングされた値に基づいて、場面変化検出のためのシード・タイム・ポイントのセットを特定する。
【０１４１】
この場合の一または複数のフィルタは、移動平均フィルタを含みうる。一実施形態では、複数のシード・タイム・ポイント内の少なくとも１つのシード・タイム・ポイントは、フィルタリングされた値における極小値に対応する。一実施形態では、複数のシード・タイム・ポイント内の少なくとも１つのシード・タイム・ポイントは、フィルタリングされた値における極大値に対応する。一実施形態では、複数のシード・タイム・ポイント内の少なくとも１つのシード・タイム・ポイントは、統計値における特定の中間値に対応する。
【０１４２】
クロマ特徴が本発明の技法で使用されるある実施形態では、クロマ特徴は、一または複数の窓関数を使用して抽出されうる。これらの窓関数は、それだけに限らないが、音楽的に動機付けられたもの、知覚的に動機付けられたものなどとしてよい。
【０１４３】
本明細書で使用する場合、メディアデータから抽出可能な特徴は、１２平均律のチューニングシステムに関連していても、関連していなくてもよい。
【０１４４】
このように、本発明の一例示的実施形態は、低計算量でメディアデータ内の反復を検出するように機能する。メディアデータから抽出可能な、一または複数の特徴タイプのうちの第１のタイプを使用して、オフセット・タイム・ポイントのサブセットが、メディアデータ内のオフセット・タイム・ポイントのセットにおいて位置特定される。オフセット・タイム・ポイントのサブセットは、一または複数の選択基準に基づいてオフセット・タイム・ポイントのセットの中から選択されるタイムポイントを含む。一または複数の特徴タイプのうちの第２のタイプを使用して、オフセット・タイム・ポイントのサブセットの中から候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および／またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および／または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【０１４５】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出（抽出など）を用いて、または複数の（例えば第２の）オフセット・タイム・ポイントのサブセットを用いて、メディア内の反復をさらに検出してよい。
【０１４６】
１１．実装機構  ハードウェア概要
一実施形態によれば、本明細書に記載する技法は、一または複数の専用コンピューティング装置によって実装される。専用コンピューティング装置は、該技法を実行するように配線されていてもよく、該技法を実行するように永続的にプログラムされた一または複数の特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）またはフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）といったディジタル電子デバイスを含んでいてもよく、ファームウェア、メモリ、他の記憶、またはそれらの組み合わせに含まれるプログラム命令に従って該技法を実行するようにプログラムされた一または複数の汎用ハードウェアプロセッサを含んでいてもよい。そうした専用コンピューティング装置は、該技法を実現するためのカスタムプログラミングを有する、カスタム配線論理、ＡＳＩＣ、またはＦＰＧＡと組み合わされていてもよい。専用コンピューティング装置は、デスクトップ・コンピュータ・システム、携帯式コンピュータシステム、ハンドヘルド機器、ネットワーキング機器、または該技法を実装するための配線および／またはプログラム論理を組み込んだ任意の他の機器とすることができる。
【０１４７】
例えば、図２０は、本発明の一実施形態が実装されうるコンピュータシステム２０００を示すブロック図である。コンピュータシステム２０００は、情報を伝達するためのバス２００２または他の通信機構と、情報を処理するための、バス２００２と結合されたハードウェアプロセッサ２００４とを含む。ハードウェアプロセッサ２００４は、例えば、汎用マイクロプロセッサとすることができる。
【０１４８】
またコンピュータシステム２０００は、情報およびプロセッサ２００４によって実行されるべき命令を記憶するための、バス２００２に結合された、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）や他の動的記憶装置といったメインメモリ２００６も含む。メインメモリ２００６は、プロセッサ２００４によって実行されるべき命令の実行時に一時変数または他の中間情報を記憶するのにも使用されうる。そうした命令は、プロセッサ２００４からアクセス可能な記憶媒体に記憶されると、コンピュータシステム２０００を、命令で指定された動作を実行するようにカスタマイズされた専用機にする。
【０１４９】
コンピュータシステム２０００は、プロセッサ２００４のための静的情報および命令を記憶するための、バス２００２に結合された読取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２００８または他の静的記憶装置をさらに含む。磁気ディスクや光ディスクといった記憶装置２０１０が設けられ、情報および命令を記憶するためにバス２００２に結合されている。
【０１５０】
コンピュータシステム２０００は、バス２００２を介して、コンピュータユーザに情報を表示するためのディスプレイ２０１２に結合されていてよい。入力装置２０１４は、英数字他のキーを含み、プロセッサ２００４に情報およびコマンド選択を伝達するためにバス２００２に結合されている。別の種類のユーザ入力装置が、プロセッサ２００４に方向情報およびコマンド選択を伝達し、ディスプレイ２０１２上のカーソルの動きを制御するための、マウス、トラックボール、カーソル方向キーといったカーソル制御２０１６である。この入力装置は、通常は、装置が平面内の位置を指定することを可能にする、第１の軸（ｘなど）および第２の軸（ｙなど）の２軸方向の２自由度を有する。コンピュータシステム２０００は、表示システム（図１の１００など）を制御するのに使用されうる。
【０１５１】
コンピュータシステム２０００は、カスタマイズされた配線論理、一または複数のＡＳＩＣもしくはＦＰＧＡ、ファームウェアおよび／またはプログラム論理を使用して本明細書に記載する技法を実装してよく、これらの論理は、コンピュータシステムと組み合わさって、コンピュータシステム２０００を専用機にし、または専用機になるようにプログラムする。一実施形態によれば、本発明の技法は、プロセッサ２００４がメインメモリ２００６に含まれる一または複数の命令の一または複数のシーケンスを実行したことに応答して、コンピュータシステム２０００によって実行される。そうした命令は、記憶装置２０１０といった別の記憶媒体からメインメモリ２００６に読み込まれてよい。メインメモリ２００６に含まれる命令シーケンスの実行により、プロセッサ２００４は、本明細書に記載するプロセスステップを実行する。代替の実施形態では、配線回路が、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。
【０１５２】
「記憶媒体」という用語は、本明細書で使用する場合、マシンを特定のやり方で動作させるデータおよび／または命令を記憶する任意の媒体を指す。そうした記憶媒体は、不揮発性媒体および／または揮発性媒体を含みうる。不揮発性媒体は、例えば、記憶装置２０１０といった、光ディスクや磁気ディスクを含む。揮発性媒体は、メインメモリ２００６といった、動的メモリを含む。記憶媒体の一般的な形態には、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッド・ステート・ドライブ、磁気テープもしくは任意の他の磁気データ記憶媒体、ＣＤ−ＲＯＭ、任意の他の光データ記憶媒体、孔のパターンを有する任意の物理媒体、ＲＡＭ、ＰＲＯＭ、およびＥＰＲＯＭ、フラッシュＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリチップもしくはカートリッジが含まれる。
【０１５３】
記憶媒体は伝送媒体と別個のものであるが、伝送媒体と併用されてよい。伝送媒体は、記憶媒体間の情報の転送に関与する。例えば、伝送媒体は、同軸ケーブル、銅線、および光ファイバを含み、バス２００２を構成する線を含む。伝送媒体は、電波および赤外線データ通信時に生成されるような、音波または光波の形も取ることができる。
【０１５４】
多様な形態の媒体が、一または複数の命令の一または複数のシーケンスを、実行のためにプロセッサ２００４へ搬送する際に関与しうる。例えば、命令は、最初は、リモートコンピュータの磁気ディスクまたはソリッド・ステート・ドライブ上に保持されていてよい。リモートコンピュータは、命令を、その動的メモリにロードし、その命令を、モデムを使用して電話回線上で送信することができる。コンピュータシステム２０００のローカルのモデムは、電話回線上でデータを受信し、赤外線送信機を使用してデータを赤外線信号に変換することができる。赤外線検知器は、赤外線信号で搬送されたデータを受信することができ、適切な回路がデータをバス２００２に乗せることができる。バス２００２は、データをメインメモリ２００６へ搬送し、プロセッサ２００４はメインメモリ２００６から命令を取り出し、実行する。メインメモリ２００６によって受け取られた命令は、任意選択で、プロセッサ２００４による実行の前または後に、記憶装置２０１０上に記憶されてもよい。
【０１５５】
またコンピュータシステム２０００は、バス２００２に結合された通信インターフェース２０１８も含む。通信インターフェース２０１８は、ローカルネットワーク２０２２に接続されたネットワークリンク２０２０に結合する２方向データ通信を提供する。例えば、通信インターフェース２０１８は、統合サービスディジタルネットワーク（ＩＳＤＮ：ｉｎｔｅｇｒａｔｅｄ  ｓｅｒｖｉｃｅｓ  ｄｉｇｉｔａｌ  ｎｅｔｗｏｒｋ）カード、ケーブルモデム、衛星モデム、または対応する種類の電話回線へのデータ通信接続を提供するモデムとすることができる。別の例として、通信インターフェース２０１８は、互換性を有するローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）へのデータ通信接続を提供するＬＡＮカードとすることもできる。無線リンクも実装されうる。いずれのそうした実装形態でも、通信インターフェース２０１８は、多様な種類の情報を表すディジタル・データ・ストリームを搬送する、電気信号、電磁信号または光信号を送受信する。
【０１５６】
ネットワークリンク２０２０は、通常は、一または複数のネットワークを介した他のデータ機器へのデータ通信を提供する。例えば、ネットワークリンク２０２０は、ローカルネットワーク２０２２を介した、ホストコンピュータ２０２４への、またはインターネット・サービス・プロバイダ（ＩＳＰ：Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）２０２６によって運営されるデータ設備への接続を提供しうる。ＩＳＰ２０２６は、さらに、今では一般に「インターネット」２０２８と呼ばれる、世界規模のパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク２０２２およびインターネット２０２８は、どちらも、ディジタル・データ・ストリームを搬送する電気信号、電磁信号または光信号を使用する。様々なネットワークを通る信号、ならびにネットワークリンク２０２０上の信号および通信インターフェース２０１８を通る信号は、コンピュータシステム２０００との間でディジタルデータを搬送し、伝送媒体の例示的形態である。
【０１５７】
コンピュータシステム２０００は、ネットワーク、ネットワークリンク２０２０、および通信インターフェース２０１８を介して、プログラムコードを含めて、メッセージを送信し、データを受信することができる。インターネットの例では、サーバ２０３０は、インターネット２０２８、ＩＳＰ２０２６、ローカルネットワーク２０２２、および通信インターフェース２０１８を介して、要求されたアプリケーションプログラムのコードを送信してよいはずである。受信されたコードは、受信されるときにプロセッサ２００４によって実行され、かつ／または後で実行するために記憶装置２０１０、もしくは他の不揮発性記憶に記憶されうる。
【０１５８】
１２．均等物、拡張、代替、その他
以上のように、本発明の一例示的実施形態は、メディアデータ内の反復の低計算量検出に関連して説明されている。メディアデータから抽出可能な（例えば、メディアデータの成分から導出可能な）、一または複数の特徴タイプのうちの第１のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第２のタイプを使用して、オフセット値のサブセットに基づいて候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および／またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および／または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【０１５９】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出（抽出など）を用いて、または複数の（例えば第２の）オフセット・タイム・ポイントのサブセットを用いて、メディア内の反復をさらに検出してよい。
【０１６０】
以上の明細書では、実装ごとに異なりうる多数の具体的詳細に関連して本発明の例示的実施形態を説明した。よって、本発明の実施形態が何を含み、何が本出願の出願人によって本発明の実施形態を構成するものと意図されているかを唯一示すのは、特許請求の範囲に特有の形式の、本出願に由来する特許請求の範囲であり、これには任意の後続の補正が含まれる。特許請求の範囲に含まれる用語について本明細書で明示されているあらゆる定義は、特許請求の範囲で使用されるそうした用語の意味を決定するものとする。よって、請求項に明記されないいかなる限定、要素、特性、特徴、利点、または属性も、該請求項の範囲をいかなる点においても限定すべきではない。したがって、本明細書および図面は、限定ではなく例示とみなされるべきである。
【図１Ａ】
0005901790.tif 000006
【図１Ｂ】
0005901790.tif 000007
【図２】
0005901790.tif 000008
【図３】
0005901790.tif 000009
【図４】
0005901790.tif 000010
【図５】
0005901790.tif 000011
【図６】
0005901790.tif 000012
【図７】
0005901790.tif 000013
【図８】
0005901790.tif 000014
【図９】
0005901790.tif 000015
【図１０】
0005901790.tif 000016
【図１１】
0005901790.tif 000017
【図１２】
0005901790.tif 000018
【図１３】
0005901790.tif 000019
【図１４】
0005901790.tif 000020
【図１５】
0005901790.tif 000021
【図１６】
0005901790.tif 000022
【図１７】
0005901790.tif 000023
【図１８】
0005901790.tif 000024
【図１９Ａ】
0005901790.tif 000025
【図１９Ｂ】
0005901790.tif 000026
【図２０】
0005901790.tif 000027