以下、本発明の実施の形態について図を参照して説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(周波数帯域拡大装置に本発明を適用した場合)
2.第2の実施の形態(符号化装置および復号装置に本発明を適用した場合)
3.第3の実施の形態(係数インデックスを高域符号化データに含める場合)
4.第4の実施の形態(係数インデックスと擬似高域サブバンドパワー差分を高域符号化データに含める場合)
5.第5の実施の形態(評価値を用いて係数インデックスを選択する場合)
6.第6の実施の形態(係数の一部を共通にする場合)
7.第7の実施の形態(入力信号をアップサンプリングする場合)
<1.第1の実施の形態>
第1の実施の形態では、高域削除符号化手法で符号化データを復号することで得られる復号後の低域の信号成分に対して、周波数帯域を拡大させる処理(以下、周波数帯域拡大処理と称する)が施される。
[周波数帯域拡大装置の機能的構成例]
図3は、本発明を適用した周波数帯域拡大装置の機能的構成例を示している。
周波数帯域拡大装置10は、復号後の低域の信号成分を入力信号として、その入力信号に対して、周波数帯域拡大処理を施し、その結果得られる周波数帯域拡大処理後の信号を出力信号として出力する。
周波数帯域拡大装置10は、低域通過フィルタ11、遅延回路12、帯域通過フィルタ13、特徴量算出回路14、高域サブバンドパワー推定回路15、高域信号生成回路16、高域通過フィルタ17、および信号加算器18から構成される。
低域通過フィルタ11は、入力信号を所定の遮断周波数でフィルタリングし、フィルタリング後の信号として、低域の信号成分である低域信号成分を遅延回路12に供給する。
遅延回路12は、低域通過フィルタ11からの低域信号成分と後述する高域信号成分とを加算する際の同期をとるために、低域信号成分を、一定の遅延時間だけ遅延して信号加算器18に供給する。
帯域通過フィルタ13は、それぞれ異なる通過帯域を持つ帯域通過フィルタ13−1乃至13−Nから構成される。帯域通過フィルタ13−i(1≦i≦N)は、入力信号のうちの所定の通過帯域の信号を通過させ、複数のサブバンド信号のうちの1つとして、特徴量算出回路14および高域信号生成回路16に供給する。
特徴量算出回路14は、帯域通過フィルタ13からの複数のサブバンド信号と、入力信号との、少なくともいずれか一方を用いて、1または複数の特徴量を算出し、高域サブバンドパワー推定回路15に供給する。ここで、特徴量とは、入力信号の、信号としての特徴を表す情報である。
高域サブバンドパワー推定回路15は、特徴量算出回路14からの、1または複数の特徴量に基づいて、高域のサブバンド信号のパワーである高域サブバンドパワーの推定値を高域サブバンド毎に算出し、これらを高域信号生成回路16に供給する。
高域信号生成回路16は、帯域通過フィルタ13からの複数のサブバンド信号と、高域サブバンドパワー推定回路15からの複数の高域サブバンドパワーの推定値とに基づいて、高域の信号成分である高域信号成分を生成し、高域通過フィルタ17に供給する。
高域通過フィルタ17は、高域信号生成回路16からの高域信号成分を、低域通過フィルタ11における遮断周波数に対応する遮断周波数でフィルタリングし、信号加算器18に供給する。
信号加算器18は、遅延回路12からの低域信号成分と、高域通過フィルタ17からの高域信号成分とを加算し、出力信号として出力する。
なお、図3の構成においては、サブバンド信号を取得するために帯域通過フィルタ13を適用するようにしたが、これに限らず、例えば、特許文献1に記載されているような帯域分割フィルタを適用するようにしてもよい。
また同様に、図3の構成においては、サブバンド信号を合成するために信号加算器18を適用するようにしたが、これに限らず、例えば、特許文献1に記載されているような帯域合成フィルタを適用するようにしてもよい。
[周波数帯域拡大装置の周波数帯域拡大処理]
次に、図4のフローチャートを参照して、図3の周波数帯域拡大装置による周波数帯域拡大処理について説明する。
ステップS1において、低域通過フィルタ11は、入力信号を所定の遮断周波数でフィルタリングし、フィルタリング後の信号としての低域信号成分を遅延回路12に供給する。
低域通過フィルタ11は、遮断周波数として任意の周波数を設定することが可能であるが、本実施の形態では、所定の帯域を後述する拡大開始帯域として、その拡大開始帯域の下端の周波数に対応して遮断周波数が設定される。したがって、低域通過フィルタ11は、フィルタリング後の信号として、拡大開始帯域より低域の信号成分である低域信号成分を、遅延回路12に供給する。
また、低域通過フィルタ11は、入力信号の高域削除符号化手法やビットレート等の符号化パラメータに応じて、最適な周波数を遮断周波数として設定することもできる。この符号化パラメータとしては、例えば、特許文献1の帯域拡大手法で採用されているサイド情報を利用することができる。
ステップS2において、遅延回路12は、低域通過フィルタ11からの低域信号成分を一定の遅延時間だけ遅延して信号加算器18に供給する。
ステップS3において、帯域通過フィルタ13(帯域通過フィルタ13−1乃至13−N)は、入力信号を複数のサブバンド信号に分割し、分割後の複数のサブバンド信号のそれぞれを、特徴量算出回路14および高域信号生成回路16に供給する。なお、帯域通過フィルタ13による入力信号の分割の処理については、その詳細を後述する。
ステップS4において、特徴量算出回路14は、帯域通過フィルタ13からの複数のサブバンド信号と、入力信号との、少なくともいずれか一方を用いて、1または複数の特徴量を算出し、高域サブバンドパワー推定回路15に供給する。なお、特徴量算出回路14による特徴量の算出の処理については、その詳細を後述する。
ステップS5において、高域サブバンドパワー推定回路15は、特徴量算出回路14からの、1または複数の特徴量に基づいて、複数の高域サブバンドパワーの推定値を算出し、高域信号生成回路16に供給する。なお、高域サブバンドパワー推定回路15による高域サブバンドパワーの推定値の算出の処理については、その詳細を後述する。
ステップS6において、高域信号生成回路16は、帯域通過フィルタ13からの複数のサブバンド信号と、高域サブバンドパワー推定回路15からの複数の高域サブバンドパワーの推定値とに基づいて、高域信号成分を生成し、高域通過フィルタ17に供給する。ここでいう高域信号成分とは、拡大開始帯域より高域の信号成分である。なお、高域信号生成回路16による高域信号成分の生成の処理については、その詳細を後述する。
ステップS7において、高域通過フィルタ17は、高域信号生成回路16からの高域信号成分をフィルタリングすることにより、高域信号成分に含まれる低域への折り返し成分等のノイズを除去し、その高域信号成分を信号加算器18に供給する。
ステップS8において、信号加算器18は、遅延回路12からの低域信号成分と、高域通過フィルタ17からの高域信号成分とを加算し、出力信号として出力する。
以上の処理によれば、復号後の低域の信号成分に対して、周波数帯域を拡大させることができる。
次に、図4のフローチャートのステップS3乃至S6のそれぞれの処理の詳細について説明する。
[帯域通過フィルタによる処理の詳細]
まず、図4のフローチャートのステップS3における帯域通過フィルタ13による処理の詳細について説明する。
なお、説明の便宜のため、以下においては、帯域通過フィルタ13の個数NをN=4とする。
例えば、入力信号のナイキスト周波数を16等分に分割することで得られる16個のサブバンドのうちの1つを拡大開始帯域とし、それら16個のサブバンドのうちの拡大開始帯域より低域の4個のサブバンドのそれぞれを、帯域通過フィルタ13−1乃至13−4の通過帯域のそれぞれとする。
図5は、帯域通過フィルタ13−1乃至13−4の各通過帯域それぞれの周波数軸上における配置を示している。
図5に示されるように、拡大開始帯域より低域の周波数帯域(サブバンド)のうちの高域から1番目のサブバンドのインデックスをsb、2番目のサブバンドのインデックスをsb-1、I番目のサブバンドのインデックスをsb-(I-1)とすると、帯域通過フィルタ13−1乃至13−4それぞれは、拡大開始帯域より低域のサブバンドのうち、インデックスがsb乃至sb-3のサブバンドのそれぞれを、通過帯域として割り当てる。
なお、本実施の形態では、帯域通過フィルタ13−1乃至13−4の通過帯域のそれぞれは、入力信号のナイキスト周波数を16等分することで得られる16個のサブバンドのうちの所定の4個のそれぞれであるものとしたが、これに限らず、入力信号のナイキスト周波数を256等分することで得られる256個のサブバンドのうちの所定の4個のそれぞれであるようにしてもよい。また、帯域通過フィルタ13−1乃至13−4のそれぞれの帯域幅は、それぞれ異なっていてもよい。
[特徴量算出回路による処理の詳細]
次に、図4のフローチャートのステップS4における特徴量算出回路14による処理の詳細について説明する。
特徴量算出回路14は、帯域通過フィルタ13からの複数のサブバンド信号と、入力信号との、少なくともいずれか一方を用いて、高域サブバンドパワー推定回路15が高域サブバンドパワーの推定値を算出するために用いる、1または複数の特徴量を算出する。
より具体的には、特徴量算出回路14は、帯域通過フィルタ13からの4個のサブバンド信号から、サブバンド毎に、サブバンド信号のパワー(サブバンドパワー(以下、低域サブバンドパワーともいう))を特徴量として算出し、高域サブバンドパワー推定回路15に供給する。
すなわち、特徴量算出回路14は、帯域通過フィルタ13から供給された、4個のサブバンド信号x(ib,n)から、ある所定の時間フレームJにおける低域サブバンドパワーpower(ib,J)を、以下の式(1)により求める。ここで、ibは、サブバンドのインデックス、nは離散時間のインデックスを表している。なお、1フレームのサンプル数をFSIZEとし、パワーはデシベルで表現されるものとする。
このようにして、特徴量算出回路14によって求められた低域サブバンドパワーpower(ib,J)は、特徴量として高域サブバンドパワー推定回路15に供給される。
[高域サブバンドパワー推定回路による処理の詳細]
次に、図4のフローチャートのステップS5における高域サブバンドパワー推定回路15による処理の詳細について説明する。
高域サブバンドパワー推定回路15は、特徴量算出回路14から供給された4個のサブバンドパワーに基づいて、インデックスがsb+1であるサブバンド(拡大開始帯域)以降の、拡大しようとする帯域(周波数拡大帯域)のサブバンドパワー(高域サブバンドパワー)の推定値を算出する。
すなわち、高域サブバンドパワー推定回路15は、周波数拡大帯域の最高域のサブバンドのインデックスをebとすると、インデックスがsb+1乃至ebであるサブバンドについて、(eb-sb)個のサブバンドパワーを推定する。
周波数拡大帯域における、インデックスがibであるサブバンドパワーの推定値powerest(ib,J)は、特徴量算出回路14から供給された4個のサブバンドパワーpower(ib,j)を用いて、例えば、以下の式(2)により表される。
ここで、式(2)において、係数Aib(kb),Bibは、サブバンドib毎に異なる値を持つ係数である。係数Aib(kb),Bibは、様々な入力信号に対して好適な値が得られるように適切に設定される係数とする。また、サブバンドsbの変更によって、係数Aib(kb),Bibも最適な値に変更される。なお、係数Aib(kb),Bibの導出については後述する。
式(2)において、高域サブバンドパワーの推定値は、帯域通過フィルタ13からの複数のサブバンド信号それぞれのパワーを用いた1次線形結合により算出されているが、これに限らず、例えば、時間フレームJの前後数フレームの複数の低域サブバンドパワーの線形結合を用いて算出されるようにしてもよいし、非線形な関数を用いて算出されるようにしてもよい。
このようにして、高域サブバンドパワー推定回路15によって算出された高域サブバンドパワーの推定値は、高域信号生成回路16に供給される。
[高域信号生成回路による処理の詳細]
次に、図4のフローチャートのステップS6における高域信号生成回路16による処理の詳細について説明する。
高域信号生成回路16は、帯域通過フィルタ13から供給された複数のサブバンド信号から、上述の式(1)に基づいて、それぞれのサブバンドの低域サブバンドパワーpower(ib,J)を算出する。高域信号生成回路16は、算出した複数の低域サブバンドパワーpower(ib,J)と、高域サブバンドパワー推定回路15によって上述の式(2)に基づいて算出された高域サブバンドパワーの推定値powerest(ib,J)とを用いて、以下の式(3)によって、利得量G(ib,J)を求める。
ここで、式(3)において、sbmap(ib)は、サブバンドibを写像先のサブバンドとした場合の写像元のサブバンドのインデックスを示しており、以下の式(4)で表わされる。
なお、式(4)において、INT(a)は、値aの小数点以下を切り捨てる関数である。
次に、高域信号生成回路16は、以下の式(5)を用いて、式(3)によって求めた利得量G(ib,J)を帯域通過フィルタ13の出力に乗じることで、利得調整後のサブバンド信号x2(ib,n)を算出する。
さらに、高域信号生成回路16は、以下の式(6)によって、インデックスがsb-3であるサブバンドの下端の周波数に対応する周波数から、インデックスがsbであるサブバンドの上端の周波数に対応する周波数へコサイン変調を行うことで、利得調整後のサブバンド信号x2(ib,n)から、コサイン変換された利得調整後のサブバンド信号x3(ib,n)を算出する。
なお、式(6)において、Πは円周率を表す。この式(6)は、利得調整後のサブバンド信号x2(ib,n)が、それぞれ4バンド分高域側の周波数にシフトされることを意味している。
そして、高域信号生成回路16は、以下の式(7)によって、高域側にシフトした利得調整後のサブバンド信号x3(ib,n)から、高域信号成分xhigh(n)を算出する。
このようにして、高域信号生成回路16によって、帯域通過フィルタ13からの4個のサブバンド信号に基づいて算出した4個の低域サブバンドパワー、および、高域サブバンドパワー推定回路15からの高域サブバンドパワーの推定値に基づいて、高域信号成分が生成され、高域通過フィルタ17に供給される。
以上の処理によれば、高域削除符号化手法による符号化データの復号後に得られた入力信号に対して、複数のサブバンド信号から算出された低域サブバンドパワーを特徴量とし、これと適切に設定された係数とに基づいて、高域サブバンドパワーの推定値が算出され、低域サブバンドパワーと高域サブバンドパワーの推定値とから適応的に高域信号成分が生成されるので、周波数拡大帯域のサブバンドパワーを高精度に推定することができ、音楽信号をより高音質に再生することが可能となる。
以上においては、特徴量算出回路14が、複数のサブバンド信号から算出された低域サブバンドパワーのみを特徴量として算出する例について説明したが、この場合、入力信号の種類によっては、周波数拡大帯域のサブバンドパワーを高精度に推定できないことがある。
そこで、特徴量算出回路14が、周波数拡大帯域のサブバンドパワーの出方(高域のパワースペクトルの形状)と相関の強い特徴量を算出するようにすることで、高域サブバンドパワー推定回路15における周波数拡大帯域のサブバンドパワーの推定を、より高精度に行うこともできる。
[特徴量算出回路によって算出される特徴量の他の例]
図6は、ある入力信号において、ボーカルがその大部分を占めるような区間であるボーカル区間の周波数特性の一例と、低域サブバンドパワーのみを特徴量として算出して高域サブバンドパワーを推定することにより得られた高域のパワースペクトルとを示している。
図6に示されるように、ボーカル区間の周波数特性においては、推定された高域のパワースペクトルが、原信号の高域のパワースペクトルよりも上に位置することが多い。人の歌声の違和感は人の耳に知覚されやすいため、ボーカル区間では高域サブバンドパワーの推定を特に精度良く行う必要がある。
また、図6に示されるように、ボーカル区間の周波数特性においては、4.9kHzから11.025kHzの間に1つの大きな凹みがあることが多い。
そこで、以下では、ボーカル区間の高域サブバンドパワーの推定に用いられる特徴量として、周波数領域での4.9kHzから11.025kHzにおける凹みの度合いを適用する例について説明する。なお、この凹みの度合いを示す特徴量を、以下、ディップと称する。
以下、時間フレームJにおけるディップdip(J)の算出例について説明する。
まず、入力信号のうち、時間フレームJを含む前後数フレームの範囲に含まれる2048サンプル区間の信号に対して、2048点FFT(Fast Fourier Transform)を施し、周波数軸上での係数を算出する。算出された各係数の絶対値にdb変換を施すことでパワースペクトルを得る。
図7は、上述のようにして得られたパワースペクトルの一例を示している。ここで、パワースペクトルの微細な成分を除去するために、例えば、1.3kHz以下の成分を除去するようにリフタリング処理を行う。リフタリング処理によれば、パワースペクトルの各次元を時間系列と見立て、低域通過フィルタにかけることによってフィルタリング処理を行うことで、スペクトルピークの微細な成分を平滑化することができる。
図8は、リフタリング後の入力信号のパワースペクトルの一例を示している。図8に示されるリフタリング後のパワースペクトルにおいて、4.9kHzから11.025kHzに相当する範囲に含まれるパワースペクトルの最小値と最大値との差をディップdip(J)とする。
このようにして、周波数拡大帯域のサブバンドパワーと相関の強い特徴量が算出される。なお、ディップdip(J)の算出例は、上述した手法に限らず、他の手法であってもよい。
次に、周波数拡大帯域のサブバンドパワーと相関の強い特徴量の算出の他の例について説明する。
[特徴量算出回路によって算出される特徴量のさらに他の例]
ある入力信号に、アタック性音楽信号を含む区間であるアタック区間の周波数特性においては、図2を参照して説明したように高域側のパワースペクトルはほぼ平坦となっていることが多い。低域サブバンドパワーのみを特徴量として算出する手法では、アタック区間を含む入力信号特有の時間変動を表す特徴量を用いずに周波数拡大帯域のサブバンドパワーを推定するため、アタック区間にみられるほぼ平坦な周波数拡大帯域のサブバンドパワーを精度よく推定することは難しい。
そこで、以下では、アタック区間の高域サブバンドパワーの推定に用いられる特徴量として、低域サブバンドパワーの時間変動を適用する例について説明する。
ある時間フレームJにおける低域サブバンドパワーの時間変動powerd(J)は、例えば、以下の式(8)により求められる。
式(8)によれば、低域サブバンドパワーの時間変動powerd(J)は、時間フレームJにおける4個の低域サブバンドパワーの和と、時間フレームJの1フレーム前の時間フレーム(J-1)における4個の低域サブバンドパワーの和との比を表しており、この値が大きい程、フレーム間のパワーの時間変動が大きく、すなわち、時間フレームJに含まれる信号はアタック性が強いと考えられる。
また、図1で示された統計的に平均的なパワースペクトルと、図2で示されたアタック区間(アタック性音楽信号)のパワースペクトルとを比較すると、アタック区間のパワースペクトルは中域では右上がりとなっている。アタック区間では、このような周波数特性を示すことが多い。
そこで、以下では、アタック区間の高域サブバンドパワーの推定に用いられる特徴量として、その中域における傾斜を適用する例について説明する。
ある時間フレームJにおける中域の傾斜slope(J)は、例えば、以下の式(9)により求められる。
式(9)において、係数w(ib)は、高域サブバンドパワーに重み付けするように調整された重み係数である。式(9)によれば、slope(J)は、高域に重み付けされた4個の低域サブバンドパワーの和と、4個の低域サブバンドパワーの和との比を表している。例えば、4個の低域サブバンドパワーが中域のサブバンドに対するパワーになっている場合、slope(J)は、中域のパワースペクトルが右上がりのときは大きい値を、右下がりのときは小さい値を取る。
また、アタック区間の前後で中域の傾斜は大きく変動する場合が多いので、以下の式(10)で表わされる傾斜の時間変動sloped(J)を、アタック区間の高域サブバンドパワーの推定に用いられる特徴量とするようにしてもよい。
また同様に、以下の式(11)で表わされる、上述したディップdip(J)の時間変動dipd(J)を、アタック区間の高域サブバンドパワーの推定に用いられる特徴量とするようにしてもよい。
以上の手法によれば、周波数拡大帯域のサブバンドパワーと相関の強い特徴量が算出されるので、これらを用いることで、高域サブバンドパワー推定回路15における周波数拡大帯域のサブバンドパワーの推定を、より高精度に行うことができるようになる。
以上においては、周波数拡大帯域のサブバンドパワーと相関の強い特徴量を算出する例について説明してきたが、以下では、このようして算出された特徴量を用いて高域サブバンドパワーを推定する例について説明する。
[高域サブバンドパワー推定回路による処理の詳細]
ここでは、図8を参照して説明したディップと、低域サブバンドパワーとを特徴量として用いて、高域サブバンドパワーを推定する例について説明する。
すなわち、図4のフローチャートのステップS4において、特徴量算出回路14は、帯域通過フィルタ13からの4個のサブバンド信号から、サブバンド毎に、低域サブバンドパワーと、ディップとを特徴量として算出し、高域サブバンドパワー推定回路15に供給する。
そして、ステップS5において、高域サブバンドパワー推定回路15は、特徴量算出回路14からの4個の低域サブバンドパワーおよびディップに基づいて、高域サブバンドパワーの推定値を算出する。
ここで、サブバンドパワーとディップでは、取りうる値の範囲(スケール)が異なるため、高域サブバンドパワー推定回路15は、ディップの値に対して、例えば、以下のような変換を行う。
高域サブバンドパワー推定回路15は、予め大量の数の入力信号について、4個の低域サブバンドパワーのうちの最高域のサブバンドパワーと、ディップの値とを算出し、それぞれについて平均値と標準偏差を求めておく。ここで、サブバンドパワーの平均値をpowerave、サブバンドパワーの標準偏差をpowerstd、ディップの平均値をdipave、ディップの標準偏差をdipstdとする。
高域サブバンドパワー推定回路15は、これらの値を用いてディップの値dip(J)を、以下の式(12)のように変換し、変換後のディップdips(J)を得る。
式(12)で示される変換を行うことで、高域サブバンドパワー推定回路15は、ディップの値dip(J)を、統計的に低域サブバンドパワーの平均と分散に等しい変数(ディップ)dips(J)に変換することができ、ディップの取りうる値の範囲を、サブバンドパワーの取りうる値の範囲とほぼ同じにすることが可能となる。
周波数拡大帯域における、インデックスがibであるサブバンドパワーの推定値powerest(ib,J)は、特徴量算出回路14からの4個の低域サブバンドパワーpower(ib,J)と、式(12)で示されたディップdips(J)との線形結合を用いて、例えば、以下の式(13)により表される。
ここで、式(13)において、係数Cib(kb),Dib,Eibは、サブバンドib毎に異なる値を持つ係数である。係数Cib(kb),Dib,Eibは、様々な入力信号に対して好適な値が得られるように適切に設定される係数とする。また、サブバンドsbの変更によって、係数Cib(kb),Dib,Eibも最適な値に変更される。なお、係数Cib(kb),Dib,Eibの導出については後述する。
式(13)において、高域サブバンドパワーの推定値は、1次線形結合により算出されているが、これに限らず、例えば、時間フレームJの前後数フレームの複数の特徴量の線形結合を用いて算出されるようにしてもよいし、非線形な関数を用いて算出されるようにしてもよい。
以上の処理によれば、高域サブバンドパワーの推定に、ボーカル区間特有のディップの値を特徴量として用いることにより、低域サブバンドパワーのみを特徴量とする場合に比べ、ボーカル区間での高域サブバンドパワーの推定精度が向上し、低域サブバンドパワーのみを特徴量とする手法で、高域のパワースペクトルが原信号の高域パワースペクトルよりも大きく推定されることによって生じる、人の耳に知覚されやすい違和感が低減されるので、音楽信号をより高音質に再生することが可能となる。
ところで、上述で説明した手法において特徴量として算出されたディップ(ボーカル区間の周波数特性における凹みの度合い)について、サブバンドの分割数が16の場合、周波数分解能が低いため、低域サブバンドパワーだけで、この凹みの度合いを表現することはできない。
そこで、サブバンドの分割数を増やし(例えば16倍の256分割)、帯域通過フィルタ13による帯域分割数を増やし(例えば16倍の64個)、特徴量算出回路14により算出される低域サブバンドパワーの数を増やす(例えば16倍の64個)ことにより、周波数分解能を上げ、低域サブバンドパワーのみで凹みの度合いを表現することが可能となる。
これにより、低域サブバンドパワーのみで、上述したディップを特徴量として用いた高域サブバンドパワーの推定とほぼ同等の精度で、高域サブバンドパワーを推定することが可能であると考えられる。
しかしながら、サブバンドの分割数、帯域分割数、および低域サブバンドパワーの数を増やすことにより計算量は増加する。いずれの手法とも同等の精度で高域サブバンドパワーを推定できることを考えると、サブバンドの分割数は増やさず、ディップを特徴量として用いて高域サブバンドパワーを推定する手法の方が、計算量の面で効率的であると考えられる。
以上においては、ディップと、低域サブバンドパワーとを用いて高域サブバンドパワーを推定する手法について説明してきたが、高域サブバンドパワーの推定に用いる特徴量としては、この組み合わせに限らず、上述で説明した特徴量(低域サブバンドパワー、ディップ、低域サブバンドパワーの時間変動、傾斜、傾斜の時間変動、およびディップの時間変動)のうちの1または複数を用いるようにしてもよい。これにより、高域サブバンドパワーの推定において、さらに精度を向上させるようにできる。
また、上述で説明したように、入力信号において、高域サブバンドパワーの推定が困難な区間に特有のパラメータを、高域サブバンドパワーの推定に用いる特徴量として用いることにより、その区間の推定精度を向上させることができる。例えば、低域サブバンドパワーの時間変動、傾斜、傾斜の時間変動、およびディップの時間変動は、アタック区間に特有のパラメータであり、これらのパラメータを特徴量として用いることで、アタック区間での高域サブバンドパワーの推定精度を向上させることができる。
なお、低域サブバンドパワーとディップ以外の特徴量、すなわち、低域サブバンドパワーの時間変動、傾斜、傾斜の時間変動、およびディップの時間変動を用いて高域サブバンドパワーの推定を行う場合についても、上述で説明した手法と同じ手法で高域サブバンドパワーを推定することができる。
なお、ここで示した特徴量のそれぞれの算出手法は、上述で説明した手法に限らず、他の手法を用いるようにしてもよい。
[係数Cib(kb),Dib,Eibの求め方]
次に、上述した式(13)における係数Cib(kb),Dib,Eibの求め方について説明する。
係数Cib(kb),Dib,Eibの求め方として、係数Cib(kb),Dib,Eibが、周波数拡大帯域のサブバンドパワーを推定する上で様々な入力信号に対して好適な値であるようにするために、予め広帯域な教師信号(以下、広帯域教師信号と称する)により学習を行い、その学習結果に基づいて決定する手法を適用する。
係数Cib(kb),Dib,Eibの学習を行う際には、拡大開始帯域よりも高域に、図5を参照して説明した帯域通過フィルタ13−1乃至13−4と同じ通過帯域幅を持つ帯域通過フィルタを配置した係数学習装置を適用する。係数学習装置は、広帯域教師信号が入力されると学習を行う。
[係数学習装置の機能的構成例]
図9は、係数Cib(kb),Dib,Eibの学習を行う係数学習装置の機能的構成例を示している。
図9の係数学習装置20に入力される広帯域教師信号の、拡大開始帯域よりも低域の信号成分は、図3の周波数帯域拡大装置10に入力される帯域制限された入力信号が、符号化の際に施された符号化方式と同じ方式で符号化された信号であると好適である。
係数学習装置20は、帯域通過フィルタ21、高域サブバンドパワー算出回路22、特徴量算出回路23、および係数推定回路24から構成されている。
帯域通過フィルタ21は、それぞれ異なる通過帯域を持つ帯域通過フィルタ21−1乃至21−(K+N)から構成される。帯域通過フィルタ21−i(1≦i≦K+N)は、入力信号のうちの所定の通過帯域の信号を通過させ、複数のサブバンド信号のうちの1つとして、高域サブバンドパワー算出回路22または特徴量算出回路23に供給する。なお、帯域通過フィルタ21−1乃至21−(K+N)のうちの帯域通過フィルタ21−1乃至21−Kは、拡大開始帯域より高域の信号を通過させる。
高域サブバンドパワー算出回路22は、帯域通過フィルタ21からの高域の複数のサブバンド信号に対して、ある一定の時間フレーム毎に、サブバンド毎の高域サブバンドパワーを算出し、係数推定回路24に供給する。
特徴量算出回路23は、高域サブバンドパワー算出回路22によって高域サブバンドパワーが算出される一定の時間フレームと同じ時間フレーム毎に、図3の周波数帯域拡大装置10の特徴量算出回路14によって算出される特徴量と同じ特徴量を算出する。すなわち、特徴量算出回路23は、帯域通過フィルタ21からの複数のサブバンド信号と、広帯域教師信号との、少なくともいずれか一方を用いて、1または複数の特徴量を算出し、係数推定回路24に供給する。
係数推定回路24は、一定の時間フレーム毎の、高域サブバンドパワー算出回路22からの高域サブバンドパワーと、特徴量算出回路23からの特徴量とに基づいて、図3の周波数帯域拡大装置10の高域サブバンドパワー推定回路15で用いられる係数(係数データ)を推定する。
[係数学習装置の係数学習処理]
次に、図10のフローチャートを参照して、図9の係数学習装置による係数学習処理について説明する。
ステップS11において、帯域通過フィルタ21は、入力信号(広帯域教師信号)を(K+N)個のサブバンド信号に分割する。帯域通過フィルタ21−1乃至21−Kは、拡大開始帯域よりも高域の複数のサブバンド信号を、高域サブバンドパワー算出回路22に供給する。また、帯域通過フィルタ21−(K+1)乃至21−(K+N)は、拡大開始帯域よりも低域の複数のサブバンド信号を、特徴量算出回路23に供給する。
ステップS12において、高域サブバンドパワー算出回路22は、帯域通過フィルタ21(帯域通過フィルタ21−1乃至21−K)からの高域の複数のサブバンド信号に対して、ある一定の時間フレーム毎に、サブバンド毎の高域サブバンドパワーpower(ib,J)を算出する。高域サブバンドパワーpower(ib,J)は、上述の式(1)により求められる。高域サブバンドパワー算出回路22は、算出した高域サブバンドパワーを、係数推定回路24に供給する。
ステップS13において、特徴量算出回路23は、高域サブバンドパワー算出回路22により高域サブバンドパワーが算出される一定の時間フレームと同じ時間フレーム毎に、特徴量を算出する。
なお、以下では、図3の周波数帯域拡大装置10の特徴量算出回路14において、低域の4個のサブバンドパワーとディップとが特徴量として算出されることを想定し、係数学習装置20の特徴量算出回路23においても同様に、低域の4個のサブバンドパワーとディップとが算出されるものとして説明する。
すなわち、特徴量算出回路23は、帯域通過フィルタ21(帯域通過フィルタ21−(K+1)乃至21−(K+4))からの、周波数帯域拡大装置10の特徴量算出回路14に入力される4個のサブバンド信号とそれぞれ同じ帯域の4個のサブバンド信号を用いて、4個の低域サブバンドパワーを算出する。また、特徴量算出回路23は、広帯域教師信号からディップを算出し、上述の式(12)に基づいてディップdips(J)を算出する。特徴量算出回路23は、算出した4個の低域サブバンドパワーとディップdips(J)とを、特徴量として係数推定回路24に供給する。
ステップS14において、係数推定回路24は、高域サブバンドパワー算出回路22と特徴量算出回路23とから同一時間フレームに供給された(eb-sb)個の高域サブバンドパワーと特徴量(4個の低域サブバンドパワーおよびディップdips(J))との多数の組み合わせに基づいて、係数Cib(kb),Dib,Eibの推定を行う。例えば、係数推定回路24は、ある高域のサブバンドの1つについて、5つの特徴量(4個の低域サブバンドパワーおよびディップdips(J))を説明変数とし、高域サブバンドパワーのpower(ib,J)を被説明変数として、最小二乗法を用いた回帰分析を行うことで、式(13)における係数Cib(kb),Dib,Eibを決定する。
なお、当然の如く、係数Cib(kb),Dib,Eibの推定手法は、上述の手法に限らず、一般的な各種パラメータ同定法を適用してもよい。
以上の処理によれば、予め広帯域教師信号を用いて、高域サブバンドパワーの推定に用いられる係数の学習を行うようにしたので、周波数帯域拡大装置10に入力される様々な入力信号に対して好適な出力結果を得ることが可能となり、ひいては、音楽信号をより高音質に再生することが可能となる。
なお、上述の式(2)における係数Aib(kb),Bibも、上述した係数学習方法によって求めることが可能である。
以上においては、周波数帯域拡大装置10の高域サブバンドパワー推定回路15において、高域サブバンドパワーの推定値のそれぞれは、4個の低域サブバンドパワーとディップとの線形結合により算出されることを前提とした係数学習処理について説明してきた。しかしながら、高域サブバンドパワー推定回路15における高域サブバンドパワーの推定の手法は、上述した例に限らず、例えば、特徴量算出回路14が、ディップ以外の特徴量(低域サブバンドパワーの時間変動、傾斜、傾斜の時間変動、およびディップの時間変動)のうちの1または複数を算出することで、高域サブバンドパワーを算出してもよいし、時間フレームJの前後複数フレームの複数の特徴量の線形結合を用いたり、非線形な関数を用いるようにしてもよい。すなわち、係数学習処理において、係数推定回路24は、周波数帯域拡大装置10の高域サブバンドパワー推定回路15によって高域サブバンドパワーが算出される際に用いられる特徴量、時間フレーム、および関数についての条件と同様の条件で、係数を算出(学習)することができればよい。
<2.第2の実施の形態>
第2の実施の形態では、符号化装置および復号装置によって、高域特徴符号化手法における符号化処理および復号処理が施される。
[符号化装置の機能的構成例]
図11は、本発明を適用した符号化装置の機能的構成例を示している。
符号化装置30は、低域通過フィルタ31、低域符号化回路32、サブバンド分割回路33、特徴量算出回路34、擬似高域サブバンドパワー算出回路35、擬似高域サブバンドパワー差分算出回路36、高域符号化回路37、多重化回路38、および低域復号回路39から構成される。
低域通過フィルタ31は、入力信号を所定の遮断周波数でフィルタリングし、フィルタリング後の信号として、遮断周波数より低域の信号(以下、低域信号と称する)を、低域符号化回路32、サブバンド分割回路33、および特徴量算出回路34に供給する。
低域符号化回路32は、低域通過フィルタ31からの低域信号を符号化し、その結果得られる低域符号化データを、多重化回路38および低域復号回路39に供給する。
サブバンド分割回路33は、入力信号および低域通過フィルタ31からの低域信号を、所定の帯域幅を持つ複数のサブバンド信号に等分割し、特徴量算出回路34または擬似高域サブバンドパワー差分算出回路36に供給する。より具体的には、サブバンド分割回路33は、低域信号を入力として得られる複数のサブバンド信号(以下、低域サブバンド信号と称する)を、特徴量算出回路34に供給する。また、サブバンド分割回路33は、入力信号を入力として得られる複数のサブバンド信号のうち、低域通過フィルタ31で設定されている遮断周波数より高域のサブバンド信号(以下、高域サブバンド信号と称する)を、擬似高域サブバンドパワー差分算出回路36に供給する。
特徴量算出回路34は、サブバンド分割回路33からの低域サブバンド信号のうちの複数のサブバンド信号と、低域通過フィルタ31からの低域信号との、少なくともいずれか一方を用いて、1または複数の特徴量を算出し、擬似高域サブバンドパワー算出回路35に供給する。
擬似高域サブバンドパワー算出回路35は、特徴量算出回路34からの、1または複数の特徴量に基づいて、擬似高域サブバンドパワーを生成し、擬似高域サブバンドパワー差分算出回路36に供給する。
擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33からの高域サブバンド信号と、擬似高域サブバンドパワー算出回路35からの擬似高域サブバンドパワーとに基づいて、後述する擬似高域サブバンドパワー差分を計算し、高域符号化回路37に供給する。
高域符号化回路37は、擬似高域サブバンドパワー差分算出回路36からの擬似高域サブバンドパワー差分を符号化し、その結果得られる高域符号化データを多重化回路38に供給する。
多重化回路38は、低域符号化回路32からの低域符号化データと、高域符号化回路37からの高域符号化データとを多重化し、出力符号列として出力する。
低域復号回路39は、低域符号化回路32からの低域符号化データを、適宜復号し、その結果得られる復号データをサブバンド分割回路33および特徴量算出回路34に供給する。
[符号化装置の符号化処理]
次に、図12のフローチャートを参照して、図11の符号化装置30による符号化処理について説明する。
ステップS111において、低域通過フィルタ31は、入力信号を所定の遮断周波数でフィルタリングし、フィルタリング後の信号としての低域信号を、低域符号化回路32、サブバンド分割回路33、および特徴量算出回路34に供給する。
ステップS112において、低域符号化回路32は、低域通過フィルタ31からの低域信号を符号化し、その結果得られる低域符号化データを多重化回路38に供給する。
なお、ステップS112における低域信号の符号化に関しては、符号化効率や求められる回路規模に応じて適切な符号化方式が選択されればよく、本発明はこの符号化方式に依存するものではない。
ステップS113において、サブバンド分割回路33は、入力信号および低域信号を、所定の帯域幅を持つ複数のサブバンド信号に等分割する。サブバンド分割回路33は、低域信号を入力として得られる低域サブバンド信号を、特徴量算出回路34に供給する。また、サブバンド分割回路33は、入力信号を入力として得られる複数のサブバンド信号のうち、低域通過フィルタ31で設定された、帯域制限の周波数よりも高い帯域の高域サブバンド信号を、擬似高域サブバンドパワー差分算出回路36に供給する。
ステップS114において、特徴量算出回路34は、サブバンド分割回路33からの低域サブバンド信号のうちの複数のサブバンド信号と、低域通過フィルタ31からの低域信号との、少なくともいずれか一方を用いて、1または複数の特徴量を算出し、擬似高域サブバンドパワー算出回路35に供給する。なお、図11の特徴量算出回路34は、図3の特徴量算出回路14と基本的に同様の構成および機能を有しており、ステップS114における処理は、図4のフローチャートのステップS4における処理と基本的に同様であるので、その詳細な説明は省略する。
ステップS115において、擬似高域サブバンドパワー算出回路35は、特徴量算出回路34からの、1または複数の特徴量に基づいて、擬似高域サブバンドパワーを生成し、擬似高域サブバンドパワー差分算出回路36に供給する。なお、図11の擬似高域サブバンドパワー算出回路35は、図3の高域サブバンドパワー推定回路15と基本的に同様の構成および機能を有しており、ステップS115における処理は、図4のフローチャートのステップS5における処理と基本的に同様であるので、その詳細な説明は省略する。
ステップS116において、擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33からの高域サブバンド信号と、擬似高域サブバンドパワー算出回路35からの擬似高域サブバンドパワーとに基づいて、擬似高域サブバンドパワー差分を計算し、高域符号化回路37に供給する。
より具体的には、擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33からの高域サブバンド信号について、ある一定の時間フレームJにおける(高域)サブバンドパワーpower(ib,J)を算出する。なお、本実施の形態では、低域サブバンド信号のサブバンドと高域サブバンド信号のサブバンドの全てを、インデックスibを用いて識別することとする。サブバンドパワーの算出手法は、第1の実施の形態と同様の手法、すなわち、式(1)を用いた手法を適用することができる。
次に、擬似高域サブバンドパワー差分算出回路36は、高域サブバンドパワーpower(ib,J)と、時間フレームJにおける擬似高域サブバンドパワー算出回路35からの擬似高域サブバンドパワーpowerlh(ib,J)との差分(擬似高域サブバンドパワー差分)powerdiff(ib,J)を求める。擬似高域サブバンドパワー差分powerdiff(ib,J)は、以下の式(14)によって求められる。
式(14)において、インデックスsb+1は、高域サブバンド信号における最低域のサブバンドのインデックスを表している。また、インデックスebは、高域サブバンド信号において符号化される最高域のサブバンドのインデックスを表している。
このようにして、擬似高域サブバンドパワー差分算出回路36によって算出された擬似高域サブバンドパワー差分は高域符号化回路37に供給される。
ステップS117において、高域符号化回路37は、擬似高域サブバンドパワー差分算出回路36からの擬似高域サブバンドパワー差分を符号化し、その結果得られる高域符号化データを多重化回路38に供給する。
より具体的には、高域符号化回路37は、擬似高域サブバンドパワー差分算出回路36からの擬似高域サブバンドパワー差分をベクトル化したもの(以下、擬似高域サブバンドパワー差分ベクトルと称する)が、予め設定された擬似高域サブバンドパワー差分の特徴空間での複数のクラスタのうち、どのクラスタに属するかを決定する。ここで、ある時間フレームJにおける擬似高域サブバンドパワー差分ベクトルは、インデックスib毎の擬似高域サブバンドパワー差分powerdiff(ib,J)の値をベクトルの各要素として持つ、(eb-sb)次元のベクトルを示している。また、擬似高域サブバンドパワー差分の特徴空間も同様に(eb-sb)次元の空間となっている。
そして、高域符号化回路37は、擬似高域サブバンドパワー差分の特徴空間において、予め設定された複数のクラスタの各代表ベクトルと、擬似高域サブバンドパワー差分ベクトルとの距離を測定し、距離が最も短いクラスタのインデックス(以下、擬似高域サブバンドパワー差分IDと称する)を求め、これを高域符号化データとして、多重化回路38に供給する。
ステップS118において、多重化回路38は、低域符号化回路32から出力された低域符号化データと、高域符号化回路37から出力された高域符号化データとを多重化し、出力符号列を出力する。
ところで、高域特徴符号化手法における符号化装置としては、特開2007−17908号公報に、低域サブバンド信号から擬似高域サブバンド信号を生成し、擬似高域サブバンド信号と、高域サブバンド信号のパワーをサブバンド毎に比較し、擬似高域サブバンド信号のパワーを高域サブバンド信号のパワーと一致させるためにサブバンド毎のパワーの利得を算出し、これを高域特徴の情報として符号列に含めるようにする技術が開示されている。
一方、以上の処理によれば、復号の際に高域サブバンドパワーを推定するための情報として、出力符号列に擬似高域サブバンドパワー差分IDのみを含めるだけでよい。すなわち、例えば、予め設定したクラスタの数が64の場合、復号装置において高域信号を復元するための情報としては、1つの時間フレームあたり、6ビットの情報を符号列に追加するだけでよく、特開2007−17908号公報に開示された手法と比較して、符号列に含める情報量を低減することができるので、符号化効率をより向上させることができ、ひいては、音楽信号をより高音質に再生することが可能となる。
また、以上の処理において、計算量に余裕があれば、低域復号回路39が、低域符号化回路32からの低域符号化データを復号することによって得られる低域信号を、サブバンド分割回路33および特徴量算出回路34へ入力するようにしてもよい。復号装置による復号処理においては、低域符号化データを復号した低域信号から特徴量を算出し、その特徴量に基づいて高域サブバンドのパワーを推定する。そのため、符号化処理においても、復号した低域信号から算出した特徴量に基づいて算出される擬似高域サブバンドパワー差分IDを符号列に含める方が、復号装置による復号処理において、より精度良く高域サブバンドパワーを推定できる。したがって、音楽信号をより高音質に再生することが可能となる。
[復号装置の機能的構成例]
次に、図13を参照して、図11の符号化装置30に対応する復号装置の機能的構成例について説明する。
復号装置40は、非多重化回路41、低域復号回路42、サブバンド分割回路43、特徴量算出回路44、高域復号回路45、復号高域サブバンドパワー算出回路46、復号高域信号生成回路47、および合成回路48から構成される。
非多重化回路41は、入力符号列を高域符号化データと低域符号化データに非多重化し、低域符号化データを低域復号回路42に供給し、高域符号化データを高域復号回路45に供給する。
低域復号回路42は、非多重化回路41からの低域符号化データの復号を行う。低域復号回路42は、復号の結果得られる低域の信号(以下、復号低域信号と称する)を、サブバンド分割回路43、特徴量算出回路44、および合成回路48に供給する。
サブバンド分割回路43は、低域復号回路42からの復号低域信号を、所定の帯域幅を持つ複数のサブバンド信号に等分割し、得られたサブバンド信号(復号低域サブバンド信号)を、特徴量算出回路44および復号高域信号生成回路47に供給する。
特徴量算出回路44は、サブバンド分割回路43からの復号低域サブバンド信号のうちの複数のサブバンド信号と、低域復号回路42からの復号低域信号との、少なくともいずれか一方を用いて、1または複数の特徴量を算出し、復号高域サブバンドパワー算出回路46に供給する。
高域復号回路45は、非多重化回路41からの高域符号化データの復号を行い、その結果得られる擬似高域サブバンドパワー差分IDを用いて、予めID(インデックス)毎に用意されている、高域サブバンドのパワーを推定するための係数(以下、復号高域サブバンドパワー推定係数と称する)を、復号高域サブバンドパワー算出回路46に供給する。
復号高域サブバンドパワー算出回路46は、特徴量算出回路44からの、1または複数の特徴量と、高域復号回路45からの復号高域サブバンドパワー推定係数とに基づいて、復号高域サブバンドパワーを算出し、復号高域信号生成回路47に供給する。
復号高域信号生成回路47は、サブバンド分割回路43からの復号低域サブバンド信号と、復号高域サブバンドパワー算出回路46からの復号高域サブバンドパワーとに基づいて、復号高域信号を生成し、合成回路48に供給する。
合成回路48は、低域復号回路42からの復号低域信号と、復号高域信号生成回路47からの復号高域信号とを合成し、出力信号として出力する。
[復号装置の復号処理]
次に、図14のフローチャートを参照して、図13の復号装置による復号処理について説明する。
ステップS131において、非多重化回路41は、入力符号列を高域符号化データと低域符号化データに非多重化し、低域符号化データを低域復号回路42に供給し、高域符号化データを高域復号回路45に供給する。
ステップS132において、低域復号回路42は、非多重化回路41からの低域符号化データの復号を行い、その結果得られた復号低域信号を、サブバンド分割回路43、特徴量算出回路44、および合成回路48に供給する。
ステップS133において、サブバンド分割回路43は、低域復号回路42からの復号低域信号を、所定の帯域幅を持つ複数のサブバンド信号に等分割し、得られた復号低域サブバンド信号を、特徴量算出回路44および復号高域信号生成回路47に供給する。
ステップS134において、特徴量算出回路44は、サブバンド分割回路43からの復号低域サブバンド信号のうちの複数のサブバンド信号と、低域復号回路42からの復号低域信号との、少なくともいずれか一方から、1または複数の特徴量を算出し、復号高域サブバンドパワー算出回路46に供給する。なお、図13の特徴量算出回路44は、図3の特徴量算出回路14と基本的に同様の構成および機能を有しており、ステップS134における処理は、図4のフローチャートのステップS4における処理と基本的に同様であるので、その詳細な説明は省略する。
ステップS135において、高域復号回路45は、非多重化回路41からの高域符号化データの復号を行い、その結果得られる擬似高域サブバンドパワー差分IDを用いて、予めID(インデックス)毎に用意されている復号高域サブバンドパワー推定係数を、復号高域サブバンドパワー算出回路46に供給する。
ステップS136において、復号高域サブバンドパワー算出回路46は、特徴量算出回路44からの、1または複数の特徴量と、高域復号回路45からの復号高域サブバンドパワー推定係数とに基づいて、復号高域サブバンドパワーを算出し、復号高域信号生成回路47に供給する。なお、図13の復号高域サブバンドパワー算出回路46は、図3の高域サブバンドパワー推定回路15と基本的に同様の構成および機能を有しており、ステップS136における処理は、図4のフローチャートのステップS5における処理と基本的に同様であるので、その詳細な説明は省略する。
ステップS137において、復号高域信号生成回路47は、サブバンド分割回路43からの復号低域サブバンド信号と、復号高域サブバンドパワー算出回路46からの復号高域サブバンドパワーとに基づいて、復号高域信号を出力する。なお、図13の復号高域信号生成回路47は、図3の高域信号生成回路16と基本的に同様の構成および機能を有しており、ステップS137における処理は、図4のフローチャートのステップS6における処理と基本的に同様であるので、その詳細な説明は省略する。
ステップS138において、合成回路48は、低域復号回路42からの復号低域信号と、復号高域信号生成回路47からの復号高域信号とを合成し、出力信号として出力する。
以上の処理によれば、符号化の際に予め算出された擬似高域サブバンドパワーと、実際の高域サブバンドパワーとの差分の特徴に応じた、復号の際の高域サブバンドパワー推定係数を用いることにより、復号の際の高域サブバンドパワーの推定精度を向上させることができ、その結果、音楽信号をより高音質に再生することが可能となる。
また、以上の処理によれば、符号列に含まれる高域信号生成のための情報が、擬似高域サブバンドパワー差分IDのみと少ないので、効率的に復号処理を行うことができる。
以上においては、本発明を適用した符号化処理および復号処理について説明してきたが、以下においては、図11の符号化装置30の高域符号化回路37において予め設定されている擬似高域サブバンドパワー差分の特徴空間における複数のクラスタそれぞれの代表ベクトルと、図13の復号装置40の高域復号回路45によって出力される復号高域サブバンドパワー推定係数の算出手法について説明する。
[擬似高域サブバンドパワー差分の特徴空間における複数のクラスタの代表ベクトル、および、各クラスタに対応した復号高域サブバンドパワー推定係数の算出手法]
複数のクラスタの代表ベクトルおよび各クラスタの復号高域サブバンドパワー推定係数の求め方として、符号化の際に算出される擬似高域サブバンドパワー差分ベクトルに応じて、復号の際の高域サブバンドパワーを精度よく推定できるよう係数を用意しておく必要がある。そのため、予め広帯域教師信号により学習を行い、その学習結果に基づいてこれらを決定する手法を適用する。
[係数学習装置の機能的構成例]
図15は、複数のクラスタの代表ベクトルおよび各クラスタの復号高域サブバンドパワー推定係数の学習を行う係数学習装置の機能的構成例を示している。
図15の係数学習装置50に入力される広帯域教師信号の、符号化装置30の低域通過フィルタ31で設定される遮断周波数以下の信号成分は、符号化装置30への入力信号が低域通過フィルタ31を通過し、低域符号化回路32により符号化され、さらに復号装置40の低域復号回路42により復号された復号低域信号であると好適である。
係数学習装置50は、低域通過フィルタ51、サブバンド分割回路52、特徴量算出回路53、擬似高域サブバンドパワー算出回路54、擬似高域サブバンドパワー差分算出回路55、擬似高域サブバンドパワー差分クラスタリング回路56、および係数推定回路57から構成される。
なお、図15の係数学習装置50における低域通過フィルタ51、サブバンド分割回路52、特徴量算出回路53、および擬似高域サブバンドパワー算出回路54のそれぞれは、図11の符号化装置30における低域通過フィルタ31、サブバンド分割回路33、特徴量算出回路34、および擬似高域サブバンドパワー算出回路35のそれぞれと、基本的に同様の構成と機能を備えるので、その説明は適宜省略する。
すなわち、擬似高域サブバンドパワー差分算出回路55は、図11の擬似高域サブバンドパワー差分算出回路36と同様の構成および機能を備えるが、計算した擬似高域サブバンドパワー差分を、擬似高域サブバンドパワー差分クラスタリング回路56に供給するとともに、擬似高域サブバンドパワー差分を計算する際に算出する高域サブバンドパワーを、係数推定回路57に供給する。
擬似高域サブバンドパワー差分クラスタリング回路56は、擬似高域サブバンドパワー差分算出回路55からの擬似高域サブバンドパワー差分から得られる擬似高域サブバンドパワー差分ベクトルをクラスタリングし、各クラスタでの代表ベクトルを算出する。
係数推定回路57は、擬似高域サブバンドパワー差分算出回路55からの高域サブバンドパワーと、特徴量算出回路53からの1または複数の特徴量とに基づいて、擬似高域サブバンドパワー差分クラスタリング回路56によりクラスタリングされたクラスタ毎の高域サブバンドパワー推定係数を算出する。
[係数学習装置の係数学習処理]
次に、図16のフローチャートを参照して、図15の係数学習装置50による係数学習処理について説明する。
なお、図16のフローチャートにおけるステップS151乃至S155の処理は、係数学習装置50に入力される信号が広帯域教師信号である以外は、図12のフローチャートにおけるステップS111,S113乃至S116の処理と同様であるので、その説明は省略する。
すなわち、ステップS156において、擬似高域サブバンドパワー差分クラスタリング回路56は、擬似高域サブバンドパワー差分算出回路55からの擬似高域サブバンドパワー差分から得られる、多数(大量の時間フレーム)の擬似高域サブバンドパワー差分ベクトルを、例えば64クラスタにクラスタリングし、各クラスタの代表ベクトルを算出する。クラスタリングの手法の一例としては、例えば、k-means法によるクラスタリングを適用することができる。擬似高域サブバンドパワー差分クラスタリング回路56は、k-means法によるクラスタリングを行った結果得られる、各クラスタの重心ベクトルを、各クラスタの代表ベクトルとする。なお、クラスタリングの手法やクラスタの数は、上述したものに限らず、他の手法を適用するようにしてもよい。
また、擬似高域サブバンドパワー差分クラスタリング回路56は、時間フレームJにおける、擬似高域サブバンドパワー差分算出回路55からの擬似高域サブバンドパワー差分から得られる擬似高域サブバンドパワー差分ベクトルを用いて、64個の代表ベクトルとの距離を測定し、最も距離が短くなる代表ベクトルが属するクラスタのインデックスCID(J)を決定する。なお、インデックスCID(J)は1からクラスタ数(この例では64)までの整数値を取るものとする。擬似高域サブバンドパワー差分クラスタリング回路56は、このようにして代表ベクトルを出力し、また、インデックスCID(J)を係数推定回路57に供給する。
ステップS157において、係数推定回路57は、擬似高域サブバンドパワー差分算出回路55および特徴量算出回路53から同一時間フレームに供給された(eb-sb)個の高域サブバンドパワーと特徴量の多数の組み合わせのうち、同じインデックスCID(J)を持つ(同じクラスタに属する)集合毎に、各クラスタでの復号高域サブバンドパワー推定係数の算出を行う。なお、係数推定回路57による係数の算出の手法は、図9の係数学習装置20における係数推定回路24による手法と同様であるものとするが、その他の手法であってももちろんよい。
以上の処理によれば、予め広帯域教師信号を用いて、図11の符号化装置30の高域符号化回路37において予め設定されている擬似高域サブバンドパワー差分の特徴空間における複数のクラスタそれぞれの代表ベクトルと、図13の復号装置40の高域復号回路45によって出力される復号高域サブバンドパワー推定係数の学習を行うようにしたので、符号化装置30に入力される様々な入力信号、および、復号装置40に入力される様々な入力符号列に対して好適な出力結果を得ることが可能となり、ひいては、音楽信号をより高音質に再生することが可能となる。
さらに信号の符号化および復号について、符号化装置30の擬似高域サブバンドパワー算出回路35や復号装置40の復号高域サブバンドパワー算出回路46において高域サブバンドパワーを算出するための係数データは、次のように取り扱うことも可能である。すなわち、入力信号の種類によって異なる係数データを用いることとして、その係数を符号列の先頭に記録しておくことも可能である。
例えば、スピーチやジャズなどの信号によって係数データを変更することで、符号化効率の向上を図ることができる。
図17は、このようにして得られた符号列を示している。
図17の符号列Aは、スピーチを符号化したものであり、スピーチに最適な係数データαがヘッダに記録されている。
これに対して、図17の符号列Bは、ジャズを符号化したものであり、ジャズに最適な係数データβがヘッダに記録されている。
このような複数の係数データを予め同種の音楽信号で学習することで用意し、符号化装置30では入力信号のヘッダに記録されているようなジャンル情報でその係数データを選択してもよい。あるいは、信号の波形解析を行うことでジャンルを判定し、係数データを選択してもよい。すなわち、このような、信号のジャンル解析手法は特に限定されない。
また、計算時間が許せば、符号化装置30に上述した学習装置を内蔵させ、その信号専用の係数を用いて処理を行い、図17の符号列Cに示されるように、最後にその係数をヘッダに記録することも可能である。
この手法を用いることによる利点を、以下に説明する。
高域サブバンドパワーの形状は、1つの入力信号内で類似している箇所が多数存在する。多くの入力信号が持つこの特徴を利用し、高域サブバンドパワーの推定のための係数の学習を入力信号毎に別個に行うことで、高域サブバンドパワーの類似箇所の存在による冗長度を低減させ、符号化効率を向上させることができる。また、複数の信号で統計的に高域サブバンドパワーの推定のための係数を学習するよりも、より高精度に高域サブバンドパワーの推定を行うことができる。
また、このように、符号化の際に入力信号から学習される係数データを数フレームに1回挿入するような形態をとることも可能である。
〈3.第3の実施の形態〉
[符号化装置の機能的構成例]
なお、以上においては、擬似高域サブバンドパワー差分IDが高域符号化データとして、符号化装置30から復号装置40に出力されると説明したが、復号高域サブバンドパワー推定係数を得るための係数インデックスが、高域符号化データとされてもよい。
そのような場合、符号化装置30は、例えば、図18に示すように構成される。なお、図18において、図11における場合と対応する部分には、同一の符号を付してあり、その説明は適宜、省略する。
図18の符号化装置30は、図11の符号化装置30と低域復号回路39が設けられていない点で異なり、その他の点では同じである。
図18の符号化装置30では、特徴量算出回路34は、サブバンド分割回路33から供給された低域サブバンド信号を用いて、低域サブバンドパワーを特徴量として算出し、擬似高域サブバンドパワー算出回路35に供給する。
また、擬似高域サブバンドパワー算出回路35には、予め回帰分析により求められた、複数の復号高域サブバンドパワー推定係数と、それらの復号高域サブバンドパワー推定係数を特定する係数インデックスとが対応付けられて記録されている。
具体的には、復号高域サブバンドパワー推定係数として、上述した式(2)の演算に用いられる各サブバンドの係数Aib(kb)と係数Bibのセットが、予め複数用意されている。例えば、これらの係数Aib(kb)と係数Bibは、低域サブバンドパワーを説明変数とし、高域サブバンドパワーを被説明変数とした、最小二乗法を用いた回帰分析により、予め求められている。回帰分析では、低域サブバンド信号と高域サブバンド信号からなる入力信号が広帯域教師信号として用いられる。
擬似高域サブバンドパワー算出回路35は、記録している復号高域サブバンドパワー推定係数ごとに、復号高域サブバンドパワー推定係数と、特徴量算出回路34からの特徴量とを用いて、高域側の各サブバンドの擬似高域サブバンドパワーを算出し、擬似高域サブバンドパワー差分算出回路36に供給する。
擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33から供給された高域サブバンド信号から求まる高域サブバンドパワーと、擬似高域サブバンドパワー算出回路35からの擬似高域サブバンドパワーとを比較する。
そして、擬似高域サブバンドパワー差分算出回路36は、比較の結果、複数の復号高域サブバンドパワー推定係数のうち、最も高域サブバンドパワーに近い擬似高域サブバンドパワーが得られた復号高域サブバンドパワー推定係数の係数インデックスを高域符号化回路37に供給する。換言すれば、復号時に再現されるべき入力信号の高域信号、つまり真値に最も近い復号高域信号が得られる、復号高域サブバンドパワー推定係数の係数インデックスが選択される。
[符号化装置の符号化処理]
次に、図19のフローチャートを参照して、図18の符号化装置30により行なわれる符号化処理について説明する。なお、ステップS181乃至ステップS183の処理は、図12のステップS111乃至ステップS113の処理と同様であるため、その説明は省略する。
ステップS184において、特徴量算出回路34は、サブバンド分割回路33からの低域サブバンド信号を用いて特徴量を算出し、擬似高域サブバンドパワー算出回路35に供給する。
具体的には、特徴量算出回路34は、上述した式(1)の演算を行って、低域側の各サブバンドib(但し、sb-3≦ib≦sb)について、フレームJ(但し、0≦J)の低域サブバンドパワーpower(ib,J)を特徴量として算出する。すなわち、低域サブバンドパワーpower(ib,J)は、フレームJを構成する低域サブバンド信号の各サンプルのサンプル値の二乗平均値を、対数化することにより算出される。
ステップS185において、擬似高域サブバンドパワー算出回路35は、特徴量算出回路34から供給された特徴量に基づいて、擬似高域サブバンドパワーを算出し、擬似高域サブバンドパワー差分算出回路36に供給する。
例えば、擬似高域サブバンドパワー算出回路35は、復号高域サブバンドパワー推定係数として予め記録している係数Aib(kb)および係数Bibと、低域サブバンドパワーpower(kb,J)(但し、sb-3≦kb≦sb)とを用いて上述した式(2)の演算を行い、擬似高域サブバンドパワーpowerest(ib,J)を算出する。
すなわち、特徴量として供給された低域側の各サブバンドの低域サブバンドパワーpower(kb,J)に、サブバンドごとの係数Aib(kb)が乗算され、係数が乗算された低域サブバンドパワーの和に、さらに係数Bibが加算されて、擬似高域サブバンドパワーpowerest(ib,J)とされる。この擬似高域サブバンドパワーは、インデックスがsb+1乃至ebである高域側の各サブバンドについて算出される。
また、擬似高域サブバンドパワー算出回路35は、予め記録している復号高域サブバンドパワー推定係数ごとに擬似高域サブバンドパワーの算出を行なう。例えば、係数インデックスが1乃至K(但し、2≦K)のK個の復号高域サブバンドパワー推定係数が予め用意されているとする。この場合、K個の復号高域サブバンドパワー推定係数ごとに、各サブバンドの擬似高域サブバンドパワーが算出されることになる。
ステップS186において、擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33からの高域サブバンド信号と、擬似高域サブバンドパワー算出回路35からの擬似高域サブバンドパワーとに基づいて、擬似高域サブバンドパワー差分を算出する。
具体的には、擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33からの高域サブバンド信号について、上述した式(1)と同様の演算を行ない、フレームJにおける高域サブバンドパワーpower(ib,J)を算出する。なお、本実施の形態では、低域サブバンド信号のサブバンドと高域サブバンド信号のサブバンドの全てを、インデックスibを用いて識別することとする。
次に、擬似高域サブバンドパワー差分算出回路36は、上述した式(14)と同様の演算を行なって、フレームJにおける高域サブバンドパワーpower(ib,J)と、擬似高域サブバンドパワーpowerest(ib,J)との差分を求める。これにより、復号高域サブバンドパワー推定係数ごとに、インデックスがsb+1乃至ebである高域側の各サブバンドについて、擬似高域サブバンドパワー差分powerdiff(ib,J)が得られる。
ステップS187において、擬似高域サブバンドパワー差分算出回路36は、復号高域サブバンドパワー推定係数ごとに、次式(15)を計算し、擬似高域サブバンドパワー差分の二乗和を算出する。
なお、式(15)において、差分二乗和E(J,id)は、係数インデックスがidである復号高域サブバンドパワー推定係数について求められた、フレームJの擬似高域サブバンドパワー差分の二乗和を示している。また、式(15)において、powerdiff(ib,J,id)は、係数インデックスがidである復号高域サブバンドパワー推定係数について求められた、インデックスがibであるサブバンドのフレームJの擬似高域サブバンドパワー差分powerdiff(ib,J)を示している。差分二乗和E(J,id)は、K個の各復号高域サブバンドパワー推定係数について、算出される。
このようにして得られた差分二乗和E(J,id)は、実際の高域信号から算出された高域サブバンドパワーと、係数インデックスがidである復号高域サブバンドパワー推定係数を用いて算出された擬似高域サブバンドパワーとの類似の度合いを示している。
つまり、高域サブバンドパワーの真値に対する推定値の誤差を示している。したがって、差分二乗和E(J,id)が小さいほど、復号高域サブバンドパワー推定係数を用いた演算により、実際の高域信号により近い復号高域信号が得られることになる。換言すれば、差分二乗和E(J,id)が最小となる復号高域サブバンドパワー推定係数が、出力符号列の復号時に行なわれる周波数帯域拡大処理に最も適した推定係数であるといえる。
そこで、擬似高域サブバンドパワー差分算出回路36は、K個の差分二乗和E(J,id)のうち、値が最小となる差分二乗和を選択し、その差分二乗和に対応する復号高域サブバンドパワー推定係数を示す係数インデックスを、高域符号化回路37に供給する。
ステップS188において、高域符号化回路37は、擬似高域サブバンドパワー差分算出回路36から供給された係数インデックスを符号化し、その結果得られた高域符号化データを多重化回路38に供給する。
例えば、ステップS188では、係数インデックスに対してエントロピー符号化などが行なわれる。これにより、復号装置40に出力される高域符号化データの情報量を圧縮することができる。なお、高域符号化データは、最適な復号高域サブバンドパワー推定係数が得られる情報であれば、どのような情報であってもよく、例えば、係数インデックスがそのまま高域符号化データとされてもよい。
ステップS189において、多重化回路38は、低域符号化回路32から供給された低域符号化データと、高域符号化回路37から供給された高域符号化データとを多重化し、その結果得られた出力符号列を出力し、符号化処理は終了する。
このように、低域符号化データとともに、係数インデックスを符号化して得られた高域符号化データを出力符号列として出力することで、この出力符号列の入力を受ける復号装置40では、周波数帯域拡大処理に最も適した、復号高域サブバンドパワー推定係数を得ることができる。これにより、より高音質な信号を得ることができるようになる。
[復号装置の機能的構成例]
また、図18の符号化装置30から出力された出力符号列を、入力符号列として入力し、復号する復号装置40は、例えば、図20に示すように構成される。なお、図20において、図13における場合と対応する部分には、同一の符号を付してあり、その説明は省略する。
図20の復号装置40は、非多重化回路41乃至合成回路48から構成される点では、図13の復号装置40と同じであるが、低域復号回路42からの復号低域信号が特徴量算出回路44には供給されない点で、図13の復号装置40と異なる。
図20の復号装置40では、高域復号回路45は、図18の擬似高域サブバンドパワー算出回路35が記録している復号高域サブバンドパワー推定係数と同じ復号高域サブバンドパワー推定係数を予め記録している。すなわち、予め回帰分析により求められた復号高域サブバンドパワー推定係数としての係数Aib(kb)と係数Bibのセットが、係数インデックスと対応付けられて記録されている。
高域復号回路45は、非多重化回路41から供給された高域符号化データを復号し、その結果得られた係数インデックスにより示される復号高域サブバンドパワー推定係数を、復号高域サブバンドパワー算出回路46に供給する。
[復号装置の復号処理]
次に、図21のフローチャートを参照して、図20の復号装置40により行なわれる復号処理について説明する。
この復号処理は、符号化装置30から出力された出力符号列が、入力符号列として復号装置40に供給されると開始される。なお、ステップS211乃至ステップS213の処理は、図14のステップS131乃至ステップS133の処理と同様であるので、その説明は省略する。
ステップS214において、特徴量算出回路44は、サブバンド分割回路43からの復号低域サブバンド信号を用いて特徴量を算出し、復号高域サブバンドパワー算出回路46に供給する。具体的には、特徴量算出回路44は、上述した式(1)の演算を行って、低域側の各サブバンドibについて、フレームJ(但し、0≦J)の低域サブバンドパワーpower(ib,J)を特徴量として算出する。
ステップS215において、高域復号回路45は、非多重化回路41から供給された高域符号化データの復号を行い、その結果得られた係数インデックスにより示される復号高域サブバンドパワー推定係数を、復号高域サブバンドパワー算出回路46に供給する。すなわち、高域復号回路45に予め記録されている複数の復号高域サブバンドパワー推定係数のうち、復号により得られた係数インデックスにより示される復号高域サブバンドパワー推定係数が出力される。
ステップS216において、復号高域サブバンドパワー算出回路46は、特徴量算出回路44から供給された特徴量と、高域復号回路45から供給された復号高域サブバンドパワー推定係数とに基づいて、復号高域サブバンドパワーを算出し、復号高域信号生成回路47に供給する。
すなわち、復号高域サブバンドパワー算出回路46は、復号高域サブバンドパワー推定係数としての係数Aib(kb)および係数Bibと、特徴量としての低域サブバンドパワーpower(kb,J)(但し、sb-3≦kb≦sb)とを用いて上述した式(2)の演算を行い、復号高域サブバンドパワーを算出する。これにより、インデックスがsb+1乃至ebである高域側の各サブバンドについて、復号高域サブバンドパワーが得られる。
ステップS217において、復号高域信号生成回路47は、サブバンド分割回路43から供給された復号低域サブバンド信号と、復号高域サブバンドパワー算出回路46から供給された復号高域サブバンドパワーとに基づいて、復号高域信号を生成する。
具体的には、復号高域信号生成回路47は、復号低域サブバンド信号を用いて上述した式(1)の演算を行ない、低域側の各サブバンドについて低域サブバンドパワーを算出する。そして、復号高域信号生成回路47は、得られた低域サブバンドパワーと復号高域サブバンドパワーとを用いて上述した式(3)の演算を行なって、高域側のサブバンドごとの利得量G(ib,J)を算出する。
さらに、復号高域信号生成回路47は、利得量G(ib,J)と、復号低域サブバンド信号とを用いて上述した式(5)および式(6)の演算を行なって、高域側の各サブバンドについて、高域サブバンド信号x3(ib,n)を生成する。
すなわち、復号高域信号生成回路47は、低域サブバンドパワーと復号高域サブバンドパワーとの比に応じて、復号低域サブバンド信号x(ib,n)を振幅変調し、その結果、得られた復号低域サブバンド信号x2(ib,n)を、さらに周波数変調する。これにより、低域側のサブバンドの周波数成分の信号が、高域側のサブバンドの周波数成分の信号に変換され、高域サブバンド信号x3(ib,n)が得られる。
このように各サブバンドの高域サブバンド信号を得る処理は、より詳細には、以下のような処理である。
周波数領域において連続して並ぶ4つのサブバンドを、帯域ブロックと呼ぶこととし、低域側にあるインデックスがsb乃至sb-3である4つのサブバンドから、1つの帯域ブロック(以下、特に低域ブロックと称する)が構成されるように、周波数帯域を分割したとする。このとき、例えば、高域側のインデックスがsb+1乃至sb+4であるサブバンドからなる帯域が、1つの帯域ブロックとされる。なお、以下、高域側、すなわちインデックスがsb+1以上であるサブバンドからなる帯域ブロックを、特に高域ブロックと呼ぶこととする。
いま、高域ブロックを構成する1つのサブバンドに注目し、そのサブバンド(以下、注目サブバンドと称する)の高域サブバンド信号を生成するとする。まず、復号高域信号生成回路47は、高域ブロックにおける注目サブバンドの位置と同じ位置関係にある、低域ブロックのサブバンドを特定する。
例えば、注目サブバンドのインデックスがsb+1であれば、注目サブバンドは、高域ブロックのうちの最も周波数が低い帯域であるので、注目サブバンドと同じ位置関係にある低域ブロックのサブバンドは、インデックスがsb-3であるサブバンドとなる。
このようにして、注目サブバンドと同じ位置関係にある低域ブロックのサブバンドが特定されると、そのサブバンドの低域サブバンドパワーおよび復号低域サブバンド信号と、注目サブバンドの復号高域サブバンドパワーとが用いられて、注目サブバンドの高域サブバンド信号が生成される。
すなわち、復号高域サブバンドパワーと低域サブバンドパワーが、式(3)に代入されて、それらのパワーの比に応じた利得量が算出される。そして、算出された利得量が復号低域サブバンド信号に乗算され、さらに利得量が乗算された復号低域サブバンド信号が、式(6)の演算により周波数変調されて、注目サブバンドの高域サブバンド信号とされる。
以上の処理で、高域側の各サブバンドの高域サブバンド信号が得られる。すると、復号高域信号生成回路47は、さらに上述した式(7)の演算を行なって、得られた各高域サブバンド信号の和を求め、復号高域信号を生成する。復号高域信号生成回路47は、得られた復号高域信号を合成回路48に供給し、処理はステップS217からステップS218に進む。
ステップS218において、合成回路48は、低域復号回路42からの復号低域信号と、復号高域信号生成回路47からの復号高域信号とを合成し、出力信号として出力する。そして、その後、復号処理は終了する。
以上のように、復号装置40によれば、入力符号列の非多重化により得られた高域符号化データから係数インデックスを得て、その係数インデックスにより示される復号高域サブバンドパワー推定係数を用いて復号高域サブバンドパワーを算出するので、高域サブバンドパワーの推定精度を向上させることができる。これにより、音楽信号をより高音質に再生することが可能となる。
〈4.第4の実施の形態〉
[符号化装置の符号化処理]
また、以上においては、高域符号化データに係数インデックスのみが含まれる場合を例として説明したが、他の情報が含まれるようにしてもよい。
例えば、係数インデックスが高域符号化データに含まれるようにすれば、実際の高域信号の高域サブバンドパワーに最も近い復号高域サブバンドパワーが得られる、復号高域サブバンドパワー推定係数を、復号装置40側において知ることができる。
しかしながら、実際の高域サブバンドパワー(真値)と、復号装置40側で得られる復号高域サブバンドパワー(推定値)とには、擬似高域サブバンドパワー差分算出回路36で算出された擬似高域サブバンドパワー差分powerdiff(ib,J)とほぼ同じ値だけ差が生じる。
そこで、高域符号化データに、係数インデックスだけでなく、各サブバンドの擬似高域サブバンドパワー差分も含まれるようにすれば、復号装置40側において、実際の高域サブバンドパワーに対する復号高域サブバンドパワーのおおよその誤差を知ることができる。そうすれば、この誤差を用いて、さらに高域サブバンドパワーの推定精度を向上させることができる。
以下、図22および図23のフローチャートを参照して、高域符号化データに擬似高域サブバンドパワー差分が含まれる場合における符号化処理と復号処理について説明する。
まず、図22のフローチャートを参照して、図18の符号化装置30により行なわれる符号化処理について説明する。なお、ステップS241乃至ステップS246の処理は、図19のステップS181乃至ステップS186の処理と同様であるので、その説明は省略する。
ステップS247において、擬似高域サブバンドパワー差分算出回路36は、上述した式(15)の演算を行なって、復号高域サブバンドパワー推定係数ごとに、差分二乗和E(J,id)を算出する。
そして、擬似高域サブバンドパワー差分算出回路36は、差分二乗和E(J,id)のうち、値が最小となる差分二乗和を選択し、その差分二乗和に対応する復号高域サブバンドパワー推定係数を示す係数インデックスを、高域符号化回路37に供給する。
さらに、擬似高域サブバンドパワー差分算出回路36は、選択された差分二乗和に対応する復号高域サブバンドパワー推定係数について求めた、各サブバンドの擬似高域サブバンドパワー差分powerdiff(ib,J)を高域符号化回路37に供給する。
ステップS248において、高域符号化回路37は、擬似高域サブバンドパワー差分算出回路36から供給された、係数インデックスおよび擬似高域サブバンドパワー差分を符号化し、その結果得られた高域符号化データを多重化回路38に供給する。
これにより、インデックスがsb+1乃至ebである高域側の各サブバンドの擬似高域サブバンドパワー差分、つまり高域サブバンドパワーの推定誤差が高域符号化データとして、復号装置40に供給されることになる。
高域符号化データが得られると、その後、ステップS249の処理が行われて符号化処理は終了するが、ステップS249の処理は、図19のステップS189の処理と同様であるため、その説明は省略する。
以上のように、高域符号化データに擬似高域サブバンドパワー差分が含まれるようにすれば、復号装置40において、高域サブバンドパワーの推定精度をさらに向上させることができ、より高音質な音楽信号を得ることができるようになる。
[復号装置の復号処理]
次に、図23のフローチャートを参照して、図20の復号装置40により行なわれる復号処理について説明する。なお、ステップS271乃至ステップS274の処理は、図21のステップS211乃至ステップS214の処理と同様であるので、その説明は省略する。
ステップS275において、高域復号回路45は、非多重化回路41から供給された高域符号化データの復号を行なう。そして、高域復号回路45は、復号により得られた係数インデックスにより示される復号高域サブバンドパワー推定係数と、復号により得られた各サブバンドの擬似高域サブバンドパワー差分とを、復号高域サブバンドパワー算出回路46に供給する。
ステップS276において、復号高域サブバンドパワー算出回路46は、特徴量算出回路44から供給された特徴量と、高域復号回路45から供給された復号高域サブバンドパワー推定係数とに基づいて、復号高域サブバンドパワーを算出する。なお、ステップS276では、図21のステップS216と同様の処理が行われる。
ステップS277において、復号高域サブバンドパワー算出回路46は、復号高域サブバンドパワーに、高域復号回路45から供給された擬似高域サブバンドパワー差分を加算して、最終的な復号高域サブバンドパワーとし、復号高域信号生成回路47に供給する。すなわち、算出された各サブバンドの復号高域サブバンドパワーに、同じサブバンドの擬似高域サブバンドパワー差分が加算される。
そして、その後、ステップS278およびステップS279の処理が行われて、復号処理は終了するが、これらの処理は図21のステップS217およびステップS218と同様であるので、その説明は省略する。
以上のようにして、復号装置40は、入力符号列の非多重化により得られた高域符号化データから係数インデックスと、擬似高域サブバンドパワー差分を得る。そして、復号装置40は、係数インデックスにより示される復号高域サブバンドパワー推定係数と、擬似高域サブバンドパワー差分とを用いて復号高域サブバンドパワーを算出する。これにより、高域サブバンドパワーの推定精度を向上させることができ、音楽信号をより高音質に再生することが可能となる。
なお、符号化装置30と、復号装置40との間で生じる高域サブバンドパワーの推定値の差、すなわち擬似高域サブバンドパワーと復号高域サブバンドパワーの差(以下、装置間推定差と称する)が考慮されるようにしてもよい。
そのような場合、例えば、高域符号化データとされる擬似高域サブバンドパワー差分が、装置間推定差で補正されたり、高域符号化データに装置間推定差が含まれるようにし、復号装置40側で、装置間推定差により、擬似高域サブバンドパワー差分が補正されたりする。さらに、予め復号装置40側で、装置間推定差を記録しておくようにし、復号装置40が、擬似高域サブバンドパワー差分に装置間推定差を加算して、補正を行なうようにしてもよい。これにより、実際の高域信号に、より近い復号高域信号を得ることができる。
〈5.第5の実施の形態〉
なお、図18の符号化装置30では、擬似高域サブバンドパワー差分算出回路36が、差分二乗和E(J,id)を指標として、複数の係数インデックスから最適なものを選択すると説明したが、差分二乗和とは異なる指標を用いて係数インデックスを選択してもよい。
例えば、係数インデックスを選択する指標として、高域サブバンドパワーと擬似高域サブバンドパワーの残差の二乗平均値、最大値、および平均値等を考慮した評価値を用いるようにしてもよい。そのような場合、図18の符号化装置30は、図24のフローチャートに示す符号化処理を行う。
以下、図24のフローチャートを参照して、符号化装置30による符号化処理について説明する。なお、ステップS301乃至ステップS305の処理は、図19のステップS181乃至ステップS185の処理と同様であるので、その説明は省略する。ステップS301乃至ステップS305の処理が行われると、K個の復号高域サブバンドパワー推定係数ごとに、各サブバンドの擬似高域サブバンドパワーが算出される。
ステップS306において、擬似高域サブバンドパワー差分算出回路36は、K個の復号高域サブバンドパワー推定係数ごとに、処理対象となっている現フレームJを用いた評価値Res(id,J)を算出する。
具体的には、擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33から供給された各サブバンドの高域サブバンド信号を用いて、上述した式(1)と同様の演算を行ない、フレームJにおける高域サブバンドパワーpower(ib,J)を算出する。なお、本実施の形態では、低域サブバンド信号のサブバンドと高域サブバンド信号のサブバンドの全てを、インデックスibを用いて識別することとする。
高域サブバンドパワーpower(ib,J)が得られると、擬似高域サブバンドパワー差分算出回路36は、次式(16)を計算し、残差二乗平均値Resstd(id,J)を算出する。
すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、フレームJの高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められ、それらの差分の二乗和が残差二乗平均値Resstd(id,J)とされる。なお、擬似高域サブバンドパワーpowerest(ib,id,J)は、係数インデックスがidである復号高域サブバンドパワー推定係数について求められた、インデックスがibであるサブバンドのフレームJの擬似高域サブバンドパワーを示している。
続いて、擬似高域サブバンドパワー差分算出回路36は、次式(17)を計算し、残差最大値Resmax(id,J)を算出する。
なお、式(17)において、maxib{|power(ib,J)−powerest(ib,id,J)|}は、インデックスがsb+1乃至ebである各サブバンドの高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分の絶対値のうちの最大のものを示している。したがって、フレームJにおける高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分の絶対値の最大値が残差最大値Resmax(id,J)とされる。
また、擬似高域サブバンドパワー差分算出回路36は、次式(18)を計算し、残差平均値Resave(id,J)を算出する。
すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、フレームJの高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められ、それらの差分の総和が求められる。そして、得られた差分の総和を高域側のサブバンド数(eb−sb)で除算して得られる値の絶対値が残差平均値Resave(id,J)とされる。この残差平均値Resave(id,J)は、符号が考慮された各サブバンドの推定誤差の平均値の大きさを示している。
さらに、残差二乗平均値Resstd(id,J)、残差最大値Resmax(id,J)、および残差平均値Resave(id,J)が得られると、擬似高域サブバンドパワー差分算出回路36は、次式(19)を計算し、最終的な評価値Res(id,J)を算出する。
すなわち、残差二乗平均値Resstd(id,J)、残差最大値Resmax(id,J)、および残差平均値Resave(id,J)が重み付き加算されて、最終的な評価値Res(id,J)とされる。なお、式(19)において、WmaxおよびWaveは、予め定められた重みであり、例えばWmax=0.5、Wave=0.5などとされる。
擬似高域サブバンドパワー差分算出回路36は、以上の処理を行って、K個の復号高域サブバンドパワー推定係数ごとに、すなわちK個の係数インデックスidごとに、評価値Res(id,J)を算出する。
ステップS307において、擬似高域サブバンドパワー差分算出回路36は、求めた係数インデックスidごとの評価値Res(id,J)に基づいて、係数インデックスidを選択する。
以上の処理で得られた評価値Res(id,J)は、実際の高域信号から算出された高域サブバンドパワーと、係数インデックスがidである復号高域サブバンドパワー推定係数を用いて算出された擬似高域サブバンドパワーとの類似の度合いを示している。つまり、高域成分の推定誤差の大きさを示している。
したがって、評価値Res(id,J)が小さいほど、復号高域サブバンドパワー推定係数を用いた演算により、実際の高域信号により近い復号高域信号が得られることになる。そこで、擬似高域サブバンドパワー差分算出回路36は、K個の評価値Res(id,J)のうち、値が最小となる評価値を選択し、その評価値に対応する復号高域サブバンドパワー推定係数を示す係数インデックスを、高域符号化回路37に供給する。
係数インデックスが高域符号化回路37に出力されると、その後、ステップS308およびステップS309の処理が行われて符号化処理は終了するが、これらの処理は図19のステップS188およびステップS189と同様であるので、その説明は省略する。
以上のように、符号化装置30では、残差二乗平均値Resstd(id,J)、残差最大値Resmax(id,J)、および残差平均値Resave(id,J)から算出された評価値Res(id,J)が用いられて、最適な復号高域サブバンドパワー推定係数の係数インデックスが選択される。
評価値Res(id,J)を用いれば、差分二乗和を用いた場合と比べて、より多くの評価尺度を用いて高域サブバンドパワーの推定精度を評価できるので、より適切な復号高域サブバンドパワー推定係数を選択することができるようになる。これにより、出力符号列の入力を受ける復号装置40では、周波数帯域拡大処理に最も適した、復号高域サブバンドパワー推定係数を得ることができ、より高音質な信号を得ることができるようになる。
〈変形例1〉
また、以上において説明した符号化処理を入力信号のフレームごとに行うと、入力信号の高域側の各サブバンドの高域サブバンドパワーの時間的な変動が少ない定常部では、連続するフレームごとに異なる係数インデックスが選択されてしまうことがある。
すなわち、入力信号の定常部を構成する、連続するフレームでは、各フレームの高域サブバンドパワーは殆ど同じ値となるので、それらのフレームでは継続して同じ係数インデックスが選択されるべきである。ところが、これらの連続するフレームの区間において、フレームごとに選択される係数インデックスが変化し、その結果、復号装置40側において再生される音声の高域成分が定常ではなくなってしまうことがある。そうすると、再生された音声には、聴感上違和感が生じてしまう。
そこで、符号化装置30において係数インデックスを選択する場合に、時間的に前のフレームでの高域成分の推定結果も考慮されるようにしてもよい。そのような場合、図18の符号化装置30は、図25のフローチャートに示す符号化処理を行う。
以下、図25のフローチャートを参照して、符号化装置30による符号化処理について説明する。なお、ステップS331乃至ステップS336の処理は、図24のステップS301乃至ステップS306の処理と同様であるので、その説明は省略する。
ステップS337において、擬似高域サブバンドパワー差分算出回路36は、過去フレームと現フレームを用いた評価値ResP(id,J)を算出する。
具体的には、擬似高域サブバンドパワー差分算出回路36は、処理対象のフレームJよりも時間的に1つ前のフレーム(J−1)について、最終的に選択された係数インデックスの復号高域サブバンドパワー推定係数を用いて得られた、各サブバンドの擬似高域サブバンドパワーを記録している。ここで、最終的に選択された係数インデックスとは、高域符号化回路37により符号化されて、復号装置40に出力された係数インデックスである。
以下では、特にフレーム(J−1)において選択された係数インデックスidをidselected(J-1)とする。また、係数インデックスidselected(J-1)の復号高域サブバンドパワー推定係数を用いて得られた、インデックスがib(但し、sb+1≦ib≦eb)であるサブバンドの擬似高域サブバンドパワーをpowerest(ib,idselected(J-1),J-1)として説明を続ける。
擬似高域サブバンドパワー差分算出回路36は、まず次式(20)を計算し、推定残差二乗平均値ResPstd(id,J)を算出する。
すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、フレーム(J−1)の擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と、フレームJの擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められる。そして、それらの差分の二乗和が推定残差二乗平均値ResPstd(id,J)とされる。なお、擬似高域サブバンドパワーpowerest(ib,id,J)は、係数インデックスがidである復号高域サブバンドパワー推定係数について求められた、インデックスがibであるサブバンドのフレームJの擬似高域サブバンドパワーを示している。
この推定残差二乗平均値ResPstd(id,J)は、時間的に連続するフレーム間の擬似高域サブバンドパワーの差分二乗和であるから、推定残差二乗平均値ResPstd(id,J)が小さいほど、高域成分の推定値の時間的な変化が少ないことになる。
続いて、擬似高域サブバンドパワー差分算出回路36は、次式(21)を計算し、推定残差最大値ResPmax(id,J)を算出する。
なお、式(21)において、maxib{|powerest(ib,idselected(J-1),J-1)−powerest(ib,id,J)|}は、インデックスがsb+1乃至ebである各サブバンドの擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分の絶対値のうちの最大のものを示している。したがって、時間的に連続するフレーム間の擬似高域サブバンドパワーの差分の絶対値の最大値が推定残差最大値ResPmax(id,J)とされる。
推定残差最大値ResPmax(id,J)は、その値が小さいほど、連続するフレーム間の高域成分の推定結果が近いことになる。
推定残差最大値ResPmax(id,J)が得られると、次に擬似高域サブバンドパワー差分算出回路36は、次式(22)を計算し、推定残差平均値ResPave(id,J)を算出する。
すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、フレーム(J−1)の擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と、フレームJの擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められる。そして、各サブバンドの差分の総和が高域側のサブバンド数(eb−sb)で除算されて得られた値の絶対値が、推定残差平均値ResPave(id,J)とされる。この推定残差平均値ResPave(id,J)は、符号が考慮されたフレーム間のサブバンドの推定値の差の平均値の大きさを示している。
さらに、推定残差二乗平均値ResPstd(id,J)、推定残差最大値ResPmax(id,J)、および推定残差平均値ResPave(id,J)が得られると、擬似高域サブバンドパワー差分算出回路36は、次式(23)を計算し、評価値ResP(id,J)を算出する。
すなわち、推定残差二乗平均値ResPstd(id,J)、推定残差最大値ResPmax(id,J)、および推定残差平均値ResPave(id,J)が重み付き加算されて、評価値ResP(id,J)とされる。なお、式(23)において、WmaxおよびWaveは、予め定められた重みであり、例えばWmax=0.5、Wave=0.5などとされる。
このようにして、過去フレームと現フレームを用いた評価値ResP(id,J)が算出されると、処理はステップS337からステップS338へと進む。
ステップS338において、擬似高域サブバンドパワー差分算出回路36は、次式(24)を計算して、最終的な評価値Resall(id,J)を算出する。
すなわち、求めた評価値Res(id,J)と評価値ResP(id,J)が重み付き加算される。なお、式(24)において、Wp(J)は、例えば次式(25)により定義される重みである。
また、式(25)におけるpowerr(J)は、次式(26)により定まる値である。
このpowerr(J)は、フレーム(J−1)とフレームJの高域サブバンドパワーの差分の平均を示している。また、式(25)からWp(J)は、powerr(J)が0近傍の所定の範囲内の値であるときは、powerr(J)が小さいほど1に近い値となり、powerr(J)が所定の範囲の値より大きいときは0となる。
ここで、powerr(J)が0近傍の所定範囲内の値である場合、連続するフレーム間の高域サブバンドパワーの差分の平均はある程度小さいことになる。換言すれば、入力信号の高域成分の時間的な変動が少なく、入力信号の現フレームは定常部であることになる。
重みWp(J)は、入力信号の高域成分が定常であるほど、より1に近い値となり、逆に高域成分が定常でないほどより0に近い値となる。したがって、式(24)に示される評価値Resall(id,J)では、入力信号の高域成分の時間的変動が少ないほど、より直前のフレームでの高域成分の推定結果との比較結果を評価尺度とした評価値ResP(id,J)の寄与率が大きくなる。
その結果、入力信号の定常部では、直前のフレームにおける高域成分の推定結果に近いものが得られる復号高域サブバンドパワー推定係数が選択されることになり、復号装置40側において、より自然で高音質な音声を再生できるようになる。逆に、入力信号の非定常部では、評価値Resall(id,J)における評価値ResP(id,J)の項は0となり、実際の高域信号により近い復号高域信号が得られる。
擬似高域サブバンドパワー差分算出回路36は、以上の処理を行って、K個の復号高域サブバンドパワー推定係数ごとに、評価値Resall(id,J)を算出する。
ステップS339において、擬似高域サブバンドパワー差分算出回路36は、求めた復号高域サブバンドパワー推定係数ごとの評価値Resall(id,J)に基づいて、係数インデックスidを選択する。
以上の処理で得られた評価値Resall(id,J)は、重みを用いて評価値Res(id,J)と評価値ResP(id,J)を線形結合したものである。上述したように、評価値Res(id,J)は、値が小さいほど、実際の高域信号により近い復号高域信号が得られる。また、評価値ResP(id,J)は、その値が小さいほど、直前のフレームの復号高域信号により近い復号高域信号が得られる。
したがって、評価値Resall(id,J)が小さいほど、より適切な復号高域信号が得られることになる。そこで、擬似高域サブバンドパワー差分算出回路36は、K個の評価値Resall(id,J)のうち、値が最小となる評価値を選択し、その評価値に対応する復号高域サブバンドパワー推定係数を示す係数インデックスを、高域符号化回路37に供給する。
係数インデックスが選択されると、その後、ステップS340およびステップS341の処理が行われて符号化処理は終了するが、これらの処理は図24のステップS308およびステップS309と同様であるので、その説明は省略する。
以上のように、符号化装置30では、評価値Res(id,J)と評価値ResP(id,J)を線形結合して得られる評価値Resall(id,J)が用いられて、最適な復号高域サブバンドパワー推定係数の係数インデックスが選択される。
評価値Resall(id,J)を用いれば、評価値Res(id,J)を用いた場合と同様に、より多くの評価尺度により、より適切な復号高域サブバンドパワー推定係数を選択することができる。しかも、評価値Resall(id,J)を用いれば、復号装置40側において、再生しようとする信号の高域成分の定常部における時間的な変動を抑制することができ、より高音質な信号を得ることができる。
〈変形例2〉
ところで、周波数帯域拡大処理では、より高音質な音声を得ようとすると、より低域側のサブバンドほど聴感上重要となる。すなわち、高域側の各サブバンドのうち、より低域側に近いサブバンドの推定精度が高いほど、より高音質な音声を再生することができる。
そこで、各復号高域サブバンドパワー推定係数についての評価値が算出される場合に、より低域側のサブバンドに重きが置かれるようにしてもよい。そのような場合、図18の符号化装置30は、図26のフローチャートに示す符号化処理を行う。
以下、図26のフローチャートを参照して、符号化装置30による符号化処理について説明する。なお、ステップS371乃至ステップS375の処理は、図25のステップS331乃至ステップS335の処理と同様であるので、その説明は省略する。
ステップS376において、擬似高域サブバンドパワー差分算出回路36は、K個の復号高域サブバンドパワー推定係数ごとに、処理対象となっている現フレームJを用いた評価値ResWband(id,J)を算出する。
具体的には、擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33から供給された各サブバンドの高域サブバンド信号を用いて、上述した式(1)と同様の演算を行ない、フレームJにおける高域サブバンドパワーpower(ib,J)を算出する。
高域サブバンドパワーpower(ib,J)が得られると、擬似高域サブバンドパワー差分算出回路36は、次式(27)を計算し、残差二乗平均値ResstdWband(id,J)を算出する。
すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、フレームJの高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められ、それらの差分にサブバンドごとの重みWband(ib)が乗算される。そして、重みWband(ib)が乗算された差分の二乗和が残差二乗平均値ResstdWband(id,J)とされる。
ここで、重みWband(ib)(但し、sb+1≦ib≦eb)は、例えば次式(28)で定義される。この重みWband(ib)の値は、より低域側のサブバンドほど大きくなる。
続いて、擬似高域サブバンドパワー差分算出回路36は、残差最大値ResmaxWband(id,J)を算出する。具体的には、インデックスがsb+1乃至ebである各サブバンドの高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分に、重みWband(ib)が乗算されたもののうちの絶対値の最大値が、残差最大値ResmaxWband(id,J)とされる。
また、擬似高域サブバンドパワー差分算出回路36は、残差平均値ResaveWband(id,J)を算出する。
具体的には、インデックスがsb+1乃至ebである各サブバンドについて、高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められて重みWband(ib)が乗算され、重みWband(ib)が乗算された差分の総和が求められる。そして、得られた差分の総和を高域側のサブバンド数(eb−sb)で除算して得られる値の絶対値が残差平均値ResaveWband(id,J)とされる。
さらに、擬似高域サブバンドパワー差分算出回路36は、評価値ResWband(id,J)を算出する。すなわち、残差二乗平均値ResstdWband(id,J)、重みWmaxが乗算された残差最大値ResmaxWband(id,J)、および重みWaveが乗算された残差平均値ResaveWband(id,J)の和が評価値ResWband(id,J)とされる。
ステップS377において、擬似高域サブバンドパワー差分算出回路36は、過去フレームと現フレームを用いた評価値ResPWband(id,J)を算出する。
具体的には、擬似高域サブバンドパワー差分算出回路36は、処理対象のフレームJよりも時間的に1つ前のフレーム(J−1)について、最終的に選択された係数インデックスの復号高域サブバンドパワー推定係数を用いて得られた、各サブバンドの擬似高域サブバンドパワーを記録している。
擬似高域サブバンドパワー差分算出回路36は、まず推定残差二乗平均値ResPstdWband(id,J)を算出する。すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と、擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められて重みWband(ib)が乗算される。そして、重みWband(ib)が乗算された差分の二乗和が推定残差二乗平均値ResPstdWband(id,J)とされる。
続いて、擬似高域サブバンドパワー差分算出回路36は、推定残差最大値ResPmaxWband(id,J)を算出する。具体的には、インデックスがsb+1乃至ebである各サブバンドの擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分に、重みWband(ib)が乗算されたもののうちの絶対値の最大値が、推定残差最大値ResPmaxWband(id,J)とされる。
次に、擬似高域サブバンドパワー差分算出回路36は、推定残差平均値ResPaveWband(id,J)を算出する。具体的には、インデックスがsb+1乃至ebである各サブバンドについて、擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と、擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められて、重みWband(ib)が乗算される。そして、重みWband(ib)が乗算された差分の総和が高域側のサブバンド数(eb−sb)で除算されて得られた値の絶対値が、推定残差平均値ResPaveWband(id,J)とされる。
さらに、擬似高域サブバンドパワー差分算出回路36は、推定残差二乗平均値ResPstdWband(id,J)、重みWmaxが乗算された推定残差最大値ResPmaxWband(id,J)、および重みWaveが乗算された推定残差平均値ResPaveWband(id,J)の和を求め、評価値ResPWband(id,J)とする。
ステップS378において、擬似高域サブバンドパワー差分算出回路36は、評価値ResWband(id,J)と、式(25)の重みWp(J)が乗算された評価値ResPWband(id,J)とを加算して、最終的な評価値ResallWband(id,J)を算出する。この評価値ResallWband(id,J)は、K個の復号高域サブバンドパワー推定係数ごとに算出される。
そして、その後、ステップS379乃至ステップS381の処理が行われて符号化処理は終了するが、これらの処理は図25のステップS339乃至ステップS341の処理と同様であるので、その説明は省略する。なお、ステップS379では、K個の係数インデックスのうち、評価値ResallWband(id,J)が最小となるものが選択される。
このように、より低域側のサブバンドに重きが置かれるように、サブバンドごとに重みを付けることで、復号装置40側において、さらに高音質な音声を得ることができるようになる。
なお、以上においては、評価値ResallWband(id,J)に基づいて、復号高域サブバンドパワー推定係数の選択が行なわれると説明したが、復号高域サブバンドパワー推定係数が、評価値ResWband(id,J)に基づいて選択されるようにしてもよい。
〈変形例3〉
さらに、人間の聴覚は、振幅(パワー)の大きい周波数帯域ほどよく知覚するという特性を有しているので、よりパワーが大きいサブバンドに重きが置かれるように、各復号高域サブバンドパワー推定係数についての評価値が算出されてもよい。
そのような場合、図18の符号化装置30は、図27のフローチャートに示す符号化処理を行う。以下、図27のフローチャートを参照して、符号化装置30による符号化処理について説明する。なお、ステップS401乃至ステップS405の処理は、図25のステップS331乃至ステップS335の処理と同様であるので、その説明は省略する。
ステップS406において、擬似高域サブバンドパワー差分算出回路36は、K個の復号高域サブバンドパワー推定係数ごとに、処理対象となっている現フレームJを用いた評価値ResWpower(id,J)を算出する。
具体的には、擬似高域サブバンドパワー差分算出回路36は、サブバンド分割回路33から供給された各サブバンドの高域サブバンド信号を用いて、上述した式(1)と同様の演算を行ない、フレームJにおける高域サブバンドパワーpower(ib,J)を算出する。
高域サブバンドパワーpower(ib,J)が得られると、擬似高域サブバンドパワー差分算出回路36は、次式(29)を計算し、残差二乗平均値ResstdWpower(id,J)を算出する。
すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められ、それらの差分にサブバンドごとの重みWpower(power(ib,J))が乗算される。そして、重みWpower(power(ib,J))が乗算された差分の二乗和が残差二乗平均値ResstdWpower(id,J)とされる。
ここで、重みWpower(power(ib,J))(但し、sb+1≦ib≦eb)は、例えば次式(30)で定義される。この重みWpower(power(ib,J))の値は、そのサブバンドの高域サブバンドパワーpower(ib,J)が大きいほど、大きくなる。
続いて、擬似高域サブバンドパワー差分算出回路36は、残差最大値ResmaxWpower(id,J)を算出する。具体的には、インデックスがsb+1乃至ebである各サブバンドの高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分に、重みWpower(power(ib,J))が乗算されたもののうちの絶対値の最大値が、残差最大値ResmaxWpower(id,J)とされる。
また、擬似高域サブバンドパワー差分算出回路36は、残差平均値ResaveWpower(id,J)を算出する。
具体的には、インデックスがsb+1乃至ebである各サブバンドについて、高域サブバンドパワーpower(ib,J)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められて重みWpower(power(ib,J))が乗算され、重みWpower(power(ib,J))が乗算された差分の総和が求められる。そして、得られた差分の総和を高域側のサブバンド数(eb−sb)で除算して得られる値の絶対値が残差平均値ResaveWpower(id,J)とされる。
さらに、擬似高域サブバンドパワー差分算出回路36は、評価値ResWpower(id,J)を算出する。すなわち、残差二乗平均値ResstdWpower(id,J)、重みWmaxが乗算された残差最大値ResmaxWpower(id,J)、および重みWaveが乗算された残差平均値ResaveWpower(id,J)の和が評価値ResWpower(id,J)とされる。
ステップS407において、擬似高域サブバンドパワー差分算出回路36は、過去フレームと現フレームを用いた評価値ResPWpower(id,J)を算出する。
具体的には、擬似高域サブバンドパワー差分算出回路36は、処理対象のフレームJよりも時間的に1つ前のフレーム(J−1)について、最終的に選択された係数インデックスの復号高域サブバンドパワー推定係数を用いて得られた、各サブバンドの擬似高域サブバンドパワーを記録している。
擬似高域サブバンドパワー差分算出回路36は、まず推定残差二乗平均値ResPstdWpower(id,J)を算出する。すなわち、インデックスがsb+1乃至ebである高域側の各サブバンドについて、擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と、擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められて重みWpower(power(ib,J))が乗算される。そして、重みWpower(power(ib,J))が乗算された差分の二乗和が推定残差二乗平均値ResPstdWpower(id,J)とされる。
続いて、擬似高域サブバンドパワー差分算出回路36は、推定残差最大値ResPmaxWpower(id,J)を算出する。具体的には、インデックスがsb+1乃至ebである各サブバンドの擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と擬似高域サブバンドパワーpowerest(ib,id,J)の差分に、重みWpower(power(ib,J))が乗算されたもののうちの最大値の絶対値が、推定残差最大値ResPmaxWpower(id,J)とされる。
次に、擬似高域サブバンドパワー差分算出回路36は、推定残差平均値ResPaveWpower(id,J)を算出する。具体的には、インデックスがsb+1乃至ebである各サブバンドについて、擬似高域サブバンドパワーpowerest(ib,idselected(J-1),J-1)と、擬似高域サブバンドパワーpowerest(ib,id,J)の差分が求められて、重みWpower(power(ib,J))が乗算される。そして、重みWpower(power(ib,J))が乗算された差分の総和が高域側のサブバンド数(eb−sb)で除算されて得られた値の絶対値が、推定残差平均値ResPaveWpower(id,J)とされる。
さらに、擬似高域サブバンドパワー差分算出回路36は、推定残差二乗平均値ResPstdWpower(id,J)、重みWmaxが乗算された推定残差最大値ResPmaxWpower(id,J)、および重みWaveが乗算された推定残差平均値ResPaveWpower(id,J)の和を求め、評価値ResPWpower(id,J)とする。
ステップS408において、擬似高域サブバンドパワー差分算出回路36は、評価値ResWpower(id,J)と、式(25)の重みWp(J)が乗算された評価値ResPWpower(id,J)とを加算して、最終的な評価値ResallWpower(id,J)を算出する。この評価値ResallWpower(id,J)は、K個の復号高域サブバンドパワー推定係数ごとに算出される。
そして、その後、ステップS409乃至ステップS411の処理が行われて符号化処理は終了するが、これらの処理は図25のステップS339乃至ステップS341の処理と同様であるので、その説明は省略する。なお、ステップS409では、K個の係数インデックスのうち、評価値ResallWpower(id,J)が最小となるものが選択される。
このように、パワーが大きいサブバンドに重きが置かれるように、サブバンドごとに重みを付けることで、復号装置40側において、さらに高音質な音声を得ることができるようになる。
なお、以上においては、評価値ResallWpower(id,J)に基づいて、復号高域サブバンドパワー推定係数の選択が行なわれると説明したが、復号高域サブバンドパワー推定係数が、評価値ResWpower(id,J)に基づいて選択されるようにしてもよい。
〈6.第6の実施の形態〉
[係数学習装置の構成]
ところで、図20の復号装置40には、復号高域サブバンドパワー推定係数としての係数Aib(kb)と係数Bibのセットが、係数インデックスに対応付けられて記録されている。例えば、復号装置40に128個の係数インデックスの復号高域サブバンドパワー推定係数が記録されると、それらの復号高域サブバンドパワー推定係数を記録するメモリ等の記録領域として、大きな領域が必要となる。
そこで、いくつかの復号高域サブバンドパワー推定係数の一部を共通な係数とし、復号高域サブバンドパワー推定係数の記録に必要な記録領域をより小さくするようにしてもよい。そのような場合、復号高域サブバンドパワー推定係数を学習により求める係数学習装置は、例えば図28に示すように構成される。
係数学習装置81は、サブバンド分割回路91、高域サブバンドパワー算出回路92、特徴量算出回路93、および係数推定回路94から構成される。
この係数学習装置81には、学習に用いられる楽曲データ等が広帯域教師信号として複数供給される。広帯域教師信号は、高域の複数のサブバンド成分と、低域の複数のサブバンド成分とが含まれている信号である。
サブバンド分割回路91は、帯域通過フィルタなどからなり、供給された広帯域教師信号を、複数のサブバンド信号に分割し、高域サブバンドパワー算出回路92および特徴量算出回路93に供給する。具体的には、インデックスがsb+1乃至ebである高域側の各サブバンドの高域サブバンド信号が高域サブバンドパワー算出回路92に供給され、インデックスがsb−3乃至sbである低域側の各サブバンドの低域サブバンド信号が特徴量算出回路93に供給される。
高域サブバンドパワー算出回路92は、サブバンド分割回路91から供給された各高域サブバンド信号の高域サブバンドパワーを算出し、係数推定回路94に供給する。特徴量算出回路93は、サブバンド分割回路91から供給された各低域サブバンド信号に基づいて、低域サブバンドパワーを特徴量として算出し、係数推定回路94に供給する。
係数推定回路94は、高域サブバンドパワー算出回路92からの高域サブバンドパワーと、特徴量算出回路93からの特徴量とを用いて回帰分析を行なうことで復号高域サブバンドパワー推定係数を生成し、復号装置40に出力する。
[係数学習処理の説明]
次に、図29のフローチャートを参照して、係数学習装置81により行なわれる係数学習処理について説明する。
ステップS431において、サブバンド分割回路91は、供給された複数の広帯域教師信号のそれぞれを、複数のサブバンド信号に分割する。そして、サブバンド分割回路91は、インデックスがsb+1乃至ebであるサブバンドの高域サブバンド信号を高域サブバンドパワー算出回路92に供給し、インデックスがsb−3乃至sbであるサブバンドの低域サブバンド信号を特徴量算出回路93に供給する。
ステップS432において、高域サブバンドパワー算出回路92は、サブバンド分割回路91から供給された各高域サブバンド信号について、上述した式(1)と同様の演算を行なって高域サブバンドパワーを算出し、係数推定回路94に供給する。
ステップS433において、特徴量算出回路93は、サブバンド分割回路91から供給された各低域サブバンド信号について、上述した式(1)の演算を行なって低域サブバンドパワーを特徴量として算出し、係数推定回路94に供給する。
これにより、係数推定回路94には、複数の広帯域教師信号の各フレームについて、高域サブバンドパワーと低域サブバンドパワーが供給されることになる。
ステップS434において、係数推定回路94は、最小二乗法を用いた回帰分析を行なって、インデックスがsb+1乃至ebである高域側のサブバンドib(但し、sb+1≦ib≦eb)ごとに、係数Aib(kb)と係数Bibを算出する。
なお、回帰分析では、特徴量算出回路93から供給された低域サブバンドパワーが説明変数とされ、高域サブバンドパワー算出回路92から供給された高域サブバンドパワーが被説明変数とされる。また、回帰分析は、係数学習装置81に供給された全ての広帯域教師信号を構成する、全てのフレームの低域サブバンドパワーと高域サブバンドパワーが用いられて行なわれる。
ステップS435において、係数推定回路94は、求めたサブバンドibごとの係数Aib(kb)と係数Bibを用いて、広帯域教師信号の各フレームの残差ベクトルを求める。
例えば、係数推定回路94は、フレームJのサブバンドib(但し、sb+1≦ib≦eb)ごとに、高域サブバンドパワーpower(ib,J)から、係数Aib(kb)が乗算された低域サブバンドパワーpower(kb,J)(但し、sb−3≦kb≦sb)の総和と係数Bibとの和を減算して残差を求める。そして、フレームJの各サブバンドibの残差からなるベクトルが残差ベクトルとされる。
なお、残差ベクトルは、係数学習装置81に供給された全ての広帯域教師信号を構成する、全てのフレームについて算出される。
ステップS436において、係数推定回路94は、各フレームについて求めた残差ベクトルを正規化する。例えば、係数推定回路94は、各サブバンドibについて、全フレームの残差ベクトルのサブバンドibの残差の分散値を求め、その分散値の平方根で、各残差ベクトルにおけるサブバンドibの残差を除算することで、残差ベクトルを正規化する。
ステップS437において、係数推定回路94は、正規化された全フレームの残差ベクトルを、k-means法などによりクラスタリングする。
例えば、係数Aib(kb)と係数Bibを用いて、高域サブバンドパワーの推定を行なったときに得られた、全フレームの平均的な周波数包絡を平均周波数包絡SAと呼ぶこととする。また、平均周波数包絡SAよりもパワーの大きい所定の周波数包絡を周波数包絡SHとし、平均周波数包絡SAよりもパワーの小さい所定の周波数包絡を周波数包絡SLとする。
このとき、平均周波数包絡SA、周波数包絡SH、および周波数包絡SLに近い周波数包絡が得られた係数の残差ベクトルのそれぞれが、クラスタCA、クラスタCH、およびクラスタCLに属すように、残差ベクトルのクラスタリングが行なわれる。換言すれば、各フレームの残差ベクトルが、クラスタCA、クラスタCH、またはクラスタCLの何れかに属すように、クラスタリングが行なわれる。
低域成分と高域成分の相関に基づいて高域成分を推定する周波数帯域拡大処理では、その特性上、回帰分析により得られた係数Aib(kb)と係数Bibを用いて残差ベクトルを算出すると、より高域側のサブバンドほど残差が大きくなる。そのため、残差ベクトルをそのままクラスタリングすると、高域側のサブバンドほど重きが置かれて処理が行われることになる。
これに対し、係数学習装置81では、残差ベクトルを、各サブバンドの残差の分散値で正規化することで、見かけ上各サブバンドの残差の分散を等しいものとし、各サブバンドに均等な重みを付けてクラスタリングを行なうことができる。
ステップS438において、係数推定回路94は、クラスタCA、クラスタCH、またはクラスタCLのうちの何れか1つのクラスタを処理対象のクラスタとして選択する。
ステップS439において、係数推定回路94は、処理対象のクラスタとして選択したクラスタに属す残差ベクトルのフレームを用いて、回帰分析により各サブバンドib(但し、sb+1≦ib≦eb)の係数Aib(kb)と係数Bibを算出する。
すなわち、処理対象のクラスタに属す残差ベクトルのフレームを、処理対象フレームと呼ぶこととすると、全ての処理対象フレームの低域サブバンドパワーと高域サブバンドパワーが、説明変数および被説明変数とされて、最小二乗法を用いた回帰分析が行なわれる。これにより、サブバンドibごとに係数Aib(kb)と係数Bibが得られる。
ステップS440において、係数推定回路94は、全ての処理対象フレームについて、ステップS439の処理により得られた係数Aib(kb)と係数Bibを用いて、残差ベクトルを求める。なお、ステップS440では、ステップS435と同様の処理が行なわれて、各処理対象フレームの残差ベクトルが求められる。
ステップS441において、係数推定回路94は、ステップS440の処理で求めた各処理対象フレームの残差ベクトルを、ステップS436と同様の処理を行なって正規化する。すなわち、サブバンドごとに、残差が分散値の平方根で除算されて残差ベクトルの正規化が行なわれる。
ステップS442において、係数推定回路94は、正規化された全処理対象フレームの残差ベクトルを、k-means法などによりクラスタリングする。ここでのクラスタ数は、次のようにして定められる。例えば、係数学習装置81において、128個の係数インデックスの復号高域サブバンドパワー推定係数を生成しようとする場合には、処理対象フレーム数に128を乗算し、さらに全フレーム数で除算して得られる数がクラスタ数とされる。ここで、全フレーム数とは、係数学習装置81に供給された全ての広帯域教師信号の全フレームの総数である。
ステップS443において、係数推定回路94は、ステップS442の処理で得られた各クラスタの重心ベクトルを求める。
例えば、ステップS442のクラスタリングで得られたクラスタは、係数インデックスに対応しており、係数学習装置81では、クラスタごとに係数インデックスが割り当てられて、各係数インデックスの復号高域サブバンドパワー推定係数が求められる。
具体的には、ステップS438においてクラスタCAが、処理対象のクラスタとして選択され、ステップS442におけるクラスタリングにより、F個のクラスタが得られたとする。いま、F個のクラスタのうちの1つのクラスタCFに注目すると、クラスタCFの係数インデックスの復号高域サブバンドパワー推定係数は、ステップS439でクラスタCAについて求められた係数Aib(kb)が線形相関項である係数Aib(kb)とされる。また、ステップS443で求められたクラスタCFの重心ベクトルに対してステップS441で行なった正規化の逆処理(逆正規化)を施したベクトルと、ステップS439で求めた係数Bibとの和が、復号高域サブバンドパワー推定係数の定数項である係数Bibとされる。ここでいう逆正規化とは、例えばステップS441で行なった正規化が、サブバンドごとに残差を分散値の平方根で除算するものであった場合、クラスタCFの重心ベクトルの各要素に対して正規化時と同じ値(サブバンドごとの分散値の平方根)を乗算する処理となる。
つまり、ステップS439で得られた係数Aib(kb)と、上述のようにして求めた係数Bibとのセットが、クラスタCFの係数インデックスの復号高域サブバンドパワー推定係数となる。したがって、クラスタリングで得られたF個のクラスタのそれぞれは、復号高域サブバンドパワー推定係数の線形相関項として、クラスタCAについて求められた係数Aib(kb)を共通して持つことになる。
ステップS444において、係数学習装置81は、クラスタCA、クラスタCH、およびクラスタCLの全てのクラスタを処理対象のクラスタとして処理したか否かを判定する。ステップS444において、まだ全てのクラスタを処理していないと判定された場合、処理はステップS438に戻り、上述した処理が繰り返される。すなわち、次のクラスタが処理対象として選択され、復号高域サブバンドパワー推定係数が算出される。
これに対して、ステップS444において、全てのクラスタを処理したと判定された場合、求めようとする所定数の復号高域サブバンドパワー推定係数が得られたので、処理はステップS445に進む。
ステップS445において、係数推定回路94は、求めた係数インデックスと、復号高域サブバンドパワー推定係数とを復号装置40に出力して記録させ、係数学習処理は終了する。
例えば、復号装置40に出力される復号高域サブバンドパワー推定係数のなかには、線形相関項として同じ係数Aib(kb)をもつものがいくつかある。そこで、係数学習装置81は、これらの共通する係数Aib(kb)に対して、その係数Aib(kb)を特定する情報である線形相関項インデックス(ポインタ)を対応付けるとともに、係数インデックスに対して、線形相関項インデックスと定数項である係数Bibを対応付ける。
そして、係数学習装置81は、対応付けられた線形相関項インデックス(ポインタ)と係数Aib(kb)、並びに対応付けられた係数インデックスと線形相関項インデックス(ポインタ)および係数Bibを、復号装置40に供給して、復号装置40の高域復号回路45内のメモリに記録させる。このように、複数の復号高域サブバンドパワー推定係数を記録しておくにあたり、各復号高域サブバンドパワー推定係数のための記録領域に、共通する線形相関項については、線形相関項インデックス(ポインタ)を格納しておけば、記録領域を大幅に小さくすることができる。
この場合、高域復号回路45内のメモリには、線形相関項インデックスと係数Aib(kb)とが対応付けられて記録されているので、係数インデックスから線形相関項インデックスと係数Bibを得て、さらに線形相関項インデックスから係数Aib(kb)を得ることができる。
なお、本出願人による解析の結果、複数の復号高域サブバンドパワー推定係数の線形相関項を3パターン程度に共通化しても、周波数帯域拡大処理した音声の聴感上の音質の劣化は殆どないことが分かっている。したがって、係数学習装置81によれば、周波数帯域拡大処理後の音声の音質を劣化させることなく、復号高域サブバンドパワー推定係数の記録に必要な記録領域をより小さくすることができる。
以上のようにして、係数学習装置81は、供給された広帯域教師信号から、各係数インデックスの復号高域サブバンドパワー推定係数を生成し、出力する。
なお、図29の係数学習処理では、残差ベクトルを正規化すると説明したが、ステップS436またはステップS441の一方または両方において、残差ベクトルの正規化を行なわないようにしてもよい。
また、残差ベクトルの正規化は行なわれるようにし、復号高域サブバンドパワー推定係数の線形相関項の共通化は行なわれないようにしてもよい。そのような場合、ステップS436における正規化処理後、正規化された残差ベクトルが、求めようとする復号高域サブバンドパワー推定係数の数と同数のクラスタにクラスタリングされる。そして、各クラスタに属す残差ベクトルのフレームが用いられて、クラスタごとに回帰分析が行なわれ、各クラスタの復号高域サブバンドパワー推定係数が生成される。
〈7.第7の実施の形態〉
[サンプリング周波数毎に最適化したテーブルの共有について]
ところで、入力信号のサンプリング周波数を変化させた信号を入力する場合、それぞれのサンプリング周波数で個別に高域エンベロープ推定のための係数テーブルを用意しておかないと、適切な推定ができなかった。そのため、テーブルサイズが大きくなってしまうということがあった。
そこで、サンプリング周波数を変化させた入力信号に対して高域エンベロープの推定を行う際に、説明変数および被説明変数の担当帯域をサンプリング周波数変化の前後で同じにすることにより、推定のための係数テーブルを、サンプリング周波数変化の前後で共有するようにしてもよい。
すなわち、説明変数および被説明変数は、入力信号を帯域分割フィルタにより分割した複数のサブバンド信号のパワーとなっている。これを、より細かい分解能の帯域通過フィルタやQMFなどのフィルタバンクにより出力した複数の信号のパワーを周波数軸上で平均したもの(束ねたもの)としても良い。
例えば、入力信号を64バンドのQMFフィルタバンクに通し、64の信号のパワーを4バンドずつ平均し、計16のサブバンドパワーを得るとする(図30参照)。
一方、帯域拡大後のサンプリング周波数を例えば2倍にすることを考える。この場合、まず、帯域拡大装置への入力信号X2は、もとの入力信号X1のサンプリング周波数の2倍の周波数成分までを含む信号とされる。すなわち、入力信号X2のサンプリング周波数は、もとの入力信号X1のサンプリング周波数の2倍とされる。入力信号X2を64バンドのQMFフィルタバンクに通すと、出力される64の信号の帯域幅は元の2倍となる。そこで、64の信号の平均するバンド数をそれぞれ2分の1(=2)にし、サブバンドパワーを得る。このとき、X1から作ったサブバンドパワーのインデックスがsb+iの担当帯域と、X2から作ったサブバンドパワーのインデックスがsb+iの担当帯域が同じになる(図30および図31参照)。ここで、i=−sb+1,…−1,0,…eb1とする。また、eb1は、帯域拡大後のサンプリング周波数を変化させる前のebである。さらに、帯域拡大後のサンプリング周波数を2倍にする場合のebをeb2とすると、eb2はebの2倍となる。
このように、帯域拡大後のサンプリング周波数を変化させる前後で、説明変数および被説明変数の各サブバンドパワーの担当帯域を同じにすることにより、帯域拡大後のサンプリング周波数の変化が説明変数および被説明変数に与える影響を理想的にはなくすことができ、その結果、帯域拡大後のサンプリング周波数を変化させても同じ係数のテーブルを使って適切に高域のエンベロープを推定することができる。
ここで、sb+1からeb1(=eb2/2)までの高域パワー推定には元と同じ係数のテーブルを用いることができる。一方、eb2/2+1からeb2までのサブバンドのパワーの推定にはあらかじめ学習により係数を求めておいてもよいし、eb1(=eb2/2)の推定に使う係数をそのまま使っても良い。
一般化すると、帯域拡大後のサンプリング周波数をR倍する際、QMFの出力信号のパワーを平均する際のバンド数を1/R倍することにより、サンプリング周波数をR倍する前後で各サブバンドパワーの担当帯域を同じにすることができ、これにより、帯域拡大後のサンプリング周波数をR倍する前後で係数のテーブルを共有することができ、係数のテーブルを別々に保持する場合よりも係数のテーブルサイズを小さくすることができる。
次に、帯域拡大後のサンプリング周波数を2倍にする場合における、具体的な処理例について説明する。
例えば、図32の図中、上側に示すように入力信号X1に対する符号化、および復号が行なわれる場合に、約5kHzまでの成分が低域成分とされ、約5kHzから10kHzまでの成分が高域成分とされるとする。なお、図32では、入力信号の各周波数成分が示されている。また、図中、横軸は周波数を示しており、縦軸はパワーを示している。
この例では、入力信号X1の約5kHzから10kHzまでの高域成分の各サブバンドの高域サブバンド信号が、復号高域サブバンドパワー推定係数が用いられて推定される。
これに対して、音質を向上させるため、帯域拡大後のサンプリング周波数が2倍となるように、サンプリング周波数が入力信号X1の2倍である入力信号X2を入力として用いるようにする。入力信号X2には図中、下側に示すように約20kHzまでの成分が含まれる。
したがって、この入力信号X2に対する符号化、および復号が行なわれる場合に、約5kHzまでの成分が低域成分とされ、約5kHzから20kHzまでの成分が高域成分とされることになる。このように、帯域拡大後のサンプリング周波数が2倍になると、入力信号X2の全体の周波数帯域は、もとの入力信号X1の全体の周波数帯域の2倍となる。
いま、例えば、図33の上側に示すように、入力信号X1を所定数のサブバンドに分割し、約5kHzから10kHzまでの高域成分を構成する(eb1−sb)個の各サブバンドの高域サブバンド信号を、復号高域サブバンドパワー推定係数により推定するとする。
なお、図33では、入力信号の各周波数成分が示されている。また、図中、横軸は周波数を示しており、縦軸はパワーを示している。さらに、図中、縦方向の線はサブバンドの境界位置を表している。
同様に、入力信号X2を、入力信号X1における場合と同じ数のサブバンドに分割すると、入力信号X2の全体の帯域幅は入力信号X1の全体の帯域幅の2倍となるので、入力信号X2の各サブバンドの帯域幅は、入力信号X1の帯域幅の2倍となってしまう。
そうすると、入力信号X1の高域を推定するための復号高域サブバンドパワー推定係数としての係数Aib(kb)および係数Bibを用いても、適切に入力信号X2の高域の各サブバンドの高域サブバンド信号を得ることができなくなってしまう。
これは、各サブバンドの帯域幅が異なるだけでなく、高域側のサブバンドを推定するために用いられる係数Aib(kb)および係数Bibの担当帯域が変化するからである。すなわち、係数Aib(kb)および係数Bibは、高域のサブバンドごとに用意されているが、推定される入力信号X2の高域サブバンド信号のサブバンドと、その高域サブバンド信号の推定に用いられる係数のサブバンドとが異なる帯域となるからである。より詳細には、係数Aib(kb)および係数Bibを得るために用いられた学習時の被説明変数(高域成分)と説明変数(低域成分)のサブバンドと、これらの係数が用いられて実際に推定される入力信号X2の高域側のサブバンド、およびその推定に用いられる低域側のサブバンドとが異なる帯域となるからである。
そこで、図中、下側に示すように、入力信号X2を、入力信号X1のサブバンド分割数の2倍の数のサブバンドに分割すれば、各サブバンドの帯域幅と各サブバンドの帯域を入力信号X1の各サブバンドと同じものとすることができる。
例えば、入力信号X1の高域のサブバンドsb+1乃至サブバンドeb1が、低域側のサブバンドsb−3乃至サブバンドsbの成分と、高域の各サブバンドの係数Aib(kb)および係数Bibとから推定されるとする。
この場合、入力信号X1における場合の2倍の数のサブバンド数に入力信号X2を帯域分割すれば、入力信号X2の高域のサブバンドsb+1乃至サブバンドeb1については、入力信号X1の場合と同じ低域成分と係数を用いて、高域成分の推定を行うことができる。つまり、入力信号X2の高域のサブバンドsb+1乃至サブバンドeb1の成分を、低域側のサブバンドsb−3乃至サブバンドsbの成分と、高域の各サブバンドの係数Aib(kb)および係数Bibとから適切に推定することができる。
但し、入力信号X1では、サブバンドeb1よりも周波数の高い、サブバンドeb1+1乃至サブバンドeb2については、高域成分の推定が行なわれない。そのため、入力信号X2の高域のサブバンドeb1+1乃至サブバンドeb2については、復号高域サブバンドパワー推定係数としての係数Aib(kb)および係数Bibがなく、これらのサブバンドの成分を推定することができなくなってしまう。
この場合、入力信号X2に対して、サブバンドsb+1乃至サブバンドeb2の各サブバンドの係数からなる復号高域サブバンドパワー推定係数を予め用意しておけばよい。しかしながら、入力信号のサンプリング周波数ごとに復号高域サブバンドパワー推定係数を記録しておくと、復号高域サブバンドパワー推定係数の記録領域のサイズが大きくなってしまう。
そこで、帯域拡大後のサンプリング周波数が2倍となるように、入力信号X2を入力とした場合には、入力信号X1に対して用いられる復号高域サブバンドパワー推定係数の拡張を行い、不足するサブバンドの係数を生成すれば、より簡単かつ適切に高域成分を推定することができる。すなわち、入力信号のサンプリング周波数によらず、同じ復号高域サブバンドパワー推定係数を共通して用いることができ、復号高域サブバンドパワー推定係数の記録領域のサイズを低減させることができる。
ここで、復号高域サブバンドパワー推定係数の拡張について説明する。
入力信号X1の高域成分は、サブバンドsb+1乃至サブバンドeb1までの(eb1−sb)個のサブバンドから構成される。そのため、各サブバンドの高域サブバンド信号からなる復号高域信号を得るには、例えば図34の上側に示す係数セットが必要となる。
すなわち、図34の上側において、一番上側の行の係数Asb+1(sb-3)乃至係数A sb+1(sb)は、サブバンドsb+1の復号高域サブバンドパワーを得るために、低域側のサブバンドsb−3乃至サブバンドsbの各低域サブバンドパワーに乗算される係数である。また図中、一番上側の行の係数B sb+1は、サブバンドsb+1の復号高域サブバンドパワーを得るための低域サブバンドパワーの線形結合の定数項である。
同様に、図中、上側において、一番下の行の係数Aeb1(sb-3)乃至係数Aeb1(sb)は、サブバンドeb1の復号高域サブバンドパワーを得るために、低域側のサブバンドsb−3乃至サブバンドsbの各低域サブバンドパワーに乗算される係数である。また図中、一番下側の行の係数Beb1は、サブバンドeb1の復号高域サブバンドパワーを得るための低域サブバンドパワーの線形結合の定数項である。
このように、符号化装置や復号装置には、1つの係数インデックスにより特定される復号高域サブバンドパワー推定係数として、5×(eb1−sb)個の係数セットが予め記録されている。なお、以下、復号高域サブバンドパワー推定係数としてのこれらの5×(eb1−sb)個の係数のセットを、係数テーブルとも称することとする。
例えば、サンプリング周波数が2倍となるように、入力信号がアップサンプリングされると、高域成分は、サブバンドsb+1乃至サブバンドeb2までのeb2−sb個のサブバンドに分割される。したがって、図34の上側に示した係数テーブルでは係数が不足し、適切に復号高域信号を得ることができない。
そこで、図中、下側に示すように係数テーブルが拡張される。具体的には、復号高域サブバンドパワー推定係数としてのサブバンドeb1の係数Aeb1(sb-3)乃至係数Aeb1(sb)と係数Beb1が、そのままサブバンドeb1+1乃至サブバンドeb2の係数として用いられる。
すなわち、係数テーブルにおいて、サブバンドeb1の係数Aeb1(sb-3)乃至係数Aeb1(sb)と係数Beb1が、そのまま複製されてサブバンドeb1+1の係数Aeb1+1(sb-3)乃至係数Aeb1+1(sb)と係数Beb1+1として用いられている。同様に、係数テーブルにおいて、サブバンドeb1の係数が、そのまま複製されてサブバンドeb1+2乃至サブバンドeb2の各係数として用いられている。
このように、係数テーブルが拡張される場合、係数テーブル内の最も周波数が高いサブバンドの係数Aib(kb)および係数Bibが、不足するサブバンドの係数として、そのまま用いられる。
なお、高域成分における、サブバンドeb1+1やサブバンドeb2等の周波数の高いサブバンドの成分の推定精度が多少低下したとしても、復号高域信号と復号低域信号とからなる出力信号の再生時に、聴感上の劣化が生じることはない。
[符号化装置の機能的構成例]
以上のように、帯域拡大後のサンプリング周波数を変化させる場合、符号化装置は、例えば図35に示すように構成される。なお、図35において、図18における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図35の符号化装置111と、図18の符号化装置30とは、符号化装置111に新たにサンプリング周波数変換部121が設けられている点、および符号化装置111の擬似高域サブバンドパワー算出回路35に拡張部131が設けられている点で異なっており、その他の構成は同じ構成とされている。
サンプリング周波数変換部121は、供給された入力信号が所望のサンプリング周波数の信号となるように、入力信号のサンプリング周波数を変換し、低域通過フィルタ31およびサブバンド分割回路33に供給する。
拡張部131は、入力信号の高域成分を分割するサブバンド数に応じて、擬似高域サブバンドパワー算出回路35が記録している係数テーブルを拡張する。擬似高域サブバンドパワー算出回路35は、必要に応じて拡張部131により拡張された係数テーブルを用いて、擬似高域サブバンドパワーを算出する。
[符号化処理の説明]
次に、図36のフローチャートを参照して、符号化装置111により行なわれる符号化処理について説明する。
ステップS471において、サンプリング周波数変換部121は、供給された入力信号のサンプリング周波数を変換し、低域通過フィルタ31およびサブバンド分割回路33に供給する。
例えば、サンプリング周波数変換部121は、入力信号のサンプリング周波数が、ユーザ等により指定された所定のサンプリング周波数となるように、入力信号のサンプリング周波数を変換する。このように、入力信号のサンプリング周波数を、ユーザの所望とするサンプリング周波数に変換することにより、音声の音質を向上させることができる。
入力信号のサンプリング周波数の変換が行なわれると、ステップS472およびステップS473の処理が行われるが、これらの処理は図19のステップS181およびステップS182の処理と同様であるので、その説明は省略する。
ステップS474において、サブバンド分割回路33は、入力信号および低域信号を、所定の帯域幅を持つ複数のサブバンド信号に等分割する。
例えば、サンプリング周波数変換部121で、帯域拡大後のサンプリング周波数が、もとのサンプリング周波数のN倍となるように、入力信号のサンプリング周波数が変換されたとする。この場合、サブバンド分割回路33は、帯域拡大後のサンプリング周波数を変化させない場合と比べてサブバンド数がN倍となるように、サンプリング周波数変換部121から供給された入力信号を、各サブバンドのサブバンド信号に帯域分割する。
そして、サブバンド分割回路33は、入力信号の帯域分割により得られたサブバンド信号のうち、高域側の各サブバンドの信号を、高域サブバンド信号として擬似高域サブバンドパワー差分算出回路36に供給する。例えば、予め定められた周波数以上の各サブバンド(サブバンドsb+1乃至サブバンドN×eb1)のサブバンド信号が、高域サブバンド信号とされる。
このような帯域分割により、入力信号の高域成分は、復号高域サブバンドパワー推定係数を構成する各係数のサブバンドと同じ帯域幅および位置の帯域をサブバンドとする高域サブバンド信号に分割される。つまり、各高域サブバンド信号のサブバンドは、係数テーブルの対応するサブバンドの係数の学習時に用いられた被説明変数としての高域サブバンド信号のサブバンドと同じ帯域となる。
また、サブバンド分割回路33は、低域を構成するサブバンド数が、帯域拡大後のサンプリング周波数を変化させない場合と同じサブバンド数となるように、低域通過フィルタ31から供給された低域信号を各サブバンドの低域サブバンド信号に帯域分割する。サブバンド分割回路33は、帯域分割により得られた低域サブバンド信号を、特徴量算出回路34に供給する。
ここで、入力信号に含まれる低域信号は、入力信号の所定周波数(例えば、5kHz)までの各帯域(サブバンド)の信号であるから、帯域拡大後のサンプリング周波数を変化させるか否かに関わらず、低域信号の全体の帯域幅は同じである。そのため、サブバンド分割回路33では、入力信号のサンプリング周波数によらず、低域信号が同じ分割数で帯域分割される。
ステップS475において、特徴量算出回路34は、サブバンド分割回路33からの低域サブバンド信号を用いて特徴量を算出し、擬似高域サブバンドパワー算出回路35に供給する。具体的には、特徴量算出回路34は、上述した式(1)の演算を行って、低域側の各サブバンドib(但し、sb-3≦ib≦sb)について、フレームJ(但し、0≦J)の低域サブバンドパワーpower(ib,J)を特徴量として算出する。
ステップS476において、拡張部131は、入力信号の高域のサブバンド数に応じて、擬似高域サブバンドパワー算出回路35が記録している復号高域サブバンドパワー推定係数としての係数テーブルを拡張する。
例えば、帯域拡大後のサンプリング周波数を変化させない場合、入力信号の高域成分が、サブバンドsb+1乃至サブバンドeb1の(eb1−sb)個のサブバンドの高域サブバンド信号に分割されるとする。また、擬似高域サブバンドパワー算出回路35に、復号高域サブバンドパワー推定係数として、サブバンドsb+1乃至サブバンドeb1の(eb1−sb)個のサブバンドの係数Aib(kb)および係数Bibからなる係数テーブルが記録されているとする。
さらに、例えば帯域拡大後のサンプリング周波数がN倍(但し、1≦N)となるように、入力信号のサンプリング周波数が変換されたとする。この場合、拡張部131は、係数テーブルに含まれるサブバンドeb1の係数Aeb1(kb)と係数Beb1を複製して、そのままサブバンドeb1+1乃至サブバンドN×eb1の各サブバンドの係数とする。これにより、(N×eb1−sb)個のサブバンドの係数Aib(kb)および係数Bibからなる係数テーブルが得られる。
また、係数テーブルの拡張は、最も周波数の高いサブバンドの係数Aib(kb)および係数Bibを複製し、他のサブバンドの係数とする例に限らず、係数テーブルの任意のサブバンドの係数が複製されて、拡張される(不足している)サブバンドの係数とされてもよい。また、複製される係数は、1つのサブバンドの係数に限らず、複数のサブバンドの係数が複製されて、拡張する複数のサブバンドの係数のそれぞれとされてもよいし、複数のサブバンドの係数から、拡張されるサブバンドの係数が算出されるようにしてもよい。
ステップS477において、擬似高域サブバンドパワー算出回路35は、特徴量算出回路34から供給された特徴量に基づいて、擬似高域サブバンドパワーを算出し、擬似高域サブバンドパワー差分算出回路36に供給する。
例えば、擬似高域サブバンドパワー算出回路35は、復号高域サブバンドパワー推定係数として記録しており、拡張部131により拡張された係数テーブルと、低域サブバンドパワーpower(kb,J)(但し、sb-3≦kb≦sb)とを用いて上述した式(2)の演算を行い、擬似高域サブバンドパワーpowerest(ib,J)を算出する。
すなわち、特徴量として供給された低域側の各サブバンドの低域サブバンドパワーpower(kb,J)に、サブバンドごとの係数Aib(kb)が乗算され、係数が乗算された低域サブバンドパワーの和に、さらに係数Bibが加算されて、擬似高域サブバンドパワーpowerest(ib,J)とされる。この擬似高域サブバンドパワーは、高域側の各サブバンドについて算出される。
また、擬似高域サブバンドパワー算出回路35は、予め記録している復号高域サブバンドパワー推定係数(係数テーブル)ごとに擬似高域サブバンドパワーの算出を行なう。例えば、係数インデックスが1乃至K(但し、2≦K)のK個の復号高域サブバンドパワー推定係数が予め用意されているとする。この場合、K個の復号高域サブバンドパワー推定係数ごとに、各サブバンドの擬似高域サブバンドパワーが算出されることになる。
擬似高域サブバンドパワーが算出されると、その後、ステップS478乃至ステップS481の処理が行われて符号化処理は終了するが、これらの処理は図19のステップS186乃至ステップS189の処理と同様であるので、その説明は省略する。
なお、ステップS479では、K個の復号高域サブバンドパワー推定係数ごとに、差分二乗和E(J,id)が算出される。擬似高域サブバンドパワー差分算出回路36は、算出したK個の差分二乗和E(J,id)のうち、値が最小となる差分二乗和を選択し、その差分二乗和に対応する復号高域サブバンドパワー推定係数を示す係数インデックスを、高域符号化回路37に供給する。
このように、低域符号化データとともに、高域符号化データを出力符号列として出力することで、この出力符号列の入力を受ける復号装置では、周波数帯域拡大処理に最も適した、復号高域サブバンドパワー推定係数を得ることができる。これにより、より高音質な信号を得ることができるようになる。
しかも、入力信号のアップサンプリングに応じて、入力信号を分割するサブバンドの数を変化させ、必要に応じて係数テーブルを拡張することで、より少ない係数テーブルでより効率的に音声の符号化を行なうことができる。また、入力信号のサンプリング周波数ごとに係数テーブルを記録しておく必要がなくなるので、係数テーブルの記録領域のサイズを低減させることができる。
なお、本実施の形態における符号化装置の機能的構成例として、符号化装置111にはサンプリング周波数変換部121が設けられているが、サンプリング周波数変換部121を設けないようにし、所望とする帯域拡大後のサンプリング周波数と同じ周波数成分までを含む入力信号が、符号化装置111に入力されてもよい。
また、帯域分割時における入力信号の帯域分割数(サブバンド数)を示す分割数情報、つまり入力信号のサンプリング周波数が何倍となったかを示す分割数情報が、高域符号化データに含められるようにしてもよい。また、分割数情報は、出力符号列とは別のデータとして符号化装置111から復号装置に送信されるようにしてもよいし、復号装置において予め分割数情報が得られているようにしてもよい。
[復号装置の機能的構成例]
また、図35の符号化装置111から出力された出力符号列を、入力符号列として入力し、復号する復号装置は、例えば、図37に示すように構成される。なお、図37において、図20における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
図37の復号装置161は、非多重化回路41乃至合成回路48から構成される点では、図20の復号装置40と同じであるが、復号高域サブバンドパワー算出回路46に拡張部171が設けられている点で、図20の復号装置40と異なる。
拡張部171は、高域復号回路45から供給された、復号高域サブバンドパワー推定係数としての係数テーブルを、必要に応じて拡張する。復号高域サブバンドパワー算出回路46は、必要に応じて拡張された係数テーブルを用いて、復号高域サブバンドパワーを算出する。
[復号処理の説明]
次に、図38のフローチャートを参照して、図37の復号装置161により行なわれる復号処理について説明する。なお、ステップS511およびステップS512の処理は、図21のステップS211およびステップS212の処理と同様であるので、その説明は省略する。
ステップS513において、サブバンド分割回路43は、低域復号回路42から供給された復号低域信号を、予め定められた所定数のサブバンドの復号低域サブバンド信号に分割し、特徴量算出回路44および復号高域信号生成回路47に供給する。
ここで、復号低域信号の全体の帯域幅は、入力信号のサンプリング周波数によらず、同じ帯域幅となる。そのため、サブバンド分割回路43では、入力信号のサンプリング周波数によらず、復号低域信号が同じ分割数(サブバンド数)で帯域分割される。
復号低域信号が複数の復号低域サブバンド信号に分割されると、その後、ステップS514およびステップS515の処理が行われるが、これらの処理は図21のステップS214およびステップS215の処理と同様であるので、その説明は省略する。
ステップS516において、拡張部171は、高域復号回路45から供給された、復号高域サブバンドパワー推定係数としての係数テーブルを拡張する。
具体的には、例えば符号化装置111において、帯域拡大後のサンプリング周波数が2倍となるように入力信号のサンプリング周波数が変換されたとする。また、このサンプリング周波数変換の結果、復号高域サブバンドパワー算出回路46により、高域側のサブバンドsb+1乃至サブバンド2×eb1の(2×eb1−sb)個のサブバンドの復号高域サブバンドパワーが算出されるとする。つまり、復号高域信号が(2×eb1−sb)個のサブバンドの成分からなるとする。
さらに、高域復号回路45に、復号高域サブバンドパワー推定係数として、サブバンドsb+1乃至サブバンドeb1の(eb1−sb)個のサブバンドの係数Aib(kb)および係数Bibからなる係数テーブルが記録されているとする。
この場合、拡張部171は、係数テーブルに含まれるサブバンドeb1の係数Aeb1(kb)と係数Beb1を複製して、そのままサブバンドeb1+1乃至サブバンド2×eb1の各サブバンドの係数とする。これにより、(2×eb1−sb)個のサブバンドの係数Aib(kb)および係数Bibからなる係数テーブルが得られる。
なお、復号高域サブバンドパワー算出回路46は、高域側のサブバンドsb+1乃至サブバンド2×eb1の各サブバンドのそれぞれが、符号化装置111のサブバンド分割回路33で生成される高域サブバンド信号の各サブバンドのそれぞれと同じ周波数帯域となるように、サブバンドsb+1乃至サブバンド2×eb1の各サブバンドを定める。すなわち、入力信号のサンプリング周波数が何倍となったかに応じて、高域側の各サブバンドとなる周波数帯域が定められる。例えば、復号高域サブバンドパワー算出回路46は、高域符号化データに含まれる分割数情報を高域復号回路45から取得することで、サブバンド分割回路33で生成される高域サブバンド信号の各サブバンドに関する情報(サンプリング周波数に関する情報)を得ることができる。
このようにして係数テーブルが拡張されると、その後、ステップS517乃至ステップS519の処理が行われて復号処理は終了するが、これらの処理は図21のステップS216乃至ステップS218の処理と同様であるので、その説明は省略する。
以上のように、復号装置161によれば、入力符号列の非多重化により得られた高域符号化データから係数インデックスを得て、その係数インデックスにより示される復号高域サブバンドパワー推定係数を用いて復号高域サブバンドパワーを算出するので、高域サブバンドパワーの推定精度を向上させることができる。これにより、音楽信号をより高音質に再生することが可能となる。
しかも、復号装置161では、符号化装置における入力信号のサンプリング周波数変換後のサンプリング周波数に応じて係数テーブルを拡張することで、より少ない係数テーブルでより効率的に音声の復号を行なうことができる。また、サンプリング周波数ごとに係数テーブルを記録しておく必要がなくなるので、係数テーブルの記録領域のサイズを低減させることができる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、プログラム記録媒体からインストールされる。
図39は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、キーボード、マウス、マイクロホン等よりなる入力部506、ディスプレイ、スピーカ等よりなる出力部507、ハードディスクや不揮発性のメモリ等よりなる記憶部508、ネットワークインタフェース等よりなる通信部509、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア511を駆動するドライブ510が接続されている。
以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、ディジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。