(57)【特許請求の範囲】
【請求項１】
受信された楽曲について、複数の帯域チャネル毎のパワーデータを算出するステップと、
算出された前記パワーデータのフレームを複数含むブロックを作成するステップと、
連続した前記ブロックを複数含むブロック列を作成するステップと、
作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換するステップと、
前記区間コードと辞書データとを比較し、マッチングされた楽曲を認識するステップと
を備え、
さらに、前記辞書データは、
楽曲全体に対して前記ブロック列の長さで切り出して複数の前記区間コードで表現した区間データと、
さらにひとつずつ前記区間データに含まれるブロック数の長さ分までシフトすることにより、それぞれ楽曲全体に対して前記ブロック列の長さで切り出して複数の前記区間コードで表現した複数の区間データとを備えることを特徴とする楽曲識別方法。
【請求項２】
受信された楽曲について、複数の帯域チャネル毎のパワーデータを算出するステップと、
算出された前記パワーデータのフレームを複数含むブロックを作成するステップと、
連続した前記ブロックを複数含むブロック列を作成するステップと、
作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換するステップと、
前記区間コードと辞書データとを比較し、マッチングされた楽曲を認識するステップと
を備え、
さらに、前記辞書データの各区間コードは、辞書順に整列されていることを特徴とする楽曲識別方法。
【請求項３】
前記認識された楽曲について、時刻情報、楽曲の放送源若しくは送信元の情報及び／又は楽曲コードを含むログデータを出力又は記憶するステップをさらに備えた請求項１又は２に記載の楽曲識別方法。
【請求項４】
前記パワーデータは、
前後の複数のフレームのパワーデータの平均としたことを特徴とする請求項１乃至３のいずれかに記載の楽曲識別方法。
【請求項５】
前記クラスタ番号は、
分離した帯域数毎及び前記フレーム数毎の多次元の空間領域を複数のクラスタに分けたときの、前記ブロックと最も距離の近いセントロイドのクラスタ番号であることを特徴とする請求項１乃至４のいずれかに記載の楽曲識別方法。
【請求項６】
前記辞書データは、
楽曲ソースから再生された楽曲について、複数の帯域チャネル毎のパワーベクトルを算出するステップと、
算出された前記パワーベクトルのフレームを複数含むブロックを作成するステップと、
連続した前記ブロックを複数含むブロック列を作成するステップと、
作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換するステップとにより作成されることを特徴とする請求項１乃至５のいずれかに記載の楽曲識別方法。
【請求項７】
楽曲信号を受信する受信部と、
前記受信部により受信された前記楽曲信号を複数の帯域チャネルに分離して、前記帯域チャネル毎のパワーデータを出力する帯域フィルタ部と、
時刻情報を出力する時計部と、
受信された楽曲について、複数の帯域チャネル毎のパワーデータを算出する手段と、算出された前記パワーデータのフレームを複数含むブロックを作成する手段と、連続した前記ブロックを複数含むブロック列を作成する手段と、作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換する手段と、前記区間コードと辞書データとを比較し、マッチングされた楽曲を認識する手段と、前記時刻情報及び／又は前記楽曲コードを含むログデータを出力する手段を含む楽曲識別部
を備え、
さらに、前記辞書データは、
楽曲全体に対して前記ブロック列の長さで切り出して複数の前記区間コードで表現した区間データと、
さらにひとつずつ前記区間データに含まれるブロック数の長さ分までシフトすることにより、それぞれ楽曲全体に対して前記ブロック列の長さで切り出して複数の前記区間コードで表現した複数の区間データとを備えることを特徴とする楽曲識別システム。
【請求項８】
楽曲信号を受信する受信部と、
前記受信部により受信された前記楽曲信号を複数の帯域チャネルに分離して、前記帯域チャネル毎のパワーデータを出力する帯域フィルタ部と、
時刻情報を出力する時計部と、
受信された楽曲について、複数の帯域チャネル毎のパワーデータを算出する手段と、算出された前記パワーデータのフレームを複数含むブロックを作成する手段と、連続した前記ブロックを複数含むブロック列を作成する手段と、作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換する手段と、前記区間コードと辞書データとを比較し、マッチングされた楽曲を認識する手段と、前記時刻情報及び／又は前記楽曲コードを含むログデータを出力する手段を含む楽曲識別部
を備え、
さらに、前記辞書データの各区間コードは、辞書順に整列されていることを特徴とする楽曲識別システム。
【請求項９】
前記楽曲識別部と通信線を介して接続され、前記楽曲辞書作成部により作成された前記辞書データを前記楽曲識別部に送信し、一方、前記楽曲識別部により作成された前記ログデータを前記楽曲識別部から受信するセンター設備をさらに備えた請求項７又は８に記載の楽曲識別システム。
【請求項１０】
再生された楽曲信号を複数の帯域チャネルに分離して、前記帯域チャネル毎のパワーデータを出力する帯域フィルタ手段と、
受信された楽曲について、複数の帯域チャネル毎のパワーデータを算出する手段と、
算出された前記パワーデータのフレームを複数含むブロックを作成する手段と、
連続した前記ブロックを複数含むブロック列を作成する手段と、
作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換する手段と
を備え、前記辞書データを作成する楽曲辞書作成部をさらに備えた請求項７乃至９のいずれかに記載の楽曲識別システム。
【請求項１１】
前記受信部に対する予備装置として楽曲を受信及び録音する録音部をさらに備えた請求項７乃至１０のいずれかに記載の楽曲識別システム。
【請求項１２】
前記ログデータは、
前記受信部が設置された場所情報及び／又は楽曲の放送源若しくは送信元の情報を含むことを特徴とする請求項７乃至１１のいずれかに記載の楽曲識別システム。
【請求項１３】
前記辞書データは、楽曲コード、著作者に関する情報及び／又は楽曲の構成データを含むことを特徴とする請求項７乃至１２のいずれかに記載の楽曲識別システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽曲識別方法及び楽曲識別システムに係り、特に放送局又は送信元から放送又は送信された楽曲とそれに関連する情報とを自動認識することができる楽曲識別方法及び楽曲識別システムに関する。
【０００２】
【従来の技術】
近年、テレビ、ラジオ又はインターネットなどのマスメディア上での音楽が現代社会に与える影響は、もはや無視できないものとなっている。このような放送又は送信を統計的に処理をして、楽曲の知的財産権者・演奏者・楽曲製作販売会社等より、音楽放送楽曲を自動識別する要請が高まっている。放送された楽曲について、例えば、どのような楽曲がどこからどれだけ放送されたか（放送時間、回数等）を調べるための楽曲識別方法が必要とされる。
【０００３】
一般に、ラジオ・テレビ等で楽曲が音楽放送及び送信される形態としては、例えば、以下のような場合等がある。
【０００４】
▲１▼レコード・ＣＤ・テープ等市販の媒体からの再生、
▲２▼放送局のスタジオ・劇場等からのライブ中継、
▲３▼コンサートや演奏会場等での録音・録画媒体の再生放送、
▲４▼インターネット、衛星放送等の新しいメディアを介しての放送及び送信。
【０００５】
従来においては、各放送局から放送されたプログラム（楽曲）をすべて録音又は録画をし、後ほどこれらを再生することにより、人が実際にこれらを聴いて、放送された楽曲を識別していた。さらに、人手を介して、認識された楽曲について放送局、放送時間、放送回数等のデータについて、集計作業が行われていた。
【０００６】
【発明が解決しようとする課題】
上述したように、従来の放送音楽楽曲の識別には、人が録画・録音を再生して判断していたので、多くの人手がかかることとなる。さらに、従来においては、人手を介して行うため、確認ミスが生じやすくなり、信頼性もあまり高くないという問題点があった。また、人によって認識できる楽曲数、楽曲名、ジャンル等に限界があるという問題点があった。
【０００７】
また、テレビやラジオ等では、楽曲が放送用に編集されていたり、楽曲と音声が重畳していたりする場合があるので、部分マッチングも考慮しなければならない。そのため、パターン数が非常に多く、マッチングの計算量が膨大となる。
【０００８】
本発明は、上記の点に鑑み、高い信頼性を持って自動的に楽曲の識別をし、放送局、時間回数等のその楽曲に関する情報を求めることができる楽曲識別方法及び楽曲識別システムを提供することを目的とする。
【０００９】
また、本発明は、放送されたプログラムからリアルタイムで楽曲スポッティング、即ち、不特定の楽曲から任意の楽曲の区間を抽出しタグ付けを行うことにより、正確且つ多数の楽曲の識別を少ない計算量で高速に行うことを目的とする。
【００１０】
【課題を解決するための手段】
本発明の第１の解決手段によると、
受信された楽曲について、複数の帯域チャネル毎のパワーデータを算出するステップと、
算出された前記パワーデータのフレームを複数含むブロックを作成するステップと、
連続した前記ブロックを複数含むブロック列を作成するステップと、
作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換するステップと、
前記区間コードと辞書データとを比較し、マッチングされた楽曲を認識するステップ
とを備えた楽曲識別方法を提供する。
【００１１】
本発明の第２の解決手段によると、
楽曲信号を受信する受信部と、
前記受信部により受信された前記楽曲信号を複数の帯域チャネルに分離して、前記帯域チャネル毎のパワーデータを出力する帯域フィルタ部と、
時刻情報を出力する時計部と、
受信された楽曲について、複数の帯域チャネル毎のパワーデータを算出する手段と、算出された前記パワーデータのフレームを複数含むブロックを作成する手段と、連続した前記ブロックを複数含むブロック列を作成する手段と、作成された前記ブロック列について、前記ブロック単位でクラスタリングを行うことによりクラスタ番号で表わした区間コードに変換する手段と、前記区間コードと辞書データとを比較し、マッチングされた楽曲を認識する手段と、前記時刻情報及び／又は前記楽曲コードを含むログデータを出力する手段を含む楽曲識別部
を備えた楽曲識別システムを提供する。
【００１２】
【発明の実施の形態】
Ａ．楽曲の識別
まずはじめに、楽曲を識別するための分析方法について説明する。
【００１３】
（１）パワーの算出
まず、図１に、パワー算出までのプロセスの説明図を示す。音の強度を示すパワーは、以下のように求められる。
【００１４】
図１（Ａ）は、楽曲信号の帯域信号ＳI(nT)を示す。ここで、Iは、帯域チャネル番号、Ｔは、サンプリング周波数である。図１（Ｂ）は、この楽曲信号を、フレーム間隔Ｆintで切り出し窓関数をかけたものである。図中、ｌは、フレーム番号を示す。窓関数としては、例えば、方形窓、Hamming窓、Hanning窓、Blackman窓等がある。また、図1（Ｃ）及び（Ｄ）は、それぞれ、以下の式により求めた、フレームごとの平均振幅ＶI(l)及び平均パワーPI(l)を示す。
【００１５】
【数１】
0003964979.tif 000002
【数２】
0003964979.tif 000003
ここで、Ｖmaxは、振幅の最大値である。
【００１６】
つぎに、フレーム間隔Ｆint及びフレーム長Ｆlenについて説明する。図２に、フレーム構成の説明図を示す。
【００１７】
まず、図２（Ａ）に、サンプリング周波数とフレームの説明図を示す。本発明では、楽曲のサンプリング周波数は、例えば、11.025kHz（周期約0.0907ms）としている。また、フレームは、例えば、1024個のサンプリング時間である92.88msごとに、ある区間の平均パワーデータを吐き出すのものである。そして、例えば、この1024サンプルがフレーム間隔Ｆintであり、本発明の手法の基本単位となる。
【００１８】
図３に、フレームのずれによって生じるパワー誤差の説明図を示す。
【００１９】
フレームがずれると、算出されるパワーに誤差が生じる。そして、フレーム間隔が最大１／２フレームずれることによる自局間のパワーベクトルの距離を自局間距離とし、他の楽曲のパワーベクトルとの距離を他局間距離として、それらの確率分布により識別精度の目安とすることができる。
【００２０】
ところで、フレーム長Ｆlen については、以下のようになる。すなわち、この手法では、比較するデータどうしの時間ずれをカバーする工夫があるが、最小単位はこのフレームなので、１フレーム＝92.88ms以内の時間ずれは吸収できないこになってしまう。そして、この問題から受けるダメージを検討したところ、２分の１フレームずれた時に、そのダメージが最大になることがわかった。
【００２１】
そこで、本発明においては、フレーム間隔は1024sample(92.88ms)でも、吐き出すデータは前後大幅にオーバーラップさせて、この問題を小さく抑えるようにした。ここでは、図２（Ｂ）に示すように、例えば、８フレーム分である8192sample区間（＝８×1024）の平均パワーを求めることで、問題を解消している。つまり１フレーム進んでも、Ａ／Ｄサンプリングデータの中身は８分の１しか新データと入れ替えずに、平均パワーを計算し出力していくので、最も誤差が大きくなる２分の１フレームずれにおいても、その影響は受けにくくなる。このように、本発明では、一例としてフレーム長Ｆlenは、８１９２サンプルとしている。
【００２２】
ここで、実際の楽曲認識を行うと、放送された楽曲と辞書側のフレームとが完全に一致するとは限らず、最大１／２フレームまでのずれが生じることがある。
【００２３】
（２）ブロック化
図４に、ひとつの帯域チャネル番号についてのブロックの説明図を示す。
【００２４】
図４（Ａ）示すように、ブロックとは、ひとつの帯域チャネル番号に対して考えると、フレームが複数多重化されたものであり、本発明では一例として、フレーム２０個分、１ブロックの周期は1.86秒とする。ブロックの各要素は、例えば、以下のように、１行２０列で表現される。
【００２５】
Ｂ＝ [Ｐ(0) Ｐ(1) Ｐ(2) Ｐ(3) Ｐ(4) … Ｐ(18) Ｐ(19)]
また、図４（Ｂ）に示すように、ブロックが１０個集まったものがブロック列であり、ここでは、例えば、18.6秒である。
【００２６】
図５に、各帯域チャネル番号毎のパワーベクトルの説明図を示す。ここでは、各帯域チャネル番号Ｉごとにフレーム番号ｌのパワーＰI(l)が図示される。フレーム番号ｌによって、パワーベクトルＰ(l)は、次のように表示される。
【００２７】
【数３】
0003964979.tif 000004
つぎに、図６に、帯域チャネル番号毎のブロック構成図を示す。
【００２８】
図に示すように、フレームが２０個集まってブロックになるので、ブロックの要素は、各帯域チャネルを考慮して詳細には行２０列となる。そして、１ブロックには、１００個の平均パワーが含まれることになる。これが本発明の認識手法の１単位となる。
【００２９】
図７に、一般的な各帯域チャネル番号毎のパワーベクトルのブロック構成の説明図を示す。図示のように、楽曲Ｍ１のフレーム番号ｌからＮフレーム分のパワーベクトルをブロック化したデータであるブロックＢNM1(l)は、次式のように表わされる。
【００３０】
【数４】
0003964979.tif 000005
（３）ブロックのクラスタリング
ここで、パワーベクトルによるブロック列の識別を考える。まず、高速化や時間ずれ対策を勘案しない場合を考えると、単にフレームを各帯域チャネル毎に２００ヶ集めて１ブロックとした場合と同じで、行２００列（＝１０００）のパワー行列となる。この場合、１ブロックに１０００個の平均パワーが詰まった状態で、認識行為を１単位実行することになるので、２００フレーム＝18.6secで認識結果を出す。
【００３１】
しかし、１０００個で１ブロックのデータを一括して辞書にブロック転送し、辞書の方にも、１０００個で１ブロックの辞書データが登録曲数分用意してマッチングを実行するとすれば、大変な処理量になる。すなわち、まず登録曲第１番と１０００個のデータを比較計算し、次に登録曲第２番と１０００個マッチングをとり、・・・最後第Ｎ番との比較まで行って終了となるため、辞書内の登録曲数に比例して、認識結果が出るまでの時間が膨大に膨れ上がることになる。辞書に、例えば１万曲あれば、１０００万個（＝1000x10000）のデータを比較しなければならない。しかも、それだけ時間をかけても、楽曲の全演奏時間中のわずか18.6秒(１ブロック時間)の区間を比較しただけに過ぎない。一般に、このマッチング処理は、辞書データの全総数との総当たりで比較するので、１曲の全区間を辞書化すると、また辞書数が増え、総当たり回数もそれに比例して増加することになってしまう。
【００３２】
そこで、本発明では、クラスタリングを行うことで識別処理スピードをあげる方法を取っている。クラスタリングとは、例えば、「ＬＢＧアルゴリズム」と呼ばれるような、一般に使われている手法を採用するが、これに限られず適宜の手法を採用することができる。即ち、入力ベクトル（ここでは、１００次元のブロックのパワーデータのこと）と各クラスタ（小集合）との距離を求め、その距離が最小のクラスタの番号を持って量子化（置き換え）を行う。距離の計算は、例えば、ユークリッド距離又は２乗和等から求めることができる。
【００３３】
図８に、ブロックのクラスタリングの説明図を示す。
【００３４】
この例では、クラスタ番号＃Ｑのクラスタ球は、各軸は、前述の１ブロック＝５行２０列の要素で１００軸になるので、１００次元の球体のイメージとなる。セントロイドＸ#Qは、各球体イメージの中心(重心）である。分類する数は、クラスタリングするブロック数には関係なく常に一定（例えば１２８）とする。ただし、例えば１万曲とかの数多くの楽曲で辞書を作る場合に、例えば２５６等に増やすことにより、分離性能をさらに十分とることができる。
【００３５】
このように各クラスタのセントロイドＸ#Qとクラスタ番号＃Ｑとが対応したベクトル量子化辞書を備え、まず、１００次元のベクトルが距離計算によって辞書から参照されてクラスタ番号＃Ｑになる（ベクトル量子化）。これにより、１００次元が１次元に量子化される。なお、このような、辞書は、ベクトル量子化する際の量子化歪み等を用いて、あまり距離が小さくならないベクトルが多く出現する場合、辞書を作成し直しすることもできる。
【００３６】
本発明では、このようなクラスタリングにより、ブロック列中に含まれる、例えば１０個のブロックそれぞれにクラスタ番号＃Ｑを対応させるようにした。クラスタ番号＃Ｑは、例えば、＃１から＃１２８までとし、これは区間コードと呼ばれる。
【００３７】
１ブロック（５行２０列の１００個のデータ）は、１つのクラスタの番号値におきかえられる。ブロック列は、ブロックが１０個連なったものであるが、本来５行２０列の１０個分で１０００個のパワーデータで表現されるべきものが、以上のアイデアで１０個のクラスタ番号で表わすことができる。例えば以下のように表現される。これが「区間コードへの変換」である。
【００３８】
ブロック列＝[#11 #124 #45 #87 #23 #78 #101 #3 #99 #44]
１行１０列＝１０個の要素に変換
クラスタリングのメリットは、データ数が１００分の１に減少され、さらに、いろいろな値を取りうるパワー値ではなく、単純な整数値（例えば１２８）なので、楽曲の識別を高速化できる点である。
【００３９】
（４）辞書化における辞書区間データ
「楽曲コード」は、１曲分をすべてブロック列にして区間コードに変換したものである。区間コードは、例えば１０ブロックの長さであるが、楽曲コードは、この区間コードが曲の始めから終わりまで連続したものである。このような楽曲コードを使い辞書登録する手法も考えられるが、その場合不完全演奏（途中でカット等）には対応しにくい。その点区間コードは、これに対処することができる。
【００４０】
さて、ブロック１０個でブロック列１個を作っただけならば、通常３分から５分程ある楽曲データ中、わずか18.6秒の区間を辞書化したに過ぎない。また、楽曲が、つねに曲の頭から演奏されると決まっていれば、曲の頭部分18.6秒だけを辞書化しても良いが、実際はそうではないので、曲の途中のどこから演奏されても良いようにする必要がある。そこで、本発明では、１ブロックずつ後ろへずらしながら、ブロック列を作成するようにした。
【００４１】
図９に、区間コードの整列についての説明図を示す。
【００４２】
まず、ブロック列は常に１０ブロックで一塊とする。次々とスタートポイントを後ろにずらしながら、ブロック列を作っていくと、曲の最後に、ブロック列がぶつかり、ここで終了となる。これ以上ずらすと、ブロック列が９ブロック構成、８ブロック構成・・・等と短くなってしまう。こうして作成されたブロック列を総称して「区間データ」と呼ぶ。区間データのブロック列数は、曲の長さによって異なることになる。
【００４３】
このような方法で曲１、曲２…と希望する楽曲ごとに区間データを作成する。すると辞書曲数のおよそ１００倍もの区間データに膨れあがってしまう（たとえば１ブロック＝約２秒で、演奏時間２００秒の曲を２秒ずらしては、次々と区間データをおこすので、２秒×１００sampleが２００秒÷２秒分必要なので、２００秒×１００倍）。本発明の認識では、リアルタイム認識が目標であるので、これを総当たり検索させたのでは時間がかかってしまう。
【００４４】
そこで、つぎに、区間コードを辞書順に整列するプロセスをとる。「区間コードを辞書順に整列」とは、ブロック列に与えられた１０個のクラスター番号をソートすることで、上１桁から数字の若い順番にならべ変え、次に上２桁目、上３桁目…全１０桁をチェックして並べ替える。リアルタイム認識の実際では、ブロック列の頭から時間経過に従いブロック列が１個ずつ生成されるので、あらかじめ辞書をソートしておけば、１ブロックデータが起きるたびに、それ以外の候補が自動的に棄却されていく。ソートによりデータマッチングのための探索木構造のデータベースを作成し、これを採用することで、データマッチングまでの時間が短縮できる。
【００４５】
（５）楽曲識別における楽曲区間デ−タ
さて、以上の説明のみでは、オンエアされたサンプリングデータは、ブロック単位で辞書とスタートポイントが一致していなければならない。ブロック単位は1.86秒なので、辞書とはまったく無関係に非同期でサンプリングされるデータには、この最大1.86秒のずれを補正する方法を持たさなければならない。
【００４６】
そこで、本発明では、フレーム２０個でひとかたまりのブロックにする時に、まずスタート位置から２０個のフレームでブロック化する作業と平行して、スタート位置を１フレームずらした（遅れた）場所からブロック化するようにした。さらに、同じく２フレームずらした場所からブロック化する。さらに同じく３フレーム目から…、というようにして、最後に２０フレーム遅れでブロック化するという作業が平行して行われる。
【００４７】
図１０に、楽曲識別における区間データの説明図を示す。
【００４８】
上述の例ではＮ＝２０であるので、このような２０種類の位置ずれブロックは、それぞれ１０個集めて、２０種類のブロック列をつくる。１ブロックに含まれる１００個の平均パワーデータは、あらかじめ用意された辞書のクラスタ空間において、どのクラスタに最も近いかを判定し、そのクラスタ番号に置き換える。この判定は、各クラスタのセントロイドとの距離（１００次元での誤差２乗和）が最小のものを基準として判断される。こうして２０種類のブロック列は、２０種類の区間コードに置き換えられる。なお、１ブロック２０フレームであるので、２１フレーム遅れは遅れなしスタートのブロックと同じであるから、２１フレーム遅れのデータは不要となる。さらに言えば、２１フレーム遅れは第２回目の認識作業での遅れなしブロック列で、２２フレーム遅れは同じく第２回目の認識作業での１フレーム遅れのブロック列…ということで延々とつづくことになる。
【００４９】
さて１回の認識動作においては、92.88ms（１フレーム）遅れで２０種類の区間コードが時間とともに次々と先頭ブロックから順にデータが生成されて、1.86秒で１ブロックを作り出し、つぎに、ソートされた探索木構造のデータベースと比較されて、該当しないものを除きながら、マッチングしたものを認識していく。
【００５０】
認識は、１区間コードのブロック数分（例えば１０回分）探索木を枝別れすれば、かならず１つの「結論」に帰着することになる。そして、最終的に何回枝別れすれば、１つの楽曲名に特定できるかを実験したところ、１０回程あれば満足できるものとなった。場合によっては、枝別れは１５回（１５ブロック＝１区間コード）としても良いし、また、枝別れは１０回（１０ブロック＝１区間コード）のままで、クラスターの数を１２８から例えば２５６としても良い。
【００５１】
さて探索木を１０回枝別れする途中で、途切れてしまう場合は、辞書にそのような区間コードが存在しないことになり、認識結果は出力されない。辞書に区間コードが見当たらないとは、未登録の楽曲だけではなく、アナウンサーの声や、その他辞書に登録されないような全ての音の場合に発生する。
【００５２】
本発明のような認識方法の分野では、２４時間つねにリアルタイム認識状態である必要があるため、このような高速化は非常に有益である。
【００５３】
このように、辞書データは、主に以下のような２つの機能を有する。
【００５４】
１）全登録楽曲についてのクラスタリングのためのデータベース、
２）全登録楽曲についてのソートされた探索木構造になった区間コードのデータベース。
【００５５】
前者１）は、未知の音が来た場合、それが音楽であろうが、トークショーであろうが、とりあえずフレーム数分（例えば２０種類）の時間ずれ区間データを作るために参照する辞書データである。後者２）は、その区間コードが登録楽曲かどうか、照合するための辞書データである。辞書の再構築については、上記２）は追加削除の度に実施するが、上記１）は大きく構成が変わった時のみの実施でよい。
【００５６】
（６）識別動作
つぎに、認識結果が出力されるまでの動作を説明する。
【００５７】
探索木上を１つの区間データが走るのならば、回答は１つに帰着するのだけであるが、本発明では、時間ずれ対応で、１フレーム(92.88ms)遅れで、次から次へと２０種類の区間コードが探索木の上を走査されていく。このとき、スローテンポの曲などではデータ内容の時間変化が少ない場合があり、同時に走る２０種類の認識用区間コードの中で、時間がぴったり同期しているものは、当然、うまく１０回枝別れして正しい答えを出す。しかし、１フレームずれ程度の別な区間コードの方でも、同じ枝別れ経路をたどり、同じ場所に帰着する（正答が返される）場合がある。そこで、２０種類の区間コードで認識させたとき、たとえ複数から同じ認識結果がでても、それを１つにまとめて出力する事で、第１回目の認識単位は完了する。
【００５８】
また、楽曲名等とともに、このときの時刻を、その楽曲がオンエア開始した時刻としてストアする。この後も第２回目、３回目…と認識行為は継続するものの、途中で１０回枝別れできなくなる状況（例えば、曲が終わってアナウンサーの声に変わったとき等）が複数回継続し出現したならば、その楽曲は中断または終了したと判定し、その時刻をオンエアが終了した時刻としてストアする。
【００５９】
具体例を、実際に放送現場で多用されている、２曲連続してかける場合の手法で説明する。例えば、１曲目をフェードアウトさせ、完全に音が消えきらない少し手前で２曲目を標準レベルからのカットインでオンエアすることは非常に多くみられる。この場合、フェードアウト中は平均パワーレベルが時間とともにスライドしていくので、認識率は落ちるかもしれない。区間コードが１０回枝別れできない事態がある回数連続した時点で、この１曲めは終了と判定される。もしフェードアウトの傾きが緩やかであれば、次の曲がカットインしてきたところで終了と判定される。一方、２曲目の方はカットインの時点では、まだ１曲目の音が十分下がりきっていなければ認識できない状況であり、十分下がった時点で、初めて２曲目が認識され、その時刻が記録される。
【００６０】
もうひとつの特徴はこの手法は、辞書にある楽曲の全区間を細かく切った区間コードを利用して認識するので、単なるｘ時ｘ分ｘ秒からｘ分ｘ秒間演奏されたという演奏事実の確認にとどまらず、ある曲のどの区間（たとえば、さびの部分だけ、頭の１分２０秒間だけ）がオンエアされたかを付帯データとして出力できることにある。
【００６１】
Ｂ．楽曲識別システム
つぎに、「Ａ．楽曲の識別」で述べた識別方法を実現するシステムへの応用について説明する。
【００６２】
（１）モニタリング・サイト
図１１に、本発明に係る楽曲識別システムの構成図を示す。
【００６３】
本発明に係るシステムは、テレビ放送局１、ラジオ放送局２、テレビ用認識部２０、ラジオ用認識部３０、時計部６、帯域フィルタ部７、モニタリング・サイト８、センター設備９、通信線１０及び楽曲辞書作成装置１１を備える。さらに、テレビ用認識部２０は、テレビ音声受信機３及び録音機４を含むテレビ用受信部２１を複数個有する。ラジオ用認識部３０は、ラジオ受信機５及び録音機４を含むラジオ用受信部３１を複数個有する。
【００６４】
テレビ音声受信機３、ラジオ受信機５及び録音機４は、それぞれ複数の受信機回路を含むことができる。録音機４は、例えば２４時間等の長時間録音が可能なものであり常時録音することにより、それぞれテレビ音声受信機３及びラジオ受信機５に障害が発生した時などの予備のバックアップ受信機として機能する。時計部６は、障害や瞬断の時刻等を記録するため、各録音機４にデータを供給するとともに、モニタリング・サイト８にも時刻データを供給する。帯域フィルタ部７は、テレビ用認識部２０及びラジオ用認識部３０で受信された音声信号を帯域分離するもので、複数のデジタルフィルタ又はアナログフィルタ、Ａ／Ｄコンバータ等を備える。
【００６５】
モニタリング・サイト８は、コンピュータ、内部メモリ、通信手段等を備え、テレビ用及びラジオ用認識部２０及び３０が設置された場所情報、受信信号の放送源又は送信元の情報などの必要な各種情報を把握及び管理する。モニタリング・サイト８は、楽曲識別、楽曲データ記憶、楽曲スポッティング演算、放送時間や局の特定、ログファイルやログデータの作成及び編集、センターコンピュータとの通信機能等を有する。
【００６６】
センター設備９は、コンピュータ、辞書データ記憶部等のメモリ、通信手段等を備え、各地域に配備された複数のモニタリング・サイト８とそれぞれ通信線１０を介して接続される。センター設備９は、識別結果の受信や新譜データの送信等のデータの通信、システム運用等を行う。また、楽曲辞書作成装置１１とも接続され、辞書データを受信する。楽曲辞書作成装置１１は、例えば新譜データ等の楽曲の辞書データを作成したり、記憶したりする機器である。
【００６７】
通信線１０は、一般の電話回線、ＩＳＤＮ回線、専用線、個別配線等適宜の接続線を用いることができる。
【００６８】
図１２に、帯域フィルタ部７の構成図の一例を示す。ここでは、バンドパスフィルタ（ＢＰＦ）としてデジタルフィルタを用いた回路構成を示すが、アナログフィルタ等により適宜帯域フィルタを構成することもできる。
【００６９】
帯域フィルタ部７は、Ａ／Ｄコンバータ７０１、複数のバンドパスフィルタ７０２、バスライン７０３及びマイクロプロセッサ７０４を備える。
【００７０】
テレビ用及びラジオ用認識部２０及び３０からの音声信号は、帯域フィルタ部７の入力端子７０５に入力される。入力端子７０５からの音声信号は、Ａ／Ｄコンバータ７０１でデジタルデータに変換され、バンドパスフイルタ７０２で楽曲信号のパワーデータのスペクトラムを取り出す。バンドパスフィルタ７０２は、複数個用いられ、例えばヤマハ（商標）のＹＳＳ２３１等を用いることにより実現できる。ここでは、一例として、５個のバンドパスフィルタＢＰＦ１〜ＢＰＦ５が使用されている。バンドパスフィルタ７０２の特性の設定は、マイクロプロセッサ７０４により行われる。バスライン７０３は、データライン（細線）及びアドレスライン（太線）を有する。出力データは、マイクロプロセッサ７０４の制御により、バスライン７０３を介して、出力端子７０６から出力される。
【００７１】
図１３に、帯域フィルタ部７の設定条件の説明図を示す。
【００７２】
図１３（Ａ）は、ひとつのデジタルフィルタのバンドパスフイルタ特性の設定条件を示したものである。また、図１３（Ｂ）は、各デジタルフイルターのパラメータを示す。このように、本発明の実施の形態では、バンドパスフイルタの通過特性は、聴覚特性を考慮し、一例としてベースの音域である100Hz 〜200Hzを基準に１オクターブ間隔にし、計５チャンネル備えるようにしている。各々のバンドパスフィルタ７０２により、通過帯域別に取り出された音声デジタル信号は、マイクロプロセッサ７０４により、フレーム別且つ帯域別のパワーの算出が行われる。
【００７３】
フレーム単位にされた楽曲データは、バスライン７０３より出力端子７０６を通じて、帯域フィルタ部７から出力される。この出力信号は、モニタリング・サイト８に送られ楽曲のスポッティグ認識とログファイルの収集等を行う。
【００７４】
（２）楽曲スポッティングの概要
図１４に、楽曲スポットティングの概要のフローチャートを示す。
【００７５】
まず、モニタリング・サイト８は、受信された楽曲について、辞書作成時と同様に、随時、放送源又は送信元からパワーベクトルＰ(l)を算出する（ステップＳ１０１）。つぎに、パワーベクトルのフレームｌをシフトさせながら放送音からのブロックＢN(l)、ＢN(l+1)、・・・、を作成する（ステップＳ１０３）。さらに、ブロックＢN(l)をＮフレーム毎取り出し、ブロック間にオーバラップを生じないように、次式のようにブロック列ＢＬN(l)を構成する（ステップＳ１０５）。
【００７６】
【数５】
0003964979.tif 000006
前述のように、各ブロックとセントロイドＸ#Qとの距離を計算して、ブロック列ＢＬN(l)に基づきクラスタリングを行い、区間コードＣL(l)に変換する（ステップＳ１０７）。この区間コードと辞書データの区間コードとを比較してマッチングをとり楽曲を認識する（ステップＳ１０９）。受信した楽曲の中から辞書データと比較してマッチングされた楽曲は、他の情報とともにログデータファイルがフォーマットされてメモリに記録される。（ステップＳ１１１）。この後、求められたログデータは、適当なタイミングで通信路１０を介して、センター設備９に伝送される。
【００７７】
図１５に、ログフォーマットの説明図の一例を示す。
【００７８】
ログフォーマット中には、例えば、認識された年月日時分秒等の時刻情報、受信した地区名や都道府県名等の場所情報、放送局名や送信局等の放送源又は送信元情報、楽曲コード等の各データが含まれる。モニタリング・サイト８に楽曲認識されたデータは、このようなフォーマットでログファイルに書き込まれ、センター設備９内部のコンピュータからの指示で又は自らの制御でログデータを送る。
【００７９】
（３）センター設備及び楽曲辞書作成装置
図１６に、楽曲辞書作成装置の構成図を示す。つぎに、この図を参照して、楽曲の辞書作成方法について述べる。
【００８０】
楽曲辞書作成装置１１は、各楽曲再生機器より楽曲を再生を行うもので、市販する楽曲は一般的に  ＣＤ、テープレーコード等で販売されているので、通常、複数の再生機器が必要となる。楽曲辞書作成装置１１は、例えばＣＤプレーヤ１１０１、テープレコーダー１１０２、レコードプレーヤ１１０３等の再生機器、スイッチ１１０４、帯域フィルタ１１０５及びコンピュータ１１０６を備える。再生装置としては、このほかにもＭＤ、レーザーディスク、ビデオ等多様な再生装置を備えることができる。スイッチ１１０４は、例えばアナログスイッチ、ディジタルスイッチであり、各再生装置を切り替える。帯域フィルタ１１０５は、モニタリング・サイト８に接続される図１２に示した帯域フィルタ部７の構成と同様であり、特性も同様に設定されている。なお、コンピュータ１１０６は、センター設備９内に備えるようにしても良い。
【００８１】
各再生装置から再生された楽曲は、図１２に示した帯域フィルタ部７と同様に、帯域フイルタ１１０５等を通過してフレーム化及びブロック化等が行われる。コンピュータ１１０６は、スイッチ１１０４のゲート指示を行うことにより、希望の再生機器より再生された楽曲を、図１４で説明した手順でパワーベクトルの算出、ブロックの作成、ブロック列の構成、クラスタリング等が行われ、辞書データを作成する。作成された辞書データは、楽曲辞書作成装置１１はセンター設備９に転送され、また、内部の辞書データ記憶部に記録される。楽曲辞書作成装置１１で作成された楽曲の辞書データは、センター設備９及び通信線１０を通してモニタリング・サイト８に辞書データとして伝送され、そこに多数の楽曲の辞書データが保存されている。また、モニタリング・サイト８の内部メモリは、モニタリング・サイト８からログデータが送信されたときにこのときに辞書データの更新作業も同時に行うことができる。モニタリングサイト８では、図１４のステップＳ１０９に示したような辞書データメモリとして、楽曲認識のデータマッチングのデーターとして使用する。
【００８２】
図１７に、辞書データのフォーマットの説明図を示す。
【００８３】
この例では、辞書データとして、楽曲コード（楽曲の名称）、作曲家名、作詞家名、歌手名又は演奏家名等の著作者に関する情報、及び楽曲の構成データ等が含まれる。
【００８４】
本発明では、前述ような楽曲スポッティングを行うことにより、楽曲の途中から放送が開始されても高速に確実に認識を行うことができる。
【００８５】
また、識別処理は、モニタリング・サイト８又はセンター設備９の他にも、適宜の部分に設けられたコンピューター及びメモリ等により実行することもできる。
【００８６】
さらに、ブロック列及び区間コードの長さは、音楽が時間の流れに対してどのような変化をしていくかにより適宜設定することができる。また、クラスタ数は、その瞬間での音質の構成比をどのくらい細かく分類するかにより、適宜設定することができる。その他、フレーム、ブロック、ブロック列等のデータ構成は適宜変更することができる。例えば、辞書に登録される楽曲のジャンルの偏り（例えば演奏速度、音質構成など）や、曲数等によって適宜パラメータを変更してもよい。
【００８７】
【発明の効果】
以上のように、本発明によると、高い信頼性を持って自動的に楽曲の識別をし、放送局、時間回数等のその楽曲に関する情報を求めることができる楽曲識別方法及び楽曲識別システムを提供することができる。
【００８８】
また、本発明によると、放送されたプログラムからリアルタイムで楽曲スポッティング、即ち、不特定の楽曲から任意の楽曲の区間を抽出しタグ付けをすることにより、正確且つ多数の楽曲の識別を少ない計算量で高速に行うことができる。
【００８９】
【図面の簡単な説明】
【図１】パワー算出までのプロセスの説明図。
【図２】フレーム構成の説明図。
【図３】フレームのずれによって生じるパワー誤差の説明図。
【図４】ひとつの帯域チャネル番号についてのブロックの説明図。
【図５】各帯域チャネル番号毎のパワーベクトルの説明図。
【図６】帯域チャネル番号毎のブロック構成図。
【図７】一般的な各帯域チャネル番号毎のパワーベクトルのブロック構成の説明図。
【図８】ブロックのクラスタリングの説明図。
【図９】区間コードの整列についての説明図。
【図１０】楽曲識別における区間データの説明図。
【図１１】本発明に係る楽曲識別システムの構成図。
【図１２】帯域フィルタ部７の構成図。
【図１３】帯域フィルタ部７の設定条件の説明図。
【図１４】楽曲スポットティングの概要のフローチャート。
【図１５】ログフォーマットの説明図。
【図１６】楽曲辞書作成装置の構成図。
【図１７】辞書データのフォーマットの説明図。
【符号の説明】
１    テレビ放送局
２    ラジオ放送局
３    テレビ音声受信機
４    録音機
５    ラジオ受信機
６    時計部
７    帯域フィルタ部
８    モニタリング・サイト
９    センター設備
１０  通信線
１１  楽曲辞書作成装置
【図１】
0003964979.tif 000007
【図２】
0003964979.tif 000008
【図３】
0003964979.tif 000009
【図４】
0003964979.tif 000010
【図５】
0003964979.tif 000011
【図６】
0003964979.tif 000012
【図７】
0003964979.tif 000013
【図８】
0003964979.tif 000014
【図９】
0003964979.tif 000015
【図１０】
0003964979.tif 000016
【図１１】
0003964979.tif 000017
【図１２】
0003964979.tif 000018
【図１３】
0003964979.tif 000019
【図１４】
0003964979.tif 000020
【図１５】
0003964979.tif 000021
【図１６】
0003964979.tif 000022
【図１７】
0003964979.tif 000023