以下、図面を参照して、本発明を適用した実施の形態について説明する。
〈本発明の概要〉
まず、図5を参照して、本発明を適用したSBRによる音声信号の帯域拡張について説明する。なお、図5において、横軸は周波数を示しており、縦軸は音声信号の各周波数のエネルギを示している。また、図中、縦方向の点線は、スケールファクターバンドの境界を表している。
例えば、音声信号の復号側において、符号化側から受信したデータから、音声信号の低域信号SL11と、高域側の各スケールファクターバンドBobj1乃至Bobj7の高域スケールファクターバンドエネルギEobj1乃至Eobj7が得られたとする。そして、低域信号SL11と、高域スケールファクターバンドエネルギEobj1乃至Eobj7とが用いられて、各スケールファクターバンドBobj1乃至Bobj7の高域信号が生成されるとする。
いま、低域信号SL11のスケールファクターバンドBorg1の成分を用いて、高域側のスケールファクターバンドBobj3の高域信号を生成することを考える。
図5の例では、低域信号SL11のパワースペクトルは、スケールファクターバンドBorg1部分において、図中、下側に大きくへこんでいる。つまり、他の帯域と比べてエネルギが小さくなっている。そのため、従来のSBRによりスケールファクターバンドBobj3の高域信号を生成すると、得られた高域信号にもへこみが生じてしまい、音声に聴感上の劣化が生じてしまうことになる。
そこで、本発明では、まず低域信号SL11のスケールファクターバンドBorg1の成分に対して、平坦化処理(平滑化処理)が行なわれる。これにより、平坦化後のスケールファクターバンドBorg1の低域信号H11が得られる。この低域信号H11のパワースペクトルは、低域信号SL11のパワースペクトルにおけるスケールファクターバンドBorg1に隣接する帯域の部分と滑らかに接続される。つまり、平坦化後の低域信号SL11は、スケールファクターバンドBorg1にへこみが生じていないものとなる。
このようにして、低域信号SL11の平坦化が行なわれると、平坦化により得られた低域信号H11が、スケールファクターバンドBobj3の帯域に周波数シフトされ、周波数シフトにより得られた信号がゲイン調整されて、高域信号H12とされる。
このとき、低域信号H11の各サブバンドのエネルギの平均値が、スケールファクターバンドBorg1の平均エネルギEorg1として求められる。そして、平均エネルギEorg1と高域スケールファクターバンドエネルギEobj3との比に応じて、周波数シフト後の低域信号H11のゲイン調整が行なわれる。具体的には、周波数シフトされた低域信号H11の各サブバンドのエネルギの平均値が、高域スケールファクターバンドエネルギEobj3とほぼ同じ大きさとなるように、ゲイン調整が行なわれる。
図5では、へこみのない低域信号H11が用いられて、高域信号H12が生成されるため、高域信号H12の各サブバンドのエネルギは、高域スケールファクターバンドエネルギEobj3とほぼ同じ大きさとなっている。したがって、原信号の高域信号とほぼ同じ高域信号が得られたことになる。
このように、平坦化された低域信号を用いて高域信号を生成すれば、より高精度に音声信号の高域成分を生成することができ、従来、低域信号のパワースペクトルのへこみにより生じていた音声信号の聴感上の劣化を改善することができる。すなわち、より高音質な音声を得ることができるようになる。
また、低域信号を平坦化すれば、パワースペクトルのへこみを除去することができるので、平坦化された低域信号を用いて高域信号を生成すれば、ゲインリミッタやインターポレーションが行なわれる場合でも、音声信号の聴感上の劣化を防止することができる。
なお、低域信号の平坦化は、高域信号の生成に用いられる低域側の全帯域成分に対して行なわれてもよいし、低域側の帯域成分のうち、へこみが生じている帯域成分のみに対して行なわれるようにしてもよい。また、へこみが生じている帯域成分のみに平坦化が行なわれる場合、平坦化の対象となる帯域は、サブバンドを単位とする帯域であれば、1つのサブバンドでもよいし、複数のサブバンドからなる任意の幅の帯域であってもよい。
さらに、以下、スケールファクターバンド等のいくつかのサブバンドからなる帯域について、その帯域を構成する各サブバンドのエネルギの平均値を、帯域の平均エネルギとも称することとする。
次に、本発明を適用したエンコーダとデコーダについて説明する。なお、以下においては、スケールファクターバンドを単位として、高域信号の生成を行なう場合を例に説明するが、高域信号の生成は、1または複数のサブバンドからなる帯域ごとに行なうことも勿論可能である。
〈第1の実施の形態〉
[エンコーダの構成]
図6は、本発明を適用したエンコーダの一実施の形態の構成例を示す図である。
エンコーダ11は、ダウンサンプラ21、低域符号化回路22、QMF分析フィルタ処理部23、高域符号化回路24、および多重化回路25から構成される。エンコーダ11のダウンサンプラ21とQMF分析フィルタ処理部23には、音声信号である入力信号が供給される。
ダウンサンプラ21は、供給された入力信号をダウンサンプリングすることにより、入力信号の低域成分である低域信号を抽出し、低域符号化回路22に供給する。低域符号化回路22は、ダウンサンプラ21から供給された低域信号を所定の符号化方式により符号化し、その結果得られた低域符号化データを多重化回路25に供給する。低域信号を符号化する方法として、例えば、AAC方式がある。
QMF分析フィルタ処理部23は、供給された入力信号に対して、QMF分析フィルタを用いたフィルタ処理を行い、入力信号を複数のサブバンドの信号に分割する。例えば、フィルタ処理により、入力信号の周波数帯域全体が64分割され、それらの64個の帯域(サブバンド)の成分が抽出される。QMF分析フィルタ処理部23は、フィルタ処理により得られた各サブバンドの信号を高域符号化回路24に供給する。
なお、以下、入力信号の各サブバンドの信号をサブバンド信号とも称することとする。特に、ダウンサンプラ21により抽出される低域信号の帯域を低域として、低域側の各サブバンドのサブバンド信号を低域サブバンド信号と称する。また、入力信号の全体の帯域のうち、低域側の帯域よりも周波数の高い帯域を高域として、高域側のサブバンドのサブバンド信号を、高域サブバンド信号と称することとする。
さらに、以下においては、低域よりも周波数の高い帯域を高域として説明を続けるが、低域と高域の一部が重なるようにしてもよい。すなわち、低域と高域とに互いに共通する帯域が含まれるようにしてもよい。
高域符号化回路24は、QMF分析フィルタ処理部23から供給されたサブバンド信号に基づいてSBR情報を生成し、多重化回路25に供給する。ここで、SBR情報は、原信号である入力信号の高域側の各スケールファクターバンドの高域スケールファクターバンドエネルギを得るための情報である。
多重化回路25は、低域符号化回路22からの低域符号化データと、高域符号化回路24からのSBR情報とを多重化し、多重化により得られたビットストリームを出力する。
[符号化処理の説明]
ところで、エンコーダ11に入力信号が入力され、入力信号の符号化が指示されると、エンコーダ11は符号化処理を行なって入力信号の符号化を行う。以下、図7のフローチャートを参照して、エンコーダ11による符号化処理について説明する。
ステップS11において、ダウンサンプラ21は、供給された入力信号をダウンサンプリングして低域信号を抽出し、低域符号化回路22に供給する。
ステップS12において、低域符号化回路22は、ダウンサンプラ21から供給された低域信号を、例えばAAC方式により符号化し、その結果得られた低域符号化データを多重化回路25に供給する。
ステップS13において、QMF分析フィルタ処理部23は、供給された入力信号に対してQMF分析フィルタを用いたフィルタ処理を行い、その結果得られた各サブバンドのサブバンド信号を高域符号化回路24に供給する。
ステップS14において、高域符号化回路24は、QMF分析フィルタ処理部23から供給されたサブバンド信号に基づいて、高域側の各スケールファクターバンドの高域スケールファクターバンドエネルギEobjを求める。
すなわち、高域符号化回路24は、高域側のいくつかの連続するサブバンドからなる帯域をスケールファクターバンドとし、スケールファクターバンド内の各サブバンドのサブバンド信号を用いて、各サブバンドのエネルギを算出する。そして、高域符号化回路24は、スケールファクターバンド内の各サブバンドのエネルギの平均値を求め、求められたエネルギの平均値を、そのスケールファクターバンドの高域スケールファクターバンドエネルギEobjとする。これにより、例えば図5の高域スケールファクターバンドエネルギEobj1乃至Eobj7が算出される。
ステップS15において、高域符号化回路24は、複数のスケールファクターバンドの高域スケールファクターバンドエネルギEobjを所定の符号化方式により符号化して、SBR情報を生成する。例えば、高域スケールファクターバンドエネルギEobjは、スカラ量子化、差分符号化、可変長符号化などの方式により符号化される。高域符号化回路24は、符号化により得られたSBR情報を多重化回路25に供給する。
ステップS16において、多重化回路25は、低域符号化回路22からの低域符号化データと、高域符号化回路24からのSBR情報とを多重化して、多重化により得られたビットストリームを出力し、符号化処理は終了する。
このようにして、エンコーダ11は、入力信号を符号化し、低域符号化データとSBR情報とが多重化されたビットストリームを出力する。したがって、このビットストリームの受信側においては、低域符号化データを復号して低域信号を得るとともに、低域信号とSBR情報とを用いて高域信号を生成し、低域信号と高域信号とからなるより広い帯域の音声信号を得ることができる。
[デコーダの構成]
次に、図6のエンコーダ11から出力されたビットストリームを受信して復号するデコーダについて、説明する。例えば、デコーダは図8に示すように構成される。
すなわち、デコーダ51は、非多重化回路61、低域復号回路62、QMF分析フィルタ処理部63、高域復号回路64、およびQMF合成フィルタ処理部65から構成される。
非多重化回路61は、エンコーダ11から受信したビットストリームを非多重化し、低域符号化データとSBR情報とを抽出する。非多重化回路61は、非多重化により得られた低域符号化データを低域復号回路62に供給し、SBR情報を高域復号回路64に供給する。
低域復号回路62は、非多重化回路61から供給された低域符号化データを、エンコーダ11で用いた低域信号の符号化方式(例えば、AAC方式)に対応する復号方式で復号し、その結果得られた低域信号をQMF分析フィルタ処理部63に供給する。QMF分析フィルタ処理部63は、低域復号回路62から供給された低域信号に対して、QMF分析フィルタを用いたフィルタ処理を行い、低域信号から低域側の各サブバンドのサブバンド信号を抽出する。すなわち、低域信号の帯域分割が行なわれる。QMF分析フィルタ処理部63は、フィルタ処理により得られた低域側の各サブバンドの低域サブバンド信号を、高域復号回路64およびQMF合成フィルタ処理部65に供給する。
高域復号回路64は、非多重化回路61から供給されたSBR情報と、QMF分析フィルタ処理部63から供給された低域サブバンド信号とを用いて、高域側の各スケールファクターバンドの高域信号を生成し、QMF合成フィルタ処理部65に供給する。
QMF合成フィルタ処理部65は、QMF分析フィルタ処理部63から供給された低域サブバンド信号と、高域復号回路64から供給された高域信号とを、QMF合成フィルタを用いたフィルタ処理により合成し、出力信号を生成する。この出力信号は、低域と高域の各サブバンドの成分からなる音声信号であり、出力信号はQMF合成フィルタ処理部65から、後段のスピーカ等の再生部に出力される。
[復号処理の説明]
図8に示したデコーダ51に、エンコーダ11からビットストリームが供給され、ビットストリームの復号が指示されると、デコーダ51は、復号処理を行なって出力信号を生成する。以下、図9のフローチャートを参照して、デコーダ51による復号処理について説明する。
ステップS41において、非多重化回路61は、エンコーダ11から受信したビットストリームを非多重化する。そして、非多重化回路61は、ビットストリームの非多重化により得られた低域符号化データを低域復号回路62に供給するとともに、SBR情報を高域復号回路64に供給する。
ステップS42において、低域復号回路62は、非多重化回路61から供給された低域符号化データを復号し、その結果得られた低域信号をQMF分析フィルタ処理部63に供給する。
ステップS43において、QMF分析フィルタ処理部63は、低域復号回路62から供給された低域信号に対して、QMF分析フィルタを用いたフィルタ処理を行なう。そして、QMF分析フィルタ処理部63は、フィルタ処理の結果得られた低域側の各サブバンドの低域サブバンド信号を、高域復号回路64およびQMF合成フィルタ処理部65に供給する。
ステップS44において、高域復号回路64は、非多重化回路61から供給されたSBR情報を復号する。これにより、高域側の各スケールファクターバンドの高域スケールファクターバンドエネルギEobjが得られる。
ステップS45において、高域復号回路64は、QMF分析フィルタ処理部63から供給された低域サブバンド信号に対して、平坦化処理を行なう。
例えば、高域復号回路64は、ある高域側のスケールファクターバンドについて、そのスケールファクターバンドの高域信号を生成するのに用いられる低域側のスケールファクターバンドを、平坦化処理の対象スケールファクターバンドとする。なお、高域側の各スケールファクターバンドの高域信号の生成に用いられる低域側のスケールファクターバンドは、予め定められているものとする。
次に、高域復号回路64は、低域側の処理対象のスケールファクターバンドを構成する各サブバンドの低域サブバンド信号に対して、平坦化フィルタを用いたフィルタ処理を行なう。具体的には、高域復号回路64は、低域側の処理対象のスケールファクターバンドを構成する各サブバンドの低域サブバンド信号に基づいて、それらのサブバンドのエネルギを求め、求められた各サブバンドのエネルギの平均値を平均エネルギとして求める。高域復号回路64は、処理対象のスケールファクターバンドを構成する各サブバンドの低域サブバンド信号に、それらのサブバンドのエネルギと平均エネルギの比を乗算することで、各サブバンドの低域サブバンド信号を平坦化する。
例えば、処理対象とされたスケールファクターバンドが、3つのサブバンドSB1乃至SB3から構成されるとし、それらのサブバンドのエネルギとして、エネルギE1乃至E3が得られたとする。この場合、サブバンドSB1乃至SB3のエネルギE1乃至E3の平均値が平均エネルギEAとして求められる。
そして、サブバンドSB1乃至SB3の低域サブバンド信号のそれぞれに、エネルギの比の値であるEA /E1、EA /E2、およびEA /E3が乗算される。このように、エネルギの比が乗算された低域サブバンド信号が、平坦化された低域サブバンド信号とされる。
なお、エネルギE1乃至E3の最大値とサブバンドのエネルギの比を、そのサブバンドの低域サブバンド信号に乗算することで、低域サブバンド信号を平坦化するようにしてもよい。各サブバンドの低域サブバンド信号の平坦化は、それらのサブバンドからなるスケールファクターバンドのパワースペクトルが平坦化されれば、どのように行なわれてもよい。
このようにして、これから生成しようとする高域側の各スケールファクターバンドについて、それらのスケールファクターバンドの生成に用いられる低域側のスケールファクターバンドを構成する各サブバンドの低域サブバンド信号が、平坦化される。
ステップS46において、高域復号回路64は、高域側のスケールファクターバンドの生成に用いる低域側の各スケールファクターバンドについて、それらのスケールファクターバンドの平均エネルギEorgを求める。
具体的には、高域復号回路64は、低域側のスケールファクターバンドを構成する各サブバンドの平坦化後の低域サブバンド信号を用いて、各サブバンドのエネルギを求め、さらにそれらのサブバンドのエネルギの平均値を平均エネルギEorgとして求める。
ステップS47において、高域復号回路64は、高域側のスケールファクターバンドの生成に用いる低域側の各スケールファクターバンドの信号を、生成しようとする高域側のスケールファクターバンドの周波数帯域に周波数シフトする。すなわち、低域側のスケールファクターバンドを構成する、平坦化後の各サブバンドの低域サブバンド信号が周波数シフトされる。
ステップS48において、高域復号回路64は、高域スケールファクターバンドエネルギEobjと平均エネルギEorgの比に応じて、周波数シフト後の低域サブバンド信号をゲイン調整し、高域側のスケールファクターバンドの高域サブバンド信号を生成する。
例えば、これから生成しようとする高域側のスケールファクターバンドを、高域スケールファクターバンドと称し、その高域スケールファクターバンドの生成に用いられる低域側のスケールファクターバンドを低域スケールファクターバンドと呼ぶこととする。
高域復号回路64は、低域スケールファクターバンドを構成する、周波数シフト後の各サブバンドの低域サブバンド信号のエネルギの平均値が、高域スケールファクターバンドの高域スケールファクターバンドエネルギとほぼ同じ大きさとなるように、周波数シフト後の低域サブバンド信号をゲイン調整する。
このようにして周波数シフト及びゲイン調整された低域サブバンド信号が、高域スケールファクターバンドの各サブバンドの高域サブバンド信号とされ、高域側のスケールファクターバンドの各サブバンドの高域サブバンド信号からなる信号が、高域側のスケールファクターバンドの信号(高域信号)とされる。高域復号回路64は、生成された高域側の各スケールファクターバンドの高域信号を、QMF合成フィルタ処理部65に供給する。
ステップS49において、QMF合成フィルタ処理部65は、QMF分析フィルタ処理部63から供給された低域サブバンド信号と、高域復号回路64から供給された高域信号とを、QMF合成フィルタを用いたフィルタ処理により合成し、出力信号を生成する。そして、QMF合成フィルタ処理部65は、生成した出力信号を出力し、復号処理は終了する。
このようにして、デコーダ51は低域サブバンド信号を平坦化し、平坦化後の低域サブバンド信号と、SBR情報とを用いて、高域側の各スケールファクターバンドの高域信号を生成する。このように、平坦化した低域サブバンド信号を用いて高域信号を生成することで、より高音質な音声を再生できる出力信号を、簡単に得ることができる。
なお、以上においては、低域側の全帯域が平坦化されると説明したが、デコーダ51側において、低域のうち、へこみが生じている帯域に対してのみ平坦化が行なわれてもよい。そのような場合、例えばデコーダ51において、低域信号が用いられて、へこみが生じている周波数帯域が検出される。
〈第2の実施の形態〉
[符号化処理の説明]
また、エンコーダ11が、低域におけるへこみの生じた帯域の位置情報と、その帯域の平坦化に用いる情報とを生成し、それらの情報が含まれるSBR情報を出力するようにしてもよい。そのような場合、エンコーダ11は、図10に示す符号化処理を行なう。
以下、図10のフローチャートを参照して、へこみの生じた帯域の位置情報等が含まれたSBR情報が出力される場合における、符号化処理について説明する。
なお、ステップS71乃至ステップS73の処理は、図7のステップS11乃至ステップS13の処理と同様であるので、その説明は省略する。ステップS73の処理が行なわれると、高域符号化回路24には、各サブバンドのサブバンド信号が供給される。
ステップS74において、高域符号化回路24は、QMF分析フィルタ処理部23から供給された低域側のサブバンドの低域サブバンド信号に基づいて、低域の周波数帯域のうち、へこみのある帯域を検出する。
具体的には、例えば、高域符号化回路24は、低域の各サブバンドのエネルギの平均値を求めることで、低域全体のエネルギの平均値である平均エネルギELを求める。そして、高域符号化回路24は、低域のサブバンドのうち、平均エネルギELとサブバンドのエネルギとの差分が予め定めた閾値以上となるサブバンドを検出する。すなわち、平均エネルギELから、サブバンドのエネルギを減算して得られた値が閾値以上であるサブバンドが検出される。
さらに、高域符号化回路24は、上述した差分が閾値以上となるサブバンドからなる帯域であって、いくつかの連続するサブバンドからなる帯域を、へこみのある帯域(以下、平坦化帯域と称する)とする。なお、平坦化帯域は、1つのサブバンドからなる帯域である場合もある。
ステップS75において、高域符号化回路24は平坦化帯域ごとに、平坦化帯域の位置を示す平坦化位置情報と、その平坦化帯域の平坦化に用いる平坦化ゲイン情報を求め、各平坦化帯域の平坦化位置情報および平坦化ゲイン情報からなる情報を、平坦化情報とする。
具体的には、高域符号化回路24は、平坦化帯域とされた帯域を示す情報を平坦化位置情報とする。また、高域符号化回路24は、平坦化帯域を構成するサブバンドごとに平均エネルギELと、そのサブバンドのエネルギとの差分△Eを算出し、平坦化帯域を構成する各サブバンドの差分△Eからなる情報を、平坦化ゲイン情報とする。
ステップS76において、高域符号化回路24は、QMF分析フィルタ処理部23から供給されたサブバンド信号に基づいて、高域側の各スケールファクターバンドの高域スケールファクターバンドエネルギEobjを求める。なお、ステップS76では、図7のステップS14と同様の処理が行なわれる。
ステップS77において、高域符号化回路24は、高域側の各スケールファクターバンドの高域スケールファクターバンドエネルギEobjと、各平坦化帯域の平坦化情報とをスカラ量子化等の符号化方式により符号化し、SBR情報を生成する。高域符号化回路24は、生成されたSBR情報を多重化回路25に供給する。
その後、ステップS78の処理が行なわれて、符号化処理は終了するが、ステップS78の処理は図7のステップS16の処理と同様であるので、その説明は省略する。
このようにして、エンコーダ11は、低域から平坦化帯域を検出し、各平坦化帯域の平坦化に用いる平坦化情報が含まれるSBR情報を、低域符号化データとともに出力する。これにより、デコーダ51側において、より簡単に平坦化帯域の平坦化を行なうことができるようになる。
[復号処理の説明]
また、図10のフローチャートを参照して説明した符号化処理により出力されたビットストリームが、デコーダ51に送信されてくると、そのビットストリームを受信したデコーダ51は図11に示す復号処理を行なう。以下、図11のフローチャートを参照して、デコーダ51による復号処理について説明する。
なお、ステップS101乃至ステップS104の処理は、図9のステップS41乃至ステップS44の処理と同様であるので、その説明は省略する。但し、ステップS104の処理では、SBR情報の復号により、高域スケールファクターバンドエネルギEobjと、各平坦化帯域の平坦化情報とが得られる。
ステップS105において、高域復号回路64は平坦化情報を用いて、平坦化情報に含まれる平坦化位置情報により示される平坦化帯域を平坦化する。すなわち、高域復号回路64は、平坦化位置情報により示される平坦化帯域を構成するサブバンドの低域サブバンド信号に、そのサブバンドの差分△Eを加算することにより、平坦化を行なう。ここで、平坦化帯域のサブバンドごとの差分△Eは、平坦化情報に平坦化ゲイン情報として含まれている情報である。
このようにして、低域側のサブバンドのうち、平坦化帯域を構成する各サブバンドの低域サブバンド信号が平坦化されると、その後、平坦化された低域サブバンド信号が用いられて、ステップS106乃至ステップS109の処理が行なわれ、復号処理は終了する。なお、これらのステップS106乃至ステップS109の処理は、図9のステップS46乃至ステップS49の処理と同様であるので、その説明は省略する。
このようにして、デコーダ51は、SBR情報に含まれる平坦化情報を用いて、平坦化帯域の平坦化を行い、高域側の各スケールファクターバンドの高域信号を生成する。このように、平坦化情報を用いて平坦化帯域の平坦化を行なうことで、より簡単かつ迅速に高域信号を生成することができる。
〈第3の実施の形態〉
[符号化処理の説明]
また、第2の実施の形態では、平坦化情報をそのままSBR情報に含めてデコーダ51に送信すると説明したが、平坦化情報がベクトル量子化されてSBR情報に含まれるようにしてもよい。
そのような場合、例えば、エンコーダ11の高域符号化回路24は、複数の平坦化位置情報ベクトルと、それらの平坦化位置情報ベクトルを特定する位置インデックスとが対応付けられている位置テーブルを記録している。ここで、平坦化位置情報ベクトルとは、1または複数の平坦化帯域の平坦化位置情報のそれぞれを要素とするベクトルであって、平坦化帯域の周波数が低い順にそれらの平坦化位置情報を並べて得られるベクトルである。
なお、位置テーブルには、同じ数の要素からなる互いに異なる平坦化位置情報ベクトルだけでなく、互いに異なる数の要素からなる複数の平坦化位置情報ベクトルが記録されている。
さらに、エンコーダ11の高域符号化回路24は、複数の平坦化ゲイン情報ベクトルと、それらの平坦化ゲイン情報ベクトルを特定するゲインインデックスとが対応付けられているゲインテーブルを記録している。なお、平坦化ゲイン情報ベクトルとは、1または複数の平坦化帯域の平坦化ゲイン情報のそれぞれを要素とするベクトルであって、平坦化帯域の周波数が低い順にそれらの平坦化ゲイン情報を並べて得られるベクトルである。
位置テーブルにおける場合と同様に、ゲインテーブルにも、同じ数の要素からなる互いに異なる複数の平坦化ゲイン情報ベクトルや、互いに異なる数の要素からなる複数の平坦化ゲイン情報ベクトルが記録されている。
このように、エンコーダ11に位置テーブルとゲインテーブルが記録されている場合、エンコーダ11は、図12に示す符号化処理を行なう。以下、図12のフローチャートを参照して、エンコーダ11による符号化処理について説明する。
なお、ステップS141乃至ステップS145の処理のそれぞれは、図10のステップS71乃至ステップS75のそれぞれと同様であるので、その説明は省略する。
ステップS145の処理が行なわれると、入力信号の低域の各平坦化帯域について、平坦化位置情報と、平坦化ゲイン情報が得られる。すると高域符号化回路24は、周波数帯域の低い順に、各平坦化帯域の平坦化位置情報を並べて、平坦化位置情報ベクトルとするとともに、周波数帯域の低い順に、各平坦化帯域の平坦化ゲイン情報を並べて、平坦化ゲイン情報ベクトルとする。
ステップS146において、高域符号化回路24は、得られた平坦化位置情報ベクトルおよび平坦化ゲイン情報ベクトルに対応する位置インデックスおよびゲインインデックスを取得する。
すなわち、高域符号化回路24は、位置テーブルに記録されている平坦化位置情報ベクトルのなかから、ステップS145で得られた平坦化位置情報ベクトルとのユークリッド距離が最も短い平坦化位置情報ベクトルを特定する。そして、高域符号化回路24は、特定された平坦化位置情報ベクトルに対応付けられている位置インデックスを、位置テーブルから取得する。
同様に、高域符号化回路24は、ゲインテーブルに記録されている平坦化ゲイン情報ベクトルのなかから、ステップS145で得られた平坦化ゲイン情報ベクトルとのユークリッド距離が最も短い平坦化ゲイン情報ベクトルを特定する。そして、高域符号化回路24は、特定された平坦化ゲイン情報ベクトルに対応付けられているゲインインデックスを、ゲインテーブルから取得する。
このようにして、位置インデックスとゲインインデックスが取得されると、続いてステップS147の処理が行なわれて、高域側の各スケールファクターバンドの高域スケールファクターバンドエネルギEobjが算出される。なお、ステップS147の処理は、図10のステップS76の処理と同様であるので、その説明は省略する。
ステップS148において、高域符号化回路24は、各高域スケールファクターバンドエネルギEobjと、ステップS146で取得された位置インデックスおよびゲインインデックスとを、スカラ量子化等の符号化方式により符号化し、SBR情報を生成する。高域符号化回路24は、生成されたSBR情報を多重化回路25に供給する。
その後、ステップS149の処理が行なわれて、符号化処理は終了するが、ステップS149の処理は図10のステップS78の処理と同様であるので、その説明は省略する。
このようにして、エンコーダ11は、低域から平坦化帯域を検出し、各平坦化帯域の平坦化に用いる平坦化情報を得るための位置インデックスおよびゲインインデックスが含まれるSBR情報を、低域符号化データとともに出力する。これにより、エンコーダ11から出力されるビットストリームの情報量を削減することができる。
[復号処理の説明]
また、SBR情報に、位置インデックスおよびゲインインデックスが含まれている場合、デコーダ51の高域復号回路64には、位置テーブルとゲインテーブルが、予め記録されている。
このように、デコーダ51が位置テーブルとゲインテーブルを記録している場合、デコーダ51は、図13に示す復号処理を行なう。以下、図13のフローチャートを参照して、デコーダ51による復号処理について説明する。
なお、ステップS171乃至ステップS174の処理は、図11のステップS101乃至ステップS104の処理と同様であるので、その説明は省略する。但し、ステップS174の処理では、SBR情報の復号により、高域スケールファクターバンドエネルギEobjと、位置インデックスおよびゲインインデックスとが得られる。
ステップS175において、高域復号回路64は、位置インデックスおよびゲインインデックスに基づいて、平坦化位置情報ベクトルと平坦化ゲイン情報ベクトルを取得する。
すなわち、高域復号回路64は、記録している位置テーブルから、復号により得られた位置インデックスに対応付けられている平坦化位置情報ベクトルを取得し、ゲインテーブルから、復号により得られたゲインインデックスに対応付けられている平坦化ゲイン情報ベクトルを取得する。このようにして得られた平坦化位置情報ベクトルと平坦化ゲイン情報ベクトルから、各平坦化帯域の平坦化情報、つまり各平坦化帯域の平坦化位置情報と平坦化ゲイン情報が得られる。
各平坦化帯域の平坦化情報が得られると、その後、ステップS176乃至ステップS180の処理が行なわれて復号処理は終了するが、これらの処理は、図11のステップS105乃至ステップS109の処理と同様であるので、その説明は省略する。
このようにして、デコーダ51は、SBR情報に含まれる位置インデックスおよびゲインインデックスから、各平坦化帯域の平坦化情報を得て平坦化帯域の平坦化を行い、高域側の各スケールファクターバンドの高域信号を生成する。このように、位置インデックスおよびゲインインデックスから平坦化情報を得るようにすることで、受信するビットストリームの情報量を削減することができる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インターフェース205が接続されている。入出力インターフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207、ハードディスクや不揮発性のメモリなどよりなる記録部208、ネットワークインターフェースなどよりなる通信部209、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211を駆動するドライブ210が接続されている。
以上のように構成されるコンピュータでは、CPU201が、例えば、記録部208に記録されているプログラムを、入出力インターフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インターフェース205を介して、記録部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記録部208にインストールすることができる。その他、プログラムは、ROM202や記録部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。