(58)【調査した分野】(Int.Cl.,DB名)
定義済みのランキング閾値を超過しているそれぞれの割り当てられたランキングスコアを有する前記一致リファレンスオーディオサンプルのうちの1つを出力するステップをさらに含む、請求項1に記載の方法。
前記定義済みのランキング閾値を超過しているランキングスコアのそれぞれを有する前記一致リファレンスオーディオサンプルのうちの1つを出力するステップの定義済みの時間量の後に、それぞれの割り当てられたランキングスコアを有する前記複数の一致リファレンスオーディオサンプルを出力するステップをさらに含む、請求項2に記載の方法。
前記少なくとも1つの一致リファレンスオーディオサンプルを特定するために、前記プローブオーディオサンプルの前記第1のタイムセグメントを前記リファレンスオーディオサンプルの前記対応するタイムセグメントと比較するステップは、
前記プローブオーディオサンプルの前記第1のタイムセグメントのフィンガープリントを生成するステップと、
少なくとも定義済みの一致しているモノの閾値によって前記プローブオーディオサンプルの前記第1のタイムセグメントの前記フィンガープリントに一致している前記リファレンスオーディオサンプルの前記対応するタイムセグメントのそれぞれのフィンガープリントを特定するステップとを含む、請求項1に記載の方法。
前記ランキングスコアのそれぞれは、各々が対応する評価尺度の重要度に基づいて最上位から最下位ビット位置を占めるビットのセットを含むコンポーネントのセットを含むビットベクトルのシーケンスを含む、請求項6に記載の方法。
前記それぞれの人気の評価尺度は、前記一致リファレンスオーディオサンプルのそれぞれに関連した少なくとも1つのパラメータに関連付けられたヒューリスティックから生成される、請求項6に記載の方法。
前記保持コンポーネントは、比較処理の時間、または比較された前記オーディオストリーミングコンテンツの分量のうちの少なくとも1つを含む定義済みのパラメータのセットに基づいて、前記一致リファレンスオーディオサンプルを保持する、請求項9に記載のシステム。
前記ランキングスコアのそれぞれは、前記一致リファレンスオーディオサンプルのそれぞれが販売に関して個々に利用可能であるかどうか、前記一致リファレンスオーディオサンプルのそれぞれの人気、前記一致リファレンスオーディオサンプルのそれぞれがオリジナルアルバムであるかまたはコンピレーションアルバムであるか、および前記一致リファレンスオーディオサンプルのそれぞれの販売量からなるグループのうちの少なくとも1つに基づいて、生成される、請求項9に記載のシステム。
それぞれの最高の割り当てられたランキングスコアを有する定義済みの数の一致リファレンスオーディオサンプルを出力するステップをさらに含む、請求項1に記載の方法。
前記スコア決定コンポーネントは、それぞれの最高の割り当てられたランキングスコアを有する定義済みの数の一致リファレンスオーディオサンプルを出力するようにさらに構成される、請求項9に記載のシステム。
【発明を実施するための形態】
【0011】
概説
類似の参照番号が類似の要素を表すように全体的に使用されている図面を参照して、本開示の様々な態様を本明細書に記載する。以下の記載においては、説明を目的としており、多くの特定の詳細を1つまたは複数の態様の深い理解を供するために記載している。しかしながら、本開示のある態様が、これらの特定の詳細を用いることなく、または他の方法、コンポーネント、構成要素などを用いて実施され得ることを理解されたい。他の例においては、周知の構造およびデバイスを、1つまたは複数の態様を記載することを容易にするためにブロック図の形式で示している。
【0012】
本開示に記載の1つまたは複数の実施形態によれば、ユーザは、データ収集の態様に関連して、個人情報、人口学的情報、位置情報、財産情報、機密情報などを提供することについてオプトアウトできることは諒解されよう。さらに、本明細書に記載の1つまたは複数の実施形態は、収集、受信、または送信されたデータを匿名化することを提供し得る。
【0013】
本開示に記載の1つまたは複数の実施形態によれば、オーディオ照合システムは、入力として、オーディオ信号の抜粋(プローブ)を受信して、リファレンスオーディオ信号の大規模リポジトリにある対応するオーディオの抜粋を探すことを試みる。例えば、携帯電話は、騒々しい環境(例えば、騒々しい酒場、または他の場所)で再生している音楽を記録して、それは、ノイズを含むプローブをリファレンスの大規模リポジトリと照合することによって再生している音楽についての情報をリターンし得る照合システムによって利用され得る。照合システムは、オーディオクリップをクライアントから受信すると、オーディオサンプル(音楽レコーディング)とリファレンスオブジェクト(例えば、オーディオリファレンス)との照合をリアルタイムで実行することによって遅延を最小化するように動作し得る。照合は、レコーディングオーディオストリームを受信するとリアルタイムで、受信されたオーディオの時間および/または増分量などの様々なパラメータに基づいて、実行され得る。
【0014】
例えば、数千万のオーディオリファレンスのデータベースを用いて、システムは、所定の一致しているモノの閾値を満たしている複数の一致しているモノをおそらく見つけ得る。結果として生じる一致しているモノについての重複は、リファレンスのセットにおける複製、または同一のトラックがメインのEP盤アルバムとともにコンピレーションアルバムの双方に存在し得ることなど多数の理由により、生じ得る。別の例としては、結果として生じるオーディオリファレンスが、オリジナルバージョンとあまり人気のないリミックスとのプローブオーディオサンプルに一致している双方に由来し得ることがある。オーディオコンテンツを本明細書において例として記載しているが、他のメディアコンテンツも、ビデオコンテンツ、画像コンテンツなどの手段において含まれる。
【0015】
ストリーミング照合システムの状況において、リターンするのにまさに利用可能な一致しているモノであり、一致しているモノを決定するための所定の閾値を以前にパスした、一致しているモノをリターンするか、またはより望ましい一致しているモノが利用可能となるまで待機するかを確信することは困難となり得る。本開示の様々な態様において、コンポーネントのリアルタイムランキングシステムは、照合システムにおいて、ランク付けして、より高い信頼性が確定され一致しているモノを出力するまで、出力してからあまり人気のないものであり得るリファレンスをホールドバックまたは保持するように動作する。受信コンポーネントは、一致しているモノがメディアコンテンツリファレンスのうちで利用可能であるかどうかを決定するために、メディアストリーミングコンテンツの第1の部分を受信する。比較コンポーネントは、少なくとも1つのリファレンスオーディオを受信すると、オーディオストリーミングコンテンツの第1の部分と複数のリファレンスオーディオサンプルとの比較を行うことによって、少なくとも1つのリファレンスオーディオサンプルをリアルタイムで特定する。照合コンポーネントは、比較に基づいて、オーディオストリーミングコンテンツの第1の部分と複数のリファレンスオーディオサンプルとの間における十分に一致しているモノを特定し、ランク付けコンポーネントは、複数のリファレンスオーディオサンプルのうちの一致リファレンスオーディオサンプルに対する第1のランキングスコアを構築する。
【0016】
ストリーミング照合システムにおける結果のホールドバックおよびリアルタイムランキングの限定を意図していない例示
ここで
図1を参照すれば、システム100を記載している。システム100は、例えば、特徴ベクトルによって表されるオブジェクトを照合して、継続的に更新される結果のランク付けであって、システムが比較のためにオブジェクトをビデオまたはオーディオストリームなどの状態で受信しつつそれと同時に決定される、ランク付けに基づいて、結果として生じる一致しているモノを出力し得る。システム100は、コンピュータ実行可能コンポーネントを記憶するメモリと、メモリに記憶されているコンピュータ実行可能コンポーネントを実行するプロセッサとを備え得るし、その例示については、
図9を参照すれば見つけることができよう。加えて、システム100は、受信コンポーネント102と、比較コンポーネント112と、照合コンポーネント118と、ランク付けコンポーネント124とを含み得る。
【0017】
受信コンポーネント102は、Uと表した、第1の特徴ベクトル104を受信するように構成され得る。Uは、リファレンスオブジェクト106に関連付けられ得る。また、受信コンポーネント102は、比較オブジェクト110に関連付けられ得る、Vと表した、第2の特徴ベクトル108を受信し得る。第1の特徴ベクトル104(例えば、U)と、第2の特徴ベクトル108(例えば、V)とは、d次元ベクトルであり得る。ここで、dは、例えば、任意の正の整数値である。d次元のUまたはVは、さらなる詳細を
図2に関連して記載しているように、リファレンスオブジェクト106および比較オブジェクト110にそれぞれ関連付けられた個別の特徴に関連し得る。
【0018】
図1をまだ参照しつつ、ここで同様に
図2に目を移せば、略
図200を記載している。略
図200は、リファレンスオブジェクトまたは比較オブジェクトの様々な例を示している。例えば、オブジェクト106、110は、画像202、オーディオ204、および/またはテキスト206のうちの少なくとも1つに関連し得る。オブジェクト106、110が画像202に関連している場合には、特徴ベクトル104、108(例えば、UおよびV)は、例えばピクセル値などの画像特徴を含み得る。例として、第1の特徴ベクトル104は、リファレンス画像のピクセルについてのピクセル値を含み得るし、第2の特徴ベクトル108は、比較画像のピクセルについてのピクセル値を含み得る。他の実施形態において、特徴ベクトル104、108は、リファレンス画像と比較画像とに関連付けられたウェーブレットまたは他の特徴(例えば、ローカル特徴を含む)を含み得る。加えて、特徴ベクトルは、コンテンツの1つまたは複数の識別子を有しているオーディオフィンガープリント、またはオーディオコンテンツを要約または特定するコンパクトなコンテンツベースのシグニチャを含み得る。オブジェクト106、110がオーディオ204に関連している場合には、例えば、第1の特徴ベクトル104は、リファレンスオーディオのウェーブレットについてのウェーブレット値(または、オーディオに関連付けられた他の特徴)を含み得るし、第2の特徴ベクトル108は、比較オーディオのウェーブレットについてのウェーブレット値(または、オーディオに関連した他の特徴)を含み得る。オブジェクト106、110がテキスト206に関連している場合には、例えば、第1の特徴ベクトル104は、リファレンステキストに含まれる様々な単語についてのワードカウント(または、テキストに関連付けられた他の特徴)を含み得るし、第2の特徴ベクトル108は、比較テキストに含まれる様々な単語についてのワードカウント(または、テキストに関連付けられた他の特徴)を含み得る。例示した202、204、および206は、限定を意図したものではなく、d次元の特徴ベクトルで表され得る実質的に任意のオブジェクトなどの他の例示も存在し得る。
【0019】
図1に戻れば、比較コンポーネント118は、比較オブジェクト(例えば、オーディオストリーミングコンテンツ)第1の一部またはセグメントを受信すると、1つまたは複数のボリュームのリファレンスオブジェクト(例えば、リファレンスオーディオサンプル)のうちからリファレンスオブジェクト106(例えば、オーディオサンプル)をリアルタイムで特定するように構成され得る。比較コンポーネント118は、オーディオストリーミングコンテンツの第1の部分(例えば、所定の数の特徴ベクトル、所定の期間、および/または分量)と複数のリファレンスオーディオサンプルとの比較を行う。
【0020】
照合コンポーネント124は、比較に基づいて、比較オブジェクト110の第1の部分と複数のリファレンスオブジェクト106との間における十分に一致しているモノを特定するように構成され得る。例えば、照合は、1つまたは複数の特徴ベクトルUとVとの間の整合性スコア120に基づいて特定され得る。したがって、UとVとについての十分に一致しているモノ126は、リファレンスオブジェクト106(または、リファレンスオブジェクト106の一部)と比較オブジェクト110(または、比較オブジェクト110の関連部分)との間における十分に一致しているモノを意味し得る。
【0021】
加えてまたはあるいは、整合性スコア120は、パラメータ122に基づいて決定され得る。パラメータ122は、十分に一致しているモノを決定するために、例えば、整合性スコア122を決定するための指標関数または距離測度を使用するかどうかを指示し得る。ランク付けコンポーネント124は、Pと表した、第1のセットの一致リファレンスの結果128と、Qと表した、第2のセットの一致リファレンスの結果130とを構築するように構成され得る。Pは、Uの次元のうちの第1の要素の配列(例えば、第1の特徴ベクトル104の第1の部分)に基づいて構築され得るし、Qは、Uの次元のうちの第2の要素の配列(例えば、第2の特徴ベクトル108の第1の部分)に基づいて構築され得るし、第1の要素の配列および第2の要素の配列は、比較オブジェクト110の第1のサブセットおよび第2のサブセットのそれぞれを含み得る。PおよびQは、互いに関して異なる隣接する要素列の照合結果であり得る。第1の要素の配列または第2の要素の配列は、他のサブセットおよび比較オブジェクト110の双方のサブセットであり得る。
【0022】
図3は、本明細書に記載の様々な実施形態による、照合システムとして動作するシステム300を示している。例えば、システム300は、サンプルオーディオストリームなどの比較オブジェクトをリファレンスオブジェクト(例えば、リファレンスオーディオ)と継続的に照合して、一致しているモノの結果を継続的にランク付けして、所定のスコア閾値を満たすまで一致しているモノを保持することによって一致しているモノの結果を出力するためにより高い信頼性を生成するように動作する。例えば、システム300は、上述したようなコンポーネントを備えるとともに、ランキングスコアを比較して、ランキングを更新して、十分に一致しているモノの結果を決定するスコア決定コンポーネント302をさらに備える。
【0023】
スコア決定コンポーネント302は、比較オブジェクト110の第1の部分が受信コンポーネント102、比較コンポーネント112、照合コンポーネント118、およびランク付けコンポーネント124を介して処理およびランク付けされると、リアルタイムでランク付けコンポーネント124によって生成された照合結果を受信するように構成される。スコア決定コンポーネント302は、第1のセットのランキング128を受信し得るし、比較オブジェクト110の追加の部分が処理されてリファレンスオブジェクトの一致しているモノを決定すると、スコア決定コンポーネントは、一致しているモノの結果のランキングを動的に更新し、十分に一致しているモノ126に関する所定の閾値を満たしているあるレベルの信頼性を有する追加の結果を用いて一致しているモノの結果を更新し、および/または即時出力のためにより高い第2の所定のスコア閾値を満たしていることを決定し得る。
【0024】
ある実施形態において、システム300は、比較オブジェクト110の追加の部分のさらなる処理または照合のために、第1のセットのランクスコアとスコアが決定されたランキングに関連付けられた対応する一致しているモノの結果(一致リファレンスオブジェクト)とを保持するように動作する。第1のセットのランキングは、一致しているモノの結果とともに受信され得るし、スコア決定コンポーネントは、ランク付けされた一致しているモノに関する第2の所定の閾値スコアを満たしているランク付けされた結果のいずれかをリリースし得る。第2の所定の閾値(スコア閾値)は、より高い信頼性の閾値レベルを有しており、一致したリファレンスに関する十分に一致しているモノの閾値とは異なり得る。ここで、十分に一致しているモノは、比較におけるオブジェクト間のあるレベルの整合を提供し得るし、スコア閾値は、パラメータ304に基づいて、照合についてのより高い可能性を提供する。第2の所定の閾値(スコア閾値)は、パラメータ304などのさらなる基準とともに満たされるものであり、および/またはリファレンスオブジェクト間の比較において計算される比較オブジェクトのさらなる部分から決定されるように照合結果においてより多くの分量の特徴ベクトルを含み得る。
【0025】
例えば、スコア決定コンポーネント302は、一致しているモノのランキングが一致しているモノとして出力するのに十分であるかどうかを確定するために、および/またはオーディオストリームの追加の部分またはセグメントを用いた追加の照合演算/処理がより高い信頼性のために必要となるかどうかを確定するために、様々なパラメータ304を使用し得る。一致しているモノの結果が即時出力のための第2の所定の閾値を満たしていない場合には、第1のセットのランク付けされた一致しているモノを保持して、比較オブジェクト110のさらなる部分を用いた照合プロセスの追加の反復処理に基づいて動的に更新し得る。
【0026】
例えば、スコア決定コンポーネント302は、一致リファレンスオーディオサンプルの第1の一致リファレンスの結果128と第2の一致リファレンスの結果130とのスコア比較を行うように動作する。第2の結果130は、オーディオストリーミングコンテンツ(例えば、比較オブジェクト110)の第2または追加の部分に関連付けられた第2のランキングスコアを含み得る。スコア決定コンポーネント302は、分析されたストリーミングコンテンツのより多くの分量、および/またはシステム300が受信するメディアストリーミングコンテンツの所定の分量の時間に基づいて、同一の比較オブジェクトまたはメディアストリームに対する追加の反復処理の結果に基づいてランキングを変更することによって、ランク付けされた一致しているモノのスコアを反復して動的に変更するように動作し得る。加えてまたはあるいは、スコア決定コンポーネント302は、第1のおよび第2のセットのランキング間の比較から第2のセットのランキング130に従ってランク付けされた結果を更新して、スコア閾値を満たしている、または決定された他の結果として生じるリファレンス一致より高い度合いのスコア閾値を満たしている任意の保持している結果をリリースするために、第1のセットのランキング128において受信されたランキングを重み付けすることによって動作し得る。
【0027】
ある実施形態において、比較オブジェクト110の第2の部分(例えば、V[val
d])の第2の一致リファレンスの結果130は、第1の部分を含むとともに、結果の強度および/または決定された追加の一致リファレンスの結果をさらに決定するために、オーディオサンプルのサブセット(例えば、比較オブジェクト)を含み得る。ランク付けコンポーネント124は、スコア決定コンポーネント302とともに動作して、スコア比較に基づいて一致リファレンスオーディオサンプルに関連付けられた第1のランキングスコアを動的に変更し得る。ある分量の処理済の比較オブジェクト110またはある分量の時間の少なくとも1つに基づく第2の所定の閾値に達したことに応じて、一致しているモノの結果を出力のためにリリースし得る。出力のために決定された一致しているモノの結果は、関連付けられたランキングスコアに基づいてリリースする前に記憶され得るし、リリース時の結果およびそれらのランキングに関する正確性についてのより高い信頼性をさらに有し得る。例えば、複数の異なる一致しているモノの結果が、様々なアルバム、EP盤のオリジナル、リミックスなどで生じる得る場合には、メディアストリームの第1の部分を比較して十分に一致しているモノとして特定されると即座に結果をリリースするのではなく、むしろ所定の数の結果を見込みのある一致しているモノについてのより高い正確性または信頼性をともなってリリースし得る。
【0028】
スコア決定コンポーネント302は、パラメータまたは評価尺度(measure)に基づいて比較オブジェクトの様々な部分からランクスコアの継続的な比較を行い得る。パラメータまたは評価尺度は、例えば、それぞれの一致リファレンスオーディオサンプルが販売に関して個々に利用可能であるかどうか、一致リファレンスオーディオサンプルのそれぞれの人気、それぞれの一致リファレンスオーディオサンプルがオリジナルアルバムであるかおよび/またはコンピレーションアルバムであるか、および/または一致リファレンスオーディオサンプルのそれぞれの販売量に基づいたおよび/または示す、1つまたは複数の重み付けまたはスコアを含み得る。
【0029】
加えて、特定された一致しているモノの結果は、一致しているモノの強度に従ってランク付けされ得るし、そして、スコア決定コンポーネントは、パラメータに基づいて一致しているモノのスコアをさらに決定し得る。例えば、第1のセットのランキングは、受信し、リファレンスA、B、およびCなどの複数の一致リファレンスの結果が見つかったメディアストリーミングコンテンツの第1の部分から、受信され得る。これらのリファレンスの各々は、一部の比較コンテンツ/オブジェクトとリファレンスコンテンツ/オブジェクトとの間における特徴ベクトル間の値の強度に基づいてランク付けされ得る。リファレンスは、ランク付けされ、一致リファレンスとして出力される前にスコア決定コンポーネント302と通信され得る。そして、スコア決定コンポーネント302は、スコアが決定され、比較オブジェクトの他の追加の部分を処理し、および/または照合コンポーネントの一致処理演算についての時間量が経過するまで一致しているモノを保持し得る。例えば、1つまたは複数(例えば、AおよびB)だけが一致しているモノとして出力され得る。この場合、Cは所定の閾値をパスしていない。
【0030】
スコア決定コンポーネント302は、一致しているモノの各々を保持して、パラメータ/評価尺度304に基づいてそられをさらに分析するように動作し得る。いくつかの状況において、1つまたは複数の一致しているモノは、パラメータのセットに基づいて第2の所定の閾値を満たし得る。そして、スコア決定コンポーネント302は、システム300から結果としてこれら一致しているモノを出力し、および/または一致しているモノの結果を保持し続け得る。スコア決定コンポーネント302は、一致しているモノおよび関連付けられたランキングを受信し続け、保持している結果と比較し得る。例えば、リファレンスAを、一致しているモノとして受信し続けるが、しかしながら、他のリファレンスBおよびCに関してそのリファレンスと照合する追加のデータ(受信されたオーディオストリームの追加の分量、または比較オブジェクトの追加の部分)に基づいて、より高くランク付けし得る。そのため、スコア決定コンポーネント302は、リファレンスAが第2の所定の閾値を満たしているかどうか、およびリファレンスAがどの程度それを満たしているかまたは満たしていないかを決定するために、スコア内のランクの増加を生じ得る。
【0031】
図4を参照すれば、一致リファレンスを出力するためにスコアまたは評価尺度を生成する照合システムの例示的なスコア決定コンポーネントを示している。スコア決定コンポーネント302は、上述したような比較オブジェクト110によって表されているような、音楽コンテンツに固有のものであるスコア400を生成し得るし、および/または他のタイプのコンテンツ(例えば映像、TV番組)に関して適切なスコアを定義し得る。一例をあげれば、スコア400は、1つ以上のビットを有する整数値として表され、多数のコンポーネントを含み得る。また、異なるビット長の他の整数値は、1つまたは複数コンポーネントが、様々な順序で配置され、および/またはそれらの表現で異なる意味を有し得ると想定される。
【0032】
例えば、高位ビット402は、販売に関する利用可能性を追跡するために用いられ得る。高位ビット402が一(1)である場合には、例えば、オブジェクト110(例えば、ソングトラックなど)が販売に関して個々に利用可能であり、そうでない場合にはゼロ(0)である。加えて、次の4ビットのセット404は、人気の評価尺度として用いられ得る。この評価尺度は、オブジェクトまたはオーディオトラックに関するウェブ検索数および/またはヒット数(例えば、ビュー、ダウンロードなど)などのヒューリスティックによってもたらされ、4ビット以上で表されるバイナリ値として指定され得る。別の実施形態において、別のビット(例えば、第6のビット)は、オーディオリファレンスの場合には、オリジナルEP盤またはコンピレーションアルバムとして、一致リファレンスを表し得る。例えば、1はトラックがオリジナルEP盤であることを表し、またコンピレーションアルバムである場合には0となり得る、または逆も同様である。残りのビット408は、販売数データ、および/または潜在的な一致コンテンツリファレンスに関連した他のデータを符号化するために使用され得る。その結果として、スコアが高くなればなるほど、照合システムがより好ましいリファレンスをリターンすることになり、一致しているモノの結果としてリリースするための第2の所定の閾値を満たしている際には、そのリファレンスが有している度合いまたは信頼性レベルがより高くなる。スコアの各コンポーネントの順序および意味(それに対応するパラメータまたは評価尺度)は、多様であり得るし、スコア400を説明するために上述した例示に限定されない。例えば、スコアを任意の数のコンポーネントを含み得る整数値として表してもよい。これらのコンポーネントの各々は、その特徴の関連重要度に基づいて、最上位から最下位ビット位置を占めるビットのグループまたはセット(1つまたは複数)を有し得る。
【0033】
スコア決定コンポーネント302は、一致リファレンスのどれを保持してからリリースまたは出力するのがより望ましいかについて決定をするための優先順序において、パラメータ304(評価尺度の基準)を基本的に使用することによって、2つのスコアを比較し得る。そのため、スコア400は、リファレンス一致(例えば、一致リファレンスの第1のセットおよび/または異なる数の一致した特徴ベクトルを有する同一のリファレンスの第2のセットを有するオーディオトラック、および/または異なるリファレンス)の任意のペアを比較し、一致しているモノのリストに関するランキングを再計算し、および/または出力されることになる記憶されている一致しているモノに関するランキングを再設定するためにスコアをランク付けコンポーネント124に通信する手段を提供する。
【0034】
別の実施形態においては、所定のスコア閾値T(第2の所定の閾値またはスコア閾値)を、スコア決定コンポーネント302によって定義し、それを上回ると、スコア決定コンポーネントは、一致しているモノとしてリリースまたは出力してから一致しているモノをホールドバックしない。例えば、閾値は、T = 11111000000000000000000000000000として示したスコア400であり得る。この閾値を上回る任意の一致しているモノは、即座にユーザにリターンされ得るに十分足りていると見なされる。閾値を下回る一致しているモノは、上述したようなシステムが少なくともN秒のプローブ(例えば、比較オブジェクト、オーディオサンプルストリームなど)および/またはプローブの追加の部分(分量)を受信して照合するまでホールドバックされ得ない。例えば、N=5秒の値を使用し得る。加えてまたはあるいは、プローブまたは比較オブジェクトの分量はまた、さらなる部分がまた第1の部分とともにまたは別々に照合するまで、第1の部分(例えば、1つまたは複数の特徴)から生成された一致しているモノを保持することができるように指定され得る。初期の一致しているモノを保持することによって、一致しているモノの初期のランク結果を強化、弱化、および/または追加の閾値(例えば、T)を満たしていないものを放棄のいずれかをすることによってより高い信頼性を実現し得る。
【0035】
ほとんどの場合には、クライアント(例えば、クライアントデバイス)は、第1の一致しているモノを表示することになるが、完全を期するために、上述したシステムは、ランク付けされた一致しているモノの完全リストをリアルタイムでリターンするように動作する。照合時に、システムは、クライアントからプローブクリップ(例えば、比較オブジェクト)を受信し得るし、クリップのフィンガープリントおよび照合を開始することになる。照合コンポーネントが一致しているモノまたは一致しているモノのセットを特定したことに応じて、ランク付けコンポーネントは、それらをランク付けし、閾値Tを上回るものを即座にリターンし削除する。ここではシステムは、より一致しているモノを受信するまで結果をリリースするのを待機する。一致しているモノの新規セットを受信するたびに、それらを、残存している、リターンしなかった/保持している一致しているモノのセットにマージして、ランク付けして、第2の所定の閾値またはスコア閾値に対する比較を行い得る。N秒および/またはN周期間隔のデータを受信して一致した後に、システムは、これまでに見つかったすべての一致しているモノのランク付けされたセットを読み出して、それらをリターンし得る。このポイント以降の任意の後続の一致しているモノは、ランク付けされ、即座にユーザにリターンされ得る。
【0036】
ここで
図5を参照すれば、本明細書に記載の様々な態様による、ランク付けコンポーネント124を示している。ランク付けコンポーネント124は、一例をあげれば、十分に一致しているモノの閾値を満たしている一致リファレンスのスコアを決定するように動作するスコア決定コンポーネント302を含み得る。ランク付けコンポーネント124は、保持コンポーネント502と、マージコンポーネント504とをさらに含み得る。
【0037】
保持コンポーネント502は、十分に一致しているモノを有する、または一致しているモノの閾値を満たしている、一致リファレンスオーディオサンプルを保持する。パラメータ304に基づいたスコア閾値を満たす任意の一致リファレンスの結果は、1つまたは複数のリリースされた一致しているモノ506として、即座にリリースされることになり得る。保持コンポーネント502は、一致リファレンスオーディオサンプルの少なくとも第2のセットが比較オブジェクト(プローブサンプル)の追加の部分から決定されるまで出力してから初期の一致リファレンスの結果とそれらに関連付けられた第1のランキングスコアとを保持し得る。したがって、ランク付けコンポーネント124は、一致リファレンスの結果のランクスコアを継続的に比較して、どの結果が1つまたは複数のリリースされた一致しているモノ506としてリリースするためのスコア閾値を満たしているかを決定するように動作し得る。
【0038】
保持コンポーネント502は、比較処理の時間、または比較されたオーディオストリーミングコンテンツの分量のうちの少なくとも1つを含む所定のパラメータに基づいて、一致リファレンスの結果を保持し得る。加えて、パラメータは、それぞれの一致リファレンスオーディオサンプルが販売に関して個々に利用可能であるかどうか、一致リファレンスオーディオサンプルのそれぞれの人気、それぞれの一致リファレンスオーディオサンプルがオリジナルアルバムであるかまたはコンピレーションアルバムであるか、または一致リファレンスオーディオサンプルのそれぞれの販売量についての指標を含み得るし、各々は、ランクスコアの決定、および一致リファレンスの各々がスコア閾値(上述したような第2の所定の閾値)を満たしているかどうかに関して、異なる重み付けがされ得る。
【0039】
ある時間量および/またはある分量の比較オブジェクトを処理した後のスコアランキングに基づいて最善のまたは最適な一致リファレンスの結果をリリースした後で、保持コンポーネント502は、リリースされた一致しているモノ506として、または他のリファレンス一致よりより高い度合いでスコア閾値を満たしていると決定されるような一致しているモノのサブセットとして、すべての一致しているモノをリリースするように動作し得る。
【0040】
マージコンポーネント504は、一致リファレンスオーディオサンプルを、オーディオストリーミングコンテンツの第2の部分と十分に一致しているモノの第2のランキングスコアを有している少なくとも1つの追加の一致リファレンスオーディオサンプルとマージするようにさらに動作し得る。例えば、オーディオプローブまたは比較オブジェクトの追加の一部またはセグメントを処理すると、追加の一致リファレンスは、保持されている一致しているモノの第1のセットのうちから発見および含まれ得る。あるいはまたは加えて、マージコンポーネント504は、オーディオプローブまたは比較オブジェクトデータの追加の分量がより強い一致しているモノを示しおよび/または1つまたは複数のパラメータ304における増大を示し得る場合など、新規にランク付けされた一致リファレンスの結果を用いてランクを更新することによってスコアランクをマージするように動作し得る。
【0041】
ストリーミング照合システムにおける結果のホールドバックおよびリアルタイムランキングのための方法の限定を意図していない例示
図6乃至8は、開示の主題による、様々な方法を示している。説明を簡潔にするために方法を一連の処理として示し開示しているが、開示の主題は処理の順番に限定されず、いくつかの処理は、異なる順序でおよび/または本明細書に示し記載した他の処理と同時に生じてもよい。あるいは、例えば、方法が状態図などにおける一連の割り込み状態またはイベントとして解釈され得ることを当業者は理解および諒解されよう。さらに、図示した処理のすべてが、開示の主題による方法を実施する必要があるわけではない。加えて、本開示に開示の方法は、そのような方法をコンピュータまたは他のコンピュータデバイスにトランスポートおよび伝達することを容易にするために製品に記憶することができることは諒解されよう。
【0042】
ここで
図6を参照すれば、開示した様々な実施形態による、照合システムのための例示的方法600を示している。参照番号602において、プローブオーディオサンプルを受信する。プローブオーディオサンプルは、例えば、
図2に関して上述したように、メディアコンテンツのストリームを含み得るメディアコンテンツの任意の比較オブジェクト(例えば、オーディオ、ビデオ、テキスト形式データなど)を含み得る。
【0043】
参照番号604において、方法600は、少なくとも1つの一致リファレンスオーディオサンプルを特定するために、プローブオーディオサンプルを複数のリファレンスオーディオサンプルと比較することを含む。例えば、1つまたは複数の一致リファレンスオーディオサンプルを特定するために、プローブオーディオサンプルを複数のリファレンスオーディオサンプルと比較することは、プローブオーディオサンプルのフィンガープリントを生成することと、少なくとも一致しているモノの閾値または十分に一致しているモノの決定によってプローブオーディオサンプルのフィンガープリントに一致している複数のリファレンスオーディオサンプルのそれぞれのフィンガープリントを特定することとを含み得る。
【0044】
参照番号606において、ランキングスコアのそれぞれが、複数の一致リファレンスオーディオサンプルを特定することに応じて、一致リファレンスオーディオサンプルに割り当てられる。例えば、ランキングスコアのそれぞれを一致リファレンスオーディオサンプルに割り当てることは、1つまたは複数の評価尺度/パラメータに基づいて、ランキングスコアのそれぞれを生成することを含み得る。パラメータは、それぞれの一致リファレンスオーディオサンプルが販売に関して個々に利用可能であるかどうかを示す利用可能性の評価尺度、一致リファレンスオーディオサンプルのそれぞれの人気を示す人気の評価尺度、それぞれの一致リファレンスオーディオサンプルがオリジナルアルバムであるかまたはコンピレーションアルバムであるかを示すコンピレーションの評価尺度、および/または一致リファレンスオーディオサンプルのそれぞれの販売量を示す販売の評価尺度を含み得る。
【0045】
例えば、ランキングスコアは、32ビットベクトルなどの特定のビット長または様々なパラメータ基準を示すいくつかの他のビット長を含み、それによって一致しているモノを出力結果としてリリースするかどうかを決定し得る。一例をあげれば、高位ビットは、利用可能性の評価尺度(例えば、販売に関して公的に利用可能であるか否か)を表し得るし、他のビットは、一致リファレンスの結果に関するウェブ検索および/またはビューまたはダウンロードの数などの人気の評価尺度(例えば、ヒューリスティックデータ)を表し得るし、他のビットは、コンピレーションの評価尺度または他のメタデータ(例えば、元がオリジナルEP盤またはコンピレーションアルバムである場合)、販売数データに関するビット、および/または要因ランキングスコアを生成するために使用される他の基準を示し得る。
【0046】
ある実施形態において、結果として生じる一致しているモノ(例えば、一致リファレンスオーディオサンプル)は、フィンガープリントまたは次数間の相関の度合いに基づいてランク付けされ得るし、そして、ランク付けされた一致しているモノは、上述したようなパラメータ/評価尺度のセットに基づいてスコアが決定され得る。
【0047】
別の実施形態において、方法フローは、ランキングスコアのそれぞれを割り当て、複数の一致リファレンスオーディオサンプルのうちで最初に特定されたものより高いランキングの一致しているモノを決定および/または既に割り当てられているランクスコアを修正した後に、プローブオーディオサンプルを複数のリファレンスオーディオサンプルと継続的に比較することによって継続し得る。例えば、さらなる一致リファレンスを生成しおよび/または一致しているモノに関する比較における追加の特徴/次元を特定するために、プローブサンプルの追加の部分がさらに照合され得る。サンプルの初期の分量のうちの一致しているモノの第1のセットが多数の一致しているモノを特定し得る一方で、プローブサンプルのさらなる分量は、追加の一致しているモノを発見するとともに、既に決定された一致しているモノを強化または弱化し得る。例えば、追加の一致しているモノが発見されると、および/または一致しているモノの閾値に対する一致しているモノのランクがプローブサンプルの前回の部分で行われたことより少ない特徴の発生から引き下げられると、パラメータが、保持している一致しているモノに対して弱化または引下げられ得る。パラメータは、例えば、保持している一致しているモノの結果に対してより少なくまたは多く適用され得る。ここで、追加の結果は、一致しているモノ(例えば、オーディオリミックスまたは他の変更されたレコーディング、および/または同様のメディア)の強度を引き下げる。そのため、出力から初期の結果を保持することによって、最高のスコアランクを有する1つまたは複数の一致リファレンスが、さらなる比較分析に応じて出力され得るし、そうではない場合と比べてより高い信頼性レベルを有する。
【0048】
ここで
図7を参照すれば、本開示に記載の様々な態様による、照合システムのための例示的方法700を例示している。参照番号702において、方法700は、プロセッサを介して、プローブオーディオサンプルの第1の部分を受信することを含む。例えば、第1の部分は、プローブサンプルを受信するための一定時間および/または照合処理を進めるのに十分なプローブサンプルの分量(例えば、メディアコンテンツ、一秒、検出された特徴ベクトルの数などの1/50)から決定され得る。
【0049】
704において、プローブサンプルの第1の部分を、複数の一致リファレンスオーディオサンプルを特定するために、複数のリファレンスオーディオサンプルと比較する。706において、十分に一致しているモノの閾値を満たしている1つまたは複数の一致リファレンスオーディオサンプルを特定する。
【0050】
708において、十分に一致しているモノの閾値を満たしている一致リファレンスオーディオサンプルをパラメータのセットに基づいて決定する。
【0051】
710において、出力してから一致リファレンスオーディオサンプルを保持する。ある実施形態においては、受信されることになるさらなるデータに関するリリースおよび/またはプローブサンプルの追加の部分または分量などについて行われるさらなる照合処理の前に、他を保持する一方で、ランキングまたはスコア閾値を超過しているそれぞれの割り当てられたランキングスコアを有するそのようなリファレンスを、即座にリリースするものとして設定して、保持しなくてもよい。別の実施形態においては、一致リファレンスサンプルをある時間保持した後に、所定の数の一致リファレンスの結果(例えば、一致オーディオサンプルの結果)をリリースするものとして設定し得る。加えてまたはあるいは、ランキング閾値を超過しているランキングスコアのそれぞれを有する一致リファレンスオーディオサンプルを出力することの所定の時間量の後に、方法は、保持してきた割り当てられたランキングスコアのそれぞれを有する複数の一致リファレンスオーディオサンプルを出力することによって継続し得る、または発見された一致しているモノをさらに保持することなく、最適な一致しているモノを最初に出力するためにリリースすることを保証し得る。
【0052】
708における処理は、
図8の方法800を参照してさらに継続し得る。802において、上述したようなパラメータに基づいて決定される、スコア閾値を上回るまたは満たしている一致リファレンスオーディオサンプルは、(例えば、データストアまたは他のメモリによって)保持してからリリースされ得る。804において、比較が、任意の追加の一致リファレンスオーディオサンプルを特定するために、および/または保持している一致リファレンスの結果を強化/弱化するために、複数のリファレンスオーディオサンプルに対するプローブオーディオサンプルの第2の部分との照合のために行われ得る。ランキングスコアを、さらなる比較と保持している一致リファレンスオーディオサンプルに関するパラメータのセットとに基づいて、またプローブサンプルの第2の部分から特定された任意の追加の一致リファレンスオーディオサンプルを用いて、継続的にまたは反復してリリースし得る。806において、再評価されたランキングスコアに基づいて、一致しているモノを保持してからおよび/または追加の照合結果の即座のリリースのために、リリースし得る。一例をあげれば、そのセットの他の一致リファレンスオーディオサンプルより大きいスコア閾値を満たしている一致リファレンスオーディオサンプルのサブセット(保持している照合結果および追加の一致リファレンスオーディオサンプルを含むセット)を出力としてリリースし得る。そして、一致しているモノを生成するプローブサンプルの追加の部分が、いかなる保持またはホールドバックもなく出力として即座にリリースされ得るように、さらなる一致しているモノの結果を必ずしも保持する必要はない。あるいは、さらなる結果は、保持され、任意の追加の一致しているモノとの比較によって再評価され続け得る。一致リファレンスオーディオサンプルおよび追加の一致リファレンスオーディオサンプル。
【0053】
例示的なネットワーク環境および分散環境
本明細書に記載の様々な実施形態が、コンピュータネットワークの一部としてまたは分散コンピューティング環境に展開され得る任意のコンピュータまたは他のクライアントまたはサーバデバイスに関連して実施され、媒体を備え得る任意の種類のデータストアに接続され得ることを当業者は諒解されよう。このことに関連して、本明細書に記載の様々な実施形態は、任意の数のメモリまたはストレージユニットを有する任意のコンピュータシステムまたは環境、および任意の数のストレージユニットにわたって生じる任意の数のアプリケーションおよびプロセスにおいて実装され得る。このことは、リモートまたはローカルストレージを有するネットワーク環境または分散コンピューティング環境に展開されたサーバコンピュータおよびクライアントコンピュータを備えた環境を含むがそれに限定されない。
【0054】
分散コンピューティングは、コンピュータデバイスおよびシステム間の伝達交換によってコンピュータリソースおよびサービスの共有を提供する。これらのリソースおよびサービスは、ファイルなどのオブジェクトのために、情報の交換、キャッシュストレージ、およびディスクストレージを含む。これらのリソースおよびサービスはまた、ロードバランシング、ソースの拡張、処理の特殊化などに関する複数の処理ユニットにわたる処理能力の共有を含む。分散コンピューティングは、ネットワーク接続を活用しており、このことは、クライアントが企業全体の利益のために彼らの団体能力を利用することを可能にする。このことに関連して、様々なデバイスは、本開示の様々な実施形態に関して記載したような機構に関与し得るアプリケーション、オブジェクトまたはリソースを有していてもよい。
【0055】
図9は、例示的なネットワーク環境または分散コンピューティング環境の概略図を提供している。分散コンピューティング環境は、アプリケーション930、932、934、936、938によって表されているような、プログラム、方法、データストア、プログラマブルロジックなどを含み得る、コンピューティングオブジェクト910、912などおよびコンピューティングオブジェクトまたはデバイス920、922、924、926、928などを備える。コンピューティングオブジェクト910、912などおよびコンピューティングオブジェクトまたはデバイス920、922、924、926、928などは、携帯情報端末(PDA)、オーディオ/ビデオデバイス、携帯電話、MP3プレーヤ、パーソナルコンピュータ、タブレット、ラップトップなどの異なるデバイスを含み得ることは諒解できよう。
【0056】
コンピューティングオブジェクト910、912などおよびコンピューティングオブジェクトまたはデバイス920、922、924、926、928などの各々は、直接的または間接的のいずれかで、通信ネットワーク940を経由して、1つまたは複数の他のコンピューティングオブジェクト910、912などおよびコンピューティングオブジェクトまたはデバイス920、922、924、926、928などと通信し得る。
図9において単一の要素として示されていたとしても、ネットワーク940は、サービスを
図9のシステムに提供する他のコンピューティングオブジェクトおよびコンピュータデバイスを含んでいてもよいし、および/または複数の相互接続されたネットワークを図示していないが表していてもよい。コンピューティングオブジェクト910、912、などまたはコンピューティングオブジェクトもしくはデバイス920、922、924、926、928などの各々はまた、APIを利用する可能性があるアプリケーション930、932、934、936、938などのアプリケーション、または本開示の様々な実施形態との通信または実装に適した他のオブジェクト、ソフトウェア、ファームウェアおよび/またはハードウェアを含み得る。
【0057】
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成が存在している。例えば、コンピューティングシステムは、ローカルネットワークまたは広域分散ネットワークによって、有線または無線システムによって、ともに接続され得る。現在では、多くのネットワークは、広域分散コンピューティングのためのインフラを提供するし多くの異なるネットワークを含むインターネットに接続されているが、任意のネットワークインフラが、様々な実施形態において記載されているようなシステムから起きる例示的な通信のために利用され得る。
【0058】
そのため、クライアント/サーバ、ピア・ツー・ピア、またはハイブリッド機構などのネットワークトポロジーおよびネットワークインフラのホストが使用され得る。「クライアント」は、関連していない別のクラスまたはグループのサービスを使用するクラスまたはグループのメンバである。クライアントは、別のプログラムまたはプロセスによって提供されているサービスを要求するプロセスであって、例えば、おおよそ、命令またはタスクのセットであり得る。クライアントは、他のプログラムまたはサービス自身に関する任意の動作詳細を「把握」する必要なく、要求されたサービスを利用するプロセスであってもまたはプロセスを使用してもよい。
【0059】
クライアント/サーバ機構、特にネットワークシステムにおいて、クライアントは、通常は、別のコンピュータ、例えば、サーバによって提供される共有ネットワークリソースにアクセスするコンピュータである。
図9の説明図においては、限定を意図していない例示として、コンピューティングオブジェクトまたはデバイス920、922、924、926、928などは、クライアントとして考えられ得るし、コンピューティングオブジェクト910、912などは、サーバとして考えられ得る。コンピューティングオブジェクト910、912などは、クライアントコンピューティングオブジェクトまたはデバイス920、922、924、926、928などからのデータの受信、データの記憶、データの処理、クライアントコンピューティングオブジェクトまたはデバイス920、922、924、926、928などへのデータの送信などのデータサービスを提供するが、いずれのコンピュータも、状況に応じて、クライアント、サーバ、またはその双方と見なされ得る。
【0060】
サーバは、一般的に、インターネットまたは無線ネットワークインフラなどのリモートまたはローカルネットワークを介して、リモートコンピュータシステムアクセス可能である。クライアントプロセスは、第1のコンピュータシステムでアクティブであってもよいし、およびサーバプロセスは、第2のコンピュータシステムでアクティブであってもよいし、通信媒体を介して互いに通信し、そのため、分散された機能性を提供して、複数のクライアントがサーバの情報収集性能を活用することを可能にしている。
【0061】
通信ネットワーク/バス940がインターネットであるネットワーク環境においては、例えば、コンピューティングオブジェクト910、912などは、クライアントコンピューティングオブジェクトまたはデバイス920、922、924、926、928などがハイパーテキスト転送プロトコル(HTTP)などの多数の既知のプロトコルのいずれかを介して通信するウェブサーバであり得る。オブジェクト910、912などは、クライアントコンピューティングオブジェクトとして機能してもよいし、またはデバイス920、922、924、926、928などは、分散コンピューティング環境の機能であってもよい。
【0062】
例示的なコンピュータデバイス
上述したように、有利には、本明細書に記載の技法は、本明細書に記載の様々な実施形態を実施するのに適した任意のデバイスに適用可能であり得る。例えば、どこでも、デバイスがデータストアからまたはデータストアへのトランザクションを読み込みまたは書き込むことを望むといった、様々な実施形態に関連した使用のためには、ハンドヘルド、ポータブルおよび他のコンピュータデバイス、およびすべての種類のコンピューティングオブジェクトが考えられる。それゆえ、以下の汎用リモートコンピュータを
図10において以下に示しているがコンピュータデバイスの一例にすぎない。
【0063】
必要というわけではないが、実施形態は、デバイスまたはオブジェクトに関するサービスの開発者による使用のために、オペレーティングシステムを介して部分的に実施され、および/または本明細書に記載の様々な実施形態の1つまたは複数の機能的態様実行するように動作するアプリケーションソフトウェアに含まれ得る。ソフトウェアは、クライアントワークステーション、サーバ、または他のデバイスなどの1つまたは複数のコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで記載され得る。コンピュータシステムが、データを通信するために使用され得る様々な構成およびプロトコルを有しており、そのため、特定の構成またはプロトコルに限定して考えないことを当業者は諒解されよう。
【0064】
そのため、
図10は、本明細書に記載の実施形態の1つのまたは複数の態様を実施し得る適切なコンピューティングシステム環境1000の例を示しているが、上記で明確にしているように、コンピューティングシステム環境1000は、適切なコンピューティング環境の一例にすぎず、使用または機能性の範囲に関して任意の限定の提案をすることを意図していない。コンピューティング環境1000を、例示的な動作環境1000に示したコンポーネントの任意の1つのまたは組合せに関してなんらかの依存性または要件を有するものとして解釈すべきではない。
【0065】
図10を参照すれば、1つまたは複数の実施形態を実施する例示的なリモートデバイスが、コンピュータ1010の形式の汎用コンピュータデバイスを備えている。コンピュータ1010のコンポーネントは、処理ユニット1020と、システムメモリ1030と、システムメモリを含む様々なシステムコンポーネントを処理ユニット1020に接続するシステムバス1022とを備えていてもよいがそれに限定されない。
【0066】
コンピュータ1010は、様々なコンピュータ可読媒体を備え、コンピュータ1010によってアクセスされ得る任意の利用可能な媒体でもあり得る。システムメモリ1030は、リードオンリーメモリ(ROM)および/またはランダムアクセスメモリ(RAM)などの揮発性および/または不揮発性メモリの形式のコンピュータ記憶媒体を含み得る。例としてではあるが、限定ではない、メモリ1030はまた、オペレーティングシステムと、アプリケーションプログラムと、他のプログラムモジュールと、プログラムデータとを含む。
【0067】
ユーザは、コマンドおよび情報をコンピュータ1010に入力デバイス1040を介して入力し得る。また、モニタまたは他のタイプのディスプレイデバイスは、出力インターフェース1050などのインターフェースを介して、システムバス1022に接続されている。モニタに加えて、コンピュータはまた、出力インターフェース1050を介して接続され得るスピーカおよびプリンタなどの他の周辺出力デバイスを備えている。
【0068】
コンピュータ1010は、リモートコンピュータ1070などの1つまたは複数の他のリモートコンピュータに対する論理接続を用いて、ネットワーク環境または分散環境で動作してもよい。リモートコンピュータ1070は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスもしくは他の共通のネットワークノード、または任意の他のリモートメディア消費、または伝送デバイスであってもよいし、コンピュータ1010に関連して上述した任意のまたはすべての要素を備えていてもよい。
図10に示した論理接続は、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)などのネットワーク1072を備えているが、他のネットワーク/バスを含んでいてもよい。そのようなネットワーク環境は、ホーム、オフィス、エンタープライズワイドコンピュータネットワーク、イントラネット、およびインターネットにおいて当たり前のものである。
【0069】
上述したように、例示的な実施形態を様々なコンピュータデバイスおよびネットワーク機構に関連して記載してきたが、根本的な概念は、フレキシブルな方法で媒体を公開または消費するのが望ましい任意のネットワークシステムおよび任意のコンピュータデバイスまたはシステムに適用されてもよい。
【0070】
「例示的な」という単語を、本明細書では、例示、例、または図の代わりとなることを意味するように使用している。誤解を避けるために、本明細書に記載の本事項は、そのような例示に限定されない。加えて、「例示的な」ものとしての本明細書に記載の任意の態様または設計は、他の態様または設計に対して好ましいまたは望ましいものとして解釈される必要は必ずしもなく、当業者にとって既知の均等物、例示的な構造、および技法を除外することを意味するものでもない。さらに、「備える」、「有する」、「包含する」といった用語、および他の同様の単語が詳細な説明または特許請求の範囲のいずれかで使用されている限りでは、誤解を避けるために、そのような用語は、任意の追加のまたは他の要素を除外することのないオープンな転換語として、「含む」という用語と同様に、包含的であることを意図している。
【0071】
コンピュータデバイスは、一般的に、コンピュータ可読記憶媒体を含み得る様々な媒体を備える。コンピュータ可読記憶媒体は、コンピュータによってアクセスされ、非一時的特性のものであり、揮発性および不揮発性メディア、リムーバルおよび非リムーバルメディアの双方を含み得る任意の利用可能な記憶媒体であり得る。例としてではあるが、限定ではない、コンピュータ可読記憶媒体は、コンピュータ可読命令、プログラムモジュール、構造化データ、または非構造化データなどの情報の記憶のための任意の方法または技術に関連して実装され得る。コンピュータ可読記憶媒体は、所望の情報を記憶するために使用され得る、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または他の有形および/または非一時的メディアを含み得るがそれに限定されない。コンピュータ可読記憶媒体は、媒体によって記憶される情報に関する様々な処理のために、例えば、アクセス要求、クエリ、または他のデータ検索プロトコルを介して、1つまたは複数のローカルまたはリモートコンピュータデバイスによってアクセスされ得る。
【0072】
上述したように、本明細書に記載の様々な技法は、ハードウェアもしくはソフトウェアに関連して、または必要に応じて双方の組合せで実装されてもよい。本明細書で使用されているような「コンポーネント」、「システム」などの用語は同様に、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行時のソフトウェアのいずれかのエンティティに関連したコンピュータを称することを意図している。例えば、コンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行についてのスレッド、プログラム、および/またはコンピュータであってもよいがそれに限定されない。例として、コンピュータで実行中のアプリケーションおよびコンピュータの双方は、コンポーネントであり得る。1つまたは複数のコンポーネントは、実行についてのプロセスおよび/またはスレッド内に存在していてもよいし、コンポーネントは、1つのコンピュータに局在および/または2つ以上のコンピュータ間に分散されていてもよい。さらに、コンポーネントは、専用ハードウェア、ハードウェアが特定の機能(例えば、符号化および/または復号)を実行することを可能にするソフトウェアの実行によって特殊化される汎用ハードウェア、コンピュータ可読媒体に記憶されたソフトウェア、またはその組合せの形式で機能し得る。
【0073】
いくつかのコンポーネント間のインタラクションについて前述のシステムを記載してきた。そのようなシステムおよびコンポーネントが、コンポーネントまたは特定のサブコンポーネント、特定のコンポーネントまたはサブコンポーネントの一部、および/または前述の様々な置換および組合せに準拠した追加のコンポーネントを含み得ることは諒解できよう。また、サブコンポーネントは、(階層構造上の)親コンポーネントに含まれているというよりはむしろ、他のコンポーネントと通信接続されるコンポーネントとして実装され得る。加えて、1つまたは複数のコンポーネントは、集約された機能性を提供する単一のコンポーネントに結合またはいくつかの別個のサブコンポーネントに分割されていてもよいし、管理レイヤなどの任意の1つまたは複数のミドルレイヤを、統合された機能性を提供するためにそのようなサブコンポーネントと通信接続するために、提供してもよいことに留意されたい。本明細書に記載の任意のコンポーネントはまた、特に、本明細書に記載していないが、一般的に当業者にとって既知である1つまたは複数の他のコンポーネントと情報をやりとりしてもよい。
【0074】
上述した様な例示的なシステムを考慮すれば、記載の主題により実施され得る方法は、様々な図のフローチャートを参照することによってより好ましいものとなろう。説明を簡潔にするために、方法を一連のブロックとして示し記載しているが、主張の主題は、いくつかのブロックが異なる順序でおよび/または本明細書に描写および記載している他のブロックと同時に生じてもよく、ブロックの順序に限定されない。フローチャートを介して非連続または分岐フローを示しており、様々な他の分岐、フロー経路、およびブロックの順序が、同一または同様の結果を得るように実装され得ることは諒解できよう。さらに、必ずしも図示したブロックは、以下に記載の方法の実施に必要というわけではない。
【0075】
本明細書に記載の様々な実施形態に加えて、逸脱することなく、対応する実施形態の同一のまたは均等な機能を遂行するために、他の同様の実施形態が使用または変更され、追加が記載した実施形態になされ得ることは理解されよう。さらに、複数の処理チップまたは複数のデバイスは、本明細書に記載の1つまたは複数の機能の性能を共有し得るし、同様に、ストレージは、複数のデバイスにわたってもたらされ得る。それゆえ、発明は、単一の実施形態のいずれかに限定されるものではなく、むしろ、添付の特許請求の範囲による精神および範囲に含まれるように解釈されることになり得る。