(57)【特許請求の範囲】
【請求項１】
所定のサンプリング周期でデジタル化されたＪ個の時系列の強度配列として与えられる音響信号を符号化するための符号化方法であって、
前記強度配列に対して時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大し、Ｊ×Ｑ個の時系列の拡大強度配列に変換する時系列拡大段階と、
前記拡大強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の単位区間を隣接する単位区間を時間軸方向に重複させながら設定する区間設定段階と、
個々の単位区間ごとに、Ｐ種類の周波数に対応したスペクトル強度を算出するスペクトル算出段階と、
個々の単位区間ごとに、前記スペクトル算出段階において求めたＰ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰ個の符号コードを作成する符号化段階と、
前記Ｐ個の符号コードの周波数がＱ倍になるように前記周波数情報を補正し、補正後の周波数情報が補正前の最大の周波数情報を越える周波数に対応した符号コードを削除し、残りのＰｈ個の符号コードに対して、
時間軸が１／Ｑ倍になるように、前記時間情報を補正するようにしている符号コード補正段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項２】
所定のサンプリング周期でデジタル化されたＪ個の時系列の強度配列として与えられる音響信号を符号化するための符号化方法であって、
前記強度配列に対して時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大し、Ｊ×Ｑ個の時系列の拡大強度配列に変換する時系列拡大段階と、
前記拡大強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の単位区間を隣接する単位区間を時間軸方向に重複させながら設定する区間設定段階と、
個々の単位区間ごとに、Ｐ種類の周波数に対応したスペクトル強度を算出するスペクトル算出段階と、
前記スペクトル算出段階において求めたＰ種類の各周波数に対してＱ倍になるように補正し、補正後の周波数が補正前の最大の周波数を越える周波数に対応したスペクトル強度を削除し、残りのＰｈ種類の周波数に対応したスペクトル強度に補正し、各単位区間の開始と終了の時刻を１／Ｑ倍になるように補正するスペクトル補正段階と、
個々の単位区間ごとに、前記スペクトル補正段階において補正されたＰｈ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰｈ個の符号コードを作成する符号化段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項３】
請求項１または請求項２において、
前記時系列拡大段階は、前記サンプリング周期を変化させずに、前記強度配列に対して線形補間を用いて時間軸方向にＱ倍だけ拡大するようにし、前記音響信号の周波数を全体的に１／Ｑに下げ、時間軸をＱ倍に延長させるようにしていることを特徴とする音響信号の符号化方法。
【請求項４】
請求項１から請求項３のいずれかにおいて、
前記符号化段階は、前記符号コードとしてＭＩＤＩ形式を用いて符号化を行い、前記符号コードの前記周波数情報としてノートナンバーを用い、前記スペクトル強度としてベロシティを用い、前記時間情報として直前のＭＩＤＩイベントからの相対時刻であるデルタタイム１とデルタタイム２を用い、これらの変換されたノートナンバー、ベロシティ、デルタタイム１を基にＭＩＤＩのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム２を基にＭＩＤＩのノートオフイベントを作成するようにしていることを特徴とする音響信号の符号化方法。
【請求項５】
請求項１において、
前記符号化段階は、前記符号コードとしてＭＩＤＩ形式を用いて符号化を行い、前記符号コードの前記周波数情報としてノートナンバーを用い、前記スペクトル強度としてベロシティを用い、前記時間情報として直前のＭＩＤＩイベントからの相対時刻であるデルタタイム１とデルタタイム２を用い、これらの変換されたノートナンバー、ベロシティ、デルタタイム１を基にＭＩＤＩのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム２を基にＭＩＤＩのノートオフイベントを作成するようにし、
前記符号コード補正段階は、前記ノートナンバーに１２・ｌｏｇ2Ｑ（前記Ｑに対して２を底とする対数値に１２倍を乗算した値）を加算し、
１２８−１２・ｌｏｇ2Ｑ以上のノートナンバーをもつ符号コードを削除するとともに、残りのＰｈ個の符号コードの前記デルタタイム１およびデルタタイム２に対して１／Ｑを乗算するような補正を行っていることを特徴とする音響信号の符号化方法。
【請求項６】
請求項１から請求項５のいずれかにおいて、
前記スペクトル算出段階は、
前記単位区間の区間信号の構成要素となるべき複数個の要素信号を準備する要素信号準備段階と、
前記複数個の要素信号の中から、前記区間信号に対する相関値が最も高い要素信号を調和信号として選出する調和信号選出段階と、
前記調和信号とこの調和信号について得られた相関値との積で与えられる含有信号を、前記区間信号から減じることにより差分信号を求める差分信号演算段階と、
前記差分信号を新たな区間信号として、前記調和信号選出段階および前記差分信号演算段階を実行して新たな含有信号および新たな差分信号を得る処理を、繰り返し行うことによりＰ個の含有信号を求め、求めた含有信号の振幅値に基づいて、前記Ｐ種類の周波数に対応したスペクトル強度を算出するようにしていることを特徴とする音響信号の符号化方法。
【請求項７】
請求項１において、
前記Ｊ個の時系列の強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の第２単位区間を隣接する第２単位区間を時間軸方向に重複させながら設定する第２区間設定段階と、
個々の第２単位区間ごとに、Ｐ種類の周波数に対応した第２スペクトル強度を算出する第２スペクトル算出段階と、
前記第２スペクトル算出段階において求めたＰ個の周波数と各々に対応する第２スペクトル強度、および当該第２単位区間の開始時刻と終了時刻で構成されるＰ個の第２符号コードを作成する第２符号化段階と、
前記第２符号化段階により作成されたＰ個の第２符号コードより、前記符号コード補正段階により補正されたＰｈ個の符号コードの周波数範囲より低い周波数をもつＰｌ個の第２符号コードを抽出し、当該第２単位区間に対応する単位区間に含まれる前記符号コード補正段階により補正されたＰｈ個の符号コードを加えて、Ｐｈ個の補正された符号コードとＰｌ個の第２符号コードで構成されるＰｈ＋Ｐｌ個の合成符号コードを作成する符号合成段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項８】
請求項２において、
前記Ｊ個の時系列の強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の第２単位区間を隣接する第２単位区間を時間軸方向に重複させながら設定する第２区間設定段階と、
個々の第２単位区間ごとに、Ｐ種類の周波数に対応した第２スペクトル強度を算出する第２スペクトル算出段階と、
前記第２スペクトル算出段階により作成されたＰ種類の周波数に対応した第２スペクトル強度より、前記スペクトル補正段階により補正されたＰｈ種類の周波数範囲より低いＰｌ種類の周波数に対応した第２スペクトル強度を抽出し、当該第２単位区間に対応する単位区間に含まれる前記スペクトル補正段階により補正されたＰｈ種類個の周波数に対応したスペクトル強度を加えて、Ｐｈ種類の補正された周波数に対応するスペクトル強度とＰｌ種類の周波数に対応する第２スペクトル強度で構成されるＰｈ＋Ｐｌ種類の合成された周波数に対応する合成スペクトル強度を作成するスペクトル合成段階と、
を有し、
前記符号化段階は、前記スペクトル合成段階において合成されたＰｈ＋Ｐｌ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応する合成スペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰｈ＋Ｐｌ個の符号コードを作成するようにしていることを特徴とする音響信号の符号化方法。
【請求項９】
所定のサンプリング周期でデジタル化されたＪ個の時系列の強度配列として与えられる音響信号を符号化するための符号化装置であって、
前記強度配列に対して時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大し、Ｊ×Ｑ個の時系列の拡大強度配列に変換する時系列拡大手段と、
前記拡大強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の単位区間を隣接する単位区間を時間軸方向に重複させながら設定する区間設定手段と、
個々の単位区間ごとに、Ｐ種類の周波数に対応したスペクトル強度を算出するスペクトル算出手段と、
個々の単位区間ごとに、前記スペクトル算出手段において求めたＰ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰ個の符号コードを作成する符号化手段と、
前記Ｐ個の符号コードの周波数がＱ倍になるように前記周波数情報を補正し、補正後の周波数情報が補正前の最大の周波数情報を越える周波数に対応した符号コードを削除し、残りのＰｈ個の符号コードに対して、時間軸が１／Ｑ倍になるように、前記時間情報を補正するようにしている符号コード補正手段と、
を有することを特徴とする音響信号の符号化装置。
【請求項１０】
所定のサンプリング周期でデジタル化されたＪ個の時系列の強度配列として与えられる音響信号を符号化するための符号化装置であって、
前記強度配列に対して時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大し、Ｊ×Ｑ個の時系列の拡大強度配列に変換する時系列拡大手段と、
前記拡大強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の単位区間を隣接する単位区間を時間軸方向に重複させながら設定する区間設定手段と、
個々の単位区間ごとに、Ｐ種類の周波数に対応したスペクトル強度を算出するスペクトル算出手段と、
前記スペクトル算出手段において求められたＰ種類の各周波数に対してＱ倍になるように補正し、補正後の周波数が補正前の最大の周波数を越える周波数に対応したスペクトル強度を削除し、残りのＰｈ種類の周波数に対応したスペクトル強度に補正し、各単位区間の開始と終了の時刻を１／Ｑ倍になるように補正するスペクトル補正手段と、
個々の単位区間ごとに、前記スペクトル補正手段により補正されたＰｈ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰｈ個の符号コードを作成する符号化手段と、
を有することを特徴とする音響信号の符号化装置。
【請求項１１】
請求項９または請求項１０において、
前記時系列拡大手段は、前記サンプリング周期を変化させずに、前記強度配列に対して線形補間を用いて時間軸方向にＱ倍だけ拡大するようにし、前記音響信号の周波数を全体的に１／Ｑに下げ、時間軸をＱ倍に延長させるようにしていることを特徴とする音響信号の符号化装置。
【請求項１２】
請求項９から請求項１１のいずれかにおいて、
前記符号化手段は、前記符号コードとしてＭＩＤＩ形式を用いて符号化を行い、前記符号コードの前記周波数情報としてノートナンバーを用い、前記スペクトル強度としてベロシティを用い、前記時間情報として直前のＭＩＤＩイベントからの相対時刻であるデルタタイム１とデルタタイム２を用い、これらの変換されたノートナンバー、ベロシティ、デルタタイム１を基にＭＩＤＩのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム２を基にＭＩＤＩのノートオフイベントを作成するようにしていることを特徴とする音響信号の符号化装置。
【請求項１３】
請求項９において、
前記符号化手段は、前記符号コードとしてＭＩＤＩ形式を用いて符号化を行い、前記符号コードの前記周波数情報としてノートナンバーを用い、前記スペクトル強度としてベロシティを用い、前記時間情報として直前のＭＩＤＩイベントからの相対時刻であるデルタタイム１とデルタタイム２を用い、これらの変換されたノートナンバー、ベロシティ、デルタタイム１を基にＭＩＤＩのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム２を基にＭＩＤＩのノートオフイベントを作成するようにし、
前記符号コード補正手段は、前記ノートナンバーに１２・ｌｏｇ2Ｑ（前記Ｑに対して２を底とする対数値に１２倍を乗算した値）を加算し、１２８−１２・ｌｏｇ2Ｑ以上のノートナンバーをもつ符号コードを削除するとともに、残りのＰｈ個の符号コードの前記デルタタイム１およびデルタタイム２に対して１／Ｑを乗算するような補正を行っていることを特徴とする音響信号の符号化装置。
【請求項１４】
請求項９から請求項１３のいずれかにおいて、
前記スペクトル算出手段は、
前記単位区間の区間信号の構成要素となるべき複数個の要素信号を準備する要素信号準備手段と、
前記複数個の要素信号の中から、前記区間信号に対する相関値が最も高い要素信号を調和信号として選出する調和信号選出手段と、
前記調和信号とこの調和信号について得られた相関値との積で与えられる含有信号を、前記区間信号から減じることにより差分信号を求める差分信号演算手段と、を有し、
前記差分信号を新たな区間信号として、前記調和信号選出手段および前記差分信号演算手段が新たな含有信号および新たな差分信号を得る処理を、繰り返し行うことによりＰ個の含有信号を求め、求めた含有信号の振幅値に基づいて、前記Ｐ種類の周波数に対応したスペクトル強度を算出するようにしていることを特徴とする音響信号の符号化装置。
【請求項１５】
請求項９において、
前記Ｊ個の時系列の強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の第２単位区間を隣接する第２単位区間を時間軸方向に重複させながら設定する第２区間設定手段と、
個々の第２単位区間ごとに、Ｐ種類の周波数に対応した第２スペクトル強度を算出する第２スペクトル算出手段と、
前記第２スペクトル算出手段において求めたＰ個の周波数と各々に対応する第２スペクトル強度、および当該第２単位区間の開始時刻と終了時刻で構成されるＰ個の第２符号コードを作成する第２符号化手段と、
前記第２符号化手段により作成されたＰ個の第２符号コードより、前記符号コード補正手段により補正されたＰｈ個の符号コードの周波数範囲より低い周波数をもつＰｌ個の第２符号コードを抽出し、当該第２単位区間に対応する単位区間に含まれる前記符号コード補正手段により補正されたＰｈ個の符号コードを加えて、Ｐｈ個の補正された符号コードとＰｌ個の第２符号コードで構成されるＰｈ＋Ｐｌ個の合成符号コードを作成する符号合成手段と、
を有することを特徴とする音響信号の符号化装置。
【請求項１６】
請求項１０において、
前記Ｊ個の時系列の強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の第２単位区間を隣接する第２単位区間を時間軸方向に重複させながら設定する第２区間設定手段と、
個々の第２単位区間ごとに、Ｐ種類の周波数に対応した第２スペクトル強度を算出する第２スペクトル算出手段と、
前記第２スペクトル算出手段により作成されたＰ種類の周波数に対応した第２スペクトル強度より、前記スペクトル補正手段により補正されたＰｈ種類の周波数範囲より低いＰｌ種類の周波数に対応した第２スペクトル強度を抽出し、当該第２単位区間に対応する単位区間に含まれる前記スペクトル補正手段により補正されたＰｈ種類個の周波数に対応したスペクトル強度を加えて、Ｐｈ種類の補正された周波数に対応するスペクトル強度とＰｌ種類の周波数に対応する第２スペクトル強度で構成されるＰｈ＋Ｐｌ種類の合成された周波数に対応する合成スペクトル強度を作成するスペクトル合成手段と、
を有し、
前記符号化手段は、前記スペクトル合成手段において合成されたＰｈ＋Ｐｌ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応する合成スペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰｈ＋Ｐｌ個の符号コードを作成するようにしていることを特徴とする音響信号の符号化装置。
【請求項１７】
請求項９から請求項１６のいずれかに記載の音響信号の符号化装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響信号の符号化技術に関し、特に、ＭＩＤＩ形式等の符号データに符号化するのに好適な符号化技術に関する。
【背景技術】
【０００２】
音響信号をMIDI符号等の符号データに変換する方法として、出願人は、音響信号に対してフーリエ変換などの周波数解析を施す技術を提案している（特許文献１参照）。しかし、与えられる音響信号はデジタルサンプリングされたものであるため、周波数が高い領域では調和関数との相関計算において周期あたりのサンプル数が少なくなり解析精度が顕著に悪化するという問題があった。これに対し、出願人は、MIDI符号で使用される平均律音階と同様な対数尺度の周波数で周波数解析を行うことにより、周波数が高い領域では参照する調和関数の周波数間隔を増大させ、隣接する周波数（MIDIノートナンバー）を誤判定する技術を提案している（特許文献２参照）。これに伴い、解析対象の主周波数間（半音間）を微細な周波数に分割して解析する方法を提案し、主として隣接する周波数間隔が広い周波数が高い領域における解析精度を改善している（特許文献３参照）。更に、出願人は、一般化調和解析を用いる技術を提案し、フーリエ変換では擬似的な周波数成分を過剰に抽出してしまう問題を改善している（特許文献４参照）。
【０００３】
上記提案手法により定常的な信号における周波数解析を高精度に行うことは可能になったが、音響信号は時系列に周波数が変動するため、理想的には、ある時刻における瞬間周波数を計測することが望まれるが、それは実現不可能である。そのため上記いずれの提案においても、ある時刻の近傍にフレームという微小区間を設定して、その区間で短時間の周波数解析を行う方法をとっている。この時、周波数解析精度（特に低音周波数）を向上させるためには微小区間（サンプル数）は長いほど良いが、一方時間分解能を向上させるためには微小区間は短いほど良い。即ち、周波数分解能と時間分解能はトレードオフの関係になる（不確定性の原理）。そこで、出願人は、フレーム長はMIDI符号の最低音を解析可能な程度に固定値(44.1kHzサンプリングで4096サンプル)に設定し、フレームを可変のステップで送りながら、時間分解能を改善する方法を提案した（特許文献５参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７９５２０１号公報
【特許文献２】特許第４０３７５４２号公報
【特許文献３】特許第４１５６２６８号公報
【特許文献４】特許第４１３２３６２号公報
【特許文献５】特許第４０６１０７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の技術では限界があり、音声信号などでは周波数の変動が急峻な場合、解析が周波数変動に追従できなかった。特に外国語音声、比較的早口な日本語音声では周波数変動を適切に抽出できず、明瞭なMIDI再生音が得られないという問題が発生している。音声信号の場合、一般に楽器音に比べ録音時のサンプリング周波数が低いということも起因しているが、楽器演奏音に比べ周波数変化の速度が著しいというのが主要因である。といって、フレーム長をこれ以上短く設定すると、周波数解析精度が低下してしまうというジレンマに陥っていた。
【０００６】
そこで、本発明は、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、主として音声信号における周波数変動を高精度に抽出することが可能な音響信号の符号化方法および装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明第１の態様では、所定のサンプリング周期でデジタル化されたＪ個の時系列の強度配列として与えられる音響信号を符号化するにあたり、強度配列に対して時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大し、Ｊ×Ｑ個の時系列の拡大強度配列に変換し、前記拡大強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の単位区間を隣接する単位区間を時間軸方向に重複させながら設定し、個々の単位区間ごとに、Ｐ種類の周波数に対応したスペクトル強度を算出し、個々の単位区間ごとに、求められたＰ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰ個の符号コードを作成し、前記Ｐ個の符号コードの周波数がＱ倍になるように前記周波数情報を補正し、補正後の周波数情報が補正前の最大の周波数情報を越える周波数に対応した符号コードを削除し、残りのＰｈ個の符号コードに対して、時間軸が１／Ｑ倍になるように、前記時間情報を補正するようにしたことを特徴とする。
【０００８】
本発明第１の態様によれば、デジタル化された音響信号の各強度配列を時間軸方向に所定の倍率だけ拡大した後、所定数Ｔ個の強度配列で構成される単位区間ごとに、所定数Ｐ種類の周波数に対応したスペクトル強度を算出し、周波数、時刻を含むＰ個の符号コードを得て、Ｐ個の符号コードの周波数をＱ倍、時刻を１／Ｑ倍に補正するようにしたので、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、主として音声信号における周波数変動を高精度に抽出することが可能となる。
【０００９】
また、本発明第２の態様では、所定のサンプリング周期でデジタル化されたＪ個の時系列の強度配列として与えられる音響信号を符号化するための符号化するにあたり、前記強度配列に対して時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大し、Ｊ×Ｑ個の時系列の拡大強度配列に変換し、前記拡大強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の単位区間を隣接する単位区間を時間軸方向に重複させながら設定し、個々の単位区間ごとに、Ｐ種類の周波数に対応したスペクトル強度を算出し、前記スペクトル算出段階において求めたＰ種類の各周波数に対してＱ倍になるように補正し、補正後の周波数が補正前の最大の周波数を越える周波数に対応したスペクトル強度を削除し、残りのＰｈ種類の周波数に対応したスペクトル強度に補正し、各単位区間の開始と終了の時刻を１／Ｑ倍になるように補正し、個々の単位区間ごとに、前記スペクトル補正段階において補正されたＰｈ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰｈ個の符号コードを作成するようにしたことを特徴とする。
【００１０】
本発明第２の態様によれば、デジタル化された音響信号の各強度配列を時間軸方向に所定の倍率だけ拡大した後、所定数Ｔ個の強度配列で構成される単位区間ごとに、所定数Ｐ種類の周波数に対応したスペクトル強度を算出し、Ｐ個の符号コードの周波数をＱ倍し、補正前の最大の周波数を越える周波数に対応したスペクトル強度を削除し、残りのＰｈ種類の周波数に対応したスペクトル強度に補正し、時刻を１／Ｑ倍に補正した後、周波数、時刻を含むＰｈ個の符号コードを得るようにしたので、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、主として音声信号における周波数変動を高精度に抽出することが可能となる。
【００１１】
また、本発明第３の態様では、本発明第１または第２の態様において、強度配列の時系列への拡大を、前記サンプリング周期を変化させずに、前記強度配列に対して線形補間を用いて時間軸方向にＱ倍だけ拡大するようにし、前記音響信号の周波数を全体的に１／Ｑに下げ、時間軸をＱ倍に延長させるようにしていることを特徴とする。
【００１２】
また、本発明第４の態様では、本発明第１から第３いずれかの態様において、前記符号化は、前記符号コードとしてＭＩＤＩ形式を用いて符号化を行い、前記符号コードの前記周波数情報としてノートナンバーを用い、前記スペクトル強度としてベロシティを用い、前記時間情報として直前のＭＩＤＩイベントからの相対時刻であるデルタタイム１とデルタタイム２を用い、これらの変換されたノートナンバー、ベロシティ、デルタタイム１を基にＭＩＤＩのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム２を基にＭＩＤＩのノートオフイベントを作成するようにしていることを特徴とする。
【００１３】
また、本発明第５の態様では、本発明第１の態様において、前記符号化は、前記符号コードとしてＭＩＤＩ形式を用いて符号化を行い、前記符号コードの前記周波数情報としてノートナンバーを用い、前記スペクトル強度としてベロシティを用い、前記時間情報として直前のＭＩＤＩイベントからの相対時刻であるデルタタイム１とデルタタイム２を用い、これらの変換されたノートナンバー、ベロシティ、デルタタイム１を基にＭＩＤＩのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム２を基にＭＩＤＩのノートオフイベントを作成するようにし、さらに、前記ノートナンバーに１２・ｌｏｇ2Ｑ（前記Ｑに対して２を底とする対数値に１２倍を乗算した値）を加算し、１２８−１２・ｌｏｇ2Ｑ以上のノートナンバーをもつ符号コードを削除するとともに、残りのＰｈ個の符号コードの前記デルタタイム１およびデルタタイム２に対して１／Ｑを乗算するような補正を行っていることを特徴とする。
【００１４】
また、本発明第６の態様では、本発明第１から第５のいずれかの態様において、前記スペクトルの算出は、前記単位区間の区間信号の構成要素となるべき複数個の要素信号を準備し、前記複数個の要素信号の中から、前記区間信号に対する相関値が最も高い要素信号を調和信号として選出し、前記調和信号とこの調和信号について得られた相関値との積で与えられる含有信号を、前記区間信号から減じることにより差分信号を求め、前記差分信号を新たな区間信号として、前記調和信号の選出および前記差分信号の演算を実行して新たな含有信号および新たな差分信号を得る処理を、繰り返し行うことによりＰ個の含有信号を求め、求めた含有信号の振幅値に基づいて、前記Ｐ種類の周波数に対応したスペクトル強度を算出するようにしていることを特徴とする。
【００１５】
また、本発明第７の態様では、本発明第１の態様において、前記Ｊ個の時系列の強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の第２単位区間を隣接する第２単位区間を時間軸方向に重複させながら設定し、個々の第２単位区間ごとに、Ｐ種類の周波数に対応した第２スペクトル強度を算出し、前記第２スペクトルの算出において求めたＰ個の周波数と各々に対応する第２スペクトル強度、および当該第２単位区間の開始時刻と終了時刻で構成されるＰ個の第２符号コードを作成し、作成されたＰ個の第２符号コードより、前記補正されたＰｈ個の符号コードの周波数範囲より低い周波数をもつＰｌ個の第２符号コードを抽出し、当該第２単位区間に対応する単位区間に含まれる前記補正されたＰｈ個の符号コードを加えて、Ｐｈ個の補正された符号コードとＰｌ個の第２符号コードで構成されるＰｈ＋Ｐｌ個の合成符号コードを作成するようにしたことを特徴とする。
【００１６】
本発明第７の態様によれば、本発明第１の態様において、時系列に拡大した音響信号とは別に、元の音響信号に対して周波数解析を行って第２符号コードを作成し、作成した第２符号コードを、時系列に拡大した音響信号から得られた符号コードと合成するようにしたので、時系列に拡大した音響信号から得られた符号コードにおいて欠落する低音部の符号コードを補うことができ、低音部に重要な成分のある音響信号に対しても忠実に再現可能な符号化を行うことができる。
【００１７】
また、本発明第８の態様では、本発明第２の態様において、前記Ｊ個の時系列の強度配列に対して所定の個数のサンプルＴ（Ｔ＜Ｊ）で構成される符号化対象となる複数の第２単位区間を隣接する第２単位区間を時間軸方向に重複させながら設定し、個々の第２単位区間ごとに、Ｐ種類の周波数に対応した第２スペクトル強度を算出し、前記作成されたＰ種類の周波数に対応した第２スペクトル強度より、前記補正されたＰｈ種類の周波数範囲より低いＰｌ種類の周波数に対応した第２スペクトル強度を抽出し、当該第２単位区間に対応する単位区間に含まれる前記補正されたＰｈ種類個の周波数に対応したスペクトル強度を加えて、Ｐｈ種類の補正された周波数に対応するスペクトル強度とＰｌ種類の周波数に対応する第２スペクトル強度で構成されるＰｈ＋Ｐｌ種類の合成された周波数に対応する合成スペクトル強度を作成し、前記符号化は、前記合成されたＰｈ＋Ｐｌ種類の周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応する合成スペクトル強度、および当該単位区間の開始と終了を特定可能な時間情報で構成されるＰｈ＋Ｐｌ個の符号コードを作成するようにしていることを特徴とする。
【００１８】
本発明第８の態様によれば、本発明第２の態様において、時系列に拡大した音響信号とは別に、元の音響信号に対して周波数解析を行ってスペクトル強度を得て、時系列に拡大した音響信号から得られたスペクトル強度と合成して符号コードを得るようにしたので、時系列に拡大した音響信号から得られた符号コードにおいて欠落する低音部の符号コードを補うことができ、低音部に重要な成分のある音響信号に対しても忠実に再現可能な符号化を行うことができる。
【発明の効果】
【００１９】
本発明によれば、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、主として音声信号における周波数変動を高精度に抽出することが可能となるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る音響信号の符号化方法の概要を示すフローチャートである。
【図２】時間軸方向の拡大、周波数の増加・時間情報の縮小の概念を示す図である。
【図３】本発明に係る音響信号の符号化方法の変形例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。図１は、本実施形態に係る音響信号の符号化方法の概要を示すフローチャートである。本実施形態に係る音響信号の符号化方法は、図１に示した各ステップ（各段階）の詳細な手順を記録したプログラムを、コンピュータが実行することにより、行われる。コンピュータとしては、演算処理を行うためのＣＰＵやメモリ、プログラムやデータを記憶するハードディスク等の記憶装置、音響信号等のデータ入力を行うためのデータ入力機器、指示入力を行うキーボード、マウス等の入力機器、必要な情報を画面に表示する液晶ディスプレイ等の表示機器を備えた汎用のコンピュータを用いることができる。また、図１に示した各ステップ（各段階）の詳細な手順を記録したプログラムが組み込まれた汎用のコンピュータにより本実施形態に係る音響信号の符号化装置が実現される。
【００２２】
まず、コンピュータ（符号化装置）は、処理対象であるデジタル音響信号を、データ入力機器から読み込む。デジタル音響信号は、アナログ音響信号を所定のサンプリング周波数、量子化ビット数でサンプリングしたものであり、本実施形態では、サンプリング周波数４４．１ｋＨｚ、量子化ビット数１６ビットでサンプリングした場合を例にとって以下説明していく。サンプリング周波数４４．１ｋＨｚでサンプリングした場合、デジタル音響信号は、１秒間に４４１００個のサンプル（強度値）を有するサンプル列（サンプルの配列：強度配列）として構成されることになる。
【００２３】
デジタル音響信号を読み込んだら、コンピュータは、デジタル音響信号を構成するサンプルを時間軸方向に所定の倍率Ｑ（Ｑは整数）だけ拡大する（Ｓ１）。具体的には、デジタル音響信号を構成するサンプルの数をＱ倍にする。そして、Ｑ個ごとに、元のサンプルと同じ値のものを配置し、その間の（Ｑ−１）個のサンプルの値としては、両側に位置する元のサンプルの値を用いて線形補間したものを与える。原音響信号の各サンプルｊ（ｊ＝０・・・Ｊ−１）についてのサンプル値をｘ（ｊ）とすると、コンピュータは、以下の〔数式１〕に従った処理を実行することにより、拡大後の音響信号の各サンプルｊ・Ｑ＋ｋ（０≦ｋ≦Ｑ−１）についてのサンプル値ｘ´（ｊ・Ｑ＋ｋ）を算出する。以下の〔数式１〕において、ｗはｋ／（Ｑ−１）で与えられる０≦ｗ≦１の値をとる実数値とする。
【００２４】
〔数式１〕
ｘ´（ｊ・Ｑ＋ｋ）＝（１−ｗ）・ｘ（ｊ）＋ｗ・ｘ（ｊ＋１）
【００２５】
Ｓ１における処理の結果、デジタル音響信号を構成するＪ個のサンプルは、Ｊ×Ｑ個に拡大される。図２（ａ）にＳ１における拡大処理による波形の変化を示す。図２（ａ）における波形は、サンプルの値をプロットしたものを線分で結んだものであるが、サンプル数が多いため、曲線状に表現されるものである。上記〔数式１〕に従った処理を実行することにより、左側に示したような波形が右側に示したような波形に変化することになる。なお、図２の例では、説明の便宜上Ｑ＝２の場合を示している。
【００２６】
次に、コンピュータは、時間軸方向に拡大されたサンプル上に単位区間を設定する（Ｓ２）。単位区間の長さ（サンプル数Ｔ）は、サンプリング周波数との関係で設定されるが、サンプリング周波数が４４．１ｋＨｚの場合、低域部まで忠実に解析するためには、４０９６サンプル以上必要である。そこで、本実施形態では、１単位区間のサンプル数Ｔ＝４０９６として単位区間を設定している。
【００２７】
単位区間の設定は、特許文献１〜５に開示されているように、デジタル音響信号の先頭から順次サンプルを抽出することにより行われる。単位区間は、全てのサンプルを漏らさず設定し、好ましくは、連続する単位区間においてサンプルが重複するように設定する。この場合、各単位区間の先頭の間隔（シフト幅という）は、様々な規則で設定することができる。最も単純なのは、シフト幅を固定、すなわち重複させるサンプル数を一定として設定する手法である。例えば、Ｔ＝４０９６の場合、先頭の単位区間をｊ＝０〜４０９５、２番目の単位区間をｊ＝２０４８〜６１４３、２番目の単位区間をｊ＝４０９６〜８１９１というように、２０４８（＝Ｔ／２）個のサンプルを重複させながら、設定することになる。しかし、時間分解能を向上させるためには、シフト幅を小さくしたいという要望があり、一方、シフト幅を小さくするほど、計算時間が増大するという問題がある。また、シフト幅を必要以上に小さくすると、後述する図１・Ｓ４の単音成分の連結処理において連結条件が満足されなくなり連結処理が適切に機能しなくなる。そこで、音響信号の状態に合わせて最適なシフト幅を設定するため、本実施形態では、特許文献５に開示したような、ゼロ交差点間隔の粗密または自己相関解析により周波数変化が顕著なゼロ交差点を選別し、このゼロ交差点に位置するサンプルを先頭とする。
【００２８】
ゼロ交差点とは、正負両極性の音響信号と、信号の０レベルとの交差点のことであり、ここでは、音響信号の信号の強度値（振幅）が０となる時刻を示す。ただし、デジタル化した音響信号は、アナログ信号におけるゼロ交差点をサンプルするとは限らない。そのため、実際には、強度値が丁度０になる場合に加え、サンプリング点の強度値が正から負、または負から正に変化した場合に、その前後のサンプリング点のどちらかをゼロ交差点とみなす処理を行う。なお、ゼロ交差点検出のためには、解析対象となる音響信号が正負両極性となっている必要がある。そのため、直流成分を含む音響信号については、直流成分を除去しておく必要がある。直流成分の除去については、周知の種々の手法を適用することができるので、ここでは詳細な説明は省略する。基本的には、ゼロ交差点に位置するサンプルを先頭として単位区間を設定するが、連続する単位区間のシフト幅が一定の範囲に収まるように、ゼロ交差点以外の位置を先頭として単位区間を設定する場合もある。具体的には、最大シフト幅（例えばＴ／２）を上回る場合は、ゼロ交差点以外の位置でも最大シフト幅となる位置を先頭にして単位区間を設定する。逆に、最小シフト幅（例えばＴ／８）を下回る場合は、最小シフト幅を上回るように幾つかのゼロ交差点を飛ばした位置を先頭にして単位区間を設定し、最小シフト幅を上回りかつ最大シフト幅の範囲で該当するゼロ交差点が存在しない場合は、上記と同様に最大シフト幅となる位置を先頭にして単位区間を設定するような補正を行う。
【００２９】
次に、設定された各単位区間を対象として周波数解析を実行し、各単位区間のスペクトルを算出する（Ｓ３）。各単位区間のスペクトルの算出は、特許文献１〜５に開示されているように、ＭＩＤＩのノートナンバーｎ（０≦ｎ≦１２７）に対応する１２８種の解析周波数ｆ（ｎ）＝４４０・２(n-69)/12の要素信号（要素関数）を基本にした一般化調和解析により、１２８個の成分を抽出することにより行う。“１２８種”“１２８個”というのは一例であり、一般にＰ種類の解析周波数を用いてＰ個の成分を抽出することになる。ノートナンバーｎに対応して解析周波数を設定した場合、周波数が高くなるにつれ、ノートナンバー間の周波数間隔が広くなるため、特に、ｎが６０を超えると解析精度が低下してしまう。そこで、本実施形態では、特許文献３に開示したように、ノートナンバー間をＭ個の微分音に分割した１２８Ｍ個の要素信号ｆ（ｎ，ｍ）＝４４０・２(n-69+m/M)/12を用いて解析を行い、１２８Ｍ個の成分を抽出する。後述する図１・Ｓ４においてピッチベンド符号の付加など特殊な符号化を行わない限り、各ノートナンバーにおけるＭ個の微分音の情報は不要であるため、Ｍ個の微分音の成分の合算値を当該ノートナンバーにおける成分として代表させ、結果的に１２８個の成分を抽出する。
【００３０】
コンピュータによる具体的な処理手順としては、まず、ノートナンバー分の強度値の配列Ｅ（ｎ）（０≦ｎ≦１２７）と副周波数配列Ｓ（ｎ）を設定し、初期値を全て０とする。続いて、０≦ｎ≦１２７および０≦ｍ≦Ｍ−１に対して以下の〔数式２〕に従った処理を実行し、Ｅ（ｎ，ｍ）を最大にする（ｎｍａｘ，ｍｍａｘ）を求める。
【００３１】
〔数式２〕
Ａ(ｎ，ｍ)＝(１／Ｔ（ｎ）)・Σi=0,T(n)-1ｘ(ｉ) sin(２πｆ（ｎ，ｍ）ｉ／ｆｓ)
Ｂ(ｎ，ｍ)＝(１／Ｔ（ｎ）)・Σi=0,T(n)-1ｘ(ｉ) cos (２πｆ（ｎ，ｍ）ｉ／ｆｓ)
｛Ｅ(ｎ，ｍ)｝2＝｛Ａ(ｎ，ｍ)｝2＋｛Ｂ(ｎ，ｍ)｝2
【００３２】
上記〔数式２〕においてＴ（ｎ）は解析フレーム長であり、単位区間Ｔを超えない範囲で要素信号の周期の最大の整数倍になるように設定し、ｋを適当な整数値として、Ｔ（ｎ）＝ｋ／ｆ（ｎ，ｍ）で与える。Ｅ（ｎ，ｍ）を最大にする（ｎｍａｘ，ｍｍａｘ）を用いたｆ（ｎｍａｘ，ｍｍａｘ）が調和信号として選出されることになる。（ｎｍａｘ，ｍｍａｘ）が求められたら、コンピュータは、Ａ（ｎｍａｘ，ｍｍａｘ）およびＢ（ｎｍａｘ，ｍｍａｘ）を用いて、以下の〔数式３〕に従った処理を実行し、サンプル配列ｘ（ｉ）の全ての要素（０≦ｉ≦Ｔ−１）を更新する。
【００３３】
〔数式３〕
ｘ（ｉ）←ｘ（ｉ）−Ａ（ｎｍａｘ，ｍｍａｘ）・sin(２πｆ（ｎｍａｘ，ｍｍａｘ）ｉ／ｆｓ)−Ｂ（ｎｍａｘ，ｍｍａｘ）・cos (２πｆ（ｎｍａｘ，ｍｍａｘ）ｉ／ｆｓ) 
【００３４】
上記〔数式３〕においては、ｘ（ｉ）から含有信号を減じる処理を行っている。さらに、以下の〔数式４〕に従った処理を実行し、強度値の配列Ｅ（ｎ）、副周波数配列Ｓ（ｎ）を更新する。
【００３５】
〔数式４〕
Ｅ（ｎｍａｘ）←Ｅ（ｎｍａｘ）＋Ｅ（ｎｍａｘ，ｍｍａｘ）
Ｓ（ｎｍａｘ）←ｍｍａｘ
【００３６】
コンピュータは、上記〔数式２〕〜〔数式４〕の処理を全てのｎ（０≦ｎ≦１２７）に対して実行し、全てのＥ（ｎ）およびＳ（ｎ）の値を決定する。
【００３７】
本実施形態では、処理負荷を軽減するため、Ｍの値については、ノートナンバーに基づいて可変に設定し、例えば解析する周波数間隔が１００Ｈｚ程度になるようにしている。そして、ノートナンバー６０以下は分割せずＭ＝１にする。また、精度は若干落ちるが、初回の〔数式２〕の処理でＳ（ｎ）を決定し、２回目以降の〔数式２〕の処理は、ｍ＝Ｓ（ｎ）に固定して行い、微分音解析を省略するようにしても良い。また、〔数式２〕の処理で、既に同一ノートナンバーに対して副周波数が異なる信号成分が複数回に渡って解析される可能性があるが、Ｅ（ｎ）とＳ（ｎ）に既に値がセットされている場合は、Ｅ（ｎ，ｍ）の最大値の選定候補から除外するようにしても良い。
【００３８】
各単位区間について、スペクトル（１２８個の周波数成分）が算出されたら、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報で構成される符号コードを作成する（Ｓ４）。符号コードの作成にあたり、まず、算出したスペクトルに、各ノートナンバーｎの時刻、時間長の情報を追加し、[開始時刻，時間長，主周波数ｎ，副周波数Ｓ（ｎ），強度Ｅ（ｎ）]で構成される単音成分を作成する。「開始時刻」としては単位区間の先頭の時刻を、デジタル音響信号全体において特定できる情報であれば良く、本実施形態では、単位区間の先頭サンプル（ｉ＝０）に付されたデジタル音響信号全体におけるサンプル番号（絶対サンプルアドレス：ｊに対応）を記録している。この絶対サンプルアドレスをサンプリング周波数（４４１００）で除算することにより、音響信号先頭からの時刻が得られる。時間長は、本実施形態では単位区間ごとに可変で与えられることを特徴とし、直後に後続する単位区間の開始時刻までの差分（後続する単位区間の開始時刻−当該単位区間の開始時刻）で与えられる。
【００３９】
Ｓ２で設定された単位区間ごとに、１２８個の単音成分が作成されるが、さらに、Ｓ４においては、連続する単位区間において単音成分を連結する処理を行う。具体的には、連続する単位区間における同一ノートナンバーの単音成分が、所定の連結条件を満たす場合、２つの単音成分を連結する。連結条件としては、同一の音として連続性を有する状態を適宜設定することができるが、本実施形態では、副周波数を考慮した周波数（主周波数＋副周波数）の差が所定の閾値Ｎｄｉｆ未満で、双方の強度が所定の閾値Ｌｍｉｎ以上で、かつ双方の強度の差が所定の閾値Ｌｄｉｆ未満である場合に、連続性を有するとして、後続の単音成分を前方の単音成分に連結する。ただし、連結後の主周波数、副周波数、強度は大きい方の単音成分の各値を採用し、時間長は双方の和で与える。連結条件としての具体的な閾値は、本実施形態では、Ｎｄｉｆ＝８／２５[単位：ノートナンバー換算]、Ｌｍｉｎ＝１[単位：１２８段階ベロシティ換算]、Ｌｄｉｆ＝１０[単位：１２８段階ベロシティ換算]としている。連結処理は、符号コードへの変換前に行うものであるため、各閾値は、ノートナンバー、ベロシティに換算したものである。
【００４０】
同一ノートナンバーの単音成分の連結は、連結条件を満たす限り、後続する単位区間の単音成分に対して繰り返し行い、最終的に得られた[開始時刻，時間長，主周波数ｎ，副周波数Ｓ（ｎ），強度Ｅ（ｎ）]の単音成分を、符号コードに変換する。符号コードの形式としては、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報を有するものであれば、どのような形式のものであっても良いが、本実施形態では、ＭＩＤＩ形式に変換する。ＭＩＤＩでは、発音開始と、発音終了を別のイベントとして発生するため、したがって、本実施形態では、１つの単音成分を２つのＭＩＤＩノートイベントに変換する。具体的には、「開始時刻」で、ノートナンバーｎのノートオンイベントを発行し、ベロシティ値は強度Ｅ（ｎ）の最大値をＥｍａｘとして、１２８・｛Ｅ（ｎ）／Ｅｍａｘ｝1/4で与える。時刻については、Standard MIDI Fileでは、直前イベントとの相対時刻（デルタタイム）で与える必要があり、その時刻単位は任意の整数値で定義でき、例えば、１／１５３６[秒]の単位に変換して与える。そして、「開始時刻」＋「時間長」で特定される終了時刻で、ノートナンバーｎのノートオフイベントを発行する。この際、時間長には、０以上１以下の実数を乗じる。これは、使用するＭＩＤＩ音源の音色にも依存するが、ＭＩＤＩ音源の余韻を考慮して早めにノートオフ指示をするためである。時間長をそのまま用いてもＭＩＤＩ音源の処理上問題はないが、発音の際、後続音と部分的に重なる場合がある。
【００４１】
ＭＩＤＩ符号に変換する際、ＭＩＤＩ音源で処理可能な同時発音数についても考慮するため、同時発音数の調整を行う必要がある。ＭＩＤＩ音源で処理可能な同時発音数が３２である場合、時間軸方向に発音期間中（ノートオン状態）のノートイベントの個数を連続的にカウントし、同時に３２個のノートイベントが存在する箇所が見つかった場合は、各々対になるノートオフイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値（ノートオフ時刻−ノートオン時刻）の積（エネルギー値）で優先度を評価し、指定和音数（この場合“３２”）以下になるように優先度の低い（エネルギー値の小さい）ノートイベント対を局所的に削除する処理を行う。“局所的に”とは、３２を超えるノートイベントが存在する部分に限りという意味である。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。
【００４２】
さらに、ＭＩＤＩ符号に変換する際、ＭＩＤＩ音源で処理可能なビットレートについても考慮するため、ビットレートの調整を行う必要がある。時間軸方向に、１秒間隔にノートオンまたはノートオフイベントの個数をカウントし、各々の符号長を平均５バイト（４０ビット）とし、ＭＩＤＩ音源で処理可能な最大ビットレートを９０００［ｂｐｓ（ビット／秒）］とすると、１秒間あたりイベント数が９０００／４０＝２２５個を超えている区間が見つかった場合は、その区間に存在するノートオンまたはノートオフイベントと各々対になるノートオフまたはノートオンイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値（ノートオフ時刻−ノートオン時刻）の積（エネルギー値）で優先度を評価し、指定イベント個数（この場合“２２５”）以下になるように優先度の低い（エネルギー値の小さい）ノートイベント対を局所的に削除する処理を行う。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。
【００４３】
符号コードの作成が行われたら、時間軸方向に拡大して処理されたことによる変動を是正するため、各符号コードを補正する処理を行う（Ｓ５）。具体的には、まず、全てのノートイベント（ノートオンイベントまたはノートオフイベント）のノートナンバー値に１２・ｌｏｇ2Ｑだけ加算する処理を行う。例えば、Ｑ＝４の場合、２４半音（２オクターブ）だけ全体的に音高を上げる。この処理は、Ｓ１においてサンプル数をＱ倍したことにより周波数が１／Ｑになっているため、周波数をＱ倍にして元の状態に戻すために行う。この補正によりノートナンバーが規格値上限の１２７を超えるノートナンバーをもつ符号コードは削除する。具体的には補正前のノートナンバーが１２８−１２・ｌｏｇ2Ｑ以上の符号コードが削除される。
【００４４】
続いて、全てのノートイベントの時刻（ノートオン時刻またはノートオフ時刻）に１／Ｑを乗算する。これにより、ＭＩＤＩ符号全体の演奏時間、および各ノートイベントの発音時間が１／Ｑに縮小される。この処理は、Ｓ１においてサンプル数をＱ倍したことにより全体の演奏時間がＱ倍になっているため、時刻を１／Ｑにして元の状態に戻すために行う。この処理を行うと、時間あたりのノートイベント数がＱ倍に増大するため、上記Ｓ４で実行したビットレートの調整を再度実行する。
【００４５】
Ｓ５における処理の結果、周波数（音高）はＱ倍になるとともに、時間情報は１／Ｑになる。Ｓ５の補正処理によるＭＩＤＩイベント（ＭＩＤＩ符号のノートイベント）の変化の様子を図２（ｂ）に示す。図２（ｂ）においては、Ｑ＝２の場合のＭＩＤＩイベントの変化を、音符により示している。Ｓ５の補正処理により左側の“ミ”の音符は、右側では１オクターブ高い（周波数が２倍）“ミ”の音符に変化している。一方、左側の四分音符が、右側では時間的に１／２の八分音符に変化している。
【００４６】
Ｓ５により得られたＭＩＤＩコードを、そのまま最終的な符号として出力しても、本発明の効果は得られる。しかし、Ｓ５の符号コードの補正において、ノートナンバー値に１２・ｌｏｇ2Ｑだけ加算する処理を行っているため、符号コード全体が高音部に移動したため、高音部の一部がＭＩＤＩ規格外により削除されるとともに、低音部の符号コードが存在しなくなる。そこで、以下のＳ６〜Ｓ９による処理を実行することにより低音部を補填する処理を行う。以下、Ｓ６〜Ｓ９の処理について説明する。
【００４７】
Ｓ６〜Ｓ８の処理は、Ｓ２〜Ｓ４の処理と基本的には同じ処理であるが、対象とするデジタル音響信号が、Ｓ２〜Ｓ４は、サンプル数を拡大したデジタル音響信号であるのに対し、Ｓ６〜Ｓ８の処理は、元のデジタル音響信号である点で異なっている。したがって、Ｓ６〜Ｓ８における処理は、特許文献１〜特許文献５に開示されている公知の技術により実現される。本実施形態における処理では、Ｓ６〜Ｓ８に示した処理を、元のデジタル音響信号に対して実行する。
【００４８】
そして、Ｓ８の処理により符号コードが得られたら、Ｓ５により得られた符号コード（サンプル数を拡大したデジタル音響信号から得られた符号コード：以下第１符号コードという）と、Ｓ８により得られた符号コード（元のデジタル音響信号から得られた符号コード：以下第２符号コードという）を合成する処理を行う（Ｓ９）。第１符号コードではＳ５の処理に基づいてノートナンバーに１２・ｌｏｇ2Ｑなる正の値が加算されることにより、ノートナンバーが０から１２・ｌｏｇ2Ｑまでのノートイベントは存在しない。（逆に、Ｓ５処理前に１２８−１２・ｌｏｇ2Ｑ以上のノートナンバーをもつノートイベントはＭＩＤＩ規格外の高音領域に入るため削除される）。そこで、ノートナンバーについて所定の閾値として１２・ｌｏｇ2Ｑを設定しておき、第１符号コードからは、所定の閾値以上のものを採用し、第２符号コードからは、所定の閾値未満のものを採用し、合成符号コード群を得る。この際、第２符号コードのノートイベントについては、そのベロシティ値をそのまま採用しても良いが、単位区間の音響信号に対応する長さが第１符号コードに比べてＱ倍長いため、ベロシティ値においてアンバランスが生じる可能性がある。そのため、以下のような補正処理を必要に応じて実施しても良い。
【００４９】
具体的には、まず、第１符号コード群において、ノートナンバーが閾値以上の全てのノートイベントのベロシティ値の平均値Ｖ１を算出する。続いて、第２符号コード群においても、同様にノートナンバーが同閾値以上の全てのノートイベントのベロシティ値の平均値Ｖ２を算出する。そして、第２符号コード群のノートナンバーが閾値未満の全てのノートイベントについて、そのベロシティ値にＶ１／Ｖ２を乗じる。この結果、第１符号コード群の低音部に第２符号コード群の低音部の強度を補正したものが追加されることになる。追加する際は、Standard MIDI Fileの仕様に基づいて第１符号コード群と第２符号コード群を時刻情報に基づいてソートして混在させる方法もとれるし、第１符号コード群と第２符号コード群を独立したトラックとして収納する方法もとれる。Ｓ６〜Ｓ９の処理を実行することにより、ＭＩＤＩ規格上の全ての周波数帯域に対して符号コードを生成することができ、特に低音部にも伸びている音楽（楽器音）に対して有益である。符号コードの合成を行うと、第１符号コード群が第２符号コード群に比べ平均してＱ倍のノートイベント数をもち、トータルで時間あたりのノートイベント数が増大するため、上記Ｓ４で実行した同時発音数の調整およびビットレートの調整を再度実行する。
【００５０】
（合成についての変形例）
以上は符号コードまで処理したＭＩＤＩイベントデータの段階で合成する手法について説明したが、変形例として、第１符号コードおよび第２符号コードを作成する前段階のスペクトル算出段階で合成する手法について図３を用いて説明する。Ｓ１〜Ｓ３までの処理は図１と同様であり、Ｓ４の代わりにＳ１０としてスペクトルの補正を行う。これは図１のＳ５に対応するもので、算出されたスペクトルの周波数（主周波数および副周波数とも）をＱ倍にし（ノートナンバーの単位では、１２・ｌｏｇ2Ｑなる値を加算）、ＭＩＤＩ規格外にはみ出した高い周波数に対応するスペクトル強度を削除するとともに、各単位区間の開始時刻を１／Ｑ倍に補正する処理を行う。一方、図３のＳ６〜Ｓ７までは図１と同様であり、図１のＳ８を行わずに、上記Ｓ１０で補正したスペクトルと第２スペクトルとを合成する処理を行う（Ｓ１１）。Ｓ５と同様に、Ｓ１０の処理に基づいて補正されたスペクトルにはノートナンバーに１２・ｌｏｇ2Ｑなる正の値が加算されることにより、ノートナンバーが０から１２・ｌｏｇ2Ｑ−１に対応するスペクトル強度は存在しない。（逆に、Ｓ１０処理前に１２８−１２・ｌｏｇ2Ｑ以上のノートナンバーをもつスペクトル強度はＭＩＤＩ規格外の高音領域に入るため削除される）。そこで、第２スペクトルより所定の閾値１２・ｌｏｇ2Ｑ未満のスペクトル強度だけを採用し、合成スペクトルを得る。この際、第２スペクトルのスペクトル強度については、その強度値をそのまま採用し、前節で述べたような強度値の補正処理は通常行わない。（単位区間の音響信号に対応する長さがＳ１０で補正されたスペクトルは第２スペクトルに比べて１／Ｑと短いため、強度値においてバラツキが生じる可能性がある。しかし、前述したような補正処理を実施すると、後続Ｓ１２の単音成分の連結処理が強度値の不連続性により適切に働かなくなる。）そして、Ｓ１２の符号コードの作成において、第２スペクトルのスペクトル強度を含めて単音成分の連結処理を行い、ＭＩＤＩイベントデータを作成する。本合成方法をとると、Ｓ１０とＳ７で生成される２種類のスペクトル強度のなかで所定の閾値に近いデータが単一の符号コードに連結される場合があり、図１の方法に比べ符号効率の高い符号コードが生成できるという特徴がある。また、図１の実施形態では、同時発音数の調整をＳ４とＳ９の２回、ビットレートの調整をＳ４、Ｓ５、Ｓ９の３回行っているが、これらについては、本方法では最終段階のＳ１２で１回ずつ行えば良い。
【００５１】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、Ｓ６〜Ｓ９の処理を追加して、低音部について補填する処理を行ったが、上述のように、低音部を補填せず、Ｓ５までの処理により得られる符号コードでも、十分に元の音響信号を再現することが可能である。特に、音響信号として人間の音声や、低音部に影響の無い音楽を用いた場合、Ｓ５までの処理により得られる符号コードでも対応可能である。Ｓ６〜Ｓ９の処理を追加することにより、楽器音等の低音部に意味のある音響信号をより忠実に再現可能となる。
【００５２】
また、上記図１の実施形態では、同時発音数の調整をＳ４とＳ９の２回、ビットレートの調整をＳ４、Ｓ５、Ｓ９の３回行っているが、これらについては、最終的に少なくとも１回ずつ行われていれば良い。そのため、低音部を補填する場合については、Ｓ９においてそれぞれ１回、低音部を補填しない場合については、Ｓ５においてそれぞれ１回行えばよい。もっとも、途中で実行しておくことにより、全体としての処理負荷が軽減される場合もあるため、状況に応じて適宜変更するようにしておけば良い。
【００５３】
また、上記実施形態では、Ｓ２〜Ｓ４、Ｓ６〜Ｓ８の処理について好ましい処理例について具体的に説明したが、これらの処理については、本発明の趣旨を逸脱しない範囲で、公知の特許文献１〜５に開示した技術を用いることができる。
【産業上の利用可能性】
【００５４】
本発明は、ＰＣＭ等により得られた音響信号を、ＭＩＤＩ符号等の符号コードに変換する技術を用い、放送メディア（地上・ＢＳなどによるデジタルラジオ・テレビ放送など）、通信メディア（ＣＳ放送、インターネット・ストリーミング放送、携帯電話サービス、携帯音楽配信サービスなど）、パッケージメディア（ＣＤ、ＤＶＤ、ＢｌｕｅＲａｙ、メモリＩＣカードなど）向けのオーディオコンテンツ制作産業に利用することができる。
【図１】
0005552794.tif 000002
【図２】
0005552794.tif 000003
【図３】
0005552794.tif 000004