説明

信号処理装置および方法、並びにプログラム

【課題】入力信号から楽曲を精度良く同定する。
【解決手段】マスクパターン生成部55は、時間周波数領域に変換された入力信号の各領域における楽曲らしさに応じた重み分布であるマスクパターンを生成し、類似度算出部71は、マスクパターンによる重み付けに基づいて、時間周波数領域に変換された入力信号の各領域における特徴量と、時間周波数領域に変換された参照信号の各領域における特徴量との類似度を算出する。本発明は、入力信号から楽曲を同定する信号処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置および方法、並びにプログラムに関し、特に、楽曲と雑音とが混在する入力信号から、その楽曲を同定することができるようにする信号処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、入力信号として入力される楽曲を同定するために、入力信号の特徴量と、同定される楽曲の候補となる参照信号の特徴量とのマッチング処理が行われている。しかしながら、例えば、ドラマ等のテレビジョン番組の放送音源を入力信号とした場合、入力信号には、BGM(Back Ground Music)としての楽曲の信号成分と、人の会話や騒音(環境雑音)等、楽曲以外の信号成分である雑音成分(以下、単に雑音ともいう)とが混在していることが多く、この雑音による入力信号の特徴量の変化が、マッチング処理の結果に影響を及ぼしてしまう。
【0003】
そこで、入力信号の特徴量において、信頼度の低い成分をマスクするマスクパターンを用いて、信頼度の高い成分のみを用いてマッチング処理を行う技術が提案されている。
【0004】
具体的には、時間周波数領域の信号に変換された入力信号の特徴量を表現する特徴行列に対して、所定の時間周波数領域に対応する行列成分をマスクする複数種類のマスクパターンを予め用意し、入力信号の特徴量とデータベース内の複数の参照信号の特徴量とのマッチング処理を全てのマスクパターンを用いて行い、最も高い類似度が算出された参照信号の楽曲を、入力信号の楽曲として同定するようにしたものがある(例えば、特許文献1参照)。
【0005】
また、入力信号において平均パワーが大きい時間区間における成分を、楽曲以外の雑音が重畳されている成分と仮定し、入力信号において平均パワーが小さい時間区間の特徴量のみを用いてマッチングを行うようにするマスクパターンを作成するようにしたものがある(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−276776号公報
【特許文献2】特開2004−326050号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、入力信号において、どの時間にどの周波数の雑音が重畳されているかは予測できず、そのような入力信号に適したマスクパターンを予め用意することは困難であるので、特許文献1の技術では、適切なマッチング処理を行うことができず、楽曲と雑音とが混在する入力信号から、その楽曲を精度良く同定することはできない。
【0008】
また、特許文献2によれば、入力信号に応じたマスクパターンを作成することはできるが、そのマスクパターンは、周波数成分が考慮されておらず、入力信号に適したマスクパターンとは言えない。さらに、図1の左側に示されるように、時間周波数領域の入力信号において、楽曲の信号成分Dmに人の会話による雑音Dvが含まれている場合、特許文献2の技術では、人の会話が途切れている領域S1およびS2におけるわずかな時間区間の特徴量のみを用いてしかマッチング処理を行うことができないので、楽曲と雑音とが混在する入力信号から、その楽曲を精度良く同定することは困難である。楽曲と雑音とが混在する入力信号から、その楽曲を精度良く同定するには、図1の右側に示されるように、領域S3およびS4における楽曲の信号成分Dmの特徴量を用いてマッチング処理を行うことが望ましい。
【0009】
本発明は、このような状況に鑑みてなされたものであり、入力信号から楽曲を精度良く同定することができるようにするものである。
【課題を解決するための手段】
【0010】
本発明の一側面の信号処理装置は、入力信号を楽曲のみからなる参照信号と比較することによって、前記入力信号の楽曲を同定する信号処理装置であって、時間周波数領域に変換された前記入力信号の各領域における楽曲らしさに応じた重み分布を生成する重み分布生成手段と、前記重み分布による重み付けに基づいて、時間周波数領域に変換された前記入力信号の各領域における特徴量と、時間周波数領域に変換された前記参照信号の各領域における前記特徴量との類似度を算出する類似度算出手段とを備える。
【0011】
前記重み分布生成手段には、楽曲らしさを示す楽曲度が所定の閾値を超える領域に対して前記楽曲度に応じた重み付けをし、前記楽曲度が所定の閾値を超えない領域をマスクする前記重み分布を生成させることができる。
【0012】
前記信号処理装置には、前記入力信号から信号成分のパワースペクトルが極大となる点を検出する検出手段と、所定の時間区間における前記極大となる点の頻度に基づいて、前記楽曲度を算出する楽曲度算出手段とをさらに設けることができる。
【0013】
前記頻度は、前記極大となる点の周波数毎の出現頻度とされる。
【0014】
前記類似度算出手段には、前記入力信号の特徴量と、複数の前記参照信号の特徴量との前記類似度を算出させ、前記信号処理装置には、複数の前記類似度の中で、所定の閾値を超える前記類似度のうち、最大の類似度が算出された前記参照信号の楽曲を、前記入力信号の楽曲であると判定する判定手段をさらに設けることができる。
【0015】
前記類似度算出手段には、前記入力信号の特徴量と、複数の前記参照信号の特徴量との前記類似度を算出させ、複数の前記類似度の中で、所定の閾値を超える前記類似度が算出された複数の前記参照信号の楽曲を、前記入力信号の楽曲であると判定する判定手段をさらに設けることができる。
【0016】
前記類似度算出手段には、前記重み分布による重み付けに基づいて、時間周波数領域に変換された所定時間分の前記入力信号の各領域における前記特徴量と、時間周波数領域に変換された前記参照信号の前記所定時間に対応する領域における前記特徴量との類似度を算出させることができる。
【0017】
本発明の一側面の信号処理方法は、入力信号を楽曲のみからなる参照信号と比較することによって、前記入力信号の楽曲を同定する信号処理方法であって、時間周波数領域に変換された前記入力信号の各領域における楽曲らしさに応じた重み分布を生成する重み分布生成ステップと、前記重み分布による重み付けに基づいて、時間周波数領域に変換された前記入力信号の各領域における特徴量と、時間周波数領域に変換された前記参照信号の各領域における前記特徴量との類似度を算出する類似度算出ステップとを含む。
【0018】
本発明の一側面のプログラムは、入力信号を楽曲のみからなる参照信号と比較することによって、前記入力信号の楽曲を同定する信号処理をコンピュータに実行させるプログラムであって、時間周波数領域に変換された前記入力信号の各領域における楽曲らしさに応じた重み分布を生成する重み分布生成ステップと、前記重み分布による重み付けに基づいて、時間周波数領域に変換された前記入力信号の各領域における特徴量と、時間周波数領域に変換された前記参照信号の各領域における前記特徴量との類似度を算出する類似度算出ステップとを含む処理をコンピュータに実行させる。
【0019】
本発明の一側面においては、時間周波数領域に変換された入力信号の各領域における楽曲らしさに応じた重み分布が生成され、重み分布による重み付けに基づいて、時間周波数領域に変換された入力信号の各領域における特徴量と、時間周波数領域に変換された参照信号の各領域における特徴量との類似度を算出される。
【発明の効果】
【0020】
本発明の一側面によれば、入力信号から楽曲を精度良く同定することが可能となる。
【図面の簡単な説明】
【0021】
【図1】マッチング処理に用いられる入力信号の特徴量について説明する図である。
【図2】本発明を適用した信号処理装置の一実施の形態の構成を示すブロック図である。
【図3】楽曲度算出部の機能構成例を示すブロック図である。
【図4】マスクパターン生成部の機能構成例を示すブロック図である。
【図5】楽曲同定処理について説明するフローチャートである。
【図6】入力信号解析処理について説明するフローチャートである。
【図7】入力信号の特徴量について説明する図である。
【図8】楽曲度算出処理について説明するフローチャートである。
【図9】楽曲度の算出について説明する図である。
【図10】楽曲度の算出について説明する図である。
【図11】マスクパターン生成処理について説明するフローチャートである。
【図12】マスクパターンの生成について説明する図である。
【図13】参照信号解析処理について説明するフローチャートである。
【図14】マッチング処理について説明するフローチャートである。
【図15】入力信号の特徴量と参照信号の特徴量とのマッチング処理について説明する図である。
【図16】コンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態について図を参照して説明する。
【0023】
[信号処理装置の構成]
図2は、本発明を適用した信号処理装置の一実施の形態の構成を示している。
【0024】
図2の信号処理装置11は、楽曲の信号成分と、人の会話や騒音等の雑音成分(雑音)とが混在した入力信号と、雑音が混在しない楽曲の信号成分からなる参照信号とを比較することで、入力信号の楽曲を同定し、その同定結果を出力する。
【0025】
信号処理装置11は、入力信号解析部31、参照信号解析部32、およびマッチング処理部33から構成される。
【0026】
入力信号解析部31は、外部の装置等から入力される入力信号を解析し、入力信号の特徴を表す特徴量を入力信号から抽出するとともに、入力信号と参照信号との比較に用いられるマスクパターンを生成し、これらをマッチング処理部33に供給する。マスクパターンの生成の詳細については、図12等を参照して後述する。
【0027】
入力信号解析部31は、切り出し部51、時間周波数変換部52、特徴量抽出部53、楽曲度算出部54、およびマスクパターン生成部55を備えている。
【0028】
切り出し部51は、入力信号から所定時間分の信号を切り出し、時間周波数変換部52に供給する。
【0029】
時間周波数変換部52は、切り出し部51からの所定時間分の入力信号を、時間周波数領域の信号(スペクトログラム)に変換し、特徴量抽出部53および楽曲度算出部54に供給する。
【0030】
特徴量抽出部53は、時間周波数変換部52からの入力信号のスペクトログラムから、そのスペクトログラムの時間周波数領域毎に、入力信号の特徴を表す特徴量を抽出し、マッチング処理部33に供給する。
【0031】
楽曲度算出部54は、時間周波数変換部52からの入力信号のスペクトログラムに基づいて、そのスペクトログラムの時間周波数領域毎に、入力信号の楽曲らしさの指標となる楽曲度を算出し、マスクパターン生成部55に供給する。
【0032】
マスクパターン生成部55は、楽曲度算出部54からの、スペクトログラムの時間周波数領域毎の楽曲度に基づいて、入力信号の特徴量と参照信号の特徴量とのマッチング処理に用いられるマスクパターンを生成し、マッチング処理部33に供給する。
【0033】
参照信号解析部32は、図示せぬ記憶部に蓄積されているか、または、外部の装置等から入力されてくる複数の参照信号を解析し、それぞれの参照信号の特徴を表す特徴量を参照信号から抽出し、マッチング処理部33に供給する。
【0034】
参照信号解析部32は、時間周波数変換部61および特徴量抽出部62を備えている。
【0035】
時間周波数変換部61は、参照信号をスペクトログラムに変換し、特徴量抽出部62に供給する。
【0036】
特徴量抽出部62は、時間周波数変換部61からの参照信号のスペクトログラムから、そのスペクトログラムの時間周波数領域毎に、参照信号の特徴を表す特徴量を抽出し、マッチング処理部33に供給する。
【0037】
マッチング処理部33は、入力信号解析部31からのマスクパターンを用いて、入力信号解析部31からの入力信号の特徴量と、参照信号解析部32からの参照信号の特徴量とのマッチング処理を行うことで、入力信号に含まれる楽曲を同定する。
【0038】
マッチング処理部33は、類似度算出部71および比較判定部72を備えている。
【0039】
類似度算出部71は、入力信号解析部31からのマスクパターンを用いて、入力信号解析部31からの入力信号の特徴量と、参照信号解析部32からの複数の参照信号の特徴量との類似度を算出し、算出された複数の類似度を、比較判定部72に供給する。
【0040】
比較判定部72は、類似度算出部71からの複数の類似度の中で、所定の閾値を超える類似度のうち、最大の類似度が算出された参照信号の楽曲を、入力信号に含まれる楽曲であると判定し、その参照信号の楽曲の属性を表す楽曲属性情報を、同定結果として出力する。
【0041】
[楽曲度算出部の構成]
次に、図3を参照して、図2の楽曲度算出部54の詳細な構成について説明する。
【0042】
図3の楽曲度算出部54は、時間区間選択部81、ピーク検出部82、ピーク頻度算出部83、強調処理部84、および出力部85を備えている。
【0043】
時間区間選択部81は、時間周波数変換部52からの入力信号のスペクトログラムにおいて、所定の時間区間のスペクトログラムを選択し、ピーク検出部82に供給する。
【0044】
ピーク検出部82は、時間区間選択部81によって選択された所定の時間区間のスペクトログラムにおいて、時間フレーム毎に、信号成分の強さが極大となる点であるピークを検出する。
【0045】
ピーク頻度算出部83は、所定の時間区間のスペクトログラムにおいて、ピーク検出部82によって検出されたピークの、周波数毎の出現頻度を求める。
【0046】
強調処理部84は、ピーク頻度算出部83によって求められた出現頻度に対して、その値を強調する強調処理を施し、出力部85に供給する。
【0047】
出力部85は、強調処理部84によって強調処理が施された、所定の時間区間分のスペクトログラムについてのピーク頻度を保持する。また、出力部85は、全時間区間分のスペクトログラムについてのピーク頻度を、入力信号の楽曲らしさの指標となる楽曲度として、マスクパターン生成部55に供給(出力)する。
【0048】
このようにして、時間周波数領域における所定の時間区分毎、単位周波数毎に値(要素)を持つ楽曲度が算出される。
【0049】
[マスクパターン生成部の構成]
次に、図4を参照して、図2のマスクパターン生成部55の詳細な構成について説明する。
【0050】
図4のマスクパターン生成部55は、抽出部91、線形変換部92、割り当て部93、マスク処理部94、およびリサンプリング処理部95を備えている。
【0051】
抽出部91は、楽曲度算出部54からの楽曲度の各要素のうち、要素の値が所定の閾値を超えるものを抽出し、線形変換部92に供給する。
【0052】
線形変換部92は、抽出部91によって抽出された要素の値に対して、所定の線形変換処理を施し、割り当て部93に供給する。
【0053】
割り当て部93は、線形変換部92によって所定の線形変換処理が施された結果得られた値を、時間周波数領域の楽曲度において、抽出部91によって抽出された要素の周辺要素に割り当てる。
【0054】
マスク処理部94は、時間周波数領域の楽曲度において、抽出部91によって抽出されず、かつ、線形変換された値が割り当て部93によって割り当てられていない領域(要素)をマスクする。
【0055】
リサンプリング処理部95は、上述した領域がマスクされた時間周波数領域の楽曲度を、特徴量抽出部53によって抽出される入力信号の特徴量の時間粒度(要素あたりの時間区間の幅)に対応するように、時間方向にリサンプリング処理を行う。リサンプリング処理部95は、リサンプリング処理の結果得られた楽曲度を、入力信号の特徴量と参照信号の特徴量とのマッチング処理に用いられるマスクパターンとして、マッチング処理部33に供給する。
【0056】
[信号処理装置の楽曲同定処理について]
次に、図5のフローチャートを参照して、信号処理装置11の楽曲同定処理について説明する。楽曲同定処理は、外部の装置等から、同定されるべき楽曲が含まれる入力信号が信号処理装置11に入力されると開始される。なお、信号処理装置11には、入力信号が、時間的に連続して入力される。
【0057】
ステップS11において、入力信号解析部31は、入力信号解析処理を実行し、外部の装置等から入力された入力信号を解析し、入力信号の特徴量を入力信号から抽出するとともに、入力信号と参照信号との比較に用いられるマスクパターンを生成する。
【0058】
[入力信号解析処理について]
ここで、図6のフローチャートを参照して、図5のフローチャートのステップS11における入力信号解析処理の詳細について説明する。
【0059】
ステップS31において、入力信号解析部31の切り出し部51は、入力信号から所定時間(例えば、15秒間)分の信号を切り出し、時間周波数変換部52に供給する。
【0060】
ステップS32において、時間周波数変換部52は、切り出し部51からの所定時間分の入力信号をスペクトログラムに変換し、特徴量抽出部53および楽曲度算出部54に供給する。なお、時間周波数変換部52は、スペクトログラムの周波数成分をメル尺度で圧縮するメル周波数変換などの周波数軸歪曲処理を行うようにしてもよい。
【0061】
ステップS33において、特徴量抽出部53は、時間周波数変換部52からの入力信号のスペクトログラムから、そのスペクトログラムの時間周波数領域毎に特徴量を抽出し、マッチング処理部33に供給する。より具体的には、特徴量抽出部53は、入力信号のスペクトログラムについて、ある時間区間(例えば、0.25秒間)毎のパワースペクトルの平均値を求め、正規化し、時系列に並べたものを特徴量とする。
【0062】
図7は、特徴量抽出部53によって抽出される特徴量の例について説明する図である。
【0063】
図7に示されるように、入力信号のスペクトログラムから抽出された入力信号の特徴量Sは、時間方向および周波数方向に要素(以下、成分ともいう)を有している。特徴量Sにおける四角形(マス目)のそれぞれは、各時間、各周波数毎の成分を表しており、図示されないが、それぞれ特徴量としての値を有する。また、図7に示されるように、特徴量Sの時間粒度は0.25秒とされる。
【0064】
このように、入力信号のスペクトログラムから抽出される入力信号の特徴量は、各時間、各周波数毎に成分を有しているので、行列として扱うことができる。
【0065】
なお、特徴量は、上述した、正規化された平均パワースペクトルに限らず、後述する楽曲度であってもよいし、入力信号が時間周波数領域の信号に変換されたままのスペクトログラムそのものであってもよい。
【0066】
図6のフローチャートに戻り、ステップS34において、楽曲度算出部54は、時間周波数変換部52からの入力信号のスペクトログラムに基づいて、楽曲度算出処理を実行し、入力信号のスペクトログラムの各時間周波数領域について、入力信号の楽曲らしさの指標となる楽曲度を算出する。
【0067】
楽曲度算出処理における楽曲度の算出には、入力信号におけるトーン(音調)の安定性を利用する。ここでいうトーンは、周波数毎の信号成分の強さ(パワースペクトル)で表されるものとすると、一般的に、楽曲においては、ある特定の音程(周波数)を持つ音がある一定時間鳴り続けるため、時間方向に対してトーンは安定する。一方、人の会話においては、時間方向に対してトーンはゆらぐ性質を持ち、また、環境雑音においては、時間方向に連続するトーンがあまり見られない。そこで、楽曲度算出処理においては、所定の時間区間分の入力信号について、トーンの有無および安定性を数値化することで、楽曲度を算出する。
【0068】
[楽曲度算出処理について]
ここで、図8のフローチャートを参照して、図6のフローチャートのステップS34における楽曲度算出処理の詳細について説明する。
【0069】
ステップS51において、楽曲度算出部54の時間区間選択部81は、時間周波数変換部52からの入力信号のスペクトログラムにおいて、所定の時間区間(例えば、15秒間の入力信号のうちの最初の1秒間)のスペクトログラムを選択し、ピーク検出部82に供給する。
【0070】
ステップS52において、ピーク検出部82は、時間区間選択部81によって選択された1秒間分のスペクトログラムにおいて、時間フレーム(時間bin)毎に、各周波数帯についての信号成分のパワースペクトル(強さ)が、その周波数帯の近傍で極大となる時間周波数領域上の点であるピークを検出する。
【0071】
ここで、例えば1秒間分の楽曲のスペクトログラムにおいては、ある特定の周波数を持つ音が所定時間鳴り続けるため、信号成分のピークは、図9の左側に示されるように、ある特定の周波数帯に現れる。
【0072】
一方、例えば1秒間分の人の会話のスペクトログラムにおいては、そのトーンはゆらぐため、信号成分のピークは、図10の左側に示されるように、様々な周波数帯に現れる。
【0073】
ステップS53において、ピーク頻度算出部83は、1秒間分のスペクトログラムにおいて、ピーク検出部82によって検出されたピークの、時間方向に対する周波数毎の出現頻度(存在頻度)(以下、ピーク頻度という)を求める。
【0074】
1秒間分のスペクトログラムにおいて、例えば、図9の左側に示されるようなピークが検出された場合、そのピークは、時間方向に対して一定の周波数帯に現れるので、図9の中央に示されるような、一定の周波数においてピークを持つピーク頻度が求められる。
【0075】
一方、1秒間分のスペクトログラムにおいて、例えば、図10の左側に示されるようなピークが検出された場合、そのピークは、時間方向に対して様々な周波数帯に現れるので、図10の中央に示されるような、周波数方向に対してなだらかなピーク頻度が求められる。
【0076】
なお、ピーク頻度の算出においては、一定時間以上連続したピーク、すなわち、ピークの長さを考慮して、ピーク頻度を算出するようにしてもよい。
【0077】
このようにして、各周波数に対して求められるピーク頻度は、1次元のベクトルとして扱うことができる。
【0078】
ステップS54において、強調処理部84は、ピーク頻度算出部83によって求められたピーク頻度に対して、その値を強調する強調処理を施し、出力部85に供給する。具体的には、強調処理部84は、ピーク頻度を表す各ベクトルに対して、例えば、[-1/2,1,-1/2]のフィルタを用いたフィルタリング処理を施す。
【0079】
例えば、図9の中央に示される、一定の周波数においてピークを持つピーク頻度に対して上述したフィルタリング処理を施した場合、図9の右側に示されるように、そのピークが強調されたピーク頻度が得られる。
【0080】
一方、図10の中央に示される、周波数方向に対してなだらかなピーク頻度に対して上述したフィルタリング処理を施した場合、図10の右側に示されるように、ピークが減衰されたピーク頻度が得られる。
【0081】
なお、強調処理においては、上述したフィルタリング処理に限らず、ピーク頻度の値から、その近傍のピーク頻度の値の平均値や中間値を減算することで、ピーク頻度の値を強調するようにしてもよい。
【0082】
ステップS55において、出力部85は、強調処理部84によって強調処理が施された、1秒間分のスペクトログラムについてのピーク頻度を保持し、全ての時間区間(例えば、15秒間)について、上述した処理を行ったか否かを判定する。
【0083】
ステップS55において、全ての時間区間について上述した処理が行われていないと判定された場合、処理はステップS51に戻り、次の時間区間(1秒間)のスペクトログラムに対して、ステップS51乃至S54の処理が繰り返される。なお、ステップS51乃至S54の処理は、上述したように、1秒間の時間区間ずつのスペクトログラムに対して行われるようにしてもよいし、処理対象となるスペクトログラムの時間区間を、例えば0.5秒ずつずらして、処理対象の時間区間の一部を、前の処理対象の時間区間とオーバーラップさせながら行われるようにしてもよい。
【0084】
一方、ステップS55において、全ての時間区間について上述した処理が行われたと判定された場合、処理はステップS56に進む。
【0085】
ステップS56において、出力部85は、保持している時間区間(1秒間)毎のピーク頻度(1次元ベクトル)を時系列に配列することで得られる行列を、楽曲度として、マスクパターン生成部55に供給(出力)し、処理はステップS34に戻る。
【0086】
このように、入力信号のスペクトログラムから算出される楽曲度は、特徴量抽出部53によって抽出された特徴量と同様に、各時間、各周波数毎に成分を有する行列として扱うことができる。ただし、特徴量抽出部53によって抽出された特徴量の時間粒度は0.25秒であるのに対して、楽曲度の時間粒度は1秒とされる。
【0087】
さて、図6のステップS34の後、処理はステップS35に進み、マスクパターン生成部55は、楽曲度算出部54からの楽曲度に基づいて、マスクパターン生成処理を実行し、入力信号の特徴量と参照信号の特徴量とのマッチング処理に用いられるマスクパターンを生成する。
【0088】
[マスクパターン生成処理について]
ここで、図11のフローチャートを参照して、図6のフローチャートのステップS35におけるマスクパターン生成処理の詳細について説明する。
【0089】
ステップS71において、マスクパターン生成部55の抽出部91は、楽曲度算出部54からの楽曲度の各要素(成分)のうち、要素の値が所定の閾値を超えるものを抽出し、線形変換部92に供給する。
【0090】
例えば、楽曲度として、図12の左上段に示されるような楽曲度Gが、楽曲度算出部54から供給された場合、抽出部91は、楽曲度Gの各要素のうち、要素の値が0.3を超えるものを抽出する。ここで、楽曲度Gの各要素について、楽曲度Gの左下の要素を基準とした周波数方向の要素をf(fは、1乃至8)、時間方向の要素をu(uは、1乃至3)とした場合、抽出される要素Gfuは、値が0.8である要素G21,G22、値が0.6である要素G71、および、値が0.5である要素G63となり、その結果、図12の左中段に示される楽曲度G1が得られる。
【0091】
ステップS72において、線形変換部92は、抽出部91によって抽出された要素の値に対して、所定の線形変換処理を施し、割り当て部93に供給する。
【0092】
具体的には、線形変換処理前の要素の値をx、線形変換処理後の要素の値をyとしたとき、例えば、y=x-0.3を満たすように、楽曲度G1における、抽出部91によって抽出された要素の値に対して線形変換処理が施されることで、図12の左下段に示される楽曲度G2が得られる。
【0093】
なお、以上においては、要素の値に対して線形変換処理を行うようにしたが、シグモイド関数等による非線形変換処理を行うようにしてもよいし、2値化処理を行うことによって所定の2値に変換するようにしてもよい。
【0094】
ステップS73において、割り当て部93は、線形変換部92によって線形変換された値を、抽出部91によって抽出された要素に対応する時間周波数領域と同一時間区間の周辺領域に割り当てる。
【0095】
具体的には、図12の左下段に示される楽曲度G2において、値が0.5に変換された要素G21に対応する領域と同一時間区間の隣接領域の要素、すなわち、要素G11および要素G31に値0.5が割り当てられる。同様に、値が0.5に変換された要素G22に対応する領域と同一時間区間の隣接領域の要素、すなわち、要素G12および要素G32に値0.5が割り当てられる。また、値が0.3に変換された要素G71に対応する領域と同一時間区間の隣接領域の要素、すなわち、要素G61および要素G81に値0.3が割り当てられる。さらに、値が0.2に変換された要素G63に対応する領域と同一時間区間の隣接領域の要素、すなわち、要素G53および要素G73に値0.2が割り当てられる。
【0096】
このようにして、図12の右上段に示される楽曲度G3が得られる。楽曲度G3において、斜線が施されている領域における要素の値が、割り当て部93によって割り当てられた値となる。
【0097】
なお、図12の楽曲度G3においては、線形変換部92によって線形変換された値を、抽出部91によって抽出された要素に対応する時間周波数領域と同一時間区間の隣接領域の要素に割り当てるようにしたが、その隣接領域にさらに隣接する領域や、そのまたさらに隣接する領域等に割り当てるようにしてもよい。
【0098】
ステップS74において、マスク処理部94は、時間周波数領域の楽曲度において、抽出部91によって抽出されず、かつ、線形変換された値が割り当て部93によって割り当てられていない領域(要素)、すなわち、図12の右上段に示される楽曲度G3において空白で示される領域をマスクすることで、図12の右中段に示される楽曲度G4を得る。
【0099】
ステップS75において、リサンプリング処理部95は、特定の領域がマスクされた楽曲度を、特徴量抽出部53によって抽出される入力信号の特徴量の時間粒度に対応するように、時間方向にリサンプリング処理を行う。
【0100】
具体的には、リサンプリング処理部95は、図12の右中段に示される楽曲度G4について、時間方向にリサンプリング処理を行うことにより、その時間粒度を、1秒から、入力信号の特徴量の時間粒度である0.25秒に変化させる。リサンプリング処理部95は、リサンプリング処理の結果得られた楽曲度を、図12の右下段に示されるマスクパターンWとして、マッチング処理部33に供給し、処理は、図6のフローチャートのステップS35に戻る。
【0101】
このように、入力信号のスペクトログラムにおいて、楽曲らしさの指標である楽曲度の高い領域には楽曲度に応じた重み付けをし、楽曲度の低い領域をマスクする、重み分布としてのマスクパターンが生成される。マスクパターンは、特徴量抽出部53によって抽出された特徴量と同様に、各時間、各周波数毎に成分を有する行列として扱うことができ、その時間粒度は、特徴量抽出部53によって抽出された特徴量の時間粒度と同一の0.25秒とされる。
【0102】
さて、図6のフローチャートにおいて、ステップS35の後、処理は図5のフローチャートのステップS11に戻る。
【0103】
図5のフローチャートにおいて、ステップS11の後、処理はステップS12に進み、参照信号解析部32は、参照信号解析処理を実行し、外部の装置等から入力される参照信号を解析し、参照信号の特徴量を参照信号から抽出する。
【0104】
[参照信号解析処理について]
ここで、図13のフローチャートを参照して、図5のフローチャートのステップS12における参照信号解析処理の詳細について説明する。
【0105】
ステップS91において、参照信号解析部32の時間周波数変換部61は、入力された参照信号をスペクトログラムに変換し、特徴量抽出部62に供給する。
【0106】
ステップS92において、特徴量抽出部62は、特徴量抽出部53と同様にして、時間周波数変換部61からの参照信号のスペクトログラムから、そのスペクトログラムの時間周波数領域毎に特徴量を抽出し、マッチング処理部33に供給する。
【0107】
このようにして抽出される参照信号の特徴量の時間粒度は、入力信号の特徴量の時間粒度(例えば、0.25秒間)と同一とされる。また、入力信号の特徴量は、入力信号から切り出された所定時間(例えば、15秒間)分の信号に対応するのに対して、参照信号の特徴量は、楽曲1曲分の信号に対応する。したがって、参照信号の特徴量は、入力信号の特徴量と同様、各時間、各周波数毎に成分を有する行列として扱うことができるが、入力信号の特徴量と比較して、より多くの時間方向の成分を有する。
【0108】
またこのとき、特徴量抽出部62は、信号処理装置11内の図示せぬデータベースから、参照信号の楽曲の属性を表す楽曲属性情報(楽曲名、演奏者名、楽曲ID等)を読み出し、抽出した参照信号の特徴量に対応付けて、マッチング処理部33に供給する。
【0109】
なお、参照信号解析処理においては、複数の参照信号について上述した処理が実行される。マッチング処理部33においては、マッチング処理部33内の図示せぬ記憶領域に、複数の参照信号についての特徴量および楽曲属性情報が記憶される。
【0110】
また、複数の参照信号についての特徴量および楽曲属性情報は、信号処理装置11内の図示せぬデータベースに記憶されるようにしてもよい。
【0111】
図13のフローチャートにおいて、ステップS92の後、処理は図5のフローチャートのステップS12に戻る。
【0112】
図5のフローチャートにおいて、ステップS12の後、処理はステップS13に進み、マッチング処理部33は、マッチング処理を実行し、入力信号に含まれる楽曲を同定し、その同定結果を出力する。
【0113】
[マッチング処理について]
ここで、図14のフローチャートを参照して、図5のフローチャートのステップS13におけるマッチング処理の詳細について説明する。
【0114】
ステップS111において、マッチング処理部33の類似度算出部71は、入力信号解析部31からのマスクパターンに基づいて、入力信号解析部31からの入力信号の特徴量と、参照信号解析部32から供給され、マッチング処理部33内の図示せぬ記憶領域に記憶されている所定の参照信号の特徴量との類似度を算出し、比較判定部72に供給する。なお、参照信号の特徴量および楽曲属性情報が図示せぬデータベースに記憶されている場合には、所定の参照信号の特徴量および楽曲属性情報が、データベースから読み出される。
【0115】
ここで、図15を参照して、入力信号の特徴量と参照信号の特徴量との類似度の算出の例について説明する。
【0116】
図15においては、上段に、参照信号の特徴量L、下段左側に、入力信号の特徴量S、そして、下段右側に、マスクパターンWが示されている。上述で説明したように、これらは行列として扱うことができる。
【0117】
図15に示されるように、参照信号の特徴量Lの時間方向の成分の数は、入力信号の特徴量Sの時間方向の成分の数と比較して多い(なお、入力信号Sの時間方向の成分の数と、マスクパターンWの時間方向の成分の数とは同一である)。そこで、入力信号の特徴量と参照信号の特徴量との類似度を算出する際、類似度算出部71は、参照信号の特徴量Lから、入力信号の特徴量Sと同一の時間方向の成分の数となる部分行列Aを、時間方向(図中右方向)にずらしながら(時間方向にオフセットを与えながら)順次切り出し、この部分行列Aと入力信号の特徴量Sとの類似度を算出する。ここで、部分行列Aを切り出す際の時間方向のオフセットをtとすると、類似度R(t)は、以下の式(1)で示される。
【0118】
【数1】


・・・(1)
【0119】
なお、式(1)において、f,uは、参照信号の特徴量の部分行列A、入力信号の特徴量S、マスクパターンWの各行列の周波数成分および時間成分を表している。すなわち、fおよびuが添字として付されているA,S,Wは、それぞれの行列A,S,Wにおける各要素を表している。また、Mは、行列W(マスクパターンW)において要素の値を有する、マスクされていない時間周波数領域(図15のマスクパターンWにおいて網かけされていない部分)の要素を表している。したがって、式(1)で示される類似度R(t)の算出においては、各行列の全要素について演算する必要はなく、マスクパターンWにおいてマスクされていない時間周波数領域の要素について演算すればよいので、演算コストを抑えることができる。さらに、マスクパターンWにおいてマスクされていない時間周波数領域の要素の値は、入力信号の時間周波数領域毎の楽曲度に応じた重みを表しているので、楽曲らしさの高い時間周波数領域の要素に対してより大きい重み付けをして類似度R(t)を算出することができる。すなわち、より精度の高い類似度を算出することができるようになる。
【0120】
このようにして、類似度算出部71は、全ての部分行列A(全ての部分行列Aを切り出す時間オフセットt)に対して類似度を算出し、最大となる類似度を、入力信号の特徴量と参照信号の特徴量との類似度として、比較判定部72に供給する。
【0121】
なお、類似度は、上述した式(1)による演算に限らず、二乗誤差や絶対誤差等、2つの行列の各要素間の差に基づいて算出されるようにしてもよい。
【0122】
図14のフローチャートに戻り、ステップS112において、類似度算出部71は、所定数の参照信号について、より具体的には、マッチング処理部33内の図示せぬ記憶領域に記憶されている全ての参照信号について類似度算出の処理を行ったか否かを判定する。なお、参照信号の特徴量および楽曲属性情報が図示せぬデータベースに記憶されている場合には、図示せぬデータベースに記憶されている全ての参照信号について類似度算出の処理を行ったか否かが判定される。
【0123】
ステップS112において、全ての参照信号について類似度算出の処理を行っていないと判定された場合、ステップS111に戻り、全ての参照信号について類似度算出の処理を行うまで、ステップS111,S112の処理は繰り返される。
【0124】
そして、ステップS112において、全ての参照信号について類似度算出の処理を行ったと判定されると、処理はステップS113に進み、比較判定部72は、類似度算出部71から供給された複数の類似度の中で、所定の閾値を超える類似度があるか否かを判定する。この閾値は、固定の値としてもよいし、全ての参照信号についての類似度に基づいて統計的に設定された値としてもよい。
【0125】
ステップS113において、所定の閾値を超える類似度があると判定された場合、ステップS114に進み、比較判定部72は、所定の閾値を超える類似度のうち、最大の類似度が算出された参照信号の楽曲を、入力信号に含まれる楽曲であるとし、その参照信号の楽曲属性情報(例えば、楽曲名)を、同定結果として出力する。
【0126】
なお、ここで、比較判定部72は、所定の閾値を超える類似度が算出された複数の参照信号の楽曲を、入力信号に含まれる楽曲の候補であるとし、その複数の参照信号の楽曲属性情報を、それぞれについて算出された類似度とともに、同定結果として出力するようにしてもよい。これにより、例えば、同じ楽曲名の楽曲であっても、テンポが異なっていたり、演奏に使われている楽器が異なっていたりする、いわゆる異なるバージョンの楽曲を、入力信号に含まれる楽曲の候補として提示することができる。また、複数の参照信号の楽曲属性情報とともに出力される複数の類似度について確率分布を求め、その確率に基づいて、複数の類似度(すなわち参照信号)の信頼度を求めるようにしてもよい。
【0127】
一方、ステップS113において、所定の閾値を超える類似度がないと判定された場合、ステップS115に進み、参照信号の中に、入力信号に該当する楽曲がない旨の情報を出力する。
【0128】
ステップS114またはステップS115の後、処理は、図5のフローチャートのステップS13に戻り、楽曲同定処理は終了する。
【0129】
以上の処理によれば、楽曲と雑音とが混在した入力信号を、楽曲のみからなる参照信号と比較する際、時間周波数領域の入力信号において、楽曲らしさの指標となる楽曲度の高い領域には楽曲度に応じた重み付けをし、楽曲度の低い領域をマスクするマスクパターンが生成され、そのマスクパターンを用いて、時間周波数領域の入力信号の特徴量と参照信号の特徴量との類似度が算出されるようになる。すなわち、楽曲らしさの低い時間周波数領域については類似度算出における演算の対象外とし、楽曲らしさの高い時間周波数領域に対してはその楽曲らしさに応じた重み付けをして、類似度が算出されるので、演算コストを抑えつつ、より精度の高い類似度を算出することができるようになり、ひいては、楽曲と雑音とが混在する入力信号から、その楽曲を精度良く同定することが可能となる。
【0130】
また、時間成分だけでなく、周波数成分を考慮した特徴量を用いて、マッチング処理を行うことができるので、図1で示されたような、途切れている時間が非常に短い会話が雑音として含まれている入力信号であっても、その入力信号から、楽曲を精度良く同定することができる。これにより、ドラマ等のテレビジョン番組において、出演者等の会話が被ってしまっているBGMを精度良く同定することが可能となる。
【0131】
さらに、切り出された所定時間分の入力信号の特徴量を用いて、入力信号の特徴量と参照信号の特徴量との類似度を算出するようにしたので、ドラマ等のテレビジョン番組におけるシーンチェンジによりBGMが途切れてしまった場合であっても、途切れるまでのBGMに対応する入力信号さえあれば、そのBGMをより確実に同定することが可能となる。
【0132】
なお、以上においては、入力信号の特徴量の時間粒度(例えば、0.25秒)と、楽曲度の時間粒度(例えば1秒)とが異なるようにしたが、同一の時間粒度としてもよい。
【0133】
また、図5のフローチャートを参照して説明した楽曲同定処理においては、入力信号解析処理とマッチング処理との間に、参照信号解析処理が実行されるようにしたが、参照信号解析処理は、マッチング処理が実行される前に実行されていればよく、入力信号解析処理が実行される前に実行されてもよいし、入力信号解析処理と並行して実行されてもよい。
【0134】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、プログラム記録媒体からインストールされる。
【0135】
図16は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0136】
コンピュータにおいて、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。
【0137】
バス904には、さらに、入出力インタフェース905が接続されている。入出力インタフェース905には、キーボード、マウス、マイクロホン等よりなる入力部906、ディスプレイ、スピーカ等よりなる出力部907、ハードディスクや不揮発性のメモリ等よりなる記憶部908、ネットワークインタフェース等よりなる通信部909、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア911を駆動するドライブ910が接続されている。
【0138】
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部908に記憶されているプログラムを、入出力インタフェース905およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
【0139】
コンピュータ(CPU901)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア911に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0140】
そして、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インタフェース905を介して、記憶部908にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部909で受信し、記憶部908にインストールすることができる。その他、プログラムは、ROM902や記憶部908に、あらかじめインストールしておくことができる。
【0141】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0142】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0143】
11 信号処理装置, 51 切り出し部, 52 時間周波数変換部, 53 特徴量抽出部, 54 楽曲度算出部, 55 マスクパターン生成部, 61 時間周波数変換部, 62 特徴量抽出部, 71 類似度算出部, 72 比較判定部

【特許請求の範囲】
【請求項1】
入力信号を楽曲のみからなる参照信号と比較することによって、前記入力信号の楽曲を同定する信号処理装置において、
時間周波数領域に変換された前記入力信号の各領域における楽曲らしさに応じた重み分布を生成する重み分布生成手段と、
前記重み分布による重み付けに基づいて、時間周波数領域に変換された前記入力信号の各領域における特徴量と、時間周波数領域に変換された前記参照信号の各領域における前記特徴量との類似度を算出する類似度算出手段と
を備える信号処理装置。
【請求項2】
前記重み分布生成手段は、楽曲らしさを示す楽曲度が所定の閾値を超える領域に対して前記楽曲度に応じた重み付けをし、前記楽曲度が所定の閾値を超えない領域をマスクする前記重み分布を生成する
請求項1に記載の信号処理装置。
【請求項3】
前記入力信号から信号成分のパワースペクトルが極大となる点を検出する検出手段と、
所定の時間区間における前記極大となる点の頻度に基づいて、前記楽曲度を算出する楽曲度算出手段とをさらに備える
請求項2に記載の信号処理装置。
【請求項4】
前記頻度は、前記極大となる点の周波数毎の頻度である
請求項3に記載の信号処理装置。
【請求項5】
前記類似度算出手段は、前記入力信号の特徴量と、複数の前記参照信号の特徴量との前記類似度を算出し、
複数の前記類似度の中で、所定の閾値を超える前記類似度のうち、最大の類似度が算出された前記参照信号の楽曲を、前記入力信号の楽曲であると判定する判定手段をさらに備える
請求項1に記載の信号処理装置。
【請求項6】
前記類似度算出手段は、前記入力信号の特徴量と、複数の前記参照信号の特徴量との前記類似度を算出し、
複数の前記類似度の中で、所定の閾値を超える前記類似度が算出された複数の前記参照信号の楽曲を、前記入力信号の楽曲であると判定する判定手段をさらに備える
請求項1に記載の信号処理装置。
【請求項7】
前記類似度算出手段は、前記重み分布による重み付けに基づいて、時間周波数領域に変換された所定時間分の前記入力信号の各領域における前記特徴量と、時間周波数領域に変換された前記参照信号の前記所定時間に対応する領域における前記特徴量との類似度を算出する
請求項1に記載の信号処理装置。
【請求項8】
入力信号を楽曲のみからなる参照信号と比較することによって、前記入力信号の楽曲を同定する信号処理方法において、
時間周波数領域に変換された前記入力信号の各領域における楽曲らしさに応じた重み分布を生成する重み分布生成ステップと、
前記重み分布による重み付けに基づいて、時間周波数領域に変換された前記入力信号の各領域における特徴量と、時間周波数領域に変換された前記参照信号の各領域における前記特徴量との類似度を算出する類似度算出ステップと
を含む信号処理方法。
【請求項9】
入力信号を楽曲のみからなる参照信号と比較することによって、前記入力信号の楽曲を同定する信号処理をコンピュータに実行させるプログラムにおいて、
時間周波数領域に変換された前記入力信号の各領域における楽曲らしさに応じた重み分布を生成する重み分布生成ステップと、
前記重み分布による重み付けに基づいて、時間周波数領域に変換された前記入力信号の各領域における特徴量と、時間周波数領域に変換された前記参照信号の各領域における前記特徴量との類似度を算出する類似度算出ステップと
を含む処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−98360(P2012−98360A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−243912(P2010−243912)
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】