(57)【特許請求の範囲】
【請求項１】
時系列信号から複数の信号成分を分離するための周波数解析方法であって、
解析しようとする周波数範囲で複数の周波数を設定し、各周波数に対応する複数の周期関数集合を準備する周期関数準備段階と、
前記各周波数と相関値の関係を各周波数について格納するための配列である相関配列、優先度配列、強度配列を準備する配列準備段階と、
前記時系列信号の時間軸上に複数の単位区間を設定し、各単位区間ごとに区間信号を抽出する区間信号抽出段階と、
前記複数の周期関数と前記区間信号との相関を演算して各周期関数に対応する相関値を算出し、前記相関配列の各周期関数の周波数に対応する値を設定するための相関演算段階と、
前記周期関数集合を利用して一般化調和解析の手法により各周波数に対応する相関値を算出し、前記優先度配列の各周波数に対応する値を設定するための優先度決定段階と、
前記優先度配列の値により、前記相関配列中から対応する相関値を抽出し、当該相関値を強度配列の値として決定する強度算出段階と、を備え、
前記区間信号抽出段階で設定された全単位区間に対して、前記相関演算段階、前記優先度設定段階、前記強度算出段階を実行することにより、
各単位区間ごとに複数の周波数と強度値の組を得るようにしたことを特徴とする周波数解析方法。
【請求項２】
前記優先度決定段階は、
前記相関配列における相関値が最大の周波数に対応する周期関数を選出し、前記区間信号との相関を再度演算し、前記優先度配列の当該周波数に対応する相関値を設定するための優先度設定段階と、
前記再度演算された相関値と周期関数との積で生成される含有信号を前記区間信号から減じ、その差分信号を新たに区間信号とする区間信号更新段階を備え、
前記優先度設定段階および区間信号更新段階を繰り返し実行することにより一般化調和解析の手法に基づいて優先度配列のすべての相関値を決定するものであることを特徴とする請求項１に記載の周波数解析方法。
【請求項３】
前記標準周期関数の標準周波数間により細かい間隔で微細周波数を設定すると共に微細周波数を有する微細周期関数を設定し、
前記優先度設定段階が、前記微細周波数に対応する相関値を求め、最大の相関値を対応する微細周波数に最も近い標準周波数に対応する相関値として優先度配列に設定し、相関値が最大となる微細周波数が、隣接する標準周波数間の中央付近のものである場合に、当該微細周波数に最も近い標準周波数に対応する相関値を０に設定するようにしていることを特徴とする請求項２に記載の周波数解析方法。
【請求項４】
前記強度算出段階が、前記決定された優先度配列の値に基づき、定義されている全ての周波数に対して優先順位付けを行い、当該優先順位が所定以降である周波数に対応する前記優先度配列の相関値を０にするような改変を行って前記強度配列における強度値を決定するようにしていることを特徴とする請求項１から請求項３のいずれかに記載の周波数解析方法。
【請求項５】
前記時系列信号は音響信号であり、
前記強度算出段階で決定された強度配列における強度値が所定の値に達している周波数を選出し、選出された標準周波数に対応する音の高さ情報と、標準周波数の強度値に対応する音の強さ情報と、各単位区間の開始点に対応する発音開始時刻と、各単位区間の終了点に対応する発音終了時刻の４つの情報を有する符号データを生成することにより音響信号の符号化を行うことを特徴とする請求項１から請求項４のいずれかに記載の周波数解析方法。
【請求項６】
与えられた音響信号に対して、時間軸上に複数の単位区間を設定する区間設定段階と、
前記単位区間における音響信号と複数の周期関数との相関を短時間フーリエ変換を用いて求めることにより各周期関数が有する周波数に対応した第１の相関値を算出すると共に、前記単位区間における音響信号と複数の周期関数との相関を一般化調和解析を用いて求めることにより各周期関数が有する周波数に対応した第２の相関値を算出し、各周期関数が有する周波数と、前記各周期関数に対応した第１の相関値と、各周期関数に対応した第２の相関値と、単位区間の始点に対応する区間開始時刻と、単位区間の終点に対応する区間終了時刻で構成される単位音素データを算出する単位音素データ算出段階と、
前記単位音素データ算出段階の処理を全単位区間に対して行うことにより得られる全単位音素データから、第２の相関値が所定値以下のものを削除し、残った単位音素データについて、各単位区間ごとに所定数の単位音素データに優先度を示すマーキングを行う優先度決定段階と、
前記残った単位音素データのうち、連結対象とする単位音素データのいずれか１つに優先度を示すマーキングが行われており、周波数が同一であって、区間が連続するものを連結して連結音素データとし、連結音素データの属性として、強度値は構成する単位音素データの第１の相関値のうち最大のものを与え、開始時刻は先頭の有効音素データの区間開始時刻を与え、終了時刻は最後尾の有効音素データの区間終了時刻を与える音素データ連結段階と、
前記連結処理後の音素データの集合により音響信号を表現する符号化段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項７】
コンピュータに、解析しようとする周波数範囲で複数の周波数を設定し、各周波数に対応する複数の周期関数集合を準備する周期関数準備段階、前記各周波数と相関値の関係を各周波数について格納するための配列である相関配列、優先度配列、強度配列を準備する配列準備段階、前記時系列信号の時間軸上に複数の単位区間を設定し、各単位区間ごとに区間信号を抽出する区間信号抽出段階、前記複数の周期関数と前記区間信号との相関を演算して各周期関数に対応する相関値を算出し、前記相関配列の各周期関数の周波数に対応する値を設定するための
相関演算段階、前記周期関数集合を利用して一般化調和解析の手法により各周波数に対応する相関値を算出し、前記優先度配列の各周波数に対応する値を設定するための優先度決定段階、前記優先度配列の値により、前記相関配列中から対応する相関値を抽出し、当該相関値を強度配列の値として決定する強度算出段階を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、放送メディア（ラジオ、テレビ）、通信メディア（ＣＳ映像・音声配信、インターネット音楽配信、通信カラオケ）、パッケージメディア（ＣＤ、ＭＤ、カセット、ビデオ、ＬＤ、ＣＤ−ＲＯＭ、ゲームカセット、携帯音楽プレーヤ向け固体メモリ媒体）などで提供する各種オーディオコンテンツの制作、並びに、音楽演奏録音信号から楽譜出版、通信カラオケ配信用ＭＩＤＩデータ、演奏ガイド機能付き電子楽器向け自動演奏データ、携帯電話・ＰＨＳ・ポケベルなどの着信メロディデータを自動的に作成する自動採譜技術に関する。
【０００２】
【従来の技術】
音響信号に代表される時系列信号には、その構成要素として複数の周期信号が含まれている。このため、与えられた時系列信号にどのような周期信号が含まれているかを解析する手法は、古くから知られている。例えば、フーリエ解析は、与えられた時系列信号に含まれる周波数成分を解析するための方法として広く利用されている。
【０００３】
このような時系列信号の解析方法を利用すれば、音響信号を符号化することも可能である。コンピュータの普及により、原音となるアナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして取り込むことが容易にできるようになってきており、こうして取り込んだデジタルデータに対してフーリエ解析などの手法を適用し、原音信号に含まれていた周波数成分を抽出すれば、各周波数成分を示す符号によって原音信号の符号化が可能になる。
【０００４】
一方、電子楽器による楽器音を符号化しようという発想から生まれたＭＩＤＩ（Musical Instrument Digital Interface）規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このＭＩＤＩ規格による符号データ（以下、ＭＩＤＩデータという）は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このＭＩＤＩデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したＭＩＤＩ音源が別途必要になるが、その符号化効率の高さが注目を集めており、ＭＩＤＩ規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウェアに広く採り入れられている。
【０００５】
そこで、音響信号に代表される時系列信号に対して、所定の手法で解析を行うことにより、その構成要素となる周期信号を抽出し、抽出した周期信号をＭＩＤＩデータを用いて符号化しようとする提案がなされている。例えば、特開平１０−２４７０９９号公報、特開平１１−７３１９９号公報、特開平１１−７３２００号公報、特開平１１−９５７５３号公報、特開２０００−９９００９号公報、特開２０００−９９０９２号公報、特開２０００−９９０９３号公報、特開２０００−２６１３２２号公報、特開２００１−５４５０号公報、特開２００１−１４８６３３号公報には、任意の時系列信号について、構成要素となる周波数を解析し、その解析結果からＭＩＤＩデータを作成することができる種々の方法が提案されている。
【０００６】
【発明が解決しようとする課題】
上記各公報または明細書において提案してきたＭＩＤＩ符号化方式により、演奏録音等から得られる音響信号の効率的な符号化が可能になった。特に、一般化調和解析を用いた符号化方式は、短時間フーリエ変換法で問題となる周波数分解能を著しく向上させた。
【０００７】
しかしながら、一般化調和解析の手法で生成されるスペクトル成分には、演算途上で発生する誤差が累積し、スペクトル絶対成分の精度が良くない。すなわち、短時間フーリエ変換法では、計算誤差が少なく絶対成分の精度が高いが、擬似成分が多く含まれるという欠点があり、一方、一般化調和解析では、擬似成分を削除することはできるが、計算誤差が多く絶対成分の精度が低いという欠点がある。
【０００８】
上記のような点に鑑み、本発明は、短時間フーリエ変換と一般化調和解析を併用することにより、精度の高い周波数解析を行なうことが可能な、周波数解析方法、および音響信号の符号化方法を提供することを課題とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するため、本発明では、時系列信号から複数の信号成分を分離するための周波数解析方法として、解析しようとする周波数範囲で複数の周波数を設定し、各周波数に対応する複数の周期関数集合を準備する周期関数準備段階と、前記各周波数と相関値の関係を各周波数について格納するための配列である相関配列、優先度配列、強度配列を準備する配列準備段階と、前記時系列信号の時間軸上に複数の単位区間を設定し、各単位区間ごとに区間信号を抽出する区間信号抽出段階と、前記複数の周期関数と前記区間信号との相関を演算して各周期関数に対応する相関値を算出し、前記相関配列の各周期関数の周波数に対応する値を設定するための相関演算段階と、前記周期関数集合を利用して一般化調和解析の手法により各周波数に対応する相関値を算出し、前記優先度配列の各周波数に対応する値を設定するための優先度決定段階と、前記優先度配列の値により、前記相関配列中から対応する相関値を抽出し、当該相関値を強度配列の値として決定する強度算出段階と、を備えると共に、前記区間信号抽出段階で設定された全単位区間に対して、前記相関演算段階、前記優先度設定段階、前記強度算出段階を実行することにより、各単位区間ごとに複数の周波数と強度値の組を得るようにしたことを特徴とする。本発明によれば、区間信号と各周波数との相関を求めることにより相関配列を取得し、区間信号に対して一般化調和解析の手法を用いて各周波数との相関を求めることにより優先度配列を取得し、この優先度配列の値に基づいて、相関配列に記録された周波数とその相関値の組を選出するようにしたので、擬似成分の抽出を抑え、基の時系列信号に含まれている信号成分を正確に抽出することが可能となる。また、時系列信号として音響信号を用い、この音響信号に対して周波数解析を行うことにより精度の高い符号化を行うことが可能となる。
【００１０】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１１】
（1.1.周波数解析方法の基本原理）
はじめに、本発明に係る周波数解析方法の基本原理を、時系列信号として音響信号を用い、周波数解析の結果を利用して符号化を行う場合を例にとって説明しておく。この基本原理は、前掲の各公報に開示されているので、ここではその概要のみを簡単に述べることにする。
【００１２】
図１（ａ）に示すように、時系列信号としてアナログ音響信号が与えられたものとする。図１の例では、横軸に時間ｔ、縦軸に振幅（強度）をとって、この音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なＰＣＭの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。ここでは、説明の便宜上、ＰＣＭの手法でデジタル化した音響データの波形も図１（ａ）のアナログ音響信号と同一の波形で示すことにする。
【００１３】
続いて、この解析対象となる音響信号の時間軸上に、複数の単位区間を設定する。図１（ａ）に示す例では、時間軸ｔ上に等間隔に６つの時刻ｔ１〜ｔ６が定義され、これら各時刻を始点および終点とする５つの単位区間ｄ１〜ｄ５が設定されている。図１の例では、全て同一の区間長をもった単位区間が設定されているが、個々の単位区間ごとに区間長を変えるようにしてもかまわない。あるいは、隣接する単位区間が時間軸上で部分的に重なり合うような区間設定を行ってもかまわない。
【００１４】
こうして単位区間が設定されたら、各単位区間ごとの音響信号（以下、区間信号と呼ぶことにする）について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、例えば、その中で成分の強度割合の大きな周波数成分を代表周波数として選出すれば良い。ここで、代表周波数とはいわゆる基本周波数が一般的であるが、音声のフォルマント周波数などの倍音周波数や、ノイズ音源のピーク周波数も代表周波数として扱うことがある。代表周波数は１つだけ選出しても良いが、音響信号によっては複数の代表周波数を選出した方が、より精度の高い符号化が可能になる。図１（ｂ）には、個々の単位区間ごとにそれぞれ３つの代表周波数を選出し、１つの代表周波数を１つの代表符号（図では便宜上、音符として示してある）として符号化した例が示されている。ここでは、代表符号（音符）を収容するために３つのトラックＴ１，Ｔ２，Ｔ３が設けられているが、これは個々の単位区間ごとに選出された３つずつの代表符号を、それぞれ異なるトラックに収容するためである。
【００１５】
例えば、単位区間ｄ１について選出された代表符号ｎ（ｄ１，１），ｎ（ｄ１，２），ｎ（ｄ１，３）は、それぞれトラックＴ１，Ｔ２，Ｔ３に収容されている。ここで、各符号ｎ（ｄ１，１），ｎ（ｄ１，２），ｎ（ｄ１，３）は、ＭＩＤＩ符号におけるノートナンバーを示す符号である。ＭＩＤＩ符号におけるノートナンバーは、０〜１２７までの１２８通りの値をとり、それぞれピアノの鍵盤の１つのキーを示すことになる。具体的には、例えば、代表周波数として４４０Ｈｚが選出された場合、この周波数はノートナンバーｎ＝６９（ピアノの鍵盤中央の「ラ音（Ａ３音）」に対応）に相当するので、代表符号としては、ｎ＝６９が選出されることになる。もっとも、図１（ｂ）は、上述の方法によって得られる代表符号を音符の形式で示した概念図であり、実際には、各音符にはそれぞれ強度に関するデータも付加されている。例えば、トラックＴ１には、ノートナンバーｎ（ｄ１，１），ｎ（ｄ２，１）・・・なる音高を示すデータとともに、ｅ（ｄ１，１），ｅ（ｄ２，１）・・・なる強度を示すデータが収容されることになる。この強度を示すデータは、各代表周波数の成分が、元の区間信号にどの程度の度合いで含まれていたかによって決定される。具体的には、各代表周波数をもった周期関数の区間信号に対する相関値に基づいて強度を示すデータが決定されることになる。また、図１（ｂ）に示す概念図では、音符の横方向の位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【００１６】
音響信号を符号化する形式としては、必ずしもＭＩＤＩ形式を採用する必要はないが、この種の符号化形式としてはＭＩＤＩ形式が最も普及しているため、実用上はＭＩＤＩ形式の符号データを用いるのが好ましい。ＭＩＤＩ形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーＮとベロシティーＶを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーＮとベロシティーＶを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーＶは、例えば、ピアノの鍵盤などを押し下げる速度（ノートオン時のベロシティー）および鍵盤から指を離す速度（ノートオフ時のベロシティー）を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【００１７】
前述の方法では、第ｉ番目の単位区間ｄｉについて、代表符号としてＪ個のノートナンバーｎ（ｄｉ，１），ｎ（ｄｉ，２），・・・，ｎ（ｄｉ，Ｊ）が得られ、このそれぞれについて強度ｅ（ｄｉ，１），ｅ（ｄｉ，２），・・・，ｅ（ｄｉ，Ｊ）が得られる。そこで、次のような手法により、ＭＩＤＩ形式の符号データを作成することができる。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーＮとしては、得られたノートナンバーｎ（ｄｉ，１），ｎ（ｄｉ，２），・・・，ｎ（ｄｉ，Ｊ）をそのまま用いれば良い。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーＶとしては、得られた強度ｅ（ｄｉ，１），ｅ（ｄｉ，２），・・・，ｅ（ｄｉ，Ｊ）を所定の方法で規格化した値を用いれば良い。また、「デルタタイム」データは、各単位区間の長さに応じて設定すれば良い。
【００１８】
（1.2.周期関数との相関を求める具体的な方法）
上述した基本原理の基づく方法では、区間信号に対して、１つまたは複数の代表周波数が選出され、この代表周波数をもった周期信号によって、当該区間信号が表現されることになる。ここで、選出される代表周波数は、文字どおり、当該単位区間内の信号成分を代表する周波数である。この代表周波数を選出する具体的な方法には、後述するように、短時間フーリエ変換を利用する方法と、一般化調和解析の手法を利用する方法とがある。いずれの方法も、基本的な考え方は同じであり、あらかじめ周波数の異なる複数の周期関数を用意しておき、これら複数の周期関数の中から、当該単位区間内の区間信号に対する相関が高い周期関数を見つけ出し、この相関の高い周期関数の周波数を代表周波数として選出する、という手法を採ることになる。すなわち、代表周波数を選出する際には、あらかじめ用意された複数の周期関数と、単位区間内の区間信号との相関を求める演算を行うことになる。そこで、ここでは、周期関数との相関を求める具体的な方法を述べておく。
【００１９】
複数の周期関数として、図２に示すような三角関数が用意されているものとする。これらの三角関数は、同一周波数をもった正弦関数と余弦関数との対から構成されており、１２８通りの標準周波数ｆ（０）〜ｆ（１２７）のそれぞれについて、正弦関数および余弦関数の対が定義されていることになる。ここでは、同一の周波数をもった正弦関数および余弦関数からなる一対の関数を、当該周波数についての周期関数として定義することにする。すなわち、ある特定の周波数についての周期関数は、一対の正弦関数および余弦関数によって構成されることになる。このように、一対の正弦関数と余弦関数とにより周期関数を定義するのは、信号に対する周期関数の相関値を求める際に、相関値が位相の影響を受ける事を考慮するためである。なお、図２に示す各三角関数内の変数Ｆおよびｋは、区間信号Ｘについてのサンプリング周波数Ｆおよびサンプル番号ｋに相当する変数である。例えば、周波数ｆ（０）についての正弦波は、ｓｉｎ（２πｆ（０）ｋ／Ｆ）で示され、任意のサンプル番号ｋを与えると、区間信号を構成する第ｋ番目のサンプルと同一時間位置における周期関数の振幅値が得られる。
【００２０】
ここでは、１２８通りの標準周波数ｆ（０）〜ｆ（１２７）を図３に示すような式で定義した例を示すことにする。すなわち、第ｎ番目（０≦ｎ≦１２７）の標準周波数ｆ（ｎ）は、以下に示す〔数式１〕で定義されることになる。
【００２１】
〔数式１〕
ｆ（ｎ）＝４４０×２γ(n)
γ（ｎ）＝（ｎ−６９）／１２
【００２２】
このような式によって標準周波数を定義しておくと、最終的にＭＩＤＩデータを用いた符号化を行う際に便利である。なぜなら、このような定義によって設定される１２８通りの標準周波数ｆ（０）〜ｆ（１２７）は、等比級数をなす周波数値をとることになり、ＭＩＤＩデータで利用されるノートナンバーに対応した周波数になるからである。したがって、図２に示す１２８通りの標準周波数ｆ（０）〜ｆ（１２７）は、対数尺度で示した周波数軸上に等間隔（ＭＩＤＩにおける半音単位）に設定した周波数ということになる。
【００２３】
続いて、任意の区間の区間信号に対する各周期関数の相関の求め方について、具体的な説明を行う。例えば、図４に示すように、ある単位区間ｄについて区間信号Ｘが与えられていたとする。ここでは、区間長Ｌをもった単位区間ｄについて、サンプリング周波数Ｆでサンプリングが行なわれており、全部でｗ個のサンプル値が得られているものとし、サンプル番号を図示のように、０，１，２，３，・・・，ｋ，・・・，ｗ−２，ｗ−１とする（白丸で示す第ｗ番目のサンプルは、右に隣接する次の単位区間の先頭に含まれるサンプルとする）。この場合、任意のサンプル番号ｋについては、Ｘ（ｋ）なる振幅値がデジタルデータとして与えられていることになる。短時間フーリエ変換においては、Ｘ（ｋ）に対して各サンプルごとに中央の重みが１に近く、両端の重みが０に近くなるような窓関数Ｗ（ｋ）を乗ずることが通常である。すなわち、Ｘ（ｋ）×Ｗ（ｋ）をＸ（ｋ）と扱って以下のような相関計算を行うもので、窓関数の形状としては余弦波形状のハミング窓が一般に用いられている。ここで、ｗは以下の記述においても定数のような記載をしているが、一般にはｎの値に応じて変化させ、区間長Ｌを超えない範囲で最大となるＦ／ｆ（ｎ）の整数倍の値に設定することが望ましい。
【００２４】
このような区間信号Ｘに対して、第ｎ番目の標準周波数ｆ（ｎ）をもった正弦関数Ｒｎとの相関値を求める原理を示す。両者の相関値Ａ（ｎ）は、図５の第１の演算式によって定義することができる。ここで、Ｘ（ｋ）は、図４に示すように、区間信号Ｘにおけるサンプル番号ｋの振幅値であり、ｓｉｎ（２πｆ（ｎ）ｋ／Ｆ）は、時間軸上での同位置における正弦関数Ｒｎの振幅値である。この第１の演算式は、単位区間ｄ内の全サンプル番号ｋ＝０〜ｗ−１の次元について、それぞれ区間信号Ｘの振幅値と正弦関数Ｒｎの振幅ベクトルの内積を求める式ということができる。
【００２５】
同様に、図５の第２の演算式は、区間信号Ｘと、第ｎ番目の標準周波数ｆ（ｎ）をもった余弦関数との相関値を求める式であり、両者の相関値はＢ（ｎ）で与えられる。なお、相関値Ａ（ｎ）を求めるための第１の演算式も、相関値Ｂ（ｎ）を求めるための第２の演算式も、最終的に２／ｗが乗ぜられているが、これは相関値を規格化するためのものでり、前述のとおりｗはｎに依存して変化させるのが一般的であるため、この係数もｎに依存する変数である。
【００２６】
区間信号Ｘと標準周波数ｆ（ｎ）をもった標準周期関数との相関実効値は、図５の第３の演算式に示すように、正弦関数との相関値Ａ（ｎ）と余弦関数との相関値Ｂ（ｎ）との二乗和平方根値Ｅ（ｎ）によって示すことができる。この相関実効値の大きな標準周期関数の周波数を代表周波数として選出すれば、この代表周波数を用いて区間信号Ｘを符号化することができる。
【００２７】
すなわち、この相関値Ｅ（ｎ）が所定の基準以上の大きさとなる１つまたは複数の標準周波数を代表周波数として選出すれば良い。なお、ここで「相関値Ｅ（ｎ）が所定の基準以上の大きさとなる」という選出条件は、例えば、何らかの閾値を設定しておき、相関値Ｅ（ｎ）がこの閾値を超えるような標準周波数ｆ（ｎ）をすべて代表周波数として選出する、という絶対的な選出条件を設定しても良いが、例えば、相関値Ｅ（ｎ）の大きさの順にＱ番目までを選出する、というような相対的な選出条件を設定しても良い。
【００２８】
（1.3.一般化調和解析の手法）
上記のように、区間信号と周期関数との相関を単純に求めていく手法が短時間フーリエ変換であるが、この手法により算出された相関を利用して解析を行なう一般化調和解析について説明する。既に説明したように、音響信号を符号化する場合、個々の単位区間内の区間信号について、相関値の高いいくつかの代表周波数を選出することになる。一般化調和解析は、より高い精度で代表周波数の選出を可能にする手法であり、その基本原理は次の通りである。
【００２９】
図６（ａ）に示すような単位区間ｄについて、信号Ｓ（ｊ）なるものが存在するとする。ここで、ｊは後述するように、繰り返し処理のためのパラメータである（ｊ＝１〜Ｊ）。まず、この信号Ｓ（ｊ）に対して、図２に示すような１２８通りの周期関数すべてについての相関値を求める。この相関値の算出には、上記の短時間フーリエ変換が利用される。そして、最大の相関値が得られた１つの周期関数の周波数を代表周波数として選出し、当該代表周波数をもった周期関数を要素関数として抽出する。続いて、図６（ｂ）に示すような含有信号Ｇ（ｊ）を定義する。この含有信号Ｇ（ｊ）は、抽出された要素関数に、その振幅として、当該要素関数の信号Ｓ（ｊ）に対する相関値を乗じることにより得られる信号である。例えば、周期関数として図２に示すように、一対の正弦関数と余弦関数とを用い、周波数ｆ（ｎ）が代表周波数として選出された場合、振幅Ａ（ｎ）をもった正弦関数Ａ（ｎ）ｓｉｎ（２πｆ（ｎ）ｋ／Ｆ）と、振幅Ｂ（ｎ）をもった余弦関数Ｂ（ｎ）ｃｏｓ（２πｆ（ｎ）ｋ／Ｆ）との和からなる信号が含有信号Ｇ（ｊ）ということになる（図６（ｂ）では、図示の便宜上、一方の関数しか示していない）。ここで、Ａ（ｎ），Ｂ（ｎ）は、図５の式で得られる規格化された相関値であるから、結局、含有信号Ｇ（ｊ）は、信号Ｓ（ｊ）内に含まれている周波数ｆ（ｎ）をもった信号成分ということができる。
【００３０】
こうして、含有信号Ｇ（ｊ）が求まったら、信号Ｓ（ｊ）から含有信号Ｇ（ｊ）を減じることにより、差分信号Ｓ（ｊ＋１）を求める。図６（ｃ）は、このようにして求まった差分信号Ｓ（ｊ＋１）を示している。この差分信号Ｓ（ｊ＋１）は、もとの信号Ｓ（ｊ）の中から、周波数ｆ（ｎ）をもった信号成分を取り去った残りの信号成分からなる信号ということができる。そこで、パラメータｊを１だけ増加させることにより、この差分信号Ｓ（ｊ＋１）を新たな信号Ｓ（ｊ）として取り扱い、同様の処理を、パラメータｊをｊ＝１〜Ｊまで１ずつ増やしながらＪ回繰り返し実行すれば、Ｊ個の代表周波数を選出することができる。
【００３１】
このような相関計算の結果として出力されるＪ個の含有信号Ｇ（１）〜Ｇ（Ｊ）は、もとの区間信号Ｘの構成要素となる信号であり、もとの区間信号Ｘを符号化する場合には、これらＪ個の含有信号の周波数を示す情報および振幅（強度）を示す情報を符号データとして用いるようにすれば良い。尚、Ｊは代表周波数の個数であると説明してきたが、標準周波数ｆ（ｎ）の個数と同一すなわちＪ＝１２８であってもよく、周波数スペクトルを求める目的においてはそのように行うのが通例である。
【００３２】
こうして、各単位区間について、所定数の周波数群が選出されたら、この周波数群の各周波数に対応する「音の高さを示す情報」、選出された各周波数の信号強度に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間に後続する単位区間の始点に対応する「音の発音終了時刻を示す情報」、の４つの情報を含む所定数の符号データを作成すれば、当該単位区間内の区間信号Ｘを所定数の符号データにより符号化することができる。符号データとして、ＭＩＤＩデータを作成するのであれば、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用いるようにすれば良い。
【００３３】
（2.1.本発明に係る周波数解析方法）
ここまでに説明した従来技術とも共通する本発明の基本原理を要約すると、原音響信号に単位区間を設定し、単位区間ごとに複数の周波数に対応する信号強度を算出し、得られた信号強度を基に用意された周期関数を利用して１つまたは複数の代表周波数を選出し、選出された代表周波数に対応する音の高さ情報と、選出された代表周波数の強度に対応する音の強さ情報と、単位区間の始点に対応する発音開始時刻と、単位区間の終点に対応する発音終了時刻で構成される符号データを作成することにより、音響信号の符号化が行われていることになる。
【００３４】
本発明の周波数解析方法、および音響信号の符号化方法では、上記基本原理において、代表周波数を選出する過程において、短時間フーリエ変換による解析結果を基に、一般化調和解析による解析結果を利用するものである。
【００３５】
ここからは、本発明の周波数解析方法について音響信号の周波数解析を行なう場合を例として、図７に示すフローチャートを用いて説明する。まず、音響信号の時間軸上の全区間に渡って単位区間を設定する（ステップＳ１）。このステップＳ１における手法は、上記基本原理において、図１（ａ）を用いて説明した通りである。
【００３６】
次に、各単位区間ごとの音響信号、すなわち区間信号について、短時間フーリエ変換の手法により周波数解析を行って各周波数に対応する相関値を算出する（ステップＳ２）。ここでは、上記「1.2.周期関数との相関を求める具体的な方法」の項における例と同様にノートナンバーに対応した標準周波数を有する１２８通りの標準周期関数を用意し、短時間フーリエ変換により各標準周期関数の標準周波数について相関値を求める。これらの相関値はあらかじめ用意された相関配列に記録される。この相関配列とは、標準周波数ｆ（０）〜ｆ（１２７）に対応する相関値を記録することが可能なものとなっている。
【００３７】
続いて、同じ区間信号について一般化調和解析の手法により周波数解析を行って各標準周波数に対応する相関値を算出する（ステップＳ３）。この相関値はステップＳ２で算出した相関値とは異なり、最後まで利用されるものではなく、ステップＳ２で算出した相関値の優先度を決定するために利用され、優先度配列に記録される。ここでも、上記「1.3.一般化調和解析の手法」の項における例と同様にノートナンバーに対応した周波数を有する１２８通りの各標準周期関数について区間信号との相関値を算出し、優先度配列に記録する。具体的には、上記図６を用いて説明した例におけるＪ個の含有信号Ｇ（１）〜Ｇ（Ｊ）を求めるための相関計算を行うことになる。優先度配列も上記相関配列と同様、標準周波数ｆ（０）〜ｆ（１２７）に対応する相関値を記録することが可能なものとなっている。
【００３８】
上記ステップＳ１で設定された全ての単位区間に対して、ステップＳ２、ステップＳ３の処理は実行される。続いて、ステップＳ２およびステップＳ３により算出された相関配列中の相関値、優先度配列中の相関値を用いて強度配列中に相関値を記録していく（ステップＳ４）。具体的には、まず、各単位区間ごとに優先度配列中の相関値が大きいものから所定数については相関値をそのままとし、それ以外の相関値を０に変更する。この所定数は、設定により変更可能であるが、同時に抽出すべき音の数が設定される。次に、優先度配列中の相関値が０でない周波数について、相関配列中から対応する相関値を抽出し、周波数と対応付けて強度配列に記録する。このようにして、各単位区間について強度配列が得られることになる。得られた強度配列は、本来抽出すべき周波数と相関値の組合せとなるので、これに基づいて周波数成分を抽出することにより、精度の高い周波数解析が可能となる。
【００３９】
上記のような周波数解析方法による効果的な例を図８を用いて説明する。図８において、６つのグラフはいずれも周波数（ノートナンバー）と強度の関係を示している。左上の図は、原信号のスペクトルであり、この２つの周波数成分をこの強度で抽出できることが最も好ましい。このような原音響信号に対して、一般化調和解析、短時間フーリエ変換による解析を行なうことにより得られるスペクトル信号は、それぞれ左中、左下の図に示す曲線のようになる。なお、左中、左下の図においては、原信号の周波数と対応する位置に直線を引いておく。さて、左中の図に示した一般化調和解析の結果に基づいて、最大の強度を有する２つの周波数成分を抽出すると、右中の図のようになり、抽出された周波数成分は、原信号と同一の周波数であるが、強度値は逆転しており、左側が１位、右側が２位となっている。一方、左下の図に示した短時間フーリエ変換の解析結果に基づいて最大の強度を有する２つの周波数成分を抽出すると、右上の図のようになり、１位の周波数成分は、原信号と全く同一であるが、２位の周波数成分としては、全く原信号には存在しなかったものが抽出されることになる。本発明の周波数解析方法によれば、左下の図に示したようなスペクトル信号を用いて、すなわち、周波数に対応する強度値は短時間フーリエ変換による解析結果を利用し、その抽出周波数の決定だけを一般化調和解析の結果に基づいて行うようにしたので、
右下の図に示すように原信号の周波数成分を正確に抽出することができる。
【００４０】
次に、本発明に係る音響信号の符号化方法について、図９に示すフローチャートを用いて説明する。まず、音響信号の時間軸上の全区間に渡って単位区間を設定する（ステップＳ１１）。このステップＳ１１における手法は、図７に示したステップＳ１とほぼ同様の手法であり、上記基本原理において、図１（ａ）を用いて説明した通りである。
【００４１】
次に、各単位区間ごとの音響信号、すなわち区間信号について、短時間フーリエ変換の手法により周波数解析を行って各周波数に対応する相関値を算出する（ステップＳ１２）。これも図７に示したステップＳ２と同様、上記「1.2.周期関数との相関を求める具体的な方法」の項における例と同様にノートナンバーに対応した標準周波数を有する１２８通りの標準周期関数を用意し、短時間フーリエ変換により各標準周期関数の標準周波数について相関値を求める。これらの相関値はあらかじめ用意された相関配列に記録される。この相関配列とは、標準周波数ｆ（０）〜ｆ（１２７）に対応する相関値を記録することが可能なものとなっている。
【００４２】
続いて、同じ区間信号について一般化調和解析の手法により周波数解析を行って各標準周波数に対応する相関値を算出する（ステップＳ１３）。ステップＳ１３についても、図７に示したステップＳ２と同様、この相関値はステップＳ１２で算出した相関値とは異なり、最後まで利用されるものではなく、ステップＳ１２で算出した相関値の優先度を決定するために利用され、優先度配列に記録される。ここでも、上記「1.3.一般化調和解析の手法」の項における例と同様にノートナンバーに対応した周波数を有する１２８通りの各標準周期関数について区間信号との相関値を算出し、優先度配列に記録する。具体的には、上記図６を用いて説明した例におけるＪ個の含有信号Ｇ（１）〜Ｇ（Ｊ）を求めるための相関計算を行うことになる。優先度配列も上記相関配列と同様、標準周波数ｆ（０）〜ｆ（１２７）に対応する相関値を記録することが可能なものとなっている。
【００４３】
上記ステップＳ１１で設定された全ての単位区間に対して、ステップＳ１２、ステップＳ１３の処理は実行される。ステップＳ１２およびステップＳ１３により算出された相関配列中の相関値、優先度配列中の相関値は、それぞれ単位音素データの属性情報の１つとして利用される。具体的には、ステップＳ１２において短時間フーリエ変換の手法により得られた標準周波数、相関配列中の相関値、単位区間の始点、単位区間の終点の４つの情報、およびステップＳ１３において一般化調和解析の手法により得られた優先度配列中の相関値を加えた５つの情報を「単位音素データ」と定義する。この単位音素データとは、音素データのうち、特に単位区間長のものをいう。本実施形態では、上記基本原理で説明した場合のように、代表周波数を選出するのではなく、用意した標準周期関数全てに対応する単位音素データを取得する。このステップＳ１２の処理を全単位区間に対して行うことにより、単位音素データ[ｍ，ｎ]（０≦ｍ≦Ｍ−１，０≦ｎ≦Ｎ−１）群が得られることになる。ここで、Ｎは標準周期関数の総数（上述の例ではＮ＝１２８）、Ｍは音響信号において設定された単位区間の総数である。つまり、Ｍ×Ｎ個の単位音素データからなる単位音素データ群が得られることになる。
【００４４】
単位音素データ群が得られたら、この単位音素データ群を構成する単位音素データの優先度の決定を行う（ステップＳ１４）。具体的には、まず、優先度配列中の相関値が所定の基準以下である単位音素データを削除する。ここで、優先度配列中の相関値が所定の基準以下である単位音素データを削除するのは、信号レベルがほとんど０であって、実際には音が存在していないと判断される音素を削除するためである。そのため、この所定の基準としては、音が実際に存在しないレベルとみなされる値が設定される。この時点で単位音素データの数はＭ×Ｎ個より減ることになる。
【００４５】
続いて、各単位区間ごとに優先度配列中の相関値が大きいものから所定数については相関値をそのままとし、それ以外の相関値を０に変更する。この所定数は、設定により変更可能であるが、通常ＭＩＤＩ規格の同時発音可能な音の数である１６が設定される。これにより、優先度配列中の相関値をそのままとされた単位音素データは、優先マークがマーキングされたのと同様の効果を生じることになる。優先度配列中の相関値をそのままとされた単位音素データを以降優先音素データと呼ぶことにする。
【００４６】
このようにして優先音素データを含む単位音素データ群が得られたら、同一周波数で時系列方向に連続する複数の単位音素データを１つの連結音素データとして連結する（ステップＳ１５）。図１０は単位音素データの連結を説明するための概念図である。図１０（ａ）は連結前の単位音素データ群の様子を示す図である。図１０（ａ）において、格子状に仕切られた各矩形は単位音素データを示しており、網掛けがされている矩形は、上記ステップＳ４において優先度配列中の相関値が所定の基準以下であると判断されて削除された単位音素データであり、その他の矩形は削除されなかった単位音素データを示す。ステップＳ５においては、同一周波数（同一ノートナンバー）で時間ｔ方向に連続する単位音素データを連結するため、図１０（ａ）に示す単位音素データ群に対して連結処理を実行すると、図１０（ｂ）に示すような複数の連結音素データ、複数の単位音素データからなる音素データ群が得られる。例えば、図１０（ａ）に示した単位音素データＡ１、Ａ２、Ａ３は連結されて、図１０（ｂ）に示すような連結音素データＡが得られることになる。このとき、構成される単位音素データＡ１、Ａ２、Ａ３のいずれか１つは優先音素データ、すなわち優先度配列中の相関値が正の値になっていなければならず、いずれも優先音素データでない場合は連結されずにこの段階で削除され、次のステップＳ１６には渡されない。連結が行われる場合、新たに得られる連結音素データＡの周波数としては、単位音素データＡ１、Ａ２、Ａ３に共通の周波数が与えられ、相関配列中の相関値としては、単位音素データＡ１、Ａ２、Ａ３の相関配列中の相関値のうち最大のものが与えられ、開始時刻としては、先頭の単位音素データＡ１の区間開始時刻ｔ１が与えられ、終了時刻としては、最後尾の単位音素データＡ３の区間終了時刻ｔ４が与えられる。最終的な符号化時には、単位音素データとは異なり、周波数（ノートナンバー）、相関配列の相関値、開始時刻、終了時刻の４つの情報だけで構成されるため、３つの単位音素データが１つの連結音素データに統合されることにより、データ量は３分の１に削減される。このことは、最終的にＭＩＤＩ符号化される場合には、短い音符３つではなく、長い音符１つとして表現されることを意味している。また、図１０（ａ）に示した優先音素データＢのように、同一周波数で時系列方向に連続する単位音素データがない場合で、当該単位音素データが優先音素データである場合には、図１０（ｂ）に示すように、連結されずにそのまま残ることになるが、以降の処理においては、連結音素データも、連結されなかった単位区間長の優先音素データもまとめて「音素データ」として扱う。
【００４７】
続いて、全区間において音素データの総数が所定数を超えないように音素データの削除を行って符号化を行う（ステップＳ１６）。所定数としては、例えば、ＭＩＤＩデータに符号化するのであれば、１秒間あたりの音素数として２５０（符号長２０ｋｂｐｓ）未満に設定される。具体的にどの音素データを削除するかについては、各音素データの（終了時刻−開始時刻）×相関値、により算出される値を採用する。すなわち、この値が低いものを順次削除していくことになる。
音素データの総数の調整が行われたら、ＭＩＤＩ形式に符号化を行う。
【００４８】
以上のようにして、符号化が行われることになるが、次にさらに精度を高める手法について説明する。上記ステップＳ１４の優先度決定段階においては、優先度配列を利用することにより、単位音素データ群のうち、優先度配列中の相関値が所定の基準以下である単位音素データを削除するようにしたが、以下の手法を用いることにより、優先度配列に記録する値をより精度の高いものにすることができる。具体的には、まず、ノートナンバーに対応した標準周波数よりもさらに狭い間隔で周波数を定義すると共に定義された周波数に対応する周期関数を用意する。このような狭い間隔で定義された周波数を本明細書では、微細周波数と呼び、微細周波数に対応する周期関数を微細周期関数と呼ぶことにする。微細周波数としては、隣接する標準周波数間に所定数設定される。また、微細周波数間の間隔は、標準周波数の場合と同様に等比級数となるように設定される。ここで、微細周波数を各標準周波数間に１２個設定した例を図１１に示す。図１１に示すように、標準周波数ｆ（ｎ）と標準周波数ｆ（ｎ＋１）の間に微細周波数ｆ（ｎ＋１／１３）〜微細周波数ｆ（ｎ＋１２／１３）の１２個が設定されている。図１１中、ノートナンバーｎ＋６／１３とノートナンバーｎ＋７／１３の間の点線は、各標準周波数とみなされる微細周波数の範囲を示す。この「各標準周波数とみなされる」とは、各標準周波数に対応する相関値として優先度配列に格納されることを示している。図１１においては、ノートナンバーｎ＋６／１３まではノートナンバーｎの周波数範囲とみなされ、ノートナンバーｎ＋７／１３からはノートナンバーｎ＋１とみなされることを示している。
【００４９】
このような微細周波数に対して図２に示した標準周期関数と同じ形式の微細周期関数が用意され、各微細周期関数と区間信号との相関値が算出される。そして各標準周波数の範囲となる１３個（１個の標準周波数と前後６個ずつの微細周波数）の周波数の相関値のうち、最大のものがその標準周波数の相関値として優先度配列に格納される。例えば、ノートナンバーｎ（標準周波数ｆ（ｎ））の相関値は、ノートナンバーｎ−６／１３からノートナンバーｎ＋６／１３までの１３個の相関値で最大のものが設定されることになる。ここで、最大の相関値を有する周波数がノートナンバーｎ−６／１３や、ノートナンバーｎ＋６／１３のように標準周波数範囲の端に位置する場合には、対象とする標準周波数と隣接する標準周波数の境界部に存在する成分である可能性もあるが、隣接する標準周波数成分の影響により対象とする標準周波数の範囲内には本来存在しない成分である可能性が高い。前者と後者を判別するためには、隣接する標準周波数の微細周波数に注目し、隣接する標準周波数が対象とする標準周波数に重なるように標準周波数範囲の端に位置している場合には前者であり、それ以外に位置する場合は後者とみなし、後者の場合には優先度配列の対応する標準周波数の相関値を「０」に設定する。前者の場合は、対象とする標準周波数成分と隣接する標準周波数成分が重複して算出されてしまうため、優先度配列の対象とする標準周波数の相関値または隣接する標準周波数の相関値を「０」に設定し、本実施形態では相関値が低い方を「０」に設定するようにしている。
【００５０】
このようにして優先度配列の相関値が「０」として設定された単位音素データは、当然のことながら、優先度配列の相関値が所定の基準以下であると判断されて、ステップＳ１４において削除されることになる。すなわち、微細周波数を設定することにより、より精度の高い優先音素データが得られることになる。
【００５１】
以上、本発明の好適な実施形態について説明したが、上記周波数解析方法および音響信号の符号化方法は、コンピュータ等で実行されることは当然である。具体的には、図７および図９のフローチャートに示したようなステップを上記手順で実行するためのプログラムをコンピュータに搭載しておく。そして、音響信号をＰＣＭ方式等でデジタル化した後、コンピュータに取り込み、ステップＳ１〜ステップＳ４またはステップＳ１１〜ステップＳ１６の処理を行った後、周波数解析を行った場合は、その周波数成分を、符号化を行った場合は、ＭＩＤＩ形式等の符号データをコンピュータより出力する。符号化を行った場合は、出力された符号データは、例えば、ＭＩＤＩデータの場合、ＭＩＤＩシーケンサ、ＭＩＤＩ音源を用いて音声として再生される。
【００５２】
【発明の効果】
以上、説明したように本発明によれば、解析しようとする周波数範囲で複数の周波数を設定し、各周波数に対応する複数の周期関数集合を準備し、各周波数と相関値の関係を各周波数について格納するための配列である相関配列、優先度配列、強度配列を準備し、時系列信号の時間軸上に複数の単位区間を設定し、各単位区間ごとに区間信号を抽出し、複数の周期関数と区間信号との相関を演算して各周期関数に対応する相関値を算出し、相関配列の各周期関数の周波数に対応する値を設定し、周期関数集合を利用して一般化調和解析の手法により各周波数に対応する相関値を算出し、優先度配列の各周波数に対応する値を設定し、相関配列に対して前記優先度配列の値により重み付けすることにより強度配列の値を決定するようにするようにしたので、擬似成分の抽出を抑え、基の時系列信号に含まれている信号成分を正確に抽出することが可能となるという効果を奏する。さらに、時系列信号として音響信号を用い、この音響信号に対して周波数解析を行うことにより精度の高い符号化を行うことが可能となるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の音響信号の符号化方法の基本原理を示す図である。
【図２】本発明で利用される周期関数の一例を示す図である。
【図３】図２に示す各周期関数の周波数とＭＩＤＩノートナンバーｎとの関係式を示す図である。
【図４】解析対象となる信号と周期信号との相関計算の手法を示す図である。
【図５】図４に示す相関計算を行うための計算式を示す図である。
【図６】一般化調和解析の基本的な手法を示す図である。
【図７】本発明の周波数解析方法のフローチャートである。
【図８】本発明の周波数解析方法による効果的な例を示す図である。
【図９】本発明の音響信号の符号化方法のフローチャートである。
【図１０】単位音素データの連結を説明するための概念図である。
【図１１】各標準周波数間に１２個の微細周波数を設定した状態を示す図である。
【符号の説明】
Ａ（ｎ），Ｂ（ｎ）・・・相関値
ｄ，ｄ１〜ｄ５・・・単位区間
Ｅ（ｎ）・・・相関値
Ｇ（ｊ）・・・含有信号
ｎ，ｎ１〜ｎ６・・・ノートナンバー
Ｓ（ｊ），Ｓ（ｊ＋１）・・・差分信号
Ｘ，Ｘ（ｋ）・・・区間信号
【図１】
0004662406.tif 000002
【図２】
0004662406.tif 000003
【図３】
0004662406.tif 000004
【図４】
0004662406.tif 000005
【図５】
0004662406.tif 000006
【図６】
0004662406.tif 000007
【図７】
0004662406.tif 000008
【図８】
0004662406.tif 000009
【図９】
0004662406.tif 000010
【図１０】
0004662406.tif 000011
【図１１】
0004662406.tif 000012