(57)【要約】【課題】  本発明は、オーディオサムネイルと呼ばれるニーモニックなオーディオ部分またはセグメントの自動生成を容易にするシステムおよび方法に関する。【解決手段】  オーディオ情報を要約するためのシステムが提供される。本システムは、オーディオファイルのサムネイルを生成するために、オーディオファイル中の共通の特徴を判定するための分析コンポーネントと、その共通の特徴に部分的に基づいてオーディオファイルのフィンガープリント部分を抽出するニーモニックディテクタとを含む。そして、生成したサムネイルを用いて、オーディオファイルのブラウジングおよび探索を容易にすることができ、このようなファイルの部分またはセグメントを長く聴かなくてもよいようにする。【選択図】  図１
2005250472.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ情報を要約するためのシステムであって、
オーディオをフレームに変換するアナライザと、
前記フレームをフィンガープリントに変換するフィンガープリンティングコンポーネントであって、各フィンガープリントが複数のフレームに部分的に基づくフィンガープリンティングコンポーネントと、
フィンガープリント間の類似性を計算する類似性ディテクタと、
オーディオファイルのサムネイルを、フィンガープリント間の前記類似性に部分的に基づいて生成するヒューリスティックモジュールと
を備えたことを特徴とするシステム。
【請求項２】
前記ヒューリスティックモジュールは、前記サムネイルに適したオーディオのセグメントの判定を助けるために、エネルギーコンポーネントおよび平坦性コンポーネントの少なくとも１つを備えたことを特徴とする請求項１に記載のシステム。
【請求項３】
前記ヒューリスティックモジュールを用いて、音声コーラスを楽器演奏部分に優先して自動的に選択することを特徴とする請求項２に記載のシステム。
【請求項４】
前記フィンガープリントによって適当なコーラスが見つからない場合、前記エネルギーコンポーネントおよび前記平坦性コンポーネントを用いることを特徴とする請求項２に記載のシステム。
【請求項５】
オーディオクリップの始めと終わりにある無音をエネルギーベースのしきい値を介して取り除くコンポーネントをさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項６】
前記フィンガープリンティングコンポーネントは、オーディオクリップの各フィンガープリントから他のフィンガープリントへの平均ユークリッド距離が１であるように、正規化コンポーネントをさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項７】
前記アナライザは、オーディオフレームの１組のスペクトルマグニチュードを計算することを特徴とする請求項１に記載のシステム。
【請求項８】
各フレームについて、そのフレーム内の周波数成分あたりの平均エネルギーをオーディオファイル中のフレームにわたるその量の平均で割ることによって平均の正規化したエネルギーＥを計算することを特徴とする請求項７に記載のシステム。
【請求項９】
オーディオファイルの中央部分を選択して、前記オーディオファイル中に現れる静かな前奏およびフェード部の影響を軽減するコンポーネントをさらに備えたことを特徴とする請求項８に記載のシステム。
【請求項１０】
前記平坦性コンポーネントは、周波数成分ごとにスペクトルマグニチュードに加える数を用いて、対数を決定するときの数値の問題を軽減することを特徴とする請求項２に記載のシステム。
【請求項１１】
前記平坦性コンポーネントは、前記スペクトルマグニチュードの対数正規化幾何平均として計算されるフレーム量を含むことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記正規化は、フレームあたりのマグニチュードのフレームあたりの対数算術平均を前記幾何平均から引くことによって行われることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記類似性ディテクタは、クラスタリング関数を備え、前記クラスタリング関数は、類似のフィンガープリントのクラスタを生成することを特徴とする請求項１に記載のシステム。
【請求項１４】
前記クラスタリング関数は、クラスタの集合をさらに生成することを特徴とする請求項１３に記載のシステム。
【請求項１５】
フィンガープリントＦ１およびフィンガープリントＦ２が少なくとも次の２つの条件を満たす場合、すなわち、第１の条件に関して、Ｆ１からＦ２への正規化ユークリッド距離が第１のしきい値を下回り、第２の条件に関して、Ｆ１を計算した個所とＦ２を計算した個所の間のオーディオ中の時間的ギャップが第２のしきい値を超える場合、前記クラスタ集合中のＦ２を含むクラスタに加えられるＦ１またはＦ１に関係する識別インデックスをさらに備えたことを特徴とする請求項１４に記載のシステム。
【請求項１６】
請求項１に記載のシステムを実装するためのコンピュータ可読命令が格納されたことを特徴とするコンピュータ可読媒体。
【請求項１７】
オーディオファイルをフレームに変換するための手段と、
前記オーディオファイルをフィンガープリンティングし、複数のフレームに部分的に基づいてフィンガープリントを生成するための手段と、
前記フィンガープリントに部分的に基づいて、オーディオサムネイルを判定するための手段と
を備えたことを特徴とする自動サムネイルジェネレータ。
【請求項１８】
オーディオサムネイルを生成する方法であって、
複数のオーディオフィンガープリントを生成することであって、各オーディオフィンガープリントが複数のオーディオフレームに部分的に基づくことと、
前記複数のフィンガープリントをフィンガープリントクラスタにクラスタリングすることと、
前記フィンガープリントクラスタに部分的に基づいてサムネイルを作成することと
を備えることを特徴とする方法。
【請求項１９】
前記クラスタリングすることは、１つまたは複数のクラスタ集合をさらに作成し、各クラスタ集合はフィンガープリントクラスタを備えることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記クラスタリングすることは、あるクラスタ集合が３つ以上のフィンガープリントクラスタを有するかどうかを判定することをさらに備えることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記クラスタリングすることは、しきい値に部分的に基づき、前記しきい値は、オーディオファイルに対して適応的に選ばれ、２つのフィンガープリントが同じクラスタ集合に属するかどうかの判定を助けるのに使用されることを特徴とする請求項１８に記載の方法。
【請求項２２】
前記クラスタリングすることは、一時に１つのフィンガープリントを検討することによって動作することを特徴とする請求項１８に記載の方法。
【請求項２３】
クラスタがオーディオファイルを通して時間的にどのくらい均一に拡がっているかを記述するパラメータ（Ｄ）を判定することをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項２４】
時間的な拡がりの尺度をある所与のクラスタ集合中のクラスタに適用することを特徴とする請求項２３に記載の方法。
【請求項２５】
所要時間が１になるように曲を正規化し、
ｉ番目のクラスタの時間位置をｔｉとし、
【数１】
2005250472.tif 000006
【数２】
2005250472.tif 000007
として計算し、ここでＮをあるクラスタ集合中のクラスタの数として
（Ｄ）を測定することを特徴とする請求項２４に記載の方法。
【請求項２６】
任意のＮについて、（Ｄ）が１の最大値および０の最小値をとるようにオフセットおよびスケーリングファクタを判定することをさらに備えることを特徴とする請求項２５に記載の方法。
【請求項２７】
ある集合中のフィンガープリントの平均スペクトル品質を判定することをさらに備えることを特徴とする請求項２５に記載の方法。
【請求項２８】
ある集合の平均スペクトル平坦性と、パラメータＤとを組み合わせて、複数のクラスタ集合のうちから最良のクラスタ集合を判定することを特徴とする請求項２７に記載の方法。
【請求項２９】
前記平均のスペクトル平坦性およびパラメータＤを組み合わせて各クラスタ集合に関連付けられた単一のパラメータとし、それによって前記パラメータの外部値を有する集合を前記最良の集合とするように選択することを特徴とする請求項２８に記載の方法。
【請求項３０】
最良のクラスタ集合が選択されると、前記クラスタ集合内の最良のフィンガープリントは、オーディオサムネイルの所要時間にほぼ等しい所要時間について、そのオーディオの周辺が最大のスペクトルエネルギーまたはスペクトル平坦性を有するフィンガープリントとして判定されることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記作成することは、オーディオファイルで繰り返される前記オーディオファイル内のオーディオの最長のセクションを判定することによってクラスタを判定することをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項３２】
前記作成することは、
曲の始めまたは終わりに近いクラスタを排除することと、
所定のウィンドウ中の任意のフィンガープリントについてエネルギーがあるしきい値を下回るクラスタを排除することと、
所定のウィンドウ中の平均スペクトル平坦性の尺度が最大となるフィンガープリントを選択すること
の少なくとも１つをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項３３】
前記作成することは、オーディオファイル中の時間オフセットを指定することによってサムネイルを生成することをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項３４】
前記作成することは、オーディオサムネイルの始めまたは終わりを自動的にフェーディングすることをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項３５】
前記生成することは、オーディオファイルを少なくとも２つの層で処理することをさらに備え、第１の層の出力は小さなウィンドウにわたって計算された対数スペクトルに基づき、第２の層は前記第１の層により生成されたベクトルをまとめることによって計算されたベクトルに関して動作することを特徴とする請求項１８に記載の方法。
【請求項３６】
先行する層よりも後続する層でより広い時間ウィンドウを提供することをさらに備えることを特徴とする請求項３５に記載の方法。
【請求項３７】
前記層の少なくとも１つを用いて時間的ミスアラインメントを補償することをさらに備えることを特徴とする請求項３６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、コンピュータシステムに関し、より詳細には、オーディオファイルのブラウジング（ｂｒｏｗｓｉｎｇ）を容易にする、ニーモニック（ｍｎｅｍｏｎｉｃ）なオーディオサムネイルまたはクリップの生成、またはその他の目的のために、オーディオフィンガープリントを使用してオーディオファイル内の共通または繰り返しの要素を決定するシステムおよび方法に関する。
【背景技術】
【０００２】
現代の多くのソフトウェアシステムがサポートする現行の機能の１つが、オーディオファイルを格納し、再生する機能である。こうしたシステムの多くにより、ユーザはオーディオファイルの多様なコレクションを格納し、管理することができるようになる。しかし時間の経過につれて、多くのユーザは、必然的により大きな記憶スペースを占める大量のデータに不満を持つようになる。また、コレクションが大きくなると、所望のオーディオ情報を取り出し、再生することが、より難しく、また時間のかかるものになる。多くのシステムで、ユーザがこうした絶えず量の増え続けるオーディオ情報を管理する助けとなるソフトウェアが提供されている。例えば、こうしたシステムは、ＭＰ３、Ｏｇｇ  Ｖｏｒｂｉｓ（ＯＧＧ）、Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ａｕｄｉｏ（登録商標）（ＷＭＡ）、ＭＰＣ、ＭＰ＋のファイルなどを含む、普及したオーディオファイルフォーマットをサポートするオーディオマネージャを含むことがある。これによってユーザは、自分のオーディオファイルの全コレクションをカタログ化でき、好みの曲をすぐに探索できるようになり、アルバムの表紙をサムネイルとして使用し、アルバムをブラウズしたり、レポートや他の役立つ機能を作成したりする。
【０００３】
オーディオファイルの整理に加え、こうしたシステムでは、例えばタグを編集したり、名前を変更したり、歌詞を編集したり、ＣＤを作成したり、アーチストの情報を調べたりすることでファイルを管理する１組のツールが提供される。ユーザは、ハードディスク、ＣＤ−ＲＯＭ、ネットワークドライブ、ＺＩＰドライブまたは他の任意のリムーバブルメディアに格納されたオーディオファイルについて作業を行うことができる。これは、ユーザが複数の再生リストを再生し、各タイトルに関連付けられた画像を表示できるようにするツールを含んでいる。追加の機能には、自動生成されたデータベース統計、個人評価、ジャンル／ムード／年によるソート、およびカスタムのデータベースクエリが含まれる。
【０００４】
オーディオフィンガープリンティング（ＡＦＰ：Ａｕｄｉｏ  ｆｉｎｇｅｒｐｒｉｎｔｉｎｇ）が、近年、ストリームまたはファイルにおいて、オーディオを特定するための強力な方法として現れた。いくつかの会社が現在、オーディオフィンガープリンティングに基づく音楽サービスを提供している。これらのサービスでは、特定すべきオーディオから１つまたは複数のフィンガープリント抽出すること、および、それらのフィンガープリントを、これまでに計算したフィンガープリントの大規模なデータベースと照合することが要求される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、オーディオファイルをすばやく解析（ｐａｒｓｅ）するのは今のところ可能ではないので、大規模なオーディオコレクションを管理するのは（サムネイルの使える画像の場合とは違って）困難である。ユーザは一般にラベルリングに頼らなければならないが、この助けも限られている。ラベルリングは、多々、不正確であり、ラベルリングが正確であっても、ユーザはある所与の曲を、聴くまで思い出せないことがある。ユーザはある曲がどんなものか思い出せない場合、普通、それを再生し、そしてその楽曲が分かったら再生を停止しなければならない。さらに、いくつかのシナリオでは、楽曲選択に対して「手を放した状態（ｈａｎｄｓ−ｏｆｆ）」のアプローチが必要になり、例えば、ドライブ中に曲を選ぶためにオーディオコレクションをブラウズしたいと欲することがある。
【０００６】
これまでの取り組みでは、楽曲のブラウジングの問題を多少とも解決するために、楽曲の要約が試みられてきた。しかし、こうしたこれまでの取り組みでは、オーディオの単一のフレームから特徴を計算することに集中していた。これらのフレームは、通常、１６〜３０ミリ秒の長さである。これまでの取り組みでは、そのようなフレーム間の類似性を計算している。この類似性は、類似性メトリックに利用可能な情報が不十分であるために、どうしても粗いものとなる。
【課題を解決するための手段】
【０００７】
以下に、本発明のいくつかの態様の基本的理解を提供するために本発明の簡略化した要約を示す。この要約は、本発明の広範な概要ではない。本発明の重要／重大な要素を特定し、または本発明の範囲を画定することを意図していない。唯一の目的は、後に示すより詳細な説明の前置きとして本発明のいくつかの概念を簡略化した形で示すことである。
【０００８】
本発明は、オーディオサムネイルを生成するためのシステムおよび方法に関する。対象の発明は、ブラウジングを容易にするため、またはその他の目的でオーディオを要約するために、ニーモニックな「オーディオサムネイル」をユーザに提示する問題を扱う。
【０００９】
サムネイルは短いが（通常、約１５秒以下）、ユーザが最も覚えていそうな曲またはオーディオファイルの部分から抽出される。それゆえ、本発明は、部分的にはオーディオクリップ内でほぼ繰り返されるオーディオの部分を判定することによって動作する。例えば、ある曲にコーラスがあり、そのコーラスの複製が十分に似ている場合、システムはそのコーラスを特定し、オリジナルを想起させる効果の高いオーディオのセグメントを構築することができる。よく似た繰り返しを見つけるために、本発明は、その出力が変換されたオーディオデータの複数のフレームに（部分的に）基づくフィンガープリンティングコンポーネントを使用する。
【００１０】
フィンガープリンティングコンポーネントに加えて、システムはスペクトル平坦性の尺度、およびスペクトルエネルギーの尺度を用いて、繰り返されるオーディオの異なる部分間を決定することもできる。また、システムはこうした尺度を活用して、オーディオが繰り返しのセクションを含まない場合でも、そのオーディオのニーモニックなセクションを特定することができる。システムは、ニーモニックなセクションを特定すると、ファイル中のその位置のまわりからセグメント（ある態様では、１５秒を使用する）を抽出する。この抽出したセクション（または、等価的に、特定されたセグメントがオーディオファイル中のどこにあるかを判定するオーディオファイル中へのポインタ）が「オーディオサムネイル」として使用される。
【００１１】
上述および関連する目的を達成するため、本発明の特定の例示的な態様について、本明細書で以下の説明および添付の図面に関連して説明する。これらの態様は、本発明が実施できる様々な方法を示唆するが、本発明はそのすべてを包含するものである。本発明の他の利点および新規な特徴は、本発明の以下の詳細な説明から、図面と併せ考慮すると明らかとなろう。
【発明を実施するための最良の形態】
【００１２】
本発明は、オーディオサムネイルと呼ばれるニーモニックなオーディオの部分またはセグメントの自動生成を容易にするシステムおよび方法論に関する。本発明は、複数のフレームに含まれる情報に（部分的に）基づいてフィンガープリントを計算することにより、旧来の楽曲要約技法に取って代わるものである。それゆえ、フィンガープリントははるかに多くの情報を有し、それらの間の類似性ははるかにノイズが少ない。オーディオ情報を要約するためのシステムが提供される。このシステムは、オーディオをフレームに変換するアナライザと、フレームをフィンガープリントに変換するフィンガープリンティングコンポーネントとを含み、各フィンガープリントは複数のフレームに部分的に基づく。類似性検出部はフィンガープリント間の類似性を計算し、ヒューリスティックモジュールは、フィンガープリント間の類似性に部分的に基づいて、オーディオファイルのサムネイルを生成する。システムは、オーディオファイルのサムネイルを生成するために、あるオーディオファイル中の共通の特徴を判定する分析コンポーネントと、共通の特徴に部分的に基づいてそのオーディオファイルのフィンガープリント部分を抽出するニーモニックディテクタとを含む。すると、そのようなファイルの部分またはセグメントを長く聴かなくてもよいようにするために、生成したサムネイルを用いて、オーディオファイルのブラウジングまたは探索を容易にすることができる。
【００１３】
本願で使用するように、「コンポーネント」「オブジェクト」「ジェネレータ」「システム」などは、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアのどれであれ、コンピュータ関連エンティティを指すものとする。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能プログラム（ｅｘｅｃｕｔａｂｌｅ）、実行のスレッド、プログラム、および／またはコンピュータとすることができるが、これらに限定されるものではない。例として、サーバ上で実行されているアプリケーションおよびそのサーバは、ともにコンポーネントでありうる。１つまたは複数のコンポーネントがプロセスおよび／または実行のスレッド内にあってもよく、あるコンポーネントが１台のコンピュータ上に局在しても、そして／または２台以上のコンピュータ間に分散されてもよい。また、こうしたコンポーネントは、様々なデータ構造を格納した様々なコンピュータ可読媒体から実行することができる。コンポーネントは、１つまたは複数のデータパケットを有する信号（例えば、ローカルシステム、分散システム、および／または他のシステムを伴うインターネットなどのネットワークにわたる別のコンポーネントと、その信号を介してやり取りするあるコンポーネントからのデータ）に従うようなローカルおよび／またはリモートのプロセスを介して通信することができる。
【００１４】
まず図１を参照すると、オーディオサムネイルジェネレータシステム１００が本発明の一態様に従って示されている。システム１００は、またこれもサマライザ１２０によって処理されるオーディオファイルのデータベース１１０を含み、このサマライザは、オーディオサムネイルジェネレータとも称される。ジェネレータ１２０は、オーディオサムネイル１４０として適したオーディオファイル１１０のコンポーネント、セグメント、または部分を判定するためにオーディオファイルを処理するアナライザ１３０を含む。オーディオサムネイル１４０は、一般に、オーディオファイル１１０の内容をユーザに思い出させる可能性の高い、オーディオの短いクリップまたはセグメントである（例えば、サムネイルとして再生すると「Ｇｏｏｄｂｙｅ  Ｙｅｌｌｏｗ  Ｂｒｉｃｋ  Ｒｏａｄ」という歌詞のコーラスであり、ユーザに同名のＥｌｔｏｎ  Ｊｏｈｎの曲を思い出させるもの）。
【００１５】
ニーモニックディテクタ１５０は、アナライザ１３０とともに動作して、オーディオファイル１１０のどの部分をオーディオサムネイル１４０として用いるべきかを判定する。例示するように、アナライザ１３０は、オーディオ情報のストリームを分析するためのフィンガープリントコンポーネント、サムネイル１４０に適したオーディオのセグメントを判定するためにオーディオファイルをさらに処理するエネルギーコンポーネント、および／または平坦性コンポーネントを含む。アナライザ１３０内のコンポーネントは、サムネイル１４０を判定するために、様々な組合せおよび度合いで使用できることに注意されたい。
【００１６】
一般に、システム１００は、オーディオフィンガープリンティングを使用してオーディオの繰り返されるセクションを特定する。１つの考え方は、楽曲の似たセクションは、似たフィンガープリントを生成するということである。それゆえ、オリジナルのオーディオを使用するのではなく、フィンガープリントを使用することにより、本発明はわずかに異なる変形が非常によく似たフィンガープリントを提供し、それゆえフィンガープリントはオリジナルのオーディオを使うよりもよりロバスト（ｒｏｂｕｓｔ）であるという利点を提供する。さらに、フィンガープリントは、当技術分野でこれまで使用されたよりもずっと長い時間ウィンドウから抽出した情報を統合するという利点があり、そのためロバストである。また、フィンガープリントには、オリジナルの楽曲の非常にサイズの小さい表現（ｌｏｗ  ｄｉｍｅｎｓｉｏｎａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ）であるという利点があり、それゆえこうしたエンティティの処理はメモリおよびＣＰＵの使用の点でより効率的である。本発明によるフィンガープリント処理については、図３〜５に関する議論でさらに詳細を提供する。
【００１７】
オーディオサムネイル１４０として使用できるオーディオセクションを特定するための様々な技法が可能である（図２〜３を参照）。以下の説明で、ある実装されたシステムの詳細を提供するが、それがこのようなシステムの一例に過ぎないことを理解されたい。例えば、この実装されたシステムは、フィンガープリントの所要時間は３秒（または他の時間）であり、後続のフィンガープリントの開始点との間のステップは１８６ミリ秒（または他の時間）を使用している。別のシステムでは６秒のフィンガープリントを使用しているが、フィンガープリンティングシステムは任意の長さのフィンガープリントを生成することができ、３秒はコーラス検出に適したつり合いである。
【００１８】
システム１００では、オーディオサムネイルの計算に関わる３つの基本的なオブジェクトがあり、これらはアナライザ１３０に含まれる。すなわち、フィンガープリントおよび関連する正規化（Ａ）、フィンガープリントを計算したオーディオ中のエネルギーの尺度（Ｂ）、およびフィンガープリントを計算したオーディオ中のスペクトル平坦性の尺度（Ｃ）である。１つの態様は、これらの特徴を使用して、システムが、純粋な楽器演奏の繰り返しフレーズに優先して音声コーラスを選択できるようにすることである。というのは、音声のコーラスは純粋な楽器演奏の繰り返しよりも想起効果が高い（ニーモニック）と思われるためである。また、特徴（Ｂ）および（Ｃ）は、（Ａ）の特徴により適当なコーラスが見つからないときに使用することができる。現在のシステムでは、長さが約３秒間のフィンガープリントを、それぞれが半分ずつ（１８６ミリ秒）重なり合う３７２ミリ秒の時間ウィンドウ１６個を連結することによって計算する。３つの量（Ａ、Ｂ、Ｃ）はすべて、これらの３７２ミリ秒のフレーム（または、他の時間フレーム）を使用して計算することができる。これらの特徴をアナライザ１３０で計算する前に、クリップの始めおよび終わりにある無音は単純なエネルギーベースのしきい値を用いて取り除くことができることに注意されたい。
【００１９】
ここで図２を参照すると、特徴計算２００および関連する処理の態様が本発明に従って示されている。この態様では、アナライザコンポーネントに関して上述した量Ａ、Ｂ、およびＣをより詳細に説明する。２１０で、例えば、図４〜６に関して説明するように、フィンガープリントを計算する。一例では、フィンガープリントを、オーディオクリップ中の各３秒のウィンドウについて、１８６ミリ秒ステップで、計算する（または他のサンプリングレート）。各フィンガープリントについて、そのオーディオクリップのそのフィンガープリントから他のフィンガープリントへの平均ユークリッド距離が１になるように、正規化を計算する。これも、フィンガープリンティングを検索タスクに使用するシステムについて、正規化が計算される普通の仕方と異なっている。すなわち、ここではそのクリップ内のオーディオだけが使用される。というのは、フィンガープリントは、通常、同じクリップから抽出された他のフィンガープリントと比較されることになるためである。
【００２０】
２２０で、オーディオのスペクトルエネルギーを処理する。フィンガープリントの計算では、一般に、フレームごとに１組のスペクトルのマグニチュード（ｓｐｅｃｔｏｒａｌ  ｍａｇｎｉｔｕｄｅ）を計算する必要がある。スペクトルマグニチュードは、例えば、ＭＣＬＴ（ｍｏｄｕｌａｔｅｄ  ｃｏｍｐｌｅｘ  ｌａｐｐｅｄ  ｔｒａｎｓｆｏｒｍ）オペレータにより計算することができる。以下に述べるスペクトルエネルギー２２０およびスペクトル平坦性２３０は、（２２０および２３０によって生成される特徴がオーディオの全体的なボリュームレベルに依存しないように）平均のスペクトルのマグニチュードを正規化ファクタとして使用する。各フレームについて、平均の正規化したエネルギーＥは、フレーム内の周波数成分あたりの平均エネルギーを、クリップ中のフレームにわたるその量の平均で割ることによって計算する。平均エネルギーは、ある所与のフィンガープリントに寄与するすべてのフレーム（この例では１６個）にわたって平均する。この量は、移動平均を用いることによって効率的に計算することができる。それゆえ、スペクトルエネルギー２２０は、フィンガープリントあたりのスペクトルエネルギーの尺度である。
【００２１】
２３０で、スペクトル平坦性の量を判定することができる。例えば、まず、ある所与のフレームに対するこの量の計算を考える。この場合、非常に小さい数（例えば、１０−１０）を各周波数成分のスペクトルマグニチュードに加えて、対数をとるときの数値の問題を軽減する。計算したこのフレーム量は、スペクトルマグニチュードの対数正規化幾何平均である。これは、スペクトルマグニチュードの対数幾何平均から、スペクトルマグニチュードの対数算術平均を引いたものとして計算される。幾何平均は算術平均以下なので、これにより０以上に制限された量となることに注意されたい。それゆえ、スペクトルエネルギーがスペクトル全体にわたって均一に拡がっている場合、この量は、少数の周波数成分にわたって集中する場合に比べると、はるかに大きくなることになる。
【００２２】
一部のタイプのオーディオでは、この量の大きい値は「フルの（ｆｕｌｌ）」音を示すことがわかっている（例えば、歌っているときにボーカルが音を支配しているオーディオでは、歌の間この量が大きい）。スペクトルエネルギー２２０に関して、この量２３０は、フィンガープリントあたり、そのフィンガープリントに寄与するフレームすべてにわたって平均することで計算される。それゆえ、２３０はフィンガープリントごとのスペクトル平坦性の尺度である。
【００２３】
図３は、本発明の一態様によるオーディオサムネイル処理を示す流れ図である。説明の簡単のために、方法論を一連の行為（ａｃｔ）として示し、説明しているが、一部の行為は、本発明に従って、本明細書に示し、説明するものとは異なる順序で、および／または他の行為と同時に生じる場合があるので、本発明は行為の順序によって限定されないことを理解および認識されたい。例えば、方法論は、状態図のように、一連の相互に関連した状態またはイベントとして表すこともできることを、当業者は理解および認識するであろう。さらに、本発明による方法を実装するのに、例示した行為すべてを必要としない場合もある。
【００２４】
３１０に進んで、クラスタ計算を考える。「クラスタ」とは、時間的にクラスタ化されるいくつかのフィンガープリントであり、オーディオクリップ中のどこかで繰り返される楽曲の連続するセクションを表すものと定義することができる。クラスタ計算を説明するために、「クラスタ集合Ｓ」およびクラスタ集合Ｓの「多重度（ｍｕｌｔｉｐｌｉｃｉｔｙ）Ｍ」の概念を導入する。各集合Ｓは、フィンガープリントをインデックスする０以上の整数を含むことができる（ここで、開始点がオーディオクリップの始めに対応する、最初に計算するフィンガープリントはインデックス１を有し、開始点がオーディオクリップの始めに半フレーム加えたものに対応する２番目のフィンガープリントはインデックス２を有し、以下同様とする）。
【００２５】
「あるフィンガープリントをある集合に加える」ことにより、これはそのフィンガープリントのインデックスをその集合に加えることを含む。ある所与の集合の多重度Ｍは、その集合に含まれるクラスタの数である。例えば、ある集合が整数１、２、３、１００、１０１、１０２を含む場合、この集合は２つのクラスタを含んでいる（１つはフィンガープリントのインデックス０、１、２に対応し、もう１つはフィンガープリントのインデックス１００、１０１、１０２に対応する）ので、多重度は２とすることができる。各フィンガープリントは、それと関連付けられた「ＡｃｃｏｕｎｔｅｄＦｏｒ」というブール型のフラグがあり、そのデフォルト値は「偽」である。
【００２６】
一般に、すべての集合は空である。次いで、１番目のフィンガープリントＦ１（すなわち、オーディオクリップの最初の３秒に対応するフィンガープリント）を集合１（Ｓ１）に入れる。次いで、残りのすべてのフィンガープリントを検査する。残りの各フィンガープリントＦｉについて、Ｆ１およびＦｉが次の条件を満たす場合に限り、これもＳ１に入れる。すなわち、（１）Ｆ１とＦｉの間の正規化ユークリッド距離が初期のしきい値Ｔを下回っていること（ここで、正規化ユークリッド距離は、ユークリッド距離をＦ１の正規化ファクタで割ったものである）および（２）Ｆ１のはじめに対応するオーディオ中のポイントと、Ｆｉのはじめに対応するオーディオ中のポイントとの間の所要時間が、第２の固定のしきい値Ｚ（例えば、Ｚ＝６秒）を超えることである。条件（２）が通常必要となるのは、隣り合うフィンガープリントはＴを下回る正規化ユークリッド距離を有することがあり、同じに聞こえるが、時間的に離れたオーディオの断片について判定すべきであるからである。残りのフィンガープリントをこのようにしてＦ１と比べたら、第２のループを実行し、再帰的に、その集合にすでに入っている任意のフィンガープリントと比べて上記の条件を満たすすべてのフィンガープリントをその集合に加える。
【００２７】
フィンガープリントを集合に加えるとき、その「ＡｃｃｏｕｎｔｅｄＦｏｒ」フラグを真にセットし、どれかの集合に加えることを検討中のフィンガープリントの集まりからそれを取り除く。上記のフェーズをその後繰り返して、「ＡｃｃｏｕｎｔｅｄＦｏｒ」フラグがまだセットされていない最初のフィンガープリントに対して新しい集合を作成し、上記のようにフィンガープリントを加える。これを、すべてのフィンガープリントが、ある（そしてただ１つの）集合のメンバーとなるまで（そして「ＡｃｃｏｕｎｔｅｄＦｏｒ」フラグがすべて真となるまで）続ける。それゆえ、フィンガープリントの集合への割り当てにより、すべてのフィンガープリントからなる集合の区分けが形成される。各集合について、対応する多重度を計算する。これは、フィンガープリントを順に並べ、そうしてその並べたものの中で少なくともＺ秒に対応するギャップを探索することによって達成される。すると、クラスタの数は、各端にフィンガープリントを１つ有するギャップの数に、１を加えたものとなる。
【００２８】
上記のすべてを、しきい値Ｔの初期値について実行する。この時点で、最大多重度を、少なくとも３の値に対して（すなわち、少なくとも３つのクラスタが入った少なくとも１つのクラスタ集合が存在すること）をチェックする。これが真でない場合、Ｔを小さい値だけインクリメントし、クラスタ集合を再計算する。このプロセスを、少なくとも３つのクラスタをもつ集合が見つかるか、またはＴが上限に達するまで続ける。このようにして、少なくとも３つのクラスタを見つけるにあたって、クラスタのメンバーになるために要求される条件を徐々に緩めていく。このプロセスにより、すべての集合が２つのクラスタしか含まないクラスタ集合という結果になるか（この場合、集合を以下に述べるプロセスで使用することになる）、または１つしかクラスタを含まないクラスタ集合になることもある（この場合、オーディオサムネイルを以下に述べるエネルギー尺度を用いて計算することになる）。
【００２９】
３２０で、最適なクラスタ集合を判定する。この時点で、上記のクラスタリング３１０の結果、少なくとも２つのクラスタを含む１つまたは複数のクラスタ集合が得られたと仮定して、残るタスクは、適当なクラスタ集合を選択すること（ここで、「適当な」とは、「コーラスまたは繰り返しの楽器演奏に対応するフィンガープリントのインデックスを含んでいそうな」という意味である）と、そのフィンガープリントを使用してオーディオクリップから適当な１５秒を選択すること（ここで、この１５秒がオーディオサムネイルとなる）である。
【００３０】
適当なクラスタ集合を計算するため、上述（図１）の尺度（Ｂ）および（Ｃ）を、クラスタがある曲の全体にわたってどのくらい均一に拡がっているかを測る第３の尺度と組み合わせる（この尺度を（Ｄ）と呼ぶ）。例えば、３つのクラスタが見つかったが、すべてが曲の最初の２０秒の範囲にある場合、これらのクラスタはコーラスである可能性は小さいが、これに対して、３つのクラスタが見つかり、それらがその曲の全体にわたって均一に配置されている場合、これらのクラスタがコーラスであるという可能性が高い。量（Ｄ）は、見つかった集合ごとに測定される。ある所与の集合について、（Ｄ）は次のように測定される。Ｎ個のクラスタが見つかったある所与のクラスタ集合の場合を考える。まず、オーディオファイル全体を、所要時間が１と等しくなるように正規化する。ｉ番目のクラスタの時間位置をｔｉとし、次のように定義する。
【００３１】
【数１】
2005250472.tif 000003
【００３２】
このとき、量（Ｄ）は
【００３３】
【数２】
2005250472.tif 000004
【００３４】
として計算される。
【００３５】
量（Ｄ）は次のプロパティを有する。第１に、
【００３６】
【数３】
2005250472.tif 000005
【００３７】
であり、ｔｉ≧ｔｉ−１∀ｉなので、差ｔｉ−ｔｉ−１は確率として解釈することができ、それゆえ（Ｄ）は対応する分布に対するＲｅｎｙｉエントロピーに比例する（加法的なオフセットを伴う）。それゆえ、この意味で、より大きい（Ｄ）の値でクラスタリングを選択することは、より均一に拡がるクラスタリングを選ぶことに対応する（任意の離散分布について、すべての確率が同じ値をとるときに最大エントロピーとなることが知られているため）。ｔｉ−ｔｉ−１は、（Ｄ）を最大化することが、最も均一に拡がるクラスタを選択することと等価であることを示すために確率として解釈したに過ぎないことを強調しておく。この確率論的解釈は、他では使用されていない。第２に、オフセットおよびスケーリングファクタを、任意のＮについて（Ｄ）が１の最大値および０の最小値をとるように選んでいる。これにより、クラスタの集合の拡がりの品質を、クラスタ集合間で、これらの集合が異なる数のクラスタを含む場合でも、比較できるようになる。さらに、これにより、どの多重度を優先するかに関して、事前知識を容易に適用することができるようになる（例えば、３、４、または５の多重度を、これらに他の多重度よりも大きな重みを与えることによって選ぶ。というのは、コーラスはこうした回数生じる可能性が高いためである）。
【００３８】
幾何平均の特徴、上記の（Ｃ）は、ある場合には音声を含むオーディオのセクションを予測するが、他の場合（例えば、歌唱が楽曲の他の部分から音響的に突出していない場合）にはそうでないことがある。しかし、後者の場合、量（Ｃ）がオーディオクリップのほとんどを通して著しく変わらない傾向があるが、前者の場合は、オーディオクリップを通して顕著に変わる。これを明らかにするために、検証曲のセットの中央３分の１について（曲中の無音によるバイアスを避けるために、エネルギー尺度（Ｂ）がしきい値以上であったフィンガープリントについて）、フィンガープリントごとの対数幾何平均の標準偏差を計算した。中央の３分の１を使用したのは、音楽的に静かな前奏およびフェードのために（Ｃ）の値が低い曲の始めと終わりに起因するバイアスを軽減するためである。
【００３９】
この時点で、ｓｍａｘおよびｓｍｉｎを、検証セット中で見つかったフレームごとの特徴（Ｃ）の最大および最小の標準偏差とする。線形写像（ａ，ｂ）を、ａｓｍｉｎ＋ｂ＝０およびａｓｍａｘ＋ｂ＝１によって定義する（それゆえパラメータａおよびｂは検証セットによって固定される）。ある新しい曲についてオーディオサムネイルを計算するものと仮定する。そのフレームごとの値（Ｃ）の標準偏差ｓを計算し、線形写像ｙ＝ａｓ＋ｂを適用する。ｙ＞１の場合はｙを１によって置き換え、ｙ＜０の場合はｙを０によって置き換える。次いでその曲について、その曲の値（Ｃ）を区間［０，ｙ］に線形写像する。それで、各集合は、その集合中のフィンガープリントに対してスケールされた値（Ｃ）の平均である平均スペクトル品質に帰される。このスケーリングの結果、（最大値１をとる）クラスタ品質の尺度（Ｄ）と組み合わされた場合、例えば、特徴（Ｃ）が曲にわたって認めうるほど変わらない曲のサムネイルを選ぶ際に、特徴（Ｃ）の影響を低くすることになる。
【００４０】
それゆえ、各集合には、それに関連付けられた２つの数がある。１つはクラスタの拡がりの品質を測定し、０から１まで変わり、もう１つはスペクトルの拡がりの品質を測定し、０からｙまで変わり、ここでｙは大きくても１であり、それらのスペクトルの拡がりの分散が大きい曲についてｙは大きい。「最良」または最適の集合には、これら２つの数の二乗の和が最も大きくなるものを選ぶ。スペクトルの拡がり（幾何平均）の量が（検証セットに比べて）小さな分散を有する曲については、ｙは小さくなり、それゆえその値はクラスタの拡がりの品質と組み合わされたときにより小さな重みを持つことになる。スペクトルの拡がり（幾何平均）の量が（検証セットに比べ）大きな分散を有する曲については、ｙはほぼ１となり、それゆえその値はクラスタの拡がりの品質と組み合わされたときに、これとほぼ同じ重みをもつことになる。
【００４１】
３３０に進んで、クラスタの代替的な選択を検討することができる。この態様では、クラスタリングを、クリップ中のどこかで繰り返される、そのクリップ内のオーディオの最長セクションを見つけることによって行うことができる。クラスタ集合が上記のように計算されると、フィンガープリントの数に等しいサイズのベクトルを０で満たし、次いで、多重度が少なくとも２の集合に生じる各フィンガープリントについて０を１で置き換え、最後に、このベクトルに関してランレングス符号化を行って、１の最長のストリングを見つけることによってこれを効率的に達成することができる。そして、これらの対応するフィンガープリントを最良のクラスタに対応させる。
【００４２】
３４０で、最適フィンガープリントを、上記で判定したクラスタ集合から判定することができる。それゆえ、タスクとして、その集合内の最良クラスタを見つけること、そして、そのクラスタ内の最良のフィンガープリントを見つけること、およびそのフィンガープリントの周辺のオーディオをオーディオサムネイルとして抽出することが残る。この時点で、様々なヒューリスティクスを使用することができる。一例では、曲の始めまたは終わりに近すぎるクラスタを排除し、そのクラスタのまわりの６秒の時間ウィンドウにおける任意のフィンガープリントについて、エネルギー（上記の尺度（Ｂ））がしきい値を下回るクラスタを排除し、最後に、そのフィンガープリントのまわりの１５秒における平均スペクトル平坦性の尺度（Ｃ）が最大になるフィンガープリントを（上記のテストを切り抜けたフィンガープリントから）選ぶ。
【００４３】
上記の処理が失敗する場合（例えば、１より大きい多重度のクラスタ集合が見つからなかった場合）、最良のフィンガープリントは、上記の２つのエネルギー尺度（Ｂ）および（Ｃ）を用いて次のように計算する。曲の静かな部分を避けるために、エネルギー尺度（Ｂ）が曲全体に対して（Ｂ）の値の上３分の１に入るフィンガープリントだけを考慮する（曲の静かな部分は、それでもスペクトル平坦性の尺度（Ｃ）が大きい。というのは、ホワイトノイズは考えられる最大のスペクトル平坦性の尺度を有し、楽曲の非常に静かな部分はホワイトノイズに近いことがあるためである）。このテストを切り抜けたフィンガープリントについては、周辺の１５秒の平均スペクトル平坦性の尺度（Ｃ）が最大となるフィンガープリントを、最良のフィンガープリントとして選択する。
【００４４】
３５０で、３４０で選択したフィンガープリントからオーディオを抽出する。そのフィンガープリントの位置のまわりの固定の期間のオーディオのセクションをサムネイルとして使用する。フィンガープリントをこのセクションの始めのほうに置くことが有利であることがわかった。というのは、システムが繰り返しの楽器演奏の一節を実際のコーラスの直前で特定することがあるからである。次いで、この「オーディオサムネイル」（例えば、１５秒のクリップ）を、例えば、別個のオーディオファイルとしてディスクに保存することができ、またはオーディオファイル全体内でサムネイルの位置を規定する時間オフセットを適当なファイル（例えば、再生リストである．ＡＳＸファイル）に保存することができる。望む場合には、より心地よい効果を提供するために、標準的な技法を用いてオーディオの始めと終わりに自動的にフェーディングを適用することができる。
【００４５】
図４に、本発明の一態様による歪み判別分析（ＤＤＡ：ｄｉｓｔｏｒｔｉｏｎ  ｄｉｓｃｒｉｍｉｎａｎｔ  ａｎａｌｙｓｉｓ）システム４００を示す。オーディオ処理の技法、例えばスピーチから特徴を抽出する技法では、２０ミリ秒程度のフレーム期間を使用することが多い。しかし、フィンガープリンティングの用途について計算オーバーヘッドを減らすため、１秒あたり２〜３回でストリームからフィンガープリントを生成することが望ましい。２０ミリ秒の入力フレームでは、最後のＤＤＡ層で使用するステップサイズは、初期の１００Ｈｚのサンプリングレートより低くサンプリングしなければならず、これは、エイリアシングを引き起こす可能性があり、さらなる歪みの源として作用することになる。図４に示すシステム４００により、この問題が回避される。サンプリングレートを低くした中間層がないので、一般にエイリアシングがない。この要件、およびフィンガープリントが約２分の１秒程度の時間スケールで生成されるという要件のために、第１の層のフレームの可能な期間がかなり制約される。また、時間的に広い第１の層により、ＤＤＡには周波数空間で重要な方向を選ぶのにより大きな柔軟性が可能となる。
【００４６】
図５に、本発明の一態様による一般化した固有値（ｇｅｎｅｒａｌｉｚｅｄ  ｅｉｇｅｎｖａｌｕｅｓ）５００を示している。上述のシステム４００の第１層の６４という出力の大きさ（ｏｕｔｐｕｔ  ｄｉｍｅｎｓｉｏｎｓ）の選択は、図５に示す、トレーニングデータに関する測定された一般化固有スペクトル（ｇｅｎｅｒａｌｉｚｅｄ  ｅｉｇｅｎｓｐｅｃｔｒａ）によって導かれている。第１層からの有用な情報のほとんどは、最初の１００プロジェクション中に捉えられている。第２層上のスペクトルはより急峻でない落ち方をしている。しかし、データベースルックアップをスピードアップするために、第２の層に関して上位６４のプロジェクションだけを考慮した。データベースルックアップのスピードは、出力を１８６ミリ秒ごとではなく３７２ミリ秒ごとにサンプリングするだけで、さらに２倍程度に増やすことができよう。
【００４７】
上述のストリームオーディオフィンガープリンティングシステムは、まずステレオオーディオ信号をモノラルに変換し、次いで１１０２５Ｈｚにダウンサンプルする。その信号を、半分ずつ重なり合う固定長の３７２ミリ秒フレームに分ける。次いで、ＭＣＬＴ（重複ウィンドウによるフーリエ変換）を各フレームに適用する。各ＭＣＬＴ係数の対数モジュラス（ｌｏｇ  ｍｏｄｕｌｕｓ）をとることによって、対数スペクトルを生成する。このストリームオーディオフィンガープリンティングシステムでは、特定の、容易に識別できる歪みを抑圧する２つのフレームごとの前処理ステップを行う。
【００４８】
第１の前処理ステップでは、周波数イコライゼーションおよびボリューム調整により引き起こされる歪みを取り除く。この「デ・イコライゼーションしきい値処理」ステップは、対数スペクトルのＤＣＴをとり、各ＤＣＴ係数を第１の成分の１から第６およびそれ以上の成分の０に線形にランプする重みで乗じ、次いで逆ＤＣＴを行うことによって対数スペクトルにローパスフィルタを適用する。この結果、対数スペクトルに対して滑らかな近似Ａが得られる。次いで、Ａを一様に６ｄＢだけ下げ、−７０ｄＢでクリップする。すると、第１の前処理ステップの出力ベクトルは、対数スペクトルとの間の成分単位の差が正の場合は、その差であり、そうでない場合は、０となる。
【００４９】
第２の処理ステップでは、人間の聴者が聴くことができない信号中の歪みを取り除く。このステップは、第１のステップからの対数スペクトルを累乗し（ｅｘｐｏｎｅｎｔｉａｔｅ）、次いで、周波数依存の知覚しきい値をアルゴリズムによって生成する。すると、最終の前処理された信号は、ｄＢで表した対数スペクトルと対数知覚しきい値との差が正の場合は、その差であり、そうでない場合は、０となる。最終の前処理されたデータは、フレームあたり２０４８の実係数（それゆえ２０４８バンド）からなる。
【００５０】
図６を参照すると、本発明の様々な態様を実装するための例示的な環境７１０がコンピュータ７１２を含んでいる。コンピュータ７１２は、処理ユニット７１４、システムメモリ７１６、およびシステムバス７１８を含む。システムバス７１８は、これに限定されないがシステムメモリ７１６を含む、システムコンポーネントを処理ユニット７１４に結合する。処理ユニット７１４は、様々な利用可能なプロセッサのいずれかとすることができる。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、処理ユニット７１４として用いることができる。
【００５１】
システムバス７１８は、１６ビットバス、ＩＳＡ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＭＳＡ（Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＥＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）、ＩＤＥ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ＶＬＢ（ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ）、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＡＧＰ（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）バス、およびＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）を含むが、これらに限定されない任意の各種の利用可能なバスアーキテクチャを用いたメモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および／またはローカルバスを含むいくつかのタイプのバス構造のいずれかとすることができる。
【００５２】
システムメモリ７１６は、揮発性メモリ７２０および不揮発性メモリ７２２を含む。起動時など、コンピュータ７１２内の要素間の情報を転送する基本的なルーチンが入ったＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）は不揮発性メモリ７２２に格納される。限定ではなく例として、不揮発性メモリ７２２は、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＰＲＯＭ（ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、またはフラッシュメモリを含むことができる。揮発性メモリ７２０は、外部キャッシュメモリとして働く、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を含む。限定ではなく例として、ＲＡＭは、ＳＲＡＭ（ｓｙｎｃｈｒｏｎｏｕｓ  ＲＡＭ）、ＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＤＲＡＭ（ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ＤＤＲ  ＳＤＲＡＭ（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ＳＤＲＡＭ）、ＥＳＤＲＡＭ（ｅｎｈａｎｃｅｄ  ＳＤＲＡＭ）、ＳＬＤＲＡＭ（ＳｙｎｃＬｉｎｋ  ＤＲＡＭ）、ＤＲＲＡＭ（ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＲＡＭ）などの多くの形で利用可能である。
【００５３】
また、コンピュータ７１２は、リムーバブル／非リムーバブル、揮発性／不揮発性のコンピュータストレージメディアを含む。図６には、例えばディスクストレージ７２４を示している。ディスクストレージ７２４は、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックなどの装置を含むが、これに限定されない。さらに、ディスクストレージ７２４は、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ＲＯＭ  ｄｅｖｉｃｅ）、ＣＤ−Ｒドライブ（ＣＤ  ｒｅｃｏｒｄａｂｌｅ  ｄｒｉｖｅ）、ＣＤ−ＲＷドライブ（ＣＤ  ｒｅｗｒｉｔａｂｌｅ  ｄｒｉｖｅ）ＤＶＤ−ＲＯＭ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ  ＲＯＭ  ｄｒｉｖｅ）を含むがこれに限定されず、別個にまたは他のストレージメディアと組み合わせたストレージメディアを含むことができる。ディスクストレージ装置７２４のシステムバス７１８への接続を容易にするために、通常、インターフェース７２６などのリムーバブルまたは非リムーバブルのインターフェースが使われる。
【００５４】
図６は、ユーザと、適当な動作環境７１０に記述された基本コンピュータ資源との間の媒介として働くソフトウェアを記述していることを理解されたい。そのようなソフトウェアは、オペレーティングシステム７２８を含む。オペレーティングシステム７２８は、ディスクストレージ７２４上に格納することができるが、コンピュータシステム７１２の資源の制御および割り当てを行うように働く。システムアプリケーション７３０は、システムメモリ７１６中またはディスクストレージ７２４上に格納されたプログラムモジュール７３２およびプログラムデータ７３４を通してオペレーティングシステム７２８による資源の管理を利用する。本発明は、様々なオペレーティングシステムまたはオペレーティングシステムの組合せで実装できることを理解されたい。
【００５５】
ユーザは、コマンドまたは情報をコンピュータ７１２に入力装置７３６を介して入力する。入力装置７３６は、マウスなどのポインティング装置、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、Ｗｅｂカメラを含むが、これらに限定されない。これらおよび他の入力装置は、処理ユニット７１４にシステムバス７１８を通してインターフェースポート７３８経由で接続する。インターフェースポート７３８は、例えば、シリアルポート、パラレルポート、ゲームポート、ＵＳＢ（ユニバーサルシリアルバス）を含む。出力装置７４０は、入力装置７３６と同じタイプのポートのいくつかを使用する。それゆえ、例えば、ＵＳＢポートを使用して、コンピュータ７１２に入力を提供し、コンピュータ７１２からの情報を出力装置７４０に出力することができる。出力アダプタ７４２は、他の出力装置７４０の中でも、モニタ、スピーカ、プリンタなど、特別なアダプタを必要とする出力装置７４０がいくつかあることを例示している。出力アダプタ７４２は、限定ではなく例として、出力装置７４０とシステムバス７１８との接続の手段を提供するビデオカードおよびサウンドカードを含む。他の装置および／または装置のシステムが、リモートコンピュータ７４４などのように入力および出力機能の両方を提供することに注意されたい。
【００５６】
コンピュータ７１２は、リモートコンピュータ７４４など、１つまたは複数のリモートコンピュータへの論理接続を用いてネットワーク化された環境で動作することができる。リモートコンピュータ７４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースのアプライアンス、ピア装置または他の共通ネットワークノードなどとすることができ、通常、コンピュータ７１２に関して述べた要素の多くまたはすべてを含む。簡潔にするために、メモリストレージ装置７４６のみがリモートコンピュータ７４４と共に示されている。リモートコンピュータ７４４は、ネットワークインターフェース７４８を通してコンピュータ７１２に論理的に接続され、次いで、通信接続７５０経由で物理的に接続されている。ネットワークインターフェース７４８は、ＬＡＮ（ｌｏｃａｌ−ａｒｅａ  ｎｅｔｗｏｒｋ）やＷＡＮ（ｗｉｄｅ−ａｒｅａ  ｎｅｔｗｏｒｋ）などの通信ネットワークを包含する。ＬＡＮ技術は、ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、ＣＤＤＩ（Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ），イーサネット（登録商標）／ＩＥＥＥ８０２．３、トークンリング／ＩＥＥＥ８０２．５などを含む。ＷＡＮ技術は、ポイントツーポイントリンク、ＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）およびその変形などの回線交換網、パケット交換網、およびＤＳＬ（Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）を含むが、これらに限定されない。
【００５７】
通信接続７５０は、ネットワークインターフェース７４８をバス７１８に接続するのに用いられるハードウェア／ソフトウェアを指す。通信接続７５０は、説明の明瞭さのためにコンピュータ７１２内に示しているが、これはコンピュータ７１２に外付けとすることもできる。ネットワークインターフェース７４８への接続に必要なハードウェア／ソフトウェアは、単に例示の目的であるが、通常の電話グレードのモデム、ケーブルモデムおよびＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、およびイーサネット（登録商標）カードなどの内蔵および外付けの技術を含む。
【００５８】
図７は、本発明がやり取りすることができる例としてのコンピューティング環境８００の図式的なブロック図である。システム８００は、１つまたは複数のクライアント８１０を含む。クライアント８１０は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティング装置）とすることができる。また、システム８００は、１つまたは複数のサーバ８３０を含む。サーバ８３０は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティング装置）とすることもできる。サーバ８３０は、例えば、本発明を用いることによって変換を行うスレッドを収容することができる。クライアント８１０とサーバ８３０との間の１つの可能な通信は、２つ以上のコンピュータプロセス間で伝送されるように適合されたデータパケットの形とすることができる。システム８００は、クライアント８１０とサーバ８３０との間の通信を容易にするために用いることができる通信フレームワーク８５０を含む。クライアント８１０は、クライアント８１０にローカルな情報を格納するのに用いることができる１つまたは複数のクライアントデータストア８６０に動作可能に接続されている。同様に、サーバ８３０は、サーバ８３０にローカルな情報を格納するのに用いることができる１つまたは複数のサーバデータストア８４０に動作可能に接続されている。
【００５９】
以上述べてきたことは、本発明の例を含んでいる。本発明を説明する目的で、構成要素または方法論の考えられるあらゆる組合せを述べることは、もちろんできないが、当業者には本発明の多くのさらなる組合せおよび並べ替えが可能であることを理解されよう。したがって、本発明は添付の特許請求の範囲の趣旨および範囲に入るそのようなすべての代替形態、変更形態および変形形態を包含するものである。さらに、用語「含む（ｉｎｃｌｕｄｅ）」が詳細な説明または特許請求の範囲で使用されている限りで、このような用語は、「備える（ｃｏｍｐｒｉｓｉｎｇ）」が請求項中の移行語として用いられるときに解釈されるように、用語「備える」と同様に包含的であるものとする。
【図面の簡単な説明】
【００６０】
【図１】本発明の一態様によるオーディオサムネイルジェネレータシステムの図式的なブロック図である。
【図２】本発明による特徴計算を例示する図である。
【図３】本発明によるオーディオサムネイル処理を例示する流れ図である。
【図４】本発明の一態様による歪み判別分析を例示する図である。
【図５】本発明の一態様による一般化した固有値を例示する図である。
【図６】本発明の一態様による適当な動作環境を例示する図式的なブロック図である。
【図７】本発明がやり取りすることができる例としてのコンピューティング環境の図式的なブロック図である。
【符号の説明】
【００６１】
１００  オーディオサムネイルジェネレータシステム
１１０  オーディオファイル
１２０  サマライザ／サムネイルジェネレータ
１３０  アナライザ
１４０  オーディオサムネイル
１５０  ニーモニックディテクタ
２００  特徴計算
２１０  フィンガープリント
２２０  スペクトルエネルギー
２３０  スペクトル平坦性
７１０  動作環境
７１２  コンピュータ
７１４  処理ユニット
７１６  システムメモリ
７１８  バス
７２０  揮発性
７２２  不揮発性
７２４  ディスクストレージ
７２６  インターフェース
７２８  オペレーティングシステム
７３０  アプリケーション
７３２  モジュール
７３４  データ
７３６  入力装置
７３８  インターフェースポート
７４０  出力装置
７４２  出力アダプタ
７４４  リモートコンピュータ
７４６  メモリストレージ
７４８  ネットワークインターフェース
７５０  通信接続
８００  コンピューティング環境
８１０  クライアント
８３０  サーバ
８４０  サーバデータストア
８５０  通信フレームワーク
８６０  クライアントデータストア
【図１】
2005250472.tif 000008
【図２】
2005250472.tif 000009
【図３】
2005250472.tif 000010
【図４】
2005250472.tif 000011
【図５】
2005250472.tif 000012
【図６】
2005250472.tif 000013
【図７】
2005250472.tif 000014