(57)【特許請求の範囲】
【請求項１】
与えられた音響信号に対して、時間軸上に複数の単位区間を設定する区間設定段階と、
前記単位区間に対して複数の周波数に対応する信号強度を算出するための信号解析段階と、
前記信号解析段階で得られた信号強度を基に１つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成する単位符号生成段階と、を有し、
前記単位符号生成段階における処理を前記音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の高さ情報の変移の状態に基づいて、あらかじめ用意された音の高さの変移パターンにしたがって、前記近接する複数の単位符号データを１つの統合符号データに統合する統合符号生成段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項２】
前記近接する複数の単位符号データのうち、ある１つの単位符号データの音の高さ情報を基準値としたときに、他の単位符号データの音の高さ情報が取り得る上限値、下限値の前記基準値との差である上限差分、下限差分を定め、
前記音の高さの変移パターンとして、前記上限差分と前記下限差分の関係がほぼ等しい平坦型、前記上限差分が前記下限差分より大きい上昇型、前記上限差分が前記下限差分より小さい下降型を有し、
前記統合符号生成段階においては、音の高さの変移状態が前記上昇型または前記下降型である場合に、統合された統合符号データに、滑らかに音の高さを変移させる制御情報を付加するようにしたことを特徴とする請求項１に記載の音響信号の符号化方法。
【請求項３】
与えられた音響信号に対して、時間軸上に複数の単位区間を設定する区間設定段階と、
前記単位区間に対して複数の周波数に対応する信号強度を算出するための信号解析段階と、
前記信号解析段階で得られた信号強度を基に１つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成する単位符号生成段階と、を有し、
前記単位符号生成段階における処理を前記音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の強さ情報の変移の状態に基づいて、あらかじめ用意された音の強さの変移パターンにしたがって、前記近接する複数の単位符号データを１つの統合符号データに統合する統合符号生成段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項４】
前記音の強さの変移パターンとして、前記近接する複数の単位符号データの各音の強さ情報が連続的に減衰する単調減衰型、各音の強さ情報が一度増幅した後連続的に減衰する単峰型、各音の強さ情報が増幅と減衰を二度以上繰り返す振動型を有し、
前記統合符号生成段階においては、音の強さの変移状態が前記単峰型または前記振動型である場合に、統合された統合符号データに、音の強さを変移させる制御情報を付加するようにしたことを特徴とする請求項３に記載の音響信号の符号化方法。
【請求項５】
前記統合符号生成段階において、統合符号データの生成が行われた後、時系列上でほぼ同時刻に位置する複数の統合符号データの変移パターンが同一で、かつ複数の統合符号データのうち一方の統合符号データの音の高さ情報に対応する周波数が他方の統合符号データの音の高さ情報に対応する周波数のほぼ整数倍の関係になる場合に、前記ほぼ同時刻に位置する複数の統合符号データをさらに統合して１つの統合符号データとすることを特徴とする請求項１から請求項４のいずれかに記載の音響信号の符号化方法。
【請求項６】
前記統合符号生成段階において、前記音の高さ情報がノートナンバーで、前記音の強さ情報がベロシティで、前記発音開始時刻がノートオン時刻で、前記発音終了時刻がノートオフ時刻で記述され、前記符号データがＭＩＤＩデータであることを特徴とする請求項１から請求項５のいずれかに記載の音響信号の符号化方法。
【請求項７】
前記統合符号生成段階において、前記ＭＩＤＩデータのノートオン時刻からノートオフ時刻に対して、前記滑らかに音の高さを変移させる制御情報を同区間のピッチベンドデータにより記述し、前記ＭＩＤＩデータに付加するようにしていることを特徴とする請求項６に記載の音響信号の符号化方法。
【請求項８】
前記統合符号生成段階において、前記滑らかに音の高さを変移させる制御情報は、ＭＩＤＩデータのチャンネル別に記述されることを特徴とする請求項６に記載の音響信号の符号化方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、放送メディア（ラジオ、テレビ）、通信メディア（ＣＳ映像・音声配信、インターネット音楽配信、通信カラオケ）、パッケージメディア（ＣＤ、ＭＤ、カセット、ビデオ、ＬＤ、ＣＤ−ＲＯＭ、ゲームカセット、携帯音楽プレーヤ向け固体メモリ媒体）などで提供する各種オーディオコンテンツの制作、並びに、専用携帯音楽プレーヤ、携帯電話・ＰＨＳ・ポケベルなどに向けたボーカルを含む音楽コンテンツ、歌舞伎・能・読経・詩歌など文芸作品の音声素材または語学教育音声教材のＭＩＤＩ伝送に利用するのに好適な音響信号の符号化技術に関する。
【０００２】
【従来の技術】
音響信号に代表される時系列信号には、その構成要素として複数の周期信号が含まれている。このため、与えられた時系列信号にどのような周期信号が含まれているかを解析する手法は、古くから知られている。例えば、フーリエ解析は、与えられた時系列信号に含まれる周波数成分を解析するための方法として広く利用されている。
【０００３】
このような時系列信号の解析方法を利用すれば、音響信号を符号化することも可能である。コンピュータの普及により、原音となるアナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして取り込むことが容易にできるようになってきており、こうして取り込んだデジタルデータに対してフーリエ解析などの手法を適用し、原音信号に含まれていた周波数成分を抽出すれば、各周波数成分を示す符号によって原音信号の符号化が可能になる。
【０００４】
一方、電子楽器による楽器音を符号化しようという発想から生まれたＭＩＤＩ（Musical Instrument Digital Interface）規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このＭＩＤＩ規格による符号データ（以下、ＭＩＤＩデータという）は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このＭＩＤＩデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したＭＩＤＩ音源が別途必要になるが、その符号化効率の高さが注目を集めており、ＭＩＤＩ規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウェアに広く採り入れられている。
【０００５】
そこで、音響信号に代表される時系列信号に対して、所定の手法で解析を行うことにより、その構成要素となる周期信号を抽出し、抽出した周期信号をＭＩＤＩデータを用いて符号化しようとする提案がなされている。例えば、特開平１０−２４７０９９号公報、特開平１１−７３１９９号公報、特開平１１−７３２００号公報、特開平１１−９５７５３号公報、特開２０００−９９００９号公報、特開２０００−９９０９２号公報、特開平２０００−９９０９３号公報、特願平１１−５８４３１号明細書、特願平１１−１７７８７５号明細書、特願平１１−３２９２９７号明細書には、任意の時系列信号について、構成要素となる周波数を解析し、その解析結果からＭＩＤＩデータを作成することができる種々の方法が提案されている。
【０００６】
【発明が解決しようとする課題】
上記各公報または明細書において提案してきたＭＩＤＩ符号化方式により、音響信号の効率的な符号化が可能になった。特に、特開平１１−９５７５３号公報において提案している手法においては、時系列上の単位区間ごとに生成した符号データについて、連続する符号データ同士が類似している場合に両者を統合することにより、さらなるデータ量の削減が可能となっている。しかしながら、従来の統合手法では、連続する符号データ同士の類似性のみに着目して統合をおこなっているため、滑らかに音の高さが変化するような演奏を行った場合に得られる符号データに対しては、上手く統合することができない。
【０００７】
そこで、本発明は、連続的に音の高さが変化するような演奏についても、原音響信号をより忠実に再現することが可能な音響信号の符号化方法を提供することを課題とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明では、与えられた音響信号に対して、時間軸上に複数の単位区間を設定し、設定された単位区間に対して複数の周波数に対応する信号強度を算出し、得られた信号強度を基に１つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成するようにし、この単位符号データの生成処理を、音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の高さ情報の変移の状態に基づいて、あらかじめ用意された音の高さの変移パターンにしたがって、近接する複数の単位符号データを１つの統合符号データに統合するようにしたことを特徴とする。
本発明によれば、音響信号に対して信号解析を行うことにより複数の周波数に対応する信号強度を算出し、この信号強度を基にさらに選出される周波数に対応する音の高さ、音の強さ、単位区間の始点、後続する単位区間の始点に基づいて単位符号データを生成し、近接する複数の単位符号データの変移状態に基づいてあらかじめ用意された変移パターンにしたがって統合するようにしたので、連続的に音の高さが変化するような演奏についても、原音響信号をより忠実に再現することが可能となる。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１０】
（音響信号符号化方法の基本原理）
はじめに、本発明に係る音響信号の符号化方法の基本原理を述べておく。この基本原理は、前掲の各公報あるいは明細書に開示されているので、ここではその概要のみを簡単に述べることにする。
【００１１】
図１（ａ）に示すように、時系列信号としてアナログ音響信号が与えられたものとする。図１の例では、横軸に時間ｔ、縦軸に振幅（強度）をとって、この音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なＰＣＭの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。ここでは、説明の便宜上、ＰＣＭの手法でデジタル化した音響データの波形も図１（ａ）のアナログ音響信号と同一の波形で示すことにする。
【００１２】
続いて、この解析対象となる音響信号の時間軸上に、複数の単位区間を設定する。図１（ａ）に示す例では、時間軸ｔ上に等間隔に６つの時刻ｔ１〜ｔ６が定義され、これら各時刻を始点および終点とする５つの単位区間ｄ１〜ｄ５が設定されている。図１の例では、全て同一の区間長をもった単位区間が設定されているが、個々の単位区間ごとに区間長を変えるようにしてもかまわない。あるいは、隣接する単位区間が時間軸上で部分的に重なり合うような区間設定を行ってもかまわない。
【００１３】
こうして単位区間が設定されたら、各単位区間ごとの音響信号（以下、区間信号と呼ぶことにする）について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、例えば、その中で振幅の大きな周波数成分を代表周波数として選出すれば良い。代表周波数は１つだけ選出しても良いが、複数の代表周波数を選出した方が、より精度の高い符号化が可能になる。図１（ｂ）には、個々の単位区間ごとにそれぞれ３つの代表周波数を選出し、１つの代表周波数を１つの代表符号コード（図では便宜上、音符として示してある）として符号化した例が示されている。ここでは、代表符号コード（音符）を収容するために３つのトラックＴ１，Ｔ２，Ｔ３が設けられているが、これは個々の単位区間ごとに選出された３つずつの代表符号コードを、それぞれ異なるトラックに収容するためである。なお、ここでの「コード」は記号を意味する「ｃｏｄｅ」の意味であり、和音を示す「ｃｈｏｒｄ」の意味ではない。
【００１４】
例えば、単位区間ｄ１について選出された代表符号コードｎ（ｄ１，１），ｎ（ｄ１，２），ｎ（ｄ１，３）は、それぞれトラックＴ１，Ｔ２，Ｔ３に収容されている。ここで、各コードｎ（ｄ１，１），ｎ（ｄ１，２），ｎ（ｄ１，３）は、ＭＩＤＩ符号におけるノートナンバーを示すコードである。ＭＩＤＩ符号におけるノートナンバーは、０〜１２７までの１２８通りの値をとり、それぞれピアノの鍵盤の１つのキーを示すことになる。具体的には、例えば、代表周波数として４４０Ｈｚが選出された場合、この周波数はノートナンバーｎ＝６９（ピアノの鍵盤中央の「ラ音（Ａ３音）」に対応）に相当するので、代表符号コードとしては、ｎ＝６９が選出されることになる。もっとも、図１（ｂ）は、上述の方法によって得られる代表符号コードを音符の形式で示した概念図であり、実際には、各音符にはそれぞれ強度に関するデータも付加されている。例えば、トラックＴ１には、ノートナンバーｎ（ｄ１，１），ｎ（ｄ２，１）・・・なる音階を示すデータとともに、ｅ（ｄ１，１），ｅ（ｄ２，１）・・・なる強度を示すデータが収容されることになる。この強度を示すデータは、各代表周波数の成分が、元の区間信号にどの程度の度合いで含まれていたかによって決定される。具体的には、各代表周波数をもった周期関数の区間信号に対する相関値に基づいて強度を示すデータが決定されることになる。また、図１（ｂ）に示す概念図では、音符の横方向の位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【００１５】
音響信号を符号化する形式としては、必ずしもＭＩＤＩ形式を採用する必要はないが、この種の符号化形式としてはＭＩＤＩ形式が最も普及しているため、実用上はＭＩＤＩ形式の符号データを用いるのが好ましい。ＭＩＤＩ形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーＮとベロシティーＶを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーＮとベロシティーＶを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーＶは、例えば、ピアノの鍵盤などを押し下げる速度（ノートオン時のベロシティー）および鍵盤から指を離す速度（ノートオフ時のベロシティー）を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【００１６】
前述の方法では、第ｉ番目の単位区間ｄｉについて、代表符号コードとしてＪ個のノートナンバーｎ（ｄｉ，１），ｎ（ｄｉ，２），・・・，ｎ（ｄｉ，Ｊ）が得られ、このそれぞれについて強度ｅ（ｄｉ，１），ｅ（ｄｉ，２），・・・，ｅ（ｄｉ，Ｊ）が得られる。そこで、次のような手法により、ＭＩＤＩ形式の符号データを作成することができる。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーＮとしては、得られたノートナンバーｎ（ｄｉ，１），ｎ（ｄｉ，２），・・・，ｎ（ｄｉ，Ｊ）をそのまま用いれば良い。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーＶとしては、得られた強度ｅ（ｄｉ，１），ｅ（ｄｉ，２），・・・，ｅ（ｄｉ，Ｊ）を所定の方法で規格化した値を用いれば良い。また、「デルタタイム」データは、各単位区間の長さに応じて設定すれば良い。
【００１７】
（周期関数との相関を求める具体的な方法）
上述した基本原理の基づく方法では、区間信号に対して、１つまたは複数の代表周波数が選出され、この代表周波数をもった周期信号によって、当該区間信号が表現されることになる。ここで、選出される代表周波数は、文字どおり、当該単位区間内の信号成分を代表する周波数である。この代表周波数を選出する具体的な方法には、後述するように、短時間フーリエ変換を利用する方法と、一般化調和解析の手法を利用する方法とがある。いずれの方法も、基本的な考え方は同じであり、あらかじめ周波数の異なる複数の周期関数を用意しておき、これら複数の周期関数の中から、当該単位区間内の区間信号に対する相関が高い周期関数を見つけ出し、この相関の高い周期関数の周波数を代表周波数として選出する、という手法を採ることになる。すなわち、代表周波数を選出する際には、あらかじめ用意された複数の周期関数と、単位区間内の区間信号との相関を求める演算を行うことになる。そこで、ここでは、周期関数との相関を求める具体的な方法を述べておく。
【００１８】
複数の周期関数として、図２に示すような三角関数が用意されているものとする。これらの三角関数は、同一周波数をもった正弦関数と余弦関数との対から構成されており、１２８通りの標準周波数ｆ（０）〜ｆ（１２７）のそれぞれについて、正弦関数および余弦関数の対が定義されていることになる。ここでは、同一の周波数をもった正弦関数および余弦関数からなる一対の関数を、当該周波数についての周期関数として定義することにする。すなわち、ある特定の周波数についての周期関数は、一対の正弦関数および余弦関数によって構成されることになる。このように、一対の正弦関数と余弦関数とにより周期関数を定義するのは、信号に対する周期関数の相関値を求める際に、相関値が位相の影響を受ける事を排除するためである。なお、図２に示す各三角関数内の変数Ｆおよびｋは、区間信号Ｘについてのサンプリング周波数Ｆおよびサンプル番号ｋに相当する変数である。例えば、周波数ｆ（０）についての正弦波は、ｓｉｎ（２πｆ（０）ｋ／Ｆ）で示され、任意のサンプル番号ｋを与えると、区間信号を構成する第ｋ番目のサンプルと同一時間位置における周期関数の振幅値が得られる。
【００１９】
ここでは、１２８通りの標準周波数ｆ（０）〜ｆ（１２７）を図３に示すような式で定義した例を示すことにする。すなわち、第ｎ番目（０≦ｎ≦１２７）の標準周波数ｆ（ｎ）は、
ｆ（ｎ）＝４４０×２γ(n)
γ（ｎ）＝（ｎ−６９）／１２
なる式で定義されることになる。このような式によって標準周波数を定義しておくと、最終的にＭＩＤＩデータを用いた符号化を行う際に便利である。なぜなら、このような定義によって設定される１２８通りの標準周波数ｆ（０）〜ｆ（１２７）は、等比級数をなす周波数値をとることになり、ＭＩＤＩデータで利用されるノートナンバーに対応した周波数になるからである。例えば、ノートナンバーｎ＝６９は、前述したようにピアノの鍵盤中央の「ラ音（Ａ３音）」を示しており、４４０Ｈｚの音に相当することになるが、図３に示す式によって第ｎ番目の標準周波数ｆ（ｎ）を定義しておけば、ｎ＝６９を代入すると、ｆ（ｎ）＝４４０が得られることになる。すなわち、図３に示す式によって定義された１２８通りの標準周波数ｆ（０）〜ｆ（１２７）は、ＭＩＤＩデータにおける１２８通りのノートナンバーｎ＝０〜１２７に対応した周波数ということになる。ノートナンバーｎは、１オクターブ上がると、周波数が２倍になる対数尺度の音階を示すため、周波数軸ｆに対して線形には対応しない。したがって、図２に示す１２８通りの標準周波数ｆ（０）〜ｆ（１２７）は、対数尺度で示した周波数軸上に等間隔（ＭＩＤＩにおける半音単位）に設定した周波数ということになる。このため、本願では、図に掲載するグラフにおけるノートナンバー軸を、いずれも対数尺度で示すことにする。
【００２０】
続いて、任意の区間の区間信号に対する各周期関数の相関の求め方について、具体的な説明を行う。例えば、図４に示すように、ある単位区間ｄについて区間信号Ｘが与えられていたとする。ここでは、区間長Ｌをもった単位区間ｄについて、サンプリング周波数Ｆでサンプリングが行なわれており、全部でｗ個のサンプル値が得られているものとし、サンプル番号を図示のように、０，１，２，３，・・・，ｋ，・・・，ｗ−２，ｗ−１とする（白丸で示す第ｗ番目のサンプルは、右に隣接する次の単位区間の先頭に含まれるサンプルとする）。この場合、任意のサンプル番号ｋについては、Ｘ（ｋ）なる振幅値がデジタルデータとして与えられていることになる。
【００２１】
このような区間信号Ｘに対して、第ｎ番目の標準周波数ｆ（ｎ）をもった正弦関数Ｒｎとの相関値を求める原理を示す。両者の相関値Ａ（ｎ）は、図５の第１の演算式によって定義することができる。ここで、Ｘ（ｋ）は、図４に示すように、区間信号Ｘにおけるサンプル番号ｋの振幅値であり、ｓｉｎ（２πｆ（ｎ）ｋ／Ｆ）は、時間軸上での同位置における正弦関数Ｒｎの振幅値である。この第１の演算式は、単位区間ｄ内の全サンプル番号ｋ＝０〜ｗ−１の位置について、それぞれ区間信号Ｘの振幅値と正弦関数Ｒｎの振幅値との積を求め、その総和を求める式ということができる。振幅値は正負の符号を有しているので、その積も正負の符号を有したものになる。したがって、区間信号Ｘと正弦関数Ｒｎとの間に全く相関がなかったとすれば、両振幅の積の符号は、全くランダムに正になったり負になったりするので、その総和は０になる。逆に、両者間に相関があれば、両振幅の積の総和の絶対値は、相関の程度に応じて大きくなる。例えば、区間信号Ｘの振幅が正であるときには、正弦関数Ｒｎの振幅も常に正であり、区間信号Ｘの振幅が負であるときには、正弦関数Ｒｎの振幅も常に負である、というような正の相関がある場合（区間信号Ｘと正弦関数Ｒｎとが同一周波数で同位相）ならば、積の総和は正の最大値になり、これとは逆に、区間信号Ｘの振幅が正であるときには、正弦関数Ｒｎの振幅は常に負であり、区間信号Ｘの振幅が負であるときには、正弦関数Ｒｎの振幅は常に正である、というような負の相関がある場合（区間信号Ｘと正弦関数Ｒｎとが同一周波数で逆位相）ならば、積の総和は負の最大値になる。
【００２２】
同様に、図５の第２の演算式は、区間信号Ｘと、第ｎ番目の標準周波数ｆ（ｎ）をもった余弦関数との相関値を求める式であり、両者の相関値はＢ（ｎ）で与えられる。なお、相関値Ａ（ｎ）を求めるための第１の演算式も、相関値Ｂ（ｎ）を求めるための第２の演算式も、最終的に２／ｗが乗ぜられているが、これは相関値を規格化するためのものである。すなわち、分母のｗは、単位区間ｄ内に含まれる総サンプル数であり、ｋ＝０〜ｗ−１の全ｗ個のサンプルについて求めた総和を、総サンプル数で割ることにより、１サンプル分についての平均を求める意味をもっている。一方、分子の２は、相関値Ａ（ｎ），Ｂ（ｎ）が−１〜＋１の間の値となるようにするための定数である。
【００２３】
区間信号Ｘと標準周波数ｆ（ｎ）をもった標準周期関数との総合的な相関は、例えば、図５の第３の演算式に示すように、正弦関数との相関値Ａ（ｎ）と余弦関数との相関値Ｂ（ｎ）との二乗和平方根値Ｅ（ｎ）によって示すことができる。このように、二乗和平方根値を用いれば、正の相関と負の相関との双方を反映させた総合的な相関を求めることができる。例えば、正弦関数に対しては正の相関を示し、余弦関数に対しては負の相関を示すような場合、相関値Ａ（ｎ）は正の値となり、相関値Ｂ（ｎ）は負の値となるが、二乗和平方根値Ｅ（ｎ）は、両相関値の絶対値を反映した値となる。
【００２４】
図５に示す演算式は、周期関数として三角関数を用いた場合の例（すなわち、波形形状が正弦関数になる関数の例）であるが、本発明を実施する上で用いる周期関数の波形形状は、正弦関数に限定されるものではなく、三角波、矩形波、鋸歯状波などの波形形状をもった周期関数を用いてもかまわない。フーリエスペクトルの実効強度Ｅは、図５の演算式による二乗和平方根値Ｅ（ｎ）に他ならず、各周期関数との総合的な相関を示す値となる。
【００２５】
このような相関計算を行った結果を利用すれば、区間信号Ｘに含まれている任意の標準周波数ｆ（ｎ）をもった標準周期関数Ｒｎの振幅成分を、二乗和平方根値Ｅ（ｎ）として得ることができる。この二乗和平方根値Ｅ（ｎ）の値は、区間信号Ｘと標準周波数ｆ（ｎ）を有する標準周期関数Ｒｎとの総合的な相関を示す値ということができるので、この相関値の大きな標準周期関数の周波数を代表周波数として選出すれば、この代表周波数を用いて区間信号Ｘを符号化することができる。
【００２６】
結局、ある１つの単位区間ｄ内の区間信号Ｘを符号化するのであれば、次のような手法を採れば良い。まず、図２に示すような１２８通りの標準周波数をもった標準周期関数をそれぞれ一対ずつ用意する（１つの周波数について、互いに位相がπ／２だけ異なる一対の周期関数を用意する）。このとき、各標準周波数値が等比級数配列となるような設定をしておくと、ノートナンバーに対応した符号データを得る上で都合が良い。そして、図５に示す演算式に基づいて、標準周波数ｆ（ｎ）をもった標準周期関数との相関値Ａ（ｎ），Ｂ（ｎ）を求める処理を、ｎ＝０〜１２７のそれぞれについて行い、それぞれについて二乗和平方根値Ｅ（ｎ）を求める。ここまでが、周波数解析の手順である。この手順により、各標準周波数について得られた二乗和平方根値Ｅ（ｎ）が、各標準周波数についての相関値ということになり、周波数解析の結果として出力されることになる。この解析結果を用いて、もとの時系列信号を符号化するのであれば、この相関値Ｅ（ｎ）が所定の基準以上の大きさとなる１つまたは複数の標準周波数を代表周波数として選出すれば良い。なお、ここで「相関値Ｅ（ｎ）が所定の基準以上の大きさとなる」という選出条件は、例えば、何らかの閾値を設定しておき、相関値Ｅ（ｎ）がこの閾値を超えるような標準周波数ｆ（ｎ）をすべて代表周波数として選出する、という絶対的な選出条件を設定しても良いが、例えば、相関値Ｅ（ｎ）の大きさの順にＱ番目までを選出する、というような相対的な選出条件を設定しても良い。
【００２７】
（一般化調和解析の手法）
ここでは、本発明に係る時系列信号の解析方法を利用して、音響信号の符号化を行う際に有用な一般化調和解析の手法について説明する。既に説明したように、音響信号を符号化する場合、個々の単位区間内の区間信号について、相関値の高いいくつかの代表周波数を選出することになる。一般化調和解析は、より高い精度で代表周波数の選出を可能にする手法であり、その基本原理は次の通りである。
【００２８】
図６（ａ）に示すような単位区間ｄについて、信号Ｓ（ｊ）なるものが存在するとする。ここで、ｊは後述するように、繰り返し処理のためのパラメータである（ｊ＝１〜Ｊ）。まず、この信号Ｓ（ｊ）に対して、図２に示すような１２８通りの周期関数すべてについての相関値を求める。そして、最大の相関値が得られた１つの周期関数の周波数を代表周波数として選出し、当該代表周波数をもった周期関数を要素関数として抽出する。続いて、図６（ｂ）に示すような含有信号Ｇ（ｊ）を定義する。この含有信号Ｇ（ｊ）は、抽出された要素関数に、その振幅として、当該要素関数の信号Ｓ（ｊ）に対する相関値を乗じることにより得られる信号である。例えば、周期関数として図２に示すように、一対の正弦関数と余弦関数とを用い、周波数ｆ（ｎ）が代表周波数として選出された場合、振幅Ａ（ｎ）をもった正弦関数Ａ（ｎ）ｓｉｎ（２πｆ（ｎ）ｋ／Ｆ）と、振幅Ｂ（ｎ）をもった余弦関数Ｂ（ｎ）ｃｏｓ（２πｆ（ｎ）ｋ／Ｆ）との和からなる信号が含有信号Ｇ（ｊ）ということになる（図６（ｂ）では、図示の便宜上、一方の関数しか示していない）。ここで、Ａ（ｎ），Ｂ（ｎ）は、図５の式で得られる規格化された相関値であるから、結局、含有信号Ｇ（ｊ）は、信号Ｓ（ｊ）内に含まれている周波数ｆ（ｎ）をもった信号成分ということができる。
【００２９】
こうして、含有信号Ｇ（ｊ）が求まったら、信号Ｓ（ｊ）から含有信号Ｇ（ｊ）を減じることにより、差分信号Ｓ（ｊ＋１）を求める。図６（ｃ）は、このようにして求まった差分信号Ｓ（ｊ＋１）を示している。この差分信号Ｓ（ｊ＋１）は、もとの信号Ｓ（ｊ）の中から、周波数ｆ（ｎ）をもった信号成分を取り去った残りの信号成分からなる信号ということができる。そこで、パラメータｊを１だけ増加させることにより、この差分信号Ｓ（ｊ＋１）を新たな信号Ｓ（ｊ）として取り扱い、同様の処理を、パラメータｊをｊ＝１〜Ｊまで１ずつ増やしながらＪ回繰り返し実行すれば、Ｊ個の代表周波数を選出することができる。
【００３０】
結局、所定の単位区間内の区間信号Ｘについて、一般化調和解析の手法を適用して、合計Ｊ個の代表周波数を選出するには、まず、パラメータｊを初期値１に設定し、この区間信号Ｘを第１番目の差分信号Ｓ（１）と定義し、前述した処理を、パラメータｊをｊ＝１〜Ｊまで１ずつ増やしながらＪ回繰り返し実行すれば良い（ｊ＝１の場合の差分信号Ｓ（１）は、解析対象となる区間信号Ｘそのものであり、「差分信号」と呼ぶべきものではないが、ここでは信号Ｓ（ｊ）を「差分信号」と呼ぶことにしているので、信号Ｓ（１）も便宜上、「差分信号」と呼ぶことにする）。要するに、この一般化調和解析の手法では、代表周波数が１つ決定されるたびに、もとの区間信号Ｘからこの代表周波数成分を減じた差分信号が求められ、この差分信号に対する相関に基づいて次の代表周波数が決定される、という手順がＪ回繰り返されることになる。
【００３１】
このような相関計算の結果として出力されるＪ個の含有信号Ｇ（１）〜Ｇ（Ｊ）は、もとの区間信号Ｘの構成要素となる信号であり、もとの区間信号Ｘを符号化する場合には、これらＪ個の含有信号の周波数を示す情報および振幅（強度）を示す情報を符号データとして用いるようにすれば良い。
【００３２】
こうして、各単位区間について、所定数の周波数群が選出されたら、この周波数群の各周波数に対応する「音の高さを示す情報」、選出された各周波数の信号強度に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間に後続する単位区間の始点に対応する「音の発音終了時刻を示す情報」、の４つの情報を含む所定数の符号データを作成すれば、当該単位区間内の区間信号Ｘを所定数の符号データにより符号化することができる。符号データとして、ＭＩＤＩデータを作成するのであれば、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用いるようにすれば良い。
【００３３】
（符号コードの統合について）
上述の基本原理に従って符号化を行うことにより、時系列の音響信号を符号化することが可能になるが、単位区間ごとに符号化を行ったままでは、データ量が多くなるため、符号データの統合を行うことが好ましい。符号データの統合処理としては、特開平１１−９５７５３号公報に開示したような処理が行われる。具体的には、同じ音の高さ（音高）を示す音符が複数連続して配置されていた場合には、この複数の音符を１つの音符に統合するようにする。言い換えれば、複数の単位区間にまたがった音符によって、個々の単位区間ごとの音符を置換するとも言える。
【００３４】
また、統合対象とする音符は、必ずしも同じ音高の音符とする必要はなく、ある程度の類似性をもった音符を統合対象としても良い。例えば、互いに１音階（すなわち半音）の差しかない一連の音符を統合対象として１つの音符に置換することもできる。この場合は、例えば、一連の音符の中で音高の低い方の音符によって置換すれば良い。一般的に拡張すれば、隣接する複数の単位区間について、所定の条件下で互いに類似する符号データがある場合、これら類似する符号データを、複数の単位区間にまたがった統合符号データに置換することにより、音符数を削減することが可能となる。
【００３５】
なお、上記の符号化処理によって作成される符号データには、それぞれ強度を示すデータ（ＭＩＤＩデータの場合はベロシティー）が付加されている。したがって、符号データを統合した場合、強度を示すデータも統合する必要がある。ここで、統合対象となる符号データに、それぞれ異なる強度データが定義されていた場合には、例えば、最も大きな強度データを統合後の符号データについての強度データと定めるようにすれば良い。ただ、ＭＩＤＩデータの場合、２つの符号データを統合する際に、先行する符号コードの強度に比べて、後続する符号データの強度がかなり大きい場合、これら２つの符号データを統合すると不自然になる。これは、通常のＭＩＤＩ音源の再生音は、楽器の演奏音から構成されており、音の強度が時間と共に減衰していくのが一般的だからである。したがって、先行する符号データの強度に比べて、後続する符号データの強度が小さい場合には、１つの統合符号データに置換しても不自然さは生じないが、逆の場合には、不自然さが生じることになる。そこで、２つの符号データの強度差が所定の基準以上であり、かつ、先行する符号データの強度に比べて、後続する符号データの強度が大きい場合には、統合を行わない。
【００３６】
（本発明に係る音響信号符号化方法における統合処理）
ここで、譜面に基づいて実際に演奏を行った場合について考えてみる。図７（ａ）に示すような譜面についてチョーキング奏法等で演奏を行って、それを録音してＰＣＭ化し、さらにそのＰＣＭデータを符号化することにより、図７（ｂ）に示すような９つの単位符号データ▲１▼〜▲９▼が得られたとする。なお、図７（ｂ）〜（ｄ）においては、下向きの三角形が符号データを表現しており、三角形の上辺の高さ方向における位置が音の高さを示し、三角形の高さが音の強さを示し、三角形の幅が発音持続時間を示している。図７（ｂ）の例では、全ての音の強さが同一であって、単位符号データ▲１▼〜▲３▼が同一音高「Ａ３」で、単位符号データ▲４▼〜▲６▼については、「Ａ#３」、「Ｂ３」、「Ｃ４」と１半音ずつ上がっていき、単位符号データ▲７▼〜▲９▼が同一音高「Ｃ#４」であることを示している。また、統合前の段階では、音符の発音持続時間は単位区間ｄの長さであるので、全ての単位符号データ▲１▼〜▲９▼の発音持続時間は同一となっている。図７（ｂ）の単位符号データ群に対して同一音高のものを統合する処理を行うと、図７（ｃ）に示すような符号データ群が得られる。これにより９つの符号データが５つの符号データに統合されることになり、データ量が削減される。しかしながら、図７（ａ）に示した演奏譜と比較すると、本来２つの音符で構成されていたものが、間に新たに３つの短い音符が追加されてしまうことがわかる。これは、上述のように単位区間で代表的な周波数を基に符号データを作成するためであり、演奏者がどんなに滑らかに演奏しても、解析が半音単位に行われるため音高に階段状の段差がついてしまうために生じる。上述のように、符号データを統合する場合には、同一の音高だけでなく、１半音の差があるものを統合するようにすることもできるが、これを図７（ｂ）に示した符号データに適用したとしても、逆に、統合された音符同士の間で２半音分の大きな段差が生じることになる。
【００３７】
本発明の音響信号符号化方法において用いられる特徴的な統合方法は、次のようなものとなる。符号化により得られた単位符号データにおける音の高さの変移パターンは、はじめは平坦型、上昇型、下降型のいずれにも当てはまる可能性がある。これらはいずれも統合開始位置の符号データの音高に対して所定の音高差に納まる音高の符号データが続くか否かで統合処理を重ねるごとに消去法で絞られてくる。平坦型は統合開始位置の符号データの音高と同一の音高の符号データが続く状態である。上昇型は統合開始位置の符号データの音高よりＭ半音分（Ｍは自然数）まで高い音高の符号データを統合対象とするものである。下降型は上昇型と対称的に、統合開始位置の符号データの音高よりＭ半音分まで低い音高の符号データを統合対象とするものである。
【００３８】
具体的には、連続する所定数の符号データを抽出し、これらのうち、先行する符号データの音高に対して後続する符号データの音高がどの程度異なっているかを調べ、それが許容範囲内に納まる場合について、平坦型、上昇型、下降型を判断する。この連続する所定数は設定により変更することができる。例えば、図７（ｂ）に示した符号データ群に対して、連続する所定数として「３」、上昇型、下降型において統合対象とする音高の差を規定する自然数ＭをＭ＝２と設定した場合、まず、連続する３つの単位符号データ▲１▼〜▲３▼について判断が行なわれる。単位符号データ▲１▼〜▲３▼の音高はいずれもＡ３であるため、ここの３つの単位符号データ▲１▼〜▲３▼は平坦型、上昇型、下降型のいずれにも該当するが、この場合は最も条件が厳しい平坦型として判断し、図７（ｄ）に示す統合符号データ▲１▼に統合される。
【００３９】
図７（ｂ）に示す単位符号データ▲４▼〜▲６▼の場合、まず単位符号データ▲４▼と単位符号データ▲５▼の音高の比較が行われる。単位符号データ▲４▼の音高はＡ#３であり、単位符号データ▲５▼の音高はＢ３であるため、音高の差は１半音である。これは、平坦型、下降型の許容範囲ではなく、上昇型の許容範囲であるため、上昇型であると判断される。続いて、単位符号データ▲４▼と単位符号データ▲６▼の音高の比較が行われる。単位符号データ▲４▼の音高はＡ#３であり、単位符号データ▲６▼の音高はＣ４であるため、音高の差は２半音である。これも上昇型の許容範囲であるため、単位符号データ▲４▼〜▲６▼は上昇型として図７（ｄ）に示す統合符号データ▲４▼に統合される。統合符号データ▲４▼の音高は、統合される基となった先頭の単位符号データと同じＡ#３となり、これに所定の範囲内で周波数を滑らかに変化させる指定が付加される。ＭＩＤＩ規格では、このような指定はピッチベンド指定として用意されている。
【００４０】
図７（ｂ）に示す単位符号データ▲７▼〜▲９▼の場合、単位符号データ▲１▼〜▲３▼の場合と同様に、音高はいずれも同一であるため、３つの単位符号データ▲７▼〜▲９▼は平坦型として図７（ｄ）に示す統合符号データ▲７▼に統合される。
【００４１】
図７（ｃ）と図７（ｄ）を比較すると、統合符号データ▲１▼と統合符号データ▲７▼については、同じように統合されるが、単位符号データ▲４▼〜▲６▼については、図７（ｃ）に示す従来の手法では、統合されないのに対し、図７（ｄ）に示す本発明の手法では、統合されていることがわかる。図７（ａ）に示す演奏譜にしたがって、滑らかに演奏されたものが、図７（ｃ）においては、別々の音符に分割されてしまっているが、図７（ｄ）においては、滑らかさを残して符号化される。そのため、図７（ｄ）に示した符号データを再現すると、より原音に忠実な音響信号が得られることになる。
【００４２】
ここで、各変移パターンの最も単純な例について、統合の様子および周波数の変化を図８を用いて説明する。図８（ａ）〜（ｃ）は、それぞれ平坦型、上昇型、下降型に分類される最も単純な単位符号データの配列を示している。図８（ａ）に示す平坦型の場合、最初の単位符号データ（左側）と後続する単位符号データ（右側）の音高が同一であるので、図８（ｂ）に示すように最初の単位符号データの音高に合わせて統合される。このとき、図８（ｇ）に示すように、この統合符号データの発音中の周波数は一定となる。
【００４３】
図８（ｂ）に示す上昇型の場合、後続する単位符号データの音高が最初の単位符号データの音高に対して１半音高くなっている。この場合、図８（ｅ）に示すように最初の音符の音高に合わせて統合されるが、周波数を滑らかに変化させる指定（ＭＩＤＩ規格の場合、ピッチベンド指定）が付加される。ピットベンド指定は、パラメータの設定により徐々に高くなるようにも低くなるようにもできる。ここでは高くなる様に設定されるため、図８（ｈ）に示すように、この単位符号データの演奏中の周波数は滑らかに高くなっていく。
【００４４】
図８（ｃ）に示す下降型の場合、後続する単位符号データの音高が最初の単位符号データの音高に対して１半音低くなっている。この場合も、図８（ｆ）に示すように最初の単位符号データの音高に合わせて統合されるが、周波数を滑らかに変化させる指定（ＭＩＤＩ規格の場合、ピッチベンド指定）が付加される。ここではピッチベンド指定が徐々に低くなる様に設定されるため、図８（ｉ）に示すように、この単位符号データの演奏中の周波数は滑らかに低くなっていく。
【００４５】
図８の各パターンに対応したＭＩＤＩデータ例を図９に示す。図９に示すＭＩＤＩデータは、左側からイベントＮｏ．、デルタタイム、メッセージとなっている。メッセージについては基本的には、ステータス、ノートナンバー、ベロシティの３項目からなっている。イベントＮｏ．は時系列に発生するイベントを特定するために単純に番号を割り当てたものである。デルタタイムは、発生するイベントの時刻をその直前のイベントとの時間差で示したものである。メッセージの左端の項目であるステータスは、１６進の２桁の数字で表され、左側がコマンドの種類、右側がチャンネル番号を示す。コマンドの種類は「９」が発音を開始するノートオン、「８」が発音を終了するノートオフ、「Ｅ」が周波数を滑らかに変化させるピッチベンドを示す。メッセージの中央の項目であるノートナンバーは音の高さ、右端の項目であるベロシティは音の強さを示す。
【００４６】
図９（ａ）に示すＭＩＤＩデータは、図８（ａ）に示した単位符号コード群を記述したものである。図９（ａ）において、イベントＮｏ．１は、チャンネル０でノートナンバー６０、ベロシティ８４の音符の発音を開始することを示している。イベントＮｏ．２は、イベントＮｏ．１発生のデルタタイム「１２８」経過後にチャンネル０でノートナンバー６０の音符をベロシティ０にして発音を終了することを示している。つまり、イベントＮｏ．１とイベントＮｏ．２により図８（ａ）に示す左側の単位符号コードを表したことになる。また、図９（ａ）において、イベントＮｏ．３は、イベントＮｏ．２発生のデルタタイム「０」経過後、すなわちイベントＮｏ．２の発生と同時にチャンネル０でノートナンバー６０、ベロシティ６４の音符の発音を開始することを示している。イベントＮｏ．４は、イベントＮｏ．３発生のデルタタイム「１２８」経過後にチャンネル０でノートナンバー６０の音符をベロシティ０にして発音を終了することを示している。このイベントＮｏ．３とイベントＮｏ．４により図８（ａ）に示す右側の単位符号データを表したことになる。
【００４７】
図９（ｄ）に示すＭＩＤＩデータは、図８（ｄ）に示した単位符号データ群を記述したもの、すなわち図９（ａ）に示したＭＩＤＩデータを統合したものである。図９（ｄ）において、イベントＮｏ．１は、統合前の図９（ａ）のイベントＮｏ．１と同一である。イベントＮｏ．２は、イベントＮｏ．１発生のデルタタイム「２５６」経過後に発音を終了することを示している。図９（ａ）に示すように統合前の音符のベロシティはそれぞれ「８４」と「６４」であるが、統合後の音符のベロシティは図９（ｄ）に示すように大きい方の「８４」に合わせられる。
【００４８】
図９（ｂ）に示すＭＩＤＩデータは、図８（ｂ）に示した単位符号コード群を記述したものであるが、イベントＮｏ．３、４のノートナンバー以外は図９（ａ）と同一となっている。また、図９（ｅ）に示すＭＩＤＩデータは、図８（ｅ）に示した単位符号データ群を記述したもの、すなわち図９（ｂ）に示したＭＩＤＩデータを統合したものである。図９（ｅ）において、イベントＮｏ．１とイベントＮｏ．３によりデルタタイム「２５６」の間、ベロシティ８４の音符が発音されることを示している。イベントＮｏ．２、４、５は、いずれもそのステータスが「Ｅ０」となっており、チャンネル０において発音中の音符にピッチベンドをかけることを示している。ステータスにおける左側が「Ｅ」となっており、ピッチベンドを表している場合、メッセージにおけるその他の項目がベンド量を表す項目に変化する。ベンド量とは、ピッチベンドにより変化させる音高の量を示しており、基準値である「６４」がリセット状態を示す。イベントＮｏ．２は、イベントＮｏ．１の発生と同時にピッチベンドをリセット状態にして開始することを示している。イベントＮｏ．４は、イベントＮｏ．３の発生時にベンド量が「９６」になるようにピッチベンドをかけることを示している。このイベントＮｏ．２とイベントＮｏ．４により、イベントＮｏ．１で発音開始してイベントＮｏ．３で発音終了する音符に対して、開始時にベンド量６４、終了時にベンド量９６としてその間滑らかにベンド量が変化するような、ピッチベンドをかけることが可能となる。ＭＩＤＩデータにおけるベンド量６４とは、基準値を示しており、元の音符に対して変化が与えられていない状態を示す。また、ベンド量９６との差であるベンド量の差分３２は半音を示している。結局、イベントＮｏ．２とイベントＮｏ．４により発音開始時と発音終了時において半音分の差が生じるピッチベンドが行なわれることになる。イベントＮｏ．５は、ベンド量６４にして、ピッチベンドを解除することを示している。
【００４９】
図９（ｃ）に示すＭＩＤＩデータは、図８（ｃ）に示した単位符号データ群を記述したものであり、図９（ｆ）に示すＭＩＤＩデータは、図８（ｆ）に示した符号コードを記述したものとなっている。図９（ｆ）に示すＭＩＤＩデータと、図９（ｅ）に示すＭＩＤＩデータは、イベントＮｏ．４のベンド量が異なっている点を除くと、全く同一である。つまり、このベンド量により上昇するように発音されるか、下降するように発音されるかが決定されることになる。図９（ｆ）のイベントＮｏ．４では、ベンド量が「３２」となっており、これは基準値「６４」から１半音分低い状態を示している。
【００５０】
ＭＩＤＩデータでは、最大１６チャンネルで符号データを記述することが可能となっており、各チャンネルには異なる楽器パートによる符号データを記録することができる。例えば、チャンネル０にはボーカル、チャンネル１にはピアノ、・・・といった具合である。本実施形態では、説明の便宜上、１つのチャンネルについて同時に発音する１セットの符号データの統合について説明している。通常は、単一のチャンネルに同時に発音する符号データが存在することになるが、ピッチベンドコマンドは、同一チャンネルに同時に発音する全ての符号データに有効な命令であるので、同一チャンネルの他の符号データにも影響する。そこで、ピッチベンドコマンドを適用する符号データのチャンネルは他の符号データと異なるものをアサインすることが行われる。例えば、図９（ｅ）ではチャンネル１を与え、図９（ｆ）ではチャンネル２を与え、各々メッセージの９０、８０、Ｅ０は９１、８１、Ｅ１および９２、８２、Ｅ２のようになる。
【００５１】
ここまでは、単位符号データを音の高さに着目して統合することについて説明したが、次に単位符号データを音の強さに着目して統合する点について説明する。音の強さに着目して統合する場合においても、あらかじめ音の強さの変化パターンを用意しておき、それに従って統合する。ここで、各変化パターンの最も単純な例について、統合の様子および周波数の変化を図１０を用いて説明する。図１０（ａ）〜（ｃ）は、それぞれ単調減衰型、単峰型、振動型に分類される最も単純な単位符号データの配列を示している。図１０（ａ）に示す単調減衰型の場合、統合対象となる単位符号データ群の音の強さが徐々に減衰していることがわかる。このような場合、図１０（ｄ）に示すように、先頭の単位符号データの発音開始時刻を発音開始時刻とし、最後尾の単位符号データの発音終了時刻を発音終了時刻とし、先頭の単位符号データの音の強さを音の強さとして新たな統合符号データを作成する。ただし、音の強さに着目して統合を行う場合は、単峰型、振動型についても統合は同様に行なわれる。異なるのは、単調減衰型の場合は、特に音の強さ情報の変化パターンを識別するための情報が付加されず、単純に統合が行なわれる点である。なお、単調減衰型の場合、図１０（ｇ）に示すように、統合符号データの発音中の音の強さは一定となる。
【００５２】
図１０（ｂ）に示す単峰型の場合、左から２番目の単位符号データが音の強さ最大となっており、これをピークとしてその他は単調に増幅または減衰している。このような場合には、図１０（ｅ）に示すように、先頭の単位符号データの発音開始時刻を発音開始時刻とし、最後尾の単位符号データの発音終了時刻を発音終了時刻とし、左から２番目の単位符号データの音の強さを音の強さとして新たな統合符号データを作成する。単峰型の場合には、この統合符号データに単峰型を識別するための情報が付加される。ＭＩＤＩデータの場合、この情報としてアタックタイム指定のコマンドが付加されることになる。アタックタイム指定とは、図１０（ｈ）に示すように、音の強さがピークになるまでの時間を指定するコマンドである。ここでは、ピーク点が元の２番目の単位符号データの発音開始点になるように設定される。逆に音の強さが０付近まで減衰するまでの時間を指定するディケイタイム指定というコマンドもあり、これを併用するとより品質が原音に忠実な再生が可能になる。
【００５３】
図１０（ｃ）に示す振動型の場合、左から２番目の単位符号データが音の強さ最大となっており、左から４番目の単位符号データが音の強さが２番目に大きなものとなっている。このようにピークが２つあるような場合には、図１０（ｆ）に示すように、先頭の単位符号データの発音開始時刻を発音開始時刻とし、最後尾の単位符号データの発音終了時刻を発音終了時刻とし、左から２番目の単位符号データの音の強さを音の強さとして新たな統合符号データを作成する。振動型の場合には、この統合符号データに振動型を識別するための情報が付加される。ＭＩＤＩデータの場合、この情報としてモジュレーション指定のコマンドが付加されることになる。モジュレーション指定とは、図１０（ｉ）に示すように、音が短い周期で変化する振幅と周期を指定するコマンドである。ここでは、２つのピーク点がそれぞれ元の２番目の単位符号データの発音開始点、元の４番目の単位符号データの発音開始点になるように、振幅や周期が設定される。
【００５４】
（倍音の除去）
次に上記統合符号データを用いた倍音の除去について説明する。倍音とは、基本成分の整数倍の周波数をもった成分のことである。例えば、ピアノの鍵盤中央の「ラ音（Ａ３音）」の基本周波数成分は４４０Ｈｚであるが、実際にこの「ラ音（Ａ３音）」の鍵盤を弾いてみると、基本周波数成分である４４０Ｈｚの音と共に、その２倍の周波数成分８８０Ｈｚの音（１オクターブ上のラ音（Ａ４音））や、３倍、４倍、・・・の周波数成分の音（倍音成分）が混在していることがわかる。したがって、例えば、代表符号コードとしてＮ＝６９（Ａ３音）を抽出した場合、再生時には、このノートナンバーＮ＝６９の基本周波数成分である４４０Ｈｚの音の他に、８８０Ｈｚ、１３２０Ｈｚ、・・・などの倍音成分が混在することになる。
【００５５】
一般の音楽には和声により複数の基本周波数成分が存在し、各々が倍音成分をもつため、単一の符号データ同士の単純な比較で整数倍の周波数になっているからといって、これらが倍音関係であるという判断はできない。しかしながら、上記変移パターンを利用した統合処理により得られた、同時に発音する統合符号データが同一の変移パターンに従って統合されたものであって、一方の統合符号データの音の高さが他方の統合符号データの音の高さの整数倍である場合は、両者の統合符合データは互いに倍音関係であると判断でき、両者を統合させることができる。この際、統合により新たに得られる統合符合データの音の高さは低い方に合わせられる。これにより、倍音成分が除去されることになる。すなわち、単一の符号データ同士の処理では倍音成分の除去は困難であったが、統合符号データの変移パターンの類似性をもとに倍音成分の除去が可能になる。なお、ここでの音の高さの比較は周波数で行う。
【００５６】
（音の高さに関する精度を高める手法）
以上、本発明の音響信号符号化方法において特徴となる統合の手法について説明したが、ここでは、音の高さについてさらに精度を高める手法について説明する。上記（周期関数との相関を求める具体的な方法）においては、ＭＩＤＩデータで利用されるノートナンバーに対応した１２８種の標準周波数を有する周期関数を用意したが、さらに各標準周波数間の周波数を標準周波数として設定することにより多数の周期関数を用意するようにする。例えば、従来の各標準周波数間に１２個の標準周波数を設定すれば、１２８×１３種の周期関数が用意されることになり、１／１３半音の精度で音の高さを識別することができる。
【００５７】
このように、より多くの周期関数を用いた場合であっても、ＭＩＤＩデータに符号化する場合には、最終的に１２８種の音高に絞り込まれることになる。その際、±１／２半音の範囲に含まれるものは同一音高であると判断されることになる。これを単位符号データの統合に適用すると、平坦型は統合開始位置の符号データの音高と±１／２半音の範囲に含まれる音高の符号データが続く状態である。上昇型は統合開始位置の符号データの音高より−１／２半音〜＋１／２＋Ｍ半音分（Ｍは自然数）の範囲に含まれる音高の符号データを統合対象とするものである。下降型は上昇型と対称的に、統合開始位置の符号データの音高より−１／２−Ｍ半音〜＋１／２半音分（Ｍは自然数）の範囲に含まれる音高の符号データを統合対象とするものである。
【００５８】
ここで、単位符号データを統合する例を図１１に示す。このような単位符号データを統合する場合は、図１１（ａ）に示すように最初の単位符号データの音の高さに対して±１／２半音の範囲に含まれるものは同一音高であるとみなして平坦型として統合される。
【００５９】
上述の自然数ＭがＭ＝１と設定されている場合、図１１（ｂ）に示すように最初の単位符号データの音の高さに対して−１／２半音〜＋３／２半音の範囲に含まれるものは、上昇型として統合される。この上昇型において、−１／２半音のものが統合対象となるのは、一見、上昇という言葉に反するように思える。しかしながら、ここでは−１／２半音までを同一音高とみなしているので、音の高さは下降していないと判断するのである。また、本発明の特徴は、滑らかに音の高さが変化する場合について上手く統合することにある。そのため、−１／２半音〜＋３／２半音の範囲のものが続く場合は、滑らかな上昇と判断し、上昇型に分類されることになる。
【００６０】
上述の自然数ＭがＭ＝１と設定されている場合、図１１（ｃ）に示すように先行する単位符号データの音の高さに対して−３／２半音〜＋１／２半音の範囲に含まれるものは、下降型として統合される。この下降型については、上昇型と対称的なものとなるので、音の高さの高低を逆にすれば、基本的に上昇型と処理は同一であるので詳細な説明は省略する。
【００６１】
【発明の効果】
以上、説明したように本発明によれば、与えられた音響信号に対して、時間軸上に複数の単位区間を設定し、設定された単位区間に対して複数の周波数に対応する信号強度を算出し、得られた信号強度を基に１つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成するようにし、この単位符号データの生成処理を、音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の高さ情報の変移の状態に基づいて、あらかじめ用意された音の高さの変移パターンにしたがって、近接する複数の単位符号データを１つの統合符号データに統合するようにしたので、連続的に音の高さが変化するような演奏についても、原音響信号をより忠実に再現することが可能となるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の音響信号の符号化方法の基本原理を示す図である。
【図２】本発明で利用される周期関数の一例を示す図である。
【図３】図２に示す各周期関数の周波数とＭＩＤＩノートナンバーｎとの関係式を示す図である。
【図４】解析対象となる信号と周期信号との相関計算の手法を示す図である。
【図５】図４に示す相関計算を行うための計算式を示す図である。
【図６】一般化調和解析の基本的な手法を示す図である。
【図７】本発明に係る方法により符号データが統合される様子を示す図である。
【図８】音の高さに関する各変移パターンの最も単純な例について、統合の様子および周波数の変化を示す図である。
【図９】図８の各変移パターンに対応したＭＩＤＩデータ例を示す図である。
【図１０】音の強さに関する各変移パターンの最も単純な例について、統合の様子および周波数の変化を示す図である。
【図１１】音の高さに関する精度を高めた場合の、統合の様子および周波数の変化を示す図である。
【符号の説明】
▲１▼〜▲９▼・・・符号データ
Ａ（ｎ），Ｂ（ｎ）・・・相関値
ｄ，ｄ１〜ｄ５・・・単位区間
Ｅ（ｎ）・・・相関値
Ｇ（ｊ）・・・含有信号
ｎ，ｎ１〜ｎ６・・・ノートナンバー
Ｓ（ｊ），Ｓ（ｊ＋１）・・・差分信号
Ｘ，Ｘ（ｋ）・・・区間信号
【図１】
0004268327.tif 000002
【図２】
0004268327.tif 000003
【図３】
0004268327.tif 000004
【図４】
0004268327.tif 000005
【図５】
0004268327.tif 000006
【図６】
0004268327.tif 000007
【図７】
0004268327.tif 000008
【図８】
0004268327.tif 000009
【図９】
0004268327.tif 000010
【図１０】
0004268327.tif 000011
【図１１】
0004268327.tif 000012