説明

特徴量抽出装置、特徴量抽出方法、およびプログラム

【課題】AAC形式の楽曲データの特徴量を求める時間の短縮と、AAC形式の楽曲データの特徴量を求めるために必要な記憶容量の削減と、を実現できる特徴量抽出装置、特徴量抽出方法、およびプログラムを提供すること。
【解決手段】特徴量抽出部22は、AAC形式の楽曲データからMDCT係数を抽出するMDCT係数抽出部31と、MDCT係数抽出部31により抽出されたMDCT係数をメル周波数領域上に配置し、メルフィルタバンクと同数に均等に分類する分類部32と、分類部32により分類されたMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出し、積算する積算部33と、積算部33による積算結果の対数コサイン変換を行って、特徴量を算出する特徴量算出部34と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、AAC形式の楽曲データの特徴量を求める特徴量抽出装置、特徴量抽出方法、およびプログラムに関する。
【背景技術】
【0002】
従来、ユーザの嗜好に適合した楽曲を複数の楽曲の中から検索するために、音響的特徴量を用いた類似検索技術があり、様々な手法が検討されている。この類似検索技術では、楽曲の特徴量として、音声認識のモデル学習で知られているMFCC(Mel−Frequency Cepstrum Coefficient)が広く用いられている。
【0003】
非特許文献1には、k−meansを使ったクラスタリングを利用する際、その距離計算に特徴量を用いることが示されている。非特許文献2には、MFCCを求めるためのHTKというツールが示されている。非特許文献3には、MP3(Mpeg−1 Audio Layer−3)形式の楽曲データからMFCCに相当する特徴量を算出する方法が示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】“FEATURE SPACE MODIFICATION FOR CONTENT−BASED MUSIC RETRIEVAL BASED ON USER PREFERENCES“, Keiichiro Hoashi, 517−520, ICASSP 2006
【非特許文献2】http://htk.eng.cam.ac.uk/
【非特許文献3】“Content−Based Methods for the Management of Digital Music”, David Pye, ICASSP, Proceedings of the Acoustics, Speech, and Signal Processing, 2000. on IEEE International Conference − Volume 04
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、非特許文献3の方法では、MP3形式の楽曲データからMFCCに相当する特徴量を求めることはできるが、AAC(Advanced Audio Coding)形式の楽曲データからMFCCに相当する特徴量を求めることはできなかった。
【0006】
また、非特許文献2のHTKに入力できる楽曲データの形式は、WAVE(RIFF waveform Audio Format)形式といった非圧縮PCM形式である。このため、AAC形式の楽曲データについて、HTKを用いてMFCCに相当する特徴量を求めるためには、HTKに入力できる非圧縮PCM形式の楽曲データに変換しなくてはならない。したがって、AAC形式の楽曲データからMFCCに相当する特徴量を求めるためには、楽曲データをAAC形式から非圧縮PCM形式に変換する必要があり、MFCCに相当する特徴量を求めるのに時間がかかるとともに、変換後の非圧縮PCM形式の楽曲データを保存する記憶容量が必要であった。
【0007】
そこで、本発明は、上述の課題に鑑みてなされたものであり、AAC形式の楽曲データの特徴量を求める時間の短縮と、AAC形式の楽曲データの特徴量を求めるために必要な記憶容量の削減と、を実現できる特徴量抽出装置、特徴量抽出方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【0009】
(1)本発明は、AAC形式の楽曲データの特徴量を求める特徴量抽出装置であって、前記AAC形式の楽曲データからMDCT係数を抽出するMDCT係数抽出手段(例えば、図2のMDCT係数抽出部31に相当)と、前記MDCT係数抽出手段により抽出されたMDCT係数をメル周波数領域上に配置し、メルフィルタバンクと同数に均等に分類する分類手段(例えば、図2の分類部32に相当)と、前記分類手段により分類されたMDCT係数をメルフィルタバンクごとに、所定の窓関数(例えば、図6のメル帯域1〜3の窓関数に相当)を掛けて切出し、積算する積算手段(例えば、図2の積算部33に相当)と、前記積算手段による積算結果の対数コサイン変換を行って、前記特徴量を算出する特徴量算出手段(例えば、図2の特徴量算出部34に相当)と、を備えることを特徴とする特徴量抽出装置を提案している。
【0010】
この発明によれば、AAC形式の楽曲データの特徴量を求める特徴量抽出装置に、AAC形式の楽曲データからMDCT係数を抽出するMDCT係数抽出手段と、MDCT係数抽出手段により抽出されたMDCT係数をメル周波数領域上に配置し、メルフィルタバンクと同数に均等に分類する分類手段と、分類手段により分類されたMDCT係数をメルフィルタバンクごとに所定の窓関数を掛けて切出して積算する積算手段と、積算手段による積算結果の対数コサイン変換を行って特徴量を算出する特徴量算出手段と、を設けた。
【0011】
このため、AAC形式の楽曲データから、WAVE形式といった非圧縮PCM形式の楽曲データに変換することなく、AAC形式の楽曲データの特徴量を求めることができる。したがって、AAC形式の楽曲データを変換するための時間が不要となるので、AAC形式の楽曲データの特徴量を求める時間を短縮できるとともに、変換後の楽曲データを保存する記憶容量が不要となり、AAC形式の楽曲データの特徴量を求めるために必要な記憶容量を削減できる。
【0012】
(2)本発明は、(1)の特徴量抽出装置について、前記分類手段は、前記AAC形式の楽曲データのサンプリング周波数をメル尺度に変換して、メル周波数とするメル周波数算出部(例えば、図2のメル周波数算出部321に相当)と、前記メル周波数を前記メルフィルタバンクと同数に分割し、分割した各メル周波数の最小値および最大値を算出するメル周波数分割部(例えば、図2のメル周波数分割部322に相当)と、前記メル周波数分割部により算出された各メル周波数の最小値および最大値を線形尺度に変換して、元周波数の最小値および最大値とする元周波数算出部(例えば、図2の元周波数算出部323に相当)と、前記AAC形式の楽曲データのサンプリング周波数から上限周波数(例えば、後述のナイキスト周波数に相当)を算出する上限周波数算出部(例えば、図2のナイキスト周波数算出部324に相当)と、前記上限周波数算出部により算出された上限周波数を、所定数のフィルタバンクと同数の周波数帯域に分割する上限周波数分割部(例えば、図2のナイキスト周波数分割部325に相当)と、前記各周波数帯域の中心周波数を、前記元周波数の最小値から最大値までの間に含まれるものごとに分類することで、前記メルフィルタバンクと同数に分類する中心周波数分類部(例えば、図2の中心周波数分類部326に相当)と、前記MDCT係数抽出手段により抽出された前記フィルタバンクと同数の各MDCT係数を、前記中心周波数分類部により前記メルフィルタバンクと同数に分類された中心周波数に対応させることで、前記メルフィルタバンクと同数に分類するMDCT係数分類部(例えば、図2のMDCT係数分類部327に相当)と、を備え、前記積算手段は、前記MDCT係数分類部により分類されたMDCT係数を前記メルフィルタバンクごとに、前記所定の窓関数を掛けて切出し、積算することを特徴とする特徴量抽出装置を提案している。
【0013】
この発明によれば、分類手段に、AAC形式の楽曲データのサンプリング周波数をメル尺度に変換してメル周波数とするメル周波数算出部と、メル周波数をメルフィルタバンクと同数に分割し分割した各メル周波数の最小値および最大値を算出するメル周波数分割部と、メル周波数分割部により算出された各メル周波数の最小値および最大値を線形尺度に変換して元周波数の最小値および最大値とする元周波数算出部と、AAC形式の楽曲データのサンプリング周波数から上限周波数を算出する上限周波数算出部と、上限周波数算出部により算出された上限周波数を所定数のフィルタバンクと同数の周波数帯域に分割する上限周波数分割部と、各周波数帯域の中心周波数を元周波数の最小値から最大値までの間に含まれるものごとに分類することでメルフィルタバンクと同数に分類する中心周波数分類部と、MDCT係数抽出手段により抽出されたフィルタバンクと同数の各MDCT係数を中心周波数分類部によりメルフィルタバンクと同数に分類された中心周波数に対応させることでメルフィルタバンクと同数に分類するMDCT係数分類部と、を設け、積算手段により、MDCT係数分類部により分類されたMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出し、積算することとした。
【0014】
このため、分類手段は、メル周波数算出部、メル周波数分割部、元周波数算出部、上限周波数算出部、上限周波数分割部、中心周波数分類部、およびMDCT係数分類部により、MDCT係数抽出手段により抽出されたMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類できる。
【0015】
(3)本発明は、(1)または(2)の特徴量抽出装置について、前記MDCT係数抽出手段は、前記AAC形式の楽曲データを非圧縮PCM形式の楽曲データに変換する複数の処理のうち、前記AAC形式の楽曲データからMDCT係数を抽出する処理を行うことを特徴とする特徴量抽出装置を提案している。
【0016】
この発明によれば、MDCT係数抽出手段により、AAC形式の楽曲データを非圧縮PCM形式の楽曲データに変換する複数の処理のうち、AAC形式の楽曲データからMDCT係数を抽出する処理を行うこととした。
【0017】
このため、AAC形式の楽曲データのMDCT係数を抽出した時点で、分類手段、積算手段、および特徴量算出手段による処理を開始することで、AAC形式の楽曲データを非圧縮PCM形式の楽曲データに変換する複数の処理を全て行わなくてはならない従来と比べて、AAC形式の楽曲データの特徴量を求める時間を短縮できる。また、MDCT係数抽出手段では、楽曲データのAAC形式からWAVE形式への変換が完了しないので、変換後の楽曲データを保存する記憶容量が不要となり、AAC形式の楽曲データの特徴量を求めるために必要な記憶容量を削減できる。
【0018】
(4)本発明は、(1)〜(3)のいずれかの特徴量抽出装置について、前記積算手段は、前記MDCT係数分類部により分類されたMDCT係数に対して所定の係数を掛けて高域強調を行った後に、高域強調を行ったMDCT係数を前記メルフィルタバンクごとに、前記所定の窓関数を掛けて切出し、積算することを特徴とする特徴量抽出装置を提案している。
【0019】
この発明によれば、積算手段により、MDCT係数分類部により分類されたMDCT係数に対して所定の係数を掛けて高域強調を行った後に、高域強調を行ったMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出し、積算することとした。
【0020】
ここで、従来では、楽曲データの時間波形の移動平均を用いることで、高域強調を行っていたが、この高域強調を行うためには、楽曲データが非圧縮PCM形式である必要があった。これに対して、本発明では、MDCT係数に対して所定の係数を掛けることで、高域強調を行うため、この高域強調を行うためには、楽曲データが非圧縮PCM形式である必要がない。このため、AAC形式の楽曲データに対して、非圧縮PCM形式に変換することなく高域強調を行うことができ、高域強調を行わない場合と比べて高精度な特徴量を求めることができる。
【0021】
(5)本発明は、(1)〜(4)のいずれかの特徴量抽出装置と、複数のAAC形式の楽曲データを記憶する楽曲データ記憶手段(例えば、図1の楽曲データベース21に相当)と、前記特徴量抽出装置により、前記楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データのそれぞれの特徴量を求め、求めた特徴量のそれぞれを記憶する特徴量記憶手段(例えば、図1の特徴量抽出部22および楽曲特徴データベース23に相当)と、を備えることを特徴とする特徴量データベース作成装置を提案している。
【0022】
この発明によれば、特徴量データベース作成装置に、上述の特徴量抽出装置と、複数のAAC形式の楽曲データを記憶する楽曲データ記憶手段と、特徴量抽出装置により楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データのそれぞれの特徴量を求め、求めた特徴量のそれぞれを記憶する特徴量記憶手段と、を設けた。
【0023】
このため、楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データについて、それぞれの特徴量を特徴量記憶手段に記憶させることができる。
【0024】
(6)本発明は、(5)の特徴量データベース作成装置と、前記楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データの中から、ユーザによる楽曲データの選択を受け付ける楽曲データ選択受付手段(例えば、図1の端末10に相当)と、前記特徴量記憶手段により記憶された特徴量の特徴ベクトルを求める特徴ベクトル生成部(例えば、図1の特徴量抽出部22に相当)と、前記特徴ベクトル生成部により求められた特徴ベクトルの中から、前記楽曲データ選択受付手段により選択を受け付けた楽曲データの特徴ベクトルとの距離が所定量以下である特定特徴ベクトルを検索する特定特徴ベクトル検索手段(例えば、図1の楽曲検索部24に相当)と、前記楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データの中から、特徴ベクトルが前記特定特徴ベクトルである楽曲データを検索する楽曲検索手段(例えば、図1の楽曲検索部24に相当)と、を備えることを特徴とする楽曲検索システムを提案している。
【0025】
この発明によれば、楽曲検索システムに、上述の特徴量データベース作成装置と、楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データの中からユーザによる楽曲データの選択を受け付ける楽曲データ選択受付手段と、特徴量記憶手段により記憶された特徴量の特徴ベクトルを求める特徴ベクトル生成部と、特徴ベクトル生成部により求められた特徴ベクトルの中から楽曲データ選択受付手段により選択を受け付けた楽曲データの特徴ベクトルとの距離が所定量以下である特定特徴ベクトルを検索する特定特徴ベクトル検索手段と、楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データの中から特徴ベクトルが特定特徴ベクトルである楽曲データを検索する楽曲検索手段と、を設けた。
【0026】
このため、楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データの中から、ユーザが選択した楽曲データとの特徴ベクトルの距離が所定量以下である楽曲データを検索できる。
【0027】
(7)本発明は、AAC形式の楽曲データの特徴量を求める特徴量抽出方法であって、前記AAC形式の楽曲データからMDCT係数を抽出する第1のステップ(例えば、図4のステップS1に相当)と、前記第1のステップにおいて抽出したMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する第2のステップ(例えば、図4のステップS2〜S8に相当)と、前記第2のステップにおいて分類したMDCT係数をメルフィルタバンクごとに、所定の窓関数(例えば、図6のメル帯域1〜3の窓関数に相当)を掛けて切出し、積算する第3のステップ(例えば、図4のステップS9に相当)と、前記第3のステップにおける積算結果の対数コサイン変換を行って、前記特徴量を算出する第4のステップ(例えば、図4のステップS10に相当)と、を備えることを特徴とする特徴量抽出方法を提案している。
【0028】
この発明によれば、AAC形式の楽曲データからMDCT係数を抽出し、抽出したMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する。そして、分類したMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出して積算し、積算結果の対数コサイン変換を行って、前記特徴量を算出する。このため、上述した効果と同様の効果を奏することができる。
【0029】
(8)本発明は、(7)の特徴量抽出方法について、前記第2のステップは、前記AAC形式の楽曲データのサンプリング周波数をメル尺度に変換して、メル周波数とする第5のステップ(例えば、図4のステップS2に相当)と、前記メル周波数を前記メルフィルタバンクと同数に分割し、分割した各メル周波数の最小値および最大値を算出する第6のステップ(例えば、図4のステップS3に相当)と、前記第6のステップにおいて算出した各メル周波数の最小値および最大値を線形尺度に変換して、元周波数の最小値および最大値とする第7のステップ(例えば、図4のステップS4に相当)と、前記AAC形式の楽曲データのサンプリング周波数から上限周波数(例えば、後述のナイキスト周波数に相当)を算出する第8のステップ(例えば、図4のステップS5に相当)と、前記第8のステップにおいて算出した上限周波数を、所定数のフィルタバンクと同数の周波数帯域に均等に分割する第9のステップ(例えば、図4のステップS6に相当)と、前記各周波数帯域の中心周波数を、前記元周波数の最小値から最大値までの間に含まれるものごとに分類することで、前記メルフィルタバンクと同数に分類する第10のステップ(例えば、図4のステップS7に相当)と、前記第1のステップにおいて抽出した前記フィルタバンクと同数の各MDCT係数を、前記第10のステップにおいて前記メルフィルタバンクと同数に分類した中心周波数に対応させることで、前記メルフィルタバンクと同数に分類する第11のステップ(例えば、図4のステップS8に相当)と、を備え、前記第3のステップでは、前記第11のステップにおいて分類したMDCT係数を前記メルフィルタバンクごとに、前記所定の窓関数を掛けて切出し、積算することを特徴とする特徴量抽出方法を提案している。
【0030】
この発明によれば、AAC形式の楽曲データからMDCT係数を抽出したMDCT係数をメル周波数領域上に配置して所定数のメルフィルタバンクと同数に均等に分類する際には、AAC形式の楽曲データのサンプリング周波数をメル尺度に変換してメル周波数とし、メル周波数をメルフィルタバンクと同数に分割し、分割した各メル周波数の最小値および最大値を算出する。そして、算出した各メル周波数の最小値および最大値を線形尺度に変換して元周波数の最小値および最大値とし、AAC形式の楽曲データのサンプリング周波数から上限周波数を算出し、算出した上限周波数を、所定数のフィルタバンクと同数の周波数帯域に均等に分割する。そして、各周波数帯域の中心周波数を、元周波数の最小値から最大値までの間に含まれるものごとに分類することで、メルフィルタバンクと同数に分類し、フィルタバンクと同数の各MDCT係数を、メルフィルタバンクと同数に分類した中心周波数に対応させることで、メルフィルタバンクと同数に分類する。このため、上述した効果と同様の効果を奏することができる。
【0031】
(9)本発明は、AAC形式の楽曲データの特徴量を求める特徴量抽出方法を、コンピュータに実行させるためのプログラムであって、前記AAC形式の楽曲データからMDCT係数を抽出する第1のステップ(例えば、図4のステップS1に相当)と、前記第1のステップにおいて抽出したMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する第2のステップ(例えば、図4のステップS2〜S8に相当)と、前記第2のステップにおいて分類したMDCT係数をメルフィルタバンクごとに、所定の窓関数(例えば、図6のメル帯域1〜3の窓関数に相当)を掛けて切出し、積算する第3のステップ(例えば、図4のステップS9に相当)と、前記第3のステップにおける積算結果の対数コサイン変換を行って、前記特徴量を算出する第4のステップ(例えば、図4のステップS10に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0032】
この発明によれば、プログラムをコンピュータに実行させることで、AAC形式の楽曲データからMDCT係数を抽出し、抽出したMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する。そして、分類したMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出して積算し、積算結果の対数コサイン変換を行って、前記特徴量を算出する。このため、上述した効果と同様の効果を奏することができる。
【発明の効果】
【0033】
本発明によれば、AAC形式の楽曲データから、WAVE形式といった非圧縮PCM形式の楽曲データに変換することなく、AAC形式の楽曲データの特徴量を求めることができる。したがって、AAC形式の楽曲データを変換するための時間が不要となるので、AAC形式の楽曲データの特徴量を求める時間を短縮できるとともに、変換後の楽曲データを保存する記憶容量が不要となるので、AAC形式の楽曲データの特徴量を求めるために必要な記憶容量を削減できる。
【図面の簡単な説明】
【0034】
【図1】本発明の一実施形態に係る楽曲検索システムの構成を示す図である。
【図2】前記楽曲検索システムに設けられる特徴量抽出部の構成を示す図である。
【図3】前記特徴量抽出部が備えるMDCT係数抽出部の処理を説明するための図である。
【図4】前記特徴量抽出部の処理を説明するための図である。
【図5】前記特徴量抽出部により算出されるメル周波数と元周波数との関係を示す図である。
【図6】前記特徴量抽出部において用いる窓関数を説明するための図である。
【図7】MFCCとの類似度を説明するための図である。
【発明を実施するための形態】
【0035】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0036】
<楽曲検索システムの構成>
図1は、本発明の一実施形態に係る楽曲検索システム1の構成を示す図である。楽曲検索システム1は、ユーザが操作可能に設けられた端末10と、端末10と通信可能に設けられた楽曲検索装置20と、を備える。楽曲検索装置20は、楽曲データベース21、特徴量抽出部22、楽曲特徴データベース23、および楽曲検索部24を備える。
【0037】
楽曲データベース21は、複数のAAC形式の楽曲データを記憶している。特徴量抽出部22は、楽曲データベース21に記憶されているAAC形式の各楽曲データについて、MFCCに相当する特徴量であるAACCEPを求める。そして、求めたAACCEPに対してツリーベクトル量子化処理(TreeQ)を行って特徴ベクトルを求め、楽曲特徴データベース23に記憶させる。
【0038】
楽曲検索部24は、端末10から送信された情報に基づいて、楽曲特徴データベース23に記憶されている特徴ベクトルを用いてユーザが選択した楽曲データに類似する楽曲を検索する。具体的には、楽曲検索部24は、まず、楽曲データベース21に記憶されている複数のAAC形式の楽曲データの中から1つを選択するよう促す情報を端末10に送信する。次に、端末10から、ユーザにより選択された楽曲データに関する情報を受信すると、楽曲特徴データベース23に記憶されている特徴ベクトルの中から、選択された楽曲データの特徴ベクトルとの距離が所定量以下であるものを検索し、楽曲データベース21に記憶されている複数のAAC形式の楽曲データの中から、検索した特徴ベクトルに対応する楽曲データを検索する。これによれば、楽曲データベース21に記憶されている複数のAAC形式の楽曲データの中から、ユーザが選択した楽曲データとの特徴ベクトルの距離が所定量以下である楽曲データ、すなわちユーザが選択した楽曲データに類似する楽曲データを検索できる。
【0039】
<特徴量抽出部の構成>
図2は、特徴量抽出部22の構成を示すブロック図である。特徴量抽出部22は、MDCT係数抽出部31、分類部32、積算部33、および特徴量算出部34を備える。
【0040】
MDCT係数抽出部31は、楽曲データベース21に記憶されているAAC形式の楽曲データからMDCT係数を抽出する。このMDCT係数抽出部31の処理について、図3を用いて説明する。
【0041】
図3は、AAC形式の楽曲データを非圧縮PCM形式の1つであるWAVE形式の楽曲データに変換する際の一連の処理を示している。
【0042】
この処理では、まず、ハフマン符号の処理を行って、ハフマン符号のデコードを行う。次に、逆量子化の処理を行って、逆量子化を行う。次に、スケーリングの処理を行って、スケールファクタバンドを統合する。次に、M/S ステレオの処理を行って、和/差信号を左右の信号に変換する。次に、予測の処理を行って、MDCT係数の線形予測による予測差分を元に戻す。次に、インテンシティステレオの処理を行って、単一の信号と定位情報のみに削除して符号化された左右の信号を元に戻す。次に、TNSの処理を行って、圧縮処理に伴う雑音のレベルを、音の大きさに合わせて変化させる。次に、IMDCTの処理を行って、周波数スペクトルを時間信号に変換する。
【0043】
ここで、図3に示した一連の処理のうち、ハフマン符号の処理からTNSの処理までを行うと、入力したAAC形式の楽曲データのMDCT係数を抽出できる。このため、MDCT係数抽出部31は、図3に示した一連の処理のうち、ハフマン符号の処理からTNSの処理までを行って、入力したAAC形式の楽曲データのMDCT係数を抽出した後、IMDCTの処理は行わない。
【0044】
分類部32は、MDCT係数抽出部31により抽出されたMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する。この分類部32は、メル周波数算出部321、メル周波数分割部322、元周波数算出部323、ナイキスト周波数算出部324、ナイキスト周波数分割部325、中心周波数分類部326、およびMDCT係数分類部327を備える。
【0045】
メル周波数算出部321は、MDCT係数を抽出されたAAC形式の楽曲データのサンプリング周波数をメル尺度に変換して、メル周波数とする。メル周波数分割部322は、メル周波数をメルフィルタバンクと同数に分割し、分割した各メル周波数の最小値および最大値を算出する。元周波数算出部323は、メル周波数分割部322により算出された各メル周波数の最小値および最大値を線形尺度に変換して、元周波数の最小値および最大値とする。ナイキスト周波数算出部324は、MDCT係数を抽出されたAAC形式の楽曲データのサンプリング周波数から、上限周波数としてのナイキスト周波数を算出する。
【0046】
ナイキスト周波数分割部325は、ナイキスト周波数算出部324により算出されたナイキスト周波数を、所定数のフィルタバンクと同数の周波数帯域に均等に分割する。中心周波数分類部326は、ナイキスト周波数分割部325により分割された各周波数帯域の中心周波数を、元周波数の最小値から最大値までの間に含まれるものごとに分類することで、メルフィルタバンクと同数に分類する。MDCT係数分類部327は、MDCT係数抽出部31により抽出されたフィルタバンクと同数の各MDCT係数を、中心周波数分類部326によりメルフィルタバンクと同数に分類された中心周波数に対応させることで、メルフィルタバンクと同数に分類する。
【0047】
積算部33は、MDCT係数分類部327により分類されたMDCT係数に対して所定の係数を掛けて高域強調を行った後に、高域強調を行ったMDCT係数をメルフィルタバンクごとに、後述する所定の窓関数を掛けて切出し、積算する。
【0048】
ここで、従来では、非圧縮PCM形式の楽曲データの時間波形の移動平均を用いることで、高域強調を行っていた。具体的には、サンプリング時間tにおける非圧縮PCM形式の楽曲データをP(t)とすると、以下の式(1)に示すように、この非圧縮PCM形式の楽曲データP(t)に対して1.0、−0.97の移動平均フィルタを掛けることで、高域強調を行っていた。
【0049】
【数1】

【0050】
これに対して、積算部33は、j番目のMDCT係数をM(j)とすると、以下の式(2)に示すように、MDCT係数M(j)に対して所定の係数を掛けることで、高域強調を行う。ここで、jは、1≦j≦1024を満たす整数とする。
【0051】
【数2】

【0052】
なお、積算部33は、式(2)ではなく、以下の式(3)に示すように、MDCT係数M(j)に対して所定の係数を掛けることで、高域強調を行ってもよい。
【0053】
【数3】

【0054】
特徴量算出部34は、積算手段による積算結果の対数コサイン変換を行って、特徴量を算出する。
【0055】
<特徴量抽出部による特徴量抽出処理>
以下に、楽曲データベース21に記憶されている複数のAAC形式の楽曲データのうち1曲の楽曲データ(以降、「対象楽曲データ」と呼ぶ)のAACCEPを特徴量抽出部22により求める手順について、図4のフローチャートを参照しながら説明する。
【0056】
なお、以下では、対象楽曲データのサンプリング周波数fを22050Hz、メルフィルタバンク数を12個、フィルタバンクの数を1024個とする。
【0057】
ステップS1において、MDCT係数抽出部31により、対象楽曲データからMDCT係数を抽出する。具体的には、楽曲データベース21から対象楽曲データを読み出し、この対象楽曲データに対して図3に示した一連の処理のうちハフマン符号の処理からTNSの処理までを行って、MDCT係数を抽出する。
【0058】
ステップS2において、分類部32が備えるメル周波数算出部321により、対象楽曲データのサンプリング周波数fをメル尺度に変換して、メル周波数fとする。ここで、メル周波数fは、以下の式(4)により算出でき、この式(4)にサンプリング周波数f=22050Hzを代入すると、メル周波数f=3923.337Hzとなる。
【0059】
【数4】

【0060】
ステップS3において、分類部32が備えるメル周波数分割部322により、メル周波数fをメルフィルタバンクと同数の12個に分割し、分割した各メル周波数の最小値(MIN)、中間値(MID)、および最大値(MAX)を算出する。この処理による算出結果を、表1に示す。なお、以下では、表1に示すように、12個に分割したメル周波数の各帯域をメル帯域1〜12と表すこととする。
【0061】
【表1】

【0062】
ステップS4において、分類部32が備える元周波数算出部323により、ステップS3において算出した各メル周波数の最小値(MIN)、中間値(MID)、および最大値(MAX)を線形尺度に変換して、元周波数の最小値klo、中間値k、および最大値khiとする。この処理による変換結果を、表2に示す。
【0063】
【表2】

【0064】
なお、元周波数の最小値klo、中間値k、および最大値khiには、以下の式(5)に示す関係が成り立つ。ここで、lは、メル帯域の番号等しく、1≦l≦12を満たす整数とする。
【0065】
【数5】

【0066】
ここで、ステップS3において算出した12個の各メル周波数の中間値(MID)と、ステップS4において算出した12個の各元周波数の中間値kと、の関係を図5に示す。図5に示すように、元周波数は、メル周波数と比べて、メル帯域の番号が大きくなるに従って、すなわち周波数が高くなるに従って、帯域が広くなる。
【0067】
ステップS5において、分類部32が備えるナイキスト周波数算出部324により、対象楽曲データのサンプリング周波数fからナイキスト周波数fを算出する。ここで、ナイキスト周波数fは、以下の式(6)により算出でき、この式(6)にサンプリング周波数f=22050Hzを代入すると、ナイキスト周波数f=11025Hzとなる。
【0068】
【数6】

【0069】
ステップS6において、分類部32が備えるナイキスト周波数分割部325により、ステップS5において算出したナイキスト周波数fを、フィルタバンクと同数の1024個の周波数帯域に均等に分割する。なお、以下では、1024個に分割した各周波数帯域を帯域1〜1024と表すこととする。また、この処理により算出した1024個の周波数帯域のうち帯域1〜36に対応するものの下限周波数、中心周波数k、および上限周波数を表3に示す。
【0070】
【表3】

【0071】
ステップS7において、分類部32が備える中心周波数分類部326により、ステップS6において分割した1024個の各周波数帯域の中心周波数kを、元周波数の最小値kloから最大値khiまでの間に含まれるものごとに分類することで、メルフィルタバンクと同数の12個に分類する。ここで、表2および表3を参照すると、メル帯域1に対応する元周波数の最小値kloから最大値khiまでの間には、帯域1〜35に対応する各周波数帯域の中心周波数kが含まれる。このため、この処理によれば、1024個の各周波数帯域の中心周波数kのうち帯域1〜35に対応する各周波数帯域の中心周波数kが、同一のメルフィルタバンクに分類される。
【0072】
ステップS8において、分類部32が備えるMDCT係数分類部327により、ステップS1において抽出したフィルタバンクと同数の1024個の各MDCT係数を、ステップS7において分類したメルフィルタバンクと同数の12個の中心周波数kに対応させることで、メルフィルタバンクと同数の12個に分類する。なお、メルフィルタバンクは、周波数が高くなるに従って帯域が広くなるため、メル帯域の番号が大きくなるに従って、含まれるMDCT係数の数は増加する。
【0073】
ステップS9において、積算部33により、ステップS8において12個に分類したMDCT係数をメルフィルタバンクごとに、所定の窓関数W(k;l)を掛けて切出し、積算する。ここで、所定の窓関数W(k;l)とは、元周波数の最小値klo、中間値k、および最大値khiと、中心周波数kと、を用いて、以下の式(7)により算出できる。また、メル帯域1の窓関数W(k;1)と、メル帯域2の窓関数W(k;2)と、メル帯域3の窓関数W(k;3)と、を図6に示す。
【0074】
【数7】

【0075】
ステップS10において、特徴量算出部34により、ステップS9における積算結果の対数コサイン変換を行って、MFCCの係数を算出する。そして、算出したMFCCの係数のうち低次元から12個を特徴量とする。ここで、MFCCのi番目の係数をCmfcc(i)とすると、このCmfcc(i)は、以下の式(8)により算出できる。
【0076】
【数8】

【0077】
ここで、iは、1≦i≦12を満たす整数とし、Nは、iの最大値に等しい12とする。また、Lは、lの最大値で、ここではiの最大値に等しい12とする。なお、NとLとは、N≦Lを満たすものであればよく、同値でなくてもよい。
【0078】
また、m(l)は、ステップS9において切り出したMDCT係数を示し、M(k)は、中心周波数kのMDCT係数を示すものとすると、MDCT係数m(l)は、以下の式(9)により表すことができる。
【0079】
【数9】

【0080】
<MFCCとの類似度>
図7は、MFCCとの類似度を示す図である。図7において、MFCCのグラフでは、ある特定の1曲のWAVE形式の楽曲データの特徴量と、所定の100曲のWAVE形式の楽曲データの特徴量と、のコサイン距離を算出し、近いものから順に並べたものを表す。また、図7において、MP3CEPのグラフでは、上述の特定の1曲のMP3形式の楽曲データの特徴量と、上述の所定の100曲のMP3形式の楽曲データの特徴量と、を従来の方法により求め、これらのコサイン距離を算出したものである。一方、図7において、AACCEPのグラフは、上述の特定の1曲のAAC形式の楽曲データの特徴量と、上述の所定の100曲のAAC形式の楽曲データの特徴量と、を上述の特徴量抽出部22により求め、これらのコサイン距離を算出したものである。
【0081】
図7によれば、AACCEPのグラフは、MP3CEPのグラフと比べて、MFCCのグラフに近い。すなわち、上述の特徴量抽出部22により求めたAAC形式の楽曲データの特徴量であるAACCEPは、従来の方法により求めたMP3形式の楽曲データの特徴量であるMP3CEPと比べて、WAVE形式の楽曲データの特徴量であるMFCCと近い検索結果が得られる。
【0082】
以上の特徴量抽出部22によれば、図3に示したAAC形式の楽曲データをWAVE形式の楽曲データに変換する際の一連の処理のうち、ハフマン符号の処理からTNSの処理までを行って、入力したAAC形式の楽曲データのMDCT係数を抽出した後、IMDCTの処理は行わない。このため、MDCT係数抽出部31によりAAC形式の楽曲データのMDCT係数を抽出した時点で、分類部32、積算部33、および特徴量算出部34による処理を開始することで、IMDCTの処理も含めて、図3に示したAAC形式の楽曲データをWAVE形式の楽曲データに変換する際の一連の処理を全て行わなくてはならない従来と比べて、AAC形式の楽曲データのAACCEPを求める時間を短縮できる。また、図3に示したIMDCT処理を行わないので、楽曲データのAAC形式からWAVE形式への変換が完了しない。このため、変換後の楽曲データを保存する記憶容量が不要となり、AAC形式の楽曲データのAACCEPを求めるために必要な記憶容量を削減できる。
【0083】
また、以上の特徴量抽出部22によれば、式(2)や式(3)に示したように、MDCT係数M(j)に対して所定の係数を掛けることで、高域強調を行う。このため、AAC形式の楽曲データに対して、非圧縮PCM形式に変換することなく高域強調を行うことができ、高域強調を行わない場合と比べて高精度な特徴量を求めることができる。
【0084】
また、以上の楽曲検索装置20によれば、楽曲データベース21、特徴量抽出部22、楽曲特徴データベース23を備えるため、特徴量抽出部22により、楽曲データベース21に記憶されているAAC形式の各楽曲データのAACCEPを求め、求めたAACCEPの特徴ベクトルを求め、楽曲特徴データベース23に記憶させることができる。
【0085】
また、以上の楽曲検索システム1によれば、端末10および楽曲検索装置20を備えるため、楽曲データベース21に記憶されている複数のAAC形式の楽曲データの中から、端末10によりユーザが選択した楽曲データとの特徴ベクトルの距離が所定量以下である楽曲データ、すなわちユーザが選択した楽曲データに類似する楽曲データを検索できる。
【0086】
なお、本発明の楽曲検索装置20の処理をコンピュータ読み取り可能な記録媒体に記憶し、記録媒体に記録されたプログラムを楽曲検索装置20に読み込ませ、実行することによって、本発明を実現できる。
【0087】
また、上述のプログラムは、このプログラムを記憶装置等に格納した楽曲検索装置20から、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0088】
また、上述のプログラムは、上述の機能の一部を実現するためのものであってもよい。さらに、上述の機能を楽曲検索装置20にすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0089】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0090】
1・・・楽曲検索システム
10・・・端末
20・・・楽曲検索装置
22・・・特徴量抽出部
31・・・MDCT係数抽出部
32・・・分類部
33・・・積算部
34・・・特徴量算出部
321・・・メル周波数算出部
322・・・メル周波数分割部
323・・・元周波数算出部
324・・・ナイキスト周波数算出部
325・・・ナイキスト周波数分割部
326・・・中心周波数分割部
327・・・MDCT係数分類部

【特許請求の範囲】
【請求項1】
AAC形式の楽曲データの特徴量を求める特徴量抽出装置であって、
前記AAC形式の楽曲データからMDCT係数を抽出するMDCT係数抽出手段と、
前記MDCT係数抽出手段により抽出されたMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する分類手段と、
前記分類手段により分類されたMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出し、積算する積算手段と、
前記積算手段による積算結果の対数コサイン変換を行って、前記特徴量を算出する特徴量算出手段と、
を備えることを特徴とする特徴量抽出装置。
【請求項2】
前記分類手段は、
前記AAC形式の楽曲データのサンプリング周波数をメル尺度に変換して、メル周波数とするメル周波数算出部と、
前記メル周波数を前記メルフィルタバンクと同数に分割し、分割した各メル周波数の最小値および最大値を算出するメル周波数分割部と、
前記メル周波数分割部により算出された各メル周波数の最小値および最大値を線形尺度に変換して、元周波数の最小値および最大値とする元周波数算出部と、
前記AAC形式の楽曲データのサンプリング周波数から上限周波数を算出する上限周波数算出部と、
前記上限周波数算出部により算出された上限周波数を、所定数のフィルタバンクと同数の周波数帯域に均等に分割する上限周波数分割部と、
前記各周波数帯域の中心周波数を、前記元周波数の最小値から最大値までの間に含まれるものごとに分類することで、前記メルフィルタバンクと同数に分類する中心周波数分類部と、
前記MDCT係数抽出手段により抽出された前記フィルタバンクと同数の各MDCT係数を、前記中心周波数分類部により前記メルフィルタバンクと同数に分類された中心周波数に対応させることで、前記メルフィルタバンクと同数に分類するMDCT係数分類部と、
を備え、
前記積算手段は、前記MDCT係数分類部により分類されたMDCT係数を前記メルフィルタバンクごとに、前記所定の窓関数を掛けて切出し、積算することを特徴とする請求項1に記載の特徴量抽出装置。
【請求項3】
前記MDCT係数抽出手段は、
前記AAC形式の楽曲データを非圧縮PCM形式の楽曲データに変換する複数の処理のうち、前記AAC形式の楽曲データからMDCT係数を抽出する処理を行うことを特徴とする請求項1または2に記載の特徴量抽出装置。
【請求項4】
前記積算手段は、前記MDCT係数分類部により分類されたMDCT係数に対して所定の係数を掛けて高域強調を行った後に、高域強調を行ったMDCT係数を前記メルフィルタバンクごとに、前記所定の窓関数を掛けて切出し、積算することを特徴とする請求項1乃至3のいずれかに記載の特徴量抽出装置。
【請求項5】
請求項1乃至4のいずれかに記載の特徴量抽出装置と、
複数のAAC形式の楽曲データを記憶する楽曲データ記憶手段と、
前記特徴量抽出装置により、前記楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データのそれぞれの特徴量を求め、求めた特徴量のそれぞれを記憶する特徴量記憶手段と、
を備えることを特徴とする特徴量データベース作成装置。
【請求項6】
請求項5に記載の特徴量データベース作成装置と、
前記楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データの中から、ユーザによる楽曲データの選択を受け付ける楽曲データ選択受付手段と、
前記特徴量記憶手段により記憶された特徴量の特徴ベクトルを求める特徴ベクトル生成部と、
前記特徴ベクトル生成部により求められた特徴ベクトルの中から、前記楽曲データ選択受付手段により選択を受け付けた楽曲データの特徴ベクトルとの距離が所定量以下である特定特徴ベクトルを検索する特定特徴ベクトル検索手段と、
前記楽曲データ記憶手段に記憶された複数のAAC形式の楽曲データの中から、特徴ベクトルが前記特定特徴ベクトルである楽曲データを検索する楽曲検索手段と、
を備えることを特徴とする楽曲検索システム。
【請求項7】
AAC形式の楽曲データの特徴量を求める特徴量抽出方法であって、
前記AAC形式の楽曲データからMDCT係数を抽出する第1のステップと、
前記第1のステップにおいて抽出したMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する第2のステップと、
前記第2のステップにおいて分類したMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出し、積算する第3のステップと、
前記第3のステップにおける積算結果の対数コサイン変換を行って、前記特徴量を算出する第4のステップと、
を備えることを特徴とする特徴量抽出方法。
【請求項8】
前記第2のステップは、
前記AAC形式の楽曲データのサンプリング周波数をメル尺度に変換して、メル周波数とする第5のステップと、
前記メル周波数を前記メルフィルタバンクと同数に分割し、分割した各メル周波数の最小値および最大値を算出する第6のステップと、
前記第6のステップにおいて算出した各メル周波数の最小値および最大値を線形尺度に変換して、元周波数の最小値および最大値とする第7のステップと、
前記AAC形式の楽曲データのサンプリング周波数から上限周波数を算出する第8のステップと、
前記第8のステップにおいて算出した上限周波数を、所定数のフィルタバンクと同数の周波数帯域に均等に分割する第9のステップと、
前記各周波数帯域の中心周波数を、前記元周波数の最小値から最大値までの間に含まれるものごとに分類することで、前記メルフィルタバンクと同数に分類する第10のステップと、
前記第1のステップにおいて抽出した前記フィルタバンクと同数の各MDCT係数を、前記第10のステップにおいて前記メルフィルタバンクと同数に分類した中心周波数に対応させることで、前記メルフィルタバンクと同数に分類する第11のステップと、
を備え、
前記第3のステップでは、前記第11のステップにおいて分類したMDCT係数を前記メルフィルタバンクごとに、前記所定の窓関数を掛けて切出し、積算することを特徴とする請求項7に記載の特徴量抽出方法。
【請求項9】
AAC形式の楽曲データの特徴量を求める特徴量抽出方法を、コンピュータに実行させるためのプログラムであって、
前記AAC形式の楽曲データからMDCT係数を抽出する第1のステップと、
前記第1のステップにおいて抽出したMDCT係数をメル周波数領域上に配置し、所定数のメルフィルタバンクと同数に均等に分類する第2のステップと、
前記第2のステップにおいて分類したMDCT係数をメルフィルタバンクごとに、所定の窓関数を掛けて切出し、積算する第3のステップと、
前記第3のステップにおける積算結果の対数コサイン変換を行って、前記特徴量を算出する第4のステップと、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−164762(P2010−164762A)
【公開日】平成22年7月29日(2010.7.29)
【国際特許分類】
【出願番号】特願2009−6702(P2009−6702)
【出願日】平成21年1月15日(2009.1.15)
【出願人】(000208891)KDDI株式会社 (2,700)