以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明に係る符号化装置および復号装置として、音声符号化装置および音声復号装置を例にとって説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る符号化装置および復号装置を有する通信システムの構成を示すブロック図である。図1において、通信システムは、符号化装置101と復号装置103とを備え、それぞれ伝送路102を介して通信可能な状態となっている。なお、符号化装置101および復号装置103はいずれも、通常、基地局装置あるいは通信端末装置等に搭載されて用いられる。
符号化装置101は、入力信号をNサンプルずつ区切り(Nは自然数)、Nサンプルを1フレームとしてフレーム毎に符号化を行う。ここで、符号化の対象となる入力信号をxn(n=0、…、N−1)と表すこととする。nは、Nサンプルずつ区切られた入力信号のうち、信号要素のn+1番目を示す。符号化装置101は、符号化された入力情報(以下「符号化情報」という)を、伝送路102を介して復号装置103に送信する。
復号装置103は、伝送路102を介して符号化装置101から送信された符号化情報を受信し、これを復号し出力信号を得る。
図2は、図1に示した符号化装置101の内部の主要な構成を示すブロック図である。符号化装置101は、直交変換処理部201および符号化部202から主に構成される。
直交変換処理部201は、バッファbuf1n(n=0、…、N−1)を内部に有し、入力信号xnを修正離散コサイン変換(MDCT:Modified Discrete Cosine Transform)する。
次に、直交変換処理部201における直交変換処理について、その計算手順と内部バッファへのデータ出力に関して説明する。
まず、直交変換処理部201は、下記の式(1)によりバッファbuf1
nを、「0」を初期値として初期化する。
次いで、直交変換処理部201は、下記の式(2)に従って、入力信号x
nに対し修正離散コサイン変換(MDCT)を行い、入力信号のMDCT係数(以下、入力スペクトルと呼ぶ)X(k)を求める。
ここで、kは1フレームにおける各サンプルのインデックスを示す。直交変換処理部201は、入力信号x
nとバッファbuf1
nとを結合させたベクトルであるx
n’を下記の式(3)により求める。
次に、直交変換処理部201は、式(4)によりバッファbuf1
nを更新する。
そして、直交変換処理部201は、入力スペクトルX(k)を符号化部202に出力する。
符号化部202には、直交変換処理部201から入力スペクトルX(k)が入力される。符号化部202は、入力スペクトルX(k)を符号化し、符号化情報を生成する。次に符号化部202は、生成した符号化情報を、伝送路102を介して復号装置103に送信する。
図3は、図2に示した符号化部202の内部の主要な構成を示すブロック図である。図3を用いて、符号化部202における処理の詳細を説明する。符号化部202は、帯域設定部301、低域符号化部302、高域符号化部(帯域拡張部)303、および多重化部304から主に構成される。各部は以下の動作を行う。
帯域設定部301には、直交変換処理部201から入力スペクトルX(k)が入力される。帯域設定部301は、入力スペクトルX(k)のスペクトル特性を分析し、分析結果に応じて、低域符号化部302および高域符号化部(帯域拡張部)303においてそれぞれ符号化対象となる帯域を設定する。次に、帯域設定部301は、設定した帯域を示す帯域設定情報を、低域符号化部302、高域符号化部303、および多重化部304に出力する。
次に、帯域設定部301における、帯域設定情報の算出方法について説明する。
帯域設定部301は、まず入力スペクトルX(k)に対して、帯域がTH
Low以下である部分のエネルギ(低域エネルギ)E
Lowを式(5−1)に従って算出し、帯域がTH
High以上である部分のエネルギ(高域エネルギ)E
Highを式(5−2)に従って算出する。ここで、TH
LowおよびTH
Highは予め定められた閾値であり、TH
Low<TH
Highという関係にあるものとする。また、式(5−2)においてF
maxは最大帯域値(最大の周波数値)である。
次に、帯域設定部301は、式(5−1)により算出された低域エネルギE
Lowの大きさと、式(5−2)により算出された高域エネルギE
Highの大きさとを比較し、以下の式(6)に従って、帯域設定情報Band_Settingを決定する。すなわち、帯域設定部301は、入力スペクトルのエネルギ特性に基づいて、入力スペクトルの帯域を分割して低域側の帯域(低域部)及び高域側の帯域(高域部)を設定する帯域設定情報を生成する。ここで、式(6)中のγは、予め定められた定数である。
つまり、帯域設定部301は、高域エネルギEHighに対し低域エネルギELowがある程度大きい場合には、帯域設定情報Band_Settingの値を0とし、そうでない場合には帯域設定情報Band_Settingの値を1とする。帯域設定部301は、決定した帯域設定情報Band_Settingを低域符号化部302、高域符号化部303、および多重化部304に出力する。
低域符号化部302には、直交変換処理部201から入力スペクトルX(k)が入力される。また、低域符号化部302には、帯域設定部301から帯域設定情報Band_Settingが入力される。低域符号化部302は、帯域設定情報Band_Settingに基づいて、入力スペクトルX(k)を符号化し、低域部符号化情報を生成する。次に、低域符号化部302は、低域部符号化情報を多重化部304に出力する。低域符号化部302における処理の詳細は後述する。
高域符号化部303には、直交変換処理部201から入力スペクトルX(k)が入力される。また、高域符号化部303には、帯域設定部301から帯域設定情報Band_Settingが入力される。高域符号化部303は、帯域設定情報Band_Settingに基づいて、入力スペクトルX(k)を符号化し、高域部符号化情報(帯域拡張情報)を生成する。次に、高域符号化部303は、高域部符号化情報を多重化部304に出力する。高域符号化部303における処理の詳細は後述する。
多重化部304は、帯域設定部301、低域符号化部302、および高域符号化部303からそれぞれ入力される帯域設定情報、低域部符号化情報、および高域部符号化情報を多重化し、符号化情報として伝送路102に出力する。
図4は、低域符号化部302の内部構成を示すブロック図である。低域符号化部302は、符号化対象スペクトル算出部401、形状符号化部402、利得符号化部403、および多重化部404から主に構成される。各部は以下の動作を行う。
符号化対象スペクトル算出部401には、帯域設定部301から帯域設定情報Band_Settingが入力される。また、符号化対象スペクトル算出部401には、直交変換処理部201から入力スペクトルX(k)が入力される。符号化対象スペクトル算出部401は、帯域設定情報Band_Settingの値に基づき、符号化対象とする帯域を決定し、入力スペクトルX(k)のうち、該当する帯域のスペクトルのみを形状符号化部402に出力する。
具体的には、符号化対象スペクトル算出部401は、帯域設定情報Band_Settingの値が0である場合には、入力スペクトルX(k)のうち、帯域がMax1以下(k≦Max1)のスペクトルを符号化対象スペクトルX’(k)として形状符号化部402に出力する。また、符号化対象スペクトル算出部401は、帯域設定情報Band_Settingの値が1である場合には、入力スペクトルX(k)のうち、帯域がMax2以下(k≦Max2)のスペクトルを符号化対象スペクトルX’(k)として形状符号化部402に出力する。
ここで、Max1、およびMax2は、Max1<Max2という関係にあるものとする。つまり、帯域設定情報Band_Settingの値が0である場合には、符号化対象スペクトル算出部401は、入力スペクトルX(k)の中でもより低域側のスペクトルを符号化対象スペクトルX’(k)として選択する。一方、帯域設定情報Band_Settingの値が1である場合には、符号化対象スペクトル算出部401は、入力スペクトルX(k)の中でも、帯域設定情報Band_Settingの値が0である場合に比べて帯域幅が大きい部分のスペクトルを、符号化対象スペクトルX’(k)として選択する。
形状符号化部402は、符号化対象スペクトル算出部401から入力される符号化対象スペクトルX’(k)に対して、サブバンド毎に形状量子化を行う。具体的には、まず形状符号化部402は、符号化対象スペクトルX’(k)をL個のサブバンドに分割する。次に、形状符号化部402は、L個の各サブバンドに対して、SQ個の形状コードベクトルからなる内蔵の形状コードブックを探索して、下記の式(7)の評価尺度Shape_q(i)が最大となる形状コードベクトルのインデックスを求める。
この式において、SCi kは、形状コードブックを構成する形状コードベクトルを示し、iは、形状コードベクトルのインデックスを示し、kは、形状コードベクトルの要素のインデックスを示す。また、BW(j)は、バンドインデックスがjであるバンドのバンド幅を表し、BS(j)は、バンドインデックスがjであるバンドを構成するスペクトルの最小インデックスを表す。
形状符号化部402は、上記の式(7)の評価尺度Shape_q(i)が最大となる形状コードベクトルのインデックスS_maxを形状符号化情報として多重化部404に出力する。また、形状符号化部402は、下記の式(8)に従い、理想利得Gain_i(j)を算出して利得符号化部403に出力する。
利得符号化部403は、下記の式(9)に従い、形状符号化部402から入力される理想利得Gain_i(j)を、直接量子化する。ここでも、利得符号化部403は、理想利得をL次元ベクトルとして扱い、GQ個の利得コードベクトルからなる内蔵の利得コードブックを探索して、ベクトル量子化を行う。
利得符号化部403は、上記の式(9)の二乗誤差Gain_q(i)を最小にする利得コードベクトルのインデックスG_minを求める。利得符号化部403は、G_minを利得符号化情報として多重化部404に出力する。
多重化部404は、形状符号化部402から入力される形状符号化情報S_max、および利得符号化部403から入力される利得符号化情報G_minを多重化し、低域部符号化情報として多重化部304に出力する。なお、形状符号化情報および利得符号化情報を直接、多重化部304に入力して、多重化部304にて高域部符号化情報と多重化しても良い。
以上が、低域符号化部302の構成についての説明である。
図5は、高域符号化部303の内部構成を示すブロック図である。高域符号化部303は、帯域分割部501、フィルタ状態設定部502、フィルタリング部503、探索部505、ピッチ係数設定部504、利得符号化部506、および多重化部507を備え、各部は以下の動作を行う。
帯域分割部501には、直交変換処理部201から入力スペクトルX(k)が入力される。また、帯域分割部501には、帯域設定部301から帯域設定情報Band_Settingが入力される。帯域分割部501は、帯域設定情報Band_Settingの値に応じて、入力スペクトルX(k)の高域部をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。次に、帯域分割部501は、各サブバンドのバンド幅BWp(p=0,1,…,P−1)および先頭インデックスBSp(p=0,1,…,P−1)を帯域分割情報としてフィルタリング部503、探索部505、および多重化部507に出力する。
具体的には、帯域設定情報Band_Settingの値が0である場合には、帯域分割部501は、入力スペクトルX(k)のうち、帯域がMax1以上(Max1≦k<Fmax)の部分をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。また、帯域設定情報Band_Settingの値が1である場合には、帯域分割部501は、入力スペクトルX(k)のうち、帯域がMax2以上(Max2≦k<Fmax)の部分をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。ここで、Fmaxは最大帯域の値とする。また、以下、入力スペクトルX(k)のうち、サブバンドSBpにおける部分をサブバンドスペクトルXp(k)(BSp≦k<BSp+BWp)と記す。
フィルタ状態設定部502は、直交変換処理部201から入力される入力スペクトルX(k)を、フィルタリング部503で用いるフィルタ状態として設定する。フィルタリング部503における全周波数帯域0≦k<FmaxのスペクトルS(k)の(0≦k<Max1)あるいは(0≦k<Max2)の帯域におけるフィルタの内部状態(フィルタ状態)として、入力スペクトルX(k)が格納される。フィルタ状態設定部502は、設定したフィルタ状態をフィルタリング部503に出力する。
フィルタリング部503は、マルチタップ(タップ数が1より多い)のピッチフィルタを備える。フィルタリング部503は、フィルタ状態設定部502により設定されたフィルタ状態と、ピッチ係数設定部504から入力されるピッチ係数Tとに基づいて、入力スペクトルX(k)をフィルタリングして入力スペクトルの推定値S’(k)(FL≦k<FH)(以下、推定スペクトルと称す)を算出する。フィルタリング部503は、推定スペクトルS’(k)を探索部505に出力する。なお、フィルタリング部503におけるフィルタリング処理の詳細については後述する。
探索部505は、直交変換処理部201から入力される入力スペクトルX(k)と、フィルタリング部503から入力される推定スペクトルS’(k)とのそれぞれに対して、帯域分割部501で分割された高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))の類似度を算出する。この類似度の算出は、例えば相関演算等により行われる。
なお、フィルタリング部503、探索部505、およびピッチ係数設定部504の処理は閉ループを構成する。この閉ループにおいて、探索部505は、ピッチ係数設定部504からフィルタリング部503に入力されるピッチ係数Tを種々に変化させることにより、各ピッチ係数に対応する類似度を算出する。そして、探索部505は、算出した類似度のうち、類似度が最大となるピッチ係数を最適ピッチ係数T’として多重化部507に出力する。また、探索部505は、推定スペクトルS’(k)を利得符号化部506に出力する。
ピッチ係数設定部504は、探索部505の制御の下、ピッチ係数Tを探索範囲(Tmin≦T<Tmax)の中で少しずつ変化させながら、変化後のピッチ係数Tをフィルタリング部503に順次出力する。
利得符号化部506は、直交変換処理部201から入力される入力スペクトルX(k)に対して、帯域分割部501で分割された高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))のゲイン情報を算出する。具体的には、利得符号化部506は、高域部の周波数帯域((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))をJ個のサブバンドに分割し、入力スペクトルX(k)のサブバンド毎のスペクトルパワを求める。この場合、第jサブバンドのスペクトルパワB(j)は下記の式(10)で表される。
式(10)において、BL
jは第jサブバンドの最小周波数、BH
jは第jサブバンドの最大周波数を表す。また、利得符号化部506は、同様に、探索部505から入力される推定スペクトルS’(k)のサブバンド毎のスペクトルパワB’(j)を下記の式(11)に従い算出する。
次いで、利得符号化部506は、入力スペクトルX(k)に対する推定スペクトルのサブバンド毎の変動量V(j)を式(12)に従い算出する。
そして、利得符号化部506は、内蔵する利得符号化用のコードブックを用いて、変動量V(j)を符号化し、符号化後の変動量Vq(j)に対応するインデックスを多重化部507に出力する。
多重化部507は、探索部505から入力される最適ピッチ係数T’と、利得符号化部506から入力される変動量V(j)のインデックスと、を高域部符号化情報として多重化し、多重化部304に出力する。なお、最適ピッチ係数T’および変動量V(j)のインデックスを直接、多重化部304に入力して、多重化部304にて低域部符号化情報と多重化しても良い。
次いで、フィルタリング部503におけるフィルタリング処理の詳細について、図6を用いて説明する。
フィルタリング部503は、帯域分割部501によって分割された帯域に応じて、ピッチ係数設定部504から入力されるピッチ係数Tを用いて、(Max1≦k<Fmax)あるいは(Max2≦k<Fmax)の帯域のスペクトルS(k)を生成する。フィルタリング部503の伝達関数F(z)は下記の式(13)で表される。
式(13)において、Tはピッチ係数設定部504から与えられるピッチ係数を表し、βiは予め内部に記憶されているフィルタ係数を表している。また、式(13)において、Mはタップ数に関する指標であり、例えば、タップ数が3の場合、M=1とする。タップ数が3の場合、フィルタ係数の候補として(β−1、β0、β1)=(0.1、0.8、0.1)が一例として挙げられる。この他に(β−1、β0、β1)=(0.2、0.6、0.2)、(0.3、0.4、0.3)などの値も適当である。
まず、フィルタリング部503における全周波数帯域のスペクトルS(k)の(0≦k<Max1)あるいは(0≦k<Max2)の帯域には、入力スペクトルX(k)がフィルタの内部状態(フィルタ状態)として格納される。
さらに、スペクトルS(k)の高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))には、以下の手順のフィルタリング処理により、推定スペクトルS’(k)が格納される。なお、推定スペクトルS’(k)には、基本的に、このkよりTだけ低い周波数のスペクトルS(k−T)が代入される。ただし、スペクトルの円滑性を増すために、実際には、スペクトルS(k−T)からiだけ離れた近傍のスペクトルS(k−T+i)に所定のフィルタ係数β
iを乗じたスペクトルβ
i・S(k−T+i)を、全てのiについて加算して得られたスペクトルがS’(k)に代入される。この処理は下記の式(14)で表される。
フィルタリング部503は、上記演算を、周波数の低いk=Max1あるいはk=Max2から順に、kを帯域Max1≦k<Fmaxあるいは帯域Max2≦k<Fmaxの範囲で変化させて行うことにより、高域部の周波数帯域((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))における推定スペクトルS’(k)を算出する。
以上のフィルタリング処理は、ピッチ係数設定部504からピッチ係数Tが与えられる度に、高域部の周波数帯域((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))の範囲において、その都度、スペクトルS(k)をゼロクリアして行われる。すなわち、ピッチ係数Tが変化する度にスペクトルS(k)は算出され、探索部505に出力される。
図7は、図5に示した探索部505においてサブバンドSBpに対して最適ピッチ係数Tp’を探索する処理の手順を示すフロー図である。なお、探索部505は、図7に示した手順を繰り返すことにより、各サブバンドSBp(p=0,1,…,P−1)に対応する最適ピッチ係数Tp’(p=0,1,…,P−1)を探索する。
まず、探索部505は、類似度の最小値を保存するための変数である最小類似度D
minを「+∞」に初期化する(ST2010)。次いで、探索部505は、下記の式(15)に従い、あるピッチ係数における入力スペクトルX(k)の高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))と、推定スペクトルS’(k)との類似度Dを算出する(ST2020)。
式(15)において、M’は、類似度Dを算出する際のサンプル数を示し、各サブバンドのバンド幅以下の任意の値で良い。
次いで、探索部505は算出した類似度Dが最小類似度Dminより小さいか否かを判定する(ST2030)。ST2020において算出された類似度Dが最小類似度Dminより小さい場合(ST2030:「YES」)には、探索部505は、類似度Dを最小類似度Dminに代入する(ST2040)。一方、ST2020において算出された類似度Dが最小類似度Dmin以上である場合(ST2030:「NO」)には、探索部505は、探索範囲が終了した否かを判定する(ST2050)。すなわち、探索部505は、探索範囲内のすべてのピッチ係数それぞれに対し、ST2020において上記の式(15)に従って類似度Dを算出したか否かを判定する。探索範囲が終了しなかった場合(ST2050:「NO」)には、探索部505は処理を再びST2020に戻す。そして、探索部505は、前回ST2020の手順において式(15)に従って類似度Dを算出した場合とは異なるピッチ係数に対して、式(15)に従い類似度Dを算出する。一方、探索範囲が終了した場合(ST2050:「YES」)には、探索部505は、最小類似度Dminに対応するピッチ係数Tを最適ピッチ係数Tp’として多重化部507に出力する(ST2060)。
以上が、高域符号化部303の処理の説明である。
以上が、符号化装置101の構成についての説明である。
次いで、図1に示した復号装置103について説明する。
図8は、復号装置103の内部の主要な構成を示すブロック図である。復号装置103は、復号部801、および直交変換処理部802から主に構成される。各部は以下の動作を行う。
復号部801には、伝送路102を介して符号化装置101から伝送される符号化情報が入力される。復号部801は、入力された符号化情報を復号し、復号して得られるスペクトルデータ(復号スペクトル)を直交変換処理部802に出力する。復号部801の処理の詳細は後述する。
直交変換処理部802には、復号部801からスペクトルデータ(復号スペクトル)が入力される。直交変換処理部802は、スペクトルデータ(復号スペクトル)に対して直交変換を施し、時間領域の信号に変換する。直交変換処理部802は、得られた信号を出力信号として出力する。直交変換処理部802の処理の詳細は後述する。
図9は、図8に示した復号部801の内部構成を示すブロック図である。復号部801は、分離部901、低域復号部902、および高域復号部(帯域拡張部)903から主に構成される。
分離部901には、伝送路102を介して符号化装置101から伝送される符号化情報が入力される。分離部901は、符号化情報を低域部符号化情報、高域部符号化情報、および帯域設定情報に分離する。そして、分離部901は、低域部符号化情報を低域復号部902に出力し、高域部符号化情報(帯域拡張情報)を高域復号部903に出力し、帯域設定情報を低域復号部902および高域復号部903に出力する。
低域復号部902には、分離部901から低域部符号化情報および帯域設定情報が入力される。低域復号部902は、入力された低域部符号化情報および帯域設定情報から低域部復号スペクトルを生成し、生成した低域部復号スペクトルを高域復号部903に出力する。低域復号部902の処理の詳細は後述する。
高域復号部903には、分離部901から高域部符号化情報および帯域設定情報が入力される。また高域復号部903には、低域復号部902から、低域部復号スペクトルが入力される。高域復号部903は、入力された低域部復号スペクトル、高域部符号化情報および帯域設定情報から復号スペクトルを生成し、生成した復号スペクトルを直交変換処理部802に出力する。高域復号部903の処理の詳細は後述する。
図10は、低域復号部902の内部構成を示すブロック図である。低域復号部902は、分離部911、形状復号部912、および利得復号部913から主に構成される。各部は以下の動作を行う。
分離部911は、分離部901から入力される低域部符号化情報を形状符号化情報S_max、および利得符号化情報G_minに分離し、分離後の形状符号化情報S_maxを形状復号部912に出力し、利得符号化情報G_minを利得復号部913に出力する。なお、分離部901において、直接、形状符号化情報および利得符号化情報が符号化情報から分離されるようにしても良い。
形状復号部912は、低域符号化部302の形状符号化部402が備える形状コードブックと同様な形状コードブックを内蔵し、分離部911から入力される形状符号化情報S_maxをインデックスとする形状コードベクトルを探索する。形状復号部912は、探索した形状コードベクトルを、分離部901から入力される帯域設定情報Band_Settingが示す符号化対象帯域スペクトルの形状の値として利得復号部913に出力する。ここでは、形状の値として探索された形状コードベクトルをShape_q’(k)と記す。
利得復号部913は、低域符号化部302の利得符号化部403が備える利得コードブックと同様な利得コードブックを内蔵し、この利得コードブックを用いて、下記の式(16)に従い利得符号化情報から利得の値を逆量子化する。ここでも、利得値をL次元ベクトルとして扱い、ベクトル逆量子化を行う。すなわち、利得符号化情報G_minに対応する利得コードベクトルGC
j G_minをそのまま利得値Gain_q’(j)とする。
次いで、利得復号部913は、逆量子化で得られる利得値、および形状復号部912から入力される形状の値を用いて、下記の式(17)に従い、低域部復号スペクトルS1(k)を算出し、算出した低域部復号スペクトルS1(k)を高域復号部903に出力する。なお、スペクトル(MDCT係数)の逆量子化において、kがB(j”)〜B(j”+1)−1内に存在する場合、利得値Gain_q’(j)はGain_q’(j”)の値をとる。
図11は、高域復号部903の内部構成を示すブロック図である。高域復号部903は、分離部921、フィルタ状態設定部922、フィルタリング部923、利得復号部924、およびスペクトル調整部925から主に構成され、各部は以下の動作を行う。
分離部921は、分離部901から入力される高域部符号化情報を、フィルタリングに関する情報である最適ピッチ係数T’と、ゲインに関する情報である符号化後の変動量Vq(j)のインデックスと、に分離する。次に、分離部921は、最適ピッチ係数T’をフィルタリング部923に出力し、符号化後の変動量Vq(j)のインデックスを利得復号部924に出力する。なお、分離部901において、最適ピッチ係数T’、符号化後の変動量Vq(j)のインデックスに分離済みの場合は、分離部921を配置しなくても良い。
フィルタ状態設定部922は、分離部901から入力される帯域設定情報Band_Settingに基づいて、低域復号部902から入力される低域部復号スペクトルS1(k)を、フィルタリング部923で用いるフィルタ状態として設定する。ここで、フィルタリング部923における全周波数帯域0≦k<Fmaxのスペクトルを便宜的にS(k)と呼ぶ場合、スペクトルS(k)のうち、帯域設定情報Band_Settingが示す低域部((0≦k<Max1)あるいは(0≦k<Max2))の帯域に、低域部復号スペクトルS1(k)がフィルタの内部状態(フィルタ状態)として格納される。ここで、フィルタ状態設定部922の構成および動作は、図5に示したフィルタ状態設定部502と同様であるため、詳細な説明を省略する。
フィルタリング部923は、マルチタップ(タップ数が1より多い)のピッチフィルタを備える。フィルタリング部923は、フィルタ状態設定部922により設定されたフィルタ状態と、分離部921から入力されるピッチ係数T’と、予め内部に格納しているフィルタ係数と、分離部901から入力される帯域設定情報Band_Settingとに基づき、低域部復号スペクトルS1(k)をフィルタリングする。そして、フィルタリング部923は、以下の式(18)に示すように、入力スペクトルS(k)の推定スペクトルS’(k)を算出する。
フィルタリング部923でも、上記の式(13)に示した伝達関数が用いられる。フィルタリング部923は、フィルタリングし得られた推定スペクトルS’(k)を、スペクトル調整部925に出力する。
利得復号部924は、分離部901から入力される帯域設定情報Band_Settingに基づいて、分離部921から入力される符号化後の変動量Vq(j)のインデックスを復号し、変動量V(j)の量子化値である符号化後の変動量Vq(j)を求める。ここで、利得復号部924は、符号化後の変動量Vq(j)のインデックスの復号に用いる利得コードブックは、利得復号部924に内蔵されたものであり、図5に示した利得符号化部506で使用した利得コードブックと同様のものである。利得復号部924は、復号して得られた符号化後の変動量Vq(j)をスペクトル調整部925に出力する。
スペクトル調整部925は、下記の式(19)に従い、分離部901から入力される帯域設定情報Band_Settingで指定される高域部に対して、フィルタリング部923から入力される推定スペクトルS’(k)に、利得復号部924から入力されるサブバンド毎の符号化後の変動量V
q(j)を乗じる。これにより、スペクトル調整部925は、推定スペクトルS’(k)の高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))におけるスペクトル形状を調整し、復号スペクトルS2(k)を生成して直交変換処理部802に出力する。
なお、式(19)において、jは利得を符号化時のサブバンドインデックスを示し、スペクトルのインデックスkに応じて設定されるものとする。つまり、サブバンドインデックスがj”であるサブバンドに含まれるスペクトルインデックスkに対しては、推定スペクトルS’(k)にV
q(j”)が乗じられるものとする。
ここで、復号スペクトルS2(k)の低域部((0≦k<Max1)あるいは(0≦k<Max2))は第1レイヤ復号スペクトルS1(k)からなり、復号スペクトルS2(k)の高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax))はスペクトル形状調整後の推定スペクトルS’(k)からなる。
以下、直交変換処理部802における具体的な処理について説明する。
直交変換処理部802は、バッファbuf2(k)を内部に有しており、下記の式(20)に示すようにバッファbuf2(k)を初期化する。
また、直交変換処理部802は、スペクトル調整部925から入力される復号スペクトルS2(k)を用いて下記の式(21)に従い、復号信号y
nを求めて出力する。
式(21)において、Z(k)は、下記の式(22)に示すように、復号スペクトルS2(k)とバッファbuf2(k)とを結合させたベクトルである。
次に、直交変換処理部802は、下記の式(23)に従いバッファbuf2(k)を更新する。
次に、直交変換処理部802は、復号信号ynを出力信号として出力する。
以上が、復号装置103の内部構成の説明である。
このように、本実施の形態によれば、符号化装置/復号装置は、低域部のスペクトルを用いて帯域拡張を行い高域部のスペクトルを生成/推定する符号化/復号方式において、入力信号の特性に応じて、帯域の設定、つまり低域部と高域部がそれぞれどの帯域か、を適応的に決定する。これにより、広帯域信号あるいは超広帯域信号などの高域部のスペクトルデータを効率的に符号化することができ、復号信号の品質を改善することができる。
具体的には、帯域設定部301は、入力信号のスペクトルデータの低域部のエネルギと高域部分のエネルギとを比較し、低域部のエネルギが高域部のエネルギに比べて非常に大きい場合には、低域部をより狭く、高域部をより広く設定する。これにより、入力信号がスピーチである場合に、復号信号の品質に大きく影響を与える低域部のスペクトルデータを、形状利得符号化方式により、集中的に符号化でき、復号信号の品質を高めることができる。一方、帯域設定部301は、低域部のエネルギが高域部のエネルギに比べてそれほど大きくはない場合には、低域部をより広く、高域部をより狭く設定する。これにより、より高域部分まで形状利得符号化方式で符号化歪を小さくすることができ、入力信号がオーディオである場合に復号信号の品質に大きな影響を与える帯域感を向上させることができる。
なお、本実施の形態では、高域符号化部303内の帯域分割部501および利得符号化部506において、それぞれ異なるサブバンド構成に分割する構成について説明したが、本発明はこれに限らず、同じサブバンド構成に分割する構成についても、同様に適用できる。
なお、本実施の形態では、高域符号化部303内の帯域分割部501において、帯域設定情報Band_Settingの値にかかわらず、高域部分のスペクトルをP個に分割する構成について説明した。しかし、本発明はこれに限らず、帯域設定情報Band_Settingの値に応じて異なる個数にサブバンドを分割する構成についても同様に適用できる。例えば、帯域設定情報Band_Settingが0の場合は、帯域設定情報Band_Settingが1の場合に比べて、高域部分のスペクトルの帯域幅が広くなるため、この場合には、P個よりも大きい数に分割する。これにより、サブバンド幅が大きくなりすぎることによる符号化性能の劣化を防ぐことができる。
また、本実施の形態では、高域符号化部303において、入力スペクトルの低域部をフィルタ状態として設定し、入力スペクトルの高域部分と類似するスペクトルの位置の探索を行う構成について説明した。しかし、本発明はこれに限らず、低域符号化部から出力される低域部符号化情報を復号して得られる低域部復号スペクトルに対して、入力スペクトルの高域部分と類似するスペクトルの位置の探索を行う構成についても同様に適用できる。上記構成を採る場合には、復号装置側でも得られる低域部復号スペクトルを利用しているため、復号装置側での動作を保証することができる。
また、上記構成を採る場合は、符号化部202内に、低域部復号スペクトルを算出するためのローカルデコードを行う低域部復号部を新たに備え、低域復号部から高域符号化部303に低域部復号スペクトルを出力する必要がある。
(実施の形態2)
本発明の実施の形態2は、スペクトルデータの低域部を符号化する第1レイヤ符号化部を新たに備え、入力信号のスペクトルデータと第1レイヤ符号化部による符号化結果との差分データに対して、実施の形態1で説明した符号化方法を適用する構成について説明する。なお、以下では、実施の形態1で説明した符号化方法を適用する符号化レイヤを第2レイヤ符号化部として説明する。
実施の形態2に係る通信システム(図示せず)は、図1に示した通信システムと基本的に同様であり、符号化装置、復号装置の構成および動作の一部のみにおいて、図1の通信システムの符号化装置101、復号装置103と相違する。以下、本実施の形態に係る通信システムの符号化装置および復号装置についてそれぞれ符号「111」および「113」を付し、説明を行う。
図12は、本実施の形態に係る符号化装置111の内部の主要な構成を示すブロック図である。なお、本実施の形態に係る符号化装置111は、ダウンサンプリング処理部1001、第1レイヤ符号化部1002、第1レイヤ復号部1003、アップサンプリング処理部1004、直交変換処理部1005、第2レイヤ符号化部1006および符号化情報統合部1007から主に構成される。各部は以下の動作を行う。
入力信号xnのサンプリング周波数をSRinputとすると、ダウンサンプリング処理部1001は、入力信号のサンプリング周波数をSRinputからSRbaseまでダウンサンプリングし(SRbase<SRinput)、ダウンサンプリングした入力信号をダウンサンプリング後入力信号として、第1レイヤ符号化部1002に出力する。
第1レイヤ符号化部1002は、ダウンサンプリング処理部1001から入力されるダウンサンプリング後入力信号に対して、例えばCELP(Code Excited Linear Prediction)方式の音声符号化方法を用いて符号化を行って第1レイヤ符号化情報を生成する。次に、第1レイヤ符号化部1002は、生成した第1レイヤ符号化情報を第1レイヤ復号部1003および符号化情報統合部1007に出力する。
第1レイヤ復号部1003は、第1レイヤ符号化部1002から入力される第1レイヤ符号化情報に対して、例えばCELP方式の音声復号方法を用いて復号を行って第1レイヤ復号信号を生成する。次に、第1レイヤ復号部1003は、生成した第1レイヤ復号信号をアップサンプリング処理部1004に出力する。
アップサンプリング処理部1004は、第1レイヤ復号部1003から入力される第1レイヤ復号信号のサンプリング周波数をSRbaseからSRinputまでアップサンプリングする。次に、アップサンプリング処理部1004は、アップサンプリングした第1レイヤ復号信号をアップサンプリング後第1レイヤ復号信号c1nとして、直交変換処理部1005に出力する。
直交変換処理部1005は、バッファbuf1nおよびbuf2n(n=0、…、N−1)を内部に有する。直交変換処理部1005は、入力信号xnおよびアップサンプリング処理部1004から入力されるアップサンプリング後第1レイヤ復号信号c1nを修正離散コサイン変換(MDCT:Modified Discrete Cosine Transform)する。直交変換処理部1005は、入力信号xn、およびアップサンプリング後第1レイヤ復号信号c1nを直交変換処理して、それぞれ入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)を算出する。直交変換処理部1005の処理は、実施の形態1で説明した処理と同様であるため、ここでは説明を省略する。直交変換処理部1005は、得られた入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)を第2レイヤ符号化部1006に出力する。
第2レイヤ符号化部1006は、直交変換処理部1005から入力される入力スペクトルX(k)および第1レイヤ復号スペクトルC(k)を用いて第2レイヤ符号化情報を生成し、生成した第2レイヤ符号化情報を符号化情報統合部1007に出力する。なお、第2レイヤ符号化部1006の詳細については後述する。
符号化情報統合部1007は、第1レイヤ符号化部1002から入力される第1レイヤ符号化情報と、第2レイヤ符号化部1006から入力される第2レイヤ符号化情報とを統合する。次に、符号化情報統合部1007は、統合した情報源符号に対し、必要であれば伝送誤り符号などを付加した上でこれを符号化情報として伝送路102に出力する。
次に、図12に示した第2レイヤ符号化部1006の内部の主要な構成について図13を用いて説明する。
第2レイヤ符号化部1006は、帯域設定部1101、低域符号化部1102、高域符号化部(帯域拡張部)1103、および多重化部1104から主に構成される。各部は以下の動作を行う。
帯域設定部1101には、直交変換処理部1005から入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)が入力される。帯域設定部1101は、入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)のスペクトル特性を分析し、分析結果に応じて、低域符号化部1102および高域符号化部(帯域拡張部)1103においてそれぞれ符号化対象となる帯域を設定する。次に、帯域設定部1101には、これを帯域設定情報として、低域符号化部1102、高域符号化部1103、および多重化部1104に出力する。
次に、帯域設定部1101における、帯域設定情報の算出方法について説明する。
帯域設定部1101は、まず式(24)により、入力スペクトルX(k)と第1レイヤ復号スペクトルC(k)との差分スペクトルC
sub(k)を算出する。また、式(24)においてFmaxは最大帯域値(最大の周波数値)である。
次に、帯域設定部1101は、差分スペクトルC
sub(k)に対して、帯域がTH
Low以下である部分のエネルギ(低域エネルギ)E
Lowを式(25−1)に従って算出し、帯域がTH
High以上である部分のエネルギ(高域エネルギ)E
Highを式(25−2)に従って算出する。ここで、TH
LowおよびTH
Highは予め定められた閾値であり、TH
Low<TH
Highという関係にあるものとする。
次に、帯域設定部1101は、式(25)により算出された低域エネルギE
Lowの大きさと高域エネルギE
Highの大きさとを比較し、式(26)に従って、帯域設定情報Band_Settingを決定する。ここで、式(26)中のγは、予め定められた定数である。
つまり、帯域設定部1101は、高域エネルギEHighに対し低域エネルギELowがある程度大きい場合には、帯域設定情報Band_Settingの値を0とし、そうでない場合には帯域設定情報Band_Settingの値を1とする。帯域設定部1101は、決定した帯域設定情報Band_Settingを低域符号化部1102、高域符号化部1103、および多重化部1104に出力する。
低域符号化部1102には、直交変換処理部1005から入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)が入力される。また、低域符号化部1102には、帯域設定部1101から帯域設定情報Band_Settingが入力される。低域符号化部1102は、帯域設定情報Band_Settingに基づいて、入力スペクトルX(k)と第1レイヤ復号スペクトルC(k)との差分スペクトルCsub(k)を符号化し、低域部符号化情報を生成する。次に、低域符号化部1102は、低域部符号化情報を多重化部1104に出力する。低域符号化部1102における処理の詳細は後述する。
高域符号化部1103には、直交変換処理部1005からから入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)が入力される。また、高域符号化部1103には、帯域設定部1101から帯域設定情報Band_Settingが入力される。高域符号化部1103は、帯域設定情報Band_Settingに基づいて、入力スペクトルX(k)を符号化し、高域部符号化情報(帯域拡張情報)を生成する。次に、高域符号化部1103は、高域部符号化情報を多重化部1104に出力する。高域符号化部1103における処理の詳細は後述する。
多重化部1104は、帯域設定部1101、低域符号化部1102、および高域符号化部1103からそれぞれ入力される帯域設定情報Band_Setting、低域部符号化情報、および高域部符号化情報を多重化して第2レイヤ符号化情報を生成する。次に、多重化部1104は、得られた第2レイヤ符号化情報を符号化情報統合部1007に出力する。なお、帯域設定情報、低域部符号化情報、および高域部符号化情報を、直接、符号化情報統合部1007に入力して、符号化情報統合部1007にて多重化しても良い。
図14は、低域符号化部1102の内部構成を示すブロック図である。低域符号化部1102は、差分スペクトル算出部1201、形状符号化部1202、利得符号化部1203、および多重化部1204から主に構成される。各部は以下の動作を行う。
差分スペクトル算出部1201は、式(24)により、入力スペクトルX(k)と第1レイヤ復号スペクトルC(k)との差分スペクトルCsub(k)を算出し、算出した差分スペクトルCsub(k)を形状符号化部1202に出力する。
形状符号化部1202には、差分スペクトル算出部1201から差分スペクトルCsub(k)が入力される。形状符号化部1202は、差分スペクトルCsub(k)の形状情報を符号化し、これを形状符号化情報として多重化部1204に出力する。また、形状符号化部1202は、形状情報の符号化時に理想利得を算出し、算出した理想利得を利得符号化部1203に出力する。形状符号化部1202における処理は、図4に示した形状符号化部402と同様であるため、ここでは説明を省略する。
利得符号化部1203には、形状符号化部1202から理想利得が入力される。利得符号化部1203は、理想利得を符号化し、これを利得符号化情報として多重化部1204に出力する。利得符号化部1203における処理は、図4に示した利得符号化部403と同様であるため、ここでは説明を省略する。
図15は、高域符号化部1103の内部構成を示すブロック図である。高域符号化部1103は、帯域分割部1301、フィルタ状態設定部1302、フィルタリング部1303、探索部1305、ピッチ係数設定部1304、利得符号化部1306、および多重化部1307を備え、各部は以下の動作を行う。なお、上記構成要素のうち、フィルタ状態設定部1302以外の構成要素については、図5に示した同一名の構成要素の処理と同様であるためここでは説明を省略する。
フィルタ状態設定部1302は、直交変換処理部1005から入力される第1レイヤ復号スペクトルC(k)を、フィルタリング部1303で用いるフィルタ状態として設定する。フィルタリング部1303における全周波数帯域0≦k<FmaxのスペクトルS(k)の低域部((0≦k<Max1)あるいは(0≦k<Max2))の帯域に、第1レイヤ復号スペクトルC(k)がフィルタの内部状態(フィルタ状態)として格納される。
以上が、高域符号化部1103の処理の説明である。
以上が、符号化装置111の構成についての説明である。
次いで、本実施の形態における復号装置113について説明する。
図16は、復号装置113の内部の主要な構成を示すブロック図である。復号装置113は、符号化情報分離部1401、第1レイヤ復号部1402、アップサンプリング処理部1403、直交変換処理部1404、第2レイヤ復号部1405、および直交変換処理部1406から主に構成される。各部は以下の動作を行う。
符号化情報分離部1401は、伝送路102を介して符号化装置111から伝送される符号化情報が入力される。符号化情報分離部1401は、入力された符号化情報を、第1レイヤ符号化情報と第2レイヤ符号化情報とに分離し、第1レイヤ符号化情報を第1レイヤ復号部1402に出力し、第2レイヤ符号化情報を第2レイヤ復号部1405に出力する。
第1レイヤ復号部1402は、符号化情報分離部1401から入力される第1レイヤ符号化情報を復号して第1レイヤ復号信号を生成し、生成した第1レイヤ復号信号をアップサンプリング処理部1403に出力する。ここで、第1レイヤ復号部1402の動作は、図12に示した第1レイヤ復号部1003と同様であるため、詳細な説明を省略する。
アップサンプリング処理部1403は、第1レイヤ復号部1402から入力される第1レイヤ復号信号のサンプリング周波数をSRbaseからSRinputまでアップサンプリングし、得られるアップサンプリング後第1レイヤ復号信号を直交変換処理部1404に出力する。
直交変換処理部1404は、アップサンプリング処理部1403から入力されるアップサンプリング後第1レイヤ復号信号に対して直交変換処理(MDCT)を行う。次に、直交変換処理部1404は、得られるアップサンプリング後第1レイヤ復号信号のMDCT係数(以下、第1レイヤ復号スペクトルと呼ぶ)C(k)を第2レイヤ復号部1405に出力する。ここで、直交変換処理部1404の動作は、図12に示した直交変換処理部1005のアップサンプリング後第1レイヤ復号信号に対する処理と同様であるため、詳細な説明を省略する。
第2レイヤ復号部1405は、直交変換処理部1404から入力される第1レイヤ復号スペクトルC(k)、および符号化情報分離部1401から入力される第2レイヤ符号化情報を用いて、高域成分を含む第2レイヤ復号スペクトルS2(k)を生成する。次に、第2レイヤ復号部1405は、生成した第2レイヤ復号スペクトルS2(k)を、直交変換処理部1406に出力する。第2レイヤ復号部1405における処理の詳細は後述する。
直交変換処理部1406は、第2レイヤ復号部1405から入力される第2レイヤ復号スペクトルS2(k)に対して直交変換を施し、時間領域の信号に変換する。直交変換処理部1406は、得られた信号を出力信号として出力する。ここで、直交変換処理部1406の動作は、図8に示した直交変換処理部802の処理と同様であるため、詳細な説明を省略する。
図17は、図16に示した第2レイヤ復号部1405の内部構成を示すブロック図である。第2レイヤ復号部1405は、分離部1501、低域復号部1502、高域復号部(帯域拡張部)1503、およびスペクトル合成部1504から主に構成される。
分離部1501には、符号化情報分離部1401から第2レイヤ符号化情報が入力される。分離部1501は、符号化情報を低域部符号化情報、高域部符号化情報、および帯域設定情報に分離する。分離部1501は、低域部符号化情報を低域復号部1502に出力し、高域部符号化情報(帯域拡張情報)を高域復号部1503に出力し、帯域設定情報を低域復号部1502および高域復号部1503に出力する。
低域復号部1502には、分離部1501から低域部符号化情報および帯域設定情報が入力される。低域復号部1502は、入力された低域部符号化情報および帯域設定情報とから、低域部復号スペクトルを生成し、生成した低域部復号スペクトルをスペクトル合成部1504に出力する。低域復号部1502における処理は、図10に示した低域復号部902における処理と同様であるため、説明を省略する。
高域復号部1503には、分離部1501から高域部符号化情報および帯域設定情報が入力される。また高域復号部1503には、直交変換処理部1404から第1レイヤ復号スペクトルC(k)が入力される。高域復号部1503は、入力された第1レイヤ復号スペクトルC(k)、高域部符号化情報および帯域設定情報とから、高域部復号スペクトルを生成し、生成した高域部復号スペクトルをスペクトル合成部1504に出力する。
図18は、高域復号部1503の内部構成を示すブロック図である。高域復号部1503は、分離部1601、フィルタ状態設定部1602、フィルタリング部1603、利得復号部1604、およびスペクトル調整部1605から主に構成され、各部は以下の動作を行う。ここで、上記構成要素のうち、フィルタ状態設定部1602以外の構成要素については、図11に示した同一名の構成要素の処理と同様であるためここでは説明を省略する。
フィルタ状態設定部1602は、分離部1501から入力される帯域設定情報Band_Settingに基づいて、直交変換処理部1404から入力される第1レイヤ復号スペクトルC(k)を、フィルタリング部1603で用いるフィルタ状態として設定する。ここで、フィルタリング部1603における全周波数帯域0≦k<Fmaxのスペクトルを便宜的にS(k)と呼ぶ。この場合、スペクトルS(k)のうち、帯域設定情報Band_Settingが示す低域部((0≦k<Max1)あるいは(0≦k<Max2))の帯域に、第1レイヤ復号スペクトルC(k)がフィルタの内部状態(フィルタ状態)として格納される。ここで、フィルタ状態設定部1602の構成および動作は、図5に示したフィルタ状態設定部502と同様であるため、詳細な説明を省略する。
以上が、高域復号部1503の処理の説明である。
スペクトル合成部1504には、低域復号部1502から低域部復号スペクトルS1(k)が入力される。またスペクトル合成部1504には、高域復号部1503から高域部復号スペクトルS2(k)が入力される。スペクトル合成部1504は、入力された低域部復号スペクトルS1(k)および高域部復号スペクトルS2(k)を、式(27)により周波数軸上で加算し、加算スペクトルS
add(k)を算出する。スペクトル合成部1504は、算出した加算スペクトルS
add(k)を直交変換処理部1406に出力する。
以上が、復号装置113の内部構成の説明である。
このように、本実施の形態によれば、符号化装置/復号装置が、低域部のスペクトルを用いて帯域拡張を行い高域部のスペクトルを生成/推定する符号化/復号方式を用い、かつ、低域を符号化する符号化レイヤ(コアレイヤ)が存在する構成においても、入力信号の特性に応じて、帯域の設定、つまり低域部および高域部がそれぞれどの帯域か、を適応的に決定する。これにより、広帯域信号あるいは超広帯域信号などの高域部のスペクトルデータを効率的に符号化することができ、復号信号の品質を改善することができる。
具体的には、帯域設定部1101は、入力信号のスペクトルデータと、コアレイヤによって符号化されたスペクトルデータとの差分データの低域部のエネルギと高域部分のエネルギとを比較する。次に、帯域設定部1101は、低域部のエネルギが高域部のエネルギに比べて非常に大きい場合には、低域部をより狭く、高域部をより広く設定する。これにより、入力信号がスピーチである場合に復号信号の品質に大きく影響を与える低域部のスペクトルデータを、形状利得符号化方式により、集中的に符号化でき、復号信号の品質を高めることができる。また、低域部のエネルギが高域部のエネルギに比べてそれほど大きくはない場合には、低域部をより広く、高域部をより狭く設定する。これにより、より高域部分まで形状利得符号化方式で符号化歪を小さくすることができ、入力信号がオーディオである場合に復号信号の品質に大きな影響を与える帯域感を向上させることができる。
なお、本実施の形態では、帯域設定部1101は入力スペクトルと第1レイヤ復号スペクトルとの差分スペクトルの低域部と高域部とのエネルギ比に基づいて帯域設定情報Band_Settingを決定した。しかし、本発明はこれに限らず、実施の形態1と同様に、帯域設定部1101が入力スペクトルの低域部と高域部とのエネルギ比に基づいて帯域設定情報Band_Settingを決定する構成に対しても同様に適用できる。
また、本実施の形態に係る復号装置内の高域復号部1503において、第1レイヤ復号スペクトルをフィルタ状態として設定する構成について説明した。しかし、本発明はこれに限らず、第1レイヤ復号スペクトルおよび低域部復号スペクトルを周波数軸上で加算したスペクトルの低域部をフィルタ状態として設定する構成についても同様に適用できる。これにより、帯域拡張時に用いる低域部のスペクトルが入力スペクトルにより近似するため、帯域拡張時の低域部の精度が向上し、結果として復号信号の品質をさらに向上させることができる。なお、上記構成においては、高域復号部1503において、低域復号部1502から低域部復号スペクトルを高域復号部1503に出力する必要がある。
(実施の形態3)
本発明の実施の形態3では、符号化装置が、実施の形態2と同様にスペクトルデータの低域部を符号化する第1レイヤ符号化部を備え、入力信号のスペクトルデータと第1レイヤ符号化部による符号化結果との差分データに対して、実施の形態1で説明した符号化方法を適用する構成について説明する。なお、以下では、実施の形態1で説明した符号化方法を適用する符号化レイヤを第2レイヤ符号化部とする。但し、本実施の形態では、第2レイヤ符号化部において、第1レイヤ符号化部によって符号化される帯域以外の帯域について符号化する構成を説明する。つまり、実施の形態2の第2レイヤ符号化部において、高域符号化部(帯域拡張部)のみが存在する構成となる。
実施の形態3に係る通信システム(図示せず)は、図1に示した通信システムと基本的に同様であり、符号化装置、復号装置の構成および動作の一部のみにおいて、図1の通信システムの符号化装置101、復号装置103と相違する。以下、本実施の形態に係る通信システムの符号化装置および復号装置についてそれぞれ符号「121」および「123」を付し、説明を行う。
図19は、本実施の形態に係る符号化装置121の内部の主要な構成を示すブロック図である。なお、本実施の形態に係る符号化装置121は、ダウンサンプリング処理部1001、第1レイヤ符号化部1002、第1レイヤ復号部1003、アップサンプリング処理部1004、直交変換処理部1005、第2レイヤ符号化部1701および符号化情報統合部1007から主に構成される。ここで、上記各構成要素のうち、第2レイヤ符号化部1701以外の構成要素については、実施の形態2で説明した符号化装置111内の構成要素と同一の処理をするため、同一の符号を付し、説明を省略する。
第2レイヤ符号化部1701は、直交変換処理部1005から入力される入力スペクトルX(k)および第1レイヤ復号スペクトルC(k)を用いて第2レイヤ符号化情報を生成し、生成した第2レイヤ符号化情報を符号化情報統合部1007に出力する。
次に、図19に示した第2レイヤ符号化部1701の内部の主要な構成について図20を用いて説明する。
第2レイヤ符号化部1701は、帯域設定部1801、高域符号化部(帯域拡張部)1802、および多重化部1803から主に構成される。各部は以下の動作を行う。
帯域設定部1801には、直交変換処理部1005から入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)が入力される。帯域設定部1801は、入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)のスペクトル特性を分析する。帯域設定部1801は、分析結果に応じて、高域符号化部(帯域拡張部)1802において符号化対象となる帯域を設定し、これを帯域設定情報として、高域符号化部1802、および多重化部1803に出力する。
次に、帯域設定部1801における、帯域設定情報の算出方法について説明する。
帯域設定部1801は、まず式(28)により、入力スペクトルX(k)と第1レイヤ復号スペクトルC(k)の差分スペクトルC
sub(k)を算出する。また、式(28)においてFmaxは最大帯域値(最大の周波数値)である。
次に、帯域設定部1801は、差分スペクトルC
sub(k)に対して、帯域がTH1
Low〜TH1
Highである部分のエネルギ(第1帯域エネルギ)E
1とTH2
Low〜TH2
Highである部分のエネルギ(第2帯域エネルギ)E
2を式(29−1)、(29−2)に従って算出する。ここで、TH1
Low、TH1
High、TH2
LowおよびTH2
Highは予め定められた閾値であり、TH1
Low<TH2
Low、またTH1
High<TH2
Highという関係にあるものとする。つまり、第1帯域エネルギE
1は、第2帯域エネルギE
2に比べ、より低域側のエネルギとなる。
次に、帯域設定部1801は、式(29−1)により算出された第1帯域エネルギE
1の大きさと式(29−2)により算出された第2帯域エネルギE
2の大きさとを比較し、式(30)に従って、帯域設定情報Band_Settingを決定する。ここで、式(30)中のγ2は、予め定められた定数である。
つまり、帯域設定部1801は、第2帯域エネルギE2に対する第1帯域エネルギE1がある程度大きい場合には、帯域設定情報Band_Settingの値を0とし、そうでない場合には帯域設定情報Band_Settingの値を1とする。帯域設定部1801は、決定した帯域設定情報Band_Settingを高域符号化部1802、および多重化部1803に出力する。
高域符号化部1802には、直交変換処理部1005からから入力スペクトルX(k)、および第1レイヤ復号スペクトルC(k)が入力される。また、高域符号化部1802には、帯域設定部1801から帯域設定情報Band_Settingが入力される。高域符号化部1802は、帯域設定情報Band_Settingに基づいて、入力スペクトルX(k)を符号化し、高域部符号化情報(帯域拡張情報)を生成する。次に、高域符号化部1802は、高域部符号化情報を多重化部1803に出力する。高域符号化部1802における処理の詳細は後述する。
多重化部1803は、帯域設定部1801、および高域符号化部1802からそれぞれ入力される帯域設定情報、および高域部符号化情報を多重化し、第2レイヤ符号化情報として符号化情報統合部1007に出力する。なお、帯域設定情報および高域部符号化情報を、直接、符号化情報統合部1007に入力して、符号化情報統合部1007にて多重化しても良い。
図21は、高域符号化部1802の内部構成を示すブロック図である。高域符号化部1802は、帯域分割部1311、フィルタ状態設定部1302、フィルタリング部1303、探索部1305、ピッチ係数設定部1304、利得符号化部1306、および多重化部1307を備え、各部は以下の動作を行う。なお、帯域分割部1311以外の各構成要素については、図15に示した各構成要素と同一の処理をするため、同一の符号を付し、説明を省略する。
帯域分割部1311には、直交変換処理部1005から入力スペクトルX(k)が入力される。また、帯域分割部1311には、帯域設定部1801から帯域設定情報Band_Settingが入力される。帯域分割部1311は、帯域設定情報Band_Settingの値に応じて求められる入力スペクトルX(k)の高域部をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。帯域分割部1311は、各サブバンドのバンド幅BWp(p=0,1,…,P−1)および先頭インデックスBSp(p=0,1,…,P−1)を帯域分割情報としてフィルタリング部1303、探索部1305、および多重化部1307に出力する。
具体的には、帯域設定情報Band_Settingの値が0である場合には、帯域分割部1311は、入力スペクトルX(k)のうち、帯域がMax3以下(Flow≦k<Max3)の部分をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。また、帯域設定情報Band_Settingの値が1である場合には、帯域分割部1311は、入力スペクトルX(k)のうち、帯域がMax4以下(Flow≦k<Max4)の部分をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。ここで、Max3、およびMax4は予め定められた定数であり、Max3<Max4の関係にあるものとする。また、Flowはダウンサンプリング処理部1001でダウンサンプリングされた信号のサンプリング周波数に対応する最大周波数帯域値とする。つまり、第1レイヤ復号スペクトルの採り得る最大の周波数インデックスである。また、以下、入力スペクトルX(k)のうち、サブバンドSBpにおける部分をサブバンドスペクトルXp(k)(BSp≦k<BSp+BWp)と記す。
上記のような帯域分割方法による効果について説明する。帯域設定情報Band_Settingは、帯域がTH1Low〜TH1Highである部分のエネルギ(第1帯域エネルギ)E1とTH2Low〜TH2Highである部分のエネルギ(第2帯域エネルギ)E2とを比較し設定される。この帯域設定情報Band_Settingの値が0である場合には、高域側に比べ、低域側のエネルギが大きいということを意味する。この場合、帯域分割部1311によって、高域符号化部1802で符号化する帯域を狭く設定し(Flow≦k<Max3)、エネルギが大きい低域寄りの帯域について重点的に符号化することによって、復号信号の品質を向上できるという効果がある。また、帯域設定情報Band_Settingの値が1である場合には、低域側に比べ、高域側のエネルギが大きいということを意味する。この場合、帯域分割部1311によって、高域符号化部1802で符号化する帯域を広く、より高域寄りに設定し(Flow≦k<Max4)、エネルギの大きい高域側の帯域まで符号化することによって、復号信号の品質を向上できるという効果がある。
以上が、高域符号化部1802の処理の説明である。
以上が、符号化装置121の構成についての説明である。
次いで、本実施の形態における復号装置123について説明する。
図22は、復号装置123の内部の主要な構成を示すブロック図である。復号装置123は、符号化情報分離部1401、第1レイヤ復号部1402、アップサンプリング処理部1403、直交変換処理部1404、第2レイヤ復号部1901、および直交変換処理部1406から主に構成される。ここで、上記の各構成要素のうち、第2レイヤ復号部1901以外の構成要素は、実施の形態2の復号装置113内の構成要素と同一の処理をするため、同一の符号を付し、説明を省略する。
第2レイヤ復号部1901は、直交変換処理部1404から入力される第1レイヤ復号スペクトルC(k)、および符号化情報分離部1401から入力される第2レイヤ符号化情報を用いて、高域成分を含む第2レイヤ復号スペクトルS2(k)を生成する。第2レイヤ復号部1901は、生成した第2レイヤ復号スペクトルS2(k)を、直交変換処理部1406に出力する。
図23は、図22に示した第2レイヤ復号部1901の内部構成を示すブロック図である。第2レイヤ復号部1901は、分離部2001および高域復号部(帯域拡張部)2002から主に構成される。
分離部2001には、符号化情報分離部1401から第2レイヤ符号化情報が入力される。分離部2001は、符号化情報を高域部符号化情報、および帯域設定情報に分離し、それぞれ高域復号部2002に出力する。
高域復号部2002には、分離部2001から高域部符号化情報および帯域設定情報が入力される。高域復号部2002は、入力された高域部符号化情報および帯域設定情報とから、復号スペクトルを生成し、生成した復号スペクトルを直交変換処理部1406に出力する。
高域復号部2002の処理は、図9に示した高域復号部903において、入力される情報が低域部復号スペクトルではなく、第1レイヤ復号スペクトルであるという点以外は、高域復号部903と同様の処理であるため、ここでは説明を省略する。
以上が、復号装置123の内部構成の説明である。
このように、本実施の形態によれば、符号化装置/復号装置が、低域部のスペクトルを用いて帯域拡張を行い高域部のスペクトルを生成/推定する符号化/復号方式を用い、かつ、低域を符号化する符号化レイヤ(コアレイヤ)が存在する構成においても、入力信号の特性に応じて、拡張する帯域の設定、つまりどの帯域までのスペクトルを帯域拡張により生成するか、を適応的に決定する。これにより、広帯域信号あるいは超広帯域信号などの高域部のスペクトルデータを効率的に符号化することができ、復号信号の品質を改善することができる。
具体的には、帯域設定部1801は、入力信号のスペクトルデータと、コアレイヤによって符号化されたスペクトルデータとの差分データの低域よりの部分のエネルギ(第1帯域エネルギ)と高域よりの部分のエネルギ(第2帯域エネルギ)とを比較する。次に、帯域設定部1801は、第1帯域エネルギが第2帯域エネルギに比べて非常に大きい場合には、帯域拡張によって生成する高域部をより狭く設定する。これにより、入力信号がスピーチである場合に復号信号の品質に大きく影響を与える中域部分のスペクトルデータを集中的に符号化でき、復号信号の品質を高めることができる。ここで、中域部とは、帯域を低域部と高域部とに分けた時、高域部分の中でも低域側の帯域を指すこととする。また、第1帯域エネルギが第2帯域エネルギに比べてそれほど大きくはない場合には、帯域拡張によって生成する高域部をより広く設定する。これにより、より高域部分まで帯域拡張することにより、入力信号がオーディオである場合に復号信号の品質に大きな影響を与える帯域感を向上させることができる。
なお、本実施の形態では、帯域設定部1801が、高域符号化部1802で生成されるスペクトルの帯域の上限を調整する構成を例に挙げて説明した。しかし、本発明はこれに限らず、帯域設定部1801が、高域符号化部1802で生成されるスペクトルの帯域の上限以外(例えば帯域の下限など)を調整する構成に対しても同様に適用できる。
以上のように、本発明によれば、符号化装置が、符号化対象となる信号の高域部のスペクトルデータを低域部のスペクトルデータに基づいて生成する際、入力信号の特性に応じて、帯域の設定、つまり低域部および高域部がそれぞれどの帯域か、を適応的に決定する。これにより、広帯域信号あるいは超広帯域信号などの高域部のスペクトルデータを効率的に符号化することができ、復号装置において復号信号の品質を改善することができる。
(実施の形態4)
特許文献1および特許文献2に開示されている帯域拡張方式は、実施の形態1、実施の形態2、および実施の形態3で説明したような入力信号の特性に依らず、帯域設定が固定である。ここで、入力信号の特性とは、低域スペクトルと高域スペクトルとのエネルギ比、あるいはトーナリティ(tonality:調波性)等である。また、同様に特許文献1および特許文献2に開示されている帯域拡張方式は、符号化時の状況に依らず、帯域設定が固定である。
そもそも帯域拡張技術とは、高域部のスペクトルデータを復号して得られる低域部のスペクトルデータを利用してわずかな情報量(ビット)で擬似的に符号化対象となる信号の高域部のスペクトルデータを生成する技術である。そのため、符号化ビットレートが非常に高い場合には、帯域拡張方式以外のスペクトル符号化方式を採った方が、復号信号の品質をより向上させることができる場合が多い。しかしながら、特許文献1および特許文献2に開示されている帯域拡張方式は、符号化時の状況に依らず、常に固定された帯域設定を用いて帯域拡張するので、符号化効率が高くならないという問題点がある。
本発明の実施の形態4では、符号化時の状況に応じて、帯域拡張方式における帯域設定を適応的に切り替える構成について説明する。なお、以下では、符号化時の状況の一例として、符号化ビットレートを利用する場合を例に挙げて説明する。ここで、本実施の形態では、符号化装置が、符号化ビットレートとして、BR1、BR2、BR3の3種類のレートを採る場合を例に挙げて説明する。なお、各符号化ビットレートは、BR1<BR2<BR3という関係にあるものとする。
実施の形態4に係る通信システム(図示せず)は、図1に示した通信システムと基本的に同様であり、符号化装置、復号装置の構成および動作の一部のみにおいて、図1の通信システムの符号化装置101、復号装置103と相違する。以下、本実施の形態に係る通信システムの符号化装置および復号装置についてそれぞれ符号「131」および「133」を付し、説明を行う。
図24は、本実施の形態に係る符号化装置131の内部の主要な構成を示すブロック図である。なお、本実施の形態に係る符号化装置131は、ダウンサンプリング処理部2401、第1レイヤ符号化部2402、第1レイヤ復号部2403、アップサンプリング処理部2404、直交変換処理部2405、第2レイヤ符号化部2406および符号化情報統合部2407から主に構成される。各部は以下の動作を行う。
入力信号xnのサンプリング周波数をSRinputとすると、ダウンサンプリング処理部2401は、入力信号のサンプリング周波数をSRinputからSRbaseまでダウンサンプリングし(SRbase<SRinput)、ダウンサンプリングした入力信号をダウンサンプリング後入力信号として、第1レイヤ符号化部2402に出力する。
第1レイヤ符号化部2402は、ダウンサンプリング処理部2401から入力されるダウンサンプリング後入力信号に対して、例えばCELP(Code Excited Linear Prediction)方式の音声符号化方法を用いて符号化を行って第1レイヤ符号化情報を生成する。次に、第1レイヤ符号化部2402は、生成した第1レイヤ符号化情報を第1レイヤ復号部2403および符号化情報統合部2407に出力する。
第1レイヤ復号部2403は、第1レイヤ符号化部2402から入力される第1レイヤ符号化情報に対して、例えばCELP方式の音声復号方法を用いて復号を行って第1レイヤ復号信号を生成する。次に、第1レイヤ復号部2403は、生成した第1レイヤ復号信号をアップサンプリング処理部2404に出力する。
アップサンプリング処理部2404は、第1レイヤ復号部2403から入力される第1レイヤ復号信号のサンプリング周波数をSRbaseからSRinputまでアップサンプリングする。次に、アップサンプリング処理部2404は、アップサンプリングした第1レイヤ復号信号をアップサンプリング後第1レイヤ復号信号c1nとして、直交変換処理部2405に出力する。
直交変換処理部2405は、バッファbuf1nおよびbuf2n(n=0、…、N−1)を内部に有する。直交変換処理部2405は、入力信号xnおよびアップサンプリング処理部2404から入力されるアップサンプリング後第1レイヤ復号信号c1nを修正離散コサイン変換(MDCT:Modified Discrete Cosine Transform)する。直交変換処理部2405は、入力信号xn、およびアップサンプリング後第1レイヤ復号信号c1nを直交変換処理して、それぞれ入力スペクトルX(k)、および第1レイヤ復号スペクトルC1(k)を算出する。直交変換処理部2405の処理は、実施の形態1で説明した処理と同様であるため、ここでは説明を省略する。直交変換処理部2405は、得られた入力スペクトルX(k)、および第1レイヤ復号スペクトルC1(k)を第2レイヤ符号化部2406に出力する。
第2レイヤ符号化部2406は、外部から符号化装置131に入力される符号化ビットレートの情報(以下「ビットレート情報」という)に基づき、直交変換処理部2405から入力される入力スペクトルX(k)および第1レイヤ復号スペクトルC1(k)を用いて第2レイヤ符号化情報を生成し、生成した第2レイヤ符号化情報を符号化情報統合部2407に出力する。なお、第2レイヤ符号化部2406の詳細については後述する。ここで、本実施の形態では、符号化装置131が、符号化ビットレートとして、BR1、BR2、BR3の3種類のビットレートを採る場合を例に挙げて説明する。なお、各符号化ビットレートは、BR1<BR2<BR3という関係にあるものとする。
符号化情報統合部2407は、第1レイヤ符号化部2402から入力される第1レイヤ符号化情報と、第2レイヤ符号化部2406から入力される第2レイヤ符号化情報と、ビットレート情報とを統合する。次に、符号化情報統合部2407は、統合した情報源符号に対し、必要であれば伝送誤り符号などを付加した上でこれを符号化情報として伝送路102に出力する。
次に、図24に示した第2レイヤ符号化部2406の内部の主要な構成について図25を用いて説明する。
第2レイヤ符号化部2406は、帯域拡張符号化部2501、残差スペクトル符号化部2502、および多重化部2503から主に構成される。各部は以下の動作を行う。
帯域拡張符号化部2501には、直交変換処理部2405から第1レイヤ復号スペクトルC1(k)および入力スペクトルX(k)が入力される。また、帯域拡張符号化部2501には、外部からビットレート情報が入力される。また、帯域拡張符号化部2501には、残差スペクトル符号化部2502から復号残差スペクトルD1(k)が入力される。帯域拡張符号化部2501は、入力された第1レイヤ復号スペクトルC1(k)、入力スペクトルX(k)、ビットレート情報、および復号残差スペクトルD1(k)から、帯域拡張符号化情報を算出し、これを多重化部2503に出力する。帯域拡張符号化部2501の処理の詳細については後述する。
残差スペクトル符号化部2502には、直交変換処理部2405から第1レイヤ復号スペクトルC1(k)および入力スペクトルX(k)が入力される。また、残差スペクトル符号化部2502には、外部からビットレート情報が入力される。残差スペクトル符号化部2502は、入力された第1レイヤ復号スペクトルC1(k)、入力スペクトルX(k)、およびビットレート情報から、残差スペクトル符号化情報を算出し、これを多重化部2503に出力する。また、残差スペクトル符号化部2502は、残差スペクトル符号化情報を復号して得られる復号残差スペクトルD1(k)を帯域拡張符号化部2501に出力する。残差スペクトル符号化部2502の処理および残差スペクトル符号化情報の詳細については後述する。
多重化部2503は、帯域拡張符号化部2501、残差スペクトル符号化部2502からそれぞれ入力される帯域拡張符号化情報、残差スペクトル符号化情報を多重化して第2レイヤ符号化情報を生成する。次に、多重化部2503は、得られた第2レイヤ符号化情報を符号化情報統合部2407に出力する。なお、帯域拡張符号化情報、残差スペクトル符号化情報を、直接、符号化情報統合部2407に入力して、符号化情報統合部2407にて多重化しても良い。
図26は、帯域拡張符号化部2501の内部構成を示すブロック図である。帯域拡張符号化部2501は、帯域分割部2601、加算スペクトル算出部2602、フィルタ状態設定部1302、フィルタリング部1303、探索部1305、ピッチ係数設定部1304、利得符号化部1306、および多重化部1307を備え、各部は以下の動作を行う。なお、上記構成要素のうち、帯域分割部2601および加算スペクトル算出部2602以外の構成要素については、図15に示した同一名の構成要素の処理と同様であるためここでは説明を省略する。但し、フィルタ状態設定部1302のみ、入力されるスペクトルの名称および入力元の構成要素名のみ図15の同一名の構成要素と処理が異なる。
帯域分割部2601には、直交変換処理部2405から入力スペクトルX(k)が入力される。また、帯域分割部2601には、外部からビットレート情報が入力される。帯域分割部2601は、ビットレート情報に応じて、入力スペクトルX(k)の高域部をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。
具体的には、ビットレート情報が、符号化ビットレートがBR1であることを示す場合には、帯域分割部2601は、入力スペクトルX(k)のうち、帯域がMax1以上(Max1≦k<Fmax)の部分をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。また、ビットレート情報が、符号化ビットレートがBR2であることを示す場合には、帯域分割部2601は、入力スペクトルX(k)のうち、帯域がMax2以上(Max2≦k<Fmax)の部分をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。また、ビットレート情報が、符号化ビットレートがBR3であることを示す場合には、帯域分割部2601は、入力スペクトルX(k)のうち、帯域がMax3以上(Max3≦k<Fmax)の部分をP個のサブバンドSBp(p=0,1,…,P−1)に分割する。
ここで、Fmaxは最大帯域の値とする。また、Max1、Max2、およびMax3は、Max1<Max2<Max3という関係にあるものとする。
つまり、ビットレート情報が、符号化ビットレートがBR1であることを示す場合には、帯域拡張符号化部2501にて帯域拡張符号化情報を算出する対象の入力スペクトルの高域部分を広く設定する。また、ビットレート情報が、符号化ビットレートがBR3であることを示す場合には、帯域拡張符号化部2501にて帯域拡張符号化情報を算出する対象の入力スペクトルの高域部分を狭く設定する。また、ビットレート情報が、符号化ビットレートがBR2であることを示す場合には、帯域拡張符号化情報を算出する対象の入力スペクトルの高域部分を、上記両者の中間をとるように設定する。
次に、帯域分割部2601は、各サブバンドのバンド幅BWp(p=0,1,…,P−1)および先頭インデックスBSp(p=0,1,…,P−1)を帯域分割情報としてフィルタリング部1303、探索部1305、および多重化部1307に出力する。なお、以下、入力スペクトルX(k)のうち、サブバンドSBpにおける部分をサブバンドスペクトルXp(k)(BSp≦k<BSp+BWp)と記す。
加算スペクトル算出部2602には、直交変換処理部2405から第1レイヤ復号スペクトルC1(k)が入力される。また、加算スペクトル算出部2602には、残差スペクトル符号化部2502から復号残差スペクトルD1(k)が入力される。加算スペクトル算出部2602は、これら2つのスペクトルを、式(31)のように周波数軸上で加算し、加算スペクトルA(k)を算出する。次に、加算スペクトル算出部2602は、加算スペクトルA(k)をフィルタ状態設定部1302に出力する。
以降、実施の形態2と同様に、フィルタ状態設定部1302、フィルタリング部1303、探索部1305、ピッチ係数設定部1304、利得符号化部1306、および多重化部1307により、帯域拡張符号化情報が生成され、帯域拡張符号化情報は、多重化部2503に出力される。
なお、実施の形態2では、フィルタ状態設定部1302は、直交変換処理部1005から入力される第1レイヤ復号スペクトルC(k)を、フィルタリング部1303で用いるフィルタ状態として設定した。これに対し、本実施の形態では、フィルタ状態設定部1302は、加算スペクトル算出部2602から入力される加算スペクトルA(k)を、フィルタリング部1303で用いるフィルタ状態として設定する。そして、フィルタリング部1303における全周波数帯域0≦k<FmaxのスペクトルS(k)の低域部((0≦k<Max1)あるいは(0≦k<Max2))の帯域に、加算スペクトルA(k)がフィルタの内部状態(フィルタ状態)として格納される。
図27は、残差スペクトル符号化部2502の内部構成を示すブロック図である。残差スペクトル符号化部2502は、符号化対象スペクトル算出部2701、形状符号化部2702、利得符号化部2703、および多重化部2704から主に構成される。各部は以下の動作を行う。
符号化対象スペクトル算出部2701には、直交変換処理部2405から入力スペクトルX(k)および第1レイヤ復号スペクトルC1(k)が入力される。また、符号化対象スペクトル算出部2701には、外部からビットレート情報が入力される。符号化対象スペクトル算出部2701は、まず、式(32)に示すように、入力スペクトルX(k)と第1レイヤ復号スペクトルC1(k)との差分スペクトルB(k)を算出する。なお、以下では、差分スペクトルB(k)のうち、サブバンドSB
pにおける部分をサブバンドスペクトルB
p(k)(BS
p≦k<BS
p+BW
p)と記す。
次に、符号化対象スペクトル算出部2701は、ビットレート情報に応じて、式(32)により得られた差分スペクトルB(k)のうちの一部の帯域のスペクトルを符号化対象スペクトルとして設定する。
具体的には、ビットレート情報が、符号化ビットレートがBR1であることを示す場合には、符号化対象スペクトル算出部2701は、差分スペクトルB(k)のうち、帯域がMax1以下(0≦k≦Max1)の部分を符号化対象スペクトルD(k)と設定する。また、ビットレート情報が、符号化ビットレートがBR2であることを示す場合には、帯域分割部2601は、差分スペクトルB(k)のうち、帯域がMax2以下(0≦k≦Max2)の部分を符号化対象スペクトルD(k)と設定する。また、ビットレート情報が、符号化ビットレートがBR3であることを示す場合には、帯域分割部2601は、差分スペクトルB(k)のうち、帯域がMax3以下(0≦k≦Max3)の部分を符号化対象スペクトルD(k)と設定する。
なお、上述したように、Max1、Max2、およびMax3は、Max1<Max2<Max3という関係にある。
つまり、ビットレート情報が、符号化ビットレートがBR1であることを示す場合には、符号化対象スペクトル算出部2701は、残差スペクトル符号化部2502にて符号化する対象のスペクトル(符号化対象スペクトル)D(k)の帯域幅を狭く設定する。また、ビットレート情報が、符号化ビットレートがBR3であることを示す場合には、符号化対象スペクトル算出部2701は、符号化対象スペクトルの帯域幅を広く設定する。ビットレート情報が、符号化ビットレートがBR2であることを示す場合は、符号化対象スペクトル算出部2701は、符号化対象スペクトルの帯域幅を、これら両者の中間をとるように設定する。
そして、符号化対象スペクトル算出部2701は、設定した符号化対象スペクトルD(k)を、形状符号化部2702に出力する。
形状符号化部2702は、符号化対象スペクトル算出部2701から入力される符号化対象スペクトルD(k)に対して、サブバンド毎に形状量子化を行う。具体的には、まず形状符号化部2702は、符号化対象スペクトルD(k)をL個のサブバンドに分割する。次に、形状符号化部2702は、L個の各サブバンドに対して、SQ個の形状コードベクトルからなる内蔵の形状コードブックを探索して、式(33)の評価尺度Shape_q(i)が最大となる形状コードベクトルのインデックスを求める。
この式において、SCi kは、形状コードブックを構成する形状コードベクトルを示し、iは、形状コードベクトルのインデックスを示し、kは、形状コードベクトルの要素のインデックスを示す。また、BW(j)は、バンドインデックスがjであるバンドのバンド幅を表し、BS(j)は、バンドインデックスがjであるバンドを構成するスペクトルの最小インデックスを表す。
形状符号化部2702は、上記の式(33)の評価尺度Shape_q(i)が最大となる形状コードベクトルのインデックスS_maxを形状符号化情報として多重化部2704に出力する。また、形状符号化部2702は、下記の式(34)に従い、理想利得Gain_i(j)を算出して利得符号化部2703に出力する。
また、形状符号化部2702は、形状符号化情報を逆量子化(ローカルデコード)して得られる形状情報の復号値を利得符号化部2703に出力する。ここで、形状情報の復号値をShape_q’(k)と表す。
利得符号化部2703は、式(9)に従い、形状符号化部2702から入力される理想利得Gain_i(j)を、直接量子化する。ここでも、利得符号化部2703は、理想利得をL次元ベクトルとして扱い、GQ個の利得コードベクトルからなる内蔵の利得コードブックを探索して、ベクトル量子化を行う。
利得符号化部2703は、式(9)の二乗誤差Gain_q(i)を最小にする利得コードベクトルのインデックスG_minを求める。利得符号化部2703は、G_minを利得符号化情報として多重化部2704に出力する。
また、利得符号化部2703は、形状符号化部2702から入力される形状情報の復号値に対して、利得符号化情報を逆量子化(ローカルデコード)して得られる利得情報の復号値を適用し、式(35)のようにして、残差スペクトルの復号値(以下、復号残差スペクトルD1(k))を算出する。ここで、式(35)において、Shape_q’(k)とは復号した形状値であり、Gain_q’(k)は復号した利得を示すものとする。
次に、利得符号化部2703は、復号残差スペクトルD1(k)を帯域拡張符号化部2501に出力する。
多重化部2704は、形状符号化部2702、および利得符号化部2703からそれぞれ入力される形状符号化情報、および利得符号化情報を多重化し、残差スペクトル符号化情報として多重化部2503に出力する。
以上が、符号化装置131の構成についての説明である。
なお、上述した構成における符号化処理および後述する構成における復号処理の概念図を図28に示す。図28は、各レイヤの符号化部/復号部において符号化/復号されるスペクトルの帯域と情報量(符号化ビットレート)との対応関係を概念的に示している。
図28において、部分「A」は、第1レイヤ符号化部2402および第1レイヤ復号部2403で符号化/復号されるスペクトルの帯域を示している。また、部分「B」は、第2レイヤ符号化部2406および後述する第2レイヤ復号部2805で符号化/復号されるスペクトルの帯域のうち、残差スペクトル符号化部2502および後述する残差スペクトル復号部2902で符号化/復号されるスペクトルの帯域を示している。また、部分「C」は、第2レイヤ符号化部2406および第2レイヤ復号部2805で符号化/復号されるスペクトルの帯域のうち、帯域拡張符号化部2501および後述する帯域拡張復号部2903で符号化/復号されるスペクトルの帯域を示している。
ビットレート情報が、符号化ビットレートが低いビットレート(BR1)であることを示す場合には、帯域拡張符号化部2501および帯域拡張復号部2903が対応する部分「C」を広くし、残差スペクトル符号化部2502および残差スペクトル復号部2902が対応する部分「B」を狭くする(図28の(a)参照)。これに対し、ビットレート情報が、符号化ビットレートが高いビットレート(BR3)であることを示す場合には、帯域拡張符号化部2501および帯域拡張復号部2903が対応する部分「C」を狭くし、残差スペクトル符号化部2502および残差スペクトル復号部2902が対応する部分「B」を広くする(図28の(c)参照)。また、ビットレート情報が、符号化ビットレートがBR2であることを示す場合には、帯域拡張符号化部2501および帯域拡張復号部2903が対応する部分「C」を、符号化ビットレートがBR1の場合と、BR3の場合とのほぼ中間をとるように設定する(図28の(b)参照)。
このように、本実施の形態では、ビットレート情報が示す符号化ビットレートに応じて、それぞれの符号化部/復号部で符号化/復号するスペクトルの帯域を適応的に設定する。これにより、符号化ビットレートが変化した場合においても、入力信号を効率的に符号化/復号することができる。
次いで、本実施の形態における復号装置133について説明する。
図29は、復号装置133の内部の主要な構成を示すブロック図である。復号装置133は、符号化情報分離部2801、第1レイヤ復号部2802、アップサンプリング処理部2803、直交変換処理部2804、第2レイヤ復号部2805、および直交変換処理部2806から主に構成される。各部は以下の動作を行う。
符号化情報分離部2801は、伝送路102を介して符号化装置131から伝送される符号化情報が入力される。符号化情報分離部2801は、入力された符号化情報を、第1レイヤ符号化情報、第2レイヤ符号化情報、およびビットレート情報に分離し、第1レイヤ符号化情報を第1レイヤ復号部2802に出力し、第2レイヤ符号化情報およびビットレート情報を第2レイヤ復号部2805に出力する。
第1レイヤ復号部2802は、符号化情報分離部2801から入力される第1レイヤ符号化情報を復号して第1レイヤ復号信号を生成し、生成した第1レイヤ復号信号をアップサンプリング処理部2803に出力する。ここで、第1レイヤ復号部2802の動作は、図24に示した第1レイヤ復号部2403と同様であるため、詳細な説明を省略する。
アップサンプリング処理部2803は、第1レイヤ復号部2802から入力される第1レイヤ復号信号のサンプリング周波数をSRbaseからSRinputまでアップサンプリングし、得られるアップサンプリング後第1レイヤ復号信号を直交変換処理部2804に出力する。
直交変換処理部2804は、アップサンプリング処理部2803から入力されるアップサンプリング後第1レイヤ復号信号に対して直交変換処理(MDCT)を行う。次に、直交変換処理部2804は、得られるアップサンプリング後第1レイヤ復号信号のMDCT係数(以下、第1レイヤ復号スペクトルと呼ぶ)C1(k)を第2レイヤ復号部2805に出力する。ここで、直交変換処理部2804の動作は、図24に示した直交変換処理部2405のアップサンプリング後第1レイヤ復号信号に対する処理と同様であるため、詳細な説明を省略する。
第2レイヤ復号部2805は、直交変換処理部2804から入力される第1レイヤ復号スペクトルC1(k)、および符号化情報分離部2801から入力される第2レイヤ符号化情報とビットレート情報とを用いて、高域成分を含む出力スペクトルC2(k)を生成する。次に、第2レイヤ復号部2805は、生成した出力スペクトルC2(k)を、直交変換処理部2806に出力する。第2レイヤ復号部2805における処理の詳細は後述する。
直交変換処理部2806は、第2レイヤ復号部2805から入力される出力スペクトルC2(k)に対して直交変換を施し、時間領域の信号に変換する。直交変換処理部2806は、得られた信号を出力信号として出力する。ここで、直交変換処理部2806の動作は、図8に示した直交変換処理部802の処理と同様であるため、詳細な説明を省略する。
図30は、図29に示した第2レイヤ復号部2805の内部構成を示すブロック図である。第2レイヤ復号部2805は、分離部2901、残差スペクトル復号部2902、および帯域拡張復号部2903から主に構成される。
分離部2901には、符号化情報分離部2801から第2レイヤ符号化情報が入力される。分離部2901は、第2レイヤ符号化情報を残差スペクトル符号化情報、および帯域拡張符号化情報に分離する。分離部2901は、残差スペクトル符号化情報を残差スペクトル復号部2902に出力し、帯域拡張符号化情報を帯域拡張復号部2903に出力する。なお、符号化情報分離部2801において、残差スペクトル符号化情報、帯域拡張符号化情報に分離済みの場合は、分離部2901を配置しなくても良い。
残差スペクトル復号部2902は、分離部2901から入力される残差スペクトル符号化情報を復号し、復号残差スペクトルD1(k)を算出する。次に、残差スペクトル復号部2902は、得られた復号残差スペクトルD1(k)を帯域拡張復号部2903に出力する。残差スペクトル復号部2902の処理の詳細については後述する。
帯域拡張復号部2903には、分離部2901から帯域拡張符号化情報が入力される。また、帯域拡張復号部2903には直交変換処理部2804から第1レイヤ復号スペクトルC1(k)が入力される。また、帯域拡張復号部2903には符号化情報分離部2801からビットレート情報が入力される。また、帯域拡張復号部2903には残差スペクトル復号部2902から復号残差スペクトルD1(k)が入力される。帯域拡張復号部2903は、これらの入力情報から出力スペクトルC2(k)を算出し、これを直交変換処理部2806に出力する。帯域拡張復号部2903の処理の詳細については後述する。
図31は、図30に示した残差スペクトル復号部2902の内部構成を示すブロック図である。残差スペクトル復号部2902は、分離部3001、形状復号部3002、および利得復号部3003から主に構成される。
分離部3001には、分離部2901から残差スペクトル符号化情報が入力される。分離部3001は、残差スペクトル符号化情報を形状符号化情報と利得符号化情報とに分離し、形状符号化情報を形状復号部3002に出力し、利得符号化情報を利得復号部3003に出力する。
形状復号部3002には、分離部3001から形状符号化情報が入力される。また、形状復号部3002には、符号化情報分離部2801からビットレート情報が入力される。形状復号部3002は、形状符号化部2702が備える形状コードブックと同様な形状コードブックを内蔵し、分離部3001から入力される形状符号化情報S_maxをインデックスとする形状コードベクトルを探索する。形状復号部3002は、探索した形状コードベクトルを、符号化情報分離部2801から入力されるビットレート情報に応じた帯域のスペクトルの形状の値として利得復号部3003に出力する。ここでは、形状の値として探索された形状コードベクトルをShape_q’(k)と記す。
なお、ここで、形状復号部3002は、符号化対象スペクトル算出部2701において説明した方法と同様の方法によって、ビットレート情報に応じた帯域を算出する。
利得復号部3003は、利得符号化部2703が備える利得コードブックと同様な利得コードブックを内蔵し、この利得コードブックを用いて、式(16)に従い利得符号化情報から利得の値を逆量子化する。ここでも、利得値をL次元ベクトルとして扱い、ベクトル逆量子化を行う。すなわち、利得符号化情報G_minに対応する利得コードベクトルGCj G_minをそのまま利得値Gain_q’(j)とする。
次いで、利得復号部3003は、逆量子化で得られる利得値、および形状復号部3002から入力される形状の値を用いて、式(35)に従い、符号化情報分離部2801から入力されるビットレート情報に応じた帯域に対する復号残差スペクトルD1(k)を算出し、算出した復号残差スペクトルD1(k)を帯域拡張復号部2903に出力する。なお、スペクトル(MDCT係数)の逆量子化において、kがB(j”)〜B(j”+1)−1内に存在する場合、利得値Gain_q’(j)はGain_q’(j”)の値をとる。
なお、利得復号部3003は、形状復号部3002と同様に、符号化対象スペクトル算出部2701において説明した方法と同様の方法によって、ビットレート情報に応じた帯域を算出する。
図32は、図30に示した帯域拡張復号部2903の内部構成を示すブロック図である。帯域拡張復号部2903は、分離部3101、フィルタ状態設定部3102、フィルタリング部3103、利得復号部3104、スペクトル調整部3105、および加算スペクトル算出部3106から主に構成される。
分離部3101は、分離部2901から入力される帯域拡張符号化情報を、フィルタリングに関する情報である最適ピッチ係数T’と、ゲインに関する情報である符号化後の変動量Vq(j)のインデックスと、に分離する。次に、分離部3101は、最適ピッチ係数T’をフィルタリング部3103に出力し、符号化後の変動量Vq(j)のインデックスを利得復号部3104に出力する。なお、符号化情報分離部2801あるいは分離部2901において、最適ピッチ係数T’、符号化後の変動量Vq(j)のインデックスに分離済みの場合は、分離部3101を配置しなくても良い。
加算スペクトル算出部3106には、直交変換処理部2804から第1レイヤ復号スペクトルC1(k)が入力される。また、加算スペクトル算出部3106には、残差スペクトル復号部2902から復号残差スペクトルD1(k)が入力される。加算スペクトル算出部3106は、これら2つのスペクトルを、式(31)に示したように周波数軸上で加算し、加算スペクトルA(k)を算出する。次に、加算スペクトル算出部3106は、加算スペクトルA(k)をフィルタ状態設定部3102に出力する。
フィルタ状態設定部3102は、符号化情報分離部2801から入力されるビットレート情報に基づいて、加算スペクトル算出部3106から入力される加算スペクトルA(k)を、フィルタリング部3103で用いるフィルタ状態として設定する。ここで、フィルタリング部3103における全周波数帯域0≦k<Fmaxのスペクトルを便宜的にZ(k)と呼ぶ場合、スペクトルZ(k)のうち、ビットレート情報に応じた帯域に、加算スペクトルA(k)がフィルタの内部状態(フィルタ状態)として格納される。なお、フィルタ状態設定部3102の構成および動作は、図5に示したフィルタ状態設定部502と同様であるため、詳細な説明を省略する。
フィルタリング部3103は、マルチタップ(タップ数が1より多い)のピッチフィルタを備える。フィルタリング部3103は、フィルタ状態設定部3102により設定されたフィルタ状態と、分離部3101から入力されるピッチ係数T’と、予め内部に格納しているフィルタ係数に基づき、符号化情報分離部2801から入力されるビットレート情報に応じた帯域に対して、加算スペクトルA(k)をフィルタリングする。そして、フィルタリング部3103は、式(36)に示すように、入力スペクトルX(k)の推定スペクトルX’(k)を算出する。
なお、ここで、フィルタ状態設定部3102およびフィルタリング部3103は、ビットレート情報に応じた帯域として、帯域分割部2601において説明した方法と同様の方法によって算出されるスペクトルの高域部分を用いる。
フィルタリング部3103でも、式(13)に示した伝達関数が用いられる。フィルタリング部3103は、フィルタリングして得られた推定スペクトルX’(k)を、スペクトル調整部3105に出力する。
利得復号部3104は、符号化情報分離部2801から入力されるビットレート情報に応じた帯域に対して、分離部3101から入力される符号化後の変動量Vq(j)のインデックスを復号し、変動量V(j)の量子化値である符号化後の変動量Vq(j)を求める。ここで、符号化後の変動量Vq(j)のインデックスの復号に用いる利得コードブックは、利得復号部3104に内蔵されたものであり、図5に示した利得符号化部506で使用した利得コードブックと同様のものである。利得復号部3104は、復号して得られた符号化後の変動量Vq(j)をスペクトル調整部3105に出力する。
ここで、利得復号部3104は、ビットレート情報に応じた帯域として、帯域分割部2601において説明した方法と同様の方法によって算出されるスペクトルの高域部分を用いる。
スペクトル調整部3105は、式(37)に従い、符号化情報分離部2801から入力されるビットレート情報で指定される高域部に対して、フィルタリング部3103から入力される推定スペクトルX’(k)に、利得復号部3104から入力されるサブバンド毎の符号化後の変動量Vq(j)を乗じる。
ここで、スペクトル調整部3105は、ビットレート情報に応じた帯域として、帯域分割部2601において説明した方法と同様の方法によって算出されるスペクトルの高域部分を用いる。これにより、スペクトル調整部3105は、推定スペクトルの高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax)あるいは(Max3≦k<Fmax))におけるスペクトル形状を調整し、出力スペクトルC2(k)を生成して直交変換処理部2806に出力する。
なお、式(37)において、jは利得符号化時のサブバンドインデックスを示し、スペクトルのインデックスkに応じて設定されるものとする。つまり、サブバンドインデックスがj”であるサブバンドに含まれるスペクトルインデックスkに対しては、推定スペクトルX’(k)にVq(j”)が乗じられるものとする。
ここで、出力スペクトルC2(k)の低域部((0≦k<Max1)あるいは(0≦k<Max2)あるいは(0≦k<Max3))は第1レイヤ復号スペクトルC1(k)と復号残差スペクトルD1(k)とを加算して得られた加算スペクトルA(k)からなる。また、出力スペクトルC2(k)の高域部((Max1≦k<Fmax)あるいは(Max2≦k<Fmax)あるいは(Max3≦k<Fmax))はスペクトル形状調整後の推定スペクトルX’(k)からなる。
以上が、復号装置113の内部構成の説明である。
このように、本実施の形態によれば、符号化装置/復号装置は、符号化時の状況(例えば符号化ビットレート)に応じて、帯域拡張方式における帯域設定を適応的に切り替える構成を採る。これにより、符号化時の状況に合わせて符号化効率を向上させることができる。
具体的には、例えば符号化時のビットレートが低ビットレートであった場合には、帯域分割部2601は、低ビットレートでより効果的な帯域拡張技術によって生成する帯域を広く設定し、帯域拡張技術以外のスペクトル符号化技術によって量子化する帯域を狭く設定する。また、符号化時のビットレートが高ビットレートであった場合には、帯域分割部2601は、帯域拡張技術によって生成する帯域を狭く設定し、スペクトルの波形を精度良く符号化するスペクトル符号化技術(帯域拡張技術以外の技術)によって量子化する帯域を広く設定する。
また、帯域拡張符号化/復号時には、符号化装置/復号装置は、低域部分の復号スペクトルとして、符号化/復号時点で得ることのできる精度の高いスペクトル(第1レイヤ復号スペクトルと復号残差スペクトルとの加算スペクトル)を利用することにより、帯域拡張符号化の符号化効率をより向上させることができる。このように、本実施の形態で説明した方式により、復号信号の品質を大きく向上させることができる。
なお、本実施の形態では、ビットレート情報が、符号化ビットレートが最も高いビットレートを示す場合(BR3を示す場合)に、帯域拡張符号化部2501および帯域拡張復号部2903で符号化/復号するスペクトルの帯域を狭く設定する構成について説明したが、本発明はこれに限られない。例えば、本発明は、帯域拡張符号化部2501および帯域拡張復号部2903で符号化/復号するスペクトルの帯域をなくすような構成についても同様に適用できる。この場合、第2レイヤ符号化部2406および第2レイヤ復号部2805において、それぞれ帯域拡張符号化部2501および帯域拡張復号部2903は不要であり、残差スペクトル符号化部2502および残差スペクトル復号部2902において、全帯域のスペクトルを量子化対象とすることになる。また、この際、第2レイヤ符号化部2406および第2レイヤ復号部2805で利用できる情報量(ビット)をすべて残差スペクトル符号化部2502および残差スペクトル復号部2902に充てることになる。上記のような帯域拡張符号化部および帯域拡張復号部によって符号化/復号する帯域をなくす構成は、特に符号化ビットレートが非常に高い場合に有効であることが実験により確認されている。
なお、本実施の形態では、図28に示すように、帯域拡張符号化部2501が符号化対象とする帯域「C」と残差スペクトル符号化部2502が符号化対象とする帯域「B」とが周波数軸上で重ならない場合を例に挙げて説明した。しかし、本発明はこれに限らず、図28に示した以外の構成についても同様に適用できる。例えば、その他の構成の概念図を図33に示す。図33は、各レイヤの符号化部/復号部において符号化/復号されるスペクトルの帯域と情報量(符号化ビットレート)との別の対応関係を概念的に示している。
なお、図33に示したような構成の場合、本実施の形態で説明したような符号化処理とは一部異なる処理を行うことになる。具体的には、本実施の形態では、第2レイヤ符号化部2406において、まず残差スペクトル符号化部2502によって符号化した後に、復号残差スペクトルを利用して帯域拡張符号化部2501により符号化を行った。しかし、図33の示した構成の場合には、まず帯域拡張符号化部2501によって符号化し、得られる高域スペクトルと入力スペクトルとの残差スペクトルを残差スペクトル符号化部2502において符号化する構成になる。
なお、本実施の形態では、第1レイヤ符号化部2402および第1レイヤ復号部2403において、低域成分を符号化/復号する構成を例に挙げて説明したが、本発明はこれに限らず、第1レイヤ符号化部2402および第1レイヤ復号部2403が存在しない構成についても同様に適用できる。この時、残差スペクトル符号化部2502および残差スペクトル復号部2902では、入力スペクトルそのものに対して、ビットレート情報に基づいて設定される帯域を符号化/復号する構成になる。
なお、本実施の形態では、符号化時のビットレート情報に応じて、帯域拡張符号化部2501、および残差スペクトル符号化部2502に対してどのようなビット割り当てがなされるかは特に明示していない。ビット割り当て方法として、例えば、帯域拡張符号化部2501に割り当てるビットは常に固定とし、残差スペクトル符号化部2502に割り当てるビットを可変にするような構成が一例として挙げられる。しかしながら、本発明は、帯域拡張符号化部2501および残差スペクトル符号化部2502に対するビット割り当て方法に限定されるものではなく、上記以外のビット割り当て方法を採る構成に対しても同様に適用できる。上記以外の例としては、帯域拡張符号化部2501および残差スペクトル符号化部2502に対して、ビットレート情報が示す符号化ビットレートが高くなるにつれて、双方に割り当てるビットを多くする構成がある。また、その他には、ビットレート情報が示す符号化ビットレートが高くなるにつれて、帯域拡張符号化部2501に割り当てるビット数を減らし、残差スペクトル符号化部2502に割り当てるビット数を増やす構成もある。
なお、以上の説明では、符号化時の状況の一例として、符号化ビットレートを利用する場合を例に挙げ、符号化ビットレートに応じて帯域設定する場合について説明したが、符号化ビットレートに代えて、入力信号のサンプリング周波数、または、量子化利得等の符号化パラメータを用いるようにしてもよい。入力信号のサンプリング周波数に応じて帯域設定する場合は、サンプリング周波数が予め定めた閾値以上である場合には、本実施の形態において符号化ビットレートが低ビットレートである時の処理をし、閾値未満である場合には、本実施の形態において符号化ビットレートが高ビットレートである時の処理をするという構成が一例として挙げられる。また、量子化利得などの符号化パラメータについては、例えば第1レイヤ符号化部にて量子化された利得(適応音源利得、固定音源利得など)が閾値以上である場合には、本実施の形態において符号化ビットレートが低ビットレートである時の処理をし、閾値未満である場合には、本実施の形態において符号化ビットレートが高ビットレートである時の処理をするという構成が一例として挙げられる。
以上、本発明の各実施の形態について説明した。
なお、上記各実施の形態では、帯域設定部が、入力スペクトルあるいは入力スペクトルと第1レイヤ復号スペクトルとの差分スペクトルの低域部と高域部とのエネルギ比に応じて帯域設定情報を決定した。しかし、本発明はこれに限らず、他の情報を用いて帯域設定情報を決定する構成に対しても同様に適用できる。例えば、入力スペクトルあるいは入力スペクトルと第1レイヤ復号スペクトルとの差分スペクトルに対して、トーナリティ(tonality:調波性)の分析を行い、帯域設定部が、トーナリティの度合いによって帯域設定情報を決定する構成が例として挙げられる。この場合、トーナリティを算出する構成要素が新たに必要となる。ここで、トーナリティの算出方法(検出方法)については、特許文献2などに詳細に開示されている。
具体的には、入力信号のトーナリティが低い場合、つまり入力信号がスピーチ(音声)である傾向が高い場合には、帯域設定部は、低域部をより狭く、高域部をより広く設定する。これは、本実施の形態における帯域設定情報Band_Settingの値が0である場合に相当する。これにより、入力信号がスピーチである場合に復号信号の品質に大きく影響を与える低域部のスペクトルデータを、形状利得符号化方式により、集中的に符号化でき、復号信号の品質を高めることができる。
また、入力信号のトーナリティが高い場合、つまり入力信号がオーディオ(音楽)である傾向が高い場合には、帯域設定部は、低域部をより広く、高域部をより狭く設定する。これは、本実施の形態における帯域設定情報Band_Settingの値が1である場合に相当する。これにより、より高域部分まで形状利得符号化方式で符号化歪を小さくすることができ、入力信号がオーディオである場合に復号信号の品質に大きな影響を与える帯域感を向上させることができる。
また、トーナリティを帯域設定情報の決定に用いる場合、トーナリティが帯域設定部以外の構成要素で算出されている場合には、算出されたトーナリティを帯域設定部に入力する構成を採ることによって、トーナリティの算出に必要な演算量を削減することができる。この場合には、帯域設定部にトーナリティを入力すればよく、入力スペクトルや差分スペクトルを入力する必要はない。
また、上記各実施の形態では、帯域設定部において、帯域設定情報の値が0か1かの2値である場合を例に挙げて説明したが、本発明はこれに限らず、帯域設定情報が2値以上の値をとる構成についても同様に適用できる。帯域設定情報に必要なビット数(情報量)は増えてしまうものの、帯域設定情報の取り得る値を増やし、帯域の設定パターンを増やすことにより、より入力信号に適した帯域設定をすることができる。例えば、帯域設定情報の取り得る値を、0、1、2、3の4値にし、低域部と高域部とのエネルギ比に応じて上記4種類の値のいずれかを設定することにより、入力信号に応じてより細かく、各レイヤの符号化部で量子化する帯域を設定することができる。
また、上記各実施の形態では、帯域設定部が、処理フレーム毎に帯域を調整する構成を例に挙げて説明した。しかし、本発明はこれに限らず、帯域設定部が、処理フレーム毎に帯域を調整せず、例えば、数フレーム処理毎に帯域を調整する構成に対しても同様に適用できる。このような構成により、帯域設定部における処理演算量を削減することができるとともに、処理フレーム毎に帯域が調整されることによって起こり得る復号信号の不連続性を軽減することができる。
また、上記各実施の形態では、帯域設定部が、処理フレーム毎に、独立に帯域を調整する構成を例に挙げて説明した。しかし、本発明はこれに限らず、帯域設定部が、過去の処理フレームにおける帯域設定情報に基づいて、現フレームの帯域を調整する(設定する)構成に対しても同様に適用できる。例えば、過去の数フレーム前における帯域設定情報を利用して、現フレームの帯域設定時のパラメータ(第1帯域エネルギ、第2帯域エネルギなど)を時間軸上で平滑化し、現フレームの帯域設定情報を決定する構成が例に挙げられる。また、帯域設定情報そのものが、時間的に急激に変動しないように、帯域設定情報を数フレーム遅延させた上で、帯域設定情報を平滑化する構成も例に挙げられる。このような構成により、帯域設定情報が処理フレーム毎に急激に変動することを防ぐことができ、処理フレーム毎に帯域が調整されることによって起こり得る復号信号の不連続性を軽減することができる。
また、上記実施の形態1から実施の形態3の符号化装置においては、入力信号特性に応じて、拡張する帯域の設定を適応的に決定すること、上記実施の形態4の符号化装置においては、符号化時の状況を示す符号化パラメータに応じて、拡張する帯域の設定を適応的に決定することを説明した。しかし、符号化装置は、入力信号と符号化パラメータとの両方を入力し、入力信号特性と符号化パラメータとの両方に基づいて、拡張する帯域の設定を決定することも可能である。例えば具体的な方法の一例として、まず始めに符号化パラメータ(符号化ビットレート等)により、ある程度、拡張する帯域を設定し、その次に、入力信号特性(低域と高域とのエネルギ比など)を使って、拡張する帯域設定の微調整を行う、というような方法が可能である。これにより、より適切な帯域設定を行うことができるため、より効率的な符号化を行うことができるとともに、復号装置における復号信号の品質も改善することができる。あるいは、符号化装置は、入力信号と符号化パラメータとの両方を入力し、入力信号特性と符号化パラメータとのどちらのパラメータを用いるのが適切かを判断していずれかを選択し、選択したパラメータに基づいて、拡張する帯域の設定を決定することも可能である。
また、本発明に係る符号化装置、復号装置およびこれらの方法は、上記各実施の形態に限定されず、種々変更して実施することが可能である。例えば、各実施の形態は、適宜組み合わせて実施することが可能である。
また、上記各実施の形態における復号装置は、上記各実施の形態における符号化装置から伝送された符号化情報を用いて処理を行うとした。しかし、本発明はこれに限定されず、必要なパラメータやデータを含む符号化情報であれば、必ずしも上記各実施の形態における符号化装置からの符号化情報でなくても処理は可能である。
また、信号処理プログラムを、メモリ、ディスク、テープ、CD、DVD等の機械読み取り可能な記録媒体に記録、書き込みをし、動作を行う場合についても、本発明は適用することができ、本実施の形態と同様の作用および効果を得ることができる。
また、上記各実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はソフトウェアで実現することも可能である。
また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル/プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
2009年10月23日出願の特願2009−244838及び2009年11月30日出願の特願2009−272194に含まれる明細書、図面及び要約書の開示内容は、すべて本願に援用される。