音響信号の符号化方法および装置
【課題】 ヒトの聴覚特性を利用することにより、子音成分を限定された数の周波数で再生される音源を用いて忠実に再現することが可能な音響信号の符号化方法および装置を提供する。
【解決手段】 時系列のサンプル列により構成されるデジタル音響信号に対して、単位区間ごとに解析を行って複数の周波数に対するスペクトル強度を得た後、周波数を帯域別に複数のグループに分割し、帯域ごとに、下限音高から上限音高の範囲内で強度が最大となる周波数を探索し(S22)、強度が最大となる周波数以外の周波数についての強度を減衰する(S23)。各帯域ごとに最大強度以外を減衰した結果を用いて符号化を行う。
【解決手段】 時系列のサンプル列により構成されるデジタル音響信号に対して、単位区間ごとに解析を行って複数の周波数に対するスペクトル強度を得た後、周波数を帯域別に複数のグループに分割し、帯域ごとに、下限音高から上限音高の範囲内で強度が最大となる周波数を探索し(S22)、強度が最大となる周波数以外の周波数についての強度を減衰する(S23)。各帯域ごとに最大強度以外を減衰した結果を用いて符号化を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響信号の符号化技術に関し、特に、MIDI形式等の符号データに符号化するのに好適な符号化技術に関する。
【背景技術】
【0002】
従来、MIDI音源を用いて音響信号を再生することを可能とするため、音響信号をMIDI符号等の符号データに変換することが行われている(特許文献1〜3参照)。MIDI音源では、32和音など限定された周波数で再生されるため、符号化の際には、限定された数の周波数を選択して符号化することが必要となる。出願人も、音響信号から限定された数の周波数を選択して符号化する技術について提案している(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−41037号公報
【特許文献2】特許第4061070号公報
【特許文献3】特許第4156268号公報
【非特許文献】
【0004】
【非特許文献1】赤木正人:“聴覚フィルタとそのモデル”,電子情報通信学会誌 77(9), 948-956, 1994-09-25.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に記載の発明では、先に選択された強度が大きい周波数の周辺の信号成分を一律に減衰させることにより、互いに隣接する周波数成分がなるべく選択されないようにしている。そのため、ボーカル再生において子音を表現するのに本来必要な成分も削除されてしまい、返って再現性が低下するという問題を抱えていた。
【0006】
一方、ヒトの聴覚は24本の聴覚神経系で周波数弁別を行っており、理論的には24個の帯域フィルタで近似することができ、24個の出力信号の割合で複数(同時には12種未満)の周波数成分の識別を行っていることが知られている(非特許文献1参照)。すなわち、各帯域フィルタ内に含まれる周波数成分は同時刻では単一周波数成分しか認識できず、同一帯域フィルタに含まれる複数の周波数成分は時間差をもって認識される(うなり音またはビートとして、個人差はあるが同一帯域内の1/4半音程度の周波数の微細な相違が認識される)。
【0007】
そこで、本発明は、ヒトの聴覚特性を利用することにより、子音成分を限定された数の周波数で再生される音源を用いて忠実に再現することが可能な音響信号の符号化方法および装置を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明第1の態様では、所定のサンプリング周波数でデジタル化されたJ個の時系列のサンプル列として与えられる音響信号を符号化するにあたり、前記サンプル列に対して、所定数T(T<J)個のサンプルで構成される単位区間を、隣接する単位区間と時間軸方向に所定数W(W<T)個のサンプルを重複させながら設定し、個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、各単位区間に対して、前記N種類の周波数に対応したスペクトル強度を算出し、前記N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、前記各単位区間に対して、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、補正スペクトル強度を作成し、前記単位区間の先頭時刻と直後の単位区間の先頭時刻との時間差と、前記単位区間の補正スペクトル強度に基づいて、所定の形式の符号コードを生成するようにしたことを特徴とする。
【0009】
本発明第1の態様によれば、各単位区間に対して周波数変換を行ってN種類の周波数に対応したスペクトル強度を算出し、N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、得られた解析結果を基に符号コードを生成するようにしたので、音響信号の子音成分を、32和音などの限定された周波数で再生される音源(例えばMIDI音源)を用いて忠実に再現することが可能となる。
【0010】
また、本発明第2の態様では、本発明第1の態様において、前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、前記nの値を規格上のノートナンバーと定義して、17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128を境界とする24個で設定されることを特徴とする。
【0011】
また、本発明第3の態様では、本発明第1の態様において、前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、周波数f(n)の値が20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500,12000,15500Hzを境界とする24個で設定されることを特徴とする。
【0012】
本発明第2、第3の態様によれば、ヒト聴覚系の特性に基づき24個の周波数グループに分類するようにして補正を行うようにしたので、ヒトの聴覚特性に適した最適な周波数成分で符号化を行うことができる。特に、本発明第2の態様によれば、周波数グループの分類を、再生音源のMIDI規格に対応したノートナンバーnで行っているため、再生MIDI音源に適した符号化を行うことができる。
【0013】
また、本発明第4の態様では、本発明第1から第3のいずれかの態様において、前記スペクトル強度の算出を、個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、単位区間pに対して、前記N種類の周波数に対応した第1のスペクトル強度E1(p,n)を算出し、前記単位区間pに対して直前に位置する単位区間p−1における第1のスペクトル強度E1(p−1,n)との対応する周波数ごとの変化に基づく評価値が、所定のしきい値より大きい場合に限り、当該単位区間pをq(q≦p)番目の選出単位区間qとして選出し、解析対象とする少なくともN種類の各周波数f(n)について、前記第1のスペクトル算出段階における周波数変換に比較して高精度な周波数変換を行うことにより、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することにより、前記スペクトル強度として第2のスペクトル強度E2(q,n)を算出するものであり、前記スペクトルの補正は、前記第2のスペクトル強度E2(q,n)に対して所定の割合だけ減衰させるように補正を行い、前記補正スペクトル強度として補正スペクトル強度E‘(q,n)を作成するようにしていることを特徴とする。
【0014】
本発明第4の態様によれば、設定された各単位区間に対して簡易な第1の周波数変換を行い、その強度が直前の単位区間と比較して所定の基準以上に大きい場合に、選出単位区間として選出し、その選出単位区間に対してより高精度な第2の周波数変換を行って、得られた解析結果を基に符号コードを生成するようにしたので、固定間隔で音響信号全体に渡って情報を解析しつつ、特徴的な部分のみを符号化することになるため、和音を含む音響信号や、音声信号の周波数変化をより適切に解析することが可能となる。
【0015】
また、本発明第5の態様では、本発明第4の態様において、前記第1のスペクトル算出および第2のスペクトル算出を、N種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数に対応する強度値を算出するようにしたことを特徴とする。
【0016】
本発明第5の態様によれば、解析する周波数の間隔を微細に設定することにより、より詳細な周波数解析が可能となり、適切な周波数成分を特定することができる。
【0017】
また、本発明第6の態様では、本発明第4または第5の態様において、前記符号コードを生成する際、隣接する2つの選出単位区間qと選出単位区間q+1に対して、前記選出単位区間qがp番目の単位区間pであった場合に、P(q)=pと定義し、前記選出単位区間q+1における周波数f(n)、f(n−1)、f(n+1)に対応する前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかと、当該選出単位区間q+1の直前に位置する単位区間P(q+1)−1における周波数f(n)に対応する前記第1のスペクトル強度E1(P(q+1)−1,n)との差が所定のしきい値Ldif未満で、かつ前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかおよび前記第1のスペクトル強度E1(P(q+1)−1,n)が所定のしきい値Lminより大きい場合、前記選出単位区間qと選出単位区間q+1を連結し、前記符号コードの基礎となる時間差として、前記選出単位区間qに定義された選出単位区間qの先頭時刻と、選出単位区間q+1の直後の選出単位区間q+2の先頭時刻との時間差を用いるようにしていることを特徴とする。
【0018】
本発明第6の態様によれば、符号コードを生成する際、隣接する2つの選出単位区間のうち、後続の選出単位区間とその直前の単位区間の強度の差が所定のしきい値未満で、後続の選出単位区間の強度とその直前の単位区間の強度がともに所定のしきい値より大きい場合に、隣接する2つの選出単位区間を連結するようにしたので、選出されていないものの、時間的に最も近い単位区間が連結判断の際に考慮されることとなり、適切に音成分を連結することが可能になる。
【0019】
また、本発明第7の態様では、本発明第6の態様において、前記第1のスペクトル算出および第2のスペクトル算出は、N種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数f1(n,mmax1)およびf2(n,mmax2)に対応する強度値を算出するものであり、前記符号コードを生成する際、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数ナンバーmmax1、mmax2、mmax3の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数ナンバーmmax0との差が所定のしきい値Ndif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結するようにしていることを特徴とする。
【0020】
本発明第7の態様によれば、解析する周波数の間隔を微細に設定することにより、より詳細な周波数解析が可能となり、さらに、音成分の連結条件として、後続の選出単位区間とその直前の単位区間の副周波数との差がしきい値未満であることを追加したので、より精度の高い解析結果に基づいて音成分を連結することが可能となる。
【0021】
また、本発明第8の態様では、本発明第7の態様において、前記選出単位区間qが、既に他の選出単位区間と連結されている場合、前記選出単位区間qが連結されている先頭の選出単位区間をqoとし、前記符号化段階は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数ナンバーmmax1、mmax2、mmax3の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(qo),n)を決定する副周波数ナンバーmmaxoとの差が所定のしきい値Nadif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする。
【0022】
本発明第8の態様によれば、さらに、音成分の連結条件として、前方の選出単位区間が、既に他の選出単位区間と連結されている場合、後続の選出単位区間とその直前の選出単位区間が連結されている先頭の選出単位区間の副周波数との差がしきい値未満であることを追加したので、副周波数が緩やかに変化する異なる音成分に属する後続の選出単位区間を誤って連結することを防ぎ、より精度の高い音成分の連結を実現することが可能となる。
【0023】
また、本発明第9の態様では、本発明第4から第8のいずれかの態様において、前記第1のスペクトル算出を、前記単位区間の区間信号の構成要素となるべきN種類の要素信号を、各々当該周波数f(n)の周期の整数倍に対応し、前記Tに最も近いT(n)個のサンプルとして準備し、前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記単位区間pのT(n)個のサンプルで構成される区間信号との相関演算を行うことにより、第1のスペクトル強度E1(p,n)を算出し、前記第2のスペクトルの算出を、前記準備された前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記選出単位区間qのT(n)個のサンプルで構成される区間信号との相関演算を行い、相関値が最も高い周波数f(nmax)に対応する要素信号を調和信号として選出し、前記選出された調和信号と当該調和信号について得られた相関値との積で与えられるT(nmax)個のサンプルを含有信号とし、当該含有信号を前記区間信号から減じることにより、T(nmax)個のサンプルで構成される差分信号を演算により求め、前記T(nmax)個のサンプルを反映させ更新されたT(n)個のサンプルを新たな区間信号として、前記調和信号の選出および差分信号の演算を実行して新たな含有信号および差分信号を得る処理を繰り返し行うことによりN個の含有信号を求め、求められた含有信号の相関値に基づいて、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することを特徴とする。
【0024】
本発明第9の態様によれば、全ての単位区間に対する第1のスペクトル算出を、簡易な離散フーリエ変換により行い、選出単位区間に対する第2のスペクトル算出を高精度な一般化調和解析により行うようにしたので、全ての単位区間の解析結果を参考にしつつ、選出単位区間の情報を高精度に得ることを、全体として効率的に行うことが可能となる。
【0025】
また、本発明第10の態様では、本発明第9の態様において、前記第1のスペクトル算出における前記相関の演算を、直前に位置する単位区間p−1における各周波数f(n)に対応する直前相関演算結果に対し、前記単位区間p−1における先頭Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果より減算するとともに、前記単位区間pにおけるT(n)サンプル中の最後尾Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果に加算することにより、前記単位区間pにおける各周波数f(n)に対応する相関演算結果を取得し、当該相関演算結果に基づいて前記第1のスペクトル強度E1(p,n)を算出することにより行うことを特徴とする。
【0026】
本発明第10の態様によれば、第1のスペクトル算出における各単位区間に対する簡易な相関演算を行う際、直前の単位区間に対して行われた相関演算結果を利用し、直前相関演算結果の先頭部分を除去するとともに、当該単位区間の最後尾に対する相関演算を行って、その結果を直前相関演算結果に加算するようにしたので、直前の単位区間の相関演算結果の大部分を流用することができ、全ての単位区間に対する演算処理を高速化することが可能となる。
【発明の効果】
【0027】
本発明によれば、和音信号や、音声信号の周波数変化をより適切に解析することが可能な音響信号の符号化方法および装置を提供することが可能となるという効果を有する。
【図面の簡単な説明】
【0028】
【図1】本実施形態における音響信号の符号化装置のハードウェア構成図である。
【図2】本発明に係る音響信号の符号化方法の概要を示すフローチャートである。
【図3】時間軸方向の拡大、周波数の増加・時間情報の縮小の概念を示す図である。
【図4】従来技術と比較した本実施形態の区間設定の概念を示す図である。
【図5】本実施形態における解析周波数の論理的/物理的範囲の関係を示す図である。
【図6】本実施形態における単位区間と解析範囲の関係を示す図である。
【図7】本実施形態における単位区間の解析処理の様子を示す図である。
【図8】時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。
【図9】単位区間長Tが調和信号の1/2周期以上で3/4周期未満の場合の解析フレームの時間軸延長を説明する図である。
【図10】単位区間長Tが調和信号の1/4周期以上で1/2周期未満の場合の解析フレームの時間軸延長を説明する図である。
【図11】非特許文献1を基に作成された周波数基準の帯域フィルタを示す図である。
【図12】図11に示した帯域フィルタの単位を変換したMIDIノートナンバー基準の帯域フィルタを示す図である。
【図13】S8における聴覚フィルタ補正の詳細を示すフローチャートである。
【図14】連結判断の対象とする選出単位区間と単位区間との関係を示す図である。
【発明を実施するための形態】
【0029】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
図1は、本発明の一実施形態における音響信号の符号化装置のハードウェア構成図である。音響信号の符号化装置は、汎用のコンピュータで実現することができ、図1に示すように、CPU1(CPU: Central Processing Unit)と、コンピュータのメインメモリであるRAM2(RAM: Random Access Memory)と、データを記憶するための大容量のデータ記憶装置3(例えば,ハードディスク)と、CPUが実行するプログラムを記憶するためのプログラム記憶装置4(例えば,ハードディスク)と、キーボード、マウス等のキー入力I/F5と、外部デバイス(データ記憶媒体)とデータ通信するためのデータ入出力インターフェース6と、表示デバイス(ディスプレイ)に情報を送出するための表示出力インターフェース7と、を備え、互いにバスを介して接続されている。
【0030】
音響信号の符号化装置のプログラム記憶装置4には、CPU1を動作させ、コンピュータを、音響信号の符号化装置として機能させるための専用のプログラムが実装されている。専用のプログラムを実行することにより、CPU1は、区間設定手段、第1のスペクトル算出手段(要素信号準備手段、相関演算手段を含む)、第2のスペクトル算出手段(要素信号準備手段、調和信号選出手段、差分信号演算手段を含む)、スペクトル補正手段、符号化手段としての機能を実現することになる。また、データ記憶装置3は、処理に必要な様々なデータを記憶する。
【0031】
図2は、本実施形態に係る音響信号の符号化方法の概要を示すフローチャートである。本実施形態に係る音響信号の符号化方法は、図2に示した各ステップ(各段階)の詳細な手順を記録したプログラムを、コンピュータが実行することにより、行われる。コンピュータとしては、演算処理を行うためのCPUやメモリ、プログラムやデータを記憶するハードディスク等の記憶装置、音響信号等のデータ入力を行うためのデータ入力機器、指示入力を行うキーボード、マウス等の入力機器、必要な情報を画面に表示する液晶ディスプレイ等の表示機器を備えた汎用のコンピュータを用いることができる。また、図2に示した各ステップ(各段階)の詳細な手順を記録したプログラムが組み込まれた汎用のコンピュータにより本実施形態に係る音響信号の符号化装置が実現される。
【0032】
まず、コンピュータ(符号化装置)は、処理対象であるデジタル音響信号を、データ入力機器から読み込む。デジタル音響信号は、アナログ音響信号を所定のサンプリング周波数、量子化ビット数でサンプリングしたものであり、本実施形態では、サンプリング周波数44.1kHz、量子化ビット数16ビットでサンプリングした場合を例にとって以下説明していく。サンプリング周波数44.1kHzでサンプリングした場合、デジタル音響信号は、1秒間に44100個のサンプル(強度値)を有するサンプル列(サンプルの配列:強度配列)として構成されることになる。
【0033】
デジタル音響信号を読み込んだら、コンピュータ(符号化装置)は、デジタル音響信号を時間軸方向に所定の倍率K(Kは整数)だけ拡大する(S1)。具体的には、デジタル音響信号を構成するサンプルの数をK倍にする。そして、K個ごとに、元のサンプルと同じ値のものを配置し、その間の(K−1)個のサンプルの値としては、両側に位置する元のサンプルの値を用いて線形補間したものを与える。原音響信号の各サンプルj(j=0・・・J−1)についてのサンプル値をx(j)とすると、コンピュータは、以下の〔数式1〕に従った処理を実行することにより、拡大後の音響信号の各サンプルj・K+k(0≦k≦K−1)についてのサンプル値x´(j・K+k)を算出する。以下の〔数式1〕において、wはk/Kで与えられる0≦w≦1の値をとる実数値とする。
【0034】
〔数式1〕
x´(j・K+k)=(1−w)・x(j)+w・x(j+1)
【0035】
S1における処理の結果、デジタル音響信号を構成するJ個のサンプルは、J×K個に拡大される。図3(a)にS1における拡大処理による波形の変化を示す。図3(a)における波形は、サンプルの値をプロットしたものを線分で結んだものであるが、サンプル数が多いため、曲線状に表現されるものである。上記〔数式1〕に従った処理を実行することにより、左側に示したような波形が右側に示したような波形に変化することになる。なお、図3の例では、説明の便宜上K=2の場合を示している。このように、音響信号を時間軸方向に拡大して解析を行うことにより、元の音響信号に対してそのまま解析を行う場合と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、周波数変動を高精度に抽出することが可能となる。
【0036】
コンピュータ(符号化装置)は、続くS2〜S5において、所定の区間に対して周波数解析を行う。本実施形態では、周波数解析の対象とする区間の設定を、単位区間を設定した後、所定の条件を満たす単位区間を選出単位区間として選出することにより行う。本実施形態における解析対象とする区間の設定の概念を、特許文献2に代表される従来技術と比較して説明する。図4は、従来技術と比較した本実施形態の区間設定の概念を示す図である。従来の場合も本実施形態も、後述するように、サンプリングにより得られた所定数のサンプルを単位区間として設定し、単位区間ごとに周波数解析を行う点は同一である。図4(a)に示すように、特許文献2に開示されている従来技術では、ゼロ交差点を特定し、そのゼロ交差点を利用して単位区間の設定位置を可変とする。図4(a)では例として3つの単位区間が設定されているが、これらの開始位置(左端)の間隔は均一ではない。そして、設定された各単位区間に対して、離散フーリエ変換及び一般化調和解析の両方を実行して解析結果を得る。
【0037】
これに対して、図4(b)に示すように、本実施形態では、固定間隔で単位区間を設定し、各単位区間に対して離散フーリエ変換を実行して解析結果を得る。そして、その解析結果を直前の単位区間と比較して、所定の条件を満たす場合に、選出単位区間として選出する。図4(b)の例では、単位区間1、5、6がそれぞれ選出単位区間1、2、3として選出されている。そして、選出単位区間に対して一般化調和解析を実行して解析結果を得る。
【0038】
具体的には、まず、コンピュータ(符号化装置)が、時間軸方向に拡大されたサンプル上に単位区間を設定する(S2)。単位区間の長さ(サンプル数T)は、サンプリング周波数との関係で設定されるが、サンプリング周波数が44.1kHzの場合、低域部まで忠実に解析するためには、4096サンプル以上必要である。そこで、本実施形態では、1単位区間のサンプル数T=4096として単位区間を設定している。
【0039】
単位区間の設定は、特許文献1、3に開示されているように、デジタル音響信号の先頭から順次サンプルを抽出することにより行われる。単位区間は、全てのサンプルを漏らさず設定し、好ましくは、連続する単位区間においてサンプルが重複するように設定する。本発明では、各単位区間の先頭の間隔(シフト幅という)を固定値で設定する。すなわち、重複させるサンプル数を一定として設定する。本実施形態では、シフト幅W=64の固定値とする。これにより、T=4096の場合、先頭の単位区間をj=0〜4095、2番目の単位区間をj=64〜4159、3番目の単位区間をj=128〜4223というように、64個のサンプルを重複させながら、設定することになる。そして、各サンプルの値x(j)を各単位区間p(pは0以上の整数)ごとの値x(p,i)(0≦i≦T−1)と表現する。
【0040】
次に、設定された各単位区間を対象として第1の周波数解析である離散フーリエ変換を実行し、各単位区間のスペクトルを算出する(S3)。各単位区間のスペクトルの算出は、特許文献1〜3に開示されているように、MIDIのノートナンバーnに対応する128種の解析周波数f(n)=440・2(n-69)/12の調和信号(調和関数)を基本にした離散フーリエ変換により、128個の成分を抽出することにより行う。“128種”“128個”というのは一例であり、例えば、MIDI規格の場合、ノートナンバーn=0〜127の範囲に対応するが、グランドピアノを再現するための規格音域は、ノートナンバーn=21〜108の範囲である。したがって、この場合、88種類の解析周波数を用いて88個の成分を抽出することになる。また、前述したように、音響信号を時間軸方向に所定の倍率Kだけ拡大して周波数解析を行う場合、後述する時間軸拡大処理を省略すると、低音部に位置する解析周波数では解析不能になるため解析周波数の種類は更に少なくなる。例えば、K=4の場合、解析周波数はMIDI規格上でもノートナンバーn=24〜127(104種類)の範囲に制限され、更にグランドピアノの規格音域では、ノートナンバーn=24〜108(64種類)の範囲に制限される。
【0041】
本実施形態では、音響信号を時間軸方向にK倍に拡大したことに伴い、nの上限、下限をそれぞれαだけ下方に移動させる。αは、α=12・log2K(例えばK=4の場合α=24)で定義される整数である。したがって、特許文献1〜3では、0≦n≦127であるが、本実施形態では、−α≦n≦127−αである。これにより各調和信号の周波数は、1/K倍に設定されることになる。ここで、本実施形態における解析周波数の論理的/物理的範囲の関係を図5に示す。図5に示すように、グランドピアノの規格音域は、n=21〜108の範囲であるため、通常の解析を行う場合は、n=21〜108の範囲で行うことになる。ところが、本発明では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行う。また、ノートナンバーn=21以下については、対応する調和信号の1周期が単位区間より長くなるため、時間軸延長(後述)による長周期解析を行う。この結果、n=−3〜84について周波数成分が得られるが、最終的に補正処理を行うことにより、n=21〜108の範囲周波数成分が得られる。
【0042】
ノートナンバーnに対応して解析周波数を設定した場合、周波数が高くなるにつれ、ノートナンバー間の周波数間隔が広くなるため、特に、nが60を超えると解析精度が低下してしまう。そこで、本実施形態では、特許文献3に開示したように、ノートナンバー間をM個の微分音(副周波数)に分割した128M個の要素信号f(n,m)=440・2(n-69+m/M)/12を用いて解析を行い、128M個の成分を抽出する。後述するS10の符号コード作成処理においてピッチベンド符号の付加など特殊な符号化を行わない限り、各ノートナンバーにおけるM個の微分音の情報は不要であるため、M個の微分音の成分の最大値を当該ノートナンバーにおける成分として代表させ、結果的に128個の成分を抽出する。
【0043】
コンピュータ(符号化装置)による具体的な処理手順としては、各単位区間pごとに、まず、ノートナンバー分の強度値の配列E1(p,n)(−α≦n≦127−α)と副周波数配列S(p,n)を設定し、初期値を全て0とする。続いて、−α≦n≦127−αおよび0≦m≦M−1に対して以下の〔数式2〕に従った処理を実行し、E1(p,n,m)を最大にする(nmax,mmax)を求める。ただし、処理負荷との関係から、低音部分を必要としない場合は、n<0については処理を省略することにより、処理負荷を軽減することもできる。
【0044】
〔数式2〕
A(p,n,m)=(1/T(n))・Σi=0,T(n)-1x(p,i) sin(2πf(n,m)(i+pW)/fs)
B(p,n,m)=(1/T(n))・Σi=0,T(n)-1x(p,i) cos (2πf(n,m)(i+pW)/fs)
E1(p,n,m)={A(p,n,m)}2+{B(p,n,m)}2
【0045】
上記〔数式2〕においてT(n)は解析フレーム長であり、調和信号(調和関数)の1周期が単位区間長T以下の場合、単位区間長Tを超えない範囲で調和信号の周期の最大の整数倍になるように設定する。ただし、本発明では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行うため、調和信号(調和関数)の1周期が単位区間長Tを超える場合が発生する。具体的には、調和信号の1周期が単位区間長Tより大きい場合、T(n)=g×fs/f(n,m)で与え、T<T(n)におけるx(i)の値については、後述する時間軸延長処理に基づき設定する。なお、gは1以上の整数値、fsはサンプリング周波数(例えば、44.1kHz)である。
【0046】
上記〔数式2〕に従った処理を各単位区間に対して実行し、A(p,n,m)、B(p,n,m)、E1(p,n,m)を求めることも可能である。ここで、本実施形態における単位区間と解析範囲の関係を図6に示す。図6において、上端の波形は原音響信号、下端の波形は調和関数をそれぞれ模式的に示したものである。図6の例では、対象とする単位区間である対象単位区間と、その直前の単位区間である直前単位区間のみを示してあるが、それぞれの相関計算範囲は、矩形の横方向の長さになる。本実施形態では、相関計算範囲Tを4096サンプル、シフト幅Wを64サンプルとしているため、重複部分が非常に大きい。そこで、本実施形態では、重複部分については、直前単位区間における解析結果を利用することにより、解析処理の効率化を図っている。
【0047】
本実施形態における単位区間の解析処理の様子を図7に示す。図7に示すように、対象単位区間における解析結果を得る際に、直前単位区間の重複部分を利用する。具体的には、対象単位区間と重複しない直前単位区間の先頭部分を削除し、直前単位区間と重複しない対象単位区間の最後尾部分のみ、相関演算を行って追加する。従って、単位区間内全体に渡って相関演算を行うのは、先頭の単位区間(p=0)に対してだけということになる。
【0048】
p≧1の場合、すなわち、2番目以降の単位区間pについて処理する場合、直前の単位区間(p−1)についてのA(p−1,n,m)、B(p−1,n,m)が既に算出されている。本実施形態では、A(p−1,n,m)、B(p−1,n,m)を用いて、以下の〔数式3〕に従った処理を実行することにより、単位区間pについてのA(p,n,m) 、B(p,n,m)を算出する。
【0049】
〔数式3〕
A(p,n,m)=A(p−1,n,m) −(1/T(n))・Σi=0,W-1x(p−1,i) sin(2πf(n,m)(i+(p−1)W)/fs)+(1/T(n))・Σi=T(n)-W,T(n)-1x(p,i) sin(2πf(n,m)(i+pW)/fs)
B(p,n,m)=B(p−1,n,m) −(1/T(n))・Σi=0,W-1x(p−1,i) cos (2πf(n,m)(i+(p−1)W)/fs)+(1/T(n))・Σi=T(n)-W,T(n)-1x(p,i) cos (2πf(n,m)(i+pW)/fs)
E1(p,n,m)={A(p,n,m)}2+{B(p,n,m)}2
【0050】
続いて、ノートナンバーnごとに、0≦m≦M−1の範囲で、E(p,n,m)を最大にする(p,n,mmax)を求め、E1(p,n)=E1(p,n,mmax)、S(p,n)=mmaxとする処理を行う。そして、算出されたE1(p,n)、S(p,n)をメモリに一時保存する。メモリに一時保存されたE1(p,n)、S(p,n)は、後述する単音成分連結処理において用いる。
【0051】
次に、単位区間pにおいて算出されたスペクトル強度E1(p,n)と、直前区間(p−1)において算出されたスペクトル強度E1(p−1,n)との変化の評価を行う(S4)。具体的には、まず、以下の〔数式4〕に従った処理を実行することにより、単位区間pの直前区間(p−1)との変化評価値dE(p−1,p)を算出する。
【0052】
〔数式4〕
dE(p−1,p)=(100/N)・Σn=0,N-1{|E1(p,n)−E1(p−1,n)|/(E1(p,n)+E1(p−1,n))}
【0053】
そして、得られた変化評価値dE(p−1,p)が、所定のしきい値(例えば40)未満である場合は、p←p+1としてS2に戻り、次の単位区間pの設定を行う。
【0054】
一方、得られた変化評価値dE(p−1,p)が、所定のしきい値以上である場合は、その単位区間pを選出単位区間qとして選出し、選出単位区間qについて一般化調和解析を行う(S5)。qの値は最初に選出された選出単位区間を0とし、以降は選出されるごとに1ずつ加算した値を与える。具体的には、まず、S3において設定されたE1(p,n)が最大になるE1(p,nmax)を求める。すなわち、−α≦n≦127−αの全てのnのうち、E1(p,n)が最大になるnの値をnmaxとして求めるとともに、そのときのE1(p,n)をE1(p,nmax)として求める。これは、上記〔数式2〕の処理を全てのnに対して実行し、算出されたn個のE1(p,n)のうち最大のものを選択することにより行われる。さらに、求めたnmaxを用いて、mmax=S(p,nmax)と設定する。
【0055】
そして、得られたnmax、mmaxを用いて以下の〔数式5〕に従った処理を実行することにより、A(p,nmax,mmax)、B(p,nmax,mmax)を算出する。〔数式5〕に従った処理を実行するに際し、まず、単位区間pはq番目に選出された選出単位区間qであるとした場合に、P(q)=pと設定し、選出単位区間qにおいてノートナンバー分の相関強度配列E2(q,n)を定義し、初期値を全て0未満の値(例えば−1)に設定しておく。
【0056】
〔数式5〕
A(p,nmax,mmax)=(1/T(nmax))・Σi=0,T(nmax)-1x(p,i)・ sin(2πf(nmax,mmax)i/fs)
B(p,nmax,mmax)=(1/T(nmax))・Σi=0,T(nmax)-1x(p,i) cos (2πf(nmax,mmax)i/fs)
E2(q,nmax)={A(p,nmax,mmax)}2+{B(p,nmax,mmax)}2
【0057】
そして、算出されたA(p,nmax,mmax)、B(p,nmax,mmax)を用いて、以下の〔数式6〕に従った処理を実行することにより、単位区間p内のサンプル(p,i)の値x(p,i)を0≦i≦T(nmax)−1に渡って更新する。
【0058】
〔数式6〕
x(p,i)←x(p,i)−A(p,nmax,mmax) ・sin(2πf(nmax,mmax)i/fs)−B(p,nmax,mmax) ・cos (2πf(nmax,mmax)i/fs)
【0059】
〔数式6〕の処理は、元の音響信号から含有信号を除去する処理である。含有成分を除去した後の音響信号に対して、さらに処理したnmaxの値以外のnを対象としてE2(q,n)が最大になる新たなE2(q,nmax)を求め、その新たなnmaxを用いて、〔数式5〕〔数式6〕に従った処理を実行する。この結果、さらに含有信号が音響信号から除去される。コンピュータ(符号化装置)は、このような処理を128個全てのnに対して実行し、E2(q,n)を得る。
【0060】
本実施形態では、処理負荷を軽減するため、Mの値については、ノートナンバーに基づいて可変に設定し、例えば解析する周波数間隔が100Hz程度になるようにしている。そして、ノートナンバー60以下は分割せずM=1にする。また、精度は若干落ちるが、相関強度配列E1(p,n)を決定するための〔数式2〕の処理でS(p,n)を決定し、相関強度配列E2(q,n)を決定するための〔数式5〕の処理は、m=S(p,n)に固定して行い、微分音解析を省略するようにしても良い。また、〔数式5〕の処理で、既に同一ノートナンバーに対して副周波数が異なる信号成分が複数回に渡って解析される可能性があるが、E2(q,n)に既に値がセットされている場合は、E1(p,n)の最大値の選定候補から除外するようにしても良い。
【0061】
ここで、単位区間における解析フレームの設定について説明する。尚、以下説明は前述の選出単位区間においても同様に適用される。図8は、時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。このうち、図8(a)は、時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列である。各サンプルにおけるサンプル値(4096個)を結ぶことにより、図8(a)に示すような波形状で示される。128個の調和信号のうち、図8(b)に示すような1周期が単位区間長T以下の高音部の解析調和信号と相関演算を行う際、および単位区間Tより選出された調和信号である含有信号を減算する際には、調和信号の1周期が単位区間長Tを超えない範囲まで周期を整数倍した長さを解析フレーム長T(n)とし、単位区間Tの先頭からサンプルT(n)個を抽出して、解析フレームとする。
【0062】
調和信号の1周期が単位区間長Tより大きい場合、相関計算区間である解析フレーム長T(n)を調和信号の1周期分とするため、単位区間長TにT(n)−T個のサンプル数を追加することにより時間軸延長処理を行う。この場合、調和信号の1周期を4つの分割区間Q1−Q4として設定する。そして、図8(d)に示すように、単位区間長Tが、調和信号の3/4周期に相当する場合は、調和信号の分割区間Q3(1/2周期から3/4周期の区間)に対応する単位区間のサンプルを、調和信号の3/4周期(270度:分割区間Q3と分割区間Q4の境界)の時点において時間軸方向に反転させたサンプルを追加する。270度の時点において時間軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間Q3と分割区間Q4(3/4周期から1周期の区間)は270度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図8(c)に示すような波形の解析フレーム(5461サンプル)が得られる。図8(c)(d)の例では、単位区間長Tが、調和信号の3/4周期に相当する場合を示したが、単位区間長Tが、調和信号の3/4周期以上である場合は、同様に処理が行われ、解析フレーム長T(n)は最大5461サンプルとなる。この場合、調和信号の3/4周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
【0063】
また、図9(b)に示すように、単位区間長Tが、調和信号の1/2周期以上で3/4周期未満に相当する場合(単位区間の最終サンプルが分割区間Q3に属する場合)は、分割区間Q4全体と分割区間Q3の一部が欠損しているため、分割区間Q2(1/4周期から1/2周期の区間)に対応する単位区間のサンプルを、調和信号の1/2周期(180度:分割区間Q2と分割区間Q3の境界)の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間Q3に追加し、さらに追加された分割区間Q3のサンプルを、調和信号の3/4周期(270度)の時点において反転させたサンプルを追加する。180度の時点において時間軸および振幅軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間Q2と分割区間Q3は180度を軸に時間軸および振幅軸方向に180度回転させた対称形である特徴を利用したものである。このようにして時間軸延長が行われ、図9(a)に示すような波形の解析フレーム(最大8192サンプル)が得られる。この場合、調和信号の1/2周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
【0064】
また、図10(b)に示すように、単位区間長Tが、調和信号の1/4周期以上で1/2周期未満に相当する場合(単位区間の最終サンプルが分割区間Q2に属する場合)は、分割区間Q3・Q4全体と分割区間Q2の一部が欠損しているため、Q1区間(先頭から1/4周期の区間)に対応する単位区間のサンプルを、調和信号の1/4周期(90度:分割区間Q1と分割区間Q2の境界)の時点において時間軸方向に反転させたサンプルを分割区間Q2に追加し、さらに追加された分割区間Q2のサンプルを、調和信号の1/2周期(180度)の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間Q3に追加し、さらに追加された分割区間Q3のサンプルを、調和信号の3/4周期(270度)の時点において時間軸方向に反転させたサンプルを追加する。90度の時点において時間軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間Q1と分割区間Q2は90度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図10(a)に示すような波形の解析フレーム(最大16384サンプル)が得られる。この場合、調和信号の1/4周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
尚、単位区間長Tが、調和信号の1/4周期未満に相当する場合(単位区間の最終サンプルが分割区間Q1に属する場合)も起こり得るが、これをもとに時間軸延長を行って相関計算を行っても、ソースとなる情報量が少なすぎて、有意な相関値が得られないため、単位区間長Tが、調和信号の1/4周期未満に相当する周波数に対しては解析対象としないものとする。
【0065】
各選出単位区間qについて解析フレームを変化させながら周波数解析を行い、スペクトル(128個の周波数成分)が算出されたら、個々の選出単位区間ごとに、S5において算出されたスペクトルに基づいて、N種類の各周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該選出単位区間の開始と終了を特定可能な時間情報で構成される単音成分を作成する(S6)。具体的には、算出したスペクトルに、各ノートナンバーnの時刻、時間長の情報を追加し、[開始時刻,時間長,主周波数n,副周波数S(P(q),n),強度E2(q,n)]で構成される単音成分を作成する。「開始時刻」としては選出単位区間の先頭の時刻を、デジタル音響信号全体において特定できる情報であれば良く、本実施形態では、単位区間の先頭サンプル(i=0)に付されたデジタル音響信号全体におけるサンプル番号(絶対サンプルアドレス:jに対応)を記録している。この絶対サンプルアドレスをサンプリング周波数(44100)で除算することにより、音響信号先頭からの時刻が得られる。時間長は、本実施形態では選出単位区間ごとに可変で与えられることを特徴とし、直後に後続する一般化調和解析を行った選出単位区間の開始時刻までの差分(後続する選出単位区間の開始時刻−当該選出単位区間の開始時刻)で与えられる。直後に後続する選出単位区間が存在しない場合(最終の選出単位区間)、単位区間のシフト幅Wを時間長として与える。
【0066】
続いて、時間軸方向に拡大して処理されたことによる変動を是正するため、各単音成分を補正する処理を行う(S7)。単音成分が作成されたら、全ての周波数情報(ノートナンバー値に対応)に12・log2Kだけ加算する処理を行う。例えば、K=4の場合、24半音(2オクターブ)だけ全体的に音高を上げる。この処理は、S1においてサンプル数をK倍したことにより周波数が1/Kになっているため、周波数をK倍にして元の状態に戻すために行う。この補正によりノートナンバーが規格値上限の127を超えるノートナンバーをもつ符号コードは削除する。具体的には補正前のノートナンバーが128−12・log2K以上の符号コードが削除される。
【0067】
続いて、全ての開始時刻,時間長に1/Kを乗算する。これにより、後述する符号化処理によりMIDI符号に変換した場合、MIDI符号全体の演奏時間、および各ノートイベントの発音時間が1/Kに縮小される。この処理は、S1においてサンプル数をK倍したことにより全体の演奏時間がK倍になっているため、時刻を1/Kにして元の状態に戻すために行う。
【0068】
S7における処理の結果、周波数(音高)はK倍になるとともに、時間情報は1/Kになる。S7の補正処理による音成分の変化の様子を図3(b)に示す。図3(b)においては、K=2の場合の音成分の変化を、音符により示している。S7の補正処理により左側の“ミ”の音符は、右側では1オクターブ高い(周波数が2倍)“ミ”の音符に変化している。一方、左側の四分音符が、右側では時間的に1/2の八分音符に変化している。
【0069】
各単音成分の周波数をK倍、時間軸を1/K倍にする処理を行ったら、次に、聴覚フィルタ補正を行う(S8)。具体的には、S7までの処理により得られた0≦n≦127の周波数範囲を24個の帯域に分割し、各帯域単位でE2(q,n)に対して補正を行う。
【0070】
本実施形態において聴覚フィルタ補正に用いる帯域フィルタについて説明しておく。非特許文献1を基に作成された帯域フィルタを図11に示す。図11においては、24個の帯域に帯域番号1〜24を付し、各帯域番号で特定される24個の帯域について、下限周波数、中心周波数、上限周波数、帯域幅を示している。下限周波数、上限周波数はそれぞれ、各帯域の下限の周波数、上限の周波数を示しており、各帯域の下限周波数、上限周波数はそれぞれ各帯域フィルタにおける上下のカットオフ周波数、当該周波数より上側または下側の周波数成分は通さない(フィルタ利得dB値がマイナス無限大に近い)ときの上限周波数、下限周波数に一致している。中心周波数は、帯域フィルタ内で最も信号成分を通す(フィルタ利得dB値がプラス無限大に近い)ピーク周波数である。帯域幅は、各帯域の幅であり、下限周波数と上限周波数の差分値となっている。
【0071】
図12は、図11に示した帯域フィルタをMIDIノートナンバー単位に変換したものである。すなわち、図11に示した周波数f(n)(単位Hz)と、図12に示したノートナンバーnの関係は、f(n)=440・2(n-69)/12を満たすものとなっている。ただし、ノートナンバーが複数の帯域で重複しないように、各帯域の上限音高を1つ高い帯域の下限音高よりも1だけ減じた値としている。
【0072】
各帯域は、帯域番号bを用いてNr(b)≦n<Nr(b+1)のノートナンバーnの範囲で特定される。25個の帯域境界値Nr(b)(b=1,・・・,25)は、Nr(b)={17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128}である。25個の帯域境界値Nr(b)のうち、b=1〜24に対応するものは、各帯域の下限音高を示し、b=25に対応する帯域境界値“128”のみ、帯域の中心音高を示している。図11、図12に示した帯域フィルタは典型例であり、上限、中心、下限の数値は適宜変更することができる。また、帯域の数についても、24個が現状は定説であるが、これに限定されず、新たな知見に基づいて変更することができる。
【0073】
図13は、S8における聴覚フィルタ補正の詳細を示すフローチャートである。まず、帯域番号bを1に設定する(S21)。これにより一番低い帯域である帯域番号1から処理が行われることになる。次に、帯域番号bに対応する下限音高Nr(b)から上限音高Nr(b+1)−1の範囲内で相関値配列E2(q,n)が最大となる極大ノートナンバーnbmaxを探索する(S22)。
【0074】
続いて、帯域番号bに対応する下限音高Nr(b)から上限音高Nr(b+1)−1の範囲内で極大ノートナンバーnbmax以外のノートナンバーnに対応する相関値配列E2(q,n)の値を所定の割合だけ減衰する(S23)。具体的には、極大ノートナンバーnbmax以外の各ノートナンバーnに対応する相関値配列E2(q,n)に1未満の所定の実数値γを乗算して減衰補正する。実数値γは減衰補正を行うためのものであるので、1未満の値であれば適宜設定することができるが、本実施形態では、γ=0.1に設定されている。したがって、S23における処理により、極大ノートナンバーnbmax以外のノートナンバーnに対応する各相関値E2(q,n)は、1/10に減衰されることになる。
【0075】
帯域番号bについて、極大ノートナンバーnbmaxの探索および他のノートナンバーに対応する相関値の減衰を行ったら、帯域番号bをカウントアップ(b←b+1)する(S24)。そして、最も高い帯域である帯域番号24と帯域番号bとの比較を行う(S25)。S25における比較の結果、bが24以下であれば、S22に戻って次の帯域について、極大ノートナンバーnbmaxの探索(S22)および他のノートナンバーに対応する相関値の減衰処理(S23)を行う。一方、S25における比較の結果、bが25以上であれば、全ての帯域について処理を行ったことになるので、聴覚フィルタ補正処理を終了する。
【0076】
S8における聴覚フィルタ補正処理の結果は、補正相関強度配列E‘(q,n)として出力される。補正相関強度配列E‘(q,n)における各補正相関値は、128個のE2(q,n)のうち、104個は減衰され、残る24個は減衰されない状態のものとなる。
【0077】
聴覚フィルタ補正処理を行ったら、次に、連続する選出単位区間において単音成分を連結(統合)する処理を行う(S9)。具体的には、連続する選出単位区間における単音成分が、所定の連結条件を満たす場合、2つの単音成分を連結する。ここで、連結判断の対象とする選出単位区間と単位区間との関係を図14に示す。
【0078】
図14は、図4(b)と同様、単位区間1−6のうち、単位区間1、5、6がそれぞれ選出単位区間1、2、3として選出された例を示している。本実施形態では、連結判断の対象を音成分として選出される選出単位区間の間ではなく、選出単位区間と隣接する単位区間の間で行う点に特徴がある。図14の例では、選出単位区間1と選出単位区間2(単位区間5)を連結するかどうか判断する際に、選出単位区間1と選出単位区間2(単位区間5)の間で連結条件を判断するのではなく、選出単位区間2(単位区間5)とその直前の単位区間4の間で連結条件を判断する。これにより、時間的に最も近い単位区間が連結判断の際に考慮されることとなり、適切に音成分を連結することが可能になる。
【0079】
連結条件としては、同一の音として連続性を有する状態を適宜設定することができる。本実施形態では、選出単位区間qと選出単位区間q+1を連結するか否かを判断するにあたり、4つの条件について判断する。第1の条件は、選出単位区間q+1(単位区間としてはP(q+1))における単音成分の強度から直前の単位区間P(q+1)−1における単音成分の強度を減じた値が所定のしきい値Ldif未満であること。第2の条件は、その双方の強度が所定のしきい値Lminより大きいこと。第3の条件は、ノートナンバーに対して上下1の変移を考慮し、副周波数を考慮した周波数の差が所定の閾値Ndif未満であること。第4の条件は、選出単位区間qが既に他の選出単位区間と連結されている場合、選出単位区間qと連結されている先頭の選出単位区間qoと選出単位区間q+1の副周波数を考慮した周波数の差が所定の閾値Nadif未満であること。以上4つの条件を全て満たす場合に、連続性を有するとして、後続の単音成分を前方の単音成分に連結する。第1の条件と第2の条件においても、ノートナンバーに対して上下1の変移を考慮する。本実施形態では、ノートナンバーの変移を考慮した以下の〔数式7〕〜〔数式9〕に従った4条件を満たすかどうかを判断することにより連結を行うか否かを決定する。
【0080】
〔数式7〕
E1(P(q+1),n)−E1(P(q+1)−1,n)<Ldif
E1(P(q+1)−1,n)>LminかつE1(P(q+1),n)>Lmin
|S(P(q+1)−1,n)−S(P(q+1),n)|<Ndif
|S(P(qo),n)−S(P(q+1),n)|<Nadif
【0081】
上記〔数式7〕において1行目の式は、後続の単音成分の強度から前方の単音成分の強度を減じた値が所定のしきい値Ldif未満であることを示し、2行目の式は、前方の単音成分と後続の単音成分の強度がともに所定のしきい値Lminより大きいことを示し、3行目の式は、副周波数を考慮したノートナンバー単位の周波数の差が所定の閾値Ndif未満であることを示している。4行目の式は、前方の選出単位区間がそれより前方の選出単位区間と既に連結されている場合に、先頭の選出単位区間qoと後続の選出単位区間q+1の副周波数を考慮したノートナンバー単位の周波数の差が所定の閾値Nadif未満であることを示している。
【0082】
〔数式8〕
E1(P(q+1),n−1)−E1(P(q+1)−1,n)<Ldif
E1(P(q+1)−1,n)>LminかつE1(P(q+1),n−1)>Lmin
|S(P(q+1)−1,n)−S(P(q+1),n−1)−M|<Ndif
|S(P(qo),n)−S(P(q+1),n−1)−M|<Nadif
【0083】
上記〔数式7〕が同一ノートナンバー同士で比較しているのに対して、上記〔数式8〕においては、後続の単音成分として1ノートナンバー分下げたものを対象としている点が異なっている。3行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n−1)を決定する周波数S(P(q+1),n−1)と、第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数S(P(q+1)−1,n)との差が所定のしきい値Ndif未満であることを示している。4行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n−1)を決定する周波数S(P(q+1),n−1)と、第1のスペクトル強度E1(P(qo),n)を決定する副周波数S(P(qo),n)との差が所定のしきい値Nadif未満であることを示している。
【0084】
〔数式9〕
E1(P(q+1),n+1)−E1(P(q+1)−1,n)<Ldif
E1(P(q+1)−1,n)>LminかつE1(P(q+1),n+1)>Lmin
|S(P(q+1)−1,n)−S(P(q+1),n+1)+M|<Ndif
|S(P(qo),n)−S(P(q+1),n+1)+M|<Nadif
【0085】
上記〔数式7〕が同一ノートナンバー同士で比較しているのに対して、上記〔数式9〕においては、後続の単音成分として1ノートナンバー分上げたものを対象としている点が異なっている。3行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n+1)を決定する周波数S(P(q+1),n+1)と、第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数S(P(q+1)−1,n)との差が所定のしきい値Ndif未満であることを示している。4行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n+1)を決定する周波数S(P(q+1),n+1)と、第1のスペクトル強度E1(P(qo),n)を決定する副周波数S(P(qo),n)との差が所定のしきい値Nadif未満であることを示している。
【0086】
本実施形態における具体的な処理手順としては、まず、〔数式7〕に示した条件を全て満たすかどうかを判断する。そして、満たす場合には、連結処理へ進む。〔数式7〕に示した条件のうち1つでも満たさないものがある場合は、〔数式8〕に示した条件を全て満たすかどうかを判断する。そして、満たす場合には、連結処理へ進む。〔数式8〕に示した条件のうち1つでも満たさないものがある場合は、〔数式9〕に示した条件を全て満たすかどうかを判断する。そして、満たす場合には、連結処理へ進む。〔数式9〕に示した条件のうち1つでも満たさないものがある場合は、連結を行わないという決定を行う。
【0087】
連結後の主周波数、副周波数、強度は大きい方の単音成分の各値を採用し、時間長は双方の和で与える。この時、強度は聴覚フィルタ補正を行った後の値を使用する。連結条件としての具体的なしきい値は、本実施形態では、Ldif=10[単位:128段階ベロシティ換算]、Lmin=1[単位:128段階ベロシティ換算]、Ndif=4/25[単位:ノートナンバー換算] 、Nadif=8/25[単位:ノートナンバー換算]としている。連結処理は、符号コードへの変換前に行うものであるため、各しきい値は、ノートナンバー、ベロシティに換算したものである。S9における連結処理の結果、連結処理されなかった単音成分はそのまま残ることになる。また、連結により連結音成分が得られることになるが、連結音成分は、単音成分と同様、[開始時刻,時間長,主周波数n,副周波数S(P(q),n),強度E‘(q,n)]で構成され、このうち時間長が単音成分より大きい値を有することになる。連結処理により、単音成分と連結音成分が混在することになるが、以降これらをまとめて音成分と呼ぶことにする。なお、S9における連結処理については、実行した方が、長音の音符で表現することになり、符号量が少なくなりMIDI音源で円滑で自然な演奏が行われるようになるため、一般に望ましいが、ピッチベンド符号の付加などが行われないと、逆にビブラートなど音の微妙な時間的変化が消失するためMIDI音源で不自然に聞こえる場合もあるため、必ずしも必須ではない。S9における連結処理を行わない場合、全てが短い音符として表現されることになる。
【0088】
S9の連結処理を終えたら、最終的に得られた[開始時刻,時間長,主周波数n,副周波数S(P(q),n),強度E‘(q,n)]の音成分を、符号コードに変換する(S10)。符号コードの形式としては、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報を有するものであれば、どのような形式のものであっても良いが、本実施形態では、MIDI形式に変換する。MIDIでは、発音開始と発音終了を別のイベントとして発生するため、本実施形態では、1つの音成分を2つのMIDIノートイベントに変換する。具体的には、「開始時刻」で、ノートナンバーnのノートオンイベントを発行し、ベロシティ値は強度E‘(q,n)の最大値をEmaxとして、128・{E‘(q,n)/Emax}1/4で与える。時刻については、Standard MIDI Fileでは、直前イベントとの相対時刻(デルタタイム)で与える必要があり、その時刻単位は任意の整数値で定義でき、例えば、1/1536[秒]の単位に変換して与える。そして、絶対時刻が「開始時刻」+「時間長」で特定される終了時刻で(デルタタイムでは「時間長」で与えられる終了時刻で)、ノートナンバーnのノートオフイベントを発行する。この際、時間長には、0以上1以下の実数を乗じる。これは、使用するMIDI音源の音色にも依存するが、MIDI音源の余韻を考慮して早めにノートオフ指示をするためである。時間長をそのまま用いてもMIDI音源の処理上問題はないが、発音の際、後続音と部分的に重なる場合がある。
【0089】
S10の符号コード変換処理を終えたら、次に、符号コードに対して必要な調整を行う(S11)。例えば、符号コードとしてMIDI符号に変換する際、MIDI音源で処理可能な同時発音数についても考慮するため、同時発音数の調整を行う必要がある。MIDI音源で処理可能な同時発音数が32である場合、時間軸方向に発音期間中(ノートオン状態)のノートイベントの個数を連続的にカウントし、同時に32個を超えるノートイベントが存在する箇所が見つかった場合は、各々対になるノートオフイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値(ノートオフ時刻−ノートオン時刻)の積(エネルギー値)で優先度を評価し、指定和音数(この場合“32”)以下になるように優先度の低い(エネルギー値の小さい)ノートイベント対を局所的に削除する処理を行う。“局所的に”とは、32を超えるノートイベント対が存在する部分に限りという意味である。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。この段階で、本願で提案した聴覚フィルタ補正の効果が顕著に働き、選択される32個のノートイベントのうち24個のノートイベントは、図12で定義される24個の各帯域内に含まれるノートナンバーより各々より少なくとも1つずつ選択され、残りの8個のノートナンバーは、いずれか8種の帯域より重複して選択される可能性が高くなる。実際には、図5に示されるように、符号化対象のノートナンバーをピアノの音域である21〜108の範囲に限定することが多く、その場合、図12で有効な帯域は1〜18番に制限されるため、18個の各帯域内に含まれるノートナンバーより各々より少なくとも1つずつ選択され、残りの14個のノートナンバーは、いずれか14種の帯域より重複して選択される可能性が高くなる。ただし、これはあくまで、このように選択される確率が高くなるように補正をしたということで、選出単位区間によっては、選択されるノートイベントは18種未満のいずれかの帯域から選択されたり、1つの帯域から3種以上のノートナンバーが重複して選択されることもあり得る。このように符号化されたMIDIデータを、32和音以上同時発音可能なMIDI音源を用いて再生すると、特定の周波数帯域に限定されず、ヒト聴覚系が同時に聴取できる全ての周波数帯域の音域をカバーするため、ヒトが符号化前の原音響信号をそのまま聴取するのと同等な臨場感で明瞭に聴取することが可能になる。
【0090】
さらに、符号コードで処理可能なビットレートについても考慮するため、ビットレートの調整を行う。MIDI符号に変換する場合、時間軸方向に、例えば1秒間隔にノートイベント対の個数をカウントし、各々の符号データ量を平均5バイト(40ビット)とし、MIDI音源で処理可能な最大ビットレートを9000[bps(ビット/秒)]とすると、1秒間あたりイベント数が9000/40=225個を超えている区間が見つかった場合は、その区間に存在するノートオンまたはノートオフイベントと各々対になるノートオフまたはノートオンイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値(ノートオフ時刻−ノートオン時刻)の積(エネルギー値)で優先度を評価し、指定イベント個数(この場合“225”)以下になるように優先度の低い(エネルギー値の小さい)ノートイベント対を局所的に削除する処理を行う。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。この段階でも、本願で提案した聴覚フィルタ補正の効果が顕著に働き、図12で定義される24個(ピアノ音域に限定した運用の場合は18個)の各帯域内に含まれる少なくとも1つのノートナンバーのノートイベントは削除されず残存する可能性が高くなる。
【0091】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、ノートナンバー間をM個の微分音(副周波数)を用いて解析を行うようにしたが、微分音を用いず、ノートナンバーに対応したN種類の周波数のみで解析するようにしても良い。この場合、解析精度は若干落ちるが、解析対象の周波数の数が減るため、処理負荷は軽減される。微分音を用いない場合、S9の単音成分の連結処理の判断において、〔数式7〕〜〔数式9〕では、いずれも3行目、4行目の式は判断しないことになる。
【0092】
また、上記実施形態では、単位区間の設定前に、S1において時系列方向へのサンプル数の拡大処理を行い、単音成分の作成後、S7において単音成分の補正として各単音成分の周波数をK倍、時間軸を1/K倍にする処理を行っているが、特別に高い時間分解能を必要としない場合、必ずしも実行しなくても良い。
【0093】
また、上記実施形態では、周波数解析を第1の周波数解析と第2の周波数解析に分け、第1の周波数解析の結果、所定の条件を満たした選出単位区間に対して第2の周波数解析を実行するようにしたが、各単位区間に対して、特許文献1〜3に開示されているような公知の周波数解析を実行するようにしても良い。
【産業上の利用可能性】
【0094】
本発明は、PCM等により得られた音響信号を、MIDI符号等の符号コードに変換する技術を用い、放送メディア(地上・BSなどによるデジタルラジオ・テレビ放送など)、通信メディア(CS放送、インターネット・ストリーミング放送、携帯電話サービス、携帯音楽配信サービスなど)、パッケージメディア(CD、DVD、BlueRay、メモリICカードなど)向けのオーディオコンテンツ制作産業に利用することができる。
【符号の説明】
【0095】
1・・・CPU
2・・・RAM
3・・・データ記憶装置
4・・・プログラム記憶装置
5・・・キー入力I/F
6・・・データ入出力I/F
7・・・表示出力I/F
【技術分野】
【0001】
本発明は、音響信号の符号化技術に関し、特に、MIDI形式等の符号データに符号化するのに好適な符号化技術に関する。
【背景技術】
【0002】
従来、MIDI音源を用いて音響信号を再生することを可能とするため、音響信号をMIDI符号等の符号データに変換することが行われている(特許文献1〜3参照)。MIDI音源では、32和音など限定された周波数で再生されるため、符号化の際には、限定された数の周波数を選択して符号化することが必要となる。出願人も、音響信号から限定された数の周波数を選択して符号化する技術について提案している(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−41037号公報
【特許文献2】特許第4061070号公報
【特許文献3】特許第4156268号公報
【非特許文献】
【0004】
【非特許文献1】赤木正人:“聴覚フィルタとそのモデル”,電子情報通信学会誌 77(9), 948-956, 1994-09-25.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に記載の発明では、先に選択された強度が大きい周波数の周辺の信号成分を一律に減衰させることにより、互いに隣接する周波数成分がなるべく選択されないようにしている。そのため、ボーカル再生において子音を表現するのに本来必要な成分も削除されてしまい、返って再現性が低下するという問題を抱えていた。
【0006】
一方、ヒトの聴覚は24本の聴覚神経系で周波数弁別を行っており、理論的には24個の帯域フィルタで近似することができ、24個の出力信号の割合で複数(同時には12種未満)の周波数成分の識別を行っていることが知られている(非特許文献1参照)。すなわち、各帯域フィルタ内に含まれる周波数成分は同時刻では単一周波数成分しか認識できず、同一帯域フィルタに含まれる複数の周波数成分は時間差をもって認識される(うなり音またはビートとして、個人差はあるが同一帯域内の1/4半音程度の周波数の微細な相違が認識される)。
【0007】
そこで、本発明は、ヒトの聴覚特性を利用することにより、子音成分を限定された数の周波数で再生される音源を用いて忠実に再現することが可能な音響信号の符号化方法および装置を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明第1の態様では、所定のサンプリング周波数でデジタル化されたJ個の時系列のサンプル列として与えられる音響信号を符号化するにあたり、前記サンプル列に対して、所定数T(T<J)個のサンプルで構成される単位区間を、隣接する単位区間と時間軸方向に所定数W(W<T)個のサンプルを重複させながら設定し、個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、各単位区間に対して、前記N種類の周波数に対応したスペクトル強度を算出し、前記N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、前記各単位区間に対して、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、補正スペクトル強度を作成し、前記単位区間の先頭時刻と直後の単位区間の先頭時刻との時間差と、前記単位区間の補正スペクトル強度に基づいて、所定の形式の符号コードを生成するようにしたことを特徴とする。
【0009】
本発明第1の態様によれば、各単位区間に対して周波数変換を行ってN種類の周波数に対応したスペクトル強度を算出し、N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、得られた解析結果を基に符号コードを生成するようにしたので、音響信号の子音成分を、32和音などの限定された周波数で再生される音源(例えばMIDI音源)を用いて忠実に再現することが可能となる。
【0010】
また、本発明第2の態様では、本発明第1の態様において、前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、前記nの値を規格上のノートナンバーと定義して、17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128を境界とする24個で設定されることを特徴とする。
【0011】
また、本発明第3の態様では、本発明第1の態様において、前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、周波数f(n)の値が20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500,12000,15500Hzを境界とする24個で設定されることを特徴とする。
【0012】
本発明第2、第3の態様によれば、ヒト聴覚系の特性に基づき24個の周波数グループに分類するようにして補正を行うようにしたので、ヒトの聴覚特性に適した最適な周波数成分で符号化を行うことができる。特に、本発明第2の態様によれば、周波数グループの分類を、再生音源のMIDI規格に対応したノートナンバーnで行っているため、再生MIDI音源に適した符号化を行うことができる。
【0013】
また、本発明第4の態様では、本発明第1から第3のいずれかの態様において、前記スペクトル強度の算出を、個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、単位区間pに対して、前記N種類の周波数に対応した第1のスペクトル強度E1(p,n)を算出し、前記単位区間pに対して直前に位置する単位区間p−1における第1のスペクトル強度E1(p−1,n)との対応する周波数ごとの変化に基づく評価値が、所定のしきい値より大きい場合に限り、当該単位区間pをq(q≦p)番目の選出単位区間qとして選出し、解析対象とする少なくともN種類の各周波数f(n)について、前記第1のスペクトル算出段階における周波数変換に比較して高精度な周波数変換を行うことにより、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することにより、前記スペクトル強度として第2のスペクトル強度E2(q,n)を算出するものであり、前記スペクトルの補正は、前記第2のスペクトル強度E2(q,n)に対して所定の割合だけ減衰させるように補正を行い、前記補正スペクトル強度として補正スペクトル強度E‘(q,n)を作成するようにしていることを特徴とする。
【0014】
本発明第4の態様によれば、設定された各単位区間に対して簡易な第1の周波数変換を行い、その強度が直前の単位区間と比較して所定の基準以上に大きい場合に、選出単位区間として選出し、その選出単位区間に対してより高精度な第2の周波数変換を行って、得られた解析結果を基に符号コードを生成するようにしたので、固定間隔で音響信号全体に渡って情報を解析しつつ、特徴的な部分のみを符号化することになるため、和音を含む音響信号や、音声信号の周波数変化をより適切に解析することが可能となる。
【0015】
また、本発明第5の態様では、本発明第4の態様において、前記第1のスペクトル算出および第2のスペクトル算出を、N種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数に対応する強度値を算出するようにしたことを特徴とする。
【0016】
本発明第5の態様によれば、解析する周波数の間隔を微細に設定することにより、より詳細な周波数解析が可能となり、適切な周波数成分を特定することができる。
【0017】
また、本発明第6の態様では、本発明第4または第5の態様において、前記符号コードを生成する際、隣接する2つの選出単位区間qと選出単位区間q+1に対して、前記選出単位区間qがp番目の単位区間pであった場合に、P(q)=pと定義し、前記選出単位区間q+1における周波数f(n)、f(n−1)、f(n+1)に対応する前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかと、当該選出単位区間q+1の直前に位置する単位区間P(q+1)−1における周波数f(n)に対応する前記第1のスペクトル強度E1(P(q+1)−1,n)との差が所定のしきい値Ldif未満で、かつ前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかおよび前記第1のスペクトル強度E1(P(q+1)−1,n)が所定のしきい値Lminより大きい場合、前記選出単位区間qと選出単位区間q+1を連結し、前記符号コードの基礎となる時間差として、前記選出単位区間qに定義された選出単位区間qの先頭時刻と、選出単位区間q+1の直後の選出単位区間q+2の先頭時刻との時間差を用いるようにしていることを特徴とする。
【0018】
本発明第6の態様によれば、符号コードを生成する際、隣接する2つの選出単位区間のうち、後続の選出単位区間とその直前の単位区間の強度の差が所定のしきい値未満で、後続の選出単位区間の強度とその直前の単位区間の強度がともに所定のしきい値より大きい場合に、隣接する2つの選出単位区間を連結するようにしたので、選出されていないものの、時間的に最も近い単位区間が連結判断の際に考慮されることとなり、適切に音成分を連結することが可能になる。
【0019】
また、本発明第7の態様では、本発明第6の態様において、前記第1のスペクトル算出および第2のスペクトル算出は、N種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数f1(n,mmax1)およびf2(n,mmax2)に対応する強度値を算出するものであり、前記符号コードを生成する際、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数ナンバーmmax1、mmax2、mmax3の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数ナンバーmmax0との差が所定のしきい値Ndif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結するようにしていることを特徴とする。
【0020】
本発明第7の態様によれば、解析する周波数の間隔を微細に設定することにより、より詳細な周波数解析が可能となり、さらに、音成分の連結条件として、後続の選出単位区間とその直前の単位区間の副周波数との差がしきい値未満であることを追加したので、より精度の高い解析結果に基づいて音成分を連結することが可能となる。
【0021】
また、本発明第8の態様では、本発明第7の態様において、前記選出単位区間qが、既に他の選出単位区間と連結されている場合、前記選出単位区間qが連結されている先頭の選出単位区間をqoとし、前記符号化段階は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数ナンバーmmax1、mmax2、mmax3の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(qo),n)を決定する副周波数ナンバーmmaxoとの差が所定のしきい値Nadif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする。
【0022】
本発明第8の態様によれば、さらに、音成分の連結条件として、前方の選出単位区間が、既に他の選出単位区間と連結されている場合、後続の選出単位区間とその直前の選出単位区間が連結されている先頭の選出単位区間の副周波数との差がしきい値未満であることを追加したので、副周波数が緩やかに変化する異なる音成分に属する後続の選出単位区間を誤って連結することを防ぎ、より精度の高い音成分の連結を実現することが可能となる。
【0023】
また、本発明第9の態様では、本発明第4から第8のいずれかの態様において、前記第1のスペクトル算出を、前記単位区間の区間信号の構成要素となるべきN種類の要素信号を、各々当該周波数f(n)の周期の整数倍に対応し、前記Tに最も近いT(n)個のサンプルとして準備し、前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記単位区間pのT(n)個のサンプルで構成される区間信号との相関演算を行うことにより、第1のスペクトル強度E1(p,n)を算出し、前記第2のスペクトルの算出を、前記準備された前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記選出単位区間qのT(n)個のサンプルで構成される区間信号との相関演算を行い、相関値が最も高い周波数f(nmax)に対応する要素信号を調和信号として選出し、前記選出された調和信号と当該調和信号について得られた相関値との積で与えられるT(nmax)個のサンプルを含有信号とし、当該含有信号を前記区間信号から減じることにより、T(nmax)個のサンプルで構成される差分信号を演算により求め、前記T(nmax)個のサンプルを反映させ更新されたT(n)個のサンプルを新たな区間信号として、前記調和信号の選出および差分信号の演算を実行して新たな含有信号および差分信号を得る処理を繰り返し行うことによりN個の含有信号を求め、求められた含有信号の相関値に基づいて、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することを特徴とする。
【0024】
本発明第9の態様によれば、全ての単位区間に対する第1のスペクトル算出を、簡易な離散フーリエ変換により行い、選出単位区間に対する第2のスペクトル算出を高精度な一般化調和解析により行うようにしたので、全ての単位区間の解析結果を参考にしつつ、選出単位区間の情報を高精度に得ることを、全体として効率的に行うことが可能となる。
【0025】
また、本発明第10の態様では、本発明第9の態様において、前記第1のスペクトル算出における前記相関の演算を、直前に位置する単位区間p−1における各周波数f(n)に対応する直前相関演算結果に対し、前記単位区間p−1における先頭Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果より減算するとともに、前記単位区間pにおけるT(n)サンプル中の最後尾Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果に加算することにより、前記単位区間pにおける各周波数f(n)に対応する相関演算結果を取得し、当該相関演算結果に基づいて前記第1のスペクトル強度E1(p,n)を算出することにより行うことを特徴とする。
【0026】
本発明第10の態様によれば、第1のスペクトル算出における各単位区間に対する簡易な相関演算を行う際、直前の単位区間に対して行われた相関演算結果を利用し、直前相関演算結果の先頭部分を除去するとともに、当該単位区間の最後尾に対する相関演算を行って、その結果を直前相関演算結果に加算するようにしたので、直前の単位区間の相関演算結果の大部分を流用することができ、全ての単位区間に対する演算処理を高速化することが可能となる。
【発明の効果】
【0027】
本発明によれば、和音信号や、音声信号の周波数変化をより適切に解析することが可能な音響信号の符号化方法および装置を提供することが可能となるという効果を有する。
【図面の簡単な説明】
【0028】
【図1】本実施形態における音響信号の符号化装置のハードウェア構成図である。
【図2】本発明に係る音響信号の符号化方法の概要を示すフローチャートである。
【図3】時間軸方向の拡大、周波数の増加・時間情報の縮小の概念を示す図である。
【図4】従来技術と比較した本実施形態の区間設定の概念を示す図である。
【図5】本実施形態における解析周波数の論理的/物理的範囲の関係を示す図である。
【図6】本実施形態における単位区間と解析範囲の関係を示す図である。
【図7】本実施形態における単位区間の解析処理の様子を示す図である。
【図8】時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。
【図9】単位区間長Tが調和信号の1/2周期以上で3/4周期未満の場合の解析フレームの時間軸延長を説明する図である。
【図10】単位区間長Tが調和信号の1/4周期以上で1/2周期未満の場合の解析フレームの時間軸延長を説明する図である。
【図11】非特許文献1を基に作成された周波数基準の帯域フィルタを示す図である。
【図12】図11に示した帯域フィルタの単位を変換したMIDIノートナンバー基準の帯域フィルタを示す図である。
【図13】S8における聴覚フィルタ補正の詳細を示すフローチャートである。
【図14】連結判断の対象とする選出単位区間と単位区間との関係を示す図である。
【発明を実施するための形態】
【0029】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
図1は、本発明の一実施形態における音響信号の符号化装置のハードウェア構成図である。音響信号の符号化装置は、汎用のコンピュータで実現することができ、図1に示すように、CPU1(CPU: Central Processing Unit)と、コンピュータのメインメモリであるRAM2(RAM: Random Access Memory)と、データを記憶するための大容量のデータ記憶装置3(例えば,ハードディスク)と、CPUが実行するプログラムを記憶するためのプログラム記憶装置4(例えば,ハードディスク)と、キーボード、マウス等のキー入力I/F5と、外部デバイス(データ記憶媒体)とデータ通信するためのデータ入出力インターフェース6と、表示デバイス(ディスプレイ)に情報を送出するための表示出力インターフェース7と、を備え、互いにバスを介して接続されている。
【0030】
音響信号の符号化装置のプログラム記憶装置4には、CPU1を動作させ、コンピュータを、音響信号の符号化装置として機能させるための専用のプログラムが実装されている。専用のプログラムを実行することにより、CPU1は、区間設定手段、第1のスペクトル算出手段(要素信号準備手段、相関演算手段を含む)、第2のスペクトル算出手段(要素信号準備手段、調和信号選出手段、差分信号演算手段を含む)、スペクトル補正手段、符号化手段としての機能を実現することになる。また、データ記憶装置3は、処理に必要な様々なデータを記憶する。
【0031】
図2は、本実施形態に係る音響信号の符号化方法の概要を示すフローチャートである。本実施形態に係る音響信号の符号化方法は、図2に示した各ステップ(各段階)の詳細な手順を記録したプログラムを、コンピュータが実行することにより、行われる。コンピュータとしては、演算処理を行うためのCPUやメモリ、プログラムやデータを記憶するハードディスク等の記憶装置、音響信号等のデータ入力を行うためのデータ入力機器、指示入力を行うキーボード、マウス等の入力機器、必要な情報を画面に表示する液晶ディスプレイ等の表示機器を備えた汎用のコンピュータを用いることができる。また、図2に示した各ステップ(各段階)の詳細な手順を記録したプログラムが組み込まれた汎用のコンピュータにより本実施形態に係る音響信号の符号化装置が実現される。
【0032】
まず、コンピュータ(符号化装置)は、処理対象であるデジタル音響信号を、データ入力機器から読み込む。デジタル音響信号は、アナログ音響信号を所定のサンプリング周波数、量子化ビット数でサンプリングしたものであり、本実施形態では、サンプリング周波数44.1kHz、量子化ビット数16ビットでサンプリングした場合を例にとって以下説明していく。サンプリング周波数44.1kHzでサンプリングした場合、デジタル音響信号は、1秒間に44100個のサンプル(強度値)を有するサンプル列(サンプルの配列:強度配列)として構成されることになる。
【0033】
デジタル音響信号を読み込んだら、コンピュータ(符号化装置)は、デジタル音響信号を時間軸方向に所定の倍率K(Kは整数)だけ拡大する(S1)。具体的には、デジタル音響信号を構成するサンプルの数をK倍にする。そして、K個ごとに、元のサンプルと同じ値のものを配置し、その間の(K−1)個のサンプルの値としては、両側に位置する元のサンプルの値を用いて線形補間したものを与える。原音響信号の各サンプルj(j=0・・・J−1)についてのサンプル値をx(j)とすると、コンピュータは、以下の〔数式1〕に従った処理を実行することにより、拡大後の音響信号の各サンプルj・K+k(0≦k≦K−1)についてのサンプル値x´(j・K+k)を算出する。以下の〔数式1〕において、wはk/Kで与えられる0≦w≦1の値をとる実数値とする。
【0034】
〔数式1〕
x´(j・K+k)=(1−w)・x(j)+w・x(j+1)
【0035】
S1における処理の結果、デジタル音響信号を構成するJ個のサンプルは、J×K個に拡大される。図3(a)にS1における拡大処理による波形の変化を示す。図3(a)における波形は、サンプルの値をプロットしたものを線分で結んだものであるが、サンプル数が多いため、曲線状に表現されるものである。上記〔数式1〕に従った処理を実行することにより、左側に示したような波形が右側に示したような波形に変化することになる。なお、図3の例では、説明の便宜上K=2の場合を示している。このように、音響信号を時間軸方向に拡大して解析を行うことにより、元の音響信号に対してそのまま解析を行う場合と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、周波数変動を高精度に抽出することが可能となる。
【0036】
コンピュータ(符号化装置)は、続くS2〜S5において、所定の区間に対して周波数解析を行う。本実施形態では、周波数解析の対象とする区間の設定を、単位区間を設定した後、所定の条件を満たす単位区間を選出単位区間として選出することにより行う。本実施形態における解析対象とする区間の設定の概念を、特許文献2に代表される従来技術と比較して説明する。図4は、従来技術と比較した本実施形態の区間設定の概念を示す図である。従来の場合も本実施形態も、後述するように、サンプリングにより得られた所定数のサンプルを単位区間として設定し、単位区間ごとに周波数解析を行う点は同一である。図4(a)に示すように、特許文献2に開示されている従来技術では、ゼロ交差点を特定し、そのゼロ交差点を利用して単位区間の設定位置を可変とする。図4(a)では例として3つの単位区間が設定されているが、これらの開始位置(左端)の間隔は均一ではない。そして、設定された各単位区間に対して、離散フーリエ変換及び一般化調和解析の両方を実行して解析結果を得る。
【0037】
これに対して、図4(b)に示すように、本実施形態では、固定間隔で単位区間を設定し、各単位区間に対して離散フーリエ変換を実行して解析結果を得る。そして、その解析結果を直前の単位区間と比較して、所定の条件を満たす場合に、選出単位区間として選出する。図4(b)の例では、単位区間1、5、6がそれぞれ選出単位区間1、2、3として選出されている。そして、選出単位区間に対して一般化調和解析を実行して解析結果を得る。
【0038】
具体的には、まず、コンピュータ(符号化装置)が、時間軸方向に拡大されたサンプル上に単位区間を設定する(S2)。単位区間の長さ(サンプル数T)は、サンプリング周波数との関係で設定されるが、サンプリング周波数が44.1kHzの場合、低域部まで忠実に解析するためには、4096サンプル以上必要である。そこで、本実施形態では、1単位区間のサンプル数T=4096として単位区間を設定している。
【0039】
単位区間の設定は、特許文献1、3に開示されているように、デジタル音響信号の先頭から順次サンプルを抽出することにより行われる。単位区間は、全てのサンプルを漏らさず設定し、好ましくは、連続する単位区間においてサンプルが重複するように設定する。本発明では、各単位区間の先頭の間隔(シフト幅という)を固定値で設定する。すなわち、重複させるサンプル数を一定として設定する。本実施形態では、シフト幅W=64の固定値とする。これにより、T=4096の場合、先頭の単位区間をj=0〜4095、2番目の単位区間をj=64〜4159、3番目の単位区間をj=128〜4223というように、64個のサンプルを重複させながら、設定することになる。そして、各サンプルの値x(j)を各単位区間p(pは0以上の整数)ごとの値x(p,i)(0≦i≦T−1)と表現する。
【0040】
次に、設定された各単位区間を対象として第1の周波数解析である離散フーリエ変換を実行し、各単位区間のスペクトルを算出する(S3)。各単位区間のスペクトルの算出は、特許文献1〜3に開示されているように、MIDIのノートナンバーnに対応する128種の解析周波数f(n)=440・2(n-69)/12の調和信号(調和関数)を基本にした離散フーリエ変換により、128個の成分を抽出することにより行う。“128種”“128個”というのは一例であり、例えば、MIDI規格の場合、ノートナンバーn=0〜127の範囲に対応するが、グランドピアノを再現するための規格音域は、ノートナンバーn=21〜108の範囲である。したがって、この場合、88種類の解析周波数を用いて88個の成分を抽出することになる。また、前述したように、音響信号を時間軸方向に所定の倍率Kだけ拡大して周波数解析を行う場合、後述する時間軸拡大処理を省略すると、低音部に位置する解析周波数では解析不能になるため解析周波数の種類は更に少なくなる。例えば、K=4の場合、解析周波数はMIDI規格上でもノートナンバーn=24〜127(104種類)の範囲に制限され、更にグランドピアノの規格音域では、ノートナンバーn=24〜108(64種類)の範囲に制限される。
【0041】
本実施形態では、音響信号を時間軸方向にK倍に拡大したことに伴い、nの上限、下限をそれぞれαだけ下方に移動させる。αは、α=12・log2K(例えばK=4の場合α=24)で定義される整数である。したがって、特許文献1〜3では、0≦n≦127であるが、本実施形態では、−α≦n≦127−αである。これにより各調和信号の周波数は、1/K倍に設定されることになる。ここで、本実施形態における解析周波数の論理的/物理的範囲の関係を図5に示す。図5に示すように、グランドピアノの規格音域は、n=21〜108の範囲であるため、通常の解析を行う場合は、n=21〜108の範囲で行うことになる。ところが、本発明では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行う。また、ノートナンバーn=21以下については、対応する調和信号の1周期が単位区間より長くなるため、時間軸延長(後述)による長周期解析を行う。この結果、n=−3〜84について周波数成分が得られるが、最終的に補正処理を行うことにより、n=21〜108の範囲周波数成分が得られる。
【0042】
ノートナンバーnに対応して解析周波数を設定した場合、周波数が高くなるにつれ、ノートナンバー間の周波数間隔が広くなるため、特に、nが60を超えると解析精度が低下してしまう。そこで、本実施形態では、特許文献3に開示したように、ノートナンバー間をM個の微分音(副周波数)に分割した128M個の要素信号f(n,m)=440・2(n-69+m/M)/12を用いて解析を行い、128M個の成分を抽出する。後述するS10の符号コード作成処理においてピッチベンド符号の付加など特殊な符号化を行わない限り、各ノートナンバーにおけるM個の微分音の情報は不要であるため、M個の微分音の成分の最大値を当該ノートナンバーにおける成分として代表させ、結果的に128個の成分を抽出する。
【0043】
コンピュータ(符号化装置)による具体的な処理手順としては、各単位区間pごとに、まず、ノートナンバー分の強度値の配列E1(p,n)(−α≦n≦127−α)と副周波数配列S(p,n)を設定し、初期値を全て0とする。続いて、−α≦n≦127−αおよび0≦m≦M−1に対して以下の〔数式2〕に従った処理を実行し、E1(p,n,m)を最大にする(nmax,mmax)を求める。ただし、処理負荷との関係から、低音部分を必要としない場合は、n<0については処理を省略することにより、処理負荷を軽減することもできる。
【0044】
〔数式2〕
A(p,n,m)=(1/T(n))・Σi=0,T(n)-1x(p,i) sin(2πf(n,m)(i+pW)/fs)
B(p,n,m)=(1/T(n))・Σi=0,T(n)-1x(p,i) cos (2πf(n,m)(i+pW)/fs)
E1(p,n,m)={A(p,n,m)}2+{B(p,n,m)}2
【0045】
上記〔数式2〕においてT(n)は解析フレーム長であり、調和信号(調和関数)の1周期が単位区間長T以下の場合、単位区間長Tを超えない範囲で調和信号の周期の最大の整数倍になるように設定する。ただし、本発明では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行うため、調和信号(調和関数)の1周期が単位区間長Tを超える場合が発生する。具体的には、調和信号の1周期が単位区間長Tより大きい場合、T(n)=g×fs/f(n,m)で与え、T<T(n)におけるx(i)の値については、後述する時間軸延長処理に基づき設定する。なお、gは1以上の整数値、fsはサンプリング周波数(例えば、44.1kHz)である。
【0046】
上記〔数式2〕に従った処理を各単位区間に対して実行し、A(p,n,m)、B(p,n,m)、E1(p,n,m)を求めることも可能である。ここで、本実施形態における単位区間と解析範囲の関係を図6に示す。図6において、上端の波形は原音響信号、下端の波形は調和関数をそれぞれ模式的に示したものである。図6の例では、対象とする単位区間である対象単位区間と、その直前の単位区間である直前単位区間のみを示してあるが、それぞれの相関計算範囲は、矩形の横方向の長さになる。本実施形態では、相関計算範囲Tを4096サンプル、シフト幅Wを64サンプルとしているため、重複部分が非常に大きい。そこで、本実施形態では、重複部分については、直前単位区間における解析結果を利用することにより、解析処理の効率化を図っている。
【0047】
本実施形態における単位区間の解析処理の様子を図7に示す。図7に示すように、対象単位区間における解析結果を得る際に、直前単位区間の重複部分を利用する。具体的には、対象単位区間と重複しない直前単位区間の先頭部分を削除し、直前単位区間と重複しない対象単位区間の最後尾部分のみ、相関演算を行って追加する。従って、単位区間内全体に渡って相関演算を行うのは、先頭の単位区間(p=0)に対してだけということになる。
【0048】
p≧1の場合、すなわち、2番目以降の単位区間pについて処理する場合、直前の単位区間(p−1)についてのA(p−1,n,m)、B(p−1,n,m)が既に算出されている。本実施形態では、A(p−1,n,m)、B(p−1,n,m)を用いて、以下の〔数式3〕に従った処理を実行することにより、単位区間pについてのA(p,n,m) 、B(p,n,m)を算出する。
【0049】
〔数式3〕
A(p,n,m)=A(p−1,n,m) −(1/T(n))・Σi=0,W-1x(p−1,i) sin(2πf(n,m)(i+(p−1)W)/fs)+(1/T(n))・Σi=T(n)-W,T(n)-1x(p,i) sin(2πf(n,m)(i+pW)/fs)
B(p,n,m)=B(p−1,n,m) −(1/T(n))・Σi=0,W-1x(p−1,i) cos (2πf(n,m)(i+(p−1)W)/fs)+(1/T(n))・Σi=T(n)-W,T(n)-1x(p,i) cos (2πf(n,m)(i+pW)/fs)
E1(p,n,m)={A(p,n,m)}2+{B(p,n,m)}2
【0050】
続いて、ノートナンバーnごとに、0≦m≦M−1の範囲で、E(p,n,m)を最大にする(p,n,mmax)を求め、E1(p,n)=E1(p,n,mmax)、S(p,n)=mmaxとする処理を行う。そして、算出されたE1(p,n)、S(p,n)をメモリに一時保存する。メモリに一時保存されたE1(p,n)、S(p,n)は、後述する単音成分連結処理において用いる。
【0051】
次に、単位区間pにおいて算出されたスペクトル強度E1(p,n)と、直前区間(p−1)において算出されたスペクトル強度E1(p−1,n)との変化の評価を行う(S4)。具体的には、まず、以下の〔数式4〕に従った処理を実行することにより、単位区間pの直前区間(p−1)との変化評価値dE(p−1,p)を算出する。
【0052】
〔数式4〕
dE(p−1,p)=(100/N)・Σn=0,N-1{|E1(p,n)−E1(p−1,n)|/(E1(p,n)+E1(p−1,n))}
【0053】
そして、得られた変化評価値dE(p−1,p)が、所定のしきい値(例えば40)未満である場合は、p←p+1としてS2に戻り、次の単位区間pの設定を行う。
【0054】
一方、得られた変化評価値dE(p−1,p)が、所定のしきい値以上である場合は、その単位区間pを選出単位区間qとして選出し、選出単位区間qについて一般化調和解析を行う(S5)。qの値は最初に選出された選出単位区間を0とし、以降は選出されるごとに1ずつ加算した値を与える。具体的には、まず、S3において設定されたE1(p,n)が最大になるE1(p,nmax)を求める。すなわち、−α≦n≦127−αの全てのnのうち、E1(p,n)が最大になるnの値をnmaxとして求めるとともに、そのときのE1(p,n)をE1(p,nmax)として求める。これは、上記〔数式2〕の処理を全てのnに対して実行し、算出されたn個のE1(p,n)のうち最大のものを選択することにより行われる。さらに、求めたnmaxを用いて、mmax=S(p,nmax)と設定する。
【0055】
そして、得られたnmax、mmaxを用いて以下の〔数式5〕に従った処理を実行することにより、A(p,nmax,mmax)、B(p,nmax,mmax)を算出する。〔数式5〕に従った処理を実行するに際し、まず、単位区間pはq番目に選出された選出単位区間qであるとした場合に、P(q)=pと設定し、選出単位区間qにおいてノートナンバー分の相関強度配列E2(q,n)を定義し、初期値を全て0未満の値(例えば−1)に設定しておく。
【0056】
〔数式5〕
A(p,nmax,mmax)=(1/T(nmax))・Σi=0,T(nmax)-1x(p,i)・ sin(2πf(nmax,mmax)i/fs)
B(p,nmax,mmax)=(1/T(nmax))・Σi=0,T(nmax)-1x(p,i) cos (2πf(nmax,mmax)i/fs)
E2(q,nmax)={A(p,nmax,mmax)}2+{B(p,nmax,mmax)}2
【0057】
そして、算出されたA(p,nmax,mmax)、B(p,nmax,mmax)を用いて、以下の〔数式6〕に従った処理を実行することにより、単位区間p内のサンプル(p,i)の値x(p,i)を0≦i≦T(nmax)−1に渡って更新する。
【0058】
〔数式6〕
x(p,i)←x(p,i)−A(p,nmax,mmax) ・sin(2πf(nmax,mmax)i/fs)−B(p,nmax,mmax) ・cos (2πf(nmax,mmax)i/fs)
【0059】
〔数式6〕の処理は、元の音響信号から含有信号を除去する処理である。含有成分を除去した後の音響信号に対して、さらに処理したnmaxの値以外のnを対象としてE2(q,n)が最大になる新たなE2(q,nmax)を求め、その新たなnmaxを用いて、〔数式5〕〔数式6〕に従った処理を実行する。この結果、さらに含有信号が音響信号から除去される。コンピュータ(符号化装置)は、このような処理を128個全てのnに対して実行し、E2(q,n)を得る。
【0060】
本実施形態では、処理負荷を軽減するため、Mの値については、ノートナンバーに基づいて可変に設定し、例えば解析する周波数間隔が100Hz程度になるようにしている。そして、ノートナンバー60以下は分割せずM=1にする。また、精度は若干落ちるが、相関強度配列E1(p,n)を決定するための〔数式2〕の処理でS(p,n)を決定し、相関強度配列E2(q,n)を決定するための〔数式5〕の処理は、m=S(p,n)に固定して行い、微分音解析を省略するようにしても良い。また、〔数式5〕の処理で、既に同一ノートナンバーに対して副周波数が異なる信号成分が複数回に渡って解析される可能性があるが、E2(q,n)に既に値がセットされている場合は、E1(p,n)の最大値の選定候補から除外するようにしても良い。
【0061】
ここで、単位区間における解析フレームの設定について説明する。尚、以下説明は前述の選出単位区間においても同様に適用される。図8は、時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。このうち、図8(a)は、時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列である。各サンプルにおけるサンプル値(4096個)を結ぶことにより、図8(a)に示すような波形状で示される。128個の調和信号のうち、図8(b)に示すような1周期が単位区間長T以下の高音部の解析調和信号と相関演算を行う際、および単位区間Tより選出された調和信号である含有信号を減算する際には、調和信号の1周期が単位区間長Tを超えない範囲まで周期を整数倍した長さを解析フレーム長T(n)とし、単位区間Tの先頭からサンプルT(n)個を抽出して、解析フレームとする。
【0062】
調和信号の1周期が単位区間長Tより大きい場合、相関計算区間である解析フレーム長T(n)を調和信号の1周期分とするため、単位区間長TにT(n)−T個のサンプル数を追加することにより時間軸延長処理を行う。この場合、調和信号の1周期を4つの分割区間Q1−Q4として設定する。そして、図8(d)に示すように、単位区間長Tが、調和信号の3/4周期に相当する場合は、調和信号の分割区間Q3(1/2周期から3/4周期の区間)に対応する単位区間のサンプルを、調和信号の3/4周期(270度:分割区間Q3と分割区間Q4の境界)の時点において時間軸方向に反転させたサンプルを追加する。270度の時点において時間軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間Q3と分割区間Q4(3/4周期から1周期の区間)は270度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図8(c)に示すような波形の解析フレーム(5461サンプル)が得られる。図8(c)(d)の例では、単位区間長Tが、調和信号の3/4周期に相当する場合を示したが、単位区間長Tが、調和信号の3/4周期以上である場合は、同様に処理が行われ、解析フレーム長T(n)は最大5461サンプルとなる。この場合、調和信号の3/4周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
【0063】
また、図9(b)に示すように、単位区間長Tが、調和信号の1/2周期以上で3/4周期未満に相当する場合(単位区間の最終サンプルが分割区間Q3に属する場合)は、分割区間Q4全体と分割区間Q3の一部が欠損しているため、分割区間Q2(1/4周期から1/2周期の区間)に対応する単位区間のサンプルを、調和信号の1/2周期(180度:分割区間Q2と分割区間Q3の境界)の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間Q3に追加し、さらに追加された分割区間Q3のサンプルを、調和信号の3/4周期(270度)の時点において反転させたサンプルを追加する。180度の時点において時間軸および振幅軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間Q2と分割区間Q3は180度を軸に時間軸および振幅軸方向に180度回転させた対称形である特徴を利用したものである。このようにして時間軸延長が行われ、図9(a)に示すような波形の解析フレーム(最大8192サンプル)が得られる。この場合、調和信号の1/2周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
【0064】
また、図10(b)に示すように、単位区間長Tが、調和信号の1/4周期以上で1/2周期未満に相当する場合(単位区間の最終サンプルが分割区間Q2に属する場合)は、分割区間Q3・Q4全体と分割区間Q2の一部が欠損しているため、Q1区間(先頭から1/4周期の区間)に対応する単位区間のサンプルを、調和信号の1/4周期(90度:分割区間Q1と分割区間Q2の境界)の時点において時間軸方向に反転させたサンプルを分割区間Q2に追加し、さらに追加された分割区間Q2のサンプルを、調和信号の1/2周期(180度)の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間Q3に追加し、さらに追加された分割区間Q3のサンプルを、調和信号の3/4周期(270度)の時点において時間軸方向に反転させたサンプルを追加する。90度の時点において時間軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間Q1と分割区間Q2は90度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図10(a)に示すような波形の解析フレーム(最大16384サンプル)が得られる。この場合、調和信号の1/4周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
尚、単位区間長Tが、調和信号の1/4周期未満に相当する場合(単位区間の最終サンプルが分割区間Q1に属する場合)も起こり得るが、これをもとに時間軸延長を行って相関計算を行っても、ソースとなる情報量が少なすぎて、有意な相関値が得られないため、単位区間長Tが、調和信号の1/4周期未満に相当する周波数に対しては解析対象としないものとする。
【0065】
各選出単位区間qについて解析フレームを変化させながら周波数解析を行い、スペクトル(128個の周波数成分)が算出されたら、個々の選出単位区間ごとに、S5において算出されたスペクトルに基づいて、N種類の各周波数に対応して、各周波数を特定可能な周波数情報と、各々に対応するスペクトル強度、および当該選出単位区間の開始と終了を特定可能な時間情報で構成される単音成分を作成する(S6)。具体的には、算出したスペクトルに、各ノートナンバーnの時刻、時間長の情報を追加し、[開始時刻,時間長,主周波数n,副周波数S(P(q),n),強度E2(q,n)]で構成される単音成分を作成する。「開始時刻」としては選出単位区間の先頭の時刻を、デジタル音響信号全体において特定できる情報であれば良く、本実施形態では、単位区間の先頭サンプル(i=0)に付されたデジタル音響信号全体におけるサンプル番号(絶対サンプルアドレス:jに対応)を記録している。この絶対サンプルアドレスをサンプリング周波数(44100)で除算することにより、音響信号先頭からの時刻が得られる。時間長は、本実施形態では選出単位区間ごとに可変で与えられることを特徴とし、直後に後続する一般化調和解析を行った選出単位区間の開始時刻までの差分(後続する選出単位区間の開始時刻−当該選出単位区間の開始時刻)で与えられる。直後に後続する選出単位区間が存在しない場合(最終の選出単位区間)、単位区間のシフト幅Wを時間長として与える。
【0066】
続いて、時間軸方向に拡大して処理されたことによる変動を是正するため、各単音成分を補正する処理を行う(S7)。単音成分が作成されたら、全ての周波数情報(ノートナンバー値に対応)に12・log2Kだけ加算する処理を行う。例えば、K=4の場合、24半音(2オクターブ)だけ全体的に音高を上げる。この処理は、S1においてサンプル数をK倍したことにより周波数が1/Kになっているため、周波数をK倍にして元の状態に戻すために行う。この補正によりノートナンバーが規格値上限の127を超えるノートナンバーをもつ符号コードは削除する。具体的には補正前のノートナンバーが128−12・log2K以上の符号コードが削除される。
【0067】
続いて、全ての開始時刻,時間長に1/Kを乗算する。これにより、後述する符号化処理によりMIDI符号に変換した場合、MIDI符号全体の演奏時間、および各ノートイベントの発音時間が1/Kに縮小される。この処理は、S1においてサンプル数をK倍したことにより全体の演奏時間がK倍になっているため、時刻を1/Kにして元の状態に戻すために行う。
【0068】
S7における処理の結果、周波数(音高)はK倍になるとともに、時間情報は1/Kになる。S7の補正処理による音成分の変化の様子を図3(b)に示す。図3(b)においては、K=2の場合の音成分の変化を、音符により示している。S7の補正処理により左側の“ミ”の音符は、右側では1オクターブ高い(周波数が2倍)“ミ”の音符に変化している。一方、左側の四分音符が、右側では時間的に1/2の八分音符に変化している。
【0069】
各単音成分の周波数をK倍、時間軸を1/K倍にする処理を行ったら、次に、聴覚フィルタ補正を行う(S8)。具体的には、S7までの処理により得られた0≦n≦127の周波数範囲を24個の帯域に分割し、各帯域単位でE2(q,n)に対して補正を行う。
【0070】
本実施形態において聴覚フィルタ補正に用いる帯域フィルタについて説明しておく。非特許文献1を基に作成された帯域フィルタを図11に示す。図11においては、24個の帯域に帯域番号1〜24を付し、各帯域番号で特定される24個の帯域について、下限周波数、中心周波数、上限周波数、帯域幅を示している。下限周波数、上限周波数はそれぞれ、各帯域の下限の周波数、上限の周波数を示しており、各帯域の下限周波数、上限周波数はそれぞれ各帯域フィルタにおける上下のカットオフ周波数、当該周波数より上側または下側の周波数成分は通さない(フィルタ利得dB値がマイナス無限大に近い)ときの上限周波数、下限周波数に一致している。中心周波数は、帯域フィルタ内で最も信号成分を通す(フィルタ利得dB値がプラス無限大に近い)ピーク周波数である。帯域幅は、各帯域の幅であり、下限周波数と上限周波数の差分値となっている。
【0071】
図12は、図11に示した帯域フィルタをMIDIノートナンバー単位に変換したものである。すなわち、図11に示した周波数f(n)(単位Hz)と、図12に示したノートナンバーnの関係は、f(n)=440・2(n-69)/12を満たすものとなっている。ただし、ノートナンバーが複数の帯域で重複しないように、各帯域の上限音高を1つ高い帯域の下限音高よりも1だけ減じた値としている。
【0072】
各帯域は、帯域番号bを用いてNr(b)≦n<Nr(b+1)のノートナンバーnの範囲で特定される。25個の帯域境界値Nr(b)(b=1,・・・,25)は、Nr(b)={17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128}である。25個の帯域境界値Nr(b)のうち、b=1〜24に対応するものは、各帯域の下限音高を示し、b=25に対応する帯域境界値“128”のみ、帯域の中心音高を示している。図11、図12に示した帯域フィルタは典型例であり、上限、中心、下限の数値は適宜変更することができる。また、帯域の数についても、24個が現状は定説であるが、これに限定されず、新たな知見に基づいて変更することができる。
【0073】
図13は、S8における聴覚フィルタ補正の詳細を示すフローチャートである。まず、帯域番号bを1に設定する(S21)。これにより一番低い帯域である帯域番号1から処理が行われることになる。次に、帯域番号bに対応する下限音高Nr(b)から上限音高Nr(b+1)−1の範囲内で相関値配列E2(q,n)が最大となる極大ノートナンバーnbmaxを探索する(S22)。
【0074】
続いて、帯域番号bに対応する下限音高Nr(b)から上限音高Nr(b+1)−1の範囲内で極大ノートナンバーnbmax以外のノートナンバーnに対応する相関値配列E2(q,n)の値を所定の割合だけ減衰する(S23)。具体的には、極大ノートナンバーnbmax以外の各ノートナンバーnに対応する相関値配列E2(q,n)に1未満の所定の実数値γを乗算して減衰補正する。実数値γは減衰補正を行うためのものであるので、1未満の値であれば適宜設定することができるが、本実施形態では、γ=0.1に設定されている。したがって、S23における処理により、極大ノートナンバーnbmax以外のノートナンバーnに対応する各相関値E2(q,n)は、1/10に減衰されることになる。
【0075】
帯域番号bについて、極大ノートナンバーnbmaxの探索および他のノートナンバーに対応する相関値の減衰を行ったら、帯域番号bをカウントアップ(b←b+1)する(S24)。そして、最も高い帯域である帯域番号24と帯域番号bとの比較を行う(S25)。S25における比較の結果、bが24以下であれば、S22に戻って次の帯域について、極大ノートナンバーnbmaxの探索(S22)および他のノートナンバーに対応する相関値の減衰処理(S23)を行う。一方、S25における比較の結果、bが25以上であれば、全ての帯域について処理を行ったことになるので、聴覚フィルタ補正処理を終了する。
【0076】
S8における聴覚フィルタ補正処理の結果は、補正相関強度配列E‘(q,n)として出力される。補正相関強度配列E‘(q,n)における各補正相関値は、128個のE2(q,n)のうち、104個は減衰され、残る24個は減衰されない状態のものとなる。
【0077】
聴覚フィルタ補正処理を行ったら、次に、連続する選出単位区間において単音成分を連結(統合)する処理を行う(S9)。具体的には、連続する選出単位区間における単音成分が、所定の連結条件を満たす場合、2つの単音成分を連結する。ここで、連結判断の対象とする選出単位区間と単位区間との関係を図14に示す。
【0078】
図14は、図4(b)と同様、単位区間1−6のうち、単位区間1、5、6がそれぞれ選出単位区間1、2、3として選出された例を示している。本実施形態では、連結判断の対象を音成分として選出される選出単位区間の間ではなく、選出単位区間と隣接する単位区間の間で行う点に特徴がある。図14の例では、選出単位区間1と選出単位区間2(単位区間5)を連結するかどうか判断する際に、選出単位区間1と選出単位区間2(単位区間5)の間で連結条件を判断するのではなく、選出単位区間2(単位区間5)とその直前の単位区間4の間で連結条件を判断する。これにより、時間的に最も近い単位区間が連結判断の際に考慮されることとなり、適切に音成分を連結することが可能になる。
【0079】
連結条件としては、同一の音として連続性を有する状態を適宜設定することができる。本実施形態では、選出単位区間qと選出単位区間q+1を連結するか否かを判断するにあたり、4つの条件について判断する。第1の条件は、選出単位区間q+1(単位区間としてはP(q+1))における単音成分の強度から直前の単位区間P(q+1)−1における単音成分の強度を減じた値が所定のしきい値Ldif未満であること。第2の条件は、その双方の強度が所定のしきい値Lminより大きいこと。第3の条件は、ノートナンバーに対して上下1の変移を考慮し、副周波数を考慮した周波数の差が所定の閾値Ndif未満であること。第4の条件は、選出単位区間qが既に他の選出単位区間と連結されている場合、選出単位区間qと連結されている先頭の選出単位区間qoと選出単位区間q+1の副周波数を考慮した周波数の差が所定の閾値Nadif未満であること。以上4つの条件を全て満たす場合に、連続性を有するとして、後続の単音成分を前方の単音成分に連結する。第1の条件と第2の条件においても、ノートナンバーに対して上下1の変移を考慮する。本実施形態では、ノートナンバーの変移を考慮した以下の〔数式7〕〜〔数式9〕に従った4条件を満たすかどうかを判断することにより連結を行うか否かを決定する。
【0080】
〔数式7〕
E1(P(q+1),n)−E1(P(q+1)−1,n)<Ldif
E1(P(q+1)−1,n)>LminかつE1(P(q+1),n)>Lmin
|S(P(q+1)−1,n)−S(P(q+1),n)|<Ndif
|S(P(qo),n)−S(P(q+1),n)|<Nadif
【0081】
上記〔数式7〕において1行目の式は、後続の単音成分の強度から前方の単音成分の強度を減じた値が所定のしきい値Ldif未満であることを示し、2行目の式は、前方の単音成分と後続の単音成分の強度がともに所定のしきい値Lminより大きいことを示し、3行目の式は、副周波数を考慮したノートナンバー単位の周波数の差が所定の閾値Ndif未満であることを示している。4行目の式は、前方の選出単位区間がそれより前方の選出単位区間と既に連結されている場合に、先頭の選出単位区間qoと後続の選出単位区間q+1の副周波数を考慮したノートナンバー単位の周波数の差が所定の閾値Nadif未満であることを示している。
【0082】
〔数式8〕
E1(P(q+1),n−1)−E1(P(q+1)−1,n)<Ldif
E1(P(q+1)−1,n)>LminかつE1(P(q+1),n−1)>Lmin
|S(P(q+1)−1,n)−S(P(q+1),n−1)−M|<Ndif
|S(P(qo),n)−S(P(q+1),n−1)−M|<Nadif
【0083】
上記〔数式7〕が同一ノートナンバー同士で比較しているのに対して、上記〔数式8〕においては、後続の単音成分として1ノートナンバー分下げたものを対象としている点が異なっている。3行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n−1)を決定する周波数S(P(q+1),n−1)と、第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数S(P(q+1)−1,n)との差が所定のしきい値Ndif未満であることを示している。4行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n−1)を決定する周波数S(P(q+1),n−1)と、第1のスペクトル強度E1(P(qo),n)を決定する副周波数S(P(qo),n)との差が所定のしきい値Nadif未満であることを示している。
【0084】
〔数式9〕
E1(P(q+1),n+1)−E1(P(q+1)−1,n)<Ldif
E1(P(q+1)−1,n)>LminかつE1(P(q+1),n+1)>Lmin
|S(P(q+1)−1,n)−S(P(q+1),n+1)+M|<Ndif
|S(P(qo),n)−S(P(q+1),n+1)+M|<Nadif
【0085】
上記〔数式7〕が同一ノートナンバー同士で比較しているのに対して、上記〔数式9〕においては、後続の単音成分として1ノートナンバー分上げたものを対象としている点が異なっている。3行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n+1)を決定する周波数S(P(q+1),n+1)と、第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数S(P(q+1)−1,n)との差が所定のしきい値Ndif未満であることを示している。4行目の式は、周波数をノートナンバー単位にすると、第1のスペクトル強度E1(P(q+1),n+1)を決定する周波数S(P(q+1),n+1)と、第1のスペクトル強度E1(P(qo),n)を決定する副周波数S(P(qo),n)との差が所定のしきい値Nadif未満であることを示している。
【0086】
本実施形態における具体的な処理手順としては、まず、〔数式7〕に示した条件を全て満たすかどうかを判断する。そして、満たす場合には、連結処理へ進む。〔数式7〕に示した条件のうち1つでも満たさないものがある場合は、〔数式8〕に示した条件を全て満たすかどうかを判断する。そして、満たす場合には、連結処理へ進む。〔数式8〕に示した条件のうち1つでも満たさないものがある場合は、〔数式9〕に示した条件を全て満たすかどうかを判断する。そして、満たす場合には、連結処理へ進む。〔数式9〕に示した条件のうち1つでも満たさないものがある場合は、連結を行わないという決定を行う。
【0087】
連結後の主周波数、副周波数、強度は大きい方の単音成分の各値を採用し、時間長は双方の和で与える。この時、強度は聴覚フィルタ補正を行った後の値を使用する。連結条件としての具体的なしきい値は、本実施形態では、Ldif=10[単位:128段階ベロシティ換算]、Lmin=1[単位:128段階ベロシティ換算]、Ndif=4/25[単位:ノートナンバー換算] 、Nadif=8/25[単位:ノートナンバー換算]としている。連結処理は、符号コードへの変換前に行うものであるため、各しきい値は、ノートナンバー、ベロシティに換算したものである。S9における連結処理の結果、連結処理されなかった単音成分はそのまま残ることになる。また、連結により連結音成分が得られることになるが、連結音成分は、単音成分と同様、[開始時刻,時間長,主周波数n,副周波数S(P(q),n),強度E‘(q,n)]で構成され、このうち時間長が単音成分より大きい値を有することになる。連結処理により、単音成分と連結音成分が混在することになるが、以降これらをまとめて音成分と呼ぶことにする。なお、S9における連結処理については、実行した方が、長音の音符で表現することになり、符号量が少なくなりMIDI音源で円滑で自然な演奏が行われるようになるため、一般に望ましいが、ピッチベンド符号の付加などが行われないと、逆にビブラートなど音の微妙な時間的変化が消失するためMIDI音源で不自然に聞こえる場合もあるため、必ずしも必須ではない。S9における連結処理を行わない場合、全てが短い音符として表現されることになる。
【0088】
S9の連結処理を終えたら、最終的に得られた[開始時刻,時間長,主周波数n,副周波数S(P(q),n),強度E‘(q,n)]の音成分を、符号コードに変換する(S10)。符号コードの形式としては、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報を有するものであれば、どのような形式のものであっても良いが、本実施形態では、MIDI形式に変換する。MIDIでは、発音開始と発音終了を別のイベントとして発生するため、本実施形態では、1つの音成分を2つのMIDIノートイベントに変換する。具体的には、「開始時刻」で、ノートナンバーnのノートオンイベントを発行し、ベロシティ値は強度E‘(q,n)の最大値をEmaxとして、128・{E‘(q,n)/Emax}1/4で与える。時刻については、Standard MIDI Fileでは、直前イベントとの相対時刻(デルタタイム)で与える必要があり、その時刻単位は任意の整数値で定義でき、例えば、1/1536[秒]の単位に変換して与える。そして、絶対時刻が「開始時刻」+「時間長」で特定される終了時刻で(デルタタイムでは「時間長」で与えられる終了時刻で)、ノートナンバーnのノートオフイベントを発行する。この際、時間長には、0以上1以下の実数を乗じる。これは、使用するMIDI音源の音色にも依存するが、MIDI音源の余韻を考慮して早めにノートオフ指示をするためである。時間長をそのまま用いてもMIDI音源の処理上問題はないが、発音の際、後続音と部分的に重なる場合がある。
【0089】
S10の符号コード変換処理を終えたら、次に、符号コードに対して必要な調整を行う(S11)。例えば、符号コードとしてMIDI符号に変換する際、MIDI音源で処理可能な同時発音数についても考慮するため、同時発音数の調整を行う必要がある。MIDI音源で処理可能な同時発音数が32である場合、時間軸方向に発音期間中(ノートオン状態)のノートイベントの個数を連続的にカウントし、同時に32個を超えるノートイベントが存在する箇所が見つかった場合は、各々対になるノートオフイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値(ノートオフ時刻−ノートオン時刻)の積(エネルギー値)で優先度を評価し、指定和音数(この場合“32”)以下になるように優先度の低い(エネルギー値の小さい)ノートイベント対を局所的に削除する処理を行う。“局所的に”とは、32を超えるノートイベント対が存在する部分に限りという意味である。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。この段階で、本願で提案した聴覚フィルタ補正の効果が顕著に働き、選択される32個のノートイベントのうち24個のノートイベントは、図12で定義される24個の各帯域内に含まれるノートナンバーより各々より少なくとも1つずつ選択され、残りの8個のノートナンバーは、いずれか8種の帯域より重複して選択される可能性が高くなる。実際には、図5に示されるように、符号化対象のノートナンバーをピアノの音域である21〜108の範囲に限定することが多く、その場合、図12で有効な帯域は1〜18番に制限されるため、18個の各帯域内に含まれるノートナンバーより各々より少なくとも1つずつ選択され、残りの14個のノートナンバーは、いずれか14種の帯域より重複して選択される可能性が高くなる。ただし、これはあくまで、このように選択される確率が高くなるように補正をしたということで、選出単位区間によっては、選択されるノートイベントは18種未満のいずれかの帯域から選択されたり、1つの帯域から3種以上のノートナンバーが重複して選択されることもあり得る。このように符号化されたMIDIデータを、32和音以上同時発音可能なMIDI音源を用いて再生すると、特定の周波数帯域に限定されず、ヒト聴覚系が同時に聴取できる全ての周波数帯域の音域をカバーするため、ヒトが符号化前の原音響信号をそのまま聴取するのと同等な臨場感で明瞭に聴取することが可能になる。
【0090】
さらに、符号コードで処理可能なビットレートについても考慮するため、ビットレートの調整を行う。MIDI符号に変換する場合、時間軸方向に、例えば1秒間隔にノートイベント対の個数をカウントし、各々の符号データ量を平均5バイト(40ビット)とし、MIDI音源で処理可能な最大ビットレートを9000[bps(ビット/秒)]とすると、1秒間あたりイベント数が9000/40=225個を超えている区間が見つかった場合は、その区間に存在するノートオンまたはノートオフイベントと各々対になるノートオフまたはノートオンイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値(ノートオフ時刻−ノートオン時刻)の積(エネルギー値)で優先度を評価し、指定イベント個数(この場合“225”)以下になるように優先度の低い(エネルギー値の小さい)ノートイベント対を局所的に削除する処理を行う。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。この段階でも、本願で提案した聴覚フィルタ補正の効果が顕著に働き、図12で定義される24個(ピアノ音域に限定した運用の場合は18個)の各帯域内に含まれる少なくとも1つのノートナンバーのノートイベントは削除されず残存する可能性が高くなる。
【0091】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、ノートナンバー間をM個の微分音(副周波数)を用いて解析を行うようにしたが、微分音を用いず、ノートナンバーに対応したN種類の周波数のみで解析するようにしても良い。この場合、解析精度は若干落ちるが、解析対象の周波数の数が減るため、処理負荷は軽減される。微分音を用いない場合、S9の単音成分の連結処理の判断において、〔数式7〕〜〔数式9〕では、いずれも3行目、4行目の式は判断しないことになる。
【0092】
また、上記実施形態では、単位区間の設定前に、S1において時系列方向へのサンプル数の拡大処理を行い、単音成分の作成後、S7において単音成分の補正として各単音成分の周波数をK倍、時間軸を1/K倍にする処理を行っているが、特別に高い時間分解能を必要としない場合、必ずしも実行しなくても良い。
【0093】
また、上記実施形態では、周波数解析を第1の周波数解析と第2の周波数解析に分け、第1の周波数解析の結果、所定の条件を満たした選出単位区間に対して第2の周波数解析を実行するようにしたが、各単位区間に対して、特許文献1〜3に開示されているような公知の周波数解析を実行するようにしても良い。
【産業上の利用可能性】
【0094】
本発明は、PCM等により得られた音響信号を、MIDI符号等の符号コードに変換する技術を用い、放送メディア(地上・BSなどによるデジタルラジオ・テレビ放送など)、通信メディア(CS放送、インターネット・ストリーミング放送、携帯電話サービス、携帯音楽配信サービスなど)、パッケージメディア(CD、DVD、BlueRay、メモリICカードなど)向けのオーディオコンテンツ制作産業に利用することができる。
【符号の説明】
【0095】
1・・・CPU
2・・・RAM
3・・・データ記憶装置
4・・・プログラム記憶装置
5・・・キー入力I/F
6・・・データ入出力I/F
7・・・表示出力I/F
【特許請求の範囲】
【請求項1】
所定のサンプリング周波数でデジタル化されたJ個の時系列のサンプル列として与えられる音響信号を符号化するための符号化方法であって、
前記サンプル列に対して、所定数T(T<J)個のサンプルで構成される単位区間を、隣接する単位区間と時間軸方向に所定数W(W<T)個のサンプルを重複させながら設定する区間設定段階と、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、各単位区間に対して、前記N種類の周波数に対応したスペクトル強度を算出するスペクトル算出段階と、
前記N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、前記各単位区間に対して、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、補正スペクトル強度を作成するスペクトル補正段階と、
前記単位区間の先頭時刻と直後の単位区間の先頭時刻との時間差と、前記単位区間の補正スペクトル強度に基づいて、所定の形式の符号コードを生成する符号化段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項2】
請求項1において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、前記nの値を規格上のノートナンバーと定義して、17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128を境界とする24個で設定されることを特徴とする音響信号の符号化方法。
【請求項3】
請求項1において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、周波数f(n)の値が20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500,12000,15500Hzを境界とする24個で設定されることを特徴とする音響信号の符号化方法。
【請求項4】
請求項1から請求項3のいずれか一項において、
前記スペクトル算出段階は、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、単位区間pに対して、前記N種類の周波数に対応した第1のスペクトル強度E1(p,n)を算出する第1のスペクトル算出段階と、
前記単位区間pに対して直前に位置する単位区間p−1における第1のスペクトル強度E1(p−1,n)との対応する周波数ごとの変化に基づく評価値が、所定のしきい値より大きい場合に限り、当該単位区間pをq(q≦p)番目の選出単位区間qとして選出し、解析対象とする少なくともN種類の各周波数f(n)について、前記第1のスペクトル算出段階における周波数変換に比較して高精度な周波数変換を行うことにより、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出する第2のスペクトル算出段階と、
により構成され、
前記スペクトル強度として第2のスペクトル強度E2(q,n)を算出するものであり、
前記スペクトル補正段階は、前記第2のスペクトル強度E2(q,n)に対して所定の割合だけ減衰させるように補正を行い、前記補正スペクトル強度として補正スペクトル強度E‘(q,n)を作成するようにしていることを特徴とする音響信号の符号化方法。
【請求項5】
請求項4において、
前記第1のスペクトル算出段階および第2のスペクトル算出段階はN種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数に対応する強度値を算出することを特徴とする音響信号の符号化方法。
【請求項6】
請求項4または請求項5において、
前記符号化段階は、隣接する2つの選出単位区間qと選出単位区間q+1に対して、前記選出単位区間qがp番目の単位区間pであった場合に、P(q)=pと定義し、前記選出単位区間q+1における周波数f(n)、f(n−1)、f(n+1)に対応する前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかと、当該選出単位区間q+1の直前に位置する単位区間P(q+1)−1における周波数f(n)に対応する前記第1のスペクトル強度E1(P(q+1)−1,n)との差が所定のしきい値Ldif未満で、かつ前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかおよび前記第1のスペクトル強度E1(P(q+1)−1,n)が所定のしきい値Lminより大きい場合、前記選出単位区間qと選出単位区間q+1を連結し、前記符号コードの基礎となる時間差として、前記選出単位区間qに定義された選出単位区間qの先頭時刻と、選出単位区間q+1の直後の選出単位区間q+2の先頭時刻との時間差を用いることを特徴とする音響信号の符号化方法。
【請求項7】
請求項6において、
前記符号化段階は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Ndif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化方法。
【請求項8】
請求項7において、
前記選出単位区間qが、既に他の選出単位区間と連結されている場合、前記選出単位区間qが連結されている先頭の選出単位区間をqoとし、
前記符号化段階は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(qo),n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Nadif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化方法。
【請求項9】
請求項4から請求項8のいずれか一項において、
前記第1のスペクトル算出段階は、前記単位区間の区間信号の構成要素となるべきN種類の要素信号を、各々当該周波数f(n)の周期の整数倍に対応し、前記Tに最も近いT(n)個のサンプルとして準備する要素信号準備段階と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記単位区間pのT(n)個のサンプルで構成される区間信号との相関演算を行うことにより、第1のスペクトル強度E1(p,n)を算出する相関演算段階により構成され、
前記第2のスペクトル算出段階は、
前記要素信号準備段階と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記選出単位区間qのT(n)個のサンプルで構成される区間信号との相関演算を行い、相関値が最も高い周波数f(nmax)に対応する要素信号を調和信号として選出する調和信号選出段階と、
前記選出された調和信号と当該調和信号について得られた相関値との積で与えられるT(nmax)個のサンプルを含有信号とし、当該含有信号を前記区間信号から減じることにより、T(nmax)個のサンプルで構成される差分信号を求める差分信号演算段階と、を有し、
前記T(nmax)個のサンプルを反映させ更新されたT(n)個のサンプルを新たな区間信号として、前記調和信号選出段階および差分信号演算段階を実行して新たな含有信号および差分信号を得る処理を繰り返し行うことによりN個の含有信号を求め、求められた含有信号の相関値に基づいて、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することを特徴とする音響信号の符号化方法。
【請求項10】
請求項9において、
前記相関演算段階は、
直前に位置する単位区間p−1における各周波数f(n)に対応する直前相関演算結果に対し、前記単位区間p−1における先頭Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果より減算するとともに、前記単位区間pにおけるT(n)サンプル中の最後尾Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果に加算することにより、前記単位区間pにおける各周波数f(n)に対応する相関演算結果を取得し、当該相関演算結果に基づいて前記第1のスペクトル強度E1(p,n)を算出することを特徴とする音響信号の符号化方法。
【請求項11】
請求項1から請求項10のいずれか一項において、
前記符号化段階は、前記符号コードとしてMIDI形式を用いて符号化を行い、前記符号コードの前記周波数の情報としてノートナンバーを用い、前記第2のスペクトル強度としてベロシティを用い、前記選出単位区間qの先頭時刻と直後の選出単位区間q+1の先頭時刻との時間差を各々直前のMIDIイベントからの相対時刻であるデルタタイム1とデルタタイム2で定義し、これらの定義されたノートナンバー、ベロシティ、デルタタイム1を基にMIDIのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム2を基にMIDIのノートオフイベントを作成するようにしていることを特徴とする音響信号の符号化方法。
【請求項12】
所定のサンプリング周波数でデジタル化されたJ個の時系列のサンプル列として与えられる音響信号を符号化するための符号化装置であって、
前記サンプル列に対して、所定数T(T<J)個のサンプルで構成される単位区間を、隣接する単位区間と時間軸方向に所定数W(W<T)個のサンプルを重複させながら設定する区間設定手段と、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、各単位区間に対して、前記N種類の周波数に対応したスペクトル強度を算出するスペクトル算出手段と、
前記N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、前記各単位区間に対して、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、補正スペクトル強度を作成するスペクトル補正手段と、
前記単位区間の先頭時刻と直後の単位区間の先頭時刻との時間差と、前記単位区間の補正スペクトル強度に基づいて、所定の形式の符号コードを生成する符号化手段と、
を有することを特徴とする音響信号の符号化装置。
【請求項13】
請求項12において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、前記nの値を規格上のノートナンバーと定義して、17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128を境界とする24個で設定されることを特徴とする音響信号の符号化装置。
【請求項14】
請求項12において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、周波数f(n)の値が20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500,12000,15500Hzを境界とする24個で設定されることを特徴とする音響信号の符号化装置。
【請求項15】
請求項12から請求項14のいずれか一項において、
前記スペクトル算出手段は、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、単位区間pに対して、前記N種類の周波数に対応した第1のスペクトル強度E1(p,n)を算出する第1のスペクトル算出手段と、
前記単位区間pに対して直前に位置する単位区間p−1における第1のスペクトル強度E1(p−1,n)との対応する周波数ごとの変化に基づく評価値が、所定のしきい値より大きい場合に限り、当該単位区間pをq(q≦p)番目の選出単位区間qとして選出し、解析対象とする少なくともN種類の各周波数f(n)について、前記第1のスペクトル算出段階における周波数変換に比較して高精度な周波数変換を行うことにより、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出する第2のスペクトル算出手段と、
により構成され、
前記スペクトル強度として第2のスペクトル強度E2(q,n)を算出するものであり、
前記スペクトル補正手段は、前記第2のスペクトル強度E2(q,n)に対して所定の割合だけ減衰させるように補正を行い、前記補正スペクトル強度として補正スペクトル強度E‘(q,n)を作成するようにしていることを特徴とする音響信号の符号化装置。
【請求項16】
請求項15において、
前記第1のスペクトル算出手段および第2のスペクトル算出手段はN種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数に対応する強度値を算出することを特徴とする音響信号の符号化装置。
【請求項17】
請求項15または請求項16において、
前記符号化手段は、隣接する2つの選出単位区間qと選出単位区間q+1に対して、前記選出単位区間qがp番目の単位区間pであった場合に、P(q)=pと定義し、前記選出単位区間q+1における周波数f(n)、f(n−1)、f(n+1)に対応する前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかと、当該選出単位区間q+1の直前に位置する単位区間P(q+1)−1における周波数f(n)に対応する前記第1のスペクトル強度E1(P(q+1)−1,n)との差が所定のしきい値Ldif未満で、かつ前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかおよび前記第1のスペクトル強度E1(P(q+1)−1,n)が所定のしきい値Lminより大きい場合、前記選出単位区間qと選出単位区間q+1を連結し、前記符号コードの基礎となる時間差として、前記選出単位区間qに定義された選出単位区間qの先頭時刻と、選出単位区間q+1の直後の選出単位区間q+2の先頭時刻との時間差を用いることを特徴とする音響信号の符号化装置。
【請求項18】
請求項17において、
前記符号化手段は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Ndif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化装置。
【請求項19】
請求項18において、
前記選出単位区間qが、既に他の選出単位区間と連結されている場合、前記選出単位区間qが連結されている先頭の選出単位区間をqoとし、
前記符号化手段は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(qo),n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Nadif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化装置。
【請求項20】
請求項15から請求項19のいずれか一項において、
前記第1のスペクトル算出手段は、前記単位区間の区間信号の構成要素となるべきN種類の要素信号を、各々当該周波数f(n)の周期の整数倍に対応し、前記Tに最も近いT(n)個のサンプルとして準備する要素信号準備手段と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記単位区間pのT(n)個のサンプルで構成される区間信号との相関演算を行うことにより、第1のスペクトル強度E1(p,n)を算出する相関演算手段により構成され、
前記第2のスペクトル算出手段は、
前記要素信号準備手段と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記選出単位区間qのT(n)個のサンプルで構成される区間信号との相関演算を行い、相関値が最も高い周波数f(nmax)に対応する要素信号を調和信号として選出する調和信号選出手段と、
前記選出された調和信号と当該調和信号について得られた相関値との積で与えられるT(nmax)個のサンプルを含有信号とし、当該含有信号を前記区間信号から減じることにより、T(nmax)個のサンプルで構成される差分信号を求める差分信号演算手段と、を有し、
前記T(nmax)個のサンプルを反映させ更新されたT(n)個のサンプルを新たな区間信号として、前記調和信号選出手段および差分信号演算手段による処理を実行して新たな含有信号および差分信号を得る処理を繰り返し行うことによりN個の含有信号を求め、求められた含有信号の相関値に基づいて、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することを特徴とする音響信号の符号化装置。
【請求項21】
請求項20において、
前記相関演算手段は、
直前に位置する単位区間p−1における各周波数f(n)に対応する直前相関演算結果に対し、前記単位区間p−1における先頭Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果より減算するとともに、前記単位区間pにおけるT(n)サンプル中の最後尾Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果に加算することにより、前記単位区間pにおける各周波数f(n)に対応する相関演算結果を取得し、当該相関演算結果に基づいて前記第1のスペクトル強度E1(p,n)を算出することを特徴とする音響信号の符号化装置。
【請求項22】
請求項12から請求項21のいずれか一項において、
前記符号化手段は、前記符号コードとしてMIDI形式を用いて符号化を行い、前記符号コードの前記周波数の情報としてノートナンバーを用い、前記第2のスペクトル強度としてベロシティを用い、前記選出単位区間qの先頭時刻と直後の選出単位区間q+1の先頭時刻との時間差を各々直前のMIDIイベントからの相対時刻であるデルタタイム1とデルタタイム2で定義し、これらの定義されたノートナンバー、ベロシティ、デルタタイム1を基にMIDIのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム2を基にMIDIのノートオフイベントを作成するようにしていることを特徴とする音響信号の符号化装置。
【請求項23】
請求項1から請求項11のいずれかに記載の音響信号の符号化方法をコンピュータに実行させるためのプログラム。
【請求項24】
請求項12から請求項22のいずれかに記載の音響信号の符号化装置としてコンピュータを機能させるためのプログラム。
【請求項1】
所定のサンプリング周波数でデジタル化されたJ個の時系列のサンプル列として与えられる音響信号を符号化するための符号化方法であって、
前記サンプル列に対して、所定数T(T<J)個のサンプルで構成される単位区間を、隣接する単位区間と時間軸方向に所定数W(W<T)個のサンプルを重複させながら設定する区間設定段階と、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、各単位区間に対して、前記N種類の周波数に対応したスペクトル強度を算出するスペクトル算出段階と、
前記N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、前記各単位区間に対して、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、補正スペクトル強度を作成するスペクトル補正段階と、
前記単位区間の先頭時刻と直後の単位区間の先頭時刻との時間差と、前記単位区間の補正スペクトル強度に基づいて、所定の形式の符号コードを生成する符号化段階と、
を有することを特徴とする音響信号の符号化方法。
【請求項2】
請求項1において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、前記nの値を規格上のノートナンバーと定義して、17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128を境界とする24個で設定されることを特徴とする音響信号の符号化方法。
【請求項3】
請求項1において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、周波数f(n)の値が20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500,12000,15500Hzを境界とする24個で設定されることを特徴とする音響信号の符号化方法。
【請求項4】
請求項1から請求項3のいずれか一項において、
前記スペクトル算出段階は、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、単位区間pに対して、前記N種類の周波数に対応した第1のスペクトル強度E1(p,n)を算出する第1のスペクトル算出段階と、
前記単位区間pに対して直前に位置する単位区間p−1における第1のスペクトル強度E1(p−1,n)との対応する周波数ごとの変化に基づく評価値が、所定のしきい値より大きい場合に限り、当該単位区間pをq(q≦p)番目の選出単位区間qとして選出し、解析対象とする少なくともN種類の各周波数f(n)について、前記第1のスペクトル算出段階における周波数変換に比較して高精度な周波数変換を行うことにより、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出する第2のスペクトル算出段階と、
により構成され、
前記スペクトル強度として第2のスペクトル強度E2(q,n)を算出するものであり、
前記スペクトル補正段階は、前記第2のスペクトル強度E2(q,n)に対して所定の割合だけ減衰させるように補正を行い、前記補正スペクトル強度として補正スペクトル強度E‘(q,n)を作成するようにしていることを特徴とする音響信号の符号化方法。
【請求項5】
請求項4において、
前記第1のスペクトル算出段階および第2のスペクトル算出段階はN種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数に対応する強度値を算出することを特徴とする音響信号の符号化方法。
【請求項6】
請求項4または請求項5において、
前記符号化段階は、隣接する2つの選出単位区間qと選出単位区間q+1に対して、前記選出単位区間qがp番目の単位区間pであった場合に、P(q)=pと定義し、前記選出単位区間q+1における周波数f(n)、f(n−1)、f(n+1)に対応する前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかと、当該選出単位区間q+1の直前に位置する単位区間P(q+1)−1における周波数f(n)に対応する前記第1のスペクトル強度E1(P(q+1)−1,n)との差が所定のしきい値Ldif未満で、かつ前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかおよび前記第1のスペクトル強度E1(P(q+1)−1,n)が所定のしきい値Lminより大きい場合、前記選出単位区間qと選出単位区間q+1を連結し、前記符号コードの基礎となる時間差として、前記選出単位区間qに定義された選出単位区間qの先頭時刻と、選出単位区間q+1の直後の選出単位区間q+2の先頭時刻との時間差を用いることを特徴とする音響信号の符号化方法。
【請求項7】
請求項6において、
前記符号化段階は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Ndif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化方法。
【請求項8】
請求項7において、
前記選出単位区間qが、既に他の選出単位区間と連結されている場合、前記選出単位区間qが連結されている先頭の選出単位区間をqoとし、
前記符号化段階は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(qo),n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Nadif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化方法。
【請求項9】
請求項4から請求項8のいずれか一項において、
前記第1のスペクトル算出段階は、前記単位区間の区間信号の構成要素となるべきN種類の要素信号を、各々当該周波数f(n)の周期の整数倍に対応し、前記Tに最も近いT(n)個のサンプルとして準備する要素信号準備段階と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記単位区間pのT(n)個のサンプルで構成される区間信号との相関演算を行うことにより、第1のスペクトル強度E1(p,n)を算出する相関演算段階により構成され、
前記第2のスペクトル算出段階は、
前記要素信号準備段階と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記選出単位区間qのT(n)個のサンプルで構成される区間信号との相関演算を行い、相関値が最も高い周波数f(nmax)に対応する要素信号を調和信号として選出する調和信号選出段階と、
前記選出された調和信号と当該調和信号について得られた相関値との積で与えられるT(nmax)個のサンプルを含有信号とし、当該含有信号を前記区間信号から減じることにより、T(nmax)個のサンプルで構成される差分信号を求める差分信号演算段階と、を有し、
前記T(nmax)個のサンプルを反映させ更新されたT(n)個のサンプルを新たな区間信号として、前記調和信号選出段階および差分信号演算段階を実行して新たな含有信号および差分信号を得る処理を繰り返し行うことによりN個の含有信号を求め、求められた含有信号の相関値に基づいて、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することを特徴とする音響信号の符号化方法。
【請求項10】
請求項9において、
前記相関演算段階は、
直前に位置する単位区間p−1における各周波数f(n)に対応する直前相関演算結果に対し、前記単位区間p−1における先頭Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果より減算するとともに、前記単位区間pにおけるT(n)サンプル中の最後尾Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果に加算することにより、前記単位区間pにおける各周波数f(n)に対応する相関演算結果を取得し、当該相関演算結果に基づいて前記第1のスペクトル強度E1(p,n)を算出することを特徴とする音響信号の符号化方法。
【請求項11】
請求項1から請求項10のいずれか一項において、
前記符号化段階は、前記符号コードとしてMIDI形式を用いて符号化を行い、前記符号コードの前記周波数の情報としてノートナンバーを用い、前記第2のスペクトル強度としてベロシティを用い、前記選出単位区間qの先頭時刻と直後の選出単位区間q+1の先頭時刻との時間差を各々直前のMIDIイベントからの相対時刻であるデルタタイム1とデルタタイム2で定義し、これらの定義されたノートナンバー、ベロシティ、デルタタイム1を基にMIDIのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム2を基にMIDIのノートオフイベントを作成するようにしていることを特徴とする音響信号の符号化方法。
【請求項12】
所定のサンプリング周波数でデジタル化されたJ個の時系列のサンプル列として与えられる音響信号を符号化するための符号化装置であって、
前記サンプル列に対して、所定数T(T<J)個のサンプルで構成される単位区間を、隣接する単位区間と時間軸方向に所定数W(W<T)個のサンプルを重複させながら設定する区間設定手段と、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、各単位区間に対して、前記N種類の周波数に対応したスペクトル強度を算出するスペクトル算出手段と、
前記N種類の各周波数f(n)を互いに重複しないように所定数の周波数グループに分割し、前記各単位区間に対して、各周波数グループに含まれる周波数のスペクトル強度の中で最大値をとる周波数以外のスペクトル強度に所定の割合だけ減衰させるように補正を行い、補正スペクトル強度を作成するスペクトル補正手段と、
前記単位区間の先頭時刻と直後の単位区間の先頭時刻との時間差と、前記単位区間の補正スペクトル強度に基づいて、所定の形式の符号コードを生成する符号化手段と、
を有することを特徴とする音響信号の符号化装置。
【請求項13】
請求項12において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、前記nの値を規格上のノートナンバーと定義して、17,45,57,64,69,72,76,79,82,85,88,91,93,96,98,101,104,106,109,113,116,119,123,127,128を境界とする24個で設定されることを特徴とする音響信号の符号化装置。
【請求項14】
請求項12において、
前記所定数の周波数グループは、ヒト聴覚系の特性に基づき、周波数f(n)の値が20,100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500,12000,15500Hzを境界とする24個で設定されることを特徴とする音響信号の符号化装置。
【請求項15】
請求項12から請求項14のいずれか一項において、
前記スペクトル算出手段は、
個々の単位区間ごとに、解析対象とする少なくともN種類の各周波数f(n)について、周波数変換を行うことにより、単位区間pに対して、前記N種類の周波数に対応した第1のスペクトル強度E1(p,n)を算出する第1のスペクトル算出手段と、
前記単位区間pに対して直前に位置する単位区間p−1における第1のスペクトル強度E1(p−1,n)との対応する周波数ごとの変化に基づく評価値が、所定のしきい値より大きい場合に限り、当該単位区間pをq(q≦p)番目の選出単位区間qとして選出し、解析対象とする少なくともN種類の各周波数f(n)について、前記第1のスペクトル算出段階における周波数変換に比較して高精度な周波数変換を行うことにより、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出する第2のスペクトル算出手段と、
により構成され、
前記スペクトル強度として第2のスペクトル強度E2(q,n)を算出するものであり、
前記スペクトル補正手段は、前記第2のスペクトル強度E2(q,n)に対して所定の割合だけ減衰させるように補正を行い、前記補正スペクトル強度として補正スペクトル強度E‘(q,n)を作成するようにしていることを特徴とする音響信号の符号化装置。
【請求項16】
請求項15において、
前記第1のスペクトル算出手段および第2のスペクトル算出手段はN種類の各周波数f(n)に対して隣接する周波数を超えない範囲で所定のM種類の副周波数f(n,m)を設定し、前記第1のスペクトル強度E1(p,n)および第2のスペクトル強度E2(q,n)として、前記M種類の副周波数の中で最も大きい強度を示す副周波数に対応する強度値を算出することを特徴とする音響信号の符号化装置。
【請求項17】
請求項15または請求項16において、
前記符号化手段は、隣接する2つの選出単位区間qと選出単位区間q+1に対して、前記選出単位区間qがp番目の単位区間pであった場合に、P(q)=pと定義し、前記選出単位区間q+1における周波数f(n)、f(n−1)、f(n+1)に対応する前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかと、当該選出単位区間q+1の直前に位置する単位区間P(q+1)−1における周波数f(n)に対応する前記第1のスペクトル強度E1(P(q+1)−1,n)との差が所定のしきい値Ldif未満で、かつ前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)のいずれかおよび前記第1のスペクトル強度E1(P(q+1)−1,n)が所定のしきい値Lminより大きい場合、前記選出単位区間qと選出単位区間q+1を連結し、前記符号コードの基礎となる時間差として、前記選出単位区間qに定義された選出単位区間qの先頭時刻と、選出単位区間q+1の直後の選出単位区間q+2の先頭時刻との時間差を用いることを特徴とする音響信号の符号化装置。
【請求項18】
請求項17において、
前記符号化手段は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(q+1)−1,n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Ndif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化装置。
【請求項19】
請求項18において、
前記選出単位区間qが、既に他の選出単位区間と連結されている場合、前記選出単位区間qが連結されている先頭の選出単位区間をqoとし、
前記符号化手段は、前記第1のスペクトル強度E1(P(q+1),n)、E1(P(q+1),n−1)、E1(P(q+1),n+1)を決定する副周波数の少なくともいずれか1つと、前記第1のスペクトル強度E1(P(qo),n)を決定する副周波数とのノートナンバー単位の差が所定のしきい値Nadif未満という条件をさらに満たした場合に限り、前記選出単位区間qと選出単位区間q+1を連結することを特徴とする音響信号の符号化装置。
【請求項20】
請求項15から請求項19のいずれか一項において、
前記第1のスペクトル算出手段は、前記単位区間の区間信号の構成要素となるべきN種類の要素信号を、各々当該周波数f(n)の周期の整数倍に対応し、前記Tに最も近いT(n)個のサンプルとして準備する要素信号準備手段と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記単位区間pのT(n)個のサンプルで構成される区間信号との相関演算を行うことにより、第1のスペクトル強度E1(p,n)を算出する相関演算手段により構成され、
前記第2のスペクトル算出手段は、
前記要素信号準備手段と、
前記N個の各周波数f(n)に対応する要素信号と、それぞれ対応する前記選出単位区間qのT(n)個のサンプルで構成される区間信号との相関演算を行い、相関値が最も高い周波数f(nmax)に対応する要素信号を調和信号として選出する調和信号選出手段と、
前記選出された調和信号と当該調和信号について得られた相関値との積で与えられるT(nmax)個のサンプルを含有信号とし、当該含有信号を前記区間信号から減じることにより、T(nmax)個のサンプルで構成される差分信号を求める差分信号演算手段と、を有し、
前記T(nmax)個のサンプルを反映させ更新されたT(n)個のサンプルを新たな区間信号として、前記調和信号選出手段および差分信号演算手段による処理を実行して新たな含有信号および差分信号を得る処理を繰り返し行うことによりN個の含有信号を求め、求められた含有信号の相関値に基づいて、前記N種類の周波数に対応した第2のスペクトル強度E2(q,n)を算出することを特徴とする音響信号の符号化装置。
【請求項21】
請求項20において、
前記相関演算手段は、
直前に位置する単位区間p−1における各周波数f(n)に対応する直前相関演算結果に対し、前記単位区間p−1における先頭Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果より減算するとともに、前記単位区間pにおけるT(n)サンプル中の最後尾Wサンプルに対応する相関演算を行い、各周波数ごとの相関値を前記直前相関演算結果に加算することにより、前記単位区間pにおける各周波数f(n)に対応する相関演算結果を取得し、当該相関演算結果に基づいて前記第1のスペクトル強度E1(p,n)を算出することを特徴とする音響信号の符号化装置。
【請求項22】
請求項12から請求項21のいずれか一項において、
前記符号化手段は、前記符号コードとしてMIDI形式を用いて符号化を行い、前記符号コードの前記周波数の情報としてノートナンバーを用い、前記第2のスペクトル強度としてベロシティを用い、前記選出単位区間qの先頭時刻と直後の選出単位区間q+1の先頭時刻との時間差を各々直前のMIDIイベントからの相対時刻であるデルタタイム1とデルタタイム2で定義し、これらの定義されたノートナンバー、ベロシティ、デルタタイム1を基にMIDIのノートオンイベントを作成するとともに、ノートナンバー、デルタタイム2を基にMIDIのノートオフイベントを作成するようにしていることを特徴とする音響信号の符号化装置。
【請求項23】
請求項1から請求項11のいずれかに記載の音響信号の符号化方法をコンピュータに実行させるためのプログラム。
【請求項24】
請求項12から請求項22のいずれかに記載の音響信号の符号化装置としてコンピュータを機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−181304(P2012−181304A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−43549(P2011−43549)
【出願日】平成23年3月1日(2011.3.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願日】平成23年3月1日(2011.3.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]