(57)【特許請求の範囲】
【請求項１】
時系列の強度信号として与えられる音響信号を符号化するための符号化方法であって、
符号化対象となる音響信号を、デジタルの音響データとして取り込む入力段階と、
前記音響データの時間軸上に複数の単位区間を設定する区間設定段階と、
Ｎ通りの基本周波数（Ｎ＞１）を定義するとともに、各隣接基本周波数の中間にそれぞれ（Ｍ−１）通りの中間周波数（Ｍ＞１）を定義する周波数定義段階と、
個々の単位区間内の音響データについて、前記各周波数をもった周期関数との相関値を演算し、この相関値に基づいて前記音響データに含まれる代表的な周波数成分を示す代表周波数を選出する代表周波数選出段階と、
個々の単位区間内の音響データを、選出した代表周波数、演算した相関値、個々の単位区間の時間軸上での位置、を示す情報を含む符号データによって表現する符号化段階と、
前記符号データを、代表周波数の基本周波数に対するずれ量に応じて、複数Ｍ個のグループに分類し、各グループごとに分離して出力する符号出力段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項２】
請求項１に記載の音響信号の符号化方法において、
Ｎ通りの基本周波数のうちの第ｉ番目（ただし、ｉ＝１，２，…，Ｎ）の基本周波数をｆ（ｉ，０）とし、この第ｉ番目の基本周波数と第（ｉ＋１）番目の基本周波数との中間に定義される（Ｍ−１）通りの中間周波数のうちの第ｊ番目（ただし、ｊ＝１，２，…，Ｍ−１）の中間周波数をｆ（ｉ，ｊ）としたときに、１以上の実数で与えられる比例定数Ｋを用いて、
ｆ（ｉ＋１，０）＝Ｋ・ｆ（ｉ，０）
ｆ（ｉ，ｊ）＝Ｋｊ／Ｍ・ｆ（ｉ，０）
なる式が成り立つように、周波数定義段階における周波数定義を行うようにすることを特徴とする音響信号の符号化方法。
【請求項３】
請求項２に記載の音響信号の符号化方法において、
符号化段階において、代表周波数をノートナンバー、相関値をベロシティー、単位区間の時間軸上での位置をデルタタイム、によってそれぞれ表現したＭＩＤＩデータにより符号化を行い、Ｍ個のグループにそれぞれＭ個のチャンネルを対応させ、各グループに分類された符号データをそれぞれ対応するチャンネルに出力することを特徴とする音響信号の符号化方法。
【請求項４】
請求項１に記載の音響信号の符号化方法によって符号化された符号データを復号化するための復号化方法であって、
前記復号化方法を実行する装置が、Ｎ通りの基本周波数の音源信号を発生することができる音源を利用して、前記基本周波数をもった符号データのグループについては、前記音源信号を用いて再生を行い、前記中間周波数をもった符号データのグループについては、前記音源信号に、基本周波数に対するずれ量に相当する周波数補正を施した補正信号を用いて再生を行うことを特徴とする音響信号の復号化方法。
【請求項５】
請求項２に記載の音響信号の符号化方法によって符号化された符号データを復号化するための復号化方法であって、
前記復号化方法を実行する装置が、基本周波数に相当するＮ通りの音源信号を発生することができる音源を利用して、
第ｉ番目の基本周波数ｆ（ｉ，０）をもった符号データについては、第ｉ番目の音源信号を用いて再生を行い、
第ｉ番目の基本周波数と第（ｉ＋１）番目の基本周波数との中間に定義される（Ｍ−１）通りの中間周波数のうちの第ｊ番目の中間周波数ｆ（ｉ，ｊ）をもった符号データについては、第ｉ番目の音源信号もしくは第（ｉ＋１）番目の音源信号に、基本周波数に対するずれ量に相当する周波数補正を施した補正信号を用いて再生を行うことを特徴とする音響信号の復号化方法。
【請求項６】
請求項３に記載の音響信号の符号化方法よって符号化された符号データを復号化するための復号化方法であって、
前記復号化方法を実行する装置が、基本周波数に相当するＮ通りの音源信号を発生することができるＭＩＤＩ音源を利用して、各チャンネルごとに、前記音源信号に対する固有の周波数補正量を設定し、基本周波数をもった符号データを含むチャンネルについては前記音源信号がそのまま再生され、中間周波数をもった符号データを含むチャンネルについては前記固有の周波数補正量に基づく周波数補正が行われた音源信号が再生されるようにしたことを特徴とする音響信号の復号化方法。
【請求項７】
請求項１〜３のいずれかに記載の音響信号の符号化方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
請求項４〜６のいずれかに記載の音響信号の復号化方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は音響信号の符号化方法および復号化方法に関し、時系列の強度信号として与えられる音響信号を符号化し、これを復号化して再生する技術に関する。特に、本発明は一般の音響信号を、ＭＩＤＩ形式の符号データに効率良く変換する処理に適しており、放送メディア（ラジオ、テレビ）、通信メディア（ＣＳ映像・音声配信、インターネット配信）、パッケージメディア（ＣＤ、ＭＤ、カセット、ビデオ、ＬＤ、ＣＤ−ＲＯＭ、ゲームカセット）などで提供する各種オーディオコンテンツを制作する種々の産業分野への応用が期待される。
【０００２】
【従来の技術】
音響信号を符号化する技術として、ＰＣＭ（Pulse Code Modulation ）の手法は最も普及している手法であり、現在、オーディオＣＤやＤＡＴなどの記録方式として広く利用されている。このＰＣＭの手法の基本原理は、アナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして表現する点にあり、サンプリング周波数や量子化ビット数を高くすればするほど、原音を忠実に再生することが可能になる。ただ、サンプリング周波数や量子化ビット数を高くすればするほど、必要な情報量も増えることになる。そこで、できるだけ情報量を低減するための手法として、信号の変化差分のみを符号化するＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation ）の手法も用いられている。
【０００３】
一方、電子楽器による楽器音を符号化しようという発想から生まれたＭＩＤＩ（Musical Instrument Digital Interface）規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このＭＩＤＩ規格による符号データ（以下、ＭＩＤＩデータという）は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このＭＩＤＩデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したＭＩＤＩ音源が別途必要になる。しかしながら、上述したＰＣＭの手法で音を記録する場合に比べて、情報量が極めて少なくてすむという特徴を有し、その符号化効率の高さが注目を集めている。このＭＩＤＩ規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウエアに広く採り入れられており、カラオケ、ゲームの効果音といった分野でも広く利用されている。
【０００４】
【発明が解決しようとする課題】
上述したように、ＰＣＭの手法により音響信号を符号化する場合、十分な音質を確保しようとすれば情報量が膨大になり、データ処理の負担が重くならざるを得ない。したがって、通常は、ある程度の情報量に抑えるため、ある程度の音質に妥協せざるを得ない。もちろん、ＭＩＤＩ規格による符号化の手法を採れば、非常に少ない情報量で十分な音質をもった音の再生が可能であるが、上述したように、ＭＩＤＩ規格そのものが、もともと楽器演奏の操作を符号化するためのものであるため、広く一般音響への適用を行うことはできない。別言すれば、ＭＩＤＩデータを作成するためには、実際に楽器を演奏するか、あるいは、楽譜の情報を用意する必要がある。
【０００５】
このように、従来用いられているＰＣＭの手法にしても、ＭＩＤＩの手法にしても、それぞれ音響信号の符号化方法としては一長一短があり、一般の音響について、少ない情報量で十分な音質を確保することはできない。ところが、一般の音響についても効率的な符号化を行いたいという要望は、益々強くなってきている。いわゆるヴォーカル音響と呼ばれる人間の話声や歌声を取り扱う分野では、かねてからこのような要望が強く出されている。たとえば、語学教育、声楽教育、犯罪捜査などの分野では、ヴォーカル音響信号を効率的に符号化する技術が切望されている。このような要求に応えるために、特開平１０−２４７０９９号公報、特開平１１−７３１９９号公報、特開平１１−７３２００号公報、特開平１１−９５７５３号公報、特開２０００−９９００９号公報、特開２０００−９９０９３号公報、特開２０００−２６１３２２号公報には、ＭＩＤＩデータを利用することが可能な新規な符号化方法が提案されている。
【０００６】
これらの方法では、音響信号の時間軸に沿って複数の単位区間を設定し、各単位区間内の音響信号を、予め用意した何種類かの周期関数によって表現する、という手法により符号化が行われる。しかしながら、この方法で用いられる周期関数は、周波数軸上に離散的に定義されたとびとびの周波数値をもった周期関数になるため、必ずしも原音響信号に忠実な符号化が行われるわけではない。特に、ＭＩＤＩデータを用いて符号化した場合、一般的なＭＩＤＩ音源を用いた復号化（原音響信号の再生）ができるというメリットが得られるものの、用いる周期関数としては、ＭＩＤＩ規格のノートナンバーに相当する周波数（半音単位の周波数）をもった周期関数に限定されてしまうことになる。もともとＭＩＤＩ規格は、楽器の演奏操作を記述する目的で制定された規格であり、半音単位の離散的な周波数のみを用いて再生を行ったとしても、楽器音を表現する上では何ら問題は生じない。しかしながら、ヴォーカル音響など、多彩な周波数成分を有する一般的な音響信号を表現する上では、半音単位の離散的な周波数のみを用いた符号化を行うと、十分な品質をもった再生音を得ることはできない。
【０００７】
そこで本発明は、ＭＩＤＩデータのような符号データへの変換を高い品質をもって行うことが可能な音響信号の符号化方法を提供することを目的とし、また、そのような符号化に応じた復号化方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
(1)   本発明の第１の態様は、時系列の強度信号として与えられる音響信号を符号化するための音響信号の符号化方法において、
符号化対象となる音響信号を、デジタルの音響データとして取り込む入力段階と、
音響データの時間軸上に複数の単位区間を設定する区間設定段階と、
Ｎ通りの基本周波数（Ｎ＞１）を定義するとともに、各隣接基本周波数の中間にそれぞれ（Ｍ−１）通りの中間周波数（Ｍ＞１）を定義する周波数定義段階と、
個々の単位区間内の音響データについて、各周波数をもった周期関数との相関値を演算し、この相関値に基づいて音響データに含まれる代表的な周波数成分を示す代表周波数を選出する代表周波数選出段階と、
個々の単位区間内の音響データを、選出した代表周波数、演算した相関値、個々の単位区間の時間軸上での位置、を示す情報を含む符号データによって表現する符号化段階と、
符号データを、代表周波数の基本周波数に対するずれ量に応じて、複数Ｍ個のグループに分類し、各グループごとに分離して出力する符号出力段階と、
を行うようにしたものである。
【０００９】
(2)   本発明の第２の態様は、上述の第１の態様に係る音響信号の符号化方法において、
Ｎ通りの基本周波数のうちの第ｉ番目（ただし、ｉ＝１，２，…，Ｎ）の基本周波数をｆ（ｉ，０）とし、この第ｉ番目の基本周波数と第（ｉ＋１）番目の基本周波数との中間に定義される（Ｍ−１）通りの中間周波数のうちの第ｊ番目（ただし、ｊ＝１，２，…，Ｍ−１）の中間周波数をｆ（ｉ，ｊ）としたときに、１以上の実数で与えられる比例定数Ｋを用いて、
ｆ（ｉ＋１，０）＝Ｋ・ｆ（ｉ，０）
ｆ（ｉ，ｊ）＝Ｋｊ／Ｍ・ｆ（ｉ，０）
なる式が成り立つように、周波数定義段階における周波数定義を行うようにしたものである。
【００１０】
(3)   本発明の第３の態様は、上述の第２の態様に係る音響信号の符号化方法において、
符号化段階において、代表周波数をノートナンバー、相関値をベロシティー、単位区間の時間軸上での位置をデルタタイム、によってそれぞれ表現したＭＩＤＩデータにより符号化を行い、Ｍ個のグループにそれぞれＭ個のチャンネルを対応させ、各グループに分類された符号データをそれぞれ対応するチャンネルに出力するようにしたものである。
【００１１】
(4)   本発明の第４の態様は、上述の第１の態様に係る音響信号の符号化方法によって符号化された符号データを復号化するための音響信号の復号化方法において、
復号化方法を実行する装置が、Ｎ通りの基本周波数の音源信号を発生することができる音源を利用して、基本周波数をもった符号データのグループについては、この音源信号を用いて再生を行い、中間周波数をもった符号データのグループについては、この音源信号に、基本周波数に対するずれ量に相当する周波数補正を施した補正信号を用いて再生を行うようにしたものである。
【００１２】
(5)   本発明の第５の態様は、上述の第２の態様に係る音響信号の符号化方法によって符号化された符号データを復号化するための音響信号の復号化方法において、
復号化方法を実行する装置が、基本周波数に相当するＮ通りの音源信号を発生することができる音源を利用して、
第ｉ番目の基本周波数ｆ（ｉ，０）をもった符号データについては、第ｉ番目の音源信号を用いて再生を行い、
第ｉ番目の基本周波数と第（ｉ＋１）番目の基本周波数との中間に定義される（Ｍ−１）通りの中間周波数のうちの第ｊ番目の中間周波数ｆ（ｉ，ｊ）をもった符号データについては、第ｉ番目の音源信号もしくは第（ｉ＋１）番目の音源信号に、基本周波数に対するずれ量に相当する周波数補正を施した補正信号を用いて再生を行うようにしたものである。
【００１３】
(6)   本発明の第６の態様は、上述の第３の態様に係る音響信号の符号化方法によって符号化された符号データを復号化するための音響信号の復号化方法において、
復号化方法を実行する装置が、基本周波数に相当するＮ通りの音源信号を発生することができるＭＩＤＩ音源を利用して、各チャンネルごとに、音源信号に対する固有の周波数補正量を設定し、基本周波数をもった符号データを含むチャンネルについては音源信号がそのまま再生され、中間周波数をもった符号データを含むチャンネルについては固有の周波数補正量に基づく周波数補正が行われた音源信号が再生されるようにしたものである。
【００１４】
(7)   本発明の第７の態様は、上述の第１〜第３の態様に係る音響信号の符号化方法をコンピュータに実行させるためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【００１５】
(8)   本発明の第８の態様は、上述の第４〜第６の態様に係る音響信号の復号化方法をコンピュータに実行させるためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【００１６】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【００１７】
§１．本発明に係る音響信号の符号化方法の基本原理
はじめに、本発明に係る音響信号の符号化方法の基本原理を述べておく。この基本原理は、前掲の各公報あるいは明細書に開示されているので、ここではその概要のみを簡単に述べることにする。
【００１８】
いま、図１(a) に示すように、時系列の強度信号としてアナログ音響信号が与えられたものとしよう。図示の例では、横軸に時間ｔ、縦軸に振幅（強度）をとってこの音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なＰＣＭの手法を用い、所定のサンプリング周期でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えばよい。ここでは、説明の便宜上、ＰＣＭの手法でデジタル化した音響データの波形も、図１(a) のアナログ音響信号と同一の波形で示すことにする。
【００１９】
続いて、この符号化対象となる音響信号の時間軸上に、複数の単位区間を設定する。図１(a) に示す例では、時間軸ｔ上に等間隔に６つの時刻ｔ１〜ｔ６が定義され、これら各時刻を始点および終点とする５つの単位区間ｄ１〜ｄ５が設定されている（実際には、後述するように、各区間は部分的に重複するように設定するのが好ましい）。
【００２０】
こうして単位区間が設定されたら、各単位区間ごとの音響信号（ここでは、区間信号と呼ぶことにする）について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、その中でも振幅の大きな周波数成分を代表周波数として選出すればよい。代表周波数は１つだけ選出してもよいが、複数の代表周波数を選出した方が、より精度の高い符号化が可能になる。代表周波数を選出する方法のひとつは、フーリエ変換を利用する方法である。すなわち、各区間信号ごとに、それぞれフーリエ変換を行い、スペクトルを作成する。このとき、ハニング窓（Hanning Window )などの重み関数で、切り出した区間信号にフィルタをかけてフーリエ変換を施す。一般にフーリエ変換は、切り出した区間前後に同様な信号が無限に存在することが想定されているため、重み関数を用いない場合、作成したスペクトルに高周波ノイズがのることが多い。ハニング窓関数など区間の両端の重みが０になるような重み関数を用いると、このような弊害をある程度抑制できる。
【００２１】
図１(b) には、単位区間ｄ１について作成されたスペクトルの一例が示されている。このスペクトルでは、横軸上に定義された周波数ｆによって、単位区間ｄ１についての区間信号に含まれる周波数成分（０〜Ｆ：ここでＦはサンプリング周波数）が示されており、縦軸上に定義された複素強度Ａによって、各周波数成分ごとの複素強度が示されている。
【００２２】
次に、このスペクトルの周波数軸ｆに対応させて、離散的に複数Ｎ個の符号コードを定義する。別言すれば、周波数軸ｆ上に、複数Ｎ通りの周波数を定義することになる。この例では、符号コードとしてＭＩＤＩデータで利用されるノートナンバーｎを用いており、ｎ＝０〜１２７までの１２８個の符号コードを定義している。ノートナンバーｎは、音符の音階を示すパラメータであり、たとえば、ノートナンバーｎ＝６９は、ピアノの鍵盤中央の「ラ音（Ａ３音）」を示しており、４４０Ｈｚの音に相当する。このように、１２８個のノートナンバーには、いずれも所定の周波数が対応づけられるので、スペクトルの周波数軸ｆ上の所定位置に、それぞれ１２８個のノートナンバーｎが離散的に定義されることになる。ここでは、この１２８個のノートナンバーｎに対応する周波数を基本周波数と呼ぶことにする。
【００２３】
ノートナンバーｎは、１オクターブ上がると、周波数が２倍になる対数尺度の音階を示すため、周波数軸ｆに対して線形には対応しない。すなわち、周波数軸ｆ上に離散的に定義された各ノートナンバーに対応する基本周波数は、個々の周波数値が等比級数配列をなす周波数ということになる。そこで、ここでは周波数軸ｆを対数尺度で表し、この対数尺度軸上にノートナンバーｎを定義した強度グラフを作成してみる。図１(c) は、このようにして作成された単位区間ｄ１についての強度グラフを示す。この強度グラフの横軸は、図１(b) に示すスペクトルの横軸を対数尺度に変換したものであり、ノートナンバーｎ＝０〜１２７が等間隔にプロットされている。一方、この強度グラフの縦軸は、図１(b) に示すスペクトルの複素強度Ａを実効強度Ｅに変換したものであり、各ノートナンバーｎの位置における強度を示している。一般に、フーリエ変換によって得られる複素強度Ａは、実数部Ｒ（余弦関数との相関を示す部分）と虚数部Ｉ（正弦関数との相関を示す部分）とによって表されるが、実効強度Ｅは、Ｅ＝（Ｒ２＋Ｉ２）１／２なる二乗和平方根値として演算によって求めることができる。
【００２４】
こうして求められた単位区間ｄ１の強度グラフは、単位区間ｄ１についての区間信号に含まれる振動成分について、ノートナンバーｎ＝０〜１２７に相当する各振動成分の割合を実効強度として示すグラフということができる。そこで、この強度グラフに示されている各実効強度に基いて、全Ｎ個（この例ではＮ＝１２８）のノートナンバーの中からＰ個のノートナンバーを選択し、このＰ個のノートナンバーｎを、単位区間ｄ１を代表する代表符号コードとして抽出する。これは、全Ｎ通りの基本周波数の中から、Ｐ個の周波数を代表周波数として選出することに他ならない。ここでは、説明の便宜上、Ｐ＝３として、全１２８個の候補の中から３個のノートナンバーを代表符号コードとして抽出する場合を示すことにする。たとえば、「候補の中から強度の大きい順にＰ個の符号コードを抽出する」という基準に基いて抽出を行えば、図１(c) に示す例では、第１番目の代表符号コードとしてノートナンバーｎ（ｄ１，１）が、第２番目の代表符号コードとしてノートナンバーｎ（ｄ１，２）が、第３番目の代表符号コードとしてノートナンバーｎ（ｄ１，３）が、それぞれ抽出されることになる。
【００２５】
このようにして、Ｐ個の代表符号コードが抽出されたら、これらの代表符号コードとその実効強度によって、単位区間ｄ１についての区間信号を表現することができる。たとえば、上述の例の場合、図１(c) に示す強度グラフにおいて、ノートナンバーｎ（ｄ１，１）、ｎ（ｄ１，２）、ｎ（ｄ１，３）の実効強度がそれぞれｅ（ｄ１，１）、ｅ（ｄ１，２）、ｅ（ｄ１，３）であったとすれば、以下に示す３組のデータ対によって、単位区間ｄ１の音響信号を表現することができる。
ｎ（ｄ１，１），ｅ（ｄ１，１）
ｎ（ｄ１，２），ｅ（ｄ１，２）
ｎ（ｄ１，３），ｅ（ｄ１，３）
以上、単位区間ｄ１についての処理について説明したが、単位区間ｄ２〜ｄ５についても、それぞれ別個に同様の処理が行われ、代表符号コードおよびその強度を示すデータが得られることになる。たとえば、単位区間ｄ２については、
ｎ（ｄ２，１），ｅ（ｄ２，１）
ｎ（ｄ２，２），ｅ（ｄ２，２）
ｎ（ｄ２，３），ｅ（ｄ２，３）
なる３組のデータ対が得られる。このようにして各単位区間ごとに得られたデータによって、原音響信号を符号化することができる。
【００２６】
図２は、上述の方法による符号化の概念図である。上述の例では、非常に単純な区間設定例を述べたが、図２に示す例では、より実用的な区間設定が行われている。すなわち、図２(a) に示すように、単位区間ｄ１，ｄ２，ｄ３，…は、いずれも部分的に重なっており、このような区間設定に基いて前述の処理を行うと、図２(b) の概念図に示されているような符号化が行われることになる。この例においても、個々の単位区間ごとにそれぞれ３個の代表符号コードを抽出しており（Ｐ＝３）、これら代表符号コードに関するデータを３つのサブトラックＴ１〜Ｔ３に分けて収容するようにしている。たとえば、単位区間ｄ１について抽出された代表符号コードｎ（ｄ１，１），ｎ（ｄ１，２），ｎ（ｄ１，３）は、それぞれサブトラックＴ１，Ｔ２，Ｔ３に収容されている。もっとも、図２(b) は、上述の方法によって得られる符号データを音符の形式で示した概念図であり、実際には、各音符にはそれぞれ強度に関するデータが付加されている。たとえば、サブトラックＴ１には、ノートナンバーｎ（ｄ１，１），ｎ（ｄ２，１），ｎ（ｄ３，１）…なる音階を示すデータとともに、ｅ（ｄ１，１），ｅ（ｄ２，１），ｅ（ｄ３，１）…なる強度を示すデータが収容されることになる。また、図２(b) に示す概念図では、音符の水平方向に関する位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【００２７】
なお、ここで採用する符号化の形式としては、必ずしもＭＩＤＩ形式を採用する必要はないが、この種の符号化形式としてはＭＩＤＩ形式が最も普及しているため、実用上はＭＩＤＩ形式の符号データを用いるのが最も好ましい。ＭＩＤＩ形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーＮとベロシティーＶとを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーＮとベロシティーＶとを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーＶは、たとえば、ピアノの鍵盤などを押し下げる速度（ノートオン時のベロシティー）および鍵盤から指を離す速度（ノートオフ時のベロシティー）を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【００２８】
前述の方法では、第ｋ番目の単位区間ｄｋについて、代表符号コードとしてＰ個のノートナンバーｎ（ｄｋ，１），ｎ（ｄｋ，２），…，ｎ（ｄｋ，Ｐ）が得られ、このそれぞれについて実効強度ｅ（ｄｋ，１），ｅ（ｄｋ，２），…，ｅ（ｄｋ，Ｐ）が得られる。そこで、次のような手法により、ＭＩＤＩ形式の符号データを作成することができる。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーＮとしては、得られたノートナンバーｎ（ｄｋ，１），ｎ（ｄｋ，２），…，ｎ（ｄｋ，Ｐ）をそのまま用いればよい。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーＶとしては、得られた実効強度ｅ（ｄｋ，１），ｅ（ｄｋ，２），…，ｅ（ｄｋ，Ｐ）を所定の方法で規格化した値を用いればよい。また、「デルタタイム」データは、各単位区間の長さに応じて設定すればよい。
【００２９】
なお、上述の例では、区間信号のフーリエスペクトルを求め、その強度値の大きい順にＰ個の周波数（ノートナンバー）を選出して代表周波数とする処理を行っているが、代表周波数の選出には、その他の方法を用いてもかまわない。たとえば、特開２０００−２６１３２２号公報には、一般化調和解析の手法を用いて代表周波数の選出を行う例が示されており、本発明に係る符号化方法を実施する上では、このような一般化調和解析の手法を用いて代表周波数の選出を行ってもかまわない。フーリエスペクトルのピークに基づいて代表周波数を選出する方法も、一般化調和解析の手法を用いて代表周波数を選出する方法も、結局は、個々の単位区間内の音響データについて、予め用意された各基本周波数（上述の例では、ＭＩＤＩノートナンバーに対応する１２８通りの周波数）をもった周期関数との相関値を演算し、この相関値に基づいて代表周波数を選出する（具体的には、相関の大きい周期関数の周波数を代表周波数として選出する）という点では変わりはない。
【００３０】
§２．本発明に係る音響信号の符号化および復号化方法
上述したように、本発明に係る音響信号の符号化方法の基本原理は、時系列の強度信号として与えられる音響信号を、デジタルの音響データとして取り込み、この音響データの時間軸上に複数の単位区間を設定し、各単位区間ごとの音響データ（区間信号）を、それぞれ所定の代表周波数をもった周期信号で表現する、という手法にある。ここで、代表周波数は、区間信号に含まれる代表的な周波数成分を示すものであり、予め用意されたＮ通りの基本周波数の中から、区間信号に対する相関の大きなものが代表周波数として選出されることになる。前述の例では、ＭＩＤＩノートナンバーに対応する１２８通りの基本周波数の中から、３つの代表周波数を選出し、１つの区間信号を、３つの符号データで表現したことになる。ここで、各符号データは、選出した代表周波数、演算した相関値（当該代表周波数をもった周期関数と区間信号との相関を示す値）、個々の単位区間の時間軸上での位置、を示す情報から構成され、ＭＩＤＩデータを利用した場合、ノートナンバー（代表周波数を示す）、ベロシティー（相関値を示す）、デルタタイム（時間軸上での位置を示す）から構成される。
【００３１】
このようにＭＩＤＩデータの形式で符号化された符号データは、一般のＭＩＤＩ音源を利用した再生（復号化）が可能であり、１２８通りの基本周波数（ノートナンバー）に対応する音源波形によって再生されることになる。図３には、この１２８通りのノートナンバーのうち、ノートナンバー６０〜６５に相当する６通りの基本周波数が周波数軸上にプロットされている。図示のとおり、ノートナンバー６０〜６５は、音階では、Ｃ３〜Ｆ３に相当し、周波数では２６２〜３５０Ｈｚに相当する。図示の周波数軸は対数尺度となっているため、各基本周波数は等間隔にプロットされているが、実際には、各基本周波数の周波数値は等比級数をなし、半音単位で音階が上がってゆく。このように、周波数軸上に半音単位で離散的に設定された１２８通りの基本周波数のみを用いた場合、楽器音は十分に表現できたとしても、ヴォーカル音などの一般の音響信号を十分に表現することはできない。
【００３２】
本発明の着眼点は、復号化の際に音源として用意される基本周波数だけでなく、その間の中間周波数も用いて原音響信号をできるだけ忠実に符号化しておき、復号化の際には、基本周波数については音源信号をそのまま用いた再生を行い、中間周波数については音源信号に対して周波数補正を施して再生を行うようにする点にある。
【００３３】
たとえば、図４に示す例のように、隣接する基本周波数の間を対数尺度上で３等分し、それぞれ２つずつの中間周波数を定義する。ここでは、これら各中間周波数のノートナンバーとして、基本周波数のノートナンバーに「＋」または「−」を付加して示すことにする。たとえば、基本周波数のノートナンバー６０と６１との間に定義される２つの中間周波数は、ノートナンバー「６０＋」および「６１−」として示される。別言すれば、ノートナンバー「ｎ」で示される基本周波数について、「１／３半音」だけ高い「ｎ＋」なるノートナンバーで示される中間周波数と、「１／３半音」だけ低い「ｎ−」なるノートナンバーで示される中間周波数と、が定義されることになる。その結果、１２８通りの基本周波数と、２５６通りの中間周波数とが定義されることになり、周波数軸上には、合計で３８４通りの周波数が定義されることになる。これらの周波数は、対数尺度の周波数軸上で等間隔に並んだ等比級数配列をなすことになる。
【００３４】
§１で述べた例では、１２８通りの基本周波数をもった周期信号について、それぞれ音響データとの相関を求め、ある程度以上の相関をもった基本周波数を代表周波数として選出する処理を行い、当該音響データを、選出された代表周波数をもつ音符データとして表現した。ここで述べる方法では、３８４通りの周波数（基本周波数と中間周波数）をもった周期信号について、それぞれ音響データとの相関を求め、ある程度以上の相関をもった基本周波数もしくは中間周波数を代表周波数として選出する処理を行い、当該音響データを、選出された代表周波数をもつ音符データとして表現することになる。このような方法によれば、代表周波数の選出の自由度が３倍に増加するため、原音響波形に忠実な符号化が可能になる。
【００３５】
ただし、一般のＭＩＤＩ音源には、基本周波数に相当する音源信号しか用意されていないため、上述の方法で符号化された符号データを復号化（再生）する際には、工夫が必要になる。すなわち、ノートナンバー「ｎ」で示される基本周波数をもった符号データについては、ＭＩＤＩ音源に用意された基本周波数の音源信号をそのまま用いて再生し、ノートナンバー「ｎ＋」あるいは「ｎ−」で示される中間周波数をもった符号データについては、ＭＩＤＩ音源に用意された基本周波数の音源信号に対して周波数補正を施して再生を行うようにする。具体的には、基本周波数より「１／３半音」だけ高い「ｎ＋」なるノートナンバーで示される中間周波数をもった符号データの場合は、音源信号を「１／３半音」だけ高くするチューニングを行って再生を行い、基本周波数より「１／３半音」だけ低い「ｎ−」なるノートナンバーで示される中間周波数をもった符号データの場合は、音源信号を「１／３半音」だけ低くするチューニングを行って再生を行えばよい。
【００３６】
このように、個々の符号データごとに、それぞれ所定のチューニングを行った再生音が提示されるようにするためには、符号化の時点で、各符号データのもつ周波数の基本周波数に対するずれ量に応じて、グループ分けした出力を行うようにすればよい。たとえば、上述の例の場合、図５に示すような分類を行えばよく、各グループごとに独立したトラックに出力するようにすればよい。すなわち、ノートナンバー「ｎ」で示される基本周波数をもった符号データをグループ１、ノートナンバー「ｎ＋」で示される中間周波数をもった符号データをグループ２、ノートナンバー「ｎ−」で示される中間周波数をもった符号データをグループ３に分類すればよい。このような分類を行っておけば、グループ１に所属する符号データを復号化する際には、ＭＩＤＩ音源に用意された基本周波数の音源信号をそのまま用いた再生を行い、グループ２に所属する符号データを復号化する際には、ＭＩＤＩ音源に用意された基本周波数に対して「１／３半音」だけ高くするチューニングを行って再生を行い、グループ３に所属する符号データを復号化する際には、ＭＩＤＩ音源に用意された基本周波数に対して「１／３半音」だけ低くするチューニングを行って再生を行うことにより、符号化に応じた正しい復号化が可能になる。
【００３７】
最も標準的に利用されているＳＭＦ（Standard MIDI File）フォーマットでは、ＭＩＤＩデータを１６チャンネル（オーディオの分野では一般にトラックと呼ばれるが、ＭＩＤＩ規格ではチャンネルと呼ばれる）に分けて収録することができ、各チャンネルごとに、音源信号のチューニングを行うことが可能である。そこで、実用上は、このチャンネルを利用して、ＭＩＤＩデータのグループ分けを行うのが好ましい。たとえば、図５に示す例の場合、グループ１に属する符号データをチャンネル０に、グループ２に属する符号データをチャンネル１に、グループ３に属する符号データをチャンネル２に、それぞれ分けて収容しておき、再生時には、チャンネル１については「１／３半音」だけ高くするチューニングを指示し、チャンネル２については「１／３半音」だけ低くするチューニングを指示すればよい。
【００３８】
なお、上述の例では、隣接する基本周波数間を対数尺度の周波数軸上で３等分し、２つの中間周波数を定義したが、隣接する基本周波数間をより多数に分割し、より多数の中間周波数を定義してもよい。一般的には、Ｎ通りの基本周波数（Ｎ＞１）を定義するとともに、各隣接基本周波数の中間にそれぞれ（Ｍ−１）通りの中間周波数（Ｍ＞１）を定義すれば、Ｎ×Ｍ通りの周波数の中から代表周波数を選出できることになり、選出の自由度はそれだけ高まることになる。図６は、このようなＮ×Ｍ通りの一般的な周波数定義を行った例を示す図である。周波数軸上にプロットされた周波数ｆ（ｉ，０）は、Ｎ通りの基本周波数のうちの第ｉ番目の基本周波数を示し、周波数ｆ（ｉ＋１，０）は、第（ｉ＋１）番目の基本周波数を示している（０は基本周波数であることを示す）。この隣接する２つの周波数ｆ（ｉ，０）とｆ（ｉ＋１，０）との間は、対数尺度の周波数軸上でＭ等分され、（Ｍ−１）通りの中間周波数が定義されている。すなわち、第１番目の中間周波数がｆ（ｉ，１）、第２番目の中間周波数がｆ（ｉ，２）、第ｊ番目の中間周波数がｆ（ｉ，ｊ）、第（Ｍ−１）番目の中間周波数がｆ（ｉ，Ｍ−１）である。このような周波数定義は、１以上の実数で与えられる比例定数Ｋを用いて、
ｆ（ｉ＋１，０）＝Ｋ・ｆ（ｉ，０）
ｆ（ｉ，ｊ）＝Ｋｊ／Ｍ・ｆ（ｉ，０）
なる式で示すことができる。
【００３９】
このようなＮ×Ｍ通りの周波数を用いて符号化された符号データを復号化する際には、基本周波数に相当するＮ通りの音源信号を発生することができる音源を用意し、第ｉ番目の基本周波数ｆ（ｉ，０）をもった符号データについては、第ｉ番目の音源信号を用いて再生を行い、第ｉ番目の基本周波数と第（ｉ＋１）番目の基本周波数との中間に定義される（Ｍ−１）通りの中間周波数のうちの第ｊ番目の中間周波数ｆ（ｉ，ｊ）をもった符号データについては、第ｉ番目の音源信号もしくは第（ｉ＋１）番目の音源信号に、基本周波数に対するずれ量に相当する周波数補正を施した補正信号を用いて再生を行うようにすればよい。
【００４０】
なお、パラメータＮ，Ｍの値を増加させればさせるほど、原音響信号の符号化品質は向上するが、代表周波数の選出を行う際には、Ｎ×Ｍ通りの各周波数をもった周期関数との相関を求める演算が必要になるため、パラメータＮおよびＭの値を増加させればさせるほど、演算負担も増加することになる。また、一般的なＭＩＤＩ音源には、１２８通りの基本周波数しか用意されていないので、汎用ＭＩＤＩ音源での再生が可能な符号化を行うのであれば、Ｎ＝１２８に設定するのが好ましい。また、上述したように、ＳＭＦフォーマットでのチャンネル数は１６に定められているため、グループ分けをチャンネルを利用して行う場合には、Ｍ≦１６に設定する必要がある。
【００４１】
§３．具体的な符号化および復号化の実施例
最後に、本発明に係る音響信号の符号化方法および復号化方法の具体的な実施例を述べておく。ここでは、何らかの原音響信号について、これまで述べてきた符号化手法を適用することにより、図７に示すような符号データが得られたものとしよう。これら各符号データにおいて、文字「Ｎ」および「１〜４」の数字からなる部分は、ＭＩＤＩデータの所定のノートナンバーを示しており、「＋」および「−」の部分は、このノートナンバーで示される基本周波数に対するずれ量を示している。すなわち、符号化の際には、１２８通りの基本周波数と、２５６通りの中間周波数が用いられており、「＋」が付された符号データは、基本周波数より「１／３半音」高い中間周波数の符号データ、「−」が付された符号データは、基本周波数より「１／３半音」低い中間周波数の符号データ、「＋」も「−」も付されていない符号データは、基本周波数の符号データ、ということになる。なお、図７では、各符号データが２行にわたって配置されているが、これは、１つの単位区間内の音響データに対して、２つの代表周波数が選出され、２つの符号データが生成されたことを示しており、水平方向が時間軸に相当することになる。
【００４２】
さて、このような符号データが生成されたら、これらを図８に示すように、３つのグループ（トラック）に分類する。ここで、グループ１は基本周波数の符号データ、グループ２は「＋」が付された中間周波数の符号データ、グループ３は「−」が付された中間周波数の符号データである。なお、ここでは、各グループごとに更にサブトラックを設け、同一周波数の符号データを同一サブトラックに収容するようにしてある。たとえば、グループ１では、符号データ「Ｎ１」，「Ｎ２」，「Ｎ４」がそれぞれ独立したサブトラックに収容されている。この例では、グループ２，３には、同一周波数の符号データしか含まれていないため、１つのサブトラックしか示されていないが、異なる周波数の符号データが含まれていた場合には、グループ１と同様に、それぞれ異なるサブトラックに収容される。
【００４３】
続いて、図９に示すように、グループ２，３に収容された符号データ、すなわち、中間周波数をもった符号データについて、「＋」，「−」の符号を削除する。そもそも、この「＋」，「−」の符号は、基本周波数よりも「１／３半音」高いまたは低いことを示す符号であり、一般的なＭＩＤＩ規格には定義されていない符号である。この「＋」，「−」の符号は、各グループ（トラック）への分類を行うために付された符号であり、分類が完了した時点でその役目を終えることになる。こうして、これらの符号を削除することにより、図９に示す符号データは、ＭＩＤＩ規格に適合したデータとなる。もちろん、「１／３半音」高いまたは低いという情報は、グループごとに保持されていることになる。
【００４４】
次に、各サブトラックごとに、符号データの統合化を行う。この統合化は、時間軸上で隣接配置された複数の符号データが、同一または類似の特性をもった符号データであった場合に、１つに統合してまとめる処理であり、この統合化処理により、符号データの総数を減少させることができる。たとえば、図９に示す例において、「同一ノートナンバーをもった符号データが隣接配置されていた場合には、これを統合する」という方針で統合化を行うと、図１０に示すような結果が得られる。それぞれ矩形で囲った複数の符号データが、１つの符号データに統合されることになる。また、この図１０では、グループ１〜３が、ＭＩＤＩ規格におけるチャンネル０〜２に割り当てられて収容された例が示されている。
【００４５】
図１１は、図１０に示す各符号データを、ＭＩＤＩデータにおける「ノートオン（演奏操作開始）」および「ノートオフ（演奏操作終了）」を示すデータに置き換えて示した例である。先頭の番号１〜１２は、このデータのシリアル番号である。たとえば、「１．Ｃｈ０  Ｎ１  Ｏｎ」は、チャンネル０のノートナンバーＮ１を「ノートオン」にせよ、というコマンドを示しており、「２．Ｃｈ０  Ｎ４  Ｏｎ」は、チャンネル０のノートナンバーＮ４を「ノートオン」にせよ、というコマンドを示している。実際のＭＩＤＩデータでは、これらのコマンドが、所定のデルタタイムとともにコード化されて記述されることになる。
【００４６】
参考のために、図１０に示す各符号データを、ＳＭＦフォーマットによりコード化することにより得られる具体的なＭＩＤＩデータ（１６進数表記）の構成を図１２に示す。この図１２に示された各行が、図１１に示す１つのコマンドに対応する。図１２の各行の行末には、このコマンドが記載されている。行頭の「Delta Time」欄の数値は、各コマンドを実行するまでの待ち時間を示す数値であり、各符号データの時間軸上での位置を示す情報ということになる。続く「Status」欄は、コマンドの種類を示すコードであり、１桁目の「９」は「ノートオン」、「８」は「ノートオフ」を示し、２桁目の数値はチャンネル番号を示している。次の「Note Number 」欄には、ノートナンバーが記述される（図では、便宜上、Ｎ１〜Ｎ４なる符号が記載されているが、実際には、０〜１２７（１６進数での００〜７Ｆ）までのうちのいずれかのノートナンバーが記載されることになる）。最後の「Velocity」欄には、ベロシティーの数値が記載される。この例では、「ノートオン」の際のベロシティーのみを設定し（前述したように、ノートナンバーに対応する周波数をもった周期関数との相関値に基づいて設定される）、「ノートオフ」の際のベロシティー値はすべて０としてある。
【００４７】
一方、図１３には、各チャンネルごとのチューニングコマンドを、ＳＭＦフォーマットによりコード化した具体的なＭＩＤＩデータの構成例が示されている。ここでは細かな説明は省略するが、ここに示すコードの１〜６行目は、チャンネル０を通常のチューニング（周波数補正を行わず、基本周波数どおりの再生）を設定するコマンドであり、７〜１２行目は、チャンネル１の音程を高めるチューニング（基本周波数に対する＋３３セントの周波数補正）を設定するコマンドであり、１３〜１８行目は、チャンネル２の音程を低めるチューニング（基本周波数に対する−３３セントの周波数補正）を設定するコマンドである。１００セントの周波数補正が半音に相当するので、＋３３セントの周波数補正は、「１／３半音」高める補正となり、−３３セントの周波数補正は、「１／３半音」低める補正となる。
【００４８】
実際には、図１３に示すチューニングコマンドからなるＭＩＤＩデータを、図１２に示す演奏情報からなるＭＩＤＩデータに先行して実行させておくようにし、音源信号のチューニングを完了した状態で、再生が行われるようにすることになる。ＳＭＦフォーマットのＭＩＤＩデータでは、このように、各チャンネルごとのチューニングをソフトウエア的に容易に行うことができるので、通常のＭＩＤＩ規格に準じたままの符号データを用いて、本発明に係る復号化方法を実行することが可能である。また、チューニングに必要な情報は、すべてＭＩＤＩデータ内に含ませることができるので、再生を行う際には、何ら特別な設定は不要である。
【００４９】
以上、本発明に係る音響信号の符号化方法および復号化方法を図示する実施形態に基づいて説明したが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々の態様で実施可能である。特に、上述の実施形態では、ＭＩＤＩデータとして符号化を行う例を示したが、本発明は、ＭＩＤＩデータへの符号化に限定されるものではなく、任意の規格に基づく符号化に適用可能である。また、本発明に係る音響信号の符号化方法および復号化方法は、パソコンなどの汎用コンピュータに専用のソフトウエアを組み込むことにより実施可能であり、そのような専用のソフトウエアは、コンピュータ読み取り可能な記録媒体に記録して配付することができる。
【００５０】
【発明の効果】
以上のとおり本発明に係る音響信号の符号化方法および復号化方法によれば、音源信号に含まれている基本周波数の他に、中間周波数を用いて符号化を行い、復号化の際には、周波数補正した音源信号により中間周波数を再生するようにしたため、原音響波形を高い品質をもって符号化し、これを復号化することができるようになる。
【図面の簡単な説明】
【図１】本発明に係る音響信号の符号化方法の基本原理を示す図である。
【図２】図１に示す原理に基づいて作成された符号データの概念図である。
【図３】本発明に係る音響信号の符号化方法を実施する上で定義される基本周波数の一例を示す図である。
【図４】図３に示す基本周波数の間に、それぞれ２つの中間周波数を定義した例を示す図である。
【図５】本発明に係る音響信号の符号化方法における符号データのグループ分けの一例を示す図である。
【図６】本発明に係る音響信号の符号化方法を実施する上で定義される基本周波数および中間周波数の一般例を示す図である。
【図７】本発明に係る音響信号の符号化方法により作成された符号データの一実施例を示す図である。
【図８】図７に示す実施例に係る符号データをグループ分けした状態を示す図である。
【図９】図８に示すグループ分け後の符号データの状態を示す図である。
【図１０】図９に示す符号データに対して統合化処理を行い、これを各チャンネルに収容した状態を示す図である。
【図１１】図１０に示す各符号データを、ＭＩＤＩデータにおける「ノートオン（演奏操作開始）」および「ノートオフ（演奏操作終了）」を示すデータに置き換えて示した図である。
【図１２】図１０に示す各符号データを、ＳＭＦフォーマットによりコード化した具体的なＭＩＤＩデータを示す図である。
【図１３】各チャンネルごとのチューニングコマンドを、ＳＭＦフォーマットによりコード化した具体的なＭＩＤＩデータを示す図である。
【符号の説明】
ｄ１〜ｄ５…単位区間
ｆ（ｉ，０），ｆ（ｉ＋１，０）…基本周波数
ｆ（ｉ，１），ｆ（ｉ，２），ｆ（ｉ，ｊ），ｆ（ｉ，Ｍ−１）…中間周波数
ｎ…ノートナンバー
Ｎ１〜Ｎ４…ノートナンバー
ｔ１〜ｔ６…時刻
Ｔ１〜Ｔ３…サブトラック
【図１】
0004473979.tif 000002
【図２】
0004473979.tif 000003
【図３】
0004473979.tif 000004
【図４】
0004473979.tif 000005
【図５】
0004473979.tif 000006
【図６】
0004473979.tif 000007
【図７】
0004473979.tif 000008
【図８】
0004473979.tif 000009
【図９】
0004473979.tif 000010
【図１０】
0004473979.tif 000011
【図１１】
0004473979.tif 000012
【図１２】
0004473979.tif 000013
【図１３】
0004473979.tif 000014