(58)【調査した分野】(Int.Cl.,DB名)
前記第2の特徴タイプは、変換サイズ、変換の種類、窓サイズ、窓形状、周波数分解能、または時間分解能のうちの一または複数を使用して、前記メディアデータに関連した信号の表現から導出または抽出される、請求項1に記載の方法。
前記指紋のセットを、前記メディアデータのディジタル表現を縮約して前記メディアデータの次元縮約バイナリ表現にすることによって生成するステップをさらに含み、前記ディジタル表現は、高速フーリエ変換(FFT)、ディジタルフーリエ変換(DFT)、短時間フーリエ変換(STFT)、変形離散コサイン変換(MDCT)、変形離散サイン変換(MDST)、直交ミラーフィルタ(QMF)、複素QMF(CQMF)、離散ウェーブレット変換(DWT)、クロマ特徴、またはウェーブレット係数のうちの一または複数に関するものである、請求項3に記載の方法。
前記問い合わせ指紋シーケンスのセットについての一致指紋シーケンスのセットを決定するステップは、動的に構築される指紋データベースにおいて、問い合わせ指紋シーケンスと一致する一致指紋シーケンスを探索するステップを含む、請求項3に記載の方法。
前記問い合わせ指紋シーケンスは特定の問い合わせ時刻から始まり、前記動的に構築される指紋データベースは、前記特定の問い合わせ時刻に対する一または複数の構成可能な時間窓内にある指紋の一または複数の部分を除外する、請求項6に記載の方法。
前記第1の反復検出尺度および前記第2の反復検出尺度のうちの少なくとも1つは、ベクトルのユークリッド距離、ベクトルノルム、平均二乗誤差、ビット誤り率、自己相関ベースの尺度、ハミング距離、類似度、または相違度のうちの一または複数に関連したものである、請求項1に記載の方法。
前記一または複数の特徴タイプのうちの少なくとも1つは、構造的特性、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、または前記メディアデータに関連したものとしての音源の量を取り込む特徴タイプを含む、請求項1に記載の方法。
前記ステレオミックスは前記メディアデータの一または複数のステレオパラメータを含み、前記ステレオパラメータのうちの少なくとも1つは、コヒーレンス、チャネル間相互相関(ICC:Inter−channel Cross−Correlation)、チャネル間レベル差(CLD:Inter−channel Level Difference)、チャネル間位相差(IPD:Inter−channel Phase Difference)、またはチャネル予測係数(CPC:Channel Prediction Coefficient)に関連したものである、請求項13に記載の方法。
前記メディアデータから抽出可能な前記特徴は、クロマ、クロマ差、差分クロマ特徴、指紋、メル周波数ケプストラム係数(MFCC:Mel−Frequency Cepstral Coefficient)、クロマベースの指紋、リズムパターン、エネルギー、または他の変形、のうちの一または複数に基づく前記メディアデータの一または複数のディジタル表現を提供するのに使用される、請求項1に記載の方法。
前記第1の特徴タイプの前記一または複数の第1の特徴および前記第2の特徴タイプの前記一または複数の第2の特徴は、前記メディアデータの同じ時間間隔に関連したものである、請求項1に記載の方法。
前記第1の特徴タイプの前記一または複数の第1の特徴は前記メディアデータの第1の時間間隔にわたる前記メディアデータの表現を形成し、前記第2の特徴タイプの前記一または複数の第2の特徴は前記メディアデータの第2の異なる時間間隔にわたる前記メディアデータの表現を形成する、請求項1に記載の方法。
前記第1の特徴タイプの前記一または複数の第1の特徴を抽出するステップは、前記メディアデータの同じ部分からの、前記第2の特徴タイプの前記一または複数の第2の特徴を抽出するステップに関連した簡単なものである、請求項1に記載の方法。
前記第1の特徴タイプの前記一または複数の第1の特徴の距離値を算出するステップは、前記メディアデータの同じ部分からの、前記第2の特徴タイプの前記一または複数の第2の特徴の距離値を算出するステップに関連した簡単なものである、請求項1に記載の方法。
前記メディアデータは、曲、作曲、楽譜、録音、詩、音響映像作品、映画、またはマルチメディアプレゼンテーション、のうちの一または複数を含む、請求項1に記載の方法。
オーディオファイル、メディア・データベース・レコード、ネットワーク・ストリーミング・アプリケーション、メディアアプレット、メディアアプリケーション、メディア・データ・ビットストリーム、メディア・データ・コンテナ、電波放送メディア信号、記憶媒体、ケーブル信号、または衛星信号のうちの一または複数から前記メディアデータを導出するステップをさらに含む、請求項1に記載の方法。
前記メディア・データ・ビットストリームは、アドバンスド・オーディオ・コーディング(AAC:Advanced Audio Coding)ビットストリーム、高効率AACビットストリーム、MPEG−1/2オーディオレイヤ3(MP3)ビットストリーム、ドルビー・ディジタル(AC3)・ビットストリーム、ドルビー・ディジタル・プラス・ビットストリーム、ドルビー・プラス・ビットストリーム、またはドルビーTrueHDビットストリームのうちの一または複数を含む、請求項23に記載の方法。
前記一または複数のフィルタは移動平均フィルタを含み、前記複数のシード・タイム・ポイント内の少なくとも1つのシード・タイム・ポイントは、前記フィルタリングされた値の極小に対応する、請求項25または請求項26の一または複数の項に記載の方法。
前記一または複数のフィルタは移動平均フィルタを含み、前記複数のシード・タイム・ポイント内の少なくとも1つのシード・タイム・ポイントは、前記フィルタリングされた値の極大に対応する、請求項25または請求項26の一または複数の項に記載の方法。
前記一または複数のフィルタは移動平均フィルタを含み、前記複数のシード・タイム・ポイント内の少なくとも1つのシード・タイム・ポイントは、前記フィルタリングされた値における特定の中間値に対応する、請求項25または26に記載の方法。
【発明を実施するための形態】
【0030】
本明細書では、メディアデータにおける低計算量反復検出に関するものである本発明の例示的実施形態を記述する。以下の記述では、説明として、本発明の十分な理解を提供するために、多数の具体的詳細が示される。しかし、本発明は、これらの具体的詳細なしでも実施されうることが理解されるであろう。場合によっては、本発明を不必要に含み、曖昧にし、または分かりにくくすることを回避するために、周知の構造および機構は網羅的に詳細に記述されない。
【0031】
本明細書では、以下の概要に従って例示的実施形態を説明する。
1.概論
2.特徴抽出のためのフレームワーク
3.スペクトルベースの指紋
4.クロマ特徴
5.他の特徴
5.1メル周波数ケプストラム係数(MFCC:MEL−FREQUENCY CEPSTRAL COEFFICIENT)
5.2リズム特徴
6.反復部分の検出
6.1.指紋マッチング
6.2.有意な(候補)オフセットの検出
6.3.クロマ距離分析
6.4.類似度行の算出
7.場面変化検出を使用した改善
8.ランク付け
9.他の応用
10.例示的プロセスフロー
10.1.例示的な反復検出プロセスフロー 指紋マッチングおよび探索
10.2.例示的な反復検出プロセスフロー ハイブリッド手法
11.実装機構 ハードウェア概要
12.均等物、拡張、代替、その他
【0032】
1.概論
この概論は、本発明の一例示的実施形態のいくつかの態様の基本的な説明を提示するものである。この概論は、可能な実施形態の態様の幅広い、または網羅的な要約ではないことに留意すべきである。さらに、この概論は、可能な実施形態の特に重要な態様または要素を特定するものと理解されることも、特定の可能な実施形態、または本発明全体の範囲を明確化するものと理解されることも意図したものではないことにも留意すべきである。この概論は、単に、例示的な可能な実施形態に関連したいくつかの概念を、要約された、簡単な形式で提示するにすぎず、単に、以下の例示的実施形態のより詳細な説明の概念的な前置きと理解すべきである。
【0033】
本発明の一実施形態は、メディアデータ内の反復を検出するための低計算量の機能を提供する。メディアデータから抽出可能な、一または複数の特徴タイプのうちの第1のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、オフセット値のセットの中から、一または複数の選択基準に基づいて選択されるオフセット値を含む。一または複数の特徴タイプのうちの第2のタイプを使用して、オフセット値のサブセットの中から候補シード・タイム・ポイントのセットが特定される。このフレームワークにおける第1および第2の特徴タイプは、場合によっては、単に時間分解能に関してのみ異なっていてよい。例えば、一特徴が、低い時間分解能で、まず、反復が発生する可能性の高いオフセット値のサブセットを迅速に特定するのに使用されてよい。反復が発生する可能性の高いオフセット値のサブセットを特定し次第、次いで、それら選択されたオフセット値における候補シード・タイム・ポイントのセットが、同じ特徴の高い時間分解能の分析に基づいて特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および/またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および/または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【0034】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出(抽出など)を用いて、または複数の(例えば第2の)オフセット・タイム・ポイント・サブセットを用いて、メディア内の反復をさらに検出してよい。
【0035】
本明細書に記載するように、メディアデータは、それだけに限らないが、曲、作曲、楽譜、録音、詩、音響映像作品、映画、またはマルチメディアプレゼンテーションのうちの一または複数を含んでいてよい。様々な実施形態において、メディアデータは、オーディオファイル、メディア・データベース・レコード、ネットワーク・ストリーミング・アプリケーション、メディアアプレット、メディアアプリケーション、メディア・データ・ビットストリーム、メディア・データ・コンテナ、電波放送メディア信号、記憶媒体、ケーブル信号、または衛星信号のうちの一または複数から導出されてよい。
【0036】
構造的特性、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、またはメディアデータの音源の音量を取り込む、多くの異なるタイプのメディア特徴がメディアデータから抽出されてよい。本明細書に記載するメディアデータから抽出可能な特徴は、多数のメディア規格、12平均律のチューニングシステム、または12平均律のチューニングシステム以外の異なるチューニングシステムのいずれに関連するものであってもよい。
【0037】
これらのタイプのメディア特徴のうちの一または複数を使用してメディアデータのディジタル表現が生成されてよい。例えば、調性、またはメディアデータの調性と音色の両方を取り込むタイプのメディア特徴が抽出され、メディアデータについての、例えば、時間領域や周波数領域でのフルディジタル表現を生成するのに使用されてもよい。フルディジタル表現は合計N個のフレームを含んでいてよい。ディジタル表現の例には、それだけに限らないが、高速フーリエ変換(FFT:fast Fourier transform)、ディジタルフーリエ変換(DFT:digital Fourier transform)、短時間フーリエ変換(STFT:short time Fourier transform)、変形離散コサイン変換(MDCT:Modified Discrete Cosine Transform)、変形離散サイン変換(MDST:Modified Discrete Sine Transform)、直交ミラーフィルタ(QMF:Quadrature Mirror Filter)、複素QMF(CQMF:Complex QMF)、離散ウェーブレット変換(DWT:discrete wavelet transform)、ウェーブレット係数が含まれうる。
【0038】
いくつかの技法では、ある代表的な特性を有する特定のセグメントがメディアデータ内に存在するかどうか、およびメディアデータ内のどこに存在するかを判定するためにN×N距離行列が計算されうる。代表的な特性の例には、それだけに限らないが、音声の有無、最も多く、または少なく反復されるといった反復特性など、ある一定のメディア特徴が含まれうる。
【0039】
際立って対照的に、本明細書に記載する技法では、ディジタル表現は、まず、指紋へと縮約されうる。本明細書で使用する場合、指紋とは、該指紋がそこから導出されうるディジタル表現のデータ量よりも数オーダー小さいデータ量のものとすることができ、効率よく算出され、探索され、比較されうる。
【0040】
本明細書に記載する技法では、ずっと最適化された探索およびマッチングのステップを使用して、問い合わせ指紋シーケンスについて、メディアデータにおいてある代表的な特性を有する信号が反復する可能性の高いオフセット値(または単なるオフセット)のセットが迅速に特定される。
【0041】
ある実施形態では、メディアデータの全持続時間の一部、または全部が、その各々があるタイムポイントから始まる複数の時間的セクションへ分割されうる。特定の問い合わせタイムポイントにおける問い合わせシーケンスが、該特定のタイムポイントから始まる複数のセクションのうちの1つの指紋シーケンスによって形成されてよく、この特定のタイムポイントを、該指紋シーケンスの問い合わせタイムポイントと呼ぶことができる。
【0042】
動的指紋データベースを使用して、問い合わせシーケンスと比較されるべきメディアデータの指紋が記憶されてよい。一実施形態では、動的指紋データベースは、問い合わせシーケンス内の指紋、および、それに加えて、かつ/または任意選択で、問い合わせシーケンスの近傍のいくつかの指紋が動的データベースから除外されるようなやり方で構築される。
【0043】
単純な線形探索および比較演算を使用して、問い合わせシーケンスに対して、動的データベース内のすべての反復する、または類似の指紋シーケンスが突き止められてよい。これらの問い合わせ指紋シーケンスを設定するステップ、動的指紋データベースを構築するステップ、メディアデータ内の類似の、または一致するシーケンスを求める問い合わせシーケンスの線形探索および比較演算を実行するステップは、すべてのタイムポイントについて反復されてよい。問い合わせタイムポイント(t
q)ごとに、発明者らは、最良一致シーケンスが見つかったタイムポイント(t
m)を記録する。発明者らは、問い合わせポイントとそれに対応するデータベース内のマッチングシーケンスとの時間差を表す(t
m−t
q)と等しいオフセット値を算出する。その結果、問い合わせシーケンスの各々に対応するオフセット値のセットがメディアデータについて確立されうる。
【0044】
このオフセット値のセットについて、有意なオフセット値、すなわち、オフセット値のサブセットが、一または複数の選択基準に基づいてオフセット値のセットの中からさらに選択されてよい。一例では、一または複数の選択基準は、オフセット値の発生頻度に関連したものとしてよい。ある一定の閾値を超える発生頻度と関連付けられたオフセット値がオフセット値のサブセットに含められてよく、それらのオフセット値を有意なオフセット値と呼ぶことができる。ある実施形態では、有意なオフセット値は、オフセット値の発生頻度を表す一または複数のヒストグラムを使用して特定されうる。
【0045】
例示的な低計算量の手法
ある実施形態では、有意なオフセット値は、距離行列の低分解能表現を使用して特定されうる。低時間分解能の距離行列は、後述する例示的手法に従って算出される。一実施形態は、曲全体または他の音楽コンテンツを表すものと仮定されるN個の特徴ベクトル(f
1,f
2,…,f
i,…,f
N)を用いて機能する。完全距離行列が特徴ベクトルf(i)(iはフレームインデックスを指す)から算出され、D(o,i)=dist(f(i),f(i+o))であり、oはオフセット値のインデックスを表す。サブサンプリングされた距離行列(低時間分解能など)について、特徴ベクトルからのある一定のフレームが、D(o,i)=dist(f(Ki),f(Ki+o))に従って単純にスキップされ、式中、Kは、サブサンプリング係数を表す整数を表し、例えば、K=2,3,4,…である。サブサンプリング係数が2を含む一実施形態が実装される。
【0046】
低分解能距離行列を算出し次第、後述するように、計算が行われて、反復が発生する有意なオフセットのサブセットが獲得される。
まず、距離行列の各行が(例えば、数秒の長さのMAフィルタを用いて)平滑化される。平滑化された行列中の低い値は、平滑フィルタの長さと同様の長さのオーディオセグメントに対応する。平滑化された距離行列は、有意なオフセットを見つけるために極小値の点を求めて探索される。一実施形態は、以下に列挙する例示的ステップに従って、極小値を反復して見つける。
1.最小値を見つける(オフセット、および時間値:o
min,n
m,inをもたらす)
d
min=min(D(o,i))、式中、d
min=D(o
min,n
m,in)
2.オフセット値を有意なオフセットとして記録する。
3.D(o
min±r
o,n
min±r
n)=∞、式中、r
o=0,1,…,R
n、r
n=0,1,…,N
n、を設定することにより、次回の極小値の探索のために、ある一定の範囲内の見つかった極小値の前後の値を除外する。(N
nがフレーム数(=Dの列の数)に等しい一実施形態が実装され、例えば、記録された有意なオフセットのすべての列((時間フレーム)が除外される。
4.所望の数の有意なオフセットに達するまで、例示的ステップ1から反復する。
一実施形態は、クロマ距離値の最小数M
min、最大数M
max、および閾値THを用いて、有意なオフセットの数を定義する。M
min個以上のオフセット(例えば、M
min=3)が獲得される。次いで、見つかった値が十分に低いことを確認するために、例えば、最大M
maxの数(例えば、M
max=10)のオフセットまで、クロマ−距離値の条件が検査される。大域的最小値(例えば、最初の反復で見つかった最小値)から、例えば、d
min*1.25として閾値が決定される。これは、前述の例示的ステップを幾分変更する。例えば、一実施形態では、ステップ1およびステップ4が後述する以下のように変化する。
1.最小値(オフセット、および時間値:o
min,n
m,inをもたらす)が見つけられる
d
min=min(D(o,i))、式中、d
min=D(o
min,n
m,in)。
M
min個のオフセットが獲得される場合、クロマ−距離閾値を検査する:d
min<THの場合にはステップ2に進み、そうでない場合には停止する。
4.ステップ1から反復する。(例えば、M
max個のオフセットが獲得されるまで)。
図1Bに、4回の反復1001、1002、a1003および1004にわたって(例えば4回の反復の間に)算出される、例示的距離行列1000を示す。検出された最小値は黒い×印で表されている。反復ごとに、前の最小値の前後の範囲が、次の反復での探索のために除外される。
【0047】
よって、本発明の一例示的実施形態は、メディアデータ内の反復を検出するための低計算量の機能を提供する。メディアデータから抽出可能な(例えば、メディアデータの成分から導出可能な)、一または複数の特徴タイプのうちの第1のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第2のタイプを使用して、オフセット値のサブセットに基づいて候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および/またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および/または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【0048】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低い可能性のある用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴の中からの一または複数のメディア指紋の導出(抽出など)を用いて、または複数の(例えば第2の)オフセット・タイム・ポイント・サブセットを用いて、メディア内の反復をさらに検出してよい。
【0049】
本明細書に記載する技法では、有意なオフセット値に等しい時間差のみでの特徴間で、特徴ベースの比較または距離算出が行われてよい。既存の技法で必要とされるメディアデータの全持続時間を範囲とするN個のフレームを使用した全距離行列は、本明細書に記載する技法では回避されうる。ある可能な実施形態では、有意なオフセット値における特徴比較は、指紋分析からのタイムポイント(t
mやt
q)の時間位置を含む限られた時間範囲に対してさらに実行されうる。
【0050】
一実施形態では、本明細書に記載する有意なオフセット値と等しい、時間差を有する特徴間の特徴ベースの比較または距離計算は、候補シード・タイム・ポイントのセットを特定するための第2の特徴タイプに基づくものとしてよい。第2の特徴タイプは、有意なオフセット値を生成するのに使用される特徴タイプと同じとすることができる。代替として、かつ/または任意選択で、これらの特徴ベースの比較または距離算出は、有意なオフセット値を生成するのに使用された特徴タイプと異なる特徴タイプに基づくものであってもよい。
【0051】
一実施形態では、本明細書に記載する有意なオフセット値と等しい時間差を有する特徴間の特徴ベースの比較または距離計算は、ベクトルのユークリッド距離、平均二乗誤差、ビット誤り率、自己相関ベースの尺度、またはハミング距離のうちの一または複数に関連した類似度または相違度の値を生成してよい。一実施形態では、フィルタを適用して類似度または相違度の値が平滑化されてよい。そうしたフィルタの例は、それだけに限らないが、バターワースフィルタ、移動平均フィルタなどとすることができる。
【0052】
一実施形態では、フィルタリングされた類似度または相違度の値を使用して、有意なオフセット値の各々についてのシード・タイム・ポイントのセットが特定されてよい。シード・タイム・ポイントは、例えば、フィルタリングされた値における極小値または極大値に対応しうる。
【0053】
本発明の実施形態は、コーラスセクション、すなわち、曲の大きなセクションがブラウズされるときの再生またはプレビューに適しうる短いセクション、呼出し音などの特定を、効果的に、効率よく可能にする。曲といったメディアデータ内の一または複数の代表セグメントのいずれかを再生するために、メディア内の一または複数の代表セグメントの位置は、例えば、符号化段のメディア・データ・ビットストリームにおいてメディア生成器によって符号化されてもよい。メディア・データ・ビットストリームは、次いで、代表セグメントの位置を回復し、代表セグメントのいずれかを再生するために、メディア・データ・プレーヤによって復号されてよい。
【0054】
一実施形態では、本明細書に記載する機構は、メディア処理システムの一部を形成し、メディア処理システムは、それだけに限らないが、以下のものを含む:ハンドヘルド機器、ゲーム機、テレビ、ラップトップコンピュータ、ノートブックコンピュータ、セルラ無線電話機、電子ブックリーダ、POS端末、デスクトップコンピュータ、コンピュータワークステーション、コンピュータキオスク、または様々な他の種類の端末およびメディア処理装置。
【0055】
好ましい実施形態への様々な改変および本明細書に記載する一般的な原理および特徴は、当業者には容易に明らかになるであろう。よって、本開示は、図示の実施形態だけに限定することを意図されておらず、本開示には、本明細書に記載する原理および特徴と整合性を有する最も広い範囲が与えられるべきである。
【0056】
2.特徴抽出のためのフレームワーク
一実施形態では、本発明のメディア処理システムは、
図1に示す4つの主要な構成要素を含んでいてよい。特徴抽出構成要素は、曲といったメディアデータから様々な特徴タイプを抽出しうる。反復検出構成要素は、反復的なメディアデータの時間的セクションを、例えば、メディアデータの抽出された特徴に表されたこれらのセクション内の曲の旋律、和声、歌詞、音色といったメディアデータのある一定の特性に基づいて見つけてよい。
【0057】
一実施形態では、反復セグメントは、場面変化検出構成要素によって実行される改善手順を施されてよく、場面変化検出構成要素は、選択された反復セクションを含むセグメントを明示する正しい開始タイムポイントおよび終了タイムポイントを見つける。これら正しい開始タイムポイントおよび終了タイムポイントは、メディアデータ内で特異な特性を保有する一または複数の場面の開始および終了の場面変化ポイントを含みうる。1ペアの開始場面変化ポイントと終了場面変化ポイントが、候補代表セグメントを明示しうる。
【0058】
ランク付け構成要素によって実行されるランク付けアルゴリズムが、すべての候補代表セグメントの中から代表セグメントを選択するために適用されてよい。一個別実施形態では、選択される代表セグメントは、曲のコーラスとしてよい。
【0059】
一実施形態では、本明細書に記載するメディア処理システムは、指紋マッチングとクロマ距離分析の組み合わせを実行するように構成されてよい。本明細書に記載する技法では、システムは、比較的低計算量で、高性能で大量のメディアデータを処理するように動作しうる。指紋マッチングは、メディアデータにおいて反復的な最良一致セグメントを求める高速で低計算量の探索を可能にする。これらの実施形態では、反復が発生するオフセット値のセットが特定される。
【0060】
一実施形態は、低時間分解能で第1レベルのクロマ距離分析を使用して、反復が発生するオフセット値のセットを特定する。次いで、より正確な高時間分解能のクロマ距離分析が、それらのオフセットだけで適用される。メディアデータの同じ時間間隔に対して、クロマ距離分析は、指紋マッチング分析よりも信頼性が高く、正確でありうるが、より高い計算量という代償を伴う。
【0061】
対照的に、組み合わせおよび/またはハイブリッド(組み合わせ/ハイブリッド)の手法は、初期低計算量段を使用して、反復が発生する有意なオフセット値のセットを特定する。この低計算量段で、一実施形態は、指紋マッチングを使用して有意なオフセットを特定し、または低時間分解能のクロマ距離行列分析を使用して機能してよい。これは、メディアデータ内のある一定の有意なオフセットに適用されるものを除く高分解能のクロマ距離分析を不要にし、計算量およびメモリ使用量に関して著しい経済性が達成される。例えば、メディアデータの全持続時間にわたって高分解能のクロマ距離分析を適用することは、処理計算量およびメモリ消費の点で著しく多い計算費用を有する。
【0062】
よって、本発明の一例示的実施形態は、メディアデータ内の反復を検出するための低計算量の機能を提供する。メディアデータから抽出可能な(例えば、メディアデータの成分から導出可能な)、一または複数の特徴タイプのうちの第1のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第2のタイプを使用して、オフセット値のサブセットに基づいて候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および/またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および/または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【0063】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低い可能性のある用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴の中からの一または複数のメディア指紋の導出(抽出など)を用いて、または複数の(例えば第2の)オフセット・タイム・ポイント・サブセットを用いて、メディア内の反復をさらに検出してよい。
【0064】
前述のように、ある反復検出システムは完全距離行列を算出し、完全距離行列は、メディアデータの全N個のフレームの任意の2つによって形成されるすべての組み合わせのひとつひとつの間の距離を含む。完全距離行列の算出は、計算上高くつき、高いメモリ使用量を必要としうる。
図2に、第1のコーラスセクションと第2のコーラスセクションとの間に図示されたオフセットを有する、曲といった例示的メディアデータを示す。
図3に、距離算出のための、時間とオフセットの2つの次元を有する例示的な距離行列を示す。オフセットは、特徴に関連した相違度(もしくは距離)(または類似度)がそこから算出される2フレーム間のタイムラグを表す。反復セクションは水平の濃い線で表されており、ある連続フレームのセクションから、ある一定のオフセットだけ離れた別の連続フレームのセクションまでの低距離に対応する。
【0065】
本明細書に記載する技法では、完全距離行列の算出は回避されうる。代わりに、指紋マッチングデータが、反復の概算位置および(近隣の反復の)概算位置間のそれぞれのオフセットを提供するために分析されうる。よって、有意なオフセットのうちの1つと等しくないオフセット値だけ隔てられた特徴間の距離算出を回避することができる。ある可能な実施形態では、有意なオフセット値における特徴比較は、指紋分析からのタイムポイント(t
mおよびt
q)の時間位置を含む限られた時間範囲に対してさらに実行されうる。一実施形態では、有意なオフセットのセットを特定するために、低時間分解能の距離行列が算出される。その結果、たとえ本明細書に記載する技法で距離行列が使用される場合であっても、そうした距離行列は、他の技法での完全距離行列と比べて、そのための距離が算出されるべき行および列をごく少数しか含まないはずであり、付随して計算量が節減される。
【0066】
3.スペクトルベースの指紋
指紋抽出(例えば、コンテンツ成分からの指紋導出)は、メディアデータの基礎となるセクションの識別子として機能しうるコンパクトなビットストリーム表現を作成する。一般に、メディアデータの悪意のある調節(tempering)を検出するために、指紋は、符号化、ダイナミックレンジ圧縮(DRC:Dynamic Range Compression)、等化などを含む様々な信号処理/改ざん操作に対するロバスト性を保有するように設計されうる。しかし、本明細書に記載するメディアデータ内の反復セクションを見つける目的では、指紋のロバスト性要件は緩和されてよい。というのは、指紋のマッチングは同じ曲内で行われるからである。通常の指紋システムによって処理されなければならない悪意のある攻撃は、本明細書に記載するメディアデータには含まれず、または比較的まれであると思われる。
【0067】
さらに、本発明の指紋抽出は、粗い分光写真表現に基づくものとしてよい。例えば、メディアデータがオーディオ信号である実施形態では、オーディオ信号は、モノ信号へダウンミックスされてよく、加えて、かつ/または任意選択で、16kHzへダウンサンプリングされてもよい。ある実施形態では、オーディオ信号といったメディアデータは、それだけに限らないが、モノ信号へと処理されてよく、さらに、重なり合うチャンクへ分割されてよい。重なり合うチャンクの各々から分光写真が作成されてよい。粗い分光写真は、時間と周波数の両方に沿って平均することによって作成されてよい。上記の操作は、時間および周波数に沿った分光写真内の比較的小さい変化に対するロバスト性を提供しうる。一実施形態では、本発明の粗い分光写真は、スペクトルのある一定の部分を該スペクトルの他の部分よりも強調するように選択されてもよいことに留意すべきである。
【0068】
図4に、本発明の一例示的実施形態による、粗い分光写真の例示的生成を示す。(入力)メディアデータ(曲など)は、まず、T
o=16ミリ秒(ms)のステップサイズを有する持続時間T
ch=2秒のチャンクへ分割される。オーディオデータのチャンク(X
ch)ごとに、ある一定の時間分解能(128サンプルまたは8msなど)および周波数分解能(256サンプルFFT)で分光写真が算出されてよい。算出された分光写真Sは、時間−周波数ブロックを用いてタイル表示されてよい。時間−周波数ブロックの各々の内部のスペクトルの振幅は、分光写真Sの粗い表現Qを獲得するように平均されてよい。Sの粗い表現Qは、サイズW
f×W
tの時間−周波数ブロック内の周波数係数の大きさを平均することによって獲得されてよい。ここで、W
fは周波数に沿ったブロックのサイズであり、W
tは時間に沿ったブロックのサイズである。Fが周波数軸に沿ったブロック数を表し、Tが時間軸に沿ったブロック数であるため、従ってQは、サイズ(F*T)のものである。Qは以下の式(1)で算出されてよい。
【数1】
【0069】
式1において、iおよびjは、分光写真における周波数および時間のインデックスを表し、kおよびlは、そこで平均演算が行われる時間−周波数ブロックのインデックスを表す。一実施形態では、Fは正の整数(例えば、5、10、15、20など)を含んでいてよく、Tは正の整数(例えば、5、10、15、20など)を含んでいてよい。
【0070】
一実施形態では、チャンクの分光写真の粗い表現(Q)の低次元表現が、該分光写真を擬似ランダムベクトル上に射影することによって作成されてよい。擬似ランダムベクトルは、基底ベクトルとみなされうる。K個の擬似ランダムベクトルが生成されてよく、その各々は、行列Qと同じ次元(F×T)を有していてよい。行列エントリは、[0,1]として均一に分散された確率変数としてよい。乱数発生器の状態は、キーに基づいて設定されてよい。擬似ランダムベクトルは、各々次元(F×T)の、P
1,P
2,…,P
Kで表されてよい。各行列P
iの平均が算出されてよい。P
i(iは1からKまでに及ぶ)内の各行列要素が、行列P
iの平均で減算されてよい。次いで、行列Qは、以下の式2に示すように、これらK個のランダムベクトル上に射影されてよい。
【数2】
【0071】
式2において、H
kは行列QのランダムベクトルP
k上への射影を表す。これらの射影(H
k、k=1,2,…,K)の中央値を閾値として使用して、行列QについてのK個のハッシュビットが生成されてよい。例えば、射影H
kが閾値より大きい場合に、ハッシュビット‘1’が第kのハッシュビットについて生成されてよい。それ以外の、射影H
kが閾値以下の場合には、‘0’のハッシュビットが生成されてよい。一実施形態では、Kは、8、16、24、32などといった正の整数としてよい。一例では、本明細書に記載する24ハッシュビットの指紋が、オーディオデータの16msごとに作成されてよい。これら24ビットの符号語を含む指紋シーケンスが、その指紋シーケンスが表すオーディオの当該の特定のチャンクの識別子として使用されてよい。一実施形態では、本明細書に記載する指紋抽出の計算量は、約2.58MIPSとすることができる。
【0072】
粗い表現Qは、本明細書では、FFT係数から導出される行列として説明されている。これは例示のためにすぎないことに留意すべきである。様々な粒度の表現を獲得する他のやり方が使用されてもよい。例えば、高速フーリエ変換(FFT)、ディジタルフーリエ変換(DFT)、短時間フーリエ変換(STFT)、変形離散コサイン変換(MDCT)、変形離散サイン変換(MDST)、直交ミラーフィルタ(QMF)、複素QMF(CQMF)、離散ウェーブレット変換(DWT)、もしくはウェーブレット係数から導出される様々な表現、クロマ特徴、または他の手法を使用して、メディアデータのチャンクの符号語、ハッシュビット、および指紋シーケンスが導出されてよい。
【0073】
4.クロマ特徴
本明細書で使用する場合、クロマグラムという用語は、n次元のクロマベクトルに関するものとしてよい。例えば、12平均律のチューニングシステムにおけるメディアデータでは、クロマグラムは、各次元が半音クラス(クロマ)の強度(あるいは振幅)に対応する12次元のクロマベクトルとして定義されうる。異なる次元数のクロマベクトルが、他のチューニングシステムについて定義されてよい。クロマグラムは、オーディオスペクトルを単一のオクターブへマップし、折り畳むことによって獲得されてよい。クロマベクトルは、1オクターブ内の12ピッチのクラスへと離散化されうるクロマ上の振幅分散を表す。クロマベクトルは、オーディオ信号の旋律および和声のコンテンツを取り込み、反復セクションまたは類似のセクションを決定するのに使用された指紋との関連で前述した分光写真よりも、音色の変化に対して低感度としてよい。
【0074】
クロマ特徴は、
図5に例示するようにピッチの螺旋上での射影または折り畳みによって視覚化されうる。「クロマ」という用語は、個々のオクターブ内の音の高さの位置をいい、個々のオクターブは、
図5の横から見た、ピッチの螺旋の1サイクルに対応しうる。本質的には、クロマとは、
図5の螺旋上のオクターブの高さに関係なく、
図5の真上から見た螺旋の円周上の位置をいう。他方、「高さ」という用語は、
図5の側面から見た、螺旋の円周上の縦方向の位置をいう。特定の高さによって指示される縦方向の位置は、その特定の高さの特定のオクターブ内の位置に対応する。
【0075】
音符の存在は、周波数領域のくし形パターンの存在と関連付けられうる。このパターンは、おおよそ、分析される楽音の基本周波数の倍数に対応する位置にあるローブで構成されうる。これらのローブは、まさに、クロマベクトルに含まれうる情報である。
【0076】
一実施形態では、特定のクロマにおける振幅スペクトルの内容は、帯域フィルタ(BPF:band−pass filter)を使用して除外されてよい。振幅スペクトルは、BPFを用いて(例えば、ハン窓関数を用いて)乗算されてよい。BPFの中心周波数および幅は、特定のクロマおよび高さ値の数によって決定されてよい。BPFの窓は、クロマと高さ両方の関数として、シェパードの周波数を中心としてよい。振幅スペクトルにおける独立変数はHz単位の周波数としてよい、Hz単位の周波数はセント単位に変換されてよい(例えば、100セントは半音に等しい)。BPFの幅はクロマ特有のものであることは、音符(または
図5の螺旋上の個々のオクターブ上に射影されたクロマ)が、周波数において、等間隔にではなく、対数的な間隔で配置されることに由来する。高いピッチの音符は(またはクロマ)は、低いピッチの音符よりもスペクトルにおいて相互により離れており、そのため、高いオクターブにおける音符間の周波数間隔は低いオクターブにおけるものよりも広い。人間の耳は、低い周波数ではピッチのごくわずかな差も知覚することができるが、高い周波数ではピッチの相対的に大きい変化を知覚することしかできない。人間の知覚に関連したこれらの理由で、BPFは、相対的に広い窓のものであり、相対的に高い周波数で相対的に大きい振幅のものであるように選択されうる。よって、一実施形態では、これらのBPFフィルタは、知覚的に動機付けられていてよい。
【0077】
クロマグラムは、4096サンプルのハン窓を用いて、短時間フーリエ変換(STFT)によって算出されてよい。一実施形態では、高速フーリエ変換(FFT)を使用して計算が実行されてよく、FFTフレームは1024サンプルだけシフトされてよく、離散時間ステップ(1フレームシフトなど)は、46.4(または本明細書では単に46と表される)ミリ秒(ms)としてよい。
【0078】
第1に、(
図6に例示する)46msフレームの周波数スペクトルが算出されてよい。第2に、音符の存在は、所与の音符の様々なオクターブの位置に位置決めされたローブからなる、周波数スペクトルのくし形パターンと関連付けられてよい。くし形パターンは、例えば、
図7に示すようなクロマDを抽出するのに使用されてよい。くし形パターンのピークは、147Hz、294Hz、588Hz、1175Hz、2350Hz、および4699Hzとしてよい。
【0079】
第3に、曲の所与のフレームからクロマDを抽出するために、フレームのスペクトルは、上記くし形パターンで乗算されてよい。乗算の結果は
図8に例示されており、このフレームのクロマベクトルにおけるクロマDの計算に必要とされるすべてのスペクトルコンテンツを表している。この要素の振幅はその場合、単に、周波数軸に沿ったスペクトルの和である。
【0080】
第4に、残り11のクロマを計算するために、本発明のシステムは、クロマの各々について適切なくし形パターンを生成してよく、同じプロセスが元のスペクトル上で反復される。
【0081】
一実施形態では、クロマグラムは、ガウス関数重み付け(対数周波数軸に対するものであり、それだけに限らないが、正規化されてよい)を使用して算出されてよい。ガウス関数重み付けは、対数周波数軸上の、中心周波数「f_ctr」として表される、対数周波数ポイントを中心としてよい。中心周波数「f_ctr」は、ctroctの値(オクターブ単位またはセント/1200単位、A0に参照原点を有する)に設定されてよく、ctroctの値はHz単位の27.5*(2^ctroct)の周波数に対応する。ガウス関数重み付けは、f_sdのガウス関数の半値幅を用いて設定されてよく、f_sdのガウス関数の半値幅はオクターブ単位のoctwidthの値に設定されてよい。例えば、ガウス関数重み付けの大きさは、中心周波数f_ctrの上下の2^octwidth倍でexp(−0.5)まで下がる。言い換えると、一実施形態では、前述のように個別の知覚的に動機付けられたBPFを使用する代わりに、単一のガウス関数重み付けフィルタが使用されうる。
【0082】
よって、ctroct=5.0、octwidth=1.0では、ガウス関数重み付けのピークは880Hzにあり、重み付けは、440Hzおよび1760Hzでおおよそ0.6まで下がる。様々な例示的実施形態において、ガウス関数重み付けのパラメータは事前設定されてよく、加えて、かつ/または任意選択で、ユーザによって手動で、かつ/もしくはシステムによって自動的に構成可能としてもよい。一実施形態では、ctroct=5.1844(f_ctr=1000Hzを与える)およびoctwidth=1のデフォルト設定が存在し、または構成されてよい。よって、この例のデフォルト設定でのガウス関数重み付けのピークは1000Hzにあり、重み付けは、500Hzおよび2000Hzでおおよそ0.6まで下がる。
【0083】
よって、これらの実施形態では、本発明のクロマグラムは、かなり限られた周波数範囲に対して算出されうる。これは、
図9に例示する対応する重み行列のグラフから知ることができる。ガウス関数重み付けのf_sdが2オクターブ単位まで増加する場合、ガウス関数重み付けについての重みづけの広がりも増加する。対応する重み行列のグラフは、
図10に示すように見える。比較として、3オクターブから8オクターブの値を有するf_sdで動作するときには、重み行列は
図11に示すように見える。
【0084】
図12に、知覚的に動機付けられたBPFを使用して(漸進的に増加するオクターブの音符を有する)ピアノ信号の形態の例示的メディアデータと関連付けられた例示的なクロマグラムグラフを示す。比較して、
図13に、ガウス関数重み付けを使用して同じピアノ信号と関連付けられた例示的なクロマグラムグラフを示す。フレーミングおよびシフトは、2つのクロマグラムグラフ間で比較を行うために厳密に同じになるように選択されている。
【0085】
両クロマグラムグラフのパターンは同様に見える。知覚的に動機付けられた帯域フィルタは、より優れたエネルギーの集中および分離を提供しうる。これは低い音符について見ることができ、低い音符では、ガウス関数重み付けによって生成されたクロマグラムグラフ内の音符の方がぼやけて見える。異なるBPFはコード認識アプリケーションに異なる影響を及ぼしうるが、知覚的に動機付けられたフィルタは、セグメント(例えばコーラス)抽出についてほとんど利益の増加をもたらさない。
【0086】
一実施形態では、本明細書に記載するクロマグラムおよび指紋抽出は、16kHzでサンプリングされたオーディオ信号の形態のメディアデータに作用してよい。クロマグラムは、FFTを使用して3200サンプルのハン窓を用いたSTFTを用いて算出されてよい。FFTフレームは、50msの離散時間ステップ(例えば1フレームシフト)を用いて、800サンプル分だけシフトされてよい。他のサンプリングオーディオ信号が本発明の技法によって処理されてもよいことに留意すべきである。さらに、本発明では、異なる変換、異なるフィルタ、異なる窓関数、異なるサンプル数、異なるフレームシフトなどを用いて算出されたクロマグラムも、本発明の範囲内である。
【0087】
5.他の特徴
本発明の技法は、本項で説明する、MFCC、リズム特徴、およびエネルギーといったメディアデータから抽出される様々な特徴を使用してよい。前述のように、本明細書に記載する抽出される特徴の一部、または全部が、場面変化検出にも適用されてよい。加えて、かつ/または任意選択で、これらの特徴の一部、または全部が、本明細書に記載するランク付け構成要素によっても使用されてよい。
【0088】
5.1メル周波数ケプストラム係数(MFCC)
メル周波数ケプストラム係数(MFCC)は、オーディオ信号のスペクトルエンベロープのコンパクトな表現を提供することを目指すものである。MFCC特徴は音色の良好な記述を提供することができ、また、本明細書に記載する技法の音楽的応用例でも使用されうる。
【0089】
5.2リズム特徴
リズム特徴の算出のいくつかのアルゴリズム詳細は、Hollosi,D.,Biswas,A.,「Complexity Scalable Perceptual Tempo Estimation from HE−AAC Encoded Music」,in 128
th AES Convention,London,UK,22−25 May 2010に記載されており、その全内容は、参照により、あたかもそれが本明細書に完全に明記されているかのように本明細書に組み入れられる。一実施形態では、HE−AAC符号化音楽からの知覚的テンポ推定が、変調周波数に基づいて実行されうる。本発明の技法は知覚的テンポ訂正段を含んでいてよく、知覚的テンポ修正段では、リズム特徴を使用してオクターブ誤りが訂正される。リズム特徴を算出するための例示的手順は以下のように説明されうる。
【0090】
第1のステップでは、パワースペクトルが計算され、次いで、メル尺度変換が行われる。このステップは、スペクトル値の数をごく少数のメルバンドへ低減させる間の人間の聴覚系の非線形周波数知覚に相当する。非線形圧伸関数を適用することによってバンド数のさらなる低減が達成されて、音楽信号内のリズム情報の大部分が低周波数領域に位置するという仮定の下で、高いメルバンドが単一のバンドへマップされる。このステップは、MFCC算出で使用されるメルフィルタバンクを共用する。
【0091】
第2のステップでは、変調スペクトルが算出される。このステップは、本明細書に記載するようにメディアデータからリズム情報を抽出する。リズムは、変調スペクトル内のある一定の変調周波数におけるピークによって指示されうる。一例示的実施形態では、変調スペクトルを算出するために、圧伸メル・パワー・スペクトルは、時間軸上である一定のオーバーラップを有する6秒の長さの時間的チャンクへセグメント化されてよい。時間的チャンクの長さは、オーディオ信号の「長時間リズム特性」を取り込むための計算量に伴うコストと利益との間のトレードオフから選択されてよい。続いて、時間軸に沿ってFFTを適用して、6秒チャンクごとのジョイント周波数(変調スペクトル:x軸−変調周波数およびy軸−圧伸メルバンド)表現が獲得されうる。変調周波数軸に沿って変調スペクトルに、大規模な音楽データセットの分析から得られる知覚的重み付け関数を用いて重み付けすることによって、非常に高い変調周波数および非常に低い変調周波数が(知覚的テンポ訂正段の有効な値が選択されるように)抑制されうる。
【0092】
第3のステップでは、次いで、変調スペクトルからリズム特徴が抽出されてよい。場面変化検出に有益となりうるリズム特徴は、リズム強度、リズム規則性、および低域性である。リズム強度は、圧伸メルバンドを合計した後の変調スペクトルの最大値として定義されうる。リズム規則性は、1に正規化した後の変調スペクトルの平均値として定義されうる。低域性は、1Hzより高い変調周波数を有する2つの最も低い圧伸メルバンド内の値の和として定義されうる。
【0093】
6.反復部分の検出
一実施形態では、本明細書に記載する反復検出(または反復部分の検出)は、指紋とクロマ特徴両方に基づくものとしてよい。一実施形態では、最初に、木ベースの探索を使用した指紋問い合わせが実行されてよく、オーディオ信号のセグメントごとの最良一致が特定され、それによって、一または複数の最良一致が生じる。続いて、最良一致の中からのデータを使用して反復が発生するオフセット値が求められてよく、クロマ距離行列の対応する行が算出され、さらに分析される。
図14に、システムの例示的な詳細なブロック図を示し、抽出された特徴が反復セクションを検出するためにどのように処理されるかを示す。
【0094】
6.1.指紋マッチング
一実施形態では、本明細書に記載する技法を使用して、
図14の指紋マッチングブロックは、入力された曲といったメディアデータにおいて反復セグメントが現れるオフセット値またはタイムラグを迅速に特定してよい。一実施形態では、
図15に例示するように、曲の0.64秒の時間増分(最初は開始タイムポイント=0から始まり、その後、0.64秒ずつ増分する)ごとに、曲の(0.64秒の増分ごとの開始タイムポイントから始まる)8秒の時間間隔に対応する488個の24ビット指紋符号語のシーケンスが、問い合わせ指紋シーケンスとして使用されてよい。マッチングアルゴリズムを使用して、曲の(問い合わせ指紋シーケンスを除く残りの持続時間に対応する)残りの指紋ビットにおいて、いくつかの指紋ビット(例えば、488個の24ビット指紋符号語など)を含むこの問い合わせシーケンスについての最良一致が見つけられうる。
【0095】
より具体的には、一実施形態では、開始タイムポイント(例えば、t=0、0.64秒、1.28秒、…など)において、曲の(例えば、t=0、0.64秒、1.28秒、…などから開始する)8秒間隔を範囲とする指紋符号語の問い合わせシーケンスを使用して、動的指紋データベース内の残りの指紋が照会されてよい。曲の指紋のある一定の部分を除く曲の残りの指紋ビットを記憶するこの動的指紋ビットデータベースの中から最良一致ビットシーケンスが見つけ出されうる。動的指紋データベースが、問い合わせシーケンスの(現在の)開始タイムポイントからのある特定の時間間隔に対応する指紋の部分を除外しうるという点においてのロバスト性を高めるために、最適化が行われてよい。この最適化は、検出されるべきセグメントがある一定の最小オフセット後に反復されるという仮説を立てることができるときに適用されうる。この最適化は、より小さいオフセットで発生する(例えば、音楽パターンがわずか数秒のオフセットで反復する)反復の検出を回避する。例えば、最適化は、動的指紋データベースが、問い合わせシーケンスの(現在の)開始タイムポイントからの(〜20秒の)19.2秒の時間間隔に対応する指紋の部分を除外しうるように行われてよい。次の開始タイムポイント、t=0.64秒が現在の開始タイムポイントに設定されるときには、曲の0.64秒から8.64秒までに対応する指紋が問い合わせとして使用されうる。動的指紋データベースは、次に、(0.64秒から19.84秒)に対応する曲の時間間隔を除外してよい。一実施形態では、前の開始タイムポイントと現在の開始タイムポイントとの間の時間間隔(例えば0から0.64秒までなど)に対応する指紋の部分は、動的指紋データベースに追加されてよい。よって、現在の開始タイムポイントごとに、動的データベースは更新され、探索が行われて、現在の開始タイムポイントから開始する問い合わせ指紋ビットシーケンスについての最良一致ビットシーケンスが見つけられる。探索ごとに、以下の2つの結果が記録されうる。
最良一致セクションが見つかったオフセット、および
問い合わせシーケンスと動的データベースからの最良一致セクションとの間のハミング距離。
【0096】
一実施形態では、本明細書に記載する問い合わせ指紋シーケンスに関連した探索は、256進ツリーデータ構造を使用して効率よく行われてよく、高次元バイナリ空間における近似最近傍を見つけることができるはずである。また探索は、LSH(Locality Sensitive Hashing)、minHashなどといった近似最近傍探索アルゴリズムを使用して行われてもよい。
【0097】
6.2.有意な(候補)オフセットの検出
図14の指紋マッチングブロックは、曲の0.64秒の増分ごとの曲中の最良一致セグメントのオフセット値を返す。一実施形態では、
図14の有意なオフセットの検出ブロックは、
図14の指紋マッチングブロックで得られたすべてのオフセット値に基づくヒストグラムを算出することによっていくつかの有意な値を求めるように構成されていてよい。
図16に、オフセット値の例示的ヒストグラムを示す。有意なオフセット値は、それらについて有意な数のマッチがある選択されたオフセット値としてよい。有意なオフセット値は、ヒストグラムにおいてピークとして現れうる。一実施形態では、有意なオフセット値は、有意な数のマッチを有するオフセット値である。ピーク検出は、ヒストグラムにおける適応的閾値に基づくものとしてよい。すなわち、閾値を上回るピークを含むオフセット値を特定される有意なオフセット値としてよい。ある実施形態では、近隣の(例えば、〜1秒の窓内の)有意なオフセットがマージされてよい。
【0098】
例示的低計算量計算
加えて、または代替として、一実施形態は、低時間分解能の距離行列に基づいて有意なオフセットを算出する。低時間分解能の距離行列は後述するように算出される。一実施形態は、正の整数N個の特徴ベクトル(f
1,f
2,…,f
i,…,f
N)が曲全体または他の音楽コンテンツを表すと仮定して機能する。完全距離行列が特徴ベクトルf(i)から次式に従って算出され、iはフレームインデックスを表す:D(o,i)=dist(f(i),f(i+o))、式中、oはオフセット値のインデックスを表す。サブサンプリングされた距離行列(低時間分解能)について、特徴ベクトルからのある一定のフレームが単純にスキップされる。例えば、D(o,i)=dist(f(Ki),f(Ki+o))であり、式中、Kは、整数のサブサンプリング係数を表し、例えば、K=2,3,4,…である。サブサンプリング係数が2を含む一実施形態が実装される。
【0099】
低分解能の距離行列を算出し次第、反復が発生する有意なオフセットのサブセットが獲得される。距離行列の各行が(例えば、数秒の長さのMAフィルタを用いて)平滑化される。平滑化された行列中の低い値は、平滑フィルタの長さと同様の長さのオーディオセグメントに対応する。平滑化された距離行列は、有意なオフセットを特定するために極小値の点を求めて探索される。一実施形態は、後述する例示的プロセスステップと同様に、反復して極小値を見つけるように機能する。
1.最小値を見つける(例えば、オフセット、および時間値:o
min,n
m,inをもたらす)
d
min=min(D(o,i))、式中、d
min=D(o
min,n
m,in)
2.オフセット値を有意なオフセットとして記録する。
3.D(o
min±r
o,n
min±r
n)=∞、式中、r
o=0,1,…,R
n、r
n=0,1,…,N
n、を設定することにより、次回の最小値の探索のために、ある特定の範囲内の見つかった最小値の前後の値を除外する。正の整数N
nがフレーム数に等しい(例えば、行列Dの列数に等しい)一実施形態が実装される。よって例えば、記録された有意なオフセットのすべての列(時間フレーム)が除外される。
4.所望の数の有意なオフセットに達するまで、ステップ1から反復する。
一実施形態での有意なオフセットの数は、クロマ距離値の最小数M
min、最大数M
max、および閾値THを用いて定義される。正の整数M
min個以上のオフセット(例えば、M
min=3)が獲得される。次いで、見つかった値が十分に低いことを確認するために、例えば、最大で正の整数のM
max(例えば、M
max=10)のオフセットまで、クロマ−距離値の条件が検査される。大域的最小値(例えば、最初の反復で見つかった最小値)から、例えば、d
min*1.25として閾値が決定されるステップ1およびステップ4は以下のように変化する。
1.最小値を見つける(オフセットを、および時間値:o
min,n
m,inをもたらす)
d
min=min(D(o,i))、式中、d
min=D(o
min,n
m,in)。
M
minオフセットが獲得される場合、クロマ−距離閾値を検査する:d
min<THの場合にはステップ2に進み、そうでない場合には、停止する。
4.ステップ1から反復する。(M
max個のオフセットが獲得されるまで)。
再度
図1Bを参照すると、距離行列1000は、4反復1001、1002、1003、および1004の間に示されており、検出された最小値は黒い×印で表されている。反復ごとに、前の最小値の前後の範囲が、次の反復での探索のために除外される。
【0100】
よって、本発明の一例示的実施形態は、低計算量でメディアデータ内の反復を検出するように機能する。メディアデータから抽出可能な、一または複数の特徴タイプのうちの第1のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第2のタイプを使用して、オフセット値のサブセットの中から候補シード・タイム・ポイントのセットが特定される。この状況では、第1の特徴タイプは低時間分解能のクロマ特徴に対応し、第2の特徴タイプは高時間分解能のクロマ特徴に対応する。一実施形態は、高時間分解能のクロマ距離分析を使用して、以下のセクション6.3で論じるように、候補シード・タイム・ポイントを検出する。高時間分解能のクロマ特徴は、選択されたオフセット値のサブセットにおける候補シード・タイム・ポイントを特定するのに使用される。これは、メモリ使用量と計算費用の両方で効率のよい実装形態をもたらす。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および/またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および/または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【0101】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出(抽出など)を用いて、または複数の(例えば第2の)オフセット・タイム・ポイントのサブセットを用いて、メディア内の反復をさらに検出してよい。高分解能のクロマ距離分析を伴いうるそうした例示的実施形態を以下で論じる。
【0102】
6.3.候補シード・タイム・ポイントを検出するための高分解能のクロマ距離分析
メディアデータ(曲など)内で反復的な要素またはセクションが発生すると判定されるいくつかの有意なオフセット値(が選択される)と、これら選択されたオフセット値を使用して、特徴距離行列の選択的行(例えば、構造的特性に関連した特徴、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、メディアデータ内の対応するセクションの音源の量など)が以下のように算出されうる。
D(i,o
k)=d(f(i),f(i+o
k))
【0103】
式中、f(i)は、メディア・データ・フレームiの特徴ベクトルを表し、d()は、2つの特徴ベクトルを比較するのに使用される距離尺度である。式中、o
kは、第kの有意なオフセット値である。D()の算出は、選択されたオフセット値o
kの各々に対する全N個のメディアフレームについて行われてよい。選択されるオフセット値o
kの数は、代表セグメントがメディアデータにおいてどれ程の頻度で反復するかと関連付けられ、メディアデータをカバーするために何個のメディアフレームを選択するか(例えば数Nなど)に伴っては変化しないはずである。よって、本発明の技法での全N個のメディアフレームに対するすべての選択されるオフセット値o
kについてのD()を計算する計算量は、O(N)である。これと比較して、他の技法での完全N×N距離行列の計算量はO(N
2)になるはずである。加えて、本明細書に記載する技法での特徴距離行列は、完全N×N距離行列よりはるかに小さく、計算を実行するのに必要とするメモリ空間がはるかに少なくてすむ。
【0104】
ある実施形態では、特徴距離行列を算出するのに使用される特徴は、それだけに限らないが、以下のうちの一または複数としてよい。
音色を表す特徴(MFCCなど);
旋律を表す特徴(クロマグラムなど);
リズムを表す特徴;または
マッチング時に曲から導出される指紋。
【0105】
一実施形態では、本明細書に記載する技法は、一または複数の適切な距離尺度を使用して、特徴距離行列について選択される特徴を比較する。一例では、本発明のシステムが指紋を使用して選択されるメディア・データ・フレームi(有意なオフセット・タイム・ポイントに、またはその近くにあるフレームとしうる)を表しうる場合には、ハミング距離を距離尺度として使用して、選択されたメディア・データ・フレームiと1オフセット・タイム・ポイント離れたところのメディア・データ・フレームとにおける対応する指紋が算出されてよい。
【0106】
別の例として、一実施形態で、12次元クロマベクトルが本明細書に記載する特徴距離行列を算出するための特徴ベクトルとして使用される場合には、特徴距離は以下のように求められてよい。
【数3】
式中、
【数4】
は、フレームiの12次元クロマベクトルを表し、d()は、選択された距離尺度である。算出された特徴距離行列(クロマ距離行列)が
図17に示されている。
【0107】
6.4.類似度行の算出
一実施形態では、結果として得られるクロマ距離(特徴距離)値は、次いで、ある一定の時間的な長さ、例えば15秒などの移動平均フィルタといったフィルタを用いて、
図14の類似度行の算出ブロックによって平滑化されてよい。一実施形態では、平滑化信号の最小距離の位置は以下のように見つけられてよい。
i上で、s(o
k)=argmin(D(i,o
k))
平滑化信号の最小距離の位置の発見は、15秒の別のメディアセグメントに最も類似した長さ15秒のメディアセグメントの位置の検出に対応する。結果として得られる2つの最良一致セグメントが所与のオフセットo
kの間隔で配置される。位置sは、次の処理段において、場面変化検出のシードとして使用されてよい。
図18に、類似度行列の行の例示的なクロマ距離値、平滑化された距離、および結果として得られる場面変化検出のためのシードポイントを示す。
【0108】
7.場面変化検出を使用した改善
一実施形態では、曲といったメディアデータ内の位置が、クロマ距離分析といった特徴距離分析によって、ある一定のメディア特性を有する候補代表セグメント内で最も可能性が高いと特定された後で、場面変化検出のシード・タイム・ポイントとして使用されてよい。候補代表セグメントのメディア特性の例は、セグメントが曲のコーラスの候補とみなされるために候補代表セグメントによって保有される反復特性とすることができる。反復特性は、例えば、前述のような距離行列の選択的算出によって決定されてよい。
【0109】
一実施形態では、
図14の場面変化検出ブロックは、本発明のシステムにおいて、シード・タイム・ポイントの近傍の(オーディオなどの)以下の2つの場面変化を特定するように構成されうる。
代表セグメントの先頭に対応するシード・タイム・ポイントの左側の開始場面変化ポイント
代表セグメントの末尾に対応するシード・タイム・ポイントの右側の終了場面変化ポイント
【0110】
8.ランク付け
図14のランク付け構成部分は、ある一定のメディア特性(コーラスなど)を保有するいくつかの候補代表セグメントを入力信号として与えられてよく、代表セグメント(例えば、検出されたコーラスセクションなど)とみなされる信号の出力として候補代表セグメントのうちの1つを選択してよい。すべての候補代表セグメントは、(例えば、本明細書に記載する場面変化検出からの結果としての)それぞれの開始および終了場面変化ポイントによって定義され、または範囲を定められてよい。
【0111】
9.他の応用
本明細書に記載する技法は、音楽ファイルからコーラスセグメントを検出するのに使用されてよい。しかし、一般に、本明細書に記載する技法は、任意のオーディオファイル内の任意の反復セグメントを検出するのに有用である。
【0112】
10.例示的プロセスフロー
図19Aおよび
図19Bに、本発明の一例示的実施形態による例示的プロセスフローを示す。一実施形態では、一または複数のコンピューティング装置またはメディア処理システム内の構成部分が、これらのプロセスフローのうちの一または複数を実行しうる。
【0113】
10.1.例示的な反復検出プロセスフロー 指紋マッチングおよび探索
図19Aに、指紋を使用した例示的な反復検出プロセスフローを示す。ブロック1902で、メディア処理システムは、メディアデータ(曲など)から指紋のセットを抽出する。
【0114】
ブロック1904で、メディア処理システムは、指紋のセットに基づいて、問い合わせ指紋シーケンスのセットを選択する。問い合わせシーケンスのセット内の各個別の問い合わせ指紋シーケンスは、問い合わせ時刻から始まる時間間隔にわたるメディアデータの縮約表現を含んでいてよい。
【0115】
ブロック1906で、メディア処理システムは、問い合わせ指紋シーケンスのセットについての一致指紋シーケンスのセットを決定する。本明細書で使用する場合、一致シーケンスは、ハミング距離といった距離尺度ベースの値に基づく問い合わせ指紋シーケンスと類似した指紋シーケンスを含む。問い合わせシーケンスのセット内の各個別問い合わせシーケンスは、一致指紋シーケンスのセット内の0以上の一致指紋シーケンスに対応しうる。
【0116】
ブロック1908で、メディア処理システムは、問い合わせシーケンスの各々についての最良一致シーケンスの時間位置に基づいてオフセット値のセットを特定する。
【0117】
一実施形態では、本明細書に記載する指紋のセットは、メディアデータのディジタル表現を縮約してメディアデータの次元縮約バイナリ表現にすることによって生成されてよい。ディジタル表現は、高速フーリエ変換(FFT)、ディジタルフーリエ変換(DFT)、短時間フーリエ変換(STFT)、変形離散コサイン変換(MDCT)、変形離散サイン変換(MDST)、直交ミラーフィルタ(QMF)、複素QMF(CQMF)、離散ウェーブレット変換(DWT)、またはウェーブレット係数のうちの一または複数に関連するものであってよい。
【0118】
一実施形態では、本発明の指紋は、悪意のある攻撃の検出に必要とされるロバストな指紋に関連して簡単に抽出できてよい。
【0119】
一実施形態では、問い合わせ指紋シーケンスのセットについての一致指紋シーケンスのセットを決定するために、メディア処理システムは、動的に構築される指紋データベースにおいて、問い合わせ指紋シーケンスと一致する一致指紋シーケンスを探索してよい。
【0120】
一実施形態では、問い合わせ指紋シーケンスは特定の問い合わせ時刻から始まるのに対し、動的に構築される指紋データベースは、該特定の問い合わせ時刻に対して一または複数の構成可能な時間窓内にある指紋の一または複数の部分を除外する。
【0121】
一実施形態では、問い合わせシーケンスのセットおよび一致シーケンスのセットに基づいてオフセット値のセットを特定するために、メディア処理システムは、問い合わせシーケンスのセットおよび一致シーケンスのセットから構築されたヒストグラムのうちの一または複数を使用して、有意なオフセット値のセットを決定する。
【0122】
一実施形態では、メディア処理システムは、低時間分解能の距離行列分析を使用して、有意なオフセット値のセットを特定する。有意なオフセット値のセットを特定し次第、一実施形態は、高時間分解能のクロマ距離行列分析を実行しうる。
【0123】
10.2.例示的な反復検出プロセスフロー ハイブリッド手法
図19Bに、ハイブリッド手法を用いた例示的な反復検出プロセスフローを示す。ブロック1912で、メディア処理システムは、メディアデータから抽出可能な一または複数の特徴タイプのうちの第1のタイプを使用して(例えば、本明細書に記載する指紋探索およびマッチングなどを使用して)、メディアデータ内のオフセット値のセット内のオフセット値のサブセットを位置特定する。オフセット値のサブセットは、一または複数の選択基準に基づいて(例えば、一または複数の次元のヒストグラムを使用して)オフセット値のセットの中から選択された時間差値を含む。
【0124】
ブロック1914で、メディア処理システムは、一または複数の特徴タイプのうちの第2のタイプを使用して(例えば、クロマ距離行列といった特徴距離行列の選択的行計算を使用して)オフセット値のサブセットに基づく候補シード・タイム・ポイントのセットを特定する。
【0125】
一実施形態では、第1の特徴タイプは低時間分解能のクロマ特徴に対応し、第2の特徴タイプは高時間分解能のクロマ特徴に対応する。一実施形態は、高時間分解能のクロマ距離分析を使用して、上記のセクション6.3で論じたように、候補シード・タイム・ポイントを検出する。高時間分解能のクロマ特徴は、選択されたオフセット値のサブセットにおける候補シード・タイム・ポイントを特定するのに使用される。これは、メモリ使用量と計算費用の両方で効率のよい実装形態をもたらす。
【0126】
一実施形態では、第1の特徴タイプの一または複数の第1の特徴がメディアデータから抽出される。一または複数の第1の特徴に基づく第1の反復検出尺度の第1の距離値(例えば、指紋シーケンスのビット値間のハミング距離など)が、(例えば、指紋探索およびマッチングのサブプロセスなどで)算出されうる。第1の反復検出尺度の第1の距離値は、(例えば、指紋探索およびマッチングのサブプロセスなどで)オフセット値のサブセットを位置特定するために適用されてよい。
【0127】
一実施形態では、第2の特徴タイプの一または複数の第2の特徴がメディアデータから抽出される。一または複数の第2の特徴に基づく第2の反復検出尺度の第2の距離値(例えば、クロマ距離行列の選択的行内のクロマ距離値など)が算出されうる。第2の反復検出尺度の第2の距離値は、候補シード・タイム・ポイントのセットを特定するために適用されてよい。
【0128】
一実施形態では、第2の特徴タイプは、第1のタイプと同じタイプを含み、その相対的な変換サイズ、変換の種類、窓サイズ、窓形状、周波数分解能、または時間分解能に関連して第1のタイプと異なっていてよい。第1段で低時間分解能の特徴の分析を実行して有意なオフセットのセットを特定し、次いで、選択された有意なオフセット(例えばそれらのみ)に対して高時間分解能の分析を実行することにより、計算量が大幅に節減される。
【0129】
一実施形態では、第1の反復検出尺度および第2の反復検出尺度のうちの少なくとも1つが、以下のうちの一または複数として類似度または相違度の尺度に関連する:ベクトルのユークリッド距離、ベクトルノルム、平均二乗誤差、ビット誤り率、自己相関ベースの尺度、ハミング距離、類似度、または相違度。
【0130】
一実施形態では、第1の値および第2の値は一または複数の正規化された値を含む。
【0131】
一実施形態では、本発明の一または複数の特徴タイプのうちの少なくとも1つは、メディアデータのディジタル表現を形成するのに一部使用される。例えば、メディアデータのディジタル表現は、メディアデータの指紋ベースの次元縮約バイナリ表現を含んでいてよい。
【0132】
一実施形態では、一または複数の特徴タイプのうちの少なくとも1つは、構造的特性、和声および旋律を含む調性、音色、リズム、音の大きさ、ステレオミックス、またはメディアデータに関連したものとしての音源の量を取り込む特徴タイプを含む。
【0133】
一実施形態では、メディアデータから抽出可能な(例えば、導出可能な)特徴は、以下のうちの一または複数に基づくメディアデータの一または複数のディジタル表現を提供するのに使用される:クロマ、クロマ差、指紋、メル周波数ケプストラム係数(MFCC)、クロマベースの指紋、リズムパターン、エネルギー、または他の変形。
【0134】
一実施形態では、メディアデータから抽出可能な特徴は、以下のうちの一または複数に関連した一または複数のディジタル表現を提供するのに使用される:高速フーリエ変換(FFT)、ディジタルフーリエ変換(DFT)、短時間フーリエ変換(STFT)、変形離散コサイン変換(MDCT)、変形離散サイン変換(MDST)、直交ミラーフィルタ(QMF)、複素QMF(CQMF)、離散ウェーブレット変換(DWT)、またはウェーブレット係数。
【0135】
一実施形態では、第1の特徴タイプの一または複数の第1の特徴および第2の特徴タイプの一または複数の第2の特徴は、メディアデータの同じ時間間隔に関連したものである。
【0136】
一実施形態では、第1の特徴タイプの一または複数の第1の特徴はメディアデータの全オフセットの特徴比較に使用され、第2の特徴タイプの一または複数の第2の特徴は、メディアデータのオフセットのある特定のサブセットの特徴の比較に使用される。一実施形態では、第1の特徴タイプの一または複数の第1の特徴はメディアデータの第1の時間間隔にわたるメディアデータの表現を形成し、第2の特徴タイプの一または複数の第2の特徴はメディアデータの第2の異なる時間間隔にわたるメディアデータの表現を形成する。一例では、第1の時間間隔は、メディアデータの第2の異なる時間間隔より大きい。別の例では、第1の時間間隔はメディアデータの全時間長を範囲とし、第2の時間間隔は、メディアデータの全時間長内のメディアデータの一または複数の時間部分を範囲とする。
【0137】
一実施形態では、第1の特徴タイプの一または複数の第1の特徴(指紋など)を抽出することは、メディアデータの同じ部分からの、第2の特徴タイプの一または複数の第2の特徴(クロマ特徴など)を抽出することに関連した簡単なものである。
【0138】
本明細書で使用する場合、メディアデータは、曲、作曲、楽譜、録音、詩、音響映像作品、映画、またはマルチメディアプレゼンテーションのうちの一または複数を含んでいてよい。メディアデータは、オーディオファイル、メディア・データベース・レコード、ネットワーク・ストリーミング・アプリケーション、メディアアプレット、メディアアプリケーション、メディア・データ・ビットストリーム、メディア・データ・コンテナ、電波放送メディア信号、記憶媒体、ケーブル信号、または衛星信号のうちの一または複数から導出されてよい。
【0139】
本明細書で使用する場合、ステレオミックスは、メディアデータの一または複数のステレオパラメータを含んでいてよい。一実施形態では、一または複数のステレオパラメータのうちの少なくとも1つは、コヒーレンス、チャネル間相互相関(ICC:Inter−channel Cross−Correlation)、チャネル間レベル差(CLD:Inter−channel Level Difference)、チャネル間位相差(IPD:Inter−channel Phase Difference)、またはチャネル予測係数(CPC:Channel Prediction Coefficient)に関連したものである。
【0140】
一実施形態では、メディア処理システムは、ある一定のオフセットで計算された距離値に一または複数のフィルタを適用する。メディア処理システムは、フィルタリングされた値に基づいて、場面変化検出のためのシード・タイム・ポイントのセットを特定する。
【0141】
この場合の一または複数のフィルタは、移動平均フィルタを含みうる。一実施形態では、複数のシード・タイム・ポイント内の少なくとも1つのシード・タイム・ポイントは、フィルタリングされた値における極小値に対応する。一実施形態では、複数のシード・タイム・ポイント内の少なくとも1つのシード・タイム・ポイントは、フィルタリングされた値における極大値に対応する。一実施形態では、複数のシード・タイム・ポイント内の少なくとも1つのシード・タイム・ポイントは、統計値における特定の中間値に対応する。
【0142】
クロマ特徴が本発明の技法で使用されるある実施形態では、クロマ特徴は、一または複数の窓関数を使用して抽出されうる。これらの窓関数は、それだけに限らないが、音楽的に動機付けられたもの、知覚的に動機付けられたものなどとしてよい。
【0143】
本明細書で使用する場合、メディアデータから抽出可能な特徴は、12平均律のチューニングシステムに関連していても、関連していなくてもよい。
【0144】
このように、本発明の一例示的実施形態は、低計算量でメディアデータ内の反復を検出するように機能する。メディアデータから抽出可能な、一または複数の特徴タイプのうちの第1のタイプを使用して、オフセット・タイム・ポイントのサブセットが、メディアデータ内のオフセット・タイム・ポイントのセットにおいて位置特定される。オフセット・タイム・ポイントのサブセットは、一または複数の選択基準に基づいてオフセット・タイム・ポイントのセットの中から選択されるタイムポイントを含む。一または複数の特徴タイプのうちの第2のタイプを使用して、オフセット・タイム・ポイントのサブセットの中から候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および/またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および/または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【0145】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出(抽出など)を用いて、または複数の(例えば第2の)オフセット・タイム・ポイントのサブセットを用いて、メディア内の反復をさらに検出してよい。
【0146】
11.実装機構 ハードウェア概要
一実施形態によれば、本明細書に記載する技法は、一または複数の専用コンピューティング装置によって実装される。専用コンピューティング装置は、該技法を実行するように配線されていてもよく、該技法を実行するように永続的にプログラムされた一または複数の特定用途向け集積回路(ASIC:application−specific integrated circuit)またはフィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)といったディジタル電子デバイスを含んでいてもよく、ファームウェア、メモリ、他の記憶、またはそれらの組み合わせに含まれるプログラム命令に従って該技法を実行するようにプログラムされた一または複数の汎用ハードウェアプロセッサを含んでいてもよい。そうした専用コンピューティング装置は、該技法を実現するためのカスタムプログラミングを有する、カスタム配線論理、ASIC、またはFPGAと組み合わされていてもよい。専用コンピューティング装置は、デスクトップ・コンピュータ・システム、携帯式コンピュータシステム、ハンドヘルド機器、ネットワーキング機器、または該技法を実装するための配線および/またはプログラム論理を組み込んだ任意の他の機器とすることができる。
【0147】
例えば、
図20は、本発明の一実施形態が実装されうるコンピュータシステム2000を示すブロック図である。コンピュータシステム2000は、情報を伝達するためのバス2002または他の通信機構と、情報を処理するための、バス2002と結合されたハードウェアプロセッサ2004とを含む。ハードウェアプロセッサ2004は、例えば、汎用マイクロプロセッサとすることができる。
【0148】
またコンピュータシステム2000は、情報およびプロセッサ2004によって実行されるべき命令を記憶するための、バス2002に結合された、ランダム・アクセス・メモリ(RAM:random access memory)や他の動的記憶装置といったメインメモリ2006も含む。メインメモリ2006は、プロセッサ2004によって実行されるべき命令の実行時に一時変数または他の中間情報を記憶するのにも使用されうる。そうした命令は、プロセッサ2004からアクセス可能な記憶媒体に記憶されると、コンピュータシステム2000を、命令で指定された動作を実行するようにカスタマイズされた専用機にする。
【0149】
コンピュータシステム2000は、プロセッサ2004のための静的情報および命令を記憶するための、バス2002に結合された読取り専用メモリ(ROM:read only memory)2008または他の静的記憶装置をさらに含む。磁気ディスクや光ディスクといった記憶装置2010が設けられ、情報および命令を記憶するためにバス2002に結合されている。
【0150】
コンピュータシステム2000は、バス2002を介して、コンピュータユーザに情報を表示するためのディスプレイ2012に結合されていてよい。入力装置2014は、英数字他のキーを含み、プロセッサ2004に情報およびコマンド選択を伝達するためにバス2002に結合されている。別の種類のユーザ入力装置が、プロセッサ2004に方向情報およびコマンド選択を伝達し、ディスプレイ2012上のカーソルの動きを制御するための、マウス、トラックボール、カーソル方向キーといったカーソル制御2016である。この入力装置は、通常は、装置が平面内の位置を指定することを可能にする、第1の軸(xなど)および第2の軸(yなど)の2軸方向の2自由度を有する。コンピュータシステム2000は、表示システム(
図1の100など)を制御するのに使用されうる。
【0151】
コンピュータシステム2000は、カスタマイズされた配線論理、一または複数のASICもしくはFPGA、ファームウェアおよび/またはプログラム論理を使用して本明細書に記載する技法を実装してよく、これらの論理は、コンピュータシステムと組み合わさって、コンピュータシステム2000を専用機にし、または専用機になるようにプログラムする。一実施形態によれば、本発明の技法は、プロセッサ2004がメインメモリ2006に含まれる一または複数の命令の一または複数のシーケンスを実行したことに応答して、コンピュータシステム2000によって実行される。そうした命令は、記憶装置2010といった別の記憶媒体からメインメモリ2006に読み込まれてよい。メインメモリ2006に含まれる命令シーケンスの実行により、プロセッサ2004は、本明細書に記載するプロセスステップを実行する。代替の実施形態では、配線回路が、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。
【0152】
「記憶媒体」という用語は、本明細書で使用する場合、マシンを特定のやり方で動作させるデータおよび/または命令を記憶する任意の媒体を指す。そうした記憶媒体は、不揮発性媒体および/または揮発性媒体を含みうる。不揮発性媒体は、例えば、記憶装置2010といった、光ディスクや磁気ディスクを含む。揮発性媒体は、メインメモリ2006といった、動的メモリを含む。記憶媒体の一般的な形態には、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッド・ステート・ドライブ、磁気テープもしくは任意の他の磁気データ記憶媒体、CD−ROM、任意の他の光データ記憶媒体、孔のパターンを有する任意の物理媒体、RAM、PROM、およびEPROM、フラッシュEPROM、NVRAM、任意の他のメモリチップもしくはカートリッジが含まれる。
【0153】
記憶媒体は伝送媒体と別個のものであるが、伝送媒体と併用されてよい。伝送媒体は、記憶媒体間の情報の転送に関与する。例えば、伝送媒体は、同軸ケーブル、銅線、および光ファイバを含み、バス2002を構成する線を含む。伝送媒体は、電波および赤外線データ通信時に生成されるような、音波または光波の形も取ることができる。
【0154】
多様な形態の媒体が、一または複数の命令の一または複数のシーケンスを、実行のためにプロセッサ2004へ搬送する際に関与しうる。例えば、命令は、最初は、リモートコンピュータの磁気ディスクまたはソリッド・ステート・ドライブ上に保持されていてよい。リモートコンピュータは、命令を、その動的メモリにロードし、その命令を、モデムを使用して電話回線上で送信することができる。コンピュータシステム2000のローカルのモデムは、電話回線上でデータを受信し、赤外線送信機を使用してデータを赤外線信号に変換することができる。赤外線検知器は、赤外線信号で搬送されたデータを受信することができ、適切な回路がデータをバス2002に乗せることができる。バス2002は、データをメインメモリ2006へ搬送し、プロセッサ2004はメインメモリ2006から命令を取り出し、実行する。メインメモリ2006によって受け取られた命令は、任意選択で、プロセッサ2004による実行の前または後に、記憶装置2010上に記憶されてもよい。
【0155】
またコンピュータシステム2000は、バス2002に結合された通信インターフェース2018も含む。通信インターフェース2018は、ローカルネットワーク2022に接続されたネットワークリンク2020に結合する2方向データ通信を提供する。例えば、通信インターフェース2018は、統合サービスディジタルネットワーク(ISDN:integrated services digital network)カード、ケーブルモデム、衛星モデム、または対応する種類の電話回線へのデータ通信接続を提供するモデムとすることができる。別の例として、通信インターフェース2018は、互換性を有するローカル・エリア・ネットワーク(LAN:local area network)へのデータ通信接続を提供するLANカードとすることもできる。無線リンクも実装されうる。いずれのそうした実装形態でも、通信インターフェース2018は、多様な種類の情報を表すディジタル・データ・ストリームを搬送する、電気信号、電磁信号または光信号を送受信する。
【0156】
ネットワークリンク2020は、通常は、一または複数のネットワークを介した他のデータ機器へのデータ通信を提供する。例えば、ネットワークリンク2020は、ローカルネットワーク2022を介した、ホストコンピュータ2024への、またはインターネット・サービス・プロバイダ(ISP:Internet Service Provider)2026によって運営されるデータ設備への接続を提供しうる。ISP2026は、さらに、今では一般に「インターネット」2028と呼ばれる、世界規模のパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク2022およびインターネット2028は、どちらも、ディジタル・データ・ストリームを搬送する電気信号、電磁信号または光信号を使用する。様々なネットワークを通る信号、ならびにネットワークリンク2020上の信号および通信インターフェース2018を通る信号は、コンピュータシステム2000との間でディジタルデータを搬送し、伝送媒体の例示的形態である。
【0157】
コンピュータシステム2000は、ネットワーク、ネットワークリンク2020、および通信インターフェース2018を介して、プログラムコードを含めて、メッセージを送信し、データを受信することができる。インターネットの例では、サーバ2030は、インターネット2028、ISP2026、ローカルネットワーク2022、および通信インターフェース2018を介して、要求されたアプリケーションプログラムのコードを送信してよいはずである。受信されたコードは、受信されるときにプロセッサ2004によって実行され、かつ/または後で実行するために記憶装置2010、もしくは他の不揮発性記憶に記憶されうる。
【0158】
12.均等物、拡張、代替、その他
以上のように、本発明の一例示的実施形態は、メディアデータ内の反復の低計算量検出に関連して説明されている。メディアデータから抽出可能な(例えば、メディアデータの成分から導出可能な)、一または複数の特徴タイプのうちの第1のタイプを使用して、メディアデータ内のオフセット値のセットの中からオフセット値のサブセットが選択される。オフセット値のサブセットは、一または複数の選択基準に基づいてオフセット値のセットの中から選択される値を含む。一または複数の特徴タイプのうちの第2のタイプを使用して、オフセット値のサブセットに基づいて候補シード・タイム・ポイントのセットが特定される。例示的プロセスは、一または複数のコンピューティングシステム、装置もしくは機器、集積回路デバイス、および/またはメディア再生、再現、レンダリングもしくはストリーミング装置を用いて実行されてよい。システム、機器、および/または装置は、コンピュータ可読記憶媒体上に符号化され、または記録された、命令またはソフトウェアを用いて制御され、構成され、プログラムされ、または指図されてよい。
【0159】
一例示的実施形態は、一または複数の追加的な反復検出プロセスを実行してよく、それらのプロセスは、幾分多くの計算量を伴いうる。例えば、計算コストまたは待ち時間の重要性がより低くてもよい用途において、または低計算量反復検出の検証を行うために、一例示的実施形態は、メディアコンテンツの成分特徴からの一または複数のメディア指紋の導出(抽出など)を用いて、または複数の(例えば第2の)オフセット・タイム・ポイントのサブセットを用いて、メディア内の反復をさらに検出してよい。
【0160】
以上の明細書では、実装ごとに異なりうる多数の具体的詳細に関連して本発明の例示的実施形態を説明した。よって、本発明の実施形態が何を含み、何が本出願の出願人によって本発明の実施形態を構成するものと意図されているかを唯一示すのは、特許請求の範囲に特有の形式の、本出願に由来する特許請求の範囲であり、これには任意の後続の補正が含まれる。特許請求の範囲に含まれる用語について本明細書で明示されているあらゆる定義は、特許請求の範囲で使用されるそうした用語の意味を決定するものとする。よって、請求項に明記されないいかなる限定、要素、特性、特徴、利点、または属性も、該請求項の範囲をいかなる点においても限定すべきではない。したがって、本明細書および図面は、限定ではなく例示とみなされるべきである。