【文献】
Udar Mittal, et al.,Low Complexity Factorial Pulse Coding of MDCT Coefficients using Approximation of Combinatorial Func,IEEE International Conference on Acoustics, Speech and Signal Processing, 2007 (ICASSP 2007),米国,IEEE,2007年 4月,Vol.1,pp.I-289 - I-292
(58)【調査した分野】(Int.Cl.,DB名)
入力信号の符号化モードがCELP(code excited linear prediction)モードと決定されれば、前記入力信号の低バンド信号の線形予測係数(LPC)を利用して抽出されたLPC励起信号に対して、CELP符号化を行うCELP符号化部と、
前記入力信号の低バンド信号のLPC励起信号に対してCELP符号化が行われれば、前記入力信号の高バンド信号に対してTD(time domain)拡張符号化を行う TD拡張符号化部と、
前記入力信号の符号化モードがオーディオ符号化モードと決定されれば、前記入力信号の低バンド信号の線形予測係数(LPC)を利用して抽出された
LPC励起信号に対して、オーディオ符号化を行うオーディオ符号化部と、
前記入力信号の低バンド信号のLPC励起信号に対してオーディオ符号化が行われれば、前記入力信号の高バンド信号に対してFD(frequency domain)拡張符号化を行うFD拡張符号化部と、を含み、
前記FD拡張符号化部は、現在フレームがノントランジェント(non-transient)フレームに当る場合、前記現在フレームを構成する各バンドのエネルギーを調節し、調節されたエネルギーを量子化することを特徴とする符号化装置。
前記FD拡張符号化部は、知覚的重要度が高い低域周波数バンドに、高域周波数バンドより相対的に多くのビットを割り当ててエネルギーを量子化することを特徴とする請求項1に記載の符号化装置。
【発明を実施するための形態】
【0047】
以下、本発明の実施形態について、添付された図面を参照して詳細に説明する。
【0048】
図1は、本発明の一実施形態による符号化装置及び復号化装置を図示した図面である。符号化装置101は、入力信号の基本信号(base signal)を生成し、復号化装置102に伝送することができる。基本信号は、低周波信号を基に生成され、低周波信号の包絡線情報が除去(whitening)された信号であるために、高周波帯域幅拡張のための励起信号(excitation signal)でもある。それにより、復号化装置102は、基本信号から入力信号を修復することができる。すなわち、符号化装置101と復号化装置102は、SWB BWE(super wide band bandwidth extension)を行う。具体的には、SWB BWEは、低周波数領域である0〜6.4KHzのデコーディングされたWB(wide band)信号を基に、SWBに対応する高周波数領域である6.4〜16KHz信号を生成することができる。このとき、16KHzは、状況によって変動されもする。そして、デコーディングされたWB信号は、LPD(linear prediction domain)基盤のCELP(code excited linear prediction)によって、音声コーデック(speech codec)を介して生成された信号や、または周波数ドメインで量子化を行う方式によって生成された信号でもある。周波数ドメインで量子化する方式は、MDCT(modified discrete cosine transform)基盤で行うAAC(advanced audio coding)を有することができる。
【0049】
以下では、符号化装置101と復号化装置102との詳細動作について具体的に説明する。
【0050】
図2Aは、本発明の一実施形態による符号化装置の全体構成を図示したブロックダイヤグラムである。
図2Aを参照すれば、符号化装置101は、ダウン・サンプリング部201、コア符号化部202、周波数変換部203及び拡張符号化部204を含んでもよい。
【0051】
ダウン・サンプリング部201は、WBコーディングのために、入力信号をダウン・サンプリングすることができる。入力信号であるSWB信号は、一般的に、32KHzサンプリング・レートを有する信号であるので、WBコーディングに適するサンプリング・レートに変換することが必要である。一例として、ダウン・サンプリング部201は、32KHzサンプリング・レートを示す入力信号を12.8KHzにダウン・サンプリングすることができる。
【0052】
コア符号化部202は、ダウン・サンプリングされた入力信号をコア符号化することができる。すなわち、コア符号化部202は、WBコーディングを行うことができる。一例として、コア符号化部202は、CELP方式のWBコーディングを行うことができる。
【0053】
周波数変換部203は、入力信号を周波数変換することができる。一例として、周波数変換部203は、FFT(fast Fourier transform)またはMDCT(modified discrete cosing transform)のうちいずれか一つを利用して、入力信号を周波数変換することができる。以下では、MDCTを適用したと仮定して説明する。
【0054】
拡張符号化部204は、周波数領域の入力信号の基本信号を利用して、帯域幅拡張符号化を行うことができる。すなわち、拡張符号化部204は、周波数領域の入力信号を基に、SWB BWE符号化を行うことができる。その場合、拡張符号化部204は、
図4で、符号化情報を入力として受け取らない。
【0055】
また、拡張符号化部204は、周波数領域の入力信号の基本信号と入力信号との特性を利用して、帯域幅拡張符号化を行うことができる。その場合、入力信号の特性の出所によって、拡張符号化部204は、
図4及び
図5のようなブロックダイヤグラムで具体化されもする。
【0056】
拡張符号化部204の動作については、
図4及び
図5で具体的に説明する。
【0057】
結局、
図2Aで、上段経路(path)は、コア符号化過程を示し、下段経路(path)は、帯域幅拡張符号化過程を示す。特に、SWB BWE符号化過程を介して、入力信号のエネルギー情報が復号化装置102に伝達される。
【0058】
図2Bは、本発明の他の実施形態による符号化装置の全体構成を図示したブロックダイヤグラムである。
図2Bを参照すれば、符号化装置101は、信号分類部205、CELP符号化部206、TD(time domain)拡張符号化部207、周波数変換部208及びFD(frequency domain)符号化部209を含んでもよい。
【0059】
信号分類部205は、入力信号の特性を参照し、入力信号の符号化モードを決定する。このとき、本実施形態による符号化モードは、符号化方式でなってもよい。
【0060】
例を挙げて説明すれば、信号分類部205は、入力信号の時間ドメイン特性と、周波数ドメイン特性とを考慮し、入力信号の符号化モードを決定することができる。また、信号分類部205は、入力信号の特性が音声信号に該当する場合、入力信号に対して、CELP符号化が行われるように決定し、入力信号の特性がオーディオ信号に該当する場合、入力信号に対して、FD符号化が行われるように決定することができる。
【0061】
ただし、信号分類部205に入力される入力信号は、ダウン・サンプリング部(図示せず)によって、ダウン・サンプリングされた信号になってもよい。例を挙げて説明すれば、本実施形態による入力信号は、32kHzまたは48kHzのサンプリング・レートを有する信号をリサンプリング(re-sampling)することにより、12.8kHzまたは16kHzのサンプリング・レートを有する信号になってもよい。このとき、リサンプリングは、ダウン・サンプリングになってもよい。
【0062】
図2Aで説明したように、32kHzのサンプリング・レートを有する信号は、SWB(super wide band)信号にもなり、このとき、SWB信号は、fullband(FB)信号になってもよい。また、16kHzのサンプリング・レートを有する信号は、WB信号になってもよい。
【0063】
このように、信号分類部205は、入力信号の低周波領域に対応する低周波信号の特性を参照し、低周波信号の符号化モードを、CELPモードまたはFDモードのうちいずれか一つに決定することができる。
【0064】
CELP符号化部206は、入力信号の符号化モードが、CELPモードと決定されれば、入力信号の低周波信号に対して、CELP符号化を行う。例を挙げて説明すれば、CELP符号化部206は、入力信号の低周波信号から励起信号を抽出し、抽出された励起信号を、ピッチ(pitch)情報に該当するadaptive codebook contribution及びfixed codebook contributionそれぞれを考慮して、量子化することができる。
【0065】
ただし、それに限定されるものではなく、本実施形態によるCELP符号化部206は、入力信号の低周波信号から線形予測係数(LPC:linear prediction coefficient)を抽出し、抽出された線形予測係数を量子化して、量子化された線形予測係数を利用して、励起信号を抽出する過程をさらに含んでもよい。
【0066】
また、本実施形態によるCELP符号化部206は、入力信号の低周波信号の特性による多様な符号化モードによって、CELP符号化を行うことができる。例を挙げて説明すれば、CELP符号化部206は、有声音符号化モード(voiced coding mode)、無声音符号化モード(unvoiced coding mode)、転移信号符号化モード(transition coding mode)または一般的な符号化モード(generic coding mode)のうちいずれか一つの符号化モードで、入力信号の低周波信号に対して、CELP符号化を行うことができる。
【0067】
TD拡張符号化部207は、入力信号の低周波信号に対して、CELP符号化が行われれば、入力信号の高周波信号に対して、拡張符号化を行う。例を挙げて説明すれば、TD拡張符号化部207は、入力信号の高周波領域に対応する高周波信号の線形予測係数を量子化する。このとき、TD拡張符号化部207は、入力信号の高周波信号の線形予測係数を抽出し、抽出された線形予測係数を量子化することもできる。また、本実施形態によるTD拡張符号化部207は、入力信号の低周波信号の励起信号を使用し、入力信号の高周波信号の線形予測係数を生成することもできる。
【0068】
このように、TD拡張符号化部207は、TD高周波数拡張符号化部にもなるが、それに限定されるものではない。
【0069】
周波数変換部208は、入力信号の符号化モードが、FD符号化モードと決定されれば、入力信号を周波数変換する。例を挙げて説明すれば、周波数変換部208は、入力信号に対して、MDCTなどのように、フレーム間で重畳される(overlap)周波数変換方式を使用することができるが、それに限定されるものではない。
【0070】
FD符号化部209は、周波数変換された入力信号に対して、FD符号化を行う。例を挙げて説明すれば、FD符号化部209は、周波数変換部208で変換された周波数スペクトルに対して、FD符号化を行うことができる。FD符号化部209について、以下、
図2Cで詳細に説明する。
【0071】
本実施形態による符号化装置101は、入力信号を、前述のような符号化方法を使用して符号化されたビットストリームを出力することができる。例を挙げて説明すれば、入力信号が符号化されたビットストリームは、ヘッダ(header)及びペイロード(payload)を含んでもよい。
【0072】
このとき、ヘッダは、入力信号が符号化されたモードを示す符号化モード情報を含んでもよく、ペイロードは、入力信号が符号化されたモードによって、入力信号が、CELPモードで符号化された場合には、CELP情報及びTD高周波数拡張情報を含んでもよく、入力信号が、FDモードで符号化された場合には、予測データ(prediction data)及びFD情報を含んでもよい。
【0073】
ただし、本実施形態による符号化されたビットストリームは、フレームエラーが発生する場合に備えるために、ビットストリームのヘッダに、以前フレームのモード情報をさらに含んでもよい。例を挙げて説明すれば、ビットストリームのヘッダは、入力信号の符号化モードがFDモードと決定された場合、以前フレームのモード情報をさらに含んでもよい。これについては、以下の
図25でさらに詳細に説明する。
【0074】
このように、本実施形態による符号化装置101は、入力信号の特性によって、CELPモードまたはFDモードのうちいずれか1つの符号化モードを使用するようにスイッチングされることにより、入力信号の特性によって、適切な符号化モードを遂行することができる。また、本実施形態による符号化装置101は、信号分類部205の決定によって、FDモードを使用することにより、高ビット率環境に適切な符号化を行うことができる。
【0075】
図2Cは、本発明の一実施形態による符号化装置のFD符号化部を図示した図面である。
図2Cを参照すれば、FD符号化部209は、Norm符号化部2091、FPC(factorial pulse coding)符号化部2092、ノイズ付加情報生成部2093及びFD拡張符号化部2094を含んでもよい。
【0076】
Norm符号化部2091は、周波数変換部208で変換された入力信号に対して、周波数バンド別にエネルギーを抽出し、抽出されたエネルギーを量子化する。また、Norm符号化部2091は、抽出されたエネルギーを基に、スケーリング(scaling)することができ、このとき、スケーリングされるエネルギー値は、量子化されもする。例を挙げて説明すれば、本実施形態によるエネルギー値は、エネルギー、パワーのように、周波数バンドのエネルギーと比例関係にある測定方式を使用して獲得することができる。
【0077】
Norm符号化部2091で量子化された結果によるNorm情報は、符号化されたビットストリームに含まれて復号化装置102に伝送されもする。
【0078】
例を挙げて説明すれば、Norm符号化部2091は、入力信号に対応する周波数スペクトルを、所定個数の周波数バンドに分割し、周波数スペクトルから分割された周波数バンド別にエネルギーを抽出し、抽出されたエネルギー値を量子化する。このように、量子化された値は、周波数スペクトルを正規化(normalization)するのに使用されもする。
【0079】
このとき、Norm符号化部2091は、量子化された値を符号化する過程をさらに遂行することもできる。
【0080】
FPC符号化部2092は、量子化されたNorm値で、前記変換された入力信号をスケーリングした値に対して、FPC符号化を行う。すなわち、FPC符号化部2092は、Norm符号化部2091で正規化されたスペクトル値に対して、FPC符号化を行うことができる。
【0081】
例を挙げて説明すれば、FPC符号化部2092は、分割された周波数バンド別に可用ビット数を割り当て、正規化されたスペクトル値に対して、周波数バンド別に割り当てられたビット数によるFPC符号化を行う。かような場合、周波数バンド別に割り当てされるビット数は、ターゲットビット率(target bit rate)によって決定されもする。また、FPC符号化部2092は、Norm符号化部2091で量子化されたNorm符号化値を使用して、周波数バンド別に割り当てられるビットを算出することもできる。かような場合、FPC符号化部2092は、正規化されたスペクトルではない周波数変換されたスペクトルに対して、FPC符号化を行うこともできる。
【0082】
ノイズ付加情報生成部2093は、FPC符号化が行われることによるノイズ付加情報を生成する。例を挙げて説明すれば、ノイズ付加情報生成部2093は、FPC符号化部2092で、周波数スペクトルに対するFPC符号化の遂行を参照し、適切なノイズレベルを生成する。
【0083】
このとき、ノイズ付加情報生成部2093で生成された付加情報は、復号化端で、ノイズ・フィリング(noise filling)を行う場合に参照するように、符号化されたビットストリームに含まれる。
【0084】
FD拡張符号化部2094は、入力信号の高周波信号に対して、拡張符号化を行う。さらに詳細に説明すれば、FD拡張符号化部2094は、低周波数スペクトルを利用して、高周波数拡張を行う。
【0085】
例を挙げて説明すれば、FD拡張符号化部2094は、入力信号の高周波領域に対応する高周波信号の周波数ドメインエネルギー情報の量子化を行う。このとき、FD拡張符号化部2094は、入力信号に対応する周波数スペクトルを、所定個数の周波数バンドに分割し、分割された周波数バンド別に、周波数スペクトルのエネルギーを獲得し、獲得されたエネルギーを利用して、MSVQ(multi stage vector quantization)方式を遂行することができる。このとき、MSVQ方式は、多段階ベクトル量子化されてもよい。
【0086】
さらに詳細に説明すれば、FD拡張符号化部2094は、所定個数の周波数バンドのうち、奇数番目バンドのエネルギー情報を集めてVQ(vector quantization)を行い、VQを遂行した結果による量子化された値を利用して偶数番目バンドの予測エラーを獲得し、次のステージで獲得された予測エラーに対するVQを行うことができる。
【0087】
ただし、それに限定されるものではなく、FD拡張符号化部2094は、偶数番目バンドのエネルギー情報を集めてVQを行い、VQを行った結果による量子化された値を利用して、奇数番目バンドの予測エラーを獲得することもできる。
【0088】
すなわち、FD拡張符号化部2094は、第n番目バンドにVQを行った結果による量子化された値と、第(n+2)番目バンドにVQを行った結果による量子化された値を利用して、第(n+1)番目バンドに対する予測エラーを獲得する。このとき、nは自然数になってもよい。
【0089】
また、FD拡張符号化部2094で、エネルギー情報を集めてVQを行うにあたり、FD拡張符号化部2094は、所定の周波数バンドで励起信号を生成する方式をシミュレーション(simulation)し、シミュレーション結果による励起信号の特性と、前記所定の周波数バンドの原信号の特性とが異なれば、エネルギーを調節することができる。このとき、シミュレーション結果による励起信号の特性及び原信号の特性は、トーナリティ(tonality)及びnoiseness factorのうち少なくともいずれか一つにもなるが、それに限定されるものではない。このように、復号化端で、実際エネルギーのような復号化を行ったとき、ノイズが増加する現象を防止することができる。
【0090】
FD拡張符号化部2094は、入力信号の高周波信号の特性によって、多様な励起信号生成方式を使用するマルチモード高周波拡張(multi mode bandwidth extension)方式を使用することができる。例を挙げて説明すれば、FD拡張符号化部2094は、入力信号の特性によって、フレーム別に、ノルマル(normal)・モード、ハーモニック・(harmonic)モードまたはノイズ(noise)・モードのうちいずれか1つのモードを使用して、励起信号を生成することができる。
【0091】
また、本実施形態によるFD拡張符号化部2094は、ビット率によって、互いに異なる周波数帯域に対する信号を生成することができる。すなわち、FD拡張符号化部2094で、拡張符号化が行われる高周波信号に対応する高周波数帯域は、ビット率によって、互いに異なって設定される。
【0092】
例を挙げて説明すれば、FD拡張符号化部2094は、16kbpsのビット率では、約6.4ないし14.4kHzの周波数帯域に該当する信号を生成するのに使用され、16kbps以上のビット率では、約8ないし16kHzの周波数帯域に該当する信号を生成するのに使用される。また、FD拡張符号化部2094は、16kbpsのビット率では、約6.4ないし14.4kHzの周波数帯域に該当する高周波信号に対して拡張符号化を行い、16kbps以上のビット率では、約8ないし16kHzの周波数帯域に該当する高周波信号に対して、拡張符号化を行う。
【0093】
かような場合、本実施形態によるFD拡張符号化部2094は、互いに異なるビット率に対して、同一のコードブックを共有して、エネルギー量子化を行うことができる。これについては、以下の
図26で、さらに詳細に説明する。
【0094】
また、本実施形態によるFD符号化部209は、ステーショナリ・フレームが入力される場合、Norm符号化部2091、FPC符号化部2092、ノイズ付加情報生成部2093及びFD拡張符号化部2094それぞれによる動作が遂行されもする。
【0095】
ただし、トランジェント(transient)フレームが入力される場合、本実施形態によるFD符号化部209で、FD拡張符号化部2094は、動作しないこともある。かような場合、FD符号化部209のNorm符号化部2091及びFPC符号化部2092は、ステーショナリ・フレームが入力される場合より、FPCコーディングを行う周波数帯域の上位バンド値(Fcore)をさらに高く適用することができる。Fcore値については、以下の
図27で、さらに詳細に説明する。
【0096】
図2Dは、本発明のさらに他の実施形態による符号化装置の全体構成を図示したブロックダイヤグラムである。
図2Dを参照すれば、符号化装置101は、信号分類部210、LPC符号化部211、CELP符号化部212、TD拡張符号化部213、オーディオ符号化部214及びFD拡張符号化部215を含んでもよい。
【0097】
信号分類部210は、入力信号の特性を参照し、入力信号の符号化モードを決定する。このとき、本実施形態による符号化モードは、符号化方式でなってもよい。
【0098】
例を挙げて説明すれば、信号分類部210は、入力信号の時間ドメイン特性と、周波数ドメイン特性とを考慮し、入力信号の符号化モードを決定することができる。また、信号分類部205は、入力信号の特性が音声信号に該当する場合、入力信号に対して、CELP符号化が行われるように決定し、入力信号の特性がオーディオ信号に該当する場合、入力信号に対して、オーディオ符号化が行われるように決定することができる。
【0099】
LPC符号化部211は、入力信号の低周波信号から、線形予測係数(LPC:linear prediction coefficient)を抽出し、抽出された線形予測係数を量子化する。例を挙げて説明すれば、本実施形態によるLPC符号化部211は、TCQ(trellis coded quantization)方式、MSVQ(multi-stage vector quantization)方式、LVQ(lattice vector quantization)方式などを使用し、線形予測係数を量子化することができるが、それらに限定されるものではない。
【0100】
さらに詳細に説明すれば、LPC符号化部211は、32kHzまたは48kHzのサンプリング・レートを有する入力信号を、リサンプリング(re-sampling)することにより、12.8kHzまたは16kHzのサンプリング・レートを有する入力信号の低周波信号から、線形予測係数を抽出することができる。
【0101】
図2A及び
図2Bで説明したように、32kHzのサンプリング・レートを有する信号は、SWB(super wide band)信号にもなり、このとき、SWB信号は、fullband(FB)信号になってもよい。また、16kHzのサンプリング・レートを有する信号は、WB信号になってもよい。
【0102】
また、LPC符号化部211は、量子化された線形予測係数を利用して、LPC励起信号を抽出する過程をさらに含んでもよいが、それに限定されるものではない。
【0103】
CELP符号化部212は、入力信号の符号化モードが、CELPモードと決定されれば、線形予測係数を利用して、抽出されたLPC励起信号に対して、CELP符号化を行う。例を挙げて説明すれば、CELP符号化部212は、LPC励起信号に対してピッチ情報に該当するadaptive codebook contribution及びfixed codebook contributionそれぞれを考慮して、量子化することができる。このとき、LPC励起信号は、CELP符号化部212及びLPC符号化部211のうち少なくともいずれか一つで生成される。
【0104】
また、本実施形態によるCELP符号化部212は、入力信号の低周波信号の特性による多様な符号化モードによって、CELP符号化を行うことができる。例を挙げて説明すれば、CELP符号化部206は、有声音符号化モード(voiced coding mode)、無声音符号化モード(unvoiced coding mode)、転移信号符号化モード(transition coding mode)または一般的な符号化モード(generic coding mode)のうちいずれか1つの符号化モードで、入力信号の低周波信号に対して、CELP符号化を行うことができる。
【0105】
TD拡張符号化部213は、入力信号の低周波信号のLPC励起信号に対して、CELP符号化が行われれば、前記入力信号の高周波信号に対して、拡張符号化を行う。
【0106】
例を挙げて説明すれば、TD拡張符号化部213は、入力信号の高周波信号の線形予測係数を量子化する。このとき、本実施形態によるTD拡張符号化部213は、入力信号の低周波信号のLPC励起信号を使用し、入力信号の高周波信号の線形予測係数を抽出することもできる。
【0107】
このように、TD拡張符号化部213は、TD高周波数拡張符号化部にもなるが、それに限定されるものではない。
【0108】
オーディオ符号化部214は、入力信号の符号化モードが、オーディオ符号化モードと決定されれば、線形予測係数を利用して、抽出されたLPC励起信号に対して、オーディオ符号化を行う。
【0109】
例を挙げて説明すれば、オーディオ符号化部214は、線形予測係数を利用して、抽出されたLPC励起信号を周波数変換して、変換されたLPC励起信号を量子化する。
【0110】
オーディオ符号化部214で、周波数変換を行うにあたり、DCT(discrete cosine transform)のように、フレーム間で重畳される領域が存在しない周波数変換方式を使用することができる。また、オーディオ符号化部214は、周波数変換された励起信号スペクトルに対して、FPC方式またはLattice VQ(LVQ)方式でよる量子化を行うことができる。
【0111】
さらには、オーディオ符号化部214は、LPC励起信号に対して量子化を行うにあたってビットの余裕がある場合、adaptive codebook contribution及びfixed codebook contributionのTDコーディング情報をさらに考慮し、量子化することもできる。
【0112】
FD拡張符号化部215は、入力信号の低周波信号のLPC励起信号に対して、オーディオ符号化が行われれば、入力信号の高周波信号に対して、拡張符号化を行う。すなわち、FD拡張符号化部215は、低周波数スペクトルを利用して、高周波数拡張を行う。
【0113】
例を挙げて説明すれば、FD拡張符号化部215は、入力信号の高周波領域に対応する高周波信号の周波数ドメインエネルギー情報の量子化を行う。このとき、FD拡張符号化部215は、MDCTのような周波数変換方式を使用して、周波数スペクトルを生成し、周波数スペクトルを、所定個数の周波数バンドに分割し、分割された周波数バンド別に、周波数スペクトルのエネルギーを獲得し、獲得されたエネルギーを利用して、MSVQ(multi stage vector quantization)方式を遂行することができる。このとき、MSVQ方式は、多段階ベクトル量子化されてもよい。
【0114】
さらに詳細に説明すれば、FD拡張符号化部215は、所定個数の周波数バンドのうち、奇数番目バンドのエネルギー情報を集めてVQを行い、VQを行った結果による量子化された値を利用して、偶数番目バンドの予測エラーを獲得し、次のステージで、獲得された予測エラーに対するVQを行うことができる。
【0115】
ただし、それに限定されるものではなく、FD拡張符号化部215は、偶数番目バンドのエネルギー情報を集めてVQを行い、VQを行った結果による量子化された値を利用して、奇数番目バンドの予測エラーを獲得することもできる。
【0116】
すなわち、FD拡張符号化部215は、第n番目バンドにVQを行った結果による量子化された値と、第(n+2)番目バンドにVQを行った結果による量子化された値とを利用して、第(n+1)番目バンドに対する予測エラーを獲得する。このとき、nは自然数になる。
【0117】
また、FD拡張符号化部215で、エネルギー情報を集めてVQを行うにあたって、FD拡張符号化部215は、所定の周波数バンドで励起信号を生成する方式をシミュレーションし、シミュレーション結果による励起信号の特性と、前記所定の周波数バンドの原信号の特性とが異なれば、エネルギーを調節することができる。このとき、シミュレーション結果による励起信号の特性及び原信号の特性は、トーナリティ及びnoisenessf actorのうち少なくともいずれか一つにもなるが、それらに限定されるものではない。このように、復号化端で、実際エネルギーのようなものの復号化を行ったとき、ノイズが増加する現象を防止することができる。
【0118】
FD拡張符号化部215は、入力信号の高周波信号の特性によって、多様な励起信号生成方式を使用するマルチモード高周波拡張方式を使用することができる。例を挙げて説明すれば、FD拡張符号化部215は、入力信号の特性によって、フレーム別に、ノルマル・モード、ハーモニック・モード、転移モードまたはノイズ・モードのうちいずれか1つのモードを使用して、励起信号を生成することができる。かような場合、転移モードでは、temporal envelope情報も共に量子化される。
【0119】
また、本実施形態によるFD拡張符号化部215は、ビット率によって、互いに異なる周波数帯域に対する信号を生成することができる。すなわち、FD拡張符号化部215で、拡張符号化が行われる高周波信号に対応する高周波数帯域は、ビット率によって、互いに異なって設定されもする。
【0120】
例を挙げて説明すれば、FD拡張符号化部215は、16kbpsのビット率では、約6.4ないし14.4kHzの周波数帯域に該当する信号を生成するのに使用され、16kbps以上のビット率では、約8ないし16kHzの周波数帯域に該当する信号を生成するのに使用される。また、FD拡張符号化部215は、16kbpsのビット率では、約6.4ないし14.4kHzの周波数帯域に該当する高周波信号に対して拡張符号化を行い、16kbps以上のビット率では、約8ないし16kHzの周波数帯域に該当する高周波信号に対して、拡張符号化を行う。
【0121】
かような場合、本実施形態によるFD拡張符号化部215は、互いに異なるビット率に対して、同一のコードブックを共有して、エネルギー量子化を行うことができる。これについては、以下の
図26で、さらに詳細に説明する。
【0122】
本実施形態による符号化装置101は、入力信号を、前述のような符号化方法を使用して符号化されたビットストリームを出力することができる。例を挙げて説明すれば、入力信号が符号化されたビットストリームは、ヘッダ及びペイロードを含んでもよい。
【0123】
このとき、ヘッダは、入力信号が符号化されたモードを示す符号化モード情報を含んでもよく、ペイロードは、入力信号が符号化されたモードによって、入力信号がCELPモードで符号化された場合には、CELP情報及びTD高周波数拡張情報を含んでもよく、入力信号がオーディオ符号化モードで符号化された場合には、予測データ、オーディオ符号化情報及びFD高周波数拡張情報を含んでもよい。
【0124】
入力信号の特性によって、CELPモードまたはオーディオ符号化モードのうちいずれか1つの符号化モードを使用するように、スイッチングされることにより、入力信号の特性によって、適切な符号化モードを遂行することができる。また、本実施形態による符号化装置101は、信号分類部210の決定によって、FDモードを使用することにより、低ビット率環境に適切な符号化を行うことができる。
【0125】
図3は、本発明の一実施形態によるコア符号化部を図示した図面である。
図3を参照すれば、コア符号化部202は、信号分類部301及び符号化部302を含んでもよい。
【0126】
信号分類部301は、ダウンサンプリングされた入力信号(12.8KHz)の特性を分類することができる。すなわち、信号分類部301は、入力信号の特性によって、入力信号を多様な符号化モードに分類することができる。例えば、ITU−T G.718コーデックで、信号分類部301は、音声信号を有声音符号化モード、無声音符号化モード、転移信号符号化モード、そして一般的な信号符号化モードに分類することができる。ここで、無声音符号化モードは、無声音フレームと、ほとんどのinactive frameとを符号化するために設計されている。
【0127】
符号化部302は、信号分類部301で分類された入力信号の特性によって最適化されたコーディングを行うことができる。
【0128】
図4は、本発明の一実施形態による符号化装置の拡張符号化部を図示した図面である。
図4を参照すれば、拡張符号化部204は、基本信号生成部401、要素推定部402、エネルギー抽出部403、エネルギー制御部404及びエネルギー量子化部405を含んでもよい。一例として、拡張符号化部204は、符号化モードを入力されずに、エネルギー制御要素を推定することができる。他の一例として、拡張符号化部204は、符号化モードを利用して、エネルギー制御要素を推定することができる。このとき、符号化モードは、コア符号化部202から入力されもする。
【0129】
基本信号生成部401は、周波数領域の入力信号の周波数スペクトルを利用して、入力信号の基本信号(basic signal)を生成することができる。基本信号は、WB信号を基に、SWB BWEを行うための信号を意味する。言い替えれば、基本信号は、低周波領域のfine structureを構成する信号を意味する。基本信号を生成する過程は、
図6でさらに具体的に説明する。
【0130】
一例として、要素推定部402は、基本信号を利用して、エネルギー制御要素(energy control factor)を推定することができる。すなわち、符号化装置101は、復号化装置102で、SWB領域の信号を生成するために、入力信号のエネルギー情報を伝送する。このとき、要素推定部402は、エネルギー情報を知覚的な(perceptual)観点から制御するために、エネルギーを制御するためのパラメータであるエネルギー制御要素を推定することができる。エネルギー制御要素を推定する過程は、
図7で具体的に説明する。
【0131】
他の一例として、要素推定部402は、基本信号と入力信号との特性を利用して、エネルギー制御要素を推定することができる。このとき、入力信号の特性は、コア符号化部202から入力される。
【0132】
エネルギー抽出部403は、周波数領域の入力信号からエネルギーを抽出することができる。抽出されたエネルギーは、復号化装置102に伝送される。エネルギーは、周波数バンド別に抽出されもする。
【0133】
エネルギー制御部404は、エネルギー制御要素を利用して、入力信号から抽出されたエネルギーを制御することができる。すなわち、エネルギー制御部404は、周波数バンド別に抽出されたエネルギーに、エネルギー制御要素を適用することにより、エネルギーを制御することができる。
【0134】
エネルギー量子化部405は、制御されたエネルギーを量子化することができる。エネルギーは、dB scaleで変換されて量子化が行われる。具体的には、エネルギー量子化部405は、全体エネルギーであるグローバル(global)エネルギーを求め、グローバルエネルギー、及び周波数バンド別エネルギーとグローバルエネルギーとの差をスカラ量子化することができる。または、最初のバンドは、エネルギーを直接量子化し、2番目以後のバンドは、以前バンドとの差を量子化することができる。また、エネルギー量子化部405は、周波数バンドの差値を利用せずに、周波数バンド別に、エネルギーを直接量子化することもできる。周波数バンド別に、エネルギーを直接量子化する場合、スカラ量子化またはベクトル量子化が利用されもする。エネルギー量子化部405については、
図8及び
図9で具体的に説明する。
【0135】
図5は、本発明の他の一実施形態による符号化装置の拡張符号化部を図示した図面である。
図5の拡張符号化部204は、
図4と異なり、信号分類部501をさらに含む。一例として、要素推定部402は、基本信号と入力信号との特性を利用して、エネルギー制御要素を推定することができる。このとき、入力信号の特性は、コア符号化部202から入力されるのではなく、信号分類部501から入力される。
【0136】
信号分類部501は、入力信号(32KHz、MDCTスペクトル)を利用して、入力信号を特性によって分類することができる。具体的には、信号分類部501は、入力信号を、特性によって、多様な符号化モードに分類することができる。
【0137】
入力信号の特性が分類されることにより、エネルギー制御要素推定過程において、適する信号に対してのみエネルギー制御要素が推定され、またエネルギーが制御される。例えば、ノイズ信号や無声音信号のように、トーナル成分を含まない信号は、エネルギー制御要素推定過程に適さない。このとき、拡張符号化部204は、入力信号が無声音符号化モードに分類された場合、拡張符号化部204は、エネルギー制御要素を推定せずに、帯域幅拡張符号化を行うことができる。
【0138】
図5で、基本信号生成部401、要素推定部402、エネルギー抽出部403、エネルギー制御部404及びエネルギー量子化部405に係わる説明は、
図4を参照することができる。
【0139】
図6は、本発明の一実施形態による拡張符号化部の基本信号生成部を図示した図面である。
図6を参照すれば、基本信号生成部401は、人工信号生成部601、包絡線適用部602及び包絡線推定部603を含んでもよい。
【0140】
人工信号生成部601は、周波数領域の入力信号の低周波数領域をコピーしてフォールディングし、高周波数領域に対応する人工信号(artificial signal)を生成することができる。すなわち、人工信号生成部601は、周波数領域の入力信号の低周波数スペクトルをコピーし、SWB領域の人工信号を生成することができる。人工信号を生成する具体的な過程は、
図6で説明する。
【0141】
包絡線推定部602は、ウィンドウを利用して、基本信号の包絡線を推定することができる。基本信号の包絡線は、SWB領域の人工信号の周波数スペクトルに含まれている低周波数領域の包絡線情報を除去するために使用される。特定周波数インデックスの包絡線は、特定周波数の以前と以後との周波数スペクトルを使用して決定されもする。そして、動き平均(moving average)を介して、包絡線が推定される。一例として、周波数変換時にMDCTが使用されるならば、MDCT変換された周波数スペクトルの絶対値を介して、基本信号の包絡線が推定される。
【0142】
このとき、包絡線推定部602は、ホワイトニング(whitening)バンドを構成した後、ホワイトニングバンド別に、周波数大きさ(magnitude)の平均を、ホワイトニングバンド内に属した周波数の包絡線として推定することができる。前記ホワイトニングバンドに属する周波数スペクトルの個数は、エネルギーを抽出するバンドよりさらに少なく設定されもする。
【0143】
ホワイトニングバンド別に、周波数大きさの平均を、ホワイトニングバンド内に属した周波数の包絡線として推定する場合、包絡線推定部602は、ホワイトニングバンド内に属したスペクトルの個数の多少いかんを情報として伝送し、基本信号の平坦化程度を調節することができる。例えば、包絡線推定部602は、8個のスペクトルで構成された場合と、3個のスペクトルで構成された場合との2種方式で基づいて、情報を伝送することができる。このとき、3個のスペクトルで構成された場合、8個のスペクトルで構成された場合より、さらに平坦化された基本信号が生成される。
【0144】
また、包絡線推定部602は、ホワイトニングバンド内に属したスペクトルの個数の多少いかんに係わる情報を伝送せずに、コア符号化部202で使用された符号化モードによって、決定することができる。コア符号化部202は、入力信号の特性によって、入力信号を、有声音符号化モード、無声音符号化モード、transient符号化モード及びgeneric符号化モードに区分して、入力信号を符号化することができる。
【0145】
このとき、包絡線推定部602は、入力信号の特性による符号化モードに基づいて、ホワイトニングバンドに属した周波数スペクトルの個数を制御させることができる。一例として、入力信号が、有声音符号化モードによって符号化された場合、包絡線推定部602は、ホワイトニングバンドにおいて、3個の周波数スペクトルによって構成し、包絡線を推定することができる。そして、入力信号が、有声音符号化モード以外の符号化モードによって符号化された場合、包絡線推定部602は、ホワイトニングバンドにおいて、3個の周波数スペクトルによって構成し、包絡線を推定することができる。
【0146】
包絡線適用部603は、推定された包絡線を、人工信号に適用することができる。かような過程をホワイトニングといい、人工信号が包絡線によって平坦化される。包絡線適用部603は、人工信号を、周波数インデックスそれぞれの包絡線に分け、基本信号を生成することができる。
【0147】
図7は、本発明の一実施形態による拡張符号化部の要素推定部を図示した図面である。
図7を参照すれば、要素推定部402は、第1トーナリティ(tonality)計算部701、第2トーナリティ計算部702及び要素計算部703を含んでもよい。
【0148】
第1トーナリティ計算部701は、周波数領域の入力信号の高周波数領域のトーナリティを計算することができる。すなわち、第1トーナリティ計算部701は、入力信号の高周波数領域であるSWB領域のトーナリティを計算することができる。
【0149】
第2トーナリティ計算部702は、基本信号のトーナリティを計算することができる。トーナリティは、spectral flatnessを測定することにより、計算される。具体的には、下記数式(1)によって、トーナリティが計算される。spectral flatnessは、周波数スペクトルの幾何平均と算術平均との関係を介して測定される。
【0150】
【数1】
要素計算部703は、入力信号の高周波数領域のトーナリティと、基本信号のトーナリティとを利用して、エネルギー制御要素を計算することができる。このとき、エネルギー制御要素は、下記数式(2)によって計算される。
【0151】
【数2】
ここで、αは、エネルギー制御要素を示し、T
0は、入力信号のトーナリティ、T
bは、基本信号のトーナリティを示す。N
bは、ノイジネス・ファクタ(noisiness factor)であり、信号にノイズ成分が含まれた程度を示す。
【0152】
エネルギー制御要素は、下記数式(3)によって計算されてもよい。
【0153】
【数3】
要素計算部703は、それぞれの周波数バンド別に、エネルギー制御要素を計算することができる。計算されたエネルギー制御要素は、入力信号のエネルギーに適用されもする。このとき、エネルギー制御要素は、エネルギー制御要素が、既設定の臨界エネルギー制御要素より小さい場合、入力信号のエネルギーに適用されもする。
【0154】
図8は、本発明の一実施形態によるエネルギー量子化部の動作を説明するための図面である。
【0155】
段階S801で、エネルギー量子化部405は、エネルギー制御要素によって、エネルギーのベクトルを前処理し、前処理されたエネルギーベクトルのサブベクトルを選択することができる。一例として、エネルギー量子化部405は、エネルギーベクトルそれぞれに対して、平均値を差し引いたり、あるいはエネルギーベクトルそれぞれの重要度に係わる加重値を計算することができる。このとき、重要度に係わる加重値は、合成音の音質を最大化する方向に計算される。
【0156】
そして、エネルギー量子化部405は、符号化効率を考慮し、エネルギーベクトルのサブベクトルを適切に選択することができる。そして、補間効果を向上させるために、エネルギー量子化部405は、同一間隔で、サブベクトルを選択することができる。
【0157】
一例として、エネルギー量子化部405は、下記数式(4)によって、サブベクトルを選択することができる。
【0158】
【数4】
その場合、k=2になれば、偶数だけが選択される。
【0159】
段階S802で、エネルギー量子化部405は、選択されたサブベクトルを量子化及び逆量子化する。エネルギー量子化部405は、数式(5)によって計算されたMSEを最小化する量子化インデックスを選択し、サブベクトルを量子化することができる。
【0160】
【数5】
エネルギー量子化部405は、スカラ量子化、ベクトル量子化、TCQ及びLVQのうちいずれか一つによって、サブベクトルを量子化することができる。このとき、ベクトル量子化は、multi−stage VQまたはsplit VQなどが可能であり、split VQとmulti−stage VQが同時に使用されることも可能である。量子化インデックスは、復号化装置102に伝送される。
【0161】
そして、前処理過程で、重要度に係わる加重値が計算された場合、エネルギー量子化部405は、加重値が適用されたWMSE(weighted MSE)を利用して、最適化された量子化インデックスを求めることができる。このとき、weighted MSEは、数式(6)によって計算される。
【0162】
【数6】
段階S803で、エネルギー量子化部405は、量子化されたサブベクトルを補間し、選択されていない残りのサブベクトルの値を計算することができる。段階S804で、エネルギー量子化部405は、補間された残りのサブベクトルと、本来エネルギーベクトルにマッチングされた残りのサブベクトルとの差である補間エラーを計算することができる。
【0163】
段階S805で、エネルギー量子化部405は、補間エラーを量子化及び逆量子化することができる。このとき、エネルギー量子化部405は、MSEを最小化する量子化インデックスを利用して、補間エラーを量子化することができる。エネルギー量子化部405は、スカラ量子化、ベクトル量子化、TCQ及びLVQのうちいずれか一つによって、補間エラーを量子化することができる。このとき、ベクトル量子化は、multi−stage VQまたはsplit VQなどが可能であり、split VQとmulti−stage VQとが同時に使用されることも可能である。そして、前処理過程で、重要度に係わる加重値が計算された場合、エネルギー量子化部405は、加重値が適用されたWMSEを利用して、最適化された量子化インデックスを求めることができる。
【0164】
段階S806で、エネルギー量子化部405は、選択されたサブベクトルの量子化されたベクトルを補間して選択されていない残りのサブベクトルを計算して、段階S805)で計算された量子化された補間エラーを加えて最終的に量子化されたエネルギーを計算することができる。そして、エネルギー量子化部405は、後処理過程を介して前処理過程で抜いた平均値をまた加えて最終的に量子化されたエネルギーを計算することができる。
【0165】
Multi−stage VQで、エネルギー量子化部405は、同一のコードブックで、量子化性能を向上させるために、K個のサブベクトルの候補(candidate)を利用して量子化を行う。Kが2以上である場合、エネルギー量子化部405は、distortion measureを行い、最適サブベクトルの候補を決定することができる。このとき、distortion measureは、2つの方式によって決定されもする。
【0166】
第一に、エネルギー量子化部405は、サブベクトルの候補それぞれに対して、各ステージで、MSE(mean square error)またはWMSE(weighted mean square error)に対してインデックスセットを生成した後、すべてのステージのMSEまたはWMSEの和が最小であるサブベクトルの候補を選択することができる。その場合、計算量が少ないという長所がある。
【0167】
第二に、エネルギー量子化部405は、サブベクトルの候補それぞれに対して、各ステージで、MSEまたはWMSEを最小化するインデックスセットを生成した後、逆量子化過程を経てエネルギーベクトルを修復した後、復元されたエネルギーベクトルと、本来のエネルギーベクトルとのMSEまたはWMSEを最小化するサブベクトルの候補を選択することができる。その場合、復元のための計算量が追加されるが、実際の量子化された値を利用して、MSEを求めるので、性能にすぐれるという長所がある。
【0168】
図9は、本発明の一実施形態によって、エネルギーを量子化する過程を示した図面である。
図9を参照すれば、エネルギーベクトルは、14dimensionを示している。1
ststageで、エネルギー量子化部405は、エネルギーベクトルで、偶数のみを選択し、7dimensionであるサブベクトルを選択した。1
st stageで、性能向上のために、エネルギー量子化部405は、2個にsplitされた2
nd stageベクトル量子化を利用する。
【0169】
エネルギー量子化部405は、2
nd stageで、1
st stageのエラー信号を利用して、量子化を行う。エネルギー量子化部405は、選択されたサブベクトルの逆量子化過程を経て補間エラーを求め、補間エラーは、2個にsplitされた3
rd stageベクトル量子化を利用して量子化される。
【0170】
図10は、本発明の一実施形態による人工信号を生成する過程を図示した図面である。
図10を参照すれば、人工信号生成部601は、全体周波数バンドで、低周波数領域であるfL〜6.4KHzに対応する周波数スペクトル1001をコピーすることができる。コピーされた周波数スペクトル1001は、6.4〜12.8−f
LKHz周波数領域までスウィーピングされる。そして、12.8−f
L〜16KHz周波数領域に対応する周波数スペクトルは6.4〜12.8−f
LKHz周波数領域の周波数スペクトルがフォールディングされて生成されもする。すなわち、高周波数領域であるSWBに対応する人工信号は、6.4〜16KHzまで生成される。
【0171】
このとき、周波数スペクトルを生成するときに使用された変換が、MDCTである場合、f
Lと6.4kHzとの間に相関関係が存在する。具体的には、6.4kHzに該当するMDCTの周波数インデックスが偶数である場合には、f
Lの周波数インデックスも偶数でなければならない。一方、4kHzに該当するMDCTの周波数インデックスが奇数である場合、f
Lの周波数インデックスも、奇数でなければならない。
【0172】
例えば、本来の入力信号に対して、640個のスペクトルを抽出するMDCTを適用した場合、6.4kHzに対応するインデックスは、256番目インデックスになり(6400/16000*640)、偶数になる。その場合、f
Lは、必ず偶数として選択にならなければならない。すなわち、f
Lは、2(50Hz)、4(100Hz)などが使用される。この過程は、復号化過程でも同一に適用される。
【0173】
図11A及び
図11Bは、本発明の一実施形態による包絡線推定のためのウィンドウを図示した図面である。
図11A及び
図11Bを参照すれば、ウィンドウ1101とウィンドウ1102とのピーク位置が、現在包絡線を推定しようとする周波数インデックスを意味する。基本信号に対する包絡線推定は、下記数式(7)によって行われる。
【0174】
【数7】
図11A及び
図11Bでウィンドウ1101とウィンドウ1102は、いつも固定して使用され、その場合には、追加して伝送されるビットが不要である。または、ウィンドウ1101とウィンドウ1102とが選択的に使用される場合には、包絡線推定のために、いずれのウィンドウが使用されるかを示す情報をビットで表現し、追加して復号化装置102に伝達する必要がある。かようなビットは、周波数バンド別に伝送されるが、あるいは1フレームに1回伝送される。
【0175】
ウィンドウ1101とウィンドウ1102とを比較すれば、ウィンドウ1102は、ウィンドウ1101より、現在周波数インデックスに対応する周波数スペクトルに加重値をさらに付け加えて包絡線を推定する。従って、ウィンドウ1102によって生成された基本信号は、ウィンドウ1101によって生成された基本信号より、平坦に生成される。ウィンドウの種類は、ウィンドウ1101とウィンドウ1102とによって生成されたそれぞれの基本信号と入力信号との周波数スペクトルを比較することによって選択される。また、高周波数領域のトーナリティの比較を介して、類似しているトーナリティを有させるウィンドウが選択されもする。そして、高周波数領域の相関度(correlation)の比較を介して、相関度の高いウィンドウが選択される。
【0176】
図12Aは、本発明の一実施形態による復号化装置を図示したブロックダイヤグラムである。
図12Aの過程は、
図2Aの過程の逆過程からなる。
図12Aを参照すれば、復号化装置102は、コア復号化部1201、アップ・サンプリング部1202、周波数変換部1204、拡張復号化部1204及び周波数逆変換部1205を含んでもよい。
【0177】
コア復号化部1201は、ビットストリームに含まれたコア符号化された入力信号をコア復号化することができる。コア復号化過程を介して、12.8KHzサンプリング・レートを有する信号が抽出される。
【0178】
アップ・サンプリング部1202は、コア復号化された入力信号を、アップ・サンプリングすることができる。アップ・サンプリングを介して、32KHzサンプリング・レートを有する信号が抽出される。
【0179】
周波数変換部1204は、アップ・サンプリングされた入力信号を周波数変換することができる。周波数変換は、符号化器で使用された周波数変換方式と同一の方法を使用することができ、例えば、MDCTを使用することができる。
【0180】
拡張復号化部1204は、ビットストリームに含まれた前記入力信号のエネルギーと、前記周波数領域の入力信号とを利用して、帯域幅拡張復号化を行うことができる。拡張復号化部1204の動作については、
図9で具体的に説明する。
【0181】
周波数逆変換部1205は、帯域幅拡張復号化が行われた結果に対して、周波数逆変換を行うことができる。周波数変換部1204で使用された周波数変換方式の逆変換を行うことにより、例えば、IMDCT(inverse modified discrete cosine transform)を行うことができる。
【0182】
図12Bは、本発明の他の実施形態による復号化装置を図示したブロックダイヤグラムである。
図12Bの過程は、
図12Aの過程の逆過程からなる。
図12Bを参照すれば、復号化装置102は、モード情報検査部1206、CELP復号化部1207、TD拡張復号化部1208、FD復号化部1209及び周波数逆変換部1210を含んでもよい。
【0183】
モード情報検査部1206は、ビットストリームに含まれたフレームそれぞれに係わるモード情報を検査する。このとき、ビットストリームは、符号化装置101で、符号化された結果によるビットストリームが、復号化装置102に伝送された信号になる。
【0184】
例を挙げて説明すれば、モード情報検査部1206は、符号化されたビットストリームから、モード情報をパージングし、パージング結果による現在フレームの符号化モードによって、CELP復号化モードまたはFD復号化モードのうち、いずれか1つの復号化モードでスイッチング作業を行う。
【0185】
さらに詳細に説明すれば、モード情報検査部1206は、ビットストリームに含まれたフレームそれぞれに対して、CELPモードで符号化されたフレームは、CELP復号化が行われるように、スイッチングし、FDモードで符号化されたフレームは、FD復号化が行われるように、スイッチングすることができる。
【0186】
CELP復号化部1207は、検査結果によって、CELP符号化されたフレームに対して、CELP復号化を行う。例を挙げて説明すれば、CELP復号化部1207は、ビットストリームに含まれた線形予測係数を復号化し、adaptive codebook contribution及びfixed codebook contributionに係わる復号化を行い、復号化遂行結果を合成し、低周波数に係わる復号化信号である低周波信号を生成する。
【0187】
TD拡張復号化部1208は、CELP復号化が行われた結果、及び低周波信号の励起信号のうち少なくとも一つを利用して、高周波数に係わる復号化信号を生成する。このとき、低周波信号の励起信号は、ビットストリームに含まれもする。また、TD拡張復号化部1208は、高周波数に係わる復号化信号である高周波信号を生成するために、ビットストリームに含まれた高周波信号に対する線形予測係数情報を活用することができる。
【0188】
また、本実施形態によるTD拡張復号化部1208は、生成された高周波信号を、CELP復号化部1207で生成された低周波信号と合成し、復号化された信号を生成することができる。このとき、TD拡張復号化部1208は、復号化された信号を生成するために、低周波信号と高周波信号とのサンプリング・レートを、同一になるように変換する作業をさらに行うことができる。
【0189】
FD復号化部1209は、検査結果によって、FD符号化されたフレームに対して、FD復号化を行う。FD復号化部1209は、ビットストリームを復号化し、周波数スペクトルを生成することができる。また、本実施形態によるFD復号化部1209は、ビットストリームに含まれた以前フレームのモード情報を参照し、復号化を行うこともできるということが分かる。すなわち、FD復号化部1209は、FD符号化されたフレームに対して、ビットストリームに含まれた以前フレームモード情報を参照し、FD復号化を行うことができる。これについては、
図25で、さらに詳細に説明する。また、FD復号化部1209については、以下の
図12Cで詳細に説明する。
【0190】
周波数逆変換部1210は、FD復号化が行われた結果を周波数逆変換する。周波数逆変換部1210は、FD復号化された周波数スペクトルに対して、周波数逆変換を行い、復号化された信号を生成する。例を挙げて説明すれば、周波数逆変換部1210は、IMDCTを行うことができるが、それに限定されるものではない。
【0191】
このように、復号化装置102は、ビットストリームのフレームそれぞれの符号化モードを参照し、ビットストリームに対する復号化を行うことができる。
【0192】
図12Cは、本発明の一実施形態による復号化装置のFD復号化部を図示した図面である。
図12Cの過程は、
図12Bの過程の逆過程からなる。
図12Cを参照すれば、FD復号化部1209は、Norm復号化部12091、FPC復号化部12092、ノイズ・フィリング遂行部12093及びFD拡張復号化部12094を含んでもよく、FD拡張復号化部12094は、FD低周波数拡張復号化部12095及びFD高周波数拡張復号化部12096を含んでもよい。
【0193】
Norm復号化部12091は、ビットストリームのNorm情報を参照し、Norm復号化を行う。このとき、ビットストリームのNorm情報は、
図2CのNorm符号化部2091で符号化された結果による情報になってもよい。
【0194】
FPC復号化部12092は、ビットストリームのFPC符号化情報に基づいて、FPC復号化を行う。このとき、FPC符号化情報は、
図2CのFPC符号化部209で符号化された結果による情報になってもよい。
【0195】
例を挙げて説明すれば、FPC復号化部12092は、
図2CのFPC符号化部2092で符号化された方法と同一に、周波数バンド別に可用ビット数を割り当て、FPC復号化を行う。
【0196】
ノイズ・フィリング遂行部12093は、FPC復号化が行われた結果に対して、ノイズ・フィリングを行う。例を挙げて説明すれば、ノイズ・フィリング遂行部12093は、FPC復号化が行われた周波数バンドにノイズを付け加える。このとき、ノイズ・フィリング遂行部12093は、FPC復号化が行われた周波数バンドの最後の周波数バンドまでノイズを付け加える。これと関連して、
図27で、さらに詳細に説明する。
【0197】
FD拡張復号化部12094は、FD低周波数拡張復号化部12095及びFD高周波数拡張復号化部12096を含んでもよい。
【0198】
FD低周波数拡張復号化部12095は、FPC復号化を行う周波数バンドの上位バンド値(Ffpc)が、FPCコーディングを行う周波数帯域の上位バンド値(Fcore)より小さい場合、前記FPC復号化及びノイズ・フィリングが行われた結果に対して、拡張符号化を行う。
【0199】
このように、FD低周波数拡張復号化部12095は、FPC復号化及びノイズピルリによって生成された周波数スペクトルを使用し、FPCコーディングを行う周波数帯域義上位バンド値(Fcore)までの周波数スペクトルを生成する。
【0200】
このように、FD低周波数拡張復号化部12095によって生成された周波数スペクトルに対して、Norm復号化部12091によって復号化されたNorm値を乗じ、復号化された低周波数スペクトルを生成することができる。
【0201】
ただし、FD低周波数拡張復号化部12095が動作しない場合には、FPC復号化及びノイズ・フィリングが行われた結果によって生成された周波数スペクトルに対して、Norm復号化部12091によって復号化されたNorm値を乗じ、復号化された低周波数スペクトルを生成することができる。
【0202】
FD高周波数拡張復号化部12096は、FPC復号化及びノイズ・フィリングが行われた結果を利用して、高周波数拡張復号化を行う。本実施形態によるFD高周波数拡張復号化部12096は、
図2CのFD拡張符号化部2094に対応して動作する。
【0203】
例を挙げて説明すれば、FD高周波数拡張復号化部12096は、ビットストリームの高周波数エネルギー情報に基づいて、高周波数エネルギーを逆量子化し、高周波帯域幅拡張の多様なモードによって、低周波信号を利用して高周波信号の励起信号を生成し、生成された励起信号のエネルギーが、逆量子化されたエネルギーに対称になるようにゲインを適用することにより、復号化された高周波信号を生成することができる。例を挙げて説明すれば、高周波帯域幅拡張の多様なモードは、ノルマル・モード、ハーモニック・モードまたはノイズ・モードのうちいずれか1つのモードになってもよい。
【0204】
このとき、FD高周波数拡張復号化部12096は、互いに異なるビット率に対して、同一のコードブックを共有して、エネルギー逆量子化を行うことができる。これについては、
図26で、さらに詳細に説明する。
【0205】
また、本実施形態によるFD復号化部1209は、復号化されるフレームがステーショナリ・フレームである場合、Norm復号化部12091、FPC復号化部12092、ノイズ・フィリング遂行部12093及びFD拡張復号化部12094それぞれによる動作が遂行される。
【0206】
ただし、復号化されるフレームが、トランジェント・フレームである場合、本実施形態によるFD復号化部1209で、FD拡張復号化部12094は、動作しない。
【0207】
図12Dは、本発明のさらに他の実施形態による復号化装置を図示したブロックダイヤグラムである。
図12Dの過程は、
図2Dの過程の逆過程からなる。
図12Dを参照すれば、復号化装置102は、モード情報検査部1211、LPC復号化部1212、CELP復号化部1213、TD拡張復号化部1214、オーディオ復号化部1215及びFD拡張復号化部1216を含んでもよい。
【0208】
モード情報検査部1211は、ビットストリームに含まれたフレームそれぞれに係わるモード情報を検査する。このとき、ビットストリームは、符号化装置101で符号化された結果によるビットストリームが、復号化装置102に伝送された信号になってもよい。
【0209】
例を挙げて説明すれば、モード情報検査部1211は、符号化されたビットストリームから、モード情報をパージングし、パージング結果による現在フレームの符号化モードによって、CELP復号化モードまたはオーディオ復号化モードのうちいずれか1つの復号化モードで、スイッチング作業を行う。
【0210】
さらに詳細に説明すれば、モード情報検査部1211は、ビットストリームに含まれたフレームそれぞれに対して、CELPモードで符号化されたフレームは、CELP復号化が行われるように、スイッチングし、オーディオ符号化モードで符号化されたフレームは、オーディオ復号化が行われるように、スイッチングすることができる。
【0211】
LPC復号化部1212は、ビットストリームに含まれたフレームに対して、LPC復号化を行う。
【0212】
CELP復号化部1213は、検査結果によって、CELP符号化されたフレームに対して、CELP復号化を行う。例を挙げて説明すれば、CELP復号化部1213は、adaptive codebook contribution及びfixed codebook contributionに係わる復号化を行い、復号化遂行結果を合成し、低周波数に係わる復号化信号である低周波信号を生成する。
【0213】
TD拡張復号化部1214は、CELP復号化が行われた結果、及び低周波信号の励起信号のうち少なくとも一つを利用して、高周波数に係わる復号化信号を生成する。このとき、低周波信号の励起信号は、ビットストリームに含まれもする。また、TD拡張復号化部1208は、高周波数に係わる復号化信号である高周波信号を生成するために、LPC復号化部1212で復号化された線形予測係数情報を活用することができる。
【0214】
また、本実施形態によるTD拡張復号化部1214は、生成された高周波信号を、CELP復号化部1214で生成された低周波信号と合成し、復号化された信号を生成することができる。このとき、TD拡張復号化部1214は、復号化された信号を生成するために、低周波信号と高周波信号とのサンプリング・レートが同一になるように変換する作業をさらに行うことができる。
【0215】
オーディオ復号化部1215は、検査結果によって、オーディオ符号化されたフレームに対して、オーディオ復号化を行う。例を挙げて説明すれば、オーディオ復号化部1215は、ビットストリームを参照し、時間ドメイン寄与分(contribution)が存在する場合、時間ドメイン寄与分及び周波数ドメイン寄与分を考慮して復号化を行い、時間ドメイン寄与分が存在しない場合、周波数ドメイン寄与分を考慮して復号化を行う。
【0216】
また、オーディオ復号化部1215は、FPCまたはLVQに量子化された信号に対して、IDCTなどを利用した周波数逆変換を遂行し、復号化された低周波数励起信号を生成し、生成された励起信号を、逆量子化されたLPC係数と合成し、復号化された低周波数信号を生成することができる。
【0217】
FD拡張復号化部1216は、オーディオ復号化が行われた結果を利用して、拡張復号化を行う。例を挙げて説明すれば、FD拡張復号化部1216は、復号化された低周波数信号を高周波数拡張復号化に適するサンプリング・レートに変換し、変換された信号に、MDCTのような周波数変換を行う。FD拡張復号化部1216は、量子化された高周波数エネルギーを逆量子化し、高周波帯域幅拡張の多様なモードによって、低周波信号を利用して、高周波信号の励起信号を生成し、生成された励起信号のエネルギーが、逆量子化されたエネルギーに対称になるように、ゲインを適用することにより、復号化された高周波信号を生成することができる。例を挙げて説明すれば、高周波帯域幅拡張の多様なモードは、ノルマル・モード、転移モード、ハーモニック・モードまたはノイズ・モードのうちいずれか1つのモードになってもよい。
【0218】
また、FD拡張復号化部1216は、生成された復号化された高周波信号及び低周波信号に対して、IMDCTのような周波数逆変換を行い、最終復号化された信号を生成する。
【0219】
さらには、FD拡張復号化部1216は、帯域幅拡張に転移モードが適用された場合、周波数逆変換が遂行された後に復号化された信号が、復号化されたtemporal envelopeにマッチングされるように、時間ドメインで求めたゲインを適用し、ゲインが適用された信号を合成することもある。
【0220】
このように、復号化装置102は、ビットストリームのフレームそれぞれの符号化モードを参照し、ビットストリームに対する復号化を行うことができる。
図13は、本発明の一実施形態による復号化装置の拡張復号化部を図示した図面である。
【0221】
図13を参照すれば、拡張復号化部1204は、逆量子化部1301、ゲイン計算部1302、ゲイン適用部1303、人工信号生成部1304、包絡線推定部1305及び包絡線適用部1306を含んでもよい。
【0222】
逆量子化部1301は、入力信号のエネルギーを逆量子化することができる。エネルギーを逆量子化する過程については、
図14で具体的に説明する。
【0223】
ゲイン計算部1302は、逆量子化されたエネルギーと、基本信号のエネルギーとを利用して、基本信号に適用されるゲインを計算することができる。具体的には、ゲインは、逆量子化されたエネルギーと、基本信号のエネルギーとの比率を介して決定されもする。一般的にエネルギーは、周波数スペクトルのamplitudeの二乗の和を使用して決定されるので、エネルギー比率のroot値を使用する。
【0224】
ゲイン適用部1303は、計算されたゲインを周波数バンド別に適用することができる。それにより、最終的に、SWBの周波数スペクトルが決定される。
【0225】
一例として、ゲイン計算及びゲイン適用は、前述したように、バンドをエネルギーを伝送したバンドと一致させて行うことができる。他の実施例で、急激なエネルギーの変化を防止するために、全体周波数バンドをサブバンドに分けて遂行することもできる。かような場合において、周辺バンドの逆量子化されたエネルギーを、補間によってバンド境界部分でのエネルギーをスムージング(smoothing)させることができる。例えば、それぞれのバンドは、3個のサブバンドに分離し、それぞれバンドの3個サブバンドのうち中間のサブバンドは、現在バンドの逆量子化されたエネルギーを割り当て、最初及び3番目のサブバンドは、以前バンドあるいは以後バンドの中間バンドに割り当てられたエネルギーと、補間を介して新しくスムージングされエネルギーとを使用して、ゲイン計算及び適用を行うことができる。すなわち、ゲイン計算及び適用する単位をサブバンドとして設定して適用する。
【0226】
かようなエネルギー・スムージング方式は、常に固定された方式で適用することができる。また、拡張符号化部204で、エネルギー・スムージングが必要であるという情報を伝送し、必要なフレームでのみ適用することができる。このとき、スムージングが必要なフレームであるという情報は、スムージングを行った場合が、スムージングを行っていない場合に比べて、全体エネルギーの量子化エラーが少なくなる場合に選択することができる。
【0227】
一方、周波数領域の入力信号を利用して、基本信号を生成することができる。基本信号を生成する過程は、次のような構成要素を介して遂行される。
【0228】
人工信号生成部1304は、周波数領域の入力信号の低周波数領域をコピーしてフォールディングし、高周波数領域に対応する人工信号を生成することができる。このとき、周波数領域の入力信号は、32KHzサンプリング・レートを有するWB復号化された信号でもある。
【0229】
包絡線推定部1305は、ビットストリームに含まれたウィンドウを利用して,基本信号の包絡線を推定することができる。ウィンドウは、符号化装置101で,包絡線推定のために使用されたものであり、ウィンドウの種類は、ビット形態でビットストリームに含まれ、復号化装置102に伝送される。
【0230】
包絡線適用部1306は、推定された包絡線を人工信号に適用することにより、基本信号を生成することができる。
【0231】
符号化装置の包絡線推定部602で、ホワイトニングバンド別に周波数大きさの平均を、ホワイトニングバンド内に属した周波数の包絡線として推定する場合において、ホワイトニングバンド内に属したスペクトルの個数多少いかんと係わる情報を、復号化装置に伝送した場合、復号化装置の包絡線推定部1305が、伝送された方式で基づいて包絡線を推定した後、包絡線適用部1306で、包絡線を適用することができる。また情報伝送なしに、WBコア復号化部に使用されたコア符号化モードによって決定することができる。
【0232】
コア復号化部1201は、信号の特性によって、有声音符号化、無声音符号化、transient符号化、generic符号化部に区分して復号化することができる。このとき、包絡線推定部602は、入力信号の特性による復号化モードに基づいて、ホワイトニングバンドに属した周波数スペクトルの個数を制御させることができる。一例として、入力信号が、有声音復号化モードによって復号化された場合、包絡線推定部1305は、ホワイトニングバンドに、3個の周波数スペクトルによって構成し、包絡線を推定することができる。そして、入力信号が、有声音復号化モード以外の復号化モードによって、符号化された場合、包絡線推定部1306は、ホワイトニングバンドに、3個の周波数スペクトルによって構成し、包絡線を推定することができる。
【0233】
図14は、本発明の一実施形態による拡張復号化部の逆量子化部の動作を図示した図面である。
【0234】
段階S1401で、逆量子化部1301は、符号化装置101から伝送されたインデックスを利用して、エネルギーベクトルの選択されたサブベクトルを逆量子化することができる。
【0235】
段階S1402で、逆量子化部1301は、符号化装置101から伝送されたインデックスを利用して、選択されていない残りのサブベクトルに対応する補間エラーを逆量子化することができる。
【0236】
段階S1403で、逆量子化部1301は、逆量子化されたサブベクトルを補間し、選択されていない残りのサブベクトルを計算することができる。そして、逆量子化部1301は、残りサブベクトルに逆量子化された補間エラー値を加えることができる。また、逆量子化部1301は、後処理過程を介して、前処理過程で差し引いた平均値を加え、最終的な逆量子化されたエネルギーを計算することができる。
【0237】
図15Aは、本発明の一実施形態による符号化方法を図示したフローチャートである。
【0238】
符号化装置101は、入力信号をダウン・サンプリングすることができる(S1501)。符号化装置101は、ダウン・サンプリングされた入力信号に対して、コア符号化することができる(S1502)。符号化装置101は、入力信号を周波数変換することができる(S1503)。符号化装置101は、周波数領域の入力信号に対して、帯域幅拡張符号化を行うことができる(S1504)。一例として、符号化装置101は、コア符号化を介して決定された符号化情報を利用して、帯域幅拡張符号化を行うことができる。このとき、符号化情報は、コア符号化時、入力信号の特性によって分類された符号化モードを含んでもよい。
【0239】
一例として、符号化装置101は、帯域幅拡張符号化を、次のような過程を介して行うことができる。符号化装置101は、周波数領域の入力信号の周波数スペクトルを利用して、周波数領域の入力信号の基本信号を生成することができる。他の一例として、符号化装置は、入力信号の特性及び入力信号の周波数スペクトルを利用して、周波数領域の入力信号の基本信号を生成することができる。このとき、入力信号の特性は、コア符号化を介して導出されるか、あるいは別途の信号分類過程を介して導出されもする。そして、符号化装置101は、基本信号を利用して、エネルギー制御要素を推定することができる。その後、符号化装置101は、周波数領域の入力信号から、エネルギーを抽出することができる。それにより、符号化装置101は、エネルギー制御要素を利用して抽出されたエネルギーを制御することができる。符号化装置101は、制御されたエネルギーを量子化することができる。
【0240】
このとき、基本信号を生成する過程は、次のような方法を介して遂行される。
【0241】
符号化装置101は、周波数領域の入力信号の低周波数領域をコピーしてフォールディングし、高周波数領域に対応する人工信号(artificial signal)を生成することができる。そして、符号化装置101は、ウィンドウを利用して、基本信号の包絡線を推定することができる。このとき、符号化装置101は、トーナリティまたは相関度のうち、いずれか1つの比較結果によってウィンドウを選択し、基本信号の包絡線を推定することができる。一例として、符号化装置101は、ホワイトニングバンドそれぞれの周波数大きさ(magnitude)の平均を、ホワイトニングバンド内に属した周波数の包絡線として推定することができる。具体的には、符号化装置101は、コア符号化モードによって、ホワイトニングバンドに属した周波数スペクトルの個数を制御させ、前記基本信号の包絡線を推定することができる。
【0242】
その後、符号化装置101は、推定された包絡線を人工信号に適用することにより、基本信号を生成することができる。
【0243】
そして、エネルギー制御要素を推定する過程は、次のような方法を介して遂行されもする。
【0244】
符号化装置101は、周波数領域の入力信号の高周波数領域のトーナリティを計算することができる。そして、符号化装置101は、基本信号のトーナリティを計算することができる。その後、符号化装置101は、入力信号の高周波数領域のトーナリティと、基本信号のトーナリティとを利用して、エネルギー制御要素を計算することができる。
【0245】
また、エネルギーを量子化する過程は、次のような方法を介して遂行されもする。
【0246】
符号化装置101は、サブベクトルを選択して量子化を行った後、補間エラーを利用して、残りの(remained)サブベクトルを量子化することができる。このとき、符号化装置101は、同一間隔で、サブベクトルを選択することができる。
【0247】
一例として、符号化装置101は、サブベクトルの候補を選択し、2個以上使用するマルチステージ(multi−stage)ベクトル量子化を行うことができる。このとき、符号化装置101は、サブベクトルの候補それぞれに対して、各ステージで、MSEまたはWMSEに対してインデックスセットを生成した後、すべてのステージのMSEまたはWMSEの和が最小であるサブベクトルの候補を選択することができる。または、符号化装置101は、サブベクトルの候補それぞれに対して、各ステージで、MSEまたはWMSEを最小化するインデックスセットを生成した後、逆量子化過程を経てエネルギーベクトルを修復した後、復元されたエネルギーベクトルと、本来のエネルギーベクトルとのMSEまたはWMSEを最小化するサブベクトルの候補を選択することができる。
【0248】
図15Bは、本発明の他の実施形態による符号化方法を図示したフローチャートである。
図15Bを参照すれば、符号化方法は、
図2Aないし
図2Cに図示された符号化装置101で、時系列的に処理される段階で構成される。従って、以下で省略された内容であるとしても、
図2Aないし
図2Cに図示された符号化装置101について、以上で記述された内容は、
図15Bの符号化方法にも適用されるということが分かる。
【0249】
信号分類部205は、入力信号の特性を参照し、入力信号の符号化モードを決定する(S1505)。CELP符号化部206は、入力信号の符号化モードが、CELPモードと決定されれば、前記入力信号の低周波信号に対して、CELP符号化を行う(S1506)。
【0250】
TD拡張符号化部207は、入力信号の低周波信号に対して、CELP符号化が行われれば、入力信号の高周波信号に対して、TD拡張符号化を行う(S1507)。周波数変換部208は、入力信号の符号化モードが、FDモードと決定されれば、前記入力信号を周波数変換する(S1508)。FD符号化部209は、周波数変換された入力信号に対して、FD符号化を行う(S1509)。
【0251】
図15Cは、本発明のさらに他の実施形態による符号化方法を図示したフローチャートである。
図15Cを参照すれば、符号化方法は、
図2Aないし
図2Cに図示された符号化装置101で、時系列的に処理される段階で構成される。従って、以下で省略された内容であるとしても、
図2Aないし
図2Cに図示された符号化装置101について、以上で記述された内容、は
図15Cの符号化方法にも適用されるということが分かる。
【0252】
信号分類部210は、入力信号の特性を参照し、入力信号の符号化モードを決定する(S1510)。LPC符号化部211は、入力信号の低周波信号から線形予測係数を抽出し、抽出された線形予測係数を量子化する(S1511)。
【0253】
CELP符号化部212は、入力信号の符号化モードが、CELPモードと決定されれば、線形予測係数を利用して、抽出されたLPC励起信号に対して、CELP符号化を行う(S1512)。TD拡張符号化部213は、入力信号の低周波信号のLPC励起信号に対して、CELP符号化が行われれば、入力信号の高周波信号に対して、TD拡張符号化を行う(S1513)。
【0254】
オーディオ符号化部214は、入力信号の符号化モードが、FDモードと決定されれば、線形予測係数を利用して、抽出されたLPC励起信号に対して、オーディオ符号化を行う(S1514)。
【0255】
FD拡張符号化部215は、入力信号の低周波信号のLPC励起信号に対して、FD符号化が行われれば、入力信号の高周波信号に対して、FD拡張符号化を行う(S1515)。
【0256】
図16Aは、本発明の一実施形態による復号化方法を図示したフローチャートである。復号化装置102は、ビットストリームに含まれたコア符号化された入力信号を、コア復号化することができる(S1601)。復号化装置102は、コア復号化された入力信号を、アップ・サンプリングすることができる(S1602)。
【0257】
復号化装置102は、アップ・サンプリングされた入力信号を、周波数変換することができる(S1603)。復号化装置102は、ビットストリームに含まれた入力信号のエネルギーと、周波数領域の入力信号とを利用して、帯域幅拡張復号化を行うことができる(S1604)。
【0258】
具体的には、帯域幅拡張を行う過程は、次のようになる。
【0259】
復号化装置102は、入力信号のエネルギーを逆量子化することができる。このとき、復号化装置101は、サブベクトルを選択して逆量子化し、逆量子化されたサブベクトルを補間し、補間されたサブベクトルに補間エラー値を加え、最終的にエネルギーを逆量子化することができる。
【0260】
そして、復号化装置102は、周波数領域の入力信号を利用して、基本信号を生成することができる。その後、復号化装置102は、逆量子化されたエネルギーと、基本信号のエネルギーとを利用して、基本信号に適用されるゲインを計算することができる。最終的に、復号化装置102は、計算されたゲインを、周波数バンド別に適用することができる。
【0261】
具体的には、基本信号を生成する過程は、次のようになる。
【0262】
復号化装置102は、周波数領域の入力信号の低周波数領域をコピーしてフォールディングし、高周波数領域に対応する人工信号を生成することができる。そして、復号化装置102は、ビットストリームに含まれたウィンドウを利用して、基本信号の包絡線を推定することができる。このとき、ウィンドウ情報を常に同一に使用するように設定された場合には、ビットストリームに含まれない。その後、復号化装置102は、推定された包絡線を人工信号に適用することができる。
【0263】
図16Bは、本発明の他の実施形態による復号化方法を図示したフローチャートである。
図16Bを参照すれば、符号化方法は、
図12Aないし
図12Cに図示された復号化装置102で、時系列的に処理される段階で構成される。従って、以下で省略された内容であるとしても、
図12Aないし
図12Cに図示された復号化装置102について、以上で記述された内容は、
図16Bの復号化方法にも適用されるということが分かる。
【0264】
モード情報検査部1206は、ビットストリームに含まれたフレームそれぞれに係わるモード情報を検査する(S1606)。CELP復号化部1207は、検査結果によって、CELP符号化されたフレームに対して、CELP復号化を行う(S1607)。
【0265】
TD拡張復号化部1208は、CELP復号化が行われた結果、及び低周波信号の励起信号のうち、少なくともいずれか一つを利用して、高周波数に係わる復号化信号を生成する(S1608)。FD復号化部1209は、検査結果によって、FD符号化されたフレームに対して、FD復号化を行う(S1609)。周波数逆変換部1210は、FD復号化が行われた結果を、周波数逆変換する。
【0266】
図16Cは、本発明のさらに他の実施形態による復号化方法を図示したフローチャートである。
図16Cを参照すれば、符号化方法は、
図12Aないし
図12Cに図示された復号化装置102で、時系列的に処理される段階で構成される。従って、以下で省略された内容であるとしても、
図12Aないし
図12Cに図示された復号化装置102について、以上で記述された内容は、
図16Cの復号化方法にも適用されるということが分かる。
【0267】
モード情報検査部1211は、ビットストリームに含まれたフレームそれぞれに係わるモード情報を検査する(S1611)。
【0268】
LPC復号化部1212は、ビットストリームに含まれたフレームに対して、LPC復号化を行う(S1612)。CELP復号化部1213は、検査結果によって、CELP符号化されたフレームに対して、CELP復号化を行う(S1613)。
【0269】
TD拡張復号化部1214は、CELP復号化が行われた結果、及び低周波信号の励起信号のうち、少なくともいずれか一つを利用して、高周波数に係わる復号化信号を生成する(S1614)。オーディオ復号化部1215は、検査結果によって、オーディオ符号化されたフレームに対して、オーディオ復号化を行う(S1615)。FD拡張復号化部1216は、オーディオ復号化が行われた結果を利用して、FD拡張復号化を行う(S1616)。
【0271】
図17は、本発明のさらに他の実施形態による符号化装置の全体構成を図示したブロックダイヤグラムである。
図17を参照すれば、符号化装置100は、符号化モード選択部1701及び拡張符号化部1702を含んでもよい。
【0272】
符号化モード選択部1701は、周波数領域の入力信号と、時間領域の入力信号とを利用して、帯域幅拡張符号化の符号化モードを選択することができる。
【0273】
具体的には、符号化モード選択部1701は、周波数領域の入力信号と、時間領域の入力信号とを利用して、周波数領域の入力信号を分類し、分類された情報によって、帯域幅拡張符号化の符号化モード、及び符号化モードに基づいた周波数バンドの個数を決定することができる。ここで、符号化モードは、拡張符号化部1702の性能向上のために、コア符号化時に決定された符号化モードと異なる新しい符号化モードのセットとして設定されもする。
【0274】
一例として、符号化モードは、ノルマル・モード、ハーモニック・モード、トランジェント・モード、ノイズ・モードに分類される。まず、符号化モード選択部1701は、時間領域信号の長区間エネルギーと、現在フレームの高域エネルギーとの比率を利用して、現在フレームがトランジェント・フレームであるか否かを決定する。トランジェント信号区間は、時間領域で急激なエネルギー変化が現われる区間であるので、高域のエネルギーが急激に変化する区間であるといえる。
【0275】
残り3個の符号化モードを決定する過程は、次の通りである。まず、以前フレームと現在フレームとの周波数領域のグローバルエネルギーを求めた後、これら間の比率と、周波数領域信号とを、事前に定義された帯域に分けた後、各帯域の平均エネルギーとピークエネルギーとを利用して、残り3個のモードを決定する。ハーモニック・モードは、一般的に、周波数領域信号で、平均エネルギーとピークエネルギーとの差が最大である信号であるといえる。そして、ノイズ・モードは、全体的にエネルギー変化が少ない信号といえる。かような2つの信号を除いた残りの信号は、いずれもノルマル・モードと決定される。
【0276】
そして、一実施形態で、周波数バンド個数は、ノルマル・モードとハーモニック・モードとでは16個に決定され、トランジェント・モードでは、5個に決定され、ノイズ・モードでは、12個と決定される。
【0277】
拡張符号化部1702は、周波数領域の入力信号と、時間領域の入力信号とを利用して、帯域幅拡張符号化の符号化モードを選択することができる。
図17を参照すれば、拡張符号化部1702は、基本信号生成部1703、要素推定部1704、エネルギー抽出部1705、エネルギー制御部1706及びエネルギー量子化部1707を含んでもよい。基本信号生成部1703と要素推定部1704とについては、
図5の説明を参考にすることができる。
【0278】
エネルギー抽出部1705は、符号化モードに基づいて、決定された周波数バンド個数によって、各周波数バンドに該当するエネルギーを抽出することができる。基本信号生成部1703、要素推定部1704及びエネルギー制御部1706は、符号化モードによって使用されるか、あるいは使用されないこともある。例えば、ノルマル・モードとハーモニック・モードは、前述の3個の構成要素が使用され、トランジェント・モードとノイズ・モードは、前述の3個の構成要素が使用されないこともある。前述の3個の構成要素に係わる詳細的な説明は、
図5で説明した部分を参考にすることができる。エネルギー制御過程を経たバンドエネルギーは、エネルギー量子化部1707で量子化されもする。
【0279】
図18は、本発明のさらに他の実施形態による符号化装置のエネルギー量子化部が遂行する動作を図示した図面である。
【0280】
エネルギー量子化部1707は、符号化モードによって、入力信号から抽出されたエネルギーを量子化することができる。このとき、エネルギー量子化部1707は、符号化モードによって、入力信号の知覚的な特性及びバンドエネルギー個数を考慮し、各入力信号に最適な方式で、バンドエネルギーを量子化することができる。
【0281】
例えば、符号化モードが、トランジェント・モード(transient mode)である場合、エネルギー量子化部1707は、5個のバンドエネルギーに対して、知覚的特性に基づいた周波数加重方法(frequency weighting method)を利用して、バンドエネルギーを量子化することができる。そして、符号化モードがノルマル・モード(normal mode)またはハーモニック・モード(harmonic mode)である場合、エネルギー量子化部1707は、16個のバンドエネルギーに対して、知覚的特性に基づいた不均衡ビット割り当て方法(unequal bit allocation method)を利用して、バンドエネルギーを量子化することができる。もし、入力信号の特性が明確ではない場合、エネルギー量子化部1707は、知覚的特性を考慮せずに、一般的な量子化を行うこともできる。
【0282】
図19は、本発明の一実施形態によって、不均衡ビット割り当て方法(unequal bit allocation method)を利用して、エネルギーを量子化する過程を示した図面である。
【0283】
不均衡ビット割り当て方法は、拡張符号化の対象になった入力信号の知覚的特性を考慮したものであり、知覚的に重要度が高い相対的に、さらに低い周波数帯域をさらに正確に量子化することができる方法である。このために、エネルギー量子化部1707は、低いバンドエネルギーに、同じであるか、あるいはさらに多くのビットを割り当て、知覚的な重要度を区分することができる。
【0284】
一例として、エネルギー量子化部1707は、相対的に低い帯域である0〜5番の周波数帯域に、さらに多くのビット割り当てを行い、0〜5番の周波数帯域に、いずれも同一のビット割り当てを行う。そして、周波数帯域が高くなるほど、エネルギー量子化部1707は、さらに少ないビット割り当てを行う。かようなビット割り当てによって、周波数帯域0〜13は、
図19と同様に方式で量子化される。そして、周波数帯域14と15は、
図20のように量子化される。
【0285】
図20は、本発明の一実施形態によって、イントラフレーム予測を利用したベクトル量子化を行う過程を図示した図面である。
【0286】
エネルギー量子化部1707は、2個以上の要素(element)を有する量子化対象ベクトルの代表値を予測した後、前記予測された代表値と、前記量子化対象ベクトルの各要素との間のエラー信号を、ベクトル量子化することができる。
【0287】
図20は、かようなイントラフレーム予測(intra frame prediction)を示し、量子化対象ベクトルの代表値を予測し、エラー信号を導出する方法は、数式(8)の通りである。
【0288】
【数8】
ここで、Env(n)は、量子化されていないバンドエネルギーを意味し、QEnv(n)は、量子化されたバンドエネルギーを意味する。そして、pは、量子化対象ベクトルの予測された代表値を意味し、e(n)は、エラーエネルギーを意味する。ここでe(14)とe(15)は、ベクトル量子化される。
【0289】
図21は、本発明の一実施形態によって、周波数加重方法を利用して、エネルギーを量子化する過程を示した図面である。
【0290】
周波数加重方法(frequency weighting method)は、拡張符号化対象である入力信号の知覚的特性を考慮し、不均衡ビット割り当て方法(unequal bit allocation method)と同一に、知覚的に重要度が高い、相対的にさらに低い帯域をさらに正確に量子化をする方法である。このために、低いバンドエネルギーに、同じであるか、あるいはさらに高い加重値を付与して知覚的な重要度を区分する。
【0291】
一例として、エネルギー量子化部1707は、
図21のように、相対的に低い周波数帯域である0〜3番の帯域に、さらに高い加重値である1.0を付与し、15番の周波数帯域は、さらに低い加重値である0.7を付与して量子化することができる。付与された加重値を使用するために、エネルギー量子化部1707は、WMSE値を利用して、最適インデックスを求めることができる。
【0292】
図22は、本発明の一実施形態によって、マルチステージ・スプリットのベクトル量子化と、イントラフレーム予測とを利用したベクトル量子化を行う過程を図示した図面である。
【0293】
エネルギー量子化部1707は、バンドエネルギーの個数が16個であるノルマル・モードについて、
図22のように、ベクトル量子化を行うことができる。ここで、エネルギー量子化部1707は、不均衡ビット割り当て方法(unequal bit allocation method)、イントラフレーム予測(intra frame prediction)及びmulti−stage split VQ with energy interpolationの技術を利用して、ベクトル量子化を行うことができる。
【0294】
図23は、本発明の一実施形態によって、復号化装置の逆量子化部が遂行する動作を図示した図面である。
図23は、
図18の動作を逆に遂行する。
図17のように、拡張符号化時に、符号化モードが使用された場合、復号化装置の逆量子化部1301は、符号化モードを復号化することができる。
【0295】
逆量子化部1301は、まず、伝送されたインデックスを利用して、符号化モードを復号化する。そして、逆量子化部1301は、復号化された符号化モードによって決定された方式で、逆量子化をする。
図23の符号化モードによって、各逆量子化対象であるブロックは、量子化の逆順に逆量子化される。
【0296】
ここで使用されたmulti−stagesplit VQ with energy interpolation方式で量子化された部分は、
図14と同一の方式で逆量子化される。このうち、逆量子化部1301は、イントラフレーム予測を利用して、下記数式(9)によって逆量子化することができる。
【0297】
【数9】
ここで、Env(n)は、量子化されていないバンドエネルギーを意味し、QEnv(n)は、量子化されたバンドエネルギーを意味する。そして、pは、量子化対象ベクトルの予測された代表値を意味し、e^(n)は、量子化されたエラーエネルギーを意味する。
【0298】
図24は、本発明の一実施形態による符号化装置の他の構造を図示した図面である。
図24に図示された符号化装置101の各構成要素の基本的な動作は、
図2Aの通りである。ただし、拡張符号化部2404は、コア符号化部2404の情報伝送がなく、時間領域の入力信号が直接入力されもする。
【0299】
図25は、本発明の一実施形態によるビットストリームの一例を図示した図面である。
図25を参照すれば、N番目フレームに該当するビットストリーム251、(N+1)番目フレームに該当するビットストリーム252、及び(N+2)番目フレームに該当するビットストリーム253がそれぞれ図示されている。
【0300】
図25を参照すれば、ビットストリーム251,252,253は、ヘッダ254及びペイロード255から構成される。ヘッダ254は、モード情報2511,2521,2531を含んでもよい。このとき、モード情報2511,2521,2531は、フレームそれぞれに係わる符号化モード情報を示す。例を挙げて説明すれば、モード情報2511は、N番目フレームがいかなる符号化モードで符号化されているかを示し、モード情報2512は、(N+1)番目フレームがいかなる符号化モードで符号化されているかを示し、モード情報2513は、(N+2)番目フレームがいかなる符号化モードで符号化されているかを示す。例を挙げて説明すれば、符号化モードは、CELPモード、FDモードまたはオーディオ符号化モードのうちいずれか一つにもなるが、それらに限定されるものではない。
【0301】
ペイロード255は、フレームの符号化モードによるコアデータに係わる情報を示す。CELPモードによって符号化されたN番目フレームを例として挙げて説明すれば、ペイロード255は、CELP情報2512及びTD拡張情報2513を含んでもよい。
【0302】
FDモードによって符号化された(N+1)番目フレームまたは(N+2)番目フレームを例として挙げて説明すれば、ペイロード255は、FD情報2523または2532を含んでもよい。
【0303】
また、(N+1)番目フレームに係わるビットストリーム252に図示されているように、ビットストリーム252のペイロード255は、予測データ2522をさらに含んでもよい。すなわち、隣接するフレーム間の符号化モードが、CELPモードからFDモードに変更される場合、FDモードによる符号化が行われた結果によるビットストリーム252には、予測データ2522が含まれもする。
【0304】
さらに詳細に説明すれば、
図2Bに図示されているように、CELPモードまたはFDモードのうちいずれか1つのモードでスイッチングがなされる符号化装置101で、FDモードによる符号化を行う場合、MDCTのように、フレーム間で重畳する周波数変換方式を利用する。
【0305】
このように、入力信号のN番目フレームに対して、CELPモードによる符号化が行われ、(N+1)番目フレームに対して、FDモードによる符号化が行われれば、FDモードによる符号化結果だけで、(N+1)番目フレームに係わる復号化を行うことができない。このように、隣接するフレーム間の符号化モードが、CELPモードからFDモードに変更される場合、FDモードによる符号化が行われた結果によるビットストリーム252には、予測に該当する情報を示す予測データ2522が含まれもする。
【0306】
従って、復号化端で、ビットストリーム252に含まれた予測データ2522を参照し、以前フレーム(例えば、N番目フレーム)の復号化された結果と、現在フレーム(例えば、(N+1)番目フレーム)の復号化された時間ドメイン情報とを利用した予測を介して、FDモードによって符号化されたビットストリーム252を復号化することができる。例を挙げて説明すれば、時間ドメイン情報は、時間ドメイン・エイリアシング(time domain aliasing)にもなるが、それに限定されるものではない。
【0307】
また、(N+1)番目フレームに係わるビットストリーム252、及び(N+2)番目フレームに係わるビットストリーム253に図示されているように、ビットストリーム252,253のペイロード255は、以前フレームモード情報2524,2533をさらに含んでもよい。
【0308】
さらに詳細に説明すれば、FDモードによる符号化が行われた結果によるビットストリーム252,253には、以前フレームモード情報2524,2533が含まれもする。
【0309】
例を挙げて説明すれば、(N+1)番目フレームに係わるビットストリーム252に含まれた以前フレームモード情報2524は、N番目フレームのモード情報2511に係わる情報を含んでもよく、(N+2)番目フレームに係わるビットストリーム253に含まれた以前フレームモード情報2533は、(N+1)番目フレームのモード情報2524に係わる情報を含んでもよい。
【0310】
このように、複数のフレームのうち、いずれか1つのフレームにエラーが発生した場合にも、復号化端で、モード転移を正確に把握することができる。
【0311】
図26は、本発明の一実施形態による周波数帯域別周波数割り当ての一例を図示した図面である。
【0312】
前述のように、
図2Cに図示されたFD拡張符号化部2094、または
図2Dに図示されたFD拡張符号化部215は、互いに異なるビット率に対して、同一のコードブックを共有して、エネルギー量子化を行うことができる。このように、FD拡張符号化部2094、または
図2Dに図示されたFD拡張符号化部215は、入力信号に対応する周波数スペクトルを、所定個数の周波数バンドに分割するにあたり、互いに異なるビット率に対して、同一の周波数バンド別に帯域幅を有するようにする。
【0313】
16kbpsのビット率で、約6.4ないし14.4kHzの周波数帯域を分割する場合(261)、及び16kbps以上のビット率で、約8ないし16kHzの周波数帯域を分割する場合(262)を例として挙げて説明する。かような場合、互いに異なるビット率に対して、同一の周波数バンド別に帯域幅を有するようにする。
【0314】
すなわち、最初の周波数バンドに係わる帯域幅263は、16kbpsのビット率、及び16kbps以上のビット率いずれにおいても、0.4kHzであり、2番目の周波数バンドに係わる帯域幅264は、16kbpsのビット率及び16kbps以上のビット率いずれにおいても、0.6kHzになる。
【0315】
かような方式で、互いに異なるビット率に対して、同一の周波数バンド別に、帯域幅を有するようにすることにより、本実施形態によるFD拡張符号化部2094またはFD拡張符号化部215は、互いに異なるビット率に対して、同一のコードブックを共有し、エネルギー量子化を行うことができる。
【0316】
このように、CELPモードとFDモードとがスイッチングされる設定(configuration)、またはCELPモードとオーディオ符号化モードとがスイッチングされる設定で、multi mode band width extension技術を適用し、このとき、多様なビット率を支援することができるコードブック共有を行うことにより、ROM(read-only memory)サイズを縮小させ、具現を単純化することができる。
【0317】
図27は、本発明の一実施形態によるFD符号化部またはFD復号化部で適用される周波数帯域の一例を図示した図面である。
図27に図示された周波数帯域271は、
図2Bに図示されたFD符号化部209、及び
図12Bに図示されたFD復号化部1209で、それぞれのツール別に適用可能な周波数帯域の一例を図示している。
【0318】
さらに詳細に説明すれば、FD符号化部209のFPC符号化部2092は、FPCコーディングを行う周波数帯域を、ビット率別に制限する。例えば、FPCコーディングを行う周波数帯域(Fcore)は、ビット率によって、6.4kHz、8kHzまたは9.6kHzにもなるが、それに限定されるものではない。
【0319】
FPC符号化部2092によって制限された周波数帯域内で、FPCコーディングを行うことにより、FPCがコーディングされた周波数帯域(Ffpc)272が決定されもする。かような場合、FD復号化部1209のノイズ・フィリング遂行部12093は、FPCがコーディングされた周波数帯域(Ffpc)272に対して、ノイズ・フィリングを行う。
【0320】
このとき、FPCがコーディングされた周波数帯域(Ffpc)の上位帯域値が、FPCコーディングを行う周波数帯域(Fcore)の上位帯域値より小さい場合、FD復号化部1209のFD低周波数拡張復号化部12095は、低周波数拡張復号化を行うことができる。
【0321】
図27を参照すれば、FD低周波数拡張復号化部12095は、FPCコーディングを行う周波数帯域(Fcore)において、FPCがコーディングされた周波数帯域(Ffpc)に該当しない周波数帯域273に対して、FD低周波数拡張復号化を行うことができる。ただし、FPCコーディングを行う周波数帯域(Fcore)が、FPCがコーディングされた周波数帯域(Ffpc)と同一である場合には、FD低周波数拡張復号化が遂行されないこともある。
【0322】
FD復号化部1209のFD高周波数拡張復号化部12096は、FPCコーディングを行う周波数帯域(Fcore)の上位バンド値と、ビット率による周波数帯域(Fend)の上位バンド値との周波数帯域274に対して、FD高周波数拡張符号化を行うことができる。例を挙げて説明すれば、ビット率による周波数帯域(Fend)の上位バンド値は、14kHz、14.4kHzまたは16kHzにもなるが、それらに限定されるものではない。このように、本実施形態による符号化装置101及び復号化装置102を使用することにより、多様なスイッチング構造を介して、多様なビット率に対して、音声及び音楽を効率的にコーディングすることができる。また、FD拡張符号化及びFD拡張復号化を行うにあたり、コードブックを共有することにより、多様な設定が存在する場合にも、高音質を低複雑で具現することができる。さらには、FD符号化が行われる場合、ビットストリームに、以前フレームのモード情報が含まれることにより、フレームエラーが発生する場合にも、正確な復号化を行うことができる。それにより、本実施形態による符号化装置101及び復号化装置102を使用することにより、low complexity及びlow delayを具現することができる。
【0323】
従って、3GPP EVS(enhanced voiced service)による音声信号及び音楽信号の符号化及び復号化を好ましく行うことができる。
【0324】
本発明の実施例による方法は、多様なコンピュータ手段を介して遂行されるプログラム命令形態に具現され、コンピュータ可読媒体に記録されもする。前記コンピュータ可読媒体は、プログラム命令、データファイル、データ構造などを、単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものや、コンピュータ・ソフトウェア当業者に公知されて使用可能なものでもある。
【0325】
以上のように、本発明は、たとえ限定された実施形態と図面とによって説明されたとしても、本発明は、前記の実施形態に限定されるものではなくて、本発明が属する分野で当業者であるならば、かような記載から多様な修正及び変形が可能であろう。従って、本発明の範囲は、説明された実施形態に限って決まるものではなく、特許請求の範囲だけではなく、該特許請求の範囲と均等なものによっても決まるものである。