(57)【要約】  オーディオフィンガープリントのシステム及び方法。サーバが第１のオーディオピースのオーディオフィンガープリントを受信し、オーディオフィンガープリントのためのデータベースを探索し、オーディオフィンガープリントと関連したオーディオプロファイルベクトルを検索し、オーディオプロファイルベクトルに基づいてユーザプリファレンス情報を更新し、ユーザプリファレンス情報に基づいて第２のオーディオピースを選択する。オーディオフィンガープリントは、オーディオピースの周波数測定に基づいてマトリックスを作成し、マトリックスの特異値分解を実行することによって生成される。データベースの探索を促進し、マッチング精度を高めるため、データベースの中の候補のサブセットが、オーディオピースの最も顕著な音符に基づいて識別され、探索はこの識別されたサブセットに限定される。オーディオプロファイルベクトルの属性の１つが特定のオーディオクラスである。オーディオクラスのための識別子が、オーディオクラスに属するオーディオピースのオーディオフィンガープリントの平均に基づいて生成される。
2007525697.tif 000002
【特許請求の範囲】
【請求項１】
オーディオピースと関連したオーディオ信号を受信し、
前記オーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてマトリックスＡを作り、
前記マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、
１つ以上のマトリックス列ＶTを検索し、そして、
前記検索されたマトリックス列ＶTを前記オーディオピースとの関連においてデータメモリに記憶し、ここで、前記検索されたマトリックス列ＶTを含むリクエストをアプリケーションプログラムが受け取り、データベースに記憶された前記オーディオピースに関する情報を前記リクエストの中の前記マトリックス列ＶTに基づいて識別及び検索することを特徴とするオーディオフィンガープリント方法。
【請求項２】
前記マトリックスＡの列が時間を表し、前記マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項１に記載の方法。
【請求項３】
前記情報が、前記オーディオピースのための音響分析データを記憶するオーディオプロファイルベクトルであることを特徴とする請求項１に記載の方法。
【請求項４】
更に前記音響分析データに基づいて第２のオーディオピースを推奨することを特徴とする請求項３に記載の方法。
【請求項５】
前記オーディオプロファイルベクトルが、特定のオーディオクラスに分類されたオーディオピースに対する前記オーディオピースの類似の度合いを数量化することを特徴とする請求項３に記載の方法。
【請求項６】
更に、特定のオーディオクラスのための識別子を生成することを含み、ここで、
特定のオーディオクラスと関連したオーディオピースを選択し、
選択されたオーディオピースごとに第２のオーディオフィンガープリントを計算し、
第２のオーディオフィンガープリントの平均を算出し、
前記算出された平均を前記特定のオーディオクラスに関連させ、
前記算出された平均を前記特定のオーディオクラスの識別子としてデータメモリに記憶することを特徴とする請求項５に記載の方法。
【請求項７】
前記第２のオーディオフィンガープリントを計算することを含み、ここで、
前記選択されたオーディオピースと関連した特定のオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてマトリックスＡを作り、
前記マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、
１つ以上のマトリックス列ＶTを検索し、
前記検索されたマトリックス列ＶTを前記選択されたオーディオピースと関連させることを特徴とする請求項６に記載の方法。
【請求項８】
マトリックスＡの列が時間を表し、前記マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項７に記載の方法。
【請求項９】
更に、前記オーディオピースのインデックスを生成することを含み、ここで、前記オーディオピースと関連したオーディオ信号から、前記オーディオピースに含まれた音符のリストを自動的に取得し、
前記オーディオ信号から前記オーディオピースの中の音符の顕著度を特定し、
前記オーディオピースの中の最も顕著な音符をインデックスとして所定の数選択することを特徴とする請求項１に記載の方法。
【請求項１０】
前記選択された音符を音符数字に翻訳し、前記インデックスがこの翻訳された音符数字を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記データベースに記憶されたデータを１つ以上のグループに組織し、ここで、各グループを特定のインデックスによって識別することを特徴とする請求９に記載の方法。
【請求項１２】
前記オーディオピースに関する情報のデータベースの探索を、生成されたインデックスによって識別された１グループに制限することを特徴とする請求項１１に記載の方法。
【請求項１３】
オーディオピースのオーディオ信号を受信し、
前記オーディオ信号から前記オーディオピースに含まれた音符のリストを自動的に取得し、
前記オーディオ信号から前記オーディオピースの中の音符の顕著度を特定し、
前記オーディオピースの中の最も顕著な音符を所定の数選択し、
前記選択された音符に基づいてインデックスを生成し、
生成されたインデックスに基づいてデータベースを探索することを特徴とするオーディオインデックス化方法。
【請求項１４】
前記データベースに記憶されたデータを１つ以上のグループに組織し、ここで、各グループを特定のインデックスによって識別することを特徴とする請求１３に記載の方法。
【請求項１５】
前記データベースの探索を、生成されたインデックスによって識別された１グループに制限することを特徴とする請求項１４に記載の方法。
【請求項１６】
前記選択された音符を音符数字に翻訳し、前記インデックスがこの翻訳された音符数字を備えることを特徴とする請求項１３に記載の方法。
【請求項１７】
前記データベースに記憶されたデータを１つ以上のグループに組織し、ここで、各グループを特定のインデックスによって識別する方法で、更に、
前記生成されたインデックスの中の翻訳された音符数字を、前記データベースの中のデータのグループを識別するインデックスに含まれた音符数字と比較し、
前記グループを識別するインデックスが、生成されたインデックスにおけると同様、少なくとも所定の数量の音符数字を含む場合、一致指示信号を出力することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記生成されたインデックスが４つの音符数字を含み、前記グループを識別するインデックスが少なくとも前記４つの音符数字のうちの３つを含む場合、一致指示信号を出力することを特徴とする請求項１７に記載の方法。
【請求項１９】
前記データベースが、複数のオーディオピースのコンパクトな表現を含むオーディオフィンガープリントデータベースであることを特徴とする請求項１３に記載の方法。
【請求項２０】
前記オーディオクラスと関連した複数のオーディオピースを選択し、
前記選択されたオーディオピースごとにオーディオフィンガープリントを計算し、
前記計算されたオーディオフィンガープリントの平均を算出し、
前記算出された平均を前記オーディオクラスに関連させ、
前記算出された平均をデータメモリに記憶することを特徴とするオーディオクラスのための識別子を生成する方法。
【請求項２１】
オーディオフィンガープリントを計算する工程において、
前記オーディオピースと関連したオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてマトリックスＡを作り、
前記マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、
１つ以上のマトリックス列ＶTを検索し、
前記検索されたマトリックス列ＶTを前記オーディオピースと関連させ、
前記検索されたマトリックス列ＶTを記憶することを特徴とする請求項２０に記載の方法。
【請求項２２】
マトリックスＡの列が時間を表し、前記マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記オーディオクラスが特定のオーケストレーション又はインストルメンテーションによって限定されることを特徴とする請求項２０に記載の方法。
【請求項２４】
オーディオピースを記憶するオーディオファイルを読み取るオーディオファイルリーダ、
前記オーディオファイルリーダに結合していて、
前記オーディオピースと関連したオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてマトリックスＡを作り、
前記マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、
１つ以上のマトリックス列ＶTを検索する
形に構成されたプロセッサ、
前記プロセッサに結合していて、前記検索されたマトリックス列ＶTを前記オーディオピースとの関連において記憶するデータメモリ、及び、
複数のオーディオピースに関する情報を記憶するデータベースで、前記検索されたマトリックス列ＶTを含むリクエストがアプリケーションプログラムによって受け取られ、前記データベースに記憶されたオーディオピースに関する情報が前記リクエストの中のマトリックス列ＶTに基づいて識別及び検索されるデータベースを特徴とするオーディオフィンガープリントシステム。
【請求項２５】
マトリックスＡの列が時間を表し、前記マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項２４に記載のシステム。
【請求項２６】
前記情報が、前記オーディオピースのための音響分析データを記憶するオーディオプロファイルベクトルであることを特徴とする請求項２４に記載のシステム。
【請求項２７】
前記プロセッサが更に、前記音響分析データに基づいて第２のオーディオピースを推奨する形に構成されていることを特徴とする請求項２４に記載のシステム。
【請求項２８】
前記オーディオプロファイルベクトルが、特定のオーディオクラスに分類されたオーディオピースに対する前記オーディオピースの類似の度合いを数量化することを特徴とする請求項２６に記載のシステム。
【請求項２９】
前記プロセッサが更に、特定のオーディオクラスのための識別子を生成する形に構成されており、ここで、
前記特定のオーディオクラスと関連したオーディオピースを選択し、
前記選択されたオーディオピースごとに第２のオーディオフィンガープリントを計算し、
前記計算された第２のオーディオフィンガープリントの平均を算出し、
前記算出された平均を前記特定のオーディオクラスに関連させ、
前記算出された平均を前記特定のオーディオクラスの識別子としてデータメモリに記憶することを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記第２のオーディオフィンガープリントを計算する工程において、
前記選択されたオーディオピースと関連した特定のオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてマトリックスＡを作り、
前記マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、
１つ以上のマトリックス列ＶTを検索し、
前記検索されたマトリックス列ＶTを前記選択されたオーディオピースと関連させることを特徴とする請求項２９に記載のシステム。
【請求項３１】
マトリックスＡの列が時間を表し、前記マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記プロセッサが更に、前記オーディオピースのインデックスを生成する形に構成されており、生成の工程において、
前記オーディオピースと関連したオーディオ信号から、前記オーディオピースに含まれた音符のリストを自動的に取得し、
前記オーディオ信号から前記オーディオピースの中の音符の顕著度を特定し、
前記オーディオピースの中の最も顕著な音符をインデックスとして所定の数選択することを特徴とする請求項２４に記載のシステム。
【請求項３３】
前記選択された音符を音符数字に翻訳し、前記インデックスがこの翻訳された音符数字を含むことを特徴とする請求項３２に記載のシステム。
【請求項３４】
前記データベースに記憶されたデータを１つ以上のグループに組織し、ここで、各グループを特定のインデックスによって識別することを特徴とする請求３２に記載のシステム。
【請求項３５】
前記オーディオピースに関する情報のデータベースの探索を、前記生成されたインデックスによって識別された１グループに制限することを特徴とする請求項３４に記載のシステム。
【請求項３６】
オーディオピースのオーディオ信号を受信する手段、
前記オーディオ信号から、前記オーディオピースに含まれた音符のリストを自動的に取得する手段、
前記オーディオ信号から前記オーディオピースの中の音符の顕著度を特定する手段、
前記オーディオピースの中の最も顕著な音符を所定の数選択する手段、
前記選択された音符に基づいてインデックスを生成する手段、及び、
前記生成されたインデックスに基づいてデータベースを探索する手段を備えること特徴とするオーディオインデックス化システム。
【請求項３７】
前記データベースに記憶されたデータを１つ以上のグループに組織し、ここで、各グループを特定のインデックスによって識別することを特徴とする請求３６に記載のシステム。
【請求項３８】
前記データベースの探索を、前記生成されたインデックスによって識別された１グループに制限することを特徴とする請求項３７に記載のシステム。
【請求項３９】
前記選択された音符が音符数字と関連し、前記インデックスがこの音符数字を含むことを特徴とする請求項３６に記載のシステム。
【請求項４０】
前記データベースが、複数のオーディオピースのコンパクトな表現を含むオーディオフィンガープリントデータベースであることを特徴とする請求項３６に記載のシステム。
【請求項４１】
選択された複数のオーディオピースの各々についてオーディオフィンガープリントを計算する手段、
前記計算されたオーディオフィンガープリントの平均を算出する手段、
前記算出された平均を前記オーディオクラスに関連させる手段、及び、
前記算出された平均をデータメモリに記憶する手段を備えることを特徴とするオーディオクラスのための識別子を生成するシステム。
【請求項４２】
前記オーディオフィンガープリントを計算する手段が、
前記オーディオピースと関連したオーディオ信号から複数の周波数測定値を取得する手段、
前記周波数測定値に基づいてマトリックスＡを作る手段、
前記マトリックスＡにおいて特異値分解を実行する手段（ここで、Ａ＝ＵＳＶT）、
１つ以上のマトリックス列ＶTを検索する手段、及び、
前記検索されたマトリックス列ＶTをオーディオピースと関連させる手段を備えることを特徴とする請求項４１に記載のシステム。
【請求項４３】
マトリックスＡの列が時間を表し、前記マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項４２に記載のシステム。
【請求項４４】
前記オーディオクラスが特定のオーケストレーション又はインストルメンテーションによって限定されることを特徴とする請求項４１に記載のシステム。
【請求項４５】
実行可能命令を含むコンピュータ使用可能プログラムコードを有するコンピュータ読取り可能媒体を有し、前記実行可能命令が実行されると、コンピュータが、
オーディオピースと関連したオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてマトリックスＡを作り、
前記マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、
１つ以上のマトリックス列ＶTを検索し、
前記検索されたマトリックス列ＶTを前記オーディオピースとの関連においてデータメモリに記憶する工程を実行することを特徴とする製造品。
【請求項４６】
マトリックスＡの列が時間を表し、前記マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項４５に記載の製造品。
【請求項４７】
実行可能命令を含むコンピュータ使用可能プログラムコードを有するコンピュータ読取り可能媒体を有し、前記実行可能命令が実行されると、コンピュータが、
オーディオピースのオーディオ信号から、前記オーディオピースに含まれた音符のリストを自動的に取得し、
前記オーディオ信号から前記オーディオピースの中の音符の顕著度を特定し、
前記オーディオピースの中の最も顕著な音符をインデックスとして所定の数選択し、
前記選択された音符に基づいてインデックスを生成し、
前記生成されたインデックスに基づいてデータベースを探索する工程を実行することを特徴とする製造品。
【請求項４８】
大略、添付図面に則して上で述べた通りのオーディオフィンガープリントシステム。
【請求項４９】
大略、添付図面に則して上で述べた通りのオーディオフィンガープリント方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、未知のオーディオピースを自動的に識別すること、詳記するならば、未知のオーディオピースをそのオーディオフィンガープリントを介して効果的に識別するシステム及び方法に関するものである。
【背景技術】
【０００２】
オーディオピースを、そのオーディオ信号の内容の分析によって自動的に識別することが望ましいケースはしばしばあり、特に、オーディオピースと関連する記述的データが存在しないときはそうである。先行技術によるフィンガープリントシステムでは、一般に、オーディオピースをその任意部分に基づいて認識することができる。フィンガープリントデータベースにおけるフィンガープリントは、任意部分に基づいて生成されたフィンガープリントを記憶されたフィンガープリントと適切に整合できるようにするためにしばしば時間インデックスを付けられる。時間ベースのフィンガープリントシステムは、そのため、何であれ比較を実行する前に、フィンガープリントデータベースにおいて正確なセグメントの位置を突き止める補助的な複雑化工程を追加する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
フィンガープリントのために使えそうなオーディオピース部分について仮定を立ててよいとしても、時間インデックスを付けられたオーディオフィンガープリントを生成し、記憶することは冗長である。例えば、識別すべきオーディオピースが常にピースの始まりから使えることが分かっていれば、オーディオピースの時間インデックスを付けられたフィンガープリントを様々な時間スライスについて維持する必要がなく、また、照会フィンガープリントを記憶されたフィンガープリントと時間的に整合させる必要もない。
【０００４】
先行技術によるフィンガープリントシステムにおいて直面した別の問題は、フィンガープリントデータベースの中で登録されたフィンガープリントの数が増すにつれて、マッチングを得るのに費やされる時間も増すことである。
【０００５】
そこで、必要とされるのは、オーディオピースを信頼し得る迅速かつ堅固な仕方で識別できるようにするフィンガープリントシステムである。このようなシステムは、より高いマッチング精度とより高いマッチング速度に向けて識別を実行する中で探索スペースを縮小する形に構成されるのが望ましい。
【課題を解決するための手段】
【０００６】
一実施例によれば、本発明は複数のオーディオピースの中から選択をする方法で、ここでは、第１のオーディオピースのオーディオフィンガープリントを受信し、オーディオフィンガープリントのためのデータベースを探索し、オーディオフィンガープリントと関連したオーディオプロファイルベクトル、すなわち、オーディオピースと関連した複数の属性を数量化するオーディオプロファイルベクトルを検索し、オーディオプロファイルベクトルに基づいてユーザプリファレンス情報を更新し、ユーザプリファレンス情報に基づいて第２のオーディオピースを選択することを含む方法に関するものである。
【０００７】
別の実施例によれば、本発明はオーディオフィンガープリント方法で、オーディオピースと関連したオーディオ信号を受信し、オーディオ信号から複数の周波数測定値を取得し、周波数測定値に基づいてマトリックスＡを作り、マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、１つ以上のマトリックス列ＶTを検索し、検索されたマトリックス列ＶTをオーディオピースと関連させ、検索されたマトリックス列ＶTをデータメモリに記憶することを含む方法に関するものである。
【０００８】
別の実施例によれば、本発明はオーディオインデックス化方法で、オーディオピースのオーディオ信号を受信し、オーディオ信号から、オーディオピースに含まれた音符のリストを自動的に取得し、オーディオ信号からオーディオピースの中の音符の顕著度を特定し、オーディオピースの中の最も顕著な音符を所定の数選択し、選択された音符に基づいてインデックスを生成し、生成されたインデックスに基づいてデータベースを探索することを含む方法に関するものである。
【０００９】
別の実施例によれば、本発明はオーディオクラスのための識別子を生成する方法で、ここでは、オーディオクラスと関連した複数のオーディオピースを選択し、選択されたオーディオピースごとにオーディオフィンガープリントを計算し、計算されたオーディオフィンガープリントの平均を算出し、算出結果に基づいて平均のフィンガープリントを生成し、平均のフィンガープリントをオーディオクラスと関連させ、平均フィンガープリントをデータメモリに記憶することを含む方法に関するものである。
【００１０】
別の実施例によれば、本発明はオーディオ選択システムで、複数のオーディオピースについて複数のオーディオフィンガープリントを記憶する第１のデータメモリ、複数のオーディオフィンガープリントについて、各々、オーディオフィンガープリントに対応するオーディオピースと関連した複数の属性を数量化する複数のオーディオプロファイルベクトルを記憶する第２のデータメモリ、第１のオーディオピースのオーディオフィンガープリントについて第１のデータメモリを探索する手段、第２のデータメモリからオーディオフィンガープリントと関連したオーディオプロファイルベクトルを検索する手段、検索されたオーディオプロファイルベクトルに基づいてユーザプリファレンス情報を更新する手段、及び、ユーザプリファレンス情報に基づいて第２のオーディオピースを選択する手段を含むシステムに関するものである。
【００１１】
別の実施例によれば、本発明はオーディオフィンガープリントシステムで、オーディオピースと関連したオーディオ信号を受信し、オーディオ信号から複数の周波数測定値を取得し、周波数測定値に基づいてマトリックスＡを作り、マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、１つ以上のマトリックス列ＶTを検索し、検索されたマトリックス列ＶTをオーディオピースと関連させる形に構成されたプロセッサを含むシステムに関するものである。このオーディオフィンガープリントシステムは、検索されたマトリックス列ＶTを記憶するための、プロセッサに結合したデータメモリも含む。
【００１２】
別の実施例によれば、本発明はオーディオインデックス化システムで、オーディオピースのオーディオ信号を受信する手段、オーディオ信号から、オーディオピースに含まれた音符のリストを自動的に取得する手段、オーディオ信号からオーディオピースの中の音符の顕著度を特定する手段、オーディオピースの中の最も顕著な音符を所定の数選択する手段、選択された音符に基づいてインデックスを生成する手段、生成されたインデックスに基づいてデータベースを探索する手段を含むシステムに関するものである。
【００１３】
別の実施例によれば、本発明はオーディオクラスのための識別子を生成するシステムで、ここでは、選択された複数のオーディオピースの各々についてオーディオフィンガープリントを計算する手段、計算されたオーディオフィンガープリントの平均を算出する手段、算出されたフィンガープリントの平均をオーディオクラスと関連させる手段、及び、算出されたフィンガープリントの平均をデータメモリに記憶する手段を含むシステムに関するものである。
【００１４】
別の実施例によれば、本発明は、実行可能命令を含むコンピュータ使用可能プログラムコードを有するコンピュータ読取り可能媒体を包含する製造品で、実行可能命令が実行されると、コンピュータが、オーディオピースと関連したオーディオ信号から複数の周波数測定値を取得し、周波数測定値に基づいてマトリックスＡを作り、マトリックスＡにおいて特異値分解を実行し（ここで、Ａ＝ＵＳＶT）、１つ以上のマトリックス列ＶTを検索し、検索されたマトリックス列ＶTをオーディオピースと関連させ、検索されたマトリックス列ＶTをデータメモリに記憶する工程を実行する製造品に関するものである。
【００１５】
別の実施例によれば、本発明は、実行可能命令を含むコンピュータ使用可能プログラムコードを有するコンピュータ読取り可能媒体を包含する製造品で、実行可能命令が実行されると、コンピュータが、オーディオピースのオーディオ信号から、オーディオピースに含まれた音符のリストを自動的に取得し、オーディオ信号からオーディオピースの中の音符の顕著度を特定し、オーディオピースの中の最も顕著な音符を所定の数選択し、選択された音符に基づいてインデックスを生成し、生成されたインデックスに基づいてデータベースを探索する工程を実行させられる製造品に関するものである。
【発明を実施するための最良の形態】
【００１６】
本発明のこれらの特徴及び他の特徴、態様及び利点は、以下の詳細な説明、付記請求項及び添付図面に照らして考慮されるとき、より十分に理解されるであろう。無論、発明の現実の範囲は付記請求項により限定される。
【実施例】
【００１７】
図１は、本発明の一実施例によるオーディオフィンガープリントシステム１０の概略的ブロック図である。システムは、異なる種類のオーディオファイル１１又はオーディオ入力を読取り、ウェーブ（.wav）、ＭＰ３ファイルなどを出力するオーディオファイルリーダ１２を含む。オーディオファイルリーダ１２は、例えばＣＤプレーヤ、ＤＶＤプレーヤ、ハードドライブなどであってよい。ファイルリーダ１２は、オーディオファイルリーダ１２によって出力されたＭＰ３ファイルを復号するＭＰ３デコーダ１４に結合していてよい。他の種類の符号化オーディオファイルを復号するのに他の種類のデコーダを使用してもよい。
【００１８】
オーディオファイルリーダ１２に提供されたオーディオファイル１１は、認識又は登録すべきオーディオピースの全体であってもその一部分であってもよい。本発明の一実施例によれば、オーディオファイルは、少なくともオーディオピースの最初の３０秒を含む。しかしながら、当業者であれば、より短い分節もより長い分節も代替の実施例において使用してよいことは容易に分かるはずである。
【００１９】
受信されたオーディオファイル１１は、本発明の一実施例によれば、オーディオファイルの分析に先立ってある一定の前処理工程を取る形に構成された音楽プリプロセッサ１６に送信される。例示の前処理工程の場合は、信号の最大レベルがすべてのオーディオファイルにとって同じであるのを確実にするためにオーディオ信号を標準化する工程、オーディオデータをステレオからモノラルの変換する工程、オーディオファイルの無音部分を無くす工程などを含んでよい。しかしながら、当業者であれば、前処理工程が無くされても、従来技術において普通の他の種類のオーディオ前処理工程を含んでもよいことは容易に分かるはずである。
【００２０】
プリプロセッサ１６は、フィンガープリント抽出エンジン１８、フィンガープリント分析エンジン２０、インデックス化エンジン２２、及びクラス識別エンジン２４に結合している。本発明の一実施例によれば、エンジンは、メモリに記憶された命令を実行するプロセッサである。しかしながら、当業者であれば、エンジンがソフトウェア、ファームウェア（例えばＡＳＩＣ）、又はハードウェアとファームウェアとソフトウェアの組み合わせの形であってもよいことは容易に分かるはずである。
【００２１】
本発明の一実施例によれば、フィンガープリント抽出エンジン１８は、オーディオファイル１１のコンパクトな表現（以下、署名のフィンガープリントと呼ぶ）をオーディオピースの一意の名前として使用できるように自動的に生成する。
【００２２】
フィンガープリント分析エンジン２０は、フィンガープリント抽出エンジン１８によって生成されたオーディオフィンガープリントをフィンガープリントデータベース２６の中の登録されたフィンガープリントとの一致の有無について分析する。このマッチングに基づき、フィンガープリント分析エンジンか、フィンガープリント分析エンジンに結合した別個のエンジン（図示されていない）かいずれかが、オーディオピースと関連した補助データを検索する。補助データは、例えば、２００２年１０月２３日付で出願された米国特許出願第１０／２７８６３６号において更に詳細に記述された通りオーディオピースの様々な属性を説明するオーディオプロファイルベクトルであってよい。その内容を参考としてここに組み入れる。無論、当業者であれば、他の種類のデータ、例えばタイトル情報、アーティスト情報、グループ情報、コンサート情報、ニューリリース情報、及び／又は更なるデータへのリンク、例えばＵＲＬリンクなどをオーディオピースと関連させてもよいことは容易に分かるはずである。
【００２３】
インデックス化エンジン２２は、抽出されたオーディオフィンガープリントを、フィンガープリントデータベース２６の中の候補のサブセットを識別するためにフィンガープリント分析エンジン２０で使用してよいインデックスと関連させる。本発明の一実施例によれば、インデックスは、オーディオピースに含まれた顕著な音符に基づいて生成される。インデックスが生成されたら、オーディオピースが属するフィンガープリントデータベース２６の中のオーディオフィンガープリントのサブセットを識別することができる。
【００２４】
クラス識別エンジン２４は、特定の音楽クラスに属するオーディオピースの相異なるセットごとの識別子を生成する。本発明の一実施例によれば、特定の音楽クラスの中のオーディオピースは、全体のインストルメンテーション／オーケストレーションの点ですべて同様である。例えば、例示の音楽クラスの場合は、ジャズピアノトリオ、アカペラソング、アコースティックギター、アコースティックピアノ、ヴォーカル付きソロアコースティックギターなどを含むものと識別することができる。様々な音楽クラスをオーディオプロファイルベクトルの属性として含んでよく、そこで、オーディオピースがその音楽クラスにどれだけ近いか又はどれだけ遠いかを、特定の音楽クラス属性に関する１セットの値が指示する。様々な音楽クラスに関する情報及び識別子は、次に、音楽クラスデータベース２８に記憶される。
【００２５】
フィンガープリントデータベース２６は、複数の既知のオーディオピースのフィンガープリントを記憶する。フィンガープリントは、オーディオピースに含まれた音符に基づいて離散的サブセットにグループ分けしてよい。各オーディオフィンガープリントは、現実のオーディオファイル、オーディオプロファイルベクトル、オーディオピースの記述（例えばタイトル、アーティスト及び／又はグループ）、コンサート情報、ニューリリース情報、補助データへのＵＲＬリンクなどと関連させてよい。
【００２６】
図２は、本発明の一実施例によるオーディオフィンガープリントを生成するプロセスのフロー図である。プロセスはスタートし、ステップ１００において、フィンガープリント抽出エンジン１８又は別個のフーリエ変換エンジン（図示されていない）が、時間ドメインの中の信号波形を周波数ドメインの中の信号に変換するために前処理されたオーディオピースのオーディオ信号の高速フーリエ変換（ＦＦＴ）を計算する。本発明の一実施例によれば、ＦＦＴ分析は、後続の処理に備えてデータのサイズを縮小するべく再サンプリングが行われる。
【００２７】
ＦＦＴ計算に基づき、フィンガープリント抽出エンジン１８は、ステップ１０２においてＴｘＦマトリックスＡを生成する。ここで、Ｔ≧Ｆである。本発明の一実施例によれば、マトリックスの列は時間を表し、マトリックスのカラムはＦＦＴ周波数測定値（ビンとも呼ぶ）を表す。
【００２８】
ステップ１０４において、フィンガープリント抽出エンジン１８は、マトリックスＡにおいて特異値分解（ＳＶＤ）演算として知られた周知のマトリックス演算を実行する。一般的に言えば、ＳＶＤは、オリジナルマトリックスを下記の通り３つのマトリックスの積に縮小する技術である。
【００２９】
ＳＶＤ(Ａ）＝ＵＳＶT
【００３０】
ここで、ＵはＴｘＦ直交マトリックス、Ｓは正値要素又はゼロ値要素を持つＦｘＦ対角マトリックス、ＶTはＦｘＦ直交マトリックスの転置形である。本発明の一実施例によれば、Ｖ転置マトリックスの列は、ほとんどの分散を捕獲する座標、すなわち、Ｓマトリックスの対角エントリによって測定された通りの有意の順位を下げる中でオーディオピースについてのほとんどの情報を保持する座標である。
【００３１】
ステップ１０６において、フィンガープリント抽出エンジン１８はマトリックスＶTから所定の数の列を抽出し、ステップ１０８において、抽出された列からフィンガープリントマトリックスを作る。ステップ１１０において、フィンガープリントマトリックスは、従来技術において普通の何らかの仕方でフィンガープリントマトリックスをオーディオピースに関連させることにより、オーディオピースのフィンガープリントとしてセットされる。
【００３２】
ステップ１１２において、フィンガープリントマトリックスはデータメモリに記憶される。データメモリは、フィンガープリント抽出が登録の目的のために行われる場合、フィンガープリントデータベース２６である。そうでない場合、データメモリは、登録されたフィンガープリントとの比較のためにフィンガープリント分析エンジン２０による後の検索に備えてフィンガープリントマトリックスを記憶する一時記憶場所である。
【００３３】
先行技術のシステムにより生成された多くのオーディオフィンガープリントと違って、ＳＶＤ演算を介して生成されたオーディオフィンガープリントは、まったく時間との関連を持たない。しかしながら、当業者であれば、ＳＶＤ演算を介して生成されたオーディオフィンガープリントと時間を関連させてよいことは容易に分かるはずである。換言すれば、図２に則して述べたオーディオフィンガープリント生成のプロセスは、ＳＶＤ演算を介して生成されたオーディオフィンガープリントに時間インデックスを割り当て、曲全体にわたるウィンドウ移動のプロセスを繰り返すことにより、時間ベースのオーディオフィンガープリントシステムに拡張してよい。
【００３４】
本発明の一実施例によれば、フィンガープリント抽出エンジン１８は、先行技術のフィンガープリント技法、例えば、結果的に時間インデックス化フィンガープリントを得させるスペクトルセントロイド測定法及び／又はスペクトルフラットネス測定法などを組み入れてもよい。
【００３５】
組み入れられ、使用されたならば、これら測定法のいずれの結果も、ＳＶＤ演算によって生成されたフィンガープリントマトリックスに追加してよい。
【００３６】
図３は、本発明の一実施例による、抽出されたオーディオフィンガープリントを登録されたフィンガープリントとの一致の有無について分析するためにフィンガープリント分析エンジン２０が実行するプロセスのフロー図である。プロセスはスタートし、ステップ２００において、フィンガープリント分析エンジン２０が、フィンガープリント抽出エンジン１８から識別すべきオーディオピースのフィンガープリント（フィンガープリントマトリックスＸ）を受信する。フィンガープリント分析エンジン２０は次に、フィンガープリントマトリックスＸをもってフィンガープリントデータベース２６に基づく探索／検索ルーチンを呼び出す。これに関して、フィンガープリント分析エンジン２０はステップ２０２において、フィンガープリントデータベース２６の中に比較するフィンガープリントがまだ存在するか否かを照会する。答がＮＯであれば、データベースの中のフィンガープリントは全部、一致を見出すことなく分析されたということである。このシナリオの中で、フィンガープリント分析エンジンは一致ゼロの結果をステップ２０４に戻す。
【００３７】
他方、フィンガープリントデータベース２６の中に分析されなかったフィンガープリントがまだ存在する場合、フィンガープリント分析エンジン２０は、ステップ２０６において、フィンガープリントデータベース２６の中のフィンガープリントマトリックスＸと現フィンガープリント（フィンガープリントマトリックスＹ）との差を計算する。本発明の一実施例によれば、この差の計算は、下記の通りフィンガープリントマトリックスＸとフィンガープリントマトリックスＹの列ベクトルごとに周知のユークリッド距離尺度Ｄを取ることによって行われる。
【００３８】
【数１】
2007525697.tif 000003
【００３９】
ここで、Ｘ１、Ｘ２．．．ＸｍはフィンガープリントマトリックスＸの列ベクトルの値、Ｙ１、Ｙ２．．．ＹｍはフィンガープリントマトリックスＹの列ベクトルの値である。全部のマトリックス列にとっての距離尺度を総和し、本発明の一実施例によれば、標準化する。ステップ２０８において、距離の総和が閾値を超えるか否か確かめる。答がＮＯであれば、一致を宣言する。そうでない場合は、フィンガープリントデータベースの中の次のフィンガープリントについて一致の有無を調べる。
【００４０】
本発明の一実施例によれば、先行技術のフィンガープリント技法も導入した場合は、この技法により生成された時間インデックス化ベクトルを距離測定し、対応する記憶されたフィンガープリントベクトルと比較した上で適当な定数により縮尺する。こうして得られる距離計算を、ステップ２０６において行われた距離計算に加える。また、特殊な技法によって行われた距離計算に多かれ少なかれウェイトをかけるためにウェイティングファクターを導入してもよい。そこで、一致が得られたか否か確かめるため、全距離計算を閾値との対比でテストする。
【００４１】
図４は、本発明の代替の一実施例による、抽出されたオーディオフィンガープリントを登録されたフィンガープリントとの一致の有無について分析するためにフィンガープリント分析エンジン２０が実行するプロセスのフローチャートである。この実施例によれば、プロセスはスタートし、ステップ３００において、フィンガープリント分析エンジン２０が、フィンガープリント抽出エンジン１８から識別すべきオーディオピースのフィンガープリント（フィンガープリントマトリックスＸ）を受信する。フィンガープリント分析エンジン２０は、ステップ３０２においてインデックス化エンジン２２を呼び出し、フィンガープリントデータベース２６の中に抽出されたフィンガープリントと一致する候補が存在するか否か調べさせ、存在する場合、その候補を含むサブセットのインデックスを識別させる。これに関して、インデックス化エンジン２２は、抽出されたフィンガープリントのための照会インデックスを生成する。本発明の一実施例によれば、このインデックスは順序が付けられていない４つの数字からなり、そのうちの３つの数字がどんな順序であれ照会インデックスのそれと同じであるインデックスがフィンガープリントデータベースの中に存在すれば、一致が得られたとみなされる。
【００４２】
図４のプロセスの残りのステップは、探索スペースがマッチングインデックスによって識別されたフィンガープリントのサブセットに制限されることを除いて、図３に示した通りの仕方で続く。
【００４３】
これに関して、フィンガープリント分析エンジン２０はステップ３０４において、フィンガープリントデータベース２６の識別されたサブセットの中に比較するフィンガープリントがまだ存在するか否かを照会する。答がＮＯであれば、フィンガープリント分析エンジンは一致ゼロの結果をステップ３０６に戻す。
【００４４】
サブセットの中に分析されなかったフィンガープリントがまだ存在する場合、フィンガープリント分析エンジン２０は、ステップ３０８において、サブセットの中のフィンガープリントマトリックスＸと現フィンガープリント（フィンガープリントマトリックスＹ）との差を計算する。ステップ３１０において、この差が閾値を超えるか否か確かめる。答がＮＯであれば、一致を宣言する。そうでない場合は、識別されたサブセットの中の次のフィンガープリントについて一致の有無を調べる。
【００４５】
図５は、本発明の一実施例による、データベースインデックスをオーディオピースに割り当てるためにインデックス化エンジン２２が実行するプロセスのフロー図である。フィンガープリント抽出エンジン１８によって抽出されたフィンガープリントを登録するために、又は、フィンガープリントデータベース２６の中で抽出されたフィンガープリントとの一致の有無を調べる必要のある候補を減少させるために、データベースインデックスを使ってフィンガープリントデータベース２６の中のフィンガープリントのサブセットを識別する。
【００４６】
図５に示したプロセスはスタートし、ステップ４００において、インデックス化エンジン２２か別個のフーリエ変換エンジン（図示されていない）かいずれかが、プリプロセッサ１６によって前処理されたオーディオピースのＦＦＴなどを計算し、そのオーディオピースのＦＦＴスペクトルを取得する。ステップ４０２において、インデックス化エンジン２２は、オーディオピースに含まれた音符のリストを自動的に取得する。この音符のリストは、先行技術の中に存する周知のピーク追跡アルゴリズムのいずれかを介して取得される。
【００４７】
ピーク追跡アルゴリズムがＦＦＴにおいてローカルピークのトラックを生成し、これを次にインデックス化エンジンがその顕著度について分析する。これに関して、インデックス化エンジン２２はステップ４０４において、調べる何らかのトラックがまだあるか否か確かめる。答がＹＥＳであれば、エンジンはステップ４０６においてトラックの周波数を、このトラックの周波数を数量化する整数値に変換する。本発明の一実施例によれば、この変換は、トラックの周波数を、技術的によく知られた仕方で最も近しいＭＩＤＩ（電子楽器デジタルインタフェース）音符数字に数量化することによって行われる。
【００４８】
ステップ４０８において、インデックス化エンジン２２はトラックの顕著度の値を、例えばトラックの強度や持続度などのファクターに基づいて計算する。ステップ４１０において、エンジンは計算された顕著度の値をトラックのＭＩＤＩ音符に関連させる。ステップ４１２において、ＭＩＤＩ音符の顕著度の値は顕著度アレイの中に蓄積される。その後、プロセスは次のトラックの分析のためにステップ４０４に戻る。
【００４９】
調べるトラックがまだある場合、インデックス化エンジン２２はステップ４１４において、顕著度アレイの中のＭＩＤＩ音符数字のうち顕著度の値の最も高いものを選択し、これを、フィンガープリントデータベース２６の中の関連サブセットのインデックスとして出力する。本発明の一実施例によれば、顕著度の値の最も高い４つのＭＩＤＩ音符数字をインデックスのために選択する。本発明の一実施例によれば、インデックスは順序が付けられていない４つの数字からなり、これは、ＭＩＤＩ音符数字の中から選択された数字のことであり、これでインデックスにとって合計２４通りの組み合わせが可能となる。
【００５０】
図６は、本発明の一実施例による、特定の音楽クラスのための識別子を生成するプロセスのフロー図である。この図は特定の音楽クラスの用語で説明されるが、当業者であれば、このプロセスが従来技術において普通のあらゆる種類のオーディオクラスに拡張されることは容易に分かるはずである。
【００５１】
プロセスはスタートし、ステップ５００において、特定の音楽クラスに属する１セットのオーディオピースを選択する。このオーディオピースの選択は、手動であっても自動であってもよい。
【００５２】
ステップ５０２において、クラス識別エンジンは、前記セットのオーディオピースの各々についてフィンガープリントを計算する。本発明の一実施例によれば、クラス識別エンジンは、ＳＶＤ演算を介してフィンガープリントを計算するべくフィンガープリント抽出エンジン１８を呼び出す。ＳＶＤフィンガープリント機構の代わりに、及び／又は、これに加えて、他のフィンガープリント機構を使用してもよい。
【００５３】
ステップ５０４において、クラス識別エンジン２４は、前記セットについて生成されたフィンガープリントの平均を算出する。これに関して、クラス識別エンジンは、技術的によく知られた仕方で前記セットのオーディオピース全部に対して距離尺度を最小化するマトリックス（クラスＩＤマトリックスと呼ぶ）を計算する。
【００５４】
ステップ５０６において、クラスＩＤマトリックスで表されたフィンガープリントの算出された平均を音楽クラスと関連させ、ステップ５０８において、その識別子として音楽クラスについての他の情報と一緒に音楽クラスデータベース２８に記憶する。そのような補助情報は、例えば、音楽クラスに属するオーディオピースのリスト、音楽クラスに属するオーディオピースのオーディオフィンガープリントのフィンガープリントデータベース２６へのリンク、音楽クラスに属するオーディオピースのためのオーディオプロファイルベクトルへのリンクなどを含んでよい。
【００５５】
音楽クラスのための識別子が生成されたら、オーディオピースがその音楽クラスにどれだけ近いか又はどれだけ遠いかを確かめるべく計算をすることができる。これは、例えば、オーディオピースのために抽出されたフィンガープリントと特定の音楽クラスのためのクラスＩＤマトリックスの間の距離を計算することによって行ってよい。
【００５６】
本発明の一実施例によれば、様々な音楽クラスをオーディオピースのオーディオプロファイルベクトルの属性として使用してよい。距離計算結果は、オーディオピースが関連の音楽クラスにどれだけ近いかを指示する値として属性ごとにオーディオプロファイルベクトルに記憶される。
【００５７】
図７は、本発明の一実施例による、図１のオーディオフィンガープリントシステムを利用する１つ以上のデバイスを備えたコンピュータネットワークの概略的ブロック図である。ネットワークは、例えばインターネット６１０などの公設網又は私設網を介して１つ以上の端末６０２〜６０８に結合したサーバ６００を含む。端末は、パーソナルコンピュータ６０２、パーソナルデジタルアシスタント６０４、ラップトップ６０６、ワイヤレスデバイス６０８、及び／又は、技術的に知られた他の種類の固定端末又は移動端末の形を取ってよい。
【００５８】
本発明の一実施例によれば、オーディオフィンガープリントシステム１０はサーバ６００の中にある。オーディオフィンガープリントシステムの部分々々が端末６０２〜６０８の中にあってもよい。サーバ６００及び／又は端末６０２〜６０８は、オーディオピースを自動的に分析し、オーディオプロファイルベクトルを生成するために、米国特許出願第１０／２７８６３６号において開示された音楽プロファイラを含んでもよい。サーバ６００及び／又は端末６０２〜６０８に含まれた１つ以上のプロセッサが更に、ユーザプリファレンスに基づいてオーディオピースをユーザに推奨する補助機能を備えた形に構成してあってもよい。そのような機能は、オーディオデータベースの中のオーディオピースと関連した複数の属性を数量化するオーディオプロファイルベクトルの生成／検索、ユーザプリファレンスベクトルの生成／更新、及び、ユーザプリファレンスベクトルに基づいたオーディオデータベースからのオーディオピースの選択を含む。
【００５９】
フィンガープリントシステム１０の例示的な使い方では、ユーザが、関連の記述情報を持たない曲のレートを決める。ユーザがレートを決めたい曲全体を送信する代わりに、曲のフィンガープリントをレーティング情報と一緒に送信する。これに関して、ユーザの使用する端末がサーバ６００にアクセスし、フィンガープリント抽出エンジン１８のインスタンスをそのメモリ（図示されていない）にダウンロードする。ダウンロードされたフィンガープリント抽出エンジン１８は、レートが決められている最中のオーディオピースのフィンガープリントを抽出するべく呼び出される。抽出されたフィンガープリントは、インターネット６１０を介してサーバ６００に送信される。
【００６０】
抽出されたオーディオフィンガープリントを受信すると、サーバ６００は、受信されたフィンガープリントがフィンガープリントデータベース２６に登録されているか否か確かめるべくフィンガープリント分析エンジン２０を呼び出す。一致が作られていれば、サーバは、米国特許出願第１０／２７８６３６号において更に詳細に記述されている通り、フィンガープリントと関連したオーディオプロファイルベクトルを検索し、それを使ってユーザのためのユーザプリファレンスベクトルを更新又は生成する。これは、ユーザプリファレンスベクトルは、次に他の曲をユーザに推奨するのに使用される。
【００６１】
一致が作られていないかもしれない場合、オーディオピースは、米国特許出願第１０／２７８６３６号において更に詳細に開示されている通り、オーディオプロファイルベクトルを生成するために分析され、好ましくは端末によって分析される。
【００６２】
本発明の一実施例によれば、端末は、レートが決められている最中のオーディオピースが属するフィンガープリントのサブセットのインデックスを特定するためにインデックス化エンジン２２のインスタンスをダウンロードしてもよい。すると、フィンガープリントデータベース２６の探索を促すべく、フィンガープリント情報と一緒にインデックス化情報もサーバ６００に送信される。
【００６３】
本発明を特定の実施例に則して説明してきたが、当業者であれば、本発明の範囲及び主旨から逸脱しないバリエーションを考案することは困難でなかろう。その上、様々な技術分野の当業者に、本発明自体ここに他の仕事に係る解決や他の用途への適用を示唆されるものと考えられる。
【００６４】
例えば、オーディオフィンガープリントシステム１０は、オーディオプロファイルベクトルを生成するためのオーディオピース認識を超える用途に適用してよい。例えば、未知の音楽ピースのために関連の記述データ（メタデータ）を見出すのにシステム１０を使用してよい。また、放送局における広告スポットのスケジュール通りの送信の検証、放送素材に対する作曲家印税の確保、又は番組素材の統計分析の目的のため、送信されたオーディオ番組素材を識別及び記録するのにシステム１０を使用してもよい。
【００６５】
上で述べたような本発明の用法、及び、開示の目的でここに選んだ本発明の実施例に、本発明の主旨及び範囲から逸脱することなく加え得るであろう変更及び改良のすべてを請求項によりカバーすることは、出願人の意図するところである。よって、ここに述べた本発明の実施例は、すべての点において例示的かつ非限定的とみなすべきで、本発明の範囲は上の記述よりむしろ付記請求項及びこれと同等のものによって指示されるものである。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施例によるオーディオフィンガープリントシステムの概略的ブロック図である。
【図２】本発明の一実施例によるオーディオフィンガープリントを生成するプロセスのフロー図である。
【図３】本発明の一実施例による、抽出されたオーディオフィンガープリントを登録されたフィンガープリントとの一致の有無について分析するプロセスのフロー図である。
【図４】本発明の代替の一実施例による、抽出されたオーディオフィンガープリントを登録されたフィンガープリントとの一致の有無について分析するプロセスのフローチャートである。
【図５】本発明の一実施例による、データベースインデックスをオーディオピースに割り当てるプロセスのフロー図である。
【図６】本発明の一実施例による、特定の音楽クラスのための識別子を生成するプロセスのフロー図である。
【図７】本発明の一実施例による、図１のオーディオフィンガープリントシステムを利用する１つ以上のデバイスを備えたコンピュータネットワークの概略的ブロック図である。
【図１】
2007525697.tif 000004
【図２】
2007525697.tif 000005
【図３】
2007525697.tif 000006
【図４】
2007525697.tif 000007
【図５】
2007525697.tif 000008
【図６】
2007525697.tif 000009
【図７】
2007525697.tif 000010
【手続補正書】
【提出日】平成18年4月6日(2006.4.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オーディオピースと関連したオーディオ信号を受信し、
前記オーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてＮｘＭマトリックスＡを作り、
オーディオフィンガープリント生成のために前記マトリックスＡにおいて特異値分解（ＳＤＶ）を実行し［ここで、ＳＤＶ（Ａ）＝ＵＳＶT、ＵはＮｘＭ直交マトリックス、ＳはＭｘＭ対角マトリックス、ＶTはＭｘＭ直交マトリックスの転置形である］、
１つ以上のマトリックス列ＶTを検索し、そして、
前記検索されたマトリックス列ＶTを前記オーディオピースとの関連において前記オーディオピースのためのオーディオフィンガープリントとしてデータメモリに記憶し、前記検索されたマトリックス列ＶTを含むリクエストをアプリケーションプログラムが受け取り、データベースに記憶された前記オーディオピースに関する情報を前記リクエストの中のマトリックス列ＶTに基づいて識別及び検索することを特徴とするコンピュータ実装によるオーディオフィンガープリント方法。
【請求項２】
前記マトリックスＡの列が時間を表し、該マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項１に記載の方法。
【請求項３】
前記情報が、前記オーディオピースのための音響分析データを記憶するオーディオプロファイルベクトルであることを特徴とする請求項１に記載の方法。
【請求項４】
更に前記音響分析データに基づいて第２のオーディオピースを推奨することを特徴とする請求項３に記載の方法。
【請求項５】
前記オーディオプロファイルベクトルが、特定のオーディオクラスに分類されたオーディオピースに対する前記オーディオピースの類似の度合いを数量化することを特徴とする請求項３に記載の方法。
【請求項６】
更に、前記特定のオーディオクラスのための識別子を生成することを備え、該識別子を生成するのは、
前記特定のオーディオクラスと関連したオーディオピースを選択し、
前記選択されたオーディオピースごとに第２のオーディオフィンガープリントを計算し、
前記第２のオーディオフィンガープリントの平均を算出し、
前記算出された平均を前記特定のオーディオクラスに関連させ、そして、
前記算出された平均を前記特定のオーディオクラスの識別子としてデータメモリに記憶するのを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記第２のオーディオフィンガープリントを計算するのは、
前記選択されたオーディオピースと関連した特定のオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてＮｘＭマトリックスＡ’を作り、
前記マトリックスＡ’において特異値分解（ＳＤＶ）を実行し［ここで、ＳＤＶ（Ａ’）＝Ｕ’Ｓ’ＶT’、Ｕ’はＮｘＭ直交マトリックス、Ｓ’はＭｘＭ対角マトリックス、ＶT’はＭｘＭ直交マトリックスの転置形である］、
１つ以上のマトリックス列ＶT’を検索し、そして、
前記検索されたマトリックス列ＶT’を前記選択されたオーディオピースと関連させるのを備えることを特徴とする請求項６に記載の方法。
【請求項８】
更に、前記オーディオピースのインデックスを生成することを備え、該インデックスを生成するのは、
前記オーディオピースと関連したオーディオ信号から、前記オーディオピースに含まれた音符のリストを自動的に取得し、
前記オーディオ信号から前記オーディオピースの中の音符の顕著度を特定し、そして、
前記オーディオピースの中の最も顕著な音符をインデックスとして所定の数選択するのを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記選択された音符を音符数字に翻訳し、前記インデックスがこの翻訳された音符数字を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記データベースに記憶されたデータを１つ以上のグループに組織し、各グループを特定のインデックスによって識別することを特徴とする請求８に記載の方法。
【請求項１１】
前記オーディオピースに関する情報のデータベースの探索を、前記生成されたインデックスによって識別された１グループに制限することを特徴とする請求項１０に記載の方法。
【請求項１２】
オーディオピースを記憶するオーディオファイルを読み取るオーディオファイルリーダ、
１つ以上のマトリックス列ＶTを検索するように構成されたプロセッサであって、該プロセッサは、
前記オーディオファイルリーダに結合していて、
前記オーディオピースと関連したオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてＮｘＭマトリックスＡを作り、そして、
オーディオフィンガープリント生成のために前記マトリックスＡにおいて特異値分解（ＳＤＶ）を実行する［ここで、ＳＤＶ（Ａ）＝ＵＳＶT、ＵはＮｘＭ直交マトリックス、ＳはＭｘＭ対角マトリックス、ＶTはＭｘＭ直交マトリックスの転置形である］ように構成されたプロセッサ、
前記プロセッサに結合していて、前記検索されたマトリックス列ＶTを前記オーディオピースとの関連において前記オーディオピースのためのオーディオフィンガープリントとして記憶するデータメモリ、及び、
複数のオーディオピースに関する情報を記憶するデータベースで、前記検索されたマトリックス列ＶTを含むリクエストがアプリケーションプログラムによって受け取られ、前記データベースに記憶されたオーディオピースに関する情報が前記リクエストの中のマトリックス列ＶTに基づいて識別及び検索されるデータベースを備えることを特徴とするコンピュータ実装によるオーディオフィンガープリントシステム。
【請求項１３】
前記マトリックスＡの列が時間を表し、該マトリックスＡのカラムが周波数測定値を表すことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記情報が、前記オーディオピースのための音響分析データを記憶するオーディオプロファイルベクトルであることを特徴とする請求項１２に記載のシステム。
【請求項１５】
前記オーディオプロファイルベクトルが、特定のオーディオクラスに分類されたオーディオピースに対する前記オーディオピースの類似の度合いを数量化することを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記プロセッサが更に、前記特定のオーディオクラスのための識別子を生成するように構成され、該識別子を生成するのは、
前記特定のオーディオクラスと関連したオーディオピースを選択し、
前記選択されたオーディオピースごとに第２のオーディオフィンガープリントを計算し、
前記計算された第２のオーディオフィンガープリントの平均を算出し、
前記算出された平均を前記特定のオーディオクラスに関連させ、そして、
前記算出された平均を前記特定のオーディオクラスの識別子としてデータメモリに記憶するのを含むことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記第２のオーディオフィンガープリントを計算するのは、
前記選択されたオーディオピースと関連した特定のオーディオ信号から複数の周波数測定値を取得し、
前記周波数測定値に基づいてＮｘＭマトリックスＡ’を作り、
前記マトリックスＡ’において特異値分解（ＳＤＶ）を実行し［ここで、ＳＤＶ（Ａ’）＝Ｕ’Ｓ’ＶT’、Ｕ’はＮｘＭ直交マトリックス、Ｓ’はＭｘＭ対角マトリックス、ＶT’はＭｘＭ直交マトリックスの転置形である］、
１つ以上のマトリックス列ＶT’を検索し、そして、
前記検索されたマトリックス列ＶT’を前記選択されたオーディオピースと関連させるのを備えることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記プロセッサが更に、前記オーディオピースのインデックスを生成するように構成され、該インデックスを生成するのは、
前記オーディオピースと関連したオーディオ信号から、前記オーディオピースに含まれた音符のリストを自動的に取得し、
前記オーディオ信号から前記オーディオピースの中の音符の顕著度を特定し、そして、
前記オーディオピースの中の最も顕著な音符をインデックスとして所定の数選択するのを含むことを特徴とする請求項１２に記載のシステム。
【請求項１９】
前記データベースに記憶されたデータを１つ以上のグループに組織し、該各グループを特定のインデックスによって識別することを特徴とする請求１８に記載のシステム。
【請求項２０】
前記オーディオピースに関する情報のデータベースの探索を、前記生成されたインデックスによって識別された１グループに制限することを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記プロセッサが更に、前記音響分析データに基づいて第２のオーディオピースを推奨するように構成されていることを特徴とする請求項１２に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の第１の形態によれば、オーディオピースと関連したオーディオ信号を受信し、前記オーディオ信号から複数の周波数測定値を取得し、前記周波数測定値に基づいてＮｘＭマトリックスＡを作り、オーディオフィンガープリント生成のために前記マトリックスＡにおいて特異値分解（ＳＤＶ）を実行し［ここで、ＳＤＶ（Ａ）＝ＵＳＶT、ＵはＮｘＭ直交マトリックス、ＳはＭｘＭ対角マトリックス、ＶTはＭｘＭ直交マトリックスの転置形である］、１つ以上のマトリックス列ＶTを検索し、そして、前記検索されたマトリックス列ＶTを前記オーディオピースとの関連において前記オーディオピースのためのオーディオフィンガープリントとしてデータメモリに記憶し、前記検索されたマトリックス列ＶTを含むリクエストをアプリケーションプログラムが受け取り、データベースに記憶された前記オーディオピースに関する情報を前記リクエストの中のマトリックス列ＶTに基づいて識別及び検索することを特徴とするコンピュータ実装によるオーディオフィンガープリント方法が提供される。
また、本発明の第２の形態によれば、オーディオピースを記憶するオーディオファイルを読み取るオーディオファイルリーダ、１つ以上のマトリックス列ＶTを検索するように構成されたプロセッサであって、該プロセッサは、前記オーディオファイルリーダに結合していて、前記オーディオピースと関連したオーディオ信号から複数の周波数測定値を取得し、前記周波数測定値に基づいてＮｘＭマトリックスＡを作り、そして、オーディオフィンガープリント生成のために前記マトリックスＡにおいて特異値分解（ＳＤＶ）を実行する［ここで、ＳＤＶ（Ａ）＝ＵＳＶT、ＵはＮｘＭ直交マトリックス、ＳはＭｘＭ対角マトリックス、ＶTはＭｘＭ直交マトリックスの転置形である］ように構成されたプロセッサ、前記プロセッサに結合していて、前記検索されたマトリックス列ＶTを前記オーディオピースとの関連において前記オーディオピースのためのオーディオフィンガープリントとして記憶するデータメモリ、及び、複数のオーディオピースに関する情報を記憶するデータベースで、前記検索されたマトリックス列ＶTを含むリクエストがアプリケーションプログラムによって受け取られ、前記データベースに記憶されたオーディオピースに関する情報が前記リクエストの中のマトリックス列ＶTに基づいて識別及び検索されるデータベースを備えることを特徴とするコンピュータ実装によるオーディオフィンガープリントシステムが提供される。
一実施例によれば、本発明は複数のオーディオピースの中から選択をする方法で、ここでは、第１のオーディオピースのオーディオフィンガープリントを受信し、オーディオフィンガープリントのためのデータベースを探索し、オーディオフィンガープリントと関連したオーディオプロファイルベクトル、すなわち、オーディオピースと関連した複数の属性を数量化するオーディオプロファイルベクトルを検索し、オーディオプロファイルベクトルに基づいてユーザプリファレンス情報を更新し、ユーザプリファレンス情報に基づいて第２のオーディオピースを選択することを含む方法に関するものである。