以下に、本発明による情報処理装置及びコンテンツ検索プログラムの実施の形態を、図面を参照して説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るコンテンツ検索プログラムが適用された、本発明の第1の実施形態に係る情報処理装置の構成を示すブロック図である。この情報処理装置は、プログラムを利用して動作するコンピュータであり、装置全体の制御を行う制御部11と、表示部12と、入力装置13と、楽曲登録部21と、特徴抽出部22と、コンテンツ記憶部23と、集団特徴量算出部24と、辞書記憶部25と、楽曲検索部26と、楽曲再生部27と、楽曲再生用のスピーカ27aとからなる。
コンテンツ記憶部23には、コンテンツ23aが記憶される。コンテンツ23aは、後で詳述するように、デジタル化されたコンテンツと、そのコンテンツの特徴を示す情報等からなる。辞書記憶部25には、辞書25aが記憶される。辞書25aは、後で詳述するように、所望のコンテンツ集団の特徴を示す情報等からなる。
上記のように構成された、本発明の実施形態に係る情報処理装置の各部の動作を説明する。
表示部12は、制御部11に制御されることで、カーソルを含む文字・数字や画像データの表示動作を行い、表示されているデータは、入力装置13からの入力操作等に応答して制御部11からの指示を受けることで切換わる。
入力装置13は、数字、ひらがな文字、アルファベット文字及び記号文字を入力するための数字キーと、文字キーと、カーソル移動キーやスクロールキーを含む複数の機能キーとを含むキーからなる。そして、入力装置13のキーが押下されると、そのキーの識別子が制御部11に通知され、制御部11によって、表示部12に文字として表示され、各部に通知され、または、制御が行われる。また、入力装置13は、マウス、タッチパネル等、キー以外の入力素子を含んでも良い。
楽曲登録部21は、楽曲データを受信して、受信された楽曲データの特徴量ベクトルを特徴抽出部22に抽出させる。そして、受信された楽曲データと、特徴抽出部22によって抽出された特徴量ベクトルとをコンテンツ記憶部23にコンテンツ23aとして記憶させる。
特徴抽出部22は、楽曲データを受信して、受信された楽曲データの特徴量ベクトルを抽出して、抽出された特徴量ベクトルを送信する。
集団特徴量算出部24は、所望のコンテンツ23aの例として指定されたコンテンツ23a及び/または所望でないコンテンツ23aの例として指定されたコンテンツ23aの特徴量ベクトルをコンテンツ記憶部23から読み出し、それらの特徴量ベクトルから所望のコンテンツ23aの集団を示すベクトル及び行列と、所望でないコンテンツ23aの集団を示すベクトル及び行列とを算出し、辞書記憶部25に辞書25aとして記憶させる。
楽曲検索部26は、辞書記憶部25に記憶された辞書25aを参照して、コンテンツ23aの特徴量ベクトルから、そのコンテンツ23aの所望の度合いを算出する。そして、指定された所望の度合いであるコンテンツ23aをコンテンツ記憶部23から検索する。
楽曲再生部27は、楽曲検索部26によって検索されたコンテンツ23aの楽曲データをコンテンツ記憶部23から読み出して、読み出された楽曲データを再生し、スピーカ27aから出力させる。
以下、本実施形態に係る情報処理装置における、指定された所望の度合いのコンテンツ23aの検索に関する動作を説明する。
図2は、コンテンツ23aの構成の一例を示す。このコンテンツ23aは、コンテンツ識別子23bと、コンテンツデータ23cと、名称23dと、アーチスト名23eと、アルバム名23fと、特徴量ベクトル23gとからなる。
コンテンツ識別子23bは、コンテンツ23aを一意に識別する識別子である。コンテンツデータ23cは、コンテンツ23aのデータであり、例えば、楽曲を示すデジタルデータが符号化されたデータである。ただし、符号化されていなくとも良い。
名称23dは、コンテンツ23aの名称である。アーチスト名23eは、コンテンツ23aが楽曲である場合、その楽曲の演奏者または歌手の名前である。また、コンテンツ23aが発話である場合、その発話の発話者である。アルバム名23fは、コンテンツ23aが含まれるアルバムの名称である。
特徴量ベクトル23gは、コンテンツデータ23cの特徴を示すベクトルであって、第1の特徴量ベクトル23g1と、第2の特徴量ベクトル23g2と、…、第Mの特徴量ベクトル23gMとのM本のベクトルからなる。第iの特徴量ベクトル23gi(1≦i≦M)は、いずれもN次元のベクトルであって、Xi1、Xi2、…、XiNなる要素からなる。
コンテンツ23aは、書誌的事項として、名称23dと、アーチスト名23eと、アルバム名23fとを含むとしたが、これに限るものではない。例えば、作曲者名、作詞者名、発売者名等、それら以外の書誌的事項を含むとしても良い。また、これらの書誌的事項は、必須情報ではなく、情報が記憶されていなくとも良い。後で説明するように、所望の度合いによってコンテンツ23aを検索して再生するために、コンテンツ識別子23bと、コンテンツデータ23cと、特徴量ベクトル23gとは、必須の情報である。
図3は、辞書25aの構成の一例を示す。この辞書25aは、辞書識別子25bと、辞書名25cと、第1の重心ベクトル25dと、第1の分散共分散行列の逆行列25eと、第2の重心ベクトル25fと、第2の分散共分散行列の逆行列25gとからなる。
辞書識別子25bは、辞書25aを一意に識別する識別子である。辞書名25cは、辞書25aの名称である。第1の重心ベクトル25dと、第2の重心ベクトル25fとは、いずれもN次元のベクトルであり、コンテンツ23aに含まれる特徴量ベクトル23gと同じ次元数のベクトルである。第1の分散共分散行列の逆行列25eと、第2の分散共分散行列の逆行列25gとは、いずれもN×N次元の行列である。
そして、第1の重心ベクトル25dと、第1の分散共分散行列の逆行列25eとは、所望であると指定されたコンテンツ23aからなる集団の特徴量を示し、所望であると指定されたコンテンツ23aの特徴量ベクトル23gに含まれる各ベクトルの重心と、分布とをそれぞれ示す。
第2の重心ベクトル25fと、第2の分散共分散行列の逆行列25gとは、所望でないと指定されたコンテンツ23aからなる集団の特徴量を示し、所望でないと指定されたコンテンツ23aの特徴量ベクトル23gに含まれる各ベクトルの重心と、分布とをそれぞれ示す。
楽曲登録部21は、コンテンツデータと、名称と、アーチスト名と、アルバム名とを受信し、受信されたコンテンツデータと、名称と、アーチスト名と、アルバム名とをそれぞれコンテンツデータ23cと、名称23dと、アーチスト名23eと、アルバム名23fとに設定する。ここで、コンテンツデータは、MP3方式やAAC方式で符号化された楽曲データであるが、これに限るものではない。なお、コンテンツデータがアナログデータである場合、楽曲登録部21は、そのアナログデータをデジタル変換し、更に符号化したデータをコンテンツデータ23cに設定する。
ここで、受信の手段は、例えば、装置はセルラ通信網と通信する通信部(図示せず)を有し、セルラ網を経由して受信するが、これに限るものではない。装置はインターネット通信部(図示せず)を有し、インターネットを経由して受信するとしても良い。また、装置は電子メール送受信部(図示せず)を有し、電子メール送受信部によって受信された電子メールの本文や、そのメールに添付されたファイルとして受信するとしても良い。更に、取り外し可能な記憶媒体を介して受信するとしても良い。
また、名称23dと、アーチスト名23eと、アルバム名23fとは、入力装置13の所定の操作によって入力された情報であっても良い。
次に、楽曲登録部21は、コンテンツデータ23cをパラメータとして、特徴抽出部22を起動する。そして、特徴抽出部22から送信されたM本のN次元ベクトルを受信する。そして、特徴抽出部22から送信されたM本のN次元ベクトルを特徴量ベクトル23gに設定し、更にコンテンツ23aを一意に識別するコンテンツ識別子23bを設定することによって得られたコンテンツ23aをコンテンツ記憶部23に記憶させる。
図4は、特徴抽出部22がコンテンツデータ23cを受信し、特徴量ベクトル23gであるM本のN次元ベクトルを作成する動作のフローチャートを示す。
特徴抽出部22は、コンテンツデータ23cをパラメータとして楽曲登録部21によって起動されて動作を開始する(ステップS22a)。そして、パラメータとして与えられたコンテンツデータ23cが所定の時間間隔で分割され、複数のフレームが作成されたとして、どのM個のフレームを選択するかを決定する(ステップS22b)。ここで、この所定の時間間隔は、数秒程度が適切である。また、後述するように、選択されたフレームから特徴量ベクトルが算出される。
また、M個のフレームを選択する際、それらのフレームのそれぞれから算出されたM本の特徴量ベクトルは、与えられたコンテンツデータ23c全体の特徴を正確に示すベクトルとするため、Mは、大きい程良い。しかし、大きい場合、以下に説明する動作の処理量が増大する。そこで、コンテンツデータ23cの再生時間等に依存するものの、Mは、数十程度が適切である。
また、上記特徴量ベクトルは、コンテンツデータ23c全体の特徴を示すベクトルとするため、そのコンテンツデータ23cの全フレームの中で、時間的に略等間隔に位置するフレームを選択することが適切である。ただし、楽曲の冒頭の前奏及び末尾の後奏は、コンテンツデータ23c全体とは異なる音調であることがあるので、冒頭及び末尾の所定時間に係るフレームは選択しないとしても良い。
次に、特徴抽出部22は、パラメータとして与えられたコンテンツデータ23cの中で、ステップS22bで選択されたM個のフレームに相当するデコードされたデータを算出し、デコードされたフレームに対して、モノラル化、及び低域濾波の前処理を施して、特徴抽出部22内に記憶する(ステップS22c)。
なお、コンテンツデータ23cは符号化されており、そのデータをデコードするには、そのデータを例えばハフマン復号し、周波数情報を得る。そして、その周波数情報を逆量子化処理によって周波数時間変換して波形データを得る。ここで、特徴抽出部22は、得られた周波数情報を記憶して、後述の処理に用いても良い。この周波数情報を用いる方法によれば、周波数時間変換が不要であり、計算量の削減が可能となる。
そして、特徴抽出部22内に記憶されたM個のフレームの中のフレームを1個ずつ逐次読み込む(ステップS22d)。フレームが尽きて、読み込めなかったか否かを調べ(ステップS22e)、尽きておらず、読み込まれた場合、特徴抽出部22は、読み込まれたフレームに関する零交差数の平均値と標準偏差を算出する(ステップS22f)。
即ち、特徴抽出部22は、そのフレームを所定の時間間隔でNN個に分割して、NN個のサブフレームを作成する。そして、n番目のサブフレーム(0≦n≦NN−1)の離散波形信号の振幅をS(n、t)とする。ここで、tは、サブフレーム内の時刻を示す変数であり、0≦t≦T−1である。すると、n番目のサブフレームの零交差数Zc(n)は、以下の(式1)が示すように、ある時刻t(1≦t≦T−1)における振幅と、その時刻の前の時刻t−1における振幅との符号が異なる場合の数として算出される。次に、算出されたNN個の零交差数Zc(n)の平均値及び標準偏差を算出する(0≦n≦NN−1)。
次に、特徴抽出部22は、ステップS22dで読み込まれたフレームに関するメル周波数ケプストラム係数の平均値と標準偏差を算出する(ステップS22g)。このメル周波数ケプストラム係数の算出については、後述する。
次に、特徴抽出部22は、ステップS22fで算出された零交差数の平均値と標準偏差と、ステップS22gで算出されたメル周波数ケプストラム係数の平均値と標準偏差とを要素とするベクトルを正規化前の特徴量ベクトルxとし、この特徴量ベクトルを正規化する(ステップS22h)。なお、後述するメル周波数ケプストラム係数の数によって、この特徴量ベクトルの次元が決定されるが、その次元は、N次元であるとする。
正規化にあたり、特徴抽出部22は、複数の、なるべく多くのコンテンツ23aのフレームに関する正規化前のM本の特徴量ベクトルの代表ベクトルμと、それらの特徴量ベクトルと代表ベクトルμとの間の分散行列Σとを記憶する。ここで、代表ベクトルμは、平均ベクトルである。
また、代表ベクトルμと分散行列Σとは、ベクトル量子化によって上記特徴量ベクトルから所定個数のコードベクトルを求め、求められたコードベクトルの平均ベクトルと分散行列Σとしても良い。ここで、コードベクトルは、上記特徴量ベクトルの全てに対して、それぞれの特徴量ベクトルから最も近い距離にあるコードベクトルとの間の距離を求め、その距離の総和が最小になる所定個のベクトルとして算出することによって求めるが、これに限るものではない。
なお、2つのベクトル間の距離は、例えばユークリッド距離、即ち、ベクトルの対応する各要素間の差を二乗し、その二乗された差の総和の平方根として求めるが、これに限るものではない。コードベクトルの数は、上記特徴量ベクトルの数の50分の1から20分の1(1/50〜1/20)程度が適切であるが、これに限るものではなく、事前に定められていても良い。
この、ベクトル量子化を経て代表ベクトルμと分散行列Σとを求める方法によれば、偏りのあるコンテンツ23aから適切な、即ち、無限に多くのコンテンツ23aから算出された代表ベクトルμと分散行列Σとに近いものを求めることができる。そこで、上記特徴量ベクトルの数が少ない場合、この方法の効果が顕著である。
これらの代表ベクトルμと、分散行列Σとは、コンテンツ記憶部23に記憶された全てのコンテンツ23aから算出された特徴量ベクトルを用いて算出するとしても良い。また、過去に特徴抽出部22によってコンテンツ23aから算出された特徴量ベクトルを用いても算出されたものでも良い。
なお、分散行列Σは、対角成分のみからなる行列である、即ち、対角成分以外の成分は0であるとしても良い。この、分散行列Σは対角成分のみからなる行列であるとする処理によれば、分散行列Σは、ベクトルとして表現可能であり、使用する記憶容量の削減と、計算量の削減とが可能である。
また、代表ベクトルμ及び分散行列Σは、例えば、装置外部から受信されたものであっても良い。また、装置の出荷時に記憶されていたものであっても良い。なお、複数のベクトルの平均ベクトルとは、複数のベクトルの要素毎の平均値を要素とするベクトルである。
特徴抽出部22は、正規化された特徴量ベクトルyを、以下の(式2)のように、分散行列Σの逆行列と、ステップS22hで求められた正規化前の特徴量ベクトルxから代表ベクトルμを減じたベクトルとの乗算により求めて、特徴抽出部22内に記憶する。
そして、特徴抽出部22は、ステップS22dのフレームを逐次読み込む動作に戻る。一方、ステップS22eで、フレームが尽きた場合、特徴抽出部22は、ステップS22hで求められ、特徴抽出部22内に記憶されたM本のN次元の特徴量ベクトルを特徴抽出部22を起動した処理部に送信して(ステップS22i)、動作を終了する(ステップS22j)。
図5は、ステップS22gのメル周波数ケプストラム係数の平均値と標準偏差を算出する動作のフローチャートを示す。特徴抽出部22は、この動作を開始して(ステップS22m)、周波数の高域を強調し(ステップS22n)、ハニング窓関数を乗じて離散フーリェ変換することによって、離散パワースペクトルP(n、f)を算出する。ここで、fは、周波数を示す変数であり、0≦f≦Fである(ステップS22o)。
次に、特徴抽出部22は、離散パワースペクトルP(n、f)をメル周波数間隔で両隣の区間を半分ずつオーバーラップするようにI区間に帯域分割し、このI区間毎の離散パワースペクトルの総和の対数を算出する。そして、このI個の値を離散コサイン変換し、0次からI−1次のI個のメル周波数ケプストラム係数を各サブフレーム毎に算出する(ステップS22p)。そして、それぞれの係数の各サブフレームに対するNN個の値の平均値と標準偏差を算出してフレームの特徴量とし(ステップS22q)、動作を終了する(ステップS22r)。
なお、特徴抽出部22は、ステップS22fで説明した零交差数の平均値と標準偏差を算出する処理と、ステップS22gで説明したメル周波数ケプストラム係数の平均値と標準偏差を算出する処理との2つの処理のどの処理を先に行い、どの処理を後に行っても良いことは明らかである。
以上説明した動作により、特徴抽出部22は、以下に示す4種の特徴量から算出された特徴量ベクトルを送信する。ここで、零交差数は、コンテンツデータ23cの中心周波数を、メル周波数ケプストラム係数は、スペクトルの傾き等を示し、また、これらの数の標準偏差は、これらの数の時間的な変化を示すので、この特徴量ベクトルは、コンテンツデータ23cの特徴を適切に示すが、特徴量は、これらに限るものではない。
例えば、特徴抽出部22は、上記特徴量に加えて、または代えて、離散パワースペクトルP(n、f)全域の、または上記I区間に分割された帯域毎の時間変化度を特徴量として用いても良い。
また、特徴抽出部22は、正規化された特徴量ベクトルを送信するとしたが、これに限るものではなく、正規化前の特徴量ベクトルを送信するとしても良い。後述するように、例えば、集団特徴量算出部24は、正規化された特徴量ベクトルの逆ベクトルを算出することによって、その特徴量ベクトルと、上記代表ベクトルμを中心に対称であるベクトルを算出する。この処理は、上記代表ベクトルμに2を乗じたベクトルから上記正規化前の特徴量ベクトルを減算する処理によって代えることができる。
また、上記分散行列Σの逆行列との乗算によれば、大きさが正規化された特徴量ベクトルを用いることになるが、その乗算をしないことにより、そのベクトルの正規化されていない大きさを用いるとしても良い。
次に、集団特徴量算出部24の動作を説明する。図6は、集団特徴量算出部24の動作のフローチャートを示す。集団特徴量算出部24は、楽曲再生部27によって起動され、動作を開始する(ステップS24a)。そして、楽曲再生部27から、所望のコンテンツ23aを識別する情報を受信し(ステップS24b)、所望でないコンテンツ23aを識別する情報を受信する(ステップS24c)。
ここで、コンテンツ23aを識別する情報は、コンテンツ識別子23bであるが、これに限るものではない。名称23d、アーチスト名23e、アルバム名23fのいずれか、または、これらが組み合わされたものでも良い。この場合、1つの識別する情報によってコンテンツ23aを検索して複数のコンテンツ識別子23bが得られれば、その複数のコンテンツ識別子23bが受信されたものとする。
また、コンテンツ23aを識別する情報には、所望の度合いまたは所望でない度合いが付加されていても良い。度合いは正の数であり、数が大きい程、度合いが大きいことを示す。
また、以下に説明するように、ステップS24bで所望のコンテンツ23aを識別する情報が受信されず(空情報が受信される。)、または、ステップS24cで所望でないコンテンツ23aを識別する情報が受信されなくとも良いが、いずれか一方は受信されることが必須である。
次に、集団特徴量算出部24は、所望のコンテンツ23aの特徴を示すベクトルを特徴量ベクトル23gを読み出すことによって、更に、新たに特徴量ベクトルを作成することによって得る(ステップS24d)。即ち、ステップS24bで所望のコンテンツ23aを識別する情報が受信された場合、その情報を検索キーにコンテンツ23aを検索し、検索された特徴量ベクトル23gを得る。
更に、ステップS24cで所望でないコンテンツ23aを識別する情報が受信された場合、集団特徴量算出部24は、その情報を検索キーにコンテンツ23aを検索し、検索された特徴量ベクトル23gの逆ベクトルを作成することによって特徴量ベクトルを得ても良い。
ここで、特徴量ベクトル23gは、M本のN次元ベクトルからなる。特徴量ベクトル23gの逆ベクトルは、M本のベクトルそれぞれの逆ベクトルからなるM本のN次元の特徴量ベクトルである。なお、ステップS24bで所望のコンテンツ23aを識別する情報が受信されなかった場合、上記逆ベクトルを作成することによって特徴量ベクトルを得ることは必須である。
なお、ステップS24cで所望でないコンテンツ23aを識別する情報が受信された場合、集団特徴量算出部24は、逆ベクトルを作成するとしたが、逆ベクトルに限るものではない。逆ベクトルを構成するベクトルの各要素に適宜四捨五入等を施しても良い。各要素が2進数で表現されている際、所定の下位ビットを0にしても良い。
また、逆ベクトルを構成するベクトルの各要素に正の数を乗算するとしても良い。1未満の正の数を乗算すれば、ステップS24bで受信された所望のコンテンツ23aの特徴量ベクトル23gと、乗算されたベクトルとの距離が小さくなるので、後述する楽曲検索部26によって所望であると判断されるコンテンツ23aの範囲を狭くすることができる。また、1を超える数を乗算すれば、上記距離が大きくなるので、所望であると判断されるコンテンツ23aの範囲を広くすることができる。
更に、検索された特徴量ベクトル23gより上記逆ベクトルに近い、即ち、検索された特徴量ベクトル23gからの距離が上記逆ベクトルからの距離より大きいベクトルであれば良い。
なお、上記距離の算出は、M本のベクトルと、M本のベクトルとの間の距離の算出となる。そこで、例えば、一方のM本のそれぞれのベクトルと、他方のM本のそれぞれのベクトルとの距離、例えばユークリッド距離を算出し、M×M個のユークリッド距離の総和を上記距離とすれば良い。
または、一方のM本のベクトルから1本、他方のM本のベクトルから1本ずつ選択して組み合わせ、それらの2本のベクトルの間の距離、例えばユークリッド距離を算出する。そして、算出されたM個のユークリッド距離の総和であって、上記組み合わせを変更することによって得られる最小の総和であるとしても良い。また、それぞれのM本のベクトルの平均ベクトル間の距離としても良い。ここで、平均ベクトルとは、ベクトルの要素ごとに平均値を算出し、算出された平均値を要素とするベクトルである。
そして、集団特徴量算出部24は、ステップS24dで得られた特徴量ベクトルから、重心ベクトルと、分散共分散行列の逆行列を算出する(ステップS24e)。重心ベクトルは、N次元のベクトルであり、各特徴量ベクトルにステップS24bまたはステップS24cで受信された度合いを重みとして乗じたベクトルの平均ベクトルであるが、これに限るものではない。例えば、読み出された特徴量ベクトル23gに限って度合いを乗じるとしても良い。また、度合いを乗じず、重心ベクトルは、平均ベクトルであるとしても良い。分散共分散行列の逆行列は、N×N次元の行列である。
なお、上記分散共分散行列は、対角成分のみからなる行列である、即ち、対角成分以外の成分は0であるとしても良い。この場合、上記分散共分散行列の逆行列は、対角成分のみからなる行列である、即ち、対角成分以外の成分は0である。この、分散共分散行列及び分散共分散行列の逆行列は対角成分のみからなる行列であるとする処理によれば、これらの行列は、ベクトルとして表現可能であり、使用する記憶容量の削減と、計算量の削減とが可能である。
次に、集団特徴量算出部24は、所望でないコンテンツ23aの特徴量ベクトルを特徴量ベクトル23gを読み出すことによって、または、新たに作成することによって得る(ステップS24f)。この動作は、既に説明したステップS24dの所望のコンテンツ23aの特徴量ベクトルを得る動作と同様である。
即ち、ステップS24bで受信された所望のコンテンツ23aを識別する情報に代えてステップS24cで受信された所望でないコンテンツ23aを識別する情報を用い、ステップS24cで受信された所望でないコンテンツ23aを識別する情報に代えてステップS24bで受信された所望のコンテンツ23aを識別する情報を用いる点が相違する他は同一であるので、説明を省略する。
そして、集団特徴量算出部24は、ステップS24fで得られた特徴量ベクトルから、重心ベクトルと、分散共分散行列の逆行列を算出する(ステップS24g)。重心ベクトルと、分散共分散行列の逆行列の算出は、ステップS24eで説明した通りであり、例えば、読み出された特徴量ベクトル23gに限って度合いを乗じるとしても良い。
次に、集団特徴量算出部24は、ステップS24eで得られた重心ベクトルを第1の重心ベクトル25dに、ステップS24eで得られた分散共分散行列の逆行列を第1の分散共分散行列の逆行列25eに、ステップS24gで得られた重心ベクトルを第2の重心ベクトル25fに、ステップS24gで得られた分散共分散行列の逆行列を第2の分散共分散行列の逆行列25gに設定する。
更に、集団特徴量算出部24は、辞書25aを識別する情報を入力装置13の所定の操作によって入力し、入力された辞書25aを識別する情報を辞書名25cに設定し、更に、辞書25aを一意に識別する辞書識別子25bを設定することによって得られた辞書25aを辞書記憶部25に記憶させて(ステップS24h)、動作を終了する(ステップS24i)。
なお、集団特徴量算出部24は、ステップS24b、ステップS24d及びステップS24eで説明した所望のコンテンツ23aに関する3段階からなる処理は、この順で行う必要がある。また、ステップS24c、ステップS24f及びステップS24gで説明した所望でないコンテンツ23aに関する3段階からなる処理は、この順で行う必要がある。しかし、これらの2つの処理のどの処理を先に行い、どの処理を後に行っても良いことは明らかである。また、一方の処理のある段階の実行と、他方の処理のある段階の実行の後先が任意であることは明らかである。
ここで、以上の説明で、所望であるか否かについて、単に好むか否かであると説明したが、これに限るものではない。例えば、使用者は、聴取した際の印象によってある種類に分類された楽曲や、ある状況において聴取することを好む楽曲を、それぞれ独立して所望であるか否かを指定し、それぞれによって異なる辞書25aを作成させるとしても良い。その場合、辞書名25cは、例えば、「海を連想させるような感じ」、「通勤時にぴったりな感じ」等とすれば良い。更に、所望であることは好まないことに相当し、所望でないことは好むことに相当するとしても良く、何ら支障を生じない。
上記の説明は、辞書25aが作成されていない場合に、集団特徴量算出部24が辞書25aを作成する場合の動作の説明であったが、集団特徴量算出部24の動作は、これに限るものではない。即ち、辞書25aが作成され、辞書記憶部25に記憶されている場合、その記憶されている辞書25aの作成に用いられなかったコンテンツ23aを識別する情報をステップS24b及びステップS24cで受信し、受信された情報によって、記憶されている辞書25aを修正する、学習処理を行っても良い。
この学習処理にあたり、集団特徴量算出部24は、記憶されている辞書25aの作成に用いられたコンテンツ23aを識別する情報を集団特徴量算出部24内に記憶し、または辞書記憶部25に記憶させ、その記憶された情報と上記受信された情報とから新たに辞書25aを作成しても良い。
また、記憶されている辞書25aの作成の際に重心ベクトルの算出に用いられた重みの合計値と、分散共分散行列を集団特徴量算出部24内に記憶し、または辞書記憶部25に記憶させ、その記憶された合計値及び行列とを、上記受信された情報によって更新して辞書25aを作成しても良い。この更新処理によれば、新たに作成する処理に比較して、計算量の減少が可能となる。
なお、集団特徴量算出部24は、楽曲再生部27によって起動されるとしたが、これに限るものではない。他の処理部によって起動されるとしても良い。その場合、集団特徴量算出部24は、ステップS24b及びステップS24cで受信されるコンテンツ23aを識別する情報を、起動した処理部から受信する。また、起動に際し、入力装置13の所定のキー操作によって起動の了解が得られたと判断された場合に限って処理を行うとしても良い。更に、集団特徴量算出部24は、入力装置13の所定の操作によって起動されても良い。
ここで、図7を参照して、集団特徴量算出部24によって、受信された所望のコンテンツ23aの特徴量ベクトルと、所望でないコンテンツ23aの特徴量ベクトルとから、辞書25aが作成される際のデータの流れの概要を説明する。なお、この説明は、概要の説明であり、必ずしも全ての場合を網羅したものではない。
ステップS24bで受信された所望のコンテンツ23aの識別子からそのコンテンツ23aの特徴量ベクトル23gがステップS24dで検索される。その検索された特徴量ベクトル23gに併せ、ステップS24cで受信された所望でないコンテンツ23aの識別子からそのコンテンツ23aの特徴量ベクトル23gを得て、そのベクトルの逆ベクトルがステップS24dで作成されて、ステップS24eの重心ベクトルと、分散共分散行列の逆行列の算出に用いられる。
また、ステップS24cで受信された所望でないコンテンツ23aの識別子からそのコンテンツ23aの特徴量ベクトル23gがステップS24fで検索される。その検索された特徴量ベクトル23gに併せ、ステップS24bで受信された所望のコンテンツ23aの識別子からそのコンテンツ23aの特徴量ベクトル23gを得て、そのベクトルの逆ベクトルがステップS24fで作成されて、ステップS24gの重心ベクトルと、分散共分散行列の逆行列の算出に用いられる。
ステップS24eで算出された重心ベクトルと、分散共分散行列の逆行列、更に、ステップS24gで算出された重心ベクトルと、分散共分散行列の逆行列とが辞書25aとして記憶される。
次に、楽曲検索部26の動作を説明する。楽曲検索部26は、入力装置13の所定の操作に従い制御部11によって起動されて動作を開始する。そして、入力装置13の所定の操作に従って、名称23dと、アーチスト名23eと、アルバム名23fとのいずれか、もしくは組合せを検索キーにコンテンツ23aを検索して、検索されたコンテンツ23aを順序付けする。
または、辞書25aを参照してコンテンツ23aを所望の程度に従って順序付けする。更には、これらの2つの順序付けを組み合わせて順序付けする。そして、所定の順位に順序付けされたコンテンツ23aの名称23dと、アーチスト名23eと、アルバム名23fとの1つまたは複数の組を表示部12に表示する。
そして、入力装置13の所定の操作に従って、表示された名称23dと、アーチスト名23eと、アルバム名23fとの1つまたは複数の中の1つが選択されると、楽曲検索部26は、楽曲再生部27を起動し、その選択されたコンテンツ23aのコンテンツデータ23cを楽曲再生部27に送信して再生させる。
なお、表示部12の表示画面の大きさに依存して、上記表示するものは、一部のみを表示し、残部は、スクロールによって表示されるとする。また、楽曲検索部26は、表示するものから一部を乱数に基づいて、コンテンツ23aに要する記憶容量が所定の容量以内であるように、所定の再生時間以内であるように、または、所定の楽曲数を選択し、選択されたものを表示しても良い。
また、表示部12に表示することに限るものではない。表示するコンテンツ23aのコンテンツ識別子23bの連結からなるプレイリストを作成し、コンテンツ記憶部23に記憶させるとしても良い。また、通信部を制御して送信させても良い。
コンテンツデータ23cが楽曲再生部27によって再生されている際、入力装置13の所定の操作によって、そのコンテンツ23aが所望であると入力されると、楽曲検索部26は、コンテンツ識別子23bと、所望である旨とを楽曲検索部26内に記憶する。所望の度合いが併せて入力された場合、その度合いを併せて記憶する。また、そのコンテンツ23aが所望でないと入力されると、楽曲検索部26は、コンテンツ識別子23bと、所望でない旨とを楽曲検索部26内に記憶する。所望でない度合いが併せて入力された場合、その度合いを併せて記憶する。
なお、コンテンツデータ23cが楽曲再生部27によって再生されている際、その再生が開始されてから所定の経過時間以内に入力装置13の所定の操作によって異なるコンテンツデータ23cの再生が指示された場合、楽曲検索部26は、そのコンテンツ23aが所望でないと入力されたとみなしても良い。短時間で聴取を中止されたことは、所望でないと判断されるからである。
図8は、楽曲検索部26が、辞書25aを参照してコンテンツ23aを所望の程度に従って順序付けし、所定の順位に順序付けされたコンテンツ23aの名称23dと、アーチスト名23eと、アルバム名23fとの1つまたは複数を表示部12に表示する動作のフローチャートを示す。
楽曲検索部26は、入力装置13の所定の操作によって上記辞書25aを参照してコンテンツ23aを所望の程度に従って順序付けして、所定の順位に順序付けされたコンテンツ23aの名称23dと、アーチスト名23eと、アルバム名23fとの1つまたは複数を表示部12に表示する動作を開始する(ステップS26a)。
そして、楽曲検索部26は、入力装置13の操作によって入力された辞書名と辞書名25cとが等しい辞書25aを辞書記憶部25から検索し、その検索された辞書25aの第1の重心ベクトル25dと、第1の分散共分散行列の逆行列25eと、第2の重心ベクトル25fと、第2の分散共分散行列の逆行列25gとを読み出す(ステップS26b)。
次に、楽曲検索部26は、コンテンツ23aの特徴量ベクトル23gを逐次コンテンツ記憶部23から読み込む(ステップS26c)。ここで、コンテンツ23aが尽きて読み込めなかったか、尽きずに読み込めたかを調べる(ステップS26d)。
コンテンツ23aが尽きずに読み込まれた場合、楽曲検索部26は、その特徴量ベクトル23gを構成する第1〜第Mの特徴量ベクトル23g1〜23gMとのそれぞれと、ステップS26bで読み込まれた第1の重心ベクトル25dと、第1の分散共分散行列の逆行列25eとによって示される集団(第1の集団と称する。)との距離(第1の距離と称する。)、及びその集団との類似度(第1の類似度と称する。)とを算出する。ここで、第1の類似度は、第1の距離が大きい程小さく、第1の距離が小さい程大きい。
更に、楽曲検索部26は、上記第1〜第Mの特徴量ベクトル23g1〜23gMとのそれぞれと、ステップS26bで読み込まれた第2の重心ベクトル25fと、第2の分散共分散行列の逆行列25gとによって示される集団(第2の集団と称する。)との距離(第2の距離と称する。)、及びその集団との類似度(第2の類似度と称する。)とを算出する。ここで、第2の類似度は、第2の距離が大きい程小さく、第2の距離が小さい程大きい(ステップS26e)。
例えば、上記第mの特徴量ベクトル23gmをxm(1≦m≦M)とし、第iの集団との距離をマハラノビス距離とし、第iの類似度は、そのマハラノビス距離に1を加えた値の逆数とする(i=1、2)。即ち、第1の重心ベクトル25dをvg1、第1の分散共分散行列の逆行列25eをD1、第2の重心ベクトル25fをvg2、第2の分散共分散行列の逆行列25gをD2とすると、第iの類似度Si(i=1、2)は、以下の(式3)によって算出される。
なお、上記説明では、第iの集団との第iの距離としてマハラノビス距離を用いると説明したが、これに限るものではない。例えば、第iの距離は、上記第mの特徴量ベクトル23gmと、vgi(第1の重心ベクトル25dまたは第2の重心ベクトル25f。)との間の距離、例えばユークリッド距離であるとしても良い(i=1、2)。
第iの距離としてベクトル間の距離を用いると、その距離の算出に第1の分散共分散行列の逆行列25e及び第2の分散共分散行列の逆行列25gが用いられないので、これらを算出しない。そこで、計算量の削減が可能になる。一方、マハラノビス距離等のベクトルと集団との間の距離を用いると、第1の分散共分散行列の逆行列25eと、第2の分散共分散行列の逆行列25gとが異なる場合、適切な第iの類似度Si(i=1、2)を算出することができる。
また、上記距離は、ベクトル量子化を用いた距離であるとしても良い。楽曲検索部26は、集団特徴量算出部24のステップS24dの動作で得られた所望のコンテンツの特徴量ベクトルをベクトル量子化して所定個数のコードベクトルを算出し、算出されたコードベクトルと第mの特徴量ベクトル23gmとの間のユークリッド距離の中で最小である距離を第1の距離とする。
同様に、楽曲検索部26は、集団特徴量算出部24のステップS24fの動作で得られた所望でないコンテンツの特徴量ベクトルをベクトル量子化して所定個数のコードベクトルを算出し、算出されたコードベクトルと第mの特徴量ベクトル23gmとの間のユークリッド距離の中で最小である距離を第2の距離とする。
ここで、第1の距離を算出するためのコードベクトルの数と、第2の距離を算出するためのコードベクトルの数とは等しいとするが、これに限るものではない。なお、ベクトル量子化を用いた距離を用いるか否かは、特徴抽出部22によってベクトル量子化によるコードベクトル算出が行われたか否かとは無関係である。また、距離を算出するためのコードベクトルの数と、特徴抽出部22によって算出されたコードベクトルの数とは無関係である。
また、ガウス混合モデルを用いた確率的距離であるとしても良い。即ち、楽曲検索部26は、集団特徴量算出部24のステップS24dの動作で得られた所望のコンテンツの特徴量ベクトルを複数のガウス分布が混合された分布として表現する。そして、この混合されたガウス分布における第mの特徴量ベクトル23gmの生起確率の逆数、またはその生起確率の対数値の逆数を第1の距離とする。
同様に、集団特徴量算出部24のステップS24fの動作で得られた所望でないコンテンツの特徴量ベクトルを複数のガウス分布が混合された分布として表現する。そして、この混合されたガウス分布における第mの特徴量ベクトル23gmの生起確率の逆数、またはその生起確率の対数値の逆数を第2の距離とする。
また、ヒストグラムを用いた確率的距離であるとしても良い。即ち、楽曲検索部26は、集団特徴量算出部24のステップS24dの動作で得られた所望のコンテンツの特徴量ベクトルの要素毎にヒストグラムを作成し、そのヒストグラムにおける第mの特徴量ベクトル23gmの生起確率の逆数、またはその生起確率の対数値の逆数を第1の距離とする。
同様に、集団特徴量算出部24のステップS24fの動作で得られた所望でないコンテンツの特徴量ベクトルの要素毎にヒストグラムを作成し、そのヒストグラムにおける第mの特徴量ベクトル23gmの生起確率の逆数、またはその生起確率の対数値の逆数を第2の距離とする。
これらのガウス混合モデルを用いた確率的距離及びヒストグラムを用いた確率的距離を用いる際、距離は、生起確率の逆数、またはその生起確率の対数値の逆数であるとしたが、これに限るものではない。距離は、生起確率、またはその生起確率の対数値に対して非増加関数であれば良い。
これらのベクトル量子化を用いた距離、ガウス混合モデルを用いた確率的距離及びヒストグラムを用いた確率的距離を用いる方法によれば、集団特徴量算出部24のステップS24e及びステップS24gで説明した重心ベクトルと、分散共分散行列の逆行列の算出が不要となる。その算出に代えて、集団特徴量算出部24が、それぞれの方法に対応してコードベクトル、複数のガウス分布が混合された分布または要素毎のヒストグラムを算出するとしても良い。
なお、集団特徴量算出部24の動作の際、図6に示すフローチャートのステップS24bで所望のコンテンツ23aを識別する情報が入力され、かつ、ステップS24cで所望でないコンテンツ23aを識別する情報が入力された場合、第1の分散共分散行列の逆行列25eと、第2の分散共分散行列の逆行列25gとが大きく異なる可能性があり、マハラノビス距離等のベクトルと集団との間の距離を用いる効果が大きい。
上記のように、M本のベクトルxmに対して、第1の類似度S1と第2の類似度S2が算出されると、楽曲検索部26は、コンテンツ23aが使用者によって所望される程度である、類似度Rを算出する。この類似度Rは、第1の類似度S1が大きいほど大きく、第2の類似度S2が大きいほど小さい。
例えば、楽曲検索部26は、第1の類似度S1が第2の類似度S2に所定の定数T1を加えた値より大きいベクトルの数Cntを求める(0≦Cnt≦M)。ここで、T1は、所定の定数であり、例えば、0である。そして、上記Cntが大きいとステップS26cで読み込まれたコンテンツ23aの特徴量ベクトル23gの類似度Rは大きく、上記Cntが小さいと、上記類似度Rは小さいと算出して(ステップS26f)、ステップS26cのコンテンツ23aの特徴量ベクトル23gを逐次読み込む動作に移る。
ここで、Cntと、上記類似度Rとは、例えば、それぞれ以下の(式4−1)、(式4−2)によって算出される。
この類似度Rが大きいほど、ステップS26cで読み込まれたコンテンツ23aは、ステップS26bで読み込まれた辞書25aに従うと、使用者の所望のコンテンツ23aである可能性が高い。
一方、ステップS26dで、コンテンツ23aの特徴量ベクトル23gが尽きて読み込まれなかった場合、楽曲検索部26は、ステップS26fで算出された類似度Rに従って、コンテンツ23aを識別する情報を順序付け、即ちソートする。そして、類似度Rが所定の範囲であるコンテンツ23aを識別する情報を表示部12に表示して(ステップS26g)、動作を終了する(ステップS26h)。
ステップS26gで、表示部12に識別情報を表示するコンテンツ23aは、例えば、類似度Rが大きいものである。また、類似度Rが小さいものである。また、類似度Rが所定の範囲の値のものである。ここで、類似度Rが大きいものを表示すると、使用者は、普段所望する、即ち好みの楽曲を聴取するのに適している。また、類似度Rが小さいものを表示すると、使用者は、普段所望しない、即ち再生することの少ない楽曲を試聴するのに適している。また、類似度Rが所定の値の範囲のものを表示すると、使用者は、普段所望しないながら、所望する楽曲と大きく所望の程度が異なることのない楽曲を試聴するのに適している。
なお、楽曲検索部26は、ステップS26eで特徴量ベクトル23gを構成する第1〜第Mの特徴量ベクトル23g1〜23gMのそれぞれと、第1の集団との距離を算出し、更に、上記第1〜第Mの特徴量ベクトル23g1〜23gMのそれぞれと、第2の集団との距離を算出する際、N次元である第1〜第Mの特徴量ベクトル23g1〜23gMのN未満の要素を用いて算出しても良い。
例えば、第i要素(1≦i≦N)を取り除いたベクトルによって距離を算出する場合、第1の重心ベクトル25dと、第2の重心ベクトル25fの第i要素を取り除いたベクトルを用い、第1の分散共分散行列の逆行列25eと、第2の分散共分散行列の逆行列25gとの第i行及び第i列の要素を取り除いた行列を用いる。
取り除く要素は、第1の分散共分散行列の逆行列25e及び/または第2の分散共分散行列の逆行列25gの第i行及び第i列の値が小さい場合、第i要素を取り除くとする。これにより、分散が大きい、即ち、第1の集団との距離及び/または第2の集団との距離への寄与が少ない要素を取り除くことによって、類似度Rへの影響を少なくし、かつ、計算量の削減が可能となる。この削減の効果は、コンテンツ記憶部23に多くのコンテンツ23aが記憶されている場合、顕著である。
ここで、図9を参照して、楽曲検索部26によって、辞書25aを参照してコンテンツ23aを所望の程度に従って順序付けされることによって、所望の楽曲が検索される概念を説明する。なお、この説明は、概念の説明であり、必ずしも算出される値に対応するものではない。
図9に示すように、楽曲の特徴は、「非常に暗い曲」、「暗い曲」、「やや暗い曲」「明暗曖昧曲」、「やや明るい曲」、「明るい曲」及び「非常に明るい曲」からなる順序付けられた7段階及び隣り合う2つの段階の中間であることによって表されるとする。そして、楽曲は、その特徴が「明暗曖昧曲」である平均的な楽曲を境にいずれにあるかによって、「比較的暗い曲」と、「比較的明るい曲」とに分けられる。
使用者の所望の楽曲は、「やや明るい曲」であるとし、聴取済みの所望の楽曲が集団特徴量算出部24に与えられることにより、辞書25aで、所望の楽曲の集団を示す第1の重心ベクトル25dは、「やや明るい曲」を示し、所望でない楽曲の集団を示す第2の重心ベクトル25fは、「やや暗い曲」を示している。
そこで、所望の楽曲を楽曲検索部26に検索させると、楽曲検索部26は、第1の重心ベクトル25dが示す「やや明るい曲」に近く、そして、第2の重心ベクトル25fが示す「やや暗い曲」から遠い特徴の楽曲を検索し、図9に示す第1の検索結果が得られる。即ち、第1の検索結果は、所望の「やや明るい曲」から明暗双方向に対称の範囲にある楽曲を示す第2の検索結果ではない。そこで、使用者が所望しない「比較的暗い曲」を含むことがなく、使用者の意図する検索結果が得られる。
なお、所望の「やや明るい曲」から明暗双方向に対称の範囲にある楽曲を示し、使用者の検索の意図から外れる「比較的暗い曲」を含む第2の検索結果は、第2の重心ベクトル25fの概念、即ち、使用者の所望しない楽曲の概念を用いない場合の検索結果を示す。
次に、図10を参照して、本実施形態に係る情報処理装置における、コンテンツ23aの流れ(図では、2重線矢印で示す。)、特徴量の流れ(図では、実線矢印で示す。)及びコンテンツ23a指定の流れ(図では、破線矢印で示す。)の概略について説明する。なお、この説明は、情報の流れの概略であって、細部の動作全てを示すものではない。
コンテンツは、楽曲登録部21によって受信され、楽曲登録部21は、受信されたコンテンツをコンテンツデータ23cとしてコンテンツ23aに記憶させ、更に、特徴抽出部22に送信する。特徴抽出部22は、受信されたコンテンツデータ23cから特徴量ベクトルを抽出して、特徴量ベクトル23gとしてコンテンツ23aに記憶させる。
入力装置13から入力された所望のコンテンツ23aの指定が受信されると、集団特徴量算出部24は、コンテンツ23aの特徴量ベクトル23gを参照して、上記所望のコンテンツ23aの検索に必要な特徴量ベクトルを検索及び/または作成して、重心ベクトル等の特徴量を辞書25aに記憶させる。楽曲検索部26は、辞書25aに記憶された特徴量を参照して、コンテンツ23aから所望のコンテンツ23aを検索し、検索されたコンテンツデータ23cを楽曲再生部27に送信する。楽曲再生部27は、受信されたコンテンツデータ23cを再生して、スピーカ27aから音声を発生させる。
以上の説明では、コンテンツ23aに含まれるコンテンツデータ23cは、符号化されたデータであるとしたが、これに限るものではない。デコードされたデータであっても良い。
以上の説明は、楽曲検索部26によって、辞書25aを参照して所望の楽曲が検索される概念を例に説明したが、楽曲の検索に限るものではない。例えば、コンテンツ記憶部23には、楽曲であるコンテンツ23aと、人の声からなるコンテンツ23aが記憶されている場合、いずれか一方を所望のコンテンツ23aであり、他方を所望でないコンテンツ23aとして集団特徴量算出部24に辞書25aを作成させても良い。このように辞書25aが作成された場合、楽曲検索部26によって、楽曲であるコンテンツ23aと、人の声からなるコンテンツ23aとのいずれか一方を検索させることが可能である。
ここで、楽曲であるコンテンツ23aと、人の声からなるコンテンツ23aとでは、含まれる周波数成分の分布が異なることが知られており、それぞれのコンテンツ23aの集団の特徴(重心ベクトル及び分散共分散行列の逆行列)は異なるので、上記検索が可能となる。
以上の説明は、楽曲検索部26が、コンテンツ記憶部23に記憶されたコンテンツ23aを所望の程度に従って順序付けするとしたが、これに限るものではない。楽曲検索部26は、通信部によって受信されているコンテンツデータの類似度Rを辞書25aを参照して算出するとしても良い。そして、その類似度Rが第1の所定の値以上である場合及び/または第2の所定の値以下である場合、楽曲再生部27を制御して、スピーカ27aから所定の音声を出力させて報知するとしても良い。
この場合、通信部は、放送を受信し、楽曲検索部26は、放送された楽曲であるコンテンツデータの類似度Rを算出するとしても良い。更に、受信された楽曲の冒頭の、例えば数秒間のデータによって類似度Rを算出するとしても良い。冒頭のデータによって算出する場合、そのコンテンツデータからM本の特徴量ベクトルを算出しても良く、また、M本未満の特徴量ベクトルを算出して類似度Rを算出するとしても良い。
また、上記報知は、スピーカ27aから所定の音声を出力することに限るものではない。例えば、装置はバイブレータ(図示せず)を有し、バイブレータの振動によって報知するとしても良い。この報知動作によれば、例えば、ラジオ放送が受信されている際、装置の使用者の好みの楽曲の放送が開始された場合、使用者に好みの楽曲が放送中であることを報知することができる。
以上の説明では、辞書25aは、集団特徴量算出部24によって作成されるとしたが、これに限るものではない。例えば、装置外部から受信されたものであっても良い。また、装置の出荷時に含まれているものであっても良い。
以上の説明では、辞書25aは、辞書記憶部25に記憶されるとしたが、これに限るものではない。集団特徴量算出部24によって作成され、楽曲検索部26に送信されるとしても良い。
(第2の実施形態)
第2の実施形態が第1の実施形態と異なる点は、集団特徴量算出部24の動作にある。そこで、第2の実施形態の集団特徴量算出部24の動作を、図面を参照して説明する。図11は、第2の実施形態の係る集団特徴量算出部24の動作のフローチャートを示す。なお、第1の実施形態に係る集団特徴量算出部24の動作と同じ動作ステップについては、同じ符号を付し、その部分の説明を省略する。
第1の実施形態に係る集団特徴量算出部24のステップS24dの動作で、集団特徴量算出部24は、所望のコンテンツ23aの特徴量ベクトル23gを得ることに加え、所望でないコンテンツ23aの特徴量ベクトル23gの逆ベクトルを用いるとした。
第2の実施形態に係る集団特徴量算出部24は、第1の実施形態に係る集団特徴量算出部24によって、所望でないコンテンツ23aの特徴量ベクトル23gの逆ベクトルによって仮に辞書25aを作成する。そして、楽曲検索部26を制御して、仮の辞書25aに含まれる第1の重心ベクトル25dと、第1の分散共分散行列の逆行列25eとで示される集団との第1の距離が最も小さい、即ち、第1の類似度S1が最も大きいコンテンツ23aを検索させる。
なお、上記の条件の他、第1の距離が所定の値以下である、即ち、第1の類似度S1が所定の値以上であるとの条件を加えて付し、または代えて用いても良い。これによれば、上記検索によってコンテンツ23aが得られない可能性があることにより、不適切な所望のコンテンツ23aが検索されることを防ぐことができる。
そして、第1の実施形態に係る集団特徴量算出部24は、所望でないコンテンツ23aの特徴量ベクトル23gの逆ベクトルを用いることに代えて、第2の実施形態に係る集団特徴量算出部24は、上記検索されたコンテンツ23aの特徴量ベクトル23gを所望のコンテンツ23aの特徴量ベクトル23gとして用いて辞書25aを作成する(ステップS24m)。
同様に、第1の実施形態に係る集団特徴量算出部24のステップS24fの動作に代えて、第2の実施形態に係る集団特徴量算出部24は、所望のコンテンツ23aの特徴量ベクトル23gの逆ベクトルによって仮に辞書25aを作成する。そして、楽曲検索部26を制御して、仮の辞書25aに含まれる第2の重心ベクトル25fと、第2の分散共分散行列の逆行列25gとによって示される集団との第2の類似度S2が最も大きいコンテンツ23aを検索させ、検索されたコンテンツ23aの特徴量ベクトル23gを所望でないコンテンツ23aの特徴量ベクトル23gとして用いて辞書25aを作成する(ステップS24n)。
これらの処理によれば、以後の処理で用いられる特徴量ベクトル23gは、全てがコンテンツ23aに記憶されており、架空のものは含まれない。そのため、以後算出される第1の重心ベクトル25dと、第1の分散共分散行列の逆行列25eと、第2の重心ベクトル25fと、第2の分散共分散行列の逆行列25gとは、記憶されたコンテンツ23aに一層適切に依存したものとなる。
なお、上記の処理に代えてステップS24mでは、所望でないコンテンツ23aの特徴量ベクトル23gの逆ベクトルと距離が小さい特徴量ベクトル23gをコンテンツ23aから検索し、検索された特徴量ベクトル23gを所望のコンテンツ23aの特徴量ベクトル23gとして用いても良い。
また、ステップS24nでは、所望のコンテンツ23aの特徴量ベクトル23gの逆ベクトルと距離が小さい特徴量ベクトル23gをコンテンツ23aから検索し、検索された特徴量ベクトル23gを所望でないコンテンツ23aの特徴量ベクトル23gとして用いても良い。
これらの処理によれば、仮の辞書25aを作成する負荷が減少する。なお、上記距離の算出は、M本のベクトルと、M本のベクトルと間の距離の算出となるが、この距離については、既に説明した通りである。なお、これらの場合、上記距離が所定の値以下であるとの条件を加えて付し、または代えて用いても良い。これによれば、上記検索によってコンテンツ23aが得られない可能性があることにより、不適切な所望でないコンテンツ23aが検索されることを防ぐことができる。
なお、第2の実施形態に係る集団特徴量算出部24は、ステップS24b、ステップS24m及びステップS24eで説明した所望のコンテンツ23aに関する処理は、この順で行う必要がある。また、ステップS24c、ステップS24n及びステップS24gで説明した所望でないコンテンツ23aに関する処理は、この順で行う必要がある。しかし、これらの処理のどれを先に行い、どれを後に行っても良いことは、第1の実施形態に係る集団特徴量算出部24の動作説明で説明した通りである。
(その他の実施形態)
上記の各実施形態では、コンテンツ23aのコンテンツデータ23cは、楽曲のデータであるとしたが、これに限るものではない。人の話した声、機械音、自然界で発生する音声で、例えば背景音として用いられる音声等の全ての種類の音声のデータであっても良く、当然に同様に動作する。
また、コンテンツデータ23cが動画である場合、特定の画素の輝度や、色差の時間的な変化を音声の時間的な変化と同様に扱えば、同様の処理が可能である。また、任意の大きさのマクロブロックを離散コサイン変換して周波数成分を取り出すことによって、同様の処理が可能である。また、マクロブロックは、画像全体であっても良い。更に、コンテンツデータ23cが静止画である場合、特定の線状の画素の輝度や、色差の線上の変化を時間的な変化と同様に扱えば、同様の処理が可能である。
本発明の情報処理装置は、固定式の装置であるか、携帯型の装置であるかを問わない。更に、ハードディスク搭載の動画像再生装置、ビデオカメラ、ビデオ再生装置、パソコン、携帯型音楽再生装置、移動通信端末装置等、あらゆるコンテンツを記憶する装置に適用することが当然に可能である。また、上記の各実施形態で説明した要素を適宜組み合わせても良い。本発明は以上の構成に限定されるものではなく、種々の変形が可能である。